(57)【特許請求の範囲】
【請求項１】
モジュロ正規化を使用するビタビ・デコーダによりフル・パス・メトリック（ＦＰＭ）を計算する方法において、
（ａ）各段階で最大状態メトリック値を判断するステップと、
（ｂ）各段階で前記最大状態メトリックを前の段階における最大状態メトリックと比較してマーカ・ポイントを横切ったか否かを判断するステップと、
（ｃ）ステップ（ｂ）において前記マーカ・ポイント横切ったときは、カウンタを増加させるステップと、
（ｄ）式：
【数１】
0003906073.tif 000002
を使用してFPMを判断するステップと
を備え、前記式において、Ｄ＝（Ｍ−Ｅ）mod(k)、”Ｍ"はフレームの終りで最終段階に対する最大状態メトリック値、”Ｅ”はトレースバックに使用したフレームのエンディング状態（例えば、復号されたパスにおける最終状態、更に前記エンコーダにおける既知のエンディング状態）に対する状態メトリック値、”I”はそのフレームの初期状態に対する状態メトリック値、Ｋ＝２tはモジュロ・リングのサイズ、”ｔ”はこの状態メトリック値を表すために使用したビット数、及びCadjはカウンタが”ｔ”ビットにより左シフトしたときのカウンタの値とする、ビタビ復号におけるフル・パス・メトリックを計算する方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビタビ復号方法に関し、特にビタビ復号を実行するときにフル・パス・メトリックを計算する方法に関する。
【０００２】
【従来技術】
ビタビ・アルゴリズムは、最尤シーケンス検出を実行するための方法であり、これを畳み込み符号により発生した受信符号の復号に使用することができる。畳み込み符号は、当該技術分野において周知なので、ここでは、これを簡単に説明するだけとするが、詳細な説明は、１９９５年、ニューヨークのマックグロー・ヒル出版からプロアキス（J.G.Proakis)による「ディジタル通信、第３版」を含め、多くの発行に見出すことができる。ビタビ復号に関する技術的なアプリケーションの詳細な説明は、例えば１９９６年６月、米国テキサス州ダラス、テキサス・インスツルメンツ（株）のヘンドリックス(H.Hendrix)によるＤＳＰアプリケーション・ノートＳＰＲＡ０７１における「ＴＭＳ３２０Ｃ５４ｘファミリーによるビタビ復号技術」のような刊行物に見出すことができる。
【０００３】
畳み込み符号は、有限状態機械(finite state machine)であり、図１に示すトレリス線図は、１６状態の符号化率１／ｎを有する単一のシフト・レジスタ符号を示す。これらの状態表示を行に示し、各行即ちステージは、入力ビット対出力ビットのマッピングに対応し、これらのブランチは、左から右へ移動する可能遷移である。符号化処理において、入力ビットを各段階(stage)に割り付け、各状態を抜け出した２ブランチ間で選択をし、各選択は、小さなｎ出力ビット・セットを発生する。処理は、公知の状態（通常は状態０）から開始し、与えられたフレームの複数の入力ビットは、それらのトレリスを通って一本の固有パスを発生する。
【０００４】
ビタビ復号を実行するときの問題は、固有のパスを判断することであり、それらの入力ビット及び初期状態は、受信データを使用することにより、トレリスを通るようにされ、これが送信された出力ビットの予測となる。送信中に発生した雑音及び擾乱のために、この受信データは、典型的には、エンコーダの出力ビットを汚損したものとなる。従って、通常、絶対的な確実さにより復号することは不可能である。その代わりとして、典型的な解決方法は、「最尤データ・シーケンス即ちパス」を判断することである。これは、最小距離を有するトレリスを通るパスを見付けることによって実行される。この最小距離は、パスに沿ったブランチ・メトリックの和により定義される。ブランチ・メトリックは、受信データから判断され、それぞれは、特定の出力ビット値の選択に関する尤度を表している。各ブランチは、１ブランチ・メトリック（ＢＭ：branch metric）を有し、１トレリス段におけるＢＭ数は、１段における固有な出力ビットの選択数に等しい。
【０００５】
ビタビ・アルゴリズムは、この「最尤パス」を見付けるのに非常に効果的な方法である。ビタビ・アルゴリズムは、時間の進行に従って、トレリス上の段階毎に一組の状態マトリックス（状態マトリックスをパス・メトリックと云うこともできる）により処理することにより、ステップ方式で動作する。各ステップ即ち段階において、ブランチ・メトリックを使用して各状態メトリックを更新し、実際には、前の段階状態に対して最適パスを使用してその状態に対する最適パスを判断する。これは、各状態を取り、かつ前の段階から２可能性のうちで最適の1ステップ即ちブランチを選択することにより実行される。最適ブランチは、そのブランチ・メトリックを、ブランチが生起した状態の状態メトリックに加算することにより定義された、最小の次の状態メトリックを与えることになるブランチである。これは、加算、比較及び選択処理（ＡＣＳ）として知られている。各ブランチは、一組の可能出力ビットに対応し、そのメトリックは、これらの出力ビットから受信データまでの距離値である。実際において、これらのビットは、コンステレーション・ポイント（constellation point）にマッピングして送信されるのが一般的であり、そのメトリックは、受信データとこのコンステレーション・ポイントとの間のユークリッド距離である。
【０００６】
以上の処理を実行すると、各段階における各状態について選択したブランチが記録され、従って、各状態に対する完全な最適パスを知る。しかしながら、以上の入力ビットに対して最尤マッチとなるデコーダ出力を発生するために、状態を選択し、かつ記録されたブランチにより与えられるパス後の段階を通って逆方向に進む。フレームの終り(End of Frame)でこの処理を開始すると、選択したトレースバック状態の開始は、エンコーダの既知のエンディング状態となる。そこで、直ちに出力ビットを発生する。
【０００７】
フレームの終りの前でトレースバック処理を開始すると、任意の状態を選択し、そこから開始することができるが、更によいパフォーマンスを得るために、最小状態メトリックにより状態を選択するのが良い。収束距離（convegence distance)として知られている一定の距離後に、他の状態からの全ての最適パスは、高い確率により１本のパスに収束する。このポイント後は、トレースバック処理により有効な出力ビットを得ることができる。
【０００８】
ビタビ・アルゴリズムは、フレーム全体を復号した後、更にトレリスを通る最小パス距離即ちフル・パス・メトリックを得る。これは、その「最良」パスに沿った尤度測定値の和であるので、復号シーケンスの正しさの尤度を表していることは、明らかである。従って、受信機のデータ再生処理にとって、即ちエンド・ユーザにとって非常に有用な情報となり得る。
【０００９】
ビタビ・アルゴリズムを実施するときに、特に設計した装置において、又は小型のプロセッサ上のソフトウェアとして、何らかの問題が発生する。第１の問題は、正負のブランチ・メトリックにより最小化対最大化に関連する。標準的な理論な導出から、ブランチ・メトリックは正である。しかしながら、ごく一般的な設計アプリケーション・セットでは、ブランチ・メトリックが共に正及び負となれるように、ブランチ・メトリックの計算を大幅に簡単化することができ、それでもアルゴリズムは、最尤トレリス・パスを正しく認識する。更に、ＢＭ計算から負符号を取り除き、加算したメトリックを最小化する代わりに、最大化することも数学的に等価なので、一般的なことである。このシナリオは、どちらの解決方法も利用できるが、殆どの部分に対して、その他のアプリケーションに想定される。
【００１０】
他の設計問題は、これらのメカニズムが提供する有効な数値範囲内に状態メトリックの値を保持することに関連する。通常、割り付けられたメモリ領域によって提供される範囲には制限が存在するので、これは必要なことであり、また状態メトリックは、各トレリス段階で連続的に値が増大する。しかしながら、任意のトレリス段階において、最大−最小は、常に、ある有界数(bounded number)となる性質があり、この有界数は、エンコーダのメモリの長さ、及びブランチ・メトリックの最大可能値(largest possible magnitude)の線形関数である。従って、簡単な正規化を使用することができる。
【００１１】
使用する２者に共通の正規化方法は、減法によるスケール設定、及びモジュロ正規化である。減法によるスケール設定は、全ての状態メトリックからある値を単純に反復して減算することによりこれらを所望の範囲内に保持する。モジュロ正規化は、例えばヘクストラ（Ａ．Ｐ．Ｈｅｋｓｔｒａ）による「ビタビ・デコーダにおけるメトリック再スケール設定に対する代案（Ａｎ  ａｌｔｅｒｎａｔｉｖｅ  ｔｏ  ｍｅｔｒｉｃ  ｒｅｓｃａｌｉｎｇ  ｉｎ  Ｖｉｔｅｒｂｉ  ｄｅｃｏｒｄｅｒｓ）(１９８９年１１月、ＩＥＥＥ通信学会報告、第３７巻第１１号、第１２２０頁〜第１２２２頁)に記載されており、状態メトリック差を常に正しく計算可能とする大きが十分なモジュロ・リングにおいて、演算を実行するように規制しているだけである。これは、状態メトリックの値における最大可能差がモジュロ・リングのサイズの１／２以下となるように確保することだけで達成される。モジュロ加算及び減算は、当然ながらディジタル・ロジックにより実行することができる。
【００１２】
【発明が解決しようとする課題】
ビタビ・デコーダにおける状態メトリックの更新処理にモジュロ正規化を使用すると、フル・パス・メトリックの復号を不可能にするような重要情報の喪失がある。このメトリックは、エンコーダが動作している大規模システム（例えば、セルラ電話等）内において重大な影響があると思われる。従って、当該技術分野には、ビタビ復号を実行するときにフル・パス・メトリックを計算することにより、従来技術に発生する問題のいくつかを克服できる方法に対する要望がある。
【００１３】
新しいと信ずる本発明の特徴は、特に付記する特許請求の範囲に詳細に記述されている。本発明は、添付する図面に関連させて以下の説明を参照することにより、最もよく理解でき、そのうちの複数の図において、同一参照番号は、同一の構成要素を示す。
【００１４】
【発明の実施の形態】
この明細書は、新しいとみなされる本発明の特徴を定義する特許請求の範囲により締め括っているが、本発明は、図面に連係して以下の説明を考慮することにより最もよく理解可能とされると思われ、これらの図では、同一の参照番号を引き継いでいる。
【００１５】
以下で更に説明するように、有用となる特定のビタビ処理の特性は、復号処理におけるあらゆる段階において、最大状態メトリックが前の段階のものより大きく又は等しくなることである。これは、図２に示すトレリスのバタフライ（線がバタフライのように見えるためにこのように呼ぶ）についてＡＣＳ動作を解析することにより、示すことができる。最も一般的なシナリオとして各バタフライのブランチ・メトリックは、図２に示す対称特性を有する。特に、上側の水平ブランチに関するブランチ・メトリックがＴであるときは、更に下側の水平ブランチに関するブランチ・メトリックもＴとなり、かつ対角線ブランチに関するブランチ・メトリックは、共にＴとなる。状態ａ及びｂに関する次の状態メトリックは、次式となる。
【００１６】
【数２】
Na=max(Pa+T, Pb-T)
Nb=max(Pa-T, Pa+T)
【００１７】
従って、最大Ｎａ及びＮｂは、次式となる。
【００１８】
【数３】
MN=max(Na, Nb)=max(Pa+T, Pb-T, Pa-T, Pa+T)
【００１９】
Ｍｐ＝ｍａｘ（Ｐａ，Ｐｂ）のときは、ＭN ≧Ｍｐと容易に理由付けすることができる。これは、ＭｐがＰa又はPr となることから明らかであり、ＭNをＭｐ＋Ｔ又はＭｐ−Ｔから選択することができる。従って、ＭNは、Ｍｐより大きいか又は等しい必要がある。
【００２０】
フル・パス・メトリックの計算
正規化を使用すると、フル・パス・メトリックを完全に計算することができない。これは、フレームの終りにおける状態メトリックの真の値が未知のためである。正規化処理は、しばしば、フレームの終りに達する前にパス・メトリックの累算を再スケール設定することが発生する。従って、状態メトリック間の相対な差の精度は保持されたが、しかしメトリック値の開始に関する精度は保持されていない。
【００２１】
減法によるスケール設定を使用すると、処理において、これら減算した値を加算により累算し、その結果の値を最終的な状態メトリックに加算して真のフレームの終りの値を判断することができる。
【００２２】
モジュロ正規化を使用すると、処理において正規化を監視し、かつ補助カウンタを制御する方法を開発することができる。このような一方法は、順方向の処理が機能しているので、トレリスを通る簡単な状態シーケンスに従うことになる。このシーケンスは、各状態がこのシーケンスにおける前の状態と次の状態へブランチするものとなる。０状態のみからなるシーケンスは、十分となる。
【００２３】
このようなシーケンスの０状態を考えると、この方法は、以下、図３のフロー・チャートに示すように動作する。ステップ３０２において、ゼロ状態に対する次の各状態メトリック値を計算したときは、ステップ３０４においてこの値と状態０に対する前の状態メトリックとを比較する。ステップ３０６において、新しい状態メトリックが交差−１により例えば負の数から正の数へ（正方向へ）移動してマーカ・ポイントを横切ったときは、ステップ３０８において、例えばカウンタを１だけ増加させる。他方、ステップ３１０において、新しい状態メトリックが、例えば交差０により正の数から負の数（負方向）へ移動して他の（第２の）マーカ・ポイントを横切ったときは、ステップ３１２において、カウンタを１だけ減数させる。この方法では、何回、状態メトリック値グループがナンバー・リング（モジュロ・ラップ・アラウンド（ｍｏｄｕｌｏ  ｗｒａｐ−ａｒｏｕｎｄ）とも呼ばれる）周りを完全に移動したかのカウントを単純に保持する。状態メトリックＡＣＳ動作がモジュロ正規化を使用していなければ、ＳＭワード表示における次の高位ビットを増加させることになる。ステップ４１４において、この処理の終了時にこのカウンタ値を単純に左へシフト（乗算）して、正しいビット数を状態０に関する最終的な状態メトリック値へ加算（付加）する。この方法は、ときどき、状態メトリック値を前の状態メトリック値に相対して減少させることも可能なので、カウンタを減少させるステップを含むという重要なことに注意すべきである。
【００２４】
モジュロ正規化の場合に他の方法を本発明により開発することができ、カウンタを減少させることも、状態メトリックの成長のこれら反転について監視することも必要でない。この第２の方法は、各トレリス段階の最大メトリック値を使用する。長いフレームのためにフレームの終りの前にトレースバックを実行する必要があるときは、通常、トレースバック処理がこの状態を使用しているので、通常の処理において、しばしばこの値とこれに対応する状態が判断される。以上で述べたように、この最大状態メトリック値は、前のトレリス段階の最大値に対して値を減少できない特性であったことを想起すべきである。
【００２５】
この方法は、以下、図４のフロー・チャートに示すように動作する。
【００２６】
トレリスを標準的な順方向へ横切り、状態メトリックの更新をし、ステップ４０２において、トレリス段階で最大状態メトリックを判断する。この最大値を見出すことは、メモリにこれを記憶する前を除き、段階の計算後に、又はその計算中に、状態メトリックを逐次的に比較することにより、容易に達成できる。
【００２７】
ステップ４０３において、この段階における最大ＳＭを前の段階における最大ＳＭと比較してモジュロ・ラップ・アラウンドが発生した（マーカ・ポイントを横切った）か否かを判断する。これは、２の補数としてＳＭを調べることにより、新しいＳＭが正、かつ前の段階のＳＭが負であるか否かを容易に検出できる。ステップ４０４において、このようなラップ・アラウンドが発生したときは、ステップ４０６において補助カウンタを１だけ増加させる。
【００２８】
実際において、このような監視は、１段階から次の段階へ最大ＳＭ値の遷移を比較するマーカ・ポイント即ちしきい値として、−１の値を使用するのが好ましい。理論的には、残りの計算において適当な調整により、その数値範囲にある任意値をしきい値として使用できる。ステップ４０７において、フレームの終りに達したか否かを判断し、達していなかったときは、ステップ４０９において、ルーチンがトレリスにおける次の段階に移行し、前に述べたステップを反復する。
【００２９】
ステップ４０８において、フレームの終りにおけるフル・パス・メトリック（ＦＰＭ）を下記の式から判断することができる。
【００３０】
【数４】
FPM=(M+Cadj)-I-D
ただし、
D=(M-E)mod(K)・
【００３１】
以上において、「Ｍ」は、フレームの終りにおける最後の段階に対する最大ＳＭ値である。「Ｅ」は、トレースバックに使用したフレームの終了状態（即ち、復号パスにおけるエンディング状態、更にエンコーダにおける既知のエンディング状態）に対するＳＭ値である。これに代わって、「Ｉ」は、フレームの初期状態（即ち、既知の初期エンコーダ状態）に対するＳＭ値、Ｋ＝２tは、モジュロ・リングのサイズである。ただし、「ｔ」はＳＭ値を表すために使用したビット数である。補助カウンタの値をｔビットにより左シフトして（固定値により乗算することと同等）調整値Ｃadjを得る。Ｃadjの性質により加算により、又はより簡単に付加により、量Ｍ＋Ｃadjを得ることができる。ＦＰＭの計算は、そのオぺランドを符号なしの量として取り扱い、かつモジュロ処理は使用しないものとして、実行される。
【００３２】
実際においてしばしば、初期状態及びエンディング状態が共に状態０である。更に、初期条件は、訂正すべき結果に対して正しくセットされていると仮定している。数学的な観点から最短距離の解決方法は、最初のトレリス段階後に行う比較をまず監視のために、フレームの始りで初期ＳＭ値の最大値を判断し、かつこの値を前の段階の最大ＳＭとして使用することである。実際的な観点から、簡単な解決方法は、全ての初期ＳＭ値が０より大きいか又は等しく、かつ２t／２以下であり、また初期最大ＳＭ値を０にセットすることが必要である。
【００３３】
方法の拡張
以上の全般的な方法は、最大ＳＭを計算し、かつトレリスにおけるあらゆる段階より、むしろ選択した段階でのみで、監視処理を実行することを必要としないモードで動作可能とする簡単な方法によって、拡張可能とされる。この拡張は、マルチ・トレリス段階上で同時に動作するビタビ・デコーダのアーキテクチャーにこの方法を使用することができ、またこのために、連続するトレリス段階の各特定グループの後でのみ、最大ＳＭ値を判断するのがより簡単となるので、重要である。このようなビタビ・デコーダのアーキテクチャーは、「無線アプリケーション用に柔軟性をもたせたビタビ・デコーダ(Flexible Viterbi Decorder For Wireless Applications)」と題し、１９９９年１月２９日に出願され、出願番号第６０／１１７，７６３号を有する米国特許出願、及び「無線アプリケーション用に機能拡張したビタビ・デコーダ(Enhanced Viterbi Decorder for Wireless Applications」と題し、１９９９年１２月３０日に出願され、出願番号第６０／１７３，９９５号を有する米国特許出願に開示されている。ここでは、両特許出願が十分に説明されているものとして、引用により組み込まれる。
【００３４】
拡張方法は、現段階の最大ＳＭ、及び前段階の最大ＳＭをそれぞれ現段階グループのうちの最終段階に対する最大ＳＭ、及び前段階グループのうちの最終段階により置換することを除き、前述した処理と同一の動作をする。カウンタの監視及び条件増加は、このような各段階グループが完了した後にのみに行われる。
【００３５】
この手順は、最大ＳＭが各段階グループの終りにおける観察により検出可能とされるものより高速にラップ・アラウンドをしない条件である限り、正常に機能する。この条件は、ＳＭ値、即ち２t／２以下に対して設けた１／２以下の数値範囲で、任意の１段階グループを越えて最大ＳＭが常に増加するのであれば、満足される。総合的に（最大可能ブランチ・メトリック）Ｘ（このような任意の段階グループにおけるトレリス段階の最大数）が１／２の数値範囲以下であれば、最大ＳＭ値における増加は、所要条件を満足する。
【００３６】
前述したように、以上で説明した実施例は、最大化に代えて、最小化の用語により公式化されてもよく、説明した手順及び式は、当該技術分野に習熟する者に知られた適当な数学的な変更を行うことにより、そのまま適用される。
【００３７】
本発明の好ましい実施例を例示し、かつ説明したが、本発明がこれに限定されないことは、明らかである。多数の変形、変化、変更、置換及び等価物は、付記する特許請求の範囲に定義したように本発明の精神及び範囲から逸脱することなく、当該技術分野に習熟する者が想起すべきことである。
【図面の簡単な説明】
【図１】拘束長５を有する符号率１／ｎの符号について示す従来技術のトレリス図である。
【図２】本発明によるブランチ・メトリックの対称性を示すＡＣＳ動作について示すトレリス・バラフライ構造の図である。
【図３】本発明の一実施例によるフル・パス・メトリックの計算を実行するステップを示すフロー・チャートである。
【図４】本発明の他の実施例によるフル・パス・メトリックの計算を実行するステップを示すフロー・チャートである。
【図１】
0003906073.tif 000003
【図２】
0003906073.tif 000004
【図３】
0003906073.tif 000005
【図４】
0003906073.tif 000006