JP2004104686A - 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 - Google Patents
符号解析方法及び符号解析装置、並びに復号方法及び復号装置 Download PDFInfo
- Publication number
- JP2004104686A JP2004104686A JP2002267060A JP2002267060A JP2004104686A JP 2004104686 A JP2004104686 A JP 2004104686A JP 2002267060 A JP2002267060 A JP 2002267060A JP 2002267060 A JP2002267060 A JP 2002267060A JP 2004104686 A JP2004104686 A JP 2004104686A
- Authority
- JP
- Japan
- Prior art keywords
- message
- probability distribution
- code
- negative
- calculating
- 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.)
- Withdrawn
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】任意の低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)の符号解析を高速に行う。
【解決手段】符号解析装置1は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによるLDPC符号の解析を行うものであって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出するP(u)算出部20を備える。P(u)算出部20は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとし、メッセージujを求める。
【選択図】 図5
【解決手段】符号解析装置1は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによるLDPC符号の解析を行うものであって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出するP(u)算出部20を備える。P(u)算出部20は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとし、メッセージujを求める。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、デンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法及び符号解析装置に関する。また、本発明は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法及び復号装置に関する。
【0002】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、及び地上波又は衛星ディジタル放送といった放送分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
【0003】
符号性能の理論的限界としては、いわゆるシャノン(C. E. Shannon)の通信路符号化定理によって与えられるシャノン限界が知られている。
【0004】
符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;PCCC)や縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;SCCC)といったいわゆるターボ符号化(Turbo coding)と呼ばれる手法が開発されている。
【0005】
また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)が脚光を浴びつつある。
【0006】
このLDPC符号は、R. G. Gallagerによる「R. G. Gallager, ”Low−DensityParity−Check Codes”, Cambridge, Massachusetts: M. I. T. Press, 1963」によって最初に提案されたものであり、その後、「D. J. C. MacKay, ”Good errorcorrecting codes based on very sparse matrices”, Submitted to IEEE Trans. Inf. Theory, IT−45, pp. 399−431, 1999」や「M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, ”Analysis of low density codes and improved designs using irregular graphs”, Available at http://www.icsi.berkeley.edu/ ̄luby/」等によって再発見されるに至ったものである。
【0007】
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測されるいわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
【0008】
以下、このようなLDPC符号について具体的に説明する。なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
【0009】
LDPC符号は、当該符号を定義する検査行列が疎なものであることを最大の特徴とするものである。ここで、疎な行列とは、当該行列内の”1”の個数が非常に少なく構成されるものであり、疎な検査行列を”H”で表すものとすると、例えば図8に示すように、各列のハミング重みが”3”であり、且つ、各行のハミング重みが”6”であるもの等が考えられる。
【0010】
このように、各行及び各列のハミング重みが一定である検査行列Hによって定義されるLDPC符号は、レギュラーLDPC符号と称される。一方、各行及び各列のハミング重みが一定でない検査行列Hによって定義されるLDPC符号は、イレギュラーLDPC符号と称される。
【0011】
このようなLDPC符号による符号化は、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報メッセージに対して積算することによって符号語を生成することで実現される。具体的には、LDPC符号による符号化を行う符号化装置は、まず、検査行列Hの転置行列HTと算出される生成行列Gとの間に、GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、k×n行列である場合には、符号化装置は、当該生成行列Gに対してkビットからなる情報メッセージを積算し、nビットからなる符号語を生成する。この符号化装置によって生成された符号語は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったようにマッピングされて送信され、所定の通信路を介して復号装置によって受信されることになる。
【0012】
一方、このLDPC符号の復号は、上述したGallagerが”Probabilistic Decoding”と称して提案したアルゴリズムであって、バリアブルノード(valiable node(メッセージノード(message node)ともいう。))とチェックノード(checknode)とからなるいわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この”Probabilistic Decoding”においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【0013】
そこで、Gallagerは、LDPC符号の復号アルゴリズムとして、アルゴリズムA又はアルゴリズムBを提案している。
【0014】
一般的には、LDPC符号の復号は、図9に示すような手順にしたがって行われる。なお、ここでは、受信値をU0(u0i)とし、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとしており、メッセージとは、値の”0”らしさをいわゆる対数尤度比(log likelihood ratio)で表現した実数値である。
【0015】
まず、LDPC符号の復号においては、同図に示すように、ステップS11において、受信値U0(u0i)を受信すると、メッセージujを”0”とするとともに、繰り返し処理のカウンタとしての整数kを”0”とする。
【0016】
続いて、LDPC符号の復号においては、ステップS12において、受信値U0(u0i)に基づいて、次式(3)に示す演算を行うことによってメッセージviを求め、さらに、このメッセージviに基づいて、次式(4)に示す演算を行うことによってメッセージujを求める。そして、LDPC符号の復号においては、整数kを”1”だけインクリメントする。
【0017】
【数9】
【0018】
【数10】
【0019】
なお、上式(3)及び上式(4)におけるdv,dcは、それぞれ、上述した検査行列Hの縦方向(列)及び横方向(行)の”1”の個数を示す任意に選択可能とされるパラメータであり、例えば(3,6)符号の場合には、dv=3,dc=6となる。ここで、上式(3)及び上式(4)に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がdv−1,dc−1までとなっている。また、上式(4)に示す演算は、実際には、2入力v1,v2に対する1出力で定義される次式(5)に示す関数Rのテーブルを予め作成しておき、これを次式(6)に示すように連続的に用いることによって行われる。
【0020】
【数11】
【0021】
【数12】
【0022】
続いて、LDPC符号の復号においては、ステップS13において、整数kがNよりも大きいか否かを判定する。
【0023】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS12からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS14へと処理を移行する。
【0024】
そして、LDPC符号の復号においては、ステップS14において、次式(7)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。次式(7)に示す演算においては、上式(3)とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【0025】
【数13】
【0026】
このようなLDPC符号の復号は、例えば(3,6)符号の場合には、図10に示すように各ノード間でメッセージの授受が行われる。なお、同図における”=”で示すノードでは、上式(3)に示した演算が行われ、”+”で示すノードでは、上式(4)に示した演算が行われる。特に、上述したアルゴリズムAにおいては、メッセージを2元化し、”+”で示すノードにて、dc−1個の入力メッセージの排他的論理和演算を行い、”=”で示すノードにて、受信値Rに対して、dv−1個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【0027】
ところで、LDPC符号を解析するには、復号の過程で伝達されていくメッセージの確率分布がどのように変化するかを調べる必要がある。このような解析手法としては、「Sae−Young Chung, G. David Forney, Jr. , Thomas J. Richardson and Rudiger Urbanke, ”On the design of low−density parity−check codeswithin 0.0045 dB of the Shannon limit”, To Appear in IEEE Communications Letters」に記載されている手法である、いわゆるデンシティ・エボルーション(density evolution)がある。以下、離散的に行うデンシティ・エボルーションについて説明する。
【0028】
デンシティ・エボルーションにおいては、先に図10に示した”=”で示すノード、すなわち、バリアブルノードから出力されるメッセージviの確率分布P(v)が与えられたとき、”+”で示すノード、すなわち、チェックノードから出力されるメッセージujの確率分布P(u)を求める。このとき、先に図9に示した一連の手順を用いる。この手順は、いわゆるサム・プロダクト・アルゴリズム(Sum Product Algorithm)と称される。ここで、次式(8)に示すように、量子化の刻み幅をΔとする。
【0029】
【数14】
【0030】
チェックノードから出力されるメッセージujは、上述したように、バリアブルノードから出力されるメッセージviに基づいて、上式(4)に示した演算を行うことによって求められる。ここで、この上式(4)に示した演算は、上述したように、2入力v1,v2に対する1出力で定義される上式(5)に示す関数Rのテーブルを予め作成しておき、これを上式(6)に示すように連続的に用いることによって行われる。これに対して、量子化された対数尤度比からなる2入力a,bに対しては、次式(9)に示す関数R(a,b)を定義する。なお、次式(9)におけるΩは、刻み幅Δで量子化することを表すものである。
【0031】
【数15】
【0032】
チェックノードから出力されるメッセージujは、この上式(9)を用いることにより、上式(6)を用いて求めることができる。
【0033】
ここで、メッセージuj,viは、刻み幅Δで量子化されていることに注意を要する。すなわち、上式(6)に示した演算結果は、メッセージuj,vi、及び関数Rが量子化されないものとした場合には演算の順序に依存しないが、メッセージuj,vi、及び関数Rが量子化されている場合には演算の順序に依存することになる。デンシティ・エボルーションにおいては、この性質を用いて、誤差の評価を行うことが可能となる。
【0034】
続いて、デンシティ・エボルーションにおいては、c=R(a,b)とすると、確率分布Pc(v)は、2つの確率分布Pa(v),Pb(v)を用いて次式(10)を用いて求めることができる。
【0035】
【数16】
【0036】
この上式(10)を次式(11)で表すものとする。
【0037】
【数17】
【0038】
ここで、この変換は、確率分布Pa(i)と確率分布Pb(j)とを乗算し、得られた値を何に対して加算するのかを示すテーブルを予め作成しておき、このテーブルを参照することによって実現することができる。
【0039】
したがって、上式(6)で求められるメッセージujに対応する確率分布P(u)は、次式(12)に示すように、上式(11)に示した関数Rを連続的に用いることによって求めることができる。
【0040】
【数18】
【0041】
このように、デンシティ・エボルーションにおいては、バリアブルノードから出力されるメッセージviの確率分布P(v)を用いて、チェックノードから出力されるメッセージujの確率分布P(u)を直接的に求めることができる。例えばdc=5のLDPC符号の場合には、次式(13)に示すように、関数Rによる変換を3回行うことによって確率分布P(4)を求めることができる。
【0042】
【数19】
【0043】
なお、この上式(13)に示した演算においては、上式(11)の変換を3回行う必要があるが、次式(14)及び次式(15)に示すように、2回の変換で済ませることもできる。
【0044】
【数20】
【0045】
【数21】
【0046】
なお、上式(13)の結果と上式(15)の結果は、メッセージuj,vi、及び関数Rが量子化されないものとした場合には一致するが、メッセージuj,vi、及び関数Rが量子化されている場合には一致しない。デンシティ・エボルーションにおいては、この誤差を用いることにより、量子化誤差の評価を行うことが可能となる。
【0047】
【発明が解決しようとする課題】
ところで、上述したサム・プロダクト・アルゴリズムを用いたデンシティ・エボルーションにおいては、バリアブルノードから出力されるメッセージviの確率分布P(v)を用いて、チェックノードから出力されるメッセージujの確率分布P(u)を求めるために、上式(11)に示した2入力の関数Rのテーブルを予め作成しておき、上式(12)に示したように、符号構成に応じてこのテーブルを複数回参照する必要があった。
【0048】
したがって、サム・プロダクト・アルゴリズムを用いたデンシティ・エボルーションにおいては、テーブルの参照回数に応じた長い処理時間を要することになり、高速な符号解析を行うことが困難であった。
【0049】
なお、これと同様の問題は、サム・プロダクト・アルゴリズムを用いてLDPC符号を復号する際にも生じるものであり、高速な復号処理を行うことが困難であった。
【0050】
本発明は、このような実情に鑑みてなされたものであり、デンシティ・エボルーションを用いて符号解析を高速に行うことができる符号解析方法及び符号解析装置を提供することを目的とする。また、本発明は、LDPC符号を高速に復号することができる復号方法及び復号装置を提供することを目的とする。
【0051】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号解析方法は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出工程と、この第1の確率分布算出工程にて算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出工程とを備え、第1の確率分布算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められることを特徴としている。
【0052】
【数22】
【0053】
このような本発明にかかる符号解析方法は、第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0054】
また、上述した目的を達成する本発明にかかる符号解析装置は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析装置であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出手段と、この第1の確率分布算出手段によって算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出手段とを備え、第1の確率分布算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求めることを特徴としている。
【0055】
【数23】
【0056】
このような本発明にかかる符号解析装置は、第1の確率分布算出手段によって第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0057】
さらに、上述した目的を達成する本発明にかかる復号方法は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出工程と、この第1のメッセージ算出工程にて算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出工程とを備え、第1のメッセージ算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められることを特徴としている。
【0058】
【数24】
【0059】
このような本発明にかかる復号方法は、チェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0060】
さらにまた、上述した目的を達成する本発明にかかる復号装置は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出手段と、この第1のメッセージ算出手段によって算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出手段とを備え、第1のメッセージ算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求めることを特徴としている。
【0061】
【数25】
【0062】
このような本発明にかかる復号装置は、第1のメッセージ算出手段によってチェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0063】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0064】
この実施の形態は、「Sae−Young Chung, G. David Forney, Jr. , Thomas J. Richardson and Rudiger Urbanke, ”On the design of low−density parity−check codes within 0.0045 dB of the Shannon limit”, To Appear in IEEE Communications Letters」に記載されている手法である、いわゆるデンシティ・エボルーション(density evolution)を離散的に行うことにより、低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)の解析を行う符号解析装置である。
【0065】
この符号解析装置は、チェックノード(check node)に入力されるメッセージviの確率分布P(v)に基づいて、出力されるメッセージujの確率分布P(u)を求め、この確率分布P(u)に基づいて、バリアブルノード(valiable node)から出力されるメッセージvi+1の確率分布P(v)を求め、さらに、この確率分布P(v)の誤り確率を算出するものであって、いわゆるマックス・プロダクト・アルゴリズム(Max Product Algorithm)を用いた符号解析を行うものである。符号解析装置は、いわゆるサム・プロダクト・アルゴリズム(Sum Product Algorithm)を用いるのではなく、マックス・プロダクト・アルゴリズムを用いることにより、サム・プロダクト・アルゴリズムでは予め作成した2入力の関数Rのテーブルを複数回参照する必要がある確率分布P(v)から確率分布P(u)への変換を、いわゆる対数尤度比(log likelihood ratio)で表現されたメッセージのうち、絶対値が最小であるものを選択するのみで実現することができ、デンシティ・エボルーションを用いた符号解析を高速に行うことができるものである。
【0066】
まず、以下では、符号解析装置の具体的な構成の説明に先だって、マックス・プロダクト・アルゴリズムを用いた符号解析アルゴリズムについて説明する。
【0067】
バリアブルノードから出力されるメッセージをviとし、チェックノードから出力されるメッセージをujとすると、メッセージviは、次式(16)で表すことができる。また、メッセージujは、次式(17)で表すことができる。
【0068】
【数26】
【0069】
【数27】
【0070】
ここで、上式(17)に示すメッセージujを求めるにあたっては、次式(18)に示すように、チェックノードに入力される複数のメッセージviのうち、絶対値|・|が最小であるものを選択するものとし、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとする。
【0071】
【数28】
【0072】
この場合におけるデンシティ・エボルーションについて考える。
【0073】
まず、メッセージviが正値のみをとる確率分布P(v)について考える。確率分布P(v)は、最大の量子化レベルをtとして、次式(19)に示すように表されるものとする。なお、次式(19)におけるΔは、量子化の刻み幅を示すものである。
【0074】
【数29】
【0075】
このとき、変換後の確率分布P(u)をSmn(iΔ)=S(i)で表すものとすると、量子化レベルt,t−1における確率分布S(t),S(t−1)は、それぞれ、次式(20)及び次式(21)に示すように表される。
【0076】
【数30】
【0077】
【数31】
【0078】
このような確率分布Sは、一般的に、整数jに対しては、次式(22)に示す演算を行うことによって求めることができる。
【0079】
【数32】
【0080】
つぎに、メッセージviが正値のみではなく負値もとる確率分布P(v)について考える。確率分布P(v)=P(i)の量子化レベルiを−t〜+tとする。ここで、次式(23)及び次式(24)に示すように、確率分布A(j),B(j)を定義する。
【0081】
【数33】
【0082】
【数34】
【0083】
これらの上式(23)及び上式(24)を用いると、確率分布S(j),S(−j)は、それぞれ、次式(25)及び次式(26)に示す演算を行うことによって求めることができる。
【0084】
【数35】
【0085】
【数36】
【0086】
このように、メッセージviの確率分布P(v)に基づいて、メッセージujの確率分布P(u)を求めることができる符号解析アルゴリズムを、マックス・プロダクト・アルゴリズムを用いて実現することができる。
【0087】
さて、このような符号解析アルゴリズムにしたがって実際に符号解析を行った例について説明する。
【0088】
まず、dv=3,dc=4のレギュラーLDPC符号を対象とし、量子化ビット数を”12”とし、雑音の標準偏差σをパラメータとして解析を行うと、図1に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERを示している。
【0089】
同図から、雑音の標準偏差σの閾値が”1.11262”と”1.11263”との間に存在することがわかる。また、同図から、マックス・プロダクト・アルゴリズムを用いて符号解析を行う場合には、繰り返し回数nを増加させるのにともない、誤り確率BERが単調減少するとは限らないことがわかる。
【0090】
この様子をより詳細に調べるために、同図における各繰り返し毎の誤り確率BERの差分を求めると、図2に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERの差分の絶対値δeの”10”を底とする対数表記(log10 δe)を示している。
【0091】
同図から、雑音の標準偏差σの閾値が”1.11263”の場合には、誤り確率BERが所定の繰り返し回数毎の周期で波状に増減しながら減少していくことがわかる。
【0092】
なお、参考までに、量子化ビット数を変化させたときの雑音の標準偏差σの閾値をまとめると、次表1に示す結果が得られた。
【0093】
【表1】
【0094】
つぎに、イレギュラーLDPC符号を対象として解析を行った。
【0095】
ここで、イレギュラーLDPC符号においては、検査行列をいわゆるディグリー・シーケンス(degree sequence)によって定義する。ディグリー・シーケンスとは、検査行列における”1”の個数の分布を表すものであり、検査行列における縦方向(列)の”1”の個数の分布については、次式(27)に示す関数λ(x)で表し、検査行列における横方向(行)の”1”の個数の分布については、次式(28)に示す関数ρ(x)で表す。
【0096】
【数37】
【0097】
【数38】
【0098】
なお、上式(27)における次数niは、上述したdvに対応するものであり、検査行列における縦方向(列)の”1”の個数を表すものである。また、上式(28)における次数miは、上述したdcに対応するものであり、検査行列における横方向(行)の”1”の個数を表すものである。さらに、上式(27)における係数λiは、検査行列における縦方向(列)の”1”の個数が”ni”である割合を表すものである。さらにまた、上式(28)における係数ρiは、検査行列における横方向(行)の”1”の個数が”mi”である割合を表すものである。
【0099】
このようなイレギュラーLDPC符号の例として、λ2=0.303702,λ3=0.277538,λ6=0.028432,λ7=0.200133,λ20=0.190195とし、検査行列における横方向(行)の”1”の個数の平均値ρaveとして、ρave=6.96875としたものを対象として解析を行った。すなわち、検査行列における縦方向(列)のディグリー・シーケンスを次式(29)で表されるものとした。この場合、量子化ビット数を”10”とし、雑音の標準偏差σをパラメータとして解析を行うと、図3に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERを示している。
【0100】
【数39】
【0101】
同図から、雑音の標準偏差σの閾値が”0.90183”と”0.90184”との間に存在することがわかる。なお、「Sae−Young Chung, ”On the construction of some capacity−approaching coding schemes”, Ph. D. dissertation, Massachusetts Institute of Technology, Cambridge, 2000」によれば、同じ条件の下での雑音の標準偏差σの閾値は、”0.901”となっており、この値と略一致するという結果が得られた。また、同図においても、繰り返し回数nを増加させるのにともない、誤り確率BERが単調減少するとは限らないという傾向が伺えた。
【0102】
この様子をより詳細に調べるために、同図における各繰り返し毎の誤り確率BERの差分を求めると、図4に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERの差分の絶対値δeの”10”を底とする対数表記(log10 δe)を示している。
【0103】
なお、参考までに、量子化ビット数を変化させたときの雑音の標準偏差σの閾値をまとめると、次表2に示す結果が得られた。
【0104】
【表2】
【0105】
さて、本発明の実施の形態として示す符号解析装置は、このような解析の結果を呈する符号解析アルゴリズムを踏まえて、以下のように構成することができる。
【0106】
すなわち、図5に示すように、符号解析装置1は、受信値u0の確率分布P0(u=u0)を入力する入力部10と、確率分布P(v)に基づいて確率分布P(u)を算出するP(u)算出部20と、このP(u)算出部20によって得られた確率分布P(u)に基づいて確率分布P(v)を算出するP(v)算出部30と、確率分布P(v)の誤り確率BERを算出する誤り確率算出部40とを備える。
【0107】
入力部10は、受信値u0の確率分布P0(u=u0)を入力する。入力部10は、確率分布P0(u=u0)を確率分布P(v)とし、この確率分布P(v)をP(u)算出部20に供給する。
【0108】
P(u)算出部20は、入力部10から供給された確率分布P(v)に基づいて、上述したマックス・プロダクト・アルゴリズムを用いて確率分布P(u)を算出する。具体的には、P(u)算出部20は、次式(30)に示すように、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求め、確率分布P(u)を算出する。P(u)算出部20は、得られた確率分布P(u)をP(v)算出部30に供給する。
【0109】
【数40】
【0110】
P(v)算出部30は、P(u)算出部20から供給された確率分布P(u)に基づいて、確率分布P(v)を算出する。具体的には、P(v)算出部30は、メッセージvの確率分布P(v)を求めるために、メッセージuの確率分布P(u)を用いて、次式(31)に示すような畳み込み演算を行う。なお、次式(31)における”*”は、畳み込み演算を表す演算子である。また、次式(31)において畳み込み演算を行う確率分布P(u)の個数は、検査行列の縦方向(列)の”1”の個数に依存し、例えばレギュラーLDCP符号の場合には、dv−1個である。
【0111】
【数41】
【0112】
この上式(31)に示す畳み込み演算は、多項式の乗算のようにして実現することができる。P(v)算出部30は、得られた確率分布P(v)を誤り確率算出部40に供給する。
【0113】
誤り確率算出部40は、P(v)算出部30から供給された確率分布P(v)の誤り確率BERを算出する。また、誤り確率算出部40は、算出した誤り確率BERと、前回の繰り返し計算の際に算出した誤り確率BERとの差分δeを算出する。誤り確率算出部40は、算出した差分δeが所定の値εよりも大きいものと判定した場合には、P(v)算出部30から供給された確率分布P(v)をP(u)算出部20に供給する一方で、算出した差分δeが所定の値εよりも小さいものと判定した場合には、誤り確率BERを外部に出力する。
【0114】
このような各部を備える符号解析装置1は、図6に示すような一連の工程を経ることにより、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行う。
【0115】
まず、符号解析装置1は、同図に示すように、ステップS1において、入力部10を介して受信値u0の確率分布P0(u=u0)を入力し、この確率分布P0(u=u0)を確率分布P(v)とする。
【0116】
続いて、符号解析装置1は、ステップS2において、P(u)算出部20によってマックス・プロダクト・アルゴリズムを用いた上式(30)に示した演算を行うことにより、確率分布P(v)に基づいて確率分布P(u)を算出する。
【0117】
続いて、符号解析装置1は、ステップS3において、P(v)算出部30によって上式(31)に示した演算を行うことにより、確率分布P(u)に基づいて確率分布P(v)を算出する。
【0118】
続いて、符号解析装置1は、ステップS4において、誤り確率算出部40によって確率分布P(v)の誤り確率BERを算出し、ステップS5において、算出した誤り確率BERと、前回の繰り返し計算の際に算出した誤り確率BERとの差分δeを算出する。
【0119】
そして、符号解析装置1は、ステップS6において、算出した差分δeが所定の値εよりも小さいか否かを誤り確率算出部40によって判定する。
【0120】
ここで、符号解析装置1は、差分δeが所定の値εよりも大きいものと判定した場合には、ステップS3にて算出した確率分布P(v)をP(u)算出部20に対する入力として、ステップS2からの処理を繰り返す。一方、符号解析装置1は、差分δeが所定の値εよりも小さいものと判定した場合には、一連の繰り返し計算が収束したものとして一連の処理を終了する。
【0121】
符号解析装置1は、このような一連の工程を経ることにより、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行うことができる。
【0122】
以上説明したように、本発明の実施の形態として示した符号解析装置1は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる新たな符号解析アルゴリズムを実装するものであり、メッセージuの確率分布P(u)を算出する際に、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求め、確率分布P(u)を算出する。したがって、符号解析装置1は、確率分布P(v)から確率分布P(u)への変換を行う際に、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数Rのテーブルを複数回参照する必要がなく、任意のLDPC符号に対する高精度な符号解析を高速に行うことができる。
【0123】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば上述した実施の形態では、デンシティ・エボルーションによる符号解析を行う符号解析装置について説明したが、本発明は、マックス・プロダクト・アルゴリズムを用いてLDPC符号を復号する復号装置にも適用することができる。
【0124】
すなわち、復号装置としては、LDPC符号による符号化を行う符号化装置から出力された信号を雑音のある所定の通信路を介して入力して復号を行う際に、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求めるものであればよい。なお、復号装置は、算出したメッセージujに基づいてメッセージviを算出する際には、上式(16)に示した演算を行えばよい。
【0125】
このような復号装置は、例えば、符号化装置から送信されて雑音のある所定の通信路2を介して受信した受信値を復号するデータ送受信システムの他、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optic)といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することができる。
【0126】
また、上述した実施の形態では、符号解析装置をハードウェアによって構成された装置であるものとして説明したが、この符号解析装置を、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図7を参照して説明する。
【0127】
コンピュータ装置150は、同図に示すように、各部を統括して制御するCPU(Central Processing Unit)151と、各種プログラムを含む情報を格納する読み取り専用のROM152と、ワークエリアとして機能するRAM(RandomAccess Memory)153と、各種プログラムやデータ等の記録及び/又は再生を行うHDD(Hard Disk Drive)154と、これらのCPU151、ROM152、RAM153及びHDD154を接続するバス155と、CPU151、ROM152、RAM153及びHDD154と後述する表示部157、入力部158、通信部159及びドライブ160との間でデータの入出力を行うための入出力インターフェース156と、各種情報を表示する表示部157と、ユーザによる操作を受け付ける入力部158と、外部との通信を行うための通信部159と、着脱自在とされる記録媒体170に対する各種情報の記録及び/又は再生を行うドライブ160とを備える。
【0128】
CPU151は、バス155を介してROM152、RAM153及びHDD154と接続しており、これらのROM152、RAM153及びHDD154を制御する。また、CPU151は、バス155を介して入出力インターフェース156に接続しており、この入出力インターフェース156に接続されている表示部157、入力部158、通信部159及びドライブ160を制御する。さらに、CPU151は、ROM152、HDD154又はドライブ160に装着された記録媒体170に記録されている各種プログラムを実行する。
【0129】
ROM152は、各種プログラムを含む情報を格納している。このROM152に格納されている情報は、CPU151の制御の下に読み出される。
【0130】
RAM153は、CPU151が各種プログラムを実行する際のワークエリアとして機能し、CPU151の制御の下に、各種データを一時記憶する。
【0131】
HDD154は、CPU151の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び/又は再生を行う。
【0132】
バス155は、CPU151の制御の下に、ROM152、RAM153及びHDD154から読み出された各種データ等を伝送するとともに、RAM153及びHDD154に記録する各種データ等を伝送する。
【0133】
入出力インターフェース156は、CPU151の制御の下に表示部157に各種情報を表示するためのインターフェースと、ユーザによって入力部158を介して操作された内容を示す制御信号をCPU151に対して伝送するためのインターフェースと、CPU151の制御の下に通信部159を介して外部との間でデータを入出力するためのインターフェースと、ドライブ160に装着された記録媒体170に対して各種情報の記録及び/又は再生を行うためのインターフェースとを有し、CPU151、ROM152、RAM153及びHDD154からのデータを表示部157、入力部158、通信部159及びドライブ160に対して出力したり、表示部157、入力部158、通信部159及びドライブ160からのデータをCPU151、ROM152、RAM153及びHDD154に対して入力したりする。
【0134】
表示部157は、例えばLCD(Liquid Crystal Display)からなり、CPU151の制御の下に、例えばHDD154に記録されていたデータ等の各種情報を表示する。
【0135】
入力部158は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をCPU151に対して出力する。
【0136】
通信部159は、CPU151の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【0137】
ドライブ160は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optical)といった、磁気、光又は光磁気ディスク等の記録媒体170を着脱し、CPU151の制御の下に、装着された記録媒体170に対する各種情報の記録及び/又は再生を行う。
【0138】
このようなコンピュータ装置150は、CPU151によって所定のプログラムを実行することにより、上述した符号解析装置1におけるマックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析処理を実現する。
【0139】
すなわち、コンピュータ装置150は、例えばユーザが符号解析プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、符号解析プログラムをRAM153にロードして実行し、表示部157に解析結果等を表示する。
【0140】
ここで、符号解析プログラムは、例えば記録媒体170によって提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、符号解析プログラムは、ROM152に予め格納されていてもよい。さらに、符号解析の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した受信値u0の確率分布P0(u0)に対応するものである。
【0141】
具体的には、コンピュータ装置150は、CPU151によって符号解析プログラムを実行すると、CPU151の制御の下に、上述した受信値u0の確率分布P0(u0)に対応するデータを用いて、マックス・プロダクト・アルゴリズムを用いた上式(30)に示した演算を行うことにより、上述した確率分布P(u)に対応するデータを算出する。
【0142】
続いて、コンピュータ装置150は、CPU151の制御の下に、確率分布P(u)に対応するデータを用いて、上式(31)に示した演算を行うことにより、上述した確率分布P(v)に対応するデータを算出する。
【0143】
続いて、コンピュータ装置150は、CPU151の制御の下に、上述した確率分布P(v)の誤り確率BERに対応する値を算出し、この値と、前回の繰り返し計算の際に算出した誤り確率BERに対応する値との差分δeに対応する値を算出する。
【0144】
そして、コンピュータ装置150は、CPU151の制御の下に、このような一連の動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、所定の回数の復号動作の結果得られた誤り確率BERに対応する値を出力する。
【0145】
コンピュータ装置150は、CPU151の制御の下に、得られた誤り確率BERに対応する値や確率分布に対応するデータをハードディスク等に記録し、必要に応じて、表示部157に解析結果等を表示する。なお、得られた誤り確率BERに対応する値や確率分布に対応するデータは、記録媒体170等に記録することもできる。
【0146】
このように、コンピュータ装置150は、上述した符号解析装置1における符号解析処理を符号解析プログラムを実行することによって実現することができる。
【0147】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0148】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号解析方法は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出工程と、この第1の確率分布算出工程にて算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出工程とを備え、第1の確率分布算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められる。
【0149】
【数42】
【0150】
したがって、本発明にかかる符号解析方法は、第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する高精度な符号解析を高速に行うことが可能となる。
【0151】
また、本発明にかかる符号解析装置は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析装置であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出手段と、この第1の確率分布算出手段によって算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出手段とを備え、第1の確率分布算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求める。
【0152】
【数43】
【0153】
したがって、本発明にかかる符号解析装置は、第1の確率分布算出手段によって第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する高精度な符号解析を高速に行うことができる。
【0154】
さらに、本発明にかかる復号方法は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出工程と、この第1のメッセージ算出工程にて算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出工程とを備え、第1のメッセージ算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められる。
【0155】
【数44】
【0156】
したがって、本発明にかかる復号方法は、チェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムのように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する復号を高速に行うことが可能となる。
【0157】
さらにまた、本発明にかかる復号装置は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出手段と、この第1のメッセージ算出手段によって算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出手段とを備え、第1のメッセージ算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求める。
【0158】
【数45】
【0159】
したがって、本発明にかかる復号装置は、第1のメッセージ算出手段によってチェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムのように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する復号を高速に行うことができる。
【図面の簡単な説明】
【図1】dv=3,dc=4とし、量子化ビット数を”12”としたときの繰り返し回数nと誤り確率BERとの関係を求めた解析結果を説明する図である。
【図2】図1における各繰り返し毎の誤り確率BERの差分を求めた解析結果を説明する図である。
【図3】λ2=0.303702,λ3=0.277538,λ6=0.028432,λ7=0.200133,λ20=0.190195,ρave=6.96875とし、量子化ビット数を”10”としたときの繰り返し回数nと誤り確率BERとの関係を求めた解析結果を説明する図である。
【図4】図3における各繰り返し毎の誤り確率BERの差分を求めた解析結果を説明する図である。
【図5】本発明の実施の形態として示す符号解析装置の構成を説明するブロック図である。
【図6】同符号解析装置によってマックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行う際の一連の工程を説明するフローチャートである。
【図7】コンピュータ装置の構成を説明するブロック図である。
【図8】疎な検査行列の一例を説明する図である。
【図9】LDPC符号を復号する際の一連の手順を説明するフローチャートである。
【図10】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【符号の説明】
1 符号解析装置、 10 入力部、 20 P(u)算出部、 30 P(v)算出部、 40 誤り確率算出部、 150 コンピュータ装置
【発明の属する技術分野】
本発明は、デンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法及び符号解析装置に関する。また、本発明は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法及び復号装置に関する。
【0002】
【従来の技術】
近年、例えば、移動体通信や深宇宙通信といった通信分野、及び地上波又は衛星ディジタル放送といった放送分野の研究が著しく進められているが、それにともない、誤り訂正符号化及び復号の効率化を目的として符号理論に関する研究も盛んに行われている。
【0003】
符号性能の理論的限界としては、いわゆるシャノン(C. E. Shannon)の通信路符号化定理によって与えられるシャノン限界が知られている。
【0004】
符号理論に関する研究は、このシャノン限界に近い性能を示す符号を開発することを目的として行われている。近年では、シャノン限界に近い性能を示す符号化方法として、例えば、並列連接畳み込み符号(Parallel Concatenated Convolutional Codes;PCCC)や縦列連接畳み込み符号(Serially Concatenated Convolutional Codes;SCCC)といったいわゆるターボ符号化(Turbo coding)と呼ばれる手法が開発されている。
【0005】
また、これらのターボ符号が開発される一方で、古くから知られる符号化方法である低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)が脚光を浴びつつある。
【0006】
このLDPC符号は、R. G. Gallagerによる「R. G. Gallager, ”Low−DensityParity−Check Codes”, Cambridge, Massachusetts: M. I. T. Press, 1963」によって最初に提案されたものであり、その後、「D. J. C. MacKay, ”Good errorcorrecting codes based on very sparse matrices”, Submitted to IEEE Trans. Inf. Theory, IT−45, pp. 399−431, 1999」や「M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi and D. A. Spielman, ”Analysis of low density codes and improved designs using irregular graphs”, Available at http://www.icsi.berkeley.edu/ ̄luby/」等によって再発見されるに至ったものである。
【0007】
LDPC符号は、近年の研究により、ターボ符号等と同様に、符号長を長くしていくにしたがって、シャノン限界に近い性能が得られることがわかりつつある。また、LDPC符号は、最小距離が符号長に比例するという性質があることから、その特徴として、ブロック誤り確率特性がよく、さらに、ターボ符号等の復号特性において観測されるいわゆるエラーフロア現象が殆ど生じないことも利点として挙げられる。
【0008】
以下、このようなLDPC符号について具体的に説明する。なお、LDPC符号は、線形符号であり、必ずしも2元である必要はないが、ここでは、2元であるものとして説明する。
【0009】
LDPC符号は、当該符号を定義する検査行列が疎なものであることを最大の特徴とするものである。ここで、疎な行列とは、当該行列内の”1”の個数が非常に少なく構成されるものであり、疎な検査行列を”H”で表すものとすると、例えば図8に示すように、各列のハミング重みが”3”であり、且つ、各行のハミング重みが”6”であるもの等が考えられる。
【0010】
このように、各行及び各列のハミング重みが一定である検査行列Hによって定義されるLDPC符号は、レギュラーLDPC符号と称される。一方、各行及び各列のハミング重みが一定でない検査行列Hによって定義されるLDPC符号は、イレギュラーLDPC符号と称される。
【0011】
このようなLDPC符号による符号化は、検査行列Hに基づいて生成行列Gを生成し、この生成行列Gを2元の情報メッセージに対して積算することによって符号語を生成することで実現される。具体的には、LDPC符号による符号化を行う符号化装置は、まず、検査行列Hの転置行列HTと算出される生成行列Gとの間に、GHT=0が成立する生成行列Gを算出する。ここで、生成行列Gが、k×n行列である場合には、符号化装置は、当該生成行列Gに対してkビットからなる情報メッセージを積算し、nビットからなる符号語を生成する。この符号化装置によって生成された符号語は、値が”0”の符号ビットが”+1”に、値が”1”の符号ビットが”−1”にといったようにマッピングされて送信され、所定の通信路を介して復号装置によって受信されることになる。
【0012】
一方、このLDPC符号の復号は、上述したGallagerが”Probabilistic Decoding”と称して提案したアルゴリズムであって、バリアブルノード(valiable node(メッセージノード(message node)ともいう。))とチェックノード(checknode)とからなるいわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この”Probabilistic Decoding”においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【0013】
そこで、Gallagerは、LDPC符号の復号アルゴリズムとして、アルゴリズムA又はアルゴリズムBを提案している。
【0014】
一般的には、LDPC符号の復号は、図9に示すような手順にしたがって行われる。なお、ここでは、受信値をU0(u0i)とし、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとしており、メッセージとは、値の”0”らしさをいわゆる対数尤度比(log likelihood ratio)で表現した実数値である。
【0015】
まず、LDPC符号の復号においては、同図に示すように、ステップS11において、受信値U0(u0i)を受信すると、メッセージujを”0”とするとともに、繰り返し処理のカウンタとしての整数kを”0”とする。
【0016】
続いて、LDPC符号の復号においては、ステップS12において、受信値U0(u0i)に基づいて、次式(3)に示す演算を行うことによってメッセージviを求め、さらに、このメッセージviに基づいて、次式(4)に示す演算を行うことによってメッセージujを求める。そして、LDPC符号の復号においては、整数kを”1”だけインクリメントする。
【0017】
【数9】
【0018】
【数10】
【0019】
なお、上式(3)及び上式(4)におけるdv,dcは、それぞれ、上述した検査行列Hの縦方向(列)及び横方向(行)の”1”の個数を示す任意に選択可能とされるパラメータであり、例えば(3,6)符号の場合には、dv=3,dc=6となる。ここで、上式(3)及び上式(4)に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がdv−1,dc−1までとなっている。また、上式(4)に示す演算は、実際には、2入力v1,v2に対する1出力で定義される次式(5)に示す関数Rのテーブルを予め作成しておき、これを次式(6)に示すように連続的に用いることによって行われる。
【0020】
【数11】
【0021】
【数12】
【0022】
続いて、LDPC符号の復号においては、ステップS13において、整数kがNよりも大きいか否かを判定する。
【0023】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS12からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS14へと処理を移行する。
【0024】
そして、LDPC符号の復号においては、ステップS14において、次式(7)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。次式(7)に示す演算においては、上式(3)とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【0025】
【数13】
【0026】
このようなLDPC符号の復号は、例えば(3,6)符号の場合には、図10に示すように各ノード間でメッセージの授受が行われる。なお、同図における”=”で示すノードでは、上式(3)に示した演算が行われ、”+”で示すノードでは、上式(4)に示した演算が行われる。特に、上述したアルゴリズムAにおいては、メッセージを2元化し、”+”で示すノードにて、dc−1個の入力メッセージの排他的論理和演算を行い、”=”で示すノードにて、受信値Rに対して、dv−1個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【0027】
ところで、LDPC符号を解析するには、復号の過程で伝達されていくメッセージの確率分布がどのように変化するかを調べる必要がある。このような解析手法としては、「Sae−Young Chung, G. David Forney, Jr. , Thomas J. Richardson and Rudiger Urbanke, ”On the design of low−density parity−check codeswithin 0.0045 dB of the Shannon limit”, To Appear in IEEE Communications Letters」に記載されている手法である、いわゆるデンシティ・エボルーション(density evolution)がある。以下、離散的に行うデンシティ・エボルーションについて説明する。
【0028】
デンシティ・エボルーションにおいては、先に図10に示した”=”で示すノード、すなわち、バリアブルノードから出力されるメッセージviの確率分布P(v)が与えられたとき、”+”で示すノード、すなわち、チェックノードから出力されるメッセージujの確率分布P(u)を求める。このとき、先に図9に示した一連の手順を用いる。この手順は、いわゆるサム・プロダクト・アルゴリズム(Sum Product Algorithm)と称される。ここで、次式(8)に示すように、量子化の刻み幅をΔとする。
【0029】
【数14】
【0030】
チェックノードから出力されるメッセージujは、上述したように、バリアブルノードから出力されるメッセージviに基づいて、上式(4)に示した演算を行うことによって求められる。ここで、この上式(4)に示した演算は、上述したように、2入力v1,v2に対する1出力で定義される上式(5)に示す関数Rのテーブルを予め作成しておき、これを上式(6)に示すように連続的に用いることによって行われる。これに対して、量子化された対数尤度比からなる2入力a,bに対しては、次式(9)に示す関数R(a,b)を定義する。なお、次式(9)におけるΩは、刻み幅Δで量子化することを表すものである。
【0031】
【数15】
【0032】
チェックノードから出力されるメッセージujは、この上式(9)を用いることにより、上式(6)を用いて求めることができる。
【0033】
ここで、メッセージuj,viは、刻み幅Δで量子化されていることに注意を要する。すなわち、上式(6)に示した演算結果は、メッセージuj,vi、及び関数Rが量子化されないものとした場合には演算の順序に依存しないが、メッセージuj,vi、及び関数Rが量子化されている場合には演算の順序に依存することになる。デンシティ・エボルーションにおいては、この性質を用いて、誤差の評価を行うことが可能となる。
【0034】
続いて、デンシティ・エボルーションにおいては、c=R(a,b)とすると、確率分布Pc(v)は、2つの確率分布Pa(v),Pb(v)を用いて次式(10)を用いて求めることができる。
【0035】
【数16】
【0036】
この上式(10)を次式(11)で表すものとする。
【0037】
【数17】
【0038】
ここで、この変換は、確率分布Pa(i)と確率分布Pb(j)とを乗算し、得られた値を何に対して加算するのかを示すテーブルを予め作成しておき、このテーブルを参照することによって実現することができる。
【0039】
したがって、上式(6)で求められるメッセージujに対応する確率分布P(u)は、次式(12)に示すように、上式(11)に示した関数Rを連続的に用いることによって求めることができる。
【0040】
【数18】
【0041】
このように、デンシティ・エボルーションにおいては、バリアブルノードから出力されるメッセージviの確率分布P(v)を用いて、チェックノードから出力されるメッセージujの確率分布P(u)を直接的に求めることができる。例えばdc=5のLDPC符号の場合には、次式(13)に示すように、関数Rによる変換を3回行うことによって確率分布P(4)を求めることができる。
【0042】
【数19】
【0043】
なお、この上式(13)に示した演算においては、上式(11)の変換を3回行う必要があるが、次式(14)及び次式(15)に示すように、2回の変換で済ませることもできる。
【0044】
【数20】
【0045】
【数21】
【0046】
なお、上式(13)の結果と上式(15)の結果は、メッセージuj,vi、及び関数Rが量子化されないものとした場合には一致するが、メッセージuj,vi、及び関数Rが量子化されている場合には一致しない。デンシティ・エボルーションにおいては、この誤差を用いることにより、量子化誤差の評価を行うことが可能となる。
【0047】
【発明が解決しようとする課題】
ところで、上述したサム・プロダクト・アルゴリズムを用いたデンシティ・エボルーションにおいては、バリアブルノードから出力されるメッセージviの確率分布P(v)を用いて、チェックノードから出力されるメッセージujの確率分布P(u)を求めるために、上式(11)に示した2入力の関数Rのテーブルを予め作成しておき、上式(12)に示したように、符号構成に応じてこのテーブルを複数回参照する必要があった。
【0048】
したがって、サム・プロダクト・アルゴリズムを用いたデンシティ・エボルーションにおいては、テーブルの参照回数に応じた長い処理時間を要することになり、高速な符号解析を行うことが困難であった。
【0049】
なお、これと同様の問題は、サム・プロダクト・アルゴリズムを用いてLDPC符号を復号する際にも生じるものであり、高速な復号処理を行うことが困難であった。
【0050】
本発明は、このような実情に鑑みてなされたものであり、デンシティ・エボルーションを用いて符号解析を高速に行うことができる符号解析方法及び符号解析装置を提供することを目的とする。また、本発明は、LDPC符号を高速に復号することができる復号方法及び復号装置を提供することを目的とする。
【0051】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号解析方法は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出工程と、この第1の確率分布算出工程にて算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出工程とを備え、第1の確率分布算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められることを特徴としている。
【0052】
【数22】
【0053】
このような本発明にかかる符号解析方法は、第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0054】
また、上述した目的を達成する本発明にかかる符号解析装置は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析装置であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出手段と、この第1の確率分布算出手段によって算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出手段とを備え、第1の確率分布算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求めることを特徴としている。
【0055】
【数23】
【0056】
このような本発明にかかる符号解析装置は、第1の確率分布算出手段によって第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0057】
さらに、上述した目的を達成する本発明にかかる復号方法は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出工程と、この第1のメッセージ算出工程にて算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出工程とを備え、第1のメッセージ算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められることを特徴としている。
【0058】
【数24】
【0059】
このような本発明にかかる復号方法は、チェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0060】
さらにまた、上述した目的を達成する本発明にかかる復号装置は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出手段と、この第1のメッセージ算出手段によって算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出手段とを備え、第1のメッセージ算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求めることを特徴としている。
【0061】
【数25】
【0062】
このような本発明にかかる復号装置は、第1のメッセージ算出手段によってチェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求める。
【0063】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0064】
この実施の形態は、「Sae−Young Chung, G. David Forney, Jr. , Thomas J. Richardson and Rudiger Urbanke, ”On the design of low−density parity−check codes within 0.0045 dB of the Shannon limit”, To Appear in IEEE Communications Letters」に記載されている手法である、いわゆるデンシティ・エボルーション(density evolution)を離散的に行うことにより、低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)の解析を行う符号解析装置である。
【0065】
この符号解析装置は、チェックノード(check node)に入力されるメッセージviの確率分布P(v)に基づいて、出力されるメッセージujの確率分布P(u)を求め、この確率分布P(u)に基づいて、バリアブルノード(valiable node)から出力されるメッセージvi+1の確率分布P(v)を求め、さらに、この確率分布P(v)の誤り確率を算出するものであって、いわゆるマックス・プロダクト・アルゴリズム(Max Product Algorithm)を用いた符号解析を行うものである。符号解析装置は、いわゆるサム・プロダクト・アルゴリズム(Sum Product Algorithm)を用いるのではなく、マックス・プロダクト・アルゴリズムを用いることにより、サム・プロダクト・アルゴリズムでは予め作成した2入力の関数Rのテーブルを複数回参照する必要がある確率分布P(v)から確率分布P(u)への変換を、いわゆる対数尤度比(log likelihood ratio)で表現されたメッセージのうち、絶対値が最小であるものを選択するのみで実現することができ、デンシティ・エボルーションを用いた符号解析を高速に行うことができるものである。
【0066】
まず、以下では、符号解析装置の具体的な構成の説明に先だって、マックス・プロダクト・アルゴリズムを用いた符号解析アルゴリズムについて説明する。
【0067】
バリアブルノードから出力されるメッセージをviとし、チェックノードから出力されるメッセージをujとすると、メッセージviは、次式(16)で表すことができる。また、メッセージujは、次式(17)で表すことができる。
【0068】
【数26】
【0069】
【数27】
【0070】
ここで、上式(17)に示すメッセージujを求めるにあたっては、次式(18)に示すように、チェックノードに入力される複数のメッセージviのうち、絶対値|・|が最小であるものを選択するものとし、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとする。
【0071】
【数28】
【0072】
この場合におけるデンシティ・エボルーションについて考える。
【0073】
まず、メッセージviが正値のみをとる確率分布P(v)について考える。確率分布P(v)は、最大の量子化レベルをtとして、次式(19)に示すように表されるものとする。なお、次式(19)におけるΔは、量子化の刻み幅を示すものである。
【0074】
【数29】
【0075】
このとき、変換後の確率分布P(u)をSmn(iΔ)=S(i)で表すものとすると、量子化レベルt,t−1における確率分布S(t),S(t−1)は、それぞれ、次式(20)及び次式(21)に示すように表される。
【0076】
【数30】
【0077】
【数31】
【0078】
このような確率分布Sは、一般的に、整数jに対しては、次式(22)に示す演算を行うことによって求めることができる。
【0079】
【数32】
【0080】
つぎに、メッセージviが正値のみではなく負値もとる確率分布P(v)について考える。確率分布P(v)=P(i)の量子化レベルiを−t〜+tとする。ここで、次式(23)及び次式(24)に示すように、確率分布A(j),B(j)を定義する。
【0081】
【数33】
【0082】
【数34】
【0083】
これらの上式(23)及び上式(24)を用いると、確率分布S(j),S(−j)は、それぞれ、次式(25)及び次式(26)に示す演算を行うことによって求めることができる。
【0084】
【数35】
【0085】
【数36】
【0086】
このように、メッセージviの確率分布P(v)に基づいて、メッセージujの確率分布P(u)を求めることができる符号解析アルゴリズムを、マックス・プロダクト・アルゴリズムを用いて実現することができる。
【0087】
さて、このような符号解析アルゴリズムにしたがって実際に符号解析を行った例について説明する。
【0088】
まず、dv=3,dc=4のレギュラーLDPC符号を対象とし、量子化ビット数を”12”とし、雑音の標準偏差σをパラメータとして解析を行うと、図1に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERを示している。
【0089】
同図から、雑音の標準偏差σの閾値が”1.11262”と”1.11263”との間に存在することがわかる。また、同図から、マックス・プロダクト・アルゴリズムを用いて符号解析を行う場合には、繰り返し回数nを増加させるのにともない、誤り確率BERが単調減少するとは限らないことがわかる。
【0090】
この様子をより詳細に調べるために、同図における各繰り返し毎の誤り確率BERの差分を求めると、図2に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERの差分の絶対値δeの”10”を底とする対数表記(log10 δe)を示している。
【0091】
同図から、雑音の標準偏差σの閾値が”1.11263”の場合には、誤り確率BERが所定の繰り返し回数毎の周期で波状に増減しながら減少していくことがわかる。
【0092】
なお、参考までに、量子化ビット数を変化させたときの雑音の標準偏差σの閾値をまとめると、次表1に示す結果が得られた。
【0093】
【表1】
【0094】
つぎに、イレギュラーLDPC符号を対象として解析を行った。
【0095】
ここで、イレギュラーLDPC符号においては、検査行列をいわゆるディグリー・シーケンス(degree sequence)によって定義する。ディグリー・シーケンスとは、検査行列における”1”の個数の分布を表すものであり、検査行列における縦方向(列)の”1”の個数の分布については、次式(27)に示す関数λ(x)で表し、検査行列における横方向(行)の”1”の個数の分布については、次式(28)に示す関数ρ(x)で表す。
【0096】
【数37】
【0097】
【数38】
【0098】
なお、上式(27)における次数niは、上述したdvに対応するものであり、検査行列における縦方向(列)の”1”の個数を表すものである。また、上式(28)における次数miは、上述したdcに対応するものであり、検査行列における横方向(行)の”1”の個数を表すものである。さらに、上式(27)における係数λiは、検査行列における縦方向(列)の”1”の個数が”ni”である割合を表すものである。さらにまた、上式(28)における係数ρiは、検査行列における横方向(行)の”1”の個数が”mi”である割合を表すものである。
【0099】
このようなイレギュラーLDPC符号の例として、λ2=0.303702,λ3=0.277538,λ6=0.028432,λ7=0.200133,λ20=0.190195とし、検査行列における横方向(行)の”1”の個数の平均値ρaveとして、ρave=6.96875としたものを対象として解析を行った。すなわち、検査行列における縦方向(列)のディグリー・シーケンスを次式(29)で表されるものとした。この場合、量子化ビット数を”10”とし、雑音の標準偏差σをパラメータとして解析を行うと、図3に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERを示している。
【0100】
【数39】
【0101】
同図から、雑音の標準偏差σの閾値が”0.90183”と”0.90184”との間に存在することがわかる。なお、「Sae−Young Chung, ”On the construction of some capacity−approaching coding schemes”, Ph. D. dissertation, Massachusetts Institute of Technology, Cambridge, 2000」によれば、同じ条件の下での雑音の標準偏差σの閾値は、”0.901”となっており、この値と略一致するという結果が得られた。また、同図においても、繰り返し回数nを増加させるのにともない、誤り確率BERが単調減少するとは限らないという傾向が伺えた。
【0102】
この様子をより詳細に調べるために、同図における各繰り返し毎の誤り確率BERの差分を求めると、図4に示すような結果が得られた。なお、同図における横軸は、繰り返し回数nを示し、縦軸は、誤り確率BERの差分の絶対値δeの”10”を底とする対数表記(log10 δe)を示している。
【0103】
なお、参考までに、量子化ビット数を変化させたときの雑音の標準偏差σの閾値をまとめると、次表2に示す結果が得られた。
【0104】
【表2】
【0105】
さて、本発明の実施の形態として示す符号解析装置は、このような解析の結果を呈する符号解析アルゴリズムを踏まえて、以下のように構成することができる。
【0106】
すなわち、図5に示すように、符号解析装置1は、受信値u0の確率分布P0(u=u0)を入力する入力部10と、確率分布P(v)に基づいて確率分布P(u)を算出するP(u)算出部20と、このP(u)算出部20によって得られた確率分布P(u)に基づいて確率分布P(v)を算出するP(v)算出部30と、確率分布P(v)の誤り確率BERを算出する誤り確率算出部40とを備える。
【0107】
入力部10は、受信値u0の確率分布P0(u=u0)を入力する。入力部10は、確率分布P0(u=u0)を確率分布P(v)とし、この確率分布P(v)をP(u)算出部20に供給する。
【0108】
P(u)算出部20は、入力部10から供給された確率分布P(v)に基づいて、上述したマックス・プロダクト・アルゴリズムを用いて確率分布P(u)を算出する。具体的には、P(u)算出部20は、次式(30)に示すように、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求め、確率分布P(u)を算出する。P(u)算出部20は、得られた確率分布P(u)をP(v)算出部30に供給する。
【0109】
【数40】
【0110】
P(v)算出部30は、P(u)算出部20から供給された確率分布P(u)に基づいて、確率分布P(v)を算出する。具体的には、P(v)算出部30は、メッセージvの確率分布P(v)を求めるために、メッセージuの確率分布P(u)を用いて、次式(31)に示すような畳み込み演算を行う。なお、次式(31)における”*”は、畳み込み演算を表す演算子である。また、次式(31)において畳み込み演算を行う確率分布P(u)の個数は、検査行列の縦方向(列)の”1”の個数に依存し、例えばレギュラーLDCP符号の場合には、dv−1個である。
【0111】
【数41】
【0112】
この上式(31)に示す畳み込み演算は、多項式の乗算のようにして実現することができる。P(v)算出部30は、得られた確率分布P(v)を誤り確率算出部40に供給する。
【0113】
誤り確率算出部40は、P(v)算出部30から供給された確率分布P(v)の誤り確率BERを算出する。また、誤り確率算出部40は、算出した誤り確率BERと、前回の繰り返し計算の際に算出した誤り確率BERとの差分δeを算出する。誤り確率算出部40は、算出した差分δeが所定の値εよりも大きいものと判定した場合には、P(v)算出部30から供給された確率分布P(v)をP(u)算出部20に供給する一方で、算出した差分δeが所定の値εよりも小さいものと判定した場合には、誤り確率BERを外部に出力する。
【0114】
このような各部を備える符号解析装置1は、図6に示すような一連の工程を経ることにより、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行う。
【0115】
まず、符号解析装置1は、同図に示すように、ステップS1において、入力部10を介して受信値u0の確率分布P0(u=u0)を入力し、この確率分布P0(u=u0)を確率分布P(v)とする。
【0116】
続いて、符号解析装置1は、ステップS2において、P(u)算出部20によってマックス・プロダクト・アルゴリズムを用いた上式(30)に示した演算を行うことにより、確率分布P(v)に基づいて確率分布P(u)を算出する。
【0117】
続いて、符号解析装置1は、ステップS3において、P(v)算出部30によって上式(31)に示した演算を行うことにより、確率分布P(u)に基づいて確率分布P(v)を算出する。
【0118】
続いて、符号解析装置1は、ステップS4において、誤り確率算出部40によって確率分布P(v)の誤り確率BERを算出し、ステップS5において、算出した誤り確率BERと、前回の繰り返し計算の際に算出した誤り確率BERとの差分δeを算出する。
【0119】
そして、符号解析装置1は、ステップS6において、算出した差分δeが所定の値εよりも小さいか否かを誤り確率算出部40によって判定する。
【0120】
ここで、符号解析装置1は、差分δeが所定の値εよりも大きいものと判定した場合には、ステップS3にて算出した確率分布P(v)をP(u)算出部20に対する入力として、ステップS2からの処理を繰り返す。一方、符号解析装置1は、差分δeが所定の値εよりも小さいものと判定した場合には、一連の繰り返し計算が収束したものとして一連の処理を終了する。
【0121】
符号解析装置1は、このような一連の工程を経ることにより、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行うことができる。
【0122】
以上説明したように、本発明の実施の形態として示した符号解析装置1は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる新たな符号解析アルゴリズムを実装するものであり、メッセージuの確率分布P(u)を算出する際に、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求め、確率分布P(u)を算出する。したがって、符号解析装置1は、確率分布P(v)から確率分布P(u)への変換を行う際に、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数Rのテーブルを複数回参照する必要がなく、任意のLDPC符号に対する高精度な符号解析を高速に行うことができる。
【0123】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば上述した実施の形態では、デンシティ・エボルーションによる符号解析を行う符号解析装置について説明したが、本発明は、マックス・プロダクト・アルゴリズムを用いてLDPC符号を復号する復号装置にも適用することができる。
【0124】
すなわち、復号装置としては、LDPC符号による符号化を行う符号化装置から出力された信号を雑音のある所定の通信路を介して入力して復号を行う際に、メッセージviのうち、絶対値|・|が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値として、メッセージuを求めるものであればよい。なお、復号装置は、算出したメッセージujに基づいてメッセージviを算出する際には、上式(16)に示した演算を行えばよい。
【0125】
このような復号装置は、例えば、符号化装置から送信されて雑音のある所定の通信路2を介して受信した受信値を復号するデータ送受信システムの他、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optic)といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することができる。
【0126】
また、上述した実施の形態では、符号解析装置をハードウェアによって構成された装置であるものとして説明したが、この符号解析装置を、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図7を参照して説明する。
【0127】
コンピュータ装置150は、同図に示すように、各部を統括して制御するCPU(Central Processing Unit)151と、各種プログラムを含む情報を格納する読み取り専用のROM152と、ワークエリアとして機能するRAM(RandomAccess Memory)153と、各種プログラムやデータ等の記録及び/又は再生を行うHDD(Hard Disk Drive)154と、これらのCPU151、ROM152、RAM153及びHDD154を接続するバス155と、CPU151、ROM152、RAM153及びHDD154と後述する表示部157、入力部158、通信部159及びドライブ160との間でデータの入出力を行うための入出力インターフェース156と、各種情報を表示する表示部157と、ユーザによる操作を受け付ける入力部158と、外部との通信を行うための通信部159と、着脱自在とされる記録媒体170に対する各種情報の記録及び/又は再生を行うドライブ160とを備える。
【0128】
CPU151は、バス155を介してROM152、RAM153及びHDD154と接続しており、これらのROM152、RAM153及びHDD154を制御する。また、CPU151は、バス155を介して入出力インターフェース156に接続しており、この入出力インターフェース156に接続されている表示部157、入力部158、通信部159及びドライブ160を制御する。さらに、CPU151は、ROM152、HDD154又はドライブ160に装着された記録媒体170に記録されている各種プログラムを実行する。
【0129】
ROM152は、各種プログラムを含む情報を格納している。このROM152に格納されている情報は、CPU151の制御の下に読み出される。
【0130】
RAM153は、CPU151が各種プログラムを実行する際のワークエリアとして機能し、CPU151の制御の下に、各種データを一時記憶する。
【0131】
HDD154は、CPU151の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び/又は再生を行う。
【0132】
バス155は、CPU151の制御の下に、ROM152、RAM153及びHDD154から読み出された各種データ等を伝送するとともに、RAM153及びHDD154に記録する各種データ等を伝送する。
【0133】
入出力インターフェース156は、CPU151の制御の下に表示部157に各種情報を表示するためのインターフェースと、ユーザによって入力部158を介して操作された内容を示す制御信号をCPU151に対して伝送するためのインターフェースと、CPU151の制御の下に通信部159を介して外部との間でデータを入出力するためのインターフェースと、ドライブ160に装着された記録媒体170に対して各種情報の記録及び/又は再生を行うためのインターフェースとを有し、CPU151、ROM152、RAM153及びHDD154からのデータを表示部157、入力部158、通信部159及びドライブ160に対して出力したり、表示部157、入力部158、通信部159及びドライブ160からのデータをCPU151、ROM152、RAM153及びHDD154に対して入力したりする。
【0134】
表示部157は、例えばLCD(Liquid Crystal Display)からなり、CPU151の制御の下に、例えばHDD154に記録されていたデータ等の各種情報を表示する。
【0135】
入力部158は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をCPU151に対して出力する。
【0136】
通信部159は、CPU151の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【0137】
ドライブ160は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optical)といった、磁気、光又は光磁気ディスク等の記録媒体170を着脱し、CPU151の制御の下に、装着された記録媒体170に対する各種情報の記録及び/又は再生を行う。
【0138】
このようなコンピュータ装置150は、CPU151によって所定のプログラムを実行することにより、上述した符号解析装置1におけるマックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析処理を実現する。
【0139】
すなわち、コンピュータ装置150は、例えばユーザが符号解析プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、符号解析プログラムをRAM153にロードして実行し、表示部157に解析結果等を表示する。
【0140】
ここで、符号解析プログラムは、例えば記録媒体170によって提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、符号解析プログラムは、ROM152に予め格納されていてもよい。さらに、符号解析の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した受信値u0の確率分布P0(u0)に対応するものである。
【0141】
具体的には、コンピュータ装置150は、CPU151によって符号解析プログラムを実行すると、CPU151の制御の下に、上述した受信値u0の確率分布P0(u0)に対応するデータを用いて、マックス・プロダクト・アルゴリズムを用いた上式(30)に示した演算を行うことにより、上述した確率分布P(u)に対応するデータを算出する。
【0142】
続いて、コンピュータ装置150は、CPU151の制御の下に、確率分布P(u)に対応するデータを用いて、上式(31)に示した演算を行うことにより、上述した確率分布P(v)に対応するデータを算出する。
【0143】
続いて、コンピュータ装置150は、CPU151の制御の下に、上述した確率分布P(v)の誤り確率BERに対応する値を算出し、この値と、前回の繰り返し計算の際に算出した誤り確率BERに対応する値との差分δeに対応する値を算出する。
【0144】
そして、コンピュータ装置150は、CPU151の制御の下に、このような一連の動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、所定の回数の復号動作の結果得られた誤り確率BERに対応する値を出力する。
【0145】
コンピュータ装置150は、CPU151の制御の下に、得られた誤り確率BERに対応する値や確率分布に対応するデータをハードディスク等に記録し、必要に応じて、表示部157に解析結果等を表示する。なお、得られた誤り確率BERに対応する値や確率分布に対応するデータは、記録媒体170等に記録することもできる。
【0146】
このように、コンピュータ装置150は、上述した符号解析装置1における符号解析処理を符号解析プログラムを実行することによって実現することができる。
【0147】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0148】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号解析方法は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出工程と、この第1の確率分布算出工程にて算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出工程とを備え、第1の確率分布算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められる。
【0149】
【数42】
【0150】
したがって、本発明にかかる符号解析方法は、第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する高精度な符号解析を高速に行うことが可能となる。
【0151】
また、本発明にかかる符号解析装置は、マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析装置であって、チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出手段と、この第1の確率分布算出手段によって算出された第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出手段とを備え、第1の確率分布算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求める。
【0152】
【数43】
【0153】
したがって、本発明にかかる符号解析装置は、第1の確率分布算出手段によって第1の確率分布P(v)を第2の確率分布P(u)に変換する際に、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムを用いる場合のように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する高精度な符号解析を高速に行うことができる。
【0154】
さらに、本発明にかかる復号方法は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出工程と、この第1のメッセージ算出工程にて算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出工程とを備え、第1のメッセージ算出工程では、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによってメッセージujが求められる。
【0155】
【数44】
【0156】
したがって、本発明にかかる復号方法は、チェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムのように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する復号を高速に行うことが可能となる。
【0157】
さらにまた、本発明にかかる復号装置は、低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出手段と、この第1のメッセージ算出手段によって算出されたメッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出手段とを備え、第1のメッセージ算出手段は、チェックノードに入力される複数のメッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによってメッセージujを求める。
【0158】
【数45】
【0159】
したがって、本発明にかかる復号装置は、第1のメッセージ算出手段によってチェックノードに入力される複数のメッセージviに基づいてメッセージujを求める際に、メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、メッセージviにおける負値の個数が奇数である場合に負値とし、メッセージviにおける負値の個数が偶数である場合に正値とするものとして一般式(1)で表される演算を行い、メッセージujを求めることにより、サム・プロダクト・アルゴリズムのように予め作成した2入力の関数のテーブルを複数回参照する必要がなく、任意の低密度パリティ検査符号に対する復号を高速に行うことができる。
【図面の簡単な説明】
【図1】dv=3,dc=4とし、量子化ビット数を”12”としたときの繰り返し回数nと誤り確率BERとの関係を求めた解析結果を説明する図である。
【図2】図1における各繰り返し毎の誤り確率BERの差分を求めた解析結果を説明する図である。
【図3】λ2=0.303702,λ3=0.277538,λ6=0.028432,λ7=0.200133,λ20=0.190195,ρave=6.96875とし、量子化ビット数を”10”としたときの繰り返し回数nと誤り確率BERとの関係を求めた解析結果を説明する図である。
【図4】図3における各繰り返し毎の誤り確率BERの差分を求めた解析結果を説明する図である。
【図5】本発明の実施の形態として示す符号解析装置の構成を説明するブロック図である。
【図6】同符号解析装置によってマックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる符号解析を行う際の一連の工程を説明するフローチャートである。
【図7】コンピュータ装置の構成を説明するブロック図である。
【図8】疎な検査行列の一例を説明する図である。
【図9】LDPC符号を復号する際の一連の手順を説明するフローチャートである。
【図10】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【符号の説明】
1 符号解析装置、 10 入力部、 20 P(u)算出部、 30 P(v)算出部、 40 誤り確率算出部、 150 コンピュータ装置
Claims (14)
- マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析方法であって、
チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出工程と、
上記第1の確率分布算出工程にて算出された上記第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出工程とを備え、
上記第1の確率分布算出工程では、チェックノードに入力される複数の上記メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、上記メッセージviにおける負値の個数が奇数である場合に負値とし、上記メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによって上記メッセージujが求められること
を特徴とする符号解析方法。
- 上記第2の確率分布算出工程にて算出された上記第3の確率分布P(v)の誤り確率BERを算出する誤り確率算出工程を備えること
を特徴とする請求項1記載の符号解析方法。 - 受信値u0の確率分布P0(u=u0)を入力する入力工程を備えること
を特徴とする請求項1記載の符号解析方法。 - マックス・プロダクト・アルゴリズムを用いたデンシティ・エボルーションによる低密度パリティ検査符号の解析を行う符号解析装置であって、
チェックノードに入力されるメッセージviの確率分布である第1の確率分布P(v)に基づいて、出力されるメッセージujの確率分布である第2の確率分布P(u)を算出する第1の確率分布算出手段と、
上記第1の確率分布算出手段によって算出された上記第2の確率分布P(u)に基づいて、バリアブルノードから出力されるメッセージvi+1の確率分布である第3の確率分布P(v)を算出する第2の確率分布算出手段とを備え、
上記第1の確率分布算出手段は、チェックノードに入力される複数の上記メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、上記メッセージviにおける負値の個数が奇数である場合に負値とし、上記メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによって上記メッセージujを求めること
を特徴とする符号解析装置。
- 上記第2の確率分布算出手段によって算出された上記第3の確率分布P(v)の誤り確率BERを算出する誤り確率算出手段を備えること
を特徴とする請求項5記載の符号解析装置。 - 受信値u0の確率分布P0(u=u0)を入力する入力手段を備えること
を特徴とする請求項5記載の符号解析装置。 - 低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、
チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出工程と、
上記第1のメッセージ算出工程にて算出された上記メッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出工程とを備え、
上記第1のメッセージ算出工程では、チェックノードに入力される複数の上記メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、上記メッセージviにおける負値の個数が奇数である場合に負値とし、上記メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算が行われることによって上記メッセージujが求められること
を特徴とする復号方法。
- 上記第1のメッセージ算出工程では、マックス・プロダクト・アルゴリズムにしたがった処理が行われること
を特徴とする請求項9記載の復号方法。 - 低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、
チェックノードに入力されるメッセージviに基づいて、出力されるメッセージujを算出する第1のメッセージ算出手段と、
上記第1のメッセージ算出手段によって算出された上記メッセージujに基づいて、バリアブルノードから出力されるメッセージvi+1を算出する第2のメッセージ算出手段とを備え、
上記第1のメッセージ算出手段は、チェックノードに入力される複数の上記メッセージviのうち、絶対値が最小であるものを選択し、正負を識別するための符号sgnについては、上記メッセージviにおける負値の個数が奇数である場合に負値とし、上記メッセージviにおける負値の個数が偶数である場合に正値とするものとして、下記一般式(1)で表される演算を行うことによって上記メッセージujを求めること
を特徴とする復号装置。
- 上記第1のメッセージ算出手段は、マックス・プロダクト・アルゴリズムにしたがった処理を行うこと
を特徴とする請求項12記載の復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002267060A JP2004104686A (ja) | 2002-09-12 | 2002-09-12 | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002267060A JP2004104686A (ja) | 2002-09-12 | 2002-09-12 | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004104686A true JP2004104686A (ja) | 2004-04-02 |
Family
ID=32265690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002267060A Withdrawn JP2004104686A (ja) | 2002-09-12 | 2002-09-12 | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004104686A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100698192B1 (ko) * | 2005-09-02 | 2007-03-22 | 엘지전자 주식회사 | Ldpc 부호의 복호 방법 |
US7434135B2 (en) | 2004-11-08 | 2008-10-07 | Kabushiki Kaisha Toshiba | Decoder and method for decoding low-density parity-check code |
CN109981113A (zh) * | 2019-03-29 | 2019-07-05 | 中国电子科技集团公司第三十六研究所 | 一种ldpc码信息数据的盲获取方法 |
-
2002
- 2002-09-12 JP JP2002267060A patent/JP2004104686A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7434135B2 (en) | 2004-11-08 | 2008-10-07 | Kabushiki Kaisha Toshiba | Decoder and method for decoding low-density parity-check code |
KR100698192B1 (ko) * | 2005-09-02 | 2007-03-22 | 엘지전자 주식회사 | Ldpc 부호의 복호 방법 |
CN109981113A (zh) * | 2019-03-29 | 2019-07-05 | 中国电子科技集团公司第三十六研究所 | 一种ldpc码信息数据的盲获取方法 |
CN109981113B (zh) * | 2019-03-29 | 2022-12-13 | 中国电子科技集团公司第三十六研究所 | 一种ldpc码信息数据的盲获取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3815557B2 (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
JP2004088470A (ja) | 復号装置及び復号方法 | |
JP3727938B2 (ja) | Ldpc復号化装置及びその方法 | |
JP3893383B2 (ja) | Ldpc符号用検査行列生成方法および検査行列生成装置 | |
US8166363B2 (en) | Decoding device and method | |
JP4563476B2 (ja) | 符号化器、復号化器及び符号化方法 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
US20050204272A1 (en) | Decoding apparatus and method and information processing apparatus and method | |
WO2004107585A1 (ja) | 復号方法および復号装置、プログラム、記録再生装置および方法、並びに、再生装置および方法 | |
WO2003056705A1 (fr) | Procede de generation de matrice d'examen de code ldpc | |
JP4005084B2 (ja) | 検査行列生成方法および検査行列生成装置 | |
JP4572937B2 (ja) | 復号装置および方法、プログラム、並びに記録媒体 | |
JP2016154350A (ja) | 送信装置および送信方法 | |
US20020002695A1 (en) | Method and system for decoding | |
JP2004104686A (ja) | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 | |
JP2004088449A (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
Kumar et al. | On graphical representations of algebraic codes suitable for iterative decoding | |
Li et al. | Pseudocodeword-based decoding of quantum stabilizer codes | |
JP2010028408A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR101606040B1 (ko) | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 | |
Yao et al. | LDGM Codes Based Near-optimal Coding for Adaptive Steganography | |
Liao et al. | A dynamic normalization technique for decoding LDPC codes | |
Sun et al. | Reliability-based iterative proportionality-logic decoding of LDPC codes with adaptive decision | |
Pal et al. | Error-Control Coding Algorithms and Architecture for Modern Applications Powered by LDPC Codes and Belief Propagation | |
Nguyen-Van-Thanh et al. | Efficient Genetic Algorithm-based LDPC Code Design for IoT Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050527 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050810 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060110 |