(57)【特許請求の範囲】
【請求項１】
受信した信号を処理するソフト出力ビタビ・アルゴリズム法であって、
複数ステップ・トレリスを使用して、該受信した信号と関連する１つ又は複数のビットの値を判定するステップと、
１つ又は複数の信頼性値を決定するステップとを含み、該判定されたビットの値及び該１つ又は複数の信頼性値は、該受信した信号のレートを該複数ステップ・トレリス内のステップの数で除算したレートで生成され、１つ又は複数の中間パス・メトリック値及び１つ又は複数の中間パス・メトリック差値が、１つ又は複数のパス・メトリック差Δ０及びΔ−１を生成するために再利用される方法。
【請求項２】
請求項１に記載のソフト出力ビタビ・アルゴリズム法において、
加算比較選択ユニットを使用して複数のサバイバー・パスを決定するステップと、
複数ステップ・トレリス・サイクルの各単一ステップ・トレリス期間について勝ちパスである第１のパスと、複数ステップ・トレリス・サイクルの第１の単一ステップ・トレリス期間について負けパスであり、且つ、複数ステップ・トレリス・サイクルの第２の単一ステップ・トレリス期間について勝ちパスである別のパスとの間の差に基づいて、複数ステップ・トレリス・サイクルの第１の単一ステップ・トレリス期間についてパス・メトリック差Δ−１を生成するステップとをさらに含み、該生成するステップは、該決定するステップの間に計算された中間パス・メトリック値及び中間パス・メトリック差値のうちの１つ又は複数を再利用する方法。
【請求項３】
請求項１に記載のソフト出力ビタビ・アルゴリズム法において、
少なくとも３つの選択信号を使用して、複数ステップ・トレリスを通る複数のパスを所定の状態に定義するステップをさらに含み、該複数のパスのうち第１のパスは、複数ステップ・トレリス・サイクルの各単一ステップ・トレリス期間について勝ちパスであり、該複数のパスのうち第２のパスは、複数ステップ・トレリス・サイクルの第１の単一ステップ・トレリス期間について勝ちパスであり、且つ、複数ステップ・トレリス・サイクルの第２の単一ステップ・トレリス期間について負けパスであり、該複数のパスのうち第３のパスは、複数ステップ・トレリス・サイクルの第１の単一ステップ・トレリス期間について負けパスであり、且つ、複数ステップ・トレリス・サイクルの第２の単一ステップ・トレリス期間について勝ちパスである方法。
【請求項４】
請求項１に記載のソフト出力ビタビ・アルゴリズム法において、
複数ステップ・トレリス・ソフト出力ビタビ・アルゴリズム検出器は、複数ステップ・トレリスを使用して、該受信した信号と関連する１つ又は複数のビットの該値を判定し、該１つ又は複数の信頼性値を決定する方法。
【請求項５】
請求項２に記載のソフト出力ビタビ・アルゴリズム法において、
複数ステップ・トレリス・サイクルの各単一ステップ・トレリス期間について勝ちパスである第１のパスと、複数ステップ・トレリス・サイクルの第１の単一ステップ・トレリス期間について勝ちパスであり、且つ、複数ステップ・トレリス・サイクルの第２の単一ステップ・トレリス期間について負けパスである別のパスとの間の差に基づいて、複数ステップ・トレリス・サイクルの第２の単一ステップ・トレリス期間についてパス・メトリック差Δ０を生成するステップをさらに含む方法。
【請求項６】
請求項４に記載のソフト出力ビタビ・アルゴリズム法において、
該複数ステップ・トレリス・ソフト出力ビタビ・アルゴリズム検出器は、複数ステップ・トレリス・サイクルごとに少なくとも１つの信頼性値を計算するために、複数ステップ・トレリス・サイクルごとに複数のパス・メトリック差を計算する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、参照により本明細書に組み込まれている、２００４年５月２５日に出願した米国仮出願第１０／８５３０８７号、名称「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍｕｌｔｉｐｌｅ  Ｓｔｅｐ  Ｖｉｔｅｒｂｉ  Ｄｅｔｅｃｔｉｏｎ  ｗｉｔｈ  Ｌｏｃａｌ  Ｆｅｅｄｂａｃｋ」に関する。
本発明は、全般的に、ソフト出力ビタビアルゴリズム（Ｓｏｆｔ−Ｏｕｔｐｕｔ  Ｖｉｔｅｒｂｉ  Ａｌｇｏｒｉｔｈｍ：ＳＯＶＡ）を使用する等化技法、検出技法、および復号技法に関する。
【背景技術】
【０００２】
磁気記録読取チャネルは、アナログ読取チャネルを、磁気媒体に記録されたユーザ・データの推定値に変換する。読取ヘッドおよび磁気媒体は、雑音および他のひずみを読取信号に導入する。磁気記録の情報密度が高まるにつれて、符号間干渉（ＩＳＩ）も激しくなる。読取チャネル・チップでは、ビタビ検出器が、通常、符号間干渉および雑音の存在下で読取データ・ビットを検出するのに使用される。
【０００３】
Ｓｏｆｔ−Ｏｕｔｐｕｔ  Ｖｉｔｅｒｂｉ  Ａｌｇｏｒｉｔｈｍ（ＳＯＶＡ）は、ビタビ検出器内で軟判定を生成する周知の技法である。軟判定は、検出されたビットに、対応する信頼性を与える。これらの軟判定は、出力検出器によって、システム全体の誤り率性能を改善するのに使用することができる。ＳＯＶＡ検出器のより詳細な議論については、たとえば、J. Hagenauer and P. Hoeher、「A Viterbi Algorithm with Soft-decision Outputs and its Applications」、IEEE Global Telecommunications Conference (GLOBECOM)、vol. 3、1680〜1686ページ（１９８９年１１月）を参照されたい。ＳＯＶＡアーキテクチャは、１ステップ・トレリスについて存在し、この場合に、１クロック・サイクルあたり１つの軟判定が生成される。ＳＯＶＡ検出器は、たとえば、次世代読取チャネル・システムで実装することができ、２ギガビット毎秒を超えるデータ・レートを達成しなければならない。１ステップ・トレリスを考慮する既存のＳＯＶＡアーキテクチャを用いてそのように高いデータ・レートを達成することは、むずかしい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国仮出願第１０／８５３０８７号
【非特許文献】
【０００５】
【非特許文献１】J. Hagenauer and P. Hoeher、「A Viterbi Algorithm with Soft-decision Outputs and its Applications」、IEEE Global Telecommunications Conference (GLOBECOM)、vol. 3、1680〜1686ページ（１９８９年１１月）
【非特許文献２】O. J. Joeressen and H. Meyr、「A 40-Mb/s Soft-Output Viterbi Decoder」、IEEE J. Solid-State Circuits、vol. 30、812〜818ページ（１９９５年７月）
【非特許文献３】E. Yeo他、「A 500-Mb/s Soft-Output Viterbi Decoder」、IEEE Journal of Solid-State Circuits、vol. 38、1234〜1241ページ（２００３年７月）
【非特許文献４】O. J. Joeressen他、「High-Speed VLSI Architectures for Soft-Output Viterbi Decoding」、Journal of VLSI Signal Processing、vol. 8、169〜181ページ（１９９４年）
【非特許文献５】R. Cypher and C. B. Shung、「Generalized Trace-Back Techniques for Survivor Memory Management in the Viterbi Algorithm」、Journal of VLSI Signal Processing、85〜94ページ（１９９３年）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、たとえば発展するハイエンド・ストレージ応用例が必要とする、高いデータ・レートでＳＯＶＡ検出を実行する方法および装置の必要が存在する。複数ステップ・トレリスを使用してＳＯＶＡ検出を実行する方法および装置のさらなる必要が存在する。
【課題を解決するための手段】
【０００７】
一般に、Ｓｏｆｔ−Ｏｕｔｐｕｔ  Ｖｉｔｅｒｂｉ  ａｌｇｏｒｉｔｈｍ（ＳＯＶＡ）を実行する方法および装置を提供する。本発明の１態様によれば、受け取られた信号に関連する１つまたは複数のビットの値および１つまたは複数の信頼性値が、複数ステップ・トレリスを使用して判定される。判定されたビットおよび信頼性は、受け取られた信号のレートを複数ステップ・トレリスのステップ数で割ったレートで生成される。
【０００８】
本発明のもう１つの態様によれば、パスが、複数ステップ−トレリス・サイクルの第１および第２の単一ステップ−トレリス期間の勝ちパスまたは負けパスのどちらであるかに基づいて、複数のパスが定義される。さまざまなパスを使用して、パス・メトリック差Δ０およびΔ−１を生成する。次に、パス・メトリック差Δ０およびΔ−１を使用して、複数ステップ・トレリスを介する最尤パスに関連する少なくとも１つのビット判断の少なくとも１つの信頼性値を判定する。
本発明のより完全な理解ならびに本発明のさらなる特徴および利益は、次の詳細な説明および図面を参照することによって得られる。
【図面の簡単な説明】
【０００９】
【図１】メモリＬ＝２を有するチャネルを示す１ステップ・トレリス図である。
【図２】図１に示された１ステップ・トレリスの２ステップＳＯＶＡを示す図である。
【図３】１ステップ・トレリスを使用するＳＯＶＡ実装を示す概略ブロック図である。
【図４】メモリＬ＝３を有するチャネルの１ステップ・トレリスを示す図である。
【図５】メモリＬ＝３を有するチャネルの２ステップ・トレリスを示す図である。
【図６】２ステップ・トレリスのＳＯＶＡ実装を示す概略ブロック図である。
【図７】２ステップ・トレリスのＳＯＶＡ実装を示す詳細な概略ブロック図である。
【図８】２ステップ・トレリスのＳＯＶＡ検出器によって計算されるパス・メトリック差を示す図である。
【図９】図７のＡＣＳ動作とパス・メトリック差Δ−１およびΔ０の生成の例示的実装を示す概略ブロック図である。
【図１０】図７のＡＣＳ動作とパス・メトリック差Δ−１およびΔ０の生成の代替実装を示す概略ブロック図である。
【図１１】図７のサバイバー・メモリ・ユニットの例示的実装を示す概略ブロック図である。
【図１２】偶数１ステップ−トレリス期間に対応するビットの図７のパス比較の例示的実装を示す概略ブロック図である。
【図１３】奇数１ステップ−トレリス期間に対応するビットの図７のパス比較の例示的実装を示す概略ブロック図である。
【図１４】最尤（ＭＬ）パスの図７の信頼性更新の例示的実装を示す概略ブロック図である。
【発明を実施するための形態】
【００１０】
本発明では、ＳＯＶＡ検出器の達成可能データ・レートに対する限界が、複数ステップ・トレリスを使用することによって克服されることが認識されている。複数ステップ・トレリスは、複数の時間ステップにまたがる遷移を１つに縮小することによって１ステップ・トレリスから得られる。言い換えると、複数ステップ・トレリスでの各遷移は、１ステップ・トレリスでの複数の遷移に対応する。たとえば、例示的な２ステップ・トレリスでは、２ステップ・トレリスの各遷移が、オリジナルの１ステップ・トレリスでの２つの遷移に対応する。本発明によるＳＯＶＡ検出器は、１ステップ・トレリスを使用する従来の設計のデータ・レートの約２倍のデータ・レートで動作することができる。２を超えるステップ・サイズを有する複数ステップ・トレリスについて、さらに高い速度向上が達成可能である。
【００１１】
１ステップＳＯＶＡ
本発明を、ビタビ検出に信頼性処理が続く２ステップＳＯＶＡの文脈で例示する。１ステップ・トレリスに関する適切な２ステップＳＯＶＡアーキテクチャの議論については、たとえば、O. J. Joeressen and H. Meyr、「A 40-Mb/s Soft-Output Viterbi Decoder」、IEEE J. Solid-State Circuits、vol. 30、812〜818ページ（１９９５年７月）、およびE. Yeo他、「A 500-Mb/s Soft-Output Viterbi Decoder」、IEEE Journal of Solid-State Circuits、vol. 38、1234〜1241ページ（２００３年７月）を参照されたい。しかし、本発明は、当業者に明白であるように、すべてのＳＯＶＡ実装に適用される。適切な１ステップＳＯＶＡの議論については、たとえば、参照により本明細書に組み込まれている、J. Hagenauer and P. Hoeher、「A Viterbi algorithm with Soft-Decision Outputs and its Applications」、IEEE Global Telecommunications Conference (GLOBECOM)、vol. 3、1680〜1686ページ（１９８９年１１月）およびO. J. Joeressen他、「High-Speed VLSI Architectures for Soft-Output Viterbi Decoding」、Journal of VLSI Signal Processing、vol. 8、169〜181ページ（１９９４年）を参照されたい。用語「１ステップＳＯＶＡ」および「２ステップＳＯＶＡ」を用語「複数ステップ・トレリス」と区別することが重要である。用語「ｎステップＳＯＶＡ」は、複数のステップｎが、ビタビ処理および信頼性処理の実行に必要であることを示すが、用語「複数ステップ・トレリス」は、複数の時間ステップにまたがる遷移を１つに縮小することによって１ステップ・トレリスから得られるトレリスを示す。
【００１２】
１ステップ・トレリス用の２ステップＳＯＶＡ
図１に、１ステップ・トレリス１００を示すが、ここで、状態は、２つの最も最近の状態ビットｂ０ｂ−１によって定義され、ｓｔａｔｅ（ｂ０ｂ−１）と表される。このトレリスは、たとえばメモリＬ＝２を有するＩＳＩチャネルに対応する。ビットｂ０は、次の推移に関連する。
ｓｔａｔｅ（ｂ−１ｂ−２）→ｓｔａｔｅ（ｂ０ｂ−１）
【００１３】
図２に、図１に示されたトレリス１００の拡張版２００の２ステップＳＯＶＡを示す。この２ステップＳＯＶＡは、たとえば、O. J. Joeressen and H. Meyr、「A 40 Mb/s Soft-Output Viterbi Decoder」、IEEE Journal of Solid-State Circuits、Vol. 30, 812〜818ページ（１９９５年７月）で説明されている。２ステップＳＯＶＡの第１ステップでは、従来のビタビ・アルゴリズムに似た形で、図２の最尤（ＭＬ）パス２１０を判定する。図２には、全部で４つの状態｛ｓｔａｔｅ（ｂ３ｂ２）｝への４つの（生き残りパス（経路）サバイバー・パス，ｓｕｒｖｉｖｏｒ ｐａｔｈ）が判定された後の、時間ステップｎ＝３でのビタビ・アルゴリズムの定常状態が示されている。ＭＬパス２１０の開始状態２５０｛ｓｔａｔｅ（ｂ０ｂ−１）｝は、最小パス・メトリックを有する｛ｓｔａｔｅ（ｂＤｂＤ−１）｝からのＤステップ・トレースバックによって識別することができ、ここで、Ｄは、サバイバー・メモリ・ユニットのパス・メモリ深さである。図２の例では、Ｄ＝３と仮定されている。
２ステップＳＯＶＡの第２ステップでは、開始状態ｓｔａｔｅ（ｂ０ｂ−１）で終わるＭＬパス２１０に沿ったビット判断の信頼性を更新する。信頼性更新深さを、Ｕによって表す。
【数１】
0005618247.tif 000002
が、開始状態
【数２】
0005618247.tif 000003
で終わるＭＬパス２１０の状態ビットを表すものとする。また、
【数３】
0005618247.tif 000004
が、開始状態
【数４】
0005618247.tif 000005
で終わる、図２の競合する負けパス２３０の状態ビットを表すものとする。
開始状態
【数５】
0005618247.tif 000006
へのＭＬパス２１０と競合するパス２３０との間の絶対パス・メトリック差を、
【数６】
0005618247.tif 000007
によって表す。
【数７】
0005618247.tif 000008
を使用して更新される、ビット
【数８】
0005618247.tif 000009
のＵ個の中間信頼性を、それぞれ、
【数９】
0005618247.tif 000010
によって表す。信頼性は、次のルールに従って更新される。
初期化：
【数１０】
0005618247.tif 000011
【数１１】
0005618247.tif 000012
ここで、
【数１２】
0005618247.tif 000013
は、開始状態
【数１３】
0005618247.tif 000014
のパス・メトリック差
【数１４】
0005618247.tif 000015
を使用して前のクロック・サイクルに更新された中間信頼性であり、
【数１５】
0005618247.tif 000016
は、ビット
【数１６】
0005618247.tif 000017
の最終的な信頼性である。
この更新の式から、ビット
【数１７】
0005618247.tif 000018
の信頼性が、まず無限大に初期化される
【数１８】
0005618247.tif 000019
ことがわかる。次に、ＭＬパス２１０の開始状態２５０が、
【数１９】
0005618247.tif 000020
から
【数２０】
0005618247.tif 000021
に移動し、
【数２１】
0005618247.tif 000022
から
【数２２】
0005618247.tif 000023
への対応する絶対パス・メトリック差が使用可能になった時に、ビット
【数２３】
0005618247.tif 000024
の信頼性が、ビット
【数２４】
0005618247.tif 000025
がめいめいの競合パスのビットと一致する場合には前の信頼性、さもなければパス・メトリック差および前の信頼性の最小値のいずれかを使用することによって、Ｕ回更新される。
【００１４】
信頼性の更新は、図２ではＵ＝３について示されており、ここで、ＭＬパス２１０および競合するパス２３０が、開始状態
【数２５】
0005618247.tif 000026
に合流し、中間信頼性
【数２６】
0005618247.tif 000027
および
【数２７】
0005618247.tif 000028
が、パス・メトリック差
【数２８】
0005618247.tif 000029
および前の更新手順からのめいめいの中間信頼性すなわち
【数２９】
0005618247.tif 000030
および
【数３０】
0005618247.tif 000031
に基づいて更新される。図２の例では、ビット
【数３１】
0005618247.tif 000032
および
【数３２】
0005618247.tif 000033
が互いに異なるので、
【数３３】
0005618247.tif 000034
と
【数３４】
0005618247.tif 000035
の最小値をとることによって、
【数３５】
0005618247.tif 000036
だけが更新される。
【００１５】
１ステップ・トレリス用のＳＯＶＡアーキテクチャ
図３は、１ステップ・トレリス用のＳＯＶＡ検出器３００（下では１ステップ−トレリスＳＯＶＡ検出器とも称する）を示す概略ブロック図である。図３からわかるように、１ステップ−トレリスＳＯＶＡ検出器３００は、周知の形で、受け取った信号を処理して軟判定を生成する。各軟判定に、検出されたビットおよび対応する信頼性値が含まれる。ＳＯＶＡ検出器３００は、入力信号が受け取られるレートｆＲと同一のレートｆＳで軟判定を生成する。ＳＯＶＡのより詳細な議論については、たとえば、J. Hagenauer and P. Hoeher、「A Viterbi Algorithm with Soft-Decision Outputs and its Applications」、IEEE Global Telecommunications Conference (GLOBECOM)、vol. 3、1680〜1686ページ（１９８９年１１月）を参照されたい。
【００１６】
より高いデータ・レートでのＳＯＶＡ検出
図４に、メモリＬ＝３を有するＩＳＩチャネルの１ステップ・トレリス４００を示す。８つのチャネル状態があり、ビットｂｎ＝０およびｂｎ＝１に対応する２つの枝が、各状態ｓｔａｔｅ（ｂ−１ｂ−２ｂ−３）を出て、めいめいの連続する状態ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）に入る。
【００１７】
前に示したように、本発明は、オリジナルの１ステップ・トレリス４００を、図５に示された複数ステップ・トレリス５００に変換することによって、ＳＯＶＡ検出器によって達成できる最大データ・レートを高める。図５に、本発明による、図４の１ステップ・トレリス４００に対応する、メモリＬ＝３を有するＩＳＩチャネルの例示的な２ステップ・トレリス５００を示す。図４と５の両方のトレリスは、チャネル・メモリがＬ＝３と等しい例示的な事例に関するものである。本発明を、図５の例示的な２ステップ・トレリス５００を使用して説明するが、本発明は、当業者に明白であるように、複数ステップ・トレリスで３つ以上のステップが同時に処理される事例に一般化される。図５からわかるように、１つのステップが２ステップ・トレリス５００で処理される時に、オリジナルの１ステップ・トレリス４００からの２つのステップが、同時に処理される。この形で、２ステップ・トレリスを使用する場合に、ハードウェア実装で達成できる最大データ・レートは、１ステップ−トレリス実装と比較して、効果的に約２倍に増える。オリジナルの１ステップ・トレリスからの３つ以上のステップが複数ステップ・トレリスで同時に処理される場合に、より高いデータ・レート向上を達成することができる。
２ステップ・トレリス用のＳＯＶＡアーキテクチャ
【００１８】
図６は、本発明の特徴を組み込んだ、２ステップ・トレリスのＳＯＶＡ実装６００（下では、２ステップ−トレリスＳＯＶＡ検出器とも称する）を示す概略ブロック図である。図６からわかるように、直列の受け取られた信号が、ステージ６１０で並列信号に変換され、その並列信号が、たとえば図７に関して下で述べる例示的実装を使用して、２ステップ−トレリスＳＯＶＡ検出器６００によって処理される。２ステップ−トレリスＳＯＶＡ検出器６００は、入力信号が受け取られるレートｆＲの半分のレートｆＳ＝１／２・ｆＲで、検出されたビットおよび信頼性を生成する。したがって、１クロック・サイクルあたり２つの軟判定が生成される。２ステップ−トレリスＳＯＶＡ検出器６００の並列出力を、ステージ６５０で直列信号に変換することができる。
【００１９】
図７に、本発明の特徴を組み込んだ２ステップ・トレリス用の例示的な２ステップＳＯＶＡアーキテクチャ７００の詳細な概略ブロック図を示す。図７からわかるように、２ステップ・トレリス用の例示的なＳＯＶＡアーキテクチャ７００に、枝メトリック（ｂｒａｎｃｈ ｍｅｔｒｉｃ）ユニット（ＢＭＵ）７１０が含まれる。
【００２０】
ＢＭＵ  ７１０を、一般性を失わずに、図５に示された２ステップ・トレリスについて説明する。ＢＭＵ  ７１０は、１ステップ−トレリス枝メトリックｍ（００００）、ｍ（０００１）、…、ｍ（１１１１）を次のように計算する。
ｍ（ｂ０ｂ−１ｂ−２ｂ−３）＝［ｙ−ｅ（ｂ０ｂ−１ｂ−２ｂ−３）］２
ここで、減算される項ｅ（ｂ０ｂ−１ｂ−２ｂ−３）は、状態ビット・ブロック（理想的な出力がそれに依存する）がｂ０ｂ−１ｂ−２ｂ−３であるという条件の下での理想的な（雑音がない）チャネル出力である。
【００２１】
各２ステップ−トレリス・クロック・サイクルに、各１ステップ−トレリス枝メトリックが、２つの別個の２ステップ−トレリス枝メトリックの加数として使用される。ｂ０が２ステップ−トレリス・サイクルの後の１ステップ−トレリス期間の最も最近のビットである、５つの状態ビットｂ０ｂ−１ｂ−２ｂ−３ｂ−４の２ステップ−トレリス枝メトリックは、次式によって与えられる。
ｍｂｒａｎｃｈ（ｂ０ｂ−１ｂ−２ｂ−３ｂ−４）＝ｍ（ｂ−１ｂ−２ｂ−３ｂ−４）＋ｍ（ｂ０ｂ−１ｂ−２ｂ−３）
【００２２】
さらに、例示的な２ステップ−トレリスＳＯＶＡアーキテクチャ７００に、下で図９および１０に関して述べる加算比較選択ユニット（ＡＣＳＵ）９００、下で図１１に関して述べるサバイバー・メモリ・ユニット（ＳＭＵ）１１００、下で図１２および１３に関して述べるパス比較ユニット１２００、下で図１４に関して述べる信頼性ユニット１４００、および複数の遅延オペレータＤ１〜Ｄ３が含まれる。
【００２３】
ＢＭＵ  ７１０、ＡＣＳＵ  ９００、およびＳＭＵ  １１００は、２ステップＳＯＶＡの第１ステップすなわち、ビタビ・アルゴリズムを使用する最尤シーケンス検出を実装する。２ステップＳＯＶＡの第２ステップは、めいめいの勝−勝パスと競合するパスを計算するパス比較ユニット１２００と、ＭＬパスの信頼性を更新する信頼性更新ユニット１４００によって実装される。
パスメトリック差およびＡＣＳ判断の定義
【００２４】
従来の１ステップ−トレリスＳＯＶＡ実装では、O.J. Joeressen and H. Meyr、「A 40 Mb/s Soft-Output Viterbi Decoder」、IEEE Journal of Solid-State Circuits、Vol. 30、812〜818ページ（１９９５年７月）に記載のように、各（１ステップ−トレリス）クロック・サイクルに状態ごとに１つの絶対パス・メトリック差を計算する。本発明では、オリジナルの１ステップ・トレリス４００からの２ステップが同時に処理される２ステップ・トレリスの例示的実装で、２つのパス・メトリック差を各（２ステップ−トレリス）クロック・サイクルに状態ごとに計算することが認められている。したがって、下で図９および図１０に関して述べるように、ＡＣＳＵ  ９００は、状態ごとに、（２ステップ−トレリス）クロック・サイクルの第１期間および第２期間の２つのメトリック差Δ−１およびΔ０を計算する。
【００２５】
図８に、例示的な１ステップ・トレリス４００および２ステップ・トレリス５００に関する２ステップ−トレリスＳＯＶＡ検出器６００でのパス・メトリック差Δ−１およびΔ０の計算を示すが、ここで、ｎは、１ステップ−トレリス時間インデックスであり、ｍは、２ステップ−トレリス時間インデックスである。２ステップ−トレリスＳＯＶＡ実装では、各２ステップ−トレリス・サイクルに、２つの１ステップ・トレリス期間が含まれる。たとえば、図８に示されているように、２ステップ−トレリス・インデックスｍ＝０に関連するサイクルに、１ステップ−トレリス・インデックスｎ＝０およびｎ＝−１に関連する２つの１ステップ−トレリス期間が含まれる。図８に、４つの競合するパス８１０、８２０、８３０、および８４０が示されている。各パス８１０、８２０、８３０、および８４０は、３ビット・ブロックｂ０ｂ−１ｂ−２＝０００によって定義される状態で終わる状態への２ステップ−トレリス・クロックの各１ステップ−トレリス期間にそのパスが勝つか負けるかを示すめいめいの２ビット選択信号を用いて識別することができる。たとえば、勝ち−負けパス８１０は、２ステップ−トレリス・サイクルの第１期間（ｎ＝−１）に（負け−負けパスに対して）勝ち、第２期間（ｎ＝０）に（勝ち−勝ちパスに対して）負ける。
図８には、３ビット・ブロックｂ０ｂ−１ｂ−２＝０００によって定義される状態で終わる４つの競合するパス８１０、８２０、８３０、および８４０が示されている。
【００２６】
２ステップ−トレリス・サイクルの第２期間の、１ステップ−トレリス・インデックスｎ＝０に関連する状態へのパス・メトリック差Δ０は、勝ち−勝ちパス・セグメント８２０−０と勝ち−負けパス・セグメント８１０−０の間の差である。２ステップ−トレリス・サイクルの第１期間の、１ステップ−トレリス・インデックスｎ＝−１に関連するめいめいの状態へのパス・メトリック差Δ−１は、勝ち−勝ちパス・セグメント８２０−１と負け−勝ちパス・セグメント８３０−１の間の差である。
【００２７】
従来の１ステップ−トレリスＳＯＶＡ実装で、ＡＣＳは、状態ごとにトレリスを介する勝ちパスに沿ってトレース・バックする枝を示す単一のＡＣＳ判断ｅを生成する。例示的な規約によれば、ｅ＝０の値は、状態からの上の枝をトレース・バックする表示を提供する。本発明は、２ステップ−トレリスＳＯＶＡ実装で、ＡＣＳ ９００が、２ステップ−トレリス・サイクルごとにトレリスを介する勝ち−勝ちパスに沿ってトレース・バックする枝を示す２ビットＡＣＳ判断ｅｆを２ステップ−トレリス・サイクルごとに生成する必要があり、ｅが、２ステップ−トレリス・サイクルの第１期間に対応し、ｆが、２ステップ−トレリス・サイクルの第２期間に対応することが認められている。したがって、ｅｆ＝００という２ビットＡＣＳ判断は、３ビット・ブロックｂ０ｂ−１ｂ−２＝０００によって定義される状態で終わる状態から、勝ち−勝ちパス８２０に沿ったトレリス８００を介して３ビット・ブロックｂ−２ｂ−３ｂ−４＝０００によって定義される状態への上側の枝をトレース・バックする表示を提供する。
【００２８】
やはり、２ステップ−トレリス・サイクルの第２期間のパス・メトリック差Δ０は、勝ち−勝ちパス・セグメント８２０−０と勝ち−負けパス・セグメント８１０−０の間の差である。同様に、２ステップ−トレリス・サイクルの第１期間のパス・メトリック差Δ−１は、勝ち−勝ちパス・セグメント８２０−１と負け−勝ちパス・セグメント８３０−１の間の差である。したがって、パス・メトリック差Δ０およびΔ−１を計算するためには、３つの異なるパスを区別する必要がある（勝ち−勝ちパス８２０、勝ち−負けパス８１０、および負け−勝ちパス８３０）。しかし、２ビットＡＣＳ判断ｅｆは、このパスのうちの２つだけの区別を可能にする。勝ち−勝ちパス８２０は、２ビットＡＣＳ判断ｅｆ＝００を使用して識別することができる。負け−勝ちパス８３０は、２ビット選択信号
【数３６】
0005618247.tif 000037
を使用して識別することができ、これは、ｅを使用し、ｆを反転することによってＡＣＳ判断から導出することができる（
【数３７】
0005618247.tif 000038
は、ｆの反転を表す）。第２の勝ち−負けパス・セグメント８１０−０を、ＡＣＳ判断ｅに関してすなわち
【数３８】
0005618247.tif 000039
によって識別することができるが、第１の勝ち−負けパス・セグメント８１０−１は、ＡＣＳ判断ｆに関して識別することができない。したがって、２ステップ−トレリスを介する勝ち−負けパス８１０を十分に定義するために、下でさらに述べるように、追加の選択信号Ｆを生成する。
【００２９】
ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）への最良のパスすなわち、勝ち−勝ちパス８２０は、ビット・シーケンスｂ０ｂ−１ｂ−２ｂ−３ｂ−４＝ｂ０ｂ−１ｂ−２ｅｆ＝０００００によって与えられる。
したがって、負け−勝ちパス８３０は、２ステップ−トレリス・サイクルの第１期間に勝ち−勝ちパス８２０に負け、その後、勝ち−勝ちパス８２０の一部になるパスである。このパス８３０は、ビット・シーケンス
【数３９】
0005618247.tif 000040
によって与えられ、ＡＣＳ判断ｅおよび反転されたＡＣＳ判断
【数４０】
0005618247.tif 000041
を使用することによって、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）から状態ｓｔａｔｅ（ｂ−１ｂ−２ｅ）にトレース・バックすることができ、その後、ｓｔａｔｅ（ｂ−１ｂ−２ｅ）から
【数４１】
0005618247.tif 000042
にトレース・バックすることができる。パス・メトリック差Δ−１は、勝ち−勝ちパス・セグメント８２０−１と負け−勝ちパス・セグメント８３０−１の間のパス・メトリック差と定義される。
勝ち−負けパス８１０は、
【数４２】
0005618247.tif 000043
への勝ちパスであり、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）への負けパスである。状態
【数４３】
0005618247.tif 000044
への２つのパスの１ステップ−トレリスＡＣＳ判断を、Ｆによって表す。すると、勝ち−負けパス８１０を、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）から
【数４４】
0005618247.tif 000045
へ、その後
【数４５】
0005618247.tif 000046
へトレース・バックすることができる。図８の例では、勝ち−負けパス８１０が、状態シーケンス
【数４６】
0005618247.tif 000047
によって与えられる。パス・メトリック差Δ０は、勝ち−勝ちパス・セグメント８２０−０と勝ち−負けパス・セグメント８１０−０の間のパス・メトリック差と定義される。
負け−負けパス８４０は、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）から
【数４７】
0005618247.tif 000048
および
【数４８】
0005618247.tif 000049
へトレース・バックすることができるが、パス・メトリック差Δ−１およびΔ０の計算には重要でない。
【００３０】
要約すると、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）ごとに、２つのパス・メトリック差Δ−１およびΔ０が計算され、前者は、２ステップ−トレリス・サイクルの第１期間、後者は第２期間に関する。負け−勝ちパス８３０は、２ビット選択信号
【数４９】
0005618247.tif 000050
を使用することによって、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）から
【数５０】
0005618247.tif 000051
にトレース・バックすることができ、勝ち−負けパス８１０は、２ビット選択信号
【数５１】
0005618247.tif 000052
を使用することによって、ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）から
【数５２】
0005618247.tif 000053
にトレース・バックすることができる。
【００３１】
図７に戻ると、パス・メトリック差Δ０およびΔ−１ならびにＡＣＳ判断、ｅ、ｆ、およびＦは、パス・メモリおよび遅延バッファＤ１の遅延と等しい時間だけ遅延バッファＤ２で遅延される。パス比較ユニット１２００は、状態ごとおよび信頼性更新ウィンドウ内のビットごとに、勝ち−勝ちパスおよびめいめいの競合するパスがビット判断に関して一致するかどうかを示す同等性ビットを生成する。ＭＬパスの開始状態に対応するパス・メトリック差および同等性ビットが、遅延バッファＤ１内の状態ビットによって定義される選択信号に基づいて選択される。ＳＭＵの出力でのＭＬ経路の状態ビットが、まず、遅延バッファＤ１に保管され、その後、遅延バッファＤ３に保管される。
ＡＣＳＵ
【００３２】
図９は、図７のＡＣＳＵ  ９００ならびに、パス・メトリック差Δ−１およびΔ０と追加ＡＣＳ判断Ｆの生成の例示的実装を示す概略ブロック図である。例示的なＡＣＳＵ ９００は、図５に示されたトレリス５００など（各状態が過去の３つの状態ビットｂ０ｂ−１ｂ−２によって定義される）状態ごとに４つの遷移を有する８状態２ステップ・トレリスを考慮する。各２ステップ−トレリス枝メトリックｍｂｒａｎｃｈ（ｂ０ｂ−１ｂ−２ｂ−３ｂ−４）は、２ステップ・トレリス８００での遷移の開始状態を定義する３つの状態ビットｂ−２ｂ−３ｂ−４に依存し、パス拡張に対応する２つの状態ビットｂ０ｂ−１にも依存する。上のパス拡張のパス・メトリックは、
【数５３】
0005618247.tif 000054
によって計算され、ここで、ｍｐａｔｈ（ｂ−２ｂ−３ｂ−４）は、前の２ステップ−トレリス・サイクルの状態ｓｔａｔｅ（ｂ−２ｂ−３ｂ−４）への勝ちパスのパス・メトリックである。
【００３３】
状態ごとに、ＡＣＳＵは、加算器９１０の組、比較器９２０、およびセレクタ９３０を使用することによって、ＡＣＳ動作を実行して、勝ちパスを判定する。たとえば、ｓｔａｔｅ（０００）について、この状態へのパス拡張の４つのパス・メトリックは、
【数５４】
0005618247.tif 000055
として計算される。
ｓｔａｔｅ（ｂ０ｂ−１ｂ２）への勝ちパス８２０のパス・メトリックは、この状態への４つのパス拡張のパス・メトリックの間での４ウェイ比較９２０を用いて判定される、すなわち、４つの値
【数５５】
0005618247.tif 000056
、
【数５６】
0005618247.tif 000057
、および
【数５７】
0005618247.tif 000058
のうちの最小値である。
【００３４】
ＡＣＳＵ  ９００では、パス・メトリック差Δ−１およびΔ０が、図９に示されているように、２ステップ−トレリスＡＣＳ動作の後に計算される。比較器９２０によって生成される２ビットの２ステップ−トレリスＡＣＳ判断ｅｆが、従来の２ステップ−トレリスＡＣＳＵと同様に、セレクタ９３０で勝ちパス（勝ち−勝ちパス８２０とも称する）のパス・メトリックを選択するのに使用される。負け−勝ちパス８３０のパス・メトリック９４０は、２ビット選択信号
【数５８】
0005618247.tif 000059
を使用することによって、セレクタ９５０によって選択される。パス・メトリック差Δ−１は、減算器９５５によって計算される、勝ち−勝ちパス８２０と負け−勝ちパス８３０のパス・メトリックの間の差の絶対値をとることによって計算される。
【００３５】
勝ち−負けパス８１０および負け−負けパス８４０は、選択信号
【数５９】
0005618247.tif 000060
に基づいて、２つの２対１マルチプレクサ９６０および９６５を使用して選択される。これは、それぞれ２ビットの選択信号
【数６０】
0005618247.tif 000061
および
【数６１】
0005618247.tif 000062
によって駆動される２つの４対１マルチプレクサを使用して勝ち−負けパスおよび負け−負けパス８４０を選択することと同等である。２つの選択されたパス・メトリックが、比較器９７０によって比較されて、勝ち−負けパス８１０のパス・メトリック９７５が識別され、対応するＡＣＳ判断Ｆが生成される。パス・メトリック９７５は、セレクタ９７２によって選択される。パス・メトリック差Δ０が、勝ち−勝ちパス８２０と勝ち−負けパス８１０のパス・メトリックの間の差の絶対値を計算する減算器９８０によって計算される。
【００３６】
図１０に、ＡＣＳ動作とパス・メトリック差Δ−１およびΔ０の生成の代替実装を示す。状態ごとに、ＡＣＳＵ  １０００は、加算器１０１０の組、比較器１０２０の組、選択論理、およびセレクタ１０３０を使用することによって、ＡＣＳ動作を実行して、勝ちパスを判定する。ｓｔａｔｅ（ｂ０ｂ−１ｂ−２）への勝ちパス８２０のパス・メトリックは、６つの並列同時２ウェイ比較１０２０を用いて判定される。並列同時比較を使用する複数ステップ・トレリスのＡＣＳ動作の実装のより詳細な議論については、参照により本明細書に組み込まれている、２００４年５月２５日に出願した米国仮出願第１０／８５３０８７号、名称「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍｕｌｔｉｐｌｅ−Ｓｔｅｐ  Ｖｉｔｅｒｂｉ  Ｄｅｔｅｃｔｉｏｎ ｗｉｔｈ  Ｌｏｃａｌ  Ｆｅｅｄｂａｃｋ」を参照されたい。
【００３７】
ＡＣＳＵ  １０００内で、パス・メトリック差Δ−１およびΔ０は、図１０に示されているように、２ステップ−トレリスＡＣＳ動作の後に選択または計算される。選択論理１０３０によって生成された２ビットの２ステップ−トレリスＡＣＳ判断ｅｆが、やはり、従来の２ステップ−トレリスＡＣＳＵと同様に、セレクタ１０３５による勝ちパス（勝ち−勝ちパス８２０とも称する）のパス・メトリックを選択するのに使用される。パス・メトリック差Δ−１が、セレクタ１０４５（２ビットＡＣＳ判断ｅｆを処理する選択論理１０４０によって制御される）によって選択され、セレクタ１０４５は、勝ち−勝ちパス８２０と負け−勝ちパス８３０のパス・メトリックの間の差の絶対値を作った適当な比較器１０２０の出力を選択する。
【００３８】
同様に、パス・メトリック差Δ０は、セレクタ１０５５（２ビットＡＣＳ判断ｅｆの第１ビットｅおよび選択信号Ｆを処理する選択論理１０５０によって制御される）によって選択され、セレクタ１０５５は、勝ち−勝ちパス８２０と勝ち−負けパス８１０のパス・メトリックの間の差の絶対値を作った適当な比較器１０２０の出力を選択する。
【００３９】
ＡＣＳ判断Ｆは、ＡＣＳＵ １０００内で次のように生成される。勝ち−勝ちパス８２０と勝ち−負けパス８１０の間のパス・メトリック差と、勝ち−勝ちパス８２０と負け−負けパス８４０の間のパス・メトリック差が、２つのセレクタ１０６０および１０６５を使用して選択され、これらのセレクタのそれぞれが、２ビットＡＣＳ判断ｅｆを処理する選択論理によって制御される。２つの選択されたパス・メトリック差を、比較器１０７０によって比較して、対応するＡＣＳ判断Ｆを生成する。
ＳＭＵ
【００４０】
図１１は、図７のサバイバー・メモリ・ユニット１１００の例示的実装を示す概略ブロック図である。一般に、ＳＭＵ １１００は、従来のレジスタ交換アーキテクチャを使用して、８つのすべてのサバイバー・パスの状態ビットを保管し、更新し、ここで、マルチプレクサ１１１０は、２ビットの２ステップ−トレリスＡＣＳ判断ｅｆによって制御される。図１１には、サバイバー・パスに沿ったｓｔａｔｅ（ｂ０ｂ−１ｂ−２）への奇数および偶数の状態ビット
【数６２】
0005618247.tif 000063
を保管する、サバイバー・メモリ・ユニット１１００の二重の行が示されている。この例示的実施形態の上の行は、ＡＣＳ判断ｅｆの制御の下で、事前定義の状態ビットｂ０および対応する他の状態からの事前定義の状態ビットを処理し、下の行は、ＡＣＳ判断ｅｆの制御の下で、事前定義の状態ビットｂ−１および対応する他の状態からの事前定義の状態ビットを処理する。図１１に示された二重行構造は、８つのすべての状態について実装される。状態および保管されたサバイバー・ビット対ごとに、ＳＭＵ １１００は、構成機能ユニットとして２つのマルチプレクサ１１１０および２つのレジスタ１１２０を実装する。ＳＭＵ １１００は、出力で、最終的なサバイバー・ビット
【数６３】
0005618247.tif 000064
および
【数６４】
0005618247.tif 000065
を作り、ここで、Ｄは、パス・メモリ深さである。例示的な実施形態１１００では、Ｄ＝８である。レジスタ交換ＳＭＵアーキテクチャの議論については、たとえば、R. Cypher and C. B. Shung、「Generalized Trace-Back Techniques for Survivor Memory Management in the Viterbi Algorithm」、Journal of VLSI Signal Processing、85〜94ページ（１９９３年）を参照されたい。
【００４１】
ＭＬパス８２０は、全体的に最小のパス・メトリックを有するパスである。全体的に最小のパス・メトリックを有する状態に対応するサバイバー・ビット
【数６５】
0005618247.tif 000066
および
【数６６】
0005618247.tif 000067
が、遅延バッファＤ１（図７）に供給され、
【数６７】
0005618247.tif 000068
および
【数６８】
0005618247.tif 000069
と表される。これらのビットは、ＭＬパス８２０の状態ビットであり、その両方が、信頼性更新動作の開始状態および最終ビット判断を決定する。
遅延バッファＤ１、Ｄ２、およびＤ３
【００４２】
前に示したように、図７の２ステップ−トレリスＳＯＶＡアーキテクチャ７００に、複数の遅延バッファＤ１〜Ｄ３が含まれる。遅延バッファＤ１は、ＭＬパス８２０に属するＳＭＵ １１００の最後の状態ビットを、２つの２ステップ−トレリス・クロック・サイクルだけ遅延させる。このバッファＤ１の最終的な３ビットによって、２ステップＳＯＶＡの第２ステップの開始状態が定義される。開始状態信号は、ＭＬパスのパス・メトリック差および同等性ビットの選択に使用される。
【００４３】
すべての状態のＡＣＳ判断ｅ、ｆ、およびＦとパス・メトリック差Δ−１およびΔ０も、遅延バッファＤ２で遅延される。Ｄ２の遅延は、パス・メモリの遅延とバッファＤ１の遅延の合計と等しい。遅延バッファＤ３は、さらに、バッファＤ１によって出力された状態ビットを遅延させる。Ｄ３の遅延は、信頼性更新ユニットの遅延と等しい。
パス比較ユニット
【００４４】
前に示したように、図１２および１３に示されたパス比較ユニット１２００は、状態ごとに、サバイバー・パスすなわち勝ち−勝ちパス８２０と競合するパスを計算する。さらに、パス比較ユニット１２００は、状態および信頼性更新ウィンドウ内のビットごとに、勝ち−勝ちパス８２０と競合パスがビット判断に関して一致するかどうかを示す同等性ビットを生成する。
【００４５】
図１２は、偶数１ステップ−トレリス期間に対応するビットのパス比較ユニット１２００−ｅｖｅｎの例示的実装を示す概略ブロック図であり、図１３は、奇数１ステップ−トレリス期間に対応するビットのパス比較ユニット１２００−ｏｄｄの例示的実装を示す概略ブロック図である（集合的に、パス比較ユニット１２００と称する）。パス比較ユニット１２００は、各２ステップ−トレリス・サイクルに、状態ごとに、遅延されたＡＣＳ判断ｅ、ｆ、およびＦを受け取り、これらから、選択信号ｅｆ、
【数６９】
0005618247.tif 000070
、および
【数７０】
0005618247.tif 000071
が導出される。パス比較ユニット１２００は、すべてのサバイバー・パスに対応するビットを保管し、更新する。パス比較ユニット１２００は、サバイバー・ビットごとに同等性ビットも計算し、同等性ビットは、サバイバー・パス８２０のビットと競合するパスのビットが異なる場合に１、そうでない場合に０である。
【００４６】
サバイバー・ビット
【数７１】
0005618247.tif 000072
は、図１２では、２ステップ−トレリス・サイクルの偶数の１ステップ−トレリス期間について生成され、図１３では、２ステップ−トレリス・サイクルの奇数の１ステップ−トレリス期間について生成されるものとして図示されている。
図１２および１３では、
【数７２】
0005618247.tif 000073
によって選択される勝ち−負けパス８１０のサバイバー・ビットと、
【数７３】
0005618247.tif 000074
によって選択される負け−勝ちパス８３０のサバイバー・ビットが、ｅｆによって選択される勝ち−勝ちパス８２０のサバイバー・ビットと比較されて、対応する同等性ビットが生成される。パス比較ユニット１２００は、サバイバー・メモリ・ユニット１１００のレジスタ交換実装に似ている。パス比較ユニット１２００−ｅｖｅｎおよび１２００−ｏｄｄの下の行に、すべての状態のサバイバー・パスを保管し、選択するレジスタ１２２０およびマルチプレクサ１２１０が含まれる。
【００４７】
さらに、パス比較ユニット１２００−ｅｖｅｎおよび１２００−ｏｄｄの上および中の行に、それぞれ選択信号
【数７４】
0005618247.tif 000075
および
【数７５】
0005618247.tif 000076
を使用して競合する負け−勝ちパス８３０および勝ち−負けパス８１０のビットを選択する、１ステップ−トレリス期間および状態ごとの２つのマルチプレクサ１２１０が含まれ、めいめいのパス（選択信号
【数７６】
0005618247.tif 000077
および
【数７７】
0005618247.tif 000078
に関連する負け−勝ちパス８３０または勝ち−負けパス８１０）のビットと勝つ（勝ち−勝ち）パスのビットが同等であるかどうかを示すめいめいの同等性ビットを生成する２つのＸＯＲゲートがある。表記ｑ−２，０は、サバイバー・ビット
【数７８】
0005618247.tif 000079
およびパス・メトリック差
【数７９】
0005618247.tif 000080
に関する同等性ビットを示し、ｑ−２，−１は、サバイバー・ビット
【数８０】
0005618247.tif 000081
およびパス・メトリック差
【数８１】
0005618247.tif 000082
に関する同等性ビットを示す。パス比較ユニット１２００−ｅｖｅｎおよび１２００−ｏｄｄの各列は、それぞれ偶数および奇数の１ステップ−トレリス期間に対応する。
【００４８】
図１２および１３の構造が、状態ごとに必要である。図１２および１３に、それぞれが３つのマルチプレクサ、２つのＸＯＲゲート、および１つのレジスタを含む複数の列が示されているが、図１２の最初の列は、この例示的実施形態で１つの同等性ビットすなわちｑ０，０だけを計算するので、この列に２つのマルチプレクサ、１つのＸＯＲゲート、および１つのレジスタだけが含まれる。パス比較ユニットは、状態ごとに、それぞれｑ−Ｕ＋２，−１、ｑ−Ｕ＋２，０およびｑ−Ｕ＋１，−１、ｑ−Ｕ＋１，０までの同等性ビットを生成し、Ｕは、信頼性更新長さである。例示的実施形態１２００では、Ｕ＝６である。
信頼性更新ユニット
【００４９】
図１４は、最尤パス８２０の信頼性を更新する、図７の信頼性更新ユニット１４００の例示的実装を示す概略ブロック図である。例示的な信頼性更新ユニット１４００は、２ステップ−トレリス・サイクルごとに２つの信頼性値を計算し、保管する。
【数８２】
0005618247.tif 000083
および
【数８３】
0005618247.tif 000084
は、開始状態へのＭＬパス８２０の遅延されたパス・メトリック差である（図７を参照されたい）。この２つの値は、図７に示された開始状態信号を使用して、バッファリングされたパス・メトリック差の間で選択される。
【数８４】
0005618247.tif 000085
は、開始状態
【数８５】
0005618247.tif 000086
および
【数８６】
0005618247.tif 000087
へのＭＬパスの同等性ビットである。これらの信号は、図７に示された開始状態信号を使用して、パス比較ユニット（図１２および１３を参照されたい）内で計算された同等性ビットの間で選択される。
信頼性
【数８７】
0005618247.tif 000088
は、
【数８８】
0005618247.tif 000089
に基づいて更新され、
【数８９】
0005618247.tif 000090
は、
【数９０】
0005618247.tif 000091
に基づいて更新される。
Ｒｍａｘは、ハードワイヤドされた値であり、最大信頼性値を表し、たとえばＲｍａｘ＝∞である。最初の信頼性
【数９１】
0005618247.tif 000092
および
【数９２】
0005618247.tif 000093
では、この例示的実施形態で、Ｒｍａｘを初期値と考える。
【００５０】
初期化の後に、例示的な機能要素１４１０などの機能要素に、例示的な機能ユニット１４２０などの４つの機能ユニットおよび２つのレジスタが含まれる。各機能ユニット１４２０に、比較器、マルチプレクサ、およびＡＮＤゲートが含まれる。信頼性更新ユニット１４００の上の行は、偶数の１ステップ−トレリス期間の信頼性値を計算し、下の行は、奇数の１ステップ−トレリス期間の信頼性値を計算する。たとえば、
【数９３】
0005618247.tif 000094
（前の２ステップ−トレリス・サイクルに計算された）および
【数９４】
0005618247.tif 000095
を使用して、対応する同等性ビット
【数９５】
0005618247.tif 000096
の制御の下で
【数９６】
0005618247.tif 000097
を計算する。その後、
【数９７】
0005618247.tif 000098
および
【数９８】
0005618247.tif 000099
を使用して、対応する同等性ビット
【数９９】
0005618247.tif 000100
の制御の下で
【数１００】
0005618247.tif 000101
を計算する。したがって、２つの機能ユニットが直列に動作して、まず
【数１０１】
0005618247.tif 000102
を計算し、次に
【数１０２】
0005618247.tif 000103
を計算する。類似する形で、２つの機能ユニットが直列に動作して、パス・メトリック差
【数１０３】
0005618247.tif 000104
および
【数１０４】
0005618247.tif 000105
と対応する同等性ビットとを使用することによって、まず
【数１０５】
0005618247.tif 000106
を計算し、次に
【数１０６】
0005618247.tif 000107
を計算する。要約すると、機能ユニットの２つのグループが、並列に動作して、同一の２ステップ−トレリス・サイクルの信頼性値
【数１０７】
0005618247.tif 000108
および
【数１０８】
0005618247.tif 000109
を計算し、各グループに、直列に動作する２つの機能ユニットが含まれる。
信頼性ユニット１４００は、最終的な信頼性
【数１０９】
0005618247.tif 000110
＃１および
を計算し、ここで、Ｕは、信頼性更新長さである。軟判定
【数１１０】
0005618247.tif 000111
が、たとえばルール
【数１１１】
0005618247.tif 000112
に従って、最終的な信頼性値および対応するビット判断に基づいて生成される。
【００５１】
図示し、本明細書で説明した実施形態および変形形態が、本発明の原理を例示するに過ぎず、当業者が、本発明の範囲および趣旨から逸脱せずにさまざまな変更を実装できることを理解されたい。
【図１】
0005618247.tif 000113
【図２】
0005618247.tif 000114
【図３】
0005618247.tif 000115
【図４】
0005618247.tif 000116
【図５】
0005618247.tif 000117
【図６】
0005618247.tif 000118
【図７】
0005618247.tif 000119
【図８】
0005618247.tif 000120
【図９】
0005618247.tif 000121
【図１０】
0005618247.tif 000122
【図１１】
0005618247.tif 000123
【図１２】
0005618247.tif 000124
【図１３】
0005618247.tif 000125
【図１４】
0005618247.tif 000126