JP5132758B2 - 誤り訂正復号器及び記憶装置 - Google Patents

誤り訂正復号器及び記憶装置 Download PDF

Info

Publication number
JP5132758B2
JP5132758B2 JP2010276646A JP2010276646A JP5132758B2 JP 5132758 B2 JP5132758 B2 JP 5132758B2 JP 2010276646 A JP2010276646 A JP 2010276646A JP 2010276646 A JP2010276646 A JP 2010276646A JP 5132758 B2 JP5132758 B2 JP 5132758B2
Authority
JP
Japan
Prior art keywords
unit
parity
inverted
node
likelihood
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
JP2010276646A
Other languages
English (en)
Other versions
JP2012129591A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010276646A priority Critical patent/JP5132758B2/ja
Priority to US13/225,759 priority patent/US8645802B2/en
Publication of JP2012129591A publication Critical patent/JP2012129591A/ja
Application granted granted Critical
Publication of JP5132758B2 publication Critical patent/JP5132758B2/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/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/1142Decoding using trapping sets
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/458Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result

Landscapes

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

Description

実施形態は、低密度パリティ検査(LDPC;Low Density Parity Check)符号を用いた誤り訂正に関する。
情報を送信する場合、情報を記録する場合などに、情報に誤り訂正符号が付加されることがある。誤り訂正符号が付加された情報は、受信機、メモリコントローラなどに組み込まれた誤り訂正復号器によって復号される。誤り訂正符号を利用することにより、受信された情報、読み出された情報などにある程度のビット誤りが含まれていても、ビット誤りを訂正して正しい情報を復元できる。
誤り訂正符号の一種としてLDPC符号が知られている。LDPC符号は、優れた誤り訂正能力を持つ。一方、LDPC符号に関して、復号前ビット誤り率がある程度低い領域において復号誤り率が殆ど低減しなくなるエラーフロアと呼ばれる現象が知られている。エラーフロアは、LDPC符号の繰り返し復号の過程において、この繰り返し復号が適切に機能しなくなるTrapping Setと呼ばれるエラーイベントに起因して起こる。エラーフロア領域における復号誤り率を低減させることにより、LDPC符号は更に優れた誤り訂正能力を発揮できる。
Jingyu Kang; Li Zhang; Zhi Ding; Shu Lin "A Two-Stage Iterative Decoding of LDPC Codes for Lowering Error Floors" Global Telecommunications Conference, 2008. IEEE, pp.1-4
実施形態は、LDPC符号の誤り訂正能力を向上させることを目的とする。
実施形態によれば、誤り訂正復号器は、LDPC符号に基づく符号データに対して繰り返し復号を実施する。誤り訂正復号器は、生成部と、反転制御部と、行処理部と、パリティ検査部と、増幅制御部と、列処理部とを含む。生成部は、繰り返し復号の実施回数が所定数に達しても符号語が得られない場合に、パリティを満たさないチェックノードに繋がっている変数ノードを列挙した反転ノードリストを生成する。反転制御部は、反転ノードリストに列挙された変数ノードの中から反転対象の変数ノードを選択し、反転対象の変数ノードの事後尤度の正負を反転することによって反転対象の変数ノードの入力尤度を一時的に更新する反転処理を行う。行処理部は、反転処理の実施後に、各入力尤度及び各事前尤度に基づいて各外部値を繰り返し生成する。パリティ検査部は、各入力尤度及び各外部値に基づいて一時推定語を生成し、一時推定語にパリティ検査を行い、全てのチェックノードがパリティを満たす場合に一時推定語を符号語と判定する。増幅制御部は、一時推定語について少なくとも1つのチェックノードがパリティを満たさない場合に、パリティを満たさないチェックノードから変数ノードへの外部値の絶対値を増幅する増幅処理を行う。列処理部は、増幅処理の実施後に、各外部値に基づいて各事前尤度を更新する。
第1の実施形態に係る誤り訂正復号器を例示するブロック図。 図1のLDPC復号部を例示するブロック図。 検査行列の説明図。 図3の検査行列のタナ−グラフ。 パリティ検査結果の説明図。 図1の後処理部を例示するブロック図。 図1の誤り訂正復号器の動作を例示するフローチャート。 図2のLDPC復号部の動作を例示するフローチャート。 図6の後処理部の動作を例示するフローチャート。 繰り返し中止条件の説明図。 第2の実施形態に係る記憶装置を例示するブロック図。 第3の実施形態に係る受信機を例示するブロック図。
以下、図面を参照して、実施形態について説明する。
(第1の実施形態)
第1の実施形態に係る誤り訂正復号器は、図1に示されるように、LDPC復号部110、後処理判定部120、反転ノードリスト生成部130及び後処理部140を含む。
LDPC復号部110は、前段の信号処理部(図示しない)によって得られた符号データ(例えば、データフレーム)の尤度Fnを入力する。LDPC復号部110は、いわゆるメッセージパッシング復号アルゴリズム(例えば、Sum−ProductアルゴリズムまたはMin−Sumアルゴリズム復号法など)に基づいて、符号データの繰り返し復号を実施する。
LDPC復号部110は、繰り返し復号の過程において符号データの復号に成功した場合(即ち、全てのチェックノードがパリティを満たす場合)には、復号結果(即ち、符号語)を外部(例えば、後段の信号処理部)に出力し、復号は終了する。一方、LDPC復号部110は、復号に失敗した場合(具体的には、復号を所定の最大繰り返し回数だけ実施しても符号語が得られない場合)に、パリティを満たさないチェックノードの数を示す情報を後処理判定部120に与える。また、LDPC復号部110は、復号に失敗した場合(或いは、後処理判定部120が後処理の実施を判定した場合)に、パリティを満たさないチェックノードを識別する情報(例えば、インデックス)と、LDPC検査行列(以降の説明では、単に検査行列と称される)の情報と、各変数ノードの事後尤度の正負を示す情報とを反転ノードリスト生成部130に与える。
LDPC復号部110は、図2に示されるように、入力尤度保持部111、行処理部112、列処理部113、パリティ検査部114及び検査行列保持部115を含む。
入力尤度保持部111は、前段の信号処理部によって得られた符号データの尤度Fnを入力する。入力尤度保持部111は、符号データに対するLDPC復号部110の繰り返し復号が完了するまで、入力尤度Fnを保持する。この符号データは、検査行列保持部115が保持する検査行列によって定義されるLDPC符号である。即ち、この符号データは、いわゆる組織符号であり、データビットとパリティビットとで構成される。
一例として、4つのデータビットC1,・・・,C4と、8つのパリティビットC5,・・・,C12とで構成される符号データを仮定する。このとき、入力尤度保持部111は、各ビットC1,・・・,C12に対応する入力尤度F1,・・・,F12を保持する。これら入力尤度F1,・・・,F12は、行処理部112及びパリティ検査部114によって必要に応じて読み出される。
ここで、尤度とは、下記の数式(1)に示されるように、データビットが「1」である確率P(x=1)に対するデータビットが「0」である確率P(x=0)の比の対数値(自然対数)である。また、以降の説明において、事前尤度とは事前確率の尤度を意味し、事後尤度とは事後確率の尤度を意味する。
Figure 0005132758
検査行列保持部115は、M行N列の検査行列Hの情報を予め保持している。検査行列Hは、符号化側と復号化側との間で共通である。検査行列H(の情報)は、行処理部112、列処理部113及びパリティ検査部114によって必要に応じて読み出される。
一例として、M=8、N=12の場合の検査行列Hを図3に示す。図3の8行12列の検査行列Hによって定義される符号データの符号長は12ビットであり、この符号データのパリティ長は8ビットである。検査行列Hの第m行に含まれる「1」の数は第m(1以上M以下の整数)行の行重みと呼ばれる。また、検査行列Hの第n(1以上N以下の整数)列に含まれる「1」の数は第n列の列重みと呼ばれる。尚、非正則LDPC符号は、その検査行列Hの行重み及び列重みが非一様である。本実施形態は正則LDPC符号及び非正則LDPC符号のいずれにも適用可能である。
更に、以降の説明では、第m行目に含まれる「1」の列位置を示す列インデックスの集合はA(m)、第n列目に含まれる「1」の行位置を示す行インデックスの集合はB(n)と呼ばれる。図3の例であれば、A(2)={3,5,9}、B(3)={2,7}である。LDPC符号の検査行列Hは、行列のサイズに対して「1」の総数が非常に少ない(「1」の密度が低い)ので、行列中の「1」の位置情報のみで検査行列Hの情報を表現することにより検査行列Hの情報量を節約できる。即ち、検査行列保持部115の回路規模を抑えることができる。
図3の検査行列Hは、図4に示されるように、タナ−グラフによって表現することもできる。タナ−グラフは、2種類のノードグループで構成される。具体的には、タナ−グラフは、変数ノードグループ(図4の変数ノードV1,・・・,V12)及びチェックノードグループ(図4のチェックノードP1,・・・,P8)で構成される。検査行列Hの第m行第n列の要素が「1」であるならば、チェックノードPmと変数ノードVnとが辺(エッジ)で結ばれる。
行処理部112は、入力尤度保持部111から入力尤度Fnを読み出し、検査行列保持部115から検査行列Hの情報を読み出し、列処理部113から事前尤度βmnを入力する。行処理部112は、これらを用いて外部値αmnを生成する。具体的には、行処理部112は、下記の数式(2)に従って、外部値αmnを生成する。行処理部112は、生成した外部値αmnを列処理部113及びパリティ検査部114に与える。
Figure 0005132758
尚、数式(2)において、事前尤度βmnは、一回目の復号では全て0に設定されるが、二回目以降の復号では列処理部113からフィードバックされる最新の値が設定される。また、数式(2)における関数sign(x)及び関数f(x)は、下記の数式(3)及び数式(4)で夫々表される。尚、行処理部112は、min−sumアルゴリズムを利用してもよい。
Figure 0005132758
Figure 0005132758
パリティ検査部114は、検査行列保持部115から検査行列Hの情報を読み出し、行処理部112から外部値αmnを入力し、入力尤度保持部111から入力尤度Fnを読み出す。パリティ検査部114は、これらに基づいて一時推定語を生成する。具体的には、パリティ検査部114は、一時推定語の第n番目の要素を下記の数式(5)に従って生成する。
Figure 0005132758
そして、パリティ検査部114は、生成した一時推定語が、検査行列Hによって定義される符号語であるか否かを検査する。具体的には、パリティ検査部114は、下記の数式(6)に従ってパリティ検査ベクトルUを計算する。
Figure 0005132758
パリティ検査ベクトルUの各要素は、対応するチェックノードがパリティを満たすか否か(対応するチェックノードのパリティが正しいか否か)を示す。具体的には、パリティ検査ベクトルUの第m番目の要素が「0」であれば第m番目のチェックノードPmはパリティを満たす。一方、パリティ検査ベクトルUの第m番目の要素が「1」であれば第m番目のチェックノードPmはパリティを満たさない。また、パリティ検査ベクトルUに含まれる「1」の総数は、パリティを満たさないチェックノードの数と等しい。
例えば、図5に示されるように、変数ノードV4,V5,V6,V7,V8においてビット誤りが生じると、パリティ検査ベクトルU=[11000000]というパリティ検査結果が得られる。尚、図5は、ビット誤りが生じている変数ノードV4,V5,V6,V7,V8を黒い丸印で、これら変数ノードV4,V5,V6,V7,V8と任意のチェックノードとを繋ぐ辺を破線で、パリティを満たさないチェックノードを黒い四角印で夫々表している。
パリティ検査ベクトルUが零ベクトルとなることは、全てのチェックノードがパリティを満たすことを意味する。パリティ検査ベクトルUが零ベクトルとなれば、パリティ検査部114は一時推定語を符号語として外部に出力する。一方、パリティ検査ベクトルUが零ベクトルでなければ、後述するように、予め定められる最大繰り返し回数Lmax1を上限として外部値αmnの更新と、更新後の外部値αmnに基づくパリティ検査と、パリティを満たさない場合には事前尤度βmnの更新とが繰り返される。パリティ検査部114は、パリティ検査ベクトルUが零ベクトルでなく、かつ、繰り返し回数L1が最大繰り返し回数Lmax1に達していなければ、例えば、列処理部113に対して列処理の実施を指示する。尚、繰り返し回数L1は、例えば行処理部112によってカウント(インクリメント)される。
パリティ検査部114は、パリティ検査ベクトルUが零ベクトルでなく、かつ、繰り返し回数L1が最大繰り返し回数Lmax1に達した場合(即ち、復号が失敗した場合)に、パリティを満たさないチェックノードの数を示す情報を後処理判定部120に与える。また、パリティ検査部114は、復号が失敗した場合(或いは、後処理判定部120が後処理の実施を判定した場合)に、パリティを満たさないチェックノードを識別する情報と、検査行列の情報と、各変数ノードの事後尤度の正負を示す情報とを反転ノードリスト生成部130に与える。
列処理部113は、検査行列保持部115から検査行列Hの情報を読み出し、行処理部112から外部値αmnを入力する。列処理部113は、これらを用いて事前尤度βmnを計算する。具体的には、列処理部113は、下記の数式(7)に従って、事前尤度βmnを計算する。列処理部113は、計算した事前尤度βmnを行処理部112にフィードバックする。
Figure 0005132758
後処理判定部120は、LDPC復号部110(パリティ検査部114)からパリティを満たさないチェックノードの数を示す情報を入力し、この数が所定の閾値Kよりも大きいか否かを判定する。後処理判定部120は、パリティを満たさないチェックノードの数が閾値Kよりも大きければ後処理の省略を判定し、そうでなければ後処理の実施を判定する。後処理判定部120は、後処理の省略を判定する場合には、例えば復号の失敗を示す情報を外部に出力し、復号は終了する。後処理判定部120は、後処理の実施を判定する場合には、例えば反転ノードリスト生成部130に対して反転ノードリストの生成を指示する。エラーフロアが発生しているときにはパリティを満たさないチェックノードの数が比較的少ない傾向にあるので、後処理判定部120は係る傾向を利用してエラーフロアが発生しているか否かを簡易に判定する。後述するように、後処理部140が行う後処理によってエラーフロア領域における誤りを効果的に訂正することができる。
反転ノードリスト生成部130は、LDPC復号部110(パリティ検査部114)からパリティを満たさないチェックノードを識別する情報と、検査行列の情報と、各変数ノードの事後尤度の正負を示す情報とを入力する。反転ノードリスト生成部130は、パリティを満たさないチェックノードに繋がっている変数ノードを識別する情報(例えば、変数ノードのインデックス)と、この変数ノードの事後尤度の正負を示す情報とを列挙した反転ノードリストを生成する。反転ノードリスト生成部130は、生成した反転ノードリストを後処理部140に与える。ここで、変数ノードVjの事後尤度Gjは、下記の数式(8)を用いて算出することができる。
Figure 0005132758
例えば、図5に示されるように、変数ノードV4,V5,V6,V7,V8(の一時推定語C4,C5,C6,C7,C8)においてビット誤りが生じていると、チェックノードP1,P2がパリティを満たさない。従って、反転ノードリスト生成部130は、チェックノードP1,P2に繋がっている変数ノードV1,V2,V3,V4,V5,V9のインデックスと、これら変数ノードV1,V2,V3,V4,V5,V9の事後尤度の正負sign(G1),sign(G2),sign(G3),sign(G4),sign(G5),sign(G9)を示す情報とを列挙した反転ノードリストを生成する。
後処理部140は、反転ノードリスト生成部130から反転ノードリストを入力する。後処理部140は、これらを用いて後述される後処理を実施する。後処理部140は、後処理の過程において符号データの復号に成功した場合には、復号結果(即ち、符号語)を外部に出力し、後処理は終了する。一方、後処理部140は、復号に失敗した場合(具体的には、後処理を終了しても符号語が得られない場合)には、例えば復号の失敗を示す情報を外部に出力し、復号は終了する。
後処理部140は、図6に示されるように、入力尤度保持部141、行処理部142、列処理部143、パリティ検査部144、検査行列保持部145、反転制御部146、増幅制御部147、繰り返し回数保持部148及び反転ノードリスト保持部149を含む。
尚、後処理部140及びLDPC復号部110は、別個の機能部であってもよいし、統合された機能部であってもよい。例えば、入力尤度保持部141、行処理部142、列処理部143、パリティ検査部144及び検査行列保持部145は、後処理に先行する通常のLDPC復号の実施中に、入力尤度保持部111、行処理部112、列処理部113、パリティ検査部114及び検査行列保持部115として夫々機能してもよい。また、LDPC復号部110は、典型的なLDPC復号器と同一または類似の構成を備えているものの、実装時の制約次第で各機能部の構成が変更されてもよい。即ち、本実施形態は、任意のメッセージパッシング型のLDPC復号器に対して適用され得る。
入力尤度保持部141は、入力尤度保持部111と同じ入力尤度Fnを保持する。入力尤度保持部141は、符号データに対する後処理部140の後処理が完了するまで、入力尤度Fnを保持する。入力尤度Fnは、行処理部142によって必要に応じて読み出される。
検査行列保持部145は、検査行列保持部115と同じ検査行列Hの情報を保持している。検査行列H(の情報)は、行処理部142、列処理部143、パリティ検査部144及び増幅制御部147によって必要に応じて読み出される。
反転制御部146は、入力尤度保持部141から入力尤度Fnを読み出し、繰り返し回数保持部148から繰り返し回数を読み出し、反転ノードリスト保持部149から反転ノードリストを読み出し、列処理部143から事前尤度を入力する。反転制御部146は、繰り返し回数に応じて異なる処理を行う。
繰り返し回数が初期値(例えば、「0」)である場合に、反転制御部146は全ての事前尤度βmnを「0」にリセットする。更に、反転制御部146は、反転ノードリストの中で反転処理を実施していない1つの変数ノードVjを選択する。反転制御部146は、反転対象の変数ノードVjの事後尤度の正負sign(Gj)を反転し、設定可能な最大の絶対値Amaxを乗じて得られる値を変数ノードVjの入力尤度Fjに代入する。即ち、反転制御部146は、下記の数式(9)を演算し、入力尤度Fjに正の最大尤度Amaxまたは負の最大尤度−Amaxを代入することにより、この入力尤度Fjを一時的に更新する。
Figure 0005132758
尚、Amaxの値は、後処理部140の設計(例えば、ビット分解能)によって変動するが、任意の値について本実施形態は適用可能である。また、反転制御部146は、数式(9)とは異なる反転処理を実施することもできる。例えば、反転制御部146は、入力尤度の正負を単に反転させるだけでもよいし、反転後に入力尤度の絶対値を最大値以外の値に調整してもよい。
また、反転制御部146は、直前に別の変数ノードViについて反転処理を実施していた場合には、変数ノードViの入力尤度Fiを入力尤度保持部141から読み出した入力尤度Fi(即ち、初期値)にリセットする。反転制御部146は、入力尤度Fnと、事前尤度βmnとを行処理部142に与える。反転制御部146は、入力尤度Fnをパリティ検査部144に与える。
一方、繰り返し回数が初期値以外である場合に、反転制御部146は繰り返し回数が初期値であるときに反転処理を行った変数ノード(即ち、現行の反転対象の変数ノード)の入力尤度Fj(例えば、Amaxまたは−Amax)を維持する。反転制御部146は、入力尤度Fnと事前尤度βmnとを行処理部142に与える。反転制御部146は、入力尤度Fnをパリティ検査部144に与える。
反転制御部146が反転対象となる変数ノードの選択順は任意である。例えば、反転制御部146は、変数ノードのインデックスの昇順または降順に反転対象となる変数ノードを選択してもよいし、ランダムに反転対象となる変数ノードを選択してもよい。また、反転制御部146は、事後尤度の絶対値の昇順に反転対象となる変数ノードを選択してもよい。一般に、事後尤度の絶対値の小さな変数ノードは、事後尤度の絶対値の大きな変数ノードに比べて信頼性が低い(誤りである可能性が高い)。信頼性の低い順に反転対象となる変数ノードを選択することによって、結果的に短時間で符号語を得られやすくなる。更に、非正則LDPC符号に関して、反転制御部146は、変数ノードの列重みの降順または昇順に変数ノードを選択してもよい。
例えば、図5の例において変数ノードV4に反転処理を行うと、変数ノードV4の誤りが訂正される。更に、その後の繰り返し復号によって残りの変数ノードV5,・・・,V8の誤りの訂正が期待できる。
行処理部142は、反転制御部146から入力尤度Fn及び事前尤度βmnを入力し、検査行列保持部145から検査行列Hの情報を読み出す。行処理部142は、これらを用いて外部値αmnを生成する。具体的には、行処理部142は、上記の数式(2)に従って、外部値αmnを生成する。行処理部142は、生成した外部値αmnをパリティ検査部144及び増幅制御部147に与える。
パリティ検査部144は、検査行列保持部145から検査行列Hの情報を読み出し、行処理部142から外部値αmnを入力し、反転制御部146から入力尤度Fnを取得する。パリティ検査部144は、これらに基づいて一時推定語を生成する。具体的には、パリティ検査部144は、一時推定語の第n番目の要素を上記の数式(5)に従って生成する。そして、パリティ検査部144は、生成した一時推定語が、検査行列Hによって定義される符号語であるか否かを検査する。具体的には、パリティ検査部144は、上記の数式(6)に従ってパリティ検査ベクトルUを計算する。
パリティ検査ベクトルUが零ベクトルとなれば、パリティ検査部144は一時推定語を符号語として外部に出力する。一方、パリティ検査部144は、パリティ検査ベクトルUが零ベクトルでなく、かつ、繰り返し回数L2が最大繰り返し回数Lmax2に達していなければ、例えば増幅制御部147にパリティを満たさないチェックノードを識別する情報を与える。尚、繰り返し回数L2は、例えば行処理部142によってカウント(インクリメント)され、繰り返し回数保持部148によって保持される。パリティ検査部144は、パリティ検査ベクトルUが零ベクトルでなく、かつ、繰り返し回数L2が最大繰り返し回数Lmax2に達した場合に、繰り返し回数保持部148に保持されている繰り返し回数L2を初期値にリセットする。
更に、パリティ検査部144は、所定の繰り返し中止条件が充足されるか否かを判定してもよい。繰り返し中止条件が充足される場合には、パリティ検査部144は繰り返し回数保持部148に保持されている繰り返し回数L2を初期値にリセットする。ここで、繰り返し中止条件について説明する。後処理部140は、選択した変数ノードを反転してから繰り返し復号を実施する。しかしながら、適切でない(正しい)変数ノードを反転させた場合には、その後の繰り返し復号を通じても符号語が得られない。
具体的には、図10に示されるように、適切な(誤った)変数ノードを反転させると、一時的にパリティを満たさないチェックノードの数が増加するものの、徐々にその数が減少して符号語が得られる。一方、適切でない変数ノードを反転させると、パリティを満たさないチェックノードの数は、繰り返し復号の初期(図10の例では、繰り返し回数が「10」程度まで)において、適切な変数ノードを反転させた場合と同様に増減する。しかしながら、パリティを満たさないチェックノードの数は減少の後に再び増加に転じ、結果的に符号語が得られない。
従って、例えば、繰り返し中止条件として「L2>Lin(LinはLmax2未満の所定値) かつ パリティを満たさないチェックノードの数が前回のパリティ検査に比べて増加した」を規定することができる。尚、上記繰り返し中止条件は一例に過ぎず、適宜変更してよいことは勿論である。係る繰り返し中止条件を利用することで、無駄な繰り返し復号が途中で打ち切られ、結果的に短時間で符号語が得られやすくなる。
増幅制御部147は、行処理部142から外部値αmnを入力し、パリティ検査部144からパリティを満たさないチェックノードを識別する情報を入力し、検査行列保持部145から検査行列Hの情報を読み出す。増幅制御部147は、パリティを満たさないチェックノードの外部値αmnの絶対値を増幅する増幅処理を行う。例えば、増幅制御部147は、下記の数式(10)に従って、外部値αmnの絶対値を増幅する。増幅制御部147は、増幅処理後の各外部値αmnを列処理部143に与える。
Figure 0005132758
ここで、定数Wは1より大きい。具体的には、図5の例に関して、変数ノードV4を反転すると、チェックノードP2,P4がパリティを満たさない。故に、増幅制御部147はチェックノードP2,P4の各外部値α2n,α4nの絶対値を夫々増幅する。
更に、増幅制御部147は、所定の増幅実施条件が充足されるか否かを判定してもよい。増幅実施条件が充足される場合には、増幅制御部147はパリティを満たさないチェックノードの外部値αmnの絶対値の増幅処理を実施する。一方、増幅実施条件が充足されない場合には、増幅制御部147はパリティを満たさないチェックノードの外部値αmnの絶対値の増幅処理を省略する。例えば、「パリティを満たさないチェックノードの数が所定個数未満であること」を増幅実施条件として規定することができる。パリティを満たさないチェックノードの数が所定個数以上である場合に外部値αmnを調整しないようにすることで、誤りの増大を効果的に防ぐことができる。
また、増幅制御部147は、数式(10)の代わりに定数の加減算によって外部値αmnの絶対値を増幅してもよいし、定数の加減乗除の組み合わせによって外部値αmnの絶対値を増幅してもよい。更に、増幅制御部147は、パリティを満たさないチェックノードの外部値αmnの絶対値を増幅することに加えて(或いは、代替して)、パリティを満たすチェックノードの(一部または全部の)外部値αmnの絶対値を減じてもよい。増幅制御部147は、定数の加減算、乗除、または、加減乗除の組合せによって外部値αmnの絶対値を減じてもよい。また、外部値αmnを増幅する(或いは、減じる)ために用いられる定数は、変数ノード毎に異なってもよい。例えば、定数は、変数ノードの列重みに依存する値であってもよい。
列処理部143は、検査行列保持部145から検査行列Hの情報を読み出し、増幅制御部147から外部値αmnを入力する。列処理部143は、これらを用いて事前尤度βmnを計算する。具体的には、列処理部143は、上記の数式(7)に従って、事前尤度βmnを計算する。列処理部143は、計算した事前尤度βmnを反転制御部146にフィードバックする。
繰り返し回数保持部148は、例えばパリティ検査部144から繰り返し回数L2を入力し、これを保持する。繰り返し回数L2は、反転制御部146によって必要に応じて読み出される。反転ノードリスト保持部149は、反転ノードリスト生成部130から反転ノードリストを入力し、これを保持する。反転ノードリストは、反転制御部146によって必要に応じて読み出される。
以下、図7を用いて図1の誤り訂正復号器の動作例を説明する。図7の処理は、LDPC復号部110が前段の信号処理部によって得られた尤度Fnを入力すると開始し、ステップS410に遷移する。この処理は、符号語(誤り訂正復号結果)が得られる(復号成功)か、最終的に符号語が得られない(復号失敗)ならば終了し、LDPC復号部110は次の符号データ(例えば、データフレーム)に関する尤度Fnを入力する。
ステップS410において、LDPC復号部110は通常のLDPC復号を行う。尚、ステップS410の詳細は後述される。ステップS410において、復号成功によって処理が終了することもあれば、最大繰り返し回数Lmax1に達しても符号語が得られないこともある。最大繰り返し回数Lmax1に達しても符号語が得られないなどの理由によりステップS410が終了すると、処理はステップS420に進む。
ステップS420において、後処理判定部120は、パリティを満たさないチェックノードの数が閾値Kより大きいか否かを判定する。パリティを満たさないチェックノードの数が閾値Kよりも大きければ処理は終了(復号失敗)し、そうでなければ処理はステップS430に進む。
ステップS430において、反転ノードリスト生成部130は、パリティを満たさないチェックノードに繋がっている変数ノードを識別する情報と、この変数ノードの事後尤度の正負を示す情報とを列挙した反転ノードリストを生成する。ステップS430に続いて、後処理部140は後処理を行う(ステップS440)。尚、ステップS440の詳細は後述される。ステップS440において、復号成功によって処理が終了することもあれば、反転ノードリストに列挙された全ての変数ノードに関して後処理を行っても符号語が得られずに処理が終了(復号失敗)することもある。
以下、図8を用いて、上記ステップS410における図2のLDPC復号部110の動作例を説明する。
ステップS410はステップS411から開始する。ステップS411において、行処理部112は、入力尤度保持部101からの入力尤度Fnと、検査行列保持部115からの検査行列Hの情報と、列処理部113からの(最新の)事前尤度βmnとを用いて外部値αmnを生成する。尚、ステップS411の処理が実行される毎に、行処理部112は繰り返し回数L1をカウント(インクリメント)してもよい。
次に、パリティ検査部114は、入力尤度保持部111からの入力尤度Fnと、検査行列保持部115からの検査行列Hの情報と、行処理部112からの外部値αmnとに基づいて一時推定語を生成し、生成した一時推定語が検査行列Hによって定義される符号語であるか否かを検査する(ステップS412)。一時推定語が符号語であれば処理は終了(復号成功)し、そうでなければ処理はステップS413に進む。
ステップS413において、パリティ検査部114は、繰り返し回数L1が最大繰り返し回数Lmax1に達しているか否かを判定する。繰り返し回数L1が最大繰り返し回数Lmax1に達していれば処理はステップS420に進み、そうでなければ処理はステップS414に進む。処理がステップS420に進む場合に、パリティ検査部114は、後処理判定部120、反転ノードリスト生成部130に夫々必要な情報を与える。
ステップS414において、列処理部113は検査行列保持部115からの検査行列Hの情報と行処理部112からの外部値αmnとを用いて事前尤度βmnを計算し、処理はステップS411に戻る。
以下、図9を用いて、上記ステップS440における図6の後処理部140の動作例を説明する。
ステップS440はステップS441から開始する。ステップS441において、反転制御部146は、反転ノードリストの中で未反転の1つの変数ノードVjを選択し、これに対して反転処理を行う。更に、反転制御部146は、全ての事前尤度βmnを「0」にリセットする。ステップS441に続いて、処理はステップS442に進む。
ステップS442において、行処理部142は、反転制御部146からの入力尤度Fn及び(最新の)事前尤度βmnと、検査行列保持部145からの検査行列Hの情報とを用いて外部値αmnを生成する。尚、ステップS442の処理が実行される毎に、行処理部142は繰り返し回数L2をカウント(インクリメント)してもよい。
次に、パリティ検査部144は、反転制御部146からの入力尤度Fnと、検査行列保持部145からの検査行列Hの情報と、行処理部142からの外部値αmnとに基づいて一時推定語を生成し、生成した一時推定語が検査行列Hによって定義される符号語であるか否かを検査する(ステップS443)。一時推定語が符号語であれば処理は終了(復号成功)し、そうでなければ処理はステップS444に進む。
ステップS444において、パリティ検査部144は、繰り返し中止条件が充足されるか否かを判定する。繰り返し中止条件が充足されるならば処理はステップS449に進み、そうでなければ処理はステップS445に進む。ステップS445において、パリティ検査部144は、繰り返し回数L2が最大繰り返し回数Lmax2に達しているか否かを判定する。繰り返し回数L2が最大繰り返し回数Lmax2に達していれば処理はステップS449に進み、そうでなければ処理はステップS446に進む。
ステップS446において、増幅制御部147は、増幅実施条件が充足されるか否かを判定する。増幅実施条件が充足されるならば処理はステップS447に進み、そうでなければ処理はステップS448に進む。ステップS447において、増幅制御部147はパリティを満たさないチェックノードの外部値αmnの絶対値を増幅し、処理はステップS448に進む。
ステップS448において、列処理部143は検査行列保持部145からの検査行列Hの情報と増幅制御部147からの外部値αmnとを用いて事前尤度βmnを計算し、処理はステップS442に戻る。
ステップS449において、反転制御部146は、反転ノードリストに列挙された変数ノードの中に未反転ノードがあるか否かを判定する。未反転ノードがあれば処理はステップS450に進み、そうでなければ処理は終了(復号失敗)する。ステップS450において、パリティ検査部144は繰り返し回数L2を初期値にリセットし、処理はステップS441に戻る。
以上説明したように、第1の実施形態に係る誤り訂正復号器は、通常の繰り返し復号を十分に実施しても符号語が得られない場合に後処理を実施する。後処理では、パリティを満たさないチェックノードに繋がっている変数ノードの反転と、変数ノード反転後の繰り返し復号におけるパリティを満たさないチェックノードの外部値の絶対値の増幅とが併用される。従って、本実施形態に係る誤り訂正復号器によれば、エラーフロア領域における誤りを低減し、誤り訂正能力を効果的に向上させることができる。
(第2の実施形態)
第2の実施形態に係る記憶装置は、前述の第1の実施形態に係る誤り訂正復号器の応用例である。本実施形態に係る記憶装置は、典型的には、フラッシュメモリなどの不揮発性メモリと、これを制御するメモリコントローラとを含む。
図11の記憶装置303は、不揮発性メモリである少なくとも1つの半導体メモリ部305と、半導体メモリ部305を制御するメモリコントローラ302とを有する。記憶装置303は、ホスト304(例えば、パーソナルコンピュータなど)と接続し、ホスト304との間でデータを送受信する。例えば、ホスト304は、記憶装置303からデータを読み出したり、記憶装置303にデータを書き込んだりすることができる。
メモリコントローラ302は、ROM(Read Only Memory)307、CPU(Central Processing Unit)コア308、RAM(Random Access Memory)309、ホストI/F(インタフェース)310、誤り訂正部311及びメモリI/F312を含む。メモリコントローラ302の各要素は、バス306によって互いに接続されている。
CPUコア308は、ホストI/F310を介してホスト304との間でデータを送受信したり、メモリI/F312を介して半導体メモリ部305との間でデータを送受信したりする。即ち、CPUコア308は、半導体メモリ部305からデータを受ける読み出し部として機能したり、半導体メモリ部305にデータを送る書き込み部として機能したりする。また、CPUコア308上で実行されるFW(Firm Ware)は、書き換え回数の制限を含む半導体メモリ部305のアドレス管理を実現する。更に、FWは、ホスト304からのコマンド入力に応じた記憶装置303全体の制御も実現する。
ROM307には、記憶装置303の制御プログラムなどが記憶されている。RAM309には、アドレス管理において必要となるアドレス変換テーブル、異常回路の情報などが記憶される。
誤り訂正部311は、復号器301と符号化器313とを含む。復号器301には、第1の実施形態に係る誤り訂正復号器が組み込まれる。復号器301は、半導体メモリ部305から読み出されたデータの誤り訂正復号を行う。一方、符号化器313は、半導体メモリ部305に書き込まれるデータに誤り訂正符号を付加する。
以上説明したように、第2の実施形態に係る記憶装置は、メモリコントローラに前述の第1の実施形態に係る誤り訂正復号器を組み込んでいる。従って、本実施形態に係る記憶装置によれば、読み出されたデータに対して優れた誤り訂正能力を発揮できる。
(第3の実施形態)
第3の実施形態に係る受信機は、前述の第1の実施形態に係る誤り訂正復号器の応用例である。本実施形態に係る受信機は、図12に示されるように、アンテナ320、周波数変換器321、A/D(アナログ/デジタル)変換器322、復調器323及び復号器324を有する。図12の受信機は、符号化及び変調された信号を受信し、復調及び復号することによって受信データを復元する。図12の受信機は、典型的には、(セルラ、無線LAN(Local Area Network)などをサポートする)無線受信機、放送波受信機などである。また、図12には示されていないが、受信機は、低雑音増幅器、フィルタなどを含むことも可能である。
アンテナ320は、高周波の無線信号を受信する。周波数変換器321は、アンテナ320からの受信信号をダウンコンバートする(中間周波数信号に変換する)。A/D変換器322は、周波数変換器321からの中間周波数信号をアナログドメインからデジタルドメインに変換する。復調器323は、送信側の変調方式に対応する復調方式に従って、A/D変換器322からのデジタル信号を復調する。
復号器324には、前述の第1の実施形態に係る誤り訂正復号器が組み込まれる。復号器324は、送信側の符号化方式に対応する復号方式に従って、復調器323からの復調データに誤り訂正復号を含む復号化処理を行い、受信データを復元する。
以上説明したように、第3の実施形態に係る受信機は、復号器に前述の第1の実施形態に係る誤り訂正復号器を組み込んでいる。従って、本実施形態に係る受信機によれば、受信データに対して優れた誤り訂正能力を発揮できる。尚、図12の要素群と図示しない送信機のための要素群とを組み合わせて送受信機を構成することも可能である。
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、何れの形態であってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
110・・・LDPC復号部
111,141・・・入力尤度保持部
112,142・・・行処理部
113,143・・・列処理部
114,144・・・パリティ検査部
115,145・・・検査行列保持部
120・・・後処理判定部
130・・・反転ノードリスト生成部
140・・・後処理部
146・・・反転制御部
147・・・増幅制御部
148・・・繰り返し回数制御部
149・・・反転ノードリスト保持部
301・・・復号器
302・・・メモリコントローラ
303・・・記憶装置
304・・・ホスト
305・・・半導体メモリ部
306・・・バス
307・・・ROM
308・・・CPUコア
309・・・RAM
310・・・ホストI/F
311・・・誤り訂正部
312・・・メモリI/F
313・・・符号化器
320・・・アンテナ
321・・・周波数変換器
322・・・A/D変換器
323・・・復調器
324・・・復号器

Claims (7)

  1. LDPC符号に基づく符号データに対して繰り返し復号を実施する誤り訂正復号器において、
    前記繰り返し復号の実施回数が所定数に達しても符号語が得られない場合に、パリティを満たさないチェックノードに繋がっている変数ノードを列挙した反転ノードリストを生成する生成部と、
    前記反転ノードリストに列挙された変数ノードの中から反転対象の変数ノードを選択し、前記反転対象の変数ノードの事後尤度の正負を反転することによって前記反転対象の変数ノードの入力尤度を一時的に更新する反転処理を行う反転制御部と、
    前記反転処理の実施後に、各入力尤度及び各事前尤度に基づいて各外部値を繰り返し生成する行処理部と、
    前記各入力尤度及び前記各外部値に基づいて一時推定語を生成し、前記一時推定語にパリティ検査を行い、全てのチェックノードがパリティを満たす場合に前記一時推定語を前記符号語と判定するパリティ検査部と、
    前記一時推定語について少なくとも1つのチェックノードがパリティを満たさない場合に、パリティを満たさないチェックノードから変数ノードへの外部値の絶対値を増幅する増幅処理を行う増幅制御部と、
    前記増幅処理の実施後に、前記各外部値に基づいて前記各事前尤度を更新する列処理部と
    を具備する誤り訂正復号器。
  2. 前記反転制御部は、前記反転対象の変数ノードに対して反転処理を行ってから所定回数以上前記パリティ検査が繰り返され、かつ、前回のパリティ検査に比べてパリティを満たさないチェックノードの数が増大した場合に、前記反転対象の変数ノードの入力尤度を初期値にリセットし、前記反転ノードリストに列挙された変数ノードの中から未反転の変数ノードを選択して前記反転処理を行う、請求項1の誤り訂正復号器。
  3. 前記反転制御部は、事後尤度の絶対値の昇順に前記反転対象の変数ノードを選択する、請求項1の誤り訂正復号器。
  4. 前記増幅制御部は、前記パリティを満たさないチェックノードの数が所定個数未満であれば前記増幅処理を実施し、そうでなければ前記増幅処理を省略する、請求項1の誤り訂正復号器。
  5. 前記反転制御部は、前記反転対象の変数ノードの事後尤度の正負を反転し、設定可能な最大の絶対値を乗じて得られる値を前記反転対象の変数ノードの入力尤度に代入することによって前記反転対象の変数ノードの入力尤度を一時的に更新する反転処理を行う、請求項1の誤り訂正復号器。
  6. 前記反転制御部は、列重みの昇順に前記反転対象の変数ノードを選択する、請求項1の誤り訂正復号器。
  7. 前記符号データを記憶する半導体メモリ部と、
    前記半導体メモリ部から前記符号データを受ける読み出し部と、請求項1記載の誤り訂正復号器とを含むコントローラと
    を具備する、記憶装置。
JP2010276646A 2010-12-13 2010-12-13 誤り訂正復号器及び記憶装置 Expired - Fee Related JP5132758B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010276646A JP5132758B2 (ja) 2010-12-13 2010-12-13 誤り訂正復号器及び記憶装置
US13/225,759 US8645802B2 (en) 2010-12-13 2011-09-06 Error correction decoder and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010276646A JP5132758B2 (ja) 2010-12-13 2010-12-13 誤り訂正復号器及び記憶装置

Publications (2)

Publication Number Publication Date
JP2012129591A JP2012129591A (ja) 2012-07-05
JP5132758B2 true JP5132758B2 (ja) 2013-01-30

Family

ID=46646213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010276646A Expired - Fee Related JP5132758B2 (ja) 2010-12-13 2010-12-13 誤り訂正復号器及び記憶装置

Country Status (2)

Country Link
US (1) US8645802B2 (ja)
JP (1) JP5132758B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013190597A1 (en) * 2012-06-21 2013-12-27 Hitachi, Ltd. Flash memory device and storage control method
FR3009462B1 (fr) * 2013-08-02 2019-08-23 Thales Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
US9184767B2 (en) * 2013-09-19 2015-11-10 SanDisk Technologies, Inc. Scoring variable nodes for low density parity check code decoding
US9582354B2 (en) * 2014-01-28 2017-02-28 Infineon Technologies Ag Apparatus and method for improving data storage by data inversion
US9509342B2 (en) 2014-06-02 2016-11-29 Sandisk Technologies Llc Error correcting code decoder
KR102582326B1 (ko) * 2018-09-20 2023-09-26 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
WO2020170435A1 (ja) * 2019-02-22 2020-08-27 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方法
CN113872611B (zh) * 2021-12-02 2022-04-15 阿里云计算有限公司 一种ldpc解码方法、设备、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
EP1881610B1 (en) * 2005-05-13 2015-06-03 NEC Corporation Weighted LDPC decoding using the MaxLog approximation
JP4900168B2 (ja) * 2007-09-28 2012-03-21 富士通株式会社 無線受信装置
JP2009182421A (ja) * 2008-01-29 2009-08-13 Panasonic Corp 復号化方法及び復号化装置

Also Published As

Publication number Publication date
US20120226954A1 (en) 2012-09-06
US8645802B2 (en) 2014-02-04
JP2012129591A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
JP5132758B2 (ja) 誤り訂正復号器及び記憶装置
JP5091996B2 (ja) 誤り訂正復号器、メモリコントローラ及び受信機
US8924812B2 (en) Non-binary LDPC code decoder
US8607118B2 (en) Iterative decoding method and apparatus
US8650453B2 (en) LDPC selective decoding scheduling using a cost function
KR100757769B1 (ko) 저밀도 패리티 체크 코드를 디코딩하는 디코더 및 방법
JP6446730B2 (ja) データをデコードするための方法およびデコーダ
EP2523351A1 (en) Encoding method and encoding device
JP2014027704A (ja) 複数のチェックノード・アルゴリズムを用いる誤り訂正デコーダ
US8856626B2 (en) Decoder, decoding method and communication apparatus
US9564931B1 (en) Systems and methods for using decoders of different complexity in a hybrid decoder architecture
JP2010539744A (ja) パリティ検査型の符号を用いてのシンボルの符号化および復号化
US20120290891A1 (en) Method and apparatus for decoding low density parity check code
JP4572937B2 (ja) 復号装置および方法、プログラム、並びに記録媒体
US20140173375A1 (en) Ldpc encoding/decoding method and device using same
US20130272456A1 (en) Decoding apparatus and decoding method for decoding data encoded by ldpc
JP2016208309A (ja) 誤り訂正復号装置、受信装置及び誤り訂正復号方法
JP4845846B2 (ja) 復号装置および復号プログラム
JP5132738B2 (ja) 誤り訂正復号器及び受信機
JP5500203B2 (ja) 軟判定復号装置および軟判定復号プログラム
JP2008236387A (ja) 軟判定復号装置および軟判定復号プログラム
JP5018807B2 (ja) 復号化装置
US8489973B1 (en) Numerical solution on LLR exchange in turbo equalization
KR102394458B1 (ko) 복호기 및 그의 복호 방법
JP2009135735A (ja) 復号器、受信装置及び符号化データの復号方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120924

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

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

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees