(57)【要約】  ブロック符号を復号する方法及びデバイスであって，受信された各語（Ｒ）に次のステップを含むＳＩＳＯターボ復号が適用される。（Ａ）反復アルゴリズムを用いて検査語を復号する。（Ｂ）復号された検査語のアナログ重み値を計算する。その重み値は，前記復号された検査語の±１に対応付けられた各ビット値の積と，前記ビットの対数ゆう度との半加算値である。（Ｃ）競合語のアナログ重み値を，復号された検査語のアナログ重み成分であって，その位置ｊのビットが第１の値である重み成分からなる第１アナログ重みベクトル（Ｖ1）と，復号された検査語のアナログ重み成分であって，その位置ｊのビットが第２の値である重み成分からなる第２アナログ重みベクトル（Ｖ2）とに従って分類する。（Ｄ）ＳＩＳＯ復号の軟判定出力値を前記第１ベクトル（Ｖ1）と第２ベクトル（Ｖ2）との重み成分の差として計算する。本方法は，送信又は記憶したブロック符号の復号に有用である。
2008502247.tif 000002
【特許請求の範囲】
【請求項１】
復号検査語のｎビットからなる受信積符号語（Ｒ）のＳＩＳＯ復号によってブロック符号を反復復号する方法であって，少なくとも，
反復処理を用いて複数の復号検査語を生成するステップと，
各復号検査語について，該復号検査語の±１に対応付けられる各ビット値の積の半加算値として表されるアナログ重み値と，対数ゆう度の意味での前記ビット値の確率とを計算するステップと，
前記復号検査語のアナログ重み成分によって形成され，位置ｊのビットが第１の値である第１アナログ重みベクトルと，前記復号検査語のアナログ重み成分によって形成され，位置ｊのビットが第２の値である第２アナログ重みベクトルとを生成するために，前記復号検査語の前記アナログ重み値を分類して記憶するステップと，
前記ＳＩＳＯ復号の軟判定出力値を，前記第１アナログ重みベクトルと前記第２アナログ重みベクトルとの間の差として計算するステップとを含む方法。
【請求項２】
前記第１アナログ重みベクトル及び前記第２アナログ重みベクトルを初期化するステップであって，前記復号検査語の位置ｊのビットが前記第１の値である前記復号検査語の各アナログ重み成分ＰＭj+，又は前記復号検査語の位置ｊのビットが前記第２の値である前記復号検査語の各アナログ重み成分ＰＭj-を，ｊ＝０…ｎの任意の値に対してそれぞれ値ＰＭj+＝＋∞又はＰＭj-＝＋∞に初期化し，前記の初期化した第１アナログ重みベクトル及び第２アナログ重みベクトルは，最小の重みを含むステップを含む請求項１に記載の方法。
【請求項３】
前記の初期化ステップと前記復号検査語を生成するアルゴリズムの最初の反復実行とに続いて，前記アナログ重み値を分類して記憶するステップを含む前記の操作が，
前記最小重みを持つアナログ重みベクトルから得られる第１復号検査語のアナログ重み値を前記検査語のビット値の関数として分類するステップであって，前記第１復号検査語は最初に検査され，任意の初期化重み値に関して最小アナログ重み値を有するステップと，
後に続く各現在の反復実行について，それぞれ前記第１アナログ重みベクトル又は前記第２アナログ重みベクトルにおける前記現在の反復実行中に得られる現在のアナログ重み値を，該現在のアナログ重み値が前回の反復実行又はそれ以前の反復実行において記憶した同じ位置の成分についてのアナログ重み値よりも小さいときだけ分類するステップとを含む請求項１又は２に記載の方法。
【請求項４】
前記ＳＩＳＯ復号の出力値を計算するステップを含むステップが，位置ｊ∈［０，ｎ］である任意のビットについて，
前記重みベクトルのアナログ重み成分値が，前記の初期値＋∞と異なるとき，前記各アナログ重み値間の差として表される位置ｊの対応するビット値の確率を計算するステップと，
前記重みベクトルのうち１つのアナログ重み成分が，前記の初期値＋∞と異なる唯一のものであるとき，第１の特定値を位置ｊのビット値の確率に割り当てるステップと，
前記重みベクトルのうち他方のアナログ重み成分が，前記の初期値＋∞と異なる唯一のものであるとき，第１の特定値と反対の第２の特定値を位置ｊのビット値の確率に割り当てるステップとを含む請求項１〜３のいずれか一項に記載の方法。
【請求項５】
復号検査語のｎビットからなる受信積符号語のＳＩＳＯ復号によってブロック符号を反復復号するデバイスであって，該デバイスは各受信積符号の処理のために少なくとも，
ａ）反復アルゴリズムによって複数の復号検査語を生成する手段と，
ｂ）各復号検査語について，該復号検査語の±１に対応付けられる各ビット値の積の半加算値として表されるアナログ重み値と，対数ゆう度の意味での前記ビット値の確率とを計算する手段と，
ｃ）前記復号検査語のアナログ重み成分によって形成され，位置ｊのビットが第１の値である第１アナログ重みベクトルと，前記復号検査語のアナログ重み成分によって形成され，位置ｊのビットが第２の値である第２アナログ重みベクトルとを生成するために，前記復号検査語の前記アナログ重み値を分類して記憶する手段と，
ｄ1）前記の分類したアナログ重み値を，それぞれ前記第１アナログ重みベクトル又は第２アナログ重みベクトルに従って記憶することができる第１及び第２レジスタと，
ｄ2）前記ＳＩＳＯ復号の軟判定出力値を計算する手段であって，前記第１アナログ重みベクトル及び前記第２アナログ重みベクトルから前記アナログ重み成分を減算する少なくとも１つのモジュールを備える手段と，を備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，デジタルデータを効率的に伝送するためのデジタル信号の符号化／復号方法に関する。
【背景技術】
【０００２】
これらの方法は，デジタル信号全体が伝送され伝送過程に固有のエラーが混入した後に，良好なゆう（尤）度確率で上位各ビットを復号し再構成することを可能にするために，原理的には上位各ビット，すなわち前述のデジタル信号によるデータ搬送手段に対して，既知のビットに冗長性を加えることによる。
【０００３】
積符号を含むより特定のブロック符号の場合には，図１ａに示す２つのブロック符号Ｃ1（ｎ1，ｋ1，ｄ1）及びＣ2（ｎ2，ｋ2，ｄ2）を考え，そのうちのｎ（ｎ＝ｎ1×ｎ2）ビットをｋ1行ｋ2列のマトリクスに置く。ここでｋ1×ｋ2はｋ1行ｋ2列からなるマトリクスの上位ビットを指定し，ｎ1行は符号Ｃ2によって符号化され，ｎ2列は符号Ｃ1によって符号化される。
【０００４】
積符号Ｐ（ｎ，ｋ，ｄ）のパラメータは，ｎ＝ｎ1×ｎ2，ｋ＝ｋ1×ｋ2及びｄ＝ｄ1×ｄ2で与えられ，積符号のレートは，符号Ｃ1のレートと符号Ｃ2のレートの積であるｒ＝ｒ1×ｒ2で与えられる。
【０００５】
符号Ｃ1又はＣ2で符号化された１行又は１列の語Ｅ＝｛ｅ1，…，ｅn｝を受信したときの積符号語Ｒ＝｛ｒ1，…，ｒn｝は，Ｒ＝Ｅ＋Ｇで表され，ここでＧ＝｛ｇ1，…，ｇn｝は伝送チャネルで混入した白色ガウス雑音を表す。
【０００６】
積符号語に対する受信符号語Ｒの最大ゆう度は，次の式を満たす最適判定Ｄ＝｛ｄ1，…，ｄn｝によって得られる。
【数１】
2008502247.tif 000003
ここでＣi＝｛ｃ1，…，ｃn｝は符号語を表し，
【数２】
2008502247.tif 000004
は，受信符号語Ｒと考慮する語Ｃiとのユークリッド距離を表す。
【０００７】
すべての符号語を徹底的に探索するのは非実践的なため，最適判定を見付けるためにＲ．Ｐｙｎｄｉａｈはチェイスアルゴリズムを用いる復号処理を提案している。
【０００８】
Ｙ＝｛ｙ1，…，ｙn｝が受信した語Ｒに関連するどの硬判定についても，前述のアルゴリズムは次の操作を含む。
・行又は列の絶対値が小さい値の対数ゆう度ｒjからｐ＝ｄ／２を選択する。ここでｄは最小の信頼できるビット数を表す。
・検査ベクトルＴqを作成する。ここでＴqは，ｐ個の最小信頼位置の２進数値及びほかの位置の零値の組合せのすべてを表す。
【数３】
2008502247.tif 000005
・符号に関する語Ｃqを得るために，検査語Ｚqを硬復号する。
・受信した語から最小のユークリッド距離にある符号に関する符号語Ｃdを選択し，最適判定Ｄを得る。
【０００９】
次にこの最適判定の信頼度を計算しなければならない。
【００１０】
対数ゆう度（ＬＬＲ）の意味での前述の信頼度は，最適判定Ｄの各ビットｄjに対して次の式で与えられる。
【数４】
2008502247.tif 000006
ここでＰ｛ｅj＝ε／Ｒ｝，ε＝±１は，受信符号語をＲとしてビットｅjが対応付けられた値である条件付き確率を表す。ｌｎはネイピア対数（自然対数）を表す。
【００１１】
厳密なＬＬＲ計算を行うには，最適判定Ｄが符号Ｃの２k個（ただしｋ1＝ｋ2）の語のうちの１語であることを考慮しなければならない。
【００１２】
Ｒ．Ｐｙｎｄｉａｈが提案する解決法においては，高信号対雑音比ＳＮＲを有する信号のＬＬＲ近似値は次の式で得られる。
【数５】
2008502247.tif 000007
【数６】
2008502247.tif 000008
ここで，
【数７】
2008502247.tif 000009
は，これらの語の位置ｊのビットが値＋１又は−１にそれぞれ対応付けられるとき，Ｒから最小距離にある符号の競合する語である。チェイスアルゴリズムは，前述の競合する語を見付けることができる。各語の１つが存在しないとき，信頼度は一定の所定値βによって固定され，その符号はチェイス判定によって与えられる。ｐが増加すると，位置ｊのビットに対してＤと競合する語の見付かる確率が増加する。
【００１３】
図１ｂを参照すると，ＳＩＳＯ復号器でターボ復号を実行するために，データは次のように処理される。受信した積符号語［Ｒ］について，先の反復実行で生成された復号積符号語［Ｒ（ｍ）］と現在の反復実行によって生成された復号積符号語［Ｒ（ｍ）］とはＳＩＳＯ復号器によって生成され，次の反復実行のためのターボ復号Ｔの入力語［Ｗ（ｍ＋１）］は次の式を満たす。
［Ｗ（ｍ＋１）］＝［Ｒ’（ｍ）−Ｒ（ｍ）］
ここで，［Ｒ（ｍ＋１）］＝［Ｒ］＋α（ｍ＋１）［Ｗ（ｍ＋１）］
及び最初の反復実行については［Ｒ（１）］＝［Ｒ］
【００１４】
上記の式において，Ｗ（ｍ）は各反復実行において１に正規化される外部データを表し，α（ｍ）は位置ｍの現在の反復実行に依存する係数を表す。
【００１５】
１つの復号反復実行から次の反復実行に巡回するデータが，この反復実行によって得られるデータだけを含み，実行される減算によって外部データだけが送信される限りにおいて，これはほとんど最適な復号処理である。
【００１６】
このターボ復号処理のより詳細な説明については，１９９８年５月４日に公開された欧州特許出願第０  ８２７  ２８４号が参考になる。
【００１７】
行又は列に対する前述の符号化処理の概要は次のとおりである。
ａ）Ｂｅｒｌｅｋａｍｐ−Ｍａｓｓｅｙアルゴリズム又はＰＧＺタイプアルゴリズムを用いた復号と共にチェイスアルゴリズムに従って反復処理を行い，得られた語とその重みを記憶する。
ｂ）硬判定Ｃd＝Ｄに対するこれらの語の中から，最小ユークリッド距離にある最適判定を探索する。
ｃ）位置ｊの各ビットに対して，ｃjd≠ｃjcであるようなＲから最小距離にある競合語Ｃcを探索し，次の近似式によって対数ゆう度の意味で信頼度を計算する。
【数８】
2008502247.tif 000010
ｄ）次の式によって，ステップｃ）で得られた位置ｊの競合語について外部データを計算する。
【数９】
2008502247.tif 000011
【００１８】
上記の式において，ｃjdはＣd＝Ｄの位置ｊのビットを表し，ｒ’ｊはＳＩＳＯ復号器が生成する軟判定Ｒ’の対数ゆう度を表す。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
Ｒ．Ｐｙｎｄｉａｈが述べる方法に従う実施例では，復号した各行又は列に対してステップａ）においてｎビットの２p個の語のために実際の記憶領域が必要になる。
【００２０】
更にいったん上述のステップが実行されると，ステップｃ）及びｄ）を実装するためには，受信した積符号語Ｒから最小の距離にある硬判定符号語又は競合語をそれぞれ区別するために，各ステップ毎にループ計算を行う必要がある。
【００２１】
この種の操作はリソース及び計算時間の点で非常にコストが高く，非常に強力な計算手段を使わなければ容易には実行できない。
【００２２】
本発明は上記先行技術による方法の欠点を解決しようとするものである。
【００２３】
特に本発明は，例えば携帯計算機，携帯電話機又はパーソナルデジタルアシスタントなどのより低い計算能力しかない装置，若しくはデジタルデータ記憶システムに復号デバイスを組み込むことができるように，例えばチェイス高速アルゴリズムに従って反復処理を実装することによって，積符号語の記憶操作をほとんどなくすことを特に狙いとしている。
【００２４】
最後に本発明はまた，上述の簡素化を導入することによって，反復処理が単一ループになり，先行技術による方法のステップｃ）及びｄ）におけるループ処理がほとんどなくなり，それによって復号を実行する計算時間が大幅に減少し，復号に用いる検査符号語の数が増加し，又は処理される符号長が増加するブロック符号の反復復号のための方法及びデバイスを利用することを目指す。
【課題を解決するための手段】
【００２５】
復号された検査語から受信した積符号語をＳＩＳＯ復号することによってブロック符号を反復復号するための本発明による方法は，少なくとも，反復処理を用いて複数の復号検査語を生成するステップと，復号した各検査語に対して，この復号検査語の±１に対応付けられた各ビット値の積の半加算値として表されるアナログ重みと対数ゆう度の意味でのこの値の確率とを計算するステップと，復号検査語のアナログ重み成分によって形成される第１アナログ重みベクトルであってその位置ｊのビットが第１の値であるベクトルと，復号検査語のアナログ重み成分によって形成される第２アナログ重みベクトルであってその位置ｊのビットが第２の値であるベクトルとを生成するために前記アナログ重み値を分類し記憶するステップと，第１アナログ重みベクトルと第２アナログ重みベクトルとのアナログ重み成分の差として表されるＳＩＳＯ復号軟判定出力値を計算するステップとを含むことが注目される。
【００２６】
復号された検査語から受信した積符号語をＳＩＳＯ復号することによってブロック符号を反復復号するための本発明によるデバイスは，少なくとも受信した各積符号語を処理するために，反復アルゴリズムによって複数の復号検査語を生成するモジュールと，復号した各検査語に対して，この復号検査語の±１に対応付けられた各ビット値の積の半加算値として表されるアナログ重み値と対数ゆう度の意味でのこの値の確率とを計算するモジュールと，復号検査語のアナログ重み成分によって形成される第１アナログ重みベクトルであってその位置ｊのビットが第１の値であるベクトルと，復号検査語のアナログ重み成分によって形成される第２アナログ重みベクトルであってその位置ｊのビットが第２の値であるベクトルとを分類によってソートするモジュールと，この第１及び第２のアナログ重みベクトルそれぞれに従って分類された前記アナログ重み値を記憶するための第１及び第２レジスタと，前記第１及び第２アナログ重みベクトルから前記アナログ重み成分を減算するための少なくとも１つのモジュールを備え，ＳＩＳＯ復号軟判定出力値を計算するモジュールと，を備えることが注目される。
【００２７】
本発明によってブロック符号を反復的に復号する方法及びデバイスは，集積回路の形態でデジタル信号を受信する任意の装置，及び特に全体のサイズが小さく計算リソースが限られた軽量な装置に実装するために用いられる。
【発明を実施するための最良の形態】
【００２８】
本発明及び方法は，以下の説明を読み，付属の図面を検討することによってより良く理解できるであろう。
【００２９】
本発明によるブロック符号の反復復号方法を実際に説明する前に，チェイス高速反復法の実施例を始めに再確認することとする。チェイス高速反復法は，本発明による方法を実行するために復号検査語を生成する反復アルゴリズムの非制限的な例としての実施例として取り上げるものである。
【００３０】
前述の方法，すなわちチェイス高速反復アルゴリズムは，本願明細書で前に述べたグレイタイプの計数法を用いて検査ベクトルを調べることによって，チェイス処理の操作を簡略化したものである。この操作モードは，線形ブロック符号の特性を利用して，各反復実行のためのシンドロームの計算式，すなわち符号化後のエラー位置の検知に対応するシンドロームの検知を簡略化する。各検査ベクトルに対する重みの計算もまた，１ビットだけを変更するという更新の簡略化によって簡略化される。
【００３１】
チェイス高速法において用いられる変数の紹介
前述の実施例において用いられる変数は次のとおりである。
・Ｈは，例として用いられるＢＣＨ１訂正符号の検査マトリクスを表す。ガロア体の位数をｍとするとき，Ｈはｍ列と２m−１＝ｎ行とを有する。シンドロームの計算は式Ｓ＝ＹＨで与えられ，Ｙは入力語について硬判定によって得られた判定を表す。ＨiはマトリクスＨのｉ番目の行を表す。符号は，ｙ0と記すパリティビットによって拡張されたハミング符号である。パリティビットはシンドロームの計算には考慮されないが，後で検査される。
【００３２】
Ｙの任意の位置の１ビットが変更されたとき，新しいシンドロームは，前のシンドロームに位置ｉのビットに対応する前述のベクトルＨiをモジュロ２加算で加えるだけで得られる。検査ベクトルを識別するために導入されたグレイ計数法によって，反復毎に１ビットだけが変更されることになり，その結果シンドロームＳの計算が極めて簡略化される。
・Ｒ＝｛ｒ0，…，ｒn｝はＳＩＳＯ復号器から受信した軟入力語を表し，Ｒ’＝｛ｒ’0，…，ｒ’n｝はＳＩＳＯ復号器の軟出力を表す。
・Ｙ＝｛ｙ0，…，ｙn｝はＳＩＳＯ復号器の軟入力語Ｒの硬判定を表し，ここでｙi∈｛０，１｝である。この条件下でＹbm＝｛ｙ0bm，…，ｙnbm｝はチェイス高速アルゴリズムの各反復実行において検査されるベクトルを表し，前に導入されたグレイ計数法によって，受信された語の周りのすべての可能な語空間を調べることが可能になり，Ｙt＝｛ｙt0，…，ｙtn｝は硬復号によって得られる語を表す。
・Ｗｅｉｇｈｔbm及びＷｅｉｇｈｔは，それぞれ各反復実行において検査されるベクトル及び硬復号によって得られる語，Ｙbm及びＹtのアナログ重みを表す。
・Ｂｍ＝｛Ｂｍ1，…，Ｂｍ2p-1｝は，チェイス高速アルゴリズムを用いるときに受信した語の周辺空間を調べるために，受信した語から修正した次の検査語のビット数の組を表す。この演算は検査ベクトルについてのグレイ２進計数法と同じである。ｐはチェイス高速アルゴリズムにおいて考慮する最小の信頼できる位置の数を表す。例えばｐ＝３で，最小の信頼できる位置が｛３，５，９｝のとき，Ｂｍ＝｛３，５，３，９，５，３｝である。
【数１０】
2008502247.tif 000012
【００３３】
Ａ）初期化
変数
前述の利用する変数は次のように初期化される。
Ｙbm＝ＹかつＷｅｉｇｈｔbm＝０。（本アルゴリズムで最初に検査される語は受信した語であり，受信した語に対する重みは零と考える。）
Ｙt＝ＹかつＷｅｉｇｈｔ＝０。（Ｙtは，次のステップで復号される前に最初に検査した語の値で初期化される。）
硬復号
シンドロームの計算は，Ｓ＝ＹtＨによる。
Ｓ≠０のときは対応表によってエラーｅの位置を判定し，次の式によって訂正する。
【数１１】
2008502247.tif 000013
また，重みを次によって更新する。
Ｗｅｉｇｈｔ−（２ｙte−１）ｒe → Ｗｅｉｇｈｔ
パリティビットの訂正
【数１２】
2008502247.tif 000014
を計算する。ｂ≠ｙt0のときは，次によって訂正する。
【数１３】
2008502247.tif 000015
また，重みを次によって更新する。
Ｗｅｉｇｈｔ−（２ｙt0−１）ｒ0 → Ｗｅｉｇｈｔ
この時点で得られるのは，受信した語Ｙの硬復号及びそのアナログ重み値によって得られる語Ｙtである。これが最初の検査語であり，記憶される。
【００３４】
Ｂ）アルゴリズムの反復実行
新たな反復実行毎に，変数は前回の反復実行の終了時点の値を保存し，ｔ＝１からｔ＝２p−１まで次の操作を行う。
次の語を得るためのビット修正
現在の反復実行において検査すべき語は，前回の反復実行における語に対して，ベクトルＢｍで決まる１ビットを修正することによって得られる。
【数１４】
2008502247.tif 000016
検査ベクトルの重みは次のように更新される。
Ｗｅｉｇｈｔbm−（２ｙtBm(t)−１）ｒBm(t) → Ｗｅｉｇｈｔbm
Ｙt＝ＹbmかつＷｅｉｇｈｔ＝Ｗｅｉｇｈｔbm。（Ｙtは，復号される前に最初の検査語の値で初期化される。）
硬復号
新たなシンドロームは前回のものから１ビットだけが修正されているので，非常に容易に演繹することができる。
【数１５】
2008502247.tif 000017
Ｓ≠０のときは対応表によってエラーｅの位置を判定し，次によって訂正する。
【数１６】
2008502247.tif 000018
また，重みを次によって更新する。
Ｗｅｉｇｈｔ−（２ｙte−１）ｒe → Ｗｅｉｇｈｔ
パリティビットの訂正
【数１７】
2008502247.tif 000019
を計算する。ｂ≠ｙt0のときは，次によって修正する。
【数１８】
2008502247.tif 000020
そして次によって重み値を更新する。
Ｗｅｉｇｈｔ−（２ｙt0−１）ｒ0 → Ｗｅｉｇｈｔ
【００３５】
検査ベクトルＹbmの硬復号及びそのアナログ重み値によって，語Ｙtが得られる。それで現在の検査語Ｙt及びその重み値を保存する。
インデクスｉを増加させ，「アルゴリズムの反復実行」ステップへ戻る。
次の語を得るためのビット修正
次に前に示したのと同じ方法で前回記憶されたベクトルを用いて信頼度を計算する。
上記の式において，記号→は変数に値を割り当てる操作を表す。
【００３６】
ここで本発明によるブロック符号の反復復号方法を，図２を用いて説明する。
【００３７】
前述の図２を参照すると本発明による復号方法は，ステップＡにおいてＲ＝｛ａ1，…，ａj，…，ａn｝の形をとる任意の受信した積符号語Ｒであって，Ｒの成分ａjが伝送後又は読み出し後に検出されたＲのアナログ値を表すＲに対して，チェイス高速アルゴリズムのような反復処理によって生成するＹt＝｛ｙt1，…，ｙtj，…，ｙtn｝で表される複数の復号検査語を生成するステップを含むことが特記されるであろう。
【００３８】
復号された検査語Ｙtは，受信された積符号語Ｒの行又は列から得られる。これらの操作は次に，問題の反復実行に続いて全行又は全列に順次適用される。
【００３９】
最初に受信した積符号語Ｒに対して硬判定Ｙが行われ，したがってＹの各ビットの値０又は１（又は慣習によって−１又は＋１）は，復号することなしに軟値から判定される。
【００４０】
例として，受信した行又は列ベクトルＶＲ＝｛−０．１；０．５５；０．２；−０．６｝に対して，保持した硬判定Ｙは，選択する慣習によってＹ＝｛０；１；１；０｝又は｛−１；＋１；＋１；−１｝である。
【００４１】
次に，可能なすべての２語組合せに従って，前述の復号されていない硬判定Ｙについて，最小信頼度のものとして選択されたｐ個のビットを修正することによって検査ベクトルを生成する。それで復号された検査語Ｙtは，前述の検査ベクトルを硬復号することによって得られる。
【００４２】
すべてのこれら組合せの中で，ｐ個の最小信頼度ビットが変化しない組合せは，硬判定Ｙを直接復号して得られる復号検査語Ｙtに対応する。
【００４３】
次の復号検査語は硬判定Ｙから得られ，その場合ｐ個の最小信頼度ビットが硬復号に供される検査ベクトルを得るために修正される。
【００４４】
本発明による方法は特に，硬復号から得られる最小信頼度である値を含む復号受信語Ｙの２p個のビットに対して２p個の復号検査語を生成するステップを含む。
【００４５】
特に，前述のチェイス高速アルゴリズムを実行することにより，上述の検査語に対応する上述の復号検査語Ｙtが得られることが分かるであろう。
【００４６】
ステップＡの次に，図２に示すステップＢが実行される。ステップＢは各復号検査語Ｙtに対して，この復号検査語の値±１に対応付けられる各ビットの値の積の半加算値として表されるアナログ重み値及び対数ゆう度の意味でのこの値の確率を計算するステップを含む。
【００４７】
前に示したリストに関連して，復号検査語Ｙtのアナログ重み値は，前述のリストに示したとおりに得られることが特記される。
【００４８】
次に，一般にＷｅｉｇｈｔと記す復号検査語のアナログ重み値が式（１５）によって検証される。
【数１９】
2008502247.tif 000021
【００４９】
上記の式において，ｒiは位置ｉの対応するヒットの対数ゆう度値を表し，ここでｉは実際にはそれぞれ値＋１又は−１に対応付けられたビットのインデクスに対応する計算インデクスである。また，ｃjは各復号検査語Ｙtの対応付けられた値を表す。
【００５０】
ステップＢにおいてアナログ重み値を計算する方法及び本発明による反復復号方法を実行するための前記重みの表現をここで検証する。
【００５１】
Ｒ．Ｐｙｎｄｉａｈの先行技術の復号方法によれば，受信した積符号語Ｒから最小距離にある競合語Ｃ+1(j)及びＣ-1(j)に関するアナログ重み値の定義は次のとおりである。
【数２０】
2008502247.tif 000022
【００５２】
各競合語の対数ゆう度値は次式で与えられる。
【数２１】
2008502247.tif 000023
【００５３】
しかし，次式によっても同じ値が表される。
【数２２】
2008502247.tif 000024
【数２３】
2008502247.tif 000025
【００５４】
したがって，対数ゆう度値は式（１６）の形で表される。
【数２４】
2008502247.tif 000026
【００５５】
本明細書において前に示した式（１５）によって各復号検査語の新しいアナログ重み値Ｗｅｉｇｈｔを定義することによって，先行技術による従来の定義が保持するのと同じ分類方法が可能になる。
【００５６】
その結果，式（１５）に示したアナログ重み値の式をチェイス高速アルゴリズムによって生成される復号検査語を分類するために用いるのが有利である。
【００５７】
チェイス高速処理に限って言えば，まだ復号されていない検査ベクトルのすべての可能な組合せは，選択した位置のこれらビットのすべての可能な組合せを得るために，最初の検査ベクトルから現在の反復実行ｔ＋１の次の検査ベクトルを得るために，前回の反復実行の検査ベクトルの１ビットを修正することによって得られる。
【００５８】
同じベクトルを複数回返さないように，又はベクトルを忘れないように，グレイ計数法の特定の順序に従って前記ビットのうち１つの割合で前回の反復実行の検査ベクトルのビットを修正し，それによってすべての可能なビットの組合せがレビューできるようにする。ビットを変更する順序は，この計数法に従うベクトルに含まれる。
【００５９】
各反復実行において１ビットだけが変化することから，現在の反復実行ｔ＋１のための新たな検査ベクトルの重みＰ’は，前回の反復実行ｔから次の式によって得られる。
Ｐ’＝Ｐ−ｒkｃ'k      （１７）
ここでＰは前回の反復実行の検査ベクトルの重みを表し，ｒkは位置ｋの修正されたビットの対数ゆう度の意味での信頼度を表し，そしてｃ'kは位置ｋの修正されたビットの±１に対応付けられた新たな値を表す。
【００６０】
現在の反復実行の復号検査語は，同じ反復実行の問題の検査ベクトルを硬復号することによって得られる。
【００６１】
硬復号は，それが適切なときは同時に１ビットだけを修正することを考慮して，復号検査語が符号に関係しないときは，式（１７）に従う重みの更新もまた復号検査語Ｙtのアナログ重み値を得るために用いることできる。
【００６２】
したがって，ステップＢに関連して本願明細書において前に参照したアナログ重み値の計算方法は，本発明による方法の特に注目すべき態様に従って，ＳＩＳＯ復号軟出力値が本願明細書において前に引用した式（１６）に従って計算でき，一方で競合語のｊ番目のビットがｊ＝０…ｎまでに対して値＋１又は−１に対応付けられた値であるときは，最小距離を毎回保持する。
【００６３】
したがって，図２のステップＢに従い，本発明による反復復号方法は，復号検査語のアナログ重み成分ＰＭj+によって形成される第１アナログ重みベクトルＶ1であって，その位置ｊのビットが第１の値＋１に対応付けられるベクトルと，復号検査語のアナログ重み成分ＰＭj-によって形成される第２アナログ重みベクトルＶ2であって，その位置ｊのビットが第１の値−１に対応付けられるベクトルとを分類するステップと，そしてもちろん記憶するステップとを含む。
【００６４】
分類操作は，図２のステップＣにおいて次の式によって記号的に表されている。
Ｗｅｉｇｈｔ → Ｖ1（ＰＭj+）又はＶ2（ＰＭj-）
【００６５】
図２に示すステップＡ，Ｂ，Ｃ，特にＢ及びＣは，チェイス高速アルゴリズムの反復方法に組み込むことができ，この反復処理は図２においてｔ＝ｔ＋１と記されているステップＣからステップＡへ戻るステップによって表されることが理解されるであろう。インデクスｔは，２つの復号検査語をうまく利用するために，現在の反復実行において生成された復号検査語から次の反復実行の復号検査語への受渡しを表すことが理解されるであろう。
【００６６】
いったんアナログ重み値ＰＭj+及びＰＭj-のすべてがベクトルＶ1及びＶ2の形に分類されると，軟判定計算，すなわちＳＩＳＯ復号を実行するステップＤを呼び出すことができる。軟判定計算は，第１アナログ重みベクトルＶ1及び第２アナログ重みベクトルＶ2のアナログ重み成分間の差として表される。
【００６７】
復号検査語のアナログ重み値を分類する手続，すなわち図２のステップＣをここで図３ａを用いて詳細に説明する。
【００６８】
前述の図を参照すると本発明による方法の分類手続は，第１アナログ重みベクトルＶ1及び第２アナログ重みベクトルＶ2を，位置ｊのビットが第１の値である復号検査語のアナログ重み成分に関連する第１のベクトルＶ1の各アナログ重み成分ＰＭj+，及び位置ｊのビットが第２の値である復号検査語のアナログ重み成分に関連する第２のベクトルＶ2の各アナログ重み成分ＰＭj-に従って初期化するステップを含み，０からｎまでであるｊのすべての値に対して，値ＰＭj+＝＋∞又はＰＭj-＝＋∞で初期化される。
【００６９】
初期化操作は，記号を用いて次のように表される。
Ｖ1＝Ｗｅｉｇｈｔ ｍｉｎ+＝｛ＰＭ0+，…，ＰＭj+，…，ＰＭn+｝
Ｖ2＝Ｗｅｉｇｈｔ ｍｉｎ-＝｛ＰＭ0-，…，ＰＭj-，…，ＰＭn-｝
【００７０】
復号検査語Ｙtのアナログ重みリストを表すベクトルＶ1及びＶ2は，ｊ番目のビットがそれぞれ第１の値１及び第２の値０である受信した語から派生したものである。
したがって，ｊ＝０…ｎに対して，実際の初期化はＰＭj+＝＋∞及びＰＭj-＝＋∞と書くことができる。
【００７１】
最小の重みを含むリストは，初期化ステップＣ0の次に更に呼び出される図３ａにおいてＣ1と記されたチェイス高速アルゴリズムの最初の反復実行ステップＣ1，及びステップＣ1の次に更に呼び出されるステップＣ2によって実装される手続のとおりに理解されなければならない。
【００７２】
したがって，アナログ重み値を分類して記憶するステップを含む操作は，最小重みのアナログ重みベクトルにおいて得られる第1の検査語のアナログ重み値を，前記検査語のビット値の関数として分類するステップを含み，ここで最初に検査される第１の検査語は，任意の初期化重み値に関して最小重みを有する。
【００７３】
問題の復号検査語は検査語Ｙtである。
【００７４】
ステップＣ1における最初の反復実行の終了時点で実行される開始操作として知られるものは，次のように書くことができる。
ｊ＝０…ｎに対して，
ｙtj＝０のとき，ＰＭj-＝Ｗｅｉｇｈｔ。
ここで復号検査語Ｙtは当面，受信した語Ｒから最小の距離にある位置ｊのビットが０である語と考える。
【００７５】
ｙtj＝１のとき，ＰＭj+＝Ｗｅｉｇｈｔ。
ここで復号検査語Ｙtは，受信した語から最小の距離にある位置ｊのビットが１である語と考える。
【００７６】
次に開始ステップＣ1は，継続ステップとして知られるステップＣ2に続く。ステップＣ2の目的は，復号検査語Ｙtのすべてを反復検査することである。このようにして図３ａのステップＣ2を参照すれば，分類手続はチェイス高速アルゴリズムの現在の反復実行の間に得られる，それぞれ第１の最小アナログ重みベクトルＶ1又は第２の最小アナログ重みベクトルＶ2における実際の重みを分類するステップを含む。ここで，現在の重み値Ｗｅｉｇｈｔは，前回の反復実行又はそれ以前の反復実行において記憶された同じ位置の成分について存在する重み値より少ない場合に限る。
実際の分類操作は次のように書くことができる。
ｊ＝０…ｎに対して，
ｙtj＝０かつＷｅｉｇｈｔ＜ＰＭj-のとき，ＰＭj-＝Ｗｅｉｇｈｔ。
ｙtj＝１かつＷｅｉｇｈｔ＜ＰＭj+のとき，ＰＭj+＝Ｗｅｉｇｈｔ。
【００７７】
ステップＣ1及びＣ2の説明の中で示した式において，記号＝は劣勢条件が満足されるとき，重み値を変数に割り当てることを示す。
【００７８】
最後にここで，ＳＩＳＯ復号出力値が計算される図２のステップＤについて，図３ｂを用いてより詳細に説明する。
【００７９】
図３ａを参照するとステップＣ2の終了時点で，ベクトルＶ1及びＶ2，すなわちｊ番目のビットが１（第１の値）及び０（第２の値）である復号検査語のアナログ重み値のリストが得られる。
【００８０】
したがって，図２のステップＤに示した計算操作は，アナログ重み成分の値が初期値，すなわち＋∞と異なるとき，各復号検査語の０からｎまでである位置ｊの任意のビットに対して，値ＰＭj+及びＰＭj-から位置ｊの対応するビット値の確率を実際のアナログ重み値ＰＭj-とＰＭj+との差として計算するステップを含む。
【００８１】
前述の条件は，非制限的な例示として前述の初期値＋∞を有する値ＰＭj+とＰＭj-との間の差についての図３ｂに示す検査Ｄ1及びＤ2によって満たされる。
【００８２】
前記の値＋∞は，大きな値であって，実際にあり得るアナログ重みの値と整合しない任意の値によって表されることが理解されるであろう。この場合，差異の検査は例えば劣勢検査の形をとる。
【００８３】
各アナログ重み値間の差の計算をステップＤ4に示す。
【００８４】
検査結果が否であって，位置ｊのビットが例えば０である復号検査語のアナログ重み成分ＰＭj-の値が，初期値＋∞と異なる唯一のものであるとき，所定の第１の負値が位置ｊのビット値の確率として割り当てられる。この操作は図３ｂに示すように検査Ｄ1の結果が負であるとき，ステップＤ3において実行することができる。
【００８５】
検査結果が否であって，位置ｊのビットが例えば１である復号検査語のアナログ重み成分ＰＭj+の値が，初期値と異なるとき，第１の所定値とは反対の所定値が位置ｊのビット値の確率として割り当てられる。この操作は検査Ｄ2の結果が負であるとき，ステップＤ5において実行することができる。
【００８６】
それぞれ負及び正である第１及び第２の所定値は，ターボ復号重み付け係数である値βである。
【００８７】
Ｙ，すなわち本アルゴリズムを実行するために復号検査語を形成する硬復号後の検査語をなくすことによって，作成された復号方法を実行するための付加メモリを節約することができる。この場合，検査語を表す検査ベクトルＹbmだけが用いられる。エラーのあるビット値及び何らかのパリティエラーを示す変数が保持されるときは，この検査語は，対応する検査語を作成するためにいったん硬復号に供されたら，反復実行の真の初期値に再び割り当てることができる。この操作手続はまた，硬復号後の検査語，すなわち値Ｙbmで復号された検査語を，毎回再割当てしなくてもよいようにする。
【００８８】
最後に，各検査語のパリティビットは位置ｊのビットが修正される毎に更新することができ，これによってパリティ値を再計算するために毎回すべてのビットを加算する必要がなくなる。
【００８９】
本発明による方法は，先行技術の方法に対して同じ計算結果を保持しつつ，使用する論理ゲート数及び実際に要する計算時間の意味で相当の利点がある。
【００９０】
最初に，チェイス高速アルゴリズム内のブロック符号のシンドロームの特性を利用することによって，問題のシンドロームの計算時間をｎ分の１にすることができる。実際にはアナログ重みを計算するために必要な演算数も同じだけ減少するので，全体としてチェイス高速アルゴリズムを用いてすべての検査ベクトルを調べるための手続の計算時間もｎ分の１になる。
【００９１】
次に，本発明に従って利用する信頼度を計算する新たな演算方法では，チェイス高速アルゴリズム手続が検査する復号検査語を記憶する必要がない。したがってこの演算方法によって，積符号の各行又は各列に対してｎ×２pビットに相当するメモリを使用する必要がなく，それによって半分の反復で完全に積符号を復号でき全体でｎ2×２pビットが節約になる。これにより，アナログ重みＰＭj-及びＰＭj+を記憶するために必要なメモリ量は，今や単に符号長及び定量化のビット数にのみ依存し，したがって競合語又は選択した検査語の数には全く依存しない。
【００９２】
更に図２に示すように，すべての操作は符号の行又は列のすべてのビットに対して１回のループで行われる。したがってこの実施例によって，本発明による復号方法を非常に簡単に導入でき，またターボ復号の性能レベルを改善するために復号検査語の数を増加させることができる。
【００９３】
ここで，本発明による方法に従い復号検査語のｎビットからなる受信符号語ＲをＳＩＳＯ復号することによって，ブロック符号を反復復号するための上述のデバイスについて図４を用いて説明する。
【００９４】
本発明によるデバイスは，非制限的方法で例えば携帯電話端末，パーソナルデジタルアシスタント又はポータブル計算機に組み込めることが知られている。
【００９５】
この種の装置は，慣習的にマイクロプロセッサと，作業用メモリとして働くＲＡＭと，例えば不揮発性メモリであるＲＯＭのような永続メモリとによって形成される中央処理ユニット（ＣＰＵ）を備える。
【００９６】
図４に示す本発明によるデバイスはまた，チェイス高速アルゴリズムのような反復アルゴリズムによって複数の復号検査語を生成するためのモジュールを備える。
【００９７】
前述の生成モジュールは永続メモリＲＯＭ1に記録されたプログラムモジュールからなってもよく，図２のステップＡに従って本願明細書のリストにおいて説明されたチェイス高速アルゴリズムを実行するために，作業用メモリＲＡＭに呼び出されることが理解されるであろう。
【００９８】
本デバイスはまた，図２のステップＢに従って各復号検査語Ｙtのアナログ重みを計算するためのモジュールを備える。前述の計算モジュールは，永続メモリＲＯＭ2に記録されたプログラムモジュールからなってもよく，図２のステップＢに示された式に従って実行するために作業用メモリに呼び出される。
【００９９】
本デバイスはまた，前述の復号検査語Ｙtのアナログ重みを分類によってソートするためのモジュールを備える。このソートモジュールは，ＲＯＭ3に記録されたプログラムモジュールからなってもよく，図２（ステップＣ）及び３ａに示した本発明による方法に従って実行するために，作業用メモリＲＡＭに呼び出される。
【０１００】
本デバイスは，本発明によるデバイスの注目すべき態様に従い，それぞれ復号検査語のアナログ重み成分に関連する第１及び第２アナログ重みベクトルＶ1及びＶ2に従って分類されるアナログ重み値を記憶するための第１レジスタＲ1及び第２レジスタＲ2を備える。
【０１０１】
非制限的例示によって，前述のレジスタは作業用メモリＲＡＭの保護されたメモリ領域として構成してもよいし，又は最終的に復号を実行するために保持する復号検査語の数の関数として各レジスタＲ1，Ｒ2を再構成することができるように，電気的再プログラム可能不揮発性メモリによって構成してもよい。
【０１０２】
電気的再プログラム可能不揮発性メモリを利用することによって，アナログ重みベクトルデータとＲＡＭにおいて処理されるデータとを分離し，したがって物理的に保護することができる。
【０１０３】
最後に本発明によるデバイスは図４に示すように，レジスタＲ1及びＲ2にそれぞれ記憶された第１及び第２アナログベクトルから，アナログ重み成分を減算するための少なくとも１つのモジュールを備えた，ＳＩＳＯ復号軟判定出力値を計算するためのモジュールを備える。
【０１０４】
この計算モジュールは，図２（ステップＤ）及び３ａに示した本発明による方法に従って実行するために作業用メモリに呼び出されるＲＯＭ4に記録されたプログラムモジュールからなってもよい。
【０１０５】
最後に本発明による復号デバイスの実施例は，チップ形態（専用集積回路）によって有利に実施することができる。
【０１０６】
本発明による復号方法及びデバイスは，特に符号化データを記憶しこの符号化データを復号した形態で再現するためのシステム又は装置の実装に用いられる。
【図面の簡単な説明】
【０１０７】
【図１ａ】先行技術を説明する図である。
【図１ｂ】先行技術を説明するもう１つの図である。
【図２】本発明による反復復号方法を実行するための本質的ステップの例としてのフローチャートである。
【図３ａ】図２に示す復号検査語のアナログ重み値を分類するステップの例としての詳細なフローチャートである。
【図３ｂ】図２に示す軟判定値を計算するステップの例としての詳細なフローチャートである。
【図４】本発明の実施例によるデバイスを示す図である。
【図１ａ】
2008502247.tif 000027
【図１ｂ】
2008502247.tif 000028
【図２】
2008502247.tif 000029
【図３ａ】
2008502247.tif 000030
【図３ｂ】
2008502247.tif 000031
【図４】
2008502247.tif 000032
【国際調査報告】
2008502247.tif 000033
2008502247.tif 000034
2008502247.tif 000035
2008502247.tif 000036
2008502247.tif 000037
2008502247.tif 000038