JP2008219528A - Ldpc符号検出装置及びプログラム - Google Patents

Ldpc符号検出装置及びプログラム Download PDF

Info

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
Application number
JP2007054939A
Other languages
English (en)
Inventor
Tomoaki Otsuki
知明 大槻
大輔 ▲あべ▼松
Daisuke Abematsu
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.)
Keio University
Original Assignee
Keio University
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 Keio University filed Critical Keio University
Priority to JP2007054939A priority Critical patent/JP2008219528A/ja
Publication of JP2008219528A publication Critical patent/JP2008219528A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】誤り率特性をほとんど劣化させずに、サムプロダクト・アルゴリズムの演算量を大幅に少なくすることができるLDPC符号検出装置及びプログラムを提供すること
【解決手段】ビットノードの信頼度βが所定の閾値θより小さいビットノードについては、行処理演算及び列処理演算を行って更新するが、ビットノードの信頼度βが所定の閾値θ以上であるビットノードについては、前回の信頼度βをそのまま次回にも使うことにして信頼度βを更新しないことにより演算量を少なくする。
【選択図】図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の更新を下式のように表す。
Figure 2008219528
ここで、n'∈N(m)\nは、mに接続するビットノードn'の内n番目のビットノードを含まない集合を表す。また、sign(・)は(・)の符号を返す関数である。
Figure 2008219528
集合Aの要素a,bに関して、演算(+を○で囲う記号)を以下のように定義する。
Figure 2008219528
(2)ビットノードの更新:n番目ビットノードから、各m番目チェックノードへ渡すLLR値βmnの更新を以下のように表す。
Figure 2008219528
ここで、m'∈M(n)\mは、nに接続するチェックノードm'の内m番目のチェックノードを含まない集合を表す。各ビットの事後LLRを次式で更新する。
Figure 2008219528
(3)硬判定とパリティチェック
(a)硬判定により復号系列を推定する。
Figure 2008219528
(b)Hω^=0もしくは最大繰返数l=lmaxに達したときは、復号結果としてω^を出力。Hω^≠0の場合、l=l+1として再び各ノードの更新処理を行う。
つぎに、δ−min復号アルゴリズムについて説明する。式(3)に示したチェックノードの更新式は、非線形関数であるため実装が困難である。式(3)を簡易化した復号アルゴリズムとしてδ−min復号アルゴリズムが提案されている。δ−min復号アルゴリズムは、SPAと比べブロック誤り率(BLER)特性の劣化が小さい(約0.05dB)とされている。δ−min復号アルゴリズムは、密度発展法による補正因子が不要であるため,本発明との併用が容易である。
式(3)を線形近似するために,対数関数ln(1+exp(−x))に関してTayler級数展開を行う。
Figure 2008219528
実装を考慮すると演算量の小さい1次項までを用い,定数項はx>0の領域で関数ln(1+exp(−x))との誤差を補正した値(=0.9)を用いる。関数ln(1+exp(−x))の線形近似式を以下に示す。
Figure 2008219528
本発明は,SPAや低演算量アルゴリズム(δ−min復号アルゴリズム)と併用することでLDPC符号の復号に必要なメモリー量及び消費電力を削減する。本発明は,2種類の閾値(LLR閾値θLLR,繰返閾値θiter)を用いて更新処理を削減し,従来の復号アルゴリズムとほぼ等しい誤り率特性を達成する。本発明アルゴリズムは,l−1回目の繰返処理のn番目のビットに対応するビットノードの事後LLRβ(l−1)nがLLRの閾値θLLRより大きい場合(β(l−1)n≧θLLR),l回目の更新処理を行わないことによって更新処理数を削減する。繰返閾値θiterは,ある回数θiter[回]以上繰返復号を行っても復号処理が終了しない場合,すべてのノードに対して更新処理を行うための閾値である。
本発明のアルゴリズムを以下に示す。
(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である場合,下式のように表される。
Figure 2008219528
一方、ビットノードの事後LLR値が|β(l−1)n|≧θLLRである各ビットノードに渡すLLR値αmnの更新、すなわち、行処理演算は行わない。
(3)ビットノードの更新:n番目ビットノードから,各m番目チェックノードに渡すLLR値βmnの更新を以下のように表す。
(a)|β(l−1)n|<θLLRの場合。
Figure 2008219528
|β(l−1)n|<θLLRのビットの事後LLRを次式で更新する。
Figure 2008219528
(b)|β(l−1)n|≧θLLRの場合。l−1回目のビットノードの事後LLR値β(l−1)nをl回目のビットノードの事後LLR値β(l)nとする。
Figure 2008219528
(4)硬判定とパリティチェック
従来SPAと同様。
つぎに、図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等、又は半導体メモリであってもよい。
本発明の一実施例によるLDPC符号検出装置の構成を示す図である。 LDPC符号を説明する図である。 本発明と従来例の誤り率を比較する図である。 本発明と従来例のブロック誤り率を比較する図である。 本発明と従来例の演算量を比較する図である。
符号の説明
10 初期尤度演算手段
11 更新処理削減ビットノード選択手段
12 未更新ビットノード情報記憶手段
13 行処理演算手段
14 列処理演算及びビットノード更新手段
15 硬判定手段
16 パリティ判定手段
17 復号繰返数カウント手段
18 復号処理切替手段

Claims (3)

  1. (1).低密度パリティ検査(以下「LDPC」という。)符号のパリティ検査行列のタナーグラフに対応して設定された複数のチェックノードから当該チェックノードに接続されている複数のビットノードに向け信頼度αを伝搬し、
    (2).該複数のビットノードから該複数のチェックノードに向け信頼度βを伝搬する、
    (1)、(2)を繰り返す、その過程において信頼度βから算出される事後値の硬判定値をパリティ検査行列でパリティ検査することにより収束判定し送信符号の推定値を決定するサムプロダクト・アルゴリズムを用いて、受信値からの符号検出を行うLDPC符号検出装置において、
    ビットノードの信頼度βが所定の閾値θより小さいビットノードを選択するビットノード選択手段と、
    該ビットノード選択手段が選択した前記ビットノードに接続されている各前記チェックノードについて、当該チェックノードに接続されている前記ビットノードから当該チェックノードに向け伝搬される前記信頼度βに基づき、当該チェックノードから前記ビットノード選択手段が選択した前記ビットノードに向け伝搬する信頼度αを算出し、伝搬する行処理演算手段と、
    前記ビットノード選択手段が選択した前記各ビットノードについて、当該ビットノードに接続されている前記各チェックノードから伝搬される信頼度αに基づき、当該ビットノードから前記各チェックノードに向け伝搬する信頼度βを算出して更新し、前記ビットノード選択手段が選択しなかった前記各ビットノードについて、繰返しの前回の事後値を次回の事後値とする列処理演算及びビットノード更新手段と、
    を備えることを特徴とするLDPC符号検出装置。
  2. 前記繰返しの数をカウントする復号繰返数カウント手段をさらに備え、該復号繰返数が所定値を超えてもなお収束しない場合には、前記ビットノード選択手段はすべてのビットノードを選択することを特徴とするLDPC符号検出装置。
  3. コンピュータを、請求項1又は2記載のLDPC符号検出装置として機能させるためのプログラム。
JP2007054939A 2007-03-05 2007-03-05 Ldpc符号検出装置及びプログラム Pending JP2008219528A (ja)

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)

* Cited by examiner, † Cited by third party
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イノベーティブデバイス株式会社 誤り訂正方法、誤り訂正回路及び通信システム

Cited By (14)

* Cited by examiner, † Cited by third party
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 복호화 장치 및 그 방법