JP4748007B2 - LDPC decoder operation control data generation method and LDPC decoder - Google Patents

LDPC decoder operation control data generation method and LDPC decoder Download PDF

Info

Publication number
JP4748007B2
JP4748007B2 JP2006247334A JP2006247334A JP4748007B2 JP 4748007 B2 JP4748007 B2 JP 4748007B2 JP 2006247334 A JP2006247334 A JP 2006247334A JP 2006247334 A JP2006247334 A JP 2006247334A JP 4748007 B2 JP4748007 B2 JP 4748007B2
Authority
JP
Japan
Prior art keywords
column
data
row
storage memory
numbers
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.)
Expired - Fee Related
Application number
JP2006247334A
Other languages
Japanese (ja)
Other versions
JP2008072247A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006247334A priority Critical patent/JP4748007B2/en
Publication of JP2008072247A publication Critical patent/JP2008072247A/en
Application granted granted Critical
Publication of JP4748007B2 publication Critical patent/JP4748007B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は低密度パリティ検査符号(LDPC)の復号に係り、特に、任意の検査行列を与えた時のLDPC符号の復号化手順と復号化装置に関するものである。   The present invention relates to decoding of a low density parity check code (LDPC), and more particularly to a decoding procedure and decoding apparatus for an LDPC code when an arbitrary check matrix is given.

低密度パリティ検査符号(Low Density Parity Code)は優れた特性から通信システムでのディジタル情報の伝送、蓄積システムへのディジタル情報の蓄積の符号化方式として知られている。   A low density parity check code is known as an encoding method for transmitting digital information in a communication system and storing digital information in a storage system because of its excellent characteristics.

LDPC符号化方式は以下に述べる手順で符号化、復号化が行われる。
1)符号化
符号化する情報ビットをMビットとすると、MビットにKビットの検査ビットを加えたN=(M+K)ビットの符号を生成する。K行N列の生成行列を作成し、Nビットの情報かビットに生成行列を乗算する事によりNビットのLDPCの符号を生成できる。生成行列は任意の行列で良い。
2)復号化
復号化はM行N列のパリティ検査行列(以下検査行列と表示)を任意に生成し、NビットにLDPC符号化された情報に検査行列を乗ずることにより復号できる。
In the LDPC encoding method, encoding and decoding are performed according to the procedure described below.
1) Encoding When the information bits to be encoded are M bits, an N = (M + K) -bit code is generated by adding M check bits to K bits. An N-bit LDPC code can be generated by creating a K-row N-column generator matrix and multiplying the N bits of information or bits by the generator matrix. The generator matrix may be an arbitrary matrix.
2) Decoding Decoding can be performed by arbitrarily generating a parity check matrix (hereinafter referred to as a check matrix) of M rows and N columns and multiplying N bits by LDPC encoded information and the check matrix.

検査行列は行列要素「1」が少ない任意の行列を行列を定義すれば良い。適用する分野のLDPC符号語の性質により選定する。   The check matrix may be defined as an arbitrary matrix having few matrix elements “1”. Select according to the nature of the LDPC codeword in the applicable field.

検査行列はその行列の性質により特性が異なり、収束するまでの繰り返し演算の回数、LDPC符号語の性質に対応して適切な検査行列が異なっている。このため、検査行列を変えて特性を確認することが必要となる。   The check matrix has different characteristics depending on the nature of the matrix, and the appropriate check matrix differs depending on the number of iterations until convergence and the nature of the LDPC codeword. For this reason, it is necessary to check the characteristics by changing the check matrix.

LDPC符号の復号方法として、設定した検査行列Kらsum−product法、あるいはMin−sum法による繰り返し演算を行い、繰り返し演算後の値より復号化信号を得る。Min−sum法を基にLDPC符号の復号方法について説明する。   As a decoding method of the LDPC code, iterative calculation is performed by the set check matrix K and the sum-product method or the Min-sum method, and a decoded signal is obtained from the value after the repeated calculation. An LDPC code decoding method will be described based on the Min-sum method.

図6はMin−sum法によるLDPC符号の復号を示す図である。LDPC符号をメッセージノードとチェックノードとの間でMin−sum法による逐次演算行い受信語を判定して復号する手順をタナーグラフにより示している。   FIG. 6 is a diagram showing decoding of an LDPC code by the Min-sum method. The Tanner graph shows the procedure for decoding the LDPC code by sequentially calculating the received word between the message node and the check node by the Min-sum method.

タナーグラフはN個のメッセージノードとM個のチェックノードが検査行列の「1」の位置に対応して接続されたグラフである。タナーグラフは検査行列の列がメッセージノードに、行がチェックノードに対応している。   The Tanner graph is a graph in which N message nodes and M check nodes are connected corresponding to the position of “1” in the parity check matrix. In the Tanner graph, columns of the check matrix correspond to message nodes, and rows correspond to check nodes.

メッセージノードとチェックノードの接続は、検査行列のi行j列の要素が「1」の場合にj番目のメッセージノードとi番目のチェックノードが接続されていることになる。これより、1回のαmn、βmnの演算に必要な数は「1」の数により定まり、1つのαmnを算出する場合、m番目のチェックノードに接続されている全てのメッセージノードのβが必要となり、1つのβmnを算出する場合、n番目のメッセージに接続されている全てのチェックノードのαが必要となる。1回の演算に必要な回数は「1」の数、M×列重み数(=N×行重み数)依存する。ここで、列重みは1つの列に存在する1の数であり、行重みは1つの行に存在する1の数である。 The connection between the message node and the check node is that the j-th message node and the i-th check node are connected when the element in the i-th row and j-th column of the check matrix is “1”. As a result, the number required for one calculation of α mn and β mn is determined by the number of “1”, and when calculating one α mn , all message nodes connected to the mth check node are calculated. β is required, and when calculating one β mn , α of all check nodes connected to the nth message is required. The number of times required for one calculation depends on the number of “1”, M × column weight number (= N × row weight number). Here, the column weight is the number of 1s present in one column, and the row weight is the number of 1s present in one row.

復号の手順について説明する。
1)(式1)によりβmnを演算する。
Decoding procedures will be described.
1) β mn is calculated by (Equation 1).

αmnの初期値は「0」とし、λは(式3)に示すように入力語yである。ここで、αm’nの「m’」はβmnのmに一致するmは演算に含めないことを意味する。
2)(式2)によりαmnを演算する。
The initial value of alpha mn is set to "0", the lambda n is input words y n as shown in (Equation 3). Here, “m ′” of α m′n means that m which coincides with m of β mn is not included in the calculation.
2) α mn is calculated by (Expression 2).

ここでβmn’の「n’」はβmnのnに一致するnは演算に含めないことを意味する。なお、sign(x)はx>=の場合、値が「1」とし、x<0の場合、値「0」とする。
3)(式4)で得たQを(式5)で判定して受信語yを決定する。
Here β mn 'of the "n'" is n that matches the n of β mn means that you do not want to include in the calculation. The value of sign (x) is “1” when x> =, and the value “0” when x <0.
3) The received word y n is determined by determining Q n obtained in (Expression 4) by (Expression 5).

Figure 0004748007
Figure 0004748007

Figure 0004748007
Figure 0004748007

Figure 0004748007
Figure 0004748007

Figure 0004748007
Figure 0004748007

Figure 0004748007
図7はLDPC符号の復号手順を示す図である。図6で示したMin−sum法を例にしてLDPC符号の復号手順を示している。
S11:M行N列の検査行列を与える。
S12:LDPC符号情報y(n=1〜N)を得る。
S13:下記の初期設定を行なう。
ア.尤度λは受信語のy(n=1〜N)とし保持する。
イ.αmn=0と設定し、(m=1〜M、n=1〜N)とし保持する。
ウ.演算繰り返し回数をLとし、最大演算繰り返しLmaxと初期値L=0を設定する。
S14:(式1)によりβmnの演算の演算を行いβ格納メモリに保持する。
S15:(式2)によりαmnの演算の演算を行いα格納メモリ保持する。
S16、S17:設定した繰り返し回数まで演算を繰り返し、あるいは、繰り返し演算により演算結果が収束したと判断した場合に切り返し演算を終了する。
S18:(式4)、(式5)によりQの値より受信語(y)’を推定し決定する。
Figure 0004748007
FIG. 7 is a diagram showing a decoding procedure of the LDPC code. The decoding procedure of the LDPC code is shown taking the Min-sum method shown in FIG. 6 as an example.
S11: A check matrix of M rows and N columns is given.
S12: LDPC code information y n (n = 1 to N) is obtained.
S13: The following initial settings are made.
A. The likelihood λ n is held as y n (n = 1 to N) of the received word.
I. α mn = 0 is set and held as (m = 1 to M, n = 1 to N).
C. The number of calculation repetitions is set to L, and the maximum calculation repetition Lmax and an initial value L = 0 are set.
S14: The calculation of β mn is performed according to (Expression 1) and held in the β storage memory.
S15: The calculation of α mn is performed by (Expression 2), and the α storage memory is held.
S16, S17: The calculation is repeated up to the set number of repetitions, or when it is determined that the calculation result has converged by the repetition calculation, the switching operation is terminated.
S18: The received word (y n ) ′ is estimated and determined from the value of Q n according to (Expression 4) and (Expression 5).

次にLDPC符号の復号に必要なα演算、β演算の規模は、前述したように1つの検査行列の「1」の数に依存する。   Next, the scales of α computation and β computation necessary for decoding the LDPC code depend on the number of “1” in one parity check matrix as described above.

一方、LDPC符号を適用する通信システムでは符号長Nとして例えば、N=10,000語が必要であり、検査行列は5,000行10,000の検査行列の規模となる。検査行列の行重みを6、列重み3とすると検査行列「1」の数は30,000となる。1回のα演算に必要なβの数(1回のβ演算に必要なαの数)は30,000個となる。   On the other hand, in a communication system to which an LDPC code is applied, for example, N = 10,000 words are required as the code length N, and the parity check matrix has a size of a parity check matrix of 5,000 rows and 10,000. If the row weight of the parity check matrix is 6 and the column weight is 3, the number of parity check matrices “1” is 30,000. The number of β required for one α calculation (the number of α required for one β calculation) is 30,000.

これより、例えば、全て並列演算で実現する場合は30,000個のβから5,000個のα演算器を使用して(α演算器への入力を6入力として6個のβより1つのαの演算と仮定)αを算出する。また、α演算器への30,000へのβを同時に読み出し、また、その演算結果を格納するためのメモリへの書き込むための制御は複雑であり、演算器、メモリ間の配線接続の数は膨大となる。同様にβ演算に複雑、膨大である。また、可変の検査行列の場合はさらに複雑となる。   Thus, for example, in the case where all are realized by parallel calculation, from 30,000 β to 5,000 α arithmetic units are used (the input to the α arithmetic unit is 6 inputs, one from six βs. (Calculation of α and assumption) α is calculated. Further, the control for simultaneously reading β to 30,000 to the α calculator and writing to the memory for storing the calculation result is complicated, and the number of wiring connections between the calculator and the memory is as follows. Become enormous. Similarly, the β calculation is complicated and enormous. Moreover, the case of a variable check matrix is further complicated.

また、共通演算器で実現する場合においても演算器へのデータの入出力制御が膨大になる。検査行列を固定にする場合は配線、あるいは入出力制御が膨大としても1度設定すれば良い。しかしながら、LDPC符号を適用したシステムでは複数の検査行列を設定してシステムの性能を調べ、向上させる必要があり、可変の検査行列でのLDPC複合器が望まれる。   In addition, even when a common arithmetic unit is used, data input / output control to the arithmetic unit is enormous. If the check matrix is fixed, it may be set once even if the wiring or input / output control is enormous. However, in a system to which an LDPC code is applied, it is necessary to investigate and improve the performance of the system by setting a plurality of check matrices, and an LDPC complex with a variable check matrix is desired.

特許文献1では検査行列の要素「1」の位置を規則的に並べる検査行列の生成し、復号する技術が開示されている。しかしながら、任意の検査行列に対する復号化方法は述べられていない。
特開2005−340920号公報
Patent Document 1 discloses a technique for generating and decoding a parity check matrix in which the positions of elements “1” of the parity check matrix are regularly arranged. However, a decoding method for an arbitrary check matrix is not described.
JP 2005-340920 A

解決しようとする課題は任意の検査行列に対応して汎用のLDPC復号器を構成するため検査行列から演算器、格納メモリの制御データの生成し、汎用のLDPC復号器がないことである。   The problem to be solved is that since a general-purpose LDPC decoder is configured corresponding to an arbitrary check matrix, control data for an arithmetic unit and storage memory is generated from the check matrix and there is no general-purpose LDPC decoder.

第1の発明は、α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器における演算器制御のデータを生成するLDPC復号器の演算制御データのデータ生成方法である。   A first aspect of the present invention is an LDPC decoder that includes an α calculator, an α storage memory, a β calculator, and a β storage memory, and performs decoding by repeatedly executing α and β operations on an input check matrix. This is a data generation method for calculation control data of an LDPC decoder that generates calculation unit control data.

演算制御データの生成方法は、前記検査行列の列毎に1のある行を抽出し、前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成し、前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列を、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成し、前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化し、前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加して行番号を昇順に、行番号グループ内では列番号を昇順に並べた文字列を生成し、前記生成した文字列をα演算時の前記β格納メモリからの読み出し、α演算結果の前記αメモリへの格納データ書き込みの制御データとする。   The calculation control data generation method extracts one row for each column of the check matrix, and generates row number data with dummy data added to column numbers whose extracted row numbers are insufficient for the maximum column weight. And an array in which connection information representing information connected to a combination having no dummy data is further combined with a combination of a column number and an intra-column number as an in-column number with an order for the generated row numbers. Generating an array in which connection information representing unconnected information is combined with a combination of a column number having dummy data and an in-column number, and searching the array having the connected connection information in ascending order of row numbers. Group the same row number, and the number of the grouped array is insufficient for the maximum row weight, the combination of the column number and the in-column number having the connection information that is not connected A character string in which line numbers are added in ascending order and the column numbers are arranged in ascending order in the row number group is generated, and the generated character string is read from the β storage memory at the time of α calculation, α It is assumed that control data for writing stored data to the α memory of the calculation result is used.

第2の発明は、第1の発明のデータ生成法である。   The second invention is the data generation method of the first invention.

前記生成した文字列を前記β格納メモリ、及び前記α格納メモリのアドレス、メモリ領域選択のデータとする。   The generated character string is used as the β storage memory, the address of the α storage memory, and memory area selection data.

第3の発明は、α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器である。   The third invention is an LDPC decoder having an α calculator, an α storage memory, a β calculator, and a β storage memory, and performing decoding by repeatedly executing α calculation and β calculation on the input check matrix. is there.

前記LDPC復号器は、前記検査行列の列毎に1のある行を抽出する手段と、
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成する手段と、
前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列と、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成する手段と、
前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化する手段と、
前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加し行番号を昇順に行番号グループ内では列番号を昇順に並べた文字列を生成する手段と、
前記生成した文字列をα演算時の前記β格納メモリからの読み出し、α演算結果の前記α格納メモリへの格納データ書き込みの制御データとする手段と、を備える。
The LDPC decoder comprises means for extracting one row for each column of the parity check matrix;
Means for generating row number data with dummy data attached to column numbers whose extracted row numbers are insufficient for the maximum column weight;
An array obtained by further combining connection information representing information connected to a combination having no dummy data with respect to a combination of the column number and the in-column number as an in-column number with an order for the generated row number, and a dummy Means for generating an array that combines connection information representing information that is not connected to a combination of a column number and a number in a column of data;
Means for searching the array having the connected connection information in ascending order of row numbers and grouping the same row numbers;
If the number of grouped arrays is insufficient for the maximum number of row weights, add the number of combinations of column numbers and in-column numbers having connection information that are not connected, and add row numbers in ascending order. In the group, a means for generating a string in which column numbers are arranged in ascending order,
Means for reading out the generated character string from the β storage memory at the time of α calculation and using the result of α calculation as control data for writing stored data to the α storage memory .

本発明により任意の検査行列に対する復号化を行うことができ、又、回路規模の少ない汎用のLDPC復号器が実現できる。   According to the present invention, decoding for an arbitrary check matrix can be performed, and a general-purpose LDPC decoder with a small circuit scale can be realized.

(実施例1)
図1は本発明のLDPC復号の演算器、メモリ制御データの生成手順を示す図である。設定した検査行列からMin−sum法でLDPC復号演算を行なう場合の演算制御のための格納メモリからのデータ読み出し、格納メモリへのデータ書き込みデータの生成手順示している。
Example 1
FIG. 1 is a diagram showing a procedure for generating an arithmetic unit and memory control data for LDPC decoding according to the present invention. This shows a procedure for reading data from the storage memory and for generating data write data to the storage memory for operation control when performing LDPC decoding operation by the Min-sum method from the set check matrix.

1つの検査行列に対する前述の行重みは行毎に異なり、列重みも列毎に異なる。このため、今後の説明上最大の重みと行毎の重みを区別し、最大行重みをRw、最大の列重みをCwと記述する。
S1:検査行列(M行N列)を設定する。
S2:検査行列の列毎に「1」のある行を抽出する。ここで、抽出した行番号の数はCwの数ある。
S3:Cwに不足する列番号にはダミーデータを付け、全ての列番号に対しCwに相当する行番号の表を作成する。
The aforementioned row weights for one check matrix are different for each row, and the column weights are also different for each column. For this reason, in the future explanation, the maximum weight and the weight for each row are distinguished, and the maximum row weight is described as Rw and the maximum column weight is described as Cw.
S1: A check matrix (M rows and N columns) is set.
S2: A row having “1” is extracted for each column of the check matrix. Here, the number of extracted line numbers is the number of Cw.
S3: Dummy data is attached to the column numbers that are insufficient in Cw, and a table of row numbers corresponding to Cw is created for all column numbers.

なお、このデータは各列番号を昇順に、「1」の存在する行番号を昇順に並べてあり、行番号を「i」、列番号を「j」とするとβijに相当する。
S4:S3で生成した列番号毎の行番号に順番を付け列内番号とし、(列番号、列内番号)の配列を生成する。
S5:S4で生成した配列に接続情報を組み合わせた(接続情報、列内番号、列番号)の配列を生成する。
ア.ダミーデータがない場合:接続情報を0として(0、列内番号、列番号)の配列を生成する。接続情報「0」は接続している事を示している。この配列の意味は列番号のメッセージノードに行番号のチェックノードが接続し、その接続数は順番に番号付けした最大列内番号に相当していることを示している。
イ.ダミーデータがある場合:接続情報を1として(1、列内番号、列番号)の配列を生成する。接続情報「1」は接続していない事を示している。
S6、S7:S5のア.で生成した配列に対し、行番号を昇順にサーチし、その行番号毎にグループに分けた配列(0、列内番号、列番号)を生成する。
In this data, the column numbers are arranged in ascending order, the row numbers having “1” are arranged in ascending order, the row number is “i”, and the column number is “j”, which corresponds to β ij .
S4: An array of (column number, in-column number) is generated by adding an order to the row numbers for each column number generated in S3 and using the numbers in the column.
S5: An array (connection information, in-column number, column number) in which connection information is combined with the array generated in S4 is generated.
A. When there is no dummy data: An array of (0, in-column number, column number) is generated with connection information set to 0. Connection information “0” indicates that the connection is established. The meaning of this arrangement indicates that the check node of the row number is connected to the message node of the column number, and the number of connections corresponds to the maximum number in the column numbered in order.
I. When there is dummy data: An array of (1, column number, column number) is generated with connection information as 1. Connection information “1” indicates that the connection is not established.
S6, S7: a. The row numbers are searched in ascending order with respect to the array generated in (1), and an array (0, in-column number, column number) divided into groups for each row number is generated.

列重みは個々の列により異なるので、配列の数をCwの個数に合わせて同一にするため、Cwに不足する行グループについてはS5のイ.で生成した配列を各行番号グループの配列の後ろに設定する。方法はCwに足りない各行番号グループについてダミーデータのあるS5のイ.の配列から列番号を昇順に埋める。ダミーデータの生成手順より数は過不足なく一致する。説明は省略する。
S8:S7で生成した配列に対し、行番号を昇順に、行番号グループ内では列番号を昇順に文字列を生成する。
Since the column weight varies depending on each column, the number of arrays is made the same in accordance with the number of Cw. Set the array generated in step 1 after the array of each row number group. The method is the same as that in S5 in which there is dummy data for each line number group that is insufficient for Cw. Fill column numbers from ascending order in ascending order. The numbers agree with each other from the dummy data generation procedure. Description is omitted.
S8: A character string is generated for the array generated in S7 in ascending order of row numbers, and in ascending order of column numbers in the row number group.

なお、このデータは行番号グループ毎に接続情報、列内番号、列番号を示す文字列がダミーデータと併せCwの数ある。先頭の接続情報が「0」の場合、行番号のチェックノードと列番号で示すメッセージノードが接続されていることを示している。また、行番号を「i」、列番号を「j」とするとαijに相当する。
S9:S8で生成した文字列をLDPC復号器のα演算時のメモリのアドレス制御データとする。
In this data, for each row number group, the connection information, the in-column number, and the character string indicating the column number are the number of Cw together with the dummy data. When the first connection information is “0”, it indicates that the check node of the row number and the message node indicated by the column number are connected. Further, if the row number is “i” and the column number is “j”, it corresponds to α ij .
S9: The character string generated in S8 is used as address control data in the memory when the α calculation of the LDPC decoder is performed.

生成文字列とα演算時でのα格納メモリ、β格納メモリのアドレス制御については後述する。   Address control of the generated character string and the α storage memory and β storage memory at the time of α calculation will be described later.

図2は本発明のLDPC復号器の構成を示す図である。付与した検査行列2に対し、LDPC復号器1は復号器基本部10、制御データ生成部20で構成する。復号器基本部10は、λ格納メモリ11、α格納メモリ12、β格納メモリ13とβ演算器14、α演算器15、α格納メモリ入出力制御部16、β格納メモリ入出力制御部17、受信語(Q)判定部18で構成する。ここでは基本部分のみを示し、実際のハードウエア構成に必要となるクロック、入出力インタフェースなどは省略している。なお、検査行列に対するLDPC復号の特性確認の例えば、特性試験機を構成する場合は制御データ生成部を復号器基本部と併せて構成しても良い。 FIG. 2 is a diagram showing the configuration of the LDPC decoder of the present invention. The LDPC decoder 1 includes a decoder basic unit 10 and a control data generation unit 20 for the given check matrix 2. The decoder basic unit 10 includes a λ storage memory 11, an α storage memory 12, a β storage memory 13, a β calculator 14, an α calculator 15, an α storage memory input / output control unit 16, a β storage memory input / output control unit 17, The received word (Q n ) determining unit 18 is configured. Here, only the basic part is shown, and clocks and input / output interfaces necessary for the actual hardware configuration are omitted. For example, when configuring a characteristic tester for checking the characteristics of LDPC decoding for a parity check matrix, the control data generating unit may be configured together with the decoder basic unit.

λ格納器11は受信したyをλとして保持し、β演算器に入力される。α格納メモリ12、β格納メモリ13は各々、前述の手順で生成したデータαmn、βmnを格納し、逐次演算に伴い書き込みと読み込みが行なわれる。 lambda storing device 11 retains the y n received as lambda n, input to the β calculator. Each of the α storage memory 12 and the β storage memory 13 stores the data α mn and β mn generated by the above-described procedure, and writing and reading are performed in accordance with the sequential calculation.

β演算器14は、λ格納メモリ11からのλ、α格納メモリ12からのαmnにより(式1)に示す加算演算が行われる。 The β calculator 14 performs an addition operation shown in (Equation 1) based on λ from the λ storage memory 11 and α mn from the α storage memory 12.

α演算器15は、β格納メモリ13からのβmnにより(式2)に示す(乗算、絶対値変換、最小値選択)が行なわれる。 The α calculator 15 performs (multiplication, absolute value conversion, minimum value selection) shown in (Expression 2) by β mn from the β storage memory 13.

また、受信語の長さNとすると、λ格納メモリの容量はN個のデータを保持し、α格納メモリ12、β格納メモリ13の容量はNの数、重みの数から確保する。図2の例では全ての列の列重みをCwとし、列番号を昇順にαmn、βmnを格納した場合の例を示している。 Further, assuming that the length of the received word is N, the capacity of the λ storage memory holds N data, and the capacity of the α storage memory 12 and the β storage memory 13 is secured from the number of N and the number of weights. The example of FIG. 2 shows an example in which the column weights of all the columns are Cw and the column numbers are stored in the ascending order α mn and β mn .

図3は本発明のLDPC復号の演算器、メモリ制御データ生成例を示す図である。検査行列を設定し、Min−sum法でLDPC復号演算を行なう場合の演算器、メモリに入力するデータの生成手順示している。以下では行番号、列番号、列内番号は便宜上「0」からカウントする。図1のステップ番号に対応した番号を括弧付きステップ番号で示す。
1)行重み6、列重み3の5行10列の検査行列とする。この場合、Cw=6、Rw=3となる。(S1)
2)0列目は1行、2行、4行に1があるので、(1、2、4)となり、1列目は(0、1、2)となる。また、4列目は2行、4行に1があるだけであるので、ダミーデータのDを付け(2、4、D)となる。(S2、S3)
なお、0列は(1、2、4)よりβm0を算出するに必要なα10、α20、α40を示している。
3)列番号0については3ケの行番号1、2、4に対し(0、1)、(1、2)、(2、4)の配列を得る。同様に列番号1は(0 0)、(1、1)、(2、2)となる。列番号3はダミーデータDがあるので、(0 2)、(1、4)、(2、D)となる。(S4)
4)ダミーデータが無い場合:4)で生成した配列に対し、例えば列番号0に対する配列は(0、0、0)、(0、1、0)、(0、2、0)となる。(S5のア.)
5)ダミーデータがある場合:(列内番号、列番号)の組み合わせに1を加えて(1、2、3)、(1、2、4)、(1、2、6)、(1、2、8)、(1、2、9)の配列を生成する。以下説明は省略する。(S5のイ.)
6)例えば、行番号0のグループについては(0、0、1)、(0、0、2)、(0、0、6)、(0、0、8)、(0、0、9)の5ケの元配列となりCw=6に1ケ不足するので、ダミーデータの(1、2、3)を加えた配列となる。以下説明は省略する。(S6、S7)
7)α演算時のβ格納メモリからの読み込み、α格納メモリへの書き込み制御のデータとして‘001’‘002’‘006’‘008’‘009’‘123’で始まり‘025’‘027’‘129’で終わるデータを得る。
FIG. 3 is a diagram showing an example of an LDPC decoding arithmetic unit and memory control data generation according to the present invention. The figure shows a procedure for generating data to be input to an arithmetic unit and memory when a parity check matrix is set and LDPC decoding is performed by the Min-sum method. Below, the row number, column number, and in-column number are counted from “0” for convenience. The numbers corresponding to the step numbers in FIG.
1) A 5-by-10 check matrix with a row weight of 6 and a column weight of 3 is used. In this case, Cw = 6 and Rw = 3. (S1)
2) Since there is 1 in the 1st row, 2nd row and 4th row, the 0th column is (1, 2, 4), and the first column is (0, 1, 2). Further, since the fourth column has only 1 in the second row and the fourth row, dummy data D is added (2, 4, D). (S2, S3)
The 0 column indicates α 10 , α 20 , and α 40 necessary for calculating β m0 from (1, 2, 4).
3) For column number 0, an array of (0, 1), (1, 2), (2, 4) is obtained for three row numbers 1, 2, and 4. Similarly, column number 1 is (0 0), (1, 1), (2, 2). Since column number 3 has dummy data D, it becomes (02), (1, 4), (2, D). (S4)
4) When there is no dummy data: For the array generated in 4), for example, the array for column number 0 is (0, 0, 0), (0, 1, 0), (0, 2, 0). (S5 a)
5) When there is dummy data: 1 is added to the combination of (in-column number, column number) (1,2,3), (1,2,4), (1,2,6), (1, 2, 8) and (1, 2, 9) are generated. The description is omitted below. (A of S5)
6) For example, for the group with row number 0, (0, 0, 1), (0, 0, 2), (0, 0, 6), (0, 0, 8), (0, 0, 9) Since the original array is 5 and 1 is insufficient for Cw = 6, the dummy data (1, 2, 3) is added. The description is omitted below. (S6, S7)
7) Data read from the β storage memory at the time of α computation and data for writing control to the α storage memory, starting with “001” 002 ”006” 008 ”009” 123 ”,“ 025 ”027” Data ending with 129 'is obtained.

