(57)【要約】【課題】復号器の性能を評価する際の計算量を抑えながら良好な近似計算を可能にする。【解決手段】ノイズ・ベクトルの各ビット毎の周辺事後確率を、ステップＳ１４〜Ｓ１７で擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより近似値を計算する。このとき、ステップＳ１４でノイズをランダムに決めることにより、逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似する。【選択図】  図２
2004274186.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号により符号化されノイズ・ベクトルが付加されて得られた入力データを復号する復号器の性能を評価する復号評価方法において、
上記ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算し、
上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似すること
を特徴とする誤り訂正符号の復号評価方法。
【請求項２】
上記逐次計算は、上記ノイズ・ベクトルのノイズ発生の個数α毎に、ノイズ発生の位置をランダムに決めながら上記擬似変数を逐次的に更新することにより行うことを特徴とする請求項１記載の誤り訂正符号の復号評価方法。
【請求項３】
上記逐次計算による復号法は、ビリーフ・プロパゲーション法であることを特徴とする請求項１記載の誤り訂正符号の復号評価方法。
【請求項４】
上記逐次計算に用いる擬似変数は、ビット反転確率ｐの２元対称通信路のノイズの事前知識を表すＦ＝（ｌｎ（１−ｐ）／ｐ）／２、パリティ検査行列Ａのｉ列にある非ゼロ要素の位置を表す集合Ａｃｏｌ（ｉ）、集合Ａｃｏｌ（ｉ）から要素μを除いた集合を表す集合Ａｃｏｌ（ｉ）／μ、パリティ検査行列Ａのμ行目にある非ゼロ要素の位置を表す集合Ａｒｏｗ（μ）、集合Ａｒｏｗ（μ）から要素ｉを除いた集合を表す集合Ａｒｏｗ（μ）／ｉを用いて、
【数１】
2004274186.tif 000028
【数２】
2004274186.tif 000029
であり、これらの擬似変数が収束するまで逐次的に更新することを特徴とする請求項１記載の誤り訂正符号の復号評価方法。
【請求項５】
上記擬似変数が収束したとき、
【数３】
2004274186.tif 000030
の式によりｍｉを計算し、このｍｉを用いてノイズ発生の個数αのときのビット誤り率ＰＢＰ（α）を、
【数４】
2004274186.tif 000031
の式により求め、これを全てのαの場合について、
【数５】
2004274186.tif 000032
の式により平均をとることで、ビット誤り率の平均値ＰＢＰを求めることを特徴とする請求項４記載の誤り訂正符号の復号評価方法。
【請求項６】
上記逐次計算の際に、通信路ノイズが発生する確率Ｐ（α）の値が所定値以下の場合は計算を省略することを特徴とする請求項１記載の誤り訂正符号の復号評価方法。
【請求項７】
上記近似を用いた逐次計算により得られたビット誤り率ＰＢＰ（α）が０となるとき、上記近似を用いずに逐次計算を行うことを特徴とする請求項１記載の誤り訂正符号の復号評価方法。
【請求項８】
誤り訂正符号により符号化されノイズ・ベクトルが付加されて得られた入力データを復号する復号器の性能を評価する復号評価装置において、
上記ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算する手段を有し、
上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似すること
を特徴とする誤り訂正符号の復号評価装置。
【請求項９】
上記逐次計算は、上記ノイズ・ベクトルのノイズ発生の個数α毎に、ノイズ発生の位置をランダムに決めながら上記擬似変数を逐次的に更新することにより行うことを特徴とする請求項８記載の誤り訂正符号の復号評価装置。
【請求項１０】
上記逐次計算による復号法は、ビリーフ・プロパゲーション法であることを特徴とする請求項８記載の誤り訂正符号の復号評価装置。
【請求項１１】
上記逐次計算に用いる擬似変数は、ビット反転確率ｐの２元対称通信路のノイズの事前知識を表すＦ＝（ｌｎ（１−ｐ）／ｐ）／２、パリティ検査行列Ａのｉ列にある非ゼロ要素の位置を表す集合Ａｃｏｌ（ｉ）、集合Ａｃｏｌ（ｉ）から要素μを除いた集合を表す集合Ａｃｏｌ（ｉ）／μ、パリティ検査行列Ａのμ行目にある非ゼロ要素の位置を表す集合Ａｒｏｗ（μ）、集合Ａｒｏｗ（μ）から要素ｉを除いた集合を表す集合Ａｒｏｗ（μ）／ｉを用いて、
【数６】
2004274186.tif 000033
【数７】
2004274186.tif 000034
であり、これらの擬似変数が収束するまで逐次的に更新することを特徴とする請求項８記載の誤り訂正符号の復号評価装置。
【請求項１２】
上記擬似変数が収束したとき、
【数８】
2004274186.tif 000035
の式によりｍｉを計算し、このｍｉを用いてノイズ発生の個数αのときのビット誤り率ＰＢＰ（α）を、
【数９】
2004274186.tif 000036
の式により求め、これを全てのαの場合について、
【数１０】
2004274186.tif 000037
の式により平均をとることで、ビット誤り率の平均値ＰＢＰを求めることを特徴とする請求項１１記載の誤り訂正符号の復号評価装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パリティ検査符号あるいは誤り訂正符号の復号器の性能評価を行うための誤り訂正符号の復号評価方法及び装置に関し、特に、Ｇａｌｌａｇｅｒの低密度パリティ検査符号（ＬＤＰＣ符号）等で符号化したものを復号する復号器の性能を評価する誤り訂正符号の復号評価方法及び装置に関する。
【０００２】
【従来の技術】
データ記録やデータ伝送用のパリティ検査符号あるいは誤り訂正符号の分野において、非常に長いブロック長に最適な符号を見つけだす問題は、一般化パリティ検査行列で定義されたパリティ検査符号によって、本質的に解決されてきた。これらのタイプの符号は、非特許文献１により初めて述べられたものであり、該非特許文献１には、Ｒ．Ｇ．Ｇａｌｌａｇｅｒの低密度パリティ検査符号（ＬＤＰＣ符号）が開示されている。このＧａｌｌａｇｅｒのＬＤＰＣ符号は、非特許文献１において提案されていたが、当時の計算機能力の貧弱さのため、その性能が正しいく認識されず、長い間忘れ去られていた。その後１９９５年にＭａｃＫａｙとＮｅａｌにより類似の符号が“再発見”され、その性能の高さから多くの注目を集めており、現在、ターボ符号と並び、世界最高レベルの誤り訂正能力を持つと知られている。
【０００３】
また、特許文献１には、Ｇａｌｌａｇｅｒの有限長のＬＤＰＣ符号の性能評価に関する技術が開示されている。
【０００４】
ここで、ターボ符号は、携帯電話で想定されるノイズ領域ではＬＤＰＣ符号よりも性能が良いため、すでに第３世代の携帯電話で実装されている。ＬＤＰＣ符号は、その他のノイズ領域ではターボ符号よりも性能が良いこと、符号設計の柔軟性が高いことから、今後の応用が期待される。
【０００５】
上記Ｇａｌｌａｇｅｒの低密度パリティ検査符号は、（Ｎ−Ｍ）×Ｎ行列のパリティ検査行列Ａによって特徴づけされる。パリティ検査行列Ａは各行にＣ個、各列にＫ個の非ゼロ成分１を持ち、それ以外の成分はすべて０であるように構成される。またパリティ検査行列Ａから生成行列ＧＴを、下記の式（１）の拘束条件を満たすように構成する。
【０００６】
【数１１】
2004274186.tif 000003
【０００７】
このような拘束条件を満たす生成行列は簡単に構成することができる。すなわち、パリティ検査行列を、Ａ＝（Ａ１，Ａ２）と、２つの部分行列Ａ１：（Ｎ−Ｍ）×Ｍ行列、Ａ２：（Ｎ−Ｍ）×（Ｎ−Ｍ）行列で表すと、生成行列ＧＴは、下記の式（２）にて定義すればよい。
【０００８】
【数１２】
2004274186.tif 000004
【０００９】
パリティ検査行列Ａは疎行列（１の数がＯ（Ｎ）個）であるのに対し、生成行列ＧＴは一般に密行列（１の数がＯ（Ｎ２）個）となるため、符号化にはＯ（Ｎ２）のオーダの計算がかかる。符号変数Ｃ、Ｋは、符号化率Ｒ＝Ｍ／ＮとＣ／Ｋ＝１−Ｒの関係がある。
【００１０】
次に、ＬＤＰＣ符号を用いたデータ記録やデータ伝送について説明する。例えばデータ伝送の場合、送信者はＭビットのバイナリ・メッセージＷに上記生成行列ＧＴを掛けて符号語Ｘを作り（Ｘ＝ＧＴＷ）、それをノイズのある通信路に流す。通信路のモデルとして、ここでは、送信された各ビットが独立に確率ｐで反転するような２元対象通信路を考える。なおＬＤＰＣ符号はその他の通信路のモデルに対しても容易に応用でき、また、種々のデータ記録にも適用できる。
【００１１】
２元対称通信路で発生したノイズはノイズ・ベクトルξで記述できる。このベクトルはノイズによりビットが反転した場合に１を、そうで無い場合０を取る。受信者は、受信したベクトルＹにパリティ検査行列Ａを掛け、シンドロームＪ＝ＡＹを計算する。ＡＹは拘束条件（上記式（１））からノイズだけが抽出され、パリティ検査方程式Ｊ＝Ａξとなる。復号は、下記の式（３）のパリティ検査方程式を満たすノイズ・ベクトルｓの中で通信路ノイズに関する事前知識に合うものを探すことに帰着する。
【００１２】
【数１３】
2004274186.tif 000005
【００１３】
推定したノイズ・ベクトル＾ξ（＾ξは、ξの推定値、ξハットを意味する。以下同様。）が正しければ、Ｙ−（＾ξ）＝ＧＴＷとなるので、初めのＭビットがメッセージである。しかしながら、パリティ検査方程式（上記式（３））は、方程式の次元（Ｎ−Ｍ）より変数の次元（Ｎ）の方が大きいため、方程式の解は無数存在し、その中からノイズの事前知識に合うものを探すことはＮＰ完全問題であることが知られている。
【００１４】
ところで、復号問題はＢａｙｅｓの事後確率を用いて定式化できる。シンドロームＪが与えられたとき、パリティ検査方程式（３）を満たすノイズ・ベクトルの事後確率は、次の式（４）として記述できる。
【００１５】
【数１４】
2004274186.tif 000006
【００１６】
ここで、Ａｒｏｗ（μ）  は、パリティ検査行列Ａのμ列目にある非ゼロ要素のある位置の集合を表す。また同様に、Ａｃｏｌ（ｉ）  はパリティ検査行列Ａのｉ行目にある非ゼロ要素のある位置の集合である。Ｐ０（ｓｉ）  はノイズの事前確率を表し、今、ビット反転確率ｐである２元対称通信路ではＰ０（０）＝１−ｐ、Ｐ０（１）＝ｐである。また、Ｐ（Ｊμ｜｛ｓｉ：ｉ∈Ａｒｏｗ（μ）｝）は、下記の式（５）である。
【００１７】
【数１５】
2004274186.tif 000007
【００１８】
この式（５）で、δ（ａ、ｂ）  はＫｒｏｎｅｃｋｅｒのデルタ記号でａ＝ｂのとき１、そうでないとき０をとる。パリティ検査方程式（３）を満たさないノイズ・ベクトルｓに対して、Ｐ（Ｊ｜ｓ）は０になる。
【００１９】
各ビット毎の復号誤りを最小化することを目的とすると、周辺事後確率最大化（ＭＰＭ）復号法が最適な復号方法であることが知られている。ＭＰＭ復号とは、各ビットごとの周辺事後確率を下記の式（６）により求め、確率が大きい状態をノイズξｉの推定値とする復号法である。
【００２０】
【数１６】
2004274186.tif 000008
【００２１】
しかしながら、周辺事後確率を計算することは一般にＯ（２Ｎ）のオーダの計算が必要となり、厳密計算は現実には困難である。
【００２２】
近年、周辺事後確率を近似的にしかも高速に求めるアルゴリズムとして、ビリーフ・プロパゲーション（ＢＰ：ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ）アルゴリズムが注目を集めている。このアルゴリズムは人工知能研究で提案されたアルゴリズムであるが、ＬＤＰＣ符号の復号に非常に有効であることが多数の計算機実験により支持されている。
【００２３】
以下、ＢＰ復号法のアルゴリズムを簡単に述べる。ＢＰアルゴリズムではまず、−１から１までの実数値を取る２種類の変数の組｛ｍｉμ，＾ｍμｉ｝  を以下の式（７Ａ）、（７Ｂ）に従い逐次的に更新し、その収束値を求める。
【００２４】
【数１７】
2004274186.tif 000009
【００２５】
ここでシンドロームＪμはＩｓｉｎｇスピン表現を用いている。Ｉｓｉｎｇスピン表現とは統計物理学で用いられる表現で、バイナリ表現との間に、０：＋１、１：−１、の関係があり、バイナリ表現での加法は、Ｉｓｉｎｇスピン表現では乗法に対応する。Ｆは通信路ノイズの事前知識を表し、Ｆ＝（ｌｎ（１−ｐ）／ｐ）／２である。集合Ａｃｏｌ（ｉ）は、パリティ検査行列Ａのｉ列にある非ゼロ要素の位置を表す。Ａｃｏｌ（ｉ）／μは、集合Ａｃｏｌ（ｉ）から要素μを除いた集合を表す。集合Ａｒｏｗ（μ）も同様に、パリティ検査行列Ａのμ行目にある非ゼロ要素の位置を表す。周辺事後確率の近似値は、この収束解を用いて、下記の式（８）、（９）で与えられる。
【００２６】
【数１８】
2004274186.tif 000010
【００２７】
【特許文献１】
特開２００２−３５３９４６号公報
【非特許文献１】
Ｒ．Ｇ．Ｇａｌｌａｇｅｒ、“低密度のパリティ検査符号”、Ｒｅｓｅａｒｃｈ  Ｍｏｎｏｇｒａｐｈ  Ｓｅｒｉｅｓ  第２１巻、ＭＩＴ  Ｐｒｅｓｓ  １９６３年発行
【００２８】
【発明が解決しようとする課題】
ところで、上述したようなＢＰ復号器の性能を厳密評価するためには、ノイズ・ベクトル｛ξｉ｝の全ての場合について復号の可否を調べ平均を取る必要がある。しかしながら、ノイズ・ベクトル｛ξｉ｝の全ての場合の数は２Ｎ個あり、Ｎが５００とか１０００とかの数値の場合に、２Ｎ個を全て調べることは現実には不可能である。現実にはノイズ・ベクトル｛ξｉ｝をランダムに生成し、それらに対して復号を行い、その平均値を求める方法をとる。符号語長をＮとして、ＢＰでは１回の復号にＯ（Ｎ）の計算がかかり、精度の良い結果を得るためにはＯ（Ｎ２）回程度の計算機実験が必要となるため、全体としてＯ（Ｎ３）程度の計算が必要になる。
【００２９】
ここで図９は、ビット誤り率とノイズによるビット反転確率ｐとの関係を表した図である。この図９において、データａがメッセージ長５００、データｂがメッセージ長１０００の各メッセージを、それぞれ２倍の長さの符号語にして通信を行った場合について、それぞれ１０６回の計算機実験により評価したものである。ビット誤り率の振舞いは、符号語長、パリティ検査行列の構成に強く依存する。ノイズが小さい領域では、大きな誤差棒が生じていることから分かるように、さらなる計算機実験が必要である。
【００３０】
この図９から明らかなように、ビット誤り率の振舞いは、符号長やパリティ検査行列の構成に強く依存してしまう。また、ノイズの小さい領域では、大きな誤差棒が生じていることから分かるように、より多くの計算機実験が必要になる。ＬＤＰＣ符号の実用化を考えた場合、特定の条件化でのビット誤り率を求めることは非常に重要である。ＢＰアルゴリズムの性能評価法に関する理論研究は、符号長無限大の極限、かつ、パリティ検査行列の構成に関して平均を実行した場合という非常に限られた場合しか成功していない。現実には、特定のパリティ検査符号を用いたときの性能なため、パリティ検査行列に関する平均を取ることは実際の利用という観点からは好ましくない。
【００３１】
以上述べたことをまとめると、Ｇａｌｌａｇｅｒの低密度パリティ検査符号（ＬＤＰＣ符号）は、復号器にビリーフ・プロパゲーション（ＢＰ）アルゴリズムを用いると、現在、世界最高性能の誤り訂正符号になることが知られている。ＬＤＰＣ符号は符号設計の自由度が高いため、個々の状況に応じた符号を設計できる。しかしこの事は個々の状況に応じて符号変数の最適化を行わねばならないことを意味する。ＬＤＰＣ符号の理論的解析は符号長無限大の場合のみしか行われておらず、実世界で重要である有限符号長の場合の性能評価は計算機実験に頼るしか方法がない。一般に、性能評価を行うためには多数の計算機実験を行う必要があり、より高速に性能評価出来る手法が求められているが、既存研究はＢＰアルゴリズムの解析の困難さからほとんど成功していない。
【００３２】
このような点を考慮し、本発明においては、ＬＤＰＣ符号に用いた場合のＢＰアルゴリズムの動的性質を解析し、有限符号長のＬＤＰＣ符号の誤り訂正能力を近似的ではあるが高速に評価する方法を提案する。
【００３３】
すなわち、本発明は、上述したような実情に鑑みてなされたものであり、計算量を抑えながら復号器の評価を近似的に行えるような誤り訂正符号の復号評価方法及び装置の提供を目的とする。
【００３４】
【課題を解決するための手段】
本発明に係る誤り訂正符号の復号評価方法及び装置は、誤り訂正符号により符号化されノイズ・ベクトルが付加されて得られた入力データを復号する復号器の性能を評価する際に、上記ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算し、上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似することにより、上述の課題を解決する。
【００３５】
ここで、上記逐次計算は、上記ノイズ・ベクトルのノイズ発生の個数α毎に、ノイズ発生の位置をランダムに決めながら上記擬似変数を逐次的に更新することにより行うことが好ましい。上記逐次計算による復号法は、ビリーフ・プロパゲーション法が挙げられる。
【００３６】
また、上記逐次計算に用いる擬似変数としては、ビット反転確率ｐの２元対称通信路のノイズの事前知識を表すＦ＝（ｌｎ（１−ｐ）／ｐ）／２、パリティ検査行列Ａのｉ列にある非ゼロ要素の位置を表す集合Ａｃｏｌ（ｉ）、集合Ａｃｏｌ（ｉ）から要素μを除いた集合を表す集合Ａｃｏｌ（ｉ）／μ、パリティ検査行列Ａのμ行目にある非ゼロ要素の位置を表す集合Ａｒｏｗ（μ）、集合Ａｒｏｗ（μ）から要素ｉを除いた集合を表す集合Ａｒｏｗ（μ）／ｉを用いて表される次の式が挙げられる。
【００３７】
【数１９】
2004274186.tif 000011
【００３８】
【数２０】
2004274186.tif 000012
【００３９】
これらの擬似変数が収束するまで逐次的に更新するような逐次計算を行った後、次の各式により、収束解を用いてビット誤り率の平均値ＰＢＰを求めることができる。
【００４０】
【数２１】
2004274186.tif 000013
【００４１】
【数２２】
2004274186.tif 000014
【００４２】
【数２３】
2004274186.tif 000015
【００４３】
【発明の実施の形態】
本発明の実施の形態の説明に先立ち、有限符号長のＬＤＰＣ符号の性能を近似的に解析する手法を考察するため、ノイズに関する平均を取る時点および取り方を変更することについて説明する。
【００４４】
ＢＰ復号器の厳密な性能を調べるためには、上述した式（７）の収束解をノイズ・ベクトル｛ξｉ｝の発生確率で平均を取ることが必要である。この「終状態の平均」を「逐次計算の各段階でノイズに関して平均を取った場合の終状態」で近似することを考える。符号長無限大の極限ではこの近似は厳密解を与えることが知られている。
【００４５】
ノイズは各ビット毎独立に発生するため、変数｛ｍｉμ｝の計算時にノイズξｉに関する平均をとればよい近似解を与えると想像できるが、この方法では質の良い近似解は得られない。この手法は符号長無限大かつパリティ検査行列の平均を取った場合の性能評価法として知られている密度発展法を有限符号長の解析に応用したものである。特定のＬＤＰＣ符号に対して、この方法で性能評価を行った結果を図１の破線ｃに示している。
【００４６】
ここで、図１は、メッセージ長５００、符号語長１０００の場合の、通信路ノイズのビット反転確率とビット誤り率と関係をグラフにしたものである。この図１において、誤差棒付きのデータａ（×印）が、１０６回（Ｏ（Ｎ２））の計算機実験によるもの、破線のデータｃが、上述した有限符号長での密度発展法のもの、データｂ（黒四角）が、後述する本発明の実施の形態の復号評価方法によるものをそれぞれ示している。計算量を比べると、計算機実験はＯ（Ｎ３）、上述した有限符号長での密度発展法はＯ（Ｎ）、本発明の実施の形態の方法ではＯ（Ｎ２）である。
【００４７】
この図１において、上述した密度発展法におけるビット誤り率は，あるノイズ値ｐｃまでは０であるが、それを越えると１に跳ね上がるような振舞いを示してしまい、現実の振舞いを再現していない。このような振舞いは符号長無限大の極限で現れると予測されており、必要な計算量がＯ（Ｎ）程度ではあるが、有限ビット長での性能評価には全く役に立たない。
【００４８】
そこで、本件発明者等は、計算量を計算機実験の場合のＯ（Ｎ３）まで大きくすることなく、有限ビット長での性能評価にも有効な近似値が得られるような復号評価方法及び装置を提供するものである。
【００４９】
すなわち、本発明の実施の形態においては、誤り訂正符号により符号化されノイズ・ベクトルが付加されて得られた入力データを復号する復号器の性能を評価する際に、上記ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するために、ＢＰ復号法で用いられる擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算し、上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似するようにしている。
【００５０】
以下、本発明に係る誤り訂正符号の復号評価方法及び装置の好ましい実施の形態について、図面を参照しながら説明する。
【００５１】
本実施の形態においては、ＢＰ復号器の性能を「逐次計算の各段階でノイズに関して平均を取った場合の終状態」で近似することを考える。ＢＰ復号器の動的性質を考慮して、ノイズに関する平均の取り方を工夫する。
【００５２】
上述した密度発展法では、各ノイズビットごとに平均を取っていたが、ＢＰ復号器は通信路で発生したノイズの総数で特徴づけできるという知見を生かし、本発明の実施の形態においては、逐次計算の各段階でノイズの総数は固定し、ノイズの発生した位置に関して平均を取ることを行う。
【００５３】
具体的には、通信路ノイズの発生した個数をα個（α＝０，…，Ｎ）としたとき、ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数として次の式（１０Ａ）、（１０Ｂ）を用い、これらの式（１０Ａ）、（１０Ｂ）を逐次的に更新する逐次計算を行って収束したときの終状態を求め、その場合から得られるビット誤り率ＰＢＰ（α）を用いて、ビット誤り率の近似値を次の式（１１）より求める。この場合、上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似している。
【００５４】
【数２４】
2004274186.tif 000016
【００５５】
【数２５】
2004274186.tif 000017
【００５６】
ここで、式（１０Ａ）中の＜…＞αは、ノイズの発生した位置を入れ換えることを表す。またＰ（α）はノイズの総数がα個であるような通信路ノイズが発生する確率を表し、Ｐ（α）＝ＮＣα（１−ｐ）Ｎ−αｐαである。
【００５７】
次に、図２は、本発明の実施の形態となる誤り訂正符号の復号評価方法の具体例を説明するためのフローチャートである。
【００５８】
この図２において、最初のステップＳ１１では、通信路ノイズの発生した個数α（α＝０，…，Ｎ）を初期値Ｎに設定する。次のステップＳ１２では、ノイズ・ベクトル｛ξｉ｝をランダムに決める。このベクトルは、−１（ノイズによりビット反転したもの）をα個持ち、−１のある位置はランダムに決められており、残りの成分はすべて＋１とする。次に、ステップＳ１３にて、ｍｉμの初期条件としてｔａｎｈ（ξｉＦ）を設定する。
【００５９】
次のステップＳ１４では、次の式（１２）によりｍｉμ（α）から＾ｍμｉ（α）を計算する。
【００６０】
【数２６】
2004274186.tif 000018
【００６１】
次のステップＳ１５では、ノイズ・ベクトル｛ξｉ｝をランダムに決める。あるいは、−１のある位置をランダムに入れ替える。
【００６２】
次のステップＳ１６では、次の式（１３）により＾ｍμｉ（α）からｍｉμ（α）を計算する。
【００６３】
【数２７】
2004274186.tif 000019
【００６４】
次のステップＳ１７では、ｍｉμ（α）、＾ｍμｉ（α）が収束したか否かを判別し、収束するまでステップＳ１４からＳ１６までを繰り返す。ステップＳ１７で収束した（終状態に達した）と判別されたときは、次のステップＳ１８に進む。
【００６５】
ステップＳ１８では、次の式（１４）により、＾ｍμｉ（α）からｍｉを計算する。
【００６６】
【数２８】
2004274186.tif 000020
【００６７】
次に、ステップＳ１９に進んで、次の式（１５）により、ｍｉからビット誤り率ＰＢＰ（α）を計算し、次のステップＳ２０に進む。
【００６８】
【数２９】
2004274186.tif 000021
【００６９】
ステップＳ２０では、上記ノイズの総数αが０になったか否かを判別し、ＮｏのときはステップＳ２１に進んでαをデクリメント（α＝α−１）した後、上記ステップＳ１２に戻る。ステップＳ２０でＹｅｓと判別されたときは、逐次計算を終了する。
【００７０】
以上のような逐次計算が終了した後、各α毎のビット誤り率ＰＢＰ（α）を用いて、ビット誤り率の平均値ＰＢＰを次の式（１６）により計算する。
【００７１】
【数３０】
2004274186.tif 000022
【００７２】
以上説明したような本発明の実施の形態となる誤り訂正符号の復号評価方法を実現するための装置の概略構成の一例を図３に示す。
【００７３】
この図３に示す誤り訂正符号の復号評価装置は、復号評価装置の各部を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１と、復号評価処理のプログラム等が格納された不揮発性のメモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２と、実際の処理が行われる揮発性のメモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３と、データを入力する入力部４と、データを出力する出力部５と、各部を接続するバス６とを備える。
【００７４】
このような構成の装置により、上述したような、ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算し、上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似するような処理を行わせることができる。
【００７５】
以上説明したような実施の形態による復号評価処理の計算量は、Ｏ（Ｎ２）程度となる。
【００７６】
ここで、上記図２と共に説明した実施の形態においては、ノイズの個数αをＮから０までの全ての値の場合について逐次計算を行っていたが、実際にはαは全ての値を考える必要は無く、ノイズの総数がα個であるような通信路ノイズが発生する確率Ｐ（α）の値によって計算を省略できる。すなわち、Ｐ（α）が、アルゴリズム実行者が決める所定の定数Ｐｔｈ（例えばＰｔｈ＝１０−１０）より小さい値の場合は、計算を省略しても得られる結果は変わらない。そこで、αが決められた（更新された）ときに、Ｐ（α）＝ＮＣα（１−ｐ）Ｎ−αｐαで求められるＰ（α）の値が上記所定の閾値Ｐｔｈより小さい（Ｐ（α）＜Ｐｔｈ）ときには、各α毎のビット誤り率ＰＢＰ（α）を０として、次のαについての逐次計算に移行すればよい。
【００７７】
図４は、このような逐次計算を省略する場合の本発明の実施の形態を説明するためのフローチャートである。
【００７８】
この図４において、最初のステップＳ３１では、ノイズの個数αをＮに設定する。次のステップＳ３２では、上述したように、ノイズの総数がα個であるような通信路ノイズが発生する確率Ｐ（α）の値を、
Ｐ（α）＝ＮＣα（１−ｐ）Ｎ−αｐα
により計算し、ステップＳ３３に進んで、Ｐ（α）の値が上記所定の閾値Ｐｔｈより小さい（Ｐ（α）＜Ｐｔｈ）か否かを判別する。このステップＳ３３で、Ｙｅｓと判別されたときにはステップＳ４１に飛び、Ｎｏと判別されたときにはステップＳ３４に進んでいる。ステップＳ３４からＳ４０までが、上述したような擬似変数を用いた逐次計算に相当している。
【００７９】
すなわち、ステップＳ３４では、ノイズ・ベクトルであるξベクトルを構成する。このベクトルは−１をα個持ち、−１のある位置はランダムに決められる。残りの成分はすべて＋１とする。次のステップＳ３５では、ｍｉμに初期条件としてｔａｎｈ（ξＦ）を設定する。ｉ＝０，…，Ｎ，  μ＝１，…，Ｎ−Ｍのすべてについて求める。Ｆは、Ｆ＝（１／２）ｌｎ（１−ｐ）／ｐと定義される。
【００８０】
次のステップＳ３６では、次の式によりｍｉμから＾ｍμｉを計算する。
【００８１】
【数３１】
2004274186.tif 000023
【００８２】
次のステップＳ３７では、ノイズ・ベクトルであるξベクトルの−１の位置をランダムに入れ替える。
【００８３】
次のステップＳ３８では、次の式により＾ｍμｉからｍｉμを計算する。
【００８４】
【数３２】
2004274186.tif 000024
【００８５】
次のステップＳ３９では、次の式により、＾ｍμｉからｍｉを計算する。
【００８６】
【数３３】
2004274186.tif 000025
【００８７】
次のステップＳ４０では、上記擬似変数ｍｉμ（α）、＾ｍμｉ（α）が収束したか否かを判別し、Ｎｏのときは上記ステップＳ３６に戻って、収束するまでステップＳ３６からＳ４０までを繰り返す。ステップＳでＹｅｓ（収束した、終状態に達した）と判別されたときは、次のステップＳ４１に進む。なお、この繰り返しが３００回程度たっても収束しない場合は、最後の５０回程度の繰り返し計算で得られたｍｉの平均値を収束値とみなすことにする。
【００８８】
次に、ステップＳ４１に進んで、次の式によりαを固定したときのビット誤り率ＰＢＰ（α）を計算し、次のステップＳ４２に進む。
【００８９】
【数３４】
2004274186.tif 000026
【００９０】
ステップＳ４２では、上記ノイズの総数αが０になったか否かを判別し、ＮｏのときはステップＳ４３に進んでαをデクリメント（α＝α−１）した後、上記ステップＳ３２に戻る。ステップＳ４２でＹｅｓ（α＝０の場合の逐次計算も終了した）と判別されたときは、ステップＳ４４に進み、ビット誤り率の平均値ＰＢＰを次の式により計算する。
【００９１】
【数３５】
2004274186.tif 000027
【００９２】
この図４と共に説明したような実施の形態により、計算量をさらに低減することができる。
【００９３】
ところで、上記図１において、本実施の形態による性能評価を行った結果を、データｂ（黒四角）として示している。この図１から明らかなように、本実施の形態による計算結果のデータｂは、データａ（×印）に示す実際のビット誤り率の振舞いを略々定性的に再現している。ノイズ値が大きい領域では計算機実験の結果と一致する。しかし小さいノイズ領域では、計算機実験の結果よりも小さな値を示してしまう。
【００９４】
このズレの原因とより精度良く推定する方法を考察する。
【００９５】
ここで、本件発明者等がＬＤＰＣ符号にＢＰ復号を行った場合の性質を調べたところ、次の事が判明した。すなわち、ＢＰ復号器は、ノイズ・ベクトル｛ξｉ｝の成分中にある−１の数（すなわちノイズによりビット反転した総数）により、図５に示すように、３つの相に分かれる振舞いを示すことが判明した。
【００９６】
この図５のグラフは、復号成功確率と、通信路ノイズによりビット反転が発生した総数との関係を示したものであり、メッセージ長５０ビットを特定のＬＤＰＣ符号で２倍の長さの符号語にし、ｐ＝０．０７５  のノイズが発生する通信路で、１０００回の平均を取ったものである。その他の場合でも基本的な振舞いは同じである。ノイズの発生した総数により３つの相、すなわち、ノイズの発生した位置に関わらず復号が成功する相（Ｆ相）、ノイズによるビット反転の総数が増えるに従い、ノイズの発生した位置によって復号成功と失敗が共存する相（ＦＰ相）、位置に関わらず復号失敗の相（Ｐ相）に分けられる。
【００９７】
上記図２や図４と共に説明した実施の形態において、ビット誤り率の推定値が実際の値よりも小さくなってしまう原因としては、ＦＰ相での推定がうまく行えていないことが挙げられる。ＦＰ相ではノイズの位置により復号成功・失敗に分かれるが、ノイズの位置に関して平均を取ってしまうと、この共存現象を正しく捉えることができない。
【００９８】
ここで図６は、上記図５の計算機実験と、上述した実施の形態による結果を比較したものである。Ｆ相とＰ相は上記実施の形態により精度良く調べられているが、ＦＰ相の復号成功と失敗が共存する場合は正しく調べられていない。ＦＰ相では一般的に復号成功相と捉えられてしまい、そのためビット誤り率の推定値が小さくなってしまう。
【００９９】
すなわち、図６は、ノイズの発生した総数と復号成功の割合との関係を示しており、計算機実験の条件は図１、図５と同じである。データｃ（黒四角）は、上記図２や図４と共に説明した実施の形態による結果を表す。Ｆ相とＰ相は実施の形態の評価方法により精度良く調べられているが、ＦＰ相の復号成功と失敗が共存する場合は正しく調べられていない。ＦＰ相では一般的に復号成功相と捉えられてしまい、そのためビット誤り率の推定値が小さくなってしまう。
【０１００】
この推定誤りを少なくするためには、ＦＰ相の振舞いを精度良く調べる必要があるが、一般に共存相の動的性質を調べることは困難であることが知られており、現在のところ効果的な方法は見つかっていない。
【０１０１】
しかしながら、ＦＰ相が存在する領域は小さいため、ＦＰ相のみ計算機実験を行う方針でも、すべてを計算機実験に頼るよりも少ない計算量で推定を行うことができる。
【０１０２】
すなわち、上記図２や図４と共に説明した実施の形態の評価方法により、計算量Ｏ（Ｎ２）で定性的な振舞いを得ることができ、その結果に対して、ＦＰ相のあたりを重点的に計算機実験で調べるという方法を実行すれば、少ない計算量（Ｏ（Ｎ２＋Ｎ２×定数））でビット誤り率を推定することができる。この計算量の式中で、Ｎ２の計算は、ＦＰ相の大きさはＮに比例する（Ｎよりかなり小さい）こととＢＰ復号はＯ（Ｎ）の計算が必要であることから要求される。上記定数は、ＦＰ相での計算機実験を行う回数に依存する。推定精度と回数はトレードオフの関係にあり、上記定数＝Ｎにすれば計算機実験の結果と同じ結果を示すことが経験上確認できる。
【０１０３】
以上をまとめると、次のようになる。すなわち、αが小さい領域では，  上記実施の形態で求めたαを固定した場合のビット誤り率ＰＢＰ（α）と計算機実験によって求めたものが共にゼロとなり、上記実施の形態で求めた近似値と実験値が一致する。このαの領域を強磁性相（Ｆ相）と定義する。αを増やすと、上記実施の形態で求めたαを固定した場合のビット誤り率ＰＢＰ（α）はゼロとなるが，  計算機実験によって求めたものはゼロでなく、上記実施の形態で求めた近似値と実験値が一致しなくなる。このαの領域を共存相（ＦＰ相）と定義する。さらにαを増やすと，  提案手法で求めたＰＢＰ（α）と実験値がともにゼロでなくなる。このαの領域を常磁性相（Ｐ相）と定義する。Ｐ相では提案手法で求めた近似値と実験値は精度良く一致する。すなわち、Ｆ相とＰ相では、上記実施の形態による近似値と実験値は精度良く一致する。従って、本発明の実施の形態の評価方法の近似精度を上げるためには、ＦＰ相での近似値の精度を上げる必要があることを考慮し、ＦＰ相では上記実施の形態の評価を行うのをやめ、計算機実験を行うようにするものである。
具体的には、図７及び図８に示すフローチャートのような処理を挙げることができる。ここで、図７のフローチャートは、上記図４に示したフローチャートと略々同様であるが、ステップＳ４２でＮｏと判断されたとき、さらにステップＳ４５に進んで、上記ビット誤り率ＰＢＰ（α）が０か否かを判断する。ＰＢＰ（α）が０ならば、Ｐ相からＦＰ相に突入したと判断し、ステップＳ５０に進んで計算機実験を行い、その結果をＰＢＰ（α）に代入する。  その後、ステップＳ４３でαをデクリメント（α＝α−１）した後、上記ステップＳ３２に戻る。また、ステップＳ４５でＮｏ（ＰＢＰ（α）が非ゼロ）と判断されたときも、ステップＳ４３でαをデクリメントした後、ステップＳ３２に戻る。他のステップは図４と同様であるため、対応する部分に同じ指示符号を付して説明を省略する。
【０１０４】
次に、図８は、図７のステップＳ５０の計算機実験アルゴリズムの一例を示すフローチャートである。
【０１０５】
この図８において、最初のステップＳ５１では、計算機実験の回数ｋを決め、このｋを制御変数ｎの初期値（ｎ＝ｋ）とする。計算機実験の回数ｋを多くすると、近似精度は向上するが計算量が多くかかってしまう。高精度な推定を行う場合はＮ回程度が要求されるが、これでは計算量が多くなってしまうため、より少ない回数に設定する。例えば、ｋ＝√Ｎ回程度が挙げられる。
【０１０６】
次に、ステップＳ５２でξベクトルを構成する。このベクトルは−１をα個持ち、−１のある位置はランダムに決められる。残りの成分はすべて＋１とする。
【０１０７】
次のステップＳ５３では、ｍｉμに初期条件としてｔａｎｈ（ξＦ）を設定する。ｉ＝０，…，Ｎ，  μ＝１，…，Ｎ−Ｍである。
【０１０８】
次のステップＳ５４では、上記式（７Ｂ）に従って＾ｍμｉを計算する。次のステップＳ５５では、上記式（７Ａ）に従ってｍｉμを計算する。次のステップＳ５６では、収束したか否かを判別し、Ｎｏのときは上記ステップＳ５４に戻って、収束するまでステップＳ５４からＳ５６までを繰り返す。
【０１０９】
次のステップＳ５７では、上記式（１４）に従ってｍｉを計算し、次のステップＳ５８で、上記式（１５）に従ってαを固定したときのビット誤り率ＰＢＰ（α）を計算する。
【０１１０】
次のステップＳ５９では、上記計算機実験の回数の制御変数ｎが１になったか否かを判別し、ＮｏのときはステップＳ６０に進んでｎをデクリメント（ｎ＝ｎ−１）して、ステップＳ５２に戻り、ステップＳ５２からＳ５９までを計算機実験の回数ｋだけ繰り返す。ステップＳ５９でＹｅｓと判別されたときには、ステップＳ６１に進み、得られたＰＢＰ（α）の単純平均を求め、それを最終的なＰＢＰ（α）として、図７のステップＳ４３に進む。
【０１１１】
以上説明したような本発明の実施の形態によれば、計算量を抑えながら、高い近似度での復号性能評価が行える。
【０１１２】
なお、本発明は、上述した実施の形態のみに限定されるものではなく、本発明の実施の形態においては通信あるいはデータ伝送の際の受信側の復号性能評価について説明したが、データ記録の際の再生側の復号性能評価にも容易に適用できることは勿論である。また、誤り訂正符号あるいはパリティ検査符号としては、Ｒ．Ｇ．Ｇａｌｌａｇｅｒの低密度パリティ検査符号（ＬＤＰＣ符号）を例示したが、これに限定されず、また、復号方法もビリーフ・プロパゲーション（ＢＰ：ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ）アルゴリズムに限定されるものではない。
【０１１３】
【発明の効果】
本発明は、誤り訂正符号により符号化されノイズ・ベクトルが付加されて得られた入力データを復号する復号器の性能を評価する際に、上記ノイズ・ベクトルの各ビット毎の周辺事後確率を計算するための擬似変数を用い、この擬似変数を逐次的に更新する逐次計算を行ってその収束値を求めることにより上記周辺事後確率の近似値を計算し、上記逐次計算の結果の平均値を、逐次計算の各段階で平均をとった計算の結果で近似することにより、演算量を抑えながら、近似度の高い復号性能評価が行える。
【図面の簡単な説明】
【図１】通信路ノイズのビット反転確率とビット誤り率との関係を、計算機実験との対比の下に示す図である。
【図２】本発明の実施の形態となる誤り訂正符号の復号評価方法の一例を示すフローチャートである。
【図３】本発明の実施の形態となる誤り訂正符号の復号評価装置に用いられる構成例を示すブロック図である。
【図４】本発明の実施の形態となる誤り訂正符号の復号評価方法の他の例を示すフローチャートである。
【図５】通信路ノイズによるビット反転の総数と復号成功確率との関係を示す図である。
【図６】ノイズによるビット反転の総数とビット誤り率との関係を示す図である。
【図７】本発明の実施の形態となる誤り訂正符号の復号評価方法の改良例を示すフローチャートである。
【図８】図７のフローチャートのステップＳ５０の計算機実験アルゴリズムの一例を示すフローチャートである。
【図９】計算機実験によるビット誤り率とノイズによるビット反転確率との関係を示す図である。
【符号の説明】
１  ＣＰＵ、  ２  ＲＯＭ、  ３  ＲＡＭ、  ４  入力部、  ５  出力部
【図１】
2004274186.tif 000038
【図２】
2004274186.tif 000039
【図３】
2004274186.tif 000040
【図４】
2004274186.tif 000041
【図５】
2004274186.tif 000042
【図６】
2004274186.tif 000043
【図７】
2004274186.tif 000044
【図８】
2004274186.tif 000045
【図９】
2004274186.tif 000046