(57)【特許請求の範囲】
【請求項１】
ターボ復号器外因値計算ブロックであって：
各々予め定められた数のビットを有する複数のアルファメトリック入力と；
前記複数のアルファメトリック入力を受け取り、いずれかのアルファメトリック入力の２の補数形式が２の補数の正数であるか最大負象限内の２の補数の負数のいずれかを示す、アルファ円周境界横断信号を生成する、アルファ円周境界検出器と；
各々が前記アルファ円周境界横断信号と、対応するアルファメトリック入力の最上位ビットとを受け取り、前記アルファ円周境界横断信号と前記アルファメトリック入力の前記最上位ビットとに依存して、２ビット精度拡張を生成する、複数のアルファメトリック精度拡張ブロックと；
各々予め定められた数のビットを有する複数のベータメトリック入力と；
前記複数のベータ度入力を受け取り、いずれかのベータメトリック入力の２の補数形式が２の補数の正数であるか最大負象限内の２の補数の負数のいずれかを示す、ベータ円周境界横断信号を生成する、ベータ円周境界検出器と；
各々が前記ベータ円周境界横断信号と、対応するベータメトリック入力の最上位ビットとを受け取り、前記ベータ円周境界横断信号と前記ベータメトリック入力の前記最上位ビットとに依存して、２ビット精度拡張を生成する、複数のベータメトリック精度拡張ブロックと；
前記アルファメトリック入力を前記対応するアルファ精度拡張ブロックで拡張された精度で受け取り、前記ベータメトリック入力を前記対応するベータ精度拡張ブロックで拡張された精度で受け取り、前記予め定められたビット数よりも２ビット以上を有する２の補数上で演算するように構築された加算器を含む、外因値ブロックとを有する、前記ターボ復号器外因値計算ブロック。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明の技術分野はターボ復号器を用いた前方誤り訂正である。
【０００２】
【従来の技術】
ターボ符号は強力な能力を具備した前方誤り訂正符号の一型式である。これらの符号は多くの応用分野、例えば無線電話機、無線基地局、ハードディスク・ドライブ、無線ローカル・エリア・ネットワーク（ＬＡＮ）、衛星およびディジタル・テレビ等で広く使用されるようになってきている。
【０００３】
ターボ符号化は畳み込み符号を連鎖させることにより実現される。図１Ａは従来技術による情報率１／３並列連鎖ターボ符号器の１例を図示する。情報率１／３という表現法は図１Ａの構成を指しており、此処で単一入力ビット・ストリームｘkが符号器によって３成分ビット・ストリームに変換されている。入力データ・ストリーム１００は修正変更されずにマルチプレクサ入力１０６に通される。２つのリカーシブ系統的畳み込み（ｒｅｃｕｒｓｉｖｅ  ｓｙｓｔｅｍａｔｉｃ  ｃｏｎｖｏｌｕｔｉｏｎａｌ：ＲＳＣ）符号器１０２および１０３は並列してそれらの入力をビット・ストリームに変換するように機能する。ＲＳＣ符号器１０２で変換された後に生じるビット・ストリームはマルチプレクサ入力１０７を形成し、ＲＳＣ符号器１０３で変換された後のビット・ストリームはマルチプレクサ入力１０８を形成する。ブロック１０１はインタリーバ（Ｉ）であり、これは情報ビットをランダムに再配列して復号器へのノイズの相関を無くする。ＲＳＣ符号器１０２はｐ１kビット・ストリームを生成し、ＲＳＣ符号器１０３はｐ２kビット・ストリームを生成する。ターボ制御装置機能の制御に従って、マルチプレクサ１０４は個別のビット・ストリーム、ｘk１０６、ｐ１k１０７、ｐ２k１０８を出力ビット・ストリームｘk／ｐ１k／ｐ２k１１１に再集合する。
【０００４】
図１Ｂはブロック１０２または１０３の一部であるＲＳＣ符号器機能の一例を図示する。入力データ・ストリーム１２０は修正変更されることなく通過し、出力ｘ0１３１となる。ＲＳＣ符号器で変換された後、結果として生じたビット・ストリーム１３１，１３２および１３３は先に述べた組み合わせで、図１Ａのマルチプレクサ入力１０７および１０８を形成する。詳細な組み合わせは、実施されるターボ符号器のクラス、例えば１／２，１／３または１／４により決定される。図１Ｂの回路の動作は図４に図示されている対応するトレリス線図で表され、後ほど説明する。
【０００５】
図１Ａの送信出力ビット・ストリーム１１１はノイズの多い環境を通して送信される際に壊される可能性がある。受信端での復号器の機能は、元のビットストリームを再構築することであり、複数パスをトレースしたりまたはターボ・トレリス機能を通して反復演算することにより行われる。
【０００６】
図２は従来技術によるターボ復号器の機能ブロック図を図示する。図２のループを通る単一パスはターボ復号器を通る１つの反復演算である。この反復復号器は２つの最大帰納（ＭＡＰ：ｍａｘｉｍｕｍ−ａ−ｐｏｓｔｅｒｉｏｒｉ）ブロック２０２および２０３から、軟判定を生成する。各々の反復ＭＡＰブロック２０２は外因情報Ｗ0.k２０６を生成し、ＭＡＰブロック２０３は外因情報Ｗ1.k２０７を生成する。第１ＭＡＰブロック２０２は非インターリーブ処理データｘk２００およびデータｐ１k２０１を入力として受け取る。第２ＭＡＰ復号器２０３はデータｐ２k２１１およびインタリーブ処理されたｘkデータ２１０をインタリーバ・ブロック２０８から受け取る。
【０００７】
図３は従来技術によるＭＡＰブロックの機能ブロック図を図示する。図３のＭＡＰブロックは図２に図示されたものと同様に機能する回路を含む。ＭＡＰブロックは３つのベクトル：ベータ状態メトリック、アルファ状態メトリックおよび外部因子、を計算する。アルファ・ブロック３０２およびベータ・ブロック３０３は共に状態メトリックを計算する。関数ガンマを次のように定義するのが便利である：
【０００８】
【数１】
0003974008.tif 000002
此処で：Ｘkはシステム的データ；Ｐkはパリティー・データ；そしてＷkは外因的データである。
【０００９】
アルファ状態メトリックブロック３０２への入力３００およびベータ状態メトリックブロック３０２への入力３０１は帰納的入力と呼ばれる。ベータ状態メトリックはベータ状態メトリックブロック３０３で生成される。これらのベータメトリックは逆順に生成され、ベータ状態ランダム・アクセス・メモリ（ＲＡＭ）３０４の中に格納される。次にアルファ状態メトリックがアルファ状態メトリックブロック３０２で生成される。アルファ状態メトリックは格納されないが、それは生成されると直ちに外因値ブロック３０５がこのデータを使用するからである。ベータ状態メトリックは、アルファ状態メトリックが生成されると同時に、ベータＲＡＭ３０４から正順に読み出される。外因値ブロック３０５はアルファおよびベータ状態メトリックの両方を正順に使用して外因値Ｗn,j３０６を生成する。
【００１０】
ＭＡＰアルゴリズムに関する変数は、通常確率の自然対数で表現される。これは大規模集積回路（ＶＬＳＩ）で簡単に実現することを可能とする。アルファおよびベータ状態メトリックに関する再帰式は以下の通りである：
【００１１】
【数２】
0003974008.tif 000003
【００１２】
【数３】
0003974008.tif 000004
此処で：ｓはトレリス内の状態の組；そしてΓkは先の式［１］で述べた通りである。
【００１３】
図４は８状態、状態復号器に対するトレリス線図を示す。トレリス上での指定された状態、例えば参照番号４０１および４０２で示された状態７に関して、指定状態に対する確率式を次の形式で記述することが可能である：
【００１４】
【数４】
0003974008.tif 000005
【００１５】
【数５】
0003974008.tif 000006
これらの式は次の形式と言える：
【００１６】
【数６】
0003974008.tif 000007
此処で：ＡおよびＢは式［２］および［３］で与えられるアルファおよびベータ状態メトリックである。式６は「マックス・スター」式と呼ばれ、確率式を簡略化したものである。関数Ｐは更に次のように表現される：
【００１７】
【数７】
0003974008.tif 000008
そしてｆ（−｜Ａ−Ｂ｜）の範囲は０からｌｎ（２）である。
【００１８】
ターボ復号器処理は、低ビット誤り率（ＢＥＲ：ｂｉｔ−ｅｒｒｏｒ  ｒａｔｉｏ）解が得られるまで複数サイクルの反復処理を必要とする。処理開始時点でのトレリスの状態は既知であるので、トレリス内の全ての状態の発生確率は一定の定数に初期化される。トレリスを通る各々のパスに対して、指定された状態の発生確率は元の送信データへの収束が進むに従って増加または減少する。トレリスを通して多くの回数処理した後、元の送信データに対応する状態の組が優勢となり、状態メトリックは信頼性の高いものとなる。
【００１９】
図４は８状態、状態復号器に対するトレリス線図を図示し、各々の考えられる状態Ｓk,x＝ＡＢＣからの、可能性のある状態遷移を表している。例えば状態Ｓk,4、ではＡＢＣ＝００１である。これらの状態は図１Ｂでは、それぞれ３つのレジスタＡ  １２１，Ｂ  １２２およびＣ  １２３の状態で表現される。復号器の中で、アルファ状態メトリックを生成するにはこのトレリスを通してデータを前方方向（ｆｏｒｗａｒｄ  ｄｉｒｅｃｔｉｏｎ）に処理する必要があり、ベータ状態メトリックを生成するにはこのトレリスを通してデータを逆方向に処理する必要がある。前方横断（ｆｏｒｗａｒｄ  ｔｒａｖｅｒｓａｌ）を行うためのトレリス内の初期状態はＳk,xとラベル付けされており、次の状態はＳk+1,xとラベル付けされている。逆に、逆方向横断を行うためのトレリス内の初期状態はＳk+1,xとラベル付けされており、次の状態はＳk,xとラベル付けされている。図４の４０３および４０４の表記Ｘ／ＤＥＦは入力Ｘk、図１Ｂの１２０、で挿入される次のビット「Ｙ」、続いてスラッシュ記号、続いてそれぞれ図１Ｂのノード１３１，１３２，１３３で生成される次の３ビットＤ，ＥおよびＦである。
【００２０】
図５は４段ベータ状態メトリックアーキテクチャをＶＬＳＩで実現した従来技術の例を図示する。第１段は加算器ツリー５０１で、これはＸ，Ｐ，Ｗと復号器のトレリスに依存してベータ状態メトリックとを加算する。アルファ・ブロックの実現方法は、図５のベータ・ブロックと同様であり、加算ツリー内の演算子の組み合わせのみが異なる。第２段５０２から５０９は「マックス・スター・ブロック」として知られる、全部でＳ個のブロックを構築する。
【００２１】
トレリス上で指定された状態、図４に既に示されているように、例えば状態７に対して、次の形式で確率式を記述することが出来る：
【００２２】
【数８】
0003974008.tif 000009
【００２３】
【数９】
0003974008.tif 000010
これらの式は、次の形式と言える：
【００２４】
【数１０】
0003974008.tif 000011
マックス・スター式は確率式を簡略化したものである。
【００２５】
アルファ及びベータメトリックブロック両者の第３段５１１は、どのＳ状態メトリックが最大または等価であるかを判定し、どのＳ状態が最大の発生確率を有するかを判定する。第４段５１２は最大メトリックを、各々のＳ状態計算値から減算する。第３および第４段は正規化段である。
【００２６】
各々の指定された時刻ｋに対して対応するＳ状態メトリックの組が存在する。最も高い値を具備した状態メトリックが、時刻ｋに於いてトレリス内で最も可能性の高い状態である。正規化の効果は固定小数点の精度を制限し、固定小数点のオーバーフローを防止することである。此処で説明されている正規化は、この最も可能性の高い状態に状態値０を割り当て、その他の状態の状態値には負の値を割り当てる。
【００２７】
図６は従来技術による外因アーキテクチャのブロック図を図示する。第１段６０１は別の加算器ツリーであり、これはベータ状態メトリック、アルファ状態メトリックおよびパリティーを加算する。別の外因段は２部分マックス・スター・ツリーを含む。第１部分、マックス・スター・ブロック６０２から６０５は、ブロック６０２から６０３で表されるツリーの上半部内の「１」の対数確率を計算し、ブロック６０４から６０５で表されるツリーの下半部内の「０」の対数確率を計算する。マックス・スター・ブロックの第２部分はブロック６０６および６０７を含む。最終段はマックス・スター・ブロック６０８および６０９を含み、そして加算器６１０は２つの対数確率を減算して外因値Ｗkを生成する。
【００２８】
加算器ツリー６０１はマックス・スター・ツリー用に２Ｓ個の演算子を生成する。状態メトリックおよびパリティーのビット精度が、例えばｘのように同一数のビットを有する場合、３つの合計は各々の演算子に対してｘ＋２ビット必要になるはずである。各々の加算演算の結果は追加１ビットの精度を必要とすることに注意されたい。
【００２９】
【発明が解決しようとする課題】
従来型ターボ復号器の実施例では、２の補数表現と外因値の計算で使用される量に対する正規化を必要とする。これは性能損失、特に待ち時間の追加を、必要な正規化およびこれらの外因値の計算を実行する機能ブロックの中にもたらす。本発明はターボ復号器の外因値ブロック内正規化のユニークな実現方法を提供し、これは正規化に伴う困難さを解決し、またアルファおよびベータメトリックブロック内で精度向上を行い、これを使用することを提供する。この実施方法は以前の方法に比較して性能を改善し、追加ゲートを使用することなくまたアルファメトリックおよびベータメトリックブロック内の正規化の結果生じる待ち時間が増すことも無く行われる。使用された正規化は、アルファメトリックおよびベータメトリックブロック内の正規化を不要とする。
【００３０】
【課題を解決するための手段】
本発明のこれらおよびその他の特徴は添付図に図示されている。
【００３１】
２の補数正規化技術はビタビおよびターボ復号器の設計者により提案されてきている。ターボ復号器の場合、正規化はアルファおよびベータブロックのみに適用され、外因値ブロックには適用されていない。本発明の技術は２の補数を使用した数値による状態メトリックの表現に関し、この数値はまた符号付き固定小数点数とも呼ばれる。例えば、信号の精度が８ビットの場合；その数は−１２８から１２７の範囲となる。この処理の剰余に対して、８ビット精度が想定される。２の補数表現を使用することにより、正規化段をベータおよびアルファ状態メトリックブロック、図５内のそれぞれ５１１および５１２から取り除くことが可能となる。
【００３２】
この簡略化によりそれらのブロックをたった２つの段で構築することが可能となる。これはゲートと待ち時間の両方を節約する。状態メトリック値は、トレリスを反復する毎に成長するはずである。数が特定のビット数で表現される最大の正の値を超えると、変数が更に増加するとその数は最大の負の数と重なる。
【００３３】
例えば、１２７に２を加算するとオーバーフローして−１２７となる：
0003974008.tif 000012
【００３４】
図７は８ビット符号付き整数を円周で表現しており、この中で正のオーバーフローは円周の負部分に重なっている。この技術は各Ｓ状態の値が各反復操作毎に半円の中に存在する場合に成り立つ。Ｓ状態に対する値が隣接する２つの４分の１円より多くに存在する場合、固定小数点オーバーフローを判別することは不可能であろう。この状況はこれらの信号に対して十分なビットが存在しない場合に生じうる。従って、トレリスの各反復に対して十分なビットが利用可能でなければならず、Ｓ状態メトリックが４分の１円より増えることが出来ないようにしなければならない。
【００３５】
この技術はベータおよびアルファ状態メトリック計算の両方に適用される。次に外因値計算を考える。従来の設計では外因値計算を２の補数表現を用いては行っていないが、それはこの計算が簡単では無いためである。
【００３６】
外因値式の一般形式は次のようになる：
【００３７】
【数１１】
0003974008.tif 000013
【００３８】
外因値ブロックに対する加算器ツリーはベータ、アルファおよびガンマ（パリティー）信号を互いに加算する。外因値ブロックへ入力される、ベータおよびアルファ状態メトリックデータは図７の円周上の何処かに分布する。数を加算することは、それらの数が１２７／−１２８境界にまたがっている場合簡単ではない。
【００３９】
例えばΓk＝−２かつ、
Ak,s= {130,128,125,120,121,122,124,124 }
[max(Ak,s) = 130 , state = 0] かつ
Bk+1,s= {124,131,124,124,124,124,124,124 }
[max(Bk+1,s) = 131 , state = 1]
の場合を考える。
【００４０】
２の補数であることと、重なりが生じることのために、これらは次のように表現される：
Ak,s= {-126,-128,125,120,121,122,124,124 }  そして
Bk+1,s= {124,-125,124,124,124,124,124,124 }
または完全精度表現では：
ln[Prob[1]] = ln[e[130+131-2]+e[128+124-2]+e[124+124-2]+...]
そして２の補数表現では：
ln[Prob[1]] = ln[e[-126+131-2]+e[-128+124-2]+e[124+124-2]+...]
となる。
【００４１】
最初の３演算子を互いに加算した結果は２５９，２５０，２４６，．．．となり、この中で２５９が最大（正しい答え）であり、２の補数表現では−２５３，−６，２４７，．．．であり、この中で−２５３は最大ではない（間違った答え）。
【００４２】
図８Ａ−Ｇは問題をグラフ的に示しており、この中で２の補数状態メトリック数は外因値ブロックに直接与えられる。各グラフのｘ軸はサイズ１０２４の復号されたブロック内の点ｋでのデータを表している。最初の２つのグラフ、８０１および８０２は、それぞれ第１ＭＡＰ復号後のアルファおよびベータ状態メトリックである。グラフの第２番目の対、８０３および８０４は、それぞれ第２ＭＡＰ復号後のアルファおよびベータ状態メトリックである。第５番目のグラフ８０５は、元データブロック内のエラーを示す。第６番目のグラフ８０６は、ターボ復号器反復が１回完了した後のブロック内のエラーを示す。第７番目のグラフ８０７は第１反復により導入された新たなエラーを示す。新たなエラーのいくつかはアルファおよびベータ状態メトリックがオーバーフローした点の近くに並んでいることに注意されたい。これは外因値生成に対して２の補数方式を適用することは新たなエラーを生じるという結論に達し、これは明らかに好ましいことではない。
【００４３】
ベータおよびアルファ数が円の１２７／−１２８境界を横切る問題を解決するための明示的な解決方法は次の通りである：
【００４４】
１．全てのメトリックをチェックして正数が有るか否かを判定する。全てのアルファ状態メトリックに対して最上位ビット（ＭＳＢ）をチェックし、正数発見信号９００を生成する。図９はＮＡＮＤゲート９０１を図示しており、これはこの正数発見信号９００をＳアルファ信号の最上位ビット［７］、アルファ［０］［７］からアルファ［Ｓ−１］［７］から生成する。アルファ状態メトリックの１つの最上位ビット（ビット７）のいずれかに０があると、ＮＡＮＤゲート９０１に１正数発見信号９００を生成させる。
【００４５】
２．全てのメトリックをチェックして図７の円周の最も負側の４分の１象限に存在しているものが有るか否かを判定し、大きな負数信号１０００を生成する。このチェックはＳアルファ信号の最上位２ビットをチェックして行われる。最上位ビットが１で次の上位ビットが０の場合、その信号は大きな負の数である。図１０は大きな負数信号１０００を、アルファ［０］［７］／アルファ［０］［６］からアルファ［Ｓ−１］［７］／アルファ［Ｓ−１］［６］のＳアルファ信号の最上位ビット［７］および次上位ビット［６］から生成するための回路を図示する。反転器１００１，１０１１．．．１０８１はそれぞれの次上位ビット、アルファ［０］［６］、アルファ［１］［６］．．．アルファ［Ｓ−１］［６］を反転する。ＮＡＮＤゲート１００２，１０１２．．．１０７２はそれぞれの最上位ビットアルファ［０］［７］、アルファ［１］［７］．．．アルファ［Ｓ−１］［７］が１で、対応する次上位ビットアルファ［０］［６］、アルファ［１］［６］．．．アルファ［Ｓ−１］［６］が０であるか否かを判定する。その場合、ＮＡＮＤゲート１００２，１０１２．．．．１０７２は０出力を生成する。ＮＡＮＤゲート１０８０はＮＡＮＤゲート１００２，１０１２．．．．１０７２のいずれかが０出力を生成しているかを判定し、信号が最大負４分の１象限にあることを示す。その場合、ＮＡＮＤゲート１０８０は１大きな負数信号発見１０００を生成する。
【００４６】
３．外因値加算ツリーはこれら３つの信号、Ａk，Ｂk+1およびΓを加算する。これらの演算子の精度が８ビットで、入力が大きな正数または大きな負数のいずれかを含む場合、オーバーフローおよび不正確な結果を回避するために１０ビットが必要である。図１１はこの機能を実施するための回路を図示する。ＡＮＤゲート１１０１は、正数発見信号９００および大きな負数発見信号１０００から、円周境界横断発見信号１１００を生成する。円周境界横断発見信号１１００が１の場合、アルファおよびベータ演算子は、精度拡張ブロック１１１０、１１２０から１１８０の中で精度拡張される。
【００４７】
表１は精度拡張ブロック１１１０，１１２０から１１８０に対する論理表を示す。この例の８ビットデータに対して、精度拡張ブロック１１１０，１１２０から１１８０の２ビット出力はデータのビット数９および８を表す。これら２つの追加最上位ビットは、対応する入力メトリックデータの８ビット（ビット数７から０）に添付される。従って外因値ブロック３０５はこの拡張精度データ上に作用する。正規化は外因値ブロック３０５に要求されないが、それは本発明がオーバーフローを回避するために高度な精度拡張を与えるからである。
【００４８】
【表１】
0003974008.tif 000014
表１は円周境界横断発見が０の場合、正常符号拡張が１０ビットであることを示す。円周境界横断発見が１の場合、代わりにデータはゼロで拡張される。これは外因値加算中に大きな正から大きな負の境界へ横切る際の全ての不都合な結果を取り消す。
【００４９】
図１１は表１を３つのゲートで実現する例を図示する。各拡張精度ブロック１１１０，１１２０から１１８０は対応するアルファ信号０から７の最上位ビット（ビット７）および円周境界横断発見信号１１００を受け取る。円周境界横断発見信号１１００は入力を反転器１１１１，１１２１から１１８１に供給する。反転器１１１１，１１２１から１１８１の出力は１つの入力を、それぞれのＮＡＮＤゲート１１１２，１１２２から１１８２へ供給する。ＮＡＮＤゲート１１１２，１１２１から１１８２の第２入力は、それぞれの最上位ビット信号、アルファ［０］［７］，アルファ［１］［７］からアルファ［Ｓ−１］［７］を受け取る。ＮＡＮＤゲート１１１２，１１２１から１１８２の出力は、それぞれの反転器１１１３，１１２３から１１８３の入力を供給する。反転器１１１３，１１２３から１１８３の出力は、それぞれの精度拡張信号をビット９および８のために供給する。この同一の回路がベータメトリックにも繰り返されていることに注意されたい。
【００５０】
全設計ではアルファ状態メトリックを拡張するために４３個のゲートを、そしてベータ状態メトリックを拡張するために４３個のゲートを必要とし、表２に示されるように全体で８６個のゲートを必要とする。この例では８ビットアルファメトリックデータと８ビットベータメトリックデータの８つの事象のブロックを想定していることに注意されたい。
【００５１】
【表２】
0003974008.tif 000015
【００５２】
図９に図示されている正数発見機能は唯一つのＮＡＮＤゲート９０１のみを必要とする。図１０に図示されている大きな負数発見機能は、反転器１００１，１０１１．．．１０７１およびＮＡＮＤゲート１００２，１０１２．．．１０７２をアルファ／ベータ・データの８事象の各々に、そして最終ＮＡＮＤゲート１０８０を必要とする。精度拡張機能は、単一ＡＮＤゲート１１０１および３ゲート精度拡張ブロックをアルファ／ベータ・データの８事象の各々に必要とする。
【００５３】
図１２は２つの技術を比較して、シミュレーションされたビット・エラー率（ＢＥＲ）とフレーム・エラー率（ＦＥＲ）対信号対雑音比（ＳＮＲ）のグラフを図示する。グラフはほとんど同じである。グラフ１２０１はシミュレーションされたフレーム・エラー率のグラフを示す。グラフ１２０２はシミュレーションされたビット・エラー率のグラフを示す。両ケースで従来技術による正規化段に対するデータは、本発明の修正変更された外因値ブロックを具備した２の補数表現に対するデータと事実上同じである。
【００５４】
本発明による技術はベータおよびアルファ状態メトリックブロッに対する正規化段を取り除く。これは正規化を実行するための待ち時間を無くし、また外因値ブロックを除いて正規化を実行するためのゲート数を削減する。本発明は外因値ブロックが２の補数表現で動作することを可能とする。本発明はたった８６個のゲートを外因値ブロックに追加するのみで、アルファおよびベータメトリックブロック内で従来型正規化と同じＢＥＲ性能を実現する。
【００５５】
以上の説明に関して更に以下の項を開示する。
（１）  ターボ復号器外因値計算ブロックであって：
各々予め定められた数のビットを有する複数のアルファメトリック入力と；
前記複数のアルファメトリック入力を受け取り、いずれかのアルファメトリック入力の２の補数形式が２の補数の正数であるか最大負象限内の２の補数の負数のいずれかを示す、アルファ円周境界横断信号を生成する、アルファ円周境界検出器と；
各々が前記アルファ円周境界横断信号と対応するアルファメトリック入力の最上位ビットとを受け取り、前記アルファ円周境界横断信号と前記アルファメトリック入力の前記最上位ビットとに依存して、２ビット精度拡張を生成する、複数のアルファメトリック精度拡張ブロックと；
各々予め定められた数のビットを有する複数のベータメトリック入力と；
前記複数のベータ度入力を受け取り、いずれかのベータメトリック入力の２の補数形式が２の補数の正数であるか最大負象限内の２の補数の負数のいずれかを示す、ベータ円周境界横断信号を生成する、ベータ円周境界検出器と；
各々が前記ベータ円周境界横断信号と対応するベータメトリック入力の最上位ビットとを受け取り、前記ベータ円周境界横断信号と前記ベータメトリック入力の前記最上位ビットとに依存して、２ビット精度拡張を生成する、複数のベータメトリック精度拡張ブロックと；
前記アルファメトリック入力を前記対応するアルファ精度拡張ブロックで拡張された精度で受け取り、前記ベータメトリック入力を前記対応するベータ精度拡張ブロックで拡張された精度で受け取り、前記予め定められたビット数よりも２ビット以上を有する２の補数上で演算するように構築された加算器を含む、外因値ブロックとを有する、前記ターボ復号器外因値計算ブロック。
【００５６】
（２）  第１項記載のターボ復号器外因値計算ブロックにおいて：
各々のアルファメトリック精度拡張ブロックが、前記２ビット精度拡張を前記対応するアルファメトリック入力に対して生成する際に
前記アルファ円周境界横断信号が、いずれかのアルファメトリック入力の前記２の補数形式が２の補数の正数でも最大負象限内の２の補数の負数のいずれでも無いことを示す場合に、２ビットを前記対応するアルファメトリック入力の前記最上位ビットに等しくし、
前記アルファ円周境界横断信号が、いずれかのアルファメトリック入力の前記２の補数形式が２の補数の正数であるか、または最大負象限内の２の補数の負数のいずれかであることを示す場合に、２ビットを００に等しくし；
各々のベータメトリック精度拡張ブロックが、前記２ビット精度拡張を前記対応するベータメトリック入力に対して生成する際に
前記ベータ円周境界横断信号が、いずれかのベータメトリック入力の前記２の補数形式が２の補数の正数でも最大負象限内の２の補数の負数のいずれでも無いことを示す場合に、２ビットを前記対応するベータメトリック入力の前記最上位ビットに等しくし、
前記ベータ円周境界横断信号が、いずれかのベータメトリック入力の前記２の補数形式が２の補数の正数であるか、または最大負象限内の２の補数の負数のいずれかであることを示す場合に、２ビットを００に等しくする、前記ターボ復号器外因値計算ブロック。
【００５７】
（３）  第２項記載のターボ復号器外因値計算ブロックにおいて：
各々の前記アルファメトリック精度拡張ブロックが、
前記アルファ円周境界横断信号を受け取る１入力と、１出力とを有するアルファ精度拡張第１反転器と、
前記アルファ精度拡張第１反転器の前記出力に接続された第１入力と、前記対応するアルファメトリック入力の前記最上位ビットを受け取る第２入力と、１つの出力とを有するアルファ精度拡張ＮＡＮＤゲートと、
前記アルファ精度拡張ＮＡＮＤゲートの前記出力に接続された１つの入力と、前記２ビット精度拡張を前記対応するアルファメトリック入力に供給する１つの出力とを有する、アルファ精度拡張第２反転器とを有し；
各々の前記ベータメトリック精度拡張ブロックが、
前記ベータ円周境界横断信号を受け取る１入力と、１出力とを有するベータ精度拡張第１反転器と、
前記ベータ精度拡張第１反転器の前記出力に接続された第１入力と、前記対応するベータメトリック入力の前記最上位ビットを受け取る第２入力と、１つの出力とを有するベータ精度拡張ＮＡＮＤゲートと、
前記ベータ精度拡張ＮＡＮＤゲートの前記出力に接続された１つの入力と、前記２ビット精度拡張を前記対応するベータメトリック入力に供給する１つの出力とを有する、ベータ精度拡張第２反転器とを有する、前記ターボ復号器外因値計算ブロック。
【００５８】
（４）  第１項記載のターボ復号器外因値計算ブロックにおいて：
前記アルファ円周境界検出器が、
前記複数のアルファメトリック入力の各々の最上位ビットを受け取り、前記アルファメトリック入力のいずれかの２の補数形式が正であるか否かを示す、アルファ正数発見信号を生成する、アルファ正数発見回路と、
前記複数のアルファメトリック入力の各々の２つの最上位ビットを受け取り、前記アルファメトリック入力のいずれかの２の補数形式が最大負象限内にあるか否かを示す、アルファ大きな負数発見信号を生成する、アルファ大きな負数発見回路と、
前記アルファ正数発見信号を受け取る第１入力と、前記アルファ大きな負数発見信号を受け取る第２入力と、前記アルファ円周境界横断信号を生成する１つの出力を有する、ＡＮＤゲートとを含み；
前記ベータ円周境界検出器が、
前記複数のベータメトリック入力の各々の最上位ビットを受け取り、前記ベータメトリック入力のいずれかの２の補数形式が正であるか否かを示す、ベータ正数発見信号を生成する、ベータ正数発見回路と、
前記複数のベータメトリック入力の各々の２つの最上位ビットを受け取り、前記ベータメトリック入力のいずれかの２の補数形式が最大負象限内にあるか否かを示す、ベータ大きな負数発見信号を生成する、ベータ大きな負数発見回路と、
前記ベータ正数発見信号を受け取る第１入力と、前記ベータ大きな負数発見信号を受け取る第２入力と、前記ベータ円周境界横断信号を生成する１つの出力を有する、ＡＮＤゲートとを含む、前記ターボ復号器外因値計算ブロック。
【００５９】
（５）  第４項記載のターボ復号器外因値計算ブロックにおいて：
前記アルファ正数発見回路が、各々が前記複数のアルファメトリック入力の１つの前記最上位ビットを受け取る複数の入力と、前記アルファ正数発見信号を生成する１つの出力とを有するＮＡＮＤゲートを含み；
前記ベータ正数発見回路が、各々が前記複数のベータメトリック入力の１つの前記最上位ビットを受け取る複数の入力と、前記ベータ正数発見信号を生成する１つの出力とを有するＮＡＮＤゲートを含む、前記ターボ復号器外因値計算ブロック。
【００６０】
（６）  第４項記載のターボ復号器外因値計算ブロックにおいて：
前記アルファ大きな負数発見回路が、
各々が前記複数のアルファメトリック入力の１つに対応する前記最上位ビットを受け取る第１入力と、第２入力および１つの出力とを有する、複数のアルファ入力ＮＡＮＤゲートと、
各々が前記複数のアルファメトリック入力の１つに対応する第２上位ビットを受け取る入力と、対応する前記複数のアルファ入力ＮＡＮＤゲートの前記第２入力に接続された１つの出力とを有する、複数の反転器と、
各々が前記アルファ入力ＮＡＮＤゲートの対応する１つの前記出力に接続された複数の入力と、前記アルファ大きな負数発見信号を生成する１つの出力とを有する、アルファ出力ＮＡＮＤゲートとを含み；
前記ベータ大きな負数発見回路が、
各々が前記複数のベータメトリック入力の１つに対応する前記最上位ビットを受け取る第１入力と、第２入力および１つの出力とを有する、複数のベータ入力ＮＡＮＤゲートと、
各々が前記複数のベータメトリック入力の１つに対応する第２上位ビットを受け取る入力と、対応する前記複数のベータ入力ＮＡＮＤゲートの前記第２入力に接続された１つの出力とを有する、複数の反転器と、
各々が前記ベータ入力ＮＡＮＤゲートの対応する１つの前記出力に接続された複数の入力と、前記ベータ大きな負数発見信号を生成する１つの出力とを有する、ベータ出力ＮＡＮＤゲートとを含む、前記ターボ復号器外因値計算ブロック。
【００６１】
（７）  ターボ復号器外因値計算ブロックは、予め定められたビット数よりも２ビット以上多く有する２の補数上で演算するように構築された加算器を含む。アルファ円周境界検出器は、いずれかのアルファメトリック入力の２の補数形式が、２の補数の正数（正数発見）または２の補数の最大負象限内の負数（大きな負数発見）のいずれかを示す、アルファ円周境界横断信号を生成する。複数のアルファメトリック精度拡張ブロックの各々（１１１０，１１２０，１１３０，１１４０，１１５０，１１６０，１１７０，１１８０）は、アルファ円周境界横断信号と対応するアルファメトリック入力（アルファ［Ｘ］［７］）の最上位ビットを受け取り、対応するアルファメトリック入力に対して２ビットの精度拡張（アルファ［Ｘ］［９］、アルファ［Ｘ］［８］）を生成する。同様のハードウェアがベータメトリックに対して動作する。外因値ブロックは精度拡張されたアルファおよびベータメトリック入力を受け取る。
【図面の簡単な説明】
【図１Ａ】図１Ａは従来技術によるターボ復号器機能のブロック図を図示する。
【図１Ｂ】図１Ｂはターボ復号器を実現する際に使用される、従来技術によるＲＳＣ復号器機能の回路図を図示する。
【図２】図２は従来技術によるＭＡＰ復号器の機能ブロック図を図示する。
【図３】図３は従来技術によるターボ復号器の機能ブロック図を図示する。
【図４】図４は従来技術による情報率１／３ターボ復号器用のトレリス線図を図示する。
【図５】図５は従来技術によるベータメトリックブロックの実現例を図示する。
【図６】図６は従来技術による外因値ブロックの実現例を図示する。
【図７】図７は８ビット符号付き整数の回路図表現を図示する。
【図８】Ａ−Ｇは外因値に２の補数表現を使用した結果のシミュレーションを図示する。
【図９】図９は「正数発見」ロジックの実現例を図示する。
【図１０】図１０は「大きな負数発見」ロジックの実現例を図示する。
【図１１】図１１は精度拡張ブロックの機能図を図示する。
【図１２】図１２は正規化と外因値修正変更を具備した２の補数とを比較したシミュレーション結果の性能を図示する。
【符号の説明】
９００  正数発見信号
１０００  大きな負数発見信号
１１０１  ＡＮＤゲート
１１１０，１１２０，１１８０  精度拡張ブロック
１１１１，１１１３，１１２１，１１２３，１１８１，１１８３  反転器
１１１２，１１２２，１１８２  ＮＡＮＤゲート
【図１Ａ】
0003974008.tif 000016
【図１Ｂ】
0003974008.tif 000017
【図２】
0003974008.tif 000018
【図３】
0003974008.tif 000019
【図４】
0003974008.tif 000020
【図５】
0003974008.tif 000021
【図６】
0003974008.tif 000022
【図７】
0003974008.tif 000023
【図８】
0003974008.tif 000024
【図９】
0003974008.tif 000025
【図１０】
0003974008.tif 000026
【図１１】
0003974008.tif 000027
【図１２】
0003974008.tif 000028