JP4803134B2 - Parity check decoder - Google Patents
Parity check decoder Download PDFInfo
- Publication number
- JP4803134B2 JP4803134B2 JP2007202740A JP2007202740A JP4803134B2 JP 4803134 B2 JP4803134 B2 JP 4803134B2 JP 2007202740 A JP2007202740 A JP 2007202740A JP 2007202740 A JP2007202740 A JP 2007202740A JP 4803134 B2 JP4803134 B2 JP 4803134B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- column
- unit
- processing
- processing unit
- 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
Links
- 238000012545 processing Methods 0.000 claims description 335
- 239000011159 matrix material Substances 0.000 claims description 160
- 238000004364 calculation method Methods 0.000 claims description 94
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 description 74
- 238000004891 communication Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 11
- 108010076504 Protein Sorting Signals Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Description
本発明は、パリティ検査復号装置に関するものである。 The present invention relates to a parity check decoding apparatus.
誤り訂正技術の一つとして、低密度パリティ検査(LDPC:Low-Density Parity-Check)符号と、その復号法であるsum−product復号法とが注目されている(特許文献1参照)。この符号の特性は、白色ガウス通信路のシャノン(Shannon)限界まで、0.004dBという復号特性が得られることが知られている。 As one of error correction techniques, attention is paid to a low-density parity check (LDPC) code and a sum-product decoding method that is a decoding method thereof (see Patent Document 1). As for the characteristic of this code, it is known that a decoding characteristic of 0.004 dB can be obtained up to the Shannon limit of the white Gaussian channel.
LDPC符号は、理論上、すべての行についての行処理を同時に行うことができるとともにすべての列についての列処理を同時に行う全並列処理が可能であるため、高速な処理が可能である。
しかし、全ての行又は列についての演算を同時に行うには、回路が複雑で規模が大きくなり実現が困難である。
そこで、LDPCの復号処理について回路技術を使って実現する場合、計算量を低減したmin-sum復号法が有効と考えられている。しかし、回路規模としてはまだ十分な大きさまで低減されていないのが現状である。
The LDPC code can theoretically perform row processing for all rows at the same time, and can perform all parallel processing for simultaneously performing column processing for all columns, so that high-speed processing is possible.
However, in order to perform operations for all the rows or columns at the same time, the circuit is complicated and the scale becomes large, which is difficult to realize.
Therefore, when realizing LDPC decoding processing using circuit technology, a min-sum decoding method with a reduced amount of calculation is considered effective. However, the current situation is that the circuit scale has not yet been reduced to a sufficient size.
そこで、非特許文献1では、並列計算処理について、近似的なシリアル計算処理を施すことで、回路の小型化を図っている。
また、非特許文献2では、ビットシリアル(Bit-serial)処理に基づく部分並列処理型のLDPCデコーダが提案されている。
非特許文献1のものでは、完全なシリアル処理になるため、処理速度が低下するが、非特許文献2のものでは、処理速度を早くすることができる。
Non-Patent
In the
非特許文献1,2におけるビットシリアル処理においては、回路を小型化できる。しかし、ビットシリアル処理においては、アルゴリズムの特性上、受信信号を前から順に処理していくため、その復号結果は受信信号系列の前の方のデータに大きく依存する。この結果、受信信号系列の前の方に誤りが集中したデータを受け取った場合、正常に復号できない可能性が高い。
In the bit serial processing in
そこで、本発明は、ビットシリアル処理を用いることなく回路を小型化しつつ処理速度の低下を防止するとともに、復号性能が損なわれるのを防止するのに適したパリティ検査復号装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a parity check decoding apparatus suitable for preventing a reduction in processing speed while reducing the size of a circuit without using bit serial processing, and preventing deterioration in decoding performance. And
本発明は、パリティ検査行列に基づく行処理及び列処理を繰り返し行うパリティ検査復号装置において、行処理の演算結果及び列処理の演算結果を記憶する記憶部と、前記記憶部から取得した前記列処理の演算結果を用いて、前記パリティ検査行列に基づく行処理を行って、行処理の演算結果を前記記憶部へ出力する行処理部と、前記記憶部から取得した前記行処理の演算結果を用いて、前記パリティ検査行列に基づく列処理を行って、列処理の演算結果を前記記憶部へ出力する列処理部と、復号過程を制御する制御部と、を備え、前記行処理部は、パリティ検査行列の一部の複数行についての行処理を行う部分行処理部として構成され、前記列処理部は、パリティ検査行列の一部の複数列についての列処理を行う部分列処理部として構成され、前記制御部は、前記部分行処理部及び/又は前記部分列処理部が実行すべき行及び/又は列の順番を制御するとともに、制御された当該順番に応じて、前記部分行処理部及び/又は前記部分列処理部による前記記憶部へのアクセスを制御することを特徴とするパリティ検査復号装置である。 The present invention provides a parity check decoding apparatus that repeatedly performs row processing and column processing based on a parity check matrix, a storage unit that stores row processing calculation results and column processing calculation results, and the column processing acquired from the storage unit A row processing unit that performs row processing based on the parity check matrix and outputs the row processing calculation result to the storage unit, and uses the calculation result of the row processing acquired from the storage unit. A column processing unit that performs column processing based on the parity check matrix and outputs a calculation result of the column processing to the storage unit, and a control unit that controls a decoding process, and the row processing unit includes a parity processing unit The column processing unit is configured as a partial column processing unit that performs column processing for a plurality of columns of a part of the parity check matrix. The control unit controls the order of rows and / or columns to be executed by the partial row processing unit and / or the partial column processing unit, and according to the controlled order, the partial row processing unit and The parity check decoding apparatus is characterized in that access to the storage unit by the partial sequence processing unit is controlled.
上記本発明によれば、行処理部が部分行処理部として構成されているとともに列処理部が部分列処理部として構成され部分並列処理が可能となっているため、全並列処理の場合に比べて行処理部及び列処理部の回路サイズを小さくすることができる。
しかも、部分行処理部及び部分列処理部の演算結果を記憶する記憶部を有しているため、行処理又は列処理を部分的に順次実行した結果を、記憶部に蓄積することができる。
つまり、行処理をすべての行について同時に行ったり、列処理をすべての列について同時に行ったりしなくても、部分的な行処理又は列処理を行って、その結果を順次、記憶部に記憶させることができる。したがって、すべての行又は列についての行処理演算結果又は列処理演算結果が記憶部に蓄積される。
According to the present invention, since the row processing unit is configured as a partial row processing unit and the column processing unit is configured as a partial column processing unit and partial parallel processing is possible, compared to the case of full parallel processing. Thus, the circuit size of the row processing unit and the column processing unit can be reduced.
In addition, since the storage unit that stores the calculation results of the partial row processing unit and the partial column processing unit is included, the result of partial sequential execution of row processing or column processing can be accumulated in the storage unit.
In other words, even if row processing is not performed on all rows simultaneously or column processing is not performed on all columns simultaneously, partial row processing or column processing is performed and the results are sequentially stored in the storage unit. be able to. Therefore, the row processing calculation results or column processing calculation results for all the rows or columns are accumulated in the storage unit.
さらに本発明では、行処理部及び/又は列処理部が実行すべき行及び/又は列の順番を制御する制御部を備えているため、行処理後の列処理を可能な限り早く実行できるように行の順番を制御するか、又は列処理後の行処理を可能な限り早く実行できるように列の順番を制御することができる。
また、制御部は、部分行処理部及び/又は部分列処理部が実行すべき行及び/又は列の順番に応じて、部分行処理部及び/又は部分列処理部による前記記憶部へのアクセスを制御するため、行又は列の順番を制御しても適切な記憶部へのアクセスが行われる。
Furthermore, since the present invention includes a control unit that controls the order of rows and / or columns to be executed by the row processing unit and / or the column processing unit, the column processing after the row processing can be executed as soon as possible. The column order can be controlled so that the row processing after column processing can be executed as soon as possible.
Further, the control unit accesses the storage unit by the partial row processing unit and / or the partial column processing unit according to the order of the rows and / or columns to be executed by the partial row processing unit and / or the partial column processing unit. Therefore, even if the order of rows or columns is controlled, an appropriate storage unit is accessed.
また、前記記憶部は、一つのエントリについて複数の演算結果を記憶可能である記憶装置を複数有して構成され、前記部分行処理部及び/又は前記部分列処理部がアクセスする記憶装置を選択するための選択部を備え、前記制御部は、前記選択部を制御することにより、前記部分行処理部及び/又は前記部分列処理部による前記記憶部へのアクセスを制御するのが好ましい。この場合、記憶部が、一つのエントリについて複数の演算結果を記憶可能である記憶装置を複数有して構成されているため、エントリの数を少なくでき、記憶部の回路構成が簡素になる。しかも、エントリの数を少なくしても、部分行処理部及び/又は部分列処理部がアクセスする記憶装置を選択するための選択部を備えているため、適切な記憶装置へのアクセスが可能である。 The storage unit includes a plurality of storage devices capable of storing a plurality of calculation results for one entry, and selects a storage device accessed by the partial row processing unit and / or the partial column processing unit. Preferably, the control unit controls the access to the storage unit by the partial row processing unit and / or the partial column processing unit by controlling the selection unit. In this case, since the storage unit includes a plurality of storage devices capable of storing a plurality of calculation results for one entry, the number of entries can be reduced, and the circuit configuration of the storage unit is simplified. In addition, even if the number of entries is reduced, a selection unit for selecting a storage device to be accessed by the partial row processing unit and / or the partial column processing unit is provided, so that an appropriate storage device can be accessed. is there.
前記制御部は、前記部分行処理部及び/又は前記部分列処理部が、前記複数の記憶装置のうち、どの記憶装置にいつアクセスするかを規定したスケジュールデータを有し、前記制御部は、前記スケジュールデータに基づいて、前記選択部を制御するのが好ましい。この場合、部分行処理部及び/又は前記部分列処理部が、複数の記憶装置のうち、どの記憶装置にいつアクセスするかをスケジュールデータでよって設定できるため、記憶部へのアクセススケジュールをハードウェアの変更を伴わずに容易に設計変更できる。そして、スケジュールデータを適切に設定することで、記憶部へのアクセスのために部分行処理部又は部分列処理部の待ち時間を減少させることができる。 The control unit includes schedule data that defines when the partial row processing unit and / or the partial column processing unit accesses which storage device among the plurality of storage devices, and the control unit includes: It is preferable to control the selection unit based on the schedule data. In this case, since the partial row processing unit and / or the partial column processing unit can set which storage device to access when among the plurality of storage devices by the schedule data, the access schedule to the storage unit can be set by hardware. The design can be easily changed without any changes. Then, by appropriately setting the schedule data, the waiting time of the partial row processing unit or the partial column processing unit can be reduced for access to the storage unit.
前記制御部は、前記部分行処理部が実行すべき行の順番については、パリティ検査行列における行の並びとは異なる順番になるように制御するとともに、前記部分列処理部が実行すべき列の順番については、パリティ検査行列における列の並びと同じ順番になるように制御するのが好ましい。
この場合、部分行処理部が実行すべき行の順番については、列処理が可能な限り早く実行できるように適切な順番に制御することで、処理速度を向上させることができる。
一方、パリティ検査行列の列の並びは、受信信号系列の順序に対応するため、部分列処理部が実行すべき列の順番をパリティ検査行列の列の並びから変えると、検査行列に基づく演算結果を並び替える必要が生じるが、本発明のようにパリティ検査行列における列の並びの順番から変えずに同じ順番で制御することで、そのような並び替えが不要となって処理遅延を防止できる。
The control unit controls the order of rows to be executed by the partial row processing unit so that the order is different from the row order in the parity check matrix. The order is preferably controlled so as to be in the same order as the columns in the parity check matrix.
In this case, the processing speed can be improved by controlling the order of rows to be executed by the partial row processing unit in an appropriate order so that column processing can be executed as soon as possible.
On the other hand, since the order of the columns of the parity check matrix corresponds to the order of the received signal sequence, if the order of the columns to be executed by the partial sequence processing unit is changed from the order of the columns of the parity check matrix, the operation result based on the parity check matrix However, by performing control in the same order without changing the order of the columns in the parity check matrix as in the present invention, such rearrangement becomes unnecessary and processing delay can be prevented.
本発明によれば、回路を小型化しつつ処理速度の低下を防止するとともに復号性能が損なわれるのを防止するのに適したパリティ検査復号装置が得られる。 According to the present invention, it is possible to obtain a parity check decoding apparatus suitable for reducing a processing speed while preventing a reduction in processing speed and preventing deterioration in decoding performance.
以下、本発明の実施形態を、図面を参照して説明する。
図1は、本発明の実施形態に係る復号装置(復号器)を有する通信システムの構成の一例を示す図である。
図1において、通信システムは、送信側において、送信情報に誤り訂正用の冗長ビットを付加して送信符号を生成する符号化器1と、この符号化器1からの(K+M)ビットの符号を所定の方式に従って変調して通信路3へ出力する変調器2とを含む。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram illustrating an example of a configuration of a communication system having a decoding device (decoder) according to an embodiment of the present invention.
In FIG. 1, in the communication system, on the transmission side, an
符号化器1は、Kビットの情報に対し、パリティ計算用の冗長ビットMビットを付加して、(K+M)ビットのLDPC(低密度パリティ検査)符号化データを生成する。低密度パリティ検査行列においては、行が冗長ビットに対応し、列が符号ビットに対応する。なお、(K+M)ビットのLDPC符号化データのどのビットに、K個の情報ビット及びM個の冗長ビットを配置するかは、送信側と受信側で取り決めていれば、どのように配置してもよい。
The
変調器2は、この通信路3の構成に応じて、振幅変調、位相変調、コード変調、周波数変調または直交周波数分割多重変調などの変調を行なう。たとえば、通信路3が、光ファイバの場合、変調器2においては、レーザダイオードの輝度を送信情報ビット値に応じて変更させることにより、光の強度変調(一種の振幅変調)を行なっている。たとえば、送信データビットが“0”の場合には、”+1”に変換して、レーザダイオードの発光強度を強くして送信し、また送信データビットが“1”の場合、”−1”に変換して、レーザダイオードの発光強度を弱くして送信する。
The
通信システムは、受信側においては、通信路3を介して送信された変調信号に復調処理を施して、(K+M)ビットのデジタル符号を復調する復調器4と、この復調器4からの(K+M)ビットの符号にパリティ検査行列に基づく復号処理を施して元のKビットの情報を再生する復号器(復号装置)5が設けられる。
In the communication system, on the receiving side, a
復調器4は、この通信路3における送信形態に応じて復調処理を行なう。たとえば、振幅変調、位相変調、コード変調、周波数変調および直交周波数分割多重変調等の場合、復調器4において、振幅復調、位相復調、コード復調、および周波数復調等の処理が行なわれる。
The
図2は、通信路3が光ファイバの場合の変調器2および復調器4の出力データの対応関係を一覧にして示す図である。図2において、上述のように、通信路3が光ファイバの場合、変調器2においては、送信データが“0”のときには、”1”に変換され、送信用のレーザダイオード(発光ダイオード)の発光強度が強くなり、また送信データビットが“1”のときには、”−1”に変換され、レーザダイオードの発光強度を弱くして送信する。
FIG. 2 is a diagram showing a list of correspondence relationships between the output data of the
この通信路3における伝送損失等により、復調器4に伝達される光強度は、最も強い強度から最も弱い強度までの間のアナログ的な強度分布を有する。復調器4においては、この入力された光信号に、量子化処理(アナログ/デジタル変換)を行なって、この受光レベルを検出する。
図2においては、8段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ“7”のときには、発光強度がかなり強く、受光レベルが“0”のときには、光強度がかなり弱い状態である。各受光レベルは、符号付きデータに対応づけられ、復調器4から出力される。この復調器4の出力は、受光レベルが“7”のときにはデータ“3”が出力され、受光レベルが“0”のときには、データ“−4”が出力される。したがってこの復調器4からは、1ビットの受信信号に対し、多値量子化された信号が出力される。
The light intensity transmitted to the
FIG. 2 shows the received signal intensity when the light reception level is quantized in eight steps. That is, when the light reception level is data “7”, the light emission intensity is considerably high, and when the light reception level is “0”, the light intensity is considerably low. Each light reception level is associated with signed data and output from the
復号器5は、この復調器4から与えられた(K+M)ビットの受信情報(各ビットは、多値情報を含む)の入力を受け、sum-product復号法又はmin-sum復号法に従ってLDPCパリティ検査行列を適用して、元のKビットの情報を復元する。
The
なお、この図2においては、復調器4において、8レベルに量子化されたビットが生成されている。しかしながら、一般に、この復調器4においては、L値(L≧2)に量子化されたビットを用いて復号処理を行なうことができる。
In FIG. 2, the
また、図2においては、比較器を用いて、あるしきい値を使って受信信号のレベルを判定し、2値信号を生成してもよい。 In FIG. 2, a binary signal may be generated by using a comparator to determine the level of the received signal using a certain threshold value.
図3は、復号器5の構成を概略的に示す図である。この図3においては、復調器4および通信路3も併せて示す。復調器4は、通信路3から与えられた信号を復調する復調回路4aと、この復調回路4aにより生成されたアナログ復調信号をデジタル信号に変換するアナログ/デジタル変換回路4bを含む。
このアナログ/デジタル変換回路4bの出力データ(符号化データ)Xnが復号器5へ与えられる。
FIG. 3 is a diagram schematically showing the configuration of the
Output data (encoded data) Xn of the analog /
復号器5へ与えられる符号化データXnは、L値(L≧2)のデータである。以下、符号化データXnは、多値量子化データであるため、シンボルと称す。復号器5は、この入力シンボルXn系列に対しsum-product復号法又はmin-sum復号法などの復号法に従って復号処理を行なって復号ビットCnを復号データとして生成する。
The encoded data Xn given to the
復号器5は、復調器4からの復調シンボルXnの対数尤度比λnを生成する対数尤度比算出部6を備えている。
対数尤度比算出部6は、この受信信号のノイズ情報と独立に、対数尤度比λnを生成する。通常、ノイズ情報を考慮した場合、この対数尤度比λnは、Xn/(2・σ・σ)で与えられる。ここで、σは、ノイズの分散を示す。
しかしながら、本実施の形態においては、この対数尤度比算出部6は、バッファ回路または定数乗算回路で形成され、対数尤度比λnは、Xn・fで与えられる。ここで、fは非ゼロの正の数である。また、min-sum復号方法においては、検査行列に基づく復号処理(行処理)において、最小値を利用して演算を行なうため、信号処理において線形性が維持される。このため、ノイズ情報に従って出力データを正規化するなどの処理は不要である。この場合ノイズ情報を利用せずに、対数尤度比を算出することにより、回路構成が簡略化され、また計算処理も簡略化される。
The
The log likelihood
However, in the present embodiment, the log likelihood
また、復号器5は、パリティ検査行列の行処理を行なう行処理部9と、パリティ検査行列の列処理を行なう列処理部10と、を備えている。
In addition, the
復号法がsum-product復号法である場合、行処理部9及び列処理部10は、次式(1)及び(2)にしたがって、演算処理を行い、パリティ検査行列の行の各要素(非零要素)についての処理(行処理)、及び列についての各要素(非零要素)についての処理(列処理)を繰り返し実行する。
具体的には、行処理部9が、次式(1)にしたがって外部値対数比(第1変数)αmnを算出する演算を行い、列処理部10が、次式(2)にしたがって事前値対数比βmnを算出する演算を行う。
Specifically, the
ここで、上式(1)および(2)それぞれにおいて、n’∈A(m)\nおよびm’∈B(n)\mは、自身を除く要素を意味する。
外部値対数比αmnについては、n’≠nであり、事前値対数比βmnについては、m’≠mである。また、αおよびβの行列内の位置を示す添え字“mn”は、通常は下付文字で示されるが、本明細書においては、読みやすさのために、「横並びの文字」で示す。
なお、式(1)中において、fは、ギャラガ(Gallager)のf関数である。
Here, in each of the above formulas (1) and (2), n′εA (m) \ n and m′εB (n) \ m mean elements other than themselves.
For the external value log ratio αmn, n ′ ≠ n, and for the prior value log ratio βmn, m ′ ≠ m. Further, the subscript “mn” indicating the position in the matrix of α and β is usually indicated by a subscript, but in this specification, it is indicated by “horizontal characters” for the sake of readability.
In Equation (1), f is a Gallager f function.
また、関数sign(x)は、次式(3)で定義される。
また、集合A(m)およびB(n)は、2元M・N行列H=[Hmn]を復号対象のLDPC符号の検査行列とした場合、集合[1,N]={1,2,…,N}の部分集合である。
A(m)={n:Hmn=1} …(4)
B(n)={m:Hmn=1} …(5)
In addition, the sets A (m) and B (n) have a set [1, N] = {1, 2, when the binary M · N matrix H = [Hmn] is a parity check matrix of the LDPC code to be decoded. .., N}.
A (m) = {n: Hmn = 1} (4)
B (n) = {m: Hmn = 1} (5)
すなわち、上記部分集合A(m)は、検査行列Hの第m行目において1(非零要素)が立っている列インデックスの集合を意味し、部分集合B(n)は、検査行列Hの第n列目において1(非零要素)が立っている行インデックスの集合を示す。 That is, the subset A (m) means a set of column indexes where 1 (non-zero element) stands in the m-th row of the parity check matrix H, and the subset B (n) A set of row indexes where 1 (non-zero element) stands in the n-th column is shown.
具体的に、今、図4に示す検査行列Hを考える。この図4に示す検査行列Hにおいては、第1行の第1列から第3列に“1”が立ち、また第2行の第3列および第4列に“1”が立ち、また第3行の第4列から第6列に、“1”が立つ。したがって、この場合、部分集合A(m)は以下のようになる。 Specifically, consider the parity check matrix H shown in FIG. In the parity check matrix H shown in FIG. 4, “1” stands in the first to third columns of the first row, “1” stands for the third and fourth columns of the second row, and “1” stands in the fourth column to the sixth column of the three rows. Therefore, in this case, the subset A (m) is as follows.
A(1)={1,2,3}
A(2)={3,4}
A(3)={4,5,6}
A (1) = {1, 2, 3}
A (2) = {3,4}
A (3) = {4, 5, 6}
同様に、部分集合B(n)については、以下のようになる。
B(1)=B(2)={1}
B(3)={1,2}
B(4)={2,3}
B(5)=B(6)={3}
Similarly, the subset B (n) is as follows.
B (1) = B (2) = {1}
B (3) = {1, 2}
B (4) = {2,3}
B (5) = B (6) = {3}
この検査行列Hにおいて、タナー(Tanner)グラフを用いた場合、列に対応する変数ノードと行に対応するチェックノードの接続関係が、この“1”により示される。これを、本明細書においては「“1”が立つ」と称している。すなわち、図5に示すように、変数ノード1,2,3は、チェックノードX(第1行)に接続され、変数ノード3,4が、チェックノードY(第2行)に接続される。変数ノード4,5,6が、チェックノードZ(第3行)に接続される。この変数ノードが検査行列Hの列に対応し、チェックノードX,YおよびZが、この検査行列Hの各行に対応する。従って、図4に示す検査行列は、情報ビットが3ビット、冗長ビットが3ビットの合計6ビットの符号長の符号に対して適用される。
In the parity check matrix H, when a Tanner graph is used, the connection relationship between a variable node corresponding to a column and a check node corresponding to a row is indicated by “1”. This is referred to as “1” stands ”in this specification. That is, as shown in FIG. 5, the
LDPCの検査行列Hでは、“1”の数は少なく、低密度の検査行列であり、これにより、計算量を低減できる。 In the LDPC parity check matrix H, the number of “1” s is small, and the parity check matrix is a low density, thereby reducing the amount of calculation.
この変数ノードとチェックノードの間で各条件確率P(Xi|Yi)を伝播させ、MAPアルゴリズムに従って、もっともらしい符号を各変数ノードについて決定する。ここで、条件付確率P(Xi|Yi)は、Yiの条件下でXiとなる確率を示す。 Each condition probability P (Xi | Yi) is propagated between the variable node and the check node, and a plausible code is determined for each variable node according to the MAP algorithm. Here, the conditional probability P (Xi | Yi) indicates the probability of being Xi under the condition of Yi.
図3に戻り、復号器5は、行処理部9の演算結果である外部値対数比αmn及び列処理の部10の演算結果である事前値対数比βmnを記憶する記憶部11を備えている。
行処理部9は、記憶部11から事前値対数比βmn(初期値は0)を取得し、取得したβmnと対数尤度比λnとから、上式(1)に基づいて行処理演算を行う。行処理部9は、行処理の演算結果である外部値対数比αmnを、直接、列処理部10に与えるのではなく、記憶部11に対して出力する。記憶部11に記憶されている外部値対数比αmnは、行処理部9から出力された外部値対数比αmnによって更新される。
Returning to FIG. 3, the
The
列処理部10は、記憶部11から外部値対数比αmnを取得し、取得したαmnを用いて、上式(2)に基づいて列処理演算を行う。列処理部10は、列処理の演算結果を、直接、行処理部9に与えるのではなく、記憶部11に対して出力する。記憶部11に記憶されている事前値対数比βmnは、列処理部9から出力された事前値対数比βmnによって更新される。
The
復号器5は、行処理及び列処理からなる復号演算の反復終了を判定するループ判定部12を備えている。この判定部12は、行処理及び列処理の反復回数が、終了回数に達したか否かを判定し、行処理と列処理の繰り返し回数が終了回数に達すると、復号演算の反復を終了させる。
The
また、判定部12は、復号演算の反復が終了した後、外部値対数比αmnと対数尤度比λnとを用いて符号を判定する機能を有している。
具体的には、判定部11は、次式(6)に従って、Qnを算出する。
Further, the
Specifically, the
さらに、判定部11は、次式(7)に従って、推定符号Cnを算出する。
さて、前記行処理部9は、図3に示すように、パリティ検査行列の任意の1行についての行処理を行って、当該行に含まれる非零要素についての外部値対数比αmnを算出する行計算部9a,9bを複数有して構成されている。本実施形態において、行計算部9a,9bは、復号処理に用いられるパリティ検査行列の行数分設けられているわけではなく、パリティ検査行列の行数よりも少ない数しか設けられていない。
つまり、行処理部9によって同時に行える行処理は、パリティ検査行列の一部の複数行についてのみであり、部分的な行処理部として構成されている。本実施形態では、部分的な行処理をシリアル的に実行することで、パリティ検査行列の全ての行についての行処理が行われる。
なお、本実施形態では、行処理部9が同時に処理できる複数の行を「行ブロック」というものとする。
Now, as shown in FIG. 3, the
That is, the row processing that can be performed simultaneously by the
In the present embodiment, a plurality of rows that can be processed simultaneously by the
ここで、パリティ検査行列として、図6(a)に示す検査行列Hを想定する。このパリティ検査行列Hは、6行×12列である。図3の行処理部9は、第1行計算部9aと第2行計算部9bの2つが設けられており、同時に2行の部分行処理が可能である。したがって、行処理部9では、3回の部分行処理の実行により、検査行列Hの全ての行(6行)についての行処理を行うことができる。
Here, a parity check matrix H shown in FIG. 6A is assumed as a parity check matrix. The parity check matrix H is 6 rows × 12 columns. The
また、前記列処理部10も、図3に示すように、パリティ検査行列の任意の1列についての列処理を行って、当該列に含まれる非零要素についての事前値対数比βmnを算出する列計算部10a,10bを複数有して構成されている。列計算部10a,10bも、復号処理に用いられるパリティ検査行列の列数分設けられているわけではなく、パリティ検査行列の列数よりも少ない数しか設けられていない。
つまり、列処理部9によって同時に行える列処理は、パリティ検査行列Hの一部の複数列についてのみであり、部分的な列処理部として構成されている。本実施形態では、部分的な列処理をシリアル的に実行することで、パリティ検査行列の全ての列についての列処理が行われる。
Further, as shown in FIG. 3, the
That is, the column processing that can be performed simultaneously by the
図3の列処理部10は、第1列計算部10aと第2列計算部10bの2つが設けられており、同時に2列の部分列処理が可能である。したがって、列処理部10では、6回の部分行処理の実行により、図6(a)に示す検査行列Hの全ての列(12列)についての列処理を行うことができる。
The
上記のような行処理部9と列処理部10とで、図6(a)に示す検査行列Hに基づく行処理及び列処理を、その行及び列の並びの順番に従って行う場合、図6(b)に示すように、9クロックの時間を要する。
つまり、検査行列Hの行及び列の並びの順番に従って行処理及び列処理を実行する際には、まず、最初の2行(図6(a)の行ブロックA)の部分行処理が行われ、順次、次の2行(図6(a)の行ブロックB)、最後の2行(図6(a)の行ブロックC)についての部分行処理行われて、これらがすべて完了して始めて、列処理が行える。列処理も、まず、最初の2列(図7(a)の列ブロック(1))の部分列処理が行われ、順次、2列ずつの部分列処理が最後の2列(図6(a)の列ブロック(6))まで行われる。以上が、行処理及び列処理の1サイクルであり、1サイクルあたり9クロックの時間を要する。なお、このサイクルの繰り返しループが、ループ判定部12によって終了と判定されるまで繰り返されることになる。
When the
That is, when executing row processing and column processing according to the order of row and column arrangement of the check matrix H, first, partial row processing of the first two rows (row block A in FIG. 6A) is performed. The partial row processing is sequentially performed for the next two rows (row block B in FIG. 6A) and the last two rows (row block C in FIG. 6A). , Column processing can be performed. In the column processing, first, the partial column processing of the first two columns (column block (1) in FIG. 7A) is performed, and the partial column processing for each two columns is sequentially performed in the last two columns (FIG. 6A ) To column block (6)). The above is one cycle of row processing and column processing, and it takes 9 clocks per cycle. The repetition loop of this cycle is repeated until it is determined by the
これに対し、本実施形態の復号器5では、行処理及び/又は列処理において処理対象となる行(行ブロック)及び/又は列(列ブロック)の順番を制御するための制御部14を備えており、検査行列Hの行及び列の並びの順番とは異なる順番で、行処理及び/又は列処理を行うことが可能である。
On the other hand, the
図7(a)は、図6に示す検査行列Hの行の配置を入れ替えた第1入替検査行列H1を示している。なお、検査行列H1は、検査行列Hの行のみを入れ替えたもので、列については入替を行っていない。第1入替検査行列H1は、図8に示す検査行列Hと第1入替検査行列H1との行変換対応表に従って、検査行列Hの行の配置を入れ替えたものである。なお、行処理において処理対象となる行の順番を代えるだけであれば、復号特性に影響はない。つまり、復号特性からみると検査行列Hと第1入替検査行列H1とは等価である。なお、列の順番を変えた場合も、列処理結果を、復号される受信信号系列の順番(つまり、検査行列Hの列の並びの順番)に戻せば、復号特性は変化しない。 FIG. 7A shows a first replacement parity check matrix H 1 in which the arrangement of the rows of the parity check matrix H shown in FIG. Note that the parity check matrix H 1 is obtained by replacing only the rows of the parity check matrix H, and the columns are not replaced. The first permutation check matrix H 1 is obtained by replacing the arrangement of the rows of the check matrix H according to the row conversion correspondence table between the check matrix H and the first permutation check matrix H 1 shown in FIG. Note that if only the order of rows to be processed is changed in row processing, the decoding characteristics are not affected. That is, the parity check matrix H and the first replacement parity check matrix H 1 are equivalent in terms of decoding characteristics. Even when the column order is changed, the decoding characteristic does not change if the column processing result is returned to the order of the received signal sequence to be decoded (that is, the order of the columns of the check matrix H).
図7(a)に示す第1入替検査行列H1の左下隅にある行ブロックCの列ブロック(1)の部分に着目すると、行ブロックCの列ブロック(1)の部分には、零要素しかなく非零要素(“1”)がない。一方、列ブロック(1)の行ブロックA,Bの部分には、非零要素が含まれる。したがって、列ブロック(1)についての列処理を行うには、行ブロックA,Bについての行処理が完了している必要があるが、行ブロックCについての行処理が完了している必要はない。つまり、行ブロックA,Bについての行処理が完了すれば、列ブロック(1)についての列処理を開始できる。 Focusing on the column block (1) portion of the row block C at the lower left corner of the first permutation check matrix H 1 shown in FIG. 7A, the column block (1) portion of the row block C contains zero elements. However, there is no non-zero element (“1”). On the other hand, the row blocks A and B of the column block (1) include non-zero elements. Therefore, in order to perform the column processing for the column block (1), the row processing for the row blocks A and B needs to be completed, but the row processing for the row block C does not need to be completed. . That is, when the row processing for the row blocks A and B is completed, the column processing for the column block (1) can be started.
図7(b)は、これを利用して、行処理と列処理を部分的に並列処理化した場合の処理順序を示しており、行ブロックCの行処理実行と列ブロック(1)の列処理実行を並列的に行うことで、行処理及び列処理の1サイクルの所要時間を8クロックに短縮することができる。 FIG. 7B shows the processing order when the row processing and the column processing are partially parallelized using this, and the row processing execution of the row block C and the column of the column block (1) are shown. By executing processing in parallel, the time required for one cycle of row processing and column processing can be reduced to 8 clocks.
制御部14は、行処理部9及び列処理部10に図7(b)に従った順番で行処理及び列処理を実行させるための指令を出力する。具体的には、制御部14は、行処理部9に、検査行列H1の行の並びに従って行処理を行わせるとともに、検査行列H1の列の並びに従って列処理を行わせる。
The
より具体的には、制御部14は、行処理部9に、最初に検査行列H1の行ブロックAについての行処理を実行させる。これは、検査行列Hからみると、1行目と4行目についての行処理を最初に行うことになる。
More specifically, the
つまり、制御部14は、行処理部9に、検査行列Hの1行目と4行目の非零要素についての各βmnの値が記憶されているアドレスを指定する。行処理部9は、当該アドレスを用いてβmnの値を記憶部11から取得する。そして、行処理部9は、λnの値をも用いて、式(1)に従って、検査行列Hの1行目と4行目の非零要素についてのαmnをそれぞれ算出する。
さらに、制御部14は、行処理部9に、検査行列Hの1行目と4行目の非零要素についてのαmnが記憶されるアドレスを指定する。行処理部9は、算出されたαmnを、当該アドレスに従って、記憶部11に書き込む。これにより、当該αmnについての記憶部11の値が更新される。
That is, the
Furthermore, the
同様に、制御部14は、行処理部9に、検査行列H1の行ブロックBについての行処理を実行させる。これは、検査行列Hからみると、6行目と3行目についての行処理を行うことになる。さらに、制御部14は、行処理部9に、検査行列H1の行ブロックCについての行処理を実行させる。これは、検査行列Hからみると、5行目と2行目についての行処理を行うことになる。
Similarly, the
また、制御部14は、行処理部9に検査行列H1の行ブロックCについての行処理を実行させるのと同時に、列処理部10に列処理を開始させる。
つまり、制御部14は、列処理部10に、検査行列H1の行ブロックCについての行処理と並列的に、検査行列H1の列ブロック(1)についての列処理を実行させる。検査行列H1において列の入替は行われていないので、列処理については、検査行列H1の各列ブロックについての列処理と検査行列Hの各列ブロックについての列処理とは、実質的に等価である。
In addition, the
That is, the
列処理の際、制御部14は、列処理部10に、検査行列H(検査行列H1)の1列目と2列目からなる列ブロック(1)の非零要素についてのαmnの値が記憶されている記憶部11のアドレスを指定する。列処理部10は、当該アドレスを用いてαmnの値を記憶部11から取得し、式(2)に従って、検査行列H(検査行列H1)の1列目と2列目の非零要素についてのβmnをそれぞれ算出する。
制御部14は、さらに、列処理部10に、記憶部11の検査行列H(検査行列H1)の1列目と2列目の非零要素についてのβmnが記憶されるアドレスを指定する。列処理部10は、当該アドレスに従って、算出した各βmnを記憶部11に書き込む。これにより。当該βmnについての記憶部11の値が更新される。
At the time of column processing, the
The
ただし、各列に含まれる非零要素の位置は、検査行列Hと検査行列H1とでは異なるため、列処理部10がβmnの値を記憶部11から取得したり、αmnの値を記憶部11に書き込んだりする際には、行の入替に伴う非零要素の位置の違いに対応しつつ記憶部11へアクセスする。
なお、本実施形態の記憶部11は、検査行列H1における非零要素の配置に従って、αmn及びβmnの値を格納している。この点については後述する。
However, since the positions of the non-zero elements included in each column are different between the check matrix H and the check matrix H 1 , the
Note that the
列ブロック(1)についての列処理が完了すると、続いて、制御部14は、上記と同様に列処理部10に、残りの列ブロック(2)〜(6)までの列処理を行わせる。
When the column processing for the column block (1) is completed, the
図7に示す第1入替検査行列H1に従って行処理を行うと、前述のように行処理及び列処理の1サイクルの所要時間が短くなるほか、処理結果であるβmn又はαmnを受信信号系列の並びに合わせて並び替えるための処理が不要であるという利点がある。つまり、検査行列の列の並びは受信信号系列の並びに対応しているため、列を入れ替えると、最終的に、処理結果を受信信号系列の並びに入れ替える手間が必要となり、処理の遅延が生じる場合があるが、検査行列H1では列の入替がないため、並び替えに伴う処理の遅延が回避されている。 When row processing is performed according to the first permutation check matrix H 1 shown in FIG. 7, the time required for one cycle of row processing and column processing is shortened as described above, and βmn or αmn, which is the processing result, is converted into the received signal sequence. In addition, there is an advantage that processing for rearranging them is unnecessary. That is, since the arrangement of the columns of the check matrix corresponds to the arrangement of the received signal sequences, if the columns are exchanged, finally, it is necessary to exchange the processing results of the arrangement of the received signal sequences, and processing delay may occur. However, in the parity check matrix H 1 , there is no permutation of columns, so that processing delays associated with permutation are avoided.
ただし、並び替えに伴う処理の遅延が問題とならない場合には、行だけでなく列も入れ替えても良い。図9は、図6に示す検査行列Hの行及び列を入れ替えた第2入替検査行列H2を示している。この第2入替検査行列H2は、図10(a)に示す検査行列Hと第2入替検査行列H2との行変換対応表に従って、検査行列Hの行の配置を入れ替えた後に、図10(b)に示す検査行列Hと第2入替検査行列H2との列変換対応表に従って、列の配置も入れ替えたものである。 However, if processing delays associated with rearrangement are not a problem, not only rows but also columns may be replaced. FIG. 9 shows a second replacement parity check matrix H 2 in which the rows and columns of the parity check matrix H shown in FIG. 6 are replaced. This second permutation parity check matrix H 2 is obtained by exchanging the arrangement of the rows of the parity check matrix H according to the row conversion correspondence table between the parity check matrix H and the second permutation parity check matrix H 2 shown in FIG. According to the column conversion correspondence table between the parity check matrix H and the second permutation parity check matrix H 2 shown in (b), the arrangement of the columns is also changed.
図9(a)に示す第2検査行列H2では、左下隅にある行ブロックCの列ブロック(1)の部分のほか、右上済みにある行ブロックAの列ブロック(6)の部分も、零要素しかない。したがって、行ブロックAについての行処理を行うには、少なくとも列ブロック(6)についての列処理が完了している必要はない。つまり、列ブロック(1)〜(5)までの列処理が完了すれば、列ブロック(6)についての列処理が完了せずとも、行ブロックAについての行処理を開始できる。 In the second parity check matrix H 2 shown in FIG. 9A, in addition to the column block (1) of the row block C at the lower left corner, the column block (6) of the row block A at the upper right has There are only zero elements. Therefore, in order to perform the row processing for the row block A, it is not necessary to complete the column processing for at least the column block (6). That is, when the column processing for the column blocks (1) to (5) is completed, the row processing for the row block A can be started without completing the column processing for the column block (6).
図9(b)は、これを利用して、行処理と列処理を部分的に並列処理化した場合の処理順序を示しており、検査行列H1と同様に行ブロックCの行処理実行と列ブロック(1)の列処理実行を並列的に行えるほか、列ブロック(6)の列処理実行と行ブロックAの行処理実行を並列的に行うことができる。したがって、検査行列Hに比べると2クロック分の高速化が可能である。 FIG. 9B shows the processing order when the row processing and the column processing are partially parallelized using this, and the row processing execution of the row block C is performed in the same manner as the check matrix H 1. In addition to performing column processing of the column block (1) in parallel, the column processing execution of the column block (6) and the row processing execution of the row block A can be performed in parallel. Therefore, compared with the check matrix H, the speed can be increased by 2 clocks.
図11は、記憶部11及び記憶部11に関連した構成の詳細を示している。なお、以下では、制御部14が制御する行又は列の順序の制御として、第1入替検査行列H1の行と列の並びに従う場合について説明する。
FIG. 11 shows details of the configuration related to the
図11に示すように、記憶部11は、外部値対数比αmnの記憶部11aと、事前値対数比βmnの記憶部11bとを有して構成されている。
各記憶部11a,11bは、半導体記憶装置からなり、一つのエントリについて複数のデータを記憶可能である記憶装置21〜22,31〜34を複数有して構成されている。以下では、それぞれの「記憶装置」を単に「メモリ」という。
各メモリは、一つのエントリしか有していないため、ある一つのメモリに記憶されている複数のデータへ同時にアクセス(読み取り又は書き込み)することはできず、同時には一つのデータのみアクセスが可能である。
ただし、複数のエントリへは同時にアクセス可能である。
As shown in FIG. 11, the
Each of the
Since each memory has only one entry, it is not possible to access (read or write) a plurality of data stored in one memory at the same time, and only one data can be accessed at the same time. is there.
However, a plurality of entries can be accessed simultaneously.
βmn記憶部11bは、βmnが行処理の演算に用いられるため、行処理演算に適した構成が採用されている。具体的には、行処理部9が2つの行計算部9a,9bを有していることに対応して、βmn記憶部11bは、2つのメモリ群11b−1,11b−2を有している。
The
第1メモリ群11b−1は、検査行列H1の行のうち、第1行計算部9aが実行を担う行(具体的には、検査行列H1の1行目、3行目、5行目であり、検査行列Hでは1行目、6行目、5行目に相当する)に含まれる非零要素(“1”)に対応するβmnを格納するためのものである。
第2メモリ群11b−2は、検査行列H1の行のうち、第2行計算部9bが実行を担う行(具体的には、検査行列H1の2行目、4行目、6行目であり、検査行列Hでは4行目、3行目、2行目に相当する)に含まれる非零要素(“1”)に対応するβmnを格納するためのものである。
The
βmn記憶部11bの各メモリ群11b−1,11b−2は、検査行列H1(検査行列H)の行重み(各行に含まれる非零要素の数)に応じた数(=4)のメモリ(記憶装置)を有して構成されている。なお、検査行列H1(検査行列H)では、各行の行重みが一定(=4)である。
Each of the
βmn記憶部11bの各メモリ群11b−1,11b−2を構成するメモリ21〜28は、各行計算部9a,9bがそれぞれ3つの行の行処理を担当することに対応して、それぞれ、3つのデータを格納可能である。
つまり、第1メモリ群11b−1を構成する「メモリ1」21〜「メモリ4」24の「アドレス1」には、検査行列H1の1行目に含まれる非零要素に対応するβmnの値が格納され、同様に、「アドレス2」には3行目のβmnの値が格納され、「アドレス3」には5行目のβmnの値が格納されている。
また、第2メモリ群11b−2を構成する「メモリ5」25〜「メモリ8」28の「アドレス1」には、検査行列H1の2行目に含まれる非零要素に対応するβmnの値が格納され、同様に、「アドレス2」には4行目のβmnの値が格納され、「アドレス3」には6行目のβmnの値が格納されている。
なお、図11では、βmnを、検査行列H1における非零要素の位置を示す座標形式表示「(行、列)」で表している。また、αmnについても同様である。
The memories 21 to 28 constituting each of the
That is, “
Further, “
In FIG. 11, βmn is represented by a coordinate format display “(row, column)” indicating the position of the non-zero element in the check matrix H 1 . The same applies to αmn.
図11に示すように、βmn記憶部11bには、検査行列H1における非零要素の配置に従ってβmnが格納されているとともに、同時に実行される行のβmnが同じアドレスに格納されているため、行処理部9がβmn記憶部11bから読み出し(データの取得)をする際には、βmn記憶部11bのアドレスを一つ指定すれば足りる。
つまり、検査行列H1の1行目及び2行目からなる行ブロックAの行処理を実行する際に必要なβmnは、βmn記憶部のメモリ1〜メモリ8のアドレス1に格納されているため、βmn記憶部11bの8個の全エントリについて「アドレス1」を指定すれば、行処理部9は、検査行列H1の1行目及び2行目のβmnを一気に取得でき、第1行計算部9aと第2行計算部9bは同時に行処理を行うことができる。
As shown in FIG. 11, the
That, Betamn necessary for performing the row process of row block A consisting of the first and second rows of the check matrix H 1, because they are stored in the
また、検査行列H1の3行目及び4行目からなる行ブロックBについては、「アドレス2」を指定すればよく、検査行列H1の5行目及び6行目からなる行ブロックCについては、「アドレス3」を指定すればよい。
For the row block B consisting of the third and fourth rows of the parity check matrix H 1 , “
αmn記憶部11aは、αmnが列処理の演算に用いられるため、列処理演算に適した構成が採用されている。具体的には、列処理部10が2つの行計算部10a,10bを有していることに対応して、αmn記憶部11aは、2つのメモリ群11a−1,11a−2を有している。
The
αmn記憶部11aの第1メモリ群11a−1は、検査行列H1の列のうち、第1列計算部10aが実行を担う列(具体的には、検査行列H1の1列目、3列目、5列目、7列目、9列目、11列目)に含まれる非零要素(“1”)に対応するαmnを格納するためのものである。
αmn記憶部11aの第2メモリ群11a−2は、検査行列H1の行のうち、第2列計算部10bが実行を担う行(具体的には、検査行列H1の2列目、4列目、6列目、8列目、10列目、12列目)に含まれる非零要素(“1”)に対応するαmnを格納するためのものである。
The
αmn記憶部11aの各メモリ群11a−1,11a−2は、検査行列H1(検査行列H)の列重み(各列に含まれる非零要素の数)に応じた数(=2)のメモリ(記憶装置)を有して構成されている。なお、検査行列H1(検査行列H)では、各列の列重みが一定(=2)である。
Each of the
αmn記憶部11aの各メモリ群11a−1,11a−2を構成するメモリ31〜34は、各列計算部10a,10bが、それぞれ6つの列の列処理を担当することに対応して、それぞれ、6つのデータを格納可能である。
つまり、第1メモリ群11a−1を構成する「メモリ1」31及び「メモリ2」32の「アドレス1」には、検査行列H1の1列目に含まれる非零要素に対応するαmnの値が格納され、同様に、「アドレス2」には3列目のαmnの値が格納され、「アドレス3」には5列目のαmnの値が格納され、「アドレス4」には7列目のαmnの値が格納され、「アドレス5」には9列目のαmnの値が格納され、「アドレス6」には11列目のαmnの値が格納されている。
The
That is, “
また、第2メモリ群11a−2を構成する「メモリ3」33及び「メモリ4」34の「アドレス1」には、検査行列H1の2列目に含まれる非零要素に対応するαmnの値が格納され、同様に、「アドレス2」には4列目のαmnの値が格納され、「アドレス3」には6列目のαmnの値が格納され、「アドレス4」には8列目のαmnの値が格納され、「アドレス5」には10列目のαmnの値が格納され、「アドレス6」には12列目のαmnの値が格納されている。
Further, “
上記のように、αmn記憶部11aには、検査行列H1における非零要素の配置に従ってαmnが格納されているとともに、同時に実行される列のαmnが同じアドレスに格納されているため、列処理部10がαmn記憶部11aから読み出し(データの取得)をする際には、αmn記憶部11aのアドレスを一つ指定すれば足りる。
つまり、検査行列H1の1列目及び2列目からなる列ブロック(1)の列処理を実行する際に必要なαmnは、αmn記憶部11aのメモリ1〜メモリ4のアドレス1に格納されているため、αmn記憶部11aの4個の全エントリについて「アドレス1」を指定すれば、列処理部9は、検査行列H1の1列目及び2列目のαmnを一気に取得でき、第1列計算部10aと第2列計算部10bは同時に列処理を行うことができる。
As described above, the
That, Arufamn necessary for performing the column process of column block (1) consisting of first and second columns of the check matrix H 1 is stored in the
また、検査行列H1の3列目及び4列目からなる列ブロック(2)については、「アドレス2」を指定すればよく、検査行列H1の5列目及び6列目からなる列ブロック(3)については、「アドレス3」を指定すればよく、検査行列H1の7列目及び8列目からなる列ブロック(4)については、「アドレス4」を指定すればよく、検査行列H1の9列目及び10列目からなる列ブロック(5)については、「アドレス5」を指定すればよく、検査行列H1の11列目及び12列目からなる列ブロック(6)については、「アドレス6」を指定すればよい。
For the column block (2) consisting of the third and fourth columns of the parity check matrix H 1 , “
さて、本実施形態の記憶部11のαmn記憶部11a及びβmn記憶部11bは、上記のように、データの読み出しは、行処理及び列処理の手順に合わせて、一気に行えるように、αmn及びβmnを保持している。
一方、データの書き込みについては、行計算ブロック9a,9bの出力とαmn記憶部11aのエントリとが直接対応しておらず、列計算ブロック10a,10bとβmn記憶部11bのエントリとも直接対応していないため、計算結果をどのエントリに与えるかを選択する必要がある。
しかも、一つのメモリには一つのデータしか同時に書き込めないところ、一つのメモリに対し同時に複数の計算結果を書き込む必要が生じる場合があるため、タイミングの調整も必要となる。
Now, as described above, the
On the other hand, for data writing, the output of the row calculation blocks 9a and 9b does not directly correspond to the entry of the
In addition, since only one data can be simultaneously written in one memory, it may be necessary to write a plurality of calculation results in one memory at the same time, so timing adjustment is also necessary.
そこで、本実施形態では、図11にも示すように、行処理部9の出力とαmn記憶部11aのエントリの間に第1選択部17が設けられ、列処理部10の出力とβmn記憶部11bのエントリの間に第2選択部18が設けられており、これら選択部17,18は、制御部14によって制御される。そして、これら選択部17,18が制御部14によって適切に制御されることで、行計算ブロック9a,9b及び列計算ブロック10a,10bの出力を、適切に、記憶部11に書き込むことができる。
Therefore, in the present embodiment, as shown in FIG. 11, the
図12は、第1選択部17の詳細を示している。第1選択部17は、αmn記憶部11aのメモリ31〜34のメモリエントリの数に応じた数(=4)のマルチプレクサM1〜M4を有している。具体的には、第1選択部17は、「メモリ1」31にデータを出力するように接続された第1マルチプレクサM1、「メモリ2」32にデータを出力するように接続された第2マルチプレクサM2、「メモリ3」33にデータを出力するように接続された第3マルチプレクサM3、「メモリ4」34にデータを出力するように接続された第4マルチプレクサM4を有している。
FIG. 12 shows details of the
各マルチプレクサM1〜M4の入力側は、第1及び第2行計算部9a,9bの出力に対して、必要に応じて接続されている。
ここで、図12に示すように、第1及び第2行計算部9a,9bは、それぞれ4つの出力9a−1〜9a−4,9b−5〜9b−8を有している。第1行計算部9aの第1の出力9a−1は、βmn記憶部11bの「メモリ1」21に記憶されているβmnと同座標の非零要素に対応するαmnを行計算結果として出力する。つまり、第1行計算部9aが1行目の行処理を行う場合、「メモリ1」21には(1,12)=1行12列目についてのβmnの値が記憶されているから、第1行計算部9aは、他のメモリ22〜24の値を用いて、(1,12)=1行12列目についてのαmnの値を計算し、当該αmnを出力する。
The input sides of the multiplexers M1 to M4 are connected to the outputs of the first and second
Here, as shown in FIG. 12, the first and second
同様に、第1行計算部9aの第2の出力9a−2は、βmn記憶部11bの「メモリ2」22に記憶されているβmnに対応するαmnを行計算結果として出力し、第2行計算部9aの第3の出力9a−3は、βmn記憶部11bの「メモリ3」23に記憶されているβmnに対応するαmnを行計算結果として出力し、第1行計算部9aの第4の出力9a−4は、βmn記憶部11bの「メモリ4」24に記憶されているβmnに対応するαmnを行計算結果として出力する。
また、第2行計算部9の第5の出力9b−5〜第8の出力9b−8についても同様である。
Similarly, the
The same applies to the
さて、前記第1マルチプレクサM1の入力側には、出力9a−1〜9a−4,9b−5〜9b−8のうち、第3出力9a−3、第4出力9a−4、第6出力9b−6、及び第7出力9b−7が接続されている。これは、第1マルチプレクサM1の出力が接続されているαmn記憶部11aの「メモリ1」31は、(1,1),(2,3),(4,5),(4,7),(3,9),(1,11)の非零要素についてのαmnの値を格納するための領域となっており、これらのαmnの出力するのは、上記4つの出力9a−3、9a−4、9b−6、9b−7だからである。
Of the
同様の観点から、第2〜第4マルチプレクサM2〜M4の入力側にも、出力9a−1〜9a−4,9b−5〜9b−8のうち、必要な出力が接続されている。このように本実施形態では、必要な出力だけがマルチプレクサに接続されているため、配線の数を少なくできる。
なお、各マルチプレクサには、それぞれ、全出力9a−1〜9a−4,9b−5〜9b−8を接続してもよい。この場合、記憶部11におけるαmn及びβmnの配置に影響を受けない汎用的な回路構成が得られる。
From the same viewpoint, necessary outputs among the
Note that all the
前記制御部14は、行処理部9が行処理演算結果をαmn記憶部に書き込む際には、第1選択部の各マルチプレクサM1〜M4に対し、どの入力を出力するかを選択するための選択信号C1〜C4を出力する。
選択信号C1〜C4は、制御部14が有するスケジュールデータ14aに基づいて生成される。図13は、行処理部9が行処理演算結果をαmn記憶部に書き込む際のスケジュールデータの一例を示している。
When the
The selection signals C1 to C4 are generated based on the
図13のスケジュールデータにおいて、「座標」は、検査行列H1における非零要素の座標を示している。また、「時刻」は、当該座標の非零要素についての行処理が行われる時刻を示しており、図6(b)の「時間」と対応している。「メモリ番号」は、「座標」で示される非零要素についての行処理計算結果であるαmnの値が書き込まれるαmn記憶部11のメモリ1〜4の番号を示している。「メモリアドレス」は、「座標」で示される非零要素についての行処理計算結果であるαmnの値が書き込まれるメモリのアドレスを示している。「切り替え番号」は、マルチプレクサによって選択されるマルチプレクサ入力番号(1〜4又は1〜5)を示している。なお、メモリ31〜34とマルチプレクサM1〜M4は一対一で対応しているため、「切り替え番号」が与えられるべきマルチプレクサは、「メモリ番号」によって特定される。
In the schedule data of FIG. 13, “coordinates” indicate the coordinates of non-zero elements in the check matrix H 1 . “Time” indicates the time at which the row processing is performed for the non-zero element of the coordinate, and corresponds to “Time” in FIG. The “memory number” indicates the number of the
図13に示すように、検査行列H1の1行目及び2行目からなる行ブロックAについての行処理が行われる時刻「1」においては、例えば、座標(1,1)のαmnは、αmn記憶部11aの「メモリ1」(=メモリ番号:1)の「メモリアドレス1」に書き込まれるべきものである。そして、図11及び図12から明らかなように、座標(1,1)のαmnは、第1行計算部9aの第3出力9a−4から出力され、第1マルチプレクサM1の第1入力に与えられている。
このため、第1マルチプレクサM1に与えられる選択信号C1としては、第1入力を選択するための「1」であればよく、この「1」が、座標(1,1)についての「切り替え番号」として図13のスケジュールデータ14aに登録されている。
As shown in FIG. 13, at the time “1” when the row processing for the row block A composed of the first row and the second row of the parity check matrix H 1 is performed, for example, αmn of the coordinates (1, 1) is It should be written to “
Therefore, the selection signal C1 provided to the first multiplexer M1 may be “1” for selecting the first input, and this “1” is the “switching number” for the coordinates (1, 1). Is registered in the
図13のスケジュールデータ14aには、他の座標のαmnについても同様に、αmn記憶部11aに書き込む際の「切り替え番号」が登録されている。
制御部14は、このスケジュールデータ14aに従って、それぞれの「時刻」ごとに第1〜第4マルチプレクサM1〜M4への選択信号C1〜C4を生成し、各マルチプレクサM1〜M4へ与える。
In the
The
ただし、図13のスケジュールデータ例は単純なものであるため、例えば、検査行列H1の1行目及び2行目からなる行ブロックAが処理される時刻「1」においては、「メモリ番号」=1で特定される「メモリ1」31への書き込みが3回必要である。
また、検査行列H1の3行目及び4行目からなる行ブロックBが処理される時刻「2」においても、「メモリ番号」=1で特定される「メモリ2」32への書き込みが3回必要である。
However, since the schedule data example in FIG. 13 is simple, for example, at the time “1” when the row block A including the first row and the second row of the check matrix H 1 is processed, the “memory number” Writing to the “
In addition, at time “2” when the row block B including the third row and the fourth row of the check matrix H 1 is processed, writing to the “
このように、同一「時刻」において、同一メモリへの書き込みが必要な場合には、当該「時刻」を細分化したクロックに従って、各書き込みが順次行われるように、マルチプレクサM1〜M4の選択信号C1〜C4の出力タイミングをずらせばよい。この場合、メモリ書き込みのための処理遅延が発生する。この処理遅延の発生を回避するには、それぞれのαmnの値を、どのメモリのどのアドレスに置くかを工夫すればよく、そして、そのメモリ配置に応じて適切なスケジュールデータを決定すれば、前記処理遅延を回避できる。
なお、αmnのメモリ配置を図11に示すものと異なるものにした場合、選択部を、βmn記憶部11bと行処理部9との間に設けて、当該選択部を制御するためのスケジュールデータを用意すればよい。
As described above, when writing to the same memory is necessary at the same “time”, the selection signals C1 of the multiplexers M1 to M4 are sequentially performed according to a clock obtained by subdividing the “time”. The output timing of .about.C4 may be shifted. In this case, processing delay for memory writing occurs. In order to avoid the occurrence of this processing delay, it suffices to devise which address of which memory each αmn value is placed, and if appropriate schedule data is determined according to the memory arrangement, Processing delay can be avoided.
If the memory layout of αmn is different from that shown in FIG. 11, a selection unit is provided between the
また、前記第2選択部18についても、第1選択部17と同様に構成されており、具体的には、βmn記憶部11bが8個のメモリ21〜28から構成されていることに対応して、8個のマルチプレクサM11〜M18から構成されている。各マルチプレクサM11〜M18の出力は、βmn記憶部11bの各メモリ21〜28のエントリに接続されている。列処理部10と第2選択部の各マルチプレクサM11〜M18との間の詳細な配線は図示を省略するが、第1選択部17と同様に、列計算部10a,10bの出力と、βmn記憶部に記憶されるβmnとの関係に従って配線される。
なお、第2選択部18においても、列計算部10a,10bの全出力を、それぞれのマルチプレクサM11〜M18の入力側に接続してもよく、この場合、回路の汎用性が広がる。
The
In the
第2選択部18の各マルチプレクサM11〜M18に対しても、制御部14は、スケジュールデータ(図示省略)に従って生成した制御信号C11〜C18を与える。これにより、列処理部10の計算結果であるβmnの値が、βmnの所定のメモリの所定のアドレスに書き込まれる。
The
なお、αmn記憶部11aと列処理部10との間に選択部を設けて、当該選択部を制御するためのスケジュールデータを用意してもよい。
Note that a selection unit may be provided between the
以上のように構成することで、行処理部9及び/又は列処理部10の処理結果を、スケジュールデータに従って制御される選択部17,18によって、記憶部9の所定のメモリの所定のアドレスに書き込むことができる。また、行処理部9及び/又は列処理部10が処理に必要なαmn又はβmnを、スケジュールデータに従って制御される制御部によって、記憶部9の所定のメモリの所定のアドレスから読み出すことができる。
したがって、記憶部9におけるαmn及び/又はβmnの配置、及びスケジュールデータを適切に設定することで、本実施形態のような記憶部9においても、メモリアクセス遅延を小さくすることができる。
With the configuration described above, the processing results of the
Therefore, by appropriately setting the arrangement of αmn and / or βmn and the schedule data in the
図14は、検査行列Hの行の並びだけを入れ替えた第1入替検査行列H1の行及び列の並びに従って復号処理を行った場合(実施例)と、検査行列Hの行及び列の並びに従って復号処理を行った場合(比較例)の誤り率(ビットエラーレート)を示したものである。図14に示すように、実施例と比較例では、ほぼ同じ誤り率であり、実施例のように行の並びを入れ替えても復号特性に影響がないことがわかる。 FIG. 14 shows a case where the decoding process is performed according to the row and column arrangement of the first replacement parity check matrix H 1 in which only the row arrangement of the parity check matrix H is replaced (example), and the row and column arrangement of the parity check matrix H. The error rate (bit error rate) when the decoding process is performed according to (Comparative example) is shown. As shown in FIG. 14, the error rate is almost the same between the embodiment and the comparative example, and it can be seen that the decoding characteristics are not affected even if the row arrangement is changed as in the embodiment.
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。
例えば、復号法は、sum-product復号法に限らず、min-sum復号法であってもよい。
The present invention is not limited to the above embodiment, and various modifications can be made without departing from the scope of the invention.
For example, the decoding method is not limited to the sum-product decoding method, and may be a min-sum decoding method.
1:符号化器、2:変調器、3:通信路、4:復調器、4a:復調回路、4b:アナログ/デジタル変換回路、5:復号器、6:対数尤度比算出部、9:行処理部、9a:第1計算部、9b:第2計算部、10:列処理部、10a:第1列計算部、10b:第2列計算部、11:記憶部、11a:αmn記憶部、11b:βmn記憶部、12:判定部、14:制御部、14a:スケジュールデータ、17:第1選択部、18:第2選択部、M1〜M8:マルチプレクサ、M11〜M18:マルチプレクサ
1: encoder, 2: modulator, 3: communication channel, 4: demodulator, 4a: demodulation circuit, 4b: analog / digital conversion circuit, 5: decoder, 6: log likelihood ratio calculation unit, 9: Row processing unit, 9a: first calculation unit, 9b: second calculation unit, 10: column processing unit, 10a: first column calculation unit, 10b: second column calculation unit, 11: storage unit, 11a:
Claims (4)
行処理の演算結果及び列処理の演算結果を記憶する記憶部と、
前記記憶部から取得した前記列処理の演算結果を用いて、前記パリティ検査行列に基づく行処理を行って、行処理の演算結果を前記記憶部へ出力する行処理部と、
前記記憶部から取得した前記行処理の演算結果を用いて、前記パリティ検査行列に基づく列処理を行って、列処理の演算結果を前記記憶部へ出力する列処理部と、
復号過程を制御する制御部と、
を備え、
前記行処理部は、パリティ検査行列の一部の複数行についての行処理を行う部分行処理部として構成され、
前記列処理部は、パリティ検査行列の一部の複数列についての列処理を行う部分列処理部として構成され、
前記制御部は、前記部分行処理部及び/又は前記部分列処理部が実行すべき行及び/又は列の順番を制御するとともに、制御された当該順番に応じて、前記部分行処理部及び/又は前記部分列処理部による前記記憶部へのアクセスを制御し、
前記記憶部は、
前記部分行処理部による行処理演算結果を記憶する第1の記憶部と、
前記部分列処理部による列処理演算結果を記憶する第2の記憶部と、
を有し、
前記第1の記憶部は、一つのエントリについて複数の行処理演算結果を記憶可能である記憶装置を、複数有することで、複数のエントリを備えており、各エントリについて指定されたアドレスに記憶された行処理演算結果が、前記部分列処理部へ出力されるよう構成され、
前記第2の記憶部は、一つのエントリについて複数の列処理演算結果を記憶可能である記憶装置を、複数有することで、複数のエントリを備えており、各エントリについて指定されたアドレスに記憶された列処理演算結果が、前記部分行処理部へ出力されるよう構成され、
前記部分列処理部によって同時に列処理が実行される複数の列に含まれる非零要素に対応する複数の行処理演算結果が、前記第1の記憶部を構成する複数の記憶装置の同一アドレスに格納され、
前記部分行処理部によって同時に行処理が実行される複数の行に含まれる非零要素に対応する複数の列処理演算結果が、前記第2の記憶部を構成する複数の記憶装置の同一アドレスに格納され、
前記制御部は、
前記部分行処理部が、前記第2の記憶部から列処理演算結果を取得する際には、前記部分行処理部が同時に行処理を実行する複数の行に含まれる非零要素に対応する複数の列処理演算結果が格納された一つのアドレスを、前記第2の記憶部の前記複数のエントリについて指定し、
前記部分列処理部が、前記第1の記憶部から行処理演算結果を取得する際には、前記部分列処理部が同時に列処理を実行する複数の列に含まれる非零要素に対応する複数の行処理演算結果が格納された一つのアドレスを、前記第1の記憶部の前記複数のエントリについて指定する
ことを特徴とするパリティ検査復号装置。 In a parity check decoding apparatus that repeatedly performs row processing and column processing based on a parity check matrix,
A storage unit for storing a calculation result of row processing and a calculation result of column processing;
A row processing unit that performs row processing based on the parity check matrix using the column processing calculation result obtained from the storage unit, and outputs the row processing calculation result to the storage unit;
A column processing unit that performs column processing based on the parity check matrix using the operation result of the row processing acquired from the storage unit, and outputs the operation result of column processing to the storage unit;
A control unit for controlling the decoding process;
With
The row processing unit is configured as a partial row processing unit that performs row processing for a plurality of rows of a part of a parity check matrix,
The column processing unit is configured as a partial column processing unit that performs column processing on a plurality of columns of a part of a parity check matrix,
The control unit controls the order of rows and / or columns to be executed by the partial row processing unit and / or the partial column processing unit, and according to the controlled order, the partial row processing unit and / or Or control access to the storage unit by the subsequence processing unit,
The storage unit
A first storage unit for storing a row processing calculation result by the partial row processing unit;
A second storage unit for storing a column processing calculation result by the partial sequence processing unit;
Have
The first storage unit includes a plurality of storage devices that can store a plurality of row processing calculation results for one entry, and thus has a plurality of entries, and is stored at a designated address for each entry. The row processing calculation result is output to the partial sequence processing unit,
The second storage unit includes a plurality of storage devices that can store a plurality of column processing calculation results for one entry, and thus has a plurality of entries, and is stored at a designated address for each entry. The column processing calculation result is output to the partial row processing unit,
A plurality of row processing calculation results corresponding to non-zero elements included in a plurality of columns simultaneously subjected to column processing by the partial column processing unit are assigned to the same address of a plurality of storage devices constituting the first storage unit. Stored,
A plurality of column processing calculation results corresponding to non-zero elements included in a plurality of rows that are simultaneously subjected to row processing by the partial row processing unit are assigned to the same address of a plurality of storage devices constituting the second storage unit. Stored,
The controller is
When the partial row processing unit acquires a column processing calculation result from the second storage unit, a plurality of non-zero elements included in a plurality of rows in which the partial row processing unit simultaneously executes row processing Designating one address storing the column processing calculation result of the plurality of entries in the second storage unit;
When the partial sequence processing unit acquires a row processing calculation result from the first storage unit, a plurality of non-zero elements included in a plurality of columns in which the partial sequence processing unit simultaneously performs column processing A parity check decoding apparatus characterized by designating one address storing the row processing calculation result for the plurality of entries of the first storage unit .
前記制御部は、前記選択部を制御することにより、前記部分行処理部及び/又は前記部分列処理部による前記記憶部へのアクセスを制御することを特徴とする請求項1記載のパリティ検査復号装置。 A selection unit for selecting a pre-Symbol partial row processing unit and / or the memory device the subsequence processing unit accesses,
The parity check decoding according to claim 1, wherein the control unit controls access to the storage unit by the partial row processing unit and / or the partial column processing unit by controlling the selection unit. apparatus.
前記制御部は、前記スケジュールデータに基づいて、前記選択部を制御することを特徴とする請求項2記載のパリティ検査復号装置。 The control unit has schedule data that defines when the partial row processing unit and / or the partial column processing unit access which storage device among the plurality of storage devices,
The parity check decoding apparatus according to claim 2, wherein the control unit controls the selection unit based on the schedule data.
The control unit controls the order of rows to be executed by the partial row processing unit so that the order is different from the row order in the parity check matrix. The parity check decoding apparatus according to any one of claims 1 to 3, wherein the order is controlled so as to be the same as the order of columns in the parity check matrix.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007202740A JP4803134B2 (en) | 2007-08-03 | 2007-08-03 | Parity check decoder |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007202740A JP4803134B2 (en) | 2007-08-03 | 2007-08-03 | Parity check decoder |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009038703A JP2009038703A (en) | 2009-02-19 |
| JP4803134B2 true JP4803134B2 (en) | 2011-10-26 |
Family
ID=40440225
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007202740A Expired - Fee Related JP4803134B2 (en) | 2007-08-03 | 2007-08-03 | Parity check decoder |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4803134B2 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006340016A (en) * | 2005-06-01 | 2006-12-14 | Toshiba Microelectronics Corp | Error correction code decoding apparatus and decoding method using the same |
| JP2007043635A (en) * | 2005-06-29 | 2007-02-15 | Samsung Electronics Co Ltd | Low-density parity check code decoding apparatus, decoding method, and decoding program |
-
2007
- 2007-08-03 JP JP2007202740A patent/JP4803134B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009038703A (en) | 2009-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101405962B1 (en) | Decoding method using LDPC code | |
| US10536169B2 (en) | Encoder and decoder for LDPC code | |
| JP4867980B2 (en) | Error correction decoding device | |
| JP4702632B2 (en) | ENCODING METHOD, ENCODING DEVICE, AND PROGRAM | |
| KR102019893B1 (en) | Apparatus and method for receiving signal in communication system supporting low density parity check code | |
| CN103069720B (en) | Error correction decoding device and error correction decoding method | |
| EP1986329A1 (en) | Decoding apparatus with a plurality of memories for decoding of LDPC codes | |
| JPWO2010073922A1 (en) | Error correction encoding apparatus, decoding apparatus, encoding method, decoding method, and program thereof | |
| US10090860B2 (en) | Memory system using integrated parallel interleaved concatenation | |
| KR101227264B1 (en) | Method and apparatus for block and rate independent decoding of ldpc codes | |
| JP4602406B2 (en) | Method and apparatus for encoding and decoding data | |
| KR20080072392A (en) | Apparatus and method for receiving signal in communication system | |
| US20090031200A1 (en) | High Rate, Long Block Length, Low Density Parity Check Encoder | |
| KR101077552B1 (en) | APPARATUS AND METHOD OF DECODING LOW DENSITY PARITY CHECK CODE USING MUlTI PROTOTYPE MATRIX | |
| CN120958728A (en) | Dedicated hardware device for decoding non-binary polar codes. | |
| JP4645645B2 (en) | Decoding device and check matrix generation method | |
| JP2005045735A (en) | Code detection apparatus and method, decoding apparatus and method, and information processing apparatus and method | |
| KR101216075B1 (en) | Apparatus and method for decoding using channel code | |
| CN102655413A (en) | Decoding device, decoding method, and program | |
| JP4803134B2 (en) | Parity check decoder | |
| JP2009260692A (en) | Decoding apparatus and decoding method | |
| KR20090064709A (en) | Parity check matrix generator and method thereof for LDPC code, and LDPC / decoding device using the same | |
| JP4985843B2 (en) | Decoding device | |
| US20170359085A1 (en) | Coding apparatus, transport apparatus, and coding method | |
| JP4618293B2 (en) | Decoding device and check matrix generation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100223 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110124 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110623 |
|
| 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: 20110712 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110725 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |