JP2008048346A - Low-density parity-check code decoder and decoding method - Google Patents

Low-density parity-check code decoder and decoding method Download PDF

Info

Publication number
JP2008048346A
JP2008048346A JP2006224431A JP2006224431A JP2008048346A JP 2008048346 A JP2008048346 A JP 2008048346A JP 2006224431 A JP2006224431 A JP 2006224431A JP 2006224431 A JP2006224431 A JP 2006224431A JP 2008048346 A JP2008048346 A JP 2008048346A
Authority
JP
Japan
Prior art keywords
decoding
processing
row
parity check
check code
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.)
Granted
Application number
JP2006224431A
Other languages
Japanese (ja)
Other versions
JP4314254B2 (en
Inventor
Atsuhiko Sugitani
敦彦 杉谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mobile Techno Corp
Original Assignee
Mobile Techno Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobile Techno Corp filed Critical Mobile Techno Corp
Priority to JP2006224431A priority Critical patent/JP4314254B2/en
Priority to US11/890,511 priority patent/US8028214B2/en
Publication of JP2008048346A publication Critical patent/JP2008048346A/en
Application granted granted Critical
Publication of JP4314254B2 publication Critical patent/JP4314254B2/en
Priority to US13/041,957 priority patent/US8156399B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an LDPC code decoder capable of increasing a processing throughput without degrading quality. <P>SOLUTION: The LDPC code decoder, which applies an algorithm for updating a decoding result for every row processing as a decoding algorithm in LDPC codes, has: a decoding processing means for carrying out decoding processing; a processing wait information holding means for holding time information, determined from information of a check matrix for the LDPC code to be decoded, to enable a target row to start processing after start of decoding processing for a row preceding to the target row; and a start instruction suspending means instructing the decoding processing means to start decoding processing to the target row after waiting for at least the time information held by the processing wait information holding means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は低密度パリティチェック(LDPC)符号復号装置及び方法に関し、特に、品質を下げることなく処理スループットを向上しようにしたものである。   The present invention relates to a low-density parity check (LDPC) code decoding apparatus and method, and more particularly, to improve processing throughput without reducing quality.

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

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

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

BPアルゴリズムを適用した復号方法では、上式に示すように、事後LLRを復号繰返し毎に更新するものである。   In the decoding method to which the BP algorithm is applied, as shown in the above equation, the posterior LLR is updated every decoding iteration.

これに対し、非特許文献2に示されるTurbo Decoding Message Passing(TDMP)アルゴリズムは、上述した(1)式〜(4)式におけるiを、復号繰返し数ではなく、m番目の行の処理を行う時刻(サイクル)として処理するアルゴリズムである。すなわち、事後LLRを行処理毎に更新するものである。TDMPアルゴリズムは収束特性に優れているため、BPアルゴリズムよりも少ない繰返し数で同等の誤り特性を得ることが知られている。
R.G.Gallager, “Low−Density Parity−Check Codes”, IRE Trans. Info. Theory, vol.IT−8, pp.21−28, 1962 M.M.Mansour and N.R.Shanbhag, “High Throughput LDPC Decoder,” IEEE Trans. VLSI Systems, vol.11, No.6, Dec.2003
On the other hand, the Turbo Decoding Message Passing (TDMP) algorithm shown in Non-Patent Document 2 processes i in the above-described equations (1) to (4) for the m-th row instead of the decoding iteration number. This is an algorithm for processing as time (cycle). That is, the posterior LLR is updated for each row process. Since the TDMP algorithm has excellent convergence characteristics, it is known to obtain the same error characteristics with a smaller number of iterations than the BP algorithm.
R. G. Gallager, “Low-Density Parity-Check Codes”, IRE Trans. Info. Theory, vol. IT-8, pp. 21-28, 1962 M.M. M.M. Mansour and N.M. R. Shanbhag, “High Throughput LDPC Decoder,” IEEE Trans. VLSI Systems, vol. 11, no. 6, Dec. 2003

しかしながら、TDMPアルゴリズムでは、行処理を行う際には、対象とする行に含まれるビットノードと同じビットノードを含む行及び列の処理が完了するまでの間はその行処理を行うことができない。   However, in the TDMP algorithm, when row processing is performed, the row processing cannot be performed until processing of rows and columns including the same bit node as the bit node included in the target row is completed.

また、TDMPアルゴリズムでも、設定されている繰返し数の復号処理を実行して復号処理を終了させる。しかしながら、当初から、誤りがほとんどないような場合には、所定数の繰返し数の復号処理が無駄になっていることもある。   Also, in the TDMP algorithm, the decoding process is executed for the set number of repetitions, and the decoding process is terminated. However, when there are almost no errors from the beginning, the decoding process of a predetermined number of repetitions may be wasted.

さらに、誤り検出を行う際には、一旦復号処理を停止して誤り検出を行う必要がある。このため、誤り検出処理時間分だけ、復号処理が遅くなり、頻繁に誤り検出処理を行えないという問題がある。   Furthermore, when performing error detection, it is necessary to stop the decoding process once and perform error detection. For this reason, there is a problem that the decoding process is delayed by the error detection processing time, and the error detection process cannot be performed frequently.

そのため、品質を下げることなく処理スループットを向上させることができる低密度パリティチェック(LDPC)符号復号装置及び方法が望まれている。   Therefore, a low density parity check (LDPC) code decoding apparatus and method that can improve processing throughput without reducing quality is desired.

かかる課題を解決するため、第1の本発明は、低密度パリティチェック符号における復号アルゴリズムとして、行処理毎に復号結果を更新するアルゴリズムを適用した低密度パリティチェック符号復号装置であって、(1)復号処理を実行する復号処理手段と、(2)復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持する処理待ち情報保持手段と、(3)この処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示する開始指示延期手段とを有することを特徴とする。   In order to solve such a problem, the first aspect of the present invention is a low density parity check code decoding apparatus to which an algorithm for updating a decoding result for each row process is applied as a decoding algorithm in a low density parity check code. ) Decoding processing means for executing decoding processing, and (2) a row to be processed after the row preceding the target row is determined from information of a check matrix for the low density parity check code to be decoded. Processing waiting information holding means for holding time information that can start processing; and (3) waiting for at least the time information held by the processing waiting information holding means, and the decoding processing means sends the decoding of the target row. And a start instruction postponing means for instructing the start of processing.

第2の本発明は、複数の復号ブロックの復号処理を並行的に実行する低密度パリティチェック符号復号装置であって、(1)復号処理を実行する復号処理手段と、(2)上記各復号ブロック毎に付与された優先度情報を保持する優先度情報保持手段と、(3)復号処理に供する複数の復号ブロックに付与された優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定する処理復号ブロック決定手段とを有することを特徴とする。   The second aspect of the present invention is a low-density parity check code decoding device that executes decoding processing of a plurality of decoding blocks in parallel, wherein (1) decoding processing means for executing decoding processing, and (2) each of the above decoding Priority information holding means for holding priority information assigned to each block; and (3) a decoding block to be decoded by the decoding processing means based on priority information assigned to a plurality of decoding blocks to be subjected to decoding processing. And a processing decoding block determining means for determining

第3の本発明は、低密度パリティチェック符号における復号アルゴリズムとして、行処理毎に復号結果を更新するアルゴリズムを適用した低密度パリティチェック符号復号方法であって、(0)復号処理手段、処理待ち情報保持手段及び開始指示延期手段を有し、(2)上記復号処理手段は復号処理を実行し、(1)上記処理待ち情報保持手段は、復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持し、(3)上記開始指示延期手段が、上記処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示することを特徴とする。   The third aspect of the present invention is a low density parity check code decoding method to which an algorithm for updating a decoding result for each row process is applied as a decoding algorithm in a low density parity check code, comprising: (0) decoding processing means, waiting for processing An information holding means and a start instruction postponing means, (2) the decoding processing means executes a decoding process, and (1) the processing waiting information holding means is based on information of a check matrix for a low density parity check code to be decoded. The time information that allows the target row to start processing after the row before the target row starts the decoding process is held, and (3) the start instruction postponing means is the processing waiting information holding means At least waiting for the time information held by the above, and instructing the decoding processing means to start decoding processing of the target row.

第4の本発明は、複数の復号ブロックの復号処理を並行的に実行する低密度パリティチェック符号復号方法であって、(0)復号処理手段、優先度情報保持手段及び処理復号ブロック決定手段を有し、(1)上記復号処理手段は復号処理を実行し、(2)上記優先度情報保持手段は、上記各復号ブロック毎に付与された優先度情報を保持し、(3)上記処理復号ブロック決定手段は、復号処理に供する複数の復号ブロックに付与された優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定することを特徴とする。   The fourth aspect of the present invention is a low density parity check code decoding method for executing a decoding process of a plurality of decoding blocks in parallel, comprising: (0) a decoding processing means, a priority information holding means, and a processing decoding block determination means. (1) the decoding processing means executes decoding processing, (2) the priority information holding means holds priority information given to each decoding block, and (3) the processing decoding The block determination means determines a decoding block to be decoded by the decoding processing means based on priority information given to a plurality of decoding blocks to be subjected to decoding processing.

本発明の低密度パリティチェック符号復号装置及び方法によれば、品質を下げることなく処理スループットを向上させることができる。   According to the low density parity check code decoding apparatus and method of the present invention, it is possible to improve the processing throughput without reducing the quality.

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

