JP5068537B2 - レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 - Google Patents

レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 Download PDF

Info

Publication number
JP5068537B2
JP5068537B2 JP2006536950A JP2006536950A JP5068537B2 JP 5068537 B2 JP5068537 B2 JP 5068537B2 JP 2006536950 A JP2006536950 A JP 2006536950A JP 2006536950 A JP2006536950 A JP 2006536950A JP 5068537 B2 JP5068537 B2 JP 5068537B2
Authority
JP
Japan
Prior art keywords
decoder
code
codes
group
replica
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006536950A
Other languages
English (en)
Other versions
JP2008527760A (ja
Inventor
イェディディア、ジョナサン・エス
フォソリエ、マーク・ピー・シー
ジャン、ジュンタン
ワン、イーゲ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Hawaii
Original Assignee
University of Hawaii
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 University of Hawaii filed Critical University of Hawaii
Publication of JP2008527760A publication Critical patent/JP2008527760A/ja
Application granted granted Critical
Publication of JP5068537B2 publication Critical patent/JP5068537B2/ja
Expired - Fee Related 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/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/2978Particular arrangement of the component decoders
    • H03M13/2987Particular arrangement of the component decoders using more component decoders than component codes, e.g. pipelined turbo 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
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、包括的には誤り訂正符号の復号化に関し、特にターボ符号、低密度パリティ検査符号、及びターボ積符号等の誤り訂正符号の反復復号化に関する。
誤り訂正符号
データストレージ及び通信の分野での重要な課題は、誤り訂正符号を復号化する実用的な方法を開発することである。
非常に重要な誤り訂正符号の一種は、線形ブロック誤り訂正符号という種類のものである。別記しない限り、以下の説明において「符号」と言及する際は常に、線形ブロック誤り訂正符号を指すものと理解されたい。
こういった符号の背後にある基本概念は、k個の情報記号から成るブロックをN個の記号から成るブロックを使用して符号化することにあり、ここで、N>kである。N−kビットを追加使用して、雑音の多い通信路を介して受信される、又は欠陥のある記憶媒体から検索される場合に破損した信号を訂正する。
符号の全制約を満たすN個の記号から成るブロックは「符号語」と呼ばれ、対応するk個の情報記号から成るブロックは「情報ブロック」と呼ばれる。記号はq元アルファベットから選び出されるものと仮定する。
重要な特殊ケースはq=2の場合である。この場合、符号は「バイナリ」符号と呼ばれる。この説明において挙げる例ではバイナリ符号を想定するが、本明細書に記載する復号化方法をq>2のq元符号に一般化することは容易である。バイナリ符号は実際に使用される最も重要な符号である。
図1は、線形ブロック誤り訂正符号を使用した従来の「通信路符号化」100を示す。送信元110はk個の記号u[a]から成る情報ブロック101を生成する。情報ブロックは誤り訂正符号のエンコーダ120に渡される。エンコーダはN個の記号102を含む符号語x[n]を生成する。
次いで、符号語102は通信路130を通して送信され、符号語は、通信路130において破損して(corrupted)、信号y[n]103になる危険がある。次いで、破損信号y[n]103はデコーダ140に渡され、デコーダ140は符号語x[n]102を再構築したものz[n]104を出力しようとする。
符号パラメータ
バイナリ線形ブロック符号は、ブロック長Nを有する2個の可能な符号語の集合により定義される。パラメータkは符号の「次元」と呼ばれることがある。符号は通常、N及びkが大きい場合にその効果の程もはるかに高くなる。しかし、パラメータN及びkのサイズが大きくなるほど、破損したメッセージの復号化が難しくなる。
2つの符号語間のハミング距離は2語間で相違する記号の数として定義される。符号の距離dは、符号内のすべての符号語対間の最小ハミング距離として定義される。dの値の大きい符号ほど誤り訂正能力が高い。パラメータN及びkを有する符号を[N,k]符号と呼ぶ。距離dも分かっている場合には、符号を[N,k,d]符号と呼ぶ。
符号パリティ検査行列表現
線形符号はパリティ検査行列で表すことができる。バイナリ[N,k]符号を表すパリティ検査行列は、0と1から成るM行とN列の行列である。パリティ検査行列のN列は符号のN個の記号に対応する。行列での線形独立行の数はN−kである。
パリティ検査行列の各行はパリティ検査制約を表す。特定行によって表される制約に関わる記号は、その行中の非ゼロ記号を有する列に対応する。パリティ検査制約は強制的に、これら記号の2を法としてとったモジュールの加重和をゼロに等しくする。たとえば、バイナリ符号の場合、パリティ検査行列
Figure 0005068537
は、3つの制約
Figure 0005068537
Figure 0005068537
Figure 0005068537
を表す。但し、x[n]はn番目のビットの値であり、バイナリ記号の追加は、0+0=1+1=0および0+1=1+0=1となる2を法としたモジュール算数規則(2の倍数を無視する算数規則)を使用して行われる。
誤り訂正符号デコーダ
誤り訂正符号用のデコーダの役割は、送信された符号語が通信路で破損した後に受信信号を受け入れ、送信された符号語の再構築を試みることである。符号語復号化の失敗数が最小という点で最適なデコーダは、所与の受信信号である可能性が最も高い符号語を出力する。最適なデコーダは「最尤」デコーダとして知られている。最尤デコーダであっても、通信路の雑音が十分に大きい場合には復号誤りを犯して、送信された符号語ではない符号語を出力することがある。
語の誤り率ではなく記号の誤り率が最小であるという点で最適な別種のデコーダは、「厳密記号(exact-symbol)」デコーダである。この名称は実際には慣例的ではないが、かかるデコーダに取り決められた普遍的な名称がないため本明細書においてこの名称を用いる。厳密記号デコーダ(exact-symbol decoder)は、符号内の各記号毎に、その記号がとり得る様々な値、たとえばバイナリ符号の場合には0又は1をとる厳密な確率を出力する。
反復デコーダ
実際には、最尤デコーダ又は厳密記号デコーダは特殊な種類の誤り訂正符号に対してしか構築することができない。反復法をベースとした非最適な近似デコーダに大きな関心が集まっている。こういった反復復号法の1つは「確率伝搬」(BP)と呼ばれる。R.Gallagerが最初に、BPという名称は使わなかったが、低密度パリティ検査(LDPC)符号に対するBP復号法を1963年に発表した。
ターボ符号
1993年に、同様の反復法が、「ターボ」符号として知られる新種の符号に対して非常にうまく働くことが示された。ターボ符号の成功は、一部はLDPC符号及び反復復号法への関心が大きく復活したことによるものであった。ターボ符号及びLDPC符号の両方に対しての、また「ターボ積符号」及び「RA(repeat-accumulate)符号」等の関連する他の符号に対しての反復復号法のパフォーマンス改良について相当量の研究が最近なされてきている。たとえば、2003年8月に、IEEE Communications Magazineの特別号がこの研究に捧げられた。概観については、C. Berrou著「The Ten-Year-Old Turbo Codes are entering into Service」(IEEE Communications Magazine, vol. 41, pp. 110-117, August 2003)並びにT. Richardson及びR. Urbanke著「The Renaissance of Gallager's Low-Density Parity Check Codes」(IEEE Communications Magazine, vol. 41, pp. 126-131, August 2003)を参照のこと。
多くのターボ符号及びLDPC符号はランダム構築を使用して構築される。たとえば、Gallagerの当初のバイナリLDPC符号は、0及び1のみから成り、少数個の1が予め規定された確率分布に従って行列内にランダムに配置されるパリティ検査行列の観点から定義される。しかし、反復デコーダは、有限幾何学によって定義される符号等、規則的な構築によって定義される符号への適用にも成功している。Y. Kou、S. Lin、及びM. Fossorier著「Low Density Parity Check Codes Based on Finite Geometries: A Rediscovery and More」(IEEE Transactions on Information Theory, vol. 47, pp. 2711-2736, November, 2001)を参照のこと。一般に、反復デコーダは、パリティ検査行列がランダム構築を有するか、それとも規則的な構築を有するかに関わりなく、比較的少数個の非ゼロエントリを有するパリティ検査行列を有する符号に対してうまく働く。
図2は、BPをベースとしたLDPC符号のデコーダを有する従来技術によるシステム200を示す。システムは受信した記号を反復処理して、符号を特定するパリティ検査行列によって与えられるように、制約に基づいて各記号の信頼性を向上させる。
最初の反復では、BPデコーダは通信路エビデンス201のみを入力として使用し、各記号から、その記号に関わるパリティ検査制約に対する軟出力メッセージ202を生成する。記号から制約へのメッセージを送るこのステップは「垂直」ステップ210と呼ばれることがある。次いで、記号からのメッセージを隣接制約において処理して、新たなメッセージ203を記号にフィードバックする。このステップは「水平」ステップ220と呼ばれることがある。復号反復プロセスは、特定の終結条件204を満たすまで垂直ステップと水平ステップを交互にして続けられる。終結条件204を満たした時点で、硬判定205が、最後の復号反復からの記号に対する出力信頼性測度に基づいて各記号毎に行われる。
メッセージ更新規則の厳密な形態及びメッセージの意味は、使用されるBP法の特定の変形に従って変化する。特に普及している2つのメッセージ更新規則は「sum-product」規則及び「min-sum」規則である。これら従来技術によるメッセージ更新規則は非常によく知られており、これらメッセージ更新規則に対する近似も実際にうまく働くことが証明されている。BP法のいくつかの変形では、メッセージはビットが0又は1のいずれかである対数尤度を表す。BP法及びBP法の誤り訂正符号への適用についてのさらなる背景資料としては、F. R. Kschischang、B. J. Frey、及びH. A. Loeliger「Factor Graphs and the Sum-Product Algorithm」(IEEE Transactions on Information Theory, vol 47, pp. 498-519, February 2001)を参照のこと。
記号から制約へのメッセージを、BP復号化においてトラッキングされる「基本的な」独立メッセージと考え、制約から記号へのメッセージを、記号から制約へのメッセージの観点から定義される従属メッセージと考えることが有用な場合がある。別法として、制約から記号へのメッセージを「独立(independent)」メッセージとして、また記号から制約へのメッセージを、制約から記号へのメッセージの観点から「従属(dependent)」メッセージと見ることができる。
ビット反転デコーダ
ビット反転(BF(bit-flipping))デコーダはBPデコーダと同様に働く反復デコーダである。これらデコーダは若干単純になる。LDPC符号用のビット反転デコーダも長い歴史を持ち、これも、1960年代初めに、Gallagerにより、彼がLDPC符号を紹介したときに提案された。ビット反転デコーダではまず、通信路出力に基づいて各符号語ビットに0又は1を割り当てる。次いで各反復において、各パリティ検査のシンドロームを計算する。パリティ検査のシンドロームは、パリティ検査を満たす場合には0であり、満たさない場合には1である。次いで、各ビット毎に、そのビットを含むすべてのパリティ検査のシンドロームが調べられる。それらのパリティ検査の数が予め規定されたしきい値を超える場合、対応するビットを反転させる。反復は、すべてのパリティ検査を満たすまで、又は所定の最大反復回数に達するまで続けられる。
ターボ符号は、厳密記号デコーダを使用して復号可能な2つのより小さな符号を連接したものである。C. Berrou及びA. Glavieux著「Near-Optimum Error-Correcting Coding and Decoding: Turbo-codes」(IEEE Transactions in Communications, vol. 44, pp. 1261-1271, Octover 1996)を参照のこと。通常、より小さな符号には畳込み符号が使用され、厳密記号デコーダは通常、BCJR復号法をベースとする。BCJR復号法の詳細な説明については、L. Bahl、J. Cocke、F. Jelinek、及びJ. Raviv著「Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate」(IEEE Transactions on Information Theory, pp. 284-287, March 1974)を参照のこと。ターボ符号内の符号語記号のいくつかは両方の符号によって課される制約を受ける。こういった記号は「共有記号」と呼ばれる。従来のターボ符号デコーダは、符号を、それぞれの厳密記号デコーダを使用して交互に復号し、一方の厳密記号デコーダによって求められた共有記号の出力対数尤度を、他方の厳密記号デコーダでの共有記号の入力として利用することによって機能する。
2つの組織的畳込み符号301及び302を使用して構築されるターボ符号の構造を図3に概略的に示す。このターボ符号では、共有記号は各畳込み符号の情報ビットである。
最も単純なターボデコーダは直列モードで動作する。このモードでは、一方のBCJRデコーダが入力として通信路情報を受け取り、次いで各共有情報ビット毎に対数尤度値の集合を出力する。通信路情報と併せて、これら対数尤度値が他方のBCJRデコーダへの入力として使用され、この他方のBCJRデコーダは出力を第1のデコーダに送り返し、次いでサイクルが続けられる。
ターボ積符号
ターボ積符号(TPC(turbo product code))は、厳密記号デコーダを使用して各構成符号を復号化することができる積符号の一種である。積符号は従来技術による既知の符号である。[N,k,d]符号及び[N,k,d]符号から積符号を構築するには、符号語記号をN×N矩形に配置する。各記号は2つの符号に属する。すなわち、一方は、同列中のその他の記号を使用して構築される[N,k,d]「垂直」符号であり、他方は同行中のその他の記号を使用して構築される[N,k,d]「水平」符号である。全体の積符号はパラメータ[N,k,d]を有する。
TPCは、構成符号の厳密記号デコーダを使用して復号化される。水平符号及び垂直符号はそれぞれの厳密記号デコーダを使用して交互に復号化され、水平符号によって与えられる出力対数尤度を垂直符号の入力対数尤度として使用し、またこの逆も同様である。ターボ積符号を復号化するこの方法は「直列モード復号」と呼ばれる。
反復復号可能な他の符号
反復復号法を用いて首尾良く復号可能な多くの符号が他にある。これら符号は文献において既知であり、数が多すぎるためすべてを詳細には説明しない。これら符号のうち最も注目すべきもののいくつかは、非正則LDPC符号(M. A. Shokrollahi、D. A. Spielman、M. G. Luby、及びM. Mitzenmacher著「Improved Low-Density Parity Check Codes Using Irregular Graphs」(IEEE Trans. Information Theory, vol. 47, pp. 585-598 February 2001)参照)、RA符号(D. Divsalar、H. Jin、及びR. J. McEliece著「Coding Theorems for "Turbo-like" Codes」(Proc. 36th Allerton Conference on Communication, Control, and Computing, pp. 201-210, September, 1998)参照)、LT符号(M. Luby著「LT Codes」(Proc. Of the 43 Annual IEEE Symposium on Foudations of Computer Science, pp. 271-282, Nov. 2002)参照)、及びラプタ(Raptor)符号(A. Shokrollahi著「Raptor Codes」(Proceedings of IEEE International Symposium on Information Theory, p. 36, July 2004)参照)である。
反復デコーダの加速方法
LDPC符号用のBPデコーダ及びBFデコーダ、ターボ符号用のデコーダ、並びにターボ積符号用のデコーダはすべて、実際のシステムでの有用性が証明されている反復デコーダの例である。こういったすべての反復デコーダに対する非常に重要な問題は、デコーダの収束速度である。符号語を見つけるまでに必要な反復回数が可能な限り少ないことが望ましい。反復回数が少ないほど復号が高速になり、これは誤り訂正システムにとって望ましい特徴である。
ターボ符号の場合、より高速の収束を、ターボデコーダを並列モードで動作することによって得ることができる。D. Divsalar及びF. Pollara著「Multiple Turbo Codes for Deep-Space Communications」(JPL TDA Progress Report, pp. 71-78, May 1995)参照のこと。このモードでは、両方のBCJRデコーダが入力として通信路情報を同時に受信し、次いで情報ビットの対数尤度値の集合を同時に出力する。第1のデコーダからの出力を第2のデコーダの2回目の反復の入力として使用し、またその逆も同様である。
図4は、直列401モードと並列402モードにおいて、各モード毎に1回反復する場合の、ターボコードの動作の違いを示す。直列モード401では、第1のデコーダ411が最初に動作し、第2のデコーダ412がその出力を使用し、次いで第2のデコーダからの出力が第1のデコーダに戻され、次の反復で第1のデコーダによって使用される。並列モード402では、2つのデコーダ421、422が並列に動作し、第1のデコーダの出力が次の反復のために第2のデコーダに送られ、その間同時に、第2のデコーダの出力が第1のデコーダに送られる。
ターボ符号の場合と同様に、ターボ積符号の場合の並列モード復号が、C. Argon及びS. McLaughlin著「A Parallel Decoder for Low Latency Decoding of Turbo product Codes」(IEEE Communications Letters, vol. 6, pp. 70-72, February 2002)に説明されている。ターボ積符号の並列モード復号では、水平符号及び垂直符号が同時に復号化され、次の反復において水平符号の出力が垂直符号の入力として使用され、またその逆も同様である。
グループシャッフル(Group shuffled)復号
最後にLDPC符号のBP復号について、「グループシャッフル」BP復号が、J. Zhang及びM. Fossorier著「Shuffled Belief Propagation Decoding」(Proceedings of the 36th Annual Asilomar Conference on Signals, Systems, and Computers, pp. 8-15, Nov. 2002)に説明されている。
通常のBP復号では、上述したように、すべてのビットからのメッセージが並列に、単一の垂直ステップで更新される。グループシャッフルBP復号では、ビットはグループに分けられる。ビットグループから対応する制約へのメッセージが共に更新され、次いで次のビットグループからのメッセージが更新され、すべてのグループからのメッセージが更新されるまでこれが続けられ、次いで次の反復が開始する。制約からビットへのメッセージは従属メッセージとして扱われる。各段階において、最も新しく更新されたメッセージが使用される。グループシャッフルBP復号は、通常のBPデコーダと比較してLDPC符号用のデコーダのパフォーマンス及び収束速度を向上させる。
直観的に、ターボ符号及びターボ積符号用の並列モードデコーダ並びにLDPC符号用のグループシャッフルデコーダが収束を速めることの理由は以下である。メッセージが反復デコーダにおいて更新されるときは常に、メッセージはより正確になり、かつ信頼性が高くなる。したがって、旧版ではなく最新版のメッセージを使用することで、通常、正確な復号への収束速度が速まる。
従来技術による方法は収束速度をいくらか向上させるが、収束速度及びパフォーマンスをさらに向上させることが強く望まれる。多くの用途において、復号速度は極めて重要である。
[発明の開示]
本発明は、LDPC符号、ターボ符号、又はターボ積符号等の任意の反復復号可能な符号のデコーダを、より良好なパフォーマンス及び収束速度を有する別の反復デコーダに転換する方法を提供する。転換された反復デコーダを「レプリカ結合グループシャッフルデコーダ」又は単に「結合デコーダ」と呼ぶ。
方法は入力として、誤り訂正符号、及びビット推定又は記号推定を並列に更新するその誤り訂正符号用の従来の反復デコーダをとる。たとえば、記号は任意のアルファベットからとられる。ビット推定又は記号の推定は、ビット又は記号のメッセージ又は値であってよい。
結合デコーダは、より小さなサブデコーダの複数のレプリカから構築される。より小さなサブデコーダはそれぞれ「グループシャッフルサブデコーダ」と呼ばれる。
各グループシャッフルサブデコーダでは、従来の反復デコーダによって更新されたビット推定又は記号推定がグループに分けられる。結合デコーダに使用されるグループシャッフルサブデコーダは以下のように異なる。各サブデコーダは各種グループに異なる更新スケジュールを使用する。サブデコーダはまた、ビット推定又は記号推定をグループに分ける方法においても異なり得る。
レプリカ結合グループシャッフルデコーダは、その構成要素のグループシャッフルサブデコーダの出力を以下のように利用する。ビット又は記号の値又はメッセージが各グループシャッフルサブデコーダで更新されると常に、特定数の他のビット又は記号の値又はメッセージを使用して更新を行う。他のビット又は記号の値又はメッセージは、そのビット又は記号の値又はメッセージを最も新しく更新したグループシャッフルサブデコーダによって提供される推定を使用することによって得られる。
結合デコーダは、符号語の復号又は所定の反復回数に達したとき等、終結条件に達したときに完了する。
図5は、本発明によるレプリカ結合グループシャッフル反復デコーダ700を生成する方法500を示す。
方法は、入力として、誤り訂正符号501及びその誤り訂正符号501用の従来の反復デコーダ502をとる。従来の反復デコーダ502は、前の推定に基づいて符号を定義する記号の状態の推定を、反復し且つ並列に更新する。記号はバイナリであっても、又は任意のアルファベットからとられてもよい。確率伝搬(BP)法でのメッセージ及びビット反転(BF)デコーダでのビットの状態が、本明細書において記号状態の「記号推定」又は単に「推定」と総称するものが何を指すかの例である。
本明細書ではまた、「ビット推定」という用語も使用する。これは、簡明化のために、別記しない限り記号がバイナリであると仮定するためである。しかし、本手法は他の非バイナリ符号にも適用される。従来技術によるBPデコーダ、BFデコーダ、ターボデコーダ、及びターボ積符号用のデコーダはすべて、本発明と併せて使用可能な従来の反復デコーダの例である。
この説明を簡明化するために、バイナリLDPC符号用のBFデコーダ及びBPデコーダを入力としての従来の反復デコーダ501の主な例として用いる。方法は必ずしもバイナリとは限らない従来の反復デコーダの他の例に一般化可能なことを理解されたい。
バイナリLDPC符号用のBFデコーダでは、各符号語記号の値の推定は記憶されて直接更新される。通信路出力からして最も可能性の高い状態に基づいた初期推定から開始して、各符号語ビットが0又は1のいずれかとして推定される。あらゆる反復において、各記号の推定は並列に更新される。更新は、各ビットに関連するパリティ検査のいくつが破られているかを調べることによって行われる。破られている検査の数が予め規定された或るしきい値を超える場合、そのビットの推定は0から1へ、又はこの逆に更新される。
バイナリLDPC符号用のBPデコーダも、各記号の値の単一の推定を更新するのではなく、メッセージが関わる記号と制約との間の「メッセージ」の集合が更新されることを除いて同様に機能する。これらメッセージは通常、実数として記憶される。実数は、ビットが0又は1である対数尤度比に対応する。BPデコーダでは、メッセージはメッセージ更新規則に従って繰り返し更新される。こういった規則の厳密な形態は重要ではない。唯一重要なポイントは、反復デコーダが或る規則セットを使用して、前に更新されたメッセージに基づいてメッセージを繰り返し更新することである。
複数のサブデコーダの構築
本方法による転換プロセスの第1段階では、グループシャッフルサブデコーダの複数のレプリカが構築される。次いで、これらグループシャッフルサブデコーダ511を結合して(520)、レプリカ結合グループシャッフルデコーダ700にする。
推定のグループ分け
複数のレプリカサブデコーダ511は以下のように構築される。各グループシャッフルレプリカサブデコーダ511毎に、そのグループシャッフルサブデコーダがメッセージ又は記号値に対して行った推定がグループに分けられる。
バイナリLDPC符号用のBFデコーダの例は1000個の符号語ビットを有する。グループシャッフルサブデコーダがこの符号に対して行うビット推定を任意の数の方法で、たとえば100ビットから成るグループ10個に、10ビットから成るグループ100個に、又は50ビットから成るグループ20個等に分けることができる。簡明化のために、グループのサイズは等しいものと以下仮定する。
従来の反復デコーダ501がLDPC符号のBPデコーダである場合、メッセージグループは多くの様々な方法で各グループシャッフルサブデコーダに分けることができる。本明細書では2つの好ましい手法について説明する。本明細書では「垂直分割」と呼ぶ第1の手法では、符号語記号はまずグループに分けられ、その後、同符号語記号から制約へのすべてのメッセージは同じグループに属するものとして扱われる。垂直分割では、制約から記号へのメッセージは従属メッセージとして扱われる一方で、記号から制約へのメッセージは独立メッセージとして扱われる。したがって、すべての従属メッセージは、記号から制約への独立メッセージグループが更新されるときに常に自動的に更新される。
本明細書では「水平分割」と呼ぶ第2の手法では、制約がまずグループに分けられ、次いで同じ制約から記号へのすべてのメッセージが同じグループに属するものとして扱われる。水平分割では、制約から記号へのメッセージは独立メッセージとして扱われ、記号から制約へのメッセージは単に従属メッセージとして扱われる。ここでも、すべての従属メッセージは、独立メッセージグループが更新されるときに常に自動的に更新される。
BPメッセージを分ける他の手法も可能である。重要な点は、グループシャッフルサブデコーダの各レプリカ毎に、反復復号法の過程において更新される独立メッセージの集合を定義し、そのメッセージをいくつかのグループ集合に分けることである。独立メッセージの観点から定義される他の従属メッセージは、独立メッセージグループの更新が完了したときに常に自動的に更新される。
グループへの更新スケジュールの割り当て
単一のグループシャッフルサブデコーダ511を生成するに当たっての次のステップは、更新スケジュールを推定グループに割り当てる。更新スケジュールはグループの順番であり、推定が更新される順番を定義する。たとえば、BFデコーダにおいて100ビットから成るグループ10個に更新スケジュールを割り当てたい場合、どのビットグループを最初に更新し、次にどのグループを更新し、10番目のグループに達するまで次にどのグループを更新するかを判断する。ビット推定グループが共に更新されるときの単一反復サブステップを「反復サブステップ」と呼ぶ。
グループ集合はグループの更新スケジュールと共に、特定のグループシャッフル反復サブデコーダを定義する。推定グループが指定された順番に従ってサブステップにおいて更新されることは別として、グループシャッフル反復サブデコーダは、元の従来の反復デコーダ501と同様に機能する。たとえば、入力である従来の反復デコーダ501がBFデコーダである場合、新しいグループシャッフルサブデコーダ511は、従来のデコーダ501と同一のビット反転規則を使用する。
結合デコーダに使用されるレプリカサブデコーダ同士の違い
複数のグループシャッフルサブデコーダ511は、サブデコーダがグループに分けられる方法という点で同一であってもなくてもよい。しかし、サブデコーダはそれぞれの更新スケジュールの点で異なる。実際に、あらゆるビット推定を結合デコーダ700に使用されるあらゆるレプリカサブデコーダにおいて更新する必要はない。しかし、あらゆるビット推定は少なくとも1つのレプリカサブデコーダ511において更新される。また、結合デコーダの各反復が同期して完了するように、各レプリカサブデコーダ511が同数の反復サブステップを有することも好ましい。
図6は、複製されたグループシャッフルサブデコーダの単純な概略例を示す。この例では、3つのビット推定グループをそれぞれ有する3つの異なるレプリカサブデコーダを使用する。この例では、各レプリカサブデコーダにおいて使用されるグループは同一であるが、更新の順番は異なる。
第1のレプリカサブデコーダ610において、グループ1中のビット推定が第1の反復サブステップにおいて更新され、その後、第2の反復サブステップにおいてグループ2中のビット推定が更新され、その後、第3の反復サブステップにおいてグループ3中のビット推定が更新される。第2のレプリカサブデコーダ620では、グループ2中のビット推定が最初に更新され、その後、グループ3中のビット推定が更新され、その後、グループ1中のビット推定が更新される。第3のレプリカサブデコーダ630では、グループ3中のビット推定が最初に更新され、その後、グループ1中のビット推定が更新され、その後、グループ2中のビット推定が更新される。
本発明のレプリカ結合グループシャッフルデコーダの背後にある概念についてこの例を用いて説明する。各ビットの入力推定が通信路情報を使用して得られる第1の反復を考える。各ビットの初期入力「信頼性」が等しいものと考えられる。しかし、第1の反復の第1のサブステップの完了後、最も新しく更新されたビットが最も信頼性の高いものであるはずである。したがってこの例では、第1のレプリカサブデコーダでは、第1の反復の第1のサブステップの終結時に、グループ1中のビット推定が最も信頼性の高いものであり、その一方で第2のレプリカサブデコーダでは、第1の反復の第1のサブステップの終結時にグループ2中のビット推定が最も信頼性の高いものであると考える。
信頼性のある情報を伝搬させる速度を速めるために、最も信頼性の高い推定を各ステップにおいて使用することは理に適っている。複数のレプリカグループシャッフルサブデコーダから結合デコーダを構築することの背後にある一般概念は、処理速度の向上と引き換えに、複雑性の増大、たとえば論理回路及びメモリをトレードオフすることである。多くの用途において、デコーダが機能する速度はデコーダの複雑性よりもはるかに重要であるため、このトレードオフは理に適っている。
複数のレプリカサブデコーダの結合
デコーダ700は、前のステップ510において得られたグループシャッフルサブデコーダ511の異なるレプリカを結合したものである。
ビット推定が反復デコーダにおいて更新されるときは常に、更新規則は他のビット推定を使用する。複数のレプリカサブデコーダを使用する結合デコーダでは、あらゆる反復において使用されるビット推定としては、最も信頼性の高い推定、すなわち最も新しく更新されたビット推定が選択される。
したがって、本例を続けると、上述した3つのレプリカサブデコーダを結合する場合、レプリカデコーダは第1の反復においてそれぞれの推定を以下のように更新する。第1の反復の第1のサブステップにおいて、第1のレプリカサブデコーダはグループ1中のビット推定を更新し、第2のレプリカサブデコーダはグループ2中のビット推定を更新し、第3のレプリカサブデコーダはグループ3中のビット推定を更新する。
第1のサブステップの完了後、レプリカサブデコーダは次のグループのビット推定を更新する。したがって、第1のレプリカサブデコーダはグループ2中のビット推定を更新し、第2のレプリカサブデコーダはグループ3中のビット推定を更新し、第3のレプリカサブデコーダはグループ1中のビット推定を更新する。
重要なポイントは、ビット推定を更新する必要があるときは常に、レプリカサブデコーダに、そのビットの、その時点で最も信頼性の高いサブデコーダからの推定が提供されることである。したがって、第2のサブステップ中、グループ1中のビットのビット推定が必要なときは常に、その推定は第1のレプリカサブデコーダによって提供され、グループ2中のビットのビット推定が必要なときは常に、この推定は第2のレプリカサブデコーダによって提供される。
第1の反復の第2のサブステップの完了後、それぞれのレプリカサブデコーダの役割が変わる。第1のレプリカデコーダはここでは、グループ2中のビットの最も信頼性の高いビット推定の提供元であり、第2のレプリカサブデコーダはここでは、グループ3中のビットの最も信頼性の高いビット推定の提供元であり、第3のレプリカサブデコーダはここでは、グループ1中のビットの最も信頼性の高いビット推定の提供元である。
レプリカデコーダ511を結合して結合デコーダ700にする方法の背後にある一般概念は、各反復において、特定のレプリカサブデコーダが、ビット及びメッセージのうちのいくつかについて信頼性の高い推定を与えることに「特化」し、その一方で他のレプリカサブデコーダが他のビット及びメッセージについて信頼性の高い推定を与えることに特化することである。特定のビット推定に「特化」したレプリカデコーダは常に、そのビット推定のバージョンを最も新しく更新したレプリカデコーダである。
一般的な結合デコーダのシステム図
図7は結合デコーダ700を示す。簡明化のために、3つのグループシャッフルサブデコーダ710、720、及び730を有する結合デコーダを示す。各サブデコーダは推定をグループ集合に分け、サブが推定を更新するスケジュールを有する。
結合デコーダの全体制御は制御ブロック750によって処理される。制御ブロックは2つの部分、すなわち信頼性割り当て部751及び終結検査部752から成る。
各サブデコーダは入力として、チャネル情報701及び最新のビット推定702を制御ブロック750から受け取る。各反復サブステップ後、各サブデコーダはビット推定703を制御ブロックに出力する。出力を求めるために、特定のサブデコーダは特定のスケジュールを使用して、予め割り当てられた反復デコーダ、たとえばBP又はBFを利用する。
各反復サブステップ後、制御ブロックは入力として最新のビット推定703を各サブデコーダから受け取る。次いで、信頼性割り当て部751は、割り当て部が受け取った特定のビット推定を、その時点で最も信頼性の高い値に合致するように更新する。次いで、割り当て部はその最も信頼性の高いビット推定702をサブデコーダに送る。
終結検査部752は、その時点で最も信頼性の高いビット推定が誤り訂正符号の符号語に対応するか否か、又は別の終結条件に達したか否かを判断する。好ましい実施形態では、代替の終結条件は所定の反復回数である。終結検査部は、デコーダを終結すべきだと判断したとき、符号語が見つかった場合には符号語に対応するビット値705の集合を出力し、その他の場合には、最も信頼性の高いビット推定を使用して求められたビット値705の集合を出力する。
本発明についてこれまで行った説明は一般的なものであり、LDPC符号、ターボ符号、及びターボ積符号用のBPデコーダ及びBFデコーダを含む従来のあらゆる反復デコーダに適用される。本発明を適用することが可能な他の符号としては、非正則LDPC符号、RA符号、LT符号、及びラプタ符号が挙げられる。これより、ターボ符号及びターボ積符号の特殊なケースに焦点をあて、これら符号の詳細についてさらに説明する。
ターボ符号の場合の結合デコーダ
ターボ符号の場合に結合デコーダをどのように生成することができるかについてより詳細に説明するために、2つの組織的バイナリ畳込み符号を連接したターボ符号の例を用いる。この例の場合での結合デコーダの好ましい実施態様について詳細に説明する。
従来のターボデコーダは2つの軟入力/軟出力畳込みBCJRデコーダを有し、これらは、2つの符号が共有するk個の情報記号について信頼性情報を交換する。
ターボ符号用の結合デコーダを生成するために、並列モードターボデコーダが入力としての「従来の反復デコーダ」501であるとみなす。関連する「ビット推定」は、情報ビットが各畳込み符号から受け取る対数尤度比である。本明細書では、これら対数尤度比を符号からビットへの「メッセージ」と呼ぶ。
好ましい実施形態では、4つのレプリカサブデコーダを使用して、2つの畳込み符号から構築されたターボ符号用のレプリカ結合グループシャッフルデコーダを生成する。
メッセージを各レプリカサブデコーダ毎に更新する順番が、各サブエンコーダに割り当てられる。これは多くの異なる方法で行うことができるが、可能な限りBCJR法に従うことが理に適っている。単一の畳込み符号に対する従来のBCJR復号「掃引」では、各メッセージが2度更新される(順方向掃引で1度、逆方向掃引で1度)。各ビット毎にBCJR法によって出力される最終出力対数尤度比は通常、逆方向掃引後のメッセージである。ビットを逆方向掃引で更新した後、順方向掃引で更新することによっても等価の結果を得ることが可能である。
本発明の好ましい実施形態では、図8に示すように、4つのレプリカサブデコーダに以下の更新スケジュールが割り当てられる。各レプリカサブデコーダでは、単一の各メッセージをグループとみなす。第1のレプリカサブデコーダ810は、スケジュールの順方向掃引後にスケジュールの逆方向掃引を使用して第1の畳込み符号からのメッセージのみを更新する。第2のレプリカサブデコーダ820は、逆方向掃引後に順方向掃引を使用して第1の畳込み符号からのメッセージのみを更新する。第3のレプリカサブデコーダ830は、順方向掃引後に逆方向掃引を使用して第2の畳込み符号からのメッセージのみを更新する。第4のレプリカサブデコーダ840は、逆方向掃引後に順方向掃引を使用して第2の畳込み符号からのメッセージのみを更新する。
各ビットメッセージが4つのレプリカサブデコーダのそれぞれで更新されると、他のメッセージに対して更新を行う必要がある。結合デコーダでは、メッセージは、最も新しく推定を更新したレプリカサブデコーダから得られる。
ターボ積符号の場合の結合デコーダ
これより、ターボ積符号(TPC)の場合での本発明の好ましい実施形態について説明する。ターボ積符号が水平符号と垂直符号の積から構築されているものと仮定する。各符号は厳密記号デコーダを使用して復号化される。厳密記号デコーダが各構成ビット毎に対数尤度比を出力するものと仮定する。
ターボ積符号用の結合デコーダを生成するために、並列モードターボ積デコーダが入力としての「従来の反復デコーダ」501であるとみなす。関連する「ビット推定」は、水平サブ符号及び垂直サブ符号に対して記号厳密デコーダによって出力される各ビットの対数尤度比である。これらビット推定を「メッセージ」と呼ぶ。
好ましい実施形態では、垂直符号を逐次処理する2つのレプリカサブデコーダ及び水平符号を逐次処理する2つのレプリカサブデコーダを使用して、かかるターボ積符号用の結合デコーダを生成する。垂直符号を逐次処理するレプリカサブデコーダでは、垂直符号からのメッセージが、同じ垂直符号内のビットからのメッセージが同じグループに属するようにグループに分けられる。水平符号を逐次処理するレプリカサブデコーダでは、水平符号からのメッセージが、同じ水平符号内のビットからのメッセージが同じグループに属するようにグループに分けられる。
ターボ積符号の場合の好ましい実施形態では、異なるレプリカサブデコーダの更新スケジュールは以下のようになる。垂直符号を処理する第1のレプリカサブデコーダでは、垂直符号が左から右に移りつつ逐次処理される一方で、垂直符号を処理する第2のレプリカサブデコーダでは、垂直符号は右から左に移りつつ逐次処理される。水平符号を処理する第3のレプリカサブデコーダでは、水平符号は上から下に移りつつ逐次処理される。水平符号を処理する第4のレプリカサブデコーダでは、水平符号は下から上に移りつつ逐次処理される。
いずれの段階でも、メッセージは、必要時に、そのメッセージを最も新しく更新したレプリカサブデコーダによって提供される。
[発明の効果]
本発明による結合デコーダを使用してのシミュレーションは、結合デコーダが従来技術によるデコーダよりも良好なパフォーマンス・複雑性・速度のトレードオフを提供することを示した。レプリカシャッフルターボデコーダという本発明は、同数の反復を使用した場合に10分の数dBだけ従来のターボデコーダよりも優れ、所与の雑音レベルで同じパフォーマンスが求められる場合に使用する反復回数をはるかに少なくすることができる。
本発明をLDPC符号、ターボ積符号、又は任意の反復復号可能な符号と併せて使用した場合にも同様のパフォーマンスの向上が見られた。
本発明について好ましい実施形態の例として説明したが、本発明の精神及び範囲から逸脱することなく他の各種適応形態及び変更形態を行うことが可能なことを理解されたい。したがって、添付の特許請求の範囲の目的は、かかる変形形態及び変更形態をすべて、本発明の真の精神及び範囲内にあるものとして包含することである。
従来技術による通信路符号化のブロック図である。 従来技術による確率伝搬復号化のブロック図である。 従来技術によるターボ符号の概略図である。 従来技術による直列ターボ符号化及び並列ターボ符号化のブロック図である。 本発明によるレプリカ結合グループシャッフル反復デコーダを生成する方法の流れ図である。 複製されたサブデコーダの概略図である。 本発明によるレプリカ結合グループシャッフル反復デコーダの図である。 ターボ符号用の結合デコーダの複製されたサブデコーダのスケジュールの図である。

Claims (3)

  1. 誤り訂正符号を復号するためのレプリカ結合グループシャッフル反復復号手段を生成する方法であって、
    誤り訂正符号及び該誤り訂正符号用の反復復号手段が与えられること、
    前記反復復号手段に基づいて前記誤り訂正符号用複数のグループシャッフルサブ復号手段を構築すること
    前記グループシャッフルサブ復号手段毎に、前記誤り訂正符号に含まれる記号の推定を、複数のグループに分けること、
    前記グループシャッフルサブ復号手段毎に、更新のスケジュールを割り当てること、および、
    前記スケジュールに従って、前記グループシャッフルサブ復号手段毎に、直前に更新された前記記号の推定に基づいて、記号の推定の更新が行なわれるように、前記複数のグループシャッフルサブ復号手段を結合して、1つのレプリカ結合グループシャッフル反復復号手段にすること
    を備えた方法。
  2. 前記誤り訂正符号はバイナリであり、前記記号はビットである、請求項記載の方法。
  3. 前記グループシャッフルサブ復号手段は確率伝搬を使用し、前記推定はメッセージであり、該メッセージは前記ビットが0又は1のいずれかである対数尤度を表す、請求項記載の方法。
JP2006536950A 2005-01-14 2006-01-06 レプリカ結合グループシャッフル反復デコーダ及びこの生成方法 Expired - Fee Related JP5068537B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/035,828 2005-01-14
US11/035,828 US7373585B2 (en) 2005-01-14 2005-01-14 Combined-replica group-shuffled iterative decoding for error-correcting codes
PCT/JP2006/300315 WO2006075672A1 (en) 2005-01-14 2006-01-06 Combined-replica group-shuffled iterative decoder, and method for generating the same

Publications (2)

Publication Number Publication Date
JP2008527760A JP2008527760A (ja) 2008-07-24
JP5068537B2 true JP5068537B2 (ja) 2012-11-07

Family

ID=35810861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006536950A Expired - Fee Related JP5068537B2 (ja) 2005-01-14 2006-01-06 レプリカ結合グループシャッフル反復デコーダ及びこの生成方法

Country Status (5)

Country Link
US (1) US7373585B2 (ja)
EP (1) EP1836771A1 (ja)
JP (1) JP5068537B2 (ja)
CN (1) CN101103534B (ja)
WO (1) WO2006075672A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009034845A1 (ja) * 2007-09-14 2009-03-19 Toyota Jidosha Kabushiki Kaisha 燃料電池用セパレータの製造方法
US10776019B2 (en) 2017-09-20 2020-09-15 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
US10795761B2 (en) 2018-03-15 2020-10-06 Toshiba Memory Corporation Memory system and method of controlling non-volatile memory

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500172B2 (en) * 2005-02-26 2009-03-03 Broadcom Corporation AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US8239727B2 (en) * 2006-02-08 2012-08-07 Thomson Licensing Decoding of raptor codes
US8069397B2 (en) * 2006-07-10 2011-11-29 Broadcom Corporation Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive
US8209582B1 (en) * 2006-11-07 2012-06-26 Marvell International Ltd. Systems and methods for optimizing a product code structure
WO2008087042A1 (en) * 2007-01-19 2008-07-24 Friedrich-Alexander-Universität Erlangen-Nürnberg Multiple-bases belief-propagation and permutation decoding for block codes
US8261170B2 (en) 2007-06-19 2012-09-04 Mitsubishi Electric Research Laboratories, Inc. Multi-stage decoder for error-correcting codes
JP4788680B2 (ja) * 2007-07-27 2011-10-05 住友電気工業株式会社 復号器
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8117519B2 (en) * 2008-01-15 2012-02-14 Micron Technology, Inc. Memory apparatus and method using erasure error correction to reduce power consumption
US8166364B2 (en) 2008-08-04 2012-04-24 Seagate Technology Llc Low density parity check decoder using multiple variable node degree distribution codes
US8261166B2 (en) * 2008-09-17 2012-09-04 Seagate Technology Llc Node processor for use with low density parity check decoder using multiple variable node degree distribution codes
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
US8125231B2 (en) * 2009-01-28 2012-02-28 Freescale Semiconductor, Inc. Capacitance-to-voltage interface circuit, and related operating methods
US8458114B2 (en) * 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
TW201037529A (en) 2009-03-02 2010-10-16 David Reynolds Belief propagation processor
US8407550B2 (en) * 2009-08-14 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding graph-based codes using message-passing with difference-map dynamics
US8972831B2 (en) 2010-01-11 2015-03-03 Analog Devices, Inc. Belief propagation processor
US9544090B2 (en) * 2010-03-31 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Hard input low density parity check decoder
EP2614594A1 (en) * 2010-09-08 2013-07-17 Agence Spatiale Européenne Flexible channel decoder.
JP5790029B2 (ja) * 2011-03-01 2015-10-07 ソニー株式会社 復号装置、復号方法、およびプログラム
US8726122B2 (en) * 2011-05-11 2014-05-13 Samsung Electronics Co., Ltd. High throughput LDPC decoder
JP2014017734A (ja) * 2012-07-10 2014-01-30 Toshiba Corp 受信機及び受信方法
US9281841B2 (en) * 2012-10-31 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Load balanced decoding of low-density parity-check codes
TWI519143B (zh) 2013-12-30 2016-01-21 財團法人工業技術研究院 通訊系統、其方法與其接收端
KR102189440B1 (ko) 2014-08-25 2020-12-14 삼성전자주식회사 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법
US9998148B2 (en) * 2015-12-01 2018-06-12 SK Hynix Inc. Techniques for low complexity turbo product code decoding
US10090862B2 (en) * 2016-03-23 2018-10-02 SK Hynix Inc. Hybrid soft decoding algorithm for multiple-dimension TPC codes
US10090865B2 (en) * 2016-03-23 2018-10-02 SK Hynix Inc. Performance optimization in soft decoding of error correcting codes
US10084485B2 (en) 2016-03-23 2018-09-25 SK Hynix Inc. Soft decoder parameter optimization for product codes
CN108306714B (zh) * 2018-03-22 2020-12-15 兰州大学 一种高阶调制下lt码解调译码方法
CN112994706A (zh) * 2019-12-02 2021-06-18 深圳市中兴微电子技术有限公司 译码方法、装置、设备及存储介质
US12014068B2 (en) * 2021-04-27 2024-06-18 Microchip Technology Inc. System and method for double data rate (DDR) chip-kill recovery
US20240243756A1 (en) 2021-05-07 2024-07-18 Safran Data Systems Decoding of series-concatenated turbo codes
US11934696B2 (en) 2021-05-18 2024-03-19 Microchip Technology Inc. Machine learning assisted quality of service (QoS) for solid state drives
CN114785353A (zh) * 2022-03-24 2022-07-22 山东岱微电子有限公司 低密度奇偶校验码译码方法、系统、设备、装置及介质
TWI810872B (zh) * 2022-03-29 2023-08-01 睿寬智能科技有限公司 用於準循環低密度奇偶校驗碼的快速解碼器
TWI818490B (zh) * 2022-03-29 2023-10-11 睿寬智能科技有限公司 低密度奇偶校驗碼的重組式解碼法與裝置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US6304995B1 (en) 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
CN1124691C (zh) * 1999-09-13 2003-10-15 华为技术有限公司 一种串/并行级联卷积码译码器及其译码实现方法
JP2002009633A (ja) * 2000-06-19 2002-01-11 Mitsubishi Electric Corp 復号回路および復号方法、並びに符号化回路および符号化方法
US7222289B2 (en) * 2002-09-30 2007-05-22 Certance Llc Channel processor using reduced complexity LDPC decoder
EP1829223B1 (en) * 2004-12-22 2013-02-13 LG Electronics Inc. Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009034845A1 (ja) * 2007-09-14 2009-03-19 Toyota Jidosha Kabushiki Kaisha 燃料電池用セパレータの製造方法
US10776019B2 (en) 2017-09-20 2020-09-15 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
US10795761B2 (en) 2018-03-15 2020-10-06 Toshiba Memory Corporation Memory system and method of controlling non-volatile memory

Also Published As

Publication number Publication date
US20060161830A1 (en) 2006-07-20
EP1836771A1 (en) 2007-09-26
CN101103534A (zh) 2008-01-09
JP2008527760A (ja) 2008-07-24
US7373585B2 (en) 2008-05-13
WO2006075672A1 (en) 2006-07-20
CN101103534B (zh) 2011-06-15

Similar Documents

Publication Publication Date Title
JP5068537B2 (ja) レプリカ結合グループシャッフル反復デコーダ及びこの生成方法
JP2008035524A (ja) 反復確率伝搬を使用して記号ブロックを復号化する装置および方法
JP5464990B2 (ja) シンボルから成るブロックを復号するための多段復号器及び方法
Johnson Introducing low-density parity-check codes
Andrews et al. The development of turbo and LDPC codes for deep-space applications
Han et al. Low-floor decoders for LDPC codes
Van Wonterghem et al. Performance comparison of short-length error-correcting codes
Jian et al. Iterative hard-decision decoding of braided BCH codes for high-speed optical communication
EP1835625B1 (en) Encoding and decoding of accumulate convolutional codes
US8601352B1 (en) Efficient LDPC codes
US7607063B2 (en) Decoding method and device for decoding linear code
Lentmaier et al. On the thresholds of generalized LDPC convolutional codes based on protographs
Behairy et al. Parallel concatenated Gallager codes
US7340671B2 (en) Decoding low density parity codes
JPWO2003073621A1 (ja) Ldpc符号用検査行列生成方法および検査行列生成装置
Zhang et al. Toward low LDPC-code floors: a case study
Ma et al. Obtaining extra coding gain for short codes by block Markov superposition transmission
Nasseri et al. Globally coupled finite geometry and finite field LDPC coding schemes
Ma et al. Statistical learning aided decoding of BMST tail-biting convolutional code
Lentmaier et al. Exact erasure channel density evolution for protograph-based generalized LDPC codes
Varnica Ldpc decoding: Vlsi architectures and implementations
Cunche et al. Low-rate coding using incremental redundancy for GLDPC codes
Zhdanov IRA codes derived from Gruenbaum graph
Mitchell Mathematical approach to channel codes with a diagonal matrix structure
Narang et al. imAGE PRoCEssiNG

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111222

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

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

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees