JP2013207358A - 復号装置、復号方法、及び、プログラム - Google Patents

復号装置、復号方法、及び、プログラム Download PDF

Info

Publication number
JP2013207358A
JP2013207358A JP2012071348A JP2012071348A JP2013207358A JP 2013207358 A JP2013207358 A JP 2013207358A JP 2012071348 A JP2012071348 A JP 2012071348A JP 2012071348 A JP2012071348 A JP 2012071348A JP 2013207358 A JP2013207358 A JP 2013207358A
Authority
JP
Japan
Prior art keywords
node
value ratio
check
variable node
calculated
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.)
Granted
Application number
JP2012071348A
Other languages
English (en)
Other versions
JP5765281B2 (ja
Inventor
Eiji Nakano
栄治 中野
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood 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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2012071348A priority Critical patent/JP5765281B2/ja
Publication of JP2013207358A publication Critical patent/JP2013207358A/ja
Application granted granted Critical
Publication of JP5765281B2 publication Critical patent/JP5765281B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】いわゆる誤り伝播を防止し、効率的な復号処理を実現することが可能な復号装置、復号方法、及び、プログラムを提供する。
【解決手段】低信頼度ノード検出部002C2aは、各チェックノードにおける変数ノードの信頼度を算出し、各チェックノードに対して信頼度が低い変数ノードを検出する。チェックノード処理部002C2cは、予め設定された繰り返し回数に達するまで、除外モードの算出式を用いて外部値比を算出する。
【選択図】図1

Description

本発明は、復号装置、復号方法、及び、プログラムに関する。
デジタル通信システムの無線送信装置は情報データを符号化して送信する。情報データの符号化には、例えば、畳み込み符号、低密度パリティ検査(LDPC:Low Density Parity Check Code)符号、ターボ符号、ブロックターボ符号などが用いられる。近年では、信号対雑音比(S/N比:Signal-to-Noise ratio)が小さい伝送路においても、誤り訂正能力が高いLDPC符号が注目され、適用されている。
例えば、WiMax(Worldwide Interoperability for Microwave Access)の、IEEE802.16e規格では、LDPC符号が採用されている。
LDPC符号は、多くの”0”とわずかな”1”から成る疎なパリティ検査行列Hで定義される線形ブロック符号であり、LDPC符号の符号化では、HをHの転置行列とし、GH=0を満たす生成行列Gをガウス消去法などで求め、求めた生成行列Gを用いて情報系列を符号化する。
情報データをLPDC符号により符号化した場合、その復号には、一般的に、確率伝搬法(BP:Belief Propagation)の一種であるsum−product復号、min−sum復号が用いられる。sum−product復号は、繰り返し復号の一種であり、パリティ検査行列Hを用いて、変数ノード処理とチェックノード処理との2つの処理を繰り返すことで、各符号語の推定(復号)を行う。
sum−product復号は、復号処理のラウンドごとにパリティチェックを行うため、検査条件を満たせば、早い段階(ラウンド)で復号処理を終了する。そのため、復号処理時における演算量の軽減と、復号処理の高速化が可能である。
しかしながら、sum−product復号は、繰り返し復号の一種であるため、信頼度の低い尤度が存在すると、メッセージを伝播させる尤度間に相関が生じ、近似の精度が劣化してしまうという問題がある。このいわゆる誤り伝播の問題により、効率的な復号処理を行うことができなくなる。
この誤り伝播の問題を解決するための方法として、例えば、特許文献1には、符号データに含まれるデータビットとパリティビットの尤度の信頼度を検出し、信頼度の低い尤度から優先的に更新する更新スケジュールを作成し、作成した更新スケジュールに従って尤度を更新する方法が提案されている。
特開2008−16959号公報
特許文献1に提案されている方法では、更新スケジュールを作成するための演算処理が新たに必要となる。すなわち、演算量を軽減できるというsum−product復号のメリットを犠牲にしなければならない。また、信頼度の低い尤度から優先的に更新したとしても、信頼度の低い尤度が多数ある場合には、信頼度の低い尤度が伝播してしまい、近似精度が劣化してしまう。
本発明は、上記実情に鑑みてなされたものであり、いわゆる誤り伝播を防止し、効率的な復号処理を実現することが可能な復号装置、復号方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係る復号装置は、
基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する復号装置であって、
処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されたチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出する低信頼度ノード検出部と、
前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記低信頼度ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させるチェックノード処理部と、
前記チェックノード処理部により算出された前記外部値比に基づいて、次回の基本復号処理で前記チェックノード処理部が外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる変数ノード処理部と、
今回の基本復号処理で前記チェックノード処理部により算出された外部値比と前記変数ノード処理部により算出された事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定するビット推定部と、
を備えることを特徴とする。
この場合、前記信頼度は、前回の基本復号処理で前記変数ノード処理部により算出された事前値比の絶対値であり、
前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事前値比を検出する、
こととしてもよい。
また、前記信頼度は、前回の基本復号処理で前記変数ノード処理部により算出される事前値比の絶対値であり、
前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事前値比の伝搬元の変数ノードからチェックノードへ伝搬された事前値比を検出する、
こととしてもよい。
また、前記信頼度は、前回の基本復号処理で前記ビット推定部により算出された事後確率比の絶対値であり、
前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事後確率比に対応する変数ノードからチェックノードへ伝搬された事前値比を検出する、
こととしてもよい。
また、前記データは、低密度パリティ検査符号により符号化されたデータである、
こととしてもよい。
また、前記低密度パリティ検査符号を定義するパリティ検査行列の列のうちで、前記列を構成する成分の値が1である成分の数が少ない列に対応する変数ノードを特定し、前記低信頼度ノード検出部により検出された事前値比のうちで、前記特定した変数ノードからチェックノードへ伝搬された事前値比を検出する除外ノード検出部をさらに備え、
前記チェックノード処理部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記除外ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式における前記総積部分以外の部分を演算する、
こととしてもよい。
また、前記チェックノード処理部は、基本復号処理の繰り返し回数が規定回数に至るまでは、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、前記外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記低信頼度ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、変数ノードからチェックノードへ伝搬させる外部値比を算出し、それより後の基本復号処理では、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、前記外部値比の算出式における総積部分とそれ以外の部分とを演算することで、変数ノードからチェックノードへ伝搬させる外部値比を算出する、
こととしてもよい。
また、前記符号化されたデータは、sum−product復号により復号される、
こととしてもよい。
また、前記符号化されたデータは、min−sum復号により復号される、
こととしてもよい。
上記目的を達成するために、本発明の第2の観点に係る復号装置は、
基本復号処理を複数回繰り返すことで、低密度パリティ検査符号により符号化されたデータを確率伝搬法により復号する復号装置であって、
前記低密度パリティ検査符号を定義するパリティ検査行列の列のうちで、前記列を構成する成分の値が1である成分の数が少ない列に対応する変数ノードを特定し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、前記特定した変数ノードからチェックノードへ伝搬された事前値比を検出する除外ノード検出部と、
前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記除外ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式における前記総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させるチェックノード処理部と、
前記チェックノード処理部により算出された前記外部値比に基づいて、次回の基本復号処理で前記チェックノード処理部が外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる変数ノード処理部と、
今回の基本復号処理で前記チェックノード処理部により算出された外部値比と前記変数ノード処理部により算出された事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定するビット推定部と、
を備えることを特徴とする。
上記目的を達成するために、本発明の第3の観点に係る復号方法は、
基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する復号方法であって、
処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されるチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出し、
前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させ、
前記算出された前記外部値比に基づいて、次回の基本復号処理で外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させ、
今回の基本復号処理で前記算出された外部値比と事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定する、
ことを特徴とする。
上記目的を達成するために、本発明の第4の観点に係るプログラムは、
基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する機能を備えたコンピュータに、
処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されるチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出する処理と、
前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させる処理と、
前記算出された前記外部値比に基づいて、次回の基本復号処理で外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる処理と、
今回の基本復号処理で前記算出された外部値比と事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定する処理と、
を実行させることを特徴とする。
本発明によれば、いわゆる誤り伝播を防止し、効率的な復号処理を実現することが可能となる。
(a)は、実施形態1における、デジタル通信システムの構成を示すブロック図である。(b)は、実施形態1における、復号部の構成を示すブロック図である。 (a)は、実施形態1における、パリティ検査行列の例を示す図である。(b)は、(a)のパリティ検査行列を2部グラフで表現した図である。 実施形態1における、通常モードのチェックノード処理を説明するための図である。 実施形態1における、変数ノード処理を説明するための図である。 (a)乃至(c)は、実施形態1における、初回の基本復号処理での除外モードのチェックノード処理を説明するための図である。 (a)乃至(d)は、実施形態1における、初回以外の基本復号処理での除外モードのチェックノード処理を説明するための図である。 実施形態1における、復号処理のフローチャートを示す図である。 実施形態2における、復号部の構成を示すブロック図である。 (a)と(b)は、実施形態2における、列重み情報テーブルの例を示す図である。 (a)と(b)は、実施形態2における、初回の基本復号処理での除外モードのチェックノード処理を説明するための図である。 (a)と(b)は、実施形態2における、初回以外の基本復号処理での除外モードのチェックノード処理を説明するための図である。 実施形態2における、復号処理のフローチャートを示す図である。 実施形態2における、ビット誤り率BER(Bit Error Rate)特性を示す図である。 変形例1における、復号部の構成を示すブロック図である。 変形例1における、復号処理のフローチャートの一部を示す図である。 変形例2における、各変数ノードから接続先のチェックノードへ送信される事前値比の一覧の例を示す図である。 変形例2における、復号処理のフローチャートを示す図である。 信頼度閾値を基本繰り返し回数に従って可変する場合の例を示す図である。 列重み閾値を低信頼度変数ノード数に従って可変する場合の例を示す図である。
本発明の実施形態に係る復号装置について、図面を参照しながら説明する。
(実施形態1)
図1(a)は、デジタル通信システム1の構成を示すブロック図である。本実施形態におけるデジタル通信システム1は、無線送信装置001と無線受信装置002とから構成され、無線送信装置001は、符号化部001Aと、変調部001Bと、無線通信部001Cとから構成される。
なお、本実施形態では、M行xN列のパリティ検査行列HMNにより定義されるLDPC符号により符号化された符号データを、sum−product復号又はmin−sum復号(以下、特に区別する必要が無い場合は、LDPC復号という)により、繰り返し復号する場合について、以下に説明する。
符号化部001Aは、M行xN列のパリティ検査行列HMNにより定義されるLDPC符号により、入力された情報データDを、符号化し、生成されたNビットの符号語(以下、フレームデータFk)ごとに変調部001Bへ順次出力する。
変調部001Bは、符号化部001Aにから順次入力された、フレームデータFk(k=1,2,…,K;Kは任意の数)を所定の信号方式へ変調する。無線通信部001Cは、アンテナと無線通信モジュール等から構成され、変調後のフレームデータFkを増幅して通信路CHへ順次出力する。通信路CHにおいて、出力された変調後のフレームデータFkにノイズ成分が付加され、ノイズ成分が付加されたフレームデータFkが無線受信装置002により順次受信される。
無線受信装置002は、図1(a)に示すように、無線通信部002Aと、復調部002Bと、復号部002Cとから構成される。無線通信部002Aは、アンテナと無線通信モジュール等から構成され、無線送信装置001の無線通信部001Cにより出力され、通信路CHにおいてノイズ成分が付加されたフレームデータFkを順次受信する。
復調部002Bは、無線通信部002Aが受信したフレームデータFkを順次復調し、復調後のフレームデータFkは、復号部002Cに順次入力される。ここで、復調部002Bにより、第k番目に復号部002Cへ入力されるフレームデータFkを受信データFkということとする。
復号部002Cは、図1(b)に示すように、記憶部002C1と、復号処理部002C2と、を備える。
記憶部002C1は、ROM(Read Only Memory)、RAM(Random Access Memory)などから構成され、フレームデータ記憶部002C1aとして機能すると共に、復号処理部002C2を構成するCPU(Central Processing Unit)のワーキングエリア、CPUが実行する動作プログラムを格納するプログラムエリア、各種の算出式とパリティ検査行列HMNと後述する信頼度閾値γ1などの各種データを格納するデータエリア、などとして機能する。
フレームデータ記憶部002C1aは、復号処理部002C2の制御により、復調部002Bから順次入力される受信データFkを格納する。
復号処理部002C2は、CPUなどから構成され、CPUは記憶部002C1に格納されている動作プログラムを実行することで、図1(b)に示すように、低信頼度ノード検出部002C2aと、除外ノード検出部002C2bと、チェックノード処理部002C2cと、変数ノード処理部002C2dと、ビット推定部002C2eと、繰り返し回数判定部002C2fと、判定部002C2gと、推定ビット出力部002C2hとしての機能を実現する。
また、復号処理部002C2は、各機能部の制御処理を実行すると共に、フレームデータ記憶部002C1aに格納されている受信データFk(k=1,2,…,K)を順次読み出して、LPDC復号による復号処理を実行する。復号処理部002C2により読み出された処理対象の受信データFkは、低信頼度ノード検出部002C2aと、チェックノード処理部002C2cと、変数ノード処理部002C2dへ入力される。また、復号処理部002C2は、記憶部002C1から復号処理に必要な算出式などのデータを読み出して復号処理部002C2専用のレジストリに格納する。
LPDC復号は、タナーグラフと呼ばれる2部グラフ上でのメッセージパッシングアルゴリズムとして考えることができる。例えば、LPDC符号を定義するパリティ検査行列HMNが、図2(a)に示すような4行8列のパリティ検査行列だとすると、パリティ検査行列HMNを、図2(b)に示すような2部グラフで表現することができる。図中の、変数ノードbn(n=1,2,…,8)は、パリティ検査行列HMNの列に、チェックノードcm(m=1,…,4)は、パリティ検査行列HMNの行に、ノード間を結ぶエッジは、パリティ検査行列HMNの成分1に、それぞれ対応する。
例えば、図2(a)に示す、点線の丸で囲まれたパリティ検査行列HMNの成分1は、図2(b)に示す、変数ノードb6とチェックノードc2との間を結ぶ点線で表したエッジに対応する。つまり、パリティ検査行列HMNの第2行目に対応するチェックノードc2とエッジで結ばれる変数ノードは、パリティ検査行列HMNの第2行目において成分1を有する、第2列(第2ビット)、第3列(第3ビット)、第5列(第5ビット)、及び、第6列(第6ビット)にそれぞれ対応する変数ノードb2、b3、b5、及び、b6となる。
各チェックノードcmは、エッジで接続される変数ノードから送られて来る事前値比βmn(但し、送信先の変数ノードからの事前値比は除く)に基づいて、外部値比αmnを算出し、送信先の変数ノードへ算出した外部値比αmnを送信する。2部グラフにおいて、事前値比βmnは、変数ノードbnからチェックノードcmへ送信されるメッセージとして、外部値αmnは、チェックノードcmから変数ノードbnへ送信されるメッセージとして、考えることができる。
例えば、パリティ検査行列HMNが、図2(a)に示すような4行8列のパリティ検査行列だとすると、図3に示すように、変数ノードb1とb4とb5がチェックノードc1に接続する。この場合、例えば、送信先の変数ノードが変数ノードb1である場合は、チェックノードc1は、変数ノードb1から送られて来る事前値比β11を除いた変数ノードb4からの事前値比β14と変数ノードb5からの事前値比β15とに基づいて、外部値比α11を算出し、算出した外部値比α11を変数ノードb1へ送信する。また、例えば、送信先の変数ノードが変数ノードb4である場合は、チェックノードc1は、変数ノードb4から送られて来る事前値比β14を除いた変数ノードb1からの事前値比β11と変数ノードb5からの事前値比β15とに基づいて、外部値比α14を算出し、算出した外部値比α14を変数ノードb4へ送信する。
そして、各変数ノードbnは、エッジで接続されるチェックノードから送られて来る外部値比αmn(但し、送信先のチェックノードからの外部値比は除く)に基づいて、事前値比βmnを算出し、算出した事前値比βmnを送信先のチェックノードへ送信する。
例えば、パリティ検査行列HMNが、図2(a)に示すような4行8列のパリティ検査行列だとすると、図4に示すように、チェックノードc1とc3が変数ノードb1に接続する。この場合、送信先のチェックノードがチェックノードc1である場合は、変数ノードb1は、チェックノードc1から送られて来る外部値比α11を除いたチェックノードc3からの外部値比α31に基づいて、事前値比β11を算出し、算出した事前値比β11をチェックノードc1へ送信する。
図1(b)に戻り、低信頼度ノード検出部002C2aは、基本復号処理が繰り返されるたびに、各チェックノードcmに接続する変数ノード(処理対象の受信データFkの各ビット)の信頼度を算出し、算出した信頼度が記憶部002C1に格納されている信頼度閾値γ1以下である変数ノード(処理対象の受信データFkのビット)を各チェックノードcmに対して検出する。本実施形態においては、変数ノード処理部002C2dから入力される事前値比βmnの絶対値│βmn│を、チェックノードcmに接続する変数ノードbnの信頼度として算出する。この事前値比βmnは、2部グラフにおいては、変数ノードbnからチェックノードcmへ送信される事前値比である。なお、初回の基本復号処理では、低信頼度ノード検出部002C2aは、各変数ノードbnの信頼度として、事前値比βmnの初期値である対数尤度比λnの絶対値│λn│を算出する。ここで、対数尤度比λnは、sum−product復号と通常のmin−sum復号では、処理対象の受信データFkの第nビット(n=1,2,…,N)に対応するデータ値ynを通信路値で補正した値y’nであり、正規化min−sum復号では、データ値ynである。低信頼度ノード検出部002C2aは、算出した対数尤度比λnをチェックノード処理部002C2cと変数ノード処理部002C2dへ出力する。
そして、低信頼度ノード検出部002C2aは、信頼度閾値γ1以下である絶対値│βmn│のインデックス番号mとnの組(m,n)を除外ノード検出部002C2bへ出力する。例えば、事前値比β42の絶対値│β42│と事前値比β16の絶対値│β16│とが信頼度閾値γ1以下である場合は、組(4,2)と組(1,6)を除外ノード検出部002C2bへ出力する。また、初回の基本復号処理の際に、例えば、対数尤度比λ3の絶対値│λ3│が信頼度閾値γ1以下であり、チェックノードc2とc7とが変数ノードb3と接続する場合は、チェックノードc2のインデックス番号2と変数ノードb3のインデックス番号3との組(2,3)と、チェックノードc7のインデックス番号7と変数ノードb3のインデックス番号3との組(7,3)と、を除外ノード検出部002C2bへ出力する。検出した変数ノードに接続するチェックノードの情報は、パリティ検査行列HMNを参照することで、得ることができる。
事前値比βmnは、変数ノード処理部002C2dにより、次式を用いて求められる。
Figure 2013207358
ここで、Σは、総和記号であり、B(n)は、変数ノードbnに接続するチェックノードの集合、\mは、チェックノードcmを含まない差集合である。αmnは、外部値比であり、チェックノード処理部002C2cにより求められる。
例えば、パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列であった場合、変数ノードb1は、図4に示すように、チェックノードc1とc3と接続されている。この場合、例えば、変数ノードb1からチェックノードc1へ送信する事前値比β11を算出する際のB(1)\1は、変数ノードb1に接続するチェックノードの集合{c1,c3}から送信先のチェックノードc1を除いた集合{c3}となる。
図1(b)に戻り、除外ノード検出部002C2bは、低信頼度ノード検出部002C2aにより信頼度│βmn│が信頼度閾値γ1以下である変数ノード(処理対象の受信データFkのビット)が検出された場合、すなわち、チェックノードcmのインデックス番号mと変数ノードbnのインデックス番号nとの組(m,n)が低信頼度ノード検出部002C2aから入力された場合には、変数ノードbnをチェックノードcmにおける除外ノード(除外ビット)として、組(m,n)をチェックノード処理部002C2cへ出力する。この組(m,n)は、チェックノードcmにおける除外ノードbnを特定するために用いられる。
チェックノード処理部002C2cは、変数ノード処理部002C2dから入力される事前値比βmnに基づいて、パリティ検査行列HMNの構成成分Hmnのうちで、Hmn=1を満たす全ての組(m,n)について、外部値比αmnを算出する。この際、基本復号処理の繰り返し回数rがr≦R1の場合は、詳しくは後述する除外モードの算出式を用いて外部値比αmnを算出し、R1<r≦R2の場合は、通常モードの算出式を用いて外部値比αmnを算出する。ここで、R2は、基本復号処理の最大繰り返し回数の設定値であり、R1は、2≦R1≦R2を満たす予め設定された自然数である。そして、チェックノード処理部002C2cは、算出した外部値比αmnを、変数ノード処理部002C2dとビット推定部002C2eへ出力する。なお、事前値比βmnの初期値は対数尤度比λnとする。
LDPC復号の復号方式によって、チェックノード処理において外部値比αmnを算出するために用いる通常の算出式が異なることから、sum−product復号、通常のmin−sum復号、正規min−sum復号について、それぞれ通常モードの算出式と除外モードの算出式を以下に示す。
まず、復号方式が、sum−product復号の場合は、通常モードの算出式は、数2に示す算出式で定義される。数2に示す算出式は、外部値比αmnを求める際に通常用いられる算出式である。
Figure 2013207358
ここで、ΠとΣは、それぞれ、総積記号と総和記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合、\nは、変数ノードbnを含まない差集合である。また、関数sign(x)は、x>0の場合は、sign(x)=1となり、x<0の場合は、sign(x)=−1となるシグネチャ関数である。また、関数f(x)は、f(x)=log{(e+1)/(e−1)}で定義される関数で、eは自然対数の底(ネイピア数)である。
例えば、パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列であった場合、チェックノードc1は、図3に示すように、変数ノードb1とb4とb5と接続されている。この場合、例えば、チェックノードc1から変数ノードb1へ送信する外部値比α11を算出する際のA(1)\1は、チェックノードc1に接続する変数ノードの集合{b1,b4,b5}から送信先の変数ノードb1を除いた集合{b4,b5}となる。また、例えば、チェックノードc1から変数ノードb4へ送信する外部値比α14を算出する際のA(1)\4は、集合{b1,b5}となる。
sum−product復号の場合における除外モードの算出式は、数3に示す算出式で定義される。この数3に示す算出式は、本発明特有の算出式である。
Figure 2013207358
ここで、ΠとΣは、それぞれ、総積記号と総和記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合である。また、関数sign(x)は、数2で定義したシグネチャ関数、関数f(x)は、数2で定義した関数f(x)と同じ関数、である。また、E(m)は、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードの集合である。例えば、図2の例において、除外ノード検出部002C2bにより、変数ノードb3、b5がチェックノードc2における除外ノードとされた場合には、E(2)は、{b3,b5}となる。また、\E(m)∪nは、E(m)に含まれる変数ノードと変数ノードbnを含まない差集合である。
復号方式が、通常のmin−sum復号の場合は、通常モードの算出式は、数4に示す算出式で定義される。この数4に示す算出式は、外部値比αmnを求める際に通常用いられる算出式である。
Figure 2013207358
ここで、Πは、総積記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合、\nは、変数ノードbnを含まない差集合である。また、関数sign(x)は、数2で定義したシグネチャ関数、min│βmn’│は、絶対値│βmn’│の最小値、である。
通常のmin−sum復号の場合における除外モードの算出式は、数5に示す算出式で定義される。この数5に示す算出式は、本発明特有の算出式である。
Figure 2013207358
ここで、Πは、総積記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合、\nは、変数ノードbnを含まない差集合である。また、関数sign(x)は、数2で定義したシグネチャ関数、min│βmn’│は、絶対値│βmn’│の最小値、である。また、E(m)は、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードの集合、\E(m)∪nは、E(m)に含まれる変数ノードと変数ノードbnを含まない差集合、である。
復号方式が、正規min−sum復号の場合は、通常モードの算出式は、数6に示す算出式で定義される。この数6に示す算出式は、外部値比αmnを求める際に通常用いられる算出式である。
Figure 2013207358
ここで、Πは、総積記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合、\nは、変数ノードbnを含まない差集合である。また、関数sign(x)は、数2で定義したシグネチャ関数、aは、正規化定数、min│βmn’│は、絶対値│βmn’│の最小値、である。
正規min−sum復号の場合における除外モードの算出式は、数7に示す算出式で定義される。この数7に示す算出式は、本発明特有の算出式である。
Figure 2013207358
ここで、Πは、総積記号であり、A(m)は、チェックノードcmに接続する変数ノードの集合、\nは、変数ノードbnを含まない差集合である。また、関数sign(x)は、数2で定義したシグネチャ関数、min│βmn’│は、絶対値│βmn’│の最小値、である。また、E(m)は、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードの集合、\E(m)∪nは、E(m)に含まれる変数ノードと変数ノードbnを含まない差集合、である。
数3、数5、数7で定義される除外モードの算出式は、E(m)=0又はE(m)={bn}の場合、すなわち、チェックノードcmに接続する変数ノードの中に、チェックノードcmにおける除外ノードが存在しない場合、又は、チェックノードcmにおける除外ノードが外部値比αmnの送信先である変数ノードbnだけの場合には、E(m)∪n={bn}であることから、A(m)\E(m)∪n=A(m)\nとなり、それぞれ、数2、数4、数6で定義される通常モードの算出式と等しくなる。
数3、数5、数7でそれぞれ定義される除外モードの算出式は、総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算する際に、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードを除外して演算するように定義したものである。このように定義することで、除外ノードにおける低信頼度が他のノードに伝搬することを防ぐことが可能となる。このいわゆる誤り伝搬を防止することで、より少ない繰り返し回数でパリティ検査条件を満たすことから、効率的な復号処理を実現することが可能となる。
なお、記憶部002C1は、復号方式に応じて対応する通常モードと除外モードの算出式のペアを格納する。複数の復号方式を切替可能な場合は、記憶部002C1は、それらの復号方式に対応する通常モードと除外モードの算出式のペアをそれぞれ格納する。
図1(b)に戻り、変数ノード処理部002C2dは、チェックノード処理部002C2cから入力された外部値比αmnと低信頼度ノード検出部002C2aから入力された対数尤度比λnとに基づいて、上述の数1に示す算出式から事前値比βmnを算出する。そして、チェックノード処理部002C2cと、低信頼度ノード検出部002C2aと、ビット推定部002C2eとへ算出した事前値比βmnを出力する。なお、数1に示す事前値比βmnの算出式は通常の算出式と同じである。
ビット推定部002C2eは、チェックノード処理部002C2cから入力される外部値比αmnと変数ノード処理部002C2dから入力される事前値比βmnとに基づいて、推定ビット∧yn(n=1,2,…,N)を決定する。具体的には、数8に示す算出式により事後確率比Lnを算出し、算出した事後確率比LnがLn>0ならば、推定ビット∧yn=0、Ln<0ならば、推定ビット∧yn=1とすることで推定ビット∧ynを決定する。そして、ビット推定部002C2eは、決定した推定ビット∧yn(n=1,2,…,N)を判定部002C2gと推定ビット出力部002C2hへ出力する。
Figure 2013207358
ここで、Σは、総和記号であり、B(n)は、変数ノードbnに接続するチェックノードの集合である。
繰り返し回数判定部002C2fは、カウンタC1を備え、カウンタC1のカウンタ値iに基づいて、基本復号処理の繰り返し回数rが、予め設定されている繰り返し回数R1とR2に達したか否かを判定し、判定結果をチェックノード処理部002C2cと推定ビット出力部002C2hへ通知する。
カウンタC1は、基本復号処理の繰り返し回数を管理するためのカウンタで、基本復号処理が繰り返されるたびに、繰り返し回数判定部002C2fによりインクリメントされる。なお、カウンタC1の初期設定値は”1”である。
判定部002C2gは、ビット推定部002C2eから入力される推定ビット∧yn(n=1,2,…,N)がパリティ検査条件(∧y1,∧y2,…,∧yN)HMN =0を満たすか否かを判定する。ここで、HMN はHMNの転置行列である。
推定ビット出力部002C2hは、判定部002C2gにより推定ビット∧ynがパリティ検査条件を満たすと判定された場合は、ビット推定部002C2eから入力された推定ビット∧ynを出力する。また、繰り返し回数判定部002C2fから基本復号処理の繰り返し回数rが最大繰り返し回数R2に達したとの判定結果が通知された場合には、パリティ検査条件を満たしていないと判定された場合であっても、推定ビット∧ynを出力する。そして、復号処理部002Cは、次の受信データFk+1をフレームデータ記憶部002C1aから読み出して、受信データFk+1に対する復号処理を開始し、全ての受信データFk(k=1,2,…,K)に対して、判定部002C2gが推定ビット∧ynを出力した時点で、復号処理を終了する。
ここで、図2と図5と図6とを参照して、具体例に基づいて、除外モードのチェックノード処理について説明する。図6は、初回以外の基本復号処理における除外モードのチェックノード処理を説明するための図である。
まず、図2と図5を参照して、初回の基本復号処理における除外モードのチェックノード処理について説明する。図2(a)は、パリティ検査行列HMNの例を示す図である。図2(b)は、図2(a)に例示するパリティ検査行列を2部グラフ(タナーグラフ)で表現した図である。図5(a)と(b)と(c)は、初回の基本復号処理における除外モードのチェックノード処理を説明するための図である。
例えば、パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列で、各変数ノード(処理対象の受信データFkの各ビット)に対応する対数尤度比λnが、図5(a)に示すような値であったとする。また、信頼度閾値γ1=0.3とする。この場合、低信頼度ノード検出部002C2aは、図5(a)に示すように、各変数ノードbnの信頼度│βmn│として、対応する対数尤度比λnの絶対値である│λn│を算出する。
そして、信頼度閾値γ1=0.3であることから、低信頼度ノード検出部002C2aは、対数尤度比λnの絶対値│λn│が│λn│≦0.3を満たす変数ノードとして、変数ノードb1とb5を検出する。そして、低信頼度ノード検出部002C2aは、パリティ検査行列HMNを参照して、検出した変数ノードb1に接続するチェックノードc1とc3と、検出した変数ノードb5に接続するチェックノードc1とc2と、を特定し、接続関係にあるチェックノードと変数ノードのインデックス番号の組(1,1)、(3,1)、(1,5)、(2,5)を除外ノード検出部002C2bへ出力する。
そして、低信頼度ノード検出部002C2aからチェックノードと変数ノードのインデックス番号の組(1,1)、(3,1)、(1,5)、(2,5)が入力されると、除外ノード検出部002C2bは、変数ノードb1とb5を除外ノード(除外ビット)として、低信頼度ノード検出部002C2aから入力された組(1,1)、(3,1)、(1,5)、(2,5)をチェックノード処理部002C2cへ出力する。
そして、チェックノード処理部002C2cは、除外ノード検出部002C2bから除外ノードのインデックス番号とその除外ノードに接続するチェックノードのインデックス番号との組(1,1)、(3,1)、(1,5)、(2,5)が入力されると、初回の基本復号処理であることから、除外モードの算出式を用い、外部値比αmnを算出する。
例えば、2部グラフにおいてチェックノードc1から変数ノードb1へ送信する外部値比である外部値比α11を算出する場合について説明する。図5(b)に示すように、変数ノードb1、b4、b5がチェックノードc1に接続し、変数ノードb1とb5は、上述したようにチェックノードc1における除外ノードである。したがって、除外モードの算出式である数3、数5、数7におけるA(1)\E(1)∪1は、チェックノードc1に接続する変数ノードの集合{b1,b4,b5}から、チェックノードc1における除外ノードの集合{b1,b5}と送信先の変数ノードb1との和集合{b1,b5}を除いた差集合{b4}となる。
この場合、図5(b)に示すように、送信先の変数ノードb1の他に変数ノードb5を除いた変数ノードb4から送られてくる事前値比β14のみに基づいて、除外モードの算出式である数3、数5、数7におけるΣf(│βmn’│)又はmin│βmn’│を演算する。そして、この様に算出した外部値比α11を送信先の変数ノードb1へ送信する。すなわち、変数ノード処理部002C2dへ出力する。
また、例えば、2部グラフにおいてチェックノードc2から変数ノードb2へ送信する外部値比である外部値比α22を算出する場合は、図5(c)に示すように、変数ノードb2、b3、b5、b6がチェックノードc2に接続し、変数ノードb5は、上述したようにチェックノードc2における除外ノードである。したがって、除外モードの算出式である数3、数5、数7におけるA(2)\E(2)∪2は、チェックノードc2に接続する変数ノードの集合{b2,b3,b5,b6}から、チェックノードc2における除外ノードの集合{b5}と送信先の変数ノードb2との和集合{b2,b5}を除いた差集合{b3,b6}となる。
この場合、図5(c)に示すように、送信先の変数ノードb2の他に変数ノードb5を除いた、変数ノードb3とb6から送られてくる事前値比β23とβ26とに基づいて、除外モードの算出式である数3、数5、数7におけるΣf(│βmn’│)又はmin│βmn’│を演算する。そして、この様に算出した外部値比α22を、接続先の変数ノードb2へ送信する。すなわち、変数ノード処理部002C2dへ出力する。
次に、図2と図6を参照して、初回以外の基本復号処理における除外モードのチェックノード処理について説明する。図6(a)乃至(d)は、初回以外の基本復号処理における除外モードのチェックノード処理を説明するための図である。
例えば、パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列である場合、各変数ノードbn(n=1,2,…,8)から接続先のチェックノードへ送信される事前値比βmnは、図6(b)に示すようになる。例えば、変数ノードb2はチェックノードc2とc3とc4と接続されていることから、変数ノードb2は、チェックノードc2に事前値比β22を、チェックノードc3に事前値比β32を、チェックノードc4に事前値比β42を送信する。
ここで、図6(b)に示す太線で囲まれた事前値比βmnの絶対値│βmn│が、信頼度閾値γ1以下であるとする。この場合、低信頼度ノード検出部002C2aは、太線で囲まれた事前値比βmnのインデックス番号mとnとの組(3,2)、(4,2)、(2,3)、(2,5)、(3,7)を除外ノード検出部002C2bへ出力する。
そして、低信頼度ノード検出部002C2aから組(3,2)、(4,2)、(2,3)、(2,5)、(3,7)が入力されると、除外ノード検出部002C2bは、変数ノードb2とb3とb5とb7をそれぞれ、図6(c)に示すように、チェックノードc3とc4における除外ノード(除外ビット)、チェックノードc2における除外ノード、チェックノードc2における除外ノード、チェックノードc3における除外ノード、として、組(3,2)、(4,2)、(2,3)、(2,5)、(3,7)をチェックノード処理部002C2cへ出力する。
そして、チェックノード処理部002C2cは、基本復号処理の繰り返し回数rがr≦R1の場合は、除外モードの算出式を用い、外部値比αmnを算出する。
例えば、2部グラフにおいてチェックノードc3から変数ノードb1へ送信する外部値比である外部値比α31を算出する場合について説明する。図6(d)に示すように、変数ノードb1、b2、b4、b6、b7がチェックノードc3に接続し、変数ノードb2とb7は、上述したようにチェックノードc3における除外ノードである。したがって、除外モードの算出式である数3、数5、数7におけるA(3)\E(3)∪1は、チェックノードc3に接続する変数ノードの集合{b1,b2,b4,b6,b7}から、チェックノードc3における除外ノードの集合{b2,b7}と送信先の変数ノードb1との和集合{b1,b2,b7}を除いた差集合{b4,b6}となる。
この場合、図6(d)に示すように、送信先の変数ノードb1の他に変数ノードb2とb7を除いた変数ノードb4とb6から送られてくる事前値比β34とβ36とに基づいて、除外モードの算出式である数3、数5、数7におけるΣf(│βmn’│)又はmin│βmn’│を演算する。そして、この様に算出した外部値比α31を送信先の変数ノードb1へ送信する。すなわち、変数ノード処理部002C2dへ出力する。
一方、基本復号処理の繰り返し回数rがR1<rの場合は、チェックノード処理部002C2cは、通常モードの算出式を用いて、外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dへ出力する。
次に、図7を参照して、本実施形態における復号処理のフローについて説明する。なお、各受信データFk(k=1,2,…,K)における復号処理は同じであることから、受信データF1における復号処理について以下説明する。また、この復号処理は、復号処理部002C2が、受信データF1をフレームデータ記憶部002C1aから読み出したことをトリガとして開始され、最終受信データFKに対する処理が完了した時点で終了する。
符号化部001AによりLDPC符号により符号化された情報データRは、フレームデータ(符号語)Fk(k=1,2,…,K)ごとに変調部001Bへ順次出力され、変調部001Bに順次入力されたフレームデータFkは、変調部001Bにより所定の信号方式へ順次変調される。変調されたフレームデータFkは、無線送信装置001の無線通信部001Cにより増幅され通信路CHへ順次出力される。
通信路CHにおいて、ノイズ成分が付加されたフレームデータFkは、無線受信装置002の無線通信部002Aにより順次受信され、復調部002Bへ順次入力される。復調部002Bに順次入力されたフレームデータFkは、復調部002Bにより順次復調され、復調後のフレームデータFkは受信データFkとして復号部002Cに順次入力され、フレームデータ記憶部002C1aに格納される。そして、復号処理部002C2は、フレームデータ記憶部002C1aから、復号処理するために受信データF1を読み出す。
繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iを初期化する(ステップS101)。
そして、低信頼度ノード検出部002C2aは、事前値比βmn(又は、対数尤度比λn)に基づいて各変数ノードbnの信頼度、すなわち、事前値比βmnの絶対値│βmn│(又は、対数尤度比λnの絶対値│λn│)を算出し、算出した信頼度が信頼度閾値γ1以下である変数ノードを各チェックノードcmに対して検出する(ステップS102)。具体的には、カウンタC1のカウンタ値i=1の場合、すなわち、初回の基本復号処理である場合には、低信頼度ノード検出部002C2aは、絶対値│λn│が信頼度閾値γ1以下である対数尤度比λnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)を除外ノード検出部002Cbへ出力する。初回以外の基本復号処理である場合には、低信頼度ノード検出部002C2aは、信頼度閾値γ1以下である絶対値│βmn│のインデックス番号mとnとの組(m,n)を除外ノード検出部002C2bへ出力する。
そして、除外ノード検出部002C2bは、低信頼度ノード検出部002C2aから組(m,n)が入力されると、変数ノードbnをチェックノードcmの除外ノードとして、組(m,n)をチェックノード処理部002C2cへ出力する(ステップS103)。例えば、組(2,3)が低信頼度ノード検出部002C2aから入力された場合は、変数ノードb3はチェックノードc2における除外ノードとなる。
そして、チェックノード処理部002C2cは、除外モードの算出式を用いて外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dとビット推定部002C2eへ出力する(ステップS104)。変数ノード処理部002C2dは、ステップS104の処理でチェックノード処理部002C2cから入力された外部値比αmnと対数尤度比λnとに基づいて、事前値比βmnを算出し、算出した事前値比βmnを低信頼度ノード検出部002C2aとチェックノード処理部002C2cとビット推定部002C2eへ出力する(ステップS105)。
そして、ビット推定部002C2eは、ステップS104の処理でチェックノード処理部002C2cから入力された外部値比αmnとステップS105の処理で変数ノード処理部002C2dから入力された事前値比βmnとに基づいて、推定ビット∧yn(n=1,2,…,N)を決定し、決定した推定ビット∧yn(n=1,2,…,N)を判定部002C2gと推定ビット出力部002C2hへ出力する(ステップS106)。そして、判定部002C2gは、ステップS106の処理でビット推定部002C2eから入力された推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足するか否かを判定する(ステップS107)。
推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足すると判定された場合には(ステップS107;YES)、推定ビット出力部002C2hは、推定ビット∧yn(n=1,2,…,N)を出力する(ステップS117)。そして、復号処理部002C2は、次の受信データF2を読み出して、受信データF2に対する復号処理を開始する。
一方、推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足しないと判定された場合には(ステップS107;NO)、繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iがi=R1であるか否かを判定することで、基本復号処理の繰り返し回数r=R1か否かを判定する(ステップS108)。
基本復号処理の繰り返し回数rが設定値R1にまだ達していないと判定した場合には(ステップS108;NO)、繰り返し回数判定部002C2fは、カウンタC1をインクリメントし(ステップS109)、処理はステップS102の処理へ戻り、前述の処理を繰り返す。
一方、基本復号処理の繰り返し回数r=R1であると判定した場合には(ステップS108;YES)、繰り返し回数判定部002C2fは、さらに、カウンタC1のカウンタ値iがi=R2であるか否かを判定することで、基本復号処理の繰り返し回数rが最大繰り返し回数R2に達したか否かを判定する(ステップS110)。
基本復号処理の繰り返し回数rが最大繰り返し回数R2に達したと判定された場合には(ステップS110;YES)、推定ビット出力部002C2hは、ステップS106の処理でビット推定部002C2eから入力された推定ビット∧yn(n=1,2,…,N)を出力する(ステップS117)。そして、復号処理部002C2は、次の受信データF2を読み出して、受信データF2に対する復号処理を開始する。
一方、基本復号処理の繰り返し回数rがまだ最大繰り返し回数R2に達していないと判定された場合には(ステップS110;NO)、チェックノード処理部002C2cは、通常モードの算出式を用いて、ステップS105の処理で変数ノード処理部002C2dから入力された事前値比βmnに基づいて、外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dとビット推定部002C2eへ出力する(ステップS111)。
そして、変数ノード処理部002C2dは、ステップS111の処理でチェックノード処理部002C2cから入力された外部値比αmnと対数尤度比λnとに基づいて、事前値比βmnを算出し、算出したβmnを低信頼度ノード検出部002C2aとチェックノード処理部002C2cとビット推定部002C2eへ出力する(ステップS112)。
そして、ビット推定部002C2eは、ステップS111の処理でチェックノード処理部002C2cから入力された外部値比αmnとステップS112の処理で変数ノード処理部002C2dから入力された事前値比βmnとに基づいて、推定ビット∧yn(n=1,2,…,N)を決定し、決定した推定ビット∧yn(n=1,2,…,N)を判定部002C2gと推定ビット出力部002C2hへ出力する(ステップS113)。
そして、判定部002C2gは、ビット推定部002C2eから入力された推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足するか否かを判定する(ステップS114)。推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足すると判定された場合には(ステップS114;YES)、推定ビット出力部002C2hは、ステップS113の処理でビット推定部002C2eから入力された推定ビット∧yn(n=1,2,…,N)を出力する(ステップS117)。そして、復号処理部002C2は、次の受信データF2を読み出して、受信データF2に対する復号処理を開始する。
一方、推定ビット∧yn(n=1,2,…,N)が、パリティ検査条件を充足しないと判定された場合には(ステップS114;NO)、繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iがi=R2であるか否かを判定することで、基本復号処理の繰り返し回数rが最大繰り返し回数R2に達したか否かを判定する(ステップS115)。
基本復号処理の繰り返し回数rが最大繰り返し回数R2にまだ達していないと判定した場合には(ステップS115;NO)、繰り返し回数判定部002C2fは、カウンタC1をインクリメントし(ステップS116)、処理はステップS111の処理へ戻り、前述の処理を繰り返す。
一方、基本復号処理の繰り返し回数rが最大繰り返し回数R2に達したと判定された場合には(ステップS115;YES)、推定ビット出力部002C2hは、ステップS113の処理でビット推定部002C2eから入力された推定ビット∧yn(n=1,2,…,N)を出力する(ステップS117)。そして、復号処理部002C2は、次の受信データF2を読み出して、受信データF2に対する復号処理を開始する。
実施形態1によれば、低信頼度ノード検出部002C2aは、初回の基本復号処理の際には、事前値比βmnの初期値である対数尤度比λnの絶対値│λn│を、各チェックノードcmに接続する変数ノードの信頼度として算出し、絶対値│λn│が信頼度閾値γ1以下である対数尤度比λnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mの組(m,n)を除外ノード検出部002C2bを通してチェックノード検出部002C2cへ出力した。低信頼度ノード検出部002C2aは、初回以外の基本復号処理の際には、変数ノード処理部002C2dにより算出された事前値比βmnの絶対値│βmn│を、各チェックノードcmに接続する変数ノードの信頼度として算出し、絶対値│βmn│が信頼度閾値γ1以下である事前値比βmnのインデックス番号mとnとの組(m,n)を除外ノード検出部002C2bを通してチェックノード検出部002C2cへ出力した。そして、チェックノード処理部002C2cは、基本復号処理の繰り返し回数rがr≦R1の場合には、数3、数5、数7で定義される除外モードの算出式を用いて、外部値比αmnを算出した。除外モードの算出式は、総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算する際に、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードを除外して演算するように定義したものである。このように構成することで、除外ノードにおける低信頼度が他のノードに伝搬することを防ぐことが可能となる。このいわゆる誤り伝搬を防止することで、より少ない繰り返し回数でパリティ検査条件を満たすことから、効率的な復号処理を実現することが可能となる。
(実施形態2)
実施形態1においては、除外ノード検出部002C2bは、低信頼度ノード検出部002C2aから入力された変数ノードbnのインデックス番号nとチェックノードcmのインデックス番号mとの組(m,n)を、そのままチェックノード処理部002C2cへ出力した。
本実施形態においては、除外ノード検出部002C2bは、後述するテーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、パリティ検査行列HMNの各列における列重み、すなわち、各列の成分1の数が予め設定されている列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)を特定する。そして、低信頼度ノード検出部002C2aから入力された組(m,n)のうちで、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノードのインデックス番号を含む組を、チェックノード処理部002C2cへ出力する。つまり、除外ノードを誤りが起きやすい列重みが低い列に対応する変数ノードに限定する。
本実施形態における、デジタル通信システム1の基本的な構成は、実施形態1の場合と同じである。但し、図8に示すように、復号部002Cの構成が、実施形態1とでは異なり、記憶部002C1は、さらに、テーブル記憶部002C1bとして機能する。また、上述したように、除外ノード検出部002C2bが果たす役割が実施形態1とでは若干異なる。
テーブル記憶部002C1bは、図9(a)と(b)に例示する列重み情報テーブルT1を格納する。図9(a)と(b)に例示する列重み情報テーブルT1は、パリティ検査行列HMNが図2(a)に示すような4行8列のパリティ検査行列であり、列重み閾値W=2の場合の列重み情報テーブルT1の例である。図9(a)に示す列重み情報テーブルT1は、各列に対応する変数ノード(処理対象の受信データFkのビット)bn(n=1,2,…,8)と、その列の列重みと、フラグと、が対応付けられており、除外ノード検出部002C2bは、フラグ欄を参照することで、列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)を特定することが可能となる。また、図9(b)に示す列重み情報テーブルT1は、列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)の一覧を格納している。なお、列重み情報テーブルT1は、図9(a)と(b)に例示する構成に限定されるものではなく、除外ノード検出部002C2bが、列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)を特定可能であればよい。また、除外ノード検出部002C2bが、パリティ検査行列HMNから直接列重み閾値W以下の列に対応する変数ノードを特定するように構成してもよい。
除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重みが列重み閾値W以下のパリティ検査行列HMNの列に対応する変数ノード(処理対象の受信データFkのビット)を特定する。そして、低信頼度ノード検出部002C2aから入力された組(m,n)のうちで、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)との組を、チェックノード処理部002C2cへ出力する。例えば、低信頼度ノード検出部002C2aから入力された組が(3,4)と(3,7)であり、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノードが変数ノードb5とb7であった場合には、除外ノード検出部002C2bは、変数ノードb7をチェックノードc3における除外ノードとして組(3,7)をチェックノード処理部002C2cへ出力する。
ここで、図2と図9と図10を参照して、本実施形態における、初回の基本復号処理における除外モードのチェックノード処理について説明する。図10(a)と(b)は、パリティ検査行列HMNが図2(a)に示すような4行8列のパリティ検査行列であり、信頼度閾値γ1=0.3、列重み閾値W=2の場合の除外モードのチェックノード処理を説明するための図である。
低信頼度ノード検出部002C2aは、初回の基本復号処理では、対数尤度比λnの絶対値│λn│を各変数ノードの信頼度として算出する。対数尤度比λnの値が、図10(a)に示すような値であったとすると、低信頼度ノード検出部002C2aは、信頼度が信頼度閾値γ1=0.3以下の変数ノードとして、変数ノードb1、b4、b5を検出する。変数ノードb1は、チェックノードc1とc3に、変数ノードb4は、チェックノードc1とc3とc4に、変数ノードb5は、チェックノードc1とc2に、それぞれ接続することから、低信頼度ノード検出部002C2aは、組(1,1)、(3,1)、(1,4)、(3,4)、(4,4)、(1,5)、(2,5)を、除外ノード検出部002C2bへ出力する。
除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重み閾値W以下のパリティ検査行列HMNの列を特定する。パリティ検査行列HMNが図2(a)に示すような4行8列のパリティ検査行列であるときは、図10(a)に示すように、各列の列重みは第1列に対応する変数ノードb1から順番に、2、3、2、3、2、2、2、1である。この場合、列重み閾値W=2であることから、除外ノード検出部002C2bは、列重み閾値W以下の列に対応する変数ノードとして、変数ノードb1、b3、b5乃至b8を特定する。
そして、除外ノード検出部002C2bは、低信頼度ノード検出部002C2aから入力された組(1,1)、(3,1)、(1,4)、(3,4)、(4,4)、(1,5)、(2,5)のうちで、除外ノード検出部002C2bが特定した変数ノードのインデックス番号を含む組(1,1)、(3,1)、(1,5)、(2,5)を、チェックノード処理部002C2cへ出力する。すなわち、変数ノードb1をチェックノードc1とc3の除外ノードとして、変数ノードb5をチェックノードc1とc2の除外ノードとして、チェックノード処理部002C2cへ通知する。
チェックノード処理部002C2cは、初回の基本復号処理であることから、除外モードの算出式を用いて、外部値比αmnを算出する。例えば、2部グラフにおいて、チェックノードc1から変数ノードb1へ送信される外部値比である外部値比α11を算出する際には、上述したように変数ノードb5はチェックノードc1における除外ノードであることから、変数ノードb5を除外して総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算する。図10(b)に示すように、変数ノードb1、b4、b5がチェックノードc1に接続することから、除外モードの算出式である数3、数5、数7におけるA(1)\E(1)∪1は、チェックノードc1に接続する変数ノードの集合{b1,b4,b5}から、チェックノードc1における除外ノードの集合{b5}と送信先の変数ノードb1との和集合{b1,b5}を除いた差集合{b4}となる。
この場合、図10(b)に示すように、送信先の変数ノードb1の他に変数ノードb5を除いた変数ノードb4から送られてくる事前値比β14のみに基づいて、除外モードの算出式である数3、数5、数7におけるΣf(│βmn’│)又はmin│βmn’│を演算する。そして、この様に算出した外部値比α11を送信先の変数ノードb1へ送信する。すなわち、変数ノード処理部002C2dへ出力する。
次に、図2と図9と図11を参照して、初回以外の基本復号処理における除外モードのチェックノード処理について説明する。図11(a)と(b)は、パリティ検査行列HMNが図2(a)に示すような4行8列のパリティ検査行列であり、信頼度閾値γ1=0.3、列重み閾値W=2の場合の除外モードのチェックノード処理を説明するための図である。
パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列である場合、各変数ノードbn(n=1,2,…,8)から接続先のチェックノードへ送信される事前値比βmnは、図11(a)に示すようになる。例えば、変数ノードb2はチェックノードc2とc3とc4と接続されていることから、変数ノードb2は、チェックノードc2に事前値比β22を、チェックノードc3に事前値比β32を、チェックノードc4に事前値比β42を送信する。
ここで、図11(a)に示す太線で囲まれた事前値比βmnの絶対値│βmn│が、信頼度閾値γ1以下であるとする。この場合、低信頼度ノード検出部002C2aは、太線で囲まれた事前値比βmnのインデックス番号mとnとの組(3,2)、(4,2)、(2,3)、(2,5)、(3,7)を除外ノード検出部002C2bへ出力する。
そして、除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重み閾値W以下のパリティ検査行列HMNの列を特定する。パリティ検査行列HMNが図2(a)に示すような4行8列のパリティ検査行列であるときは、図11(a)に示すように、各列の列重みは第1列に対応する変数ノードb1から順番に、2、3、2、3、2、2、2、1である。この場合、列重み閾値W=2であることから、除外ノード検出部002C2bは、列重み閾値W以下の列に対応する変数ノードとして、変数ノードb1、b3、b5乃至b8を特定する。
そして、除外ノード検出部002C2bは、低信頼度ノード検出部002C2aから入力された組(3,2)、(4,2)、(2,3)、(2,5)、(3,7)のうちで、除外ノード検出部002C2bが特定した変数ノードのインデックス番号を含む組(2,3)、(2,5)、(3,7)を、チェックノード処理部002C2cへ出力する。すなわち、変数ノードb3をチェックノードc2の除外ノードとして、変数ノードb5をチェックノードc2の除外ノードとして、変数ノードb7をチェックノードc3の除外ノードとして、チェックノード処理部002C2cへ通知する。
そして、チェックノード処理部002C2cは、基本復号処理の繰り返し回数rがr≦R1の場合は、除外モードの算出式を用い、外部値比αmnを算出する。
例えば、2部グラフにおいてチェックノードc3から変数ノードb1へ送信する外部値比である外部値比α31を算出する場合について説明する。図11(b)に示すように、変数ノードb1、b2、b4、b6、b7がチェックノードc3に接続し、変数ノードb7は、上述したようにチェックノードc3における除外ノードである。したがって、除外モードの算出式である数3、数5、数7におけるA(3)\E(3)∪1は、チェックノードc3に接続する変数ノードの集合{b1,b2,b4,b6,b7}から、チェックノードc3における除外ノードの集合{b7}と送信先の変数ノードb1との和集合{b1,b7}を除いた差集合{b2,b4,b6}となる。
この場合、図11(b)に示すように、送信先の変数ノードb1の他に変数ノードb7を除いた変数ノードb2とb4とb6から送られてくる事前値比β32とβ34とβ36とに基づいて、除外モードの算出式である数3、数5、数7におけるΣf(│βmn’│)又はmin│βmn’│を演算する。そして、この様に算出した外部値比α31を送信先の変数ノードb1へ送信する。すなわち、変数ノード処理部002C2dへ出力する。
一方、基本復号処理の繰り返し回数rがR1<rの場合は、チェックノード処理部002C2cは、通常モードの算出式を用いて、外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dへ出力する。
次に、図12を参照して、本実施形態における復号処理のフローについて説明する。なお、各受信データFk(k=1,2,…,K)における復号処理は同じであることから、受信データF1における復号処理について以下説明する。また、ステップS201以外の処理は実施形態1の場合と同じであることから、ステップS101乃至S104の処理について説明する。また、この復号処理は、復号処理部002C2が、受信データF1をフレームデータ記憶部002C1aから読み出したことをトリガとして開始され、最終受信データFKに対する処理が完了した時点で終了する。
符号化部001AによりLDPC符号により符号化された情報データRは、フレームデータ(符号語)Fk(k=1,2,…,K)ごとに変調部001Bへ順次出力され、変調部001Bに順次入力されたフレームデータFkは、変調部001Bにより所定の信号方式へ順次変調される。変調されたフレームデータFkは、無線送信装置001の無線通信部001Cにより増幅され通信路CHへ順次出力される。
通信路CHにおいて、ノイズ成分が付加されたフレームデータFkは、無線受信装置002の無線通信部002Aにより順次受信され、復調部002Bへ順次入力される。復調部002Bに順次入力されたフレームデータFkは、復調部002Bにより順次復調され、復調後のフレームデータFkは受信データFkとして復号部002Cに順次入力され、フレームデータ記憶部002C1aに格納される。そして、復号処理部002C2は、フレームデータ記憶部002C1aから、復号処理するために受信データF1を読み出す。
繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iを初期化する(ステップS101)。
そして、低信頼度ノード検出部002C2aは、事前値比βmn(又は、対数尤度比λn)に基づいて各変数ノードbnの信頼度、すなわち、事前値比βmnの絶対値│βmn│(又は、対数尤度比λnの絶対値│λn│)を算出し、算出した信頼度が信頼度閾値γ1以下である変数ノードを各チェックノードcmに対して検出する(ステップS102)。具体的には、カウンタC1のカウンタ値i=1の場合、すなわち、初回の基本復号処理である場合には、低信頼度ノード検出部002C2aは、絶対値│λn│が信頼度閾値γ1以下である対数尤度比λnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)を除外ノード検出部002Cbへ出力する。初回以外の基本復号処理である場合には、低信頼度ノード検出部002C2aは、絶対値│βmn│が信頼度閾値γ1以下である事前値比βmnのインデックス番号mとnとの組(m,n)を除外ノード検出部002C2bへ出力する。
そして、除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重みが列重み閾値W以下のパリティ検査行列HMNの列に対応する変数ノード(処理対象の受信データFkのビット)を特定する。そして、低信頼度ノード検出部002C2aから入力された組(m,n)のうちで、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノード(処理対象の受信データFkのビット)との組を、チェックノード処理部002C2cへ出力する(ステップS201)。
そして、チェックノード処理部002C2cは、除外モードの算出式を用いて外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dとビット推定部002C2eへ出力する(ステップS104)。
本実施形態2によれば、低信頼度ノード検出部002C2aは、初回の基本復号処理の際には、事前値比βmnの初期値である対数尤度比λnの絶対値│λn│を、各チェックノードcmに接続する変数ノードの信頼度として算出し、絶対値│λn│が信頼度閾値γ1以下である対数尤度比λnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mの組(m,n)を除外ノード検出部002C2bへ出力した。低信頼度ノード検出部002C2aは、初回以外の基本復号処理の際には、変数ノード処理部002C2dにより算出された事前値比βmnの絶対値│βmn│を、各チェックノードcmに接続する変数ノードの信頼度として算出し、絶対値│βmn│が信頼度閾値γ1以下である事前値比βmnのインデックス番号mとnとの組(m,n)を除外ノード検出部002C2bへ出力した。そして、除外ノード検出部002C2bは、誤りが起きやすい列重みが低いパリティ検査行列の列に対応する変数ノードを特定した。そして、低信頼度ノード検出部002C2aから入力された組(m,n)のうちで、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノードのインデックス番号を含む組を、チェックノード処理部002C2cへ出力した。そして、チェックノード処理部002C2cは、基本復号処理の繰り返し回数rがr≦R1の場合には、数3、数5、数7で定義される除外モードの算出式を用いて、外部値比αmnを算出した。この除外モードの算出式は、総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算する際に、チェックノードcmに接続する変数ノードのうちで、除外ノード検出部002C2bにより除外ノードとされた変数ノードを除外して演算するように定義したものである。このように構成することで、誤りが起きやすい除外ノードの信頼度が信頼度閾値を越えるまで、除外ノードを除外して総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算することが可能となる。これにより、除外ノードにおける低信頼度が他のノードに伝搬することを防ぐことが可能となる。このいわゆる誤り伝搬を防止することで、より少ない繰り返し回数でパリティ検査条件を満たすことから、効率的な復号処理を実現することが可能となる。
図13は、従来のチェックノード処理を行った場合のビット誤り率BER(Bit Error Rate)特性と本発明のチェックノード処理を行った場合のBER特性を示す図である。なお、設定条件は、データビット長:203ビット、符号長:348ビット、符号化率:0.58、最大繰り返し回数:8回、フェージング周波数:41.7Hzである。図13に示すように、外部値比αmnを算出するに際し、信頼度の低い変数ノードを除外して総和Σ、又は、事前値比βmn’の絶対値│βmn’│の最小値を演算することで、復号性能が改善する。
(変形例1)
実施形態1と2においては、事前値比βmnを各チェックノードcmに接続する変数ノードの信頼度とした。本変形例においては、事後確率比Lnを各チェックノードcmに接続する変数ノードの信頼度とする。本変形例は、実施形態1と2のいずれに対しても適用可能であることから、実施形態2に本変形例を適用した場合について以下に説明する。
本変形例におけるデジタル通信システム1の基本的な構成は、実施形態2の場合と同じである。但し、図14に示すように、低信頼度ノード検出部002C2aと変数ノード処理部002C2dとビット推定部002C2eが果たす役割が実施形態2とでは若干異なる。
低信頼度ノード検出部002C2aは、基本復号処理が繰り返されるたびに、ビット推定部002C2eから入力される事後確率比Lnの絶対値│Ln│を、チェックノードcmに接続する変数ノードbnの信頼度として算出する。なお、初回の基本復号処理では、低信頼度ノード検出部002Caは、各変数ノードbnの信頼度として、事前値比βmnの初期値、すなわち、事後確率比Lnの初期値である対数尤度比λnの絶対値│λn│を算出する。ここで、対数尤度比λnは、sum−product復号と通常のmin−sum復号では、処理対象の受信データFkの第nビット(n=1,2,…,N)に対応するデータ値ynを通信路値で補正した値y’nであり、正規化min−sum復号では、データ値ynである。低信頼度ノード検出部002C2aは、算出した対数尤度比λnをチェックノード処理部002C2cと変数ノード処理部002C2dへ出力する。
そして、低信頼度ノード検出部002C2aは、絶対値│Ln│(又は、絶対値│λn│)が信頼度閾値γ1以下である事後確率比Ln(又は、対数尤度比λn)に対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mの組(m,n)を除外ノード検出部002C2bへ出力する。例えば、事後確率比L2の絶対値│L2│と事後確率比L6の絶対値│L6│とが信頼度閾値γ1以下であり、変数ノードb2に接続するチェックノードがチェックノードc3とc4であり、変数ノードb6に接続するチェックノードがチェックノードc1とc3である場合には、組(3,2)、(4,2)、(1,6)、(3,6)を除外ノード検出部002C2bへ出力する。検出した変数ノードに接続するチェックノードの情報は、パリティ検査行列HMNを参照することで、得ることができる。
変数ノード処理部002C2dは、実施形態2においては、算出した事前値比βmnをチェックノード処理部002C2cと、低信頼度ノード検出部002C2aと、ビット推定部002C2eへを出力したが、本変形例では、算出した事前値比βmnをチェックノード処理部002C2cと、ビット推定部002C2eのみに出力する。
ビット推定部002C2eは、チェックノード処理部002C2cから入力される外部値比αmnと変数ノード処理部002C2dから入力される事前値比βmnとに基づいて、推定ビット∧yn(n=1,2,…,N)を決定する。具体的には、数8に示す算出式により事後確率比Lnを算出し、算出した事後確率比LnがLn>0ならば、推定ビット∧yn=0、Ln<0ならば、推定ビット∧yn=1とすることで推定ビット∧ynを決定する。そして、ビット推定部002C2eは、決定した推定ビット∧yn(n=1,2,…,N)を判定部002C2gと推定ビット出力部002C2hへ出力する。また、ビット推定部002C2eは、算出した事後確率比Lnを低信頼度ノード検出部002C2aへ出力する。
次に、図15を参照して、本変形例における復号処理のフローについて説明する。図15は、本変形例における復号処理のフローチャートの一部である。図15に示すフローチャートのステップS301の後の処理は、図7に示す実施形態1における復号処理のフローチャートのステップS103乃至S117の処理と、図12に示す実施形態2における復号処理のフローチャートのステップS201乃至S117の処理と、基本的に同じである。よって、ステップS101とステップS301の処理について、以下に説明する。
なお、各受信データFk(k=1,2,…,K)における復号処理は同じであることから、受信データF1における復号処理について以下説明する。また、この復号処理は、復号処理部002C2が、受信データF1をフレームデータ記憶部002C1aから読み出したことをトリガとして開始され、最終受信データFKに対する処理が完了した時点で終了する。
符号化部001AによりLDPC符号により符号化された情報データRは、フレームデータ(符号語)Fk(k=1,2,…,K)ごとに変調部001Bへ順次出力され、変調部001Bに順次入力されたフレームデータFkは、変調部001Bにより所定の信号方式へ順次変調される。変調されたフレームデータFkは、無線送信装置001の無線通信部001Cにより増幅され通信路CHへ順次出力される。
通信路CHにおいて、ノイズ成分が付加されたフレームデータFkは、無線受信装置002の無線通信部002Aにより順次受信され、復調部002Bへ順次入力される。復調部002Bに順次入力されたフレームデータFkは、復調部002Bにより順次復調され、復調後のフレームデータFkは受信データFkとして復号部002Cに順次入力され、フレームデータ記憶部002C1aに格納される。そして、復号処理部002C2は、フレームデータ記憶部002C1aから、復号処理するために受信データF1を読み出す。
繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iを初期化する(ステップS101)。
そして、低信頼度ノード検出部002C2aは、事後確率比Ln(又は、対数尤度比λn)に基づいて各変数ノードbnの信頼度、すなわち、事後確率比Lnの絶対値│Ln│(又は、対数尤度比λnの絶対値│λn│)を算出し、算出した信頼度が信頼度閾値γ1以下である変数ノードを各チェックノードcmに対して検出する(ステップS301)。具体的には、カウンタC1のカウンタ値i=1の場合、すなわち、初回の基本復号処理である場合には、低信頼度ノード検出部002C2aは、絶対値│λn│が信頼度閾値γ1以下である対数尤度比λnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)を除外ノード検出部002Cbへ出力する。初回以外の基本復号処理である場合には、低信頼度ノード検出部002C2aは、絶対値│Ln│が信頼度閾値γ1以下である事後確率比Lnに対応する変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)を除外ノード検出部002C2bへ出力する。
(変形例2)
実施形態1と2においては、低信頼度ノード検出部002C2aは、絶対値│βmn│が信頼度閾値γ1以下である事前値比βmnに対応するチェックノードcmと変数ノードbnのインデックス番号mとnとの組(m,n)を除外ノード検出部002C2bへ出力した。
本変形例においては、低信頼度ノード検出部002C2aは、絶対値│βmn│が信頼度閾値γ1以下である事前値比βmnに対応する変数ノードbnを検出し、検出した変数ノードbnのインデックス番号nとその変数ノードbnに接続する全てのチェックノードcmのインデックス番号mとの組(m,n)を除外ノード検出部002C2bへ出力する。
なお、本変形例は、実施形態1又は2のいずれに対しても適用可能であることから、実施形態2に本変形例を適用した場合について、以下に説明する。
本変形例におけるデジタル通信システム1の基本的な構成は、実施形態2の場合と同じである。但し、低信頼度ノード検出部002C2aと、除外ノード検出部002C2bが果たす役割が実施形態2とでは若干異なる。
低信頼度ノード検出部002C2aは、変数ノード処理部002C2dから入力される事前値比βmnの絶対値│βmn│が予め設定されている信頼度閾値γ1以下である事前値比に対応する変数ノードを検出する。すなわち、2部グラフにおいて、変数ノードbnが接続先のチェックノードcmに送信する事前値比βmnのうちで、その絶対値が基準値(信頼度閾値γ1)以下である事前値比が一つでも存在する場合には、低信頼度ノード検出部002C2aは、その変数ノードを検出する。
例えば、パリティ検査行列HMNが、図2(a)に例示するパリティ検査行列である場合には、各変数ノードbn(n=1,2,…,8)から接続先のチェックノードへ送信される事前値比βmnは、図16に示すようになる。例えば、変数ノードb2はチェックノードc2とc3とc4と接続されていることから、変数ノードb2は、チェックノードc2に事前値比β22を、チェックノードc3に事前値比β32を、チェックノードc4に事前値比β42を送信する。この場合、低信頼度ノード検出部002C2aは、事前値比β22、β32、β42の絶対値のうちのいずれかが信頼度閾値γ1以下の場合には、変数ノードb2を検出し、事前値比β22、β32、β42の絶対値の全てが信頼度閾値γ1より大きい場合には、変数ノードb2を検出しない。
そして、低信頼度ノード検出部002C2aは、検出した変数ノードbnを特定するための情報を除外ノード検出部002C2bへ出力する。
除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重みが列重み閾値W以下のパリティ検査行列HMNの列に対応する変数ノードbn(処理対象の受信データFkのビットbn)を特定する。そして、除外ノード検出部002C2bは、基本復号処理が繰り返されるたびに、特定した変数ノードのうちで、低信頼度ノード検出部002C2aにより検出された変数ノードを抽出し、抽出した変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)をチェックノード処理部002C2cへ出力する。
例えば、除外ノード検出部002C2bが特定した列重み閾値W以下の列に対応する変数ノードが変数ノードb1とb5とb7であり、低信頼度ノード検出部002C2aにより検出された変数ノードが変数ノードb4とb7である場合には、除外ノード検出部002C2bは、特定した変数ノードb1とb5とb7の中から、変数ノードb7を抽出する。チェックノードc1とc4が抽出した変数ノードb7に接続する場合には、除外ノード検出部002C2bは、変数ノードb7をチェックノードc1とc4における除外ノードとして、組(1,7)、(4,7)をチェックノード処理部002C2cへ出力する。
次に、図17を参照して、本変形例における復号処理のフローについて説明する。図17に示すフローチャートのステップS402の後の処理は、図7に示す実施形態1における復号処理のフローチャートのステップS104乃至S117の処理と基本的に同じである。よって、ステップS101乃至S104の処理について、以下に説明する。
なお、各受信データFk(k=1,2,…,K)における復号処理は同じであることから、受信データF1における復号処理について以下説明する。また、この復号処理は、復号処理部002C2が、受信データF1をフレームデータ記憶部002C1aから読み出したことをトリガとして開始され、最終受信データFKに対する処理が完了した時点で終了する。
符号化部001AによりLDPC符号により符号化された情報データRは、フレームデータ(符号語)Fk(k=1,2,…,K)ごとに変調部001Bへ順次出力され、変調部001Bに順次入力されたフレームデータFkは、変調部001Bにより所定の信号方式へ順次変調される。変調されたフレームデータFkは、無線送信機001の無線通信部001Cにより増幅され通信路CHへ順次出力される。
通信路CHにおいて、ノイズ成分が付加されたフレームデータFkは、無線受信機002の無線通信部002Aにより順次受信され、復調部002Bへ順次入力される。復調部002Bに順次入力されたフレームデータFkは、復調部002Bにより順次復調され、復調後のフレームデータFkは受信データFkとして復号部002Cに順次入力され、フレームデータ記憶部002C1aに格納される。そして、復号処理部002C2は、フレームデータ記憶部002C1aから、復号処理するために受信データF1を読み出す。
繰り返し回数判定部002C2fは、カウンタC1のカウンタ値iを初期化する(ステップS101)。
そして、低信頼度ノード検出部002C2aは、変数ノード処理部002C2dから入力される事前値比βmnに基づいて、信頼度が基準値(信頼度閾値γ1)以下の変数ノードを検出する。そして、低信頼度ノード検出部002C2aは、検出した変数ノードを特定するための情報を除外ノード検出部002C2bへ出力する(ステップS401)。
そして、除外ノード検出部002C2bは、テーブル記憶部002C1bに格納されている列重み情報テーブルT1を参照して、列重みが列重み閾値W以下のパリティ検査行列HMNの列に対応する変数ノード(処理対象の受信データFkのビット)を特定する。そして、除外ノード検出部002C2bは、特定した変数ノードのうちで、低信頼度ノード検出部002C2aにより検出された変数ノードを抽出し、抽出した変数ノードbnのインデックス番号nとその変数ノードbnに接続するチェックノードcmのインデックス番号mとの組(m,n)をチェックノード処理部002C2cへ出力する。(ステップS402)。
そして、チェックノード処理部002C2cは、除外モードの算出式を用いて外部値比αmnを算出し、算出した外部値比αmnを変数ノード処理部002C2dとビット推定部002C2eへ出力する(ステップS104)。
なお、上記実施形態における無線送信装置001と無線受信装置002は、それぞれ基地局及び移動情報端末に適用でき、ピアツーピア通信装置等に適用できる。
また、上記実施形態1と2において、LDPC符号により符号化された符号データをsum−product復号、min−sum復号により復号処理する場合について説明したが、これに限定されるものではなく、本発明は、符号化された符号データを確率伝搬法により復号する場合に適用可能である。
また、上記実施形態1と2において、図18に例示すように、基本復号処理の繰り返し回数rに従って、信頼度閾値γ1を段階的に大きくするように構成してもよい。
また、上記実施形態2において、図19に例示するように、低信頼度ノード検出部002C2aにより検出された信頼度の低い変数ノードの数に従って、列重み閾値Wを可変してもよい。
また、上記変形例2において、変数ノード処理部002C2dにより算出された事前値比βmnの絶対値│βmn│を信頼度としたが、事後確率比Lnの絶対値│Ln│を信頼度としてもよい。
また、上記変形例2において、変数ノードbnに接続する全てのチェックノードcmに対する事前値比βmnの絶対値│βmn│のうちのいずれかが信頼度閾値γ1以下の場合に、低信頼度ノード検出部002C2aは、変数ノードbnを検出すると説明したが、これに限定されるものではなく、例えば、絶対値│βmn│が信頼度閾値γ1以下の事前値比βmnの個数が規定数X以上の場合に、低信頼度ノード検出部002C2aは、変数ノードbnを検出するように構成してもよい。
なお、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行することとしてもよい。
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、取得等するようにしてもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
1 デジタル通信システム
001 無線送信装置
001A 符号化部
001B 変調部
001C 無線通信部
CH 通信路
002 無線受信装置
002A 無線通信部
002B 復調部
002C 復号部
002C1 記憶部
002C1a フレームデータ記憶部
002C1b テーブル記憶部
002C2 復号処理部
002C2a 低信頼度ノード検出部
002C2b 除外ノード検出部
002C2c チェックノード処理部
002C2d 変数ノード処理部
002C2e ビット推定部
002C2f 繰り返し回数判定部
002C2g 判定部
002C2h 推定ビット出力部
C1 カウンタ
T1 列重み情報テーブル
MN パリティ検査行列
bn 変数ノード
cm チェックノード

