Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4803134B2 - Parity check decoder - Google Patents
[go: Go Back, main page]

JP4803134B2 - Parity check decoder - Google Patents

Parity check decoder Download PDF

Info

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
Application number
JP2007202740A
Other languages
Japanese (ja)
Other versions
JP2009038703A (en
Inventor
政彦 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2007202740A priority Critical patent/JP4803134B2/en
Publication of JP2009038703A publication Critical patent/JP2009038703A/en
Application granted granted Critical
Publication of JP4803134B2 publication Critical patent/JP4803134B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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のものでは、処理速度を早くすることができる。
特開2005−269535号公報 Darabiha, A ,A bit-serial approximate min-sum LDPC decoder and FPGA implementation Proc. IEEE ISCA2006 Kazuhiro Shimizu "Partially-Parallel LDPC Decoder Based on High Efficiency Message-Passing Algorithm", Proc. IEEE ICCD2005,pp.503-510
Therefore, Non-Patent Document 1 attempts to reduce the size of the circuit by performing an approximate serial calculation process for the parallel calculation process.
Non-Patent Document 2 proposes a partially parallel processing type LDPC decoder based on bit-serial processing.
In the non-patent document 1, the processing speed is reduced because the serial processing is complete, but in the non-patent document 2, the processing speed can be increased.
JP 2005-269535 A Darabiha, A, A bit-serial approximate min-sum LDPC decoder and FPGA implementation Proc.IEEE ISCA2006 Kazuhiro Shimizu "Partially-Parallel LDPC Decoder Based on High Efficiency Message-Passing Algorithm", Proc. IEEE ICCD2005, pp.503-510

非特許文献1,2におけるビットシリアル処理においては、回路を小型化できる。しかし、ビットシリアル処理においては、アルゴリズムの特性上、受信信号を前から順に処理していくため、その復号結果は受信信号系列の前の方のデータに大きく依存する。この結果、受信信号系列の前の方に誤りが集中したデータを受け取った場合、正常に復号できない可能性が高い。    In the bit serial processing in Non-Patent Documents 1 and 2, the circuit can be reduced in size. However, in the bit serial processing, the received signal is processed in order from the front due to the characteristics of the algorithm, and the decoding result largely depends on the earlier data of the received signal sequence. As a result, when data with concentrated errors is received in front of the received signal sequence, there is a high possibility that it cannot be normally decoded.

そこで、本発明は、ビットシリアル処理を用いることなく回路を小型化しつつ処理速度の低下を防止するとともに、復号性能が損なわれるのを防止するのに適したパリティ検査復号装置を提供することを目的とする。   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 encoder 1 for generating a transmission code by adding redundant bits for error correction to transmission information, and a code of (K + M) bits from the encoder 1 are used. And a modulator 2 that modulates and outputs to the communication path 3 according to a predetermined method.

符号化器1は、Kビットの情報に対し、パリティ計算用の冗長ビットMビットを付加して、(K+M)ビットのLDPC(低密度パリティ検査)符号化データを生成する。低密度パリティ検査行列においては、行が冗長ビットに対応し、列が符号ビットに対応する。なお、(K+M)ビットのLDPC符号化データのどのビットに、K個の情報ビット及びM個の冗長ビットを配置するかは、送信側と受信側で取り決めていれば、どのように配置してもよい。   The encoder 1 adds M bits of redundant bits for parity calculation to the K bits of information to generate (K + M) bits of LDPC (low density parity check) encoded data. In the low density parity check matrix, rows correspond to redundant bits and columns correspond to code bits. It should be noted that, in which bits of the (K + M) bits of LDPC encoded data, the K information bits and the M redundant bits are arranged as determined by the transmission side and the reception side. Also good.

変調器2は、この通信路3の構成に応じて、振幅変調、位相変調、コード変調、周波数変調または直交周波数分割多重変調などの変調を行なう。たとえば、通信路3が、光ファイバの場合、変調器2においては、レーザダイオードの輝度を送信情報ビット値に応じて変更させることにより、光の強度変調(一種の振幅変調)を行なっている。たとえば、送信データビットが“0”の場合には、”+1”に変換して、レーザダイオードの発光強度を強くして送信し、また送信データビットが“1”の場合、”−1”に変換して、レーザダイオードの発光強度を弱くして送信する。   The modulator 2 performs modulation such as amplitude modulation, phase modulation, code modulation, frequency modulation or orthogonal frequency division multiplexing modulation according to the configuration of the communication path 3. For example, when the communication path 3 is an optical fiber, the modulator 2 performs light intensity modulation (a kind of amplitude modulation) by changing the luminance of the laser diode according to the transmission information bit value. For example, when the transmission data bit is “0”, it is converted to “+1”, and the laser diode is transmitted with an increased emission intensity. When the transmission data bit is “1”, it is changed to “−1”. After conversion, the emission intensity of the laser diode is weakened and transmitted.

通信システムは、受信側においては、通信路3を介して送信された変調信号に復調処理を施して、(K+M)ビットのデジタル符号を復調する復調器4と、この復調器4からの(K+M)ビットの符号にパリティ検査行列に基づく復号処理を施して元のKビットの情報を再生する復号器(復号装置)5が設けられる。   In the communication system, on the receiving side, a demodulator 4 that demodulates a modulated signal transmitted via the communication path 3 and demodulates a digital code of (K + M) bits, and (K + M) from the demodulator 4 ) A decoder (decoding device) 5 is provided that performs decoding processing based on a parity check matrix on a bit code to reproduce the original K-bit information.

復調器4は、この通信路3における送信形態に応じて復調処理を行なう。たとえば、振幅変調、位相変調、コード変調、周波数変調および直交周波数分割多重変調等の場合、復調器4において、振幅復調、位相復調、コード復調、および周波数復調等の処理が行なわれる。   The demodulator 4 performs demodulation processing according to the transmission form in the communication path 3. For example, in the case of amplitude modulation, phase modulation, code modulation, frequency modulation, orthogonal frequency division multiplexing modulation, etc., the demodulator 4 performs processing such as amplitude demodulation, phase demodulation, code demodulation, and frequency demodulation.