生成手順で分るように例えば、先頭の6個の各文字列最終項(c)の1、2、6、8、9はα0nの演算に必要なβ01、β02、β06、β08、β09と最後の行重みRw=6に不足するダミーデータを示している。この制御データと格納メモリに関係については後述する。(S8、S9)
図4は本発明のα演算器、β演算器の構成例を示す図である。検査行列の最大行重みRw6、最大列重みCw=3を前提としたα演算器、β演算器の構成例を示している。
1)α演算器
乗算器1 20、乗算器2 21、絶対値変換部22、最小値変換部23で構成し、6個のβから6個のαを演算する。検査行列の1つの行毎に生成した6個のβを入力して6個のαを算出する。この6個のαは3クロックで2個ずつ6個をβ格納メモリから読み出し、6個のβの乗算結果と6個のβの絶対値変換後選択した最小値と乗算して6個のαを算出する。例えば、β01、β02、β06、β08、β09、ダミーデータより、
α01:β02、β06、β08、β09
α02:β01、β06、β08、β09
α06:β01、β02、β08、β09
α08:β01、β02、β06、β09
α09:β01、β02、β06、β08
の6個のαを得る。この6個のαを3つのメモリで構成するα格納メモリに各々格納する。格納アドレスは生成順とする。α格納メモリについては図5で述べる。
2)β演算器
加算器24で構成し、3個のαと1つのλから3個のβを演算する。β格納メモリから3個のβとλ格納メモリからλを1クロックで読み出しβを算出する。例えば、α10、α20、α40とλよりβ10、β20、β40の3個のβを得る。β格納メモリの1つのアドレスに格納する。β格納メモリ及び格納方法については図5で述べる。
As can be seen in the generation procedure, for example, 1, 2, 6, 8, 9 of the last six character string final terms (c) are β 01 , β 02 , β 06 , β necessary for the calculation of α 0n Dummy data that is deficient in 08 and β 09 and the last row weight Rw = 6 is shown. The relationship between the control data and the storage memory will be described later. (S8, S9)
FIG. 4 is a diagram showing a configuration example of an α calculator and a β calculator of the present invention. The configuration example of an α calculator and a β calculator assuming a maximum row weight Rw6 and a maximum column weight Cw = 3 of a check matrix is shown.
1) α calculator It is composed of a multiplier 120, a multiplier 221, an absolute value converter 22 and a minimum value converter 23, and calculates six αs from six βs. Six [beta] generated for each row of the parity check matrix are input to calculate six [alpha]. These six αs are read out from the β storage memory by two every three clocks, and multiplied by the six β multiplication results and the minimum value selected after the absolute value conversion of the six βs. Is calculated. For example, from β 01 , β 02 , β 06 , β 08 , β 09 , dummy data,
α 01 : β 02 , β 06 , β 08 , β 09
α 02 : β 01 , β 06 , β 08 , β 09
α 06 : β 01 , β 02 , β 08 , β 09
α 08 : β 01 , β 02 , β 06 , β 09
α 09 : β 01 , β 02 , β 06 , β 08
To obtain 6 α's. The six αs are stored in an α storage memory composed of three memories. The storage address is in the order of generation. The α storage memory will be described with reference to FIG.
2) β calculator An adder 24 is used to calculate three βs from three αs and one λ. Three βs are read from the β storage memory and λ is read from the λ storage memory in one clock, and β is calculated. For example, three βs of β 10 , β 20 , and β 40 are obtained from α 10 , α 20 , α 40 and λ. Store in one address of β storage memory. The β storage memory and storage method will be described with reference to FIG.

