JP2008219528A - Ldpc符号検出装置及びプログラム - Google Patents
Ldpc符号検出装置及びプログラム Download PDFInfo
- Publication number
- JP2008219528A JP2008219528A JP2007054939A JP2007054939A JP2008219528A JP 2008219528 A JP2008219528 A JP 2008219528A JP 2007054939 A JP2007054939 A JP 2007054939A JP 2007054939 A JP2007054939 A JP 2007054939A JP 2008219528 A JP2008219528 A JP 2008219528A
- Authority
- JP
- Japan
- Prior art keywords
- bit node
- node
- bit
- check
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
【課題】誤り率特性をほとんど劣化させずに、サムプロダクト・アルゴリズムの演算量を大幅に少なくすることができるLDPC符号検出装置及びプログラムを提供すること
【解決手段】ビットノードの信頼度βが所定の閾値θより小さいビットノードについては、行処理演算及び列処理演算を行って更新するが、ビットノードの信頼度βが所定の閾値θ以上であるビットノードについては、前回の信頼度βをそのまま次回にも使うことにして信頼度βを更新しないことにより演算量を少なくする。
【選択図】図1
【解決手段】ビットノードの信頼度βが所定の閾値θより小さいビットノードについては、行処理演算及び列処理演算を行って更新するが、ビットノードの信頼度βが所定の閾値θ以上であるビットノードについては、前回の信頼度βをそのまま次回にも使うことにして信頼度βを更新しないことにより演算量を少なくする。
【選択図】図1
Description
本発明は、LDPC(low density parity check:低密度パリティ検査)符号を用いた符号を復号する符号検出技術に関する。
近年、理論限界に迫る優れた特性を達成する誤り訂正符号としてLDPC符号が、通信・放送・記録系で注目されている。LDPC符号は、繰返演算であるサムプロダクト・アルゴリズムを用いることで達成する(例えば、特許文献1参照。)。
特開2006−279396号公報
しかし、サムプロダクト・アルゴリズムには非線型関数の演算が含まれ演算量が多く、そのまま実装することは難しい。
本発明は、上記問題点に鑑み、誤り率特性をほとんど劣化させずに、サムプロダクト・アルゴリズムの演算量を大幅に少なくすることができるLDPC符号検出装置及びプログラムを提供することを目的とする。
本発明のLDPC符号検出装置は、(1).低密度パリティ検査(以下「LDPC」という。)符号のパリティ検査行列のタナーグラフに対応して設定された複数のチェックノードから当該チェックノードに接続されている複数のビットノードに向け信頼度αを伝搬し、(2).該複数のビットノードから該複数のチェックノードに向け信頼度βを伝搬する、(1)、(2)を繰り返す、その過程において信頼度βから算出される事後値の硬判定値をパリティ検査行列でパリティ検査することにより収束判定し送信符号の推定値を決定するサムプロダクト・アルゴリズムを用いて、受信値からの符号検出を行うLDPC符号検出装置において、ビットノードの信頼度βが所定の閾値θより小さいビットノードを選択するビットノード選択手段と、該ビットノード選択手段が選択した前記ビットノードに接続されている各前記チェックノードについて、当該チェックノードに接続されている前記ビットノードから当該チェックノードに向け伝搬される前記信頼度βに基づき、当該チェックノードから前記ビットノード選択手段が選択した前記ビットノードに向け伝搬する信頼度αを算出し、伝搬する行処理演算手段と、前記ビットノード選択手段が選択した前記各ビットノードについて、当該ビットノードに接続されている前記各チェックノードから伝搬される信頼度αに基づき、当該ビットノードから前記各チェックノードに向け伝搬する信頼度βを算出して更新し、前記ビットノード選択手段が選択しなかった前記各ビットノードについて、繰返しの前回の事後値を次回の事後値とする列処理演算及びビットノード更新手段と、を備えることを特徴とする。
また、前記繰返しの数をカウントする復号繰返数カウント手段をさらに備え、該復号繰返数が所定値を超えてもなお収束しない場合には、前記ビットノード選択手段はすべてのビットノードを選択することで、通信環境が悪い場合にも復号を達成することができる。
また、本発明は、コンピュータを、上記LDPC符号検出装置として機能させるためのプログラムである。
本発明によれば復号演算量が大幅に少なくなるため、実装が容易になり、消費電力が小さくなり、処理を高速にすることができる。
以下、添付図面を参照しながら本発明を実施するための最良の形態について詳細に説明する。
図1は、本発明の一実施例によるLDPC符号検出装置の構成を示す図である。本実施例のLDPC符号検出装置は、初期尤度演算手段10、更新処理削減ビットノード選択手段11、未更新ビットノード情報記憶手段12、行処理演算手段13、列処理演算及びビットノード更新手段14、硬判定手段15、パリティ判定手段16、復号繰返数カウント手段17、復号処理切替手段18からなる。
図2は、LDPC符号を説明する図である。ここでまず、LDPC符号を説明する。LDPC符号は、非常に疎な検査行列、すなわち、行列内の非零要素の数が非常に少ない検査行列により定義される線形符号であると同時に、タナーグラフで定義される符号である。そして、局所的に推論した結果をタナーグラフ上でやりとりして更新していくことで、優れた誤り率特性を達成する。図2は、(6,2)LDPC符号の場合について行重みdc=3、列重みdv=2の検査行列Hの例を示す。検査行列Hは図に示すようにタナーグラフによっても示すことができる。チェックノードは行に対応し、ビットノードは列に対応し、その間を接続するエッジは行列内の要素1に対応する。例えば、検査行列Hの第2行第5列の○を付けた1は、タナーグラフの太線で示すエッジに対応する。
SPA(サムプロダクト・アルゴリズム)はチェックノードとビットノード間で情報を受け渡し、各ノードの情報を更新しながら繰返復号を行う復号アルゴリズムである。
まず、従来のSPAについて説明する。検査行列Hにおいてm行目に“1”を持つ列のインデックスの集合をN(m)={n:Hm,n=1}、n列目に“1”を持つ行のインデックスの集合をM(n)={m:Hm,n=1}と表す。l回目の各ノードの更新処理を以下に示す。初期値β(0)mnは初期尤度β(0)mn=λn=(2/σ2)rnynである。ここで、σ2は雑音分散、rnは受信電力、ynは受信シンボルを示す。
(1)チェックノードの更新:m番目チェックノードから各n番目のビットノードへ渡すLLR(対数尤度比)値αmnの更新を下式のように表す。
(1)チェックノードの更新:m番目チェックノードから各n番目のビットノードへ渡すLLR(対数尤度比)値αmnの更新を下式のように表す。
つぎに、δ−min復号アルゴリズムについて説明する。式(3)に示したチェックノードの更新式は、非線形関数であるため実装が困難である。式(3)を簡易化した復号アルゴリズムとしてδ−min復号アルゴリズムが提案されている。δ−min復号アルゴリズムは、SPAと比べブロック誤り率(BLER)特性の劣化が小さい(約0.05dB)とされている。δ−min復号アルゴリズムは、密度発展法による補正因子が不要であるため,本発明との併用が容易である。
式(3)を線形近似するために,対数関数ln(1+exp(−x))に関してTayler級数展開を行う。
本発明のアルゴリズムを以下に示す。
(1)LLR閾値θLLRとビットノードのLLRβnの比較:
(a)繰返数l−1<θiter:l−1回目のビットノードの事後LLRβ(l−1)nとLLR閾値θLLRを比較する。
・|β(l−1)n|≧θLLRなるビットnのインデックスの集合をN_={n:|β(l−1)n|≧θLLR}と表す。
・|β(l−1)n|<θLLRなるビットnに関してm行目に“1”を持つ列のインデックスの集合をN ̄(m)={n:Hm,n=1∩|β(l−1)n|<θLLR},n列目に“1”を持つ行のインデックスの集合をM ̄(n)={m:Hm,n=1∩|β(l−1)n|<θLLR}と表す。
(b)繰返数l−1≧θiter:全ての更新処理を行う。
(2)チェックノードの更新:m番目チェックノードから各n番目のビットノードへ渡すLLR値αmnの更新は,各n番目のビットノードが|β(l−1)n|<θLLRである場合,下式のように表される。
(1)LLR閾値θLLRとビットノードのLLRβnの比較:
(a)繰返数l−1<θiter:l−1回目のビットノードの事後LLRβ(l−1)nとLLR閾値θLLRを比較する。
・|β(l−1)n|≧θLLRなるビットnのインデックスの集合をN_={n:|β(l−1)n|≧θLLR}と表す。
・|β(l−1)n|<θLLRなるビットnに関してm行目に“1”を持つ列のインデックスの集合をN ̄(m)={n:Hm,n=1∩|β(l−1)n|<θLLR},n列目に“1”を持つ行のインデックスの集合をM ̄(n)={m:Hm,n=1∩|β(l−1)n|<θLLR}と表す。
(b)繰返数l−1≧θiter:全ての更新処理を行う。
(2)チェックノードの更新:m番目チェックノードから各n番目のビットノードへ渡すLLR値αmnの更新は,各n番目のビットノードが|β(l−1)n|<θLLRである場合,下式のように表される。
(3)ビットノードの更新:n番目ビットノードから,各m番目チェックノードに渡すLLR値βmnの更新を以下のように表す。
(a)|β(l−1)n|<θLLRの場合。
つぎに、図1に戻って、本実施例を実現する具体的な構成を説明する。まず、初期尤度演算手段10は、受信信号を受信して、初期尤度β(0)mn=λn=(2/σ2)rnynを演算し、各ビットノードの初期尤度として設定する。つぎに、更新処理削減ビットノード選択手段11は、LLR閾値θLLRとビットノードのLLRβnを比較して、|β(l−1)n|≧θLLRとなるビットノードについては更新のための演算を行わず前回の事後LLRをそのまま使う(式12)。|β(l−1)n|<θLLRとなるビットノードについては更新するため、接続されているチェックノードから当該ビットノードに渡す行処理演算を行う。未更新ビットノード情報記憶手段12は、更新しないビットノードの事後LLR値を次回にそのまま使うので、未更新ビットノード情報として記憶する。行処理演算手段13は、更新するビットノードに接続されているチェックノードから当該ビットノードに渡す行処理演算をして更新する(式9)。列処理演算及びビットノード更新手段14は、更新するビットノードについて列処理演算して更新する。硬判定手段15は、各ビットノードの事後LLR値に基づいて硬判定して一時推定値を求める(式6)。パリティ判定手段16は、硬判定の結果の一時推定値と検査行列Hとから一時推定値のパリティを計算して、パリティが0か1かを判定する。パリティが0であれば、一時推定値を復号語として出力して動作を終了する。パリティが1の場合、復号繰返数カウント手段17は、繰返数lをカウントして、復号処理切替手段18は、l−1を所定の閾値θiterと比較して、l−1<θiterの場合には、更新するビットノードと更新しないビットノードとを選択し、l−1≧θiterの場合にはすべてのビットノードを更新するように信号処理を切り替える。
図3は、本発明と従来例の誤り率を比較する図である。図3は、符号化率R=1/2、(3,6)レギュラーLDPCなどの各種LDPC符号について、本発明SPAと従来SPAのAWGN(Additive White Gaussian Noise)通信路、BPSK(Bi-Phase Shift Keying)変調におけるEb/No(信号雑音比)に対するBER(Bit Error Rate)特性を示す。本発明においてBERがほとんど劣化していないことが分かる。
図4は、本発明と従来例のブロック誤り率を比較する図である。図4は、各種LDPC符号について、本発明SPAと従来SPAのAWGN通信路、BPSK変調におけるEb/Noに対するBLER(BLock Error Rate)特性を示す。本発明においてBLERがほとんど劣化していないことが分かる。
図5は、本発明と従来例の演算量を比較する図である。図5は、各種LDPC符号について、本発明SPAと従来SPAのEb/Noに対する演算量を示す。本発明の演算量は従来に比べて、約80〜10%と少なくなっていることが分かる。環境が良ければ演算量は従来に比べて約1/10に減らすことができる。
なお、本発明は上記実施例に限定されるものではない。
δ−min復号アルゴリズムを用いなくても、本発明は十分に演算量を少なくする効果を奏する。
LLRは、チェックノード又はビットノードの信頼度を表すパラメータであれば良く、LLRに限られない。
また、本発明のLDPC符号検出装置は、コンピュータを本LDPC符号検出装置として機能させるためのプログラムでも実現される。このプログラムは、コンピュータで読み取り可能な記録媒体に格納されていてもよい。
このプログラムを記録した記録媒体は、図1に示されるLDPC符号検出装置のROMそのものであってもよいし、また、外部記憶装置としてCD−ROMドライブ等のプログラム読取装置が設けられ、そこに記録媒体を挿入することで読み取り可能なCD−ROM等であってもよい。
また、上記記録媒体は、磁気テープ、カセットテープ、フレキシブルディスク、ハードディスク、MO/MD/DVD等、又は半導体メモリであってもよい。
10 初期尤度演算手段
11 更新処理削減ビットノード選択手段
12 未更新ビットノード情報記憶手段
13 行処理演算手段
14 列処理演算及びビットノード更新手段
15 硬判定手段
16 パリティ判定手段
17 復号繰返数カウント手段
18 復号処理切替手段
11 更新処理削減ビットノード選択手段
12 未更新ビットノード情報記憶手段
13 行処理演算手段
14 列処理演算及びビットノード更新手段
15 硬判定手段
16 パリティ判定手段
17 復号繰返数カウント手段
18 復号処理切替手段
Claims (3)
- (1).低密度パリティ検査(以下「LDPC」という。)符号のパリティ検査行列のタナーグラフに対応して設定された複数のチェックノードから当該チェックノードに接続されている複数のビットノードに向け信頼度αを伝搬し、
(2).該複数のビットノードから該複数のチェックノードに向け信頼度βを伝搬する、
(1)、(2)を繰り返す、その過程において信頼度βから算出される事後値の硬判定値をパリティ検査行列でパリティ検査することにより収束判定し送信符号の推定値を決定するサムプロダクト・アルゴリズムを用いて、受信値からの符号検出を行うLDPC符号検出装置において、
ビットノードの信頼度βが所定の閾値θより小さいビットノードを選択するビットノード選択手段と、
該ビットノード選択手段が選択した前記ビットノードに接続されている各前記チェックノードについて、当該チェックノードに接続されている前記ビットノードから当該チェックノードに向け伝搬される前記信頼度βに基づき、当該チェックノードから前記ビットノード選択手段が選択した前記ビットノードに向け伝搬する信頼度αを算出し、伝搬する行処理演算手段と、
前記ビットノード選択手段が選択した前記各ビットノードについて、当該ビットノードに接続されている前記各チェックノードから伝搬される信頼度αに基づき、当該ビットノードから前記各チェックノードに向け伝搬する信頼度βを算出して更新し、前記ビットノード選択手段が選択しなかった前記各ビットノードについて、繰返しの前回の事後値を次回の事後値とする列処理演算及びビットノード更新手段と、
を備えることを特徴とするLDPC符号検出装置。 - 前記繰返しの数をカウントする復号繰返数カウント手段をさらに備え、該復号繰返数が所定値を超えてもなお収束しない場合には、前記ビットノード選択手段はすべてのビットノードを選択することを特徴とするLDPC符号検出装置。
- コンピュータを、請求項1又は2記載のLDPC符号検出装置として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007054939A JP2008219528A (ja) | 2007-03-05 | 2007-03-05 | Ldpc符号検出装置及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007054939A JP2008219528A (ja) | 2007-03-05 | 2007-03-05 | Ldpc符号検出装置及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008219528A true JP2008219528A (ja) | 2008-09-18 |
Family
ID=39839024
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007054939A Pending JP2008219528A (ja) | 2007-03-05 | 2007-03-05 | Ldpc符号検出装置及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008219528A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009038662A (ja) * | 2007-08-02 | 2009-02-19 | Sumitomo Electric Ind Ltd | 復号器、受信装置及び符号化データの復号方法 |
| JP2010158015A (ja) * | 2008-12-30 | 2010-07-15 | Intel Corp | 対数尤度マッパのスケールファクタを最適化するブロードキャストレシーバ及び方法 |
| JP2010200126A (ja) * | 2009-02-26 | 2010-09-09 | Fujitsu Ltd | 復号化装置 |
| CN101860370A (zh) * | 2009-04-03 | 2010-10-13 | 三菱电机株式会社 | 解码装置以及解码方法 |
| EP2479897A2 (en) | 2011-01-19 | 2012-07-25 | JVC Kenwood Corporation | Decoding device and decoding method |
| JP2013098793A (ja) * | 2011-11-01 | 2013-05-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
| JP2013207358A (ja) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | 復号装置、復号方法、及び、プログラム |
| US10069515B2 (en) | 2015-02-02 | 2018-09-04 | Kabushiki Kaisha Toshiba | Decoding device and decoding method |
| JP7506795B1 (ja) | 2023-05-02 | 2024-06-26 | Nttイノベーティブデバイス株式会社 | 誤り訂正方法、誤り訂正回路及び通信システム |
-
2007
- 2007-03-05 JP JP2007054939A patent/JP2008219528A/ja active Pending
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009038662A (ja) * | 2007-08-02 | 2009-02-19 | Sumitomo Electric Ind Ltd | 復号器、受信装置及び符号化データの復号方法 |
| JP2010158015A (ja) * | 2008-12-30 | 2010-07-15 | Intel Corp | 対数尤度マッパのスケールファクタを最適化するブロードキャストレシーバ及び方法 |
| JP2010200126A (ja) * | 2009-02-26 | 2010-09-09 | Fujitsu Ltd | 復号化装置 |
| CN101860370A (zh) * | 2009-04-03 | 2010-10-13 | 三菱电机株式会社 | 解码装置以及解码方法 |
| JP2010245736A (ja) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | 復号装置および復号方法 |
| EP2479897A2 (en) | 2011-01-19 | 2012-07-25 | JVC Kenwood Corporation | Decoding device and decoding method |
| CN102611459A (zh) * | 2011-01-19 | 2012-07-25 | Jvc建伍株式会社 | 解码装置以及解码方法 |
| JP2012151676A (ja) * | 2011-01-19 | 2012-08-09 | Jvc Kenwood Corp | 復号装置および復号方法 |
| EP2479897A3 (en) * | 2011-01-19 | 2012-09-26 | JVC Kenwood Corporation | Decoding device and decoding method |
| JP2013098793A (ja) * | 2011-11-01 | 2013-05-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
| JP2013207358A (ja) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | 復号装置、復号方法、及び、プログラム |
| US10069515B2 (en) | 2015-02-02 | 2018-09-04 | Kabushiki Kaisha Toshiba | Decoding device and decoding method |
| JP7506795B1 (ja) | 2023-05-02 | 2024-06-26 | Nttイノベーティブデバイス株式会社 | 誤り訂正方法、誤り訂正回路及び通信システム |
| JP2024160743A (ja) * | 2023-05-02 | 2024-11-15 | Nttイノベーティブデバイス株式会社 | 誤り訂正方法、誤り訂正回路及び通信システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2008219528A (ja) | Ldpc符号検出装置及びプログラム | |
| US8291279B2 (en) | Memory-efficient LDPC decoder and method | |
| JP5177767B2 (ja) | ガロア体gf(q)におけるldpc符号を復号する方法および機器 | |
| US7137060B2 (en) | Forward error correction apparatus and method in a high-speed data transmission system | |
| US7978797B2 (en) | Method and system for near optimal iterative detection of the 2-dimensional ISI channel | |
| US8504895B2 (en) | Using damping factors to overcome LDPC trapping sets | |
| US20090319860A1 (en) | Overcoming ldpc trapping sets by decoder reset | |
| US10298263B2 (en) | Refresh, run, aggregate decoder recovery | |
| WO2015139160A1 (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
| US9178533B2 (en) | Method of setting number of iteration counts of iterative decoding, and apparatus and methods of iterative decoding | |
| JP2009100222A (ja) | 低密度パリティ検査符号の復号装置およびその方法 | |
| US8321746B2 (en) | Systems and methods for quasi-cyclic LDPC code production and decoding | |
| US9130589B2 (en) | Low density parity check decoder with dynamic scaling | |
| US9564921B1 (en) | Method and system for forward error correction decoding based on a revised error channel estimate | |
| KR100804793B1 (ko) | 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법 | |
| JP2008199623A (ja) | メッセージパッシングおよび強制収斂復号法 | |
| JP4551740B2 (ja) | 低密度パリティチェック符号復号器及び方法 | |
| CN114268325B (zh) | 使用索引消息进行ldpc解码的方法和设备 | |
| US7984367B1 (en) | Method for iterative decoding in the presence of burst errors | |
| CN110995279A (zh) | 一种极化码联合scf球形列表翻转译码方法 | |
| KR20090012189A (ko) | Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법 | |
| KR20090064268A (ko) | 가변 보정값을 이용한 복호화 장치 및 그 방법 | |
| JP2008544639A (ja) | 復号方法と装置 | |
| Krishnan et al. | LDPC decoding strategies for two-dimensional magnetic recording | |
| KR20120000040A (ko) | 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법 |