図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 modulator 2 and the demodulator 4 when the communication path 3 is an optical fiber. In FIG. 2, as described above, when the communication path 3 is an optical fiber, the modulator 2 converts the transmission data to “1” when the transmission data is “0”, and the transmission laser diode (light emitting diode) When the emission intensity increases and the transmission data bit is “1”, it is converted to “−1”, and the emission intensity of the laser diode is reduced to transmit.

この通信路3における伝送損失等により、復調器4に伝達される光強度は、最も強い強度から最も弱い強度までの間のアナログ的な強度分布を有する。復調器4においては、この入力された光信号に、量子化処理(アナログ/デジタル変換)を行なって、この受光レベルを検出する。
図2においては、8段階に受光レベルが量子化された場合の受信信号強度を示す。すなわち、受光レベルがデータ“7”のときには、発光強度がかなり強く、受光レベルが“0”のときには、光強度がかなり弱い状態である。各受光レベルは、符号付きデータに対応づけられ、復調器4から出力される。この復調器4の出力は、受光レベルが“7”のときにはデータ“3”が出力され、受光レベルが“0”のときには、データ“−4”が出力される。したがってこの復調器4からは、1ビットの受信信号に対し、多値量子化された信号が出力される。
The light intensity transmitted to the demodulator 4 due to transmission loss in the communication path 3 has an analog intensity distribution from the strongest intensity to the weakest intensity. The demodulator 4 performs a quantization process (analog / digital conversion) on the input optical signal to detect the received light level.
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 demodulator 4. The output of the demodulator 4 is data “3” when the light reception level is “7”, and data “−4” when the light reception level is “0”. Therefore, the demodulator 4 outputs a signal subjected to multilevel quantization with respect to a 1-bit received signal.

復号器5は、この復調器4から与えられた(K+M)ビットの受信情報(各ビットは、多値情報を含む)の入力を受け、sum-product復号法又はmin-sum復号法に従ってLDPCパリティ検査行列を適用して、元のKビットの情報を復元する。   The decoder 5 receives (K + M) -bit received information (each bit includes multi-level information) given from the demodulator 4 and receives LDPC parity according to the sum-product decoding method or the min-sum decoding method. A check matrix is applied to restore the original K-bit information.

なお、この図2においては、復調器4において、8レベルに量子化されたビットが生成されている。しかしながら、一般に、この復調器4においては、L値(L≧2)に量子化されたビットを用いて復号処理を行なうことができる。   In FIG. 2, the demodulator 4 generates bits quantized to 8 levels. However, in general, the demodulator 4 can perform decoding using bits quantized to L values (L ≧ 2).

また、図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 decoder 5. In FIG. 3, the demodulator 4 and the communication path 3 are also shown. The demodulator 4 includes a demodulation circuit 4a that demodulates a signal applied from the communication path 3, and an analog / digital conversion circuit 4b that converts an analog demodulated signal generated by the demodulation circuit 4a into a digital signal.
Output data (encoded data) Xn of the analog / digital conversion circuit 4b is applied to the decoder 5.

復号器5へ与えられる符号化データXnは、L値(L≧2)のデータである。以下、符号化データXnは、多値量子化データであるため、シンボルと称す。復号器5は、この入力シンボルXn系列に対しsum-product復号法又はmin-sum復号法などの復号法に従って復号処理を行なって復号ビットCnを復号データとして生成する。   The encoded data Xn given to the decoder 5 is L-value (L ≧ 2) data. Hereinafter, since the encoded data Xn is multilevel quantized data, it is referred to as a symbol. The decoder 5 performs a decoding process on the input symbol Xn sequence according to a decoding method such as a sum-product decoding method or a min-sum decoding method to generate decoded bits Cn as decoded data.

復号器5は、復調器4からの復調シンボルXnの対数尤度比λnを生成する対数尤度比算出部6を備えている。
対数尤度比算出部6は、この受信信号のノイズ情報と独立に、対数尤度比λnを生成する。通常、ノイズ情報を考慮した場合、この対数尤度比λnは、Xn/(2・σ・σ)で与えられる。ここで、σは、ノイズの分散を示す。
しかしながら、本実施の形態においては、この対数尤度比算出部6は、バッファ回路または定数乗算回路で形成され、対数尤度比λnは、Xn・fで与えられる。ここで、fは非ゼロの正の数である。また、min-sum復号方法においては、検査行列に基づく復号処理(行処理)において、最小値を利用して演算を行なうため、信号処理において線形性が維持される。このため、ノイズ情報に従って出力データを正規化するなどの処理は不要である。この場合ノイズ情報を利用せずに、対数尤度比を算出することにより、回路構成が簡略化され、また計算処理も簡略化される。
The decoder 5 includes a log likelihood ratio calculation unit 6 that generates a log likelihood ratio λn of the demodulated symbol Xn from the demodulator 4.
The log likelihood ratio calculation unit 6 generates a log likelihood ratio λn independently of the noise information of the received signal. Normally, when noise information is taken into consideration, this log likelihood ratio λn is given by Xn / (2 · σ · σ). Here, σ represents noise variance.
However, in the present embodiment, the log likelihood ratio calculation unit 6 is formed by a buffer circuit or a constant multiplier circuit, and the log likelihood ratio λn is given by Xn · f. Here, f is a non-zero positive number. Further, in the min-sum decoding method, since the calculation is performed using the minimum value in the decoding process (row process) based on the parity check matrix, linearity is maintained in the signal processing. For this reason, processing such as normalization of output data according to noise information is unnecessary. In this case, by calculating the log-likelihood ratio without using noise information, the circuit configuration is simplified and the calculation process is also simplified.

また、復号器5は、パリティ検査行列の行処理を行なう行処理部9と、パリティ検査行列の列処理を行なう列処理部10と、を備えている。   In addition, the decoder 5 includes a row processing unit 9 that performs row processing of the parity check matrix and a column processing unit 10 that performs column processing of the parity check matrix.

復号法がsum-product復号法である場合、行処理部9及び列処理部10は、次式(1)及び(2)にしたがって、演算処理を行い、パリティ検査行列の行の各要素(非零要素)についての処理(行処理)、及び列についての各要素(非零要素)についての処理(列処理)を繰り返し実行する。
具体的には、行処理部9が、次式(1)にしたがって外部値対数比(第1変数)αmnを算出する演算を行い、列処理部10が、次式(2)にしたがって事前値対数比βmnを算出する演算を行う。

Figure 0004803134
When the decoding method is the sum-product decoding method, the row processing unit 9 and the column processing unit 10 perform arithmetic processing according to the following equations (1) and (2), and each element (non- The processing (row processing) for the zero element) and the processing (column processing) for each element (non-zero element) for the column are repeatedly executed.
Specifically, the row processing unit 9 performs an operation of calculating the external value logarithmic ratio (first variable) αmn according to the following equation (1), and the column processing unit 10 performs the prior value according to the following equation (2). An operation for calculating the log ratio βmn is performed.
Figure 0004803134

ここで、上式(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)で定義される。

Figure 0004803134
The function sign (x) is defined by the following equation (3).
Figure 0004803134

また、集合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 variable nodes 1, 2, and 3 are connected to the check node X (first row), and the variable nodes 3 and 4 are connected to the check node Y (second row). The variable nodes 4, 5, and 6 are connected to the check node Z (third row). This variable node corresponds to a column of the check matrix H, and check nodes X, Y, and Z correspond to each row of the check matrix H. Therefore, the parity check matrix shown in FIG. 4 is applied to a code having a code length of 6 bits in total including 3 information bits and 3 redundant bits.

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 decoder 5 includes a storage unit 11 that stores the external value logarithmic ratio αmn that is the calculation result of the row processing unit 9 and the prior value logarithm ratio βmn that is the calculation result of the column processing unit 10. .
The row processing unit 9 acquires the prior value logarithmic ratio βmn (initial value is 0) from the storage unit 11, and performs row processing calculation based on the above equation (1) from the acquired βmn and the log likelihood ratio λn. . The row processing unit 9 outputs the external value log ratio αmn, which is the calculation result of the row processing, to the storage unit 11 instead of directly supplying it to the column processing unit 10. The external value logarithmic ratio αmn stored in the storage unit 11 is updated by the external value logarithmic ratio αmn output from the row processing unit 9.

列処理部10は、記憶部11から外部値対数比αmnを取得し、取得したαmnを用いて、上式(2)に基づいて列処理演算を行う。列処理部10は、列処理の演算結果を、直接、行処理部9に与えるのではなく、記憶部11に対して出力する。記憶部11に記憶されている事前値対数比βmnは、列処理部9から出力された事前値対数比βmnによって更新される。   The column processing unit 10 acquires the external value logarithmic ratio αmn from the storage unit 11, and performs column processing calculation based on the above equation (2) using the acquired αmn. The column processing unit 10 outputs the calculation result of the column processing to the storage unit 11 instead of directly giving it to the row processing unit 9. The prior value log ratio βmn stored in the storage unit 11 is updated by the prior value log ratio βmn output from the column processing unit 9.

復号器5は、行処理及び列処理からなる復号演算の反復終了を判定するループ判定部12を備えている。この判定部12は、行処理及び列処理の反復回数が、終了回数に達したか否かを判定し、行処理と列処理の繰り返し回数が終了回数に達すると、復号演算の反復を終了させる。   The decoder 5 includes a loop determination unit 12 that determines the end of repetition of decoding operations including row processing and column processing. The determination unit 12 determines whether or not the number of iterations of row processing and column processing has reached the end count, and when the number of iterations of row processing and column processing reaches the end count, ends the iteration of the decoding operation. .

また、判定部12は、復号演算の反復が終了した後、外部値対数比αmnと対数尤度比λnとを用いて符号を判定する機能を有している。
具体的には、判定部11は、次式(6)に従って、Qnを算出する。
Further, the determination unit 12 has a function of determining a code using the external value log ratio αmn and the log likelihood ratio λn after the repetition of the decoding operation.
Specifically, the determination unit 11 calculates Qn according to the following equation (6).

Figure 0004803134
Figure 0004803134

さらに、判定部11は、次式(7)に従って、推定符号Cnを算出する。

Figure 0004803134
Further, the determination unit 11 calculates the estimated code Cn according to the following equation (7).
Figure 0004803134

さて、前記行処理部9は、図3に示すように、パリティ検査行列の任意の1行についての行処理を行って、当該行に含まれる非零要素についての外部値対数比αmnを算出する行計算部9a,9bを複数有して構成されている。本実施形態において、行計算部9a,9bは、復号処理に用いられるパリティ検査行列の行数分設けられているわけではなく、パリティ検査行列の行数よりも少ない数しか設けられていない。
つまり、行処理部9によって同時に行える行処理は、パリティ検査行列の一部の複数行についてのみであり、部分的な行処理部として構成されている。本実施形態では、部分的な行処理をシリアル的に実行することで、パリティ検査行列の全ての行についての行処理が行われる。
なお、本実施形態では、行処理部9が同時に処理できる複数の行を「行ブロック」というものとする。
Now, as shown in FIG. 3, the row processing unit 9 performs row processing for any one row of the parity check matrix and calculates the external value log ratio αmn for the non-zero elements included in the row. A plurality of row calculation units 9a and 9b are provided. In this embodiment, the row calculation units 9a and 9b are not provided for the number of rows of the parity check matrix used for the decoding process, but are provided with a number smaller than the number of rows of the parity check matrix.
That is, the row processing that can be performed simultaneously by the row processing unit 9 is only for some of the plurality of rows of the parity check matrix, and is configured as a partial row processing unit. In the present embodiment, row processing is performed on all rows of the parity check matrix by executing partial row processing serially.
In the present embodiment, a plurality of rows that can be processed simultaneously by the row processing unit 9 are referred to as “row blocks”.

ここで、パリティ検査行列として、図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 row processing unit 9 of FIG. 3 is provided with a first row calculation unit 9a and a second row calculation unit 9b, and can perform partial row processing of two rows at the same time. Therefore, the row processing unit 9 can perform row processing for all rows (six rows) of the check matrix H by executing the partial row processing three times.

また、前記列処理部10も、図3に示すように、パリティ検査行列の任意の1列についての列処理を行って、当該列に含まれる非零要素についての事前値対数比βmnを算出する列計算部10a,10bを複数有して構成されている。列計算部10a,10bも、復号処理に用いられるパリティ検査行列の列数分設けられているわけではなく、パリティ検査行列の列数よりも少ない数しか設けられていない。
つまり、列処理部9によって同時に行える列処理は、パリティ検査行列Hの一部の複数列についてのみであり、部分的な列処理部として構成されている。本実施形態では、部分的な列処理をシリアル的に実行することで、パリティ検査行列の全ての列についての列処理が行われる。
Further, as shown in FIG. 3, the column processing unit 10 also performs column processing on an arbitrary column of the parity check matrix to calculate a prior value log ratio βmn for the non-zero elements included in the column. A plurality of column calculation units 10a and 10b are provided. The column calculation units 10a and 10b are not provided as many as the number of columns of the parity check matrix used for the decoding process, but are provided with a number smaller than the number of columns of the parity check matrix.
That is, the column processing that can be performed simultaneously by the column processing unit 9 is only for some of the plurality of columns of the parity check matrix H, and is configured as a partial column processing unit. In the present embodiment, column processing is performed on all columns of the parity check matrix by executing partial column processing serially.

図3の列処理部10は、第1列計算部10aと第2列計算部10bの2つが設けられており、同時に2列の部分列処理が可能である。したがって、列処理部10では、6回の部分行処理の実行により、図6(a)に示す検査行列Hの全ての列(12列)についての列処理を行うことができる。   The column processing unit 10 of FIG. 3 is provided with a first column calculation unit 10a and a second column calculation unit 10b, and can perform partial column processing of two columns at the same time. Therefore, the column processing unit 10 can perform column processing for all columns (12 columns) of the parity check matrix H shown in FIG. 6A by executing the partial row processing six times.

上記のような行処理部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 row processing unit 9 and the column processing unit 10 as described above perform the row processing and column processing based on the parity check matrix H shown in FIG. 6A according to the order of the rows and columns, FIG. As shown in b), it takes 9 clocks.
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 loop determination unit 12 to end.

これに対し、本実施形態の復号器5では、行処理及び/又は列処理において処理対象となる行(行ブロック)及び/又は列(列ブロック)の順番を制御するための制御部14を備えており、検査行列Hの行及び列の並びの順番とは異なる順番で、行処理及び/又は列処理を行うことが可能である。   On the other hand, the decoder 5 of this embodiment includes a control unit 14 for controlling the order of rows (row blocks) and / or columns (column blocks) to be processed in row processing and / or column processing. The row processing and / or the column processing can be performed in an order different from the order of the rows and columns of the parity check matrix H.

図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 control unit 14 outputs a command for causing the row processing unit 9 and the column processing unit 10 to execute row processing and column processing in the order according to FIG. Specifically, the control unit 14 causes the row processing unit 9 to perform row processing according to the row arrangement of the check matrix H 1 and to perform column processing according to the row arrangement of the check matrix H 1 .

より具体的には、制御部14は、行処理部9に、最初に検査行列H1の行ブロックAについての行処理を実行させる。これは、検査行列Hからみると、1行目と4行目についての行処理を最初に行うことになる。 More specifically, the control unit 14 causes the row processing unit 9 to first execute row processing for the row block A of the parity check matrix H 1 . In view of the check matrix H, the row processing for the first row and the fourth row is performed first.

つまり、制御部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 control unit 14 designates, in the row processing unit 9, addresses at which the values of βmn for the first and fourth non-zero elements of the check matrix H are stored. The row processing unit 9 acquires the value of βmn from the storage unit 11 using the address. Then, the row processing unit 9 also calculates αmn for the non-zero elements in the first and fourth rows of the parity check matrix H using the value of λn, according to Equation (1).
Furthermore, the control unit 14 designates, in the row processing unit 9, addresses at which αmn for the non-zero elements in the first and fourth rows of the check matrix H are stored. The row processing unit 9 writes the calculated αmn in the storage unit 11 according to the address. Thereby, the value of the storage unit 11 for the αmn is updated.

同様に、制御部14は、行処理部9に、検査行列H1の行ブロックBについての行処理を実行させる。これは、検査行列Hからみると、6行目と3行目についての行処理を行うことになる。さらに、制御部14は、行処理部9に、検査行列H1の行ブロックCについての行処理を実行させる。これは、検査行列Hからみると、5行目と2行目についての行処理を行うことになる。 Similarly, the control unit 14 causes the row processing unit 9 to execute row processing for the row block B of the parity check matrix H 1 . In view of the check matrix H, this means that row processing is performed for the sixth and third rows. Further, the control unit 14 causes the row processing unit 9 to execute row processing for the row block C of the check matrix H 1 . In view of the check matrix H, this means that row processing is performed for the fifth and second rows.

また、制御部14は、行処理部9に検査行列H1の行ブロックCについての行処理を実行させるのと同時に、列処理部10に列処理を開始させる。
つまり、制御部14は、列処理部10に、検査行列H1の行ブロックCについての行処理と並列的に、検査行列H1の列ブロック(1)についての列処理を実行させる。検査行列H1において列の入替は行われていないので、列処理については、検査行列H1の各列ブロックについての列処理と検査行列Hの各列ブロックについての列処理とは、実質的に等価である。
In addition, the control unit 14 causes the column processing unit 10 to start column processing at the same time as causing the row processing unit 9 to execute row processing for the row block C of the check matrix H 1 .
That is, the control unit 14, the column processing unit 10, in parallel with the row processing of the row block C of the check matrix H 1, to execute sequence processing of column blocks of the check matrix H 1 (1). Since column replacement is not performed in the parity check matrix H 1 , the column processing for each column block of the parity check matrix H 1 and the column processing for each column block of the parity check matrix H are substantially the same. Is equivalent.

列処理の際、制御部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 control unit 14 causes the column processing unit 10 to determine the value of αmn for the non-zero elements of the column block (1) including the first column and the second column of the check matrix H (check matrix H 1 ). The stored address of the storage unit 11 is designated. The column processing unit 10 acquires the value of αmn from the storage unit 11 using the address, and the non-zero elements of the first column and the second column of the check matrix H (check matrix H 1 ) according to the equation (2). Βmn of each is calculated.
The control unit 14 further designates, in the column processing unit 10, addresses at which βmn is stored for the non-zero elements in the first and second columns of the check matrix H (check matrix H 1 ) in the storage unit 11. The column processing unit 10 writes each calculated βmn in the storage unit 11 according to the address. By this. The value of the storage unit 11 for the βmn is updated.

ただし、各列に含まれる非零要素の位置は、検査行列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 column processing unit 10 acquires the value of βmn from the storage unit 11 or the value of αmn is stored in the storage unit. When the data is written in the memory 11, the storage unit 11 is accessed while corresponding to the difference in the positions of the non-zero elements accompanying the replacement of the rows.
Note that the storage unit 11 of the present embodiment stores values of αmn and βmn according to the arrangement of non-zero elements in the check matrix H 1 . This point will be described later.

列ブロック(1)についての列処理が完了すると、続いて、制御部14は、上記と同様に列処理部10に、残りの列ブロック(2)〜(6)までの列処理を行わせる。   When the column processing for the column block (1) is completed, the control unit 14 causes the column processing unit 10 to perform column processing for the remaining column blocks (2) to (6) in the same manner as described above.

図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 storage unit 11 and the storage unit 11. In the following, a case will be described in which the row and column order of the first permutation check matrix H 1 is followed as control of the order of rows or columns controlled by the control unit 14.

図11に示すように、記憶部11は、外部値対数比αmnの記憶部11aと、事前値対数比βmnの記憶部11bとを有して構成されている。
各記憶部11a,11bは、半導体記憶装置からなり、一つのエントリについて複数のデータを記憶可能である記憶装置21〜22,31〜34を複数有して構成されている。以下では、それぞれの「記憶装置」を単に「メモリ」という。
各メモリは、一つのエントリしか有していないため、ある一つのメモリに記憶されている複数のデータへ同時にアクセス(読み取り又は書き込み)することはできず、同時には一つのデータのみアクセスが可能である。
ただし、複数のエントリへは同時にアクセス可能である。
As shown in FIG. 11, the storage unit 11 includes a storage unit 11a having an external value logarithmic ratio αmn and a storage unit 11b having a prior value logarithmic ratio βmn.
Each of the storage units 11a and 11b includes a semiconductor storage device, and includes a plurality of storage devices 21 to 22, 31 to 34 that can store a plurality of data for one entry. Hereinafter, each “storage device” is simply referred to as “memory”.
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 βmn storage unit 11b employs a configuration suitable for row processing computation because βmn is used for row processing computation. Specifically, in response to the row processing unit 9 having two row calculation units 9a and 9b, the βmn storage unit 11b has two memory groups 11b-1 and 11b-2. Yes.

第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 first memory group 11b-1, of the row of the check matrix H 1, the row (specifically first row calculation unit 9a plays the execution, the first row of the check matrix H 1, 3 row, fifth row In the parity check matrix H, βmn corresponding to a non-zero element (“1”) included in the first, sixth, and fifth rows) is stored.
Second memory group 11b-2, among the rows of the check matrix H 1, the row (specifically second row calculator 9b is responsible for execution, the second row of the check matrix H 1, 4 row, six rows In the parity check matrix H, βmn corresponding to the non-zero element (“1”) included in the fourth, third, and second rows) is stored.

βmn記憶部11bの各メモリ群11b−1,11b−2は、検査行列H1(検査行列H)の行重み(各行に含まれる非零要素の数)に応じた数(=4)のメモリ(記憶装置)を有して構成されている。なお、検査行列H1(検査行列H)では、各行の行重みが一定(=4)である。 Each of the memory groups 11b-1 and 11b-2 in the βmn storage unit 11b has a number (= 4) of memories according to the row weight (the number of non-zero elements included in each row) of the check matrix H 1 (check matrix H). (Storage device). In the check matrix H 1 (check matrix H), the row weight of each row is constant (= 4).

β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 memory groups 11b-1 and 11b-2 of the βmn storage unit 11b correspond to the row calculation units 9a and 9b in charge of row processing of three rows, respectively. One data can be stored.
That is, “address 1” of “memory 1” 21 to “memory 4” 24 configuring the first memory group 11b-1 includes βmn corresponding to the non-zero element included in the first row of the check matrix H 1 . Similarly, the value of βmn in the third row is stored in “Address 2”, and the value of βmn in the fifth row is stored in “Address 3”.
Further, “address 1” of “memory 5” 25 to “memory 8” 28 configuring the second memory group 11b-2 includes βmn corresponding to the non-zero element included in the second row of the check matrix H 1 . Similarly, the value of βmn in the fourth row is stored in “Address 2”, and the value of βmn in the sixth row is stored in “Address 3”.
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 Betamn storage unit 11b, since with Betamn accordance with the arrangement of non-zero elements in the check matrix H 1 is stored, Betamn row to be executed simultaneously are stored in the same address, When the row processing unit 9 reads (acquires data) from the βmn storage unit 11b, it is sufficient to specify one address of the βmn storage unit 11b.
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 address 1 of the memory 1 to the memory 8 of Betamn storage unit If “address 1” is designated for all eight entries in the βmn storage unit 11b, the row processing unit 9 can obtain βmn in the first and second rows of the check matrix H 1 at a stroke, and calculate the first row. The unit 9a and the second row calculation unit 9b can perform row processing at the same time.

また、検査行列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 , “address 2” may be designated, and for the row block C consisting of the fifth and sixth rows of the parity check matrix H 1. May specify “address 3”.

αmn記憶部11aは、αmnが列処理の演算に用いられるため、列処理演算に適した構成が採用されている。具体的には、列処理部10が2つの行計算部10a,10bを有していることに対応して、αmn記憶部11aは、2つのメモリ群11a−1,11a−2を有している。   The αmn storage unit 11a employs a configuration suitable for column processing calculation because αmn is used for column processing calculation. Specifically, corresponding to the fact that the column processing unit 10 has two row calculation units 10a and 10b, the αmn storage unit 11a has two memory groups 11a-1 and 11a-2. Yes.

α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 first memory group 11a-1 of the αmn storage unit 11a includes columns that are executed by the first column calculation unit 10a among the columns of the parity check matrix H 1 (specifically, the first column 3 and the third column 3 of the parity check matrix H 1 ). Column, 5th column, 7th column, 9th column, 11th column) for storing αmn corresponding to a non-zero element (“1”).
second memory group 11a-2 of αmn storage unit 11a, among the rows of the check matrix H 1, the row (specifically second row calculation unit 10b is responsible for the execution, the second column of the check matrix H 1, 4 Column, 6th column, 8th column, 10th column, 12th column) for storing αmn corresponding to a non-zero element (“1”).

αmn記憶部11aの各メモリ群11a−1,11a−2は、検査行列H1(検査行列H)の列重み(各列に含まれる非零要素の数)に応じた数(=2)のメモリ(記憶装置)を有して構成されている。なお、検査行列H1(検査行列H)では、各列の列重みが一定(=2)である。 Each of the memory groups 11a-1 and 11a-2 in the αmn storage unit 11a has a number (= 2) corresponding to the column weight (the number of non-zero elements included in each column) of the check matrix H 1 (check matrix H). It has a memory (storage device). In the check matrix H 1 (check matrix H), the column weight of each column is constant (= 2).

α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 memories 31 to 34 constituting the memory groups 11a-1 and 11a-2 of the αmn storage unit 11a correspond to the column calculation units 10a and 10b in charge of column processing of six columns, respectively. , Six data can be stored.
That is, “address 1” of “memory 1” 31 and “memory 2” 32 configuring the first memory group 11a-1 includes αmn corresponding to the non-zero element included in the first column of the check matrix H 1 . Similarly, the value of αmn in the third column is stored in “Address 2”, the value of αmn in the fifth column is stored in “Address 3”, and the seventh column is stored in “Address 4”. The αmn value of the ninth column is stored, the αmn value of the ninth column is stored in “Address 5”, and the αmn value of the eleventh column is stored in “Address 6”.

また、第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, “address 1” of “memory 3” 33 and “memory 4” 34 configuring the second memory group 11a-2 includes αmn corresponding to the non-zero element included in the second column of the check matrix H 1 . Similarly, the value of αmn in the fourth column is stored in “Address 2”, the value of αmn in the sixth column is stored in “Address 3”, and the eight columns are stored in “Address 4”. The αmn value of the 10th column is stored in “Address 5”, and the αmn value of the 12th column is stored in “Address 6”.

上記のように、α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 αmn storage unit 11a stores αmn in accordance with the arrangement of the non-zero elements in the check matrix H 1 and also stores αmn of columns to be executed at the same address at the same address. When the unit 10 reads (acquires data) from the αmn storage unit 11a, it is sufficient to designate one address of the αmn storage unit 11a.
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 address 1 of the memory 1 to the memory 4 of Arufamn storage unit 11a Therefore, if “address 1” is designated for all four entries in the αmn storage unit 11a, the column processing unit 9 can acquire αmn in the first column and the second column of the check matrix H 1 at a stroke, and The first column calculation unit 10a and the second column calculation unit 10b can perform column processing at the same time.

また、検査行列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 , “address 2” may be designated, and the column block consisting of the fifth and sixth columns of the parity check matrix H 1. For (3), “address 3” may be designated, and for the column block (4) consisting of the seventh and eighth columns of the parity check matrix H 1 , “address 4” may be designated. For the column block (5) consisting of the 9th and 10th columns of H 1 , “address 5” may be specified, and for the column block (6) consisting of the 11th and 12th columns of the check matrix H 1. May specify “address 6”.

さて、本実施形態の記憶部11のαmn記憶部11a及びβmn記憶部11bは、上記のように、データの読み出しは、行処理及び列処理の手順に合わせて、一気に行えるように、αmn及びβmnを保持している。
一方、データの書き込みについては、行計算ブロック9a,9bの出力とαmn記憶部11aのエントリとが直接対応しておらず、列計算ブロック10a,10bとβmn記憶部11bのエントリとも直接対応していないため、計算結果をどのエントリに与えるかを選択する必要がある。
しかも、一つのメモリには一つのデータしか同時に書き込めないところ、一つのメモリに対し同時に複数の計算結果を書き込む必要が生じる場合があるため、タイミングの調整も必要となる。
Now, as described above, the αmn storage unit 11a and the βmn storage unit 11b of the storage unit 11 of the present embodiment can read data in accordance with the procedure of row processing and column processing, so that αmn and βmn Holding.
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 αmn storage unit 11a, and directly corresponds to the entry of the column calculation blocks 10a and 10b and the βmn storage unit 11b. Therefore, it is necessary to select which entry the calculation result is given to.
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 first selection unit 17 is provided between the output of the row processing unit 9 and the entry of the αmn storage unit 11a, and the output of the column processing unit 10 and the βmn storage unit. The second selection unit 18 is provided between the entries of 11b, and these selection units 17 and 18 are controlled by the control unit 14. Then, when the selection units 17 and 18 are appropriately controlled by the control unit 14, the outputs of the row calculation blocks 9 a and 9 b and the column calculation blocks 10 a and 10 b can be appropriately written in the storage unit 11.

図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 first selection unit 17. The first selection unit 17 has a number (= 4) of multiplexers M1 to M4 corresponding to the number of memory entries in the memories 31 to 34 of the αmn storage unit 11a. Specifically, the first selection unit 17 includes a first multiplexer M1 connected to output data to the “memory 1” 31 and a second multiplexer connected to output data to the “memory 2” 32. M2, a third multiplexer M3 connected to output data to the “memory 3” 33, and a fourth multiplexer M4 connected to output data to the “memory 4” 34.

各マルチプレクサ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 row calculation units 9a and 9b as necessary.
Here, as shown in FIG. 12, the first and second row calculation units 9a and 9b have four outputs 9a-1 to 9a-4 and 9b-5 to 9b-8, respectively. The first output 9a-1 of the first row calculation unit 9a outputs αmn corresponding to the non-zero element having the same coordinates as βmn stored in the “memory 1” 21 of the βmn storage unit 11b as the row calculation result. . That is, when the first row calculation unit 9a performs the row processing of the first row, the “memory 1” 21 stores the value of βmn for (1, 12) = 1 row and 12th column. The 1-row calculation unit 9a calculates the value of αmn for (1, 12) = 1 row and 12th column using the values of the other memories 22 to 24, and outputs the αmn.

同様に、第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 second output 9a-2 of the first row calculation unit 9a outputs αmn corresponding to βmn stored in the “memory 2” 22 of the βmn storage unit 11b as the row calculation result. The third output 9a-3 of the calculation unit 9a outputs αmn corresponding to βmn stored in the “memory 3” 23 of the βmn storage unit 11b as the row calculation result, and the fourth output of the first row calculation unit 9a. Output 9a-4 outputs αmn corresponding to βmn stored in the “memory 4” 24 of the βmn storage unit 11b as a row calculation result.
The same applies to the fifth output 9b-5 to the eighth output 9b-8 of the second row calculation unit 9.

さて、前記第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 outputs 9a-1 to 9a-4 and 9b-5 to 9b-8, the third output 9a-3, the fourth output 9a-4, and the sixth output 9b are connected to the input side of the first multiplexer M1. -6 and the seventh output 9b-7 are connected. This is because the “memory 1” 31 of the αmn storage unit 11a to which the output of the first multiplexer M1 is connected is (1,1), (2,3), (4,5), (4,7), It is an area for storing the value of αmn for the non-zero elements of (3, 9), (1, 11), and the output of these αmn is the four outputs 9a-3, 9a- This is because 4, 9b-6 and 9b-7.

同様の観点から、第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 outputs 9a-1 to 9a-4 and 9b-5 to 9b-8 are also connected to the input sides of the second to fourth multiplexers M2 to M4. As described above, in the present embodiment, since only necessary outputs are connected to the multiplexer, the number of wirings can be reduced.
Note that all the outputs 9a-1 to 9a-4, 9b-5 to 9b-8 may be connected to each multiplexer. In this case, a general-purpose circuit configuration that is not affected by the arrangement of αmn and βmn in the storage unit 11 is obtained.

前記制御部14は、行処理部9が行処理演算結果をαmn記憶部に書き込む際には、第1選択部の各マルチプレクサM1〜M4に対し、どの入力を出力するかを選択するための選択信号C1〜C4を出力する。
選択信号C1〜C4は、制御部14が有するスケジュールデータ14aに基づいて生成される。図13は、行処理部9が行処理演算結果をαmn記憶部に書き込む際のスケジュールデータの一例を示している。
When the row processing unit 9 writes the row processing calculation result in the αmn storage unit, the control unit 14 selects which input is to be output to each of the multiplexers M1 to M4 of the first selection unit. Signals C1 to C4 are output.
The selection signals C1 to C4 are generated based on the schedule data 14a that the control unit 14 has. FIG. 13 shows an example of schedule data when the row processing unit 9 writes the row processing calculation result in the αmn storage unit.

図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 memories 1 to 4 in the αmn storage unit 11 in which the value of αmn, which is the row processing calculation result for the non-zero element indicated by “coordinates”, is written. “Memory address” indicates the address of the memory in which the value of αmn, which is the result of the row processing calculation for the non-zero element indicated by “coordinates”, is written. “Switching number” indicates a multiplexer input number (1 to 4 or 1 to 5) selected by the multiplexer. Since the memories 31 to 34 and the multiplexers M1 to M4 correspond one-to-one, the multiplexer to which the “switching number” is to be given is specified by the “memory number”.

図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 “memory address 1” of “memory 1” (= memory number: 1) of the αmn storage unit 11a. As is apparent from FIGS. 11 and 12, αmn of the coordinates (1, 1) is output from the third output 9a-4 of the first row calculation unit 9a and given to the first input of the first multiplexer M1. It has been.
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 schedule data 14a of FIG.

図13のスケジュールデータ14aには、他の座標のαmnについても同様に、αmn記憶部11aに書き込む際の「切り替え番号」が登録されている。
制御部14は、このスケジュールデータ14aに従って、それぞれの「時刻」ごとに第1〜第4マルチプレクサM1〜M4への選択信号C1〜C4を生成し、各マルチプレクサM1〜M4へ与える。
In the schedule data 14a of FIG. 13, “switching numbers” for writing to the αmn storage unit 11a are registered in the same way for αmn of other coordinates.
The control unit 14 generates selection signals C1 to C4 to the first to fourth multiplexers M1 to M4 for each “time” according to the schedule data 14a, and supplies the selection signals C1 to M4 to the multiplexers M1 to M4.

ただし、図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 “memory 1” 31 specified by = 1 is required three times.
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 “memory 2” 32 specified by “memory number” = 1 is 3 Is required.

このように、同一「時刻」において、同一メモリへの書き込みが必要な場合には、当該「時刻」を細分化したクロックに従って、各書き込みが順次行われるように、マルチプレクサ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 βmn storage unit 11b and the row processing unit 9, and schedule data for controlling the selection unit is provided. Just prepare.

また、前記第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 second selection unit 18 is also configured in the same manner as the first selection unit 17, and specifically corresponds to the βmn storage unit 11b including eight memories 21 to 28. And eight multiplexers M11 to M18. The outputs of the multiplexers M11 to M18 are connected to the entries of the memories 21 to 28 of the βmn storage unit 11b. Although detailed wiring between the column processing unit 10 and each of the multiplexers M11 to M18 of the second selection unit is omitted, the outputs of the column calculation units 10a and 10b and the βmn storage are the same as in the first selection unit 17. Wiring is performed according to the relationship with βmn stored in the unit.
In the second selection unit 18 as well, all the outputs of the column calculation units 10a and 10b may be connected to the input sides of the multiplexers M11 to M18. In this case, the versatility of the circuit is expanded.

第2選択部18の各マルチプレクサM11〜M18に対しても、制御部14は、スケジュールデータ(図示省略)に従って生成した制御信号C11〜C18を与える。これにより、列処理部10の計算結果であるβmnの値が、βmnの所定のメモリの所定のアドレスに書き込まれる。   The control unit 14 also gives control signals C11 to C18 generated according to schedule data (not shown) to the multiplexers M11 to M18 of the second selection unit 18. As a result, the value of βmn, which is the calculation result of the column processing unit 10, is written to a predetermined address in a predetermined memory of βmn.

なお、αmn記憶部11aと列処理部10との間に選択部を設けて、当該選択部を制御するためのスケジュールデータを用意してもよい。   Note that a selection unit may be provided between the αmn storage unit 11a and the column processing unit 10, and schedule data for controlling the selection unit may be prepared.

以上のように構成することで、行処理部9及び/又は列処理部10の処理結果を、スケジュールデータに従って制御される選択部17,18によって、記憶部9の所定のメモリの所定のアドレスに書き込むことができる。また、行処理部9及び/又は列処理部10が処理に必要なαmn又はβmnを、スケジュールデータに従って制御される制御部によって、記憶部9の所定のメモリの所定のアドレスから読み出すことができる。
したがって、記憶部9におけるαmn及び/又はβmnの配置、及びスケジュールデータを適切に設定することで、本実施形態のような記憶部9においても、メモリアクセス遅延を小さくすることができる。
With the configuration described above, the processing results of the row processing unit 9 and / or the column processing unit 10 are transferred to predetermined addresses in a predetermined memory in the storage unit 9 by the selection units 17 and 18 controlled according to the schedule data. Can write. Further, αmn or βmn required for processing by the row processing unit 9 and / or the column processing unit 10 can be read from a predetermined address in a predetermined memory of the storage unit 9 by a control unit controlled according to the schedule data.
Therefore, by appropriately setting the arrangement of αmn and / or βmn and the schedule data in the storage unit 9, the memory access delay in the storage unit 9 as in the present embodiment can be reduced.

図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 is a diagram schematically showing a configuration of a communication system. 送信データと復調データの対応の一例を示す図である。It is a figure which shows an example of a response | compatibility with transmission data and demodulation data. 復号器の構成を示す図である。It is a figure which shows the structure of a decoder. 検査行列の一例である。It is an example of a check matrix. 図4に示す検査行列のタナーグラフである。5 is a Tanner graph of the parity check matrix shown in FIG. (a)は検査行列Hを示し、(b)は、検査行列Hの行及び列の並びに従った場合の処理過程を示すタイミングチャートである。(A) shows a check matrix H, and (b) is a timing chart showing a processing process when the rows and columns of the check matrix H follow. (a)は検査行列H1を示し、(b)は、検査行列H1の行及び列の並びに従った場合の処理改訂を示すタイミングチャートである。(A) shows a check matrix H 1 , and (b) is a timing chart showing a process revision when the rows and columns of the check matrix H 1 are aligned. 検査行列Hから検査行列H1への行変換対応表である。It is a row conversion correspondence table from the check matrix H to the check matrix H 1 . (a)は検査行列H2を示し、(b)は、検査行列H2の行及び列の並びに従った場合の処理改訂を示すタイミングチャートである。(A) shows a check matrix H 2 , and (b) is a timing chart showing a process revision when the rows and columns of the check matrix H 2 are aligned. (a)は検査行列Hから検査行列H2へ変換するための行変換対応表であり、(b)は列変換対応表である。(A) is a row conversion correspondence table for converting from the check matrix H to the check matrix H 2 , and (b) is a column conversion correspondence table. 記憶部及びそれに関連する構成の説明図である。It is explanatory drawing of a memory | storage part and the structure relevant to it. 第1選択部及びそれに関連する構成の説明図である。It is explanatory drawing of a 1st selection part and the structure relevant to it. スケジュールデータの例を示す図である。It is a figure which shows the example of schedule data. 誤り率に関するグラフである。It is a graph regarding an error rate.

符号の説明Explanation of symbols

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: αmn storage unit 11b: βmn storage unit, 12: determination unit, 14: control unit, 14a: schedule data, 17: first selection unit, 18: second selection unit, M1 to M8: multiplexer, M11 to M18: multiplexer

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.
前記制御部は、前記部分行処理部が実行すべき行の順番については、パリティ検査行列における行の並びとは異なる順番になるように制御するとともに、前記部分列処理部が実行すべき列の順番については、パリティ検査行列における列の並びと同じ順番になるように制御することを特徴とする請求項1〜3のいずれかに記載のパリティ検査復号装置。
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.
JP2007202740A 2007-08-03 2007-08-03 Parity check decoder Expired - Fee Related JP4803134B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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