図5は本発明の検査行列一例での生成制御データと格納メモリの例を示す図である。検査行列に対して生成した制御データとα格納メモリ、β格納メモリの内容を示している。なお、図3の説明と同様に行、列のカウントは便宜上0からとする。
1)検査行列
図3に示した検査行列(Rw=6、Cw=3)の5行10列の検査行列である。
2)生成制御データ
図3の5)で生成した制御データを2個ずつ2系にし、α演算時のβ格納メモリからの必要なβの読み出しと演算結果のα格納メモリへの書き込みに使う。
FIG. 5 is a diagram illustrating an example of generation control data and a storage memory in an example of a check matrix according to the present invention. The control data generated for the check matrix and the contents of the α storage memory and β storage memory are shown. As in the description of FIG. 3, the row and column counts are assumed to be 0 for convenience.
1) Check matrix This is a 5-by-10 check matrix of the check matrix (Rw = 6, Cw = 3) shown in FIG.
2) Generated control data The control data generated in step 5) in FIG. 3 is made into two systems, each of which is used for reading necessary β from the β storage memory and writing the calculation result to the α storage memory at the time of α calculation.

2つの系を各々ポート1、ポート2とし、3個の数値a、b、cを以下として処理する
a:βの有無(β有=0、β無し=1)
b:RAM選択のRAMセレクト
c:格納メモリのアドレス
実際のハードウエア構成では文字列を16進法で扱うためにHEX変換を行なうが、ここではこのままで説明する。
3)α格納メモリ
1ポートのRAM3個で構成する。各RAMの内容は図5の3)のように検査行列の「1」位置で定まるαmnをダミーデータ(後述するようにダミーデータは数0とする。)を含め格納する。例えば、RAM1にαm0、α01、α02で始まりα08、α09で終わるαを格納する。RAM2、RAM3についても同様に格納する。β演算時は各RAMのアドレス0から順次読み出し、図3のβ演算器に入力する。
4)β格納メモリ
2ポートのRAM1個で構成し、1つアドレスを3つの領域に分け、図5の4)のように検査行列の「1」位置で定まるβmnをダミーデータ(後述するようにダミーデータはβ最大値0とする。)を含め格納する。例えば、領域0にはβ10、β01、β02で始まりβ08、β09で終わるデータを領域0に格納する。領域1、領域2への格納についても同様に格納する。
The two systems are port 1 and port 2, respectively, and three numerical values a, b, and c are processed as follows: a: presence or absence of β (β present = 0, β absent = 1)
b: RAM selection for RAM selection c: Address of storage memory In an actual hardware configuration, HEX conversion is performed in order to handle a character string in hexadecimal notation, but here it will be described as it is.
3) α storage memory Consists of three 1-port RAMs. The contents of each RAM are stored with α mn determined at the position “1” of the check matrix as shown in 3) of FIG. For example, α starting with α m0 , α 01 , α 02 and ending with α 08 , α 09 is stored in the RAM 1. The RAM 2 and RAM 3 are stored in the same manner. At the time of β calculation, data are sequentially read from address 0 of each RAM and input to the β calculator of FIG.
4) β storage memory It is composed of one RAM of two ports, one address is divided into three areas, and β mn determined at the position “1” of the check matrix as shown in 4) of FIG. 5 is dummy data (as will be described later). Dummy data is stored including β maximum value 0). For example, in area 0, data starting with β 10 , β 01 , β 02 and ending with β 08 , β 09 is stored in area 0. The storage in the area 1 and the area 2 is similarly performed.

β演算は3個のβが同時に算出されるので、3つのα格納メモリにβが算出された順番にRAM1、RAM2、RAM3に且つアドレス0から順番に書き込む。   In the β calculation, three βs are calculated at the same time. Therefore, the βs are written in the RAM 1, RAM 2 and RAM 3 in the order in which the βs are calculated in order from the address 0.

次に2)で示す生成制御データを基に、α演算時のβ格納メモリからの必要なβの読み出し、演算結果のα格納メモリへの書き込みを中心に演算手順を述べる。
1)β演算
β演算はα格納メモリの3個のRAMよりアドレス順に読み出し、各メッセージノードに接続されたβを算出する。ここで、前述したようにαの初期値は全て「0」に設定しているので、1回目のβはλに同一である。例えば以下となる。
Next, based on the generation control data shown in 2), the calculation procedure will be described focusing on reading of necessary β from the β storage memory at the time of α calculation and writing of the calculation result to the α storage memory.
1) β operation The β operation reads out the three RAMs of the α storage memory in the order of addresses, and calculates β connected to each message node. Here, since the initial values of α are all set to “0” as described above, the first β is the same as λ. For example:

3個のRAMのアドレス「0」のα10、α20、α40よりβ10、β20、β40を算出し、β格納RAMのアドレス「0」に書き込む。β演算結果は演算結果の順番にアドレス順に書き込む。
2)α演算
α演算は1クロックに2個のβを読み出し3クロックで1つのチェックノードに接続する6個のβより算出する。6個のβから6個のαを算出し、1クロックに1個ずつ出力する。最大行重みRw=6に満たない行については図3で生成した制御データのダミーデータをβの最大値としておき最小値選択に影響をしないようにする。同様に最大列重みCw=3に満たない列については図3で生成した制御データのダミーデータに数0を設定して加算演算に影響がないようにする。
Β 10 , β 20 , and β 40 are calculated from α 10 , α 20 , and α 40 at the address “0” of the three RAMs, and written to the address “0” of the β storage RAM. The β calculation results are written in the order of the calculation results in the order of addresses.
2) α operation The α operation is calculated from 6 βs that read out two βs in one clock and are connected to one check node in three clocks. Six αs are calculated from six βs, and one is output per clock. For rows that do not satisfy the maximum row weight Rw = 6, the dummy data of the control data generated in FIG. 3 is set as the maximum value of β so that the selection of the minimum value is not affected. Similarly, for a column that does not satisfy the maximum column weight Cw = 3, the number 0 is set in the dummy data of the control data generated in FIG. 3 so that the addition operation is not affected.

この演算に必要なRAMアドレス、データ選択、RAM選択(読み込みの場合はRAMの領域に対応させる)β有無を制御データで指定する。例えばα0jの演算は以下となる。なお、図5の制御データを上から順に0番目から始まり14番目までとして表現する。
(1)β格納メモリからβの読み出し
ア.0番目のデータ=001、002
ポート0:c=1よりアドレス=1、b=0よりRAMの領域0として、β01を読み出し、βの有無のデータ「0」よりデータ有とする。以下では(ポート番号、アドレス番号、RAM領域、β有無の「0」あるいは「1」、βij)として(ポート0、1、0、0、β01)と表現する。
Control data specifies the RAM address, data selection, and RAM selection (corresponding to the RAM area in the case of reading) necessary for this calculation. For example, the calculation of α 0j is as follows. Note that the control data in FIG. 5 is expressed from the 0th to the 14th in order from the top.
(1) Reading β from β storage memory 0th data = 001, 002
Port 0: as c = 1 from the address = 1, b = area 0 of the RAM from 0, reads the beta 01, a data-stored from the data "0" in the presence of beta. Hereinafter, it is expressed as (port 0, 1, 0, 0, β 01 ) as (port number, address number, RAM area, β presence / absence “0” or “1”, β ij ).

(ポート1、2、0、0、β02
イ.1番目のデータ=006、008
(ポート0、6、0、0、β06
(ポート1、8、0、0、β08
ウ.2番目のデータ=009、123
(ポート0、9、0、0、β09
(ポート1、3、1、2、最大値)この場合、接続情報がないダミーデータであるので、最大値を読み出す。
(Ports 1, 2, 0, 0, β 02 )
I. First data = 006, 008
(Port 0, 6 , 0 , 0 , β 06 )
(Port 1, 8 , 0 , 0 , β 08 )
C. Second data = 009, 123
(Port 0, 9 , 0 , 0 , β 09 )
(Port 1, 3, 1, 2, maximum value) In this case, since the dummy data has no connection information, the maximum value is read out.

この結果、読み出したβ01、β02、β06、β08、β09よりα01、α02、α06、α08、α09を算出する。
(2)α格納メモリへαの書き込み
ア.0番目のデータ=001、002
RAM0(b=0)のアドレス1(c=1)にα01を書き込む。以下では(RAM0、1、α01)と表現する。
As a result, α 01 , α 02 , α 06 , α 08 , α 09 are calculated from the read β 01 , β 02 , β 06 , β 08 , β 09 .
(2) Writing α to the α storage memory 0th data = 001, 002
Α 01 is written to address 1 (c = 1) of RAM 0 (b = 0). Hereinafter, it is expressed as (RAM0, 1 , α 01 ).

(RAM0、2、α02
イ.1番目のデータ=006、008
(RAM0、6、α06
(RAM1、8、α08
ウ.2番目のデータ=009、123
(RAM0、9、α09
(RAM1、2、数0)この場合、接続情報がないダミーデータであるので、数0を書き込む。
(RAM0,2, α 02)
I. First data = 006, 008
(RAM0, 6 , α06)
(RAM1, 8 , α08)
C. Second data = 009, 123
(RAM0, 9 , α09)
In this case, since it is dummy data without connection information, the number 0 is written.

これによりβ演算後にα格納メモリの各RAMからアドレス順に読み出すことができる。   Thereby, after β calculation, it is possible to read from each RAM of the α storage memory in the order of addresses.

以上述べたように図3で生成したデータよりβ格納メモリからの読み出し、α格納メモリへの書き込みを図3で生成した制御データで制御できる。   As described above, reading from the β storage memory and writing to the α storage memory from the data generated in FIG. 3 can be controlled by the control data generated in FIG.

本発明のLDPC復号の演算器、メモリ制御データの生成手順を示す図である。It is a figure which shows the calculation procedure of the computing unit of LDPC decoding of this invention, and memory control data. 本発明のLDPC復号器の構成を示す図である。It is a figure which shows the structure of the LDPC decoder of this invention. 本発明のLDPC復号の演算器、メモリ制御データ生成例を示す図である。It is a figure which shows the calculator of LDPC decoding of this invention, and an example of memory control data generation. 本発明のα演算器、β演算器の構成例を示す図である。It is a figure which shows the structural example of the alpha calculator of this invention, and a beta calculator. 本発明の検査行列一例での生成制御データと格納メモリの例を示す図である。It is a figure which shows the example of the production | generation control data and storage memory in an example of the check matrix of this invention. Min−sum法によるLDPC符号の復号を示す図である。It is a figure which shows decoding of the LDPC code by Min-sum method. LDPC符号の復号手順を示す図である。It is a figure which shows the decoding procedure of an LDPC code.

符号の説明Explanation of symbols

1 LDPC復号器
2 検査行列
10 復号基本部
11 λ格納メモリ
12 α格納メモリ
13 β格納メモリ
14 β演算器
15 α演算器
16 α格納メモリ入出力制御部
17 β格納メモリ入出力制御部
18 受信語(Q)判定部
20 乗算器1
21 乗算器2
22 絶対値変換部
23 最小値選択部
24 加算器
1 LDPC decoder 2 parity check matrix 10 decoding basic unit 11 λ storage memory 12 α storage memory 13 β storage memory 14 β arithmetic unit 15 α arithmetic unit 16 α storage memory input / output control unit 17 β storage memory input / output control unit 18 (Q n ) determination unit 20 multiplier 1
21 Multiplier 2
22 Absolute value conversion unit 23 Minimum value selection unit 24 Adder

Claims (3)

α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器における演算器制御のデータを生成するLDPC復号器の演算制御データのデータ生成方法であって、
前記検査行列の列毎に1のある行を抽出し、
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成し、
前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列を、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成し、
前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化し、
前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加して行番号を昇順に、行番号グループ内では列番号を昇順に並べた文字列を生成し、
前記生成した文字列をα演算時の前記β格納メモリからの読み出し、α演算結果の前記α格納メモリへの格納データ書き込みの制御データとすることを特徴とするデータ生成方法。
An arithmetic unit, an alpha storage memory, a beta arithmetic unit, and a beta storage memory are provided. Data for arithmetic unit control in an LDPC decoder that performs decoding by repeatedly performing alpha computation and beta computation on an input check matrix. A data generation method for operation control data of an LDPC decoder to be generated, comprising:
Extract one row for each column of the parity check matrix;
Generate row number data with dummy data added to column numbers where the number of extracted row numbers is insufficient for the maximum column weight,
As an in-column number with an order for the generated row number, an array in which connection information representing information connected to a combination having no dummy data is further combined with a combination of the column number and the in-column number is a dummy. Generate an array that combines connection information representing information that is not connected to the combination of the column number with data and the number in the column,
Search the array having the connected connection information in ascending order of row numbers to group the same row numbers;
If the number of grouped arrays is insufficient for the maximum number of row weights, add the number of combinations of column numbers and in-column numbers having connection information that are not connected, and add row numbers in ascending order, Within the line number group, generate a string with column numbers in ascending order,
A data generation method characterized in that the generated character string is read from the β storage memory at the time of α calculation, and is used as control data for writing storage data to the α storage memory of the α calculation result.
請求項1記載のデータ生成法であって、
前記生成した文字列を前記β格納メモリ、及び前記α格納メモリのアドレス、メモリ領域選択のデータとすることを特徴とする請求項1記載のデータ生成方法。
A data generation method according to claim 1, wherein
2. The data generation method according to claim 1, wherein the generated character string is used as data for selecting the address and memory area of the β storage memory, the α storage memory.
α演算器、α格納メモリ、β演算器、β格納メモリを有し、入力された検査行列に対し、α演算、β演算を繰り返し実行して復号を行なうLDPC復号器であって、
前記検査行列の列毎に1のある行を抽出する手段と、
前記抽出行番号の数が最大列重みに不足する列番号にはダミーデータを付けた行番号データを生成する手段と、
前記生成行番号に対し順番を付けて列内番号として、列番号と列内番号の組み合わせに対し、ダミーデータが無い組み合わせには接続されている情報を表す接続情報をさらに組み合わせた配列と、ダミーデータのある列番号と列内番号の組み合わせには接続されていない情報を表す接続情報を組み合わせた配列を生成する手段と、
前記接続されている接続情報を有する配列を行番号を昇順にサーチして同一の行番号をグループ化する手段と、
前記グループ化した配列の数が最大行重みの数に不足する場合は、前記接続されていない接続情報を有する列番号と列内番号の組み合わせを不足する数だけ追加し行番号を昇順に行番号グループ内では列番号を昇順に並べた文字列を生成する手段と、
前記生成した文字列をα演算時の前記β格納メモリからの読み出し、α演算結果の前記α格納メモリへの格納データ書き込みの制御データとする手段と、
を備えたLDPC復号器。
An LDPC decoder that has an α calculator, an α storage memory, a β calculator, and a β storage memory, and performs decoding by repeatedly performing α calculation and β calculation on an input check matrix,
Means for extracting one row for each column of the parity check matrix;
Means for generating row number data with dummy data attached to column numbers whose extracted row numbers are insufficient for the maximum column weight;
An array obtained by further combining connection information representing information connected to a combination having no dummy data with respect to a combination of the column number and the in-column number as an in-column number with an order for the generated row number, and a dummy Means for generating an array that combines connection information representing information that is not connected to a combination of a column number and a number in a column of data;
Means for searching the array having the connected connection information in ascending order of row numbers and grouping the same row numbers;
If the number of grouped arrays is insufficient for the maximum number of row weights, add the number of combinations of column numbers and in-column numbers having connection information that are not connected, and add row numbers in ascending order. In the group, a means for generating a string in which column numbers are arranged in ascending order,
Means for reading out the generated character string from the β storage memory at the time of α calculation, and as control data for writing stored data to the α storage memory of the α calculation result;
An LDPC decoder comprising:
JP2006247334A 2006-09-12 2006-09-12 LDPC decoder operation control data generation method and LDPC decoder Expired - Fee Related JP4748007B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006247334A JP4748007B2 (en) 2006-09-12 2006-09-12 LDPC decoder operation control data generation method and LDPC decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006247334A JP4748007B2 (en) 2006-09-12 2006-09-12 LDPC decoder operation control data generation method and LDPC decoder

Publications (2)

Publication Number Publication Date
JP2008072247A JP2008072247A (en) 2008-03-27
JP4748007B2 true JP4748007B2 (en) 2011-08-17

Family

ID=39293473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006247334A Expired - Fee Related JP4748007B2 (en) 2006-09-12 2006-09-12 LDPC decoder operation control data generation method and LDPC decoder

Country Status (1)

Country Link
JP (1) JP4748007B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743156B2 (en) 2007-04-27 2011-08-10 ソニー株式会社 Decoding device
CN101977063B (en) * 2010-11-01 2013-01-23 西安空间无线电技术研究所 General LDPC decoder
CN108683424B (en) * 2018-08-02 2023-05-30 华侨大学 Full-parallel bidirectional recursion pipeline LDPC encoder and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
JP4819470B2 (en) * 2005-10-11 2011-11-24 三星電子株式会社 Decoding device and decoding method

Also Published As

Publication number Publication date
JP2008072247A (en) 2008-03-27

Similar Documents

Publication Publication Date Title
CN108475522B (en) Memory device and data processing method based on multilayer RRAM (resistive random access memory) cross array
US7917835B2 (en) Memory system and method for use in trellis-based decoding
CN107786211B (en) Algebraic structure obtaining method, encoding method and encoder of IRA-QC-LDPC code
JPS6122826B2 (en)
CN111985602A (en) Neural network computing device, method and computing device
JP4748007B2 (en) LDPC decoder operation control data generation method and LDPC decoder
KR102019893B1 (en) Apparatus and method for receiving signal in communication system supporting low density parity check code
KR102409615B1 (en) Method for min-max computation in associative memory
CN113885831A (en) Storage and calculation integrated circuit based on mixed data input, chip and calculation device
JP4042841B2 (en) Matrix arithmetic processing unit
WO2021168644A1 (en) Data processing apparatus, electronic device, and data processing method
CN104185952A (en) Processing elementary check nodes of iterative decoder
US11182128B2 (en) Multiply-accumulate operation device, multiply-accumulate operation methods, and systems
CN111313912A (en) LDPC code encoder and encoding method
CN109871563B (en) Method and system for analyzing reliability of complex polymorphic satellite system
KR102555621B1 (en) In-memory computation circuit and method
US5163018A (en) Digital signal processing circuit for carrying out a convolution computation using circulating coefficients
US11165615B2 (en) Data shifting operation apparatus and method having multiple operation modes
CN107959502B (en) LDPC coding method
CN113285725A (en) QC-LDPC encoding method and encoder
JP5072558B2 (en) Data processing device
CN115765750B (en) Data cyclic shift method and circuit, and chip
CN112332859B (en) Low-complexity multi-element LDPC code check node unit and digital communication equipment
CN108540138B (en) CSRAA coding circuit and encoder
CN107959501B (en) LDPC encoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

R150 Certificate of patent or registration of utility model

Ref document number: 4748007

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: 20140527

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees