(57)【特許請求の範囲】
【請求項１】
（ａ）バタフライプロセッサ装置に入力される、第一と第二の入力パスメトリックスを受領する、第一と第二の加算−比較−選択モジュールと、前記第一と第二の加算−比較−選択モジュールの各々は、前記第一と第二の加算−比較−選択モジュールの各々の比較素子と選択素子に接続された対数和修正手段と、前記選択素子と前記対数和修正手段の出力を前記第一と第二の加算−比較−選択モジュールの各々の出力に選択的に結合する、制御可能なスイッチとを有し、
（ｂ）前記第一と第二の加算−比較−選択モジュールの各々に与えられる第一と第二の出力ブランチメトリックスを生成するために、入力データと外部データを受領するブランチメトリックカリキュレータと、前記第二出力ブランチメトリックスは、前記第一出力ブランチメトリックスと数学的に逆（arithmetic inverse）であり、
（ｃ）前記選択素子が出力の時に、畳み込み復号化を実行し、前記対数和修正手段が出力の時に、対数ＭＡＰ復号化を実行するように前記制御可能なスイッチを作動させる手段と、
を備える、バタフライプロセッサ装置。
【請求項２】
前記対数和修正手段は、前記比較素子の差分出力に接続されたアドレス入力を有する対数和修正テーブルを有し、
前記対数和修正テーブルは、対数和値を加算器の第一入力に出力し、
前記加算器の第二入力は、前記選択素子の出力に接続され、
前記加算器は、前記対数和修正手段の出力を与える
ことを特徴とする、請求項１記載の装置。
【請求項３】
（ａ-１）バタフライプロセッサ装置に入力される、第一と第二の入力パスメトリックスを受領する、第一と第二の加算−比較−選択手段と、前記第一と第二の加算−比較−選択手段の各々は、前記第一と第二の加算−比較−選択手段の各々の比較素子と選択素子に接続された対数和修正手段と、
（ａ-２）前記選択素子と前記対数和修正手段の出力を前記第一と第二の加算−比較−選択手段の各々の出力に選択的に結合する、制御可能なスイッチとを有し、
（ｂ）前記第一と第二の加算−比較−選択手段の各々に与えられる第一と第二の出力ブランチメトリックスを生成するために、入力データと外部データを受領するブランチメトリックカリキュレータ手段と、前記第二出力ブランチメトリックスは、前記第一出力ブランチメトリックの数学的に逆（arithmetic inverse）であり、
（ｃ）前記選択素子が出力の時に、畳み込み復号化を実行し、前記対数和修正手段が出力の時に、対数ＭＡＰ復号化を実行するように前記制御可能なスイッチを作動させる手段と、
を備える、バタフライプロセッサ装置。
【請求項４】
前記対数和修正手段は、前記比較素子の差分出力に接続されたアドレス入力を有する対数和修正テーブル手段を有し、
前記対数和修正テーブル手段は、対数和値を加算手段の第一入力に出力し、
前記加算手段の第二入力は、前記選択素子の出力に接続され、
前記加算手段は、前記対数和修正手段の出力を与える
ことを特徴とする、請求項１記載の装置。
【請求項５】
通信復号化に際し、バタフライ処理を実行する方法において、
（ａ）入力データと外部データから、第一と第二のブランチメトリックスを生成するステップと、前記第二のブランチメトリックスは、第一のブランチメトリックスの数学的な逆数であり、
（ｂ）前記第一と第二の入力パスメトリックスと、前記第一と第二のブランチメトリックスに対し、加算−比較−選択操作を実行するステップと、
（ｃ）対数和修正の出力を生成するために、前記選択操作の出力を対数和修正するステップと、
（ｄ）前記対数和修正の出力と前記選択操作の出力を選択的に結合するステップと
から成り、
前記選択操作の出力が出力の時は、前記バタフライ処理は、畳み込み復号化を実行し、
前記対数和修正の出力が出力の時は、前記バタフライ処理は、対数ＭＡＰ復号化を実行する
ことを特徴とする、通信復号化に際し、バタフライ処理を実行する方法。
【請求項６】
前記対数和修正が、対数和修正テーブルを利用し、
（ｅ）対応する対数和値を出力するために、前記比較操作の差分出力を前記対数和修正テーブルのアドレス入力に与えるステップと、
（ｆ）前記対数和修正の出力を得るために、前記対数和値を前記選択操作の出力に加えるステップと
をさらに有することを特徴とする、請求項５記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワイヤレス通信における復号化に関し、特に、ワイヤレス通信システムにおける復号化のためのバタフライプロセッサに関する。
【０００２】
【従来の技術】
通信システムは、送信器から受信器への情報の伝送を扱う。情報が通る通信媒体は、しばしば、宇宙線、加法的白色ガウスノイズ（ＡＷＧＮ：Additive White Gauss Noise）、レイリー散乱（マルチパス伝搬）および電磁ノイズなどの多くのノイズ源を含む。これらのノイズ源の存在は、所望の情報の伝送を障害ないし妨害し、通信の能力を制限する。
【０００３】
当業者に周知のように、ソース（情報源）の情報から計算される冗長情報の付加により、送信されるべき情報を符号化することにより、送信情報を正しく受信する能力が改善される。復号は、受信されたデータについて、この冗長情報を用いて、誤りの存在を検出し、あるいは、最も確からしい送信ビットを推定することである。送信された冗長情報が、後で受信データにより計算されたものとは異なるとき、誤りが検出される。
【０００４】
符号語の重みは、その符号語からデータを回復することができる能力の尺度である。ビット数の大きい符号語は高い重みを有する。低い重みの符号語は、データを回復する能力が低いのに対して、高い重みの符号語は、データの回復能力が高い。
【０００５】
自動再送要求（ＡＲＱ）符号化方式は、誤り検出符号を使用する。受信された情報において誤りの存在が検出された場合、関連する情報の再送を要求するメッセージが、受信器から送信器に送られる。ＡＲＱ符号化方式は比較的単純であるが、フィードバックチャネルを使用することを要し、スループットは変動して比較的に低い。
【０００６】
前方誤り訂正（ＦＥＣ）符号化方式は、伝搬遅延およびレイテンシが問題となるシステムにおいて情報を符号化するために用いられる。受信器は、フィードバックチャネルを必要とせずに、誤りを検出・訂正することができる。
【０００７】
符号化方式は、ブロック符号および畳込み符号に大きく分類することができる。
【０００８】
ブロック符号は、ｋ個の情報ビットのメッセージを、構造化されたｎビット（ただし、ｎ＞ｋ）の系列（シーケンス）へとマッピングする。この符号を（ｎ，ｋ）符号という。比（ｎ−ｋ）／ｋを、符号の冗長度といい、全ビット数に対する情報ビット数の比ｋ／ｎを符号レート（符号化率）という。挿入される追加ビットは冗長性を提供し、復号器が誤り検出・訂正を行うために用いられる。符号化中に付加される冗長ビットは、そのメッセージブロック内のｋ個の情報ビットのみに依存する。ブロック符号は、ＡＲＱが実装されるときに誤りを検出するためにしばしば用いられる。
【０００９】
畳込み符号化は、与えられた期間におけるｎ個の符号ビットのブロックを、ｋ個の情報ビットから生成する。ただし、ｎおよびｋは一般に小さい。符号器によって生成されるｎビットのブロックは、その期間のｋ個の情報ビットだけでなく、あらかじめ規定された個数の先行する期間中に生成されたメッセージブロックにも依存する。この符号化について与えられるメモリ（記憶）により、許容される符号系列に基づいて、誤りを訂正することが可能となる。畳込み復号は、ビタビアルゴリズムまたは対数ＭＡＰアルゴリズムのいずれかを用いて実行することが可能である。
【００１０】
畳込み復号は、データの再送およびそれに伴う遅延が許されないワイヤレス音声通信システムにとって好ましい。ブロック符号は、高いスループットを出すことが可能であり、レイテンシがあまり問題とならないデータの伝送にとって好ましい。
【００１１】
ターボ符号（並列連接符号ともいう）は、その性能がシャノン容量限界に非常に近い符号のクラスである。ターボ符号は、畳込み符号器を並列または直列に接続して連接出力を生成することにより実現される。ある符号器から次の符号器に移るビット系列は、インタリーバによって置換（並べ換え）される。このように、単一の符号器によって生成される低重み符号語は、高重み符号語に変換される。こうして、ターボ復号は、２個の低重み符号語を受け取り、ずっと高い重みの符号語の効果を得る。
【００１２】
現在、消費者向けのワイヤレス通信方式は主に、音声の伝送に関するものである。このようなワイヤレス通信方式には、ＡＭＰＳ(Advanced Mobile Phone Services)、ＧＳＭ(Global System for Mobile Communication)およびＣＤＭＡ（符号分割多元接続）がある。これらは、第１世代（１Ｇ）および第２世代（２Ｇ）の方式を代表する。データと音声の通信方式の結合とともに、データの伝送がより重要となる第２．５世代（２．５Ｇ）および第３世代（３Ｇ）の方式が現れ始めている。高い伝送レートですぐれた誤り性能を達成するためには、ターボブロック符号化が好ましい。ブロック符号化に特有のレイテンシは、音声の伝送の場合ほど重要な問題ではない。ＵＭＴＳ(Universal Mobile Telecommunication Service)やＣＤＭＡ２０００のような新しい第３世代の移動ワイヤレス標準は、データストリームについてはターボ符号化を、音声ストリームについては畳込み符号化を要求する。これらの方式は、データについて複雑なターボ復号器を、音声についてビタビ復号器を要求する。さらに、下位互換性から、第２世代標準もサポートすることが要求される。
【００１３】
【発明が解決しようとする課題】
音声およびデータの伝送は、伝送レートと、レイテンシ・伝搬遅延との競合する要求を提示する。このような問題点を解決するための現在の主流は、相異なる符号化方式、すなわち、データストリームについてターボ符号化を、音声ストリームについて畳込み符号化を、提供することである。その結果、相異なる復号器も必要となるため、複数のハードウェアプラットフォームが生じ、通信事業者のコストが増大する。
【００１４】
一般にバタフライプロセッサは、枝メトリック計算器および多数の加算比較選択ユニットからなる。既知のバタフライプロセッサは、ビタビ計算もしくは対数ＭＡＰ計算を実行することができる。従って、ビタビ計算および対数ＭＡＰ計算を実行するためには２つのバタフライプロセッサが必要となり、その結果余計なハードウェアコストがかかる。
【００１５】
【課題を解決するための手段】
本発明によれば、バタフライプロセッサ装置は畳込み計算および対数ＭＡＰ計算を実行することができる。本発明のバタフライプロセッサ装置は周知の比較および選択要素に接続された対数和補正装置を含む。
【００１６】
選択要素および対数和補正装置の出力に選択的に接続する可制御スイッチは、バタフライプロセッサの所望の出力を生成するために提供される。本発明は、現在２つのバタフライプロセッサが必要とされる計算を１つのバタフライプロセッサで実行できるというようなハードウェアの縮小を提供する。
【００１７】
【発明の実施の形態】
好ましい実施例は、ワイヤレス通信システムのための統合復号器のアーキテクチャを提供する。統合復号器は、畳込み符号化およびターボ符号化がなされたデータストリームに必要な復号を実現する。統合復号器アーキテクチャは、複数のデータストリームおよび複数の音声ストリームを同時にサポートすることができる。さらに、この復号器は、必要に応じて動的に分割され、相異なる標準の音声ストリームを復号することができる。好ましい実施例はモジュール性を有するため、容易にスケーラブルとなる。
【００１８】
図１に、ワイヤレス通信ネットワーク１００を示す。ＵＭＴＳ基地局１１０は送受信器１１２を有し、送受信器１１２は、復号器モジュール１５０ａを有する。送受信器１１２は、交換ネットワーク１６０を通じて、リモート基地局１４０に配置された、復号器モジュール１５０ｆを有する別のＵＭＴＳ送受信器１４６と通信する。また、送受信器１１２は、復号器モジュール１５０ｉを有する移動ハンドセット１６０ａとも通信する。送受信器１４６は、復号器ユニット１５０ｍを有する別の移動ハンドセット１６０ｆと通信する。
【００１９】
基地局１４０は、復号器ユニット１５０ｄを有する送受信器１４２と、復号器ユニット１５０ｅを有する送受信器１４４とをさらに有する。送受信器１４２は、ＣＤＭＡ送受信器として動作し、交換ネットワーク１６０を通じて、ＣＤＭＡ送受信器１３２および復号器ユニット１５０ｃを有するリモートＣＤＭＡ基地局１３０と通信するように構成される。また、送受信器１４２は、復号器ユニット１５０ｊを有する移動ハンドセット１６０ｄとも通信する。送受信器１３２は、復号器ユニット１５０ｇを有する移動ハンドセット１６０ｃと通信する。
【００２０】
送受信器１４４は、交換ネットワーク１６０を通じて、送受信器１２２および復号器ユニット１５０ｂを有する、リモートに配置された基地局１２０と通信する。また、送受信器１４４は、復号器ユニット１５０ｋを有する移動ハンドセット１６０ｅとも通信する。送受信器１２２は、復号器ユニット１５０ｈを有する移動ハンドセット１６０ｂと通信する。
【００２１】
送受信器１１２、１２２、１３２、１４２、１４４および１４６ならびに移動ハンドセット１６０ａ〜１６０ｆに配置される復号器ユニット１５０ａ、１５０ｂ、１５０ｃ、１５０ｄ、１５０ｅ、１５０ｆ、１５０ｇ、１５０ｈ、１５０ｉ、１５０ｊ、１５０ｋおよび１５０ｍは、相異なるセルラネットワーク標準に準拠するように構成された、統合復号器アーキテクチャの実施例である。
【００２２】
図１の統合復号器アーキテクチャは、複数のネットワーク標準を運用している通信会社に対して、フレキシビリティおよびコスト削減の点で多大な利益を提供する。というのは、同じ復号器ブロックが、相異なるネットワークコンポーネントにおける多くの相異なる符号化方式を実現するために使用可能であるからである。
【００２３】
図２に、送信器２１０から受信器２７０への情報の伝送を改善するために符号化が用いられる通常の通信システム２００を示す。送信器２１０は、入力データストリームを符号器２２０に供給する情報源２０５を有する。符号器２２０では、通信チャネル２４０に存在するノイズ源の結果として情報の伝送中に生じうる誤りを検出・訂正する能力を改善するように、あらかじめ規定された符号化アルゴリズムに従って入力データストリームに冗長情報が付加される。符号化された入力ストリームは、続いて、その符号化データストリームを送信波形に印加するために変調される（２３０）。符号化された情報は、チャネル２４０を通じて伝送される。チャネル２４０は、それに作用する多くのノイズ源２８０を有する。チャネル２４０は、受信器２７０に結合する。受信器２７０は、変調器２３０に対応する復調器２５０を有し、復調器２５０は、復号器２６０への出力を生成し、復号器２６０は、受信情報信号２７５を出力する。
【００２４】
図３に、復号器２６０が一般のビタビ復号器である通信システム２００を示す。ビタビ復号器２６０への入力は、チャネル２４０から受信される符号化情報である。ビタビ復号器は、枝メトリック計算器（ＢＭＣ：branch metric calculator）ユニット２８９を有する。ＢＭＣユニット２８９の出力は、加算比較選択（ＡＣＳ）ユニット２９１に提供される。状態コントローラ２９０は、ＢＭＣユニット２８９、ＡＣＳユニット２９１およびパスメトリックメモリ２９２に入力を提供する。パスメトリックメモリ２９２は、二重バッファとして作用し、ＡＣＳユニット２９１と情報を交換する。ＡＣＳユニット２９１のボロー出力２９４は、トレースバックメモリ・コントローラ２９３に提供され、トレースバックメモリ・コントローラ２９３の出力は受信情報信号２７５となる。
【００２５】
図４に、図２の復号器２６０のターボ復号構成を示す。ターボ復号器における受信シンボルは、送信された実際のデータを表す組織データと、パリティデータとからなる。第１入力２６１は、受信シンボルのパリティデータであり、デマルチプレクサ２６３に提供される。デマルチプレクサ２６３の第１出力２６４は、第１復号器２６６に提供される。第２入力２６２は、受信シンボルの組織データであり、第１復号器２６６に提供される。再帰入力２７７もまた、第１復号器２６６に提供される。第１復号器２６６の出力２６７は、インタリーバ２６８に提供され、インタリーバ２６８の出力２６９は、第２復号器２７１に提供される。デマルチプレクサ２６３の第２出力２６５もまた、第２復号器２７１に提供される。第２復号器２７１の第１出力２７２は、第１デインタリーバ２７４に提供され、第１デインタリーバ２７４の出力は再帰入力２７７となる。第２復号器２７１の第２出力２７３は、第２デインタリーバ２７６に提供される。第２デインタリーバ２７６の出力は、スライサ２７８に提供され、スライサ２７８は、ソフト（軟）出力にしきい値を適用してそれをハード（硬）出力に変換し、受信情報信号２７５とする。
【００２６】
好ましい実施例の統合復号器アーキテクチャは、音声およびデータの両方の機能を有するワイヤレス通信システムにおける復号器２６０を置き換えることを意図しており、ビタビ復号および対数ＭＡＰターボ復号に必要な計算の類似性を活用して、メモリおよび処理ユニットが、これらのいずれの方式のために設定されるときにも効率的に使用されるようにする。対数ＭＡＰは、畳込み符号の復号に利用可能なアルゴリズムである。対数ＭＡＰはまた、ターボ復号反復の半サイクルにも用いられる。好ましい実施例におけるプロセッサは、互いに積み重ねられ、階層スイッチング構造を用いて相互接続されることにより、それらのプロセッサは、別個の復号器として独立に動作することも可能であり、また、１つの所定のプロセッサを主要なプロセッサとして単一の高速復号器を形成するように結合することも可能である。
【００２７】
図５に、本発明の実施例による統合復号器構造９００のブロックアーキテクチャを示す。特定の伝送に対してあらかじめ合意された符号化方式のアルファベットからのマルチビット入力シンボル９０１が、バタフライ復号プロセッサバンク９２０にブロードキャストされる。バタフライ復号プロセッサバンク９２０はまた、第１ストアバンク９４０の出力を、入力として受け取る。制御ユニット９６０は、中間復号結果メモリ９１０、バタフライ復号プロセッサバンク９２０、第１ストアバンク９４０および第２ストアバンク９５０のそれぞれに入力を提供する。制御ユニット９６０は、必要に応じて畳込み符号化またはターボ符号化を実行するために、それらの入力を通じて適当な制御信号を発行する。
【００２８】
図５の実施例は、１ロー（行）復号器のものである。複数の復号器ローを相互接続して単一の復号器を形成するとき、その単一復号器内のそれぞれの復号器ローには、同じマルチビット入力シンボル９０１が提供される。複数の復号器ローが複数の復号器として作用するとき、実現されるそれぞれの復号器には、別個のマルチビット入力シンボル９０１が提供される。
【００２９】
バタフライ復号プロセッサバンク９２０は、第１出力９６２、９６４、９６６および９６８を生成し、これらは、バス９９０を通じて第２ストアバンク９５０に送られる。第２ストアバンク９５０の出力は、第１ストアバンク９４０に入力される。復号器の一般的な実施例は通常、第１ストアバンク９４０および第２ストアバンク９５０を二重バッファリングモードで使用する。
【００３０】
バタフライ復号プロセッサバンク９２０は、第２出力９６１、９６３、９６５および９６７を生成し、これらは、制御ユニット９６０に提供される中間復号結果となる。
【００３１】
バタフライ復号プロセッサバンク９２０と、少なくとも１つのストアを通じてのループフィードバック接続は、トレリスプロセッサとしてのループ機能を形成する。
【００３２】
中間復号結果メモリ９１０は、復号出力９９９を生成する。中間復号結果メモリ９１０は、対数ＭＡＰアルゴリズムを計算する際に制御ユニット９６０に再帰結果を提供することが可能である（後述）。
【００３３】
図６に、本発明の好ましい実施例による統合復号器１２００のブロックアーキテクチャを示す。統合復号器１２００の制御ユニット１２１０は、レート１２０１、拘束長１２０２、畳込み・ターボセレクタ１２０３、多項式１２０４、トレリス方向１２０５、反復数１２０６、ブロック長１２０７、クロック１２０８およびリセット１２０９を含む複数の入力を受け取る。レート１２０１は、送信ブロックに存在する１個のデータビットを表現するために使用される情報の量を示す。拘束長１２０２は、提供される入力情報ビットを符号化するために使用される先行入力シンボル数を示し、従って、与えられた１個の入力シンボルを復号するために処理されるトレリスの複雑さの指標でもある。多項式１２０４は、復号プロセスで用いられる生成多項式係数である。反復数１２０６は、ターボモードで動作するときに復号器１２００によって実行されるループ回数を定める。反復数１２０６の値が大きいほど、計算時間の増大という犠牲のもとで、復号出力１２９４の精度が高いことを示す。
【００３４】
制御ユニット１２１０は、中間復号メモリ・プロセッサ１２４０、対数尤度プロセッサ１２５０ａおよび１２５０ｂ、マルチプレクサバンク１２５０ｃ、比較器１２４７、バタフライ復号プロセッサ１２６０、逆アドレスプロセッサ１２７０、正規化減算器１２７８、マルチプレクサバンク１２７８ａ、パスメトリックストア１２８０、順アドレスプロセッサ１２９０、対数尤度比プロセッサ１２９７ならびに入力シンボル履歴１２９８と相互接続される。制御ユニット１２１０は、これらの接続を通じて統合復号器１２００のアーキテクチャを再構成することにより、必要に応じて、畳込み復号器またはターボ復号器のいずれを実現することも可能である。
【００３５】
入力シンボル１２９９は、入力シンボル履歴１２９８に提供される。入力シンボル履歴１２９８は、一定のデータフローが維持されることを保証するための二重バッファとして作用する。入力シンボル履歴１２９８はまた、入力シンボル履歴バンクセレクト１２１１、入力シンボル履歴アドレス１２１９、入力シンボル履歴クロック１２２３および入力シンボル履歴リセット１２２５を制御ユニット１２１０から受け取る。入力シンボル履歴１２９８は、第１出力１２９１ａと第２出力１２９１ｂを生成する。第１出力１２９１ａはバタフライ復号プロセッサ１２６０に提供され、第２出力１２９１ｂは対数尤度プロセッサ１２５０ａに提供される。
【００３６】
バタフライ復号プロセッサ１２６０はまた、入力として、逆トレリスパスメトリック１２６５を逆アドレスプロセッサ１２７０から、外部情報を中間復号メモリ・プロセッサ１２４０から受け取る。制御ユニット１２１０はまた、バタフライリセット１２１５、バタフライレート１２１６、バタフライクロック１２１７、バタフライ多項式１２１８、バタフライ拘束１２２０、バタフライモード１２２１およびベータフェーズイネーブル１２３５を含む複数の入力を、バタフライ復号プロセッサ１２６０に提供する。
【００３７】
バタフライ復号プロセッサ１２６０は、トレリスダイヤグラムにおける対応する１つの状態に対する新しい複数ビットのパスメトリックを生成する。この新しいパスメトリックは、３２ビットバス１２６６および１２６７上に出力される。３２ビットバス１２６６および１２６７は、比較器１２４７およびマルチプレクサバンク１２５０ｃに接続される。バタフライ復号プロセッサ１２６０はまた、判定ビット１２５５を生成する。判定ビット１２５５は、中間復号メモリ・プロセッサ１２４０に入力される。
【００３８】
対数ＭＡＰ計算の第１フェーズにおいて、バタフライ復号プロセッサ１２６０はガンマおよびアルファを計算する。第２フェーズにおいて、バタフライ復号プロセッサ１２６０は、第１フェーズで対数尤度プロセッサ１２５０ａおよび対数尤度プロセッサ１２５０ｂによって計算されたダミーベータを用いて、ベータを計算する。
【００３９】
図７に示されるように、バタフライプロセッサバンク１２６０内のそれぞれのバタフライプロセッサは、２個の加算比較選択ユニット（ＡＣＳとして図示）３２０と、中間枝メトリック計算器（ＢＭＣ）３３０を含む。ＢＭＣ３３０は、周知のビタビ復号器における枝メトリックユニット（ＢＭＵ：Branch Metric Unit）と同じ機能を実行し、それぞれのＡＣＳ３２０は、トレリス復号に対するパスメトリック計算を実行する。
【００４０】
図７に、図６のバタフライプロセッサ１２６０の例示的なバタフライユニットを示す。これは、２個の加算比較選択ユニット３２０と、１個の中間枝メトリック計算器３３０を有する。それぞれの加算比較選択ユニット３２０には、入力パスメトリック０（１２６５ａ）および入力パスメトリック１（１２６５ｂ）が提供される。入力シンボル１２９１ａおよび外部情報１２４２は、バタフライプロセッサバンク１２６０内のそれぞれの枝メトリック計算器３３０にブロードキャストされる。中間枝メトリック計算器には、バタフライレート１２１６、バタフライ拘束１２２０およびバタフライ多項式１２１８も提供される。
【００４１】
トレリスの１つのコラム（列）内の各状態は、それに至る１対の枝メトリックを有する。それぞれの枝メトリックには、１個のシンボルが関連づけられる。したがって、与えられた向きにトレリスをたどると、注目している１つの状態について、２個の可能なシンボルのうちの一方が、前の状態に依存して期待される。ＢＭＣ３３０は、受け取った入力シンボル１２９１ａの、期待されるシンボルへの近接性の尺度を決定する。ＢＭＣ３３０は、出力枝メトリック０（４０６）を生成し、これは、ｍビット幅のバスを通じて、第１ＡＣＳユニット０（３２０）および第２ＡＣＳユニット１（３２０）に提供される。ＢＭＣ３３０は、トレリスの対称性を活用して、枝メトリック０（４０６）を算術的に反転させることによって、第２の枝メトリック１（４０２）を生成する。枝メトリック１（４０２）は、同じくｍビット幅のバスを通じて、第１ＡＣＳユニット０（３２０）および第２ＡＣＳユニット１（３２０）に提供される。バタフライモード１２２１は、それぞれのＡＣＳユニット３２０に提供され、使用する符号化方式のためにそれらを適当に設定する。ＡＣＳユニット３２０およびＢＭＣユニット３３０はまた、バタフライリセット１２１５、バタフライクロック１２１７およびベータフェーズイネーブル１２３５も受け取る。
【００４２】
。それぞれのＡＣＳユニット３２０は、２個の出力を生成する。これらの出力は、図７のＡＣＳ０の場合、第１出力１２５５ａおよび第２出力１２６７ａからなる。第１出力１２５５ａは、比較ボロービットの値をとる判定ビットであり、上側または下側のいずれの可能パスメトリックを選択するかを示す。値０の判定ビットは、下側の可能パスメトリックが選択されることに対応し、他方、値１の判定ビットは、上側の可能パスメトリックが選択されることに対応する。第２出力１２６７ａは、トレリスダイヤグラムにおける対応する１つの状態に対する新しい複数ビットのパスメトリックである。ＡＣＳ１は、対応する出力１２５５ｂおよび１２６７ｂを生成する。
【００４３】
図８に、図７のＡＣＳユニット０（３２０）のアーキテクチャを示す。２対の入力４０２と１２６５ｂ、および、４０６と１２６５ａがそれぞれ、加算器４１０および４１２に提供される。第１の入力の対は、枝メトリック１（４０２）およびパスメトリック１（１２６５ｂ）からなり、第２の入力の対は、枝メトリック０（４０６）およびパスメトリック０（１２６５ａ）からなる。それぞれの入力対の構成要素は、それぞれの加算器４１０および４１２で加算され、加算器４１０および４１２の対応する出力４１１および４１３は、全減算器４１４に提供される。出力４１１および４１３はまた、第１の２対１マルチプレクサ４２０にも提供される。全減算器４１４のボロー出力１２５５ａは、入力値の最大値ＭＡＸを計算するために、第１マルチプレクサ４２０に供給される。ボロービット１２５５ａはまた、ＡＣＳユニット３２０の出力としても提供され、値０は下側パスメトリックが選択されたことを示し、値１は上側パスメトリックが選択されたことを示す。
【００４４】
全減算器４１４の第２出力４１５は、２個の加算器結果４１１および４１３の差を表し、対数和補正テーブル４４０に提供される。対数和補正テーブル４４０は、全減算器４１４の出力が小さいときに、対数ＭＡＰ復号の場合に対数領域における結果の精度を高めるために、新しいパスメトリックの結果を調整する。対数和補正テーブル４４０の出力４４１は、加算器４６０に提供される。第１マルチプレクサ４２０の出力４２１は、加算器４６０と、第２の２対１マルチプレクサ４５０に提供される。加算器４６０からの結果４６１は、第２マルチプレクサ４５０に第２の入力として提供される。バタフライモード１２２１である制御信号もまた、第２マルチプレクサ４５０に入力され、ビタビ符号化方式または対数ＭＡＰ符号化方式のいずれが実行されているかを判断するために用いられる。第２マルチプレクサ４５０は、出力４５１を生成し、これは、累算レジスタ４７０および別のマルチプレクサ４８０に供給される。累算レジスタ４７０は、バタフライリセット１２１５を受け取り、マルチプレクサ４８０への出力４７２を生成する。マルチプレクサ４８０は、イナクティブ時に出力４５１を選択し、アクティブ時に累算レジスタ４７０からの出力４７２を選択するセレクト（選択）信号として、ベータフェーズイネーブル１２３５を受け取る。マルチプレクサ４８０からの選択された出力は、ＡＣＳユニット３２０の出力パスメトリック１２６７ａである。
【００４５】
マルチプレクサバンク１２５０ｃは、制御ユニット１２１０からセレクト信号１２５８を受け取る。セレクト信号１２５８は、バタフライプロセッサ１２６０から出力されるバタフライパスメトリック１２６６および１２６７か、あるいは、対数尤度プロセッサ０（１２５０ａ）および対数尤度プロセッサ１（１２５０ｂ）により生成されるパスメトリックかのいずれかを選択するために用いられる。ビタビ計算中は、バタフライパスメトリック１２６６および１２６７が選択される。対数ＭＡＰ計算の第１フェーズにおいては、バタフライパスメトリック１２６６および１２６７が選択される一方、バタフライ復号プロセッサ１２６０はガンマおよびアルファを計算する。同時に、対数尤度プロセッサ０（１２５０ａ）はダミーベータを計算する。第１フェーズの終了時に、対数尤度プロセッサ０（１２５０ａ）によって生成されたパスメトリックが、マルチプレクサバンク１２０５ｃによって選択され、対数尤度計算の第２フェーズでベータを計算することを可能にするためにブロードキャストされる。
【００４６】
マルチプレクサバンク１２０５ｃは、下側パスメトリックバス１２９５および上側パスメトリックバス１２９６上に、新しいパスメトリックを出力する。バス１２９５および１２９６は、対数尤度プロセッサ１２５０ａおよび１２５０ｂ、マルチプレクサバンク１２７８ａならびに順アドレスプロセッサ１２９０に接続される。
【００４７】
順アドレスプロセッサ１２９０は、順トレリスセレクト１２３２、順トレリスホールド１２３４、順トレリス透過ビット１２３６およびパスメトリック入力ＭＵＸセレクト１２３８を制御ユニット１２１０から受け取る。これらは、統合復号器１２００がトレリスを順方向または逆方向のいずれの方向にたどるために使用されているかに従って、順アドレスプロセッサ１２９０を設定するために用いられる。
【００４８】
順アドレスプロセッサ１２９０は、トレリスを順方向にたどっているときに、トレリスの次のコラムの計算のために、パスメトリックの見かけ上順次リストがバタフライプロセッサ１２６０に提供されるように、バス１２９５および１２９６を通じて受け取られる新しいパスメトリックを並べ換える。トレリスを逆方向にたどっているときは、順アドレスプロセッサ１２９０は透過的に作用する。
【００４９】
パスメトリックストア１２８０は、順アドレスプロセッサ１２９０から出力される順トレリスパスメトリック１２８５を受け取るほか、制御ユニット１２１０から、アドレシング情報ＡＤＤＲ０（１２２８ａ）およびＡＤＤＲ１（１２２８ｂ）、パスメトリックリセット１２３０ならびにパスメトリックリード／ライトクロック１２３１を受け取る。パスメトリックストア１２８０は、記憶されているパスメトリック１２７６を、マルチプレクサバンク１２７８ａと、対数尤度プロセッサ１２５０ａおよび１２５０ｂに出力する。
【００５０】
マルチプレクサバンク１２７８ａは、複数の復号器ロー構成に対する相互接続点として用いられ、記憶パスメトリック１２７６、制御ユニット１２１０からの制御信号１２７８ｂ、ならびに、バス１２９５および１２９６上の新しいパスメトリックを受け取る。マルチプレクサバンク１２７８ａは、対数ＭＡＰ計算中にベータ計算の初期化を行い、正規化減算器１２７８への出力１２７７を生成する。
【００５１】
比較器１２４７は、バス１２６６および１２６７を通じてバタフライ復号プロセッサ１２６０からバタフライパスメトリックを受け取り、最大の新しいパスメトリックを決定する。この最大新パスメトリックは、記憶されている最大パスメトリックと比較され、それらの２つの値のうちの大きいほうが、正規化出力１２４６として提供される。正規化出力１２４６は、正規化減算器１２７８と、中間復号メモリ・プロセッサ１２４０に送られる。
【００５２】
正規化減算器１２７８は、マルチプレクサバンク１２７８ａからの出力１２７７を受け取り、パスメトリックがアーキテクチャのダイナミックレンジ内に含まれることを保証するために、正規化出力１２４６を減算する。正規化されたパスメトリック１２７５は、逆アドレスプロセッサ１２７０と、対数尤度プロセッサ１２５０ａおよび１２５０ｂに出力される。逆アドレスプロセッサ１２７０はまた、入力として、対数尤度イネーブル１２１４、対数尤度０イネーブル１２０３０および対数尤度１イネーブル１２０３１、逆トレリスセレクト１２２２、逆トレリスホールド１２２４ならびに逆トレリス透過ビット１２２６を制御ユニット１２１０から受け取る。制御ユニット１２１０からの入力は、復号器１２００がトレリスを順方向または逆方向のいずれの方向にたどっているかに依存して、逆アドレスプロセッサ１２７０を適当に設定するために用いられる。逆アドレスプロセッサ１２７０の出力は、逆トレリスパスメトリック１２６５として、バタフライ復号プロセッサ１２６０に提供される。
【００５３】
逆アドレスプロセッサ１２７０は、トレリスを逆方向にたどっているときに、トレリスの次のコラムの計算のために、パスメトリックの好ましい系列がバタフライプロセッサ１２６０に提示されるように、正規化パスメトリックを並べ換える。トレリスを順方向にたどっているときは、逆アドレスプロセッサ１２７０は透過的に作用する。
【００５４】
対数尤度プロセッサ１２５０ａは、対数尤度モード１２１４ａ、逆トレリスホールド１２２４ａ、逆トレリス透過ビット１２２６ａ、対数尤度レート１２４８ａ、対数尤度拘束１２４９ａ、対数尤度クロック１２５１ａ、対数尤度リセット１２５２ａ、対数尤度多項式１２５３ａ、対数尤度０イネーブル１２０３ａ０、対数尤度イネーブル１２０３ａ１、逆トレリスセレクト１２２２ａ、およびセレクト信号１２５８ａを制御ユニット１２１０から受け取る。対数尤度プロセッサ１２５０ａはまた、入力として、正規化パスメトリック１２７５、入力シンボル履歴１２９８からの出力１２９１ｂ、記憶パスメトリック１２７６、バス１２９６および１２９５上の新しいパスメトリックならびにインタリーバ外部情報１２５６も受け取る。対数尤度プロセッサ１２５０ａは、第１出力１２４５ａを生成し、これは、対数尤度比プロセッサ１２９７に提供される。対数尤度プロセッサ１２５０ａはまた、入力１２６６′および１２６７′をマルチプレクサバンク１２５０ｃに提供する。
【００５５】
第２の対数尤度プロセッサ１２５０ｂは、対応する入力１２１４ｂ、１２２４ｂ、１２２６ｂ、１２４８ｂ、１２４９ｂ、１２５１ｂ、１２５２ｂ、１２５３ｂ、１２０３ｂ０、１２０３ｂ１、１２２２ｂおよび１２５８ｂを制御ユニットから受け取る。対数尤度プロセッサ１２５０ｂはまた、入力として、正規化パスメトリック１２７５、記憶パスメトリック１２７６、インタリーバ外部情報１２５６ならびにバス１２９６および１２９５上の新しいパスメトリックも受け取る。対数尤度プロセッサ１２５０ｂは、出力１２４５ｂを生成し、これは、対数尤度比プロセッサ１２９７に提供される。
【００５６】
対数尤度プロセッサ１２５０ａは、対数ＭＡＰ計算の第１フェーズにおいて、ダミーベータを計算するために使用される。対数ＭＡＰ計算の第２フェーズでは、対数尤度プロセッサ１２５０ａおよび１２５０ｂは、バタフライ復号プロセッサ１２６０とともに使用され、それぞれ「１」および「０」に対する対数尤度結果を生成する。
【００５７】
中間復号メモリ・プロセッサ１２４０は、ビタビ計算中は、出力を生成するためのバッファとして作用する。対数ＭＡＰ計算中には、中間復号メモリ・プロセッサ１２４０は、パスメトリックストア１２８０の拡張ストアとして作用する。中間復号メモリ・プロセッサ１２４０は、中間復号モード１２１２、中間復号方向１２３７、拡散入力１２４３、リード／ライトクロック１２５７、リセット１２５９およびクロッキング信号１２５４を制御ユニット１２１０から受け取る。中間復号メモリ・プロセッサ１２４０はまた、正規化出力１２４６および判定ビット１２５５を受け取る。中間復号メモリ・プロセッサ１２４０は、外部情報１２４２およびトレースバックプロセッサ出力１５６７を対数尤度比プロセッサ１２９７に提供し、対数尤度比プロセッサ１２９７から入力１２９３を受け取る。中間復号メモリ・プロセッサ１２４０はまた、インタリーバ外部情報１２５６を対数尤度プロセッサ１２５０ａおよび１２５０ｂに出力する。
【００５８】
対数尤度比プロセッサ１２９７は、対数尤度プロセッサ１２５０ａおよび１２５０ｂから出力１２４５ａおよび１２４５ｂを受け取るとともに、ハード・ソフト出力セレクト１２１３および拡散入力１２４３を制御ユニット１２１０から受け取る。対数尤度比プロセッサ１２９７はまた、入力として、中間復号メモリ・プロセッサ１２４０の外部情報１２４２と、スクランブルアドレスデータ１２８６を受け取る。対数尤度比プロセッサ１２９７は、復号出力１２９４と、中間復号メモリ・プロセッサ１２４０への出力１２９３とを生成する。
【００５９】
出力１２４５ａおよび１２４５ｂはそれぞれ、復号出力が「１」および「０」である確率を表す。対数尤度比プロセッサ１２９７は、出力１２４５ａと１２４５ｂの減算を対数領域で実行する。これは、真数領域で除算を実行することと等価である。この減算の結果が復号出力１２９４を提供する。対数尤度比プロセッサ１２９７はまた、出力１２４５ａおよび１２４５ｂと外部情報１２４２を減算して、出力１２９３を生成する。これは新しい外部情報を表す。
【００６０】
最大拘束長ｋの符号は、２ｋ−１状態のトレリスダイヤグラムを生成する。図９に、最大拘束長６の符号に対応する３２状態生トレリスダイヤグラム１０００を示す。時刻Ｓｔにおける３２個の状態１００２のそれぞれは、時刻Ｓｔ＋１における３２個の状態１００４のうちの１つにマッピングされる２個の可能な枝メトリックを有する。例えば、時刻Ｓｔにおける状態０（１００３）は、時刻Ｓｔ＋１における状態０（１００９）および状態１６（１００７）に至る枝メトリック１００６および１００８を有する。
【００６１】
３２状態生トレリスダイヤグラム１０００は、同じトレリスの１６個の対応するバタフライ接続１０１０によって表現することも可能である。図からわかるように、トレリスの１つのコラム１０１２における状態対が、トレリスの次のコラム１０１４における対応する状態対にマッピングされる。時刻Ｓｔ＋１におけるトレリス状態１０１４は、結果として得られるパスメトリックを表す。それぞれのバタフライ接続１０１０は、単一のバタフライプロセッサ１２６０によって処理されることも可能である。本発明の好ましい実施例によれば、図６に示したように、４個のバタフライプロセッサ１２６０が設けられる。これにより、各クロックサイクルにおいて、８個の結果パスメトリック位置を計算することが可能である。
【００６２】
図１０に、３２状態トレリスダイヤグラムに対する結果パスメトリック位置１０１４を示す。３２個の結果パスメトリック位置は、４個のコラム１０２２、１０２４、１０２６および１０２８に並べ換えられている。各コラムは、４個のバタフライプロセッサによって生成される８個の結果パスメトリック位置を含む。
【００６３】
トレリス演算は、それぞれ１クロックサイクルに対応するいくつかのサブトレリス演算を含む。図１１Ａ、図１１Ｂ、図１１Ｃ、図１１Ｄおよび図１１Ｅは、本発明の好ましい実施例がインプレースパスメトリックアドレシングを実行するプロセスを示す。図１１Ａは、時刻ｔ＝１を示す。これは、第１サブトレリス演算に対応し、この演算で、８個の新パスメトリック１１１２が入力される。０、１、２および３を表す新パスメトリック１１１２は、パスメトリックストア１２８０の上側メモリブロックＢ０に対応するメモリ１１０２の第１コラムに書き込まれる一方、パスメトリック１６、１７、１８および１９は、４個の保持レジスタ１１１４に書き込まれる。パスメトリック１６、１７、１８および１９は、メモリに書き込まれる前に１クロックサイクルの間保持される。それらが書き込まれることになるメモリ位置は、トレリス状態８〜１５に対する新パスメトリックの計算が完了する次のクロックサイクルまで利用可能にならないからである。
【００６４】
図１１Ｂに示すように、次のクロックサイクルｔ＝２において、さらに８個の新パスメトリック１１２２が入力される。新しいパスメトリック位置４、５、６および７に対応するパスメトリック１１２２が、パスメトリックストア１２８０の下側メモリブロックＢ１に対応するメモリ１１０４の第１コラムに書き込まれる。保持レジスタ１１１４の内容が、パスメトリックストア１２８０のＢ０に対応するメモリ１１０２の第２コラムに書き込まれ、パスメトリック位置２０、２１、２２および２３に対応する新パスメトリックが、保持レジスタ１１１４の新しい内容として書き込まれる。
【００６５】
図１１Ｃに示す第３のクロックサイクルにおいて、さらにもう１つのグループの新パスメトリック１１３４が提供される。状態８、９、１０および１１に対応する新パスメトリックが、パスメトリックストア１２８０のＢ０に対応するメモリ１１０２の第３コラムに書き込まれ、状態２０、２１、２２および２３である保持レジスタ１１１４の内容が、パスメトリックストア１２８０のＢ１に対応するメモリ１１０４の第２コラムに書き込まれる。
【００６６】
図１１Ｄは、第４クロックサイクルを示す。このクロックサイクル中に、最後の８個の新パスメトリック１１４４が提供される。状態１２、１３、１４および１５に対応するこれらの新パスメトリックは、パスメトリックストア１２８０のＢ１に対応するメモリ１１０４の第３コラムに書き込まれ、状態２４、２５、２６および２７に対応する保持レジスタの内容は、パスメトリックストア１２８０のＢ０に対応するメモリ１１０２の第４コラムに書き込まれ、状態２８、２９、３０および３１に対応する新パスメトリックは保持レジスタ１１１４に書き込まれる。
【００６７】
図１１Ｅに示すように、保持レジスタ１１１４の内容を、パスメトリックストア１２８０のＢ１に対応するメモリ１１０４の第４コラムに書き込むために、ｔ＝５に対応する次のクロックサイクルが必要である。
【００６８】
図１２は、本発明の好ましい実施例による、３２状態トレリスに対するパスメトリックコラムのアドレシングを表す。パスメトリックコラムのアドレシング順序１１５０は、パスメトリックコラムのリード／ライトアドレスに対応する。テーブル１１６０の各ローは、シンボル時刻ｎ（Ｓｎ）、シンボル時刻ｎ＋１（Ｓｎ＋１）およびシンボル時刻ｎ＋２（Ｓｎ＋２）を表す、トレリスダイヤグラムの相異なるコラムに対応する。明らかなように、パスメトリックコラムのアドレスの移動は周期的である。
【００６９】
図１１Ａ〜Ｅは、ＳｎからＳｎ＋１への進行を示している。次のクロックサイクルｔ＝６は、Ｓｎ＋１からＳｎ＋２への遷移を開始させ、状態の順次リストをＡＣＳユニットに提供するために、コラム０、２、１、３が実行されることになる。
【００７０】
図１３、図１４ａ、図１４ｂ、図１４ｃ、図１４ｄおよび図１４ｅに、本発明の好ましい実施例が逆トレリスをたどる間にインプレースパスメトリックアドレシングを実行するプロセスを示す。図１３は、図１４ａ〜ｅで用いる記法を示す。図１４ａは、時刻ｔ＝１を示し、第１のサブトレリス演算に対応する。メモリＡの第１コラムＣ０Ａにあるパスメトリックは、保持レジスタ３０１０にシフトされている。図１４ｂでは、時刻ｔ＝２において、メモリＢの第１コラムＣ０Ｂが保持レジスタ３０１０に移動され、Ｃ０ＡとＣ２Ａの関数が結果パスメトリックＣ０Ａ′およびＣ０Ｂ′を形成し、これらの結果パスメトリックがそれぞれメモリＡおよびＢの第１コラムに書き込まれる。図１４ｃでは、メモリＡの第２コラムＣ１Ａが保持レジスタ３０１０に入れられる。保持レジスタの前の内容Ｃ０ＢとＣ２Ｂの関数が、新パスメトリックＣ１Ａ′およびＣ１Ｂ′を形成し、これらの新パスメトリックがそれぞれＡおよびＢの第３コラムに書き戻される。
【００７１】
図１４ｄでは、時刻ｔ＝４において、Ｃ１Ｂが保持レジスタ３０１０に書き込まれる。Ｃ１ＡとＣ３Ａの関数が新パスメトリックＣ２Ａ′およびＣ２Ｂ′を生成し、これらの新パスメトリックがそれぞれメモリＡおよびＢの第２コラムに書き込まれる。図１４ｅは、時刻ｔ＝５に対応する逆サブトレリス演算であり、この時刻には、Ｃ１ＢおよびＣ３Ｂの関数が結果パスメトリックＣ３Ａ′およびＣ３Ｂ′を形成し、これらの結果パスメトリックがそれぞれメモリＡおよびＢの第４コラムに書き込まれる。逆トレリスの計算において、パスメトリックはスクランブルされて４個のバタフライプロセッサに提供され、図１４ａ〜図１４ｅで説明したインプレースパスメトリックアドレシングは、結果パスメトリックが順次（シーケンシャルに）提供されることを保証する。
【００７２】
図１５は、中間復号メモリ・プロセッサ１２４０の実施例の高レベル概略ブロック図である。これは、それぞれの復号方式におけるトレースバックおよびインタリーバの機能を実行する。中間復号メモリ・プロセッサ１２４０は、入力として、判定ビット１２５５、正規化出力１２４６、拡散入力１２４３、中間復号方向１２３７、中間復号モード１２１２、クロッキング信号１２５４、リード／ライトクロック１２５７、リセット信号１２５９、および、対数尤度比プロセッサ１２９７からの出力１２９３を受け取る。中間復号メモリ・プロセッサ１２４０は、外部情報１２４２、インタリーバ外部情報１２５６およびトレースバックプロセッサ出力１５６７を含む出力を生成する。
【００７３】
図１６は、中間復号メモリ・プロセッサ１２４０の分解図である。トレースバックアドレスコントローラ１５１０は、入力として、判定ビット１２５５、中間復号方向１２３７、正規化出力１２４６、クロッキング信号１２５４、リセット信号１２５９、リード／ライトクロック１２５７、および、中間復号モード１２１２を反転したものを受け取る。トレースバックアドレスコントローラ１５１０は出力１５６７を生成する。
【００７４】
トレースバックアドレスコントローラ１５１０は、毎クロックサイクルに、判定ビット１２５５をウィンドウメモリサブシステム１５３０に書き込む。トレースバック中に、トレースバックアドレスコントローラ１５１０は、トレリスセクションを検査し、始点として使用すべき最大値を決定する。なお、各状態について完全に値を記憶する必要はない。新しいトレースバックバイトアドレスは、判定ビット１２５５のうちの１つを用いて生成することができるからである。
【００７５】
インタリーバコントローラ１５２０もまた、クロッキング信号１２５４、リセット信号１２５９、リード／ライトクロック１２５７および中間復号モード１２１２を受け取る。さらに、インタリーバコントローラ１５２０は、対数尤度比プロセッサ１２９７からの出力１２９３、拡散入力１２４３、および、中間復号方向１２３７も受け取る。インタリーバコントローラ１５２０は、外部情報１２４２および１２５６を生成する。外部データ１２４２は、復号器１２００がターボ復号器として動作するときには、バタフライプロセッサ１２６０への再帰入力として使用される。
【００７６】
インタリーバコントローラ１５２０は、毎クロックサイクルの最初に外部情報１２４２および１２５６を生成する。毎クロックサイクルの最後に、インタリーバコントローラ１５２０は、対数尤度比プロセッサ１２９７からの出力１２９３の形で新しい外部情報を受け取り、それをメモリに書き込む。
【００７７】
トレースバックアドレスコントローラ１５１０とインタリーバコントローラ１５２０は相互接続され、結合リード／ライト信号１５１５をウィンドウメモリサブシステム１５３０に供給する。トレースバックアドレスコントローラ１５１０、インタリーバコントローラ１５２０およびウィンドウメモリサブシステム１５３０はさらに、双方向データバス１５２６およびアドレスバス１５２５によって相互接続される。インタリーバコントローラ１５２０は、ウィンドウメモリサブシステム１５３０に接続された第２のアドレスバス１５３５を有し、ウィンドウメモリサブシステム１５３０は、第２のデータバス１５３６上にインタリーバコントローラ１５２０への出力を生成する。
【００７８】
図１７に、トレースバックプロセッサ１５１０を示す。判定ビット１２５５が第１マルチプレクサ１５５０に提供される。マルチプレクサ１５５０の出力は判定レジスタ１５５５に提供される。判定レジスタ１５５５の出力はデータ１５２６であり、これは、トレースバックプロセッサ１５１０の出力として提供されるとともに、第１マルチプレクサ１５５０の再帰入力としてフィードバックされ、また、ビットセレクト１５５８に入力される。
【００７９】
中間復号方向１２３７は、アドレス変換ユニット１５６０に入力される。アドレス変換ユニット１５６０はまた、リード／ライトクロック１２５７を受け取り、出力アドレス１５２５およびリード／ライト信号１５１５を生成する。リード／ライトクロック１２５７は、第１マルチプレクサ１５５０のセレクト信号としても提供される。
【００８０】
正規化出力１２４６は、状態レジスタ１５６２に入力される。状態レジスタ１５６２の出力は、アドレス変換ユニット１５６０に入力されるとともに、前状態ユニット１５６４への入力となる。前状態ユニット１５６４は、２個の入力を第２マルチプレクサ１５６６に提供し、第２マルチプレクサ１５６６の出力はトレースバックプロセッサ出力１５６７となる。
【００８１】
ビットセレクト１５５８の出力は、第１ＡＮＤゲート１５６８に入力される。ＡＮＤゲート１５６８の出力は、状態レジスタ１５６２に入力される。ビットセレクト１５５８の出力は、第２ＡＮＤゲート１５６９にも提供され、第２ＡＮＤゲート１５６９の出力もまた状態レジスタ１５６２に提供される。
【００８２】
中間復号方向１２３７は、第１ＡＮＤゲート１５６８に第２入力として提供されるとともに、マルチプレクサ１５６６のセレクト入力となる。中間復号方向１２３７はまた、ＮＯＴゲート１５７０を介して、第２ＡＮＤゲート１５６９にも提供される。
【００８３】
図１８に、図１６のインタリーバコントローラ１５２０を示す。中間復号モード１２１２が、ＡＮＤゲート１５８０に提供され、ＡＮＤゲート１５８０の出力は、２個のトライステートバッファ１５８２および１５８３に提供される。ＡＮＤゲート１５８０への他方の入力は、拡散入力１２４３を反転したものである。トライステートバッファ１５８２はまた、入力として、リード／ライトクロック１２５７も受け取る。第２トライステートバッファ１５８３は、その第２入力として、対数尤度比プロセッサ１２９７からの出力１２９３を受け取る。対数尤度比プロセッサ１２９７からの出力１２９３は、２個の論理ブロック１５８４および１５８６にも入力される。拡散入力１２４３は、リセット信号１２５９、およびクロック信号１２５４とともに、論理ブロック１５８４および１５８６のそれぞれに提供される。インタリーバ１５２０は、データバス１５２６を入力として受け取り、対応する出力を外部情報１２４２として提供する。第２データバス１５３６は、インタリーバ外部情報１２５６として出力される。データバス１５２６は双方向であり、インタリーバ１５２０からデータバス１５２６への出力は、トライステートバッファ１５８３の出力である。
【００８４】
第１論理ブロック１５８４は、中間復号モード１２１２および中間復号方向１２３７を受け取り、アドレス１５２５を生成する。第２論理ブロック１５８６もまた、中間復号モード１２１２および中間復号方向１２３７を受け取り、アドレス１５３５を生成する。論理ブロック１５８４および１５８６のそれぞれは、入力BETA_Dも受け取る。これは、ロー(LOW)またはハイ(HIGH)パワー信号である。
【００８５】
図１９は、図１８の論理ブロック１５８４の分解図である。図１８の論理ブロック１５８６は同じ構成を有する。ウィンドウカウント１５９０は、入力として、リセット１２５９、クロック１２５４およびイネーブル１２１２を受け取る。ウィンドウカウント１５９０はまた、入力として、第１加算器１５９２の出力も受け取る。ウィンドウカウント１５９０は、加算器１５９２および１５９３に提供される出力を生成する。第１加算器１５９２は、第２入力として、定数１５９９を受け取り、出力をウィンドウカウント１５９０に提供する。ビットカウント１５９１は、入力として、リセット１２５９、クロック１２５４、イネーブル１２１２および第３加算器１５９４の出力を受け取る。ビットカウント１５９１は、２個の加算器１５９３および１５９４に提供される出力を生成する。BETA_Dは、要素１５９５に提供される。要素１５９５は、１を加算し、BETA_Dがアクティブである場合、値のＮＯＴをとり、結果を第３加算器１５９４への第２入力として提供する。加算器１５９４の出力は、ビットカウント１５９１に再帰入力として提供される。
【００８６】
第２加算器１５９３の出力は、マルチプレクサ１５９６およびスクランブル１５９７に入力される。マルチプレクサ１５９６は、アーキテクチャが第１または第２のいずれの復号器として動作しているかを示すセレクト信号を受け取る。第２入力はスクランブル１５９７の出力である。マルチプレクサ１５９６の出力は、アドレス１５２５である。スクランブル１５９７は、拡散入力１２４３をイネーブル信号として受け取り、対数尤度比プロセッサ１２９７からの出力１２９３をデータとして受け取る。スクランブル１５９７は、当業者に周知のメモリあるいは論理機能とすることが可能であり、ターボ復号器計算を実行する際に第１と第２の復号器間でアドレスのスクランブルを実行するために使用される。
【００８７】
図２０は、図１５のウィンドウメモリサブシステム１５３０の概略ブロック図である。リード／ライトクロック１５１５、アドレスバス１５２５および１５３５、ならびにデータバス１５２６および１５３６が、ウィンドウアドレスデコーダ１５３０ａおよびウィンドウメモリ１５３０ｂ〜１５３０ｄに提供される。
【００８８】
図２１に、図６の対数尤度プロセッサ１２５０ａを示す。４個のバタフライユニットのバンク１４１０が設けられ、このバンクを構成するＡＣＳユニット１４１２ａ〜１４１２ｈには、逆トレリスパスメトリック１４１５ａ〜１４１５ｈの対が逆アドレスプロセッサ１２７０ｂから、および、記憶パスメトリック１２７６がパスメトリックストア１２８０から提供される。記憶パスメトリック１２７６は、対数ＭＡＰ計算におけるアルファを表す。ＡＣＳユニット１４１２ａ〜１４１２ｈのそれぞれには、対数尤度モード１２１４ａ、対数尤度クロック１２５１ａおよび対数尤度リセット１２５２ａも提供される。ＢＭＣユニット１４１４ａ〜１４１４ｄにはそれぞれ、対数尤度レート１２４８ａ、対数尤度拘束１２４９ａ、対数尤度多項式１２５３ａ、インタリーバ外部情報１２５６および入力シンボル履歴１２９１ｂを含む複数の入力が提供される。ＡＣＳユニット１４１２ａ〜１４１２ｈは、第１出力１４１３ａ〜１４１３ｈを生成する。これらの第１出力は、順序対として、ＡＣＳノードユニット１４２０ａ〜１４２０ｄに提供される。ＡＣＳユニット１４１２ａ〜１４１２ｈは、第２出力４８０ａ〜４８０ｈを生成する。第２出力４８０ａ〜４８０ｈのそれぞれは、対応する正規化減算器１４７０ａ〜１４７０ｈに提供される。正規化減算器１４７０ａ〜１４７０ｈは、出力１２６６′および１２６７′を生成する。これらの出力は、以下で説明するように、マルチプレクサを介して再帰的に逆アドレスプロセッサ１２７０ｂに供給され、パスメトリックがアーキテクチャのダイナミックレンジ内にとどまることを保証するために使用される。
【００８９】
第１のバンクを構成するマルチプレクサ１４１７ａ〜１４１７ｈはそれぞれ、対応する正規化パスメトリック１２７５ａ〜１２７５ｈを正規化プロセッサ１２７８から、および、セレクト信号１２５８を制御ユニット１２１０から受け取る。また、マルチプレクサ１４１７ａ〜１４１７ｄは、対応するパスメトリック１２９６ａ〜１２９６ｄも受け取り、マルチプレクサ１４１７ｅ〜１４１７ｈは、対応するパスメトリック１２９５ａ〜１２９５ｄも受け取る。パスメトリック１２９５ａ〜１２９５ｄおよびパスメトリック１２９６ａ〜１２９６ｄは、対数ＭＡＰ計算におけるベータを表す。セレクト信号１２５８は、正規化パスメトリック１２７５ａ〜１２７５ｈか、それとも、パスメトリック１２９５ａ〜１２９５ｄおよび１２９６ａ〜１２９６ｄのいずれが出力されることになるかを決定するために使用される。
【００９０】
第２のバンクを構成するマルチプレクサ１４１６ａ〜１４１６ｈはそれぞれ、対数尤度モード１２１４ａをセレクト信号として受け取るとともに、第１バンクのマルチプレクサ１４１７ａ〜１４１７ｈからの対応する出力を受け取る。マルチプレクサ１４１６ａ〜１４１６ｄは、正規化減算器１４７０ａ〜１４７０ｄの出力１２６６′である第３入力を受け取り、マルチプレクサ１４１６ｅ〜１４１６ｈは、正規化減算器１４７０ｅ〜１４７０ｈからの出力１２６７′を受け取る。マルチプレクサ１４１６ａ〜１４１６ｈからの出力は、逆アドレスプロセッサ１２７０ｂに入力される。
【００９１】
逆アドレスプロセッサ１２７０ｂは、対数尤度モード１２１４ａ、対数尤度０イネーブルに対するターボイネーブル１２０３ａ０、対数尤度１に対するターボイネーブル１２０３ａ１、逆トレリスセレクト１２２２ａ、逆トレリス透過ビット１２２６ａおよび逆トレリスホールド１２２４ａも受け取る。対数尤度プロセッサ１２５０ａのベータ出力１２６６′および１２６７′は、復号器１２００が対数ＭＡＰ／ターボモードで動作しているときに、ベータ処理フェーズの開始のために使用される最終的なダミーベータ値を表す。
【００９２】
ＡＣＳノードユニット１４２０ａおよび１４２０ｂの出力は、ＡＣＳノードユニット１４３０ａに提供され、ＡＣＳノードユニット１４２０ｃおよび１４２０ｄの出力は、ＡＣＳノードユニット１４３０ｂに提供される。ＡＣＳノードユニット１４３０ａ、１４３０ｂの出力は、さらに別のＡＣＳノードユニット１４４０ａに入力される。ＡＣＳノードユニット１４４０ａの出力は、マルチロー（多重行）比較器ツリーに提供される。このマルチロー比較器ツリーは、復号器がマルチロー構成で動作するときに、調べているトレリスの状態に対して計算されている最大のパスメトリックを捕捉するように、復号器全体にわたる。マルチロー比較器ツリーからの出力は、減算器１４５０およびレジスタ１４６０に提供される。減算器１４５０は、レジスタ１４６０への再帰入力も提供する。レジスタ出力１２４５ａは、対数尤度プロセッサ１２５０ａとなるとともに、減算器１４５０と、正規化減算器１４７０ａ〜１４７０ｈのそれぞれに供給される。
【００９３】
図２２に、図２１のＡＣＳノードユニット１４２０ａの一構成を示す。ＡＣＳリーフユニットからの出力１４１３ａおよび１４１３ｂは、比較器１４７４およびマルチプレクサ１４７６に入力される。比較器１４７４のボロー出力は、マルチプレクサ１４７６のセレクト信号として供給される。比較器１４７４の差出力は、対数和補正テーブル１４７８に入力される。対数和補正テーブル１４７８の出力は、加算器１４８０に提供され、加算器１４８０の第２入力は、マルチプレクサ１４７６の出力である。加算器１４８０は、その２つの入力の和１４２５ａを計算して出力する。この和１４２５ａは、対数和補正付きで、２つの入力１４１３ａと１４１３ｂの最大値を表す。
【００９４】
図２３に、８ロー復号器実施例に対する、図６の対数尤度プロセッサ１２５０ａの構成を示す。各ローの対数尤度プロセッサ１２５０ａ′は、マルチプレクサ１４９０のバンクを介して相互接続される。各マルチプレクサ１４９０は、対応する復号器ローの対数尤度プロセッサ１２５０ａ′に１つの入力を提供する。対数尤度プロセッサ１２５０ａ′の対は、それらの出力を、ＡＣＳノードユニット１４２０ａ′、１４２０ｂ′、１４２０ｃ′および１４２０ｄ′に入力する。対数尤度プロセッサ１２５０ａ′の出力はまた、マルチプレクサ１４９０のバンクへも再帰入力として提供される。ＡＣＳノードユニット１４２０ａ′、１４２０ｂ′、１４２０ｃ′および１４２０ｄ′は、２個ずつ対にされ、それらの出力を、さらに別のＡＣＳノードユニット１４３０ａ′および１４３０ｂ′に入力する。ＡＣＳノードユニット１４２０ａ′、１４２０ｂ′、１４２０ｃ′および１４２０ｄ′の出力はまた、マルチプレクサ１４９０のバンクへも再帰入力として提供される。ＡＣＳノードユニット１４３０ａ′および１４３０ｂ′は、それらの出力を、最後のＡＣＳノードユニット１４４０′に提供するとともに、マルチプレクサ１４９０のバンクに再帰入力として提供する。最後のＡＣＳノードユニット１４４０′の出力は、最後の再帰入力としてマルチプレクサ１４９０のバンクに提供される。各マルチプレクサ１４９０にはセレクト信号が提供される。
【００９５】
図２４に、図２１のＡＣＳユニット１４１２ａの１つの有用なアーキテクチャを示す。第１の入力対、すなわち、枝メトリック１（４０２′）および枝メトリック０（４０６′）は、マルチプレクサ４０８に提供され、マルチプレクサ４０８は出力４０２″を生成する。第２の入力対、すなわち、パスメトリック１２７６ａおよびパスメトリック１（１４１５ｂ）は、マルチプレクサ４０９に提供され、マルチプレクサ４０９は出力４０３′を生成する。マルチプレクサ４０８および４０９のそれぞれは、対数尤度モード１２１４ａをセレクト信号として受け取る。対数尤度モード１２１４ａがイナクティブのとき、枝メトリック１（４０２′）がマルチプレクサ４０８によって選択され、パスメトリック１４１５ｂがマルチプレクサ４０９によって選択される。他方、対数尤度モード１２１４ａがアクティブのときは、枝メトリック０（４０６′）がマルチプレクサ４０８によって選択され、パスメトリック１２７６ａ（アルファ値を表す）が４０９によって選択される。
【００９６】
マルチプレクサ４０８および４０９の出力４０２″および４０３′は、加算器４１０′に提供される。和４１１′が加算器４１０′から出力され、マルチプレクサ４１６′およびマルチプレクサ４１７′に提供される。マルチプレクサ４１７′は、枝メトリック０（４０６′）を第２入力として受け取り、対数尤度モード１２１４ａをセレクト信号として受け取る。マルチプレクサ４１７′の出力４１８′は、加算器４１２′に提供される。加算器４１２′は、パスメトリック０（１４１５ａ）を第２入力として受け取る。加算器４１２′は、和４１３′を生成する。和４１３′は、アルファ、ベータおよびガンマの和を表す。和４１３′は、全減算器４１４′およびマルチプレクサ４２０′に提供される。マルチプレクサ４１６′は、表現可能な最小の２の補数に対応する配線入力４０７′を受け取るとともに、対数尤度モード１２１４ａをセレクト信号として受け取る。全減算器４１４′はまた、マルチプレクサ４１６′の出力４０８′を第２入力として受け取り、ボロー３６１′および差４１５′を生成する。
【００９７】
マルチプレクサ４１６′の出力４０８′は、マルチプレクサ４２０′の第１入力として提供される。マルチプレクサ４２０′は、加算器４１２′の和４１３′を第２入力として受け取る。全減算器４１４′のボロー出力３６１′は、入力値の最大値ＭＡＸを計算するためにマルチプレクサ４２０′に供給される。全減算器４１４′の第２出力４１５′は、マルチプレクサ出力４０８′と和４１３′の差を表し、対数和補正テーブル４４０′に提供される。対数和補正テーブル４４０′は、全減算器４１４′の出力が小さいときに、対数ＭＡＰ復号の場合に対数領域における結果の精度を高めるために、新パスメトリックの結果を調整する。対数和補正テーブル４４０′の出力４４１′は、加算器４６０′に提供される。マルチプレクサ４２０′の出力４２１′もまた、加算器４６０′に提供される。加算器４６０′からの結果４９０′は、累算レジスタ４７０′に入力される。累算レジスタ４７０′は、ダミーベータ対数ＭＡＰ計算のために値を累算する。累算レジスタの出力４８０ａは、さらに別のマルチプレクサ４７５′に入力されるとともに、ダミーベータ計算において使用するためにＡＣＳユニット１４１２ａの出力として提供される。マルチプレクサ４７５′は、和４９０′を第２入力として受け取るとともに、対数尤度モード１２１４ａをセレクト信号として受け取る。マルチプレクサ４７５′の出力１４１３ａは、ＡＣＳユニット１４１２ａの第２出力となる。
【００９８】
図２５に、好ましい実施例による図６のバタフライ復号プロセッサ１２６０を示す。構成要素のＡＣＳユニットＡＣＳ０〜ＡＣＳ７のそれぞれには、バタフライモード１２２１、バタフライリセット１２１５、バタフライクロック１２１７およびベータフェーズイネーブル１２３５を含む複数の入力が提供される。構成要素のＢＭＣユニットＢＭＣ０〜ＢＭＣ３のそれぞれには、バタフライレート１２１６、バタフライ拘束１２２０およびバタフライ多項式１２１８が提供される。逆トレリスパスメトリック１２６５は、ＡＣＳユニットＡＣＳ０〜ＡＣＳ７への入力１２６５ａ〜１２６５ｈを提供するようにファンアウトし、それぞれのＡＣＳユニットが２個の逆トレリスパスメトリックを受け取るようにしている。逆トレリスパスメトリック１２６５ａおよび１２６５ｂは、ＡＣＳユニットＡＣＳ０およびＡＣＳ１のそれぞれに提供され、逆トレリスパスメトリック１２６５ｃおよび１２６５ｄは、ＡＣＳユニットＡＣＳ２およびＡＣＳ３のそれぞれに提供され、逆トレリスパスメトリック１２６５ｅおよび１２６５ｆは、ＡＣＳユニットＡＣＳ４およびＡＣＳ５のそれぞれに提供され、逆トレリスパスメトリック１２６５ｇおよび１２６５ｈは、ＡＣＳユニットＡＣＳ６およびＡＣＳ７のそれぞれに提供される。ＢＭＣユニットＢＭＣ０〜ＢＭＣ３はまた、入力として、外部情報１２４２および入力シンボル履歴入力シンボル１２９１ａも受け取る。
【００９９】
バタフライ復号プロセッサ１２６０は、好ましくは、８個のＡＣＳユニットおよび４個のＢＭＣによって形成され、次のような４個のバタフライプロセッサとして構成される。
（ｉ）ＡＣＳ０，ＢＭＣ０，ＡＣＳ１
（ｉｉ）ＡＣＳ２，ＢＭＣ１，ＡＣＳ３
（ｉｉｉ）ＡＣＳ４，ＢＭＣ２，ＡＣＳ５
（ｉｖ）ＡＣＳ６，ＢＭＣ３，ＡＣＳ７
【０１００】
統合復号器アーキテクチャは、トレリスダイヤグラム内の各状態は他の２個の状態による影響しか受けないということを利用する。最小拘束長ｋの符号は、２ｋ−１状態のトレリスダイヤグラムを生じる。２個のＡＣＳユニットおよび１個の中間ＢＭＣユニットを有するバタフライプロセッサは、トレリス状態ダイヤグラムにおける２個の状態を処理することが可能である。したがって、拘束長４の符号を１クロックサイクルで処理するためには、全部で８個のＡＣＳユニットが必要となる。より多くの状態を扱うには、より多くのクロックサイクル数にわたり処理を行うか、または、より多くのバタフライプロセッサを設ければよい。
【０１０１】
ＡＣＳユニットＡＣＳ０〜ＡＣＳ７は、対応する出力１２５５ａ〜１２５５ｈを生成し、これらの出力はあわせて判定ビット１２５５を形成する。ＡＣＳユニットＡＣＳ０〜ＡＣＳ３によって計算される新パスメトリックは、出力１２６７ａ〜１２６７ｄとして提供され、上側新パスメトリックバス１２６７に送られる。ＡＣＳユニットＡＣＳ４〜ＡＣＳ７によって計算される新パスメトリックは、１２６６ａ〜１２６６ｄは、下側新パスメトリックバス１２６６に提供される。
【０１０２】
図２６に、図６の逆アドレスプロセッサ１２７０を示す。逆アドレスプロセッサ１２７０は、パスメトリックを遅延させ並べ換えて、所望のパスメトリックのパターンを生成することを可能にする。逆アドレスプロセッサ１２７０はまた、復号器１２００が順トレリスモードで動作しているときは、入力パスメトリックが変更なしに出力として提供されるように透過的に作用することが可能である。逆アドレスプロセッサ１２７０は、入力として、逆トレリスセレクト１２２２、逆トレリスホールド１２２４、逆トレリス透過ビット１２２６、対数尤度モード１２１４、対数尤度０イネーブル１２０３０、対数尤度１イネーブル１２０３１、および正規化パスメトリック１２７５を受け取る。正規化パスメトリック１２７５は、ファンアウトして、入力対１２７５ａ・１２７５ｅ、１２７５ｂ・１２７５ｆ、１２７５ｃ・１２７５ｇ、および１２７５ｄ・１２７５ｈを、対応する第１バンクのマルチプレクサ１９１０ａ３、１９１０ｂ３、１９１０ｃ３および１９１０ｄ３と、対応する第２バンクのマルチプレクサ１９１５ａ〜１９１５ｄに提供する。
【０１０３】
逆トレリスセレクト１２２２は、第１バンクのＸＯＲゲート１９２０ａ〜１９２０ｄのそれぞれに提供される。ＸＯＲゲート１９２０ａおよび１９２０ｃは、対数尤度０イネーブル１２０３０を受け取り、ＸＯＲゲート１９２０ｂおよび１９２０ｄは、対数尤度１イネーブル１２０３１を受け取る。それぞれのＸＯＲゲート１９２０ａ〜１９２０ｄは、第２バンクのＸＯＲゲート１９２５ａ〜１９２５ｄの対応するＸＯＲゲートと、マルチプレクサ１９１０ａ３〜１９１０ｄ３に提供される出力を生成する。第２バンクのＸＯＲゲート１９２５ａ〜１９２５ｄのそれぞれは、対数尤度イネーブル１２１４を第２入力として受け取り、第２バンクのマルチプレクサ１９１５ａ〜１９１５ｄの対応するマルチプレクサへの出力を生成する。前述のように、それぞれのマルチプレクサ１９１５ａ〜１９１５ｄは、正規化パスメトリックの対を受け取る。ＸＯＲゲート１９２５ａ〜１９２５ｄからの出力は、それぞれのマルチプレクサ１９１５ａ〜１９１５ｄが提供される正規化パスメトリックのうちの一方を選択するためのセレクト信号として作用する。マルチプレクサ１９１５ａ〜１９１５ｄのそれぞれは、マルチプレクサ１９１０ｂ１、１９１０ｄ１、１９１０ｆ１および１９１０ｈ１のうちの対応するマルチプレクサに出力を提供する。
【０１０４】
マルチプレクサ１９１０ａ３〜１９１０ｄ３および１９１５ａ〜１９１５ｄには、対数尤度イネーブル１２１４ならびに対数尤度０イネーブル１２０３０および対数尤度１イネーブル１２０３１の値に依存して異なる入力対が提供される。対数尤度０イネーブル１２０３０は、対数尤度プロセッサ０に対してイネーブルされ、対数尤度プロセッサ１に対してディスエーブルされる。逆に、対数尤度１イネーブル１２０３１は、対数尤度プロセッサ１に対してイネーブルされ、対数尤度プロセッサ０に対してディスエーブルされる。逆アドレスプロセッサ１２７０は統合復号器１２００内のいくつかの位置で使用されるため、逆アドレスプロセッサ１２７０は、相異なる動作モードを扱うことができなければならない。対数尤度イネーブル１２１４ならびに対数尤度イネーブル１２０３０および１２０３１がイナクティブのとき、逆アドレスプロセッサ１２７０は、非組織畳込み符号によって生成されるトレリスに作用するビタビモードにある。対数尤度イネーブル１２１４がアクティブのとき、逆アドレスプロセッサ１２７０は、対数ＭＡＰ復号の場合の対数尤度演算のための逆トレリススイッチングを実行する。対数尤度イネーブル１２１４がアクティブで、対数尤度イネーブル１２０３０および１２０３１のいずれかがアクティブのとき、逆アドレスプロセッサ１２７０は、ターボ復号の場合のように再帰組織符号を用いて対数尤度演算のために適当なスイッチングを実行する。ＸＯＲゲートは、逆アドレスプロセッサ１２７０の相異なる動作モードのために適当なスイッチングを実現する。
【０１０５】
第１バンクのマルチプレクサ１９１０ａ３〜１９１０ｄ３のそれぞれは、対応するラッチ１９１０ａ２〜１９１０ｄ２に提供される出力を生成する。ラッチ１９１０ａ２〜１９１０ｄ２のそれぞれは、逆トレリスホールド１２２４を入力として受け取り、マルチプレクサ１９１０ａ１、１９１０ｃ１、１９１０ｅ１および１９１０ｇ１のうちの対応するマルチプレクサへの第２入力として遅延出力を提供する。
【０１０６】
逆トレリス透過ビット１２２６は、第３バンクのマルチプレクサ１９１０ａ１〜１９１０ｈ１のそれぞれにブロードキャストされ、第３バンクのマルチプレクサ１９１０ａ１〜１９１０ｈ１は、対応するパスメトリック１２６５ａ〜１２６５ｈを生成する。パスメトリック１２６５ａ〜１２６５ｈは、まとめられて、逆トレリスパスメトリック１２６５として提供され、逆アドレスプロセッサ１２７０の出力となる。復号器１２００が順トレリス方向に動作しているときは、逆トレリス透過ビット１２２６がセットされ、逆アドレスプロセッサ１２７０では正規化パスメトリック１２７５が変更なしに通過して逆トレリスパスメトリック１２６５となる。
【０１０７】
図２７に、図６の正規化減算器１２７８を示す。正規化出力１２４６は、減算器１６１０ａ〜１６１０ｈのそれぞれに入力される。マルチプレクサバンク１２７８ａの出力１２７７は、個々のパスメトリック１２７７ａ〜１２７７ｈとして提供され、これらのパスメトリックはそれぞれ対応する減算器１６１０ａ〜１６１０ｈに提供される。減算器１６１０ａ〜１６１０ｈの出力１２７５ａ〜１２７５ｈは、正規化パスメトリック１２７５を形成する。正規化減算器１２７８は、トレリスをたどる間に計算され正規化出力１２４６として提供される最大パスメトリックを新パスメトリックから減算して、パスメトリック値がアーキテクチャのダイナミックレンジ内に保持されることを保証するために、使用される。
【０１０８】
図２８に、本発明の好ましい実施例による、図６の比較器１２４７を示す。バス１２６７上に提供されるバタフライパスメトリックは、ファンアウトされ、対応する最大値比較器１７１０ａ〜１７１０ｄへの入力１２６７ａ〜１２６７ｄを生成する。同様に、バス１２６６上に提供されるバタフライパスメトリックは、ファンアウトされ、対応する最大値比較器１７１０ｅ〜１７１０ｈへの入力１２６６ａ〜１２６６ｄを生成する。パスメトリック１２６６ａ〜１２６６ｄおよび１２６７ａ〜１２６７ｄは相互に比較され、最大パスメトリック１７１５が、図３１に示すマルチロー比較器ツリーに出力される。マルチロー比較器ツリーは、復号器がマルチロー構成で動作するときに、調べているトレリスの状態に対して計算されている最大のパスメトリックを捕捉するように、復号器全体にわたる。マルチロー比較器ツリーからの出力は、レジスタ１７２０に提供される。レジスタ１７２０は、トレリスをたどる間に計算された最大パスメトリックを記憶する。出力１７１６はまた、減算器１７３０にも入力される。レジスタ１７２０は、減算器１７３０への第２入力を提供する。この入力は、トレリスをたどる間に計算された最大パスメトリックを提供する。この減算器は、トレリスをたどる間に計算された最大パスメトリックを最大パスメトリック１７１５と比較し、計算されたばかりの最大パスメトリック１７１５が、トレリスをたどる間に計算された最大パスメトリックより大きい場合、ロード信号１７３５がレジスタ１７２０に対してイネーブルされ、最大パスメトリック１７１５がレジスタ１７２０にロードされて、トレリスをたどる間に計算された最大パスメトリックとなる。このレジスタは、正規化出力１２４６となるもう１つの出力を提供し、これは、正規化減算器１２７８および中間復号メモリ・プロセッサ１２４０に供給される。正規化出力１２４６は、計算されたパスメトリック値がアーキテクチャのダイナミックレンジ内にとどまることを保証するために使用される。
【０１０９】
図２９に、好ましい実施例による図６のパスメトリックメモリ１２８０を示す。パスメトリックリセット１２３０およびパスメトリックリード／ライトクロック１２３１が、メモリユニット１８１０ａ〜１８１０ｈのそれぞれに提供される。上側メモリブロック１８１０ａ〜１８１０ｄはＢ０としてまとめられ、入力ＡＤＤＲ０（１２２８ａ）を受け取る。他方、下側メモリブロック１８１０ｅ〜１８１０ｈはまとめられてＢ１を形成し、対応する入力ＡＤＤＲ１（１２２８ｂ）を受け取る。パスメトリックストア１２８０は、順トレリスパスメトリック１２８５を受け取り、これはファンアウトされ、図示のように、対応するメモリブロック１８１０ａ〜１８１０ｈのそれぞれにパスメトリック１２８５ａ〜１２８５ｈを提供する。パスメトリックストア１２８０は、１トレリス処理サイクルの間、順トレリスパスメトリック１２８５をバッファリングした後、出力１２７６ａ〜１２７６ｈを生成し、これらの出力はまとめられて記憶パスメトリック１２７６を形成する。
【０１１０】
図３０に、本発明の好ましい実施例による図６の順アドレスプロセッサ１２９０を示す。順アドレスプロセッサ１２９０は、パスメトリックを遅延させ並べ換えて、所望のパスメトリックのパターンを生成することを可能にする。順アドレスプロセッサ１２９０はまた、復号器１２００が逆トレリスモードで動作しているときは、入力パスメトリックが変更なしに出力として提供されるように透過的に作用することが可能である。上側パスメトリックバス１２９６は、構成要素のパスメトリック１２９６ａ〜１２９６ｄに分かれ、これらは、図示のように、２個のマルチプレクサ２０１０ａおよび２０１０ｂに提供される。これらのマルチプレクサのそれぞれは、２個の入力パスメトリックを受け取る。下側パスメトリックバス１２９５は、構成要素のパスメトリック１２９５ａ〜１２９５ｄに分かれ、これらは、図示のように、２個のマルチプレクサ２０１０ｃおよび２０１０ｄに提供される。これらのマルチプレクサのそれぞれは、２個の入力パスメトリックを受け取る。マルチプレクサ２０１０ａ〜２０１０ｄはそれぞれ、順トレリスセレクト１２３２を受け取る。順トレリスセレクト１２３２は、提供されるパスメトリック１２９６ａ〜１２９６ｄおよび１２９５ａ〜１２９５ｄのいずれを選択すべきかを示す。
【０１１１】
マルチプレクサ２０１０ａ〜２０１０ｄのそれぞれは、対応する保持レジスタ２０１５ａ〜２０１５ｄに出力を供給する。保持レジスタ２０１５ａ〜２０１５ｄはそれぞれ、順トレリスホールド１２３４を入力として受け取る。マルチプレクサ２０１０ａ〜２０１０ｄおよび保持レジスタ２０１５ａ〜２０１５ｄの目的は、インプレースパスメトリックアドレシングの一部として、パスメトリック１２９６ａ〜１２９６ｄおよび１２９５ａ〜１２９５ｄの一部を１クロックサイクルだけ遅延させることである。
【０１１２】
保持レジスタ２０１５ａ〜２０１５ｄのそれぞれは、図示のように、マルチプレクサバンク２０２０に提供される出力を生成する。マルチプレクサバンク２０２０の他方の入力は、同じく図示されているように、上側パスメトリックバス１２９６および下側パスメトリックバス１２９５の構成要素のパスメトリックである。パスメトリック入力マルチプレクサセレクト１２３８が、マルチプレクサバンク２０２０にブロードキャストされる。マルチプレクサバンク２０２０は、第２のマルチプレクサバンク２０３０への出力を生成する。第２マルチプレクサバンク２０３０の他方の入力は、上側パスメトリックバス１２９６および下側パスメトリックバス１２９５の構成要素のパスメトリックである。順トレリス透過ビット１２３６が、第２マルチプレクサバンク２０３０に提供され、復号器１２００が逆トレリスモードで動作しているときに透過的な経路をなすために使用される。マルチプレクサバンク２０３０は、パスメトリック１２８５ａ〜１２８５ｈを生成する。これらのパスメトリックは、まとめられて、順トレリスパスメトリック１２８５を形成し、順アドレスプロセッサ１２９０の出力となる。
【０１１３】
図３１に、８ロー復号器構成で用いられるときの、図６の比較器１２４７を示す。各ローの比較器１２４７′は、マルチプレクサ２１００のバンクを介して相互接続される。それぞれのマルチプレクサ２１１０は、対応する復号器ローにおける対応する比較器１２４７′への単一の入力を提供する。比較器１２４７′の対は、それらの出力１７１５を、ＡＣＳノードユニット１４２０ａ″、１４２０ｂ″、１４２０ｃ″および１４２０ｄ″に入力する。これらのＡＣＳノードユニットのそれぞれは、復号器の２個のローにわたる。比較器１２４７′の出力１７１５はまた、マルチプレクサ２１１０のバンクへも再帰入力として提供される。ＡＣＳノードユニット１４２０ａ″、１４２０ｂ″、１４２０ｃ″および１４２０ｄ″は、２個ずつ対にされ、それらの出力を、さらに別のＡＣＳノードユニット１４３０ａ″および１４３０ｂ″に入力する。ＡＣＳノードユニット１４２０ａ″、１４２０ｂ″、１４２０ｃ″および１４２０ｄ″の出力はまた、マルチプレクサ２１１０のバンクへも再帰入力として提供される。ＡＣＳノードユニット１４３０ａ″および１４３０ｂ″は、それらの出力を、最後のＡＣＳノードユニット１４４０″に提供するとともに、マルチプレクサ２１１０のバンクに再帰入力として提供する。最後のＡＣＳノードユニット１４４０″の出力は、最後の再帰入力としてマルチプレクサ２１１０のバンクに提供される。各マルチプレクサ２１１０にはセレクト信号が提供される。
【０１１４】
図３２に、アドレスコントローラを含む、図６の入力シンボル履歴１２９８の構成を示す。入力シンボル履歴アドレス１２１９は、ウィンドウデコーダ２２１０に入力される。ウィンドウデコーダ２２１０は、第１の二重バッファメモリバンク０（２２１６）および第２の二重バッファメモリバンク１（２２１８）へのアクセスを可能にするためにアドレスをデコードする。入力シンボル履歴１２９８は、連続的なデータフローが維持されることを保証するために、受け取った入力を二重バッファリングする。入力シンボル履歴クロック１２２３および入力シンボル履歴リセット１２２５は、カウンタ２２１２に提供され、カウンタ２２１２の出力１２９７ａもまた、二重バッファメモリバンク０（２２１６）および二重バッファメモリバンク１（２２１８）に提供される。入力シンボル１２９９は、ホストプロセッサから、デマルチプレクサ２２１４に提供される。デマルチプレクサ２２１４は、二重バッファメモリバンク０（２２１６）への出力２２２４と、二重バッファメモリバンク１（２２１８）への出力２２２６を生成する。デマルチプレクサ２２１４はまた、入力として、リード／ライト信号１２９７ｂを受け取る。リード／ライト信号１２９７ｂは、第１マルチプレクサ２２２０および第２マルチプレクサ２２２２にも供給される。二重バッファメモリバンク０（２２１６）および二重バッファメモリバンク１（２２１８）のそれぞれには、バンクセレクト信号１２１１が提供される。ただし、バンクセレクト信号１２１１は、二重バッファメモリバンク１（２２１８）へのインタフェースで反転される。
【０１１５】
二重バッファメモリバンク０（２２１６）は、マルチプレクサ２２２０への第１出力２２２８と、第２マルチプレクサ２２２２への第２出力２２３０を生成する。二重バッファメモリバンク１（２２１８）は、マルチプレクサ２２２０に供給される対応する第１出力２２３２と、第２マルチプレクサ２２２２に提供される第２出力２２３４を生成する。第１マルチプレクサ２２２０は、対数尤度プロセッサ０（１２５０ｂ）に入力される出力１２９１ｂを生成する。第２マルチプレクサ２２２２は、バタフライプロセッサ１２６０に入力される出力１２９１ａを生成する。
【０１１６】
図３２は、二重バッファメモリバンク１（２２１８）の分解図も示している。入力データ２２２６は、１対ｎデマルチプレクサ２２４０に提供される。１対ｎデマルチプレクサ２２４０はまた、ウィンドウデコーダ２２１０の出力であるウィンドウセレクトも受け取る。デマルチプレクサ２２４０からのｎ個の出力は、ｎ個の対応するウィンドウＷ０〜Ｗｎに提供される。これらのウィンドウのそれぞれは、第１のｍ対１マルチプレクサ２２４２および第２のｍ対１マルチプレクサ２２４４に提供される出力を生成する。ｍ対１マルチプレクサ２２４２、２２４４のそれぞれは、ウィンドウセレクト入力信号も受け取る。第１のｍ対１マルチプレクサ２２４２は、出力２２３２を生成し、この出力は、ダミーベータ計算のために使用され、対数尤度プロセッサ１２５０ａに送られる。第２のｍ対１マルチプレクサ２２４４は、出力２２３４を生成し、この出力は、バタフライプロセッサ１２６０の枝メトリックユニットにおいてアルファおよびベータを計算するために使用される。
【０１１７】
図３３に、図６の対数尤度比プロセッサ１２９７を示す。対数尤度比プロセッサ１２９７は、入力１２４５ａおよび１２４５ｂを受け取る。これらの入力はそれぞれ、対数尤度プロセッサ１２５０ａおよび対数尤度プロセッサ１２５０ｂからの出力である。対数尤度比プロセッサ１２９７はまた、入力として、外部情報１２４２、ハード・ソフト出力セレクト１２１３、拡散入力１２４３、トレースバックプロセス出力１５６７およびスクランブルアドレスデータ１２８６も受け取る。
【０１１８】
減算器２３１０は、それぞれ「１」および「０」の尤度を表す入力１２４５ａおよび１２４５ｂを受け取り、第２減算器２３２０に供給される出力２３１５を生成する。減算器２３１０の出力２３１５はまた、第１マルチプレクサ２３３０にも供給されるとともに、出力１２９４の一部を形成する。減算器２３２０への第２入力は外部情報１２４２である。減算器２３２０の出力２３２５は、第２マルチプレクサ２３４０に提供される。
【０１１９】
トレースバックプロセス出力１５６７は、第１マルチプレクサ２３３０への第２入力として提供される。ハード・ソフト出力セレクト１２１３は、マルチプレクサ２３３０のセレクト入力として提供され、マルチプレクサ２３３０の出力は、復号出力１２９４の０ビットを形成する。減算器２３１０の出力２３１５は、マルチプレクサ２３３０の出力の最下位ビットと組み合わされて、マルチビット復号出力１２９４を形成する。
【０１２０】
第２マルチプレクサ２３４０は、スクランブルアドレスデータ１２８６を第２入力として受け取り、拡散入力１２４３をセレクト信号として受け取る。第２マルチプレクサ２３４０は、出力１２９３を生成し、この出力は、対数尤度比プロセッサ１２９７から中間復号結果・メモリ１２４０に供給される。
【０１２１】
図５に示した実施例は、５フェーズモードで動作する。尤度プロセッサが存在しないため、図６の実施例（これは２フェーズモードで動作する）で対数尤度プロセッサ１２５０ａおよび１２５０ｂによって実行される計算において、より多くのアルファおよびベータを記憶するために、より多くのパスメトリックメモリが必要となる。
【０１２２】
［動作］
復号器１２００の動作における第１ステップは、アーキテクチャが畳込み復号またはターボ復号のいずれかの必要な構成を実現するように、復号器を初期化することである。演算に利用可能な変数には、問題となるトレリスサイズに必要なコラムの数、トレリス内の状態数、パスメトリックメモリ内のコラムのアドレシングに使用される適当な数のビットに対するマスク、および、トレースバックプロセスの判定深さがある。処理対象のシンボルの生き残りパスメトリックを保持するレジスタが初期化され、各トレリス演算に必要なコラムアドレス順序を反映するようにシンボル時刻ごとに値が置換される順番号が、レジスタバンクに代入される。
【０１２３】
なお、復号器１２００は、順トレリス方向または逆トレリス方向のいずれにも動作可能である。
【０１２４】
トレリスを順方向にたどっている場合、逆アドレスプロセッサ１２７０は、逆トレリス透過ビット１２２６をセットすることによって透過モードで動作するように設定される。トレリスを順方向にたどるとき、順番号は、最初に使用した後に左へ回転される。
【０１２５】
反復プロセスは、反復番号に対応するパスメトリックストア１２８０のＢ０およびＢ１のコラムからパスメトリックを読み出すことによって開始される。１２８０  Ｂ０および１２８０  Ｂ１の第１コラムに保持されるパスメトリックの順次リストがバタフライプロセッサ１２６０に提供される。バタフライプロセッサ１２６０は、マルチプレクサバンク１２５０ｃを介して、新パスメトリックを生成する。この新パスメトリックは、もはや宛先状態順ではなく、順アドレスプロセッサ１２９０に供給される。順アドレスプロセッサ１２９０は、実質的に、新パスメトリックの各コラムに対するソート操作を実行し、その結果、パスメトリックメモリ１２８０のＢ０およびＢ１のコラムが、コラムを順に読んでいくときに順次状態のセットを表すようになる。それぞれのコラム操作中、図１１Ａ〜図１１Ｅに示したように、８個の新パスメトリックのうちの半数はパスメトリックストア１２８０に直接書き込まれる一方、残りの新パスメトリックは順アドレスプロセッサ１２９０内の保持レジスタ２０１５ａ〜２０１５ｄに書き込まれる。これは、パスメトリックのグループごとに入れ替わる。
【０１２６】
順トレリスをたどることは、コラム数だけの反復を必要とする。この数は、問題としている特定のトレリスに必要なコラム数より１だけ大きい。反復番号が偶数の場合、バス１２９６Ａ，Ｃ，Ｅ，Ｇからのパスメトリックが、反復番号に対応するパスメトリックストア１２８０  Ｂ０のコラムに書き込まれる。バス１２９６Ｂ，Ｄ，Ｆ，Ｈからのパスメトリックは同時に、順アドレスプロセッサ１２９０の保持レジスタ２０１５ａ〜２０１５ｄに書き込まれる。
【０１２７】
一方、奇数番目の反復である場合、バス１２９６Ａ，Ｃ，Ｅ，Ｇからのパスメトリックが、順アドレスプロセッサ１２９０の保持レジスタ２０１５ａ〜２０１５ｄに書き込まれ、バス１２９６Ｂ，Ｄ，Ｆ，Ｈからのパスメトリックは、反復番号に対応するパスメトリックストア１２８０のコラムに書き込まれる。
【０１２８】
コラム操作中、バタフライプロセッサ１２６０のＡＣＳユニットによって生成される判定ビット１２５５は１バイトにまとめられ、中間復号メモリ・プロセッサ１２４０に書き込まれる。プロセスにおける次の反復は、次の反復の番号に対応するパスメトリックストア１２８０のＢ０およびＢ１からコラムアドレスを読み出すことによって開始される。反復プロセスは、コラム反復の数が、計算しているトレリスに必要なコラム数より１だけ大きい数に一致するまで継続する。
【０１２９】
順アドレスプロセッサ１２９０の保持レジスタ内の４個の新パスメトリックを転送するために、反復プロセスの最後にもう１回の書き込み操作が必要とされる。これらの４個の新パスメトリックは、パスメトリックストアメモリ１２８０  Ｂ１の最終コラムに書き込まれる。最終結果として、新パスメトリックは、異なるコラム順序で、パスメトリックストア１２８０のＢ０およびＢ１に書き込まれたことになる。なお、各コラム内の順序は変わっていない。
【０１３０】
トレリスを逆方向にたどっているときは、順番号は、右に回転された後にはじめて使用される。４個のパスメトリックからなるグループが、パスメトリックストア１２８０  Ｂ０の第１コラムからフェッチされ、逆アドレスプロセッサ１２７０内の保持レジスタに入れられる。順アドレスプロセッサ１２９０は、順トレリス透過ビット１２３６をセットすることによって透過モードで動作するように設定される。対応する逆トレリス透過ビット１２２６は、逆アドレスプロセッサ１２７０がイネーブルされるように設定される。逆トレリスをたどることは、図１３および図１４で説明した。
【０１３１】
トレリスを逆方向にたどることは、その特定のトレリスに必要なコラム数より１だけ大きい数に等しい反復数を必要とする。トレリスを逆方向にたどるとき、インプレースパスメトリック方式は常に、逆アドレスプロセッサ１２７０を通じて、スクランブルされたパスメトリックのリストを提供し、バタフライプロセッサ１２６０へのパスメトリックの非順次リストを生成する。バタフライプロセッサ１２６０によって生成される、結果として得られるトレリス状態順序は、トレリス状態順である。
【０１３２】
偶数番目の反復を行う場合、反復番号に１を加えた番号に等しいパスメトリックストア１２８０  Ｂ０内のコラムが読み出され、マルチプレクサ１２７８ａ、正規化プロセッサ１２７８および逆アドレスプロセッサ１２７０を通ってバタフライプロセッサ１２６０へと渡される。逆アドレスプロセッサ１２７０に現在保持されているパスメトリックもまたバタフライプロセッサ１２６０に読み込まれる。反復番号に等しいパスメトリックストア１２８０内のコラムが読み出され、逆アドレスプロセッサ１２７０の保持レジスタに書き込まれる。
【０１３３】
反復番号が奇数の場合、反復番号に１を加えた番号に等しいパスメトリックストア１２８０  Ｂ１のコラムが読み出され、マルチプレクサ１２７８ａおよび正規化プロセッサ１２７８を通って逆アドレスプロセッサ１２７０に渡され、さらにバタフライプロセッサ１２６０へと渡される。逆アドレスプロセッサ１２７０に保持されているパスメトリックもまたバタフライプロセッサ１２６０に入力される。反復番号に等しいパスメトリックストア１２８０のコラムが読み出され、逆アドレスプロセッサ１２７０の保持レジスタに書き込まれる。
【０１３４】
逆トレリスをたどるこの時点で、パスメトリックストア１２８０のＢ０およびＢ１の第１コラムに保持されるパスメトリックの順次リストが逆アドレスプロセッサ１２７０に提供される。逆アドレスプロセッサ１２７０は、バタフライプロセッサ１２６０に提供される結果のコラムがもはや宛先状態順ではないという意味で、新パスメトリックの各コラムに対するソート操作を実行する。バタフライプロセッサ１２６０は、８個の新パスメトリックを生成し、これらの新パスメトリックは、マルチプレクサバンク１２５０ｃを介して、順アドレスプロセッサ１２９０に提供される。順アドレスプロセッサ１２９０は透過モードにあるため、バタフライプロセッサ１２６０によって生成されたパスメトリックのトレリス状態順リストが、マルチプレクサバンク１２５０ｃを介して、パスメトリックストア１２８０のＢ０およびＢ１に書き戻される。パスメトリックストア１２８０のＢ０およびＢ１は、コラムを順に読んでいくときに順次状態のセットを表す。
【０１３５】
コラム操作中、バタフライプロセッサ１２６０のＡＣＳユニットによって生成される判定ビット１２５５は１バイトにまとめられ、中間復号メモリ・プロセッサ１２４０に書き込まれる。次の反復は、パスメトリックストア１２８０のＢ０およびＢ１からパスメトリックの適当なコラムを読み出すことによって開始される。
【０１３６】
反復プロセスの終了時には、新パスメトリックは、異なるコラム順序で、パスメトリックストア１２８０のＢ０およびＢ１に戻る。なお、各コラム内の順序は変わっていない。
【０１３７】
中間復号メモリ・プロセッサ１２４０内のトレースバックプロセッサ１５１０は、周知のポインタ型トレースバック演算を実行するので、トレリス処理方向と、判定ビットのビット位置を知っている。判定ビットは、１バイトから抽出され、トレースバックメモリ１５３０内への次のポインタを生成するために使用される。トレースバックは、あらかじめ規定されたトレースバック深さに達したときに終了する。トレースバック深さは一般に、符号の拘束長の５〜９倍の間にある。
【０１３８】
復号器１２００がターボ復号のために使用されているときは、処理は、ダミーベータ／アルファ処理と、ベータ／ＬＬＲ処理という２つの異なるフェーズに分かれる。トレリス状態の数が、バタフライプロセッサ１２６０のＡＣＳユニットサイズの整数（２の累乗）倍でＡＣＳユニットＡＣＳ０〜ＡＣＳ７の数と一致するという縮退した場合だけを除いては、順トレリスまたは逆トレリスのいずれかの演算が言及されているときには上記の処理が行われる。対数尤度プロセッサ０（１２５０ａ）およびバタフライプロセッサ１２６０内のＡＣＳユニットには、それぞれのＡＣＳユニットがアルファおよびベータの計算に必要な結果を累算することを可能にするレジスタがそれぞれ設けられる。
【０１３９】
ダミーベータおよびアルファの計算は並列に行われる。対数尤度プロセッサ０（１２５０ａ）は、リーフＡＣＳユニットを自由に使用してダミーベータ計算を実行する。この計算は、それぞれがウィンドウメモリシステムである入力シンボル履歴バッファおよび中間復号メモリ・プロセッサインタリーバメモリへのアクセスを必要とする。入力シンボル履歴バッファは、処理ウィンドウのサイズのバンク２２１６および２２１８として組織される。対数尤度プロセッサ０（１２５０ａ）は、時刻ｔ＋１に処理すべきウィンドウを時刻ｔに処理することによってダミーベータを累算する。対数尤度プロセッサ０（１２５０ａ）は、パスメトリックストア１２８０へのアクセスを必要としない。これが、対数尤度プロセッサ０（１２５０ａ）がバタフライプロセッサ１２６０内に含まれるＡＣＳユニットと並列に動作可能な理由である。
【０１４０】
対数尤度プロセッサ０（１２５０ａ）は、計算された最大のベータを決定するためにＡＣＳツリー内の加算器を使用することにより、ダミーベータ値に対する正規化を実行する。この最大値は、対数尤度プロセッサ０（１２５０ａ）のリーフＡＣＳユニットへの入力を使用する前に、その入力から減算される。
【０１４１】
バタフライプロセッサ１２６０は、アルファ計算を実行し、構成要素のＡＣＳユニット内にあるレジスタにおいてアルファ値を累算する。バタフライプロセッサ１２６０は、順トレリスをたどる間に行われるのと同様に、順トレリス演算および正規化を実行する。
【０１４２】
対数尤度プロセッサ０（１２５０ａ）によって計算されるダミーベータは、ベータ計算フェーズの開始時にバタフライプロセッサ１２６０に提供される。
【０１４３】
ベータの計算中は、対数尤度プロセッサ１２５０ａおよび１２５０ｂの両方がバタフライプロセッサ１２６０とともに使用される。対数尤度プロセッサ１２５０ａ、１２５０ｂのそれぞれは、パスメトリックストア１２８０からのアルファと、前のクロックサイクルから得られたベータと、中間復号メモリ・プロセッサ１２４０から生成される外部情報１２４２とを受け取り、それぞれ、「１」および「０」に対する対数尤度の結果を生成する。対数尤度計算は、複数のローにわたる可能性がある。その計算は、前状態にわたる最大値の結果を決定しているからである。
【０１４４】
ベータ計算は、アルファとは異なり、入力シンボル履歴ウィンドウを通して逆方向に動作し、アルファ計算で用いられるガンマを使用する。ベータ計算は、アルファ計算で用いられたのと同じトレリス枝メトリック割当てを使用する。
【０１４５】
入力履歴のブロック全体が処理され、結果として得られる出力がインタリーバ１５２０に供給された後、プロセスは、ターボ復号演算の後半を開始することができる。第１復号器演算中のインタリーバ演算は、順次読み出しおよび順次書き込みである。これに対して、第２復号器演算中、インタリーバは、スクランブラアドレス出力によって決定されるランダムアドレス順序を用いて、読み出しおよび書き込みが行われる。第２復号器演算中、読み出し（リード）および書き込み（ライト）のアドレスは同一である。第１復号器の後のインタリーバ演算は、書き込みは順次であるが、読み出しはランダムであり、第１および第２の復号器に統計的独立性を与えるために用いられるあらかじめ規定された拡散系列に従う。第２復号器のインタリーバ演算は、書き込みは、拡散系列に従ってランダムであり、読み出しは順次である。
【０１４６】
なお、ターボ符号化に用いられる符号器は同一である必要はないため、第２復号器の復号レートおよび拘束は、第１復号器のものと必ずしも同一ではない。このため、ターボ復号器の構成を、ブロック処理演算どうしの間で変えなければならないことがある。その場合、これは、設定レジスタの内容を操作することによって容易に対処される。
【０１４７】
入力シンボル履歴の各ブロックは、許容されるビット誤り率の範囲内で復号を行うために、数回の完全なターボ反復を必要とする。必要な反復数は、必要とされるビット誤り率が達成されることを保証するように設定可能である。
【０１４８】
本発明のアーキテクチャの利点は、１回のターボ復号反復を完了するのに２フェーズしか必要としないことである。これは、アーキテクチャの利用におけるフレキシビリティを提供するとともに、使用される復号器ローの数と、必要な反復数とのバランスをとることを可能にする。例えば、４回の反復を行うターボ復号器は、２回の反復を要する２個の復号器ローを使用して実現可能である。
【０１４９】
対数ＭＡＰ計算は、スライディングウィンドウアルゴリズムを用いて実行される。スライディングウィンドウアルゴリズムは、２フェーズで実現される。単一の復号器では、これはレイテンシの増大（図３４Ａの構成（単一の復号器のみが使用される）に示すように、各ウィンドウに２パス）を生じる。第１パスは、ダミーベータ値と順アルファ値を並列に計算し、順アルファ値をアルファメモリに記憶する（注意：このメモリは、パスメトリック記憶のためにビタビアルゴリズムで使用されるのと同じメモリである）。第２パスは、アルファ値を読み出し、対数ＭＡＰアルゴリズムに従ってベータ値を計算し、対数尤度比（ＬＬＲ）を出力する。
【０１５０】
複数の復号器を使用するときは、２フェーズの計算を重畳させることが可能であり、復号器は、小さいレイテンシで１ブロックを処理することができる。複数の復号器は、相異なるデータストリームに対して個別に動作することも可能であり、あるいは、図３４Ｂの構成に示すように、単一のストリームの復号速度を大きくするように協働することも可能である。図５に示した実装は、４個の独立なストリームを処理するか、高速（小さいレイテンシ）で２個のストリームを処理するか、さらに高速（最小のレイテンシ）で１個のストリームを処理することが可能である。
【０１５１】
表１に、複数の符号化ストリームを同時にサポートする統合復号器のフレキシビリティを例示する。例えば、４個の復号器ローを有する復号器は、４個までのデータストリームを同時に処理することができる。さらに、復号器ローは協働して、より少数のストリームをより高いスループットで復号することが可能である。これは、音声復号のレイテンシを最小限にするために有用である。表１は、このアプローチのフレキシビリティと、それぞれの場合に得られる適当な復号高速化を例示する（なお、このリストは決して完全ではなく、より多くの復号器ローを互いに結合して、さらに高いフレキシビリティを達成することが可能である）。
【表１】
0004907802.tif 000002
【０１５２】
より少数のデータストリームを高速で復号するために２個または４個の復号器がどのように協働することができるかを例示するため、図３５に、２個の復号器の間の相互接続を示す。「Ｍ」と記されたボックスは、隣の復号器からのパスメトリックの一部をパスメトリックメモリに書き込む前に入れ替えることを可能にするマルチプレクサである。さらに、図３６には、単一の復号器、２個の復号器、または４個の復号器のいずれとしても機能するように、４個の復号器をどのようにして相互接続することができるかを示す。
【０１５３】
統合復号器の複数標準対応性を実証するため、復号器は、表２に示す標準の任意の組み合わせをサポートする。（このリストは決して完全ではないが、この統合復号器のフレキシブルな（したがって有用な）性質を実証するために記載している。）
【表２】
0004907802.tif 000003
【０１５４】
統合復号器９００は、畳込み符号化データストリームおよびターボ符号化データストリームに必要な復号を実現し、複数のデータストリームおよび複数の音声ストリームを同時にサポートすることができる。ターボ符号化データストリームを復号するとき、この復号器は、最大値−対数ＭＡＰアルゴリズムまたは対数ＭＡＰソフト出力ＭＡＰアルゴリズムのいずれかを用いた反復ターボ復号器を実現する。この復号器は、畳込みおよびターボ復号方式の両方の効率的実現を可能にするように、その構成要素を最大限に再利用する。
【０１５５】
本発明の復号器は、相異なる標準の音声ストリームを復号するために、必要に応じて、動的に分割されることが可能である。本発明の復号器は、相異なる符号化レート（レート１／２、レート１／３、レート１／４など）でストリームを処理することができる。本発明の復号器はまた、相異なる拘束長で符号化されたストリームを処理することも可能である。したがって、本発明の統合復号器アーキテクチャは、現在規定されている移動ワイヤレス標準（音声およびデータの両方について、第１、第２および第３世代）のそれぞれをサポートすることが可能である。
【０１５６】
好ましい実施例の統合復号器アーキテクチャは、非組織（フィードフォワード）符号器と組織（フィードバックワード）符号器の機能を単一のアーキテクチャに組み込む。図３７Ａに、符号語３２２５の１個の符号ビット３２２５＿０を生成するための、多項式３２４０と状態ビット３２５０のミキシングを示す。多項式３２４０は、対応するＡＮＤゲート３２６０に提供される。このＡＮＤゲート３２６０は、状態３２５０も入力として受け取る。それぞれのＡＮＤゲート３２６０は、対応するＸＯＲゲート３２７０への出力を生成する。それぞれのＸＯＲゲート３２７０はまた、遷移入力３２８０も受け取り、Ｍビット非組織符号器３２３０の出力３２２５＿０を生成する。
【０１５７】
図３７Ｂに、符号語３２２５に対する符号器３２００の全体を示す。多項式３２４０は、対応するＭビット非組織符号器３２３０に提供される。入力ビット３２２０は、ＸＯＲゲート３２７５に提供される。RSC_ENABLE信号は、ＡＮＤゲート３２８０に提供され、このＡＮＤゲート３２８０の出力は、ＸＯＲゲート３２７５の第２入力となる。ＡＮＤゲート３２８０はまた、入力として、符号器３２３０の出力も受け取る。ＸＯＲゲート３２７５は、Ｍビットシフトレジスタ３２１０およびそれぞれの符号器３２３０に出力を提供する。Ｍビットシフトレジスタ３２１０はまた、クロック信号３２８５およびリセット信号３２９０を受け取り、時刻Ｔにおける符号器３２００の状態を保持する。この状態値は、非組織符号ビットを生成するために、それぞれの特定の多項式３２４０（特定の符号によって指定される）とともに使用される。レジスタ３２１０の出力３２５０は、それぞれの符号器３２３０にブロードキャストされる。符号器３２３０の出力３２２５＿０〜３２２５＿Ｒは、まとめられて、符号語(CODE_WORD)３２２５を形成する。
【０１５８】
RSC_ENABLE３２１５をイネーブルすることにより、符号器３２００は再帰組織（ＲＳ：recursive systematic）符号器となる。再帰組織符号では、入力ビット３２２０は、符号語３２２５の組織ビットを形成する。それぞれのＭビット符号器３２３０の生成したビットは、ＲＳ符号語３２２５の残りの部分を形成する。
【０１５９】
非組織符号器の場合、CODE_WORD３２２５はＲ個のビット（ただし、Ｒ＝符号のレート）を含むことになる。RSC_ENABLE３２１５がアクティブのとき、CODE_WORD３２２５は通常１ビット幅である。出力CODE_WORD３２２５（今の場合１ビット幅）および入力ビット(INPUT_BIT)３２２０がＲＳ符号語を形成する。
【０１６０】
【発明の効果】
上記の説明から明らかなように、本発明の実施例は、統合されたスケーラブルなアーキテクチャを用いて、複数の伝送標準の復号に適用可能である。
【０１６１】
上記の説明は、本発明の実施例についてのものに過ぎない。本発明の技術的範囲および技術思想から離れることなく、さまざまな修正や変形が可能である。実施例は例示であり、限定的なものではない。
【０１６２】
特許請求の範囲の発明の要件の後に括弧で記載した番号がある場合は、本発明の一実施例の対応関係を示すものであって、本発明の範囲を限定するものと解釈すべきではない。
【図面の簡単な説明】
【図１】複数のプロトコルを用いた通信ネットワークの概略ブロック図である。
【図２】符号化を用いた通信システムの概略ブロック図である。
【図３】符号化を用いた通信システムにおける一般的なビタビ復号器の概略ブロック図である。
【図４】符号化を用いた通信システムにおける一般的なターボ復号器の概略ブロック図である。
【図５】統合復号器の概略ブロック図である。
【図６】統合復号器のアーキテクチャの概略ブロック図である。
【図７】図６のバタフライプロセッサの概略ブロック図である。
【図８】図６の加算比較選択（ＡＣＳ：Add-Compare-Select）ユニットの概略ブロック図である。
【図９】３２状態トレリスとその対応するバタフライプロセッサおよびパスメトリックを表す図である。
【図１０】結果のパスメトリック位置を示す図である。
【図１１】Ａ〜Ｅはそれぞれ、時刻ｔ＝１〜ｔ＝５におけるインプレースパスメトリックアドレシングを表す図である。
【図１２】パスメトリックコラムのアドレシングを表す図である。
【図１３】逆トレリス構成のインプレースパスメトリックアドレシングを表す図である。
【図１４】逆トレリス構成のインプレースパスメトリックアドレシングを表す図である。
【図１５】図６の中間復号メモリプロセッサの概略ブロック図である。
【図１６】ウィンドウメモリサブシステム、トレースバックコントローラおよびインタリーバコントローラを示す、図１５の分解概略ブロック図である。
【図１７】図１６のトレースバックコントローラの概略ブロック図である。
【図１８】図１６のインタリーバの概略ブロック図である。
【図１９】図１８のインタリーバアドレスコントローラの分解図である。
【図２０】図１６のウィンドウメモリサブシステムの概略ブロック図である。
【図２１】１ロー復号器に対する図６の対数尤度プロセッサの概略ブロック図である。
【図２２】図２１の加算比較選択ノードユニットの概略ブロック図である。
【図２３】８ロー復号器に対する図６の対数尤度プロセッサの概略ブロック図である。
【図２４】図２１のＡＣＳユニットの概略ブロック図である。
【図２５】図６のバタフライ復号プロセッサバンクの概略ブロック図である。
【図２６】図６の逆アドレスプロセッサの概略ブロック図である。
【図２７】図６の正規化減算器の概略ブロック図である。
【図２８】図６の比較器の概略ブロック図である。
【図２９】図６のパスメトリックメモリの概略ブロック図である。
【図３０】順アドレスプロセッサの概略ブロック図である。
【図３１】図６の比較器（ＡＣＳレベル）の概略ブロック図である。
【図３２】図６の入力シンボル履歴の概略ブロック図である。
【図３３】図６の対数尤度比プロセッサの概略ブロック図である。
【図３４】複数の復号器を用いて１つのターボ復号器を実現する例を示す図である。
【図３５】まとめて単一の復号器として動作する２個の相互接続された復号器（サイクルあたり１６状態トレリス）の概略ブロック図である。
【図３６】さらに復号性能を高めるために、まとめて単一の復号器として動作する４個の相互接続された復号器（サイクルあたり３２状態トレリス）の概略ブロック図である。
【図３７】非組織符号器の概略ブロック図である。
【符号の説明】
１００  ワイヤレス通信ネットワーク
１１０  ＵＭＴＳ基地局
１１２  送受信器
１２２  送受信器
１３０  リモートＣＤＭＡ基地局
１３２  ＣＤＭＡ送受信器
１４０  リモート基地局
１４２  送受信器
１４４  送受信器
１４６  ＵＭＴＳ送受信器
１５０ａ〜１５０ｍ  復号器モジュール（復号器ユニット）
１６０  交換ネットワーク
１６０ａ〜１６０ｆ  移動ハンドセット
２００  通信システム
２０５  情報源
２１０  送信器
２２０  符号器
２３０  変調器
２４０  通信チャネル
２５０  復調器
２６０  復号器
２６１  第１入力
２６２  第２入力
２６３  デマルチプレクサ
２６４  デマルチプレクサ２６３の第１出力
２６５  デマルチプレクサ２６３の第２出力
２６６  第１復号器
２６７  第１復号器２６６の出力
２６８  インタリーバ
２６９  インタリーバ２６８の出力
２７０  受信器
２７１  第２復号器
２７２  第２復号器２７１の第１出力
２７３  第２復号器２７１の第２出力
２７４  第１デインタリーバ
２７５  受信情報信号
２７６  第２デインタリーバ
２７７  再帰入力
２７８  スライサ
２８０  ノイズ源
２８９  枝メトリック計算器（ＢＭＣ）ユニット
２９０  状態コントローラ
２９１  加算比較選択（ＡＣＳ）ユニット
２９２  パスメトリックメモリ
２９３  トレースバックメモリ・コントローラ
２９４  ボロー出力
３２０  加算比較選択ユニット（ＡＣＳ）
３３０  中間枝メトリック計算器（ＢＭＣ）
３６１′  全減算器４１４′のボロー
４０２，４０２′  枝メトリック１
４０６，４０６′  枝メトリック０
４０８，４０９  マルチプレクサ
４０８′  マルチプレクサ４１６′の出力
４１０，４１０′  加算器
４１１  加算器４１０の出力
４１２，４１２′  加算器
４１３  加算器４１２の出力
４１４，４１４′  全減算器
４１５  全減算器４１４の第２出力
４１６′，４１７′  マルチプレクサ
４１８′  マルチプレクサ４１７′の出力
４２０  第１の２対１マルチプレクサ
４２０′  マルチプレクサ
４２１  第１マルチプレクサ４２０の出力
４４０，４４０′  対数和補正テーブル
４４１  対数和補正テーブル４４０の出力
４５０  第２の２対１マルチプレクサ
４６０，４６０′  加算器
４６１  加算器４６０からの結果
４７０，４７０′  累算レジスタ
４７２  マルチプレクサ４８０への出力
４７５′  マルチプレクサ
４８０  マルチプレクサ
４８０ａ〜４８０ｈ  ＡＣＳユニット１４１２ａ〜１４１２ｈの第２出力
９００  統合復号器構造
９０１  マルチビット入力シンボル
９１０  中間復号結果メモリ
９２０  バタフライ復号プロセッサバンク
９４０  第１ストアバンク
９５０  第２ストアバンク
９６０  制御ユニット
９６１，９６３，９６５，９６７  第２出力
９６２，９６４，９６６，９６８  第１出力
９９０  バス
９９９  復号出力
１０００  ３２状態生トレリスダイヤグラム
１００２  時刻Ｓｔにおける状態
１００３  時刻Ｓｔにおける状態０
１００４  時刻Ｓｔ＋１における状態
１００６  枝メトリック
１００７  時刻Ｓｔ＋１における状態１６
１００８  枝メトリック
１００９  時刻Ｓｔ＋１における状態０
１０１０  バタフライ接続
１１０２  上側メモリブロックＢ０に対応するメモリ
１１０４  下側メモリブロックＢ１に対応するメモリ
１１１２  新パスメトリック
１１１４  保持レジスタ
１１２２，１１３４  新パスメトリック
１１５０  パスメトリックコラムのアドレシング順序
１２００  統合復号器
１２０１  レート
１２０２  拘束長
１２０３  畳込み・ターボセレクタ
１２０３０  対数尤度０イネーブル
１２０３１  対数尤度１イネーブル
１２０４  多項式
１２０５  トレリス方向
１２０６  反復数
１２０７  ブロック長
１２０８  クロック
１２０９  リセット
１２１０  制御ユニット
１２１１  入力シンボル履歴バンクセレクト
１２１２  中間復号モード
１２１３  ハード・ソフト出力セレクト
１２１４  対数尤度イネーブル
１２１４ａ，１２１４ｂ  対数尤度モード
１２１５  バタフライリセット
１２１６  バタフライレート
１２１７  バタフライクロック
１２１８  バタフライ多項式
１２１９  入力シンボル履歴アドレス
１２２０  バタフライ拘束
１２２１  バタフライモード
１２２２，１２２２ａ，１２２２ｂ  逆トレリスセレクト
１２２３  入力シンボル履歴クロック
１２２４，１２２４ａ，１２２４ｂ  逆トレリスホールド
１２２５  入力シンボル履歴リセット
１２２６，１２２６ａ，１２２６ｂ  逆トレリス透過ビット
１２２８ａ  アドレシング情報ＡＤＤＲ０
１２２８ｂ  アドレシング情報ＡＤＤＲ１
１２３０  パスメトリックリセット
１２３１  パスメトリックリード／ライトクロック
１２３２  順トレリスセレクト
１２３４  順トレリスホールド
１２３５  ベータフェーズイネーブル
１２３６  順トレリス透過ビット
１２３７  中間復号方向
１２３８  パスメトリック入力マルチプレクサセレクト
１２４０  中間復号メモリ・プロセッサ
１２４２  外部情報
１２４３  拡散入力
１２４５ａ  対数尤度プロセッサ１２５０ａの第１出力
１２４５ｂ  対数尤度プロセッサ１２５０ｂの出力
１２４６  正規化出力
１２４７，１２４７′  比較器
１２４８ａ，１２４８ｂ  対数尤度レート
１２４９ａ，１２４９ｂ  対数尤度拘束
１２５０ａ，１２５０ａ′，１２５０ｂ  対数尤度プロセッサ
１２５０ｃ  マルチプレクサバンク
１２５１ａ，１２５１ｂ  対数尤度クロック
１２５２ａ，１２５２ｂ  対数尤度リセット
１２５３ａ，１２５３ｂ  対数尤度多項式
１２５４  クロッキング信号
１２５５  判定ビット
１２５５ａ  ＡＣＳ０（３２０）の第１出力（全減算器４１４のボロー出力）
１２５６  インタリーバ外部情報
１２５７  リード／ライトクロック
１２５８，１２５８ａ，１２５８ｂ  セレクト信号
１２５９  リセット信号
１２６０  バタフライ復号プロセッサ
１２６５  逆トレリスパスメトリック
１２６５ａ  入力パスメトリック０
１２６５ｂ  入力パスメトリック１
１２６６  下側新パスメトリックバス
１２６７  上側新パスメトリックバス
１２６７ａ  ＡＣＳ０（３２０）の第２出力
１２７０，１２７０ｂ  逆アドレスプロセッサ
１２７５，１２７５ａ〜１２７５ｈ  正規化パスメトリック
１２７６  記憶パスメトリック
１２７７  正規化減算器１２７８への出力
１２７８  正規化減算器
１２７８ａ  マルチプレクサバンク
１２７８ｂ  制御信号
１２８０  パスメトリックストア
１２８５  順トレリスパスメトリック
１２８６  スクランブルアドレスデータ
１２９０  順アドレスプロセッサ
１２９１ａ  入力シンボル履歴１２９８の第１出力
１２９１ｂ  入力シンボル履歴１２９８の第２出力
１２９３  対数尤度比プロセッサ１２９７からの出力
１２９４  復号出力
１２９５  下側パスメトリックバス
１２９５ａ〜１２９５ｄ  パスメトリック
１２９６  上側パスメトリックバス
１２９６ａ〜１２９６ｄ  パスメトリック
１２９７  対数尤度比プロセッサ
１２９７ｂ  リード／ライト信号
１２９８  入力シンボル履歴
１２９９  入力シンボル
１４１０  バタフライユニットバンク
１４１２ａ〜１４１２ｈ  ＡＣＳユニット
１４１３ａ〜１４１３ｈ  ＡＣＳユニット１４１２ａ〜１４１２ｈの第１出力
１４１４ａ〜１４１４ｄ  ＢＭＣユニット
１４１５ａ〜１４１５ｈ  逆トレリスパスメトリック
１４１６ａ〜１４１６ｈ  第２バンクのマルチプレクサ
１４１７ａ〜１４１７ｈ  第１バンクのマルチプレクサ
１４２０ａ〜１４２０ｄ，１４３０ａ，１４３０ｂ，１４４０ａ  ＡＣＳノードユニット
１４２０ａ′〜１４２０ｄ′，１４３０ａ′，１４３０ｂ′，１４４０′  ＡＣＳノードユニット
１４２０ａ″〜１４２０ｄ″，１４３０ａ″，１４３０ｂ″，１４４０″  ＡＣＳノードユニット
１４５０  減算器
１４６０  レジスタ
１４７０ａ〜１４７０ｈ  正規化減算器
１４７４  比較器
１４７６  マルチプレクサ
１４７８  対数和補正テーブル
１４８０  加算器
１４９０  マルチプレクサ
１５１０  トレースバックアドレスコントローラ（トレースバックプロセッサ）
１５１５  結合リード／ライト信号
１５２０  インタリーバコントローラ
１５２５  アドレスバス
１５２６  双方向データバス
１５３０  ウィンドウメモリサブシステム
１５３０ａ  ウィンドウアドレスデコーダ
１５３０ｂ〜１５３０ｄ  ウィンドウメモリ
１５３５  第２のアドレスバス
１５３６  第２のデータバス
１５５０  第１マルチプレクサ
１５５５  判定レジスタ
１５５８  ビットセレクト
１５６０  アドレス変換ユニット
１５６２  状態レジスタ
１５６４  前状態ユニット
１５６６  第２マルチプレクサ
１５６７  トレースバックプロセッサ出力
１５６８  第１ＡＮＤゲート
１５６９  第２ＡＮＤゲート
１５７０  ＮＯＴゲート
１５８０  ＡＮＤゲート
１５８２  トライステートバッファ
１５８３  第２トライステートバッファ
１５８４  第１論理ブロック
１５８６  第２論理ブロック
１５９０  ウィンドウカウント
１５９１  ビットカウント
１５９２  第１加算器
１５９３  第２加算器
１５９４  第３加算器
１５９６  マルチプレクサ
１５９７  スクランブル
１５９９  定数
１６１０ａ〜１６１０ｈ  減算器
１７１０ａ〜１７１０ｈ  最大値比較器
１７１５  最大パスメトリック
１７２０  レジスタ
１７３０  減算器
１７３５  ロード信号
１８１０ａ〜１８１０ｈ  メモリユニット
１９１０ａ１〜１９１０ｈ１  第３バンクのマルチプレクサ
１９１０ａ２〜１９１０ｄ２  ラッチ
１９１０ａ３〜１９１０ｄ３  第１バンクのマルチプレクサ
１９１５ａ〜１９１５ｄ  第２バンクのマルチプレクサ
１９２０ａ〜１９２０ｄ  第１バンクのＸＯＲゲート
２０１０ａ〜２０１０ｄ  マルチプレクサ
２０１５ａ〜２０１５ｄ  保持レジスタ
２０２０  マルチプレクサバンク
２０３０  第２マルチプレクサバンク
２１００，２１１０  マルチプレクサ
２２１０  ウィンドウデコーダ
２２１２  カウンタ
２２１４  デマルチプレクサ
２２１６  二重バッファメモリバンク０
２２１８  二重バッファメモリバンク１
２２２０  第１マルチプレクサ
２２２２  第２マルチプレクサ
２２２６  入力データ
２２４０  １対ｎデマルチプレクサ
２２４２  第１のｍ対１マルチプレクサ
２２４４  第２のｍ対１マルチプレクサ
２３１０  減算器
２３２０  第２減算器
２３３０  第１マルチプレクサ
２３４０  第２マルチプレクサ
３０１０  保持レジスタ
３２００  符号器
３２１０  Ｍビットシフトレジスタ
３２１５  RSC_ENABLE
３２２０  入力ビット
３２２５  符号語
３２３０  Ｍビット非組織符号器
３２４０  多項式
３２５０  状態ビット
３２６０  ＡＮＤゲート
３２７０，３２７５  ＸＯＲゲート
３２８０  遷移入力
３２８５  クロック信号
３２９０  リセット信号
【図１】
0004907802.tif 000004
【図２】
0004907802.tif 000005
【図３】
0004907802.tif 000006
【図４】
0004907802.tif 000007
【図５】
0004907802.tif 000008
【図６】
0004907802.tif 000009
【図７】
0004907802.tif 000010
【図８】
0004907802.tif 000011
【図９】
0004907802.tif 000012
【図１０】
0004907802.tif 000013
【図１１】
0004907802.tif 000014
【図１２】
0004907802.tif 000015
【図１３】
0004907802.tif 000016
【図１４】
0004907802.tif 000017
【図１５】
0004907802.tif 000018
【図１６】
0004907802.tif 000019
【図１７】
0004907802.tif 000020
【図１８】
0004907802.tif 000021
【図１９】
0004907802.tif 000022
【図２０】
0004907802.tif 000023
【図２１】
0004907802.tif 000024
【図２２】
0004907802.tif 000025
【図２３】
0004907802.tif 000026
【図２４】
0004907802.tif 000027
【図２５】
0004907802.tif 000028
【図２６】
0004907802.tif 000029
【図２７】
0004907802.tif 000030
【図２８】
0004907802.tif 000031
【図２９】
0004907802.tif 000032
【図３０】
0004907802.tif 000033
【図３１】
0004907802.tif 000034
【図３２】
0004907802.tif 000035
【図３３】
0004907802.tif 000036
【図３４】
0004907802.tif 000037
【図３５】
0004907802.tif 000038
【図３６】
0004907802.tif 000039
【図３７】
0004907802.tif 000040