JP5493602B2 - 復号化装置及び復号化方法 - Google Patents

復号化装置及び復号化方法 Download PDF

Info

Publication number
JP5493602B2
JP5493602B2 JP2009201033A JP2009201033A JP5493602B2 JP 5493602 B2 JP5493602 B2 JP 5493602B2 JP 2009201033 A JP2009201033 A JP 2009201033A JP 2009201033 A JP2009201033 A JP 2009201033A JP 5493602 B2 JP5493602 B2 JP 5493602B2
Authority
JP
Japan
Prior art keywords
probability
expression
message
value
algorithm
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
JP2009201033A
Other languages
English (en)
Other versions
JP2011055168A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009201033A priority Critical patent/JP5493602B2/ja
Publication of JP2011055168A publication Critical patent/JP2011055168A/ja
Application granted granted Critical
Publication of JP5493602B2 publication Critical patent/JP5493602B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Description

本願開示は、一般に復号化装置及び復号化方法に関し、詳しくはLDPC符号に対する復号化装置及び復号化方法に関する。
LDPC(Low Density Parity Check:低密度パリティ検査)とは、送信信号がチャネル雑音により誤って受信された場合に、その誤りを訂正する手法の一つである。LDPC符号を用いた送受信方式では、誤り訂正を行うためにLDPC検査行列Hが用いられる。送信信号Txは、送信側においてH×Tx=0となるようにして送信している。従って送信した信号が受信側で正しく受信された場合には、受信信号RxはH×Rx=0という条件を満たすことになる。このH×Rxという計算をパリティ検査と呼ぶ。
図1は、LDPC符号を用いた送受信モデルを示す図である。送信側10からH×Tx=0となるように送信した送信信号Tx=[001001]が、伝送路においてチャネル雑音を受け、受信信号Rx=[011001]として受信側12に受信される。この受信信号Rxに対するパリティ検査H×Rxの結果はゼロにならず、受信信号Rxには誤りがあることが分かる。受信側12では、LDPC復号化を行なうLDPC復号器を用いて、H×Rx=0となるように誤り訂正を行う。これにより誤り訂正後の受信信号Rx'=[001001]が得られる。
図2は、パリティ検査で用いる行列計算の定義を示す図である。図2に示すように、パリティ検査の行列計算では、通常の行列演算の積和計算において「積」が論理積(&)演算となり、「和」が排他的論理和(XOR)となった演算を行なう。
LDPC復号処理では、受信信号の確率的な信頼度情報である対数尤度比LLR(Log Likelihood Ratio)から算出した確率情報を更新していくことにより、パリティ検査結果がゼロになるような受信信号を求める。LDPC復号アルゴリズムとして、良好な訂正能力を持つLayered復号アルゴリズムが一般的に用いられる。
図3はLayeredアルゴリズムを用いたLDPC復号器の構成の一例を示す図である。LDPC復号器20は、確率演算処理部21とパリティ検査部22とを含む。LDPC復号器20への入力λは受信信号から導出した値で、送信信号が0なのか1なのかを確率的に表した事前確率であり、LLR(Log-Likelihood Ratio)と呼ばれる。LDPC復号器20の出力Rx'は誤り訂正後の受信信号である。確率演算処理部20は、事前確率λに基づいて事後確率sumを求め、反復処理により事後確率sumを更新していくことにより、確率を高める処理を行なう。パリティ検査部22は、事後確率sumを用いてRx'を算出してパリティ検査H×Rx'の演算を行なう。このパリティ検査の結果がゼロであるか否かに基づいて、復号処理を終了するか或いは事後確率sumをフィードバックして反復処理をもう一回繰返すかが制御される。
確率演算処理部21は、ビットノード処理部25、チェックノード処理部26、及び事後確率更新処理部27を含む。ビットノード処理部25は、事前確率λと事後確率sumと確率α(確率メッセージα)とを用いて確率β(確率メッセージβ)を算出する。これら確率αと確率βとについては、後程説明する。チェックノード処理部26は、確率βを用いて確率αを更新する。図3では更新後の確率αをα'として示してある。事後確率更新処理部27は、ビットノード処理部25で算出したβとチェックノード処理部26で算出したα'とを用いて事後確率sumを更新する。図3では更新後の事後確率sumをsum'として示してある。
図4は、タナーグラフを説明するための図である。チェックノード処理、ビットノード処理、及び事後確率更新処理の説明は、タナーグラフ表現を用いることで容易になる。(a)には、検査行列Hの例を示す。各列をb1乃至b6で示し、各行をc1乃至c4で示す。(b)には、(a)に示す検査行列Hを用いたパリティ検査による誤り無しの条件を示す。即ち誤り無しの場合には、要素Rx1乃至Rx6からなる受信信号列に検査行列Hを掛けて得られる列において、各要素の値がゼロとなる。(c)は、(a)に示す検査行列Hに等価なタナーグラフを示す。タナーグラフにおいては、検査行列Hの各列b1乃至b6に対応して設けたノードをビットノードb1乃至b6と呼び、検査行列Hの各行c1乃至c4に対応して設けたノードをチェックノードc1乃至c4と呼ぶ。検査行列Hにおいて値が"1"である要素に対応するビットノードbnとチェックノードcmとの間を線(エッジ)で連結することにより、タナーグラフが得られる。例えば、(a)に示す検査行列Hの第2行c2の各要素の値は[111010]である。これらの値"1"の位置に対応して、(c)に示すタナーグラフにおいては、チェックノードc2にビットノードb1、b2、b3、b5からのエッジが連結される。
ここで(c)に示すように、チェックノードc1乃至c4の各々について、受信信号列の要素を排他的論理和で結合した拘束条件が定義される。例えばチェックノードc2については、Rx1+Rx2+Rx3+Rx5=0が拘束条件となる("+"は排他的論理和)。全てのチェックノードc1乃至c4についての拘束条件が満たされることが、(b)に示すパリティ検査における誤り無しの条件と等価となる。
このようにパリティ検査条件とタナーグラフとは等価な表現である。なおタナーグラフにおいてビットノードは、受信信号の各ビットの事後確率を表しており、チェックノードは、パリティ検査における誤り検出判定に用いる拘束条件を表している。エッジに対し、チェックノードからビットノード方向への確率メッセージをαと定義し、ビットノードからチェックノード方向への確率メッセージをβと定義する。つまり、エッジ一本に対し一つのαと一つのβとが存在する。
チェックノード処理とは、確率βを用いて、確率αを計算する処理である。βの初期値はλである。図4のチェックノードc1に注目すると、Rx1+Rx2+Rx4+Rx6=0を満足すればc1の拘束条件を満足できる。この拘束条件は、排他的論理和の特性により、Rx1=Rx2+Rx4+Rx6と表わすことができる。すなわち、Rx1の確率を計算する時に、Rx1を用いないで計算することができる。
図5はタナーグラフ表現によりチェックノード処理を示す図である。図5(a)は、チェックノードcmとビットノードbnに対するチェックノード処理を説明するための図である。図5(a)に示すように、A(m)はチェックノードcmに接続する全てのビットノードの集合を表わし、A(m)\nは、A(m)からbnを除いたビットノードの集合を表わす。αmnはチェックノードcmからビットノードbnへの確率メッセージであり、βmnはビットノードbnからチェックノードcmへの確率メッセージである。cmの拘束条件を利用することにより、βmnを使わずにαmnを計算することができる。例えば、図4(c)のチェックノードc1に着目した場合、図5(b)に示すようにチェックノードc1に接続しているビットノードの集合はb1、b2、b4、b6である。この場合、c1の拘束条件を利用することにより、β11を使わずに確率β12、β14、β16に基づいてα11を計算することができる。
ビットノード処理とは、確率αと事前確率λとを用いて確率βを算出する処理である。図6はタナーグラフ表現によりビットノード処理を示す図である。βの計算式は、
Figure 0005493602
と表すことができる。ここで図6(a)に示すように、B(n)はビットノードbnに接続する全てのチェックノードの集合を表わし、B(n)\mはB(n)からcmを除いたチェックノードの集合を表わす。例えば、図4のビットノードb1に着目した場合、図6(b)に示すようにビットノードb1に接続しているチェックノード集合はc1、c2、c3である。この場合、β11=λ+α21+α31と計算することができる。
事後確率更新処理は、ビットノードbnに接続している全てのエッジの確率αとλとの総和sum(n)を計算する処理である。即ち、事後確率更新処理の演算は、
Figure 0005493602
と表すことができる。これは事前確率λに対して、チェックノードの拘束条件によって計算したαを加算することにより、事前確率よりも信頼度を高めた事後確率sum(n)を求めることを意味している。なお事前確率λは、送信信号Txnが0又は1である確率を受信信号Rxnに基づいて求めた値であり、事後確率sum(n)は、一連の観測受信信号Rx1乃至Rx6を受信したという条件及びチェックノードの拘束条件の下で、送信信号Txnが0又は1である確率を示す値である。
ここでビットノードbnに対して、上記数2を変形して上記数1のβmnを代入することにより、
Figure 0005493602
と表わすことができる。また上式のαmnを移項することにより、
Figure 0005493602


と表わすことができる。図7(a)に、ビットノードbnに対するsum(n)と、βmnと、αmnとの関係を模式的に示す。例えば図4のビットノードb1に着目した場合、図7(b)に示すように、ビットノードb1にはチェックノードc1、c2、c3が接続される。ここで、
Figure 0005493602

であるので、β11とsum(1)とは、
Figure 0005493602

により計算することができる。具体的には、更新前のsum(1)からα11を減算して図3のビットノード処理部25がβ11を求め、このβ11とチェックノード処理部26が計算した更新後のα11とを加算して図3の事後確率更新処理部27が更新後のsum(1)を求める。図7(b)に、ビットノードb1に対するsum(1)と、β11と、α11との関係を模式的に示す。
以下Layeredアルゴリズムのチェックノード処理におけるαの計算の仕方について説明する。Layeredアルゴリズムには、チェックノード処理におけるβからαを求める計算式の違いにより、Layered BPアルゴリズム、Layered Min-sumアルゴリズム、及びLayered Normalized Min-sumアルゴリズムがある。
図8は、Layered BP、Layered Min-sum、及びLayered Normalized Min-sumの数式比較を示す図である。Layered BPアルゴリズムにおけるαの計算式は図8に示す式(1)である。この式(1)に基づいてαを計算することにより、良好なBER(Bit Error Rate)特性を得ることができる。しかしながら式(1)の計算をハードウェアで実現することは困難であり、Layered BPアルゴリズムは一般的に用いられない。そこで、式(1)を式(2)に変形し、更に項E1を切り捨てた式(3)を用いることが考えられる。この式(3)をα計算に用いるアルゴリズムをLayered Min-sumアルゴリズムと呼ぶ。図8において、Layered BPアルゴリズムにより求められるαmnの値の大きさを模式的にバー31の長さで示している。またLayered Min-sumアルゴリズムにより求められるαmnの値の大きさを模式的にバー32の長さで示している。バー31とバー32との長さの違いとして表わされるように、Layered Min-sumアルゴリズムにより求められるαmnの値は、Layered BPアルゴリズムにより求められるαmnの値に比較して誤差E1を含んでいる。
Layered Min-sumアルゴリズムのハードウェア実現は比較的容易であるが、項E1を切り捨てたことにより、BER特性はLayered BPアルゴリズムより劣化することが知られている。そこで、式(3)に1未満の定数Normalization factor(γ)を掛けた式(4)をα計算に用いて、誤差量を削減することが考えられる。この式(4)をα計算に用いるアルゴリズムをLayered Normalized Min-sumアルゴリズムと呼ぶ。図8において、Layered Normalized Min-sumアルゴリズムにより求められるαmnの値の大きさを模式的にバー33の長さで示している。図8に示されるように、バー33の長さは、バー32の長さをγ倍に縮小することで、バー31に近い長さとなるように補正されている。即ち、Layered Normalized Min-sumアルゴリズムにより求められるαmnの値の大きさは、Layered Min-sumアルゴリズムにより求められるαmnの値よりも、Layered BPアルゴリズムにより求められるαmnの値に近くなっている。このLayered Normalized Min-sumアルゴリズムは、ハードウェア実現の容易性がLayered Min-sumと略変わらずにLayered BPのBER特性に近づくことができるので、一般的に用いられているアルゴリズムである。
図9は、Layered Normalized Min-sumアルゴリズムのフローチャートを示す。ステップS1で初期化処理を行なう。即ち、事後確率sum(上述のsum(n)と同一)に、初期値として事前確率λを代入する。ステップS2で、ビットノード処理を行なう。即ち、事後確率sumからαmnを減算することでβmnを求める。ステップS3で、チェックノード処理を行なう。即ち、図8に示す式(4)を用いることにより、更新後のαmnを計算する。ステップS4で、事後確率更新処理を実行する。即ち、ステップS2のビットノード処理で求めたβmnとステップS3のチェックノード処理で求めた更新後のαmnとを加算することにより、更新後の事後確率sumを求める。ステップS5で、全ての確率演算処理が完了したか否かを判断する。まだ実行すべき確率演算処理がある場合にはステップS2に戻り、以降の処理を繰り返す。全ての確率演算処理が完了すると、ステップS6に進む。ステップS6で、パリティ検査を実行する。即ち、求められた事後確率sumから算出したRx'に対して検査行列を掛けて、演算結果がゼロになるか否かを判断する。パリティ検査結果がゼロでなければ、ステップS2に戻り以降の処理を繰り返すことにより、事後確率sumを再度更新する。パリティ検査結果がゼロになるまで、上記の処理を反復的に実行し、パリティ検査結果がゼロになると処理を終了する。
上述のように、Layered Normalized Min-sumアルゴリズムは、ハードウェア実現が比較的容易である。しかしながら、Layered BPアルゴリズムと比較した場合の誤差の大きさが十分に小さいとはいえず、劣悪な受信環境においては安定した受信ができなくなる。
Jinghu Chen, Ajay Dholakia, Evangelos Eleftheriou, Marc P. C. Fossorier, Xiao-Yu Hu, "Reduced-Complexity Decoding of LDPC Codes," IEEE Trans. on Communications, vol. 53, no. 8, pp.1288-1299, Aug. 2005 Christopher Jones, Esteban Valles, Michael Smith, and John Villasenor, "Approximate-min constraint node updating for LDPC code decoding," Military Communications Conference (MILCOM), 2003 Mohammad M. Mansour, Naresh R. Shanbhag, "High-Throughput LDPC Decoders," IEEE Trans. VLSI Syst., vol. 11, no. 6, pp.976-996, Dec. 2003
以上を鑑みると、Layered Normalized Min-sumアルゴリズムよりも良好なBER特性を有し、且つハードウェア実現が容易なアルゴリズムを用いた復号化装置及び復号化方法が望まれる。
低密度パリティチェック符号化された受信信号を受け取り、前記受信信号の確率的な信頼度を表わす事前確率から、パリティチェックに基づく受信信号の拘束条件を考慮して事後確率を求めることにより復号処理を行なう復号化装置は、前記事前確率を初期値とする前記事後確率と第1の確率メッセージとから第2の確率メッセージを求めるビットノード処理部と、前記ビットノード処理部が求めた前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求めるチェックノード処理部と、前記ビットノード処理部が求めた前記第2の確率メッセージと、前記チェックノード処理部が求めた前記第1の確率メッセージの更新値とに基づいて、前記事後確率の更新値を求める事後確率更新処理部とを含み、前記チェックノード処理部において、前記第1の確率メッセージを求めるBPアルゴリズムの式をヤコビアンロガリズムにより展開し更に数学的帰納法により展開した近似式に基づいて、前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求めることを特徴とする。
また低密度パリティチェック符号化された受信信号を受け取り、前記受信信号の確率的な信頼度を表わす事前確率から、パリティチェックに基づく受信信号の拘束条件を考慮して事後確率を求めることにより復号処理を行なう復号化方法は、前記事前確率を初期値とする前記事後確率と第1の確率メッセージとから第2の確率メッセージを求め、前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求め、前記第2の確率メッセージと前記第1の確率メッセージの前記更新値とに基づいて、前記事後確率の更新値を求める各段階を含み、前記第1の確率メッセージを求めるBPアルゴリズムの式をヤコビアンロガリズムにより展開し更に数学的帰納法により展開した近似式に基づいて、前記第2の確率メッセージに基づいて前記第1の確率メッセージの前記更新値を求めることを特徴とする。
本願開示の少なくとも1つの実施例によれば、Layered Normalized Min-sumと比較して、より厳密な近似を行うことでより良好なBER特性を得ることができる。また、誤りが無くなるまでに必要な繰返し回数もそれに応じて減少することができる。繰返し回数は消費電力に直接関係があるので、復号化装置における消費電力を削減することができる。
LDPC符号を用いた送受信モデルを示す図である。 パリティ検査で用いる行列計算の定義を示す図である。 LDPC復号器の構成の一例を示す図である。 LDPCパリティ検査条件のタナーグラフ表現を示す図である。 タナーグラフ表現によりチェックノード処理を示す図である。 タナーグラフ表現によりビットノード処理を示す図である。 タナーグラフ表現によりβmnとsum(n)との関係を示す図である。 Layered BP、Layered Min-sum、及びLayered Normalized Min-sumの数式比較を示す図である。 Layered Normalized Min-sumアルゴリズムを示すフローチャートである。 関数f(x)を示す図である。 誤差近似を示す図である。 LDPC復号アルゴリズムを示すフローチャートである。 Δ関数を示す図である。 量子化した場合のLDPC復号アルゴリズムを示すフローチャートである。 LDPC復号器の構成の一例を示すブロック図である。 シミュレーションにより得たBER特性結果を示す図である。 シミュレーションにより得た平均繰返し回数結果を示す図である。
本願発明においては、Layered Normalized Min-sumアルゴリズムより良好なBER特性を得るために、前述の図8に示す式(2)における項E1に対しより厳密な近似を行うことで、性能劣化を削減する。従来のLayered Normalized Min-sumアルゴリズム等を導くにあたり、式(1)の計算はA(m)\nにおけるβに対して行なわれる。それに対して以下の説明では、チェックノードcmに接続する全てのビットノードの集合A(m)におけるβに対して計算を進めていく。この場合、式(1)は以下の式(5)に変形できる。
Figure 0005493602