Claims (12)

  1. 基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する復号装置であって、
    処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されたチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出する低信頼度ノード検出部と、
    前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記低信頼度ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させるチェックノード処理部と、
    前記チェックノード処理部により算出された前記外部値比に基づいて、次回の基本復号処理で前記チェックノード処理部が外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる変数ノード処理部と、
    今回の基本復号処理で前記チェックノード処理部により算出された外部値比と前記変数ノード処理部により算出された事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定するビット推定部と、
    を備えることを特徴とする復号装置。
  2. 前記信頼度は、前回の基本復号処理で前記変数ノード処理部により算出された事前値比の絶対値であり、
    前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事前値比を検出する、
    ことを特徴とする請求項1に記載の復号装置。
  3. 前記信頼度は、前回の基本復号処理で前記変数ノード処理部により算出される事前値比の絶対値であり、
    前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事前値比の伝搬元の変数ノードからチェックノードへ伝搬された事前値比を検出する、
    ことを特徴とする請求項1に記載の復号装置。
  4. 前記信頼度は、前回の基本復号処理で前記ビット推定部により算出された事後確率比の絶対値であり、
    前記低信頼度ノード検出部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、絶対値の値が所定の基準値以下である事後確率比に対応する変数ノードからチェックノードへ伝搬された事前値比を検出する、
    ことを特徴とする請求項1に記載の復号装置。
  5. 前記データは、低密度パリティ検査符号により符号化されたデータである、
    ことを特徴とする請求項1乃至4の何れか一に記載の復号装置。
  6. 前記低密度パリティ検査符号を定義するパリティ検査行列の列のうちで、前記列を構成する成分の値が1である成分の数が少ない列に対応する変数ノードを特定し、前記低信頼度ノード検出部により検出された事前値比のうちで、前記特定した変数ノードからチェックノードへ伝搬された事前値比を検出する除外ノード検出部をさらに備え、
    前記チェックノード処理部は、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記除外ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式における前記総積部分以外の部分を演算する、
    ことを特徴とする請求項5に記載の復号装置。
  7. 前記チェックノード処理部は、基本復号処理の繰り返し回数が規定回数に至るまでは、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、前記外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記低信頼度ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、変数ノードからチェックノードへ伝搬させる外部値比を算出し、それより後の基本復号処理では、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、前記外部値比の算出式における総積部分とそれ以外の部分とを演算することで、変数ノードからチェックノードへ伝搬させる外部値比を算出する、
    ことを特徴とする請求項1乃至6の何れか一に記載の復号装置。
  8. 前記符号化されたデータは、sum−product復号により復号される、
    ことを特徴とする請求項1乃至7の何れか一に記載の復号装置。
  9. 前記符号化されたデータは、min−sum復号により復号される、
    ことを特徴とする請求項1乃至7の何れか一に記載の復号装置。
  10. 基本復号処理を複数回繰り返すことで、低密度パリティ検査符号により符号化されたデータを確率伝搬法により復号する復号装置であって、
    前記低密度パリティ検査符号を定義するパリティ検査行列の列のうちで、前記列を構成する成分の値が1である成分の数が少ない列に対応する変数ノードを特定し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、前記特定した変数ノードからチェックノードへ伝搬された事前値比を検出する除外ノード検出部と、
    前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記除外ノード検出部により検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式における前記総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させるチェックノード処理部と、
    前記チェックノード処理部により算出された前記外部値比に基づいて、次回の基本復号処理で前記チェックノード処理部が外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる変数ノード処理部と、
    今回の基本復号処理で前記チェックノード処理部により算出された外部値比と前記変数ノード処理部により算出された事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定するビット推定部と、
    を備えることを特徴とする復号装置。
  11. 基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する復号方法であって、
    処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されるチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出し、
    前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させ、
    前記算出された前記外部値比に基づいて、次回の基本復号処理で外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させ、
    今回の基本復号処理で前記算出された外部値比と事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定する、
    ことを特徴とする復号方法。
  12. 基本復号処理を複数回繰り返すことで、符号化されたデータを確率伝搬法により復号する機能を備えたコンピュータに、
    処理対象のデータの各ビットに対応する各変数ノードの、前記各変数ノードに接続されるチェックノードにおける信頼度を算出し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比のうちで、信頼度が所定の基準値以下である変数ノードからチェックノードへ伝搬された事前値比を検出する処理と、
    前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比に基づいて、チェックノードから変数ノードへ伝搬させる外部値比の算出式における総積部分を演算し、前回の基本復号処理で変数ノードからチェックノードへ伝搬された事前値比から、前記検出された事前値比を除外した事前値比に基づいて、前記外部値比の算出式の総積部分以外の部分を演算することで、外部値比を算出し、算出した外部値比を前記チェックノードから変数ノードへ伝搬させる処理と、
    前記算出された前記外部値比に基づいて、次回の基本復号処理で外部値比を算出するために用いる事前値比を算出し、算出した事前値比を変数ノードからチェックノードへ伝搬させる処理と、
    今回の基本復号処理で前記算出された外部値比と事前値比とに基づいて、前記各ビットに対応する事後確率比を算出し、算出した事後確率比に基づいて、処理対象のデータの各ビットを推定する処理と、
    を実行させることを特徴とするプログラム。
JP2012071348A 2012-03-27 2012-03-27 復号装置、復号方法、及び、プログラム Active JP5765281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012071348A JP5765281B2 (ja) 2012-03-27 2012-03-27 復号装置、復号方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012071348A JP5765281B2 (ja) 2012-03-27 2012-03-27 復号装置、復号方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2013207358A true JP2013207358A (ja) 2013-10-07
JP5765281B2 JP5765281B2 (ja) 2015-08-19

Family

ID=49526083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012071348A Active JP5765281B2 (ja) 2012-03-27 2012-03-27 復号装置、復号方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP5765281B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150121966A (ko) * 2014-04-22 2015-10-30 아주대학교산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
JP2016056176A (ja) * 1999-09-08 2016-04-21 中外製薬株式会社 タンパク質溶液製剤およびその安定化方法
KR101627283B1 (ko) * 2015-04-13 2016-06-03 아주대학교 산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US10069515B2 (en) 2015-02-02 2018-09-04 Kabushiki Kaisha Toshiba Decoding device and decoding method
US10324785B2 (en) 2016-07-19 2019-06-18 Samsung Electronics Co., Ltd. Decoder using low-density parity-check code and memory controller including the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011586A1 (en) * 2004-03-31 2007-01-11 Belogolovy Andrey V Multi-threshold reliability decoding of low-density parity check codes
JP2008016959A (ja) * 2006-07-03 2008-01-24 Toshiba Corp 復号装置、方法およびプログラム
JP2008219528A (ja) * 2007-03-05 2008-09-18 Keio Gijuku Ldpc符号検出装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011586A1 (en) * 2004-03-31 2007-01-11 Belogolovy Andrey V Multi-threshold reliability decoding of low-density parity check codes
JP2008016959A (ja) * 2006-07-03 2008-01-24 Toshiba Corp 復号装置、方法およびプログラム
JP2008219528A (ja) * 2007-03-05 2008-09-18 Keio Gijuku Ldpc符号検出装置及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6015019414; 仲村 泰明 他: 'LDPC符号の列重みを考慮した繰り返し復号の一検討' 電子情報通信学会技術研究報告 Vol.106, No.409, 20061130, pp.19-24 *
JPN6015019415; 山口 和彦 他: '復号順序制御を行う Sum-Product 復号法の特性評価その2' 電子情報通信学会技術研究報告 Vol.104, No.729, 20050310, pp.77-82 *
JPN6015019416; あべ松大輔 他: 'LLR更新を制御した低演算量LDPC復号アルゴリズムの提案' 電子情報通信学会技術研究報告 Vol.106, No.555, 20070228, pp.81-86 *
JPN6015019417; Liang Gong et al.: 'A Modified Belief Propagation Algorithm Based on Attenuation of the Extrinsic LLR' Vehicular Technology Conference Fall (VTC 2010-Fall), 2010 IEEE 72nd , 20100909 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016056176A (ja) * 1999-09-08 2016-04-21 中外製薬株式会社 タンパク質溶液製剤およびその安定化方法
KR20150121966A (ko) * 2014-04-22 2015-10-30 아주대학교산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
KR101599336B1 (ko) 2014-04-22 2016-03-04 아주대학교 산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US9503124B2 (en) 2014-04-22 2016-11-22 Ajou University Industry-Academic Cooperation Foundation Method and apparatus for decoding low-density parity-check code
US10069515B2 (en) 2015-02-02 2018-09-04 Kabushiki Kaisha Toshiba Decoding device and decoding method
KR101627283B1 (ko) * 2015-04-13 2016-06-03 아주대학교 산학협력단 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치
US10324785B2 (en) 2016-07-19 2019-06-18 Samsung Electronics Co., Ltd. Decoder using low-density parity-check code and memory controller including the same

Also Published As

Publication number Publication date
JP5765281B2 (ja) 2015-08-19

Similar Documents

Publication Publication Date Title
CN107251439B (zh) 用于自适应调制和编码amc的方法和amc控制器
US7716561B2 (en) Multi-threshold reliability decoding of low-density parity check codes
US8209579B2 (en) Generalized multi-threshold decoder for low-density parity check codes
KR101431162B1 (ko) 주변 신뢰도에 따른 서열화를 이용한 메시지 전달 디코딩 방법
JP5765281B2 (ja) 復号装置、復号方法、及び、プログラム
KR20070045134A (ko) 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
WO2017086414A1 (en) Quantized belief propagation decoding of ldpc codes with mutual information-maximizing lookup tables
CN104467874B (zh) 一种基于振荡变量节点的ldpc码动态调度译码方法
WO2018126982A1 (en) Apparatus and methods for training-based channel code design
Xiao et al. Error rate estimation of low-density parity-check codes decoded by quantized soft-decision iterative algorithms
US20130055043A1 (en) Two Low Complexity Decoding Algorithms for LDPC Codes
JP2008199623A (ja) メッセージパッシングおよび強制収斂復号法
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
JP2007512741A (ja) 信頼性のないメッセージの交換を取消す信念伝播復号化器
KR101699749B1 (ko) 짧은 길이의 극 부호를 위한 향상된 bp 복호 방법 및 그 장치
JP2010103807A (ja) 無線中継装置、無線受信装置及び復号方法
US20130272456A1 (en) Decoding apparatus and decoding method for decoding data encoded by ldpc
KR101145673B1 (ko) 특정 구조를 가지는 lt코드를 이용한 부호화 방법 및 이를 기반으로 하는 랩터 코드를 이용한 부호화 방법
KR101554488B1 (ko) 저밀도 패리티 체크 코드의 디코딩 방법 및 장치
Baviskar et al. LDPC based error resilient audio signal processing for wireless communication
JP2011082759A (ja) 誤り訂正符号の復号方法およびその装置
Majumder et al. Joint channel estimation and decoding of Raptor code on fading channel
JP5034588B2 (ja) 軟判定復号装置および軟判定復号プログラム
US20120166905A1 (en) Method and apparatus for controlling decoding in receiver
US20100318876A1 (en) Decoding device, decoding method, decoding program, reception device, and communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150601

R150 Certificate of patent or registration of utility model

Ref document number: 5765281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150