[go: up one dir, main page]

JP4283829B2 - Low density parity check code decoder - Google Patents

Low density parity check code decoder Download PDF

Info

Publication number
JP4283829B2
JP4283829B2 JP2006222531A JP2006222531A JP4283829B2 JP 4283829 B2 JP4283829 B2 JP 4283829B2 JP 2006222531 A JP2006222531 A JP 2006222531A JP 2006222531 A JP2006222531 A JP 2006222531A JP 4283829 B2 JP4283829 B2 JP 4283829B2
Authority
JP
Japan
Prior art keywords
matrix
nbmax
row
parity check
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006222531A
Other languages
Japanese (ja)
Other versions
JP2008048207A (en
Inventor
敦彦 杉谷
俊之 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mobile Techno Corp
Original Assignee
Mobile Techno Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobile Techno Corp filed Critical Mobile Techno Corp
Priority to JP2006222531A priority Critical patent/JP4283829B2/en
Priority to US11/890,511 priority patent/US8028214B2/en
Publication of JP2008048207A publication Critical patent/JP2008048207A/en
Application granted granted Critical
Publication of JP4283829B2 publication Critical patent/JP4283829B2/en
Priority to US13/041,957 priority patent/US8156399B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

本発明は低密度パリティチェック(LDPC)符号復号装置に関し、特に、種々の符号化率のLDPC符号に同一構成で対応し得るようにしたものである。   The present invention relates to a low-density parity check (LDPC) code decoding apparatus, and in particular, can cope with LDPC codes of various coding rates with the same configuration.

LDPC符号における復号アルゴリズムとして、Belief Propagation(BP)アルゴリズムが知られている(非特許文献1参照)。BPアルゴリズムは、(1)式〜(3)式に示す行処理と、(4)式及び(5)式に示す列処理とを繰り返すことにより、信頼度の更新を行う確率伝搬アルゴリズムである(非特許文献3参照)。

Figure 0004283829
A Belief Propagation (BP) algorithm is known as a decoding algorithm in an LDPC code (see Non-Patent Document 1). The BP algorithm is a probability propagation algorithm that updates the reliability by repeating the row processing shown in equations (1) to (3) and the column processing shown in equations (4) and (5) ( Non-Patent Document 3).
Figure 0004283829

ここで、iは復号繰返し数、Znはn番目のビットにおけるi回復号処理を行った後の事後対数尤度比(LLR)、Fnは通信路値、Rmnはm行のn番目のビットにおけるi回復号処理を行った後の行処理結果である(初期値Zn=Fn、Rmn=0)。 Here, i is the number of decoding iterations, Z i n is the posterior log likelihood ratio (LLR) after i-th decoding processing is performed on the nth bit, Fn is the channel value, and R i mn is n of m rows. This is a row processing result after i-th decoding processing is performed on the th bit (initial values Z 0 n = Fn, R 0 mn = 0).

既に、BPアルゴリズムを適用した復号装置のアーキテクチャが示されている、非特許文献2では、符号長1024bit、R=1/2のLDPC符号に対し、復号における行処理及び列処理を全て並列処理する構成(fully parallel design)にすることによって、最大1Gb/sのスループットを実現できることが報告されている。しかしながら、このような構成法では、異なる検査行列を持つLDPC符号に対する復号を行うことはできない。   The architecture of a decoding device to which the BP algorithm is already applied is shown. In Non-Patent Document 2, all row processing and column processing in decoding are performed in parallel for an LDPC code having a code length of 1024 bits and R = 1/2. It has been reported that a throughput of a maximum of 1 Gb / s can be realized by adopting a configuration (full parallel design). However, such a configuration method cannot perform decoding for LDPC codes having different parity check matrices.

一方、Structured LDPC符号は、Mb行Nb列の基本行列(基本検査行列)とR行R列の置換行列とで構成されるLDPC符号であり(後述の図4参照)、置換行列サイズRを変えることにより、異なる符号長の符号における検査行列を構成することができる。置換行列として、零行列又は巡回シフト行列を使用し、Mb×Nb個のシフト値の情報のみ保持することにより、検査行列における1の位置を容易に特定することが可能である。非特許文献3では、Structured LDPC符号(以下、構造化LDPC符号と呼ぶ)を用いた復号装置について報告しており、報告されている復号装置の構成法によって、異なる符号長の復号が可能となる。
R.G.Gallager, “Low−Density Parity−Check Codes”, IRE Trans. Info. Theory, vol.IT−8, pp.21−28, 1962 A.J.Blanksby and C.J.Howlan, “A 690−mW 1−Gb/s 1024−b, Rate−1/2 Low−Density Parity−Check Code Decoder,” IEEE J.Solid−State Circuits, vol.37, pp.404−412, Mar.2002 Y.Chen and D.Hocevar, “A FPGA and ASIC Implementation of Rate 1/2, 8088−b Irregular Low Density Parity Check Decoder,” IEEE GLOBECOM2003, pp.113−117, 2003
On the other hand, the Structured LDPC code is an LDPC code composed of a basic matrix (basic check matrix) of Mb rows and Nb columns and a permutation matrix of R rows and R columns (see FIG. 4 described later), and changes the permutation matrix size R. Thus, a check matrix for codes having different code lengths can be configured. By using a zero matrix or a cyclic shift matrix as a permutation matrix and retaining only information of Mb × Nb shift values, the position of 1 in the parity check matrix can be easily specified. Non-Patent Document 3 reports on a decoding device using a structured LDPC code (hereinafter referred to as a structured LDPC code), and decoding with different code lengths is possible depending on the configuration method of the reported decoding device. .
R. G. Gallager, “Low-Density Parity-Check Codes”, IRE Trans. Info. Theory, vol. IT-8, pp. 21-28, 1962 A. J. et al. Blanksby and C.I. J. et al. Howlan, “A 690-mW 1-Gb / s 1024-b, Rate-1 / 2 Low-Density Parity-Check Code Decoder,” IEEE J. Solid-State Circuits, vol. 37, pp. 404-412, Mar. 2002 Y. Chen and D.C. Hosevar, “A FPGA and ASIC Implementation of Rate 1/2, 8088-b Irregular Low Density Parity Check Decoder,” IEEE GLOBECOM 2003, pp. 113-117, 2003

異なる符号化率のLDPC符号は、基本行列の行数、列数及び行重み数(検査行列における行に含まれる1の数)がそれぞれ異なる。   LDPC codes with different coding rates differ in the number of rows, the number of columns, and the number of row weights (the number of 1 included in a row in the check matrix) of the basic matrix.

非特許文献3で提案されている復号装置の構成法では、回路構成を変えずに、異なる符号化率のLDPC符号を復号することができない。   In the configuration method of the decoding device proposed in Non-Patent Document 3, LDPC codes having different coding rates cannot be decoded without changing the circuit configuration.

そのため、回路構成を変えずに、任意の符号化率のLDPC符号を復号することができる低密度パリティチェック(LDPC)符号復号装置が望まれている。   Therefore, a low density parity check (LDPC) code decoding apparatus that can decode an LDPC code having an arbitrary coding rate without changing the circuit configuration is desired.

かかる課題を解決するため、本発明において、Mb(但し、Mb<=Mbmax)行Nb(但し、Nb<=Nbmax)列の基本行列と、上記基本行列の要素となるR行R列の置換行列とで構成された低密度パリティチェック符号を復号する低密度パリティチェック符号復号装置において、(1)通信路データを並列的に取込んで格納し、BPアルゴリズムに従った、基本行列の同一行に係る置換行列の列処理を並列的に実行するNbmax個のデータ格納・列処理演算部と、(2)全ての上記データ格納・列処理演算部の列処理結果を入力して、BPアルゴリズムに従った行処理を行う行処理演算部と、(3)入力された通信路データを置換行列サイズR毎に分割して、上記各データ格納・列処理演算部に与えた後、上記各データ格納・列処理演算部に応じた列アドレスと、全ての上記データ格納・列処理演算部に共通な行アドレスとを生成して上記各データ格納・列処理演算部に与え、BPアルゴリズムに従った行処理と列処理とを繰り返し実行させ、復号の繰返し回数が所定回数になったときの全ての上記データ格納・列処理演算部における事後対数尤度に基づいて復号データを生成する復号制御部とを備え、(3)上記復号制御部は、(3−1)処理対象の低密度パリティチェック符号に係る検査行列に応じて定まる、Mbmax×Nbmaxの有効・無効フラグと、有効な有効・無効フラグに係る巡回シフト行列でなる置換行列のシフト量とを保持する検査行列情報保持部と、(3−2)処理対象の低密度パリティチェック符号における置換行列サイズRを保持する置換行列サイズ保持部と、(3−3)処理対象の低密度パリティチェック符号における基本行列の行数Mbを保持する基本行列行数保持部とを有し、(3−4)上記有効・無効フラグ、上記シフト量、上記置換行列サイズ及び上記基本行列行数を利用しながら、上記列アドレス及び上記行アドレスを生成させ、(4)上記各データ格納・列処理演算部及び上記行処理演算部の少なくとも一方は、無効な上記有効・無効フラグに応じて、処理を無効化する無効化手段を有することを特徴とする。   In order to solve this problem, in the present invention, a basic matrix of Mb (where Mb <= Mbmax) rows and Nb (where Nb <= Nbmax) columns and a permutation matrix of R rows and R columns that are elements of the basic matrix are provided. In the low-density parity check code decoding apparatus that decodes the low-density parity check code configured by: (1) The channel data is fetched and stored in parallel, and is stored in the same row of the basic matrix according to the BP algorithm. Nbmax data storage / column processing operation units that execute column processing of the permutation matrix in parallel, and (2) input the column processing results of all the data storage / column processing operation units, and follow the BP algorithm (3) dividing the input communication path data into per-replacement matrix size R and supplying the data to the data storage / column processing arithmetic unit; Column A column address corresponding to the logical operation unit and a row address common to all the data storage / column processing calculation units are generated and given to the data storage / column processing calculation units, and row processing according to the BP algorithm is performed. A decoding control unit that repeatedly executes the column processing, and generates decoding data based on the posterior log likelihood in all the data storage and column processing arithmetic units when the number of decoding iterations reaches a predetermined number of times, (3) The decoding control unit (3-1) cyclically relates to a valid / invalid flag of Mbmax × Nbmax and a valid valid / invalid flag determined according to a parity check matrix related to a low-density parity check code to be processed. A parity check matrix information holding unit that holds a shift amount of a permutation matrix formed of a shift matrix, and (3-2) a replacement row that holds a permutation matrix size R in the low-density parity check code to be processed A column size holding unit; and (3-3) a basic matrix row number holding unit that holds the number of rows Mb of the basic matrix in the low-density parity check code to be processed. (3-4) the valid / invalid flag The column address and the row address are generated using the shift amount, the permutation matrix size, and the basic matrix row number, and (4) each of the data storage / column processing calculation unit and the row processing calculation unit At least one has an invalidating means for invalidating the process according to the invalid valid / invalid flag.

本発明によれば、同一の構成によって、任意の符号化率のLDPC符号を復号することができる低密度パリティチェック符号復号装置を実現できる。   According to the present invention, a low-density parity check code decoding apparatus that can decode an LDPC code having an arbitrary coding rate can be realized with the same configuration.

(A)主たる実施形態
以下、本発明による低密度パリティチェック(LDPC)符号復号装置の一実施形態を、図面を参照しながら詳述する。
(A) Main Embodiment Hereinafter, an embodiment of a low density parity check (LDPC) code decoding apparatus according to the present invention will be described in detail with reference to the drawings.

(A−1)実施形態の構成
図1は、実施形態に係るLDPC符号復号装置の全体構成及びデータ格納・列処理演算部の詳細構成を示すブロック図であり、図2は、図1における復号制御部の詳細構成を示すブロック図であり、図3は、図1における行列処理演算部の詳細構成を示すブロック図である。
(A-1) Configuration of the Embodiment FIG. 1 is a block diagram showing the overall configuration of the LDPC code decoding device and the detailed configuration of the data storage / sequence processing operation unit according to the embodiment, and FIG. 2 shows the decoding in FIG. FIG. 3 is a block diagram illustrating a detailed configuration of the control unit, and FIG. 3 is a block diagram illustrating a detailed configuration of the matrix processing calculation unit in FIG.

図1において、この実施形態のLDPC符号復号装置1は、復号制御部2と、Nbmax(Nbmaxは基本行列の適用可能な列数の最大値である)個のデータ格納・列処理演算部3−1〜3−Nbmaxと、行処理演算部4とを備える。   In FIG. 1, the LDPC code decoding apparatus 1 of this embodiment includes a decoding control unit 2 and Nbmax (Nbmax is the maximum number of applicable columns of the basic matrix) data storage / column processing calculation units 3- 1 to 3−Nbmax and a row processing calculation unit 4.

復号制御部2は、異なる符号化率のLDPC符号に対応できるような復号のための制御を実行するものである。   The decoding control unit 2 executes control for decoding so as to be compatible with LDPC codes having different coding rates.

復号制御部2は、図2に示すように、復号情報格納制御部10、Nbmax個の検査行列テーブル11−1〜11−Nbmax、Nbmax個の列アドレス生成部12−1〜12−Nbmax、置換行列サイズ(R)を格納するレジスタ13、Structured LDPC符号における基本行列の行数(Mb)を格納するレジスタ14、復号繰返し数(i)を格納するレジスタ15、3個のM進カウンタ16〜18、行アドレス生成部19、通信路データ制御部20、及び、復号データ生成部21を有する。   As shown in FIG. 2, the decoding control unit 2 includes a decoding information storage control unit 10, Nbmax parity check matrix tables 11-1 to 11-Nbmax, Nbmax column address generation units 12-1 to 12-Nbmax, replacement A register 13 for storing the matrix size (R), a register 14 for storing the number of rows (Mb) of the basic matrix in the Structured LDPC code, a register 15 for storing the decoding repetition number (i), and three M-ary counters 16 to 18 A row address generation unit 19, a communication path data control unit 20, and a decoded data generation unit 21.

復号情報格納制御部10は、外部から到来したデータ(CtrlData)を、そのデータと並行して到来したアドレス(CtrlAD)に応じて定まる、検査行列テーブル11−1〜11−Nbmax、置換行列サイズ格納レジスタ13、基本行列行数納レジスタ14又は復号繰返し数格納レジスタ15のいずれかに設定させるものである。   The decoding information storage control unit 10 stores parity check matrix tables 11-1 to 11-Nbmax and permutation matrix size data determined according to addresses (CtrlAD) that arrive in parallel with the data (CtrlData) coming from the outside. Any one of the register 13, the basic matrix row number register 14, and the decoding repetition number storage register 15 is set.

検査行列テーブル11−1〜11−Nbmaxに設定された情報の全てによって、検査行列が規定されるものである。各検査行列テーブル11−1〜11−Nbmaxには、Mb個の置換行列種別(零行列又は巡回シフト行列)とシフト値の情報が格納される。置換行列種別として、例えば、零行列には「0」、巡回シフト行列には「1」を対応付ける。また、基本行列の列数Nbが適用可能な最大列数Nbmaxより小さい場合には、Nbmax−Nb個の検査行列テーブルの全ての置換行列種別を「0」として設定する。   The check matrix is defined by all the information set in the check matrix tables 11-1 to 11-Nbmax. Each check matrix table 11-1 to 11-Nbmax stores Mb permutation matrix types (zero matrix or cyclic shift matrix) and shift value information. As permutation matrix types, for example, “0” is associated with a zero matrix and “1” is associated with a cyclic shift matrix. When the number of columns Nb of the basic matrix is smaller than the maximum number of columns Nbmax that can be applied, all the replacement matrix types of the Nbmax-Nb parity check matrix tables are set to “0”.

図4には、異なる符号長、符号化率であるStructured LDPC符号における検査行列を示しており、図5は、図4の例における検査行列テーブルの格納例を示している。   FIG. 4 shows a parity check matrix in a structured LDPC code having different code lengths and coding rates, and FIG. 5 shows a storage example of the parity check matrix table in the example of FIG.

図4(a)に示す検査行列の基本行列は4×5の行列であり、図4(b)に示す検査行列の基本行列は3×8の行列であるため、例えば、これら2つの検査行列のみに対応するLDPC符号復号装置であれば、最大行数Mbmax及び最大列数Nbmaxの値は、それぞれ4、8とすれば良い。   Since the basic matrix of the parity check matrix shown in FIG. 4A is a 4 × 5 matrix and the basic matrix of the parity check matrix shown in FIG. 4B is a 3 × 8 matrix, for example, these two parity check matrices If the LDPC code decoding apparatus is compatible only with the above, the values of the maximum number of rows Mbmax and the maximum number of columns Nbmax may be 4 and 8, respectively.

図4(a)に示す検査行列の列数は5であるので、図5(a)に示すように、8(=Nbmax)個中、5個の検査行列テーブル11−1〜11−5に有効なデータが設定され、残りの3個の検査行列テーブル11−6〜11−8には有効なデータは設定されない。すなわち、検査行列テーブル11−6〜11−8の置換行列種別の欄は全て「0」である。   Since the number of columns of the parity check matrix shown in FIG. 4A is 5, as shown in FIG. 5A, five parity check matrix tables 11-1 to 11-5 out of 8 (= Nbmax) are included. Valid data is set, and no valid data is set in the remaining three parity check matrix tables 11-6 to 11-8. That is, the columns of the permutation matrix type in the check matrix tables 11-6 to 11-8 are all “0”.

1行1列目の置換行列は、巡回シフト行列であって、対角にチェックビット「1」が配置されている対角行列の列を、2だけシフトさせたものであるので、検査行列テーブル11−1のアドレス「0」には、巡回シフト行列を表す「1」とシフト値「2」とが格納される。2行1列目の置換行列は、零行列であるので、検査行列テーブル11−1のアドレス「1」には、零行列を表す「0」が格納される。3行1列目の置換行列は、巡回シフト行列であって3だけシフトさせたものであるので、検査行列テーブル11−1のアドレス「2」には、巡回シフト行列を表す「1」とシフト値「3」とが格納される。4行1列目の置換行列は、巡回シフト行列であって4だけシフトさせたものであるので、検査行列テーブル11−1のアドレス「3」には、巡回シフト行列を表す「1」とシフト値「4」とが格納される。   The permutation matrix in the first row and the first column is a cyclic shift matrix, and is obtained by shifting the column of the diagonal matrix in which the check bit “1” is arranged on the diagonal by two, so that the parity check matrix table The address “0” of 11-1 stores “1” representing the cyclic shift matrix and the shift value “2”. Since the permutation matrix in the second row and first column is a zero matrix, “0” representing the zero matrix is stored at address “1” of the parity check matrix table 11-1. The permutation matrix in the 3rd row and the 1st column is a cyclic shift matrix and is shifted by 3. Therefore, the address “2” in the parity check matrix table 11-1 is shifted to “1” representing the cyclic shift matrix. The value “3” is stored. The permutation matrix in the 4th row and the 1st column is a cyclic shift matrix and is shifted by 4. Therefore, the address “3” in the parity check matrix table 11-1 is shifted to “1” representing the cyclic shift matrix. The value “4” is stored.

検査行列テーブル11−2〜11−5についても、図4(a)に示す検査行列の置換行列の種類やシフト値に応じた値がそれぞれ格納される。   Also in the parity check matrix tables 11-2 to 11-5, values corresponding to the type and shift value of the permutation matrix of the parity check matrix shown in FIG.

図4(b)に示す検査行列の列数は8(=Nbmax)であるので、図5(b)に示すように、全ての検査行列テーブル11−1〜11−8に有効なデータが設定される。   Since the number of columns of the parity check matrix shown in FIG. 4B is 8 (= Nbmax), valid data is set in all the parity check matrix tables 11-1 to 11-8 as shown in FIG. 5B. Is done.

1行1列目の置換行列は、巡回シフト行列であってシフトさせないものであるので、検査行列テーブル11−1のアドレス「0」には、巡回シフト行列を表す「1」とシフト値「0」とが格納される。2行1列目の置換行列も、巡回シフト行列であってシフトさせないものであるので、検査行列テーブル11−1のアドレス「1」には、巡回シフト行列を表す「1」とシフト値「0」とが格納される。3行1列目の置換行列は、巡回シフト行列であって3だけシフトさせたものであるので、検査行列テーブル11−1のアドレス「2」には、巡回シフト行列を表す「1」とシフト値「3」とが格納される。図4(b)に示す検査行列の基本行列は3行であり、4行目が存在しないので、検査行列テーブル11−1のアドレス「3」にはなんらのデータも設定されない。   Since the permutation matrix in the first row and first column is a cyclic shift matrix and is not shifted, the address “0” in the parity check matrix table 11-1 has “1” representing the cyclic shift matrix and the shift value “0”. Is stored. Since the permutation matrix in the 2nd row and the 1st column is also a cyclic shift matrix and is not shifted, the address “1” in the parity check matrix table 11-1 has “1” representing the cyclic shift matrix and the shift value “0”. Is stored. The permutation matrix in the 3rd row and the 1st column is a cyclic shift matrix and is shifted by 3. Therefore, the address “2” in the parity check matrix table 11-1 is shifted to “1” representing the cyclic shift matrix. The value “3” is stored. Since the basic matrix of the parity check matrix shown in FIG. 4B is three rows and there is no fourth row, no data is set in the address “3” of the parity check matrix table 11-1.

検査行列テーブル11−2〜11−8についても、図4(b)に示す検査行列の置換行列の種類やシフト値に応じた値がそれぞれ格納される。   Also in the parity check matrix tables 11-2 to 11-8, values corresponding to the type and shift value of the permutation matrix of the parity check matrix shown in FIG.

置換行列サイズ格納レジスタ13は、置換行列のサイズ(R)を格納するものであり、基本行列行数納レジスタ14は、基本行列の行数(Mb)を格納するものであり、復号繰返し数格納レジスタ15は、復号繰返し数を格納するものである。   The permutation matrix size storage register 13 stores the size (R) of the permutation matrix, and the basic matrix row number storage register 14 stores the number of rows (Mb) of the basic matrix, and stores the decoding repetition number. The register 15 stores the decoding repetition number.

置換行列サイズ格納レジスタ13に格納された置換行列のサイズRは、M進カウンタ16及び通信路データ制御部20に与えられる。基本行列行数納レジスタ14に格納された基本行列行数Mbは、列アドレス生成部12−1〜12−Nbmax、M進カウンタ17及び行アドレス生成部19に与えられる。復号繰返し数格納レジスタ15に格納された復号繰返し数は、M進カウンタ17及び行アドレス生成部19に与えられる。   The permutation matrix size R stored in the permutation matrix size storage register 13 is given to the M-ary counter 16 and the communication path data control unit 20. The basic matrix row number Mb stored in the basic matrix row number storage register 14 is given to the column address generators 12-1 to 12 -Nbmax, the M-ary counter 17, and the row address generator 19. The decoding repetition number stored in the decoding repetition number storage register 15 is given to the M-ary counter 17 and the row address generation unit 19.

図4(a)に示す検査行列の場合であれば、置換行列サイズ格納レジスタ13には「6」が格納され、基本行列行数納レジスタ14には「4」が格納される。また、図4(b)に示す検査行列の場合であれば、置換行列サイズ格納レジスタ13には「5」が格納され、基本行列行数納レジスタ14には「3」が格納される。   In the case of the parity check matrix shown in FIG. 4A, “6” is stored in the replacement matrix size storage register 13, and “4” is stored in the basic matrix row number storage register 14. In the case of the parity check matrix shown in FIG. 4B, “5” is stored in the replacement matrix size storage register 13, and “3” is stored in the basic matrix row number storage register 14.

M進カウンタ16は、置換行列サイズ格納レジスタ13に設定された置換行列サイズ(R)の巡回カウンタとして機能するものであり、カウントアップのトリガ信号(CE)は通信路データ制御部20から与えられ、そのカウント値Cout[1]を全ての列アドレス生成部12−1〜12−Nbmax及び行アドレス生成部18に与え、キャリー信号をM進カウンタ17へトリガ信号として与えるものである。   The M-ary counter 16 functions as a cyclic counter of the permutation matrix size (R) set in the permutation matrix size storage register 13, and a count-up trigger signal (CE) is given from the communication path data control unit 20. The count value Cout [1] is given to all the column address generators 12-1 to 12-Nbmax and the row address generator 18, and the carry signal is given to the M-ary counter 17 as a trigger signal.

M進カウンタ17は、基本行列行数納レジスタ14に設定された基本行列の行数(Mb)の巡回カウンタとして機能するものであり、カウント値Cout[2]を全ての検査行列テーブル11−1〜11−Nbmaxに読み出しアドレスとして与えると共に、基本行列の処理対象行を指示するものとして行アドレス生成部18に与え、キャリー信号をM進カウンタ18へトリガ信号として与えるものである。   The M-ary counter 17 functions as a cyclic counter of the number of rows (Mb) of the basic matrix set in the basic matrix row number storage register 14, and the count value Cout [2] is set to all the check matrix tables 11-1. Is given to -11-Nbmax as a read address, is given to the row address generation unit 18 as an instruction for the processing target row of the basic matrix, and a carry signal is given to the M-ary counter 18 as a trigger signal.

M進カウンタ18は、復号繰返し数格納レジスタ15に設定された復号繰返し数(i)のカウンタ(巡回カウンタ)として機能するものであり、キャリー信号を通信路データ制御部20に与えるものである。   The M-ary counter 18 functions as a counter (cyclic counter) for the decoding repetition number (i) set in the decoding repetition number storage register 15, and gives a carry signal to the communication path data control unit 20.

通信路データ制御部20には、データ格納・列処理演算部3−1〜3−Nbmaxに対する通信路データDinの供給制御を行うものである。通信路データ制御部20は、M進カウンタ18からキャリー信号が出力されたときに、新たに復号処理に供する通信路データDinを振り分ける制御を行うものである。通信路データ制御部20には、図示しないバッファ部によってバッファリングされている通信路データDinが入力される。バッファリングされている通信路データDinには、基本行列の列数Nbが最大列数Nbmaxより小さい場合には、その差の列数Nbma−Nb分のダミーデータが挿入されている。通信路データ制御部20は、通信路データDinを、置換行列サイズ格納レジスタ13に格納されている置換行列サイズ(R)毎に分割し、分割で得られたNbmax個のデータFn[1]〜Fn[Nbmax]をアドレスFAD[1]〜FAD[Nbmax]と共にデータ格納・列処理演算部3−1〜3−Nbmaxに並行して与えて、それぞれのFn格納部30に格納させ、以下、同様な分割、並行的な送出処理を繰り返す。   The communication path data control unit 20 controls the supply of the communication path data Din to the data storage / sequence processing calculation units 3-1 to 3-Nbmax. The communication path data control unit 20 performs control for newly distributing the communication path data Din to be used for decoding processing when a carry signal is output from the M-ary counter 18. Communication channel data Din buffered by a buffer unit (not shown) is input to the communication channel data control unit 20. When the column number Nb of the basic matrix is smaller than the maximum column number Nbmax, dummy data corresponding to the difference column number Nbma−Nb is inserted in the buffered communication path data Din. The communication path data control unit 20 divides the communication path data Din for each permutation matrix size (R) stored in the permutation matrix size storage register 13, and obtains Nbmax pieces of data Fn [1] to Fn [1] to Fn [Nbmax] is given in parallel with the addresses FAD [1] to FAD [Nbmax] to the data storage / column processing arithmetic units 3-1 to 3-Nbmax and stored in the respective Fn storage units 30, and so on. Repeated division and parallel transmission processing.

上述したM進カウンタ16は、通信路データ制御部20がNbmax個のデータFn[1]〜Fn[Nbmax]を送出する毎に出力するトリガ信号(CE)によってカウントアップするものである。M進カウンタ16のカウント値Cout[1]は、置換行列内での処理対象行を規定するものとなっている。   The above-mentioned M-ary counter 16 counts up by a trigger signal (CE) output every time the communication path data control unit 20 sends out Nbmax pieces of data Fn [1] to Fn [Nbmax]. The count value Cout [1] of the M-ary counter 16 defines the processing target row in the permutation matrix.

M進カウンタ16からのキャリー信号をトリガ信号として受けるM進カウンタ17のカウント値Cout[2]は、基本行列における処理対象行(対象となっている置換行列の位置)を規定するものとなっている。   The count value Cout [2] of the M-ary counter 17 that receives the carry signal from the M-ary counter 16 as a trigger signal defines the processing target row (the position of the target substitution matrix) in the basic matrix. Yes.

行アドレス生成部19は、M進カウンタ16及び17のカウント値に基づき、行アドレスを生成して、後述するデータ格納・列処理演算部3−1〜3−Nbmaxに与えるものである。M進カウンタ16が置換行列サイズRを計数し、M進カウンタ17が、M進カウンタ16のキャリー信号をトリガとして、基本行列行数Mbを計数するので、1回の復号繰り返しについて、置換行列サイズRと、基本行列行数Mbとの積である行数分の行数処理を行うように、行アドレス生成部19が行アドレスを生成していることになる。   The row address generation unit 19 generates a row address based on the count values of the M-ary counters 16 and 17 and gives it to data storage / column processing calculation units 3-1 to 3-Nbmax described later. Since the M-ary counter 16 counts the permutation matrix size R and the M-ary counter 17 counts the basic matrix row number Mb using the carry signal of the M-ary counter 16 as a trigger, the permutation matrix size for one decoding iteration. The row address generation unit 19 generates a row address so that the number of rows corresponding to the number of rows which is the product of R and the basic matrix row number Mb is performed.

検査行列テーブル11−1〜11−Nbmaxには、読み出しアドレスとして、M進カウンタ17のカウント値Cout[2]が与えられ、検査行列テーブル11−1〜11−Nbmaxはそれぞれ、その読み出しアドレスに係る格納データを出力する。   The check matrix tables 11-1 to 11-Nbmax are given the count value Cout [2] of the M-ary counter 17 as a read address, and each of the check matrix tables 11-1 to 11-Nbmax relates to the read address. Output stored data.

図5に例示したように、検査行列テーブル11−1〜11−Nbmaxの格納データは、置換行列種別(零行列又は巡回シフト行列)とシフト値の情報とでなる。このうち、置換行列種別のデータPTYPE[1]〜PTYPE[Nbmax]はそれぞれ、対応するデータ格納・列処理演算部3−1〜3−Nbmaxに与えられる。   As illustrated in FIG. 5, the data stored in the parity check matrix tables 11-1 to 11 -Nbmax includes permutation matrix types (zero matrix or cyclic shift matrix) and shift value information. Of these, permutation matrix type data PTYPE [1] to PTYPE [Nbmax] are respectively provided to the corresponding data storage / column processing arithmetic units 3-1 to 3-Nbmax.

列アドレス生成部12−1〜12−Nbmaxにはそれぞれ、対応する検査行列テーブル11−1〜11−Nbmaxの格納データと、M進カウンタ16のカウント値Cout[1]とが与えられる。列アドレス生成部12−1〜12−Nbmaxはそれぞれ、これらの入力データに応じ、巡回シフト行列である置換行列内の処理対象行で「1」をとっている列アドレスCAD[1]〜CAD[Nbmax]を、対応するデータ格納・列処理演算部3−1〜3−Nbmaxに与えるものである。   Stored data of the corresponding check matrix tables 11-1 to 11-Nbmax and the count value Cout [1] of the M-ary counter 16 are given to the column address generation units 12-1 to 12-Nbmax, respectively. Each of the column address generation units 12-1 to 12-Nbmax corresponds to the input data, and column addresses CAD [1] to CAD [1] taking “1” in the row to be processed in the permutation matrix that is a cyclic shift matrix. Nbmax] is given to the corresponding data storage / column processing arithmetic units 3-1 to 3-Nbmax.

