(57)【要約】【課題】  ターボ符号の復号をパイプライン化して処理する際に、パイプライン段数が増加しても学習による再帰的演算回数の増加を抑え、復号スループット及びエネルギー効率を向上させる。【解決手段】  ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、ＫおよびＮは正整数）のターボ復号方法において、シーケンス番号（ｋ−１）×N＋１（ｋ＝１、２、・・・、Ｋ）から前方向に反復的な復号演算を開始する第１前方向演算パスから第Ｋ前方向演算パスまでのＫ個の前方向演算パスを形成する工程と、第（ａ＋１）前方向演算パス（ａ＝１、２、・・・、Ｋ−１）の前方向状態メトリック演算結果を第ａ前方向演算パスの前方向状態メトリック演算結果で上書きする第１前方向上書き処理から第（Ｋ−１）前方向上書き処理までのＫ−１個の前方向上書き処理を具備する。【選択図】  図３
2011114567.tif 000002
【特許請求の範囲】
【請求項１】
ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、ＫおよびＮは正整数）のターボ復号方法において、
シーケンス番号（ｋ−１）×N＋１（但し、ｋ＝１、２、・・・、Ｋ）から前方向に反復的な復号演算を開始する第１前方向演算パスから第Ｋ前方向演算パスまでのＫ個の前方向演算パスを形成する工程と、
第（ａ＋１）前方向演算パス（但し、ａ＝１、２、・・・、Ｋ−１）の前方向状態メトリック演算結果を第ａ前方向演算パスの前方向状態メトリック演算結果で上書きする第１前方向上書き処理から第（Ｋ−１）前方向上書き処理までのＫ−１個の前方向上書き処理を備えることを特徴とするターボ復号方法。
【請求項２】
前記第（ａ＋１）前方向演算パスの前方向状態メトリック演算結果と前記第ａ前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第ａ前方向上書き処理を停止することを特徴とする請求項１に記載のターボ復号方法。
【請求項３】
ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、Ｎは正整数）のターボ復号方法において、
シーケンス番号ｋ×N（但し、ｋ＝１、２、・・・、Ｋ）から逆方向に反復的な復号演算を開始する第１逆方向演算パスから第Ｋ逆方向演算パスまでのＫ個の逆方向演算パスを形成する工程と、
第ｂ逆方向演算パス（但し、ｂ＝１、２、・・・、Ｋ−１）の逆方向状態メトリック演算結果を第（ｂ＋１）逆方向演算パスの逆方向状態メトリック演算結果で上書きする第１逆方向上書き処理から第（Ｋ−１）逆方向上書き処理までのＫ−１個の逆方向上書き処理を備えることを特徴とするターボ復号方法。
【請求項４】
前記第ｂ逆方向演算パスの逆方向状態メトリック演算結果と前記第（ｂ＋１）逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第ｂ逆方向上書き処理を停止することを特徴とする請求項３に記載のターボ復号方法。
【請求項５】
ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、ＫおよびＮは正整数）のターボ復号器において、
シーケンス番号（ｋ−１）×N＋１（但し、ｋ＝１、２、・・・、Ｋ）から前方向に反復的な復号演算を開始する第１前方向演算パスから第Ｋ前方向演算パスまでのＫ個の前方向演算パスを形成する手段と、
第（ｃ＋１）前方向演算パス（但し、ｃ＝１、２、・・・、Ｋ−１）の前方向状態メトリック演算結果を第ｃ前方向演算パスの前方向状態メトリック演算結果で上書きする第１前方向上書き処理から第（Ｋ−１）前方向上書き処理までのＫ−１個の前方向上書き処理を実行する手段を備えることを特徴とするターボ復号器。
【請求項６】
前記第（ｃ＋１）前方向演算パスの前方向状態メトリック演算結果と前記第ｃ前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第ｃ前方向上書き処理を停止する手段を有することを特徴とする請求項５に記載のターボ復号器。
【請求項７】
ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、Ｎは正整数）のターボ復号器において、
シーケンス番号ｋ×N（但し、ｋ＝１、２、・・・、Ｋ）から逆方向に反復的な復号演算を開始する第１逆方向演算パスから第Ｋ逆方向演算パスまでのＫ個の逆方向演算パスを形成する手段と、
第ｄ逆方向演算パス（但し、ｄ＝１、２、・・・、Ｋ−１）の逆方向状態メトリック演算結果を第（ｄ＋１）逆方向演算パスの逆方向状態メトリック演算結果で上書きする第１逆方向上書き処理から第（Ｋ−１）逆方向上書き処理までのＫ−１個の逆方向上書き処理を実行する手段を備えることを特徴とするターボ復号器。
【請求項８】
前記第ｄ逆方向演算パスの逆方向状態メトリック演算結果と前記第（ｄ＋１）逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第ｄ逆方向上書き処理を停止する手段を有することを特徴とする請求項７に記載のターボ復号器。
【請求項９】
前記上書き処理の期間は、可変長であることを特徴とする請求項１〜４のいずれか一項に記載のターボ復号方法。
【請求項１０】
前記上書き処理の期間は、可変長であることを特徴とする請求項５〜８のいずれか一項に記載のターボ復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ターボ符号の復号方法に関し、特に再帰的演算回数の少ないターボ符号の復号方法に関する。
【背景技術】
【０００２】
一般に、ターボ符号器は２つの再帰的組織畳込み符号化器と、内部インターリーバーとを備え、これら２つの再帰的組織畳込み符号化器と内部インターリーバーにより、並列に連結された再帰的畳込み符号を生成する。この種のターボ符号器を用いた生成されたターボ符号は、移動体通信規格で高伝送率のデータを復号するために適用されると共に、衛星通信のように、極めて微弱な信号を復号するために適用されている。
【０００３】
かかるターボ符号は情報ビットシーケンスをブロック単位で処理しているが、特に大きい情報ビットシーケンスを復号する場合畳み込み符号に対して非常に優れた符号化利得を有しており、受信機側で受信されたビットシーケンスに対する復号を二つの畳み込み復号器を交互に通過するようにして繰り返し行うことによって非常に優れたエラー訂正能力を有することで知られている。
【０００４】
しかしながら、二つの畳み込み復号器を交互に繰り返し通過させるためには畳み込み復号器の出力が“０”または“１”にハード的に決定(Ｈａｒｄ  ｄｅｃｉｓｉｏｎ)される値ではなく“０”であるか“１”であるかの確率割合に当たるソフト的に決定（Ｓｏｆｔ  ｄｅｃｉｓｉｏｎ）される値が要求される。
【０００５】
このために、情報ビットの事後（Ａ  Ｐｏｓｔｅｒｉｏｒｉ）確率値を計算して、その確率値が最大となるように復号する最大事後確率値（Ｍａｘｉｍｕｍ  Ａ  Ｐｏｓｔｅｒｉｏｒｉ：以下ＭＡＰと略する）復号技法が提案されている。
【０００６】
一般に、ターボ符号の情報源は不連続時間と限定された状態を有する“マルコフ過程（Ｍａｒｋｏｖ  Ｐｒｏｃｅｓｓ）”である。従って、情報源は二進格子（ｂｉｎａｒｉ  ｍａｔｒｉｘ）状のトレリス図（Ｔｒｅｌｌｉｓ  Ｄｉａｇｒａｍ）で説明できる。
【０００７】
トレリス図でＳｔは時間ｔにおける符号化器の状態を示しており、Ｘｔは符号化器の出力を示す（Ｘｔ＝｛０、１｝）。ここで、情報源の状態“Ｓｔ＝ｍ”は全部でＭ種類（但し、Ｍは正整数）の状態を有している（ｍ＝０、１、２、、、Ｍ−１）。トレリス図上で最も尤度の高い状態を結んだパスのことを最尤パスと呼ぶ。
【０００８】
時間がｔ−１からｔに遷移する時ターボ符号化器の入力ビットｄｔは符号化器の状態Ｓｔ−１をＳｔに変換させる。状態シーケンスＳ＝（Ｓ１、Ｓ２、・・・、ＳＴ）は時間ｔ＝１から開始して時間ｔ＝Ｔ（但し、Ｔは正整数）で終了する。ターボ符号は巡回組織符号を利用しているため、符号化器の最終状態ＳＴの次の状態は初期状態Ｓ１に等しい。ここで、Ｔはシーケンス長と呼ばれている。
【０００９】
前記ターボ符号化器の出力シーケンスはＢＰＳＫまたはＱＰＳＫまたはＱＡＭのようなさまざまな多値変調を用い、適切なコンスタレーションマッピングを経て伝送路に伝送される。伝送路では減衰が起こる。それで受信段で受信された受信シーケンスはｙ＝（ｙ１、ｙ２、・・・、ｙＴ）となる。
【００１０】
ＭＡＰアルゴリズムは前記受信シーケンスｙを用いて情報の状態遷移事後確率を推定するためのアルゴリズムであり、情報ビットの事後確率Ｐ（ｄｔ＝０／ｙ）とＰ（ｄｔ＝１／ｙ）とを計算する。これによって最終的に希望する対数尤度比（Ｌｏｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏ）形態の復号化器の出力を求めることができる。
【００１１】
【数１】
2011114567.tif 000003
【００１２】
この時情報ビットの状態遷移事後確率“Ｐ（Ｓｔ−１＝ｍ’、Ｓｔ＝ｍ、ｙ）は次の数２のように求められる。
【００１３】
【数２】
2011114567.tif 000004
【００１４】
前記数２においてｙｊ＜ｔは最初の時間からｔ−１までの受信シーケンスｙｊを示し、ｙｔは時間ｔの受信シーケンスを示し、ｙｊ＞ｔは時間ｔ＋１から最後の受信シーケンスまでを示す。
【００１５】
前記数２において“Ｐ（Ｓｔ−１＝ｍ’、ｙｊ＜ｔ）”は“αｔ−１（ｍ’）”として定義され、これから“αｔ（Ｓ）”が定義される。αｔ（Ｓ）は次の数３のように求められる。
【００１６】
【数３】
2011114567.tif 000005
【００１７】
また、前記“Ｐ（ｙｊ＜ｔ／Ｓｔ＝ｍ）”は“βｔ（ｍ）”として定義され、これから“βｔ（Ｓ）”が定義される。βｔ（Ｓ）は次の数４のように求められる。
【００１８】
【数４】
2011114567.tif 000006
【００１９】
Ｐ（Ｓｔ＝ｍ、ｙｔ／Ｓｔ−１＝ｍ’）は時間ｔ−１の状態がｍ’のときに受信シーケンスｙｔを受信して時間ｔの状態がｍとなる確率であり“γｔ（ｍ’、ｍ）”として定義され、これからγｔ（Ｓ’、Ｓ）が定義される。
【００２０】
以下、前記αｔ（Ｓ）は前方向状態メトリクス、前記βｔ（Ｓ）は逆方向状態メトリクス、前記γｔ（Ｓ’、Ｓ）はブランチメトリクスと称する。
【００２１】
前記ＭＡＰアルゴリズムは非特許文献１に詳細に記載されている。
【００２２】
ＭＡＰアルゴリズムを用いたターボ復号器が特許文献１及び２で提案されている。特許文献１は、ターボ復号器の処理時間及び消費電力を低減するために、入力された事前情報尤度列を構成しているその場所の事前情報尤度を用いて、その場所におけるメトリクス演算の必要があるか否かを判定し、その判定に基づき、メトリクス演算が必要としないと判定した場所についてはブランチメトリクス、前方向状態メトリクス、及び逆方向状態メトリクスの演算をしないようにしている。
【００２３】
一方、特許文献２は、信号対干渉比等に基づいて、逆拡散後の受信データに重み付けを行い、重み付け処理後の受信データに対して、前方向状態メトリクスの上書き処理、逆方向状態メトリクスの上書き処理、及び尤度演算処理におけるＡＣＳ（Ａｄｄ−Ｃｏｍｐａｒｅ−Ｓｅｌｅｃｔ）演算を行うと共に、ＡＣＳ演算の演算過程で生じる差分の値に対応して予め定められた値によりＡＣＳ演算の結果を補正するターボ復号方法及び受信機を提案している。
【００２４】
特許文献３は、畳込み符号の復号化方法を開示しており、ここでは、プロセッサにより前方向状態メトリクス、逆方向状態メトリクス、及びブランチメトリクスとが同一であるようにして使用する各状態でのデュアルマクシマ計算を行っている。また、プロセッサにおける連続反復動作をパイプライン化することが特許文献３に記載されている。
【００２５】
前記数３に記載の前方向状態メトリックの計算式および前記数４に記載の逆方向状態メトリックの計算式はともに漸化式である。以下、前記数３の演算を前方向演算、前記数４の演算を逆方向演算と称する。
【００２６】
前記前方向演算および前記逆方向演算をパイプライン演算器構成を用いて短時間で計算する方法としてブロックインターリーブパイプライン（以下、ＢＩＰと略する）方式が提案されている。
【００２７】
ＢＩＰ方式は前記受信シーケンスｙを第１ブロック＝（ｙ０、ｙ１、・・・ｙＴ／Ｋ−１）から第Ｋブロック＝（ｙ（Ｋ−１）×Ｔ／Ｋ、ｙ（Ｋ−１）×Ｔ／Ｋ＋１、・・・、ｙＴ）までのＫ個（但し、Ｋは正整数）のブロックに分割する。以後、ＢＩＰ方式におけるブロックサイズをＮ（但し、Ｎは正整数）とする。
【００２８】
第１ブロックから第Ｋブロックまでブロック毎に１シンボルずつＭＡＰ復号器に前記受信シーケンスｙを入力する。あるブロックが前記受信シーケンスｙをＭＡＰ復号器に入力する間隔はＫクロックであり、１シンボルあたりの状態メトリクスの演算レイテンシーはＫクロックである。従って、状態メトリクスを計算する状態メトリクス演算器を適切にレジスタリタイミングすることにより、Ｋ段パイプライン構成の状態メトリクス演算器を構成することができる。
【００２９】
このように、ＢＩＰ方式ではブロック数とパイプライン段数は等しくなる。以後、ＢＩＰ方式におけるパイプライン段数をＫ（但し、Ｋは正整数）とする。
【００３０】
Ｋ段パイプライン構成の前記状態メトリクス演算器を用いることにより、Ｋ段パイプライン構成のＭＡＰ復号器を構築できる。これにより、最大Ｋ倍の演算スループットを得ることができる。
【００３１】
前記ＢＩＰ方式は非特許文献２に詳細に記載されている。
【００３２】
トレリスが終端（Ｔｅｒｍｉｎａｔｉｏｎ）されたターボ符号では、第１ブロック以外のブロックで前記前方向演算を開始するには漸化式の初期値が必要である。また、第Ｋブロック以外のブロックで前記逆方向演算を開始するには漸化式の初期値が必要である。
【００３３】
トレリスが終端されていないターボ符号では、すべてのブロックで前記前方向演算および前記逆方向演算を開始するには漸化式の初期値が必要である。
【００３４】
漸化式の初期値を導出する方法として「学習（Ｌｅａｒｎｉｎｇ）」がある。
【００３５】
学習の詳細は特許文献３に記載されている。
【００３６】
状態メトリクスは最初小さな値であっても、少しの学習期間の後にはあたかも状態メトリクスの集合はトレリスが終端された初期（或いは最終）トレリスレベルからプロセスが始まったかのような信頼性を有する。
【００３７】
この学習期間の長さをＬとする。Ｌは拘束長の５倍から６倍程度が必要とされている。Ｌの長さは前記受信シーケンスｙの状態によらず常に一定である。学習は漸化式の初期値を必要とするすべてのブロックで必要であり、Ｋに比例して総学習期間が増加する。そのため、ターボ復号のパイプライン化による高速化を阻害するという問題が生じる。
【００３８】
図１は、従来の学習を用いたＢＩＰにおける前方向演算のトレリス実行順序を示す。ここでは、パイプライン段数Ｋ、ブロックサイズＮ、シーケンス長Ｋ×Ｎ、学習期間の長さＬ、トレリスが終端されたターボ符号の場合を示している。前方向演算パス１はトレリスレベル１からトレリスレベルＮまでの前方向演算を実行する。前方向演算パスｋ（ｋ＝２、３、・・・、Ｋ）はトレリスレベル（ｋ−１）×Ｎ−Ｌ＋１からトレリスレベルｋ×Ｎまでの前方向演算を実行する。ここで、前方向演算パスｋにおけるトレリスレベル（ｋ−１）×Ｎ−Ｌ＋１からトレリスレベル（ｋ−１）×Ｎまでの前方向演算１１及び１３が前記学習期間に相当する。
【００３９】
図２は、従来の学習を用いたＢＩＰにおける逆方向演算のトレリス実行順序を示す。ここでは、パイプライン段数Ｋ、ブロックサイズＮ、シーケンス長Ｋ×Ｎ、学習期間の長さＬ、トレリスが終端されたターボ符号の場合を示している。逆方向演算パスｋ（ｋ＝１、２、・・・、Ｋ−１）はトレリスレベルｋ×Ｎ＋Ｌからトレリスレベル（ｋ−１）×Ｎ＋１までの逆方向演算を実行する。逆方向演算パスＫはトレリスレベルＫ×Ｎからトレリスレベル（Ｋ−１）×Ｎ＋１までの逆方向演算を実行する。ここで、逆方向演算パスｋにおけるトレリスレベルｋ×Ｎ＋Ｌからトレリスｋ×Ｎ＋１までの逆方向演算２０及び２２が前記学習期間に相当する。
【００４０】
トレリスが終端されていない場合のターボ復号方法としてＴａｉｌｂｉｔｉｎｇ法がある。Ｔａｉｌｂｉｔｉｎｇ法は漸化式の初期値を「学習」を用いて導出しない。そのかわりに、古い演算結果を同一演算パスの新しい演算結果で「上書き」することで、漸化式の初期値が正しく設定されていなくても最終的に正しい復号結果を得ることができる。
【００４１】
前記Ｔａｉｌｂｉｔｉｎｇ法は非特許文献３に詳細に記載されている。
【００４２】
前記Ｔａｉｌｂｉｔｉｎｇ法の前方向演算では初期状態Ｓ１＝ｍ（ｍ＝０、１、２、、、Ｍ−１）である確率を暫定的に１／（Ｍ＋１）としてトレリスレベル１から最終トレリスレベルＴまで前方向演算を実行する。ターボ符号では最終状態ＳＴの１トレリスレベル後の状態は初期状態Ｓ１と等しいという性質を利用することにより、ＭＡＰ復号が最終トレリスレベルＴに達した後、ＳＴとｙＴからＳＴ＋１を計算する。そして、ＳＴ＋１をＳ１に代入し、再度トレリスレベル１から前方向演算を実行する。その際、新しい前方向演算の演算結果で古い前方向演算の演算結果を「上書き」する。その後、古い前方向演算の演算結果と新しい前方向演算結果とが一致するトレリスレベルで前方向演算が終了する。
【００４３】
前記Ｔａｉｌｂｉｔｉｎｇ法の逆方向演算では最終状態ＳＴ＝ｍ（ｍ＝０、１、２、、、Ｍ−１）である確率を暫定的に１／（Ｍ＋１）として最終トレリスレベルＴからトレリスレベル１まで逆方向演算を実行する。ターボ符号では初期状態Ｓ１の１トレリスレベル前の状態は最終状態ＳＴと等しいという性質を利用することにより、ＭＡＰ復号が初期トレリスレベル１に達した後、Ｓ１とｙ１からＳ０を計算する。そしてＳ０をＳＴに代入し、再度トレリスレベルＴから逆方向演算を実行する。その際、新しい逆方向演算の演算結果で古い逆方向演算の演算結果を「上書き」する。その後、古い逆方向演算の演算結果と新しい逆方向演算結果とが一致するトレリスレベルで逆方向演算は終了する。
【００４４】
以後、上書き期間の長さをＵとする。非特許文献３に記載された実験結果では、拘束長が７の場合Ｕは４０となることが示されている。ここからＵの長さは拘束長の５倍から６倍程度が必要であるとわかる。これは前記学習期間の長さＬとほぼ同等の値である。
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特開２００３−３１８７４６号公報
【特許文献２】特開２００２−１６５０３号公報
【特許文献３】特表２００１−５０３５８８号公報
【非特許文献】
【００４６】
【非特許文献１】‘Ｌ．Ｒ．ＢＡＨＲ、Ｊ．ＣＯＣＫＥ、Ｆ．ＪＥＬＩＮＥＫ、Ｊ．ＲＡＶＩＶ、“Ｏｐｔｉｍａｌ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｌｉｎｅａｒ  Ｃｏｄｅｓ  ｆｏｒ  Ｍｉｎｉｍｉｚｉｎｇ  Ｓｙｍｂｏｌ  Ｅｒｒｏｒ  Ｒａｔｅ、”ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＩＮＦＯＲＭＡＴＩＯＮ  ＴＨＥＯＲＹ、ＰＰ．２８４−２８７、ＭＡＲ．１９７４．’
【非特許文献２】‘Ｓｅｏｋ−Ｊｕｎ  Ｌｅｅ、  Ｎａｒｅｓｈ  Ｒ．  Ｓｈａｎｂｈａｇ、Ａｎｄｒｅｗ  Ｃ．  Ｓｉｎｇｅｒ、“Ａｒｅａ−Ｅｆｆｉｃｉｅｎｔ  Ｈｉｇｈ−Ｔｈｒｏｕｇｈｐｕｔ  ＭＡＰ  Ｄｅｃｏｄｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ、”ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＶＥＲＹ  ＬＡＲＧＥ  ＳＣＡＬＥ  ＩＮＴＥＧＲＡＴＩＯＮ  ＳＹＳＴＥＭＳ、ＶＯＬ．１３、ＮＯ．８、ＰＰ．９２１−９３３、ＡＵＧ．２００５’
【非特許文献３】‘Ｊｏｈｎ  Ｂ．  Ａｎｄｅｒｓｏｎ、Ｓｔｅｐｈａｎ  Ｍ．  Ｈｌａｄｉｋ、“Ｔａｉｌｂｉｔｉｎｇ  ＭＡＰ  Ｄｅｃｏｄｅｒｓ、”  ＩＥＥＥ  ＪＯＵＲＮＡＬ  ＯＦ  ＳＥＬＥＣＴＥＤ  ＡＲＥＡＳ  ＩＮ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ、ＶＯＬ．１６、ＮＯ．２、ＰＰ．２９７−３０２、ＦＥＢ．１９９８’
【発明の概要】
【発明が解決しようとする課題】
【００４７】
特許文献１及び２及び非特許文献１及び３は、ターボ符号を高速に復号するためにパイプラインによる演算処理することについて何等考慮されていない。
【００４８】
他方、特許文献３及び非特許文献２は、パイプライン化による高速処理について示唆しているものの、パイプライン段数の増加に伴う前方向状態メトリクス演算及び逆方向状態メトリクス演算を更に高速化することについて、開示していない。
【００４９】
本発明の課題は、深いパイプライン処理をより高速化できるターボ復号方法及び復号器を提供することである。
【課題を解決するための手段】
【００５０】
本発明の第１例によるターボ復号方法は、ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、ＫおよびＮは正整数）のターボ復号方法において、シーケンス番号（ｋ−１）×N＋１（ｋ＝１、２、・・・、Ｋ）から前方向に反復的な復号演算を開始する第１前方向演算パスから第Ｋ前方向演算パスまでのＫ個の前方向演算パスを形成する工程と、第（ａ＋１）前方向演算パス（ａ＝１、２、・・・、Ｋ−１）の前方向状態メトリック演算結果を第ａ前方向演算パスの前方向状態メトリック演算結果で上書きする第１前方向上書き処理から第（Ｋ−１）前方向上書き処理までのＫ−１個の前方向上書き処理を備えることを特徴とする。
【００５１】
前記ターボ復号方法は、前記第（ａ＋１）前方向演算パスの前方向状態メトリック演算結果と前記第ａ前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第ａ前方向上書き処理を停止することを特徴としてもよい。
【００５２】
本発明の第２例によるターボ復号方法は、ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、Ｎは正整数）のターボ復号方法において、シーケンス番号ｋ×N（ｋ＝１、２、・・・、Ｋ）から逆方向に反復的な復号演算を開始する第１逆方向演算パスから第Ｋ逆方向演算パスまでのＫ個の逆方向演算パスを形成する工程と、第ｂ逆方向演算パス（ｂ＝１、２、・・・、Ｋ−１）の逆方向状態メトリック演算結果を第（ｂ＋１）逆方向演算パスの逆方向状態メトリック演算結果で上書きする第１逆方向上書き処理から第（Ｋ−１）逆方向上書き処理までのＫ−１個の逆方向上書き処理を備えることを特徴とする。
【００５３】
前記ターボ復号方法は、前記第ｂ逆方向演算パスの逆方向状態メトリック演算結果と前記第（ｂ＋１）逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第ｂ逆方向上書き処理を停止することを特徴としてもよい。
【００５４】
本発明の第３例によるターボ復号器は、ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、ＫおよびＮは正整数）のターボ復号器において、シーケンス番号（ｋ−１）×N＋１（ｋ＝１、２、・・・、Ｋ）から前方向に反復的な復号演算を開始する第１前方向演算パスから第Ｋ前方向演算パスまでのＫ個の前方向演算パスを形成する手段と、第（ｃ＋１）前方向演算パス（ｃ＝１、２、・・・、Ｋ−１）の前方向状態メトリック演算結果を第ｃ前方向演算パスの前方向状態メトリック演算結果で上書きする第１前方向上書き処理から第（Ｋ−１）前方向上書き処理までのＫ−１個の前方向上書き処理を実行する手段を備えることを特徴とする。
【００５５】
前記ターボ復号器は、前記第（ｃ＋１）前方向演算パスの前方向状態メトリック演算結果と前記第ｃ前方向演算パスの前方向状態メトリック演算結果が一致したときに、前記第ｃ前方向上書き処理を停止する手段を有することを特徴としてもよい。
【００５６】
本発明の第４例によるターボ復号器は、ターボ符号の反復的な復号を行うシーケンス長Ｔ＝Ｋ×N（但し、Ｎは正整数）のターボ復号器において、シーケンス番号ｋ×N（ｋ＝１、２、・・・、Ｋ）から逆方向に反復的な復号演算を開始する第１逆方向演算パスから第Ｋ逆方向演算パスまでのＫ個の逆方向演算パスを形成する手段と、第ｄ逆方向演算パス（ｄ＝１、２、・・・、Ｋ−１）の逆方向状態メトリック演算結果を第（ｄ＋１）逆方向演算パスの逆方向状態メトリック演算結果で上書きする第１逆方向上書き処理から第（Ｋ−１）逆方向上書き処理までのＫ−１個の逆方向上書き処理を実行する手段を備えることを特徴とする。
【００５７】
前記ターボ復号器は、前記第ｄ逆方向演算パスの逆方向状態メトリック演算結果と前記第（ｄ＋１）逆方向演算パスの逆方向状態メトリック演算結果が一致したときに、前記第ｄ逆方向上書き処理を停止する手段を有することを特徴としてもよい。
【発明の効果】
【００５８】
以上のように、本発明によるターボ復号方法及び復号装置では、ターボ復号器をパイプライン化した際に、ある前方向状態演算パス乃至逆方向演算パスの状態メトリック演算結果を後から計算する別の前方向状態演算パス乃至逆方向演算パスの状態メトリック演算結果で上書きすることで、従来技術で必要となる学習期間をなくすことができる。
【００５９】
また、本発明によるターボ復号方法及び復号装置では、上書き期間の長さＵは状態メトリック演算結果に合わせて最適な長さとなる。上書き期間の長さは従来技術における学習期間の長さの半分以下にできる。
【００６０】
これにより、とりわけ深いパイプライン化を行う場合、前方向演算処理回数および逆方向演算処理回数を削減することができ、復号スループットと復号エネルギー効率を向上することができる。
【図面の簡単な説明】
【００６１】
【図１】従来の学習を用いた前方向演算のトレリスの実行順序を示す図である。
【図２】従来の学習を用いた逆方向演算のトレリスの実行順序を示す図である。
【図３】本発明を用いた前方向演算のトレリスの実行順序を示す図である。
【図４】本発明を用いた逆方向演算のトレリスの実行順序を示す図である。
【図５】本発明の一実施例による前方向演算を示すトレリス図である。
【図６】本発明の一実施例による前方向演算を示すトレリス図である。
【図７】本発明の一実施例によるターボ復号器の構成を示すブロック図である。
【図８】本発明の一実施例による上書き期間の長さと学習期間の長さの比較図である。
【発明を実施するための形態】
【００６２】
以下に、添付図を参照して、本発明の実施例によるターボ復号方法及び復号装置について詳細に説明する。
【００６３】
図３は、本発明を用いた前方向演算のトレリス実行順序を示す。ここでは、パイプライン段数Ｋ、ブロックサイズＮ、シーケンス長Ｋ×Ｎ、上書き期間の長さＵ、トレリスが終端されたターボ符号の場合を示している。前方向演算パスは前方向演算パス１から前方向演算パスＫまで全部でＫ個ある。前方向演算パスｋ（ｋ＝１、２、・・・、Ｋ−１）はトレリスレベル（ｋ−１）×Ｎ＋１からトレリスレベルｋ×Ｎ＋Ｕまで順に前方向演算を実行する。前方向演算パスＫはトレリスレベル（Ｋ−１）×Ｎ＋１からトレリスレベルＫ×Ｎまで順に前方向演算を実行する。ここで、前方向演算パスｋにおけるトレリスレベルｋ×Ｎ＋１からトレリスレベルｋ×Ｎ＋Ｕまでの前方向演算３１及び３３が前記上書き期間に相当する。
【００６４】
それぞれの前方向演算パスの状態メトリック演算はＢＩＰ方式の状態メトリック演算器で実行される。状態メトリック演算器に入力される入力シーケンスｙの順序は、１、Ｎ＋１、２×Ｎ＋１、・・・、（Ｋ−１）×Ｎ＋１、２、Ｎ＋２、２×Ｎ＋２、・・・、（Ｋ−１）×Ｎ＋２、３、Ｎ＋３、・・・、となる。このように、各前方向演算パスから１トレリスレベルずつ処理することで、各前方向演算パスの演算レイテンシーはＫクロックとなり、状態メトリック演算器を適切にレジスタリタイミングすることで、Ｋ段パイプラン構成の状態メトリックを利用できる。
【００６５】
このように、すべての前方向演算パスを同時にパイプライン処理していくため、同一のトレリスレベルの演算でありながら、異なる前方向演算パスで異なる時間に演算結果が出力される。たとえば、前方向演算パス１のトレリスレベルＮ＋１の演算結果が、前方向演算パス２のトレリスレベルＮ＋１の演算結果よりも後に出力される。
【００６６】
ターボ符号の復号は、「状態メトリクスの初期値が間違っていても、少しの学習期間の後にはあたかも状態メトリクスの集合はトレリスが終端された初期（或いは最終）トレリスレベルからプロセスが始まったかのような信頼性を有する」、という性質がある。
【００６７】
たとえば、前方向演算パス２において、トレリスレベルＮ＋１の状態メトリクスＳＮ＋１（ｍ）＝１／（Ｍ＋１）（但し、ｍ＝０、１、・・・、Ｍ−１）として前方向演算を開始した場合、期間Ｕ後の状態メトリクスＳＮ＋Ｕ（ｍ）はＳＮ＋１（ｍ）が終端された場合と同じ演算結果が得られる。したがって、前方向演算パス２において、トレリスレベルＮ＋Ｕ以降は正しい復号結果が得られる。
【００６８】
一方、前方向演算パス２において、トレリスレベルＮ＋１からトレリスレベルＮ＋Ｕ−１までは間違った復号結果となる。そこで、前方向演算パス１のトレリスレベルＮ＋１からトレリスレベルＮ＋Ｕ−１の演算結果を用いて前方向演算パス２のトレリスレベルＮ＋１からトレリスレベルＮ＋Ｕ−１の演算結果を上書きする。前方向演算パス１のトレリスレベルＮ＋１からトレリスレベルＮ＋Ｕ−１の演算結果は、トレリスが終端された初期レベルからプロセスが始まったかのような信頼性を有しており、これにより正しいトレリスレベルＮ＋１からトレリスレベルＮ＋Ｕ−１の復号結果を得ることができる。
【００６９】
学習期間の長さＬは拘束長の５倍から６倍以上必要と言われている。また、Ｌは漸化式の初期トレリスレベルとして決定された固定値であり、最悪の復号条件でも正しく復号結果が出力できるように十分長い期間が必要である。一方、上書き期間の長さＵは漸化式の最終トレリスレベルを決める値であり、受信シーケンスｙのビットあたりの電力密度対雑音電力密度比（Ｅｂ／Ｎｏ）や１イタレーション前の状態メトリック演算結果などに合わせて適応的に変えられる可変値である。したがって、ＵはＬの１／２以下に短縮することができる。このことは、パイプライン段数に比例して学習（或は上書き）期間が必要なＢＩＰ方式のターボ復号器において、再帰計算回数を減らし復号スループットとエネルギー効率を向上させるのに役立つ。
【００７０】
図４は、本発明を用いた逆方向演算のトレリス実行順序を示す。ここでは、パイプライン段数Ｋ、ブロックサイズＮ、シーケンス長Ｋ×Ｎ、上書き期間の長さＵ、トレリスが終端されたターボ符号の場合を示している。逆方向演算パスは逆方向演算パス１から逆方向演算パスＫまで全部でＫ個ある。逆方向演算パス１はトレリスレベルＮからトレリスレベル１まで順に逆方向演算を実行する。逆方向演算パスｋ（ｋ＝２、３、・・・、Ｋ）はトレリスレベルｋ×Ｎからトレリスレベル（ｋ−１）×Ｎ−Ｕ＋１まで順に逆方向演算を実行する。ここで、逆方向演算パスｋにおけるトレリスレベル（ｋ−１）×Ｎからトレリスレベル（ｋ−１）×Ｎ−Ｕ＋１までの逆方向演算４２及び４４が前記上書き期間に相当する。
【００７１】
本発明を用いた逆方向演算のトレリス実行順序の特徴は、図３に示した本発明を用いた前方向演算のトレリス実行順序の特徴と比較して、トレリスレベルが逆向きになっている以外は同一である。
【００７２】
図５は、本発明を用いた前方向演算のトレリス図の一例である。ここでは、情報源の状態数Ｍ＝４、トレリスが終端されたターボ符号の場合を示している。前方向演算パスｋ＋１が再帰的演算を開始するトレリスレベルｋ×Ｎ＋１のとき、漸化式の初期値として状態メトリックＳｋ×Ｎ＋１（ｍ）の値をすべて１／４に初期化している。このため、前方向演算パスｋ＋１の最大メトリックパス１００にはトレリスレベルｋ×Ｎ＋１から出るパスはない。この例では、前方向演算パスｋ＋１の最大メトリックパス１００と前方向演算パスｋの最大メトリックパス１０１が一度でも一致した場合に、前方向演算パスｋの上書き処理を停止させている。トレリスレベルｋ×Ｎ＋４のとき前方向演算パスｋ＋１の最大メトリックパス１００と前方向演算パスｋの最大メトリックパス１０１が一致している。したがって、トレリスレベルｋ×Ｎ＋４のとき前方向演算パスｋの上書き処理は停止する。この場合、上書き期間の長さＵ＝４である。
【００７３】
上書き処理を停止させる条件は、前方向演算パスｋ＋１の最大メトリックパス１００と前方向演算パスｋの最大メトリックパス１０１の一致回数のほかに、前方向演算パスｋ＋１の状態メトリック値と前方向演算パスｋの各トレリスレベルにおける状態メトリック値の一致度などでも決定できる。
【００７４】
図６は、本発明を用いた前方向演算を示すトレリス図の一例である。ここでは、情報源の状態数Ｍ＝４、トレリスが終端されたターボ符号の場合を示している。前方向演算パスｋ＋１が再帰的演算を開始する時間トレリスレベルｋ×Ｎ＋１のとき、漸化式の初期値として前方向状態メトリックＳｋ×Ｎ＋１（ｍ）１１２の値をすべて１／４に初期化するかわりに、１イタレーション前の前方向状態メトリックの演算結果Ｓ’ｋ×Ｎ＋１（ｍ）をＳｋ×Ｎ＋１（ｍ）１１２に代入する。この例ではＳ’ｋ×Ｎ＋１（ｍ＝３）が最大の前方向状態メトリック値をもつため、前方向演算パスｋ＋１が再帰的演算を開始するトレリスレベルｋ×Ｎ＋１において前方向演算パスｋ＋１の最大メトリックパス１１０はｍ＝３から始まる。同一受信シーケンスｙの復号では、ある前方向演算パスの状態メトリック値とその１イタレーション前の前方向演算パスの状態メトリック値との間には強い相関関係があるため、これらの前方向演算パスの最大メトリックパスは高い類似性を持つ。したがって、Ｓｋ×Ｎ＋１（ｍ）１１２の値をすべて１／４に初期化する場合よりも、Ｓ’ｋ×Ｎ＋１（ｍ）をＳｋ×Ｎ＋１（ｍ）１１２に代入する方が、前方向演算パスｋ＋１の最大メトリックパス１１０と前方向演算パスｋの最大メトリックパス１１１が短い上書き期間で一致する可能性が高い。
【００７５】
本発明を用いた後方向演算を示すトレリス図の特徴は、図６に示した本発明を用いた前方向演算を示すトレリス図の特徴と比較して、トレリスレベルが逆向きになっている以外は同一である。
【００７６】
図７は、本発明の一実施例によるターボ復号器の構成を示すブロック図である。入力ＲＡＭ１２０にはターボ符号で符号化された組織符号および検査符号が入力されＲＡＭに記憶される。ＲＡＭ制御１２１は入力ＲＡＭ１２０のアドレス情報を出力する。インターリーブ系列でターボ復号を行う場合は、インターリーバー１２８が出力するインターリーブ系列を用いてＲＡＭ制御１２１は入力ＲＡＭ１２０のアドレス情報を決定する。前方向計算１２２は入力ＲＡＭ１２０の出力信号をもとに前方向演算を実行する。逆方向計算１２３は入力ＲＡＭ１２０の出力信号をもとに逆方向演算を実行する。前方向状態メトリックＲＡＭ１２４はＲＡＭ制御１２１が出力するアドレス情報を元に前方向計算１２２が出力する前方向状態メトリック値をＲＡＭに記憶する。逆方向状態メトリックＲＡＭ１２５はＲＡＭ制御１２１が出力するアドレス情報を元に逆方向計算１２３が出力する逆方向状態メトリック値をＲＡＭに記憶する。外部値計算１２６は前方向計算１２２と前方向状態メトリックＲＡＭ１２４と逆方向計算１２３と逆方向状態メトリックＲＡＭ１２５の出力を用いて外部値を計算する。外部値計算１２６の出力信号は入力ＲＡＭ１２０に送られ、次回のイタレーションにおいて事前値として用いられる。対数尤度比計算１２７は前方向計算１２２と前方向状態メトリックＲＡＭ１２４と逆方向計算１２３と逆方向状態メトリックＲＡＭ１２５と入力ＲＡＭ１２０の出力信号を用いて対数尤度比を計算する。対数尤度比計算１２７の出力信号は硬判定１２９に送信される。硬判定１２９はターボ復号の復号情報ビットを出力する。前方向上書き判定１３０は前方向計算１２２と前方向状態メトリックＲＡＭ１２４の出力信号から古い前方向演算パスと新しい前方向演算パスが一致するかどうか判定し、上書き処理を停止するか否かの判断結果を出力する。前方向上書き判定１３０が出力する上書き処理を停止するか否かの判断結果はＲＡＭ制御１２１に送信される。逆方向上書き判定１３１は逆方向計算１２３と逆方向状態メトリックＲＡＭ１２５の出力信号から古い逆方向演算パスと新しい逆方向演算パスが一致するかどうか判定し、上書き処理を停止するか否かの判断結果を出力する。逆方向上書き判定１３１が出力する上書き処理を停止するか否かの判断結果はＲＡＭ制御１２１に送信される。
【００７７】
尚、ＲＡＭ１２０、１２４、１２５以外の制御、計算等は、ハードウェアによって実行されても良いし、ソフトウェアを用いて実行されても良い。
【００７８】
図８は、本発明の一実施例による上書き期間の長さ１５０を従来技術の学習期間の長さ１５１と比較した図を示す。図の横軸はビットあたりの電力密度対電力密度比（Ｅｂ／Ｎｏ）であり、通信状態を表す１つのパラメータである。ここでは、ＷｉＭＡＸ規格のターボ符号、パイプライン段数Ｋ＝２、シーケンス長Ｔ＝２４、イタレーション回数＝６の場合を示している。この例では、図５の場合と同様、前方向演算パス１の最大メトリックパス１００と前方向演算パス２の最大メトリックパス１０１が一度でも一致した場合に、前方向演算パス１の上書き処理を停止するように設定している。拘束長＝３の場合、一般的な学習期間の長さＬは１６である。本発明による上書き期間の長さ１５０はビットあたりの電力密度対電力密度比（Ｅｂ／Ｎｏ）を０から８ｄＢまで変化させた際に２から６の間となり、学習期間の長さ１５１の半分以下の長さであることがわかる。この例から、本発明を用いたターボ復号器および復号方法は、通信状態に適応して再帰的演算回数を減少させ、復号スループット及びエネルギー効率を向上させることが可能であることがわかる。
【産業上の利用可能性】
【００７９】
移動体通信規格で高伝送率のデータを復号するために適用されると共に、衛星通信のように、極めて微弱な信号を復号するために適用されている。特に、パイプライン化による復号の高スループット化及び高エネルギー効率化に適する。
【符号の説明】
【００８０】
１０、１２、１４、３０、３２、３４：通常の前方向演算期間
２１、２３、２４、４０、４１、４３：通常の逆方向演算期間
１１、１３：前方向の学習期間
２０、２２：後方向の学習期間
３１、３３：前方向の上書き期間
４２、４４：後方向の上書き期間
１００、１１０：前方向演算パスｋ＋１の最大メトリックパス
１０１、１１１：前方向演算パスｋの最大メトリックパス
１１２：前方向演算パスｋ＋１の前方向状態メトリックの初期値
１２０：入力ＲＡＭ
１２１：ＲＡＭ制御
１２２：前方向計算
１２３：逆方向計算
１２４：前方向メトリックＲＡＭ
１２５：逆方向メトリックＲＡＭ
１２６：外部値計算
１２７：対数尤度比計算
１２８：インターリーバー
１２９：硬判定
１３０：前方向上書き判定
１３１：逆方向上書き判定
１５０：上書き期間の長さ
１５１：学習期間の長さ
【図１】
2011114567.tif 000007
【図２】
2011114567.tif 000008
【図３】
2011114567.tif 000009
【図４】
2011114567.tif 000010
【図５】
2011114567.tif 000011
【図６】
2011114567.tif 000012
【図７】
2011114567.tif 000013
【図８】
2011114567.tif 000014