(A−1)実施形態の構成
図1は、実施形態に係るLDPC符号復号装置の全体構成を示すブロック図であり、図2は、図1における復号処理制御部の詳細構成を示すブロック図である。
(A-1) Configuration of Embodiment FIG. 1 is a block diagram showing an overall configuration of an LDPC code decoding apparatus according to the embodiment, and FIG. 2 is a block diagram showing a detailed configuration of a decoding processing control unit in FIG. is there.

図1において、実施形態のLDPC符号復号装置1は、復号器入力インタフェース部(復号器入力IF)10、Fn格納メモリ11、復号処理制御部12、セレクタ13、行処理回路14、第1のバッファ15、加算部16、Zn格納メモリ17、第2のバッファ18、Rmn格納メモリ19、第3のバッファ20、減算部21、硬判定部22、パリティ判定部23、硬判定データ格納メモリ24及び復号器出力インタフェース部(復号器出力IF)25を有する。   1, an LDPC code decoding apparatus 1 according to an embodiment includes a decoder input interface unit (decoder input IF) 10, an Fn storage memory 11, a decoding process control unit 12, a selector 13, a row processing circuit 14, and a first buffer. 15, adder 16, Zn storage memory 17, second buffer 18, Rmn storage memory 19, third buffer 20, subtractor 21, hard decision unit 22, parity decision unit 23, hard decision data storage memory 24, and decoding A decoder output interface unit (decoder output IF) 25 is provided.

復号器入力インタフェース部10は、各復号ブロックのデータ(通信路値)と各復号ブロックに関する復号情報を取り込み、通信路値をFn格納メモリ11に与え、復号情報を復号処理制御部12に与えるものである。   The decoder input interface unit 10 takes in the data (communication channel value) of each decoding block and the decoding information about each decoding block, gives the channel value to the Fn storage memory 11, and gives the decoding information to the decoding processing control unit 12. It is.

ここで、復号ブロックとは、同一の検査行列を適用して復号を行うデータの固まり(復号対象)である。すなわち、この実施形態のLDPC符号復号装置1では、複数の復号ブロックに対して、時分割的に並行して復号を行うことができるものである。また、復号情報とは、(a)検査行列情報、(b)最大復号繰返し数、(c)優先度情報及び(d)パリティ監視サイクルである。検査行列情報は、その復号ブロックに係る検査行列の情報である。最大復号繰返し数は、復号処理を繰り返す繰り返し回数の上限数である。優先度情報とは、復号ブロック間の復号処理についての優先度の情報である。パリティ監視サイクルとは、処理を行った行に対するパリティチェック結果がOKとなった連続回数と比較される予め設定された値であり、OKの連続回数がパリティ監視サイクルとなったときに復号処理を終了させるように用いられるものである。   Here, the decoding block is a cluster (data to be decoded) of data to be decoded by applying the same check matrix. That is, the LDPC code decoding apparatus 1 of this embodiment can perform decoding on a plurality of decoding blocks in parallel in a time division manner. Decoding information includes (a) check matrix information, (b) maximum number of decoding repetitions, (c) priority information, and (d) parity monitoring cycle. The parity check matrix information is information on a parity check matrix related to the decoded block. The maximum number of decoding repetitions is the upper limit number of repetitions for repeating the decoding process. The priority information is information on the priority for decoding processing between decoding blocks. The parity monitoring cycle is a preset value that is compared with the number of consecutive times when the parity check result for the processed row is OK, and the decoding process is performed when the number of OK consecutive times becomes the parity monitoring cycle. It is used to terminate.

Fn格納メモリ11は、復号器入力インタフェース部10を介して外部から与えられた通信路値を格納するものであり、また、復号処理制御部12の制御下で、格納している通信路値Fnを読み出してセレクタ13に与えるものである。   The Fn storage memory 11 stores a channel value given from the outside via the decoder input interface unit 10, and stores the channel value Fn stored under the control of the decoding processing control unit 12. Is supplied to the selector 13.

復号処理制御部12は、復号処理を行うブロックと行を決定する機能を担っているものであり、図2に示すような詳細構成を有する。復号処理制御部12の詳細構成については後述する。   The decoding process control unit 12 has a function of determining a block and a row to be decoded and has a detailed configuration as shown in FIG. The detailed configuration of the decoding process control unit 12 will be described later.

セレクタ13は、復号処理制御部12の制御下で、Fn格納メモリ11から読み出されたデータ(通信路値)又は減算部21の出力データを選択し、行処理回路14及び第1のバッファ15に与えるものである。セレクタ13がFn格納メモリ11から読み出されたデータ(通信路値)を選択する場合は、上述した(1)式を最初(i−1=0)に演算する場合と、処理対象行等の通信路値Fnを第1のバッファ15に転送させる場合とである。   The selector 13 selects the data (communication channel value) read from the Fn storage memory 11 or the output data of the subtraction unit 21 under the control of the decoding processing control unit 12, and the row processing circuit 14 and the first buffer 15. It is something to give to. When the selector 13 selects the data (communication channel value) read from the Fn storage memory 11, the above formula (1) is calculated first (i-1 = 0), the processing target row, etc. This is a case where the communication path value Fn is transferred to the first buffer 15.

行処理回路14は、上述した(2)式の演算を実行するものである。この実施形態の場合、行列処理の演算方法には特徴はなく、その詳細な説明は省略する。(2)式の演算に必要な(3)式の演算は、ルックアップテーブルなどを利用して実行するものであっても良い。また、(2)式そのものではなく、(2)式の近似式を演算するものであっても良い。行処理回路14による行処理結果Rmnは、加算部16及びRmn格納メモリ19に与えられる。   The row processing circuit 14 performs the operation of the above-described equation (2). In the case of this embodiment, there is no feature in the calculation method of matrix processing, and the detailed description thereof is omitted. The calculation of the expression (3) necessary for the calculation of the expression (2) may be executed using a lookup table or the like. Further, instead of the expression (2) itself, an approximation expression of the expression (2) may be calculated. The row processing result Rmn by the row processing circuit 14 is given to the adder 16 and the Rmn storage memory 19.

第1のバッファ15は、上述した(4)式の演算で必要となる通信路値Fnをバッファリングし、その通信路値Fnが加算部16に与えられるタイミングを調整するものである。   The first buffer 15 buffers the communication path value Fn necessary for the calculation of the above-described equation (4), and adjusts the timing at which the communication path value Fn is given to the adding unit 16.

加算部16は、複数個の加算器でなり、行処理回路14による行処理結果Rmnと、第1のバッファ15がバッファリングしている通信路値Fnとを加算するものである。すなわち、加算部16は、上述した(4)式を実行するものである。加算部16によって得られた列処理結果Znは、Zn格納メモリ17及び硬判定部22に与えられる。   The adding unit 16 includes a plurality of adders, and adds the row processing result Rmn from the row processing circuit 14 and the communication path value Fn buffered by the first buffer 15. That is, the adding unit 16 executes the above-described equation (4). The column processing result Zn obtained by the adding unit 16 is given to the Zn storage memory 17 and the hard decision unit 22.

Zn格納メモリ17は、復号処理制御部12から与えられたアドレスのエリアに、加算部16からの列処理結果Znを格納するものである。また、Zn格納メモリ17は、第2のバッファ18から出力されたアドレスのエリアから、列処理結果Znを読み出して減算部21に被減算入力として与えるものである。   The Zn storage memory 17 stores the column processing result Zn from the adding unit 16 in the area of the address given from the decoding processing control unit 12. The Zn storage memory 17 reads the column processing result Zn from the area of the address output from the second buffer 18 and gives it to the subtractor 21 as a subtracted input.

第2のバッファ18は、Zn格納メモリ17への書込みアドレスをバッファリングしてタイミングを調整し、バッファリングしたアドレスを、Zn格納メモリ17、パリティ判定部23及び硬判定データ格納メモリ24に与えるものである。   The second buffer 18 buffers the write address to the Zn storage memory 17 to adjust the timing, and gives the buffered address to the Zn storage memory 17, the parity determination unit 23, and the hard decision data storage memory 24. It is.

Rmn格納メモリ19は、復号処理制御部12から与えられたアドレスのエリアに、行処理回路14による行処理結果Rmnを格納するものである。また、Rmn格納メモリ19は、第3のバッファ20から出力されたアドレスのエリアから、行処理結果Rmnを読み出して減算部21に減算入力として与えるものである。   The Rmn storage memory 19 stores the row processing result Rmn from the row processing circuit 14 in the area of the address given from the decoding processing control unit 12. The Rmn storage memory 19 reads the row processing result Rmn from the area of the address output from the third buffer 20 and gives it to the subtractor 21 as a subtraction input.

第3のバッファ20は、Rmn格納メモリ19への書込みアドレスをバッファリングしてタイミングを調整し、バッファリングしたアドレスをRmn格納メモリ19に与えるものである。   The third buffer 20 buffers the write address to the Rmn storage memory 19 to adjust the timing, and gives the buffered address to the Rmn storage memory 19.

減算部21は、複数個の減算器でなり、Zn格納メモリ17から読み出された列処理結果Znから、Rmn格納メモリ19から読み出された行処理結果Rmnを減算して、セレクタ13に選択入力として与えるものである。すなわち、減算部21は、上述した(1)式の演算を実行しているものである。   The subtracting unit 21 includes a plurality of subtracters, and subtracts the row processing result Rmn read from the Rmn storage memory 19 from the column processing result Zn read from the Zn storage memory 17 and selects it by the selector 13. It is given as input. That is, the subtracting unit 21 performs the calculation of the above-described equation (1).

硬判定部22は、加算部16から出力された列処理結果Znに対し、後述する(5)式に従った硬判定を行うものであり、得られた硬判定データをパリティ判定部23及び硬判定データ格納メモリ24に与えるものである。   The hard decision unit 22 performs a hard decision according to the equation (5) to be described later on the column processing result Zn output from the adder 16, and the obtained hard decision data is converted to the parity decision unit 23 and the hard decision data. This is given to the judgment data storage memory 24.

パリティ判定部23は、硬判定部22からの硬判定データと、第2のバッファ18から出力されたアドレスに基づき、復号処理の繰返し毎に、誤り検出(パリティ判定)を行うものである。第2のバッファ18から出力されたアドレスは、後述するように、復号処理制御部12が検査対象の復号ブロックや検査行列情報をも利用して形成したものであり、検査行列の情報(ビットノードの情報)が盛り込まれており、誤り検出を行うことができる。パリティ判定部23は、パリティ判定結果及びパリティチェックブロック番号を復号処理制御部12に与えるものである。ここで、パリティ判定部23は、第2のバッファ18から出力されたアドレスをパリティチェックブロック番号に変換するための情報(例えばテーブル情報)を保持しており、これにより、パリティチェックブロック番号を生成する。なお、アドレスをパリティチェックブロック番号に変換する機能を、復号処理制御部12が備えるようにしても良い。   The parity determination unit 23 performs error detection (parity determination) for each repetition of the decoding process based on the hard determination data from the hard determination unit 22 and the address output from the second buffer 18. As will be described later, the address output from the second buffer 18 is formed by the decoding processing control unit 12 also using the decoding block to be checked and the check matrix information. Error information), and error detection can be performed. The parity determination unit 23 gives the parity determination result and the parity check block number to the decoding process control unit 12. Here, the parity determination unit 23 holds information (for example, table information) for converting the address output from the second buffer 18 into a parity check block number, thereby generating a parity check block number. To do. Note that the decoding process control unit 12 may have a function of converting an address into a parity check block number.

LDPC符号は、検査行列Hと、(5)式に示すように硬判定を行った復号結果X^=(x^,…,x^,…,x^)を用いて、HX=0であるかどうかを判定することにより、誤り検出が可能である。すなわち、最大の繰返し数の復号処理を行わなくても、復号繰返し毎に処理を行った行に対する誤り検出を行い、誤り検出結果のOKが所定回連続するような場合であれば、復号処理を終了させても良い。この実施形態は、このような点に鑑み、復号処理の繰返し毎に、処理を行った行に対する誤り検出(パリティ判定)を行い、復号処理制御部11側で、パリティ判定結果に基づいて、最大の繰返し数の復号処理を繰り返す前に復号処理を終了させるか否かを判断させることとした。

Figure 2008048346
The LDPC code uses a check matrix H and a decoding result X ^ = (x ^ 1 , ..., x ^ n , ..., x ^ N ) obtained by performing a hard decision as shown in Equation (5), and HX = By determining whether or not it is 0, error detection is possible. That is, even if the decoding process with the maximum number of iterations is not performed, error detection is performed on a row that has been processed for each decoding iteration, and if the error detection result is OK for a predetermined number of times, the decoding process is performed. It may be terminated. In this embodiment, in view of such a point, error detection (parity determination) is performed on a processed row every time decoding processing is repeated, and the decoding processing control unit 11 side performs maximum error detection based on the parity determination result. It is decided to determine whether or not to end the decoding process before repeating the decoding process of the number of repetitions.
Figure 2008048346

硬判定データ格納メモリ24は、硬判定部22からの硬判定データを、第2のバッファ18から出力されたアドレスのエリアに格納するものである。   The hard decision data storage memory 24 stores the hard decision data from the hard decision unit 22 in the area of the address output from the second buffer 18.

復号器出力インタフェース部(復号器出力IF)25は、復号処理制御部12から復号終了通知が与えられたときに、硬判定データ格納メモリ24に格納されている硬判定データを、復号データとして読み出して出力するものである。   The decoder output interface unit (decoder output IF) 25 reads hard decision data stored in the hard decision data storage memory 24 as decoded data when a decoding end notification is given from the decoding process control unit 12. Output.

この実施形態の場合、複数の復号ブロックに対して、時分割的に並行して復号を行うことができるので、Fn格納メモリ11、Zn格納メモリ17、Rmn格納メモリ19、硬判定データ格納メモリ24等は、複数の復号ブロックのデータを同時に格納できる程度の容量に選定されている。   In the case of this embodiment, decoding can be performed in parallel on a plurality of decoding blocks in a time-sharing manner, so that the Fn storage memory 11, the Zn storage memory 17, the Rmn storage memory 19, and the hard decision data storage memory 24. Are selected to have such a capacity that data of a plurality of decoded blocks can be stored simultaneously.

上述したように、復号処理を行うブロックと行を決定する機能を担っている復号処理制御部12は、図2に示すような詳細構成を有する。   As described above, the decoding process control unit 12 having a function of determining a block and a row to be decoded has a detailed configuration as shown in FIG.

図2において、復号処理制御部12は、復号ブロック(Code Block)毎の復号情報格納部30−0〜30−(B−1)、復号ブロック毎の復号処理監視部31−0〜31−(B−1)、スケジューラ32及びアドレス生成部33を有する。なお、図2では、復号ブロック#0についてのみ、復号情報格納部(30−0)及び復号処理監視部(31−0)を示している。   In FIG. 2, the decoding process control unit 12 includes decoding information storage units 30-0 to 30- (B-1) for each decoding block (Code Block), and decoding process monitoring units 31-0 to 31- (for each decoding block. B-1), a scheduler 32 and an address generation unit 33. In FIG. 2, only the decoding block # 0 shows the decoding information storage unit (30-0) and the decoding process monitoring unit (31-0).

各復号情報格納部30(30−0〜30−(B−1))は、復号器入力インタフェース部10を介して外部から与えられた、当該復号ブロックのパリティ監視サイクル、最大復号繰返し数、優先度情報、検査行列情報を格納しておく部分である。   Each decoding information storage unit 30 (30-0 to 30- (B-1)) is supplied from the outside via the decoder input interface unit 10, and the parity monitoring cycle, maximum decoding repetition number, priority of the decoding block This is a part for storing degree information and check matrix information.

各復号処理監視部31(31−0〜31−(B−1))は、当該復号ブロックの復号処理を実行するタイミングを監視したり、復号処理の終了判定などを行ったりするものである。各復号処理監視部31(31−0〜31−(B−1))は、復号処理監視部31−0について図2に示すように、機能的に、パリティカウンタ40(40−0〜40−(B−1))、復号繰返しカウンタ41(41−0〜41−(B−1))、行カウンタ42(42−0〜42−(B−1))、Waitサイクル演算部43(43−0〜43−(B−1))及びWaitカウンタ44(44−0〜44−(B−1))を有する。復号処理監視部31の機能については、動作説明の項で詳述する。   Each decoding process monitoring unit 31 (31-0 to 31- (B-1)) monitors the timing of executing the decoding process of the decoding block, or determines the end of the decoding process. Each decoding process monitoring unit 31 (31-0 to 31- (B-1)) is functionally connected to the parity counter 40 (40-0 to 40-) with respect to the decoding process monitoring unit 31-0 as shown in FIG. (B-1)), a decoding repetition counter 41 (41-0 to 41- (B-1)), a row counter 42 (42-0 to 42- (B-1)), a wait cycle operation unit 43 (43-). 0-43- (B-1)) and Wait counter 44 (44-0-44- (B-1)). The function of the decryption process monitoring unit 31 will be described in detail in the section on operation description.

スケジューラ32は、全復号ブロックの復号処理監視部31−0〜31−(B−1)からの情報に基づいて、行単位の復号処理のスケジュールを生成するものであり、現時点で、復号処理を実行させる復号ブロックの番号(ブロック番号)、行番号、検査行列情報をアドレス生成部33に与えると共に、上述した図1のセレクタ13に対するセレクタ制御信号も形成するものである。現時点で、復号処理を実行させる復号ブロックの番号は、全復号ブロックの復号処理監視部31−0〜31−(B−1)にフィードバックされるようになされている。   The scheduler 32 generates a schedule of decoding processing in units of rows based on information from the decoding processing monitoring units 31-0 to 31- (B-1) of all the decoding blocks. The decoding block number (block number), row number, and check matrix information to be executed are given to the address generation unit 33, and a selector control signal for the selector 13 shown in FIG. 1 is also formed. At present, the numbers of the decoding blocks to be subjected to the decoding process are fed back to the decoding process monitoring units 31-0 to 31- (B-1) of all the decoding blocks.

アドレス生成部33は、スケジューラ32から与えられたブロック番号、行番号及び検査行列情報に基づいて、上述した図1のFn格納メモリ11、Zn格納メモリ17、Rmn格納メモリ19に対するメモリアドレスを生成するものである。   The address generation unit 33 generates memory addresses for the Fn storage memory 11, the Zn storage memory 17, and the Rmn storage memory 19 of FIG. 1 described above based on the block number, row number, and parity check matrix information given from the scheduler 32. Is.

(A−2)実施形態の動作
次に、上述した図1及び図2に示す構成を有する実施形態のLDPC符号復号装置1の動作(実施形態のLDPC符号復号方法)を説明する。
(A-2) Operation of Embodiment Next, the operation (LDPC code decoding method of the embodiment) of the LDPC code decoding apparatus 1 of the embodiment having the configuration shown in FIGS. 1 and 2 described above will be described.

外部から与えられた各復号ブロックのデータ(通信路値)は、復号器入力インタフェース部10を介して、Fn格納メモリ11に書き込まれると共に、データ(通信路値)と並行して入力された復号情報は、復号処理制御部12内の該当する復号ブロックについての復号情報格納部30(30−0〜30−(B−1);以下では適宜、符号の枝番を省略して説明する)書き込まれる。   The data (communication channel value) of each decoding block given from the outside is written to the Fn storage memory 11 via the decoder input interface unit 10 and is input in parallel with the data (communication channel value). The information is written in the decoding information storage unit 30 (30-0 to 30- (B-1); corresponding to the decoding block is appropriately omitted below) for the corresponding decoding block in the decoding processing control unit 12. It is.

復号処理制御部12における各復号処理監視部31は、対応する復号情報格納部30に復号情報が書き込まれた以降、図3に示す一連の処理を開始する。例えば、処理対象行を見直し単位時間(以下、サイクルと呼ぶ)毎に、図3に示す処理を開始する。また例えば、信号線の図示は省略しているが、その時点で復号情報が設定されて復号処理を要する全ての復号情報格納部が、スケジューラ32の制御下で、図3に示す処理を同期して実行する。なお、図3は、各復号処理監視部31の処理を示すフローチャートである。なお、サイクルは、上述したTDMPアルゴリズムで、各式における「i」を更新する周期に該当する。   Each decoding process monitoring unit 31 in the decoding process control unit 12 starts a series of processes shown in FIG. 3 after the decoding information is written in the corresponding decoding information storage unit 30. For example, the processing shown in FIG. 3 is started every review unit time (hereinafter referred to as a cycle). Further, for example, although the signal lines are not shown, all the decoding information storage units that require decoding processing at the time when the decoding information is set synchronize the processing shown in FIG. 3 under the control of the scheduler 32. And execute. FIG. 3 is a flowchart showing the process of each decoding process monitoring unit 31. Note that the cycle corresponds to a period in which “i” in each equation is updated in the above-described TDMP algorithm.

復号処理監視部31は、図3に示す処理を開始すると、当該復号ブロックについて、復号処理をこれから開始するのか否かを判別する(ステップ100)。   When the process shown in FIG. 3 is started, the decoding process monitoring unit 31 determines whether or not to start the decoding process for the decoding block (step 100).

これから開始する場合であると、復号処理監視部31は、内蔵する全てのカウンタ(パリティカウンタ40、復号繰返しカウンタ41、行カウンタ42、Waitカウンタ44)をリセットする(ステップ101)。   In the case of starting from now, the decoding process monitoring unit 31 resets all the built-in counters (parity counter 40, decoding repetition counter 41, row counter 42, and wait counter 44) (step 101).

これに対して、当該復号ブロックについて、復号処理を既に開始している場合には、復号処理監視部31は、スケジューラ32から与えられたブロック番号に基づき、前サイクルで行の処理がなされた復号ブロックは、当該復号ブロックか否かを判別する(ステップ102)。   On the other hand, when the decoding process has already been started for the decoding block, the decoding process monitoring unit 31 performs decoding of the row processed in the previous cycle based on the block number given from the scheduler 32. It is determined whether or not the block is the decoding block (step 102).

当該復号ブロックの行が前のサイクルで処理されていた場合には、復号処理監視部31は、行カウンタ42をカウントアップした後(ステップ103)、行カウンタ42のカウント値が検査行列の行数と一致するようになったか否かを判別する(ステップ104)。   If the row of the decoding block has been processed in the previous cycle, the decoding processing monitoring unit 31 counts up the row counter 42 (step 103), and then the count value of the row counter 42 is the number of rows of the check matrix. Is determined (step 104).

ここで、行カウンタ42のカウント値は、次に復号処理を行う当該復号ブロックでの行を表しているものであり、カウント値「0」が1行目を表しているので、カウント値が検査行列の行数と一致することは最終行の行処理が終わった直後であることを意味している。行カウンタ42のカウント値が検査行列の行数と一致していると、復号処理監視部31は、復号繰返しカウンタ41をカウントアップすると共に、行カウンタ42をリセット(1行目を指示する値「0」)にする(ステップ105)。復号繰返しカウンタ41は、復号処理を何回繰り返したかをカウントするものである。   Here, the count value of the row counter 42 represents the row in the decoding block to be decoded next, and the count value “0” represents the first row. Matching the number of rows in the matrix means that it is immediately after the row processing of the last row is finished. When the count value of the row counter 42 matches the number of rows in the parity check matrix, the decoding process monitoring unit 31 counts up the decoding repetition counter 41 and resets the row counter 42 (the value “ 0 ") (step 105). The decoding repetition counter 41 counts how many times the decoding process has been repeated.

復号処理監視部31は、ステップ103でカウントアップした行カウンタ42のカウント値が検査行列の行数と一致しない場合や、復号繰返しカウンタ41のカウントアップや行カウンタ42のリセットを行った後では、復号情報格納部30に格納されている検査行列情報を読み込んでWaitサイクルをWaitサイクル演算部44によって算出させ、得られたWaitサイクルの値をWaitカウンタ44にロードする(ステップ106)。   When the count value of the row counter 42 counted up in step 103 does not match the number of rows in the check matrix, or after the count up of the decoding repetition counter 41 or the reset of the row counter 42 is performed, the decoding process monitoring unit 31 The check matrix information stored in the decoded information storage unit 30 is read, the wait cycle is calculated by the wait cycle calculation unit 44, and the value of the obtained wait cycle is loaded into the wait counter 44 (step 106).

なお、Waitサイクル演算部44はハードウェアで構成されたものであっても良く、また、サブルーチンとして設けられたものであっても良い。   The wait cycle calculation unit 44 may be configured by hardware, or may be provided as a subroutine.

行処理を行う際には、対象とする行に含まれるビットノードと同じビットノードを含む行及び列の処理が完了するまでの間はその対象行の処理を行うことができない。Waitサイクルとは、行カウンタ42のカウント値が指示する処理対象行が処理開始可能となるまでのサイクル数である。Waitサイクル演算部44は、検査行列の処理対象行におけるビットノードの位置、及び、そのビットノードの列上における他の行のビットノードの位置に応じて、Waitサイクルを演算する。   When row processing is performed, processing of the target row cannot be performed until processing of a row and a column including the same bit node as the bit node included in the target row is completed. The wait cycle is the number of cycles until the processing target row indicated by the count value of the row counter 42 can start processing. The wait cycle calculation unit 44 calculates a wait cycle according to the position of the bit node in the processing target row of the check matrix and the position of the bit node in another row on the column of the bit node.

図4は、検査行列の一例(図4(A))とその検査行列における各行に対するWaitサイクル(図4(B))を示している。図4において、Lとは、1つの行に対する行処理及び列処理が完了するサイクル数である。Lとしては、例えば、6サイクルを適用できる。   FIG. 4 shows an example of a parity check matrix (FIG. 4A) and a Wait cycle (FIG. 4B) for each row in the parity check matrix. In FIG. 4, L is the number of cycles in which row processing and column processing for one row are completed. As L, for example, 6 cycles can be applied.

1行目(行番号は「0」)では、6列目、15列目及び23列目にビットノードが存在し、これらの列ではそれぞれ、15行目、8行目、13行目にビットノードが存在する。15行目が処理対象行の場合にも、処理対象となってから、Lサイクル後にその行の処理が終了する。そのため、16行目〜18行目が処理対象となった後で、同一列にビットノードを有する1行目が処理対象行となっても、1行目の処理を直ちには開始できず、L−3サイクルを待たなければ開始できない(「3」は16行目〜18行目に係るサイクルである)。   In the first row (row number is “0”), there are bit nodes in the 6th, 15th and 23rd columns. In these columns, the bit nodes are in the 15th, 8th and 13th rows, respectively. Node exists. Even when the 15th row is a processing target row, the processing of that row ends after L cycles after becoming the processing target. For this reason, after the 16th to 18th rows are processed, even if the first row having a bit node in the same column becomes the processed row, the processing of the first row cannot be started immediately. -3 Cannot start without waiting for cycle ("3" is a cycle related to the 16th to 18th lines).

1行目の15列目と同じ列にビットノードを有する行は8行目であり、処理対象行が8行目から1行目に変化するまでには、Lサイクルより十分に長い期間があるので、この列でWaitサイクルを考慮する必要はなく、1行目の23列目についても同様である。   The row having the bit node in the same column as the 15th column of the first row is the eighth row, and there is a period sufficiently longer than the L cycle before the processing target row changes from the eighth row to the first row. Therefore, it is not necessary to consider the Wait cycle in this column, and the same applies to the 23rd column of the first row.

2行目が処理対象行(行番号は「1」)になったときには、1行目がWaitサイクルを待って処理を開始しているため、同一列にビットノードを有する17行目、9行目、14行目の処理は終了しており、Waitサイクルは「0」である。3行目〜6行目についても同様である。   When the second row becomes the processing target row (row number is “1”), the first row starts processing after waiting for the Wait cycle, so the 17th and 9th rows having bit nodes in the same column The processing of the 14th and 14th lines has been completed, and the Wait cycle is “0”. The same applies to the third to sixth lines.

7行目(行番号は「6」)では、10列目及び14列目にビットノードが存在し、これらの列ではそれぞれ、17行目、6行目にビットノードが存在する。6行目が処理対象行の場合にも、処理対象となってから、Lサイクル後にその行の処理が終了するため、同一列にビットノードを有する7行目が処理対象行となっても、7行目の処理を直ちには開始できず、Lサイクルを待たなければ開始できない。   In the seventh row (row number is “6”), bit nodes exist in the 10th and 14th columns, and in these columns, bit nodes exist in the 17th and 6th rows, respectively. Even when the sixth row is a processing target row, since the processing of that row ends after L cycles after the processing target row, even if the seventh row having a bit node in the same column becomes the processing target row, The process on the seventh line cannot be started immediately, and cannot be started without waiting for the L cycle.

8行目以降も同様にしてWaitサイクルが演算によって決定され、その結果、各行のWaitサイクルを表にすると、図4(B)に示すようになる。   Similarly, the wait cycles for the eighth and subsequent rows are determined by calculation. As a result, when the wait cycles for each row are tabulated, the result is as shown in FIG.

Waitサイクル演算部44は、図4(B)に示すようなWaitサイクルを計算できるものであれば、その内部構成や処理方法は問われないものである。例えば、処理対象行の全てのビットノードの位置を認識し、次に、各ビットノードの列と同じ列にビットノードを有する行を認識すると共に、その認識行の中で最近、処理対象となった行を認識する。そして、その認識行と当該行との行数の差が所要サイクルL以下かを判別し、所要サイクルL以下でなければ「0」を設定し、所要サイクルL以下の場合には、当該行よりL行まで前の行の中に「0」以外のWaitサイクルを設定したものがあるかを検索し、所要サイクルLから、前の方での行のWaitサイクル分を除外したものをWaitサイクルとする。   As long as the Wait cycle calculation unit 44 can calculate the Wait cycle as shown in FIG. 4B, the internal configuration and processing method are not limited. For example, it recognizes the positions of all the bit nodes in the processing target row, and then recognizes a row having a bit node in the same column as the column of each bit node, and has recently become a processing target in the recognition row. Recognize the line. Then, it is determined whether the difference in the number of lines between the recognized line and the relevant line is less than or equal to the required cycle L. If the required cycle is not less than L, “0” is set. Search whether there is a Wait cycle other than “0” in the previous line up to L line, and remove the Wait cycle of the previous line from the required cycle L as the Wait cycle To do.

上述したステップ102の前サイクルで行処理がなされた復号ブロックは、当該復号ブロックか否かの判別の結果、否定結果を得た場合には、復号処理監視部31は、Waitカウンタ44のカウント値が0か否かを判別する(ステップ107)。0でなければ、復号処理監視部31は、Waitカウンタ44をカウントダウンする(ステップ108)。   If the decoding block that has been subjected to the row processing in the previous cycle of step 102 described above is a negative result as a result of determination as to whether or not the decoding block is the decoding block, the decoding processing monitoring unit 31 counts the count value of the wait counter 44. Whether or not is 0 is determined (step 107). If not 0, the decoding process monitoring unit 31 counts down the wait counter 44 (step 108).

上述した行カウンタ42、復号繰返しカウンタ41及びWaitカウンタ44の操作が終了すると(ステップ102〜108)、復号処理監視部31は、図1のパリティ判定部23から到来したパリティチェックブロック番号が当該復号ブロックを指示しているか否かを判別する(ステップ109)。なお、パリティチェックブロック番号が到来しない場合は、到来したパリティチェックブロック番号が当該復号ブロックを指示していない場合と同様に処理する。   When the operations of the row counter 42, the decoding repetition counter 41, and the wait counter 44 are finished (steps 102 to 108), the decoding process monitoring unit 31 indicates that the parity check block number that has arrived from the parity determination unit 23 in FIG. It is determined whether or not a block is instructed (step 109). If the parity check block number does not arrive, the same processing is performed as when the arrived parity check block number does not indicate the decoding block.

当該復号ブロックを指示している場合には、復号処理監視部31は、さらに、パリティチェックブロック番号と共に到来したパリティ判定結果がOK(上述したHX=0であることをOKとする)か否かを判定し(ステップ110)、OKであれば、パリティカウンタ40をカウントアップし(ステップ111)、NGであれば、パリティカウンタ40をリセットする(ステップ112)。   When the decoding block is instructed, the decoding process monitoring unit 31 further determines whether the parity determination result that has arrived together with the parity check block number is OK (the above-mentioned HX = 0 is OK). (Step 110), if it is OK, the parity counter 40 is counted up (step 111), and if it is NG, the parity counter 40 is reset (step 112).

復号処理を開始したばかりであり、各種カウンタをリセットした場合(ステップ101)や、到来したパリティチェックブロック番号が当該復号ブロックを指示していない場合(ステップ109で否定結果)や、パリティカウンタ40の操作が終わった場合(ステップ111及び112)には、復号処理監視部31は、パリティカウンタ40のカウント値が復号情報格納部30に格納されているパリティ監視サイクルより小さいか否かを判別する(ステップ113)。パリティカウンタ40のカウント値がパリティ監視サイクルより小さい場合には、復号繰返しカウンタ41のカウント値が復号情報格納部30に格納されている最大復号繰返し数より小さいか否かを判別する(ステップ114)。これらのステップ113及び114の判別処理は、復号処理を終了させるか否かの判定になっている。   When the decoding process has just started and various counters are reset (step 101), or when the parity check block number that has arrived does not indicate the decoding block (negative result at step 109), When the operation is finished (steps 111 and 112), the decoding process monitoring unit 31 determines whether or not the count value of the parity counter 40 is smaller than the parity monitoring cycle stored in the decoding information storage unit 30 ( Step 113). If the count value of the parity counter 40 is smaller than the parity monitoring cycle, it is determined whether or not the count value of the decoding repetition counter 41 is smaller than the maximum number of decoding repetitions stored in the decoding information storage unit 30 (step 114). . The determination processing in these steps 113 and 114 is determination as to whether or not to end the decoding processing.

パリティカウンタ40のカウント値がパリティ監視サイクルに到達したとき、又は、復号繰返しカウンタ41のカウント値が最大復号繰返し数に到達したときには、復号処理監視部31は、図1の復号器出力インタフェース部25に対して、当該復号ブロックを特定した復号完了通知を送出すると共に(ステップ115)、復号処理フラグを「0」(「1」が復号処理の継続中を表す)にして(ステップ116)、図3に示す一連の処理を終了する。   When the count value of the parity counter 40 reaches the parity monitoring cycle, or when the count value of the decoding repetition counter 41 reaches the maximum number of decoding repetitions, the decoding process monitoring unit 31 performs the decoder output interface unit 25 of FIG. In response to this, a decoding completion notification specifying the decoding block is sent (step 115), and the decoding process flag is set to “0” (“1” indicates that the decoding process is continuing) (step 116). The series of processes shown in FIG.

復号処理を終了させる条件が成立していなければ、復号処理監視部31は、Waitカウンタ44のカウント値が0か否かを判別する(ステップ117)。Waitカウンタ44のカウント値が0以外であれば(言い換えると、復号処理を待っていなければならない状態であると)、復号処理監視部31は、復号処理フラグを「0」にして(ステップ116)、図3に示す一連の処理を終了する。   If the condition for terminating the decryption process is not satisfied, the decryption process monitoring unit 31 determines whether or not the count value of the wait counter 44 is 0 (step 117). If the count value of the wait counter 44 is other than 0 (in other words, the state in which the decoding process must be waited), the decoding process monitoring unit 31 sets the decoding process flag to “0” (step 116). Then, the series of processes shown in FIG.

一方、Waitカウンタ44のカウント値が0であると、復号処理監視部31は、復号処理フラグを「1」とした後(ステップ118)、スケジューラ32に与える信号を生成してスケジューラ32に出力し(ステップ119)、図3に示す一連の処理を終了する。   On the other hand, when the count value of the wait counter 44 is 0, the decoding process monitoring unit 31 sets the decoding process flag to “1” (step 118), generates a signal to be given to the scheduler 32, and outputs the signal to the scheduler 32. (Step 119), the series of processing shown in FIG.

スケジューラ32に与える信号は、復号情報格納部30に格納されている優先度情報及び検査行列情報(処理対象行の情報だけでも良い)と、行カウンタ42のカウント値(処理行番号)と、復号処理フラグと、セレクタ制御信号とである。セレクタ制御信号は、復号繰返しカウンタ41のカウント値に基づき、処理対象行の初めての復号処理のときに、Fn格納メモリ11の出力を選択させるような制御信号とする。   The signal given to the scheduler 32 includes priority information and check matrix information (only processing target row information) stored in the decoding information storage unit 30, a count value (processing row number) of the row counter 42, and decoding A processing flag and a selector control signal. The selector control signal is a control signal based on the count value of the decoding repetition counter 41 so that the output of the Fn storage memory 11 is selected at the time of the first decoding process of the processing target row.

なお、復号処理フラグを「0」にしたときにも(ステップ116)にも、復号処理監視部31は、その旨の信号をスケジューラ32に与えるようにしても良い。   Even when the decoding process flag is set to “0” (step 116), the decoding process monitoring unit 31 may provide the scheduler 32 with a signal to that effect.

スケジューラ32においては、各復号処理監視部31−0〜31−(B−1)から出力された復号処理フラグと優先度情報を見て、復号処理フラグが「1」である中から最も優先度の高い復号ブロックを選択される。そして、スケジューラ32から、現時点(現サイクル)で、復号処理を実行させる復号ブロックの番号(ブロック番号)、行番号、検査行列情報がアドレス生成部33に与えられると共に、上述した図1のセレクタ13に対してはその復号ブロックについて与えられたセレクタ制御信号がそのまま与えられる。現時点で、復号処理を実行させる復号ブロックの番号は、全復号ブロックの復号処理監視部31−0〜31−(B−1)にも与えられる。   In the scheduler 32, the decoding process flag and priority information output from the decoding process monitoring units 31-0 to 31- (B-1) are viewed, and the highest priority is selected from among the decoding process flags “1”. A decoding block having a high value is selected. Then, the scheduler 32 gives the decoding block number (block number), the row number, and the check matrix information for executing the decoding process at the present time (current cycle) to the address generation unit 33 and the selector 13 of FIG. Is supplied with the selector control signal given to the decoded block as it is. At this time, the number of the decoding block for executing the decoding process is also given to the decoding process monitoring units 31-0 to 31- (B-1) of all the decoding blocks.

なお、スケジューラ32が、現サイクルだけでなく、将来のサイクルの処理対象の復号ブロック及び行番号などをも予め定めるものであっても良い。   Note that the scheduler 32 may predetermine not only the current cycle but also a decoding block and a row number to be processed in a future cycle.

アドレス生成部33においては、スケジューラ32から出力された情報を元に、各種メモリ11、17及び19に与えるアドレスが生成されて該当するメモリ11、17及び19に与えられ、各メモリ11、17及び19から処理対象となる復号ブロックにおける処理対象の行処理の入力に必要なデータを読み出される。   In the address generation unit 33, based on the information output from the scheduler 32, addresses to be given to the various memories 11, 17 and 19 are generated and given to the corresponding memories 11, 17 and 19, and each of the memories 11, 17 and 19 From 19, data necessary for input of the row processing to be processed in the decoding block to be processed is read.

スケジューラ32からのセレクタ制御信号に応じたセレクタ13によって、上述した(1)式の演算を実行する減算部21からの出力データが基本的に、行処理回路14への入力データLmnとなる。Fn格納メモリ11から読み出されたデータが行処理回路14への入力データLmnとなるので、事後対数尤度比Znとして初期値が利用されるときである。   The output data from the subtractor 21 that executes the calculation of the above-described equation (1) by the selector 13 according to the selector control signal from the scheduler 32 basically becomes the input data Lmn to the row processing circuit 14. Since the data read from the Fn storage memory 11 becomes the input data Lmn to the row processing circuit 14, the initial value is used as the posterior log likelihood ratio Zn.

また、Fn格納メモリ11からは、(4)式の演算に必要なデータも読み出され、第1のバッファ15に格納される。   In addition, data necessary for the calculation of equation (4) is also read from the Fn storage memory 11 and stored in the first buffer 15.

行処理回路14によって、上述した(2)式の演算が実行され、M(≦L)サイクル後に行処理回路14から行処理結果Rmnが出力される。このようにして更新された行処理結果RmnがRmn格納メモリ19に格納される。また、加算部16によって、更新された行処理結果Rmnと、第1のバッファ15を介してタイミング調整されたFn格納メモリ11から読み出されたデータFnとが加算され(すなわち、(4)式が実行され)、更新された事後対数尤度比ZnがZn格納メモリ17に格納される。   The row processing circuit 14 performs the operation of the above-described expression (2), and the row processing circuit 14 outputs the row processing result Rmn after M (≦ L) cycles. The row processing result Rmn updated in this way is stored in the Rmn storage memory 19. The adding unit 16 adds the updated row processing result Rmn and the data Fn read from the Fn storage memory 11 whose timing is adjusted via the first buffer 15 (that is, the expression (4)). And the updated posterior log likelihood ratio Zn is stored in the Zn storage memory 17.

Zn格納メモリ17及びRmn格納メモリ19に格納された事後対数尤度比Zn及び行処理結果Rmnは、対応する第2のバッファ18及び第3のバッファ20の機能により、書込み時より遅れたタイミングで出力され、減算部21による(1)式の演算に供する。   The posterior log-likelihood ratio Zn and the row processing result Rmn stored in the Zn storage memory 17 and the Rmn storage memory 19 are delayed from the time of writing by the functions of the corresponding second buffer 18 and third buffer 20. This is output and used for the calculation of equation (1) by the subtracting unit 21.

また、硬判定部22によって、事後対数尤度比Znを硬判定した結果が硬判定データ格納メモリ24に格納されると共に、パリティ判定部23によって、得られた硬判定データを用いてパリティチェックが行われ、そのパリティ判定結果が復号処理制御部12に出力する。このパリティ判定結果は、図3に対して説明したように利用される。   The hard decision unit 22 stores the result of the hard decision on the posterior log likelihood ratio Zn in the hard decision data storage memory 24, and the parity decision unit 23 uses the hard decision data obtained to perform a parity check. The parity determination result is output to the decoding process control unit 12. The parity determination result is used as described with reference to FIG.

復号器出力インタフェース部24においては、復号処理制御部12から、上述のようにして出力された復号終了通知が与えられた際には、その復号終了通知に係る復号ブロックに対する復号結果(復号データ)を、硬判定データ格納メモリ24から読み出して出力する。   In the decoder output interface unit 24, when the decoding end notification output as described above is given from the decoding processing control unit 12, the decoding result (decoded data) for the decoding block related to the decoding end notification. Is read from the hard decision data storage memory 24 and output.

なお、図1では明示していないが、復号データにはどの復号ブロックに関するものかの情報を付与するようにしても良く、また、復号器出力インタフェース部24からの出力線として、復号ブロック毎の出力線を設け、該当する出力線に出力するようにしても良い。このような変形例は、復号器入力インタフェース部10についても同様である。   Although not explicitly shown in FIG. 1, information about which decoding block is associated with the decoded data may be given, and an output line from the decoder output interface unit 24 may be used for each decoding block. An output line may be provided and output to the corresponding output line. Such a modification is the same for the decoder input interface unit 10.

図5(B)及び(C)はそれぞれ、復号処理制御部12が各サイクルについて決定した処理対象の復号ブロック及び行を示すタイミングチャートであり、図5(B)は、復号処理に供している復号ブロックが#0だけの場合を示しており、図5(C)は、復号処理に供している復号ブロックが#0及び#2の2つの場合であって、復号ブロック#0が復号ブロック#2より優先度が高い場合を示している。参考のために、図5(A)には、復号ブロックが#0だけの場合であってWaitサイクルを固定にしている場合(非特許文献2参照)を示している。   FIGS. 5B and 5C are timing charts showing decoding blocks and rows to be processed determined by the decoding processing control unit 12 for each cycle, and FIG. 5B is used for decoding processing. FIG. 5C shows the case where there are only two decoding blocks # 0 and # 2, and FIG. 5C shows that the decoding block # 0 is the decoding block # 0. The case where priority is higher than 2 is shown. For reference, FIG. 5A shows a case where the decoding block is only # 0 and the Wait cycle is fixed (see Non-Patent Document 2).

なお、図5は、復号ブロック#0についてはその検査行列が図4(A)に示すものであり、1行の復号処理の所要サイクルLが6サイクルの場合を示している。   FIG. 5 shows a case where the check matrix of the decoding block # 0 is as shown in FIG. 4A, and the required cycle L of the decoding process for one row is six cycles.

図5(A)に示すように、Waitサイクルを復号処理の所要サイクルL(=6)に固定した場合、6行毎に常にL(=6)サイクル分のWait時間が必要となり、1回の復号処理に対し、6×3=18サイクル分のWait時間が発生する。   As shown in FIG. 5 (A), when the Wait cycle is fixed to the required cycle L (= 6) of the decoding process, a wait time of L (= 6) cycles is always required every 6 rows. A wait time of 6 × 3 = 18 cycles is generated for the decoding process.

これに対し、Waitサイクルを演算によって求め(従って、Waitサイクルは可変)、Waitサイクルを経過すると、その復号ブロックの処理を実行可能とすると、復号処理に供している復号ブロックが1つの図5(B)に示す場合に、図5(A)の固定の場合より、全体としてのWait時間(Waitサイクル数)を少なくすることができる。例えば、7行目の処理を行う前には6サイクルのWait時間となり、13行目、1行目の処理を行う前のWait時間は3サイクルとなり、1回の復号処理に対し、6+3×2=12サイクル分となって6サイクル分だけ、図5(A)よりWait時間を短くできる。   On the other hand, when the Wait cycle is obtained by calculation (therefore, the Wait cycle is variable), and when the Wait block elapses, the decoding block can be executed. In the case shown in B), the overall wait time (the number of wait cycles) can be reduced as compared to the case of FIG. 5A. For example, a wait time of 6 cycles before the processing of the 7th row is performed, and a wait time before the processing of the 13th row and the 1st row is 3 cycles, which is 6 + 3 × 2 for one decoding process. As shown in FIG. 5A, the wait time can be shortened by 6 cycles.

さらに、複数の復号ブロックをスケジューリングしながら処理する場合であれば、ある復号ブロックの復号処理でのWait時間を、他の復号ブロックの復号処理に割り当てることができ、復号処理を実行する処理部のスループットを向上させることができる。例えば、図5(C)に示すように、復号ブロック#0の復号処理が行えないWait時間に、復号ブロック#2の復号処理を行うことができる。   Furthermore, if processing is performed while scheduling a plurality of decoding blocks, the wait time in the decoding process of a certain decoding block can be allocated to the decoding process of another decoding block, and the processing unit that executes the decoding process Throughput can be improved. For example, as shown in FIG. 5C, the decoding process of the decoding block # 2 can be performed during the Wait time when the decoding process of the decoding block # 0 cannot be performed.

(A−3)実施形態の効果
上記実施形態によれば、検査行列の構成に応じて、処理対象行について復号処理が可能となったときには直ちに処理を実行できるように、Wait時間(Waitサイクル)を決定し、処理を待機するようにしたので、復号処理が可能なのに処理を待機するような無意味なWait時間を防止でき、復号処理のスループットを向上させることができる。
(A-3) Effect of Embodiment According to the above-described embodiment, the Wait time (Wait cycle) is set so that processing can be executed immediately when decoding processing can be performed on the processing target row according to the configuration of the check matrix. Therefore, it is possible to prevent a meaningless wait time such as waiting for the process even though the decoding process is possible, and the throughput of the decoding process can be improved.

また、上記実施形態によれば、複数の復号ブロックの復号処理をスケジューラが調整して時分割的に並行処理し得るようにしたので、ある復号ブロックのWait時間を他の復号ブロックの復号処理に利用することができ、この面でも、復号処理のスループットを向上させることができる。   In addition, according to the above-described embodiment, the decoding process of a plurality of decoding blocks is adjusted by the scheduler so that they can be processed in parallel in a time-sharing manner. Also in this aspect, the throughput of the decoding process can be improved.

さらに、上記実施形態によれば、復号繰返し毎に、誤り検出を行い、検出結果がOKなことが所定回数連続したときには、最大繰返し数だけ復号処理を繰り返さなくても、復号処理を終了させるようにしたので、復号処理回数を減らした分だけ、他の復号ブロックの処理などに処理を回すことができ、この面でも、復号処理のスループットを向上させることができる。   Furthermore, according to the above embodiment, error detection is performed for each decoding iteration, and when the detection result is OK for a predetermined number of times, the decoding processing is terminated without repeating the decoding processing for the maximum number of iterations. As a result, the processing can be sent to processing of other decoding blocks by the amount corresponding to the reduction in the number of decoding processing, and the throughput of the decoding processing can be improved in this aspect as well.

(B)他の実施形態
上記実施形態においては、復号処理の実行構成が図1に示す構成であるものを示したが、本発明は、復号処理に供する行(若しくは、ブロック及び行の組み合わせ)の決定手法に特徴を有し、復号処理の実行構成は、図1に示すものに限定されない。例えば、一部の構成(例えば、格納メモリなど)を多面構成としたものであっても良い。
(B) Other Embodiments In the above embodiment, the execution configuration of the decoding process is the one shown in FIG. 1, but the present invention provides a row (or a combination of a block and a row) for the decoding process. The determination method is not limited to that shown in FIG. 1. For example, a part of the configuration (for example, a storage memory) may be a multi-side configuration.

また、上記実施形態においては、復号情報が外部から入力されるものを示したが、復号処理制御部内に予め複数種類の復号情報を設定しておき、それを選択するようにしても良い。   In the above embodiment, the decoding information is input from the outside. However, a plurality of types of decoding information may be set in advance in the decoding processing control unit and selected.

さらに、上記実施形態においては、図4(B)に示すようなWaitサイクルをその都度演算して求めるものを示したが、検査情報と同様に、外部から復号処理制御部に入力するようにしても良い。   Furthermore, in the above-described embodiment, what is obtained by calculating the Wait cycle as shown in FIG. 4B each time is shown. However, as with the inspection information, it is input to the decoding processing control unit from the outside. Also good.

上記実施形態では、複数の復号ブロックに対応できるLDPC符号復号装置を示したが、1つの復号ブロックだけに対応できるLDPC符号復号装置にも本発明を適用することができる。この場合には、図2におけるスケジューラを省略すれば良い。   In the above embodiment, an LDPC code decoding apparatus that can handle a plurality of decoding blocks has been described. However, the present invention can also be applied to an LDPC code decoding apparatus that can handle only one decoding block. In this case, the scheduler in FIG. 2 may be omitted.

また、上記実施形態では、スケジューラはWait状態になければ常に優先度情報に従って復号処理に供する復号ブロックを定めるものを示したが、選択した復号ブロックの優先度を1段階下げて次のサイクルの復号ブロックの決定判断に用いるなど、複数の復号ブロック間の選択方法は上記実施形態のものに限定されない。   Further, in the above embodiment, the scheduler shows that the scheduler always determines the decoding block to be subjected to the decoding process according to the priority information unless it is in the Wait state. However, the priority of the selected decoding block is lowered by one step and the next cycle is decoded. The method for selecting between a plurality of decoded blocks, such as used for determining a block, is not limited to that in the above embodiment.

なお、行処理演算部は、(2)式の近似式の演算を実行できるものであっても良い。このような近似式の演算構成としては、例えば、文献『“Near optimum universal belief propagation based decoding of low−density parity check codes,” IEEE Trans. Commun., vol.50, pp.406−414, Mar.2002』に記載されている。   Note that the row processing calculation unit may be capable of executing the calculation of the approximate expression (2). As an arithmetic configuration of such an approximate expression, for example, a document ““ Near optimal universal belief propagation based decoding of low-density parity check codes, ”IEEE Trans. Commun. , Vol. 50, pp. 406-414, Mar. 2002 ".

実施形態に係るLDPC符号復号装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the LDPC code decoding apparatus which concerns on embodiment. 実施形態の復号処理制御部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the decoding process control part of embodiment. 実施形態の復号処理監視部の処理を示すフローチャートである。It is a flowchart which shows the process of the decoding process monitoring part of embodiment. 実施形態の検査行列の例とその検査行列について定まるWaitサイクルの例を示す説明図である。It is explanatory drawing which shows the example of the wait cycle defined about the example of the check matrix of embodiment, and the check matrix. 実施形態の効果を説明するための処理開始の復号ブロック及び行を示すタイミングチャートである。It is a timing chart which shows the decoding block and row | line | column of the process start for demonstrating the effect of embodiment.

符号の説明Explanation of symbols

1…LDPC符号復号装置、12…復号処理制御部、23…パリティ判定部、30−0〜30−(B−1)…復号情報格納部、31−0〜31−(B−1)…復号処理監視部、32…スケジューラ、33…アドレス生成部。
DESCRIPTION OF SYMBOLS 1 ... LDPC code decoding apparatus, 12 ... Decoding process control part, 23 ... Parity determination part, 30-0-30- (B-1) ... Decoding information storage part, 31-0-31- (B-1) ... Decoding Process monitoring unit, 32... Scheduler, 33... Address generation unit.

Claims (8)

低密度パリティチェック符号における復号アルゴリズムとして、行処理毎に復号結果を更新するアルゴリズムを適用した低密度パリティチェック符号復号装置であって、
復号処理を実行する復号処理手段と、
復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持する処理待ち情報保持手段と、
この処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示する開始指示延期手段と
を有することを特徴とする低密度パリティチェック符号復号装置。
As a decoding algorithm in the low density parity check code, a low density parity check code decoding device applying an algorithm for updating a decoding result for each row process,
Decryption processing means for executing decryption processing;
Processing wait information holding that holds time information that allows the target row to start processing after the row preceding the target row starts decoding processing, which is determined from the check matrix information for the low-density parity check code to be decoded Means,
Low-density, comprising: a start instruction postponing means for instructing the decoding processing means to start decoding processing of a target row at least waiting for the time information held by the processing waiting information holding means Parity check code decoding device.
複数の復号ブロックの復号処理を並行的に実行する低密度パリティチェック符号復号装置であって、
復号処理を実行する復号処理手段と、
上記各復号ブロック毎に付与された優先度情報を保持する優先度情報保持手段と、
復号処理に供する複数の復号ブロックに付与された優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定する処理復号ブロック決定手段と
を有することを特徴とする低密度パリティチェック符号復号装置。
A low-density parity check code decoding device that performs decoding processing of a plurality of decoding blocks in parallel,
Decryption processing means for executing decryption processing;
Priority information holding means for holding priority information assigned to each of the decoded blocks;
Low-density parity check code decoding, comprising: processing decoding block determination means for determining a decoding block to be decoded by the decoding processing means based on priority information assigned to a plurality of decoding blocks to be subjected to decoding processing apparatus.
上記復号処理手段は、行処理毎に復号結果を更新するアルゴリズムを適用したものであると共に、
復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持する、各復号ブロック毎の処理待ち情報保持手段と、
この処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示する、各復号ブロック毎の開始指示延期手段とをさらに備え、
上記処理復号ブロック決定手段は、上記開始指示延期手段が指示を送出した復号ブロックの中から、その優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定する
ことを特徴とする請求項2に記載の低密度パリティチェック符号復号装置。
The decoding processing means applies an algorithm for updating a decoding result for each row processing,
Each decoding block, which is determined from information of a check matrix for a low-density parity check code to be decoded, holds time information from which the target row can start processing after the row before the target row starts decoding processing Processing waiting information holding means for each,
It further comprises start instruction postponing means for each decoding block that waits at least for the time information held by the processing waiting information holding means and instructs the decoding processing means to start decoding processing of the target row. ,
The processing decoding block determining means determines a decoding block to be decoded by the decoding processing means based on priority information from among the decoding blocks sent out by the start instruction postponing means. Item 3. The low density parity check code decoding device according to Item 2.
上記復号処理手段が復号処理を繰返す毎に処理を行った行に対するパリティチェックを行い、そのパリティチェック結果がOKとなる連続回数を測定する誤りなし連続回数計測手段と、
上記連続回数が予め設定された値となったときに復号処理を終了させる終了指示手段とをさらに有する
ことを特徴とする請求項1又は3に記載の低密度パリティチェック符号復号装置。
Each time the decoding processing unit repeats the decoding process, the parity check is performed on the row that has been processed, and the error-free continuous number measuring unit that measures the number of consecutive times that the parity check result is OK;
The low-density parity check code decoding apparatus according to claim 1, further comprising: an end instruction unit that ends the decoding process when the number of consecutive times reaches a preset value.
低密度パリティチェック符号における復号アルゴリズムとして、行処理毎に復号結果を更新するアルゴリズムを適用した低密度パリティチェック符号復号方法であって、
復号処理手段、処理待ち情報保持手段及び開始指示延期手段を有し、
上記復号処理手段は復号処理を実行し、
上記処理待ち情報保持手段は、復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持し、
上記開始指示延期手段が、上記処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示する
ことを特徴とする低密度パリティチェック符号復号方法。
As a decoding algorithm in the low density parity check code, a low density parity check code decoding method applying an algorithm for updating a decoding result for each row processing,
A decryption processing means, a processing wait information holding means and a start instruction postponing means,
The decoding processing means executes a decoding process,
The processing waiting information holding means is determined from information of the check matrix for the low-density parity check code to be decoded, and is a time during which the target row can start processing after the row before the target row starts decoding processing Keep information,
The start instruction postponing means waits at least for the time information held by the processing waiting information holding means, and instructs the decoding processing means to start decoding processing of the target row. Parity check code decoding method.
複数の復号ブロックの復号処理を並行的に実行する低密度パリティチェック符号復号方法であって、
復号処理手段、優先度情報保持手段及び処理復号ブロック決定手段を有し、
上記復号処理手段は復号処理を実行し、
上記優先度情報保持手段は、上記各復号ブロック毎に付与された優先度情報を保持し、
上記処理復号ブロック決定手段は、復号処理に供する複数の復号ブロックに付与された優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定する
ことを特徴とする低密度パリティチェック符号復号方法。
A low-density parity check code decoding method for performing decoding processing of a plurality of decoding blocks in parallel,
A decoding processing means, a priority information holding means and a processing decoding block determination means,
The decoding processing means executes a decoding process,
The priority information holding means holds priority information given to each of the decoded blocks,
The processing decoding block determining means determines a decoding block to be decoded by the decoding processing means on the basis of priority information given to a plurality of decoding blocks to be subjected to decoding processing. Method.
上記復号処理手段は、行処理毎に復号結果を更新するアルゴリズムを適用したものであると共に、
各復号ブロック毎の処理待ち情報保持手段及び各復号ブロック毎の開始指示延期手段をさらに有し、
上記各処理待ち情報保持手段は、復号する低密度パリティチェック符号に対する検査行列の情報から定まる、対象となる行の前の行が復号処理を開始してから対象となる行が処理開始可能となる時間情報を保持し、
上記各開始指示延期手段は、対応する処理待ち情報保持手段が保持した時間情報分だけを少なくとも待って、上記復号処理手段に、対象となる行の復号処理の開始を指示し、
上記処理復号ブロック決定手段は、上記開始指示延期手段が指示を送出した復号ブロックの中から、その優先度情報に基づき、上記復号処理手段が復号処理する復号ブロックを決定する
ことを特徴とする請求項6に記載の低密度パリティチェック符号復号方法。
The decoding processing means applies an algorithm for updating a decoding result for each row processing,
Further comprising processing waiting information holding means for each decoding block and start instruction postponing means for each decoding block,
Each processing waiting information holding means can start processing of a target row after the row preceding the target row starts decoding processing, which is determined from the check matrix information for the low-density parity check code to be decoded. Keeps time information,
Each of the start instruction postponing means waits at least for the time information held by the corresponding processing waiting information holding means, and instructs the decoding processing means to start decoding processing of the target row,
The processing decoding block determining means determines a decoding block to be decoded by the decoding processing means based on priority information from among the decoding blocks sent out by the start instruction postponing means. Item 7. The low density parity check code decoding method according to Item 6.
誤りなし連続回数計測手段及び終了指示手段をさらに有し、
上記誤りなし連続回数計測手段は、上記復号処理手段が復号処理の繰返す毎に処理を行った行に対するパリティチェックを行い、そのパリティチェック結果がOKとなる連続回数を測定し、
上記終了指示手段は、上記連続回数が予め設定された値となったときに復号処理を終了させる
ことを特徴とする請求項5又は7に記載の低密度パリティチェック符号復号方法。
It further has error-free continuous frequency measurement means and end instruction means,
The error-free continuous number of times measurement means performs a parity check on the row processed each time the decoding processing means repeats the decoding process, and measures the number of times that the parity check result is OK,
The low-density parity check code decoding method according to claim 5 or 7, wherein the termination instruction means terminates the decoding process when the number of consecutive times reaches a preset value.
JP2006224431A 2006-08-17 2006-08-21 Low density parity check code decoding apparatus and method Active JP4314254B2 (en)

Priority Applications (3)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006224431A JP4314254B2 (en) 2006-08-21 2006-08-21 Low density parity check code decoding apparatus and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009099034A Division JP4799637B2 (en) 2009-04-15 2009-04-15 Low density parity check code decoding apparatus and method

Publications (2)

Publication Number Publication Date
JP2008048346A true JP2008048346A (en) 2008-02-28
JP4314254B2 JP4314254B2 (en) 2009-08-12

Family

ID=39181614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006224431A Active JP4314254B2 (en) 2006-08-17 2006-08-21 Low density parity check code decoding apparatus and method

Country Status (1)

Country Link
JP (1) JP4314254B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159643A (en) * 2009-04-15 2009-07-16 Mobile Techno Corp Low-density parity-check code decoder and decoding method
JP2010130342A (en) * 2008-11-27 2010-06-10 Sumitomo Electric Ind Ltd Decoder
JP2011160491A (en) * 2011-05-24 2011-08-18 Sumitomo Electric Ind Ltd Decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130342A (en) * 2008-11-27 2010-06-10 Sumitomo Electric Ind Ltd Decoder
JP2009159643A (en) * 2009-04-15 2009-07-16 Mobile Techno Corp Low-density parity-check code decoder and decoding method
JP2011160491A (en) * 2011-05-24 2011-08-18 Sumitomo Electric Ind Ltd Decoder

Also Published As

Publication number Publication date
JP4314254B2 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
JP4038519B2 (en) Method and apparatus for decoding low density parity check code using integrated node processing
JP4038518B2 (en) Method and apparatus for efficiently decoding low density parity check code
US8028214B2 (en) Low density parity check codes decoder and method thereof
US9432053B1 (en) High speed LDPC decoder
JP4567734B2 (en) LDPC decoding method and apparatus with efficient memory
JP4221503B2 (en) Node processor used in parity check decoder
JP4282558B2 (en) Low density parity check code decoder and method
TW201126918A (en) Improved turbo-equalization methods for iterative decoders
JP2009100222A (en) Device and method for decoding low density parity check code
JP2008259051A (en) Encoding method and encoding apparatus, and program
JPWO2007007801A1 (en) Communication apparatus and decoding method
US20090100313A1 (en) Methods and apparatuses of mathematical processing
JP2005506733A5 (en)
JP2006279396A (en) Ldpc code detector and ldpc code detecting method
JP2007104685A (en) Check node updating method in low-density parity check decoder
JP5631846B2 (en) Semiconductor memory device and decoding method
JP2008035527A (en) Method and apparatus for low-density parity check decoding using hardware shared and serial sum-product architecture
TWI487293B (en) Methods and apparatus for programmable decoding of a plurality of code types
JP4314254B2 (en) Low density parity check code decoding apparatus and method
CN106537787B (en) Interpretation method and decoder
JP4799637B2 (en) Low density parity check code decoding apparatus and method
TW201824759A (en) Decoding method and related apparatus
JP5148586B2 (en) Decoding device and decoding method
US9590658B1 (en) High-speed low-power LDPC decoder design
TW201729545A (en) Method and decoder for decoding low density parity check data to deocde codeword

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090114

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090128

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090415

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

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

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

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4314254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150522

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250