JP2012182623A - 復号装置、復号方法、およびプログラム - Google Patents

復号装置、復号方法、およびプログラム Download PDF

Info

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
Application number
JP2011043720A
Other languages
English (en)
Other versions
JP5790029B2 (ja
JP2012182623A5 (ja
Inventor
Hiroyuki Yamagishi
弘幸 山岸
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2011043720A priority Critical patent/JP5790029B2/ja
Priority to US13/357,840 priority patent/US8762812B2/en
Priority to CN2012100431018A priority patent/CN102655413A/zh
Publication of JP2012182623A publication Critical patent/JP2012182623A/ja
Publication of JP2012182623A5 publication Critical patent/JP2012182623A5/ja
Application granted granted Critical
Publication of JP5790029B2 publication Critical patent/JP5790029B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2948Iterative decoding
    • H03M13/2951Iterative decoding using iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/35Unequal 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0625Transmitter arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • H04L1/0618Space-time coding
    • H04L1/0631Receiver 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符号について]
近年、誤り訂正符号としてLDPC(Low-Density Parity-Check)符号が注目されている(非特許文献1)。LDPC符号は、それを定義するパリティチェック行列が疎なものであることを特徴とする。疎な行列とは、行列の要素の"1"の個数が非常に少なく構成される行列をいう。
図1は、(12,6)LDPC符号のパリティチェック行列の例を示す図である。
図1のパリティチェック行列Hは、各列の重み("1"の数)が"3"、各行の重みが"6"の行列である。LDPC符号による符号化は、パリティチェック行列Hに基づいて生成行列Gを生成し、生成行列Gを2元の情報に乗算して符号語を生成することで実現される。
具体的には、LDPC符号による符号化を行う符号化装置は、パリティチェック行列Hの転置行列HTとの間にGHT=0が成立する生成行列Gを算出する。ここで、生成行列Gがk×n行列である場合には、符号化装置は、生成行列Gに対してkビットからなる情報を乗算し、nビットからなる符号語を生成する。符号化装置によって生成された符号語は、値が"0"の符号ビットが"+1"に、値が"1"の符号ビットが"−1"にマッピングされて送信され、所定の通信路を介して受信側において受信される。
一方、LDPC符号の復号方法としては、パリティチェック行列を2部グラフで表現し、チェックノードとビットノードの間で尤度情報を交換しながら繰り返し処理を行う方法が知られている。
図2は、図1のパリティチェック行列Hの2部グラフを示す図である。
図2の上段に示す白抜きの四角がチェックノードを表し、下段に示す白抜きの丸がビットノードを表す。チェックノードはパリティチェック行列の行に対応し、ビットノードはパリティチェック行列の列に対応する。パリティチェック行列Hの0以外の要素をノード間の接続に対応させた場合、図2に示すように各チェックノードとビットノードがエッジで接続される。
[従来のBP復号]
ここで、LDPC符号の復号方法の一つであるBP(Belief Propagation)復号について説明する。
符号ビット長をN、パリティチェック行数Mのパリティチェック行列をH=[Hmn]とする。mは行番号(チェックノード番号)を表し、0≦m<Mの値をとる。nは列番号(ビットノード番号)を表し、0≦n<Nの値をとる。また、m番目のパリティチェック演算に用いられるビット番号の集合をN(m)={n | Hmn=1}とし、n番目のビットを用いてパリティチェック演算を行うパリティチェック番号の集合をM(n)={m | Hmn=1}とする。N(m)={n | Hmn=1}は、m番目のチェックノード(チェックノードm)に繋がるビットノードの集合を表し、M(n)={m | Hmn=1}は、n番目のビットノード(ビットノードn)に繋がるチェックノードの集合を表す。
n番目のビットの受信値から求まる初期の尤度をFn、i回目の復号処理におけるチェックノードmからビットノードnへの尤度をεmn (i)、i回目の復号処理におけるビットノードnからチェックノードmへの尤度をzmn (i)とする。また、i回目の復号処理によって得られたビットnの事後尤度をzn (i)とする。繰り返し復号は、復号処理があらかじめ定められた最大回数だけ繰り返し行われることによって実現される。この場合、BP復号は次のように表される。
初期化:
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
ステップ1:
(i)チェックノード演算
LDPC復号回路は、全てのnと、m∈M(n)を満たす全てのmについて、次式(1)、(2)によりεmn (i)を求める。式(1)のn’は、N(m)に含まれるビットノードのうちの、nを除くビットノードを表す。
Figure 2012182623
Figure 2012182623
(ii)ビットノード演算
LDPC復号回路は、全てのmと、n∈N(m)を満たす全てのnについて、次式(3)によりzmn (i)を求め、式(4)によりzn (i)を求める。式(3)のm’は、M(n)に含まれるチェックノードのうちの、mを除くチェックノードを表す。
Figure 2012182623
Figure 2012182623
ステップ2:
(i)硬判定
LDPC復号回路は、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、硬判定値(ビット判定値)を要素とするベクトルである判定値ベクトルw(i)=[wn (i)]を求める。
(ii)復号終了条件判定
LDPC復号回路は、パリティチェック方程式Hw(i)の演算であるパリティチェック演算を行う。LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(5)を満たす場合、または、復号処理の繰り返し回数iがあらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
Figure 2012182623
ステップ3:
LDPC復号回路は、復号結果としてw(i)を出力する。
BP復号は、以上のように1回の復号処理においてチェックノード演算が全て終了した後にビットノード演算を全て行うものである。すなわち、ステップ1の(i)のチェックノード演算においてεmn (i)を求め、その結果を用いて、(ii)のビットノード演算においてzmn (i),zn (i)を求めるようになされている。
[従来のgroup shuffled BP復号]
ところで、LDPC符号の繰り返し復号において、復号が収束するまでの回数を少なくするための方法が提案されている(非特許文献2,3)。
非特許文献2には、ビットノード演算を分割して行うgroup shuffled BP復号が記載されている。また、特許文献1には、group shuffled BP復号回路を複数用いてレプリカ結合する復号回路が記載されている。特許文献2には、shuffled BP復号回路において尤度の更新スケジュールを変更することによって、効率よく復号できる復号装置ならびに方法が記載されている。
次に、group shuffled BP復号について説明する。group shuffled BP復号は次のように表される。ビットノードを分割するグループ数をG、各グループで処理するビットノードの数をNg=N/Gとする。
初期化:
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
ステップ1:
LDPC復号回路は、処理対象とするビットノードのグループを表す変数gを0からG-1まで変えながら、(i)のチェックノード演算と(ii)のビットノード演算を繰り返す。すなわち、LDPC復号回路は、G個のチェックノードのグループのうちの1つ目のグループを対象としてチェックノード演算とビットノード演算を行う。次に、LDPC復号回路は、2つ目のグループを対象としてチェックノード演算とビットノード演算を行い、以降、3つ目以降のグループを順次対象として、チェックノード演算とビットノード演算を行う。
(i)チェックノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(6)、(7)によりεmn (i)を求める。
Figure 2012182623
Figure 2012182623
(ii)ビットノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(8)によりzmn (i)を求め、式(9)によりzn (i)を求める。
Figure 2012182623
Figure 2012182623
ステップ2:
(i)硬判定
LDPC復号回路は、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルw(i)=[wn (i)]を求める。
(ii)復号終了条件判定
LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(10)を満たす場合、または、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
Figure 2012182623
ステップ3:
LDPC復号回路は、復号結果としてw(i)を出力する。
図3は、以上のようなgroup shuffled BP復号を行うLDPC復号回路の構成を示すブロック図である。
図3のLDPC復号回路1は、チェックノード演算回路11、ビットノード演算回路12、硬判定回路13、パリティチェック回路14、および出力回路15から構成される。チェックノード演算回路11とビットノード演算回路12に対しては、n番目のビットの受信値から求まる初期の尤度であるFnが入力される。
チェックノード演算回路11は、ステップ1(i)の処理として説明したように、ビットノードの所定のグループを対象としてチェックノード演算を行い、εmn (i)を求める。チェックノード演算回路11はεmn (i)をビットノード演算回路12に出力する。
ビットノード演算回路12は、ステップ1(ii)の処理として説明したようにビットノード演算を行い、zmn (i)とzn (i)を求める。ビットノード演算回路12は、zn (i)を硬判定回路13に出力し、zmn (i)と、前回(i-1回目)の復号処理により求められたzmn (i-1)をチェックノード演算回路11に出力する。
硬判定回路13は、ステップ2(i)の処理として説明したように硬判定を行う。硬判定回路13は、判定値ベクトルwn (i)をパリティチェック回路14と出力回路15に出力する。
パリティチェック回路14は、ステップ2(ii)の処理として説明したように復号終了条件判定を行う。パリティチェック回路14は、符号ビット長に等しいNのビットノードについてのビットノード演算が終了する毎に、復号終了条件判定を1度行う。パリティチェック方程式Hw(i)=0を満たさない場合であって、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していないとき、復号終了条件を満たさないと判定される。また、パリティチェック方程式Hw(i)=0を満たす場合、または、復号処理の繰り返し回数があらかじめ定められた最大回数に到達している場合、復号終了条件を満たすと判定される。
パリティチェック回路14は、復号終了条件を満たさないと判定した場合、iを1増やして復号処理を繰り返すことを指示する制御信号をチェックノード演算回路11とビットノード演算回路12に出力する。一方、パリティチェック回路14は、復号終了条件を満たすと判定した場合、そのことを表す信号を出力回路15に出力する。
出力回路15は、復号終了条件を満たすことを表す信号がパリティチェック回路14から供給された場合、判定値ベクトルwn (i)を復号結果として出力する。
[従来のlayered BP復号]
非特許文献3には、ターボ復号、あるいはlayered BP復号として知られる、チェックノード演算を複数の処理に分割して行う復号方法が記載されている。次に、Layered BP復号について説明する。Layered BP復号は次のように表される。
初期化:
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各εmn (0)に0を設定する。
ステップ1:
LDPC復号回路は、処理対象とするチェックノードを表す変数mを0からM-1まで変えながら、(i)のビットノード演算と(ii)のチェックノード演算を繰り返す。
(i)ビットノード演算
LDPC復号回路は、n∈N(m)を満たすnについて、次式(11)によりzmn (i-1)を求める。
Figure 2012182623
(ii)チェックノード演算
LDPC復号回路は、n∈N(m)を満たすnについて、次式(12)、(13)によりεmn (i)を求める。
Figure 2012182623
Figure 2012182623
ステップ2:
(i)硬判定
LDPC復号回路は、全てのnについて、次式(14)によりzn (i)を求める。
Figure 2012182623
また、LDPC復号回路は、zn (i)>0である場合にはwn (i)=1、zn (i)<0である場合にはwn (i)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルw(i)=[wn (i)]を求める。
(ii)復号終了条件判定
LDPC復号回路は、パリティチェック方程式Hw(i)=0を満たす、すなわち0≦m<Mについて次式(15)を満たす場合、または、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、それ以外の場合、LDPC復号回路は、iを1増やしてステップ1の処理を行う。
Figure 2012182623
ステップ3:
LDPC復号回路は、復号結果としてw(i)を出力する。
非特許文献4には、受信語を硬判定したものが符号語の条件を満たすかどうかを復号処理の繰り返し前に判定し、符号語の条件を満たす場合には復号処理を繰り返さないようにする技術が記載されている。
特表2008−527760号公報 特開2008−16959号公報
R. G. Gallager, "Low-density parity-check codes," IRE Trans. Inform. Theory, vol. IT-8, pp. 21-28, Jan. 1962. J. Zhang and M. Fossorier, "Shuffled belief propagation decoding," Proc. 36th Annu. Asilomar Conf. Signals, Syst., Computers, pp. 8-15, Nov. 2002. M. M. Mansour and N. R. Shanbhag, "Turbo decoder architecture for low-density parity-check codes," Proc. Global Telecommun. Conf., pp. 1383-1388, Nov. 2002. Timo Lehnigk-Emden, Norbert When and Friedbert Berens, "Enhanced iteration control for ultra low power LDPC decoding," proceedings of ICT-MobileSummit 2008.
一般に、装置は低消費電力である方が望ましく、LDPC復号機能を搭載する装置についても同様である。LDPC復号はその演算量に応じた電力を消費する復号方法であるため、低消費電力を実現するためには、より少ない演算量となる復号方法の実現が求められる。
本技術はこのような状況に鑑みてなされたものであり、繰り返し復号の演算量を減らすことができるようにするものである。
本技術の一側面の復号装置は、繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる判定部を備える。
前記復号終了条件は、線形ブロック符号のパリティチェック方程式を満たすことであるようにすることができる。
前記線形ブロック符号はLDPC符号であるようにすることができる。
ビットノード演算を複数の処理に分割して行うビットノード演算部と、前記ビットノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて部分的なビット判定値を求め、復号を行うビット判定部とをさらに設けることができる。この場合、前記判定部には、前記ビット判定部により求められた前記ビット判定値に基づいて、前記復号終了条件を満たすか否かの判定を行わせることができる。
前記判定部による直前の前記復号終了条件を満たすか否かの判定時に求められたシンドロームを保存するシンドローム保存部と、前回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値を保存するビット判定値保存部とをさらに設けることができる。この場合、前記判定部には、今回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値と、前記ビット判定値保存部に保存されている前記ビット判定値との差分に基づいて、前記シンドローム保存部に保存されている前記シンドロームを更新させ、更新させた前記シンドロームに基づいて、前記復号終了条件を満たすか否かの判定を行わせることができる。
前記判定部には、1回目の前記復号処理を開始する前に前記復号終了条件を満たすか否かの判定を行わせ、前記復号終了条件を満たす場合、前記繰り返し復号を行わせないようにすることができる。
チェックノード演算を複数の処理に分割して行うチェックノード演算部をさらに設けることができる。この場合、前記ビット判定部には、前記チェックノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて前記ビット判定値を求めさせることができる。
本技術の一側面においては、繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定が行われ、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理が終了される。
本技術によれば、繰り返し復号の演算量を減らすことができる。
パリティチェック行列の例を示す図である。 図1のパリティチェック行列の2部グラフを示す図である。 LDPC復号回路の構成を示すブロック図である。 本技術を適用したgroup shuffled BP復号の流れを示すフローチャートである。 図4の処理を行う復号回路の構成例を示すブロック図である。 シミュレーション結果を示す図である。 本技術を適用した他のgroup shuffled BP復号の流れを示すフローチャートである。 パリティチェック回路の構成例を示すブロック図である。 本技術を適用したlayered BP復号の流れを示すフローチャートである。 コンピュータの構成例を示すブロック図である。
以下、発明を実施するための形態について説明する。説明は以下の順序で行う。
1.第1の実施の形態(group shuffled BP復号の変形)
2.第2の実施の形態(layered BP復号の変形)
<第1の実施の形態>
[group shuffled BP復号の変形]
従来のgroup shuffled BP復号では、チェックノード演算とビットノード演算からなる1回のステップ1の復号演算全体が終わる毎に、硬判定と復号終了条件判定が行われる。これに対して、本技術を適用したgroup shuffled BP復号においては、1回の復号演算を分割し、その分割した復号演算の間に、硬判定と復号終了条件判定が行われる。
分割した復号演算の間に復号終了条件を満たすと判定した場合には復号演算全体を終えることなく途中で処理を終了させることによって、同じ復号性能を維持しながら演算量を削減することが可能になる。
本技術を適用したgroup shuffled BP復号は次のように表される。
なお、ここでも、符号ビット長をN、パリティチェック行数Mのパリティチェック行列をH=[Hmn]とする。mは行番号(チェックノード番号)を表し、0≦m<Mの値をとる。nは列番号(ビットノード番号)を表し、0≦n<Nの値をとる。また、m番目のパリティチェック演算に用いられるビット番号の集合をN(m)={n | Hmn=1}とし、n番目のビットを用いてパリティチェック演算を行うパリティチェック番号の集合をM(n)={m | Hmn=1}とする。
また、n番目のビットの受信値から求まる初期の尤度をFn、i回目の復号処理におけるチェックノードmからビットノードnへの尤度をεmn (i)、i回目の復号処理におけるビットノードnからチェックノードmへの尤度をzmn (i)とする。i回目の復号処理によって得られたビットnの事後尤度をzn (i)とする。ビットノードを分割するグループ数をG、各グループで処理するビットノードの数をNg=N/Gとする。
初期化:
LDPC復号回路は、iに1を設定する。
LDPC復号回路は、各zmn (0)にFnを設定する。
LDPC復号回路は、Fn>0である場合にはwn (0)=1、Fn<0である場合にはwn (0)=0として硬判定を行う。またLDPC復号回路は、硬判定の結果に基づいて、判定値ベクトルw=[wn (0)]を求める。
ステップ1:
LDPC復号回路は、処理対象とするビットノードのグループを表す変数gを0からG-1まで変えながら、(i)のチェックノード演算、(ii)のビットノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
すなわち、LDPC復号回路は、G個のチェックノードのグループのうちの1つ目のグループを対象としてチェックノード演算とビットノード演算を行った後、1つ目のグループを対象とした復号演算の結果に基づいて硬判定と復号終了条件判定を行う。LDPC復号回路は、復号終了条件を満たすと判定した場合、処理を終了させる。一方、復号終了条件を満たさないと判定した場合、LDPC復号回路は、2つ目以降のグループを順次対象として同様の処理を行う。
(i)チェックノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(16)、(17)によりεmn (i)を求める。
Figure 2012182623
Figure 2012182623
(ii)ビットノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(18)によりzmn (i)を求め、式(19)によりzn (i)を求める。
Figure 2012182623
Figure 2012182623
(iii)硬判定
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)に更新する。
(iv)復号終了条件判定
LDPC復号回路は、パリティチェック方程式Hwの演算であるパリティチェック演算を行う。LDPC復号回路は、パリティチェック方程式Hw=0を満たす、すなわち0≦m<Mについて次式(20)を満たす場合、ステップ3の処理を行う。式(20)による計算は、i-1回目の復号処理の結果が用いられている点で式(10)の計算と異なる。
Figure 2012182623
0≦m<Mについて式(20)を満たさない場合であって、いまの変数gがG-1でないとき、LDPC復号回路はgを1増やしてステップ1の処理を継続する。また、0≦m<Mについて式(20)を満たさない場合であって、いまの変数gがG-1であるとき、LDPC復号回路はステップ2の処理を行う。
ステップ2:
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
ステップ3:
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
以上の一連の流れを図4のフローチャートに示す。図4において破線L1で囲んで示す処理がステップ1の処理に対応し、一点鎖線L2で囲んで示す処理がステップ2の処理に対応する。図4のステップS1は初期化に対応し、ステップS9はステップ3の処理に対応する。適宜、各ステップの処理と、各ステップの処理を実行する構成との対応について図5(後述)の構成を用いて説明する。
すなわち、LDPC復号回路は、ステップS1において初期化を行い、ステップS2において変数gに0を設定する。初期化としてiに1を設定する処理と、ステップS2の変数gに0を設定する処理は図5のLDPC復号回路1の各回路により行われ、各zmn (0)にFnを設定する処理は、チェックノード演算回路11とビットノード演算回路12により行われる。また、初期化として判定値ベクトルw=[wn (0)]を求める処理は硬判定回路13により行われる。
また、LDPC復号回路は、ステップS3においてチェックノード演算を行い、ステップS4においてビットノード演算を行う。ステップS3のチェックノード演算はチェックノード演算回路11により行われ、ステップS4のビットノード演算はビットノード演算回路12により行われる。
LDPC復号回路は、ステップS5において硬判定を行い、ステップS6において、硬判定の結果に基づいて判定値ベクトルwを更新する。ステップS5の硬判定とステップS6の判定値ベクトルwの更新処理は硬判定回路13により行われる。
LDPC復号回路は、ステップS7においてパリティチェック演算を行い、ステップS8において、パリティチェック方程式Hw=0を満たすか否かを判定する。ステップS7のパリティチェック演算と、ステップS8の判定はパリティチェック回路14により行われる。LDPC復号回路は、パリティチェック方程式Hw=0を満たすとステップS8において判定した場合、ステップS9において判定値ベクトルwを出力し、処理を終了させる。判定値ベクトルwを出力する処理は出力回路15により行われる。
一方、パリティチェック方程式Hw=0を満たさないとステップS8において判定した場合、LDPC復号回路は、ステップS10において、変数gがG-1であるか否かを判定する。変数gがG-1ではないとステップS10において判定した場合、ステップS11において、変数gの値を1増やし、ステップS3以降の処理を繰り返す。ステップS10の判定はパリティチェック回路14により行われ、ステップS11の処理はLDPC復号回路1の各回路により行われる。
一方、変数gがG-1であるとステップS10において判定した場合、LDPC復号回路は、ステップS12において、iが最大回数に到達したか否かを判定する。iが最大回数に到達していないとステップS12において判定した場合、LDPC復号回路は、ステップS13において、変数iの値を1増やし、ステップS2以降の処理を繰り返す。ステップS12の判定はパリティチェック回路14により行われ、ステップS13の処理はLDPC復号回路1の各回路により行われる。
iが最大回数に到達したとステップS12において判定した場合、LDPC復号回路は、ステップS9において判定値ベクトルwを出力し、処理を終了させる。
従来のgroup shuffled BP復号では、1回の復号処理の途中でパリティチェック方程式Hw=0を満たす復号結果が得られたとしてもビットノードの全てのグループを対象とした復号演算が終了した後に復号終了条件判定が行われる。従って、1回の復号処理内でG回の復号演算が必ず行われる。一方、本技術を適用したgroup shuffled BP復号によれば、1回の復号処理の間に復号終了条件判定が行われるため、g<G-1回目の復号演算でパリティチェック方程式Hw=0を満たす復号結果が得られた場合には残りの処理が行われない。これにより、演算量を削減することができ、演算量を削減することができることによって、装置の消費電力を抑えることが可能になる。
[回路構成]
図5は、本技術の一実施形態に係る復号装置21に設けられるLDPC復号回路1の構成例を示すブロック図である。図5に示す構成のうち、図3の構成と同じ構成には同じ符号を付してある。
図5のLDPC復号回路1は、チェックノード演算回路11、ビットノード演算回路12、硬判定回路13、パリティチェック回路14、出力回路15、および選択回路31から構成される。チェックノード演算回路11、ビットノード演算回路12、および選択回路31に対しては、n番目のビットの受信値から求まる初期の尤度であるFnが入力される。
チェックノード演算回路11は、変数gを0に設定し、ステップ1(i)の処理として説明したようにチェックノード演算を行い、εmn (i)を求める。チェックノード演算回路11はεmn (i)をビットノード演算回路12に出力する。チェックノード演算回路11は、適宜、出力回路15からの制御信号に従って変数gを1増やし、チェックノードのグループを切り替えてチェックノード演算を繰り返す。
ビットノード演算回路12は、ステップ1(ii)の処理として説明したように、チェックノード演算回路11により求められたεmn (i)を用いてzmn (i)とzn (i)を求める。ビットノード演算回路12は、zn (i)を選択回路31に出力し、zmn (i)と、直前の繰り返し復号により求められたzmn (i-1)をチェックノード演算回路11に出力する。
選択回路31は、初期化時、Fnを選択して硬判定回路13に出力する。また、選択回路31は、ビットノード演算回路12により求められたzn (i)が供給された場合、zn (i)を選択し、硬判定回路13に出力する。
硬判定回路13は、初期化時、選択回路31により選択されたFnに基づいて、Fn>0である場合にはwn (0)=1、Fn<0である場合にはwn (0)=0として硬判定を行い、判定値ベクトルw=[wn (0)]を求める。硬判定回路13は、判定値ベクトルwをパリティチェック回路14と出力回路15に出力する。
また、硬判定回路13は、ビットノード演算回路12により求められたzn (i)が選択回路31から供給された場合、ステップ1(iii)の処理として説明したように硬判定を行う。また、硬判定回路13は、硬判定の結果に基づいて判定値ベクトルwを更新し、更新後の判定値ベクトルwをパリティチェック回路14と出力回路15に出力する。
パリティチェック回路14は、ステップ1(iv)の処理として説明したように復号終了条件判定を行う。すなわち、パリティチェック回路14は、ビットノードの1つのグループ(Ng)を対象としたビットノード演算が終了する毎に、新たに得られた硬判定値を元に、復号終了条件判定を行う。
パリティチェック回路14は、復号終了条件を満たすと判定した場合、そのことを表す信号を出力回路15に出力する。一方、パリティチェック回路14は、復号終了条件を満たさないと判定した場合、変数gがG-1でないときには、変数gを1増やして演算を繰り返すことを指示する制御信号を出力する。また、パリティチェック回路14は、復号終了条件を満たさないと判定した場合、変数gがG-1であり、iが最大回数に到達していないときには、iを1増やして演算を繰り返すことを指示する制御信号を出力する。パリティチェック回路14から出力された制御信号はチェックノード演算回路11とビットノード演算回路12に供給される。
出力回路15は、復号終了条件を満たすことを表す信号がパリティチェック回路14から供給された場合、判定値ベクトルwを復号結果として出力する。
[シミュレーション結果]
図6は、従来のBP復号、従来のgroup shuffled BP復号、および本技術を適用したgroup shuffled BP復号のそれぞれの方法を用いてLDPC復号を行った場合の演算量のシミュレーション結果を表す図である。
シミュレーションモデルは、符号ビット長が1440、情報ビット長が1344のLDPC符号をBPSK変調によって変調して送信し、送信信号が白色雑音通信路を経た後に、復号処理の最大の繰り返し回数を16として繰り返し復号を行うものである。グラフの横軸は、ビットあたりのエネルギー(Eb)対雑音電力密度(N0)の比(Eb/N0)を表し、縦軸は、平均のビットノード演算数を符号ビット長で割った値(Nb)を表す。
図6に示すように、いずれの復号方法においても、Eb/N0の値が大きくなるに従って、Nbの値は小さくなっている。従来のBP復号と従来のgroup shuffled BP復号の場合、1回の復号処理において符号ビット長と同じ1440のビットノード演算が行われる。そのため、ビットノード演算数を符号ビット長で割って得られる値は、処理終了までの復号処理の繰り返し回数と等しい、1以上、16以下の整数の値となる。図6より、グラフで示された全てのEb/N0において、従来のBP復号より従来のgroup shuffled BP復号の方が少ない繰り返し回数で処理が完了していることが読み取れる。
1回の復号処理が途中で終了することがあるため、本技術を適用したgroup shuffled BP復号を用いた場合のビットノード演算数は、従来のgroup shuffled BP復号を用いた場合のビットノード演算数と等しいか、それより小さくなる。従来のgroup shuffled BP復号を用いた場合のビットノード演算数は、繰り返し回数と符号ビット長を乗算して得られた値によって表される。
図6より、グラフで示された全てのEb/N0において、本技術を適用したgroup shuffled BP復号を用いた場合のNbの値は、従来のgroup shuffled BP復号を用いた場合の値より小さくなっており、演算量が削減されたことが読み取れる。例えば、Eb/N0=6dBの条件では、従来のgroup shuffled BP復号ではNb=1.16であったのに対し、本技術を適用したgroup shuffled BP復号ではNb=0.87となり、演算量が約25%削減されている。
[パリティチェック演算について]
従来のgroup shuffled BP復号と比べた場合、本技術を適用したgroup shuffled BP復号では復号終了条件判定の回数(パリティチェック演算の回数)が約G倍となる。この場合であっても、全体の演算量が多くならないことについて説明する。
ここで、ステップ1(iii)で更新される硬判定値wn (i)の数(判定値ベクトルwの要素の数)は、nがgNg≦n<(g+1)Ngの範囲にある値であり、その数がNg個であることに着目する。
まず、ステップ1(iii)で硬判定値wn (i)が更新される前のパリティチェック方程式の左辺は、次式(21)で表される。式(21)は、式(20)の変数gにg-1を代入することによって導かれる。硬判定値wn (i)が更新される前のパリティチェック方程式の左辺で表される値をシンドロームSm’とする。
Figure 2012182623
ステップ1(iii)で更新された、更新後の硬判定値wn (i)を用いた新しいシンドロームSmは、シンドロームSm’を用いて次式(22)のように求めることができる。
Figure 2012182623
従来のgroup shuffled BP復号におけるパリティチェック演算は、硬判定によって新たに得られたN個全ての硬判定値wn (i)を用いて行う必要がある。これに対し、本技術を適用したgroup shuffled BP復号におけるシンドロームSmの演算は、直前に計算されたシンドロームSm’と、前回の復号処理で求められた硬判定値wn (i-1)とを保存しておけば、シンドロームSm’に対して、今回の復号処理で更新されたNg個のビットノードの硬判定値の差分だけを反映させればよいことが分かる。
シンドロームSmの演算量は、演算に用いる硬判定値wn (i)の数の違いから、従来のgroup shuffled BP復号におけるパリティチェック演算の演算量の約1/Gである。つまり、約G倍に回数が増加したパリティチェック演算の1回あたりの演算量は約1/Gとなる。その結果、従来のgroup shuffled BP復号におけるパリティチェック演算の演算量と、本技術を適用したgroup shuffled BP復号におけるパリティチェック演算の演算量は、ほぼ同等の演算量になる。
ここで説明したパリティチェック演算を組み込んだ、本技術を適用したgroup shuffled BP復号について説明する。
初期化:
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)により求める。
Figure 2012182623
また、LDPC復号回路は、全てのm(0≦m<M)についてSm=0を満たす場合はステップ3の処理を行う。すなわち、Sm=0を満たす場合、復号結果が出力され、処理が終了される。一方、全てのmについてSm=0を満たさない場合、LDPC復号回路は、シンドロームSm’としてSmを代入し、ステップ1の処理を行う。
ステップ1:
LDPC復号回路は、変数gを0からG-1まで変えながら、(i)のチェックノード演算、(ii)のビットノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
(i)チェックノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(24)、(25)によりεmn (i)を求める。
Figure 2012182623
Figure 2012182623
(ii)ビットノード演算
LDPC復号回路は、gNg≦n<(g+1)Ngを満たすnと、m∈M(n)を満たすmについて、次式(26)によりzmn (i)を求め、式(27)によりzn (i)を求める。
Figure 2012182623
Figure 2012182623
(iii)硬判定
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)に更新する。
(iv)復号終了条件判定
LDPC復号回路は、m∈{∪M(n) | gNg≦n<(g+1)Ng}を満たすm(gNg≦n<(g+1)Ngの範囲にあるビットノードnに繋がるチェックノードmの和集合に属するチェックノードm)について、シンドロームSmを次式(28)により更新する。
Figure 2012182623
LDPC復号回路は、全てのm(0≦m<M)についてSm=0を満たす場合はステップ3の処理を行う。
全てのmについてSm=0を満たさない場合であって、いまの変数gがG-1でないとき、LDPC復号回路は、シンドロームSm’に式(28)により求めたSmを代入し、変数gを1増やしてステップ1の処理を継続する。一方、全てのmについてSm=0を満たさない場合であって、いまの変数gがG-1であるとき、LDPC復号回路はステップ2の処理を行う。
ステップ2:
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
ステップ3:
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
以上の処理においては、初期化時に、判定値ベクトルw=[wn (0)]を元にしたシンドロームSm’を求める演算が必要になっている。このとき、Sm’=0を満たせば、その時点で復号結果を出力して処理を終了し、ステップ1、ステップ2の処理を行わないようにすることができる。
以上の一連の流れを図7のフローチャートに示す。図7において破線L11で囲んで示す処理がステップ1の処理に対応し、一点鎖線L12で囲んで示す処理がステップ2の処理に対応する。図7のステップS21は初期化に対応し、ステップS31はステップ3の処理に対応する。適宜、各ステップの処理と、各ステップの処理を実行する構成との対応について説明する。
すなわち、LDPC復号回路は、ステップS21において初期化を行い、ステップS22において変数gに0を設定する。また、LDPC復号回路は、ステップS23においてチェックノード演算を行い、ステップS24においてビットノード演算を行う。LDPC復号回路は、ステップS25において硬判定を行い、ステップS26において硬判定値を保存する。硬判定値を保存する処理は後述する図8の硬判定値保存回路41により行われる。
ステップS27において、LDPC復号回路は、硬判定の結果に基づいて判定値ベクトルwを更新する。LDPC復号回路は、ステップS28において、パリティチェック演算として、式(28)に従ってシンドロームSmの演算を行う。前回の復号処理(i-1回目の復号処理)において求められたシンドロームSmが保存されている場合、式(28)の演算においては、保存されていたシンドロームSmがシンドロームSm’として用いられる。LDPC復号回路は、ステップS29において、式(28)の演算により求めたシンドロームSmを保存する。
ステップS30において、LDPC復号回路はSm=0を満たすか否かを判定する。LDPC復号回路は、Sm=0を満たすとステップS30において判定した場合、ステップS31において判定値ベクトルwを出力し、処理を終了させる。
一方、Sm=0を満たさないとステップS30において判定した場合、LDPC復号回路は、ステップS32において、変数gがG-1であるか否かを判定する。変数gがG-1ではないとステップS32において判定した場合、ステップS33において、変数gの値を1増やし、ステップS23以降の処理を繰り返す。
一方、変数gがG-1であるとステップS32において判定した場合、LDPC復号回路は、ステップS34において、iが最大回数に到達したか否かを判定する。iが最大回数に到達していないとステップS34において判定した場合、LDPC復号回路は、ステップS35において、変数iの値を1増やし、ステップS22以降の処理を繰り返す。
iが最大回数に到達したとステップS34において判定した場合、LDPC復号回路は、ステップS31において判定値ベクトルwを出力し、処理を終了させる。
[パリティチェック回路の構成]
図8は、以上のようにして直前に計算されたシンドロームSm’と前回の復号処理で求められた硬判定値wn (i-1)とを保存し、復号終了条件判定を行うパリティチェック回路14の構成例を示すブロック図である。
パリティチェック回路14は、硬判定値保存回路41、シンドローム計算回路42、シンドローム保存回路43、および判定回路44から構成される。硬判定回路13から出力された硬判定値wn (i)は硬判定値保存回路41とシンドローム計算回路42に入力される。
硬判定値保存回路41は、硬判定回路13により求められた硬判定値wn (i)を保存する。また、硬判定値保存回路41は、iが1増加したとき、保存していた硬判定値wn (i)をwn (i-1)としてシンドローム計算回路42に出力する。
シンドローム計算回路42は、初期化時、硬判定回路13により求められた硬判定値wn (0)を用いて、式(23)に従ってシンドロームSmを求める。また、シンドローム計算回路42は、iが1以上であるとき、式(28)に従ってシンドロームSmを求める。シンドロームSmの演算には、シンドローム保存回路43から出力されたシンドロームSm’と、硬判定回路13により求められ、新たに更新された硬判定値wn (i)と、硬判定値保存回路41から出力された硬判定値wn (i-1)とが用いられる。シンドローム計算回路42は、新たに求めたシンドロームSmをシンドローム保存回路43と判定回路44に出力する。
シンドローム保存回路43は、シンドローム計算回路42により求められたシンドロームSmを保存する。シンドローム保存回路43は、硬判定値wn (i)が新たに求められたとき、保存していたシンドロームSmを、直前のシンドロームSm’としてシンドローム計算回路42に出力する。
判定回路44は、全てのmについてSm=0を満たすか否かを判定し、判定結果に基づいて、復号を終了するか、継続するかの動作を切り替えるための制御信号を出力する。判定回路44から出力された制御信号は、図5のチェックノード演算回路11とビットノード演算回路12に供給される。
<第2の実施の形態>
[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復号回路は、パリティチェック方程式Hw=0を満たすか否かを判定し、満たすと判定した場合、ステップ3の処理を行う。一方、パリティチェック方程式Hw=0を満たさないと判定した場合、LDPC復号回路はステップ1の処理を行う。
ステップ1:
LDPC復号回路は、変数mを0からM-1まで変えながら、(i)のビットノード演算、(ii)のチェックノード演算、(iii)の硬判定、および(iv)の復号終了条件判定を繰り返す。
すなわち、LDPC復号回路は、パリティチェック行列の1行目を対象としてビットノード演算とチェックノード演算を行った後、1行目を対象とした復号演算の結果に基づいて硬判定と復号終了条件判定を行う。LDPC復号回路は、復号終了条件判定によって復号終了条件を満たすと判定した場合、復号を終了させる。一方、復号終了条件を満たさないと判定した場合、LDPC復号回路は、2行目以降を順次対象として同様の処理を行う。
(i)ビットノード演算
LDPC復号回路は、n∈N(m)を満たすnについて、次式(29)によりzmn (i-1)を求める。
Figure 2012182623
(ii)チェックノード演算
LDPC復号回路は、n∈N(m)を満たすnについて、次式(30)、(31)によりεmn (i)を求める。
Figure 2012182623
Figure 2012182623
(iii)硬判定
LDPC復号回路は、n∈N(m)を満たすnについて、次式(32)によりzn (i)を求める。
Figure 2012182623
また、LDPC復号回路は、zn (i)>0である場合にはwn=1、zn (i)<0である場合にはwn=0として硬判定を行い、判定値ベクトルwを更新する。
(iv)復号終了条件判定
LDPC復号回路は、パリティチェック方程式Hw=0を満たす場合はステップ3の処理を行う。一方、LDPC復号回路は、パリティチェック方程式Hw=0を満たさない場合であって、いまの変数mがM-1でないとき、LDPC復号回路はmを1増やしてステップ1の処理を継続する。パリティチェック方程式Hw=0を満たさない場合であって、いまの変数mがM-1であるとき、LDPC復号回路はステップ2の処理を行う。
ステップ2:
LDPC復号回路は、復号処理の繰り返し回数があらかじめ定められた最大回数に到達した場合、ステップ3の処理を行う。一方、復号処理の繰り返し回数があらかじめ定められた最大回数に到達していない場合、LDPC復号回路はiを1増やしてステップ1の処理を行う。
ステップ3:
LDPC復号回路は、復号結果として判定値ベクトルwを出力する。
以上のような一連の流れを図9のフローチャートに示す。図9において破線L21で囲んで示す処理がステップ1の処理に対応し、一点鎖線L22で囲んで示す処理がステップ2の処理に対応する。図9のステップS51は初期化に対応し、ステップS59はステップ3の処理に対応する。
すなわち、LDPC復号回路は、ステップS51において初期化を行い、ステップS52において変数mに0を設定する。初期化としてiに1を設定する処理と、ステップS2の変数mに0を設定する処理はLDPC復号回路1の各回路により行われ、各εmn (0)に0を設定する処理は、チェックノード演算回路11とビットノード演算回路12により行われる。また、初期化として判定値ベクトルw=[wn (0)]を求める処理は硬判定回路13により行われる。
また、LDPC復号回路は、ステップS53においてビットノード演算を行い、ステップS54においてチェックノード演算を行う。ステップS53のビットノード演算はビットノード演算回路12により行われ、ステップS54のチェックノード演算はチェックノード演算回路11により行われる。
LDPC復号回路は、ステップS55において硬判定を行い、ステップS56において、硬判定の結果に基づいて判定値ベクトルwを更新する。ステップS55の硬判定とステップS56の判定値ベクトルwの更新処理は硬判定回路13により行われる。
LDPC復号回路は、ステップS57においてパリティチェック演算を行い、ステップS58においてパリティチェック方程式Hw=0を満たすか否かを判定する。ステップS57のパリティチェック演算と、ステップS58の判定はパリティチェック回路14により行われる。
LDPC復号回路は、パリティチェック方程式Hw=0を満たすとステップS58において判定した場合、ステップS59において判定値ベクトルwを出力し、処理を終了させる。判定値ベクトルwを出力する処理は出力回路15により行われる。
一方、パリティチェック方程式Hw=0を満たさないとステップS58において判定した場合、LDPC復号回路は、ステップS60において、変数mがM-1であるか否かを判定する。変数mがM-1ではないとステップS60において判定した場合、ステップS61において、変数mの値を1増やし、ステップS53以降の処理を繰り返す。
一方、変数mがM-1であるとステップS60において判定した場合、LDPC復号回路は、ステップS62において、iが最大回数に到達したか否かを判定する。iが最大回数に到達していないとステップS62において判定した場合、LDPC復号回路は、ステップS63において、変数iの値を1増やし、ステップS52以降の処理を繰り返す。ステップS60の判定はパリティチェック回路14により行われ、ステップS61の処理はLDPC復号回路1の各回路により行われる。
iが最大回数に到達したとステップS62において判定した場合、LDPC復号回路は、ステップS59において判定値ベクトルwを出力し、処理を終了させる。
従来のlayered BP復号では、1回の復号処理の途中でパリティチェック方程式Hw=0を満たす復号結果が得られたとしても全てのチェックノード演算を実行した後に復号終了条件判定が行われる。従って、1回の復号処理内でM回の復号演算が必ず行われる。一方、本技術を適用したlayered BP復号によれば、1回の復号処理の間に復号終了条件判定が行われるため、m<M-1回目の復号演算でパリティチェック方程式Hw=0を満たす復号結果が得られた場合には残りの処理を行う必要がなく、演算量を削減することができる。また、演算量を削減することができることにより、装置の消費電力を抑えることが可能になる。
なお、本技術を適用したlayered BP復号においても、直前に計算されたシンドロームSm’と前回の復号処理で求められた硬判定値wn (i-1)とを保存しておき、上述したように、復号終了条件判定をシンドロームを用いて行うようにすることも可能である。
[コンピュータの構成例等]
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。以上の処理をソフトウェアで実現することによって、LDPC復号にかかる時間を短縮することができる。
一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53は、バス54により相互に接続されている。
バス54には、さらに、入出力インタフェース55が接続されている。入出力インタフェース55には、キーボード、マウスなどよりなる入力部56、ディスプレイ、スピーカなどよりなる出力部57が接続される。また、入出力インタフェース55には、ハードディスクや不揮発性のメモリなどよりなる記憶部58、ネットワークインタフェースなどよりなる通信部59、リムーバブルメディア61を駆動するドライブ60が接続される。
以上のように構成されるコンピュータでは、CPU51が、例えば、記憶部58に記憶されているプログラムを入出力インタフェース55及びバス54を介してRAM53にロードして実行することにより、上述した一連の処理が行われる。
CPU51が実行するプログラムは、例えばリムーバブルメディア61に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部58にインストールされる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、以下のような構成もとることができる。
(1)
繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる判定部を備える
復号装置。
(2)
前記復号終了条件は、線形ブロック符号のパリティチェック方程式を満たすことである
前記(1)に記載の復号装置。
(3)
前記線形ブロック符号はLDPC符号である
前記(2)に記載の復号装置。
(4)
ビットノード演算を複数の処理に分割して行うビットノード演算部と、
前記ビットノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて部分的なビット判定値を求め、復号を行うビット判定部と
をさらに備え、
前記判定部は、前記ビット判定部により求められた前記ビット判定値に基づいて、前記復号終了条件を満たすか否かの判定を行う
前記(3)に記載の復号装置。
(5)
前記判定部による直前の前記復号終了条件を満たすか否かの判定時に求められたシンドロームを保存するシンドローム保存部と、
前回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値を保存するビット判定値保存部と
をさらに備え、
前記判定部は、今回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値と、前記ビット判定値保存部に保存されている前記ビット判定値との差分に基づいて、前記シンドローム保存部に保存されている前記シンドロームを更新し、更新した前記シンドロームに基づいて、前記復号終了条件を満たすか否かの判定を行う
前記(4)に記載の復号装置。
(6)
前記判定部は、1回目の前記復号処理を開始する前に前記復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、前記繰り返し復号を行わない
前記(1)乃至(5)のいずれかに記載の復号装置。
(7)
チェックノード演算を複数の処理に分割して行うチェックノード演算部をさらに備え、
前記ビット判定部は、前記チェックノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて前記ビット判定値を求める
前記(1)乃至(6)のいずれかに記載の復号装置。
1 LDPC復号回路, 11 チェックノード演算回路, 12 ビットノード演算回路, 13 硬判定回路, 14 パリティチェック回路, 15 出力回路, 31 選択回路, 41 硬判定値保存回路, 42 シンドローム計算回路, 43 シンドローム保存回路, 44 判定回路

Claims (9)

  1. 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる判定部を備える
    復号装置。
  2. 前記復号終了条件は、線形ブロック符号のパリティチェック方程式を満たすことである
    請求項1に記載の復号装置。
  3. 前記線形ブロック符号はLDPC符号である
    請求項2に記載の復号装置。
  4. ビットノード演算を複数の処理に分割して行うビットノード演算部と、
    前記ビットノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて部分的なビット判定値を求め、復号を行うビット判定部と
    をさらに備え、
    前記判定部は、前記ビット判定部により求められた前記ビット判定値に基づいて、前記復号終了条件を満たすか否かの判定を行う
    請求項3に記載の復号装置。
  5. 前記判定部による直前の前記復号終了条件を満たすか否かの判定時に求められたシンドロームを保存するシンドローム保存部と、
    前回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値を保存するビット判定値保存部と
    をさらに備え、
    前記判定部は、今回の前記復号処理時に前記ビット判定部により求められた前記ビット判定値と、前記ビット判定値保存部に保存されている前記ビット判定値との差分に基づいて、前記シンドローム保存部に保存されている前記シンドロームを更新し、更新した前記シンドロームに基づいて、前記復号終了条件を満たすか否かの判定を行う
    請求項4に記載の復号装置。
  6. 前記判定部は、1回目の前記復号処理を開始する前に前記復号終了条件を満たすか否かの判定を行い、前記復号終了条件を満たす場合、前記繰り返し復号を行わない
    請求項1に記載の復号装置。
  7. チェックノード演算を複数の処理に分割して行うチェックノード演算部をさらに備え、
    前記ビット判定部は、前記チェックノード演算部により分割して処理が行われる毎に、分割して行われた処理の結果に基づいて前記ビット判定値を求める
    請求項3に記載の復号装置。
  8. 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、
    前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる
    ステップを含む復号方法。
  9. 繰り返し復号の1回の復号処理の間隔よりも短い間隔で復号終了条件を満たすか否かの判定を行い、
    前記復号終了条件を満たす場合、1回の前記復号処理の途中で処理を終了させる
    ステップを含む処理をコンピュータに実行させるプログラム。
JP2011043720A 2011-01-03 2011-03-01 復号装置、復号方法、およびプログラム Active JP5790029B2 (ja)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8640013B2 (en) * 2011-09-22 2014-01-28 Kabushiki Kaisha Toshiba Storage device

Citations (8)

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

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

Patent Citations (8)

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

* Cited by examiner, † Cited by third party
Title
JPN6015000338; 佐藤芳行,細谷剛,八木秀樹,平澤茂一: 'Group Shuffled BP復号法における効果的なグループ分割法' 電子情報通信学会技術研究報告. IT, 情報理論 107(42) , 20070511, pp.13-18 *

Cited By (11)

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