例えば、図4(a)に示す検査行列(図5(a)に示すテーブル内容)の場合において、M進カウンタ17のカウント値Cout[2]が「0」であれば、図5(a)に示すアドレス「0」のデータが各検査行列テーブル11−1〜11−8から出力される。検査行列テーブル11−1から出力された置換行列種別「1」(=PTYPE[1])は、対応するデータ格納・列処理演算部3−1に出力される。このときのM進カウンタ16のカウント値Cout[1]が仮に3列目を表す「2」であれば、列アドレス生成部12−1は、シフト値「2」と、カウント値Cout[1]=2に基づき、3列目が有効であることを表す列アドレスCAD[1]を出力する。   For example, in the case of the parity check matrix shown in FIG. 4A (table contents shown in FIG. 5A), if the count value Cout [2] of the M-ary counter 17 is “0”, FIG. Is output from each of the check matrix tables 11-1 to 11-8. The permutation matrix type “1” (= PTYPE [1]) output from the check matrix table 11-1 is output to the corresponding data storage / column processing operation unit 3-1. At this time, if the count value Cout [1] of the M-ary counter 16 is “2” representing the third column, the column address generation unit 12-1 receives the shift value “2” and the count value Cout [1]. = 2, a column address CAD [1] indicating that the third column is valid is output.

復号データ生成部21は、格納されている復号繰返し数(i)だけ、列処理及び行処理が繰り返されたときに、全てのデータ格納・列処理演算部3−1〜3−Nbmaxによって算出された事後対数尤度比Zn[1]〜Zn[Nbmax]を硬判定し、復号データDoutの生成を行うものである。   The decoded data generation unit 21 is calculated by all the data storage / column processing calculation units 3-1 to 3-Nbmax when the column processing and the row processing are repeated by the stored decoding repetition number (i). The a posteriori log likelihood ratios Zn [1] to Zn [Nbmax] are hard-decided and the decoded data Dout is generated.

各データ格納・列処理演算部3−1〜3−Nbmaxはそれぞれ、通信路データを保持すると共に、上述した列処理を行うものである。各データ格納・列処理演算部3−1〜3−Nbmaxはそれぞれ、基本行列における1番目〜Nbmax番目の置換行列に係る列処理を行うものである。   Each of the data storage / column processing operation units 3-1 to 3-Nbmax holds communication path data and performs the above-described column processing. Each of the data storage / column processing calculation units 3-1 to 3-Nbmax performs column processing related to the first to Nbmax-th substitution matrix in the basic matrix.

各データ格納・列処理演算部3−1〜3−Nbmaxはそれぞれ、図1に、データ格納・列処理演算部3−1について示すように、Fn格納部30−1〜30−Nbmax、Sn演算・格納部31−1〜31−Nbmax、加算器32−1〜32−Nbmax、Rmn格納部33−1〜33−Nbmax、減算器34−1〜34−Nbmax、第1のセレクタ35−1〜35−Nbmax及び第2のセレクタ36−1〜36−Nbmaxを有する。以下の構成要素の説明は、代表してデータ格納・列処理演算部3−1について行う。   Each of the data storage / column processing arithmetic units 3-1 to 3-Nbmax is represented by Fn storage units 30-1 to 30-Nbmax and Sn arithmetic as shown for the data storage / column processing arithmetic unit 3-1. Storage units 31-1 to 31-Nbmax, adders 32-1 to 32-Nbmax, Rmn storage units 33-1 to 33-Nbmax, subtractors 34-1 to 34-Nbmax, first selector 35-1 to 35-Nbmax and second selectors 36-1 to 36-Nbmax. The following description of the constituent elements will be given with respect to the data storage / column processing operation unit 3-1.

Fn格納部30−1は、復号制御部2から与えられた通信路データFn[1]を格納するものである。また、Fn格納部30−1は、復号制御部2から与えられた列アドレスCAD[1]のエリアに格納されている通信路データを読み出して加算器32−1に与えるものである。読み出された通信路データは、上述した(5)式のFnに相当する。   The Fn storage unit 30-1 stores the communication path data Fn [1] given from the decoding control unit 2. The Fn storage unit 30-1 reads out the channel data stored in the area of the column address CAD [1] given from the decoding control unit 2 and gives it to the adder 32-1. The read communication path data corresponds to Fn in the above-described equation (5).

Sn演算・格納部31−1は、第2のセレクタ36−1を介して与えられたRmn[1]から、上述した(4)式に従ってSn値を求め、求めたSn値を格納するものである。また、Sn演算・格納部31−1は、復号制御部2から与えられた列アドレスCAD[1]のエリアに格納されているSn値を読み出して加算器32−1に与えるものである。   The Sn calculation / storage unit 31-1 obtains an Sn value from Rmn [1] given via the second selector 36-1 according to the above-described equation (4), and stores the obtained Sn value. is there. The Sn operation / storage unit 31-1 reads out the Sn value stored in the area of the column address CAD [1] given from the decoding control unit 2 and gives it to the adder 32-1.

加算器32−1は、与えられた2つの値を加算するものである。この加算は、上述した(5)式の演算を行っていることになる。加算後の値Zn[1]は、復号制御部2に与えられると共に、減算器34−1に被減算入力として与えられる。   The adder 32-1 adds two given values. In this addition, the above-described calculation of the equation (5) is performed. The value Zn [1] after addition is given to the decoding control unit 2 and also given to the subtractor 34-1 as a subtracted input.

Rmn格納部33−1は、第2のセレクタ36−1を介して与えられたRmn[1]を格納するものである。また、Rmn格納部33−1は、復号制御部2から与えられた行アドレスRADのエリアの格納値を読み出して減算器34−1に減算入力として与えるものである。   The Rmn storage unit 33-1 stores Rmn [1] given through the second selector 36-1. The Rmn storage unit 33-1 reads out the stored value of the area of the row address RAD given from the decoding control unit 2 and gives it to the subtracter 34-1 as a subtraction input.

減算器34−1は、加算器32−1からRmn格納部33−1の読み出し値を減算するものであり、この減算は、上述した(1)式の演算に該当する。   The subtractor 34-1 subtracts the read value of the Rmn storage unit 33-1 from the adder 32-1, and this subtraction corresponds to the calculation of the above-described equation (1).

第1のセレクタ35−1には、減算器34−1の出力値と、行処理演算部4への入力データが取り得る最大値Maxとが選択入力として与えられ、選択制御信号として、復号制御部2からの置換行列種別のデータPTYPE[1]が与えられる。第1のセレクタ35−1は、置換行列種別データPTYPE[1]が「1」のとき、減算器34−1の出力値を選択し、置換行列種別データPTYPE[1]が「0」のとき最大値Maxを選択し、選択した値Lmn[1]を行処理演算部4に出力する。   The output value of the subtractor 34-1 and the maximum value Max that can be taken by the input data to the row processing arithmetic unit 4 are given to the first selector 35-1 as selection inputs, and decoding control is performed as a selection control signal. Permutation matrix type data PTYPE [1] from unit 2 is provided. The first selector 35-1 selects the output value of the subtractor 34-1 when the permutation matrix type data PTYPE [1] is “1”, and when the permutation matrix type data PTYPE [1] is “0”. The maximum value Max is selected, and the selected value Lmn [1] is output to the row processing calculation unit 4.

第2のセレクタ36−1には、行処理演算部4から与えられた値Rmnと、「0」とが選択入力として与えられ、選択制御信号として、復号制御部2からの置換行列種別のデータPTYPE[1]が与えられる。第2のセレクタ36−1は、置換行列種別データPTYPE[1]が「1」のとき、行処理演算部4から与えられた値Rmnを選択し、置換行列種別データPTYPE[1]が「0」のとき「0」を選択し、選択した値をSn演算・格納部31−1及びRmn格納部33−1に出力する。   The value Rmn given from the row processing calculation unit 4 and “0” are given as selection inputs to the second selector 36-1, and the permutation matrix type data from the decoding control unit 2 as a selection control signal. PTYPE [1] is given. When the replacement matrix type data PTYPE [1] is “1”, the second selector 36-1 selects the value Rmn given from the row processing calculation unit 4, and the replacement matrix type data PTYPE [1] is “0”. "0" is selected, and the selected value is output to the Sn calculation / storage unit 31-1 and the Rmn storage unit 33-1.

行処理演算部4は、図3に示すように、絶対値符号分離部40−1〜40−Nbmax、第1のGallagerテーブル41−1〜41−Nbmax、加算器42、減算器43−1〜43−Nbmax、第2のGallagerテーブル44−1〜44−Nbmax、イクスクルーシブオア回路ツリー45、イクスクルーシブオア回路(XOR)46−1〜46−Nbmax及び整数変換部47−1〜47−Nbmaxを有する。図3に示す行処理演算部4は、上述した非特許文献3に記載のものと同様であり、上述した(2)式の演算を実行するものである。   As shown in FIG. 3, the row processing operation unit 4 includes absolute value code separation units 40-1 to 40-Nbmax, first Gallager tables 41-1 to 41-Nbmax, an adder 42, and subtracters 43-1 to 43-1. 43-Nbmax, second Gallager tables 44-1 to 44-Nbmax, exclusive OR circuit tree 45, exclusive OR circuit (XOR) 46-1 to 46-Nbmax, and integer conversion units 47-1 to 47- Nbmax. The row processing calculation unit 4 shown in FIG. 3 is the same as that described in Non-Patent Document 3 described above, and executes the calculation of the above-described equation (2).

各絶対値符号分離部40−1〜40−Nbmaxはそれぞれ、対応するデータ格納・列処理演算部3−1〜3−Nbmaxから与えられた値Lmn[1]〜Lmn[Nbmax]を、符号と絶対値に分離し、分離した絶対値を対応する第1のGallagerテーブル41−1〜41−Nbmaxに与えると共に、分離した符号をイクスクルーシブオア回路ツリー45及び対応するイクスクルーシブオア回路46−1〜46−Nbmaxに与えるものである。分離した符号は、正を「0」、負を「1」とするものである。   Each of the absolute value code separation units 40-1 to 40-Nbmax uses the values Lmn [1] to Lmn [Nbmax] given from the corresponding data storage / sequence processing operation units 3-1 to 3-Nbmax as signs. The absolute values are separated, and the separated absolute values are given to the corresponding first Gallager tables 41-1 to 41-Nbmax, and the separated codes are given to the exclusive OR circuit tree 45 and the corresponding exclusive OR circuit 46-. 1 to 46-Nbmax. The separated signs are those in which positive is “0” and negative is “1”.

上述した(2)式の右辺は、(3)式を考慮すると、符号に係る演算部分と、絶対値に係る演算部分とから構成されている。第1のGallagerテーブル41−1〜41−Nbmax、加算器42、減算器43−1〜43−Nbmax及び第2のGallagerテーブル44−1〜44−Nbmaxは、絶対値に係る演算部分を実行するものであり、イクスクルーシブオア回路ツリー45及びイクスクルーシブオア回路46−1〜46−Nbmaxは、符号に係る演算部分を実行するものであり、整数変換部47−1〜47−Nbmaxは、両演算部分の結果を融合して出力値を形成させるものである。   The right side of the above-described expression (2) is composed of a calculation part related to the sign and a calculation part related to the absolute value in consideration of the expression (3). The first Gallager tables 41-1 to 41-Nbmax, the adder 42, the subtractors 43-1 to 43-Nbmax, and the second Gallager tables 44-1 to 44-Nbmax execute an arithmetic part related to absolute values. The exclusive OR circuit tree 45 and the exclusive OR circuit 46-1 to 46-Nbmax execute the calculation part related to the sign, and the integer conversion units 47-1 to 47-Nbmax are: The result of both operation parts is fused to form an output value.

各第1のGallagerテーブル41−1〜41−Nbmaxはそれぞれ、入力された絶対値に対して、(3)式に示す演算を行うルックアップテーブルであり、その演算結果を、加算器42及び対応する減算器43−1〜43−Nbmaxに与えるものである。なお、Gallagerテーブル41−1〜41−Nbmax(及び44−1〜44−Nbmax)は、入力が、上述した第1のセレクタ35−1〜35−Nbmaxが選択することがあり得る最大値であるときの出力が0となるようなテーブルとなされている。   Each of the first Gallager tables 41-1 to 41-Nbmax is a look-up table that performs the calculation shown in the equation (3) on the input absolute value, and the calculation result is added to the adder 42 and the corresponding value. To the subtracters 43-1 to 43-Nbmax. The Gallager tables 41-1 to 41-Nbmax (and 44-1 to 44-Nbmax) are the maximum values that can be selected by the first selectors 35-1 to 35-Nbmax described above. The table is such that the output at that time is zero.

加算器42は、全ての第1のGallagerテーブル41−1〜41−Nbmaxからの出力の総和を求めるものであり、各減算器43−1〜43−Nbmaxはそれぞれ、その総和から、対応する第1のGallagerテーブル41−1〜41−Nbmaxの値を減算するものである。例えば、減算器43−1の出力は、対応する第1のGallagerテーブル41−1の出力を除いた、Nbmax−1個の第1のGallagerテーブル41−2〜41−Nbmaxの出力の総和になっており、nが1のときの(2)式における総和演算が実行されている。   The adder 42 obtains the sum of the outputs from all the first Gallager tables 41-1 to 41-Nbmax, and each of the subtracters 43-1 to 43-Nbmax corresponds to the corresponding first sum from the sum. The value of one Gallager table 41-1 to 41-Nbmax is subtracted. For example, the output of the subtracter 43-1 is the sum of the outputs of Nbmax-1 first Gallager tables 41-2 to 41-Nbmax excluding the output of the corresponding first Gallager table 41-1. The sum calculation in the equation (2) when n is 1 is executed.

各第2のGallagerテーブル44−1〜44−Nbmaxはそれぞれ、対応する減算器43−1〜43−Nbmaxの出力に対して、(3)式に示す演算を行うルックアップテーブルであり、その演算結果を、対応する整数変換部47−1〜47−Nbmaxに与えるものである。   Each of the second Gallager tables 44-1 to 44-Nbmax is a look-up table for performing the operation shown in the expression (3) on the output of the corresponding subtractor 43-1 to 43-Nbmax. The result is given to the corresponding integer conversion units 47-1 to 47-Nbmax.

イクスクルーシブオア回路ツリー45は、全ての絶対値符号分離部40−1〜40−Nbmaxからの符号の積を得るものであり、各イクスクルーシブオア回路46−1〜46−Nbmaxは、全ての符号の積と、対応する絶対値符号分離部40−1〜40−Nbmaxからの符号との積(全ての符号の積に対する対応する絶対値符号分離部40−1〜40−Nbmaxからの符号の除に等しい)を求めているものである。例えば、イクスクルーシブオア回路46−1の出力は、対応する絶対値符号分離部40−1の符号を除いた、Nbmax−1個の絶対値符号分離部40−2〜40−Nbmaxの符号の積になっており、nが1のときの(2)式における符号側の演算が実行されている。   The exclusive OR circuit tree 45 obtains products of codes from all the absolute value code separation units 40-1 to 40-Nbmax, and all the exclusive OR circuits 46-1 to 46-Nbmax are all And the codes from the corresponding absolute value code separation units 40-1 to 40-Nbmax (the codes from the corresponding absolute value code separation units 40-1 to 40-Nbmax for the products of all codes) Equal to the division of). For example, the output of the exclusive OR circuit 46-1 includes the codes of the Nbmax-1 absolute value code separation units 40-2 to 40-Nbmax excluding the corresponding codes of the absolute value code separation units 40-1. The calculation on the sign side in equation (2) when n is 1 is executed.

各整数変換部47−1〜47−Nbmaxはそれぞれ、対応する第2のGallagerテーブル44−1〜44−Nbmaxから与えられた値に、対応するイクスクルーシブオア回路46−1から与えられた符号を付与して整数化し、得られた値Rmn[1]〜Rmn[Nbmax]を、対応するデータ格納・列処理演算部3−1〜3−Nbmaxに出力するものである。各整数変換部47−1〜47−Nbmaxの処理により、(2)式に示す演算が完結する。   Each integer conversion unit 47-1 to 47-Nbmax has a code given from the corresponding exclusive OR circuit 46-1 to the value given from the corresponding second Gallager table 44-1 to 44-Nbmax. Are converted into integers, and the obtained values Rmn [1] to Rmn [Nbmax] are output to the corresponding data storage / column processing arithmetic units 3-1 to 3-Nbmax. By the processing of each integer conversion unit 47-1 to 47-Nbmax, the calculation shown in the equation (2) is completed.

(A−2)実施形態の動作
次に、上述した図1〜図3に示す構成を有する実施形態のLDPC符号復号装置1の動作を説明する。
(A-2) Operation | movement of embodiment Next, operation | movement of the LDPC code decoding apparatus 1 of embodiment which has the structure shown in FIGS. 1-3 mentioned above is demonstrated.

(S1)まず、復号情報入力制御部10を介して、検査行列テーブル11−1〜11−Nbmax、置換行列サイズ格納レジスタ13、基本行列行数格納レジスタ14、復号繰返し数格納レジスタ15に対し、使用する検査行列に応じたデータを設定する。   (S1) First, with respect to the check matrix tables 11-1 to 11-Nbmax, the permutation matrix size storage register 13, the basic matrix row number storage register 14, and the decoding repetition number storage register 15 via the decoding information input control unit 10, Set data according to the check matrix to be used.

基本行列の適用可能な最大列数(Nbmax)が8である場合において、使用する検査行列が、例えば、図4(a)に示すものであれば図5(a)に示す内容が検査行列テーブル11−1〜11−8に設定され、「6」が置換行列サイズ格納レジスタ13に設定され、「4」が基本行列行数格納レジスタ14に設定される。また、使用する検査行列が、例えば、図4(b)に示すものであれば図5(b)に示す内容が検査行列テーブル11−1〜11−8に設定され、「5」が置換行列サイズ格納レジスタ13に設定され、「3」が基本行列行数格納レジスタ14に設定される。復号繰返し数は、検査行列によらずに、任意に設定される。   When the maximum number of columns (Nbmax) to which the basic matrix can be applied is 8, if the check matrix to be used is, for example, that shown in FIG. 4A, the content shown in FIG. 5A is the check matrix table. 11-1 to 11-8, “6” is set in the substitution matrix size storage register 13, and “4” is set in the basic matrix row number storage register 14. For example, if the parity check matrix to be used is the one shown in FIG. 4B, the content shown in FIG. 5B is set in the parity check matrix tables 11-1 to 11-8, and “5” is the replacement matrix. The size storage register 13 is set, and “3” is set in the basic matrix row number storage register 14. The number of decoding iterations is arbitrarily set regardless of the check matrix.

(S2)次に、通信路データ制御部20によって、入力された通信路データDinを、置換行列サイズ格納レジスタ13に設定された置換行列サイズであるR個毎に分割し、各データ格納・列処理演算部3−1〜3−NbmaxにおけるFn格納部30−1〜30−Nbmaxに書き込む。   (S2) Next, the communication channel data control unit 20 divides the input communication channel data Din into R data, which is the permutation matrix size set in the permutation matrix size storage register 13, and stores each data storage / column. Write to the Fn storage units 30-1 to 30-Nbmax in the processing arithmetic units 3-1 to 3-Nbmax.

(S3)そして、M進カウンタ16及び17の値Cout[1]、Cout[2]に基づいて、行アドレス生成部19や列アドレス生成部12−1〜12−Nbmax等によって、行処理を行う行アドレスRADと、Nbmax個の列アドレスCAD[1]〜CAD[Nbmax]及び置換行列種別PTYPE[1]〜PTYPE[Nbmax]を生成し、データ格納・列処理演算部3−1〜3−Nbmaxに出力する。   (S3) Based on the values Cout [1] and Cout [2] of the M-ary counters 16 and 17, row processing is performed by the row address generation unit 19 and the column address generation units 12-1 to 12-Nbmax. A row address RAD, Nbmax column addresses CAD [1] to CAD [Nbmax] and permutation matrix types PTYPE [1] to PTYPE [Nbmax] are generated, and data storage / column processing arithmetic units 3-1 to 3-Nbmax are generated. Output to.

(S4)各データ格納・列処理演算部3−1〜3−Nbmaxでは、入力された行アドレスRADと列アドレスCAD[1]〜CAD[Nbmax]に基づいて、Fn格納部30−1〜30−Nbmax、Sn演算・格納部31−1〜31−Nbmax及びRmn格納部33−1〜33−Nbmaxからの読み出しを実行しながら、上述した(5)式、(1)式の演算を行い、また、入力された置換行列種別情報PTYPE[1]〜PTYPE[Nbmax]に基づいて、行処理演算部3への入力データLmn[1]〜Lmn[Nbmax]を生成する。ここで、置換行列種別情報が「0」である場合は、演算された値に代え、行処理演算部3への入力データLmn[1]〜Lmn[Nbmax]が取り得る最大値Maxを出力する。   (S4) In each of the data storage / column processing calculation units 3-1 to 3-Nbmax, the Fn storage units 30-1 to 30-30 are based on the input row address RAD and column addresses CAD [1] to CAD [Nbmax]. -Nbmax, Sn calculation / storage units 31-1 to 31-Nbmax and Rmn storage units 33-1 to 33-Nbmax are read while performing the above-described equations (5) and (1), Also, input data Lmn [1] to Lmn [Nbmax] to the row processing calculation unit 3 is generated based on the input permutation matrix type information PTYPE [1] to PTYPE [Nbmax]. Here, if the permutation matrix type information is “0”, instead of the calculated value, the maximum value Max that can be taken by the input data Lmn [1] to Lmn [Nbmax] to the row processing calculation unit 3 is output. .

(S5)行処理演算部4は、各データ格納・列処理演算部3−1〜3−Nbmaxから入力されたデータLmn[1]〜Lmn[Nbmax]に基づき、上述した(2)式の演算を実行する。第1のGallagerテーブル41−1〜41−Nbmaxは、入力が最大値であるときの出力が0となるようなテーブルとなされており、これにより、置換行列種別が「1」である列に対する行処理結果だけが(2)式で導出された結果と一致する。   (S5) The row processing computation unit 4 computes the formula (2) described above based on the data Lmn [1] to Lmn [Nbmax] input from the data storage / column processing computation units 3-1 to 3-Nbmax. Execute. The first Gallager tables 41-1 to 41-Nbmax are tables such that the output is 0 when the input is the maximum value, and thus the row for the column whose substitution matrix type is “1”. Only the processing result matches the result derived by the equation (2).

(S6)各データ格納・行処理演算部3−1〜3−Nbmaxでは、行処理演算部4より出力された行処理結果Rmn[1]〜Rmn[Nbmax]と置換行列種別PTYPE[1]〜PTYPE[Nbmax]とを用いて、(4)式に示すSn値の算出を行う。置換行列種別が「0」であるときの行処理演算部4の行処理結果Rmn[1]〜Rmn[Nbmax]は不定であるため、第2のセレクタ36−1〜36−Nbmaxによって、行処理結果Rmn[1]〜Rmn[Nbmax]の値を0に置換する。そして、Rmn格納部33−1〜33−Nbmaxに保持すると共に、Sn演算・格納部31−1〜31−Nbmaxでは、第2のセレクタ36−1〜36−Nbmaxの出力値を加算することにより、(4)式の演算を行う。   (S6) In each of the data storage / row processing calculation units 3-1 to 3-Nbmax, the row processing results Rmn [1] to Rmn [Nbmax] output from the row processing calculation unit 4 and the substitution matrix type PTYPE [1] to The Sn value shown in Equation (4) is calculated using PTYPE [Nbmax]. Since the row processing results Rmn [1] to Rmn [Nbmax] of the row processing calculation unit 4 when the permutation matrix type is “0” are indefinite, row processing is performed by the second selectors 36-1 to 36 -Nbmax. Results The values of Rmn [1] to Rmn [Nbmax] are replaced with 0. The Rmn storage units 33-1 to 33-Nbmax hold the values, and the Sn calculation / storage units 31-1 to 31-Nbmax add the output values of the second selectors 36-1 to 36-Nbmax. , (4) is calculated.

(S7)上述した(S3)〜(S6)の処理を、復号繰返し数格納レジスタ15に格納された復号繰返し数だけ、繰返し行った後、復号制御部2内の復号データ生成部21において、全てのデータ格納・列処理演算部3−1〜3−Nbmaxによって算出された事後対数尤度比Zn[1]〜Zn[Nbmax]を硬判定し、復号データDoutの生成を行
(A−3)実施形態の効果
上記実施形態のLDPC符号復号装置によれば、基本行列がMb×Nb(但し、Mb<=Mbmax、Nb=Nbmax)である任意の構造化LDPC符号に対する復号を行うことができる。言い換えると、構成を変えずに、任意の符号化率のLDPC符号を復号することができる。
(S7) After the processes of (S3) to (S6) described above are repeated for the number of decoding iterations stored in the decoding iteration number storage register 15, all the data is decoded by the decoded data generation unit 21 in the decoding control unit 2. The data posterior log likelihood ratios Zn [1] to Zn [Nbmax] calculated by the data storage / sequence processing operation units 3-1 to 3-Nbmax are hard-decided and the decoded data Dout is generated (A-3). Effects of the Embodiment According to the LDPC code decoding apparatus of the above embodiment, decoding can be performed for any structured LDPC code whose basic matrix is Mb × Nb (where Mb <= Mbmax, Nb = Nbmax). In other words, an LDPC code having an arbitrary coding rate can be decoded without changing the configuration.

ここで、任意の構造化LDPC符号に対応させるための有効/無効を表すデータを、図5に示すように構成して格納するようにしたので、データ量を抑え、メモリなどの構成を小型化することができる。   Here, since the data representing validity / invalidity to correspond to an arbitrary structured LDPC code is configured and stored as shown in FIG. 5, the amount of data is reduced, and the configuration of the memory and the like is reduced. can do.

(B)他の実施形態
上記実施形態においては、Nbmax個の検査行列テーブル11−1〜11−Nbmax、置換行列サイズ格納レジスタ13、基本行列行数格納レジスタ14に外部からのデータを設定することで、基本行列が任意の構造化LDPC符号に対応するものを示したが、予め、データを格納した検査行列テーブル11−1〜11−Nbmax、置換行列サイズ格納レジスタ13及び基本行列行数格納レジスタ14の組を複数備え、外部から、いずれかの組を指定させることで、基本行列が任意の構造化LDPC符号に対応するようにしても良い。
(B) Other Embodiments In the above embodiment, external data is set in Nbmax parity check matrix tables 11-1 to 11-Nbmax, permutation matrix size storage register 13, and basic matrix row number storage register 14. Although the basic matrix corresponds to an arbitrary structured LDPC code, the parity check matrix tables 11-1 to 11-Nbmax storing data in advance, the permutation matrix size storage register 13, and the basic matrix row number storage register are shown. A plurality of 14 sets may be provided, and one of the sets may be designated from the outside so that the basic matrix corresponds to an arbitrary structured LDPC code.

また、上記実施形態においては、基本行列の列数Nbに応じて、通信路データにダミーデータを挿入する構成が、LDPC符号復号装置の外部にあるものを示したが、LDPC符号復号装置が基本行列の列数Nbをも外部から取込み、それに応じたダミーデータの挿入も、LDPC符号復号装置で行うようにしても良い。   In the above embodiment, the configuration in which the dummy data is inserted into the channel data according to the number of columns Nb of the basic matrix is provided outside the LDPC code decoding device. The number of columns Nb of the matrix may also be taken in from the outside, and dummy data may be inserted accordingly by the LDPC code decoding apparatus.

なお、行処理演算部の構成は(2)式の演算を実行できる構成であれば良く、図3に示す構成のものに限定されるものではない。また、(2)式の近似式の演算を実行できる構成であっても良い。このような近似式の演算構成としては、例えば、文献『“Near optimum universal belief propagation based decoding of low−density parity check codes,” IEEE Trans. Commun., vol.50, pp.406−414, Mar.2002』に記載されている。   The configuration of the row processing calculation unit is not limited to the configuration shown in FIG. 3 as long as the configuration can execute the calculation of equation (2). Moreover, the structure which can perform the calculation of the approximate expression of (2) Formula may be sufficient. As an arithmetic configuration of such an approximate expression, for example, a document ““ Near optimal universal belief propagating based decoding of low-density parity check codes, ”IEEE Trans. Commun. , Vol. 50, pp. 406-414, Mar. 2002 ".

また、復号繰返し数(i)は任意設定できず、固定数であっても良い。さらに、基本行列の行数Mb又は列数Nbのいずれかが任意設定できないように、本発明の装置を構成しても良い。   Further, the decoding repetition number (i) cannot be arbitrarily set, and may be a fixed number. Furthermore, the apparatus of the present invention may be configured such that either the number of rows Mb or the number of columns Nb of the basic matrix cannot be arbitrarily set.

さらに、上記実施形態における第1のセレクタ35−1〜35−Nbmaxや第2のセレクタ36−1〜36−Nbmaxを、行処理演算部4の構成要素として設けるようにしても良い。   Further, the first selectors 35-1 to 35 -Nbmax and the second selectors 36-1 to 36 -Nbmax in the above embodiment may be provided as components of the row processing calculation unit 4.

実施形態に係るLDPC符号復号装置の全体構成及びデータ格納・列処理演算部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the whole structure of the LDPC code decoding apparatus which concerns on embodiment, and a data storage and sequence | processing part. 図1における復号制御部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the decoding control part in FIG. 図1における行列処理演算部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the matrix process calculating part in FIG. 異なる符号長、符号化率であるStructured LDPC符号における検査行列を示す説明図である。It is explanatory drawing which shows the test matrix in Structured LDPC code which is a different code length and coding rate. 図4の例における検査行列テーブルの格納例を示す説明図である。It is explanatory drawing which shows the example of storage of the check matrix table in the example of FIG.

符号の説明Explanation of symbols

1…LDPC符号復号装置、2…復号制御部、3−1〜3−Nbmax…データ格納・列処理演算部、4…行処理演算部、10…復号情報格納制御部、11−1〜11−Nbmax…検査行列テーブル、12−1〜12−Nbmax…列アドレス生成部、13…置換行列サイズ格納レジスタ、14…基本行列行数格納レジスタ、15…復号繰返し数格納レジスタ、16〜18…M進カウンタ、19…行アドレス生成部、20…通信路データ制御部、21…復号データ生成部、35−1〜35−Nbmax…第1のセレクタ、36−1〜36−Nbmax…第2のセレクタ、41−1〜41−Nbmax…第1のGallagerテーブル。
DESCRIPTION OF SYMBOLS 1 ... LDPC code decoding apparatus, 2 ... Decoding control part, 3-1 to 3-Nbmax ... Data storage and column processing calculating part, 4 ... Row processing calculating part, 10 ... Decoding information storing control part, 11-1 to 11- Nbmax: check matrix table, 12-1 to 12-Nbmax: column address generation unit, 13: substitution matrix size storage register, 14: basic matrix row number storage register, 15: decoding repetition number storage register, 16-18: M-ary Counter 19, row address generation unit 20, communication channel data control unit 21, decoded data generation unit 35-1 to 35 -Nbmax 1st selector 36-1 to 36 -Nbmax 2nd selector, 41-1 to 41-Nbmax: first Gallager table.

Claims (4)

Mb(但し、Mb<=Mbmax)行Nb(但し、Nb<=Nbmax)列の基本行列と、上記基本行列の要素となるR行R列の置換行列とで構成された低密度パリティチェック符号を復号する低密度パリティチェック符号復号装置において、
通信路データを並列的に取込んで格納し、BPアルゴリズムに従った、基本行列の同一行に係る置換行列の列処理を並列的に実行するNbmax個のデータ格納・列処理演算部と、
全ての上記データ格納・列処理演算部の列処理結果を入力して、BPアルゴリズムに従った行処理を行う行処理演算部と、
入力された通信路データを置換行列サイズR毎に分割して、上記各データ格納・列処理演算部に与えた後、上記各データ格納・列処理演算部に応じた列アドレスと、全ての上記データ格納・列処理演算部に共通な行アドレスとを生成して上記各データ格納・列処理演算部に与え、BPアルゴリズムに従った行処理と列処理とを繰り返し実行させ、復号の繰返し回数が所定回数になったときの全ての上記データ格納・列処理演算部における事後対数尤度に基づいて復号データを生成する復号制御部とを備え、
上記復号制御部は、
処理対象の低密度パリティチェック符号に係る検査行列に応じて定まる、Mbmax×Nbmaxの有効・無効フラグと、有効な有効・無効フラグに係る巡回シフト行列でなる置換行列のシフト量とを保持する検査行列情報保持部と、
処理対象の低密度パリティチェック符号における置換行列サイズRを保持する置換行列サイズ保持部と、
処理対象の低密度パリティチェック符号における基本行列の行数Mbを保持する基本行列行数保持部とを有し、
上記有効・無効フラグ、上記シフト量、上記置換行列サイズ及び上記基本行列行数を利用しながら、上記列アドレス及び上記行アドレスを生成させ、
上記各データ格納・列処理演算部及び上記行処理演算部の少なくとも一方は、無効な上記有効・無効フラグに応じて、処理を無効化する無効化手段を有する
ことを特徴とする低密度パリティチェック符号復号装置。
A low-density parity check code composed of a basic matrix of Mb (where Mb <= Mbmax) rows and Nb (where Nb <= Nbmax) columns and a permutation matrix of R rows and R columns that are elements of the basic matrix In the low-density parity check code decoding device for decoding,
Nbmax data storage / column processing operation units that capture and store communication path data in parallel, and execute column processing of the substitution matrix according to the same row of the basic matrix in parallel according to the BP algorithm;
A row processing operation unit that inputs column processing results of all the data storage / column processing operation units and performs row processing according to the BP algorithm;
After the input communication channel data is divided for each permutation matrix size R and given to each data storage / column processing operation unit, the column address corresponding to each data storage / column processing operation unit and all the above A row address common to the data storage / column processing arithmetic unit is generated and given to each of the data storage / column processing arithmetic units, and the row processing and column processing according to the BP algorithm are repeatedly executed. A decoding control unit that generates decoded data based on the posterior log likelihood in all the data storage and column processing operation units when the predetermined number of times,
The decoding control unit
A check that retains the Mbmax × Nbmax valid / invalid flag and the shift amount of the permutation matrix composed of the cyclic shift matrix related to the valid valid / invalid flag, which are determined according to the check matrix related to the low-density parity check code to be processed A matrix information holding unit;
A permutation matrix size holding unit that holds a permutation matrix size R in the low-density parity check code to be processed;
A basic matrix row number holding unit for holding the number of rows Mb of the basic matrix in the low-density parity check code to be processed;
The column address and the row address are generated using the valid / invalid flag, the shift amount, the substitution matrix size, and the basic matrix row number,
At least one of the data storage / column processing operation unit and the row processing operation unit includes invalidation means for invalidating processing in accordance with the invalid validity / invalidity flag. Code decoding apparatus.
上記無効化手段は、上記各データ格納・列処理演算部から上記行処理演算部へ与える列処理結果の値を、列処理結果が取り得る最大値に置き換えるものであることを特徴とする請求項1に記載の低密度パリティチェック符号復号装置。   The invalidation means replaces the value of the column processing result given from each of the data storage / column processing arithmetic units to the row processing arithmetic unit with a maximum value that the column processing result can take. 2. The low density parity check code decoding device according to 1. 上記無効化手段は、上記行処理演算部から上記各データ格納・列処理演算部へ与える行処理結果の値を0に置き換えるものであることを特徴とする請求項1又は2に記載の低密度パリティチェック符号復号装置。   3. The low density according to claim 1, wherein the invalidation means replaces a value of a row processing result given from the row processing operation unit to each data storage / column processing operation unit with 0. Parity check code decoding device. 上記復号制御部は、1回の復号繰り返しについて、上記置換行列サイズ保持部に保持されている置換行列サイズRと、上記基本行列行数保持部に保持されている基本行列行数Mbとの積である行数分の行数処理を行うように、行アドレスを生成することを特徴とする請求項1〜3のいずれかに記載の低密度パリティチェック符号復号装置。
The decoding control unit is a product of the permutation matrix size R held in the permutation matrix size holding unit and the basic matrix row number Mb held in the basic matrix row number holding unit for one decoding iteration. 4. The low-density parity check code decoding apparatus according to claim 1, wherein the row address is generated so that the number of rows corresponding to the number of rows is processed. 5.
JP2006222531A 2006-08-17 2006-08-17 Low density parity check code decoder Active JP4283829B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006222531A JP4283829B2 (en) 2006-08-17 2006-08-17 Low density parity check code decoder
US11/890,511 US8028214B2 (en) 2006-08-17 2007-08-07 Low density parity check codes decoder and method thereof
US13/041,957 US8156399B2 (en) 2006-08-17 2011-03-07 Low density parity check codes decoder and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222531A JP4283829B2 (en) 2006-08-17 2006-08-17 Low density parity check code decoder

Publications (2)

Publication Number Publication Date
JP2008048207A JP2008048207A (en) 2008-02-28
JP4283829B2 true JP4283829B2 (en) 2009-06-24

Family

ID=39181507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222531A Active JP4283829B2 (en) 2006-08-17 2006-08-17 Low density parity check code decoder

Country Status (1)

Country Link
JP (1) JP4283829B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118056A (en) * 2004-05-12 2005-12-15 삼성전자주식회사 Method and apparatus for channel encoding and decoding in mobile communication systems using multi-rate block ldpc codes
WO2006055086A1 (en) * 2004-10-01 2006-05-26 Thomson Licensing A low density parity check (ldpc) decoder
JP4598085B2 (en) * 2006-01-10 2010-12-15 三菱電機株式会社 Check matrix generation method

Also Published As

Publication number Publication date
JP2008048207A (en) 2008-02-28

Similar Documents

Publication Publication Date Title
US11206049B2 (en) Transmission apparatus including encoder, reception apparatus including decoder, and associated methods
JP5199463B2 (en) Turbo LDPC decoding
KR101405962B1 (en) Decoding method using LDPC code
KR101211433B1 (en) Appratus and method of high speed quasi-cyclic low density parity check code having low complexity
Zhang et al. Low-complexity reliability-based message-passing decoder architectures for non-binary LDPC codes
KR20160122261A (en) Encoding Method, Decoding Method, Encoding device and Decoding Device for Structured LDPC
EP1900105A1 (en) Clash-free irregular-repeat-accumulate code
US20080046801A1 (en) Low density parity check codes decoder and method thereof
JPWO2010073922A1 (en) Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and program thereof
KR101930583B1 (en) Parallel encoding for non-binary linear block code
CN107979445B (en) Basic Check Node-Based Syndrome Decoding Using Presorted Inputs
US10833704B1 (en) Low-density parity check decoder using encoded no-operation instructions
Hehn et al. Multiple-bases belief-propagation decoding of high-density cyclic codes
JP4602406B2 (en) Method and apparatus for encoding and decoding data
KR100550101B1 (en) An apparatus for encoding and decoding of Low-Density Parity-Check Codes, and methods thereof
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR20080000479A (en) Apparatus and method for receiving signal in communication system
US20180131395A1 (en) Method for controlling a check node of a nb-ldpc decoder and corresponding check node
JP4283829B2 (en) Low density parity check code decoder
JP4202161B2 (en) Encoding device and decoding device
Fayyaz et al. A low-complexity soft-output decoder for polar codes
WO2019102450A1 (en) Low latency sequential list decoding of polar codes cross-references to related applications
US20170331496A1 (en) Decoding method and decoder for low density parity check code
KR20250090326A (en) Turbo code design method, turbo code design device and recording medium storing turbo code design program
JP2010041628A (en) Encoder, encoding method, and encoding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090128

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090219

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090319

R150 Certificate of patent or registration of utility model

Ref document number: 4283829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150327

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250