JP2006508577A - ランニングミニマム・メッセージパッシングldpc復号化 - Google Patents

ランニングミニマム・メッセージパッシングldpc復号化 Download PDF

Info

Publication number
JP2006508577A
JP2006508577A JP2004554786A JP2004554786A JP2006508577A JP 2006508577 A JP2006508577 A JP 2006508577A JP 2004554786 A JP2004554786 A JP 2004554786A JP 2004554786 A JP2004554786 A JP 2004554786A JP 2006508577 A JP2006508577 A JP 2006508577A
Authority
JP
Japan
Prior art keywords
value
parity check
input
codeword
reliability
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.)
Ceased
Application number
JP2004554786A
Other languages
English (en)
Other versions
JP2006508577A5 (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006508577A publication Critical patent/JP2006508577A/ja
Publication of JP2006508577A5 publication Critical patent/JP2006508577A5/ja
Ceased legal-status Critical Current

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/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
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node

Landscapes

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

Abstract

本発明は、伝送及び記録システムにおいて、低密度パリティ検査符号を復号化するための復号化方法に関する。本方法はランニングミニマムループを有し、該ランニングミニマムループは、以下の反復するサブステップ:入力信頼度値の入力シーケンスから信頼度値を読み取るサブステップと、前記信頼度値を保存された値と比較するサブステップと、前記信頼度値が前記保存された値よりも小さい場合に、前記保存された値を前記信頼度値で上書きするサブステップとを有する。

Description

本発明は、低密度パリティ検査(Low-Density Parity Check、LDPC)符号を用いて符号化された符号語記号(codeword symbol)から軟判定出力を出力する復号化方法に関する。
本発明は、磁気記録、光記録、テレコミュニケーション(例えばモバイル及び光ネットワーク)、家庭内無線ネットワーク及び時空間符号化を含むシステム等のような、ディジタル伝送及び記録システムに適用される。本発明は、次世代の光記憶のための強力な技術の1つである、2次元光記憶に特に有利である。
Marc P. C. Fossorier による論文「Reduced Complexity Iterative Decoding of Low-Density Parity Check Codes Based on Belief Propagation」(「IEEE Transactions on Communications」Vol.47、No.5、1999年5月[1])は、LDPC符号を復号化するための反復アルゴリズムを記載している。LDPC符号はエラー訂正符号であり、該符号の復号化器は軟判定入力を受け入れる。LDPC復号化は、ビタビ(Viterbi)型のアルゴリズムを必要とせず、複雑でない。LDPC符号は、Gallagerによって1960年代に発明された。その後1990年代に、Berrouらがターボ(Turbo)符号を発明した。次いでMacKay他が、ターボ符号がLDPC符号に類似していることを発見した。
その後、LDPCという略語が、ターボ符号を含む低密度パリティ検査マトリクスを用いる全ての符号を示すために用いられることになる。
本発明の目的は、復号化器においてかなりの量のメモリスペースを節約することを可能とするLDPC符号のための復号化方法を提供することにある。
本発明によれば、最初のパラグラフにおいて記載したようなLDPC符号のための復号化方法が提供される。前記LDPC符号は、幾つかのパリティ検査方程式によって検査される幾つかの符号語記号によって定義される。各パリティ検査方程式は、限られた数の符号語記号を検査するように定められ、各符号語記号は、限られた数のパリティ検査方程式によって検査されるように定められる。本発明によれば、前記方法は、同一のパリティ検査方程式によって検査された符号語記号のセットに関連する入力信頼度値(reliability value)の入力シーケンスから最小値を決定するステップを有し、該ステップはランニングミニマム(running minimum)ループを意味する。前記ランニングミニマムループは、以下の反復するサブステップ:
−入力信頼度値の入力シーケンスから信頼度値を読み取るサブステップと、
−前記信頼度値を保存された値と比較するサブステップと、
−前記信頼度値が前記保存された値よりも小さい場合には、前記保存された値を前記信頼度値で上書きするサブステップと、
を有する。
複数の入力信頼度値の入力シーケンスから最小値を決定するために、かようなランニングミニマムステップを利用することは、全ての比較の結果を保存することを回避する。このことは実際には、単一のチップにおいては、全ての比較結果を保存するよりも適している。
本発明の特定の実施例によれば、各前記パリティ検査方程式について、前記入力信頼度の入力シーケンスから出力信頼度の出力シーケンスを計算するステップを有し、前記出力シーケンスの各前記出力信頼度は、前記入力シーケンスにおける同一のインデクスを持つ1つを除く全ての入力信頼度の最小値に等しく、前記最小値は前記ランニングミニマムステップを用いて決定される。この場合においては、全体の最小値のインデクスを持つものを除く、出力シーケンス中の全ての結果が、前記全体の最小値に等しい。ここで前記全体の最小値のインデクスを持つ前記結果は、2番目に小さい値に等しい。結果として、3つの値のみが保存される必要がある。即ち、前記全体の最小値と、前記全体の2番目に小さい値と、前記入力シーケンスにおける全体の最小値のインデクスである。
本発明の好適な実施例によれば、入力信頼度値の入力シーケンスは、伝送チャネル又は記録チャネルから受信された前記符号語記号から生成される。前記入力信頼度値は、前記符号語記号の対数尤度比(LLR)の絶対値から導出される。一般に、バイナリのランダム的な値XのLLRは、以下のように定義される:

LLR=log(Pr{X=0}/Pr{X=1})
ここでPr{X=0}は、X=0である確率である。確率の対数尤度比表現を用いることは、復号化アルゴリズムが、前記チャネルを介して受信された入力対数尤度において線形に振舞うことを可能とする。このことは、復号化結果を、信号対ノイズ比の知識におけるエラーによる劣化を被りにくくする。
本発明はまた、

低密度パリティ検査符号を用いて符号化された符号語記号をチャネル媒体から受信する受信器、

かような受信器における使用のための光記憶媒体、

低密度パリティ検査符号を用いて符号化された符号語記号をチャネル媒体によって配信する供給源と、前記チャネル媒体から前記符号語記号を受信する受信器とを有するシステム、
前記復号化方法を実行するためのコンピュータプログラム、
前記コンピュータプログラムを担持するための信号、及び
前記コンピュータプログラムをダウンロードすることを可能とすること、
に関する。
本発明及び本発明を実施するために任意に利用され得る付加的な特徴は、以下に説明される図を参照しながら説明され明らかとなるであろう。
以下の注記は参照記号に関する。全ての図において、同一のブロックのラベルは、通常同一の機能エンティティを示す。
本発明の核心を説明する前に、本発明が適用されるLDPC符号の定義が以下に与えられる。LDPC符号は、例えばディジタル伝送及び記録システムにおける利用のための、疎行列エラー訂正符号である。LDPCは、復号化器が供給源から配信された元の情報を受信することを可能とすることにおいて、非常に効率的であることが分かっている。エラー訂正符号のパリティ検査行列Hは、cが符号語である場合には、その場合に限り、Hc=0となるようなバイナリ行列である。即ち、前記符号の空間は行列Hの零空間である。パリティ検査行列の「低密度」特性は、これらの符号のブロック長(即ち符号語長)が無限大に向かっても、行K当たりの1の数及び列J≧3当たりの1の数が有限のままであるという事実を意味する。LDPC符号のレートはR=1−J/Kに等しい。
R. G. Gallagerによる「Low density parity check codes」(「IRE Transaction on Information Theory IT-8」、21-28頁、1962年[2])に記載されたGallagerの構成方法は、列当たり正確にJ個の1を持ち、行当たり正確にK個の1を持つ、パリティ検査行列Hを生成するために利用された。今日までに、より一般的なLDPC符号の構成が知られている。これら一般化されたLDPC符号においては、行当たり及び列当たりの1の数は、特定の確率分布によって変化し得る。本発明は、両方のタイプの符号に適用され、また同様の特性を持つターボ符号にも適用される。
これらの符号は、所謂メッセージパッシング(message-passing)アルゴリズムを利用して復号化される。LDPC復号化チップを作成する場合に、伝統的なサムプロダクト(sum-product)メッセージパッシングアルゴリズムの不利な点は、非常に多くの乗算を必要とする点である。この複雑さを回避するため、ターボ符号化の分野において良く知られた、「最小信頼度入力を用いたボックス関数(Box-function)の近似」と呼ばれる技法が適用されることができる。ボックス関数は、2つの要素の排他的ORの信頼度を、両方の要素の信頼度の関数によって置換することに存する。その近似(符号を除く)は、所謂ボックス関数を、信頼度の絶対値の最小値と置換することに存する。本発明によれば同一の近似がメッセージパッシングアルゴリズムのために利用され、より広範囲に及ぶ良い結果を持つ。
図1は、本発明による所謂メッセージパッシングアルゴリズムを説明するための、パリティ検査行列のグラフィカルな表現である、2部LDPCグラフである。当該2部グラフは、該グラフの両側に2種類のノードを有する。左側にある一方の種類のノードは、符号語記号ノードである。該符号語記号ノードは、入力符号語記号を表す。右側にある他方の種類のノードは、パリティ検査ノードである。該パリティ検査ノードは、パリティ検査方程式を表す。特定のパリティ検査方程式がK個の符号語記号をパリティ検査する場合、これらK個の符号語記号ノードは、本グラフにおいて関係するパリティ検査ノードとリンクされる。かくして、パリティ検査ノードの次数(接続された辺の数)はKに等しい。パリティ検査行列Hの列における1の数はJに等しいため、符号語記号ノードの次数はJに等しい。
例えば、性能がシャノン(Shannon)容量限界に近づくようなLDPC符号の長さは、例えば約10000ビットである。意図される光記憶の適用分野については、例えば0.90のレートのような高いレートの符号が必要とされる(例えば0.5のレートのような低いレートの符号についても本発明が有利であることは留意されたい)。このことは、(1-0.90)*10000=1000個のパリティ検査方程式があることを意味する。10000個の符号語記号は、本2部グラフの左側における多くのノードとして表されている。1000個のパリティ検査方程式は、本グラフの右側における多くのノードとして表されている。左側のノードと右側のノードとの間には、辺が配置されている。例えば左側のノードのそれぞれが3つの辺の終点である場合(J=3)、右側のノードのそれぞれは30個の辺の終点であり(K=30)、従って3×10,000=30×1000個の辺がある。このことは、ノードがパリティ検査ノードに接続されている30個の符号語記号の合計はゼロになる必要がある(モジュロ2)、即ち所定のパリティを持つ必要があることを意味する。各符号語記号は、3個の検査方程式に組み込まれる。より正確に言えば、符号語長(本例においては約10000)は、Gallager符号については、Kの倍数であるべきである。
かような2部グラフにおける復号化は、メッセージパッシングアルゴリズムを利用して為される。元となるLDPCメッセージパッシングアルゴリズムは、サムプロダクトアルゴリズムと呼ばれ、F. R. Kschischang、B. J. Frey及びH. A. Loeligerによる「Factor Graphs and the Sum-Product Algorithm」(「IEEE Trans. on Information Theory」Vol. IT-47、No.2、2001年2月[3])において記載されている。サムミニマム(sum-minimum)アルゴリズムは、サムプロダクトアルゴリズムの、簡略化された乗算の無い変形である。サムプロダクトアルゴリム又はサムミニマムアルゴリズムの標準的な実装は、以下のように行われる。確率情報を担持するメッセージは、符号語ノードからパリティ検査ノードへ、及びその逆にと、交互に本グラフの辺を流れる。
典型的な実装においては、例えば一番最近に出発したメッセージ全て(若しくは到着したメッセージ全て又は両方とも)がノードに保存される。左側のノードにおいては、このことは、10000個のノードのそれぞれに対する、それぞれが約1バイトのサイズを持つ少なくとも3つのメッセージの記憶容量要件に導く。右側のノードについては、このことは、1000個のノードのそれぞれに対する、少なくとも30個のメッセージの記憶容量要件へと導く。合わせて、30000個の2倍の数のメッセージが保存される。
LDPC復号化のアルゴリズム構造を説明する前に、サムプロダクト構造からサムミニマム構造への変換が以下に説明される。この種の変換は、ビタビ復号化器及びターボ復号化器のような、多くのエラー訂正の実装において利用される。当該変換は、確率の対数尤度比(LLR)表現を利用するが、他の表現が利用されても良い。一般に、バイナリのランダム型の値XのLLRは、以下のように定義される:
LLR=log(Pr{X=0}/Pr{X=1})
ここでPr{X=0}は、X=0である確率である。
Xについての情報が入手可能でなく、値0と1とが共に同様に確からしい場合、LLR=0である。一般に、XについてのLLR情報が入手可能であるほど、LLRの絶対値はよりゼロから逸脱する。LLRからXについての硬判定値を導出するために、LLRの符号を考慮する必要のみがある。LLR>0である場合、値X=0がより確からしい。LLR<0である場合、値X=1がより確からしい。それ故、簡略化された復号化アルゴリズム、即ちサムミニマムアルゴリズムにおいて実行される演算は、以下のようになる:
−(符号語記号ノードにおける)対数尤度の合計
−パリティ検査ノードにおける符号±1の乗算を用いた、対数尤度の絶対値の最小化(±1符号の乗算は、関係する硬判定ビット0/1の排他的ORをとることに対応する)
本発明の好適な実施例による復号化アルゴリズムは、かような確率の対数尤度比表現を利用する。従って該アルゴリズムは、チャネルを介して受信された入力対数尤度において線形に振舞う。実際には、これらの対数尤度は、等化器とも呼ばれるビット検出器によって生成されることができる。前記復号化アルゴリズムの入力対数尤度を定数αで乗算すると、どれだけの繰り返しの後であっても、全ての対数尤度が同一のαを用いて比率増加する。従って、当該αは前記対数尤度の符号に影響を与えず、それ故全ての繰り返しが実行された後にも、符号語ビットの硬判定値に影響を与えない。かような未知のαを用いたスケーリングは、入力対数尤度が前記チャネルの正しい又は不正な信号対ノイズ比で正規化される場合に発生する。サムプロダクトアルゴリズムは、何らかの形態で、対数尤度比を確率に変換し戻し、従って前記信号対ノイズ比の推定におけるエラーに敏感である。従って、前記信号対ノイズ比が本発明の復号化器アルゴリズムにおいて知られている必要がないという事実は、復号化結果が前記信号対ノイズ比の知識におけるエラーによる劣化を被り難いものとする。加えて、更に後に説明するように、サムプロダクト復号化アルゴリズムの代わりにサムミニマムアルゴリズムを利用することにより、メモリアーキテクチャも好ましい方向に大きく影響を受ける。
図1の2部グラフにおいて、符号語記号ノード及びパリティ検査ノード内部で種々の演算が利用される。符号語記号ノードにおいて、ランダム的な変数についての複数の独立した(仮定される独立性は近似であり、符号語の復号化の開始時においてのみ成り立ち、次第に正しくなくなる)情報源の合成されたLLRは、個々のLLRの和に等しい。パリティ検査ノードにおいては、複数の独立した(ここでも独立性は近似である)バイナリのランダム型の変数の排他的ORのLLRは、入力LLRの所謂ボックス関数である。所謂ボックス関数は、例えば前記参考文献[3]並びにJ. Hagenauer、E. Offer及びL. Papkeによる「Iterative decoding of binary block and convolutional codes Information Theory」(「IEEE Transaction on Information Theory」、Vol.42、No.2、429-445頁、1996年3月[4])に記載されている。符号語記号ノード及びパリティ検査ノードが共通して持つ原則は、特定の辺を通ってノードに流れる軟情報は、同一の辺を通って当該ノードから流れ出る軟情報に間違いなく寄与しないということである。
以下は、サムプロダクトアルゴリズムの疑似コードテキストである。該アルゴリズムは、全ての辺を通って全ての符号語ビットノードから全てのパリティ検査ノードへ、及びその逆方向に、交互に流れるLLRを用いて動作する。該アルゴリズムを起動するために、全てゼロのLLRがパリティ検査ノードによって送信され、符号語記号ノードによって受信されたと仮定する。ここで各符号語記号ノードについて、対応するチャネルLLRは当該ノードへの入力辺でもあることに留意されたい。
「以下を45回繰り返す」
「全ての符号語ビットノードについて、以下を繰り返す」
「各入力辺Aについて、以下を繰り返す」
「A以外の全ての入力LLRを合計する」
「Aを通して結果を返送する」
「次の辺に繰り返し」
「次の符号語ビットノードに繰り返し」
「全てのパリティ検査ノードについて、以下を繰り返す」
「各入力辺について、以下を繰り返す」
「A以外の全ての入力LLRのボックス関数をとる」
「Aを通して結果を返送する」
「次の辺に繰り返し」
「次のパリティ検査ノードに繰り返し」
「次の繰り返し」
本アルゴリズムの軟出力符号語記号は、符号語ビットノードにおける全ての入力LLR(チャネルLLRに加え、パリティ検査ノードから入力辺)の合計に等しい。サムプロダクトLDPC復号化アルゴリズムの最初の研究は、ロードバランシング(load balancing)の後においても、過度の量の乗算が実行される必要があることを示している。共通の部分表現の最小化はこの数をおおよそ半分にできるが、それでもまだ不十分である。
サムプロダクトアルゴリズムにおいては、特定の所謂ボックス関数の多数のテーブル検索を行うための選択を持つ。代替として、パリティ検査ノードにおける尤度の確率差表現を利用し、多くの固定小数点乗算を実行することができる。最小化演算は、ハードウェア的に比較的安価である。一方、乗算を実行すること又は多くの固定小数点から固定小数点へのテーブル検索を実行することは、より多くのチップエリアを必要とし、より低速である。
例えばNJ/K=1000個のパリティ検査ノードを持つ(N=10000、J=3)サムミニマムアルゴリズムを用いると、受信された符号語毎に例えば45回に上る繰り返しについて、検査ノード毎にK=30個の入力項の最小値及び2番目に小さい値をとる必要がある。このことは、単一のチップにおいて実現可能となるが、多くの乗算を実行する必要がある場合には当てはまらない。サムミニマムアルゴリズムにおいては、1つのパリティ検索ノード演算は以下のようになる。接続されたパリティ検索ノードk=0、1、・・・、K−1のそれぞれについて、
−k番目のものを除く、接続された符号語記号ノードによって出力された全ての硬ビットの排他的ORを計算する。
−k番目のものを除く、パリティ検査ノードが接続された、符号語ビットノードの対数尤度比のK個の絶対値全ての最小値を計算する。
K個の排他的なOR結果を計算するための(ハードウェア的に)安価な方法は、K個の入力ビット全ての排他的ORを計算することである。ここで、1つを除く、K個の入力ビット全ての排他的ORは、上述した全体の排他的ORをとり、除外されるべき入力ビットと排他的ORをとることにより得られる。
パリティ検査ノード演算の間に計算される必要のあるK個の最小値に対して、及び特定の辺を通ってノードに流入する軟情報が同一の辺によって当該ノードから流れ出る軟情報に寄与しないという上述の原則によって、本発明は以下を考慮に入れる。パリティ検査ノードへのk番目の入力を考え、当該入力の対数尤度の絶対値は、かようなK個の入力全ての最小値ではないことを仮定する。このとき、k番目のものを除くK個全ての入力の最小値は、K個の値の全体の最小値に等しい。k番目の対数尤度比が、K個全ての入力の絶対最小値を持つ場合、k番目のものを除くK個の入力の最小値は、2番目に小さい値に等しい。
例として、所定の繰り返しにおいて、所定の右側のノードの30個の入力信頼度が、以下の表1の入力シーケンスであると仮定する。
Figure 2006508577
最初に第1のものが省略され、次いで第2のもの、次いで第3のもの、等のように、1つを除いた全ての入力信頼度の最小値は、以下の表2の出力シーケンスに帰着する。
Figure 2006508577
前記出力シーケンスは、2つの異なる値のみを持つことに留意されたい。一方の値は全体の最小値であり、1つを除く全ての位置における出力結果に対応する。他方の値は全体の2番目に小さい値であり、インデクスは前記入力シーケンスにおける前記全体の最小値の位置に対応する。かくして、パリティ検査ノードにおいて、k番目のもの(k=0、1、・・・K−1)を除くK個の値の最小値のシーケンスが、3つの数:
−全体の最小値、
−全体の2番目に小さい値、及び
−最小入力値が出現するインデクスk
のみを利用して保存されることができる。
復号化器におけるメモリスペースを節約するために上述の所見を利用して、本発明によるメッセージパッシングアルゴリズムが、以下のように要約されることができる。最初に、同一のパリティ検査方程式により検査される符号語記号のセットに関連する入力信頼度値の入力シーケンスから最小値が決定される。次いで本方法は、以下の繰り返しのサブステップを有する、所謂ランニングミニマムループを実行する。
−入力信頼度値の入力シーケンスから信頼度値を読み取る、
−前記信頼度値を保存された値と比較する、
−前記信頼度値が前記保存された値よりも小さい場合は、前記保存された値を前記信頼度値で上書きする。
かような所謂ランニングミニマムステップを利用することは、表2に対応する全ての比較の結果を保存することを回避する。その代わりに、ランニングの最小値が入力シーケンスの入力信頼度値が読み取られたときに更新され、メモリスペースを節約することを可能とする。実際には、ランニングミニマムステップを開始する際、最初に保存された値は予め保存された基準値であっても良く、当該基準値の値は適切に選択されたものであり、入力シーケンスから読み取られた値を用いて更新される。以降のループにおいては、前記保存された値は、入力シーケンスから上書きされた、入力シーケンスから他の信頼度値が読み取られたときに更新されるべき最初に保存された値よりも小さな信頼度値となり得る。上述のランニングミニマムステップは信頼度の入力シーケンスの全体のランニングの最小値に関連するという事実にかかわらず、全体の最小値及び2番目に小さい値の両方を決定するためにも同様の方法が利用されることができる。この場合には、ランニングミニマムステップは、以下の反復するサブステップを有する:
−入力信頼度値の入力シーケンスから信頼度値を読み取る、
−前記信頼度値を、第1及び第2の保存された値と比較する、
−前記信頼度値が前記第1及び第2の保存された値より小さい場合には、前記第1の保存された値を前記信頼度値で上書きする、
−前記信頼度値が前記第2の保存された値よりも小さく且つ前記第1の保存された値よりも大きい場合には、前記第2の保存された値を前記信頼度値で上書きする。
図1に関して以下に説明される例においては、符号語記号に関連する各入力信頼値は、前記符号語記号に対して実行されたパリティ検査から導出されることに留意されたい。
メッセージパッシングアルゴリズムが、各パリティ検査方程式について、入力信頼度の入力シーケンスから出力信頼度の出力シーケンスを計算するステップを有し、出力シーケンスの各出力信頼度が、前記入力シーケンスにおける同一のインデクスを持つ1つを除く全ての入力信頼度の最小値に等しい特定の場合においては、前記最小値は前記ランニングミニマムステップを用いて決定されることができる。この特定の場合においては、本発明は通常各記号ノードに3つのみの値、即ち全体の最小値、全体の2番目に小さい値、及び入力シーケンスにおける全体の最小値のインデクスを保存するように導く。なぜなら、全体の最小値のインデクスを持つものを除く出力シーケンスにおける全ての結果は全体の最小値に等しく、全体の最小値のインデクスを持つ結果は2番目に小さな値に等しいからである。
以上に要約された本発明を実装するために、以下の注記が為される。入力信頼度値の入力シーケンスは通常、供給源から受信された前記符号語記号から生成される。前記供給源は例えば、伝送チャネル又は記録チャネルであっても良い。既に説明したように、入力信頼度値は、前記符号語記号の対数尤度比の絶対値から、又は前記符号語記号の確率の他の表現から導出されても良い。同一のパリティ検査方程式によって検査されるセット中の全ての符号語記号の合計は、所定のパリティを持つ。
上述したメッセージパッシングアルゴリズムの振舞は、図1を用いて説明される。情報(例えば受信されたメッセージ又は受信されたメッセージから導出される情報)は、全てのノードに保存される。交互に、メッセージは左から右へと全ての辺を渡って流れ(前半の繰り返し)、次いで右から左へと全ての辺を渡って流れる(後半の繰り返し)。本図においては、情報が符号語ビットノードとパリティ検査ノードとの両方に保存されるという事実は、本グラフの2つの交差(点線)を用いて示されている。符号語ビットノードは左側にある。パリティ検査ノードは右側にある。実際には、レートR=0.9、J=3の符号については、各符号語記号ノードはJ=3個の接続された辺を持ち、各パリティ検査ノードはK=J/(1−R)=30個の接続された辺を持つ。LDPCグラフにおけるメッセージパッシングの既定の方法は、最初に符号語ビットノードに保存された情報を利用し、本グラフの右側へと流れる出力メッセージを計算することである。次いで、パリティ検査ノードに保存された情報(メッセージ)を利用し、本グラフの左側へと流れるメッセージを計算する。
30個の値全てを保存するのではなく、最小値、2番目に小さな値、及びインデクスのみを保存することを可能とする本発明を利用するため、入力されるメッセージはパリティ検査ノードにおいて処理されるべきであり、準備された出力メッセージが保存されるべきである。このため、既に述べたように、パリティ検査ノードにつき3つの値(及び幾つかのビット)だけが保存される必要がある。前記準備された出力メッセージが符号語記号ノードにも保存される場合には、符号語ノードにつきJ=3個の数が保存されるべきである。パリティ符号ノードよりも1/(1−R)=10倍多い符号語記号ノードがあるという事実、及び各ノードについて同様の量のデータが保存されるという事実は、記憶容量要件が符号語記号ノードによって支配されることを明らかとする。
図2は、本発明の好適な(より最適な)実施例による2部グラフを示す。本実施例においては、左側のノードに関するメッセージ情報及び右側のノードに関するメッセージ情報は、左側のノード情報から新たな右側のノード情報を、及びその逆を連続的に計算するために保存されない。その代わりに、パリティ検査ノードの出力メッセージ情報が2度保存される。1つは古い(現在の)情報のシーケンスであり、もう1つは(古いシーケンスからの)計算の処理中の新たな情報のシーケンスである。本例の場合は、パリティ検査ノードの古い出力メッセージ情報と、同一の情報の新たなシーケンスとが保存される。前記計算は以下のように要約される:
−左側のノードに接続された右側のノードにおける「現在の」値から開始する、
−最小値、2番目に小さい値及びインデクスから右側のノードの出力メッセージを抽出し、該情報を所定の左側のノード(又は幾つかの左側のノード)に送る、
−左側のノードの処理を実行する、
−(J=3個の)右側のノードの「新たな」値における左側のノードから入力される左側のノードの出力メッセージに即座に戻り組み込む。該右側のノードにおいて、ランニングの最小値及びランニングの2番目に小さな値が保持される。
以前に説明した最適でない実施例においては、符号語記号ノードについての記憶容量要件は、パリティ符号ノードの記憶容量要件よりも約10(=K/3)倍大きかった。ここでは全ての保存が本グラフの右側(パリティ検査ノード)へと移動されたため、およそ10のファクターの記憶容量要件の削減が得られる。
記号ノードとパリティ検査ノードとの両方においてメモリスペースの節約を可能とするランニングミニマムアルゴリズムが、上述した数量的な例に関して、ここでより詳細に説明される。約10000個の符号語記号のそれぞれについて、1つの軟チャネル出力(LLR)、即ち8ビットの固定小数点が保存される必要があり、これにより記憶容量要件は80kbitとなる。パリティ検査ノードのメモリには2つの部分がある。一方の部分は、繰り返しの全ての入力値のためのものであり、もう一方の部分は、繰り返しの全ての出力値のためのものである。入力メモリ部と出力メモリ部は、1つの繰り返しの後に交換され、それにより前に出力だったものが入力データになる。
1000個のパリティ検査ノードのそれぞれについて、以下のものの2つのコピーを持つ:
−M(絶対対数尤度入力のランニングの最小値を示す(固定小数点))、
−MM(絶対対数尤度入力のランニングの2番目に小さい値を示す(固定小数点))、
−I(K=30個のうち絶対対数尤度入力が最小となるインデクス(辺番号)を示す)、
−T(K=30個の硬ビット入力全体の1ビット排他的ORを示す)、
−S[30](検査ノードへのK=30個の入力の符号ビットを示す)。
これにより全体で、約1000×2×(8+8+5+1+30)bit=100kbitとなる。LDPC復号化器当たりの全体のRAM記憶容量要件は、約80kbit+100kbit=180kbitとなる。最初に、入力パリティ検査ノードのメモリ部において、全ての(M,MM,I,T,S)を(0,0,X,X,X[30])によって置き換える。ここで「X」は、「無視せよ」を意味する。以下は、所謂ランニングミニマムアルゴリズムの疑似コードテキストである。
「以下を45回繰り返す」
出力パリティ検査ノードメモリ部において、以下を設定
(M,MM,I,T,S)=(MAX,MAX,X,0,X[30])
ここでMAXは、利用される固定小数点表現での最大値を示す。
「全ての符号語ビットノードについて、以下を繰り返す」
符号語記号ノードのJ=3個の入力をフェッチする。J=3個の入力枝のそれぞれは、定数のラベル(1、・・・、30=K)を持ち、該ラベルはパリティ検査ノードにおいて何番目の辺であるかを示す。J=3個の入力枝のそれぞれについて、右側のノードのIフィールドが辺の定数のラベルに等しい場合、入力パリティ検査ノードのメモリ語から2番目に小さい値MMをフェッチする。そうでない場合は最小値Mをフェッチする。M及びMMは、負でない信頼度(LLRの絶対値)である。フェッチされた信頼度に、
T+S[辺のラベル]mod2
に等しい符号ビットを与える(このようにして、1つを除く30個の硬ビット全ての排他的ORを得る)。J=3個の符号付きのフェッチされた数(これらの数は符号語ビットノードへの入力メッセージである)を合計し、当該左側のノード用に保存されたチャネル入力を加算する。この合計から、J=3個の辺のそれぞれについて、当該辺についての入力メッセージとしてフェッチされた数を減算する。このようにして、J=3個の部分和を得る。これらは、パリティ検査ノードに送信されるJ=3個の出力である。J=3個の出力を、対応する出力パリティ検査ノードに返送する。考慮されている左側のノードのJ=3個の辺のそれぞれについて、出力メッセージの絶対値がMよりも小さいか否かがチェックされる。そうであれば、MMはMによって置き換えられ、Mは前記符号語ビットノードの関係する出力メッセージによって置き換えられ、インデクスIは当該辺の定数のラベルによって置き換えられる。そうでなければ、前記出力の絶対値が2番目に小さい値MMよりも小さいか否かがチェックされる。そうであればMMを前記符号語ビットノードの出力メッセージの絶対値によって置き換える。Tビットを、Tビットと、関係する出力メッセージの硬決定ビットとの排他的ORで置き換える。
「次の符号語ビットノードに繰り返し」
入力及び出力パリティ検査ノードのメモリ部を交換する。次の繰り返しを実行する。
「次の繰り返し」
何らかの停止条件が満たされると、レディ状態になる。停止条件の例は、例えばメッセージ又は符号語に対する巡回冗長検査CRCを含むことであっても良く、CRC検査が正であれば停止しても良い。又は、全ての繰り返しで計算される復号化された記号のうち、前の繰り返しに対して変化していないものが無い場合に停止しても良い。
上述されたメッセージパッシングアルゴリズムは、本復号化方法を実行するためのコンピュータプログラムを利用した、例えば光読み取り器のような受信器において実装されても良い。
図3は、本発明による光システムの例を示す。該システムは、データ供給源及び受信器を有する。前記データ供給源は、例えば光ディスクのような記憶媒体31であり、該媒体にディジタル符号化されたデータが保存される。前記受信器は、光ディスクに保存された符号化されたデータを読み取り復号化するための光読み取り器である。前記読み取り器は、図1又は図2を参照して説明された復号化方法を実装するデコーダ33と、復号化の前に前記符号化されたデータを読み取るための光読み取り手段34とを有する。前記復号化されたデータは次いで、処理のために前記受信器の出力部35に誘導される。
本発明は、符号語記号が例えば整数モジュロq(q>2)の場合、又はより一般的に、環(ring)と呼ばれる数学的なオブジェクトの要素若しくはガロアフィールドの要素のように、バイナリでない場合にも同様に適用可能である。
LDPC復号化器は、ターボ復調方式の一部であっても良い。ここでは、ビット検出器及びLDPC復号化器の単純な連結は無く、ビット検出器の繰り返し及びLDPCタイプの繰り返しが1つの大きなループに結び付けられる。
以上の図及び図の説明は、本発明を限定するものではなく説明するものである。添付する請求項の範囲内である多くの代替例があることは明らかであろう。この点に関し、最後に以下の注記が為される。
ハードウェア若しくはソフトウェア又はこれらの両方のアイテムによって機能を実装する多くの方法がある。この点に関し、前記図は非常に概略的なものであり、それぞれは本発明の1つのとり得る実施例を表すにすぎない。従って、図が異なる機能を異なるブロックとして示しているとしても、このことは決して、ハードウェア又はソフトウェアの単一のアイテムが幾つかの機能を実行することを除外するものではない。このことはまた、ハードウェア若しくはソフトウェア又はこれらの両方のアイテムの集合が1つの機能を実行することを除外するものでもない。
[1]乃至[4]で示した以下の参考文献は、ここで参照によって本明細書に組み込まれたものとする:
[1]Marc P. C. Fossorier による論文「Reduced Complexity Iterative Decoding of
Low-Density Parity Check Codes Based on Belief Propagation」(「IEEE Transactions on Communications」Vol.47、No.5、1999年5月)、
[2]R. G. Gallagerによる「Low density parity check codes」(「IRE Transaction
on Information Theory IT-8」、21-28頁、1962年)、
[3]F. R. Kschischang、B. J. Frey及びH. A. Loeligerによる「Factor Graphs and the Sum-Product Algorithm」(「IEEE Trans. on Information Theory」Vol. IT-47、No.2、2001年2月)、
[4]J. Hagenauer、E. Offer及びL. Papkeによる「Iterative decoding of binary block and convolutional codes Information Theory」(「IEEE Transaction on Information Theory」、Vol.42、No.2、429-445頁、1996年3月)。
本発明の第1の実施例によるLDPC符号を復号化する方法の例を説明する概念図である。 本発明の第1の実施例によるLDPC符号を復号化する方法の例を説明する概念図である。 本発明による受信器を有するシステムの例を説明する模式的なブロック図である。

Claims (13)

  1. 低密度パリティ検査符号を用いて符号化された符号語記号から軟判定出力を出力するための復号化方法であって、前記符号は、幾つかのパリティ検査方程式によって検査される幾つかの符号語記号を有し、各前記パリティ検査方程式は、限られた数の前記符号語記号を検査し、各前記符号語記号は、限られた数の前記パリティ検査方程式によって検査され、前記方法は、同一の前記パリティ検査方程式によって検査される前記符号語記号のセットに関連する入力信頼度値の入力シーケンスから最小値を決定するランニングミニマムステップを有し、前記ランニングミニマムステップは、以下の反復するサブステップ:
    前記入力信頼度値の入力シーケンスから信頼度値を読み取るサブステップと、
    前記信頼度値を保存された値と比較するサブステップと、
    前記信頼度値が前記保存された値よりも小さい場合には、前記保存された値を前記信頼度値で上書きするサブステップと、
    を有する復号化方法。
  2. 低密度パリティ検査符号を用いて符号化された符号語記号から軟判定出力を出力するための復号化方法であって、前記符号は、幾つかのパリティ検査方程式によって検査される幾つかの符号語記号を有し、各前記パリティ検査方程式は、限られた数の前記符号語記号を検査し、各前記符号語記号は、限られた数の前記パリティ検査方程式によって検査され、前記方法は、同一の前記パリティ検査方程式によって検査される前記符号語記号のセットに関連する入力信頼度値の入力シーケンスから最小値を決定するランニングミニマムステップを有し、前記ランニングミニマムステップは、以下の反復するサブステップ:
    前記入力信頼度値の入力シーケンスから信頼度値を読み取るサブステップと、
    前記信頼度値を、第1及び第2の保存された値と比較するサブステップと、
    前記信頼度値が前記第1及び第2の保存された値よりも小さい場合には、前記第1の保存された値を前記信頼度値で上書きするサブステップと、
    前記信頼度値が前記第2の保存された値よりも小さく且つ前記第1の保存された値よりも大きい場合には、前記第2の保存された値を前記信頼度値で上書きするサブステップと、
    を有する復号化方法。
  3. 前記最小値を決定するステップは、少なくとも1つの基準値を保存する予備ステップを含む、請求項1に記載の復号化方法。
  4. 前記入力信頼度値の入力シーケンスは、伝送チャネル又は記録チャネルから受信された前記符号語記号から生成される、請求項1に記載の復号化方法。
  5. 前記入力信頼度値は、前記チャネルから受信される符号語記号の対数尤度比の絶対値から導出される、請求項4に記載の復号化方法。
  6. 各前記パリティ検査方程式について、前記入力信頼度の入力シーケンスから出力信頼度の出力シーケンスを計算するステップを有し、前記出力シーケンスの各前記出力信頼度は、前記入力シーケンスにおける同一のインデクスを持つ1つを除く全ての入力信頼度の最小値に等しく、前記最小値は前記ランニングミニマムステップを用いて決定される、請求項1に記載の復号化方法。
  7. 低密度パリティ検査符号を用いて符号化された符号語記号をチャネル媒体から受信する受信器であって、請求項1乃至6のいずれか一項に記載の方法を実行するための復号化器を有する受信器。
  8. 記録システムにおける使用のための、請求項7に記載の受信器。
  9. 請求項1乃至6のいずれか一項に記載の方法により処理されるべき符号語記号を保存する記憶媒体。
  10. 低密度パリティ検査符号を用いて符号化された符号語記号をチャネル媒体によって配信するための供給源と、前記チャネル媒体から前記符号語記号を受信するための受信器とを有するシステムであって、前記受信器は請求項7に記載のものであるシステム。
  11. 命令のセットを計算する受信器のためのコンピュータプログラムであって、前記命令は、前記受信器にロードされたときに、請求項1乃至6のいずれか一項に記載の方法を前記受信器に実行させるコンピュータプログラム。
  12. コンピュータプログラムを担持するための信号であって、前記コンピュータプログラムは、請求項1乃至6のいずれか一項に記載の方法を実行するように構成される信号。
  13. 請求項11に記載のコンピュータプログラムをダウンロードすることを可能とすること。
JP2004554786A 2002-11-27 2003-11-14 ランニングミニマム・メッセージパッシングldpc復号化 Ceased JP2006508577A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02292938 2002-11-27
PCT/IB2003/005162 WO2004049578A1 (en) 2002-11-27 2003-11-14 Running minimum message passing ldpc decoding

Publications (2)

Publication Number Publication Date
JP2006508577A true JP2006508577A (ja) 2006-03-09
JP2006508577A5 JP2006508577A5 (ja) 2007-01-11

Family

ID=32338192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004554786A Ceased JP2006508577A (ja) 2002-11-27 2003-11-14 ランニングミニマム・メッセージパッシングldpc復号化

Country Status (7)

Country Link
US (1) US7219288B2 (ja)
EP (1) EP1568140A1 (ja)
JP (1) JP2006508577A (ja)
KR (1) KR20050083974A (ja)
AU (1) AU2003278536A1 (ja)
TW (1) TW200501591A (ja)
WO (1) WO2004049578A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154298A (ja) * 2007-07-31 2008-07-03 National Chiao Tung Univ 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路
JP2009159037A (ja) * 2007-12-25 2009-07-16 Sumitomo Electric Ind Ltd 受信装置
US7603607B2 (en) 2004-03-22 2009-10-13 Sumitomo Electric Industries, Ltd. Decoding unit and preprocessing unit implemented according to low density parity check code system

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
KR100995042B1 (ko) * 2004-07-23 2010-11-22 엘지전자 주식회사 디지털 방송 수신기 및 그의 긴급 경고 메시지 처리 방법
JP2006060695A (ja) * 2004-08-23 2006-03-02 Science Univ Of Tokyo 情報復号方法、情報符号化方法、情報通信方法、情報復号装置、送信装置及び情報通信システム
JP4551740B2 (ja) * 2004-11-08 2010-09-29 株式会社東芝 低密度パリティチェック符号復号器及び方法
US20120148811A1 (en) * 2004-12-13 2012-06-14 Do Choon Rha Artificial stone and method of preparing the same
TWI291290B (en) * 2005-04-21 2007-12-11 Univ Nat Chiao Tung Method for updating check-node of low-density parity-check (LDPC) codes decoder and device using the same
WO2006120844A1 (ja) * 2005-05-13 2006-11-16 Nec Corporation Ldpc符号化方式によるエンコーダ及びデコーダ
JP4627317B2 (ja) * 2005-07-13 2011-02-09 三菱電機株式会社 通信装置および復号方法
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US8086940B2 (en) * 2008-04-28 2011-12-27 Newport Media, Inc. Iterative decoding between turbo and RS decoders for improving bit error rate and packet error rate
US8352826B2 (en) * 2008-08-05 2013-01-08 Seagate Technology Llc System for providing running digital sum control in a precoded bit stream
EP2181504A4 (en) * 2008-08-15 2010-07-28 Lsi Corp DECODING LIST OF CODED WORDS CLOSE IN A ROM MEMORY
US20100169735A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Low density parity check code row update instruction
EP2307960B1 (en) * 2009-04-21 2018-01-10 Avago Technologies General IP (Singapore) Pte. Ltd. Error-floor mitigation of codes using write verification
US8418019B2 (en) * 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
EP2614594A1 (en) * 2010-09-08 2013-07-17 Agence Spatiale Européenne Flexible channel decoder.
US8656244B1 (en) 2010-10-29 2014-02-18 Massachusetts Institute Of Technology Rate adaptive nonbinary LDPC codes with low encoding complexity
EP2686808B1 (en) * 2011-03-14 2015-09-16 CentraleSupélec Method and device for efficient parallel message computation for map inference
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
CN111510161B (zh) * 2020-05-14 2023-01-13 中国科学院微电子研究所 Ldpc码与crc结合的并行校验译码方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757821A (en) * 1996-07-22 1998-05-26 Telefonaktiebolaget Lm Ericsson Method and apparatus for detecting communication signals having unequal error protection
US6421804B1 (en) * 1999-12-20 2002-07-16 Agere Systems Guardian Corp. Generating reliability values for iterative decoding of block codes
WO2002035820A2 (de) * 2000-10-24 2002-05-02 Infineon Technologies Ag Verfahren und vorrichtung zum dekodieren einer folge physikalischer signale, zuverlässigkeitswert-ermittlungseinheit und viterbi-dekodiereinheit
US6857097B2 (en) * 2001-05-16 2005-02-15 Mitsubishi Electric Research Laboratories, Inc. Evaluating and optimizing error-correcting codes using a renormalization group transformation
JP4191393B2 (ja) * 2001-06-11 2008-12-03 富士通株式会社 情報記録再生装置及び方法並びに信号復号回路
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
US7020829B2 (en) * 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603607B2 (en) 2004-03-22 2009-10-13 Sumitomo Electric Industries, Ltd. Decoding unit and preprocessing unit implemented according to low density parity check code system
JP2008154298A (ja) * 2007-07-31 2008-07-03 National Chiao Tung Univ 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路
JP2009159037A (ja) * 2007-12-25 2009-07-16 Sumitomo Electric Ind Ltd 受信装置

Also Published As

Publication number Publication date
US20060156167A1 (en) 2006-07-13
KR20050083974A (ko) 2005-08-26
US7219288B2 (en) 2007-05-15
TW200501591A (en) 2005-01-01
EP1568140A1 (en) 2005-08-31
AU2003278536A1 (en) 2004-06-18
WO2004049578A1 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
US7219288B2 (en) Running minimum message passing LDPC decoding
KR100958234B1 (ko) 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들
US8566666B2 (en) Min-sum based non-binary LDPC decoder
EP2573943B1 (en) Power-optimized decoding of linear codes
US20080263425A1 (en) Turbo LDPC Decoding
US8650451B2 (en) Stochastic stream decoding of binary LDPC codes
JP2014099944A (ja) ハードウェア共用および直列和積アーキテクチャを用いる低密度パリティ検査復号の方法および装置
US20090276682A1 (en) Turbo ldpc decoding
US8201049B2 (en) Low density parity check (LDPC) decoder
KR101657912B1 (ko) 비이진 저밀도 패리티 검사 코드의 복호화 방법
US20020002695A1 (en) Method and system for decoding
Sarkis et al. Reduced-latency stochastic decoding of LDPC codes over GF (q)
Sarkis et al. Unrolled polar decoders, part ii: Fast list decoders
Doan et al. Successive-cancellation decoding of Reed-Muller codes with fast Hadamard transform
WO2007116339A1 (en) Iterative soft decoding of constrained code words
Mobini New interative decoding algorithms for low-density parity-check (LDPC) codes
US20240120949A1 (en) Decoding fec codewords using ldpc codes defined by a parity check matrix which is defined by rpc and qc constraints
Zheng et al. BP list decoding of polar codes with adaptive bit splitting over critical set
CN114268325A (zh) 使用索引消息进行ldpc解码的方法和设备
Hashemipour-Nazari et al. Pipelined Architecture for Soft-Decision Iterative Projection Aggregation Decoding for RM Codes
Kan et al. Hardware implementation of soft-decision decoding for Reed-Solomon code
Geiselhart et al. Iterative Reed–Muller Decoding
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법
Divyavani et al. Design of Approximate Polar Maximum-Likelihood Decoder
Al Ghouwayel et al. Compression of LLR messages of an Elementary Check Node processor of a Non-Binary LDPC decoder

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090514

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20090917