ここで、αmnのmを省略してαと表記し、βmnのmを省略してβと表記してある。またΠは、着目チェックノードに接続する全てのビットノードの集合に対する積算を示す。式(5)は、以下の式(6)(非特許文献1参照)を用いると式(7)に展開できる。
Figure 0005493602
Figure 0005493602
また式(6)は非特許文献2に記載されているようにヤコビアンロガリズム(Jacobian Logarithm)を用いて以下のように展開することができる。
Figure 0005493602
従って、以下の式(8)が得られる。
Figure 0005493602
ここで、
Figure 0005493602
と置くことにより、式(8)は式(9)と表現できる。
Figure 0005493602
以下において、式(9)を用いて式(7)の展開を行う。式(6)の+計算は交換法則と結合法則とを満足するので、n個のβの関係を|β1|<|β2|<・・・<|βn|とすると、式(7)は数学的帰納法により式(10)のように展開することができる。
Figure 0005493602
以下にその証明を示す。具体的には、式(9)が成り立つことが分かっており、そのとき、上記式(10)が成り立つならば、
Figure 0005493602
が成り立つことを証明する。これにより、帰納的に、式(9)が成り立つならば、式(10)が成り立つことが分かる。まず、
Figure 0005493602
という関係にあるXとYを定義しておく。これらXとYとを適宜使用し式(7)を変形していき、更に上記式(9)を用いると、
Figure 0005493602
となる。ここで、上記式の変形の最後において、上記式(10)が成り立つという仮定を用いている。ここで
Figure 0005493602
である。従って、
Figure 0005493602
となる。
図10は、関数f(x)を示す図である。図10に示すように、関数f(x)はxが比較的大きい時に限りなくゼロとなる特性がある。従って、前述の式(10)において複数の関数fの項のうち、第一項f(|β|−|β|)が支配的な値であるとみることができる。よって、式(10)は式(11)に変形できる。
Figure 0005493602
なお上記変形では、複数の関数f(x)のうちの1つのみを支配的な値であるとして残したが、複数個の関数f(x)のうちの比較的大きな値の複数個を支配的な値であるとして残してもよい。上記式(11)と前述の図8に示す式(2)とを比べると、E1は以下のように表すことができる。
Figure 0005493602
図11は、誤差近似を示す図である。バー41は、その長さで模式的に項E1の値の大きさを示している。バー42は、式(12)から項E2を削除した第一項f(|β|−|β|)の値の大きさを模式的に示している。バー42が示す値は、バー41が示す値に対して、削除した項の分の誤差E2を含んでいる。項E2を削除して第一項f(|β|−|β|)のみを用いてより正確に項E1を近似するために、Normalization factor(γ')を掛けた式(13)を用いる。バー43は、その長さで模式的にf(|β|−|β|)にγ'を掛けた値の大きさを示している。図11に示されるように、バー43の長さは、バー42の長さをγ'倍に縮小することで、バー41に近い長さとなるように補正されている。
式(11)中の[f(|β|−|β|)−E2]をγ'f(|β|−|β|)に置き換えることで、式(14)に変形することができる。
Figure 0005493602
ここで、
Figure 0005493602
は図5(a)に示すようにチェックノードcmに接続する全てのビットノードの集合A(m)に対応するβのうちの最小値である。また
Figure 0005493602
は全てのビットノードの集合A(m)に対応するβのうちの第二最小値(2番目に小さい値)である。
ここまでの説明では、全てのビットノードの集合A(m)に対しての式を示したが、前述の図8に示す式(1)はA(m)\nに対しての計算であり、αmnの計算においてβmnを用いない。式(14)に基づくα計算式は式(15)のように表現できる。
Figure 0005493602
また
Figure 0005493602
は図5(a)に示すようにチェックノードcmに接続するビットノードの集合A(m)\nに対応するβのうちの最小値である。また
Figure 0005493602
はビットノードの集合A(m)\nに対応するβのうちの第二最小値(2番目に小さい値)である。
また、A(m)のβの最小値、第二最小値、第三最小値をそれぞれmin1、min2、min3とした場合、A(m)\nにおいてA(m)から除外されるβmnがmin1又はmin2であるか否かに応じて、式(16)は式(15)を詳しく説明できる。
Figure 0005493602
図12は、LDPC復号アルゴリズムを示すフローチャートである。ステップS1で初期化処理を行なう。即ち、事後確率sumに、初期値として事前確率λを代入する。ステップS2で、ビットノード処理を行なう。即ち、事後確率sumからαmnを減算することでβmnを求める。ステップS3で、チェックノード処理を行なう。即ち、上記の式(15)を用いることにより、更新後のαmnを計算する。ステップS4で、事後確率更新処理を実行する。即ち、ステップS2のビットノード処理で求めたβmnとステップS3のチェックノード処理で求めた更新後のαmnとを加算することにより、更新後の事後確率sumを求める。ステップS5で、全ての確率演算処理が完了したか否かを判断する。まだ実行すべき確率演算処理がある場合にはステップS2に戻り、以降の処理を繰り返す。全ての確率演算処理が完了すると、ステップS6に進む。ステップS6で、パリティ検査を実行する。即ち、求められた事後確率sumから算出したRx'に対して検査行列を掛けて、演算結果がゼロになるか否かを判断する。パリティ検査結果がゼロでなければ、ステップS2に戻り以降の処理を繰り返すことにより、事後確率sumを再度更新する。パリティ検査結果がゼロになるまで、上記の処理を反復的に実行し、パリティ検査結果がゼロになると処理を終了する。
なお、式(15)における係数γ'の値は、実際に用いる検査行列に応じて適宜決定することが好ましい。例えば、ISDB−S2(Integrated Services Digital Broadcasting via Satellite - Second Generation)への適用を考える場合、ISDB−S2の11個の符号化率に対する検査行列におけるγ'の最適値をシミュレーションにより求めればよい。実際にそのようなシミュレーションを行なうと、γ'=1/8の場合に最も良好なBER特性が得られた。従って、ISDB−S2に適用する場合、以下の式(17)をα計算として用いるとよい。
Figure 0005493602
また、ISDB−S2に対し、上記式(16)(a)乃至(c)のうちで、(a)又は(b)となる場合は非常に少ないので、以下の式(18)をαの計算式として近似的に用いることができる。
Figure 0005493602
以下に、上記式(18)を用いたLDPC復号器の実施例について説明する。まず式(17)中の関数f(x)をハードウェア化するときに、非特許文献3に記載されているf(x)の近似関数である以下のΔ関数を用いる。
Figure 0005493602
図13は、Δ関数を示す図である。図13から、関数Δ(x)により関数f(x)が近似されていることが分かる。式(18)において関数f(x)をΔ関数で置き換えると、式(20)が得られる。
Figure 0005493602
式(20)に式(19)を代入すると、式(21)が得られる。
Figure 0005493602
ただし、maxの中の第一項である5/64−(min2−min1)/32が負となることはほとんどないので、式(21)の代りに以下の式(22)を用いることができる。
Figure 0005493602
ハードウェア実現する際に、[−2,2]の範囲の小数である入力LLR(λ)を6ビット量子化するために、LLRに16を掛けて丸め近似を行うことにより、[−32,32]の範囲の整数λ_qに置き換える。これに合わせて、式(22)におけるαmn、βmn、(min2−min1)も16を掛けて丸め近似することにより量子化し、αmn_q、βmn_q、(min2_q−min1_q)と書き換える。それに合わせて、式(21)中の5/64にも16を掛けると、5/4になる。従って、式(22)を6ビット量子化すると、以下の式(23)が得られる。
Figure 0005493602
ここで、">>x"は右側にxビットだけシフトするビットシフト演算を示す。
ただし、
Figure 0005493602
の場合は、αmn_q=0とする。
図15は、LDPC復号器の構成の一例を示すブロック図である。図5のLDPC復号器50は、ビットノード処理部51、チェックノード処理部52、事後確率更新処理部53、及びパリティ検査部54を含む。LDPC復号器50への入力λは上記のLLRであり、送信信号が0なのか1なのかを確率的に表した事前確率である。LDPC復号器50の出力Rx'は誤り訂正後の受信信号である。ビットノード処理部51は、事前確率λと事後確率sumと確率α(確率メッセージα)とを用いて確率β(確率メッセージβ)を算出する。チェックノード処理部52は、確率βを用いて確率αを更新する。事後確率更新処理部53は、ビットノード処理部51で算出したβとチェックノード処理部52で算出したαとを用いて事後確率sumを更新する。パリティ検査部54は、事後確率sumを用いてRx'を算出してパリティ検査H×Rx'の演算を行なう。このパリティ検査の結果がゼロであるか否かに基づいて、復号処理を終了するか或いは事後確率sumをフィードバックして反復処理をもう一回繰返すかが制御される。
ビットノード処理部51は、セレクタ61及び加算器62を含む。セレクタ61は、初期状態においては事前確率λを選択して、それ以降は事後確率sumを選択する。初期状態において、加算器62は、事前確率λから確率αを減算することにより、確率βを算出する。それ以降は、加算器62は、事後確率sumから確率αを減算することにより、確率βを算出する。
チェックノード処理部52は、絶対値算出部(ABS)71、最小値算出部(FMIN)72、セレクタ73、加算器74、ビットシフト演算器75、1格納部76、加算器77、加算器78、符号抽出部(sgn)79、排他的論理和部(XOR)80、符号抽出部(sgn)81、排他的論理和部(XOR)82、FIFO83、及び符号処理部84を含む。チェックノード処理部52、着目ビットノードbn及び着目チェックノードcmに対して、上記式(23)を計算するものである。絶対値算出部(ABS)71は、着目チェックノードcmに接続する全ビットノードの集合A(m)のβに対して、絶対値を求める。最小値算出部(FMIN)72は、全ビットノードの集合A(m)のβのうちで最小値min1と、最小値と第二最小値との差Δminを算出する。加算器74は、最小値min1に差Δminを加算することで、第二最小値min2を求める。セレクタ73は、βmnが最小値の場合にはmin2を選択し、それ以外の場合にはmin1を選択する。ビットシフト演算器75は、式(23)に示されるように、最小値と第二最小値との差Δminを5ビット右シフトする。1格納部76は格納値である値1を供給する。加算器77は、値1からビットシフト演算器75の出力を減算する。加算器78は、セレクタ73の出力するmin1又はmin2から、加算器77の出力を減算することで、式(23)のΠsgn(βmn_q)以外の項を計算する。符号抽出部(sgn)79、排他的論理和部(XOR)80、符号抽出部(sgn)81、排他的論理和部(XOR)82、及びFIFO83は、式(23)のΠsgn(βmn_q)の部分を計算する。具体的には、排他的論理和部(XOR)80で、全ビットノードの集合A(m)についての全てのβの符号の掛け算を計算する。FIFO83は、着目ビットノードbn及び着目チェックノードcmに対してβmnを出力する。排他的論理和部(XOR)82により、A(m)についての全てのβの符号の掛け算に対して更にβmnの符号を掛け算することで、A(m)\nについての全てのβの符号の掛け算を求める。即ち、Πsgn(βmn_q)に対応する符号が求められる。符号処理部84は、加算器78の出力に対してΠsgn(βmn_q)の符号を付けることで、式(23)の値を算出する。
事後確率更新処理部53は、加算器91を含む。加算器91は、αmnとβmnとを加算することで、事後確率sum(n)を求める。事後確率更新処理部53が求めた事後確率sum(n)は、ビットノード処理部51にフィードバックされるとともに、パリティ検査部54に供給される。
上記のLDPC復号化手法をISDB−S2における11個の符号化率の検査行列に適用してシミュレーションを行った。シミュレーションは変調方式QPSK、通信モデルAWGN、入力ビット数314,160,000ビット、LDPC復号処理最大繰返し回数50回を設定して実行した。LDPC復号処理繰り返し回数が50回に到達してもパリティ検査値が満足できない場合には、復号処理を終了する。結果としては、全ての符号化率においてLayered Normalized Min-sumより良好なBER特性を示した。また、平均繰返し回数(誤りがなくなるまでの繰返し回数の平均)は、符号化率に応じて1/2〜7/9に減少されることが分かった。繰り返し回数は消費電力に直接に関係するので、消費電力を削減する効果が得られる。
図16は、シミュレーションにより得たBER特性結果を示す図である。図17は、シミュレーションにより得た平均繰返し回数結果を示す図である。図16及び図17は、符号化率2/3の場合のシミュレーション結果を示す。図16において10−5のBER特性で比較した場合、本願発明のLDPC復号処理では、Layered Normalized Min-sumよりもCNR(Carrier to Noise Ratio)において約0.2dBの利得の向上を得ることができた。図17においてCNRが3.2dBの場合、Layered Normalized Min-sumは平均して約30回の繰返しで処理が終了したのに対して、本願発明のLDPC復号処理は平均して約15回の繰返しで処理が終了した。即ち、平均繰返し回数を約半減することができた。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
50 LDPC復号器
51 ビットノード処理部
52 チェックノード処理部
53 事後確率更新処理部

Claims (9)

  1. 低密度パリティチェック符号化された受信信号を受け取り、前記受信信号の確率的な信頼度を表わす事前確率から、パリティチェックに基づく受信信号の拘束条件を考慮して事後確率を求めることにより復号処理を行なう復号化装置であって、
    前記事前確率を初期値とする前記事後確率と第1の確率メッセージとから第2の確率メッセージを求めるビットノード処理部と、
    前記ビットノード処理部が求めた前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求めるチェックノード処理部と、
    前記ビットノード処理部が求めた前記第2の確率メッセージと、前記チェックノード処理部が求めた前記第1の確率メッセージの更新値とに基づいて、前記事後確率の更新値を求める事後確率更新処理部と
    を含み、前記チェックノード処理部において、前記第1の確率メッセージを求めるBPアルゴリズムの式をヤコビアンロガリズムにより展開し更に数学的帰納法により展開した近似式に基づいて、前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求めることを特徴とする復号化装置。
  2. 前記近似式は、前記ヤコビアンロガリズムによる展開により導入される関数f(x)=ln(1+e−|x|)について、複数の関数f(x)のうちでxの値が比較的大きな関数f(x)の群を削除することにより近似がなされていることを特徴とする請求項1記載の復号化装置。
  3. 前記関数f(x)の群を削除することに生じる誤差について、前記複数の関数f(x)のうち残された部分について係数を掛けることにより、前記誤差が削減されていることを特徴とする請求項2記載の復号化装置。
  4. 低密度パリティチェック符号化された受信信号を受け取り、前記受信信号の確率的な信頼度を表わす事前確率から、パリティチェックに基づく受信信号の拘束条件を考慮して事後確率を求めることにより復号処理を行なう復号化方法であって、
    前記事前確率を初期値とする前記事後確率と第1の確率メッセージとから第2の確率メッセージを求め、
    前記第2の確率メッセージに基づいて前記第1の確率メッセージの更新値を求め、
    前記第2の確率メッセージと前記第1の確率メッセージの前記更新値とに基づいて、前記事後確率の更新値を求める
    各段階を含み、前記第1の確率メッセージを求めるBPアルゴリズムの式をヤコビアンロガリズムにより展開し更に数学的帰納法により展開した近似式に基づいて、前記第2の確率メッセージに基づいて前記第1の確率メッセージの前記更新値を求めることを特徴とする復号化方法。
  5. 前記近似式は、前記ヤコビアンロガリズムによる展開により導入される関数f(x)=ln(1+e−|x|)について、複数の関数f(x)のうちでxの値が比較的大きな関数f(x)の群を削除することにより近似がなされていることを特徴とする請求項4記載の復号化方法。
  6. 2個の前記第2の確率メッセージに対するBPアルゴリズムの式をヤコビアンロガリズムにより展開した展開式を求め、n個(n:3以上の自然数)の前記第2の確率メッセージに対するBPアルゴリズムの式を、上記展開式に基づいて数学的帰納法により展開し、更に近似することにより、前記近似式を求めることを特徴とする請求項1記載の復号化装置。
  7. 2個の前記第2の確率メッセージに対するBPアルゴリズムの式をヤコビアンロガリズムにより展開した展開式を求め、n個(n:3以上の自然数)の前記第2の確率メッセージに対するBPアルゴリズムの式を、上記展開式に基づいて数学的帰納法により展開し、更に近似することにより、前記近似式を求めることを特徴とする請求項4記載の復号化方法。
  8. α は着目チェックノードからn番目のビットノードへの前記第1の確率メッセージであり、β (k=1,2,・・・,n)はk番目のビットノードから着目チェックノードへの前記第2の確率メッセージであるとしたときに、
    2tanh-1(tanh(β1/2)tanh(β2/2))
    をヤコビアンロガリズムにより展開した展開式を求め、
    αn=2tanh-1(tanh(β1/2)tanh(β2/2)…tanh(βn/2))(n:3以上の自然数)
    を上記展開式に基づいて数学的帰納法により展開し、更に近似することにより、前記近似式を求めることを特徴とする請求項1記載の復号化装置。
  9. α は着目チェックノードからn番目のビットノードへの前記第1の確率メッセージであり、β (k=1,2,・・・,n)はk番目のビットノードから着目チェックノードへの前記第2の確率メッセージであるとしたときに、
    2tanh-1(tanh(β1/2)tanh(β2/2))
    をヤコビアンロガリズムにより展開した展開式を求め、
    αn=2tanh-1(tanh(β1/2)tanh(β2/2)…tanh(βn/2))(n:3以上の自然数)
    を上記展開式に基づいて数学的帰納法により展開し、更に近似することにより、前記近似式を求めることを特徴とする請求項4記載の復号化方法。
JP2009201033A 2009-08-31 2009-08-31 復号化装置及び復号化方法 Expired - Fee Related JP5493602B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009201033A JP5493602B2 (ja) 2009-08-31 2009-08-31 復号化装置及び復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009201033A JP5493602B2 (ja) 2009-08-31 2009-08-31 復号化装置及び復号化方法

Publications (2)

Publication Number Publication Date
JP2011055168A JP2011055168A (ja) 2011-03-17
JP5493602B2 true JP5493602B2 (ja) 2014-05-14

Family

ID=43943746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009201033A Expired - Fee Related JP5493602B2 (ja) 2009-08-31 2009-08-31 復号化装置及び復号化方法

Country Status (1)

Country Link
JP (1) JP5493602B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
WO2018164297A1 (ko) * 2017-03-09 2018-09-13 엘지전자 주식회사 Ldpc 코드의 계층적 복호화 방법 및 이를 위한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100804793B1 (ko) * 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
JP4341639B2 (ja) * 2006-05-15 2009-10-07 住友電気工業株式会社 復号装置および復号プログラム

Also Published As

Publication number Publication date
JP2011055168A (ja) 2011-03-17

Similar Documents

Publication Publication Date Title
US9608666B1 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
JP4651600B2 (ja) 低密度パリティ検査復号器における検査ノード更新方法
KR101021465B1 (ko) 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서 신호수신 장치 및 방법
US7500172B2 (en) AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
KR101093313B1 (ko) 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들
US20220158660A1 (en) Non-Concatenated FEC Codes For Ultra-High Speed Optical Transport Networks
US7409628B2 (en) Efficient design to implement LDPC (Low Density Parity Check) decoder
JP4627317B2 (ja) 通信装置および復号方法
US10103751B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
US20050268206A1 (en) Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
US20050262408A1 (en) Fast min* - or max* - circuit in LDPC (Low Density Parity Check) decoder
JP5493602B2 (ja) 復号化装置及び復号化方法
CN101106383A (zh) 一种低密度奇偶校验码的译码方法
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
Roberts et al. An improved low-complexity sum-product decoding algorithm for low-density parity-check codes
CN113228520A (zh) 用于对由至少两个约束节点组成的代码进行解码的迭代解码器
KR20100110662A (ko) 저밀도 패러티 검사 부호의 복호 복잡도를 감소시키는 방법 및 장치
CN112470405A (zh) 非二进制码的消息传递解码的可变节点处理方法和设备
US20240120949A1 (en) Decoding fec codewords using ldpc codes defined by a parity check matrix which is defined by rpc and qc constraints
Huang et al. A channel-adaptive nonbinary LDPC decoder
Huang et al. A Markov chain model for edge memories in stochastic decoding of LDPC codes
Hwang et al. An adaptive EMS algorithm for nonbinary LDPC codes
Felipe et al. Scaling design parameters on the overall performance of spatiallycoupled ldpc codes
JP2008147764A (ja) 軟判定復号装置および軟判定復号プログラム
Al Ghouwayel et al. Statistical analysis-based approach for check node processor inputs of nb-ldpc decoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5493602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees