JP3815557B2 - 符号化装置及び符号化方法、並びに復号装置及び復号方法 - Google Patents
符号化装置及び符号化方法、並びに復号装置及び復号方法 Download PDFInfo
- Publication number
- JP3815557B2 JP3815557B2 JP2002247318A JP2002247318A JP3815557B2 JP 3815557 B2 JP3815557 B2 JP 3815557B2 JP 2002247318 A JP2002247318 A JP 2002247318A JP 2002247318 A JP2002247318 A JP 2002247318A JP 3815557 B2 JP3815557 B2 JP 3815557B2
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- degree sequence
- check matrix
- quantization width
- encoding
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の属する技術分野】
本発明は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置及び符号化方法、並びにこれらの符号化装置及び符号化方法によって符号化が施された符号の復号を行う復号装置及び復号方法に関する。
【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-Density Parity-Check Codes", Cambridge, Massachusetts: M. I. T. Press, 1963」によって最初に提案されたものであり、その後、「D. J. C. MacKay, "Good error correcting 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"で表すものとすると、例えば図14に示すように、各列のハミング重みが"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)ともいう。))とチェックノード(check node)とからなるいわゆるタナーグラフ(Tanner graph)上での確率伝播(belief propagation)によるメッセージ・パッシング・アルゴリズムによって行うことが可能である。しかしながら、この"Probabilistic Decoding"においては、各ノード間で受け渡されるメッセージが実数値であることから、解析的に解くためには、連続した値をとるメッセージの確率分布そのものを追跡する必要があり、非常に困難をともなう解析を必要とすることになる。
【0013】
そこで、Gallagerは、LDPC符号の復号アルゴリズムとして、アルゴリズムA又はアルゴリズムBを提案している。
【0014】
一般的には、LDPC符号の復号は、図15に示すような手順にしたがって行われる。なお、ここでは、受信値をU0(u0i)とし、チェックノードから出力されるメッセージをujとし、バリアブルノードから出力されるメッセージをviとしており、メッセージとは、値の"0"らしさをいわゆる対数尤度比(log likelihood ratio)で表現した実数値である。
【0015】
まず、LDPC符号の復号においては、同図に示すように、ステップS11において、受信値U0(u0i)を受信すると、メッセージujを"0"とするとともに、繰り返し処理のカウンタとしての整数kを"0"とする。
【0016】
続いて、LDPC符号の復号においては、ステップS12において、受信値U0(u0i)に基づいて、次式(4)に示す演算を行うことによってメッセージviを求め、さらに、このメッセージviに基づいて、次式(5)に示す演算を行うことによってメッセージujを求める。そして、LDPC符号の復号においては、整数kを"1"だけインクリメントする。
【0017】
【数4】
【0018】
【数5】
【0019】
なお、上式(4)及び上式(5)におけるdv,dcは、それぞれ、上述した検査行列Hの縦方向(列)及び横方向(行)の"1"の個数を示す任意に選択可能とされるパラメータであり、例えば(3,6)符号の場合には、dv=3,dc=6となる。ここで、上式(4)及び上式(5)に示す演算においては、それぞれ、出力しようとするエッジから入力されたメッセージを、積又は和演算のパラメータとしては用いないことから、積又は和演算の範囲がdv−1,dc−1までとなっている。また、上式(5)に示す演算は、実際には、2入力v1,v2に対する1出力で定義される次式(6)に示す関数Rのテーブルを予め作成しておき、これを次式(7)に示すように連続的に用いることによって行われる。
【0020】
【数6】
【0021】
【数7】
【0022】
続いて、LDPC符号の復号においては、ステップS13において、整数kがNよりも大きいか否かを判定する。
【0023】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS12からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS14へと処理を移行する。
【0024】
そして、LDPC符号の復号においては、ステップS14において、次式(8)に示す演算を行うことによって最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。次式(8)に示す演算においては、上式(4)とは異なり、接続している全てのエッジからの入力メッセージを用いて行われる。
【0025】
【数8】
【0026】
このようなLDPC符号の復号は、例えば(3,6)符号の場合には、図16に示すように各ノード間でメッセージの授受が行われる。なお、同図における"="で示すノードでは、上式(4)に示した演算が行われ、"+"で示すノードでは、上式(5)に示した演算が行われる。特に、上述したアルゴリズムAにおいては、メッセージを2元化し、"+"で示すノードにて、dc−1個の入力メッセージの排他的論理和演算を行い、"="で示すノードにて、受信値Rに対して、dv−1個の入力メッセージが全て異なるビット値であった場合には符号を反転して出力する。
【0027】
【発明が解決しようとする課題】
ところで、LDPC符号の性能を向上させるには、イレギュラーな符号を用いることが考えられる。
【0028】
ここで、イレギュラーLDPC符号においては、検査行列をいわゆるディグリー・シーケンス(degree sequence)によって定義する。ディグリー・シーケンスとは、検査行列における"1"の個数の分布を表すものである。
【0029】
しかしながら、LDPC符号においては、このディグリー・シーケンスによる性能評価が行われておらず、最適化されたディグリー・シーケンスの指針を与えたものは見受けられない。したがって、LDPC符号においては、このディグリー・シーケンスを最適化することができれば、符号の性能を向上させることができる余地があることがわかる。
【0030】
また、LDPC符号の復号においては、最初に受信値を量子化する必要がある。このとき、受信値や各ノード間で授受されるメッセージを表現するビット数が少ない場合には、量子化幅をいかに設定するかによって性能が変化することが知られている。
【0031】
一般的には、ビット数が少ない場合のLDPC符号の復号は、図17に示すような手順にしたがって行われる。
【0032】
まず、LDPC符号の復号においては、同図に示すように、ステップS21において、受信値U0(u0i)を受信すると、これらの受信値U0(u0i)を低ビット数で量子化し、メッセージviを"u0i"とするとともに、繰り返し処理のカウンタとしての整数kを"0"とする。例えば、LDPC符号の復号においては、メッセージを2ビットで表現する場合には、受信値U0(u0i)を3ビットに量子化する。LDPC符号の復号においては、この3ビットに量子化された受信値U0(u0i)を2ビットに量子化し、メッセージviの算出に用いることになる。
【0033】
続いて、LDPC符号の復号においては、ステップS22において、メッセージviに基づいて、メッセージujを求め、さらに、受信値U0(u0i)及び算出したメッセージujに基づいて、上式(4)に示す演算を行うことによってメッセージviを求める。そして、LDPC符号の復号においては、整数kを"1"だけインクリメントする。
【0034】
なお、LDPC符号の復号においては、上述したように、低ビット数の2入力v1,v2から低ビット数の1出力関数のテーブルを予め作成しておき、これを連続的に用いることによって低ビット数のメッセージujを求める。また、LDPC符号の復号においては、上式(4)を用いてメッセージviを求めると、ビット数が増加してしまうことから、これを2ビットに量子化する。
【0035】
続いて、LDPC符号の復号においては、ステップS23において、整数kがNよりも大きいか否かを判定する。
【0036】
ここで、LDPC符号の復号においては、整数kがNよりも大きくないものと判定した場合には、ステップS22からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS24へと処理を移行する。
【0037】
そして、LDPC符号の復号においては、ステップS24において、最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。
【0038】
このようなLDPC符号の復号においては、受信値や各ノード間で授受されるメッセージを量子化する際の量子化幅によって性能が変化する。また、LDPC符号の復号においては、上式(4)を用いてメッセージviを求める際の量子化幅も誤り訂正の性能に影響する。
【0039】
しかしながら、LDPC符号の復号においては、量子化幅による性能評価が行われておらず、最適化された量子化幅の指針を与えたものは見受けられない。したがって、LDPC符号の復号においては、この量子化幅を最適化することができれば、符号の性能を向上させることができる余地があることがわかる。
【0040】
本発明は、このような実情に鑑みてなされたものであり、符号化における検査行列を定義するディグリー・シーケンスを最適化して符号性能を向上させることができる符号化装置及び符号化方法、並びに量子化幅を最適化してLDPC符号の復号を高精度に行うことができる復号装置及び復号方法を提供することを目的とする。
【0041】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段と、符号の復号を行う復号装置による受信値の量子化の際の量子化幅を最適化して算出する量子化幅算出手段と、この量子化幅算出手段によって算出された量子化幅の値を示す情報を復号装置に送信する送信手段とを備え、ディグリー・シーケンス算出手段は、復号装置にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出し、量子化幅算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、量子化幅を最適化して算出することを特徴としている。
【0042】
このような本発明にかかる符号化装置は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンス算出手段によってディグリー・シーケンスを最適化して算出する。
【0043】
また、上述した目的を達成する本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程と、符号の復号を行う復号処理による受信値の量子化の際の量子化幅を最適化して算出する量子化幅算出工程と、この量子化幅算出工程によって算出された量子化幅の値を示す情報を復号装置に送信する送信工程とを備え、ディグリー・シーケンス算出工程では、復号処理にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出され、量子化幅算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、量子化幅が最適化されて算出されることを特徴としている。
【0044】
このような本発明にかかる符号化方法は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出する。
【0045】
さらに、上述した目的を達成する本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段と、符号の復号を行う復号装置による受信値の確率分布の量子化の際の量子化幅を最適化して算出する量子化幅算出手段と、この量子化幅算出手段によって算出された量子化幅の値を示す情報を復号装置に送信する送信手段とを備え、ディグリー・シーケンス算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出し、量子化幅算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、量子化幅を最適化して算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信された符号を受信値として受信するとともに、量子化幅の値を示す情報を受信する受信手段と、この受信手段によって受信された量子化幅の値を示す情報に基づいて、受信手段によって受信された受信値の確率分布を量子化する量子化手段と、この量子化手段によって量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えることを特徴としている。
また、上述した目的を達成する本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値の確率分布を所定の低ビット数で量子化する量子化手段と、この量子化手段によって量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えることを特徴としている。
【0046】
このような本発明にかかる復号装置は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、最適化されて算出されたディグリー・シーケンスに基づいて符号化された符号を受信手段によって受信し、この受信手段によって受信された受信値の確率分布を量子化手段によって所定の低ビット数で量子化し、この量子化手段によって量子化された受信値の確率分布に基づいてメッセージ算出手段によって復号する。
【0047】
さらにまた、上述した目的を達成する本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程と、符号の復号を行う復号装置による受信値の確率分布の量子化の際の量子化幅を最適化して算出する量子化幅算出工程と、この量子化幅算出工程によって算出された量子化幅の値を示す情報を復号装置に送信する送信工程とを備え、ディグリー・シーケンス算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出され、量子化幅算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、量子化幅が最適化されて算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきた符号を受信値として受信するとともに、量子化の幅の値を示す情報を受信する受信工程と、この受信工程にて受信された量子化幅の値を示す情報に基づいて、受信工程にて受信された受信値の確率分布を量子化する量子化工程と、この量子化工程にて量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
また、上述した目的を達成する本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、このディグリー・シーケンス算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値に重畳されている雑音の分散を求める分散測定工程と、この分散測定工程にて求められた雑音の分散に基づいて最適化した量子化幅を決定する量子化幅決定工程と、この量子化幅決定工程にて決定された量子化幅で、受信工程にて受信された受信値の確率分布を量子化する量子化工程と、この量子化工程にて量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えることを特徴としている。
【0048】
このような本発明にかかる復号方法は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、最適化されて算出されたディグリー・シーケンスに基づいて符号化された符号を受信し、受信値の確率分布を所定の低ビット数で量子化し、この量子化された受信値の確率分布に基づいて復号する。
【0049】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0050】
この実施の形態は、図1に示すように、ディジタル情報を図示しない送信装置が備える符号化装置1によって符号化し、その出力を雑音のある所定の通信路2を介して図示しない受信装置に入力して、この受信装置が備える復号装置3によって復号する通信モデルに適用したデータ送受信システムである。
【0051】
このデータ送受信システムにおいて、符号化装置1は、低密度パリティ検査符号(Low Density Parity Check codes;以下、LDPC符号という。)による符号化を行うものとして構成されるものである。特に、符号化装置1は、復号装置3において受信値や各ノード間で授受されるメッセージを少ないビット数で表現する際に、後述するディグリー・シーケンス(degree sequence)を最適化し、符号性能を向上させることができるものである。
【0052】
一方、復号装置3は、符号化装置1によって符号化がなされた符号の復号を行うものであって、繰り返し復号を行うものとして構成されるものである。特に、復号装置3は、受信値や各ノード間で授受されるメッセージを少ないビット数で表現する際の量子化幅を最適化し、高精度にLDPC符号の復号を行うことができるものである。
【0053】
まず、以下では、データ送受信システムの具体的な構成の説明に先だって、当該データ送受信システムによる符号化処理及び復号処理の指針を与えるに至った解析結果について説明する。
【0054】
まず、復号処理における量子化方法の最適化に関する解析結果について説明する。
【0055】
イニシャル・メッセージ、すなわち、受信値を3ビットで表現し、その後のメッセージを2ビットで表現する復号処理の解析を、例えば「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)によって行う。
【0056】
まず、レギュラーないわゆる(3,6)符号について、すなわち、dv=3,dc=6とした場合について解析する。
【0057】
バリアブルノード(valiable node)から出力されるメッセージをVとし、チェックノード(check node)から出力されるメッセージをUとすると、メッセージVは、次式(9)で表すことができる。
【0058】
【数9】
【0059】
上式(9)において、メッセージU0は、イニシャル・メッセージであり、メッセージUj(j=1,2,・・・,dv−1)は、隣接するバリアブルノードから入力されるメッセージである。また、メッセージUは、次式(10)で表すことができる。
【0060】
【数10】
【0061】
ここで、いわゆる対数尤度比(log likelihood ratio)で表現された実数値であるイニシャル・メッセージを3ビットに量子化する場合には、当該イニシャル・メッセージの確率分布における正値の部分と負値の部分とを、それぞれ、4つの領域に分割する。すなわち、イニシャル・メッセージの確率分布が図2(A)に示すように表される場合には、同図(B)に示すように、8つの領域に分割するように量子化する。なお、同図における横軸は、対数尤度比を示し、縦軸は、確率分布を示している。このとき、対数尤度比の分割の区切りは、正値の部分で3つ必要になるが、これらの値、すなわち、量子化幅をa1,a2,a3とする。また、負値の部分については、正値の部分と対称に分割するものとする。メッセージU0は、3ビットであることから、0〜7の値をとるものとし、イニシャル・メッセージU0以外の他のメッセージUjは、2ビットであることから、0〜3の値をとるものとする。
【0062】
デンシティ・エボルーションにおいては、dv=3の場合には、メッセージU0の確率分布Pu0(j)(j=0,1,・・・,7)と、メッセージViの確率分布Pvを求めるために、チェックノードから入力されるメッセージUjの確率分布Pu(j)(j=0,1,2,3)とを用いて、次式(11)に示すような畳み込み演算を行う。なお、次式(11)における"*"は、畳み込み演算を表す演算子である。
【0063】
【数11】
【0064】
この上式(11)に示す畳み込み演算は、多項式の乗算のようにして実現することができる。求められた確率分布Pvは、0〜13の値をとることになる。デンシティ・エボルーションにおいては、この確率分布Pvで表されるメッセージを2ビットに量子化し、バリアブルノードから出力されるメッセージVとする。
【0065】
つぎに、上式(10)に示した演算方法について説明する。バリアブルノードは、dc=6の場合には、5入力1出力のノードとなる。このバリアブルノードから出力されるメッセージViは、2ビットであることから、0〜3の値をとる。ここで、値0,1は、対数尤度比が負値である場合に対応し、値2,3は、対数尤度比が正値である場合に対応するものとする。したがって、バリアブルノードは、入力されるメッセージに"0"又は"1"の値が奇数個含まれている場合には、"0"又は"1"の値を出力し、入力されるメッセージに"0"又は"1"の値が偶数個含まれている場合には、"2"又は"3"の値を出力する。また、バリアブルノードは、1つでも"1"又は"2"の値がある場合には、"1"又は"2"の値を出力する。デンシティ・エボルーションにおいては、このような規則が成立するときには、以下のようにして演算が行われる。
【0066】
まず、次式(12)に示すように、2入力で上式(10)におけるメッセージUに対応する1出力の関数Rを定義する。
【0067】
【数12】
【0068】
この上式(12)に示す関数Rで表される2ビットのメッセージV3は、次表1に示すようなテーブルを予め作成しておき、このテーブルを参照することによって求めることができる。
【0069】
【表1】
【0070】
したがって、上式(10)に対応する5入力(V1,V2,V3,V4,V5)に対する1出力(U5)は、次式(13)に示すように、上表1を用いた上式(12)の演算を連続的に行うことによって求めることができる。
【0071】
【数13】
【0072】
さて、デンシティ・エボルーションにおいては、メッセージV1,V2の確率分布を、それぞれ、P1(i),P2(i)(i=0,1,2,3)とすると、上式(12)に対応する演算は、次式(14)に示すようになる。
【0073】
【数14】
【0074】
デンシティ・エボルーションにおいては、入力されるメッセージVの確率分布をPvとすると、上式(13)に対応するメッセージUの確率分布Puは、次式(15)によって求めることができる。
【0075】
【数15】
【0076】
ここで、上式(14)に示した演算においては、上表1を用いた上式(13)の演算を本来であれば4回行う必要があるが、次式(16)乃至次式(18)に示すように、3回の演算で済ませることができる。
【0077】
【数16】
【0078】
【数17】
【0079】
【数18】
【0080】
この上式(18)の結果と上式(15)の結果は、一致する。これにより、デンシティ・エボルーションにおいては、確率分布Pvから2ビットの確率分布Puを求めることができる。
【0081】
さて、以上のようなデンシティ・エボルーションによる解析例を以下に示す。解析は、イニシャル・メッセージU0を3ビットとしたときにおいて、上述した量子化幅a1,a2,a3を最適化した場合、及び量子化幅a1,a2,a3を等間隔とした場合、並びにイニシャル・メッセージU0を2ビットとしたときにおいて、量子化幅a1のみを最適化した場合について行った。
【0082】
まず、イニシャル・メッセージU0を3ビットとしたときにおいて、量子化幅a1,a2,a3を最適化する場合を考えた。ここで、演算の範囲は、対数尤度比が"−25"から"+25"までとした。
【0083】
イニシャル・メッセージU0を3ビットとするためには、量子化幅a1,a2,a3を設定する必要がある。ここでは、1ビットあたりの信号対雑音電力比Eb/N0[dB]又は雑音の分散σが与えられたとき、誤り訂正の性能が最良となるように、量子化幅a1,a2,a3を最適化することを試みる。この場合、解析を行うと、図3中実線部aに示すような結果が得られた。なお、同図における横軸は、信号対雑音電力比Eb/N0を示し、縦軸は、復号後の誤り確率の"10"を底とする対数表記(log10 BER)を示している。また、横軸に示す信号対雑音電力比Eb/N0に対応する雑音の分散σ及び誤り訂正前の誤り確率Pbは、次表2に示す値である。
【0084】
【表2】
【0085】
同図からは、雑音の分散σの閾値が不明確である。より具体的には、雑音の分散σが"0.8237"のとき、誤り訂正前の誤り確率Pbは、"0.1123"であり、誤り訂正後の誤り確率は、"0.004533"まで減少するが、"0"にまで減少することはないという結果が得られた。このときの量子化幅a1,a2,a3は、それぞれ、"1.46","2.91","4.57"となった。この量子化幅a1,a2,a3は、それぞれ、互いに略等間隔になっており、次式(19)に示す関係が成立する。
【0086】
【数19】
【0087】
また、同図から、雑音の分散σを小さくしていくと、誤り訂正後の誤り確率は小さくなるが、"0"になるような閾値が存在しないことがわかる。このとき、量子化幅a1,a2,a3は、互いに略等間隔である状態からは大きく離れていく。例えばσ=0.776の場合には、誤り訂正前の誤り確率Pbは、"0.0988"であり、誤り訂正後の誤り確率は、"5.94×10−10"となった。このときの量子化幅a1,a2,a3は、それぞれ、"1.75","8.02","21.6"となった。なお、上式(11)に示した確率分布Pvは、上述したように、0〜13の値をとり、これを2ビットに量子化する際には、次式(20)を用いている。
【0088】
【数23】
【0089】
【数20】
【0090】
つぎに、量子化幅a1,a2,a3を等間隔とする場合を考えた。すなわち、イニシャル・メッセージU0については、同様に3ビットとしたが、a2=2・a1,a3=3・a1の条件を付加して解析を行った。したがって、この場合には、誤り訂正の性能を最良とするための最適化のパラメータは、量子化幅a1のみとなる。この場合、解析を行うと、図3中破線部bに示すような結果が得られた。
【0091】
同図から、信号対雑音電力比Eb/N0が1.8dB程度までは、同図中実線部aに示した結果と同様であるが、信号対雑音電力比Eb/N0が1.8dBよりも大きくなった場合には、誤り訂正の性能が悪化するということがわかる。
【0092】
つぎに、イニシャル・メッセージU0を2ビットとしたときにおいて、量子化幅a1のみを誤り訂正の性能が最良となるように最適化する場合を考えた。この場合、イニシャル・メッセージU0の確率分布における正値の部分は、U0(2)及びU0(3)の2つに分割することになることから、その境界は、値a1のみとなる。誤り訂正の性能が最良となるように量子化幅a1の最適化を行うと、図3中破線部cに示すような結果が得られた。
【0093】
同図から、雑音の分散σに閾値が存在することがわかり、その閾値は、σ=0.7725となった。このときの量子化幅a1は、"1.755"となった。なお、2ビットの場合には、上式(11)に示した確率分布Pvは、0〜9の値をとることになり、これを2ビットに量子化するための上式(20)に対応する算出式として、V(1)=Pv(4),V(2)=Pv(5)を用い、残りのPv(0)からPv(3)までの和をV(0)とし、Pv(6)からPv(9)までの和をV(3)としている。
【0094】
以上の解析結果から、LDPC符号の復号においては、雑音の分散σの値に応じて、最適な量子化幅が存在することがわかる。したがって、LDPC符号の復号においては、イニシャル・メッセージやバリアブルノードから出力されるメッセージを量子化する際には、与えられた雑音の分散σに対して復号後の誤り確率が最小となるように、量子化幅を設定するのが望ましいことが示唆された。換言すれば、LDPC符号の復号においては、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、量子化幅を設定するのが望ましいことが示唆された。
【0095】
さて、データ送受信システムにおける受信装置が備える復号装置3は、このような解析の結果を踏まえて、以下のように構成することができる。
【0096】
すなわち、復号装置3は、例えば図4に示すように、送信装置から通信路2を介して送信されたデータD1を受信する受信部10と、この受信部10によって受信されたデータD1に重畳されている雑音の分散σを求める分散測定部20と、この分散測定部20によって求められた雑音の分散σに基づいて最適化した量子化幅を決定する量子化幅決定部30と、受信部10によって受信された受信値の確率分布Pu0を量子化する量子化部40と、この量子化部40によって量子化された受信値の確率分布Pu0に基づいて情報ビットとしてのメッセージを算出するメッセージ算出部50とを有する。この復号装置3は、通信路2上で発生した雑音の影響によって実数値をとる受信値に基づいて符号化装置1における入力データを推定し、復号データD2として出力する。
【0097】
受信部10は、送信装置から通信路2を介して送信されたデータD1を受信値として受信する。受信部10は、受信した受信値を分散測定部20及び量子化部40に供給する。
【0098】
分散測定部20は、受信部10によって受信されたデータD1に重畳されている雑音の分散σを測定して求める。分散測定部20は、求めた雑音の分散σの値を示す情報を量子化幅決定部30に供給する。
【0099】
量子化幅決定部30は、分散測定部20によって求められた雑音の分散σに基づいて、最適化した量子化幅を決定する。すなわち、量子化幅決定部30は、分散測定部20によって求められた雑音の分散σに対して復号後の誤り確率が最小となるように、量子化幅を決定する。また、量子化幅決定部30は、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、量子化幅を決定するようにしてもよい。量子化幅決定部30は、受信値に対して決定した量子化幅の値を示す情報を量子化部40に供給するとともに、バリアブルノードから出力されるメッセージに対して決定した量子化幅の値を示す情報をメッセージ算出部50に供給する。
【0100】
量子化部40は、受信部10によって受信された受信値の確率分布Pu0を所定の低ビット数で量子化する。例えば、量子化部40は、メッセージを2ビットで表現する場合には、受信値の確率分布Pu0を3ビットに量子化する。このとき、量子化部40は、量子化幅決定部30によって決定された量子化幅で量子化する。量子化部40は、量子化した受信値をメッセージ算出部50に供給する。
【0101】
メッセージ算出部50は、量子化部40から供給された受信値に基づいてバリアブルノードから出力されるメッセージを算出し、さらに、このメッセージに基づいて、チェックノード(check node)から出力されるメッセージを算出する、といった一連の復号動作を所定の回数だけ反復して行い、情報ビットとしてのメッセージを算出する。具体的には、メッセージ算出部50は、図5に示すような一連の工程を経ることにより、メッセージを算出する。
【0102】
まず、メッセージ算出部50は、同図に示すように、ステップS1において、量子化部40によって量子化された受信値の確率分布Pu0をさらに量子化し、バリアブルノードから出力されるメッセージviの確率分布Pvとするとともに、繰り返し処理のカウンタとしての整数kを"0"とする。例えば、メッセージ算出部50は、メッセージを2ビットで表現する場合には、例えば3ビットに量子化された受信値の確率分布Pu0を2ビットに量子化し、確率分布Pvとする。
【0103】
続いて、メッセージ算出部50は、ステップS2において、確率分布Pvに基づいて、チェックノードから出力されるメッセージujの確率分布Puを求め、さらに、受信値の確率分布Pu0及び算出したメッセージujの確率分布Puに基づいて、上式(11)に示す演算を行うことによってメッセージviの確率分布Pvを求める。そして、LDPC符号の復号においては、整数kを"1"だけインクリメントする。
【0104】
なお、メッセージ算出部50は、低ビット数の2入力v1,v2から低ビット数の1出力関数のテーブルを予め作成しておき、これを上式(15)に示したように連続的に用いることによって低ビット数のメッセージujの確率分布Puを求める。また、メッセージ算出部50は、上式(11)を用いてメッセージviの確率分布Pvを求めると、ビット数が増加してしまうことから、これを2ビットに量子化する。このとき、メッセージ算出部50は、量子化幅決定部30によって決定された量子化幅で量子化する。
【0105】
続いて、メッセージ算出部50は、ステップS3において、整数kがNよりも大きいか否かを判定する。
【0106】
ここで、メッセージ算出部50は、整数kがNよりも大きくないものと判定した場合には、ステップS2からの処理を繰り返す一方で、整数kがNよりも大きいものと判定した場合には、ステップS4へと処理を移行する。
【0107】
そして、メッセージ算出部50は、ステップS4において、最終的に出力する復号結果としてのメッセージviを求めて出力し、一連の処理を終了する。
【0108】
メッセージ算出部50は、このような一連の工程を経ることによって算出したメッセージを復号データD2として外部に出力する。
【0109】
このような復号装置3は、符号化装置1によって符号化されて送信されたデータD1に対して繰り返し復号を行うことにより、復号複雑度が高い符号の特性を逐次的に向上させ、所定の回数の復号動作の結果得られた復号データD2を出力する。
【0110】
このとき、復号装置3は、分散測定部20によって求められた雑音の分散σに対して復号後の誤り確率が最小となるように、量子化幅決定部30によって量子化幅を決定し、量子化部40による受信値の量子化の際、及びメッセージ算出部50によるメッセージの量子化の際に、決定された量子化幅の低ビット数で量子化する。
【0111】
したがって、復号装置3は、符号の性能を向上させ、高精度に復号することができる。
【0112】
つぎに、イレギュラーLDPC符号の符号化処理におけるディグリー・シーケンスの最適化に関する解析結果について説明する。
【0113】
イレギュラーLDPC符号においては、検査行列をいわゆるディグリー・シーケンスによって定義する。ディグリー・シーケンスとは、検査行列における"1"の個数の分布を表すものであり、検査行列における縦方向(列)の"1"の個数の分布については、次式(21)に示す関数λ(x)で表し、検査行列における横方向(行)の"1"の個数の分布については、次式(22)に示す関数ρ(x)で表す。
【0114】
【数21】
【0115】
【数22】
【0116】
ここで、レギュラーLDPC符号の検査行列における縦方向(列)の"1"の個数を表す上述したdvに対応する関数λ(x)の次数niは、奇数のみとする。これは、次数niを偶数とすると、上式(11)に示した畳み込み演算において確率分布Puが奇数個となり、その結果、対数尤度比で"0"となる値が生じ、2ビットに量子化することができない事態を招来するからである。これに対して、レギュラーLDPC符号の検査行列における横方向(行)の"1"の個数を表す上述したdcに対応する関数ρ(x)の次数miは、奇数又は偶数の如何を問わない。ここでは、次式(23)に示すように、関数λ(x)を2項の和からなる多項式で表現し、その次数niとして、"3"と任意の奇数nを用いるとともに、次式(24)に示すように、関数ρ(x)も2項の和からなる多項式で表現するものとする。なお、次式(23)に示す係数λ(3)は、検査行列における縦方向(列)の"1"の個数が"3"である割合を示し、係数λ(n)は、検査行列における縦方向(列)の"1"の個数が"n"である割合を示している。また、次式(24)における係数ρ(m)は、検査行列における横方向(行)の"1"の個数が"m"である割合を示し、係数ρ(m+1)は、検査行列における横方向(行)の"1"の個数が"m+1"である割合を示している。
【0117】
【数23】
【0118】
【数24】
【0119】
また、符号化率が"1/2"の場合には、次式(25)に示す条件が付加される。
【0120】
【数25】
【0121】
これらの条件から、次式(26)に示すように、検査行列における横方向(行)の"1"の個数の平均値を示すパラメータdc(ave)が与えられると、上式(23)及び上式(24)における係数λ(3),λ(n),ρ(m),ρ(m+1)が求められる。
【0122】
【数26】
【0123】
さて、解析例を以下に示す。解析は、次数nについては、n=9,11,13,15の4通りとし、次数mについては、m=6とした場合について行った。
【0124】
まず、n=9とした場合について説明する。ここでは、雑音の分散σを"0.79"とし、さらに、上式(26)におけるパラメータdc(ave)を6〜7の間で変化させて解析を行った。この場合、パラメータdc(ave)と復号後の誤り確率との関係を求めると、図6中実線部aに示すような結果が得られた。なお、同図における横軸は、パラメータdc(ave)を示し、縦軸は、復号後の誤り確率の"10"を底とする対数表記(log10 BER)を示している。
【0125】
ここで、n=9の場合には、上式(11)に示した確率分布Pvは、0〜31の値をとることになる。したがって、これを2ビットに量子化する際には、上式(20)の代わりに、次式(27)に示すように、V(1),V(2)として、確率分布Pvの2項の和を用いている。
【0126】
【数27】
【0127】
同図から、パラメータdc(ave)が"6.67"の場合に、誤り訂正後の誤り確率が最小になることがわかる。
【0128】
そこで、パラメータdc(ave)を"6.67"としたときの信号対雑音電力比Eb/N0と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めると、図7中破線部bに示すような結果が得られた。なお、横軸に示す信号対雑音電力比Eb/N0に対応する雑音の分散σ及び誤り訂正前の誤り確率Pbは、次表3に示す値である。また、同図における実線部aは、パラメータdc(ave)を"6"とした場合、すなわち、レギュラーな(3,6)符号の場合について示している。
【0129】
【表3】
【0130】
同図から、レギュラーな(3,6)符号に比べ、パラメータdc(ave)を"6.67"としたイレギュラーな符号の方が性能が向上することがわかる。
【0131】
つぎに、n=11,13とした場合について説明する。n=11とした場合には、雑音の分散σを"0.79"とし、n=13とした場合には、雑音の分散σを"0.795"とし、パラメータdc(ave)を変化させて解析を行った。この場合、パラメータdc(ave)と復号後の誤り確率との関係を求めると、n=11の場合には、図6中破線部bに示すような結果が得られ、n=13の場合には、同図中破線部cに示すような結果が得られた。なお、このとき、確率分布Pvを2ビットに量子化する際には、上式(27)に示したように、V(1),V(2)として、確率分布Pvの2項の和を用いている。
【0132】
同図から、n=11の場合には、パラメータdc(ave)が"6.96"の場合に、誤り訂正後の誤り確率が最小になり、n=13の場合には、パラメータdc(ave)が"7.12"の場合に、誤り訂正後の誤り確率が最小になることがわかる。
【0133】
そこで、パラメータdc(ave)を"6.96","7.12"としたときの信号対雑音電力比Eb/N0と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めると、それぞれ、図7中破線部c,dに示すような結果が得られた。
【0134】
同図から、次数nを増加させると性能が向上することがわかる。
【0135】
最後に、n=15とした場合について説明する。ここでは、上式(11)に示した確率分布Pvを量子化する際に、V(1),V(2)として、確率分布Pvの2項の和を用いる場合と3項の和を用いる場合とを比較したとき、どちらの性能がよいかを調べた。雑音の分散σを"0.795"とし、パラメータdc(ave)を7〜8の間で変化させて解析を行うと、2項の和を用いた場合には、図8中破線部aに示すような結果が得られ、3項の和を用いた場合には、同図中実線部bに示すような結果が得られた。なお、同図における横軸は、パラメータdc(ave)を示し、縦軸は、復号後の誤り確率の"10"を底とする対数表記(log10 BER)を示している。
【0136】
同図から、V(1),V(2)として、確率分布Pvの3項の和を用いる場合の方が性能が向上し、パラメータdc(ave)が"7.61"の場合に、誤り訂正後の誤り確率が最小になることがわかる。
【0137】
そこで、V(1),V(2)として、確率分布Pvの3項の和を用い、パラメータdc(ave)を"7.61"としたときの信号対雑音電力比Eb/N0と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めると、図7中破線部eに示すような結果が得られた。
【0138】
同図から、次数nを増加させると性能が向上することがわかる。
【0139】
これらの解析から、レギュラー符号に比べ、イレギュラー符号の方が性能が向上し、また、イレギュラー符号の場合には、ディグリー・シーケンスを表す関数λ(x)の最高次数nを増加させるのにともない、性能が向上することがわかった。
【0140】
そこで、関数λ(x)の最高次数nをさらに増加させるとどのような特性が現れるかを調べた。また、関数λ(x)を2項の和からなる多項式で表現する場合と3項の和からなる多項式で表現する場合とにおける特性の比較も試みた。
【0141】
まず、関数λ(x)を2項の和からなる多項式で表現する場合、すなわち、上式(23)を用いて検査行列における縦方向(列)のディグリー・シーケンスを表現する場合について説明する。なお、このとき、検査行列における横方向(行)のディグリー・シーケンスについては、上式(24)に示した関数ρ(x)を用いて表すものとする。
【0142】
デンシティ・エボルーションにおいては、関数λ(x)が上式(23)によって表される場合には、x3の項に対応する確率分布は、上式(11)及び上式(20)を用いて求めることができる。一方、デンシティ・エボルーションにおいては、xnの項に対する畳み込み演算は、高速フーリエ変換(Fast Fourier Transform;以下、FFTという。)を用いて行うことができる。この畳み込み演算の結果は、Pv(0)からPv(nf)(nf=7+3(n―1))まで値が入ることになる。解析を行う際には、この結果を2ビットに量子化するのであるが、次数nが大きいときには、この2ビットに量子化する際、上式(20)におけるV(1),V(2)を1項で表すのではなく、2つ以上の項で表した方が性能が向上する。この量子化の際のV(1),V(2)を表す項数kを変化させたときの性能を調べた。
【0143】
この解析においては、イニシャル・メッセージU0を3ビットに量子化する際の上述した量子化幅a1,a2,a3は、常に最適化するものとし、繰り返し復号によって誤り確率が所定の値となったときの雑音の分散σを求めた。具体的には、この解析においては、関数λ(x)の次数nを与え、繰り返し復号後の誤り確率が"10−3"となる場合と"10−6"となる場合とについて、雑音の分散σが最大となるように、上式(23)における係数λ(n)を最適化した。
【0144】
この場合、次数nと復号後の誤り確率が"10−3"となるときの雑音の分散σとの関係を求めると、図9に示すような結果が得られた。なお、同図においては、確率分布Pvを2ビットに量子化する際に、V(1),V(2)を表す項数kをパラメータとし、k=1,2,3,4としたときにおける特性を、それぞれ、実線部a、破線部b,c,dで示している。
【0145】
同図から、k=3の場合に最も性能が向上することがわかる。より具体的には、k=3の場合、次数nが"19"までは、nが増加するのにともない雑音の分散σは大きくなり、誤り訂正の性能は向上するが、次数nを"19"よりも大きくすると、雑音の分散σは小さくなり、誤り訂正の性能が悪化することがわかる。この解析から、誤り訂正後の誤り確率を"10−3"とするときには、項数kが"3"のとき且つ次数nが"19"のときに誤り訂正の性能が最良となり、そのときの雑音の分散σの最大値は、"0.8371"(Eb/N0=1.54dB)となる結果が得られた。また、このときの係数λ(n)は、"0.3088"となり、検査行列における横方向(行)の"1"の個数の平均値ρ(ave)は、"8.1270"となった。
【0146】
また、次数nと復号後の誤り確率が"10−6"となるときの雑音の分散σとの関係を求めると、図10に示すような結果が得られた。なお、同図においても、確率分布Pvを2ビットに量子化する際に、V(1),V(2)を表す項数kをパラメータとし、k=1,2,3,4,5としたときにおける特性を、それぞれ、実線部a、破線部b,c,d,eで示している。
【0147】
同図から、次数nが"11"よりも大きい場合には、k=3の場合に最も性能が向上することがわかる。より具体的には、k=3の場合、次数nが"21"までは、nが増加するのにともない雑音の分散σは大きくなり、誤り訂正の性能は向上するが、次数nを"21"よりも大きくすると、雑音の分散σは小さくなり、誤り訂正の性能が悪化することがわかる。この解析から、誤り訂正後の誤り確率を"10−6"とするときには、項数kが"3"のとき且つ次数nが"21"のときに誤り訂正の性能が最良となり、そのときの雑音の分散σの最大値は、"0.8068"(Eb/N0=1.864dB)となる結果が得られた。また、このときの係数λ(n)は、"0.3010"となり、検査行列における横方向(行)の"1"の個数の平均値ρ(ave)は、"8.096"となった。
【0148】
このように、関数λ(x)を2項の和からなる多項式で表現する場合には、次数nに、誤り訂正の性能を最大とする閾値が存在することがわかった。
【0149】
つぎに、関数λ(x)を3項の和からなる多項式で表現する場合、すなわち、次式(28)を用いて検査行列における縦方向(列)のディグリー・シーケンスを表現する場合について説明する。なお、このとき、検査行列における横方向(行)のディグリー・シーケンスについては、上式(24)に示した関数ρ(x)を用いて表すものとする。また、次式(28)における次数n1,n2は、それぞれ、奇数であるものとする。
【0150】
【数28】
【0151】
ここで、符号化率が"1/2"の場合には、次式(29)に示す条件が付加される。
【0152】
【数29】
【0153】
関数ρ(x)における次数mは、上式(29)における係数λ(n1),λ(n2)が与えられたとき、0<ρ(m)<1となる整数mとして求めることができる。
【0154】
解析においては、上式(28)で表される関数λ(x)について、上述したように、x3の項に対応する確率分布を、上式(11)及び上式(20)を用いて求めるとともに、xn1,xn2の項に対する畳み込み演算を、FFTを用いて行った。また、この結果を2ビットに量子化する際の上式(20)におけるV(1),V(2)としては、関数λ(x)を2項の和からなる多項式で表現した場合に性能が最良であった条件、すなわち、次数n1,n2が"11"以上のときに3項(k=3)で表すものとした。
【0155】
この解析においては、関数λ(x)の次数n1,n2を与え、繰り返し復号後の誤り確率が"10−6"となる場合について、雑音の分散σが最大となるように、上式(28)における係数λ(n1),λ(n2)を最適化した。
【0156】
この場合、次数n2をパラメータとし、次数n1と復号後の誤り確率が"10−6"となるときの雑音の分散σとの関係を求めると、図11に示すような結果が得られた。なお、同図においては、n2=23,25,27,29,31,33,41としたときにおける特性を、それぞれ、実線部a、破線部b,c,d,e,f,gで示している。
【0157】
同図から、n1=21の場合に最も性能が向上することがわかる。しかも、n1=21の場合には、次数n2の値によらず、雑音の分散σが一定となることがわかる。より具体的には、次数n1が"21"までは、n1が増加するのにともない雑音の分散σは大きくなり、誤り訂正の性能は向上するが、次数n1を"21"よりも大きくすると、雑音の分散σは小さくなり、誤り訂正の性能が悪化することがわかる。この解析から、誤り訂正後の誤り確率を"10−6"とするときには、項数kが"3"のとき且つ次数n1が"21"のときに誤り訂正の性能が最良となり、そのときの雑音の分散σの最大値は、"0.8068"(Eb/N0=1.864dB)となる結果が得られた。このとき、係数λ(n2)は"0"となり、図10に示した関数λ(x)を2項の和からなる多項式で表現する場合のn1=21のときの結果と一致した。
【0158】
そこで、図示しないが、n2=21としたときにおいて、次数n1と復号後の誤り確率が"10−6"となるときの雑音の分散σとの関係を求めると、係数λ(n1)を負値とした場合には、雑音の分散σは大きくなるが、係数λ(n1)を正値とした場合には、雑音の分散σは小さくなるという結果が得られた。すなわち、係数λ(n1)を"0"とした場合の性能が最良であるという結果が得られた。これは、図10に示した関数λ(x)を2項の和からなる多項式で表現する場合に相当する。
【0159】
したがって、誤り訂正後の誤り確率を"10−6"とするときに雑音の分散σが最大となる関数λ(x),ρ(x)は、それぞれ、次式(30)及び次式(31)で表されるという結果が得られた。
【0160】
【数30】
【0161】
【数31】
【0162】
また、このときのイニシャル・メッセージU0を3ビットに量子化するための量子化幅a1,a2,a3は、それぞれ、"1.609","5.542","24.124"となった。
【0163】
このように、関数λ(x)を3項の和からなる多項式で表現する場合にも、次数n1に、誤り訂正の性能を最大とする閾値が存在することがわかった。また、関数λ(x)を3項の和からなる多項式で表現しても、このときの雑音の分散σを、関数λ(x)を2項の和からなる多項式で表現したときの雑音の分散σの最大値よりも大きくすることができないことがわかった。すなわち、関数λ(x)は、2項の和からなる多項式で表現するのみで十分であることがわかった。
【0164】
以上の解析結果から、イレギュラーLDPC符号においては、雑音の分散σの値に応じて、最適なディグリー・シーケンス及び復号の際の量子化幅が存在することがわかる。したがって、LDPC符号においては、与えられた雑音の分散σに対して復号後の誤り確率が最小となるように、ディグリー・シーケンス及び量子化幅を設定するのが望ましいことが示唆された。換言すれば、LDPC符号においては、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、ディグリー・シーケンス及び量子化幅を設定するのが望ましいことが示唆された。
【0165】
具体的には、検査行列における縦方向(列)のディグリー・シーケンスを表す関数λ(x)としては、検査行列における横方向(行)のディグリー・シーケンスを表す関数ρ(x)の次数miを固定して、与えられた雑音の分散σ又は与えられた復号後の誤り確率に対して最適化することができる。このとき、イニシャル・メッセージを量子化する際の量子化幅a1,a2,a3についても最適化することができる。
【0166】
また、関数ρ(x)としては、上式(24)に示したように、次数を隣り合う整数m,m+1とした2項の和からなる多項式で表現することができる。このとき、検査行列における横方向(行)の"1"の個数の平均値ρ(ave)、量子化幅a1,a2,a3、及び関数λ(x)を、与えられた雑音の分散σ又は与えられた復号後の誤り確率に対して最適化することができる。
【0167】
さらに、関数λ(x),ρ(x)としては、上式(23)及び上式(24)に示したように、ともに2項の和からなる多項式で表現するのが最良であることがわかった。
【0168】
さて、データ送受信システムにおける送信装置が備える符号化装置1は、このような解析の結果を踏まえて、以下のように構成することができる。
【0169】
すなわち、符号化装置1は、例えば図12に示すように、通信路の状態を推定するチャネル推定部60と、このチャネル推定部60によって推定して求められた雑音の分散σに基づいて最適化したディグリー・シーケンスを算出するディグリー・シーケンス算出部70と、このディグリー・シーケンス算出部70によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成部80と、この検査行列生成部80によって生成された検査行列を用いてLDPC符号による符号化を行う符号化部90とを有する。
【0170】
チャネル推定部60は、通信路の状態を推定し、雑音の分散σを求める。チャネル推定部60は、求めた雑音の分散σの値を示す情報をディグリー・シーケンス算出部70に供給する。
【0171】
ディグリー・シーケンス算出部70は、チャネル推定部60によって求められた雑音の分散σに基づいて、最適化したディグリー・シーケンスを算出する。すなわち、ディグリー・シーケンス算出部70は、チャネル推定部60によって求められた雑音の分散σに対して復号後の誤り確率が最小となるように、ディグリー・シーケンスを算出する。また、ディグリー・シーケンス算出部70は、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、ディグリー・シーケンスを算出するようにしてもよい。より具体的には、ディグリー・シーケンス算出部70は、関数ρ(x)の次数mを固定して、与えられた雑音の分散σ又は与えられた復号後の誤り確率に対して最適化した関数λ(x)を算出する。また、ディグリー・シーケンス算出部70は、次数を隣り合う整数とした2項の和からなる多項式で表現した関数ρ(x)を算出し、与えられた雑音の分散σ又は与えられた復号後の誤り確率に対して最適化した関数λ(x)及び検査行列における横方向(行)の"1"の個数の平均値ρ(ave)を算出する。より望ましくは、ディグリー・シーケンス算出部70は、上式(23)及び上式(24)に示したように、2項の和からなる多項式で表現した最適化した関数λ(x),ρ(x)を算出する。ディグリー・シーケンス算出部70は、算出したディグリー・シーケンスを示す情報を、検査行列生成部80に供給する。
【0172】
検査行列生成部80は、ディグリー・シーケンス算出部70によって算出されたディグリー・シーケンスに基づいて検査行列を生成する。検査行列生成部80は、生成した検査行列を符号化部90に供給する。
【0173】
符号化部90は、検査行列生成部80によって生成された検査行列を用いてLDPC符号による符号化を行う。具体的には、符号化部90は、検査行列に基づいて生成行列を生成し、この生成行列を情報ビットとして入力される入力データD3に対して積算することによって符号ビットとしての符号化データD4を生成する。符号化部90は、生成した符号化データD4を図示しない変調器に出力する。
【0174】
このような符号化装置1は、雑音の分散σに基づいて最適化したディグリー・シーケンスに基づく検査行列を用いて、入力データD3に対する符号化を行う。この符号化装置1によって符号化された符号化データD4は、値が"0"の符号ビットが"+1"に、値が"1"の符号ビットが"−1"にといったように図示しない変調器によってマッピングされて送信され、所定の通信路2を介して受信装置によって受信されることになる。
【0175】
一方、復号装置3としては、先に図4に示したものを用いればよい。また、データ送受信システムにおいては、符号化装置1における雑音の分散σに基づいて最適化した量子化幅a1,a2,a3を求めることができることから、求めた量子化幅a1,a2,a3の値を示す情報を、復号装置3に対して送信するようにしてもよい。この場合、復号装置3としては、図4に示した分散測定部20及び量子化幅決定部30を設ける必要がなく、回路規模の削減及び処理の簡略化を図ることが可能となる。
【0176】
以上説明したように、本発明の実施の形態として示したデータ送受信システムにおける符号化装置1は、復号装置3において受信値や各ノード間で授受されるメッセージを少ないビット数で表現する際に、雑音の分散σに対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、ディグリー・シーケンスを最適化して算出することができ、誤り訂正の性能を向上させることができる。
【0177】
また、復号装置3は、受信値や各ノード間で授受されるメッセージを少ないビット数で表現する際に、雑音の分散σに対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散σが最大となるように、量子化幅を最適化することができ、高精度にLDPC符号の復号を行うことができる。
【0178】
したがって、データ送受信システムは、符号の性能の大幅な向上を図ることができ、ユーザに優れた利便・信頼性を提供することができるものである。
【0179】
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、符号化装置及び復号装置をデータ送受信システムにおける送信装置及び受信装置に適用して説明したが、本発明は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMO(Magneto Optic)といった、磁気、光又は光磁気ディスク等の記録媒体に対する記録及び/又は再生を行う記録及び/又は再生装置に適用することもできる。この場合、符号化装置によって符号化されたデータは、通信路に等価とされる記録媒体に記録され、復号装置によって復号されて再生されることになる。
【0180】
また、上述した実施の形態では、符号化装置及び復号装置ともハードウェアによって構成された装置であるものとして説明したが、これらの符号化装置及び復号装置とも、例えばワークステーションやパーソナルコンピュータといったコンピュータ装置において実行可能なソフトウェアとして実現することが可能である。以下、この例について、図13を参照して説明する。
【0181】
コンピュータ装置150は、同図に示すように、各部を統括して制御するCPU(Central Processing Unit)151と、各種プログラムを含む情報を格納する読み取り専用のROM152と、ワークエリアとして機能するRAM(Random Access 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とを備える。
【0182】
CPU151は、バス155を介してROM152、RAM153及びHDD154と接続しており、これらのROM152、RAM153及びHDD154を制御する。また、CPU151は、バス155を介して入出力インターフェース156に接続しており、この入出力インターフェース156に接続されている表示部157、入力部158、通信部159及びドライブ160を制御する。さらに、CPU151は、ROM152、HDD154又はドライブ160に装着された記録媒体170に記録されている各種プログラムを実行する。
【0183】
ROM152は、各種プログラムを含む情報を格納している。このROM152に格納されている情報は、CPU151の制御の下に読み出される。
【0184】
RAM153は、CPU151が各種プログラムを実行する際のワークエリアとして機能し、CPU151の制御の下に、各種データを一時記憶する。
【0185】
HDD154は、CPU151の制御の下に、ハードディスクに対して各種プログラムやデータ等の記録及び/又は再生を行う。
【0186】
バス155は、CPU151の制御の下に、ROM152、RAM153及びHDD154から読み出された各種データ等を伝送するとともに、RAM153及びHDD154に記録する各種データ等を伝送する。
【0187】
入出力インターフェース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に対して入力したりする。
【0188】
表示部157は、例えばLCD(Liquid Crystal Display)からなり、CPU151の制御の下に、例えばHDD154に記録されていたデータ等の各種情報を表示する。
【0189】
入力部158は、例えばユーザによるキーボードやマウスの操作を受け付け、操作内容を示す制御信号をCPU151に対して出力する。
【0190】
通信部159は、CPU151の制御の下に、例えばネットワーク回線や衛星回線等によって外部との通信を行うインターフェースとして機能する。
【0191】
ドライブ160は、例えば、フロッピー(登録商標)ディスク、CD−ROM又はMOといった、磁気、光又は光磁気ディスク等の記録媒体170を着脱し、CPU151の制御の下に、装着された記録媒体170に対する各種情報の記録及び/又は再生を行う。
【0192】
このようなコンピュータ装置150は、CPU151によって所定のプログラムを実行することにより、上述した符号化装置1における符号化処理及び/又は復号装置3における復号処理を実現する。
【0193】
まず、コンピュータ装置150における符号化処理について説明する。
【0194】
コンピュータ装置150は、例えばユーザが符号化プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、符号化プログラムをRAM153にロードして実行し、符号化及び変調して得られたデータを通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0195】
ここで、符号化プログラムは、例えば記録媒体170によって提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、符号化プログラムは、ROM152に予め格納されていてもよい。さらに、符号化の対象とするデータは、ここではハードディスクに記録されているものとする。なお、このデータは、上述した入力データD3に対応するものである。
【0196】
具体的には、コンピュータ装置150は、CPU151によって符号化プログラムを実行すると、CPU151の制御の下に、通信路の状態を推定して雑音の分散σを求める。
【0197】
続いて、コンピュータ装置150は、CPU151の制御の下に、求めた雑音の分散σに基づいて最適化したディグリー・シーケンスを算出する。
【0198】
続いて、コンピュータ装置150は、CPU151の制御の下に、算出したディグリー・シーケンスに基づいて検査行列を生成する。
【0199】
続いて、コンピュータ装置150は、CPU151の制御の下に、ハードディスクに記録されている所望のデータを読み出し、このデータに対して検査行列に基づく生成行列を積算することによってLDPC符号による符号化を行い、上述した符号化データD4に対応する符号化データを生成する。
【0200】
そして、コンピュータ装置150は、CPU151の制御の下に、生成した符号化データを所定の伝送シンボルにマッピングし、生成した伝送シンボルを1度ハードディスク等に記録した後、所望のタイミングで伝送シンボルを読み出し、通信部159を介して外部へと出力するとともに、必要に応じて、表示部157に処理結果等を表示する。なお、生成した伝送シンボルは、記録媒体170等に記録することもできる。
【0201】
このように、コンピュータ装置150は、上述した符号化装置1における符号化処理を符号化プログラムを実行することによって実現することができる。
【0202】
つぎに、コンピュータ装置150における復号処理について説明する。
【0203】
コンピュータ装置150は、例えばユーザが復号プログラムを実行するための所定の操作を行うと、入力部158により、操作内容を示す制御信号をCPU151に対して供給する。これに応じて、コンピュータ装置150は、CPU151により、復号プログラムをRAM153にロードして実行し、通信部159を介して外部から受信し、この受信値を復号するとともに、必要に応じて、表示部157に処理結果等を表示する。
【0204】
なお、復号プログラムも、符号化プログラムと同様に、例えば記録媒体170により提供されるものであって、CPU151の制御の下に、この記録媒体170から直接読み出されてもよく、ハードディスクに1度記録されたものが読み出されてもよい。また、復号プログラムは、ROM152に予め格納されていてもよい。
【0205】
具体的には、コンピュータ装置150は、CPU151によって復号プログラムを実行すると、CPU151の制御の下に、ハードディスクから読み出した受信値、若しくは通信部159を介して受信した受信値から雑音の分散σを測定して求める。
【0206】
続いて、コンピュータ装置150は、求めた雑音の分散σに基づいて最適化した量子化幅を決定し、この量子化幅で受信値の確率分布を量子化する。
【0207】
そして、コンピュータ装置150は、CPU151の制御の下に、量子化された受信値の確率分布に対する復号動作を例えば数回乃至数十回といった所定の回数だけ反復して行い、上述した復号データD2に対応する所定の回数の復号動作の結果得られた復号データを出力する。このとき、コンピュータ装置150は、CPU151の制御の下に、バリアブルノードから出力されるメッセージの確率分布に対しても、求めた雑音の分散σに基づいて最適化した量子化幅で量子化する。
【0208】
コンピュータ装置150は、CPU151の制御の下に、得られた復号データをハードディスク等に記録し、必要に応じて、表示部157に処理結果等を表示する。なお、得られた復号データは、記録媒体170等に記録することもできる。
【0209】
このように、コンピュータ装置150は、上述した復号装置3における復号処理を復号プログラムを実行することによって実現することができる。
【0210】
以上のように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0211】
【発明の効果】
以上詳細に説明したように、本発明にかかる符号化装置は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、符号の復号を行う復号装置にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出する。
【0212】
したがって、本発明にかかる符号化装置は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンス算出手段によってディグリー・シーケンスを最適化して算出することにより、符号の性能を大幅に向上させることができる。
【0213】
また、本発明にかかる符号化方法は、入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、符号の復号を行う復号処理にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出される。
【0214】
したがって、本発明にかかる符号化方法は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出することにより、符号の性能を大幅に向上させることが可能となる。
【0215】
さらに、本発明にかかる復号装置は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、このディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、この検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、ディグリー・シーケンス算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、符号化装置から送信されたデータを受信値として受信する受信手段と、この受信手段によって受信された受信値の確率分布を所定の低ビット数で量子化する量子化手段と、この量子化手段によって量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備える。
【0216】
したがって、本発明にかかる復号装置は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、最適化されて算出されたディグリー・シーケンスに基づいて符号化された符号を受信手段によって受信し、この受信手段によって受信された受信値の確率分布を量子化手段によって所定の低ビット数で量子化し、この量子化手段によって量子化された受信値の確率分布に基づいてメッセージ算出手段によって高精度に復号することができる。
【0217】
さらにまた、本発明にかかる復号方法は、検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、このディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、この検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、ディグリー・シーケンス算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、送信されてきたデータを受信値として受信する受信工程と、この受信工程にて受信された受信値の確率分布を所定の低ビット数で量子化する量子化工程と、この量子化工程にて量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備える。
【0218】
したがって、本発明にかかる復号方法は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、最適化されて算出されたディグリー・シーケンスに基づいて符号化された符号を受信し、受信値の確率分布を所定の低ビット数で量子化し、この量子化された受信値の確率分布に基づいて高精度に復号することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すデータ送受信システムを適用する通信モデルの構成を説明するブロック図である。
【図2】イニシャル・メッセージに対する量子化を説明するための図であって、(A)は、イニシャル・メッセージの確率分布を示し、(B)は、(A)に示す確率分布を複数の領域に分割するように量子化した様子を示す図である。
【図3】量子化幅を最適化するために、信号対雑音電力比Eb/N0と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めた解析結果を説明する図である。
【図4】同データ送受信システムにおける復号装置の構成を説明するブロック図である。
【図5】同復号装置が有するメッセージ算出部によってメッセージを算出して出力する際の一連の工程を説明するフローチャートである。
【図6】イレギュラーな符号で雑音の分散σを一定としたときにおいて、パラメータdc(ave)と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めた解析結果を説明する図である。
【図7】イレギュラーな符号でパラメータdc(ave)を一定としたときにおいて、信号対雑音電力比Eb/N0と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めた解析結果を説明する図である。
【図8】イレギュラーな符号で雑音の分散σを一定としたときにおいて、パラメータdc(ave)と復号後の誤り確率の"10"を底とする対数表記(log10 BER)との関係を求めた解析結果を説明する図であって、確率分布Pvを量子化する際に、V(1),V(2)として、確率分布Pvの2項の和を用いる場合と3項の和を用いる場合とを比較するための図である。
【図9】関数λ(x)における次数nと復号後の誤り確率が"10−3"となるときの雑音の分散σとの関係を求めた解析結果を説明する図である。
【図10】関数λ(x)における次数nと復号後の誤り確率が"10−6"となるときの雑音の分散σとの関係を求めた解析結果を説明する図である。
【図11】関数λ(x)における次数n2をパラメータとし、次数n1と復号後の誤り確率が"10−6"となるときの雑音の分散σとの関係を求めた解析結果を説明する図である。
【図12】同データ送受信システムにおける符号化装置の構成を説明するブロック図である。
【図13】コンピュータ装置の構成を説明するブロック図である。
【図14】疎な検査行列の一例を説明する図である。
【図15】LDPC符号を復号する際の一連の手順を説明するフローチャートである。
【図16】(3,6)符号を復号する際における各ノード間でのメッセージの流れを説明する図である。
【図17】LDPC符号を低ビット数で量子化して復号する際の一連の手順を説明するフローチャートである。
【符号の説明】
1 符号化装置、 3 復号装置、 10 受信部、 20 分散測定部、 30 量子化幅決定部、 40 量子化部、 50 メッセージ算出部、 60チャネル推定部、 70 ディグリー・シーケンス算出部、 80 検査行列生成部、 90 符号化部、 150 コンピュータ装置
Claims (13)
- 入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化装置であって、
検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、
上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、
上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段と、
符号の復号を行う復号装置による受信値の量子化の際の量子化幅を最適化して算出する量子化幅算出手段と、
上記量子化幅算出手段によって算出された量子化幅の値を示す情報を上記復号装置に送信する送信手段と
を備え、
上記ディグリー・シーケンス算出手段は、上記復号装置にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出し、
上記量子化幅算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、上記量子化幅を最適化して算出すること
を特徴とする符号化装置。 - 上記ディグリー・シーケンス算出手段は、検査行列における横方向の1の個数の平均値を、与えられた雑音の分散又は与えられた復号後の誤り確率に対して最適化すること
を特徴とする請求項3記載の符号化装置。 - 入力されたデータに対して低密度パリティ検査符号による符号化を行う符号化方法であって、
検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、
上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、
上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程と、
符号の復号を行う復号処理による受信値の量子化の際の量子化幅を最適化して算出する量子化幅算出工程と、
上記量子化幅算出工程によって算出された量子化幅の値を示す情報を上記復号装置に送信する送信工程と
を備え、
上記ディグリー・シーケンス算出工程では、上記復号処理にて受信値及びメッセージを低ビット数で表現する際に、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出され、
上記量子化幅算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、上記量子化幅が最適化されて算出されること
を特徴とする符号化方法。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段と、符号の復号を行う復号装置による受信値の確率分布の量子化の際の量子化幅を最適化して算出する量子化幅算出手段と、上記量子化幅算出手段によって算出された量子化幅の値を示す情報を上記復号装置に送信する送信手段とを備え、上記ディグリー・シーケンス算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出し、上記量子化幅算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、上記量子化幅を最適化して算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う上記復号装置であって、
上記符号化装置から送信された上記符号を上記受信値として受信するとともに、上記量子化幅の値を示す情報を受信する受信手段と、
上記受信手段によって受信された量子化幅の値を示す情報に基づいて、上記受信手段によって受信された受信値の確率分布を量子化する量子化手段と、
上記量子化手段によって量子化された受信値の確率分布に基づいて情報ビットとしての メッセージを算出するメッセージ算出手段とを備えること
を特徴とする復号装置。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出手段と、上記ディグリー・シーケンス算出手段によって算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成手段と、上記検査行列生成手段によって生成された検査行列を用いて符号化を行う符号化手段とを備え、上記ディグリー・シーケンス算出手段は、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスを最適化して算出する符号化装置によって低密度パリティ検査符号による符号化が施された符号の復号を行う復号装置であって、
上記符号化装置から送信されたデータを受信値として受信する受信手段と、
上記受信手段によって受信された受信値に重畳されている雑音の分散を求める分散測定手段と、
上記分散測定手段によって求められた雑音の分散に基づいて最適化した量子化幅を決定する量子化幅決定手段と、
上記量子化幅決定手段によって決定された量子化幅で、上記受信手段によって受信された受信値の確率分布を量子化する量子化手段と、
上記量子化手段によって量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出手段とを備えること
を特徴とする復号装置。 - 上記メッセージ算出手段は、バリアブルノードから出力されるメッセージの確率分布を所定の低ビット数で量子化すること
を特徴とする請求項7または請求項8記載の復号装置。 - 上記メッセージ算出手段は、バリアブルノードから出力されるメッセージの確率分布を所定の低ビット数で量子化する際に、上記量子化幅決定手段によって決定された量子化幅でメッセージの確率分布を量子化すること
を特徴とする請求項8記載の復号装置。 - 上記メッセージ算出手段は、上記量子化手段によって量子化された受信値の確率分布に基づいてバリアブルノードから出力されるメッセージの確率分布を算出し、さらに、この確率分布に基づいて、チェックノードから出力されるメッセージの確率分布を算出する一連の復号動作を所定の回数だけ反復して行うこと
を特徴とする請求項7または請求項8記載の復号装置。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程と、符号の復号を行う復号装置による受信値の確率分布の量子化の際の量子化幅を最適化して算出する量子化幅算出工程と、上記量子化幅算出工程によって算出された量子化幅の値を示す情報を上記復号装置に送信する送信工程とを備え、上記ディグリー・シーケンス算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出され、上記量子化幅算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、上記量子化幅が最適化されて算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、
送信されてきた上記符号を上記受信値として受信するとともに、上記量子化の幅の値を 示す情報を受信する受信工程と、
上記受信工程にて受信された量子化幅の値を示す情報に基づいて、上記受信工程にて受信された受信値の確率分布を量子化する量子化工程と、
上記量子化工程にて量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えること
を特徴とする復号方法。 - 検査行列における1の個数の分布を表すディグリー・シーケンスを算出するディグリー・シーケンス算出工程と、上記ディグリー・シーケンス算出工程にて算出されたディグリー・シーケンスに基づいて検査行列を生成する検査行列生成工程と、上記検査行列生成工程にて生成された検査行列を用いて符号化を行う符号化工程とを備え、上記ディグリー・シーケンス算出工程では、与えられた雑音の分散に対して復号後の誤り確率が最小となるように、または、与えられた復号後の誤り確率に対して雑音の分散が最大となるように、ディグリー・シーケンスが最適化されて算出される符号化方法を用いて低密度パリティ検査符号による符号化が施された符号の復号を行う復号方法であって、
送信されてきたデータを受信値として受信する受信工程と、
上記受信工程にて受信された受信値に重畳されている雑音の分散を求める分散測定工程と、
上記分散測定工程にて求められた雑音の分散に基づいて最適化した量子化幅を決定する量子化幅決定工程と、
上記量子化幅決定工程にて決定された量子化幅で、上記受信工程にて受信された受信値の確率分布を量子化する量子化工程と、
上記量子化工程にて量子化された受信値の確率分布に基づいて情報ビットとしてのメッセージを算出するメッセージ算出工程とを備えること
を特徴とする復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002247318A JP3815557B2 (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
US10/648,093 US7055090B2 (en) | 2002-08-27 | 2003-08-26 | Coding apparatus, coding method, decoding apparatus, and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002247318A JP3815557B2 (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004088468A JP2004088468A (ja) | 2004-03-18 |
JP2004088468A5 JP2004088468A5 (ja) | 2005-04-21 |
JP3815557B2 true JP3815557B2 (ja) | 2006-08-30 |
Family
ID=32054999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002247318A Expired - Fee Related JP3815557B2 (ja) | 2002-08-27 | 2002-08-27 | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7055090B2 (ja) |
JP (1) | JP3815557B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017534190A (ja) * | 2015-10-13 | 2017-11-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 復号デバイスおよび方法、および信号送信システム |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140931B2 (en) * | 2003-07-03 | 2012-03-20 | Dtvg Licensing, Inc. | Method and system for generating parallel decodable low density parity check (LDPC) codes |
KR100922956B1 (ko) | 2003-10-14 | 2009-10-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 방법 |
US20050160351A1 (en) * | 2003-12-26 | 2005-07-21 | Ko Young J. | Method of forming parity check matrix for parallel concatenated LDPC code |
KR100684168B1 (ko) * | 2004-12-09 | 2007-02-20 | 한국전자통신연구원 | 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법 |
JP4551740B2 (ja) * | 2004-11-08 | 2010-09-29 | 株式会社東芝 | 低密度パリティチェック符号復号器及び方法 |
JP4595650B2 (ja) * | 2005-04-25 | 2010-12-08 | ソニー株式会社 | 復号装置および復号方法 |
KR100693833B1 (ko) * | 2005-07-19 | 2007-03-12 | 삼성전자주식회사 | 고정 노이즈 분산값을 사용하는 디코더 및 디코딩 방법 |
US7707479B2 (en) | 2005-12-13 | 2010-04-27 | Samsung Electronics Co., Ltd. | Method of generating structured irregular low density parity checkcodes for wireless systems |
US8306125B2 (en) * | 2006-06-21 | 2012-11-06 | Digital Video Systems, Inc. | 2-bin parallel decoder for advanced video processing |
US8607228B2 (en) | 2006-08-08 | 2013-12-10 | Intel Corporation | Virtualizing performance counters |
KR100712606B1 (ko) * | 2006-09-25 | 2007-05-02 | (주)카이로넷 | 채널 디코딩의 성능을 개선하기 위하여 가변적인 양자화스텝 사이즈를 결정하는 방법, 가변적인 양자화 스텝사이즈를 기초로 채널 디코딩을 수행하는 방법 및 장치 |
US8204753B2 (en) * | 2007-08-23 | 2012-06-19 | Texas Instruments Incorporated | Stabilization and glitch minimization for CCITT recommendation G.726 speech CODEC during packet loss scenarios by regressor control and internal state updates of the decoding process |
JP4626827B2 (ja) * | 2007-10-19 | 2011-02-09 | ソニー株式会社 | 受信装置および方法、並びにプログラム |
US8739009B1 (en) * | 2007-12-27 | 2014-05-27 | Marvell International Ltd. | Methods and apparatus for defect detection and correction via iterative decoding algorithms |
JP4572937B2 (ja) * | 2008-01-23 | 2010-11-04 | ソニー株式会社 | 復号装置および方法、プログラム、並びに記録媒体 |
JP5135121B2 (ja) * | 2008-08-22 | 2013-01-30 | 株式会社東芝 | データ受信装置、データ受信方法、及びデータ受信プログラム |
WO2010027136A1 (en) * | 2008-09-03 | 2010-03-11 | Lg Electronics Inc. | Realy station and method of operating the same |
KR101442259B1 (ko) * | 2008-09-03 | 2014-09-25 | 엘지전자 주식회사 | 무선통신 시스템에서 중계기의 동작 방법 |
US8730825B2 (en) * | 2009-05-26 | 2014-05-20 | Indian Institute Of Science | Packet retransmission optimization in wireless network |
CN102388539B (zh) * | 2010-02-10 | 2015-04-01 | 松下电器产业株式会社 | 发送装置、接收装置、发送方法及接收方法 |
US8681619B2 (en) * | 2010-04-08 | 2014-03-25 | Landis+Gyr Technologies, Llc | Dynamic modulation selection |
JP2014053297A (ja) * | 2012-08-08 | 2014-03-20 | Nitto Denko Corp | 蓄電デバイス用正極、蓄電デバイスおよび蓄電デバイス正極用スラリーの製造方法 |
CN108886372B (zh) * | 2016-04-06 | 2022-08-23 | 日本电信电话株式会社 | 无线通信***以及通信方法 |
US11977173B2 (en) | 2019-11-27 | 2024-05-07 | Rockwell Collins, Inc. | Spoofing and denial of service detection and protection with doppler nulling (spatial awareness) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6857097B2 (en) * | 2001-05-16 | 2005-02-15 | Mitsubishi Electric Research Laboratories, Inc. | Evaluating and optimizing error-correcting codes using a renormalization group transformation |
-
2002
- 2002-08-27 JP JP2002247318A patent/JP3815557B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-26 US US10/648,093 patent/US7055090B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017534190A (ja) * | 2015-10-13 | 2017-11-16 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 復号デバイスおよび方法、および信号送信システム |
US10447300B2 (en) | 2015-10-13 | 2019-10-15 | Hauwei Technologies Co., Ltd. | Decoding device, decoding method, and signal transmission system |
Also Published As
Publication number | Publication date |
---|---|
US20040123228A1 (en) | 2004-06-24 |
US7055090B2 (en) | 2006-05-30 |
JP2004088468A (ja) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3815557B2 (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
JP2004088470A (ja) | 復号装置及び復号方法 | |
US7676734B2 (en) | Decoding apparatus and method and information processing apparatus and method | |
JP5138221B2 (ja) | 誤り訂正符号をmin−sum復号化する方法 | |
KR101143732B1 (ko) | 복호 방법 및 복호 장치, 기록 재생 장치 및 방법과, 재생 장치 및 방법 | |
US7536628B2 (en) | Decoding apparatus, decoding method and program | |
JP3727938B2 (ja) | Ldpc復号化装置及びその方法 | |
US8166363B2 (en) | Decoding device and method | |
US20060107179A1 (en) | Amplifying magnitude metric of received signals during iterative decoding of LDPC (Low Density Parity Check) code and LDPC coded modulation | |
KR100861674B1 (ko) | 송신기 및 수신기를 동작시키는 방법, 및 데이터를 엔코딩 및 디코딩하는 장치 | |
KR20080053346A (ko) | 저밀도 패리티 검사 디코더용 방법 및 장치 | |
JP4412401B2 (ja) | 復号装置、復号方法、受信装置、および記憶媒体再生装置 | |
Sharon et al. | Analysis of low-density parity-check codes based on EXIT functions | |
JP4572937B2 (ja) | 復号装置および方法、プログラム、並びに記録媒体 | |
JP2004104686A (ja) | 符号解析方法及び符号解析装置、並びに復号方法及び復号装置 | |
JP2004088449A (ja) | 符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
Guan et al. | Adaptive extended min-sum algorithm for nonbinary LDPC decoding | |
EP3526899B1 (en) | Decoding of low-density parity-check convolutional turbo codes | |
JP2010028408A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR101606040B1 (ko) | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 | |
JP2004104690A (ja) | 符号解析方法及び符号解析装置 | |
Hammer | Belief Propagation in Self-Dual F4-Additive Codes Utilizing Local Complementaion | |
Viens et al. | A reduced-complexity box-plus decoder for 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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040420 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040607 |
|
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 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060424 |
|
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: 20060517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060530 |
|
LAPS | Cancellation because of no payment of annual fees |