JP2012124888A - Decoder and decoding method - Google Patents
Decoder and decoding method Download PDFInfo
- Publication number
- JP2012124888A JP2012124888A JP2011239657A JP2011239657A JP2012124888A JP 2012124888 A JP2012124888 A JP 2012124888A JP 2011239657 A JP2011239657 A JP 2011239657A JP 2011239657 A JP2011239657 A JP 2011239657A JP 2012124888 A JP2012124888 A JP 2012124888A
- Authority
- JP
- Japan
- Prior art keywords
- node processing
- probability
- check
- check node
- updated
- 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.)
- Pending
Links
Images
Abstract
Description
本願開示は、一般に復号装置及び復号方法に関し、詳しくはLDPC符号を復号する復号装置及び復号方法に関する。 The present disclosure relates generally to a decoding device and a decoding method, and more particularly to a decoding device and a decoding method for decoding an LDPC code.
LDPC(Low Density Parity Check:低密度パリティ検査)符号を用いた送受信方式では、誤り訂正を行うために、0の数に比べて1の数が非常に少ない低密度な検査行列Hが用いられる。送信信号Txは、送信側においてH×Tx=0となるようにして送信している。従って送信した信号が受信側で正しく受信された場合には、受信信号RxはH×Rx=0という条件を満たすことになる。このH×Rxという計算をパリティ検査と呼ぶ。 In a transmission / reception method using an LDPC (Low Density Parity Check) code, a low-density check matrix H in which the number of 1s is much smaller than the number of 0s is used to perform error correction. The transmission signal Tx is transmitted so that H × Tx = 0 on the transmission side. Therefore, when the transmitted signal is correctly received on the receiving side, the received signal Rx satisfies the condition of H × Rx = 0. This calculation of H × Rx is called a parity check.
受信側では、LDPC復号化を行なうLDPC復号器を用いて、復号された符号語RxがH×Rx=0となるように誤り訂正を行う。これにより誤り訂正後の受信信号が得られる。LDPC復号処理では、受信信号の確率的な信頼度情報から算出した確率情報を更新していくことにより、パリティ検査結果がゼロになるような受信信号を求める。LDPC復号アルゴリズムとして、良好な訂正能力を持つNormalized Min-sumアルゴリズムが一般的に用いられる。 On the receiving side, using an LDPC decoder that performs LDPC decoding, error correction is performed so that the decoded codeword Rx becomes H × Rx = 0. As a result, a received signal after error correction is obtained. In the LDPC decoding process, the probability information calculated from the probabilistic reliability information of the received signal is updated to obtain a received signal with a parity check result of zero. As the LDPC decoding algorithm, a Normalized Min-sum algorithm having a good correction capability is generally used.
図1は、検査行列とNormalized Min-sumアルゴリズムで用いる確率メッセージとの関係を示す図である。図1に示す検査行列Hは、3×3の単位行列もしくはその巡回行列をブロック(部分行列)として持つ、2行ブロック×3列ブロックの巡回型検査行列である。Normalized Min-sumアルゴリズムでは、検査行列Hの各要素のうちで、値が1である全ての要素の一つ一つに対して、確率メッセージαと確率メッセージβとが定義される。図1に示す例では、確率メッセージα及びβの添字mnは、mが検査行列の行を示し、nが検査行列の列ブロックを示す。即ち、例えばαmnは、m番目の行におけるn列目のブロックの確率メッセージαを示す。 FIG. 1 is a diagram illustrating a relationship between a parity check matrix and a probability message used in the Normalized Min-sum algorithm. The parity check matrix H shown in FIG. 1 is a 2-row block × 3-column block cyclic parity check matrix having a 3 × 3 unit matrix or a cyclic matrix thereof as a block (partial matrix). In the Normalized Min-sum algorithm, a probability message α and a probability message β are defined for each of all elements having a value of 1 among the elements of the check matrix H. In the example shown in FIG. 1, the subscripts mn of the probability messages α and β are such that m indicates a row of the check matrix and n indicates a column block of the check matrix. That is, for example, α mn indicates the probability message α of the block in the n-th column in the m-th row.
これらの確率メッセージを用いたチェックノード処理及びビットノード処理と呼ばれる2つの処理を繰り返すことで、受信信号の確率的な信頼度情報から算出した確率情報を更新していき、パリティ検査結果がゼロになるような受信信号を求める。具体的には、チェックノード処理は、確率メッセージβを用いて確率メッセージαを更新する。ビットノード処理は、受信信号から導出するLLR(Log-Likelihood Ratio対数尤度比)である事前確率λと確率メッセージαとを用いて、確率メッセージβを更新する。また同時にビットノード処理により、復号された符号語cが生成される。確率メッセージ更新後に、パリティ検査により、検査行列Hと復号された符号語cとの積(厳密にはHとcの転置行列との積)が0になるか否かを判定する。パリティ検査の結果が0となれば、検査が終了してcを復号結果として出力する。パリティ検査の結果が0でなければ、再度、確率メッセージα及び確率メッセージβの更新とその後のパリティ検査とを実行する。 By repeating two processes called check node processing and bit node processing using these probability messages, the probability information calculated from the probabilistic reliability information of the received signal is updated, and the parity check result becomes zero. Such a received signal is obtained. Specifically, the check node process updates the probability message α using the probability message β. In the bit node processing, the probability message β is updated using the prior probability λ and the probability message α which are LLR (Log-Likelihood Ratio) derived from the received signal. At the same time, a decoded code word c is generated by bit node processing. After updating the probability message, it is determined by parity check whether the product of the check matrix H and the decoded codeword c (strictly, the product of H and the transposed matrix of c) becomes zero. If the result of the parity check is 0, the check is completed and c is output as the decoding result. If the result of the parity check is not 0, the update of the probability message α and the probability message β and the subsequent parity check are performed again.
図2は、チェックノード処理及びビットノード処理を模式的に示す図である。チェックノード処理では一行内にある全てのβを用いて一行内にある全てのαを更新する。図2に示す6×9の検査行列の例では、第1行R1に対するチェックノード処理により、この第1行R1に含まれるβ1,1、β1,2、β1,3を用いてα1,1、α1,2、α1,3を更新する。以降同様にして、第2行乃至第6行に対するチェックノード処理を実行して、検査行列内の全てのαを更新する。全てのαを更新したら、次にビットノード処理を実行する。 FIG. 2 is a diagram schematically illustrating check node processing and bit node processing. In the check node process, all αs in one line are updated using all βs in one line. In the example of the 6 × 9 parity check matrix illustrated in FIG. 2, the check node processing for the first row R1 uses α 1,1 , β 1,2 , β 1,3 included in the first row R1 to obtain α 1,1 , α 1,2 and α 1,3 are updated. Thereafter, similarly, check node processing for the second to sixth rows is executed to update all α in the check matrix. After all α are updated, the bit node processing is executed next.
ビットノード処理では一列内にある全てのαを用いてβを更新する。図2に示す6×9の検査行列の例では、第1列C1に対するビットノード処理により、LLRと第1列C1に含まれるα1,1、α5,1とを用いてβ1,1、β5,1を更新する。以降同様にして、第2列乃至第9列に対するビットノード処理を実行して、検査行列内の全てのβを更新する。全てのβを更新したら、復号結果をパリティ検査し、パリティ検査の結果が0でなければ、再びチェックノード処理を実行する。 In the bit node processing, β is updated using all α in one column. In the example of the 6 × 9 parity check matrix illustrated in FIG. 2, β 1,1 using the LLR and α 1,1 and α 5,1 included in the first column C1 by the bit node processing for the first column C1. , Β 5,1 are updated. Thereafter, in the same manner, the bit node processing for the second column to the ninth column is executed, and all β in the parity check matrix are updated. When all βs are updated, the decoding result is subjected to parity check, and if the parity check result is not 0, check node processing is executed again.
上記のように、チェックノード処理及びビットノード処理を交互に実行すると、チェックノード処理又はビットノード処理により更新された確率メッセージα又はβを一時的に保存するためのメモリが必要となる。このメモリの容量は、「検査行列中の1の数」×「各メッセージのビット幅」分が必要になり、回路規模が大きくなってしまう。更には、メモリに対する書き込み及び読み出し処理によって、1反復処理に必要なサイクル数が大きくなってしまうという問題がある。 As described above, when the check node process and the bit node process are alternately executed, a memory for temporarily storing the probability message α or β updated by the check node process or the bit node process is required. The memory capacity needs to be “the number of 1s in the check matrix” × “the bit width of each message”, which increases the circuit scale. Furthermore, there is a problem that the number of cycles required for one iterative process becomes large due to the write and read processes to the memory.
なお一般的には、処理速度向上のために、上記のように一行単位及び一列単位でチェックノード処理及びビットノード処理を実行するのではなく、行ブロック及び列ブロック単位でチェックノード処理及びビットノード処理を実行する。例えば、図1の検査行列の場合であれば、チェックノード処理は3行ずつまとめて並列に実行し、ビットノード処理は3列ずつまとめて並列に実行する。しかしながらこのように並列処理をした場合であっても、チェックノード処理及びビットノード処理を交互に実行するのでは、各処理により更新された確率メッセージを一時的に保存するためのメモリが必要となってしまう。また更に並列度を上げたとしても、チェックノード処理及びビットノード処理を交互に実行する限りは同様にメモリが必要となってしまう。 In general, in order to improve the processing speed, check node processing and bit node processing are not performed in units of row blocks and column blocks, but check node processing and bit node processing are performed in units of row blocks and column units as described above. Execute the process. For example, in the case of the parity check matrix shown in FIG. 1, check node processing is executed in parallel for every three rows, and bit node processing is executed in parallel for every three columns. However, even when parallel processing is performed in this way, if check node processing and bit node processing are executed alternately, a memory for temporarily storing the probability message updated by each processing is required. End up. Even if the degree of parallelism is further increased, a memory is similarly required as long as check node processing and bit node processing are executed alternately.
なお特許文献1では、更新前のチェックノードメッセージと更新後のチェックノードメッセージとの差分からビットノード処理を行うことで、チェックノード処理とビットノード処理とを同時に行う方法を提案している。この方法では、従来手法よりはメッセージRAMの回路規模を削減可能であるが、更新前のチェックノードメッセージ用のRAMとSUM値用のメッセージRAMとが必要となってしまう。
以上を鑑みると、確率メッセージを格納するメモリが削減されたLDPC復号装置が望まれる。 In view of the above, an LDPC decoding device with a reduced memory for storing probability messages is desired.
復号装置は、巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部とを含むことを特徴とする。 The decoding apparatus executes the bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and obtains all the probability messages β in the column block based on the probability message α in the column block. In the calculation of the check node processing for each row of the check matrix and the bit node processing unit to be updated, the check node processing calculation for one row is updated every time one probability message β in the one row is updated. Check node that sequentially performs stepwise based on the one probability message β and outputs the updated probability message α in the one row after all the probability messages β in the one row are updated And a processing unit.
復号方法は、巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新し、前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する各段階を含むことを特徴とする。 In the decoding method, the bit node process in the decoding process of the cyclic LDPC code is executed for each column block of the parity check matrix, and all the probability messages β in the column block are obtained based on the probability message α in the column block. In the calculation of the check node processing of each row of the check matrix, the calculation of the check node processing of one row is updated with one probability updated every time one probability message β in the one row is updated. The method includes performing each step sequentially based on the message β, and sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. And
本願開示の少なくとも1つの実施例によれば、各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なうことができる。従って、確率メッセージβを格納しておくメモリを削減又は削除できる。またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。従って、確率メッセージαを格納しておくメモリを削減又は削除できる。 According to at least one embodiment of the present disclosure, the calculation of check node processing for each row is performed sequentially based on the updated probability message β every time one probability message β in the row is updated. It can be done in stages. Accordingly, the memory for storing the probability message β can be reduced or deleted. Since the calculation of the probability message α in the check node processing is based on the selection of the minimum value of the probability message β, if the minimum value of the probability message β is held, the probability message α can be sequentially calculated based on that. Accordingly, the memory for storing the probability message α can be reduced or deleted.
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図3は、通信システムの構成の一例を示す図である。図3に示す通信システムは、送信装置10及び受信装置20を含む。送信装置10は、送信データを符号化及び変調して送信信号を生成し、送信信号を出力する。送信信号は、有線又は無線の通信路15を介して受信装置20により受信される。受信装置20は、受信データを復調及び復号化して復号データを生成する。
FIG. 3 is a diagram illustrating an example of a configuration of a communication system. The communication system illustrated in FIG. 3 includes a
送信装置10は、LDPC符号化部11及び変調部12を含む。LDPC符号化部11は、送信データに対してLDPC符号化を行なうことにより、情報ビットと冗長ビットとを含む符号化データを生成する。この符号化データにおける符号語をTxとし、LDPC検査行列をHとしたときに、符号語TxはH×Tx=0となるように生成される。変調部12は、マッピング処理、変調処理、及びD/A変換処理を実行する。マッピング処理では、LDPC符号化部11から供給される符号化データを64QAM(Quadrature Amplitude Modulation)等のシンボル点(信号点)に割り当てることにより、キャリア変調を行なう。変調処理では、マッピング処理によりキャリア変調されたデータに対してOFDM(Orthogonal Frequency Division Multiplexing)変調等を施すことにより、変調信号を生成する。D/A変換処理では、変調信号をデジタルからアナログに変換して、送信信号を生成する。
The
受信装置20は、復調部21及びLDPC復号部22を含む。復調部21は、A/D変換処理、復調処理、及びデマッピング処理を実行する。A/D変換部では、通信路15を介して送信装置10から受信した受信信号をアナログからデジタルに変換して、デジタル受信信号を生成する。復調処理では、送信側で用いた変調に対応する復調処理をデジタル受信信号に適用し、復調された受信信号を生成する。デマッピング処理では、送信側で用いた変調方式におけるシンボル点のうち受信信号点に近いシンボル点を検出し、受信信号の値が0又は1である確からしさを軟判定し、軟判定結果であるLLRを計算して出力する。LDPC復号部22は、計算されたLLRに基づいてLDPC復号処理を行なう。この際、復号された符号語RxがH×Rx=0となるように誤り訂正を行う。これにより誤り訂正後の受信信号が得られる。
The receiving
図4は、LDPC復号部22の構成の一例を示す図である。LDPC復号部22は、制御部31、LLR用RAM32、ビットノード処理部33、チェックノード処理部34、及びパリティ検査部35を含む。LLR用RAM32は、計算されたLLRを格納しておくメモリである。チェックノード処理部34は、確率メッセージβを用いて確率メッセージαを更新する。ビットノード処理部33は、LLR用RAM32に格納されるLLRである事前確率λと確率メッセージαとを用いて、確率メッセージβを更新するとともに、復号された復号データcを生成する。パリティ検査部35は、確率メッセージ更新後に、パリティ検査により、検査行列Hと復号された復号データcとの積(厳密にはHとcの転置行列との積)が0になるか否かを判定する。制御部31は、LDPC復号部22の全体の動作を制御する。パリティ検査の結果が0となれば、制御部31は、cを復号結果として出力させる。パリティ検査の結果が0でなければ、制御部31は、確率メッセージα及び確率メッセージβの更新とその後のパリティ検査とを再度実行するように、ビットノード処理部33、チェックノード処理部34、及びパリティ検査部35を制御する。
FIG. 4 is a diagram illustrating an example of the configuration of the
チェックノード処理においては、具体的には、 In check node processing, specifically,
の計算式により、確率メッセージαを更新する。ここでA(m)は、検査行列の行mにおいて要素値が“1”である列の集合である。A(m)\nは、A(m)から列nを除いた集合を表わす。即ち、αmnを計算するときにはβmnを使わず、残りの集合A(m)\nのβを用いることになる。上記のチェックノード計算式は、符号計算部分(関数sgnの部分)と絶対値計算部分(関数minの部分)とからなる。
The probability message α is updated by the following formula. Here, A (m) is a set of columns whose element value is “1” in row m of the parity check matrix. A (m) \ n represents a set obtained by removing column n from A (m). That is, when calculating α mn , β mn is not used, and β of the remaining set A (m) \ n is used. The above check node calculation formula includes a code calculation part (function sgn part) and an absolute value calculation part (function min part).
ビットノード処理においては、具体的には、 In bit node processing, specifically,
により、βが更新される。ここでB(n)は検査行列の列nにおいて要素値が“1”である行の集合である。B(n)\mはB(n)から行mを除いた集合を表わす。また事後確率計算処理は、
Accordingly, β is updated. Here, B (n) is a set of rows whose element value is “1” in column n of the parity check matrix. B (n) \ m represents a set obtained by removing row m from B (n). The posterior probability calculation process is
となる。これは事前確率λn(受信信号から計算したLLR)に対して、αを加算することにより、事前確率よりも信頼度を高めた事後確率Lnを求めることを意味している。事後確率Lnは、一連の観測受信信号を受信したという条件及びパリティ検査の拘束条件の下で、送信信号が0又は1である確率を示す値である。この事後確率Lnが0以上か或いは0より小さいかを判定することにより、復号データcのn番目のビットの値cnが求められる。具体的には、Lnが0以上であればcn=0となり、Lnが0より小さければcn=1となる。
It becomes. This means that by adding α to the prior probability λ n (LLR calculated from the received signal), the posterior probability L n with higher reliability than the prior probability is obtained. The posterior probability L n is a value indicating the probability that the transmission signal is 0 or 1 under the condition that a series of observation reception signals are received and the parity check constraint condition. By determining whether the posterior probability L n is equal to or greater than 0 or smaller than 0, the value cn of the nth bit of the decoded data c is obtained. Specifically, if L n is 0 or more, c n = 0, and if L n is smaller than 0, c n = 1.
図5は、巡回型検査行列の構成を示す図である。検査行列Hは、n×nの単位行列もしくはその巡回行列をブロック(部分行列)として持つ、J行ブロック×K列ブロックの巡回型検査行列である。図4に示すLDPC復号部22は、図5に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものとする。この場合、図4に示されるように、ビットノード処理部33は、同一の構造を有するn個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有するn×J個(即ち検査行列Hの行数に等しい数)のチェックノード処理回路を含む。
FIG. 5 is a diagram illustrating a configuration of a cyclic parity check matrix. The parity check matrix H is an N × n unit matrix or its cyclic matrix as a block (partial matrix), and is a J row block × K column block cyclic parity check matrix. Assume that the
具体的には、ビットノード処理部33は、前述の式(2)に示すようなビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき当該1列ブロック内の全ての確率メッセージβを更新する。1列ブロックは、図5に示すように検査行列のn列を含む。ビットノード処理部33は、図4に示すように、n並列構成となっており、1列ブロック内の全ての列に対して並列にビットノード処理を実行してよい。
Specifically, the bit
図6は、ビットノード処理部33及びチェックノード処理部34の入出力関係を示す図である。図6において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図6には、nが3で、Jが2、Kが3である図1に示す巡回型検査行列を用いた場合を例として示してある。この場合、ビットノード処理部33は、まず第1の列ブロックCB1内の確率メッセージα1,1、α2,1、α3,1、α4,1、α5,1、α6,1に基づき全ての確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を更新する。図6(a)に、このときのビットノード処理部33及びチェックノード処理部34の入出力が示される。図6(a)に示されるように、チェックノード処理部34に含まれる第1乃至第6のチェックノード処理回路34−1乃至34−6からそれぞれα1,1、α2,1、α3,1、α4,1、α5,1、α6,1が並列に出力される。このうち、図1に示す検査行列Hの第1列のα1,1、α5,1はビットノード処理部33の第1のビットノード処理回路33−1に供給される。第2列のα2,1、α6,1はビットノード処理部33の第2のビットノード処理回路33−2に供給される。第3列のα3,1、α4,1はビットノード処理部33の第3のビットノード処理回路33−3に供給される。これにより、図6(b)に示されるように、ビットノード処理部33の第1乃至第3のビットノード処理回路33−1乃至33−3からは、β1,1及びβ5,1、β2,1及びβ6,1、β3,1及びβ4,1が出力される。これらの確率メッセージβは、チェックノード処理部34の対応するチェックノード処理回路に供給される。ここで、ビットノード処理部33の出力は、メモリを介することなくチェックノード処理部34の入力に直接に接続される。
FIG. 6 is a diagram illustrating an input / output relationship between the bit
以降同様にして、第2の列ブロックCB2内の確率メッセージα1,2、α2,2、α3,2、α4,2、α5,2、α6,2に基づき、CB2内の全ての確率メッセージβ1,2、β2,2、β3,2、β4,2、β5,2、β6,2を更新する。最後に、第3の列ブロックCB3内の確率メッセージα1,3、α2,3、α3,3、α4,3、α5,3、α6,3に基づき、CB3内の全ての確率メッセージβ1,3、β2,3、β3,3、β4,3、β5,3、β6,3を更新する。 In the same manner, based on the probability messages α 1,2 , α 2,2 , α 3,2 , α 4,2 , α 5,2 , α 6,2 in the second column block CB 2 , Update all probability messages β 1,2 , β 2,2 , β 3,2 , β 4,2 , β 5,2 , β 6,2 . Finally, based on the probability messages α 1,3 , α 2,3 , α 3,3 , α 4,3 , α 5,3 , α 6,3 in the third column block CB3, The probability messages β 1,3 , β 2,3 , β 3,3 , β 4,3 , β 5,3 , β 6,3 are updated.
図7は、図6に示すビットノード処理部33及びチェックノード処理部34の動作を示す図である。図7において、(a)乃至(c)はそれぞれ、第1乃至第3のビットノード処理回路33−1乃至33−3の入力及び内部動作を示す。(d)乃至(i)はそれぞれ、第1乃至第6のチェックノード処理回路34−1乃至34−6の入力及び内部動作を示す。例えば動作サイクルT1においては、第1乃至第3のビットノード処理回路に対応する確率メッセージαが入力される。この状態が図6(a)に示す状態である。また例えば動作サイクルT2においては、第1乃至第6のチェックノード処理回路に対応する確率メッセージβが入力される。この状態が図6(b)に示す状態である。ビットノード処理回路には3個の列ブロックに対応して3回に分けて確率メッセージαが入力される。1動作サイクル遅れて、ビットノード処理回路の内部では図7においてBnodeとして示されるように、ビットノード処理の計算が実行される。更に1動作サイクル遅れて、ビットノード処理回路から更新後の確率メッセージβが出力される。
FIG. 7 is a diagram illustrating operations of the bit
チェックノード処理部34は、上記式(1)に示すような検査行列の各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なう。上記式(1)から分かるように、チェックノード計算式は、符号計算部分(関数sgnの部分)と絶対値計算部分(関数minの部分)とからなっている。符号計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの符号の総乗値(全てを積算した値)である。この総乗値は、βmnも含む1行中の全ての確率メッセージβの符号の総乗値とβmnの符号との積算値とに等しい。1行中の全ての確率メッセージβの符号の総乗値は、順次更新される確率メッセージβを前回の積算結果に対して1つずつ積算していけば段階的な計算により実現できる。また絶対値計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値である。この値は、βmnも含む1行中の全ての確率メッセージβの第1最小値(最も小さい値)又は第2最小値(2番目に小さい値)の何れかであり、βmnが第1最小値である場合には第2最小値であり、βmnが第1最小値でない場合には第1最小値である。1行中の全ての確率メッセージβの最小値及び第2最小値は、順次更新される確率メッセージβを前回迄に求めた最小値及び第2最小値と比較することで、段階的な比較計算により求めることができる。このようにして、上記式(1)に示すような各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なうことができる。従って、確率メッセージβを格納しておくメモリが必要ない。またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。従って、確率メッセージαを格納しておくメモリが必要ない。
The check
チェックノード処理部34は、図4に示すように、n×J並列構成となっており、検査行列の全ての行に対して並列にチェックノード処理を実行してよい。図7に示す例では、動作サイクルT2において、第1乃至第6のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図7においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT2及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。
As shown in FIG. 4, the check
上記のチェックノード処理において、確率メッセージβが全ての列ブロックについて更新され供給されると、確率メッセージαの更新処理は実質的に完了する。チェックノード処理部34の各行に対応するチェックノード処理回路34−1乃至34−6は、対応する行中の全ての確率メッセージβが更新された後、当該行中の更新後の確率メッセージαを順次出力する。例えばチェックノード処理回路34−1であれば、更新後の確率メッセージα1,1、α1,2、α1,3を順次出力する。
In the above check node processing, when the probability message β is updated and supplied for all the column blocks, the update processing of the probability message α is substantially completed. The check node processing circuits 34-1 to 34-6 corresponding to each row of the check
図8は、図4のLDPC復号部22の復号処理の流れを示すフローチャートである。この復号処理の流れは、図4の制御部31により制御されてよい。
FIG. 8 is a flowchart showing the flow of the decoding process of the
ステップS1で、列ブロックを示す変数Nを初期値1に設定する。ステップS2で、N番目の列ブロックの全ての確率メッセージαをチェックノード処理部34から出力させる。ステップS3で、ビットノード処理部33により、N番目の列ブロックのビットノード処理を実行し、N番目の列ブロックの全ての確率メッセージβを更新する。このとき、チェックノード処理部34により、更新された確率メッセージβに基づいてチェックノード処理の一部分が実行される。ステップS4で、変数Nが全列ブロック数Kに等しいか否かを判定する。等しくない場合には、ステップS5でNを1増加させ、ステップS2以降の処理を繰り返す。
In step S1, a variable N indicating a column block is set to an
図9は、列ブロック毎にビットノード処理を繰り返す様子を模式的に示す図である。まず第1の列ブロックCB1についてビットノード処理が実行される。その後矢印で示されるように、第2の列ブロックCB2から第Kの列ブロックCBKまで、列ブロック毎にビットノード処理が繰り返されていく。 FIG. 9 is a diagram schematically showing how the bit node processing is repeated for each column block. First, bit node processing is executed for the first column block CB1. Thereafter, as indicated by an arrow, the bit node processing is repeated for each column block from the second column block CB2 to the Kth column block CBK.
図8に戻り、ステップS4で変数Nが全列ブロック数Kに等しいと判定されると、ステップS6に進む。ステップS6で、チェックノード処理において全ての確率メッセージαの更新が完了する。ステップS7で、検査行列と復号データとの積が0である復号完了条件が満たされるか否かを判定する。復号完了条件が満たされない場合には、処理はステップS1に戻り、以降の処理を繰り返す。復号完了条件が満たされると、復号対象のデータに対するLDPC復号処理が完了する。 Returning to FIG. 8, if it is determined in step S4 that the variable N is equal to the total column block number K, the process proceeds to step S6. In step S6, the update of all probability messages α is completed in the check node process. In step S7, it is determined whether or not a decoding completion condition in which the product of the check matrix and the decoded data is 0 is satisfied. If the decryption completion condition is not satisfied, the process returns to step S1 and the subsequent processes are repeated. When the decoding completion condition is satisfied, the LDPC decoding process for the data to be decoded is completed.
図10は、チェックノード処理部34の1つのチェックノード処理回路の構成の一例を示す図である。チェックノード処理部34には、図10に示すチェックノード処理回路が、n×J個並列に設けられている。図10に示すチェックノード処理回路は、絶対値計算部41、XOR部42、比較判定部43、フリップフロップ44乃至51、及び出力制御部52を含む。絶対値計算部41は、更新された1つの確率メッセージβが供給されると、受け取った確率メッセージβの絶対値を計算して出力する。なおこの更新された1つの確率メッセージβの最上位ビット(符号ビット)は、XOR部42及びフリップフロップ44に供給される。
FIG. 10 is a diagram illustrating an example of the configuration of one check node processing circuit of the check
比較判定部43は、更新された1つの確率メッセージβの絶対値とフリップフロップ46及び47(第1レジスタ)の格納値とを比較する。フリップフロップ46は第1最小値を格納しており、フリップフロップ47は第2最小値を格納している。比較判定部43は、比較した3つの値のうち、最小のものをフリップフロップ46に格納し、2番目に小さいものをフリップフロップ47に格納する。このようにして、更新された1つの確率メッセージβが供給される度に、第1最小値又は第2最小値を適宜更新する。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の確率メッセージβのうちの第1最小値がフリップフロップ46に格納され、第2最小値がフリップフロップ47に格納されることになる。
The
前述のようにチェックノード計算式の絶対値計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値である。この値は、βmnも含む1行中の全ての確率メッセージβの第1最小値又は第2最小値の何れかであり、βmnが第1最小値である場合には第2最小値であり、βmnが第1最小値でない場合には第1最小値である。従って、対象行中で何番目のβが第1最小値であるかを示す情報を記録しておき、出力制御部52により、フリップフロップ46及び47から供給される第1最小値又は第2最小値を前記情報に基づいて適宜選択すれば、絶対値計算部分の演算を行なうことができる。
As described above, the content of the absolute value calculation part of the check node calculation formula is the minimum value of all probability messages β in one line excluding β mn when α mn is calculated. This value is either the first minimum value or the second minimum value of all probability messages β in one line including β mn , and is the second minimum value when β mn is the first minimum value. Yes , if β mn is not the first minimum value, it is the first minimum value. Therefore, information indicating what number β is the first minimum value in the target row is recorded, and the first minimum value or the second minimum value supplied from the flip-
XOR部42は、更新された1つの確率メッセージβの符号とフリップフロップ45(第2レジスタ)の格納値との排他的論理和をとる。ここで言う排他的論理和とは、符号ビットの積算演算であり、0を正とし1を負として、正と正との積又は負と負との積なら出力は正となり、正と負との積又は負と正との積なら出力は負となる。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の全ての確率メッセージβの符号の総乗値がフリップフロップ45に格納されることになる。フリップフロップ45の格納値は、フリップフロップ49を介して出力制御部52に供給される。
The XOR unit 42 performs an exclusive OR of the sign of one updated probability message β and the stored value of the flip-flop 45 (second register). The exclusive OR referred to here is an accumulation operation of sign bits, where 0 is positive and 1 is negative. If the product of positive and positive or the product of negative and negative, the output is positive, and positive and negative. The output is negative if the product of or the product of negative and positive. After all the updated probability messages β of the target row are supplied, the sign value of all the probability messages β of the target row is stored in the flip-
フリップフロップ44は複数のフリップフロップを含み、対象行の更新された全ての確率メッセージβの符号がそれぞれのフリップフロップに個別に格納される。符号は1ビットであるので、必要なフリップフロップ44の数はそれ程大きくはない。フリップフロップ44の格納値は、フリップフロップ48を介して出力制御部52に供給される。
The flip-
前述のようにチェックノード計算式の符号計算部分の内容は、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの符号の総乗値(全てを積算した値)である。この総乗値は、βmnも含む1行中の全ての確率メッセージβの符号の総乗値とβmnの符号との積算値とに等しい。従って、出力制御部52により、フリップフロップ45から供給される全てのβの符号の総乗値とフリップフロップ44から供給される着目βmnの符号の積算値とを求めることにより、符号計算部分の演算を行なうことができる。
As described above, the content of the code calculation part of the check node calculation formula is that when α mn is calculated, the total value of the codes of all probability messages β in one line excluding β mn (the value obtained by adding up all) It is. The total square value is equal to the integrated value of the infinite product value and beta mn of code of the code of all probabilities message beta in a row which also contains beta mn. Therefore, the
このようにして、出力制御部52は、対象行中の更新された全ての確率メッセージβが供給された後、例えば図7に示すように、更新されたαを順次出力してビットノード処理に供することができる。この更新されたαを出力する際、n×J個並列に設けられた図10に示すチェックノード処理回路が、検査行列の1つの列ブロック中のn×J行全てについてαを出力する。これにより、n×J個並列のビットノード処理を実現することが可能となる。
In this way, after all the updated probability messages β in the target row are supplied, the
図11は、ビットノード処理部33の1つのビットノード処理回路の構成の一例を示す図である。ビットノード処理部33には、図11に示すビットノード処理回路が、n個並列に設けられている。図11に示すビットノード処理回路は、ビットノード演算部61及び硬判定部62を含む。なお図11には、一列中のα及びβがそれぞれ3個ずつである場合が例として示されるが、この例に限定されることなく、一列中のα及びβの数は幾つであってもよい。
FIG. 11 is a diagram illustrating an example of the configuration of one bit node processing circuit of the bit
ビットノード演算部61は、受信信号から計算されたLLRと一列中の全てのαとに基づいて、前述の式(2)を計算して一列中の全てのβを更新するとともに、前述の式(3)を計算して復号データを生成する。図11では、この復号データがSUMとして示されている。硬判定部62は、軟判定値を有する復号データSUMに基づいて、硬判定データを生成する。具体的には、SUMが0以上であれば硬判定値は0となり、SUMが0より小さければ硬判定値は1となる。
Based on the LLR calculated from the received signal and all α in the column, the bit node calculation unit 61 calculates the above-described equation (2) and updates all β in the column. (3) is calculated to generate decoded data. In FIG. 11, this decoded data is shown as SUM. The
図12は、LDPC符号を用いた実際の通信システムへの適用に即した検査行列の一例を示す図である。図12に示す検査行列Hは、83×83の単位行列もしくはその巡回行列をブロック(部分行列)として持つ、3行ブロック×58列ブロックの巡回型検査行列である。 FIG. 12 is a diagram illustrating an example of a parity check matrix adapted to application to an actual communication system using an LDPC code. The parity check matrix H shown in FIG. 12 is a cyclic parity check matrix of 3 row blocks × 58 column blocks having an 83 × 83 unit matrix or a cyclic matrix thereof as a block (partial matrix).
図13は、図12の検査行列に対応するLDPC復号部の構成の一例を示す図である。図13において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。なお図13において、図4に示す制御部31及びパリティ検査部35は図示を省略されている。
FIG. 13 is a diagram illustrating an example of a configuration of an LDPC decoding unit corresponding to the parity check matrix of FIG. In FIG. 13, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. In FIG. 13, the
図13に示すLDPC復号部22は、図12に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものである。この場合、図13に示されるように、ビットノード処理部33は、同一の構造を有する83個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有する249個(=83×3)のチェックノード処理回路を含む。
The
図14は、図13に示すLDPC復号部の動作の一例を示す図である。図14において、(a)は、チェックノード処理部34からのα出力(ビットノード処理部33へのα入力)を示す。(b)は、α入力に基づくビットノード処理部33からのβ出力(チェックノード処理部34へのβ入力)を示す。(c)は、チェックノード処理部34におけるチェックノード処理の段階的な実行を示す。(a)に示すように、58列ブロック分のα1乃至α58が順次チェックノード処理部34から出力される。これらのα1乃至α58を入力として、ビットノード処理部33が順次βを更新し、(b)に示すようにβ1乃至β58を順次出力する。(c)に示すチェックノード処理の段階的な処理C1乃至C58は、順次供給されるβ1乃至β58のうちの最新のβと1つ前のβ迄の最小値とを比較することで、最小値を更新していく。これにより、チェックノード処理C58により最後のβ58と1つ前のβ迄の最小値とを比較し終わった時点で、第1及び第2最小値が確定する。これで1回のイタレーションが終了する。硬判定された復号データが検査行列によるパリティ検査の復号完了条件を満たさない場合、(a)に示すように、再度、58列ブロック分のα1乃至α58が順次チェックノード処理部34から出力され、ビットノード処理及びチェックノード処理が実行される。
FIG. 14 is a diagram illustrating an example of the operation of the LDPC decoding unit illustrated in FIG. 14A shows an α output from the check node processing unit 34 (α input to the bit node processing unit 33). (B) shows β output from the bit
図15は、チェックノード処理部の1つのチェックノード処理回路の構成の別の一例を示す図である。図15において、図10と同一の構成要素は同一の番号で参照し、その説明は省略する。図15に示すチェックノード処理回路においては、図10のチェックノード処理回路の比較判定部43及び出力制御部52が、それぞれ比較判定部43A及び出力制御部52Aにより置き換えられている。また第2最小値用のフリップフロップ47及び51が削除されている。図15に示すチェックノード処理回路においては、チェックノード処理の符号計算部分については図10に示すチェックノード処理回路と同様の構成であるが、絶対値計算部分の構成が簡略化されている。
FIG. 15 is a diagram illustrating another example of the configuration of one check node processing circuit of the check node processing unit. In FIG. 15, the same components as those of FIG. 10 are referred to by the same numerals, and a description thereof will be omitted. In the check node processing circuit shown in FIG. 15, the
Normalized Min-sumアルゴリズムのチェックノード処理の絶対値計算部分は、前述のように、αmnを計算するときには、βmnを除いた1行中の全ての確率メッセージβの最小値を求める。この際、βmnが最小値である場合に対応するために、図10に示すチェックノード処理回路では第2最小値を求めている。しかし第1最小値と第2最小値とはそれ程値が異ならないとの認識に基づいて、βmnが最小値であり本来は第2最小値を選択しなければならない場合であっても、その近似値として第1最小値を選択して用いることが考えられる。このように第1最小値のみを用いる場合には、図15に示すように、第1最小値用の比較判定部及びフリップフロップが必要になるのみであり、図10に示す構成と比較して回路規模を削減することができる。 As described above, the absolute value calculation part of the check node processing of the Normalized Min-sum algorithm obtains the minimum value of all probability messages β in one line excluding β mn when calculating α mn . At this time, in order to cope with the case where β mn is the minimum value, the check node processing circuit shown in FIG. 10 obtains the second minimum value. However, based on the recognition that the first minimum value and the second minimum value are not so different, even if β mn is the minimum value and the second minimum value should be selected originally, It is conceivable to select and use the first minimum value as the approximate value. When only the first minimum value is used in this way, only the first minimum value comparison / determination unit and flip-flop are required as shown in FIG. 15. Compared to the configuration shown in FIG. The circuit scale can be reduced.
図15に示す構成では、比較判定部43Aが、更新された1つの確率メッセージβの絶対値とフリップフロップ46の格納値とを比較する。フリップフロップ46は第1最小値を格納している。比較判定部43Aは、比較した2つの値のうち小さい方をフリップフロップ46に格納する。このようにして、更新された1つの確率メッセージβが供給される度に、第1最小値を適宜更新する。対象行の更新された全ての確率メッセージβが供給された後には、この対象行の確率メッセージβのうちの第1最小値がフリップフロップ46に格納されることになる。出力制御部52Aは、フリップフロップ46からフリップフロップ50を介して供給される第1最小値を、チェックノード処理の絶対値計算部分の演算値として用いればよい。
In the configuration shown in FIG. 15, the
以下に、LDPC復号部の構成の変形例について説明する。図4に示すLDPC復号部22では、ビットノード処理部33はn個のビットノード処理回路を含み、チェックノード処理部34はn×J個(即ち検査行列Hの行数に等しい数)のチェックノード処理回路を含む。この構成では、例えば図13に示すLDPC復号部22の例の場合、同一の構造を有する249個(=83×3)のチェックノード処理回路が設けられることになり、チェックノード処理部34の回路規模が大きくなってしまう。応用分野によっては、確率メッセージを格納するメモリが多少必要になっても、処理回路の回路規模を小さくすることが好ましいような場合もあり得る。例えば、FPGA(Field Programmable Gate Array)を用いてLDPC復号部やその他の受信装置の回路ユニットを実現する場合、論理処理を実現するために使用可能なゲート数が制限される可能性がある。従って、チェックノード処理部34の回路規模を削減した変形例が望まれる。
Below, the modification of the structure of a LDPC decoding part is demonstrated. In the
図16は、LDPC復号部の構成の変形例を示す図である。図16において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図16に示すLDPC復号部22Aは、制御部31、LLR用RAM32、ビットノード処理部33、チェックノード処理部34、パリティ検査部35、バッファ71及び72、及びセレクタ(SEL)73及び74を含む。図16に示すLDPC復号部22Aは、図4に示すLDPC復号部22に対してバッファ71及び72並びにセレクタ73及び74が追加されると共に、チェックノード処理部34の並列処理数がn×J個からn×J/p個に減っている。ここでpは、n×Jの約数である2以上の整数である。
FIG. 16 is a diagram illustrating a modification of the configuration of the LDPC decoding unit. In FIG. 16, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. 16 includes a
図16に示すLDPC復号部22Aは、図5に示すような巡回型検査行列を用いた巡回型LDPC符号を復号処理するものとする。この場合、図16に示されるように、ビットノード処理部33は、同一の構造を有するn個のビットノード処理回路を含む。またチェックノード処理部34は、同一の構造を有するn×J/p個(即ち検査行列Hの行数の1/pに等しい数)のチェックノード処理回路を含む。以下に説明するように、チェックノード処理部34は、巡回検査行列の複数M(=n×J/p)個の行に対する並列なチェックノード処理を実行する。更にチェックノード処理部34は、この並列なチェックノード処理を順次異なるM個の行に対して逐次的に実行することにより、巡回検査行列の全ての行(n×J行)に対するチェックノード処理を実行する。
It is assumed that the
図17は、ビットノード処理部33及びチェックノード処理部34の入出力関係を示す図である。図17において、図16と同一の構成要素は同一の番号で参照し、その説明は省略する。図17には、nが3で、Jが2、Kが3である図1に示す巡回型検査行列を用いた場合を例として示してある。また、チェックノード処理部34は、同一の構造を有するn×J/2個のチェックノード処理回路34−1乃至34−3を含む。
FIG. 17 is a diagram illustrating an input / output relationship between the bit
ビットノード処理部33は、まず第1の列ブロックCB1内の確率メッセージα1,1、α2,1、α3,1、α4,1、α5,1、α6,1に基づき全ての確率メッセージβ1,1、β2,1、β3,1、β4,1、β5,1、β6,1を更新する。図17(a)に、このときのビットノード処理部33及びチェックノード処理部34の入出力が示される。図17(a)に示されるように、チェックノード処理部34に含まれる第1乃至第3のチェックノード処理回路34−1乃至34−3のそれぞれからα1,1、α2,1、α3,1が並列に出力され、その後更にα5,1、α6,1、α4,1が並列に出力される。α1,1、α2,1、α3,1は、チェックノード処理部34から出力されると、セレクタ74を介してバッファ72に一時的に蓄えられ、その後、α5,1、α6,1、α4,1と同一のタイミングでビットノード処理部33に供給される。α5,1、α6,1、α4,1は、チェックノード処理部34から出力されると、セレクタ74を介してバッファ72を介することなく、直ちにビットノード処理部33に供給される。具体的には、図1に示す検査行列Hの第1列のα1,1、α5,1は、ビットノード処理部33の第1のビットノード処理回路33−1に供給される。第2列のα2,1、α6,1はビットノード処理部33の第2のビットノード処理回路33−2に供給される。第3列のα3,1、α4,1はビットノード処理部33の第3のビットノード処理回路33−3に供給される。
First, the bit
これにより、図17(b)に示されるように、ビットノード処理部33の第1乃至第3のビットノード処理回路33−1乃至33−3からは、β1,1及びβ5,1、β2,1及びβ6,1、β3,1及びβ4,1が出力される。これらの確率メッセージβは、チェックノード処理部34の対応するチェックノード処理回路に供給される。ここで、ビットノード処理部33の出力のうち、β1,1、β2,1、及びβ3,1のそれぞれは、バッファ71を介することなくセレクタ73を介して、直ちに第1乃至第3のチェックノード処理回路34−1乃至34−3に入力される。またビットノード処理部33の出力のうち、β5,1、β6,1、及びβ4,1のそれぞれは、バッファ71に一端蓄えられ、その後適切なタイミングでセレクタ73を介して、第1乃至第3のチェックノード処理回路34−1乃至34−3に入力される。
As a result, as shown in FIG. 17B, the first to third bit node processing circuits 33-1 to 33-3 of the bit
以降同様にして、第2の列ブロックCB2内の確率メッセージα1,2、α2,2、α3,2、α4,2、α5,2、α6,2に基づき、CB2内の全ての確率メッセージβ1,2、β2,2、β3,2、β4,2、β5,2、β6,2を更新する。最後に、第3の列ブロックCB3内の確率メッセージα1,3、α2,3、α3,3、α4,3、α5,3、α6,3に基づき、CB3内の全ての確率メッセージβ1,3、β2,3、β3,3、β4,3、β5,3、β6,3を更新する。 In the same manner, based on the probability messages α 1,2 , α 2,2 , α 3,2 , α 4,2 , α 5,2 , α 6,2 in the second column block CB 2 , Update all probability messages β 1,2 , β 2,2 , β 3,2 , β 4,2 , β 5,2 , β 6,2 . Finally, based on the probability messages α 1,3 , α 2,3 , α 3,3 , α 4,3 , α 5,3 , α 6,3 in the third column block CB3, The probability messages β 1,3 , β 2,3 , β 3,3 , β 4,3 , β 5,3 , β 6,3 are updated.
図18は、図17に示すビットノード処理部33及びチェックノード処理部34の動作を示す図である。図18において、(a)乃至(c)はそれぞれ、第1乃至第3のビットノード処理回路33−1乃至33−3の入力及び内部動作を示す。(e)乃至(g)はそれぞれ、第1乃至第3のチェックノード処理回路34−1乃至34−3の入力及び内部動作を示す。更に(d)は、ビットノードバッファであるバッファ71のバッファ動作を示し、(h)は、チェックノードバッファであるバッファ72のバッファ動作を示す。
FIG. 18 is a diagram illustrating operations of the bit
例えば動作サイクルT1においては、第1乃至第3のビットノード処理回路に対応する確率メッセージαが入力される。この状態が図17(a)に示す状態である。また例えば動作サイクルT2においては、第1乃至第3のチェックノード処理回路に対応する確率メッセージβ(β1,1、β2,1、及びβ3,1)が入力される。また例えば動作サイクルT3においては、第1乃至第3のチェックノード処理回路に対応する確率メッセージβ(β5,1、β6,1、及びβ4,1)が入力される。なおβ5,1、β6,1、及びβ4,1は、(d)に示すビットノードバッファに3サイクルの間格納されてから、第1乃至第3のチェックノード処理回路に供給される。この状態が図17(b)に示す状態である。ビットノード処理回路には3個の列ブロックに対応して3回に分けて確率メッセージαが入力される。1動作サイクル遅れて、ビットノード処理回路の内部では図18においてBnodeとして示されるように、ビットノード処理の計算が実行される。このビットノード処理により、ビットノード処理回路から更新後の確率メッセージβ(β1,1、β5,1、β2,1、β6,1、β3,1、β4,1)が同時に出力される。ここで、βの一部(β5,1、β6,1、及びβ4,1)は、(d)に示すビットノードバッファによりバッファされた後、チェックノード処理部に出力される。 For example, in the operation cycle T1, the probability message α corresponding to the first to third bit node processing circuits is input. This state is the state shown in FIG. Further, for example, in the operation cycle T2, probability messages β (β 1,1 , β 2,1 , and β 3,1 ) corresponding to the first to third check node processing circuits are input. Further, for example, in the operation cycle T3, probability messages β (β 5,1 , β 6,1 , and β 4,1 ) corresponding to the first to third check node processing circuits are input. Note that β 5,1 , β 6,1 , and β 4,1 are stored in the bit node buffer shown in (d) for three cycles, and then supplied to the first to third check node processing circuits. . This state is the state shown in FIG. The probability message α is input to the bit node processing circuit in three steps corresponding to the three column blocks. After one operation cycle, the calculation of the bit node processing is executed inside the bit node processing circuit as shown as Bnode in FIG. By this bit node processing, the updated probability messages β (β 1,1 , β 5,1 , β 2,1 , β 6,1 , β 3,1 , β 4,1 ) are simultaneously transmitted from the bit node processing circuit. Is output. Here, a part of β (β 5,1 , β 6,1 , and β 4,1 ) is buffered by the bit node buffer shown in (d) and then output to the check node processing unit.
チェックノード処理部34は、上記式(1)に示すような検査行列の各行のチェックノード処理の計算を、当該行中の1つの確率メッセージβが更新される毎に、この更新された1つの確率メッセージβに基づいて順次段階的に行なう。段階的な計算の仕方は前述の通りである。従って、図18に示す例の場合、巡回型検査行列の第1乃至第3行については、チェックノード処理のために確率メッセージβを格納しておくメモリが必要ない。但し、巡回型検査行列の第4乃至第6行については、第1乃至第3行のチェックノード処理の間確率メッセージを格納しておくために、ビットノードバッファ(図16に示すバッファ71)が用いられる。このビットノードバッファのバッファ機能により、3つの第1乃至第3のチェックノード処理回路34−1乃至34−3を用いて、第1乃至第3行のチェックノード処理と第4乃至第6行のチェックノード処理とを時分割で実行することが可能となる。即ち、巡回型検査行列の複数3個の行に対する並列なチェックノード処理を実行し、この並列なチェックノード処理を順次異なる3個の行に対して逐次的に実行することにより、巡回検査行列の全ての行(6行)に対するチェックノード処理を実行することができる。このとき上記ビットノードバッファは、並列なチェックノード処理を逐次的に実行する際に、実行待ちの並列なチェックノード処理に入力する確率メッセージβを格納しておくように機能する。
The check
またチェックノード処理における確率メッセージαの計算は、確率メッセージβの最小値の選択を基本とするので、確率メッセージβの最小値を保持しておけば、それに基づいて確率メッセージαを順次計算できる。但し、図18に示す例の場合、巡回型検査行列の第1乃至第3行のチェックノード処理の終了後に、第4乃至第6行のチェックノード処理が実行されている。従って、第1乃至第3行のチェックノード処理により計算される確率メッセージαを格納しておくために、チェックノードバッファ(図16に示すバッファ74)が用いられる。即ち、チェックノードバッファは、逐次的に実行される並列なチェックノード処理から出力されビットノード処理部に入力待ちの確率メッセージαを格納しておくよう機能する。なお巡回型検査行列の第4乃至第6行については、確率メッセージαを格納しておくメモリは必要ない。 Since the calculation of the probability message α in the check node processing is based on the selection of the minimum value of the probability message β, if the minimum value of the probability message β is held, the probability message α can be sequentially calculated based on that. However, in the case of the example shown in FIG. 18, the check node processing in the fourth to sixth rows is executed after the check node processing in the first to third rows of the cyclic check matrix. Therefore, the check node buffer (buffer 74 shown in FIG. 16) is used to store the probability message α calculated by the check node processing in the first to third rows. That is, the check node buffer functions to store a probability message α waiting for input in the bit node processing unit that is output from the parallel check node processing that is sequentially executed. For the fourth to sixth rows of the cyclic check matrix, a memory for storing the probability message α is not necessary.
チェックノード処理部34は、図16に示すように、n×J/p並列構成となっており、検査行列のpの値に応じた並列度でチェックノード処理を実行してよい。図18に示す例では、動作サイクルT2において、第1乃至第3のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ1,1、β2,1、β3,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図18においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT2及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。また更に動作サイクルT3において、第1乃至第3のチェックノード処理回路は、第1の列ブロックCB1に対して更新された確率メッセージβ5,1、β6,1、β4,1を受け取る。これに1動作サイクル遅れて、チェックノード処理回路の内部では図18においてCnodeとして示されるように、チェックノード処理の計算が実行される。このチェックノード処理の計算は、動作サイクルT3及びそれ以降の動作サイクルにて順次供給される第1列ブロック乃至第3列ブロックの更新された確率メッセージβに基づいて、順次段階的に実行される。
As shown in FIG. 16, the check
上記のチェックノード処理において、確率メッセージβが全ての列ブロックについて更新され供給されると、確率メッセージαの更新処理は実質的に完了する。巡回型検査行列の3つの行に対応するチェックノード処理回路34−1乃至34−3は、対応する行中の全ての確率メッセージβが更新された後、当該行中の更新後の確率メッセージαを順次出力する。例えばチェックノード処理回路34−1は、まず巡回型検査行列の第1行に対して、更新後の確率メッセージα1,1、α1,2、α1,3を順次出力する。またチェックノード処理回路34−1は、更に巡回型検査行列の第5行に対して、更新後の確率メッセージα5,1、α5,2、α5,3を順次出力する。 In the above check node processing, when the probability message β is updated and supplied for all the column blocks, the update processing of the probability message α is substantially completed. The check node processing circuits 34-1 to 34-3 corresponding to the three rows of the cyclic check matrix update all the probability messages β in the corresponding rows, and then update the probability messages α in the rows. Are output sequentially. For example, the check node processing circuit 34-1 first outputs the updated probability messages α 1,1 , α 1,2 , α 1,3 sequentially to the first row of the cyclic check matrix. Further, the check node processing circuit 34-1 sequentially outputs updated probability messages α 5,1 , α 5,2 , α 5,3 to the fifth row of the cyclic check matrix.
なお図16のLDPC復号部22Aのビットノード処理部33の1つのビットノード処理回路は、図11に示す回路構成であってよい。また図16のLDPC復号部22Aのチェックノード処理部34の1つのチェックノード処理回路は、図10或いは図15に示す回路構成であってよい。図16に示すLDPC復号部22Aにおいては、バッファ71及び72を利用することにより、チェックノード処理回路の並列数をn×J/p個に減らし、論理演算部分の回路規模を削減することができる。
Note that one bit node processing circuit of the bit
なお本願発明は、以下の内容を含むものである。
(付記1)
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする復号装置。
(付記2)
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、全ての行に対して並列にチェックノード処理を実行することを特徴とする付記1記載の復号装置。
(付記3)
前記ビットノード処理部の出力は、メモリを介することなく前記チェックノード処理部の入力に直接に接続されることを特徴とする付記1又は2記載の復号装置。
(付記4)
前記チェックノード処理部は、
第1レジスタと、
第2レジスタと、
前記更新された1つの確率メッセージβの絶対値と前記第1レジスタの格納値とを比較する比較器と、
前記更新された1つの確率メッセージβの符号と前記第2レジスタの格納値との排他的論理和をとるXOR回路と
を含むことを特徴とする付記1乃至3何れか一項記載の復号装置。
(付記5)
前記ビットノード処理部は、対数尤度比の入力と確率メッセージαとに基づき、確率メッセージβを更新すると共に硬判定後の復号データを生成することを特徴とする付記1乃至4何れか一項記載の復号装置。
(付記6)
前記ビットノード処理部は、1列ブロック内の全ての列に対して並列にビットノード処理を実行し、前記チェックノード処理部は、前記検査行列の複数M個の行に対する並列なチェックノード処理を実行し、前記並列なチェックノード処理を順次異なるM個の行に対して逐次的に実行することにより、前記検査行列の全ての行に対するチェックノード処理を実行することを特徴とする付記1記載の復号装置。
(付記7)
前記並列なチェックノード処理を逐次的に実行する際に実行待ちの前記並列なチェックノード処理に入力する確率メッセージβを格納しておく第1のバッファと、
逐次的に実行される前記並列なチェックノード処理から出力され前記ビットノード処理部に入力待ちの確率メッセージαを格納しておく第2のバッファと
を更に含むことを特徴とする付記6記載の復号装置。
(付記8)
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新し、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する
各段階を含むことを特徴とする復号方法。
(付記9)
1列ブロック内の全ての列に対して並列に前記ビットノード処理を実行し、全ての行に対して並列に前記チェックノード処理を実行することを特徴とする付記8記載の復号方法。
(付記10)
前記ビットノード処理は、対数尤度比の入力と確率メッセージαとに基づき、確率メッセージβを更新すると共に硬判定後の復号データを生成することを特徴とする付記8又は9記載の復号方法。
(付記11)
アナログ受信信号をデジタル受信信号に変換し、前記デジタル受信信号を復調して復調された受信信号を生成し、前記復調された受信信号からLLRを計算して出力する復調部と、
前記LLRに基づいてLDPC復号処理を行なう復号部と
を含み、前記復号部は、
巡回型LDPC符号の復号処理におけるビットノード処理を検査行列の1列ブロック毎に実行して、1列ブロック内の確率メッセージαに基づき前記1列ブロック内の全ての確率メッセージβを更新するビットノード処理部と、
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする受信装置。
The present invention includes the following contents.
(Appendix 1)
A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A decoding device.
(Appendix 2)
The bit node processing unit performs bit node processing in parallel on all columns in one column block, and the check node processing unit performs check node processing on all rows in parallel. The decoding device according to
(Appendix 3)
The decoding apparatus according to
(Appendix 4)
The check node processing unit
A first register;
A second register;
A comparator that compares the absolute value of the updated one probability message β with the stored value of the first register;
The decoding apparatus according to any one of
(Appendix 5)
The bit node processing unit updates the probability message β and generates the decoded data after the hard decision based on the log likelihood ratio input and the probability message α. The decoding device described.
(Appendix 6)
The bit node processing unit performs bit node processing on all columns in one column block in parallel, and the check node processing unit performs parallel check node processing on a plurality of M rows of the check matrix. The check node processing is executed for all the rows of the parity check matrix by sequentially executing the parallel check node processing for different M rows sequentially. Decoding device.
(Appendix 7)
A first buffer for storing a probability message β to be input to the parallel check node process waiting to be executed when the parallel check node process is sequentially executed;
The decoding according to
(Appendix 8)
Performing bit node processing in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and updating all the probability messages β in the one-column block based on the probability message α in the one-column block;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And decoding each step of sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. Method.
(Appendix 9)
9. The decoding method according to appendix 8, wherein the bit node processing is executed in parallel for all columns in one column block, and the check node processing is executed in parallel for all rows.
(Appendix 10)
The decoding method according to appendix 8 or 9, wherein the bit node processing updates the probability message β and generates decoded data after the hard decision based on the log likelihood ratio input and the probability message α.
(Appendix 11)
A demodulator that converts an analog reception signal into a digital reception signal, demodulates the digital reception signal to generate a demodulated reception signal, calculates and outputs an LLR from the demodulated reception signal;
A decoding unit that performs LDPC decoding based on the LLR, and the decoding unit includes:
A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A receiving device.
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。 As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.
10 送信装置
15 通信路
20 受信装置
31 制御部
32 LLR用RAM
33 ビットノード処理部
34 チェックノード処理部
35 パリティ検査部
DESCRIPTION OF
33 bit
Claims (7)
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力するチェックノード処理部と
を含むことを特徴とする復号装置。 A bit node that performs a bit node process in the decoding process of the cyclic LDPC code for each column block of the parity check matrix and updates all the probability messages β in the column block based on the probability message α in the column block A processing unit;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And a check node processing unit that sequentially outputs the updated probability messages α in the one row after all the probability messages β in the one row are updated. A decoding device.
第1レジスタと、
第2レジスタと、
前記更新された1つの確率メッセージβの絶対値と前記第1レジスタの格納値とを比較する比較器と、
前記更新された1つの確率メッセージβの符号と前記第2レジスタの格納値との排他的論理和をとるXOR回路と
を含むことを特徴とする請求項1乃至3何れか一項記載の復号装置。 The check node processing unit
A first register;
A second register;
A comparator that compares the absolute value of the updated one probability message β with the stored value of the first register;
4. The decoding device according to claim 1, further comprising: an XOR circuit that obtains an exclusive OR of the sign of the updated one probability message β and the stored value of the second register. 5. .
逐次的に実行される前記並列なチェックノード処理から出力され前記ビットノード処理部に入力待ちの確率メッセージαを格納しておく第2のバッファと
を更に含むことを特徴とする請求項5記載の復号装置。 A first buffer for storing a probability message β to be input to the parallel check node process waiting to be executed when the parallel check node process is sequentially executed;
6. The second buffer according to claim 5, further comprising: a second buffer that is output from the parallel check node processing executed sequentially and stores a probability message α waiting for input in the bit node processing unit. Decoding device.
前記検査行列の各行のチェックノード処理の計算において、一の行のチェックノード処理の計算を、前記一の行中の1つの確率メッセージβが更新される毎に更新された1つの確率メッセージβに基づいて順次段階的に行ない、前記一の行中の全ての確率メッセージβが更新された後に前記一の行中の更新後の確率メッセージαを順次出力する
各段階を含むことを特徴とする復号方法。 Performing bit node processing in the decoding process of the cyclic LDPC code for each column block of the parity check matrix, and updating all the probability messages β in the one-column block based on the probability message α in the one-column block;
In the calculation of check node processing for each row of the check matrix, the calculation of check node processing for one row is changed to one probability message β that is updated every time one probability message β in the one row is updated. And decoding each step of sequentially outputting the updated probability messages α in the one row after all the probability messages β in the one row are updated. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239657A JP2012124888A (en) | 2010-11-15 | 2011-10-31 | Decoder and decoding method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010255368 | 2010-11-15 | ||
JP2010255368 | 2010-11-15 | ||
JP2011239657A JP2012124888A (en) | 2010-11-15 | 2011-10-31 | Decoder and decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012124888A true JP2012124888A (en) | 2012-06-28 |
Family
ID=46505833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011239657A Pending JP2012124888A (en) | 2010-11-15 | 2011-10-31 | Decoder and decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012124888A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069515B2 (en) | 2015-02-02 | 2018-09-04 | Kabushiki Kaisha Toshiba | Decoding device and decoding method |
US11929762B2 (en) | 2021-11-24 | 2024-03-12 | Samsung Electronics Co., Ltd. | Low density parity check decoder and storage device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007329828A (en) * | 2006-06-09 | 2007-12-20 | Mitsubishi Electric Corp | Decoding method, decoder and communication equipment |
WO2010019287A1 (en) * | 2008-08-15 | 2010-02-18 | Lsi Corporation | Error-correction decoder employing multiple check-node algorithms |
US20100107030A1 (en) * | 2008-10-29 | 2010-04-29 | Agere Systems Inc. | Ldpc decoders using fixed and adjustable permutators |
US20100275088A1 (en) * | 2009-04-22 | 2010-10-28 | Agere Systems Inc. | Low-latency decoder |
JP4572937B2 (en) * | 2008-01-23 | 2010-11-04 | ソニー株式会社 | Decoding device and method, program, and recording medium |
-
2011
- 2011-10-31 JP JP2011239657A patent/JP2012124888A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007329828A (en) * | 2006-06-09 | 2007-12-20 | Mitsubishi Electric Corp | Decoding method, decoder and communication equipment |
JP4572937B2 (en) * | 2008-01-23 | 2010-11-04 | ソニー株式会社 | Decoding device and method, program, and recording medium |
WO2010019287A1 (en) * | 2008-08-15 | 2010-02-18 | Lsi Corporation | Error-correction decoder employing multiple check-node algorithms |
JP2012500514A (en) * | 2008-08-15 | 2012-01-05 | エルエスアイ コーポレーション | Error correction decoder using multiple check node algorithms |
US20100107030A1 (en) * | 2008-10-29 | 2010-04-29 | Agere Systems Inc. | Ldpc decoders using fixed and adjustable permutators |
US20100275088A1 (en) * | 2009-04-22 | 2010-10-28 | Agere Systems Inc. | Low-latency decoder |
Non-Patent Citations (2)
Title |
---|
JPN6015032875; Lingzhi Liu,C.-J. Richard Shi: 'Sliced Message Passing: High Throughput Overlapped Decoding of High-Rate Low-Density Parity-Check Co' Circuits and Systems I: Regular Papers, IEEE Transactions on (Volume:55,Issue:11), 20081212, pp.3697-3710 * |
JPN6015032876; Sang-Min Kim,Keshab K. Parhi: 'Overlapped decoding for a class of quasi-cyclic LDPC codes' Signal Processing Systems, 2004. SIPS 2004. IEEE Workshop on , 20041015, pp.113-117 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10069515B2 (en) | 2015-02-02 | 2018-09-04 | Kabushiki Kaisha Toshiba | Decoding device and decoding method |
US11929762B2 (en) | 2021-11-24 | 2024-03-12 | Samsung Electronics Co., Ltd. | Low density parity check decoder and storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4038519B2 (en) | Method and apparatus for decoding low density parity check code using integrated node processing | |
JP4062435B2 (en) | Error correction code decoding apparatus | |
KR100958234B1 (en) | Node processors for use in parity check decoders | |
KR101203340B1 (en) | Turbo ldpc decoding | |
JP4038518B2 (en) | Method and apparatus for efficiently decoding low density parity check code | |
TWI699977B (en) | Method employed in ldpc decoder and the decoder | |
JP4320418B2 (en) | Decoding device and receiving device | |
US9461671B1 (en) | Method and apparatus for power conservation in LDPC decoding | |
CN107919874B (en) | Syndrome computation basic check node processing unit, method and computer program | |
CN104995844A (en) | Bit flipping decoding with reliability inputs for LDPC codes | |
CN110771047B (en) | Polarity decoder for LLR domain computation with F and G functions | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
CN109802688B (en) | Multilevel LDPC decoding system and method | |
JP5148586B2 (en) | Decoding device and decoding method | |
US20170134048A1 (en) | Message-passing based decoding using syndrome information, and related methods | |
US20100185913A1 (en) | Method for decoding ldpc code and the circuit thereof | |
JP2012124888A (en) | Decoder and decoding method | |
CN112134570A (en) | Multi-mode LDPC decoder applied to deep space communication | |
US20140122979A1 (en) | Hardware Architecture and Implementation of Low Power Layered Multi-Level LDPC Decoder | |
US11201629B2 (en) | Low latency sequential list decoding of polar codes | |
CN115694513A (en) | Ultra-high throughput rate LDPC decoder based on shift-type base graph | |
JP5310701B2 (en) | Decoding device and decoding method | |
US20150254130A1 (en) | Error correction decoder | |
JP5385944B2 (en) | Decoder | |
JP2007281771A (en) | Error correction decoder and error correction decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150406 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150818 |