JP2008048346A - Low-density parity-check code decoder and decoding method - Google Patents
Low-density parity-check code decoder and decoding method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 116
- 238000012545 processing Methods 0.000 claims abstract description 200
- 239000011159 matrix material Substances 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims description 99
- 238000005259 measurement Methods 0.000 claims 2
- 230000000593 degrading effect Effects 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 47
- 238000012544 monitoring process Methods 0.000 description 37
- 239000000872 buffer Substances 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 13
- 238000004886 process control Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
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)式に示す列処理とを繰り返すことにより、信頼度の更新を行う確率伝搬アルゴリズムである。
ここで、iは復号繰返し数、Zinはn番目のビットにおけるi回復号処理を行った後の事後対数尤度比(事後LLR)、Fnは通信路値、Rimnはm行のn番目のビットにおけるi回復号処理を行った後の行処理結果である(初期値Z0n=Fn、R0mn=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アルゴリズムよりも少ない繰返し数で同等の誤り特性を得ることが知られている。
しかしながら、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
復号器入力インタフェース部10は、各復号ブロックのデータ(通信路値)と各復号ブロックに関する復号情報を取り込み、通信路値をFn格納メモリ11に与え、復号情報を復号処理制御部12に与えるものである。
The decoder
ここで、復号ブロックとは、同一の検査行列を適用して復号を行うデータの固まり(復号対象)である。すなわち、この実施形態の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
Fn格納メモリ11は、復号器入力インタフェース部10を介して外部から与えられた通信路値を格納するものであり、また、復号処理制御部12の制御下で、格納している通信路値Fnを読み出してセレクタ13に与えるものである。
The Fn storage memory 11 stores a channel value given from the outside via the decoder
復号処理制御部12は、復号処理を行うブロックと行を決定する機能を担っているものであり、図2に示すような詳細構成を有する。復号処理制御部12の詳細構成については後述する。
The decoding
セレクタ13は、復号処理制御部12の制御下で、Fn格納メモリ11から読み出されたデータ(通信路値)又は減算部21の出力データを選択し、行処理回路14及び第1のバッファ15に与えるものである。セレクタ13がFn格納メモリ11から読み出されたデータ(通信路値)を選択する場合は、上述した(1)式を最初(i−1=0)に演算する場合と、処理対象行等の通信路値Fnを第1のバッファ15に転送させる場合とである。
The
行処理回路14は、上述した(2)式の演算を実行するものである。この実施形態の場合、行列処理の演算方法には特徴はなく、その詳細な説明は省略する。(2)式の演算に必要な(3)式の演算は、ルックアップテーブルなどを利用して実行するものであっても良い。また、(2)式そのものではなく、(2)式の近似式を演算するものであっても良い。行処理回路14による行処理結果Rmnは、加算部16及びRmn格納メモリ19に与えられる。
The
第1のバッファ15は、上述した(4)式の演算で必要となる通信路値Fnをバッファリングし、その通信路値Fnが加算部16に与えられるタイミングを調整するものである。
The
加算部16は、複数個の加算器でなり、行処理回路14による行処理結果Rmnと、第1のバッファ15がバッファリングしている通信路値Fnとを加算するものである。すなわち、加算部16は、上述した(4)式を実行するものである。加算部16によって得られた列処理結果Znは、Zn格納メモリ17及び硬判定部22に与えられる。
The adding
Zn格納メモリ17は、復号処理制御部12から与えられたアドレスのエリアに、加算部16からの列処理結果Znを格納するものである。また、Zn格納メモリ17は、第2のバッファ18から出力されたアドレスのエリアから、列処理結果Znを読み出して減算部21に被減算入力として与えるものである。
The
第2のバッファ18は、Zn格納メモリ17への書込みアドレスをバッファリングしてタイミングを調整し、バッファリングしたアドレスを、Zn格納メモリ17、パリティ判定部23及び硬判定データ格納メモリ24に与えるものである。
The
Rmn格納メモリ19は、復号処理制御部12から与えられたアドレスのエリアに、行処理回路14による行処理結果Rmnを格納するものである。また、Rmn格納メモリ19は、第3のバッファ20から出力されたアドレスのエリアから、行処理結果Rmnを読み出して減算部21に減算入力として与えるものである。
The
第3のバッファ20は、Rmn格納メモリ19への書込みアドレスをバッファリングしてタイミングを調整し、バッファリングしたアドレスをRmn格納メモリ19に与えるものである。
The
減算部21は、複数個の減算器でなり、Zn格納メモリ17から読み出された列処理結果Znから、Rmn格納メモリ19から読み出された行処理結果Rmnを減算して、セレクタ13に選択入力として与えるものである。すなわち、減算部21は、上述した(1)式の演算を実行しているものである。
The subtracting
硬判定部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
パリティ判定部23は、硬判定部22からの硬判定データと、第2のバッファ18から出力されたアドレスに基づき、復号処理の繰返し毎に、誤り検出(パリティ判定)を行うものである。第2のバッファ18から出力されたアドレスは、後述するように、復号処理制御部12が検査対象の復号ブロックや検査行列情報をも利用して形成したものであり、検査行列の情報(ビットノードの情報)が盛り込まれており、誤り検出を行うことができる。パリティ判定部23は、パリティ判定結果及びパリティチェックブロック番号を復号処理制御部12に与えるものである。ここで、パリティ判定部23は、第2のバッファ18から出力されたアドレスをパリティチェックブロック番号に変換するための情報(例えばテーブル情報)を保持しており、これにより、パリティチェックブロック番号を生成する。なお、アドレスをパリティチェックブロック番号に変換する機能を、復号処理制御部12が備えるようにしても良い。
The
LDPC符号は、検査行列Hと、(5)式に示すように硬判定を行った復号結果X^=(x^1,…,x^n,…,x^N)を用いて、HX=0であるかどうかを判定することにより、誤り検出が可能である。すなわち、最大の繰返し数の復号処理を行わなくても、復号繰返し毎に処理を行った行に対する誤り検出を行い、誤り検出結果のOKが所定回連続するような場合であれば、復号処理を終了させても良い。この実施形態は、このような点に鑑み、復号処理の繰返し毎に、処理を行った行に対する誤り検出(パリティ判定)を行い、復号処理制御部11側で、パリティ判定結果に基づいて、最大の繰返し数の復号処理を繰り返す前に復号処理を終了させるか否かを判断させることとした。
硬判定データ格納メモリ24は、硬判定部22からの硬判定データを、第2のバッファ18から出力されたアドレスのエリアに格納するものである。
The hard decision
復号器出力インタフェース部(復号器出力IF)25は、復号処理制御部12から復号終了通知が与えられたときに、硬判定データ格納メモリ24に格納されている硬判定データを、復号データとして読み出して出力するものである。
The decoder output interface unit (decoder output IF) 25 reads hard decision data stored in the hard decision
この実施形態の場合、複数の復号ブロックに対して、時分割的に並行して復号を行うことができるので、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
上述したように、復号処理を行うブロックと行を決定する機能を担っている復号処理制御部12は、図2に示すような詳細構成を有する。
As described above, the decoding
図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
各復号情報格納部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
各復号処理監視部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
スケジューラ32は、全復号ブロックの復号処理監視部31−0〜31−(B−1)からの情報に基づいて、行単位の復号処理のスケジュールを生成するものであり、現時点で、復号処理を実行させる復号ブロックの番号(ブロック番号)、行番号、検査行列情報をアドレス生成部33に与えると共に、上述した図1のセレクタ13に対するセレクタ制御信号も形成するものである。現時点で、復号処理を実行させる復号ブロックの番号は、全復号ブロックの復号処理監視部31−0〜31−(B−1)にフィードバックされるようになされている。
The
アドレス生成部33は、スケジューラ32から与えられたブロック番号、行番号及び検査行列情報に基づいて、上述した図1のFn格納メモリ11、Zn格納メモリ17、Rmn格納メモリ19に対するメモリアドレスを生成するものである。
The address generation unit 33 generates memory addresses for the Fn storage memory 11, the
(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
外部から与えられた各復号ブロックのデータ(通信路値)は、復号器入力インタフェース部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
復号処理制御部12における各復号処理監視部31は、対応する復号情報格納部30に復号情報が書き込まれた以降、図3に示す一連の処理を開始する。例えば、処理対象行を見直し単位時間(以下、サイクルと呼ぶ)毎に、図3に示す処理を開始する。また例えば、信号線の図示は省略しているが、その時点で復号情報が設定されて復号処理を要する全ての復号情報格納部が、スケジューラ32の制御下で、図3に示す処理を同期して実行する。なお、図3は、各復号処理監視部31の処理を示すフローチャートである。なお、サイクルは、上述したTDMPアルゴリズムで、各式における「i」を更新する周期に該当する。
Each decoding
復号処理監視部31は、図3に示す処理を開始すると、当該復号ブロックについて、復号処理をこれから開始するのか否かを判別する(ステップ100)。
When the process shown in FIG. 3 is started, the decoding
これから開始する場合であると、復号処理監視部31は、内蔵する全てのカウンタ(パリティカウンタ40、復号繰返しカウンタ41、行カウンタ42、Waitカウンタ44)をリセットする(ステップ101)。
In the case of starting from now, the decoding
これに対して、当該復号ブロックについて、復号処理を既に開始している場合には、復号処理監視部31は、スケジューラ32から与えられたブロック番号に基づき、前サイクルで行の処理がなされた復号ブロックは、当該復号ブロックか否かを判別する(ステップ102)。
On the other hand, when the decoding process has already been started for the decoding block, the decoding
当該復号ブロックの行が前のサイクルで処理されていた場合には、復号処理監視部31は、行カウンタ42をカウントアップした後(ステップ103)、行カウンタ42のカウント値が検査行列の行数と一致するようになったか否かを判別する(ステップ104)。
If the row of the decoding block has been processed in the previous cycle, the decoding
ここで、行カウンタ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
復号処理監視部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
なお、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
上述した行カウンタ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 (
当該復号ブロックを指示している場合には、復号処理監視部31は、さらに、パリティチェックブロック番号と共に到来したパリティ判定結果がOK(上述したHX=0であることをOKとする)か否かを判定し(ステップ110)、OKであれば、パリティカウンタ40をカウントアップし(ステップ111)、NGであれば、パリティカウンタ40をリセットする(ステップ112)。
When the decoding block is instructed, the decoding
復号処理を開始したばかりであり、各種カウンタをリセットした場合(ステップ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 (
パリティカウンタ40のカウント値がパリティ監視サイクルに到達したとき、又は、復号繰返しカウンタ41のカウント値が最大復号繰返し数に到達したときには、復号処理監視部31は、図1の復号器出力インタフェース部25に対して、当該復号ブロックを特定した復号完了通知を送出すると共に(ステップ115)、復号処理フラグを「0」(「1」が復号処理の継続中を表す)にして(ステップ116)、図3に示す一連の処理を終了する。
When the count value of the
復号処理を終了させる条件が成立していなければ、復号処理監視部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
一方、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
スケジューラ32に与える信号は、復号情報格納部30に格納されている優先度情報及び検査行列情報(処理対象行の情報だけでも良い)と、行カウンタ42のカウント値(処理行番号)と、復号処理フラグと、セレクタ制御信号とである。セレクタ制御信号は、復号繰返しカウンタ41のカウント値に基づき、処理対象行の初めての復号処理のときに、Fn格納メモリ11の出力を選択させるような制御信号とする。
The signal given to the
なお、復号処理フラグを「0」にしたときにも(ステップ116)にも、復号処理監視部31は、その旨の信号をスケジューラ32に与えるようにしても良い。
Even when the decoding process flag is set to “0” (step 116), the decoding
スケジューラ32においては、各復号処理監視部31−0〜31−(B−1)から出力された復号処理フラグと優先度情報を見て、復号処理フラグが「1」である中から最も優先度の高い復号ブロックを選択される。そして、スケジューラ32から、現時点(現サイクル)で、復号処理を実行させる復号ブロックの番号(ブロック番号)、行番号、検査行列情報がアドレス生成部33に与えられると共に、上述した図1のセレクタ13に対してはその復号ブロックについて与えられたセレクタ制御信号がそのまま与えられる。現時点で、復号処理を実行させる復号ブロックの番号は、全復号ブロックの復号処理監視部31−0〜31−(B−1)にも与えられる。
In the
なお、スケジューラ32が、現サイクルだけでなく、将来のサイクルの処理対象の復号ブロック及び行番号などをも予め定めるものであっても良い。
Note that the
アドレス生成部33においては、スケジューラ32から出力された情報を元に、各種メモリ11、17及び19に与えるアドレスが生成されて該当するメモリ11、17及び19に与えられ、各メモリ11、17及び19から処理対象となる復号ブロックにおける処理対象の行処理の入力に必要なデータを読み出される。
In the address generation unit 33, based on the information output from the
スケジューラ32からのセレクタ制御信号に応じたセレクタ13によって、上述した(1)式の演算を実行する減算部21からの出力データが基本的に、行処理回路14への入力データLmnとなる。Fn格納メモリ11から読み出されたデータが行処理回路14への入力データLmnとなるので、事後対数尤度比Znとして初期値が利用されるときである。
The output data from the
また、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
行処理回路14によって、上述した(2)式の演算が実行され、M(≦L)サイクル後に行処理回路14から行処理結果Rmnが出力される。このようにして更新された行処理結果RmnがRmn格納メモリ19に格納される。また、加算部16によって、更新された行処理結果Rmnと、第1のバッファ15を介してタイミング調整されたFn格納メモリ11から読み出されたデータFnとが加算され(すなわち、(4)式が実行され)、更新された事後対数尤度比ZnがZn格納メモリ17に格納される。
The
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
また、硬判定部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
復号器出力インタフェース部24においては、復号処理制御部12から、上述のようにして出力された復号終了通知が与えられた際には、その復号終了通知に係る復号ブロックに対する復号結果(復号データ)を、硬判定データ格納メモリ24から読み出して出力する。
In the decoder
なお、図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
図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
なお、図5は、復号ブロック#0についてはその検査行列が図4(A)に示すものであり、1行の復号処理の所要サイクルLが6サイクルの場合を示している。
FIG. 5 shows a case where the check matrix of the
図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
(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 ".
1…LDPC符号復号装置、12…復号処理制御部、23…パリティ判定部、30−0〜30−(B−1)…復号情報格納部、31−0〜31−(B−1)…復号処理監視部、32…スケジューラ、33…アドレス生成部。
DESCRIPTION OF
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.
上記連続回数が予め設定された値となったときに復号処理を終了させる終了指示手段とをさらに有する
ことを特徴とする請求項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.
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)
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 |
-
2006
- 2006-08-21 JP JP2006224431A patent/JP4314254B2/en active Active
Cited By (3)
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 |