JP2012182623A - 復号装置、復号方法、およびプログラム - Google Patents
復号装置、復号方法、およびプログラム Download PDFInfo
- Publication number
- JP2012182623A JP2012182623A JP2011043720A JP2011043720A JP2012182623A JP 2012182623 A JP2012182623 A JP 2012182623A JP 2011043720 A JP2011043720 A JP 2011043720A JP 2011043720 A JP2011043720 A JP 2011043720A JP 2012182623 A JP2012182623 A JP 2012182623A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- circuit
- bit
- satisfied
- end condition
- 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 153
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims description 61
- 208000011580 syndromic disease Diseases 0.000 claims description 58
- 238000005516 engineering process Methods 0.000 abstract description 25
- 239000011159 matrix material Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 9
- 238000004088 simulation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
- H03M13/3753—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/134—Non-binary linear block codes not provided for otherwise
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2948—Iterative decoding
- H03M13/2951—Iterative decoding using iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
- H04L1/0618—Space-time coding
- H04L1/0625—Transmitter arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
- H04L1/0618—Space-time coding
- H04L1/0631—Receiver arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
【解決手段】group shuffled BP復号において1つのビットノードのグループを対象としたチェックノード演算とビットノード演算が終了する毎などの、繰り返し復号の1回の復号処理の間隔よりも短い間隔で、復号終了条件を満たすか否かの判定が行われる。1回の復号処理の間隔よりも短い間隔で行われた判定によって、復号終了条件を満たさないと判定された場合、残りの処理が継続され、一方、復号終了条件を満たすと判定された場合、残りの処理は行われずに処理は終了する。本技術は、LDPC符号を復号する復号回路に適用することができる。
【選択図】図4
Description
近年、誤り訂正符号としてLDPC(Low-Density Parity-Check)符号が注目されている(非特許文献1)。LDPC符号は、それを定義するパリティチェック行列が疎なものであることを特徴とする。疎な行列とは、行列の要素の"1"の個数が非常に少なく構成される行列をいう。
ここで、LDPC符号の復号方法の一つであるBP(Belief Propagation)復号について説明する。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
(i)チェックノード演算
LDPC復号回路は、全てのnと、m∈M(n)を満たす全てのmについて、次式(1)、(2)によりεmn (i)を求める。式(1)のn’は、N(m)に含まれるビットノードのうちの、nを除くビットノードを表す。
LDPC復号回路は、全てのmと、n∈N(m)を満たす全てのnについて、次式(3)によりzmn (i)を求め、式(4)によりzn (i)を求める。式(3)のm’は、M(n)に含まれるチェックノードのうちの、mを除くチェックノードを表す。
(i)硬判定
LDPC復号回路は、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、硬判定値(ビット判定値)を要素とするベクトルである判定値ベクトルw(i)=[wn (i)]を求める。
LDPC復号回路は、パリティチェック方程式Hw(i)の演算であるパリティチェック演算を行う。LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(5)を満たす場合、または、復号処理の繰り返し回数iがあらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果としてw(i)を出力する。
ところで、LDPC符号の繰り返し復号において、復号が収束するまでの回数を少なくするための方法が提案されている(非特許文献2,3)。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
LDPC復号回路は、処理対象とするビットノードのグループを表す変数gを0からG-1まで変えながら、(i)のチェックノード演算と(ii)のビットノード演算を繰り返す。すなわち、LDPC復号回路は、G個のチェックノードのグループのうちの1つ目のグループを対象としてチェックノード演算とビットノード演算を行う。次に、LDPC復号回路は、2つ目のグループを対象としてチェックノード演算とビットノード演算を行い、以降、3つ目以降のグループを順次対象として、チェックノード演算とビットノード演算を行う。
(i)硬判定
LDPC復号回路は、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルw(i)=[wn (i)]を求める。
LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(10)を満たす場合、または、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果としてw(i)を出力する。
非特許文献3には、ターボ復号、あるいはlayered BP復号として知られる、チェックノード演算を複数の処理に分割して行う復号方法が記載されている。次に、Layered BP復号について説明する。Layered BP復号は次のように表される。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各εmn (0)に0を設定する。
LDPC復号回路は、処理対象とするチェックノードを表す変数mを0からM-1まで変えながら、(i)のビットノード演算と(ii)のチェックノード演算を繰り返す。
LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(15)を満たす場合、または、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路は、iを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果としてw(i)を出力する。
1.第1の実施の形態(group shuffled BP復号の変形)
2.第2の実施の形態(layered BP復号の変形)
[group shuffled BP復号の変形]
従来のgroup shuffled BP復号では、チェックノード演算とビットノード演算からなる1回のステップ1の復号演算全体が終わる毎に、硬判定と復号終了条件判定が行われる。これに対して、本技術を適用したgroup shuffled BP復号においては、1回の復号演算を分割し、その分割した復号演算の間に、硬判定と復号終了条件判定が行われる。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
LDPC復号回路は、Fn>0である場合にはwn (0)=1、Fn<0である場合にはwn (0)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルw=[wn (0)]を求める。
LDPC復号回路は、処理対象とするビットノードのグループを表す変数gを0からG-1まで変えながら、(i)のチェックノード演算、(ii)のビットノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnについて、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。硬判定により、部分的な硬判定値が求められることになる。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルwのn番目の要素をwn (i-1)からwn (i)に更新する。
LDPC復号回路は、パリティチェック方程式Hwの演算であるパリティチェック演算を行う。LDPC復号回路は、パリティチェック方程式Hw=0を満たす、すなわち0≦m<Mについて次式(20)を満たす場合、ステップ3の処理を行う。式(20)による計算は、i-1回目の復号処理の結果が用いられている点で式(10)の計算と異なる。
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
図5は、本技術の一実施形態に係る復号装置21に設けられるLDPC復号回路1の構成例を示すブロック図である。図5に示す構成のうち、図3の構成と同じ構成には同じ符号を付してある。
図6は、従来のBP復号、従来のgroup shuffled BP復号、および本技術を適用したgroup shuffled BP復号のそれぞれの方法を用いてLDPC復号を行った場合の演算量のシミュレーション結果を表す図である。
従来のgroup shuffled BP復号と比べた場合、本技術を適用したgroup shuffled BP復号では復号終了条件判定の回数(パリティチェック演算の回数)が約G倍となる。この場合であっても、全体の演算量が多くならないことについて説明する。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
LDPC復号回路は、Fn>0である場合にはwn (0)=1、Fn<0である場合にはwn (0)=0として、判定値ベクトルw=[wn (0)]を求める。
LDPC復号回路は、判定値ベクトルw=[wn (0)]を用いて、シンドロームSmを次式(23)により求める。
LDPC復号回路は、変数gを0からG-1まで変えながら、(i)のチェックノード演算、(ii)のビットノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnについて、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。また、LDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルwのn番目の要素をwn (i-1)からwn (i)に更新する。
LDPC復号回路は、m∈{∪M(n) | gNg≦n<(g+1)Ng}を満たすm(gNg≦n<(g+1)Ngの範囲にあるビットノードnに繋がるチェックノードmの和集合に属するチェックノードm)について、シンドロームSmを次式(28)により更新する。
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
図8は、以上のようにして直前に計算されたシンドロームSm’と前回の復号処理で求められた硬判定値wn (i-1)とを保存し、復号終了条件判定を行うパリティチェック回路14の構成例を示すブロック図である。
[layered BP復号の変形]
繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件判定を行い、復号終了条件を満たす場合には処理を終了させることはlayered BP復号に適用することも可能である。本技術を適用したlayered BP復号は次のように表される。
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各εmn (0)に0を設定する。
LDPC復号回路は、Fn>0である場合にはwn=1、Fn<0である場合にはwn=0として硬判定を行い、判定値ベクトルw=[wn]を求める。
LDPC復号回路は、変数mを0からM-1まで変えながら、(i)のビットノード演算、(ii)のチェックノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
LDPC復号回路は、パリティチェック方程式Hw=0を満たす場合はステップ3の処理を行う。一方、LDPC復号回路は、パリティチェック方程式Hw=0を満たさない場合であって、いまの変数mがM-1でないとき、LDPC復号回路はmを1増やしてステップ1の処理を継続する。パリティチェック方程式Hw=0を満たさない場合であって、いまの変数mがM-1であるとき、LDPC復号回路はステップ2の処理を行う。
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。以上の処理をソフトウェアで実現することによって、LDPC復号にかかる時間を短縮することができる。
繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる判定部を備える
復号装置。
前記復号終了条件は、線形ブロック符号のパリティチェック方程式を満たすことである
前記(1)に記載の復号装置。
前記線形ブロック符号はLDPC符号である
前記(2)に記載の復号装置。
ビットノード演算を複数の処理に分割して行うビットノード演算部と、
前記ビットノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて部分的なビット判定値を求め、復号を行うビット判定部と
をさらに備え、
前記判定部は、前記ビット判定部により求められた前記ビット判定値に基づいて、前記復号終了条件を満たすか否かの判定を行う
前記(3)に記載の復号装置。
前記判定部による直前の前記復号終了条件を満たすか否かの判定時に求められたシンドロームを保存するシンドローム保存部と、
前回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値を保存するビット判定値保存部と
をさらに備え、
前記判定部は、今回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値と、前記ビット判定値保存部に保存されている前記ビット判定値との差分に基づいて、前記シンドローム保存部に保存されている前記シンドロームを更新し、更新した前記シンドロームに基づいて、前記復号終了条件を満たすか否かの判定を行う
前記(4)に記載の復号装置。
前記判定部は、1回目の前記復号処理を開始する前に前記復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、前記繰り返し復号を行わない
前記(1)乃至(5)のいずれかに記載の復号装置。
チェックノード演算を複数の処理に分割して行うチェックノード演算部をさらに備え、
前記ビット判定部は、前記チェックノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて前記ビット判定値を求める
前記(1)乃至(6)のいずれかに記載の復号装置。
Claims (9)
- 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる判定部を備える
復号装置。 - 前記復号終了条件は、線形ブロック符号のパリティチェック方程式を満たすことである
請求項1に記載の復号装置。 - 前記線形ブロック符号はLDPC符号である
請求項2に記載の復号装置。 - ビットノード演算を複数の処理に分割して行うビットノード演算部と、
前記ビットノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて部分的なビット判定値を求め、復号を行うビット判定部と
をさらに備え、
前記判定部は、前記ビット判定部により求められた前記ビット判定値に基づいて、前記復号終了条件を満たすか否かの判定を行う
請求項3に記載の復号装置。 - 前記判定部による直前の前記復号終了条件を満たすか否かの判定時に求められたシンドロームを保存するシンドローム保存部と、
前回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値を保存するビット判定値保存部と
をさらに備え、
前記判定部は、今回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値と、前記ビット判定値保存部に保存されている前記ビット判定値との差分に基づいて、前記シンドローム保存部に保存されている前記シンドロームを更新し、更新した前記シンドロームに基づいて、前記復号終了条件を満たすか否かの判定を行う
請求項4に記載の復号装置。 - 前記判定部は、1回目の前記復号処理を開始する前に前記復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、前記繰り返し復号を行わない
請求項1に記載の復号装置。 - チェックノード演算を複数の処理に分割して行うチェックノード演算部をさらに備え、
前記ビット判定部は、前記チェックノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて前記ビット判定値を求める
請求項3に記載の復号装置。 - 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、
前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる
ステップを含む復号方法。 - 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、
前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる
ステップを含む処理をコンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011043720A JP5790029B2 (ja) | 2011-03-01 | 2011-03-01 | 復号装置、復号方法、およびプログラム |
US13/357,840 US8762812B2 (en) | 2011-01-03 | 2012-01-25 | Decoding device, decoding method, and program |
CN2012100431018A CN102655413A (zh) | 2011-03-01 | 2012-02-23 | 解码装置、解码方法和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011043720A JP5790029B2 (ja) | 2011-03-01 | 2011-03-01 | 復号装置、復号方法、およびプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012182623A true JP2012182623A (ja) | 2012-09-20 |
JP2012182623A5 JP2012182623A5 (ja) | 2014-04-17 |
JP5790029B2 JP5790029B2 (ja) | 2015-10-07 |
Family
ID=46381902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011043720A Active JP5790029B2 (ja) | 2011-01-03 | 2011-03-01 | 復号装置、復号方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8762812B2 (ja) |
JP (1) | JP5790029B2 (ja) |
CN (1) | CN102655413A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015536595A (ja) * | 2012-10-11 | 2015-12-21 | マイクロン テクノロジー, インク. | 信頼性データの更新 |
JP2016504848A (ja) * | 2012-12-07 | 2016-02-12 | マイクロン テクノロジー, インク. | 階層化反復誤り訂正のための停止基準 |
JP2020511079A (ja) * | 2017-03-09 | 2020-04-09 | エルジー エレクトロニクス インコーポレイティド | Ldpc符号の階層的復号の方法及びそのための装置 |
KR102247164B1 (ko) * | 2020-06-23 | 2021-05-03 | 한국과학기술원 | 채널 복호기의 동작과 결합한 플래시 메모리 읽기 방법 및 그 장치 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8640013B2 (en) * | 2011-09-22 | 2014-01-28 | Kabushiki Kaisha Toshiba | Storage device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059688A1 (ja) * | 2004-12-02 | 2006-06-08 | Mitsubishi Denki Kabushiki Kaisha | 復号装置及び通信装置 |
JP2007194684A (ja) * | 2006-01-17 | 2007-08-02 | Nec Electronics Corp | 復号装置、復号方法、及び受信装置 |
JP2008527760A (ja) * | 2005-01-14 | 2008-07-24 | 三菱電機株式会社 | レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 |
US20090113256A1 (en) * | 2007-10-24 | 2009-04-30 | Nokia Corporation | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding |
JP2009225164A (ja) * | 2008-03-17 | 2009-10-01 | Toshiba Corp | 復号装置および復号装置を有するテレビジョン受信機 |
JP2009290657A (ja) * | 2008-05-30 | 2009-12-10 | Fujitsu Ltd | 誤り訂正装置 |
JP2010050558A (ja) * | 2008-08-19 | 2010-03-04 | Nippon Hoso Kyokai <Nhk> | Ldpc符号の符号化器及び復号器、並びにプログラム、送信装置及び受信装置 |
US20100269020A1 (en) * | 2009-04-16 | 2010-10-21 | Stmicroelectronics S.A. | Ldpc decoder |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944803B2 (en) * | 2000-07-06 | 2005-09-13 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Canada | Code structure, encoder, encoding method, and associated decoder and decoding method and iteratively decodable code structure, encoder, encoding method, and associated iterative decoder and iterative decoding method |
US20040109507A1 (en) * | 2002-12-06 | 2004-06-10 | Ido Kanter | Sequential decoding of parity check codes |
US7103825B2 (en) * | 2003-08-19 | 2006-09-05 | Mitsubishi Electric Research Laboratories, Inc. | Decoding error-correcting codes based on finite geometries |
JP4296949B2 (ja) * | 2004-02-03 | 2009-07-15 | ソニー株式会社 | 復号装置及び方法、並びに情報処理装置及び方法 |
KR100630177B1 (ko) * | 2004-02-06 | 2006-09-29 | 삼성전자주식회사 | 최대 다이버시티 이득을 가지는 시공간 저밀도 패리티검사 부호 부호화/복호화 장치 및 방법 |
EP1717959A1 (en) * | 2005-04-29 | 2006-11-02 | STMicroelectronics N.V. | Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords |
EP1783916B1 (en) * | 2005-11-07 | 2019-11-06 | Samsung Electronics Co., Ltd. | Apparatus and method for stopping iterative decoding in a mobile communication system |
EP1841073A1 (en) * | 2006-03-29 | 2007-10-03 | STMicroelectronics N.V. | Fast convergence LDPC decoding using BCJR algorithm at the check nodes |
US8184712B2 (en) * | 2006-04-30 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression |
JP4253332B2 (ja) | 2006-07-03 | 2009-04-08 | 株式会社東芝 | 復号装置、方法およびプログラム |
US20080052594A1 (en) * | 2006-07-28 | 2008-02-28 | Yedidia Jonathan S | Method and system for replica group-shuffled iterative decoding of quasi-cyclic low-density parity check codes |
JP4208017B2 (ja) * | 2007-02-16 | 2009-01-14 | ソニー株式会社 | 復号方法および復号装置 |
US8261170B2 (en) * | 2007-06-19 | 2012-09-04 | Mitsubishi Electric Research Laboratories, Inc. | Multi-stage decoder for error-correcting codes |
US7958429B2 (en) * | 2007-07-02 | 2011-06-07 | Broadcom Corporation | Distributed processing LDPC (low density parity check) decoder |
JP4462342B2 (ja) * | 2007-12-18 | 2010-05-12 | ソニー株式会社 | 復号装置および復号方法 |
US20110138255A1 (en) * | 2009-12-09 | 2011-06-09 | Lee Daniel Chonghwan | Probabilistic Learning-Based Decoding of Communication Signals |
US8656249B2 (en) * | 2011-09-07 | 2014-02-18 | Lsi Corporation | Multi-level LDPC layer decoder |
-
2011
- 2011-03-01 JP JP2011043720A patent/JP5790029B2/ja active Active
-
2012
- 2012-01-25 US US13/357,840 patent/US8762812B2/en active Active
- 2012-02-23 CN CN2012100431018A patent/CN102655413A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006059688A1 (ja) * | 2004-12-02 | 2006-06-08 | Mitsubishi Denki Kabushiki Kaisha | 復号装置及び通信装置 |
JP2008527760A (ja) * | 2005-01-14 | 2008-07-24 | 三菱電機株式会社 | レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 |
JP2007194684A (ja) * | 2006-01-17 | 2007-08-02 | Nec Electronics Corp | 復号装置、復号方法、及び受信装置 |
US20090113256A1 (en) * | 2007-10-24 | 2009-04-30 | Nokia Corporation | Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding |
JP2009225164A (ja) * | 2008-03-17 | 2009-10-01 | Toshiba Corp | 復号装置および復号装置を有するテレビジョン受信機 |
JP2009290657A (ja) * | 2008-05-30 | 2009-12-10 | Fujitsu Ltd | 誤り訂正装置 |
JP2010050558A (ja) * | 2008-08-19 | 2010-03-04 | Nippon Hoso Kyokai <Nhk> | Ldpc符号の符号化器及び復号器、並びにプログラム、送信装置及び受信装置 |
US20100269020A1 (en) * | 2009-04-16 | 2010-10-21 | Stmicroelectronics S.A. | Ldpc decoder |
Non-Patent Citations (1)
Title |
---|
JPN6015000338; 佐藤芳行,細谷剛,八木秀樹,平澤茂一: 'Group Shuffled BP復号法における効果的なグループ分割法' 電子情報通信学会技術研究報告. IT, 情報理論 107(42) , 20070511, pp.13-18 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015536595A (ja) * | 2012-10-11 | 2015-12-21 | マイクロン テクノロジー, インク. | 信頼性データの更新 |
US9612903B2 (en) | 2012-10-11 | 2017-04-04 | Micron Technology, Inc. | Updating reliability data with a variable node and check nodes |
US10191804B2 (en) | 2012-10-11 | 2019-01-29 | Micron Technology, Inc. | Updating reliability data |
US10628256B2 (en) | 2012-10-11 | 2020-04-21 | Micron Technology, Inc. | Updating reliability data |
JP2016504848A (ja) * | 2012-12-07 | 2016-02-12 | マイクロン テクノロジー, インク. | 階層化反復誤り訂正のための停止基準 |
US10193577B2 (en) | 2012-12-07 | 2019-01-29 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
US10998923B2 (en) | 2012-12-07 | 2021-05-04 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
US11405058B2 (en) | 2012-12-07 | 2022-08-02 | Micron Technology, Inc. | Stopping criteria for layered iterative error correction |
JP2020511079A (ja) * | 2017-03-09 | 2020-04-09 | エルジー エレクトロニクス インコーポレイティド | Ldpc符号の階層的復号の方法及びそのための装置 |
US11206042B2 (en) | 2017-03-09 | 2021-12-21 | Lg Electronics Inc. | Layered decoding method for LDPC code and device therefor |
KR102247164B1 (ko) * | 2020-06-23 | 2021-05-03 | 한국과학기술원 | 채널 복호기의 동작과 결합한 플래시 메모리 읽기 방법 및 그 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN102655413A (zh) | 2012-09-05 |
US8762812B2 (en) | 2014-06-24 |
JP5790029B2 (ja) | 2015-10-07 |
US20120173954A1 (en) | 2012-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101431479B1 (ko) | 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 | |
TWI415396B (zh) | 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法 | |
JP3727938B2 (ja) | Ldpc復号化装置及びその方法 | |
US9075738B2 (en) | Efficient LDPC codes | |
US8205130B2 (en) | Decoding apparatus | |
WO2013117076A1 (zh) | 一种迭代译码方法及系统 | |
KR101718543B1 (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
JP5790029B2 (ja) | 復号装置、復号方法、およびプログラム | |
EP1708367A1 (en) | Inspection matrix generation method, data transmission system, encoding device, decoding device, and inspection matrix generation program | |
KR20080035585A (ko) | Ldpc 코드용 디코더 및 ldpc 디코딩 방법 | |
CN110830050B (zh) | 一种ldpc译码方法、系统、电子设备及存储介质 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
CN110233628B (zh) | 极化码的自适应置信传播列表译码方法 | |
JP4572937B2 (ja) | 復号装置および方法、プログラム、並びに記録媒体 | |
US8572462B2 (en) | Decoding apparatus and decoding method | |
CN105871385B (zh) | 一种ldpc卷积码构造方法 | |
Ghaffari et al. | Probabilistic gradient descent bit-flipping decoders for flash memory channels | |
JP5385944B2 (ja) | 復号器 | |
WO2018126914A1 (zh) | 准循环低密度奇偶校验码的编码方法及装置、存储介质 | |
CN111181570A (zh) | 基于fpga的编译码方法和装置 | |
CN117220689B (zh) | 一种基于模型驱动深度学习的非二进制ldpc译码方法 | |
Imani et al. | An iterative bit flipping based decoding algorithm for LDPC codes | |
JP4755238B2 (ja) | 復号器 | |
JP2010028408A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Porcello | Implementing High data rate, low density parity check (LDPC) decoders for large codes using FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140303 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150226 |
|
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: 20150707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150720 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5790029 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |