(57)【特許請求の範囲】
【請求項１】
畳み込みエンコーダによって符号化し、雑音のあるチャネルを経て受信したビットシーケンスをＬｏｇ−ＭＡＰアルゴリズムに従って復号する際に使用する畳み込みエンコーダの状態遷移のためのＬｏｇ尤度比の値を計算する方法であって、前記方法が、第１の値のパリティビットに対応する遷移のみに関して実行されるステップ（ｉ）から（ｉｉｉ）、および第２の値のパリティビットに対応する遷移のみに関して実行されるステップ（ｉｖ）から（ｖｉ）、すなわち、
（ｉ）所与のトレリスバタフライの第１のエンコーダ状態に関連する順方向経路メトリック値に、前記第１のエンコーダ状態から前記バタフライの第１の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する第１の遷移メトリック値と、前記第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第１の合計を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する前記トレリスバタフライの第２のエンコーダ状態に関連する順方向経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する前記バタフライの第２の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する前記第１の遷移メトリック値と、前記第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第２の合計を与えるステップと、
（ｉｉｉ）前記第１の合計と前記第２の合計とを比較し、２つのうちの最大値を第１の最大値として選択するステップと、
（ｉｖ）前記第２のエンコーダ状態に関連する順方向経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する第２の遷移メトリック値と、前記第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第３の合計を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第１のエンコーダ状態に関連する順方向経路メトリック値に、前記第１のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する前記第２の遷移メトリック値と、前記第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第４の合計を与えるステップと、
（ｖｉ）前記第３の合計と前記第４の合計とを比較し、２つのうちの最大値を第２の最大値として選択するステップとを含み、
ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行され、ステップ（ｉ）から（ｖｉ）を他のすべての共存するトレリスバタフライのエンコーダ状態について繰り返して、第１の最大値の集合および第２の最大値の集合を与え、第２の最大値の前記集合の最大の要素を第１の最大値の前記集合の最大の要素から減算して、Ｌｏｇ尤度比を与える方法。
【請求項２】
第２の最大値の前記集合の最大の要素を、第１の最大値の前記集合の最大の要素から、
（ｉ）第１の最大値の前記集合から２つの要素を選択し、前記２つの要素を比較し、２つのうちの最大値を第１の最大値の連続する集合の要素として選択するステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、第２の最大値の前記集合から２つの要素を選択し、前記２つの要素を比較し、２つのうちの最大値を第２の最大値の連続する集合の要素として選択するステップと、
（ｉｉｉ）第１および第２の最大値の前記集合のうちこれまでに選択していない要素のすべてについて、それぞれの集合の全要素が上記のように選択されるまで、ステップ（ｉ）および（ｉｉ）を繰り返すステップと、
（ｉｖ）第１および第２の最大値の連続する各集合について、前記連続する集合のそれぞれが最終的にただ１つの要素しか有さなくなるまで、ステップ（ｉ）から（ｉｉｉ）を繰り返すステップと、
（ｖ）第１の最大値の前記連続する最終集合の１要素の値を第２の最大値の前記連続する最終集合の１要素の値から減算して、Ｌｏｇ尤度比を与えるステップと、
に従って減算する、請求項１に記載のＬｏｇ−尤度比値を計算する方法。
【請求項３】
修正項、
ｌｎ（１＋ｅｘｐ（−Δ））
が、この目的で比較した２つの数量の最大であるとして選択した数量に加算され、上式で、Δは、比較した前記数量の差の絶対値である、請求項２に記載の方法。
【請求項４】
前記順方向経路メトリック値が、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第１の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第２の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｉｉｉ）前記第１の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第１の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大をその隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
（ｉｖ）前記第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｖｉ）前記第２の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第２の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第２の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
を含む方法によって計算され、
前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値が順方向再帰によって計算された順方向経路メトリクスであり、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに後続し、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行される、請求項１から３のいずれか一項に記載のＬｏｇ−尤度比を計算する方法。
【請求項５】
前記逆方向経路メトリック値が、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第１の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第２の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｉｉｉ）前記第１の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第１の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第１の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
（ｉｖ）前記第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第２の経路メトリック値を求めるステップと、
（ｖｉ）前記第２の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第２の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第２の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
を含む方法によって計算され、
前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値が、逆方向再帰によって計算された逆方向経路メトリクスであり、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに先行し、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行される、請求項１から３のいずれか一項に記載の、Ｌｏｇ−尤度比を計算する方法。
【請求項６】
前記エンコーダから出力されるパリティビットの前記第１の値が＋１であり、前記エンコーダから出力されるパリティビットの前記第２の値が−１である、請求項１から５に記載の方法。
【請求項７】
複数のＬｏｇ−ＭＡＰデコーダを備えるターボコードデコーダであって、各Ｌｏｇ−ＭＡＰデコーダが、請求項１から６のいずれかに記載の方法に従って前記エンコーダのＬｏｇ尤度比値を計算するためのＬｏｇ尤度比ユニットを備えるターボコードデコーダ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、畳み込みエンコーダによって符号化され雑音のあるチャネルを経て受信されたビットシーケンスを、Ｌｏｇ−ＭＡＰアルゴリズムに従って復号するための方法および装置に関する。
【０００２】
【従来の技術】
あらゆる通信システムに対する重要な要求は、システムが受信した情報が、システムに宛てて送信された元の情報と密接に（可能ならば正確に）対応することが保証されることである。ビット誤りなどの伝送誤りが、雑音のある伝送チャネルなどによって通信システムに持ち込まれることが避けられない場合がしばしばあり、その結果、順方向誤り修正（ＦＥＣ）方式の開発に、非常な努力が費やされている。これら方式の目的は、信号自体に含まれる情報を使用して、受信信号の誤りを修正することである。
【０００３】
ＦＥＣ方式の目的は、一般に、受け入れ可能な程度に低い誤り修正したデータのビット誤り率を、実際に実施する際にあまり複雑でなく、コストをかけないで（データ伝送速度の低下の点で）提供できるよう、十分に進んだ技術とすることである。広く使用されているＦＥＣコーディング方式は、「ターボコーディング」方式であり、この方式はデータコーディング分野の関係者により、現在のところ使用可能な最も強力なＦＥＣコーディング方式と考えられている。
【０００４】
ターボコードは、「連結コーディング」および「反復復号」のコンセプトから開発されたものであり、「ターボコード」という用語は、連結符号化ステップよりむしろ反復復号ステップを良く表現している。通常、ターボコードの符号化ステップは、直列（あるいはハイブリッド）連結も可能ではあるが、２つの畳み込みコードの並列連結を伴う。この装置では、２つの畳み込みエンコーダが並列に配置され、２つのエンコーダがともに入力として同じデータシーケンスを有するが、２つのエンコーダのうちの一方は、データがインターリーブされた後に初めてそのデータに作用する。次いでこれらエンコーダの出力は、伝送のために元の（符号化されていない）データシーケンスと組み合わされ、「システマティック」コードシーケンスを提供し、このシーケンスでは、入力データシーケンスからのデータシンボルが、その結果得られる出力コードシーケンスに変更されることなく出現する。
【０００５】
したがって、出力コードシーケンスは、元の符号化されていないデータと関連するチェックビットとを含み、デコーダが受信したコードシーケンスの誤り修正に使用できる。このようにしてエンコーダを連結することによって、比較的複雑なコードを、比較的簡単な構成エンコーダを使用して作成できる。
【０００６】
畳み込み符号化は、十分確立した符号化技術であり、入力データシーケンスは所定の長さの「ブロック」に分割され、各ブロックが個別に符号化されて、入力データ用のチェックビットの「コードブロック」が生成される。具体的には、畳み込み符号化は、現入力データビットと、１つまたは複数の先行入力データビットとの、２を法とする合計を計算して行われる。
【０００７】
この符号化手法の実施は、図１の再帰システマティック畳み込み（ＲＳＣ）エンコーダで例示するような、シフトレジスタおよび排他的論理和ゲートを用いて行うことができる。エンコーダが入力部１で入力ビットを受信すると、そのビットは直接「システマティック」出力２に、そして４つの排他的論理和ゲート４の１つを介して３つのシフトレジスタ３のうちの第１のものに移動し、その結果、対応するコードビット（すなわちチェックビット）が、出力２のシステマティックビットと同時に、出力５で出力されるようにする。第２および第３のシフトレジスタの出力も、「再帰」フィードバックループ６を介して第１のレジスタに（排他的論理輪ゲートを介して）入力されることに留意されたい。この例では、３つのシフトレジスタ３を置くことによって、畳み込みエンコーダに「拘束長」Ｋ＝４を与える。言いかえれば、所与の時間におけるエンコーダ出力（チェックビット）は、４つのエンコーダ入力、つまり現在の入力および３つの先行入力（すなわち３つのシフトレジスタ３に格納されたもの）に依存する。
【０００８】
エンコーダの挙動は、図２に示す「コードトレリス」によって好都合に表される。これは、図１のＲＳＣエンコーダに対応する。コードトレリスの各欄は、Ｋ番目のタイムステップの新しいデータブロック（この場合は１ビット）のエンコーダへの入力に対応し、トレリスの２Ｋ−１＝８（Ｋ＝４）のノードは、この各タイムステップのエンコーダの可能な状態（すなわちＫシフトレジスタ３の内容）に対応する。隣接ノード２１に加わるブランチ２０は、データ「１」ビット（実線）またはデータ「ゼロ」ビット（点線）の入力の結果として、エンコーダの状態がタイムステップのＫ−１とＫとの間で変化可能な方法を表している。したがって、各ノード２１は、所与のタイムステップＫ−１では、２つのブランチのソースであり、各ブランチは、タイムステップＫで２つの可能な後続隣接ノードのそれぞれ１つにそのノードを接合する。同様に、第４のタイムステップ後は、各ノードは、２つのブランチの終点でもあり、各ブランチは２つの可能な先行隣接ノードのそれぞれ１つにそのノードを接合する。
【０００９】
このようにして、エンコーダのすべての可能な遷移のトレリスが提供される。可能な遷移は、コード（この場合はＲＳＣコード）の性質に依存し、トレリスを通るどの経路も、１つの可能な入力データシーケンスおよび対応する出力コードシーケンスを表する。デコーダで受信した時、エンコーダによって出力される所与のコードシーケンスを復号する際に使用するのはこのプロパティである。
【００１０】
ビタビアルゴリズムは、畳み込みコードを復号するのにたびたび用いられる。その目的は、１度に１つのコードブロック（すなわちタイムステップ）を処理し、受信したコードシーケンスに最も良く似たコードトレリスを通る経路を見つけ出すことである。アルゴリズムの原理は、受信したコードシーケンスに最も近いコードシーケンスに対応するノードへの経路を、各ノードで（所与のタイムステップに）決定することによって、最も完全に近い経路を段階的に構築することである。次いで、このようにして決定された「サバイバ」経路のそれぞれが、経路がそれ以上拡張できないところまで、トレリスの連続する隣接ノードについてステップを繰り返すことによって、拡張される。次いで、残りの「サバイバ」経路の中で最良のものが、データを符号化する時にエンコーダが作成した実際の遷移状態を最も良く表すものとして選択される。したがって、エンコーダへのデータシーケンス入力の推定値が、エンコーダプロパティの知識によって得られる。
【００１１】
トレリスの各ブランチは、受信したコードシーケンス、チャネルサイド情報およびエンコーダプロパティが与えられると、そのブランチによって表される遷移をエンコーダが作成した確率を表す「ブランチメトリック」を持つ。各サバイバ経路も、その経路の構成ブランチのメトリクスから導出された「経路メトリック」を持つ。したがって、各サバイバ経路が１つのブランチによって所与のノードから拡張されると、そのノードから可能な各ブランチについて関連するブランチメトリックが計算され、次いでそのノードの経路メトリックに各ブランチメトリックが加算され、その後その結果生じる２つの経路メトリックが比較され、次いで２つのうちサバイバ経路とするものの最終選択が行われる。コードシーケンスを復号する場合、加算−比較−選択（「ＡＣＳ」）プロセスを、トレリス全体を通して何回も繰り返す必要がある。その結果、非常に多くの回数の動作を実行せざるを得なくなり、大きなデータ記憶装置が必要となる。したがって、ビタビ復号アルゴリズムにおいてＡＣＳプロセスをより効率的に実行することを目的とする、いくつかの「加速」方式が、当技術分野で提案されている。
【００１２】
別の復号アルゴリズムに、対数最大アポステリオリ（Ｌｏｇ−ＭＡＰ）復号アルゴリズムがある。この復号アルゴリズムは、トレリスの各タイムステップに対して、ビタビアルゴリズムの動作に似たＡＣＳ動作を実行する。これを実行することによって、Ｌｏｇ−ＭＡＰアルゴリズムは、雑音または歪みのある恐れのある受信したコードシーケンスが与えられている場合に、送信された可能性の最も高い情報ビットを決定する。これは、送信された可能性の最も高いコードシーケンスを（すなわちサバイバ経路を介して）決定するビタビ復号アルゴリズムとは異なる。
【００１３】
一般に、ＭＡＰデコーダは、条件付き確率を最大化するのと同様の方式で、受信シーケンスｙ→が与えられている場合に、送信された可能性の最も高いコードシーケンスｘ→を最終的に選択しなければならない。
【００１４】
【数１】
0004049620.tif 000002
これが、「最大アポステリオリ」（ＭＡＰ）基準である。数量ｐ（ｙ→）およびｐ（ｘ→）を一定と仮定すると、ＭＡＰ基準はｐ（ｙ→│ｘ→）を最大化することになる。
【００１５】
「硬判定（ｈａｒｄ  ｄｅｃｉｓｉｏｎ）」符号化においては、ただ受信シーケンスｙ→だけが変わらないとして、ＭＡＰ基準が満たされる。「軟判定（ｓｏｆｔ  ｄｅｃｉｓｉｏｎ）」符号化においては、ｙ→のビット値の信頼性または「尤度」に関する情報も生成される。
【００１６】
Ｌｏｇ−ＭＡＰアルゴリズムは、「Ｌｏｇ尤度比」（ＬＬＲ）を用いてこの軟情報を定量化し、対数定義域で、デコーダの出力における特定の復号されたビットの確実性の程度を表し、ターボコードの反復復号化に使用する。
【００１７】
Ｌｏｇ−ＭＡＰアルゴリズムは、遭遇した大きな範囲の数値を圧縮し、乗算を簡単な加算などに変えるために対数定義域で動作する。したがって、Ｌｏｇ−ＭＡＰアルゴリズムは、必要な場合、信頼性のないビット判定を修正できるので、復号効率を上昇させるため、復号中に使用可能な情報をより多く利用する。さらに重要なことは、Ｌｏｇ−ＭＡＰ復号アルゴリズムは、本質的に、連結されたコードを復号する際に効率的に使用できる「軟」判定情報を提供する。
【００１８】
ビタビ復号アルゴリズムは、この目的のために軟情報を提供できるよう構成されているが、このような情報は、Ｌｏｇ−ＭＡＰ復号アルゴリズムによって提供されるものより劣ると一般に見なされている。このような制限は、軟情報を用いる反復復号方式に依存するターボコードを用いる場合に、特に重要である。したがって、Ｌｏｇ−ＭＡＰ復号アルゴリズムによって提供される、より高品質の軟情報によって、Ｌｏｇ−ＭＡＰ復号アルゴリズムはターボコードに関るアプリケーションによく適合したものとなる。
【００１９】
その結果、一般に、ターボコーディングへのアプリケーションにおいて、Ｌｏｇ−ＭＡＰアルゴリズムの効率を増加させることは望ましい。しかし、ビタビアルゴリズムとは対照的に、現在のディジタル信号プロセッサは、Ｌｏｇ−ＭＡＰアルゴリズムのためのいかなる特定の加速方式も提供していない。
【００２０】
【発明が解決しようとする課題】
したがって、本発明の目的は、少なくともＬｏｇ−ＭＡＰエンコーダに関連するトレリスの構造を利用することによって、少なくとも従来の技術におけるこのような一般的な欠点を克服することにある。特に、バイナリ畳み込みエンコーダのトレリスにおいては、近接する状態間の遷移は、それぞれが、共存する状態の対から発し別の共存する対に終端する４つの互いに素な（ｄｉｓｊｏｉｎｔ）グループに分離できる。これら４つの状態によって生成される構造は、トレリス「バタフライ」という名で知られている。
【００２１】
【課題を解決するための手段】
最も一般的には、本発明は、少なくともトレリスバタフライの状態の１つの共存対の１つの状態について加算−比較−選択（ＡＣＳ）動作の各ステップを、状態の１つの共存対の別の状態について加算−比較−選択動作の対応する各ステップと並行して実行することによって、Ｌｏｇ−ＭＡＰ復号アルゴリズムの動作を加速することを提案する。ＡＣＳ動作は、経路メトリック更新の一部またはＬｏｇ尤度比計算の一部を形成することができる。
【００２２】
このような方式の並列処理においては、１対のバタフライ状態の２つの共存する状態で実行される２つのＡＣＳ動作のそれぞれ１つが、同じデータ量、すなわちバタフライの状態の２つの共存対間の経路メトリック値の同じ集合および同じ２つの可能な遷移メトリック値を利用する。したがって、本発明によれば、Ｌｏｇ−ＭＡＰ復号アルゴリズムの動作は、少なくとも動作のデータ検索要求を約半分にすることによって加速できる。
【００２３】
したがって、本発明の第１の態様によれば、畳み込みエンコーダによって符号化し、雑音のあるチャネルを経て受信したビットシーケンスを、Ｌｏｇ−ＭＡＰアルゴリズムに従って復号する際に使用する畳み込みエンコーダの経路メトリック値を計算する方法が提供され、その方法は、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第１の遷移メトリック値を加算し、それによって前記第１の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第２の遷移メトリック値を加算し、それによって前記第１の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｉｉｉ）前記第１の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第１の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較し、２つのうちの最大を、その隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
（ｉｖ）前記第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、それによって前記第２の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、それによって前記第２の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｖｉ）前記第２の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第２の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較し、２つのうちの最大を、第２の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
を含み、
前記エンコーダ状態および前記隣接エンコーダ状態がトレリスバタフライを定義し、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実施される。
【００２４】
前記方法は、修正項
ｌｎ（１＋ｅｘｐ（−Δ））
を、所与の隣接エンコーダ状態に関連する選択する経路メトリック値に加算するステップを含むことが好ましい。上式で、Δは、前記所与の隣接エンコーダ状態の前記第１の経路メトリック値と前記所与の隣接エンコーダ状態の前記第２の経路メトリック値の差の絶対値である。
【００２５】
したがって、加速されたＬｏｇ−ＭＡＰ加算−比較−選択動作（ＬＭ＿ＡＣＳ）が提供される。ＬＭ＿ＡＣＳ動作は、トレリスバタフライを処理するために、２つの経路メトリック値および２つのブランチメトリック値を必要とする。この動作の結果は、２つの更新された経路メトリック値を同時に生成する。修正項の使用によって、ＬＭ＿ＡＣＳ動作に従って得られた経路メトリック値の精度を向上することができる。この修正率は、Δを定義する２つの数量のうち選択された最大値に加算された場合、これら２つの数量のヤコビ対数となるが、選択された最大値は、近似に過ぎない（すなわち、ｌｎ（ｅａ＋ｅｂ）＝ｍａｘ（ａ，ｂ）＋ｌｎ（ｌ＋ｅ−Δ），Δ＝│ａ−ｂ│）。
【００２６】
上記ステップ（ｉ）から（ｖｉ）を、他の全ての共存するトレリスバタフライについて繰り返すことができる。したがって、所与のトレリスタイムステップにおけるそれぞれの完全な経路メトリックの更新を、タイムステップ毎にｍバタフライを有するトレリスに対するＬＭ＿ＡＣＳ動作のｍ回実行にマップすることができる。
【００２７】
前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値は、順方向再帰によって計算された順方向経路メトリクスとすることができ、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに後続する。また、前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値は、逆方向再帰によって計算された逆方向経路メトリクスとすることができ、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに先行する。
【００２８】
したがって、順方向および逆方向経路メトリックの更新の両方を、ＬＭ＿ＡＣＳ動作を使用して実行できる。これは特に、両方を必要とするＬｏｇ尤度比（ＬＬＲ）を計算する場合に有利である。
【００２９】
本発明の第２の態様によれば、畳み込みエンコーダによって符号化し、雑音のあるチャネルを経て受信したビットシーケンスを、Ｌｏｇ−ＭＡＰアルゴリズムに従って、復号する際に使用する畳み込みエンコーダの状態遷移のためののＬｏｇ尤度比値を計算する方法が提供され、その方法は第１の値のパリティビットに対応する遷移のみに関して実行されるステップ（ｉ）から（ｉｉｉ）、および第２の値のパリティビットに対応する遷移のみに関して実行されるステップ（ｉｖ）から（ｖｉ）、すなわち、
（ｉ）所与のトレリスバタフライの第１のエンコーダ状態に関連する順方向経路メトリック値に、前記第１のエンコーダ状態から前記バタフライの第１の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する第１の遷移メトリック値と、前記第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算し、第１の合計を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する前記トレリスバタフライの第２のエンコーダ状態に関連する順方向経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する前記バタフライの第２の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する前記第１の遷移メトリック値と、前記第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第２の合計を与えるステップと、
（ｉｉｉ）前記第１の合計と前記第２の合計とを比較し、２つのうちの最大値を第１の最大値として選択するステップと、
（ｉｖ）前記第２のエンコーダ状態に関連する順方向経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する第２の遷移メトリック値と、前記第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第３の合計を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第１のエンコーダ状態に関連する順方向経路メトリック値に、前記第１のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの順方向遷移に関連する前記第２の遷移メトリック値と、前記第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算して、第４の合計を与えるステップと、
（ｖｉ）前記第３の合計と前記第４の合計とを比較し、２つのうちの最大値を第２の最大値として選択するステップとを含み、
ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行され、ステップ（ｉ）から（ｖｉ）をその他すべての共存するトレリスバタフライのエンコーダ状態について繰り返して、第１の最大値の集合および第２の最大値の集合を与え、第２の最大値の前記集合の最大の要素を第１の最大値の前記集合の最大の要素から減算し、Ｌｏｇ尤度比を与える。
【００３０】
したがって、本発明のこの第２の態様のステップ（ｉ）から（ｖｉ）が、本発明の第１の態様によるＬＭ＿ＡＣＳ動作の拡張を用いていることが理解されるであろう。具体的には、この場合は、ＬＭ＿ＡＣＳ動作の「加算」構成要素を、２つの数量の加算（たとえば、経路メトリック＋同じ１つの状態への遷移メトリック）から３つの数量の加算（すなわち、順方向経路メトリック＋異なる状態への遷移メトリック＋逆方向経路メトリック）へ拡張している。したがって、この拡張されたＬＭ＿ＡＣＳ動作は、トレリスバタフライを処理するために、２つの順方向経路メトリック値と、２つの遷移メトリック値と、２つの逆方向経路メトリック値とを必要とする。
【００３１】
この態様の第２によれば、本発明は、ＬＬＲ値を計算するための方法を提供することが好ましく、第２の最大値の前記集合の最大の要素を、第１の最大値の前記集合の最大の要素から、
（ｉ）第１の最大値の前記集合から２つの要素を選択し、前記２つの要素を比較し、２つのうちの最大値を第１の最大値の連続する集合の要素として選択するステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、第２の最大値の前記集合から２つの要素を選択し、前記２つの要素を比較し、２つのうちの最大値を第２の最大値の連続する集合の要素として選択するステップと、
（ｉｉｉ）第１および第２の最大値の前記集合のうちこれまでに選択していない要素のすべてについて、それぞれの集合の全要素が上記のように選択されるまで、ステップ（ｉ）および（ｉｉ）を繰り返すステップと、
（ｉｖ）第１および第２の最大値の各連続する集合について、前記連続する集合のそれぞれが最終的にだた１つの要素しか有さなくなるまで、ステップ（ｉ）から（ｉｉｉ）を繰り返すステップと、
（ｖ）第１の最大値の前記連続する最終的集合の１要素の値を第２の最大値の前記連続する最終集合の１要素の値から減算して、Ｌｏｇ尤度比を与えるステップと、
に従って減算する。
【００３２】
したがって、所与のエンコーダ遷移（エンコーダトレリスのタイムステップ）に対するＬｏｇ尤度比（ＬＬＲ）の計算は、さらに拡張ＬＭ＿ＡＣＳ動作によって生成されたデータの処理を並列で実行することによって加速でき、したがって、加速されたＬＬＲ（ＬＬＲ＿ＡＣＣ）動作を提供する。
【００３３】
好ましくは、本発明のこの第２の態様によれば、修正項、
ｌｎ（１＋ｅｘｐ（−Δ））
が、この目的用に比較した２つの数量の最大であるとして選択した数量に加算され、上式で、Δは、比較した前記数量間の差の絶対値である。
【００３４】
この修正率は、Δを定義する２つの数量のうちの選択した最大値に加算された場合、これら２つの数量のヤコビ対数となるが、選択された最大値はただの近似に過ぎない。
【００３５】
本発明の第２の態様によるＬＬＲの計算方法において、順方向経路メトリック値が、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第１の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第２の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｉｉｉ）前記第１の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第１の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大をその隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
（ｉｖ）前記第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｖｉ）前記第２の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第２の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第２の隣接エンコーダ状態に関連する第２の経路メトリック値として選択するステップと、
を含む方法によって計算され、
前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値が順方向再帰によって計算された順方向経路メトリクスであって、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに後続し、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行される。
【００３６】
したがって、ＬＬＲ値の計算で使用される順方向経路メトリクスがＬＭ＿ＡＣＳ動作で決定できることが理解されるであろう。
【００３７】
同様に、本発明の第２の態様によるＬＬＲの計算方法において、逆方向経路メトリック値が、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第１の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、前記第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第１の隣接エンコーダ状態への前記エンコーダの遷移に関連する第２の遷移メトリック値を加算し、前記第１の隣接エンコーダ状態に対する第２の経路メトリック値を与えるステップと、
（ｉｉｉ）前記第１の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第１の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第１の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
（ｉｖ）前記第１のエンコーダ状態に関連する経路メトリック値に、前記第１のエンコーダ状態から前記第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第１の経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、前記第２ののエンコーダ状態に関連する経路メトリック値に、前記第２のエンコーダ状態から前記第２の隣接エンコーダ状態への前記エンコーダの遷移に関連する前記第２の遷移メトリック値を加算し、前記第２の隣接エンコーダ状態に対する第２の経路メトリック値を求めるステップと、
（ｖｉ）前記第２の隣接エンコーダ状態に対する前記第１の経路メトリック値を、前記第２の隣接エンコーダ状態に対する前記第２の経路メトリック値と比較して、２つのうちの最大を第２の隣接エンコーダ状態に関連する経路メトリック値として選択するステップと、
を含みむ方法によって計算され、
前記エンコーダ状態および前記隣接エンコーダ状態のすべてに対する経路メトリック値が、逆方向再帰によって計算された逆方向経路メトリクスであり、前記隣接エンコーダ状態のすべてが前記エンコーダ状態のすべてに先行し、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実行される。
【００３８】
したがって、ＬＬＲ値の計算で使用される逆方向経路メトリクスがＬＭ＿ＡＣＳ動作で決定できることが理解されるであろう。
【００３９】
好ましくは、本発明の第２の態様による方法によれば、前記エンコーダから出力されるパリティビットの第１の値は＋１であり、前記エンコーダから出力されるパリティビットの前記第２の値は−１である。しかし第１および第２の値は、それぞれ＋１および−１以外でもよいが、互いに異なる値でなければならない。
【００４０】
本発明のいずれかの態様によって、復号する際に使用する遷移メトリック値（γ）を計算する方法が提供され、
（ｉ）それぞれシステマティック値−１およびパリティビット値−１のエンコーダからの出力に関連するエンコーダ遷移が、
γ（−１，−１）＝０
の第１の遷移メトリック値に割り当てられ、
（ｉｉ）それぞれシステマティック値−１およびパリティビット値＋１のエンコーダからの出力に関連するエンコーダ遷移が、
γ（−１，＋１）＝ｓ１
の第２の遷移メトリック値に割り当てられ、
（ｉｉｉ）それぞれシステマティック値＋１およびパリティビット値−１のエンコーダからの出力に関連するエンコーダ遷移が、
γ（＋１，−１）＝ｓ２
の第３の遷移メトリック値に割り当てられ、
（ｉｖ）そらぞれシステマティック値＋１およびパリティビット値＋１のエンコーダからの出力に関連するエンコーダ遷移が、前記第１および第２の遷移メトリック値の合計に等しい遷移メトリック値、γ（＋１，＋１）に割り当てられ、
項ｓ１およびｓ２は、受信したビットシーケンスに関連する信号対雑音比、エンコーダから出力されたビットに対応する、受信したパリティビットおよびシステマティックビットと、少なくともエンコーダ遷移のアプリオリ確率の推定値に依存する。
【００４１】
したがって、４つの可能な遷移メトリック値の計算は、２項を（すなわちｓ１およびｓ２）計算するだけで十分に簡略化されることが理解されよう。好ましくは、ｓ１＝４・ＳＮＲ・ｙｐｋおよびｓ２＝４・ＳＮＲ・ｙ５ｋ＋ｚｋであり、上式で、ＳＮＲは、それぞれ、受信したビットシーケンスに関連する信号対雑音比であり、ｙｐｋおよびｙｓｋは受信したパリティビットおよびシステマティックビットであり、ｚｋは少なくとも、タイムステップｋのエンコーダ遷移のアプリオリ確率の推定値である。
【００４２】
本発明はまた、上記の方法のいずれかの方法に従って、トレリスバタフライの状態の１つの共存する対の一方の状態について加算−比較−選択（ＡＣＳ）動作の各ステップを、状態の１つの共存する対の他方の状態について加算−比較−選択動作の対応する各ステップと並行して、少なくとも実行することにより、Ｌｏｇ−ＭＡＰ復号アルゴリズムの動作を加速するためのディジタル信号プロセッサ（ＤＰＳ）を提案する。ＡＣＳ動作は、経路メトリック更新の一部またはＬｏｇ尤度比計算の一部を形成することができる。
【００４３】
したがって、本発明は、畳み込みエンコーダによって符号化し、雑音のあるチャネルを経て受信したビットシーケンスを、Ｌｏｇ−ＭＡＰアルゴリズムに従って、復号する際に使用する畳み込みエンコーダの経路メトリック値を計算するためのディジタル信号プロセッサを提供することができ、プロッセサは、
前記ビットシーケンスに関するデータをディジタル信号プロセッサの記憶装置から受信し、畳み込みエンコーダの状態間の遷移を表す遷移メトリック値を計算し、これら計算されたメトリック値を出力するための遷移メトリック計算ユニットと、
前記計算された遷移メトリック値を受信し、前記計算された遷移メトリック値から導出された経路メトリック値を受信し、前記経路メトリック値および前記遷移メトリック値から、更新された経路メトリック値を導出し、これら更新された経路メトリック値を出力するための加算−比較−選択ユニットとを備え、更新された経路メトリック値が本発明の第１の態様の方法に従って導出される。
【００４４】
したがって、ＤＰＳは、ビットシーケンスを復号する際に使用する、順方向あるいは逆方向の、更新された経路メトリック値を提供する。ＤＰＳのＡＣＳユニットを、本発明の第１の態様に従って、経路メトリック値を連続する遷移メトリック値に加算することによって順方向あるいは逆方向の経路メトリック値を更新するために用いるだけではなく、またこのＡＣＳユニットを、本発明の第２の態様に従って、更新された経路メトリック値およびＬＬＲ値を計算する際にも用いることができることが理解されよう。
【００４５】
好ましくは、遷移メトリック計算ユニットは、上述した遷移メトリック値（γ）を計算する方法を用いる。遷移メトリック計算ユニットは、計算された遷移メトリック値を、ＤＰＳからの遷移メトリック値を受信する目的でＡＣＳユニットも接続されるＤＰＳの記憶装置に出力することができる。ＡＣＳユニットは、好ましくはＤＰＳの記憶装置から経路メトリック値および遷移メトリック値を受信し、その記憶装置に格納するため、更新された経路メトリック値を記憶装置に出力する。
【００４６】
遷移メトリックキャッシュがＤＳＰに設けられ、ＤＳＰでメトリック計算ユニットが、エンコーダトレリスを復号する所与のタイムステップに関連する計算された遷移メトリクスを出力し、格納し、ＡＣＳユニットが、更新された経路メトリック値を導出する際に使用するために遷移メトリックキャッシュからこれらの遷移メトリック値を受信することができる。
【００４７】
したがって、各トレリスタイムステップについて、一時キャッシュ記憶装置に４つの値を格納することにより、タイムステップの共存するバタフライのそれぞれを処理するために、ただ４つの遷移メトリック値しか必要としないため、ＤＳＰの主記憶装置から値を繰り返し検索する必要が回避される。このことは、信号プロセッサの効率の向上に役立つ。
【００４８】
好ましくは、ＤＳＰのＡＣＳユニットは、
いくつかのデータ入力ポートと２つのデータ出力ポートを有し、
計算ユニットは、経路メトリック値を、データ入力ポートで同時に受信した遷移メトリックデータ値に加算して、更新された経路メトリック値の２つの共存する対を与え、各同時対内で前記更新された経路メトリック値を比較し、前記２つのデータ出力ポートで、それぞれ共存する対の最大経路メトリック値を出力するように動作可能である。
【００４９】
したがって、ＡＣＳユニットは、本発明の第１の態様に従って、またＬＬＲを計算する際には第２の態様に従って、順方向または逆方向の経路メトリクスのいずれかを更新できる。計算ユニットは、経路メトリックデータ値を受信するための第１のデータ入力ポートと、遷移メトリックデータ値を受信するための第２のデータ入力ポートと、経路メトリックデータ値を受信するための第３のデータ入力ポートと、遷移メトリックデータ値を受信するための第４のデータ入力ポートとを備えることができる。
【００５０】
ＡＣＳユニットは、ＡＣＳの機能を、本発明の第１の態様に従って更新された順方向または逆方向経路メトリクスを生成する機能、あるいは本発明の第２の態様に従ってＬＬＲを計算する際に使用する最大値の第１および第２の集合の要素を生成する機能とすることが可能な機能選択装置を備えることができる。
【００５１】
機能選択装置は好ましくは、
ＡＣＳユニットの計算ユニットの２つのデータ出力ポートと２つのフィードバックデータ入力ポートの間に接続された第１のデータ入力ゲートと、
計算ユニットの第２、第４と、第５のデータ入力ポートとに接続された第２のデータ入力ゲートと、
計算ユニットの第２、第４と、第６のデータ入力ポートとに接続された第３のデータ入力ゲートとを備え、
計算ユニットのフィードバックデータ入力ポートと、第５および第６のデータ入力ポートに入力すべきデータ値を選択するように動作可能である。
【００５２】
入力選択装置は、好ましくは２つの選択状態を有し、そのそれぞれがＡＣＳユニットの機能を決定する。
【００５３】
好ましくは機能選択装置の第１の選択状態においては、第１のデータ入力ゲートは、計算ユニットから出力されたデータをブロックし、計算ユニットの２つのフィードバックデータ入力ポートに入力されたデータがゼロの値を有するようにし、一方、同時に第２のデータ入力ゲートは、計算ユニットの第４の入力ポートに入力された遷移メトリックデータを計算ユニットの第５のデータ入力部で同時に入力されるようにし、同時に第３のデータ入力ゲートは、計算ユニットの第２の入力ポートに入力された遷移メトリックデータを計算ユニットの第６のデータ入力ポートに同時に入力されるようにする。
【００５４】
したがって、この第１の選択状態においては、各加算器手段について、加算器手段に同時に入力された２つの遷移メトリック値が異なる遷移メトリクスを表しているため、入力選択装置がＡＣＳユニットを、本発明の第１の態様に従って経路メトリック値を更新するよう機能させる。
【００５５】
機能選択装置の第２の選択状態において、第１のデータ入力ゲートは好ましくはデータを計算ユニットの出力から計算ユニットの２つのフィードバックデータ入力ポートに通過させ、一方、同時に第２のデータ入力ゲートは計算ユニットの第２の入力ポートにおける遷移メトリックデータ入力を計算ユニットの第５のデータ入力部で同時に入力されるようにし、同時に第３のデータ入力ゲートは計算ユニットの第４の入力ポートに入力された遷移メトリックデータを計算ユニットの第６のデータ入力ポートに同時に入力されるようにする。
【００５６】
したがって、第２の選択状態においては、入力選択装置はＡＣＳユニットを、本発明の第２の態様に従ってＬＬＲ計算に使用する第１および第２の最大値の集合の要素を計算するよう機能させる。つまり、いずれかの１つの加算器手段に同時に入力された２つの経路メトリック値が同じ経路メトリックとなり、逆方向経路メトリック値とともに同時に入力される。
【００５７】
ＤＳＰは、好ましくは本発明の第２の態様に関係して上述のように導出されたＬＬＲ加速（ＬＬＲ＿ＡＣＣ）方法に従って第１および第２の最大値の集合からＬＬＲ値を計算し、計算したＬＬＲをＤＳＰの記憶装置に出力するためのＬｏｇ尤度比ユニットを備える。Ｌｏｇ尤度比ユニットはキャッシュ装置に接続され、第１のおよび第２の最大値の集合のデータ要素を、キャッシュ装置に格納される場合に、検索できるように、またＬｏｇ尤度比ユニットによって生成された第１および第２の最大値の連続する集合の要素をキャッシュ装置に格納できることが好ましい。
【００５８】
好ましくは、Ｌｏｇ尤度比ユニットが、
第１と、第２の最大値の前記集合と、その前記連続する集合とを格納するように動作可能なキャッシュ装置と、
それぞれが、前記キャッシュ装置のデータ出力ポートに接続された第１のデータ入力ポートと、前記キャッシュ装置のデータ出力ポートに接続された第２のデータ入力ポートと、前記キャッシュ装置のデータ入力ポートに接続されたデータ出力ポートとを有する２つの比較／選択ユニットを備え、
前記比較／選択ユニットの１方が、第１および第２のデータ入力ポートで、前記キャッシュ装置から出力された第１の最大値の前記集合の要素を受信するように動作可能であり、前記比較／選択ユニットの他方が、第１および第２のデータ入力ポートで前記キャッシュ装置から出力された第２の最大値の前記集合の要素を受信するように動作可能であり、各前記比較／選択ユニットが共存する第１および第２の入力を比較し、２つの最大の要素を前記出力ポートを介して出力するように動作可能である。
【００５９】
好ましくは、上述のＬｏｇ尤度比ユニットにおいて、両方の比較／選択ユニットから出力された要素が、最大値のそれぞれ連続する集合の要素として格納するために前記キャッシュ装置に入力される。２つの比較／選択ユニットのそれぞれのデータ出力ポートが、比較／選択ユニット一方の入力ポートにあるデータを比較／選択ユニットの他方の入力ポートにあるデータから減算し、結果を出力するように動作可能である減算ユニットの第１のおよび第２の入力ポートのそれぞれ１つに接続されることが好ましい。
【００６０】
好ましくは、Ｌｏｇ尤度比ユニットの各比較／選択ユニットが、２つの比較／選択手段の前記第１および第２の入力ポートに接続された減算ユニットを備え、減算ユニットが前記第２の入力ポートで同時に入力されたデータから、前記第１の入力ポートに入力されたデータを減算し、結果の符号および絶対値を出力するように動作可能である。
【００６１】
好ましくは、各比較／選択ユニットが、比較／選択ユニットの前記第１および第２の入力ポートにそれぞれ接続された第１および第２の入力ポートを有する選択ユニットを備え、選択ユニットが前記減算ユニットから出力された符号を更なる入力として受信し、前記符号の値に従って第１および第２の入力ポートの１つを介して入力されたデータを出力するように動作可能である。
【００６２】
各比較／選択ユニットが、実質的に
ｌｎ（１＋ｅｘｐ（−Δ））
に等しい修正率を、前記選択ユニットの出力に加算するための修正装置を備え、
上式で、Δは前記減算ユニットから出力される結果の絶対値である。
【００６３】
この修正率は、Δを定義する２つの数量のうち選択された最大値に加算された場合、これら２つの数量のヤコビ対数となるが、２つのうちの選択された最大値は近似にすぎない。
【００６４】
好ましくは、前記修正装置が、
複数の修正値を含み、前記減算ユニットの出力ポートに接続された入力ポートと出力ポートとを有するルックアップテーブルと、
ルックアップテーブルの前記出力ポートに接続された第１の入力ポートを有し、前記選択ユニットの出力ポートに接続された第２の入力ポートを有する加算器手段を備え、
加算器手段が、前記選択ユニットの出力に前記ルックアップテーブルから出力される修正項を加算するように動作可能である。
【００６５】
本発明は、複数のＬｏｇ−ＭＡＰデコーダを備えるターボデコーダも提供でき、各Ｌｏｇ−ＭＡＰデコーダが上記の方法に従って遷移メトリック値（γ）を計算するためのブランチメトリック計算装置を備える。
【００６６】
本発明は、複数のＬｏｇ−ＭＡＰデコーダを備えるターボデコーダを提供でき、各Ｌｏｇ−ＭＡＰデコーダが本発明の第１の態様に従って前記エンコーダの経路メトリック値を計算するための経路メトリック計算装置を備える。
【００６７】
本発明は、複数のＬｏｇ−ＭＡＰデコーダを備えるターボデコーダも提供でき、各Ｌｏｇ−ＭＡＰデコーダが本発明の第２の態様に従って前記エンコーダのＬｏｇ尤度比値を計算するためのＬｏｇ尤度比ユニットを備える。
【００６８】
次に以下の図を参照して、本発明の非限定的な例を見ていく。
【００６９】
【発明の実施の形態】
図３を参照すると、ターボコードエンコーダの構造が示されている。ターボコードエンコーダは、並列連結に接続された２つの同じ構成要素の再帰システマティック畳み込み（ＲＳＣ）エンコーダ３４および３５のデータ入力に接続されたデータ入力３１を備える。符号化されるブロックデータシーケンス、ｄ￣＝（ｄ１．．．．，ｄＮ）上式で、Ｎはブロックサイズである、を、ターボコードエンコーダのデータ入力３１に入力し、続いて２つの同じ構成要素のコードエンコーダ３４および３５のそれぞれ１つに入力する。２つの構成要素のＲＳＣエンコーダの第２、３４が、インターリーバ３２を介してブロックデータを受信する。インターリービングによって、ブロックシーケンス、ｄ→＝（ｄ１．．．．，ｄＮ）が異なる順序に配置し、その後順序を変えたデータブロックシーケンス３３（ｘ→ｓｉｎｔ）を第２のＲＳＣエンコーダ３４に入力する。このようにして、いずれか１つのデータブロックのバースト誤りの影響を減少することができる。
【００７０】
各構成要素のＲＳＣエンコーダは、データブロック入力部の順方向誤り修正で使用するパリティビットを生成する。第１のエンコーダ３５はパリティビットシーケンス、ｘ￣ｌｐを出力し、一方第２のエンコーダ３４はインターリーブしたデータブロック入力に関連するパリティビットシーケンス、ｘ→２ｐｉｎｔを出力する。システマティック情報（ｘ￣ｓ）およびパリティ情報（ｘ→１ｐ，ｘ→２ｐｉｎｔ）の並列連結により、３つの出力ビットが入力データシーケンス、ｄ￣＝（ｄ１．．．．，ｄＮ）の各ビットｄｋに対して生成される。上記の３つの出力は、次いでマルチプレクサ３９の各個別入力部、３６、３７、３８に入力される。
【００７１】
抜き取りユニット４１は、あるビットがマルチプレクサ３９に入力されたパリティビットストリームから取り除かれ、送信されないことを確認する。たとえば、パリティ情報の各第２ビットが抜き取られ、データシーケンス、ｘ￣＝（ｘｓ１，ｘ１１ｐ，ｘｓ２，ｘ２ｐｉｎｔ．２，．．．，ｘｓＮ−１，ｘｌｐＮ−１，ｘｓＮ，ｘ２ｐｉｎｔ．Ｎ）が送信され、上式で、（ｘ１ｐで示した）連続するパリティビットは、第１のエンコーダ３５から取られ、（ｘ２ｐで示した）パリティビットは、第２のエンコーダ３４から抜き取られる。
【００７２】
図４は、インターリーバ４３を介して第２のＭＡＰデコーダ４２に直列に接続された第１の最大アポステリオリ確率（ＭＡＰ）デコーダ４１を備えるターボデコーダを示す。第１のＭＡＰデコーダ４１は、３つの入力を有する。すなわち、（ｙ−ｓで示した）システマティックデータ入力４７、第１のＲＳＣエンコーダ３５の出力に接続する（ｙ−ｌｐで示した）パリティデータ入力４６および第２のＭＡＰデコーダ４２から出力し、中間インターリーバ４４を介して受信する（ｚ−２で示した）外部情報４８である。外部情報はアプリオリ情報として働く。
【００７３】
この情報およびチャネル状態情報５６により、第１のＭＡＰデコーダ４１が入力データシーケンス、ｄ→＝（ｄ１，．．．，ｄＮ）の各ビットｄｋに対しＭＡＰ  Ｌｏｇ尤度比値を計算する。
【００７４】
【数２】
0004049620.tif 000003
上式で、Ｒ￣＝（Ｒ１，．．．，Ｒｋ，．．．，ＲＮ）およびＲｋ＝（ｙｓｋ，ｙｋ１ｐ，ｚｋ２）で、
Λ１（ｄｋ）＝ｚ１ｋ＋ｃ・ｙｓｋ＋ｚ２ｋ
と記述することもでき、ここで
ｃ＝４×ＳＮＲであり、数量ＳＮＲは受信したデータ信号に関連する信号対雑音比である。システマティック項ｃ・ｙｓｋおよびアプリオリ項ｚ２ｋは、ビットｄｋに対するパリティ情報とは無関係であると見なされる。
【００７５】
したがって、新しく生成された外部情報は、以下のように計算できる。
ｚ１ｋ＝Λ１（ｄｋ）−ｃ・ｙｓｋ−ｚ２ｋ
【００７６】
これは、第１のＭＡＰデコーダ４１のデータ出力４９に出力され、中間インターリーバ４３によってインターリーブされた後、第２のＭＡＰデコーダ４２のデータ入力５０の１つにおける入力に対するアプリオリ情報Ｚ１Ｋ，ｉｎｔとして働く。この情報は、別のデータ入力５１でインターリーブされたシステマティックデータ、ｙ→５ｉｎｔと、さらにデータ入力５２でインターリーブされたパリティデータｙ→２ｐｉｎｔ（第２のＲＳＣエンコーダ３４からの）と、チャネル状態情報５７とともに、第２のＭＡＰデコーダ４２に入力される。第２のＭＡＰデコーダ４２は以下のように外部情報を計算する。
ｚ２ｋ，ｉｎｔ＝Λ２（ｄｋ，ｉｎｔ）−ｃ・ｙｓｋ，ｉｎｔ−ｚ１ｋ，ｉｎｔ
【００７７】
これは、次いで第２のＭＡＰデコーダ４２の外部情報出力と第１のＭＡＰデコーダ４１のアプリオリ情報入力４８の間で接続されたデインターリーバ４４によってデインターリーブされる。この手順はＭＡＰ推定値Λ￣１，２が安定するまで数回繰り返され、その後安定したＭＡＰ推定値Λ￣２ｉｎｔが、第２のＭＡＰデコーダ４２の出力ポート５３から第２のデインターリーバ４５の入力へ、デインターリーブするために出力される。次いでＬｏｇ尤度比、Λ￣２のデインターリーブしたＭＡＰ推定値が、受信したビットシーケンスｙ→を復号する際に使用するために、第２のデインターリーバ４５から判断回路５５に出力される。
【００７８】
復号性能を下げることなく数値問題を回避するために（自然）対数領域で、このＭＡＰ復号を実行することが好ましい。対数領域において、第１および第２のＭＡＰデコーダ、４１および４２のそれぞれが、以下のようにＬｏｇ尤度比を計算するＬｏｇ−ＭＡＰデコーダとして動作する。
【００７９】
【数３】
0004049620.tif 000004
上式で、ｍａｘ＊動作は、タイムステップｋ−１およびタイムステップｋでトレリス状態間の遷移に関係するすべての状態、Ｓ（ｋ，ｋ−１）に関して行われる。
【００８０】
γ￣ｉ［（ｙｓｋ，ｙｐｋ），Ｓｋ−１，Ｓｋ］＝２・ＳＮＲ・ｙｓｋｘｓｋ（ｉ）＋２・ＳＮＲ・ｙｐｋｘｐｋ（ｉ，Ｓｋ，Ｓｋ−１）＋ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）
は、対数領域で表されるブランチメトリクスγ（ｉ＝０，１）であり、ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）はアプリオリ情報である。ｉ＝０のブランチメトリクスは、「ゼロ」ビットのターボコードエンコーダによる出力に関連するエンコーダトレリスのブランチに対応し、一方ｉ＝１の方は「１」ビットの出力に対応する。
【００８１】
送信の前に、ターボコードエンコーダから出力されるすべてのデータビットが変換されることに留意されたい。データビットｘ５ｋおよびｘｐｋは、「ゼロ」ビットが「−１」ビットとして送信されるように、関係式、ｘ→２・ｘ−１；ｙ→２・ｙ−１に従って変換される。
【００８２】
上記のブランチメトリクスを使用して、対数領域の順方向経路メトリクスα￣ｋおよび逆方向経路メトリクスβ￣ｋが、以下の関係式を使用して再帰的に計算される。
【数４】
0004049620.tif 000005
【００８３】
および
【数５】
0004049620.tif 000006
【００８４】
演算子項ｍａｘ＊は、操作される数量のヤコビ対数であり、選択された最大（ｍａｘ）値は近似に過ぎない（すなわち、ｍａｘ＊（ａ，ｂ）＝ｌｎ（ｅａ＋ｅｂ）＝ｍａｘ（ａ，ｂ）＋ｌｎ（ｌ＋ｅ−Δ），Δ＝｜ａ−ｂ｜）。本発明は、次善近似ｍａｘｘ（ａ，ｂ）≒ｍａｘ（ａ，ｂ）により動作し、対数修正項を省略するが、本実施形態ではこの項を省略していない。
【００８５】
図４に示す２つのＬｏｇ−ＭＡＰデコーダ４１および４２のそれぞれ１つの４主要タスクは、順方向および逆方向経路メトリクスの計算（すなわち経路メトクリック更新）に使用され、Ｌｏｇ尤度比（すなわち「軟」出力データ）の計算でこれらの更新された経路メトリクスとともに使用されるブランチメトリクスの計算であることが理解されよう。本実施形態によれば、Ｌｏｇ−ＭＡＰデコーダ４１および４２のそれぞれは、本発明に従って受信した情報を復号するためのディジタル信号プロセッサを備える。通常、２つのＬｏｇ−ＭＡＰデコーダは１つの単一のＤＳＰにマップされる。
【００８６】
この実施形態によれば、ブランチメトリクスは、チャネル状態情報およびアプリオリ情報とともに、受信したシステマティックおよびパリティ情報ビットから計算される。送信されたシンボルをｘｋ∈｛−１，１｝と仮定すると、付加的白色ガウス雑音を受けるチャネルを経て受信するシステマティックおよびパリティビットｙｋの確率は、対数領域で以下のように定義される。
γ￣ｉ［（ｙｓｋ，ｙｐｋ），Ｓｋ−１，Ｓｋ］＝２・ＳＮＲ・ｙｓｋｘｓｋ（ｉ）＋２・ＳＮＲ・ｙｐｋｘｐｋ（ｉ，Ｓｋ，Ｓｋ−１）＋ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）
【００８７】
ターボコードデコーダの２つのＬｏｇ−ＭＡＰデコーダ、４１および４２のいずれか一方によって必要とされるアプリオリ情報、ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）は，２つのデコーダのうちの他方によって計算される外部情報（Ｚ１，２）から直接導出される。トレリスおよびｄｋに従って、タイムｋ−１のトレリスノードｍからタイムステップｋのトレリスノードｍ’への遷移、Ｓｍｋ−１→Ｓｍ’ｋが可能な場合、次式が成立する。
ｄｋ＝１のとき、ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）＝ｚｋ
ｄｋ＝０のとき、ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）＝０
【００８８】
したがって、ターボコードデコーダの２つのＬｏｇ−ＭＡＰデコーダ、４１および４２のいずれか一方によって必要とされるアプリオリ情報、ｌｎ（Ｐｒ｛Ｓｋ｜Ｓｋ−１｝）は，２つのデコーダのうちの他方によって計算される外部情報（Ｚ１，２）から直接導出される。
【００８９】
４つの異なるブランチメトリック値の合計が、各トレリスタイムステップｋで可能であり、それぞれが、２つの可能な受信したシステマティックデータビット、ｙｓｋ∈｛−１，１｝およびパリティビット、ｙｐｋ∈｛−１，１｝の４つの組み合わせのそれぞれを以下に示す。
γ￣（ｘｓｋ＝−１，ｘｐｋ＝−１）＝−２・ＳＮＲ・（ｙｓｋ＋ｙｐｋ）
γ￣（ｘｓｋ＝−１，ｘｐｋ＝＋１）＝−２・ＳＮＲ・（−ｙｓｋ＋ｙｐｋ）
γ￣（ｘｓｋ＝＋１，ｘｐｋ＝−１）＝−２・ＳＮＲ・（ｙｓｋ−ｙｐｋ）＋ｚｋ
γ￣（ｘｓｋ＝＋１，ｘｐｋ＝＋１）＝−２・ＳＮＲ・（ｙｓｋ＋ｙｐｋ）＋ｚｋ
【００９０】
ターボコードエンコーダの構造により、どの遷移メトリックを所与の遷移に割り当てるかを判定できる。これらブランチメトリクスの計算の簡略化は、上記の４つの方程式のそれぞれに、項（２・ＳＮＲ・（ｙｓｋ＋ｙｐｋ））を加算することによって得られ、以下の通りとなる。
γ￣０，０ｋ＝γ￣（ｘｓｋ＝−１，ｘｐｋ＝−１）＝０
γ￣０，１ｋ＝γ￣（ｘｓｋ＝−１，ｘｐｋ＝＋１）＝ｓ１
γ￣１，０ｋ＝γ￣（ｘｓｋ＝＋１，ｘｐｋ＝−１）＝ｓ２
γ￣１，１ｋ＝γ￣（ｘｓｋ＝＋１，ｘｐｋ＝＋１）＝ｓ１＋ｓ２
【００９１】
上式で、ｓ１＝４・ＳＮＲ・ｙｐｋであり、ｓ２＝４・ＳＮＲ・ｙｓｋ＋ｚｋである。したがって、受信したデータビットから、Ｌｏｇ−ＭＡＰデコーダ４１および４２のどちらかを使用して、ただ２つの項のみを計算すればよい。
【００９２】
タイムステップｋ−１からｋまでの図３に示すバイナリ畳み込みターボコードエンコーダのトレリスの一部において、トレリスの近接状態間の遷移が、４つの素のグループに分離でき、それぞれが状態の共存する対から発し、別の共存する対で終端する。これら４つの状態によって生成された構造は、トレリス「バタフライ」として知られている。図５は、状態の第１の共存する対、ｍおよびｍ＋Ｍ／２、および状態の第２の共存する対２ｍおよび２ｍ＋１を備える、図３に示すターボコードエンコーダのＬｏｇ−ＭＡＰバタフライを示している。ここで、Ｍはトレリスの可能な状態の総数（図２ではＭ＝８）であり、ｍは所与の状態番号である。
【００９３】
第１の対の状態（ｍ，ｍ＋Ｍ／２）のそれぞれ１つが、別個のブランチメトリクス対γｋ（Ｉ）およびγｋ（ＩＩ）のそれぞれ１つによって第２の状態対（２ｍ，２ｍ＋１）のそれぞれ１つに結合される。これら２つのブランチメトリクスのそれぞれは、上で与えられた４つの可能な値の１つによって与えられる値を取る。対の第１のブランチメトリックは、第１のバイナリ値のパリティビットのエンコーダによる出力に関連し、対の第２のブランチメトリックは、第２のバイナリ値のパリティビットのエンコーダによる出力に関連する（たとえば、それぞれ、パリティビット０およびパリティビット１）。
【００９４】
バタフライの第１の状態対（ｍ，ｍ＋Ｍ／２）に関連する順方向ブランチメトリクスαｋは、以下の方程式に従って第２の状態対（２ｍ，２ｍ＋１）の１つにその経路メトリックを拡張するよう関連遷移メトリックを加算することによって更新される。
αｋ（２ｍ）＝ｍａｘ＊（αｋ−１（ｍ）＋γｋ（Ｉ），αｋ−１（ｍ＋Ｍ／２）＋γｋ（ＩＩ））
αｋ（２ｍ＋１）＝ｍａｘ＊（αｋ−１（ｍ）＋γｋ（ＩＩ），αｋ−１（ｍ＋Ｍ／２）＋γｋ（Ｉ））
【００９５】
同様に、バタフライの第２の状態対（２ｍ，２ｍ＋１）に関連する逆方向ブランチメトリクスβｋは、以下の方程式に従って第１の状態対（ｍ，ｍ＋Ｍ／２）の１つにその経路メトリックを拡張するよう関連遷移メトリックを加算することによって更新される。
βｋ−１（ｍ）＝ｍａｘ＊（βｋ（２ｍ）＋γｋ（Ｉ），βｋ（２ｍ＋１）＋γｋ（ＩＩ））
βｋ−１（ｍ＋Ｍ／２）＝ｍａｘ＊（βｋ（２ｍ）＋γｋ（ＩＩ），βｋ（２ｍ＋１）＋γｋ（Ｉ））
【００９６】
上記の方程式に従ってＬｏｇ−ＭＡＰバタフライのいずれかの共存する状態対を更新する際に、同じ４つのデータ項目を対の各状態に対して使用することがすぐ理解されるであろう。つまり、更新される状態への同じ２つの経路メトリクス、およびその更新を達成するための同じ２つの遷移メトリック値を、共存するバタフライ対の各状態を更新するために使用する。
【００９７】
各状態の更新には連続する３つのステップが必要となる。すなわち、共存する対の２つのブランチメトリクスのそれぞれへの遷移メトリック値の加算、その結果得られた２つの更新されたブランチメトリクスの比較、２つのうちの最大値の選択である。したがって、上記の更新方程式のそれぞれの実行には、加算−比較−選択「ＡＣＳ」動作が必要である。
【００９８】
もっとも一般的に、本発明は、トレリスバタフライの１つの共存する状態対の１つの状態について加算−比較−選択「ＡＣＳ」動作の各ステップを、１つの共存する状態対の別の状態について加算−比較−選択「ＡＣＳ」動作の対応する各ステップと並行して少なくとも実行することにより、Ｌｏｇ−ＭＡＰ復号アルゴリズムの動作を加速することを提案する。ＡＣＳ動作は、径路メトリック更新の一部またはＬｏｇ尤度比の計算の一部を形成することができる。
【００９９】
したがって、Ｌｏｇ−ＭＡＰ  ＡＣＳ動作「ＬＭ＿ＡＣＳ」が導入される。この動作はトレリスバタフライ上で実行され、
（ｉ）第１のエンコーダ状態に関連する経路メトリック値に、第１のエンコーダ状態から第１の隣接エンコーダ状態へのエンコーダの遷移に関連する第１の遷移メトリック値を加算し、それによって、第１の隣接エンコーダ状態に対する第１の更新された経路メトリック値を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、第１の状態と共存する第２のエンコーダ状態に関連する経路メトリック値に、第２のエンコーダ状態から第１の隣接エンコーダ状態へのエンコーダの遷移に関連する第２の遷移メトリック値を加算し、それによって第１の隣接エンコーダ状態に対する第２の更新された経路メトリック値を与えるステップと、
（ｉｉｉ）第１の隣接エンコーダ状態に対する第１の更新された経路メトリック値を、第１の隣接エンコーダ状態に対する第２の更新された経路メトリック値と比較し、２つのうちの最大を、その隣接エンコーダ状態に関連する更新された経路メトリック値として選択するステップと、
（ｉｖ）第１のエンコーダ状態に関連する経路メトリック値に、第１のエンコーダ状態から第１の隣接エンコーダ状態と共存する第２の隣接エンコーダ状態へのエンコーダの遷移に関連する第２の遷移メトリック値を加算し、それによって第２の隣接エンコーダ状態に対する第１の更新された経路メトリック値を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、第２のエンコーダ状態に関連する経路メトリック値に、第２のエンコーダ状態から前記第２の隣接エンコーダ状態へのエンコーダの遷移に関連する第２の遷移メトリック値を加算し、それによって第２の隣接エンコーダ状態に対する第２の更新された経路メトリック値を与えるステップと、
（ｖｉ）第２の隣接エンコーダ状態に対する前記第１の更新された経路メトリック値を、第２の隣接エンコーダ状態に対する第２の更新された経路メトリック値と比較し、２つのうちの最大を、第２の隣接エンコーダ状態に関連する更新された経路メトリック値として選択するステップと、
を含む。
【０１００】
この動作においては、ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスが、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実施される。
【０１０１】
ｍａｘ＊動作は以下のように定義される。
【０１０２】
ｍａｘ＊（ａ，ｂ）＝ｍａｘ（ａ，ｂ）＋ｌｎ（ｌ＋ｅｘｐ（−｜ａ−ｂ｜））
修正項ｌｎ（ｌ＋ｅｘｐ（−｜ａ−ｂ｜））は、「ｍａｘ」動作に関連するＡＣＳ動作の結果に加算され、全ヤコビ対数を与えるが、「ｍａｘ」演算子はただの近似にすぎない。これは、小型ルックアップテーブル（ＬＵＴ）を用いて本実施形態のディジタル信号プロセッサで実施されるが、以下に詳細を論じることとする。
【０１０３】
図６は、ＬＭ＿ＡＣＳ動作のステップを示す概略図である。この動作の機能は、上記で定義した４つの経路メトリック更新方程式の構造に基づいている。ＬＭ＿ＡＣＳ動作の第１のステップ６１には、ディジタル信号プロセッサによる、共存するＬｏｇ−ＭＡＰバタフライ対の２つの経路メトリック値（ＰＭ１，ＰＭ２）、および２つの同時「ｍａｘ＊」動作でその対を更新する動作の第２のステップ６２で使用する２つの別個の遷移メトリック値（ＴＭ１，ＴＭ２）の同時提供が必要である。更新した径路メトリクス（ＲＭ１，ＲＭ２）は、結果６３と同時に生成される。
【０１０４】
タイムステップｋのこのタイプの完全な経路メトリック更新のそれぞれが、８状態エンコーダトレリスに対する図７に示すディジタル信号プロセッサにより、以下のＬＭ＿ＡＣＳ動作のｍ回実行にマップ可能である。
【０１０５】
（ＲＭ１，ＲＭ２）＝ＬＭ＿ＡＣＳ（ＰＭ１，ＰＭ２，ＴＭ１，ＴＭ２）
図５に示すＬｏｇ−ＭＡＰバタフライのパラメータ、γｋ（Ｉ）およびγｋ（ＩＩ）は、遷移メトリック値、ＴＭ１およびＴＭ２に対応している。この割当てによって、図７に示す第１の２つのＬｏｇ−ＭＡＰバタフライが、破線および実線の割り当て（遷移メトリック値）に関して、図５に示すバタフライに対応していることが理解されるであろう。共通動作がすべてのバタフライについて定義されるため、ディジタル信号プロセッサ（ＤＳＰ）が図７に示す最後の２つのバタフライ（右欄）を計算する場合、ブランチメトリクスの順序を交換する必要がある。
【０１０６】
図７に示すエンコーダトレリスセグメントの８つの状態（ｍ＝０，．．．，ｍ＝７）の順方向経路メトリクスを、タイムｋ−１からタイムｋへ更新するためには、以下のように、ＤＳＰによりＬＭ＿ＡＣＳ動作を４回実行する必要がある。
（αｋ（０），αｋ（１））＝ＬＭ＿ＡＣＳ（αｋ−１（０），αｋ−１（４），γ０，０ｋ，γ１，１ｋ）
（αｋ（２），αｋ（３））＝ＬＭ＿ＡＣＳ（αｋ−１（１），αｋ−１（５），γ０，１ｋ，γ１，０ｋ）
（αｋ（４），αｋ（５））＝ＬＭ＿ＡＣＳ（αｋ−１（２），αｋ−１（６），γ１，０ｋ，γ０，１ｋ）
（αｋ（６），αｋ（７））＝ＬＭ＿ＡＣＳ（αｋ−１（３），αｋ−１（７），γ１，１ｋ，γ０，０ｋ）
【０１０７】
上記の順方向経路メトリクスの更新中、すべての更新された経路メトリクス（αｋ（０），．．．，αｋ（７））は、後にＬｏｇ尤度比の計算で使用するため、ＤＳＰの記憶装置にタイムステップｋ毎に格納される。２つのＬＭ＿ＡＣＳ動作が同じブランチメトリクス対、（γｋ０，０，γｋ１，１）か（γｋ０，１，γｋ１，０）かのどちらかを使用する度に、遷移メトリックキャッシュのこれらのブランチメトリック値のバッファリングによって、ＤＳＰの主記憶装置の必要な帯域幅を減少し、効率を高めることができる。
【０１０８】
逆方向経路メトリクスの更新は、以下に従ってＤＳＰによって得られる。
（βｋ−１（０），β−１ｋ（４））＝ＬＭ＿ＡＣＳ（βｋ（０），βｋ（１），γ０，０ｋ，γ１，１ｋ）
（βｋ−１（１），βｋ−１（５））＝ＬＭ＿ＡＣＳ（βｋ（２），βｋ（３），γ０，１ｋ，γ１，０ｋ）
（βｋ−１（２），βｋ−１（６））＝ＬＭ＿ＡＣＳ（βｋ（４），βｋ（５），γ１，０ｋ，γ０，１ｋ）
（βｋ−１（３），βｋ−１（７））＝ＬＭ＿ＡＣＳ（βｋ（６），βｋ（７），γ１，１ｋ，γ０，０ｋ）
【０１０９】
逆方向経路メトリクスの更新をＬｏｇ尤度比（ＬＬＲ）の計算と組み合わせることにより、ＤＳＰは、後にＬＬＲ計算に使用するため、タイムステップｋでこのようにして計算し（格納し）た逆方向経路メトリック値を直接使用することができる。２Ｍの逆方向経路メトリクック値のみをＤＳＰで格納する必要があるが、この値はタイムステップｋおよびｋ−１用である。
【０１１０】
タイムｋ−１からタイムｋへの、図７に示す８状態エンコーダトレリスセクションのためのＬＬＲ値の計算は、以下のように記述できる。
【数６】
0004049620.tif 000007
【０１１１】
この方程式は、２つの拡張ＡＣＳ動作からなり、方程式の以下に示す４つのバタフライへの分割から始まり３段階で実行される。
【０１１２】
段階１：
【数７】
0004049620.tif 000008
【０１１３】
従って、このプロセスのステージ１は拡張ＬＭ＿ＡＣＳ動作を４回、実行することとなることが理解されれよう。次いで、段階２となり、
【数８】
0004049620.tif 000009
【０１１４】
次いで段階３で終了する。
【数９】
0004049620.tif 000010
【０１１５】
したがって、このプロセスのステージ１が拡張ＬＭ＿ＡＣＳ動作を４回、すなわち１回の動作を（ｌｌｒ１＿ｓ１＿１，ｌｌｒ０＿ｓ１＿１）、（ｌｌｒ１＿ｓ１＿２，ｌｌｒ０＿ｓ１＿２）、（ｌｌｒ１＿ｓ１＿３，ｌｌｒ０＿ｓ１＿３）、（ｌｌｒ１＿ｓ１＿４，ｌｌｒ０＿ｓ１＿４）で定義された４つのバタフライのそれぞれに１回、実行することになることが理解されよう。
【０１１６】
上記の４つのバタフライのそれぞれ１つで実行される拡張ＬＭ＿ＡＣＳ動作は、第１の値のパリティビット（たとえば、ビット０）に対応するトレリス遷移のみに関して実行される、以下に記述するステップ（ｉ）から（ｉｉｉ）と、第２の値のパリティビット（たとえば、ビット１）に対応するトレリス遷移のみに関して実行される、以下に記述するステップ（ｉｖ）から（ｖｉ）とを含む。
【０１１７】
（ｉ）所与のトレリスバタフライの第１のエンコーダ状態に関連する順方向経路メトリック値に、第１のエンコーダ状態からバタフライの第１の隣接エンコーダ状態へのエンコーダの順方向遷移に関連する第１の遷移メトリック値と、第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算し、第１の合計を与えるステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、第１の状態と共存するトレリスバタフライの第２のエンコーダ状態に関連する順方向経路メトリック値に、第２のエンコーダ状態から第１の隣接エンコーダ状態と共存するバタフライの第２の隣接エンコーダ状態へのエンコーダの順方向遷移に関連する前記第１の遷移メトリック値と、第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算し、第２の合計を与えるステップと、
（ｉｉｉ）第１の合計と第２の合計を比較し、２つのうちの最大値を第１の最大値として選択するステップと、
（ｉｖ）第２のエンコーダ状態に関連する順方向経路メトリック値に、第２のエンコーダ状態から第１の隣接エンコーダ状態へのエンコーダの順方向遷移に関連する第２の遷移メトリック値と、第１の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算し、第３の合計を与えるステップと、
（ｖ）ステップ（ｉｖ）と実質的に同時に、第１のエンコーダ状態に関連する順方向経路メトリック値に、第１のエンコーダ状態から第２の隣接エンコーダ状態へのエンコーダの順方向遷移に関連する第２の遷移メトリック値と、第２の隣接エンコーダ状態に関連する逆方向経路メトリック値とを加算し、第４の合計を与えるステップと、
（ｖｉ）前記第３の合計と前記第４の合計を比較し、２つのうちの最大値を第２の最大値として選択するステップとを含む。
【０１１８】
ステップ（ｉ）、（ｉｉ）、（ｉｉｉ）のシーケンスを、それぞれステップ（ｉｖ）、（ｖ）、（ｖｉ）のシーケンスと実質的に同時に実施し、ステップ（ｉ）から（ｖｉ）を他の３つの共存するトレリスバタフライのすべてのエンコーダ状態に対して繰り返し、第１の最大値の集合および第２の最大値の集合を与える。この例においては、第１の最大値の集合は、４つの要素、｛ｌｌｒ１＿ｓ１＿１，ｌｌｒ１＿ｓ１＿２，ｌｌｒ１＿ｓｌ＿３，ｌｌｒ１＿ｓｌ＿４｝を有し、第２の最大値の集合は、４つの要素、｛ｌｌｒ０＿ｓ１＿１，ｌｌｒ０＿ｓ１＿２，ｌｌｒ０＿ｓｌ＿３，ｌｌｒ０＿ｓｌ＿４｝を有する。
【０１１９】
トレリスセグメントのためのＬＬＲ値を決定するには、第２の最大値の集合の最大の要素を、第１の最大値の集合の最大の要素から減算し、上記で定義したステージ２および３に従ってＬｏｇ尤度比を与える。これら２つのステージは、以下に記述する加速されたＬＬＲ動作（ＬＬＲ＿ＡＣＣ）を定義する。
【０１２０】
ＬＭ＿ＡＣＳ動作の「加算」部分が、ここでは２つの数量の加算（たとえば、経路メトリック＋同じ１つの状態への遷移メトリック）から３つの数量の加算（すなわち、順方向経路メトリック＋異なる状態への遷移メトリック＋逆方向経路メトリック）へ拡張されていることが理解されよう。したがって、この拡張ＬＭ＿ＡＣＳ動作は、トレリスバタフライを処理するためには、２つの順方向経路メトリック値と、２つの遷移メトリック値と、２つの逆方向経路メトリック値とを必要とする。
【０１２１】
拡張ＬＭ＿ＡＣＳ動作を、図８に概略で示してある。この拡張ＬＭ＿ＡＣＳ動作は、経路メトリック更新に使用する場合にはＬＭ＿ＡＣＳ動作に必要な同じ４つのメトリック値８１（すなわち、ＰＭ１、ＰＭ２、ＴＭ１、ＴＭ２）、および追加の２つのパラメータ８２（すなわち、ＢＴ１およびＢＴ２）を必要とする。これは、２つの共存するバタフライ状態に関連する逆方向経路メトリック値を表す。さらに、パラメータＰＡＲ１およびＰＡＲ２は、この２つのパラメータのそれぞれが、ＬＭ＿ＡＣＳ動作の機能によって、値ＴＭ１およびＴＭ２のいずれかを取ることができるように、２つの遷移メトリック値ＴＭ１およびＴＭ２を一般化する。
【０１２２】
簡単なメトリック更新を実行するために使用する場合、ＬＭ＿ＡＣＳ動作では、ＤＳＰがＤＳＰ記憶装置からメトリクス８１を呼び出す必要がある。メトリクス８２は上述のキャッシュから呼び出されないし、それらの値はＤＳＰによってＢＴ１＝０およびＢＴ２＝０に設定される。同様に、ＤＳＰはＰＡＲ１＝ＴＭ２およびＰＡＲ２＝ＴＭ１を設定し、ＬＭ＿ＡＣＳ動作８３を実行する。その結果、２つの更新された経路メトリクスＲＭ１およびＲＭ２が得られる。これらの２つの経路メトリクス８４は、拡張ＬＭ＿ＡＣＳ動作を使用するＬＬＲ計算で後に使用するためにＤＳＰ記憶装置に戻される。
【０１２３】
上記のステージ１を実行するために使用する場合は、拡張ＬＭ＿ＡＣＳ動作では、ＤＳＰがＤＳＰ記憶装置からメトリクス８１および８２を呼び出す必要がある。ＤＳＰはＰＡＲ１＝ＴＭ１およびＰＡＲ２＝ＴＭ２を設定し、ＬＭ＿ＡＣＳ動作８３を実行する。その結果、それぞれ第１および第２の最大値の集合の２つの要素、ＲＭ１およびＲＭ２が得られる。これらの２つの要素８４は、ＤＳＰ記憶装置に戻される。このプロセスを、必要なすべてのバタフライを処理し、第１および第２の最大値の集合を完了するまで繰り返す。次いで上記のステージ２および３をこれら２つの集合に関して実行できる。
【０１２４】
ＬＬＲ計算のステージ２および３の計算を加速するために、動作ＬＬＲ＿ＡＣＣを導入する。この動作を実行する際に、ＤＳＰはそのデータのすべてを、最大値の第１および第２の集合の要素を格納するキャッシュから取得する。
【０１２５】
ＤＳＰは、第２の最大値の集合の最大の要素を、第１の最大値の前記集合の最大の要素から、
（ｉ）第１の最大値の集合から２つの要素を選択し、２つの要素を比較し、２つのうちの最大値を第１の最大値の連続する集合の要素として選択するステップと、
（ｉｉ）ステップ（ｉ）と実質的に同時に、第２の最大値の集合から２つの要素を選択し、その２つの要素を比較し、２つのうちの最大値を第２の最大値の連続する集合の要素として選択するステップと、
（ｉｉｉ）第１および第２の最大値の集合のうちこれまでに選択していない要素のすべてについて、それぞれの全要素がこのように選択されるまで、ステップ（ｉ）および（ｉｉ）を繰り返すステップと、
（ｉｖ）第１および第２の最大値の各連続する集合について、連続する集合のそれぞれが最終的にただ１つの要素しか有さなくなるまで、ステップ（ｉ）から（ｉｉｉ）を繰り返すステップと、
（ｖ）第１の最大値の最終的に連続する集合の１つの要素の値を、第２の最大値の最終的に連続する集合の１つの要素の値から減算して、Ｌｏｇ尤度比を与えるステップと、
を有するＬＬＲ＿ＡＣＣ動作に従って減算することによってＬＬＲ値を計算する。
【０１２６】
このようにして、所与のエンコーダ遷移（エンコーダトレリスのタイムステップ）のためのＬｏｇ尤度比（ＬＬＲ）の計算は、拡張ＬＭ＿ＡＣＳ動作によって生成されたデータの処理を並列に実行することによって加速され、したがって、加速されたＬＬＲ（ＬＬＲ＿ＡＣＣ）動作を提供する。
【０１２７】
ＬＬＲ＿ＡＣＣ動作を、図９に概略で示す。この動作では、ＤＳＰが、ＤＳＰの拡張ＬＭ＿ＡＣＳ動作中にコピーされたキャッシュ記憶装置から（図８の８５にＲＭ１、ＲＭ２などで図示）４つの要素９１（すなわち、ＢＴ１、ＢＴ２、ＢＴ３、ＢＴ４）を、検索する必要がある。次いでＤＳＰは、４つの入力要素の２つの対に関して同時にＬＬＲ＿ＡＣＣ動作９２を実行し、２つの結果９４、ＲＭ１およびＲＭ２を元の同じキャッシュに出力し、そのキャッシュで予め検索された要素の２つに上書きする。これら２つのキャッシュされた値は、それぞれ第１および第２の最大の要素の連続する集合の要素を表す。また、ＤＳＰは、異なる値、ＲＭ１−ＲＭ２を計算し、値を主ＤＳＰ記憶装置に格納する。このプロセスを、第１および第２の最大値の集合のすべての要素を処理し、第１の最大値および第２の最大値の連続する集合が完了する（すなわち、この例においては、ステージ２が完了する）まで繰り返す。
【０１２８】
ＬＬＲ＿ＡＣＣ動作の最後のステージ（ここではステージ３）を除いて、差の値、ＲＭ１−ＲＭ２は意味を持たない。最後のステージにおいては、差の値はＬＬＲである。
【０１２９】
図１０に、上述したメトリック計算、ＬＭ＿ＡＣＳ、拡張ＬＭ＿ＡＣＳおよびＬＬＲ＿ＡＣＣ動作を提供するように拡張されたＤＳＰコアの例を示す。ＤＳＰには、プログラム記憶装置１００に接続されたアドレスバス１０６、第１のデータ記憶装置１００に接続されたアドレスバス１０７、第２のデータ記憶装置１０２に接続されたアドレスバス１０８を有するアドレス生成ユニット（ＡＧＵ）１０３などの従来の構成部品が含まれる。データバス１０９および１１０は、２つのデータ記憶装置１０１および１０２をＤＳＰのデータＡＬＵ１０５に接続する。制御バス１１１は、ＤＳＰのプログラム制御ユニット（ＰＣＵ）１０４を、ＡＧＵ１０３およびデータ演算論理ユニット（ＡＬＵ）１０５に接続する。プログラム記憶装置データバス１１２は、プログラム記憶装置１００を、ＤＳＰのデータＡＬＵ１０５およびＰＣＵ１０４の両方に接続する。
【０１３０】
これらＤＳＰの構成部品および接続は一般的なものであり、その機能および相互作用については、本明細書ではこれ以上論じないこととする。
【０１３１】
図１０に示すＤＳＰの一般的な部分の拡張は、ＤＳＰのメトリック計算ユニット１５３、ＬＭ＿ＡＣＳユニット１５４、ＬＬＲ＿ＡＣＣユニット１５５、遷移メトリックキャッシュ１５６、デュアルポートキャッシュ１５７によって提供される。メトリック計算ユニット１５３、ＬＭ＿ＡＣＳユニット１５４、ＬＬＲ＿ＡＣＣユニット１５５は、一般的なＤＳＰの制御バス１１１に接続されている制御バス１５０を介して、ＤＳＰの汎用部分に接続され、その制御バスに接続されたその他のＤＳＰ構成部品に接続される。メトリック計算ユニット１５３、ＬＭ＿ＡＣＳユニット１５４、ＬＬＲ＿ＡＣＣユニット１５５のそれぞれが、２つのデータインターフェイスを有し、それぞれがデータバス１５１および１５２を介してＤＳＰの２つのデータ記憶装置１０１および１０２のそれぞれ１つに接続される。
【０１３２】
メトリック計算ユニット１５３は、上述の方法に従って遷移メトリック値を計算し、ＤＳＰのデータ記憶装置１０１、１０２およびＤＳＰのメトリックキャッシュ１５６に格納するために遷移メトリック値を供給することができる。ＬＭ＿ＡＣＳユニット１５４は、経路メトリック値を更新する際にＬＭ＿ＡＣＳ動作を実行することができる。遷移メトリック値、経路メトリック値（順方向および逆方向）、その他のデータ値は、ＬＭ＿ＡＣＳユニット１５４により、データ記憶装置１０１および１０２およびキャッシュ１５６から、この目的のために検索することが可能である。
【０１３３】
図１１に示す入力ライン２０１および２０３は、図１０に示すデータバス１５１および１５２に、それぞれ個別にマップすることができる。入力ライン２０２および２０４は、データバス１５１、１５２、または１５９に、それぞれ個別にマップすることができる。戻り値ライン２１７は、データバス１５１および１６０の両方にマップされ、一方ライン２１７’は、データバス１５２および１６１の両方にマップされる。更新された経路メトリック値は、ＬＭ＿ＡＣＳユニット１５４からＤＳＰデータ記憶装置１０１および１０２に戻される。
【０１３４】
加速されたＬＬＲ動作は、ＬＬＲ＿ＡＣＣユニット１５５によって実行される。このユニットはデータ値を、デュアルポートキャッシュ１５７からデュアルデータバス１６０および１６１を介して検索し、またデュアルポートキャッシュ１５７へデータ値を戻す。ＬＬＲ＿ＡＣＣユニットによって計算されたデータ値も、ＤＳＰのデータ記憶装置１０１および１０２に出力される。これらのデータ値には、第１および第２の最大値の集合およびＬＬＲ値が含まれる。
【０１３５】
図１１には、拡張ＬＭ＿ＡＣＳ動作を実行するのに適したＬＭ＿ＡＣＳユニット１５４のアーキテクチャの例を示す。
【０１３６】
ＤＳＰのＬＭ＿ＡＣＳユニットは、計算ユニット２０９を備える。計算ユニットは、更新された経路メトリクスを出すため、データ入力ポートで同時に受取られた遷移メトリックデータ値に経路メトリック値を加算し、共存する更新された経路メトリクス対を比較し、各データ出力ポート２１７および２１７’の別個のそれぞれにおいて、上述したＬＭ＿ＡＣＳ動作の「ｍａｘ＊」部分に従って、２つの比較後の更新された経路メトリック対の最大を同時に出力するように動作可能である。
【０１３７】
計算ユニットは、経路メトリックデータ値ＰＭ１を受取るための第１のデータ入力ポート２０１と、遷移メトリックデータ値（ＴＭ１）を受取るための第２のデータ入力ポート２０２と、経路メトリックデータ値（ＰＭ２）を受取るための第３のデータ入力ポート２０３と、遷移メトリックデータ値（ＴＭ２）を受取るための第４のデータ入力ポート２０４と、遷移メトリック値（ＰＡＲ１）を受取るための第５の入力ポート２０５と、遷移メトリック値（ＰＡＲ２）を受取るための第６の入力ポート２０６と、逆方向経路メトリック値（ＢＴ１）を受取るための第１のフィードバックデータ入力ポート２０７と、逆方向経路メトリック値（ＢＴ２）を受取るための第２のフィードバックデータ入力ポート２０８とを有する。
【０１３８】
計算ユニットでは、選択した機能によって、図６に示すＬＭ＿ＡＣＳ動作および図８に示す拡張ＬＭ＿ＡＣＳ動作を実行することができる。ＬＭ＿ＡＣＳユニットは、遷移メトリックセレクタゲート２３２および２３２’、および経路メトリックセレクタゲート２２７を有する機能選択装置を備える。
【０１３９】
遷移メトリックセレクタゲート２３２（２３２’）は、遷移メトリック値ＴＭ２およびＴＭ１を同時に受取るための第１の入力部２３３（２３３’）および第２のデータ入力部２３４（２３４’）と、計算ユニットの第５のデータ入力部２０５へ、パラメータＰＡＲ１（ＰＡＲ２）としてこれら２つの値のうちの１つを出力するためのデータ出力２３５（２３５’）とを備える。経路メトリックセレクタゲート２２７は、出力された逆方向経路メトリック値を受取るために計算ユニット２０９のそれぞれの出力ポート２１７（２１７’）に接続される、２つのデータ入力ポート２２８および２２９を備える。経路メトリックセレクタゲート２２７の第１のデータ出力ポート２３０は、計算ユニット２０９の第２のフィードバックデータ入力ポート２０８に接続される。同様に、経路メトリックセレクタゲート２２７の第２のデータ出力ポート２３１は、計算ユニットの第１のフィードバックデータ入力ポート２０７に接続される。
【０１４０】
したがって、データ値ＢＴ１およびＢＴ２は、それぞれ経路メトリックセレクタゲート２２７の、第２および第１のフィードバックデータ出力ポート２３１および２３０を介して、計算ユニットに入力できる。経路メトリックセレクタゲートはまた、値ＢＴ１およびＢＴ２をゼロに設定できる。
【０１４１】
その第１の選択状態においては、機能選択装置では、ＬＭ＿ＡＣＳユニットが、経路メトリックセレクタゲート２２７をＢＴ１＝０およびＢＴ２＝０に設定することによって、一方同時に、遷移メトリックセレクタゲート２３２および２３２’をＰＡＲ１＝ＴＭ２およびＰＡＲ２＝ＴＭ１に、それぞれ、設定することによって、経路メトリック更新を実行するようにすることができる。計算ユニット２０９から出力される、更新された遷移メトリック値ＲＭ１およびＲＭ２は、ＤＳＰの主記憶装置２１９内に格納され、また逆経路メトリック値については、デュアルポートキャッシュ記憶装置（図示せず）にコピーバックされる。
【０１４２】
その第２の選択状態においては、機能選択装置では、ＬＭ＿ＡＣＳユニットが、ＬＬＲ計算の一部として拡張ＬＭ＿ＡＣＳ動作を実行するようにすることができる（上記のステージ１参照）。これは、経路メトリックセレクタゲート２２７が、計算ユニットの出力ポート２１７（２１７’）から、計算ユニットの第１および第２のフィードバック入力ポートに、値ＢＴ１およびＢＴ２をゼロに設定しないで、入力することによって得られる。同時に、遷移メトリックセレクタユニット２３２および２３２’が、それぞれＰＡＲ１＝ＴＭ１およびＰＡＲ２＝ＴＭ２を設定する。計算ユニット２０９から出力されたデータ要素ＲＭ１およびＲＭ２は、ＤＳＰの主記憶装置２１９内に格納され、またＬＬＲ＿ＡＣＣ動作で後に使用するために、デュアルポートキャッシュ記憶装置（図示せず）にコピーバックされる。
【０１４３】
ＬＬＲ＿ＡＣＣユニット（図１０の１１５）のためのアーキテクチャの例を、図１２に示す。このユニットは、上述した「ステージ２」および「ステージ３」を実行するのに適している。ＬＬＲ＿ＡＣＣユニットは、第１の比較／選択ユニット３００と、第２の同じ比較／選択ユニット３００’とを備える。２つのユニット３００および３００’の同じ番号は同じ部品を示す（後者の参照番号にはダッシュ符号を付加してある）。
【０１４４】
ＬＬＲ＿ＡＣＣユニットの比較／選択ユニット３００は、データインターフェイス３１９を介して、デュアルポートキャッシュ３２１（キャッシュデータアドレス［０．．．１５］）に格納された第１および第２の最大値の集合の１つからデータ要素を受取るための第１のデータ入力ポート３０１と、データインターフェイス３２０を介して、デュアルポートキャッシュ３２１（キャッシュデータアドレス［１６．．．３１］）に格納された第１および第２の最大値の集合の別の１つからデータ要素を同時に受取るための第２のデータ入力ポート３０２とを備える。
【０１４５】
図１２に示すキャッシュ３２１が、図１０に示すキャッシュ１５７と同じキャッシュであることに留意されたい。したがって、図１２に示すライン３１９および３２０も、図１０に示すライン１６０および１６１に対応している。さらに、出力ライン３１８は、図１０に示すデータバス１５１または１５２のいずれか１つにマップする。
【０１４６】
これら２つの入力ポートで同時に受取られたデータ値は、２つのデータ入力ポート３０３および３０５を介して比較ユニット３０７に、および２つのデータ入力ポート３０４および３０６を介して差分ユニット３０８に、同時に入力される。差分ユニット３０８は、２つのデータ入力ポートに同時に入力されるデータ値（すなわち、ポート３０４の値「ｂ」およびポート３０６の値「ａ」）間の算術差の絶対値（すなわち、｜ｂ−ａ｜）を決定し、差の符号も決定する。差の絶対値は、ルックアップテーブル（ＬＵＴ）３１０に出力され、差の符号は、比較ユニット３０７の第３のデータ入力部３０９に出力される。
【０１４７】
ポート３０９で入力された符号値に基づいて、比較ユニット３０７が、データ入力ポート３０３および３０５で同時に入力された２つのデータ値の最大を選択し、出力ポート３１２で、選択された最大データ値を加算器ユニット３１５に出力する。この動作と同時に、修正項が、差分ユニット３０８から入力されたデータに基づいて、ルックアップテーブル３１０から検索され、出力ポート３１１を介して加算器ユニット３１５に出力される。次いで、加算器ユニットは、選択された最大値に修正値を加算し、結果を比較／選択ユニット３００の出力ポート３１４で出力する。
【０１４８】
上記の説明は、同じ（ダッシュ符号付きの）参照番号の付いた同じ項目を有する、並列の比較／選択ユニット３００’に適用される。
【０１４９】
したがって、比較／選択ユニット３００（３００’）は、以下で定義されるｍａｘ＊動作を実行する。
ｍａｘ＊（ａ，ｂ）＝ｍａｘ（ａ，ｂ）＋ｌｎ（ｌ＋ｅｘｐ（−｜ａ−ｂ｜））
【０１５０】
修正項、ｌｎ（１＋ｅｘｐ（−｜ａ−ｂ｜））は、「ｍａｘ」動作に関連するＡＣＳ動作の結果に加算され、全ヤコビ対数を与えるが、「ｍａｘ」計算子はただの近似にすぎない。これは、上述したように、ルックアップテーブル（ＬＵＴ）３１０（３１０’）を用いて本実施形態のディジタル信号プロセッサ内で実行される。
【０１５１】
したがって、比較／選択ユニット３００（３００’）は、同時入力データ要素に対して「ｍａｘ＊」動作を実行し、出力ポート３１４（３１４’）で結果を、減算ユニット３１５の入力ポート３１６（３１６’）に、またＬＬＲ＿ＡＣＣ動作の後のステージ（たとえば、上記の「ステージ３」）で使用するため（データバス３１７（３１７’））を介して）デュアルポートキャッシュ３２１に出力する。
【０１５２】
減算ユニット３１５は、ポート３１６’で入力されたデータ値を、ポート３１６で同時に入力されたデータ値から減算し、結果３１８を出力する。ＬＬＲ＿ＡＣＣ動作の最終段階を実行した後の、減算ユニット３１５の出力結果３１８がＬＬＲ値である。
【０１５３】
上述した本発明の実施形態の変形形態および修正形態は、当業者には容易に明らかになるように、本発明の範囲から逸脱することなく実施できることが理解されよう。
【図面の簡単な説明】
【図１】再帰システマティック畳み込み（ＲＳＣ）エンコーダを示す図である。
【図２】図１に示すＲＳＣエンコーダに関連するエンコーダトレリスを示す図である。
【図３】ターボコードの構成要素コードを提供する並列連結された２つのＲＳＣエンコーダを備えるターボコードエンコーダを示す図である。
【図４】２つの最大アポステリオリ確率（ＭＡＰ）デコーダを用いるターボデコーダを示す図である。
【図５】Ｌｏｇ−ＭＡＰトレリスバタフライを示す図である。
【図６】加速されたＬｏｇ−ＭＡＰ復号アルゴリズム（ＬＭ＿ＡＣＳ）の動作を概略的に示す流れ図である。
【図７】トレリスのＬｏｇ−ＭＡＰバタフライにマップされたＬｏｇ−ＭＡＰトレリスタイムステップの更新の概略を表す図である。
【図８】加速されたＬｏｇ−ＭＡＰ復号アルゴリズム（ＬＭ＿ＡＣＳ）の拡張動作を概略的に示す流れ図である。
【図９】加速されたＬｏｇ尤度比（ＬＬＲ＿ＡＣＣ）計算の動作を概説する流れ図である。
【図１０】拡張ディジタル信号プロセッサコアのブロック図である。
【図１１】拡張ディジタル信号プロセッサのＬＭ＿ＡＣＳユニットのためのアーキテクチャの例を示す図である。
【図１２】拡張ディジタル信号プロセッサのＬＬＲ＿ＡＣＣユニットのためのアーキテクチャの例を示す図である。
【符号の説明】
２、５、２３５  出力
３  シフトレジスタ
４  排他的論理和ゲート
６  フィードバックループ
２０  ブランチ
２１  ノード
１、３１、３６、３７、３８、４６、４７、４８、５０、５２、２３３、２３４、３０９  入力
３２、４３、４４、４５  インターリーバ
３４、３５  エンコーダ
３９  マルチプレクサ
４１、４２  デコーダ
５５  判断回路
５６、５７  チャネル状態情報
１０３  アドレス生成ユニット（ＡＧＵ）
１００、１０１、１０２  記憶装置
１０４  プログラム制御ユニット（ＰＣＵ）
１０５  データ論理計算ユニット（ＡＬＵ）
１０６、１０８  アドレスバス
１０９、１１０、３１７  データバス
１１１、１５０  制御バス
１５１、１５２、１６０、１６１  データバス
１５３  メトリック計算ユニット
１５４  ＬＭ＿ＡＣＳユニット
１５５  ＬＬＲ＿ＡＣＣユニット
１５６  キャッシュ
１５７、３２１  デュアルポートキャッシュ
２０１、２０２、２０３、２０４、２０５、２０６、２０７、２０８、  ２２８、２２９、３０１、３０２、３０３、３０４、３０５、３０６、  ３１６  入力ポート
２０９  計算ユニット
２１７、３１１、３１２、３１４  出力ポート
２１９  主記憶装置
２２７  経路メトリックセレクタゲート
２３０、２３１  フィードバックデータ出力ポート
２３２  セレクタゲート
３００  比較／選択ユニット
３０７  比較ユニット
３０８  差分ユニット
３１０  ルックアップテーブル（ＬＵＴ）
３１５  加算器ユニット、減算ユニット
３１９、３２０  データインターフェイス
【図１】
0004049620.tif 000011
【図２】
0004049620.tif 000012
【図３】
0004049620.tif 000013
【図４】
0004049620.tif 000014
【図５】
0004049620.tif 000015
【図６】
0004049620.tif 000016
【図７】
0004049620.tif 000017
【図８】
0004049620.tif 000018
【図９】
0004049620.tif 000019
【図１０】
0004049620.tif 000020
【図１１】
0004049620.tif 000021
【図１２】
0004049620.tif 000022