(57)【特許請求の範囲】
【請求項１】
入力符号化ブロックを、ターボ復号機中の複数のＭＡＰサブ復号機に対応する、複数のサブブロックに分割する工程と、
各サブブロックを複数の窓に分割する工程と、
各サブブロック内で窓間シャッフルをする工程と、
各窓を２つのサブ窓に分割する工程と、
各サブ窓でインターリーブ／インターリーブ解除をする工程と、
各サブ窓内でインターリーブ／インターリーブ解除された２つのデータのそれぞれを２ポートメモリの２つのポートを介して、それぞれ格納する工程と、
からなる並列のターボ復号機におけるインターリーブの方法。
【請求項２】
入力符号化ブロックを３つのサブブロックに分割する工程であって、各サブブロックはターボ復号機中の複数のＭＡＰサブ復号機に対応する請求項１に記載の方法。
【請求項３】
並列のターボ復号機はＡＳＩＣまたはＦＰＧＡ装置中で実施される請求項１に記載の方法。
【請求項４】
並列のターボ復号機におけるインターリーブ／インターリーブ解除、のシステムであって、
複数のサブ復号機からなる並列のターボ復号機と、
同並列のターボ復号機に動作可能に接続されたインターリーブ／インターリーブ解除機と、
同並列のターボ復号機と同インターリーブ／インターリーブ解除機との両方に動作可能に接続された複数のメモリバンクと、
からなるシステムであって、
入力符号化ブロックは前記並列のターボ復号機によって複数のサブブロックに分割され、各サブブロックは複数の窓に分割され、窓間シャッフルが行われ、各窓はサブ窓に分割され、各サブ窓内でインターリーブ／インターリーブ解除が行われ、前記並列のターボ復号機および前記インターリーブ／インターリーブ解除機は前記複数のメモリバンクと動作可能に接続されている、システム。
【請求項５】
前記入力符号化ブロックは３つのサブブロックに分割され、各サブブロックはターボ復号機中のＭＡＰサブ復号機に対応する請求項４に記載のシステム。
【請求項６】
前記並列のターボ復号機はＡＳＩＣまたはＦＰＧＡ装置中で実施される請求項４に記載のシステム。
【請求項７】
各サブ窓内での置換が２ポートメモリの２つのポートを介して行われる請求項６に記載の方法。
【請求項８】
前記入力符号化ブロックは、ターボ復号機中で使用される可変数のサブ復号機に対応して、可変数のサブブロックに分割される請求項４に記載のシステム。
【請求項９】
入力符号化ブロックを複数のサブブロックに分割する手段と、
各サブブロックを複数の窓に分割する手段と、
窓間シャッフルを実施する手段と、
各窓を２つのサブ窓に分割する手段と、
各サブ窓内でインターリーブ／インターリーブ解除、をする手段と、
各サブ窓内でインターリーブ／インターリーブ解除、された２つのデータのそれぞれを２ポートメモリの２つのポートを介して、それぞれ格納する工程と、
からなる、並列のターボ復号機におけるインターリーブのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速通信システムにおける誤り訂正符号化に関する。
【背景技術】
【０００２】
無線データ信号は、インタフェイスからのエラーに敏感な、不利な無線周波数（ＲＦ）で送信されることが多い。従って、そのようなインタフェイスによって引き起こされる信号エラーを克服するための多くの誤り訂正符号化法が報告されている。誤り訂正符号化法は、間違いの多い信号から最初のきれいな信号を再生できる。ターボ符号は、多くの第３世代無線通信標準中に含まれる、改良された無線誤り訂正符号化法である。
【０００３】
ターボ復号機は、情報を協調的に交換するソフトインプット、ソフトアウトプット（ＳＩＳＯ）動作を行い、雑音の多い通信チャネルによって受信された送信データを正確に推定する。この推定は確率として定義され、ＳＩＳＯ動作の間にインターリーブされ、またインターリーブが解除される。このインターリーブは、受信されたデータ記号の処理系列をランダム化して、間違いの多いデータの近傍を遮断する。
【０００４】
ターボ復号機のＳＩＳＯ動作は反復復号アルゴリズムを用いて行われるので、ターボ復号機の処理の複雑性を増加させる。データが到着してくるのと同じ周波数で入力データの流れを復号するには、ターボ復号機は到着してくるデータの周波数よりも、復号機が要求する反復の数に少なくとも等しい倍数だけ速い速度でデータを処理しなければならない。したがって、復号機のプロセッサの速度は、エンドユーザへの高品質サービス（ＱｏＳ）を保証するために非常に重要である。
【０００５】
処理速度を上げるために、ターボ復号機は通常、データの入力ブロックをサブブロックに分割する。このサブブロックが複数のサブ復号機を使用して平行処理される。各サブブロックは、ＳＩＳＯ動作を行うＬｏｇ  Ｍａｘｉｍｕｍ−Ａ−Ｐｏｓｔｅｒｉｏｒ（ＭＡＰ）アルゴリズムを実行する。Ｌｏｇ  ＭＡＰアルゴリズムの出力は、Ｌｏｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏｓ（ＬＬＲｓ）と呼ばれ、デジタルデータに関しては、元来の送信データビットが「０」か「１」である確率を表す。
【特許文献１】米国特許  ２００４／００５２１４４Ａ１
【特許文献２】米国特許  ２００４／００４４９４６Ａ１
【特許文献３】米国特許  ２００３／００２８８４３Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
平行して動作するサブ複号機が効率的に動作するためには、入力データを読む時も出力データを格納する時も相互に干渉しないことが重要である。ターボ復号機のインターリーブ機が適切に設計されていないと、２つのターボ復号機は、所与のクロックサイクルで同一の外部メモリバンクにアクセスしようとして、その結果、衝突やメモリ争奪になることはよく知られている。従って、インターリーブ機を、各サブ復号機が常に異なるメモリバンクにアクセスするように設計することが必要である。
【課題を解決するための手段】
【０００７】
本発明の理解を早め、実際の効果を示すために、添付図を参照した実施例を示す。図において、同様な参照番号は同様のあるいは同様な機能の部品を示す。図と明細書の下記の詳細説明とで実施例を示し、本発明に関する種々の理論や利点の説明している。
【０００８】
本発明の詳細な実施例について説明する前に、本実施例は、並列ターボ復号機中でインターリーブする方法やシステムに関連する工程や装置の組み合わせであることを理解すべきである。したがって、装置部品や工程は、図中では従来の記号によって適当に示され、当業者にとっては既に明らかな部分を詳細説明することによって本発明の利点が不明瞭にならないように、本発明の実施例を理解するのに適切な特定の部分を詳細に示した。
【０００９】
説明においては、第１と第２、上部と底部、等の関連語は単に物体や行為を相互に区別するために使用されており、必ずしも物体や行為の関連性や順序を示してはいない。「含む」、「からなる」やそれの派生語は、限定されずにカバーすることを意図し、要素のリストを含む、工程、方法、事項、装置、はそれらの要素のみを含むのではなく、リストアップされない他の要素や、その工程、方法、事項、装置に固有の要素を含んでもよい。「からなる」の前に書かれる要素は限定するものではなくて、要素からなる工程、方法、事項、装置中に付加される同様な要素を含んでもよい。
【発明の効果】
【００１０】
本発明の利点は、効率的な並行ターボ復号機１２０中で経済的な二重ポートメモリを使用できる。更に、ここで開示した概念や理論を用いれば、例えば、使用し得る時間、現在の技術、および経済性を考慮して、同業者によって多くの努力や設計の選択によって、ソフトウェア命令やプログラムや最小の実験でのＩＣを生成することは可能である。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施例によるＭＡＰ復号機システム１００の概略図である。３つのパイプライン位相窓１０５，１１０、１１５からの各データは復号機１２０によって処理される。インターリーブ／インターリーブ解除器１２５は、３つのパイプライン位相窓１０５，１１０、１１５内の外的情報をインターリーブする。位相窓１０５，１１０、１１５に対応する外的情報および先験情報１３０、１３５、１４０は、それぞれ、インターリーブ／インターリーブ解除器１２５から出力され、次の反復のために復号機に戻される。外的情報はメモリバッファに書き込まれて出力され、一般的には前回の反復の際に書かれた外的情報である先験情報はメモリバッファから読み出されて入力される。ここでは、外的情報は復号機１２０によって受信された先験情報と復号機１２０によって作成された後天的ＬＬＲ情報との間には差異がある。システム１００の反復工程によって、雑音の多い無線チャネルから受信したデータのような特定の受信情報から、より信頼性の高いソフト情報が作成される。
【００１２】
図２と３は、メモリアクセス工程の概略図であり、復号機１２０が、与えられた位相窓１０５，１１０、１１５のための前進と後進のＬＬＲ計算をする時の、４つの並列の書き込み／読み出しメモリ動作を示す。このような動作では、復号機１２０の複数の工程が単一の出力メモリバンク２０５，２１０（図２）に同時に書き込もうとする時や、単一の入力メモリバンク３０５、３１０（図３）から同時に読み出そうとする時に、メモリの争奪が起こる。メモリバンク２０５，２１０、３０５、３１０へアクセスを争奪せずに行うことができるための１つの解は、４つのデータアクセスポートを備える４つのポートのメモリブロックを使用することである。
【００１３】
しかしながら、このような４つのポートのメモリは複雑で高価である。本発明の１つの実施例は、より安価な２ポートのメモリを使用してこのようなメモリ争奪を回避する方法とシステムである。
【００１４】
図４は、本発明の実施例による、３つのＭＡＰサブ復号機４０５、４１０、４１５を有する並列ターボ復号機の概念図である。
入力バッファコントローラ４２５は入力バッファ４４０，４４５を制御して、サブ復号機４０５、４１０、４１５のそれぞれへ入力ＬＬＲを伝送する。ベータ初期化子４３０は後半部の後進経路メトリクスを計算する。最後に、出力バッファコントローラ４３５は並列ターボ復号機１２０出力を制御して、出力バッファ４５０，４５５に書き込まれる。入力バッファ４４０，４４５および出力バッファ４５０，４５５は共に、最適処理速度を可能にする「ピンポン」ＲＡＭ構造からなる。α／β記憶装置４６０はサブ復号機４０５、４１０、４１５に動作可能に接続されて、ＬＬＲ計算に必要な前進と後進の経路メトリックを格納する。λアウト記憶装置４６５もサブ復号機４０５、４１０、４１５に動作可能に接続されて、サブ復号機４０５、４１０、４１５のそれぞれに先験情報を伝送し、次の反復での先験情報として使用される、それぞれからの外的情報を格納する。
【００１５】
表１はＭＡＸ−Ｌｏｇ−アルゴリズムを用いた場合の、２番と４番の復号機１２０のＭＡＰサブ復号機４０５、４１０、４１５中の異なる事項に必要な動作の数の例示であり、複雑性を減らすための簡単化ＭＡＰアルゴリズムの１つである。複雑性の尺度として、表１は２番と４番の並列窓ＭＡＰ復号機１２０で動作する、「＋」（加算）、「−」（減算）、および「ＭＡＸ」（２と１との選択）動作を示した。２番の０／１法、または４番の１／２法が使用され、テールビットプロセスでの動作は除かれると仮定すると、４番のターボ復号機１２０の予備設計は、単位当たりの処理能力は２番の復号機の２．３倍が必要である。なぜならば、４番のターボ復号機１２０は多くの動作が必要なので、パイプライン設計には高動作周波数が可能であることが必要である。
【００１６】
【表１】
0004478668.tif 000002
【００１７】
したがって、図５には、４番復号機を用いる本発明の実施例に従って、複数のサブブロック５０５に分割された、入力符号ブロック５００が図示されている。各サブブロック５０５は更に複数の窓５１０に分割されている。各サブブロック５０５はサブ復号機４０５、４１０、４１５のうちの１つによって処理される。本発明のそれぞれの実施例によって、サブ復号機４０５、４１０、４１５の数は異なり、関連するハードウェアのリソースの性能によってのみ制限される。例えば、本発明の利点を活かす、４番のターボ復号機の設計例においては、１と５の間で変化する、サブ復号機４０５、４１０、４１５からなる。従って、５つのサブ復号機がある場合、入力符号ブロックは５個のサブブロック５０５と１５個の窓５１０に分割される。
【００１８】
３個のサブ復号機４０５、４１０、４１５を使用する本発明の実施例によると、入力符号ブロック５００は３個のサブブロック５０５に分割される。次に各ブロックは３個の窓５１０に分割される。インターリーブ／インターリーブ解除器１２５は各サブブロック５０５内で窓間のシャッフルをするのを助ける。このように処理の際、サブ復号機４０５、４１０、４１５はそれぞれ、３個の関連する窓５１０の中だけで外的情報を交換する。
【００１９】
図６は符号化サブブロック５０５の個々の窓５１０を図示する。本発明の実施例によると、各窓５１０は２個のサブ窓６０５に分割される。窓内の置換が各サブ窓６０５内で行われる。
【００２０】
インターリーブ／インターリーブ解除器１２５は表検索法で行われ、サブ窓内の置換に使用される３ＧＰＰインターリーブ／インターリーブ解除器１２５のような任意のインターリーブを可能にする。
【００２１】
このように、並列化はターボ復号機１２０の処理能力の向上に非常に効果的である。並列窓は、データフレームを窓に分割し各窓で受信ビットを複号する方法である。しかしながら、過剰な数の並列窓は、窓のサイズを小さくするのでインターリーブ器の利得を劣化させる原因になる。
【００２２】
図７は、本発明の実施例による、サブ復号機４０５、４１０，４１５を通過するパイプラインの流れを示す、連続チャートである。ここで、ｘは一系列のビットを示し、ｐ’ｓはパリティビットを示し、λｉｎは先験情報（即ち、前回の反復での外的情報）を示し、γはブランチメトリックを示す。縦線は単一のクロックサイクルの境界を示し、Ｐ，Ｑ，Ｒは３つのパイプライン相窓１０５，１１０、１１５の処理を示す。従って、αがある時間ｋで最後に更新されたαである場合は、新しいαは時間ｋ＋２で更新されたαである。βは時間ｋ＋１でのβに等しく、λは時間ｋ／（ｋ＋１）でのＬＬＲである。パイプラインが常に満たされていることを確認するために、３つの窓１０５，１１０、１１５は回転して処理される。
【００２３】
表２は本発明の実施例によるパイプラインの流れの更なる図である。例えば、表２を参照して、クロックサイクル４で、新しいａｌｐｈａＰ１が、次の更新のための古いａｌｐｈａフィードバックされる。入力ＬＬＲ（ｘ、ｐ’ｓ）と先験情報とが連続して処理されて、パイプラインが満たされていることを確認する。
【００２４】
【表２】
0004478668.tif 000003
【００２５】
図８は、本発明の実施例による、与えられた相窓１０５，１１０、１１５の前進、後進ＬＬＲ計算を示すメモリアクセス工程の概略図である。上述の窓内の置換はしたがって、それぞれが二重ポートメモリであるメモリバンク２０５，２１０への自由なアクセスを可能に、外的情報のバッファとして機能する。
【００２６】
図９は、本発明の実施例による、窓内置換処理の利点を示す概略ダイアグラムである。それぞれの縦型長方形は二重ポートメモリブロック９００を示し、相窓Ｐ１０５、Ｑ１１０およびＲ１１５の間で共有されている。図９の右側には、相窓Ｐ１０５割当てられた４つのメモリブロック９００が、メモリサイズおよびデータが各ブロック９００から読み出されるかブロック９００に書き込まれるかによって吸収される方法が示されている。本実施例は２５６の位置の窓サイズを含み、したがって、各サブ窓は１２８の位置を有する。したがって、３つの窓５１０からのデータは、使用されていない１２８の位置と共に、５１２の位置を有するメモリブロック９００中に格納される。
【００２７】
図９の右側には、サブ復号機４０５が左側の２つのメモリブロック９００から４つの先験情報記号（λｉｎ）を読みだし、並行して、右側の２つのメモリブロック９００へ４つの外的情報記号（λｏｕｔ）を書き込む方法を示している。先験情報は直線アドレスを使用して読み出され、アドレス・カウンタは単純に２までしかカウントしない。外的情報はインターリーブ／インターリーブ解除のアドレスを用いて書き込まれ、各アドレスは独立しており、単純に増減カウントするのではない。本発明の他の実施例による別例では、インターリーブ・アドレスによって読み出された先験情報と、直線アドレスによって書き込まれた外的情報とが含まれる。各メモリブロック９００は上述のメモリバンク２０５または２１０に対応し、図９に示された各メモリブロックの対は上述のλ外格納４６５に対応することは理解されるであろう。
【００２８】
図１０は、本発明の実施例による、並行ターボ復号機中でインターリーブするための方法１０００の工程を示した、全体的な流れダイアグラムをまとめた図である。先ず、工程１００５で、入力符号化ブロック５００が複数のサブブロック５０５に分割される。工程１０１０で、各サブブロック５０５は複数の窓５１０に分割される。次に、工程１０１５で、窓内シャッフルが各サブブロック５０５内で行われる。工程１０２０で、各窓５１０はサブ窓６０５に分割される。次に工程１０２５で、窓内置換が各サブ窓６０５内で行われる。
【００２９】
本発明によって使用される窓５１０の数は通常、特定のターボ復号機で使用されるパイプラインの数と等しいことは理解されるであろう。したがった、α／β更新工程が３回のクロックサイクルを必要とするならば、入力符号化ブロック５００は３つのサブブロック５０５に分割される。特定の復号機で使用されるパイプラインの数は、例えば、具体的なシリコン技術の特徴や復号機の設計者に提示される回路レイアウト仕様による。
【００３０】
本発明の利点は、従って、効率的な並行ターボ復号機１２０中で経済的な二重ポートメモリを使用できることも含む。複数の窓５１０は複数のパイプライン段階にリンクしており、窓５１０は２つに分割される。このように、経済的な高速データ通信は、移動電話、パーソナル・デジタル・アシスタント（ＰＤＡ）、およびノートブックパソコン等の種々のタイプの装置の間で可能である。
【００３１】
ここで記述した本発明の実施例は、１つ以上の通常のプロセッサと１つ以上のプロセッサの動作を制御する特定の格納されたプログラム命令とを備え、並行ターボ復号機中でインターリーブする機能の一部または全部であるプロセッサでない回路と接続している。プロセッサでない回路は、無線受信機、無線送信機、信号駆動機、クロック回路、電源回路、およびユーザ入力回路を含んでもよいが限定はされない。このように、これらの機能は、並行ターボ復号機中でインターリーブするための方法の工程として説明されてもよい。別例として、一部かすべての機能は、格納されたプログラム命令を有しない状況マシンによって、または、各機能またはある機能の幾つかの組み合わせがカスタム・ロジックとして実行される１つ以上のＡＳＩＣ中で実行され得る。もちろん、２つの方法の組み合わせも使用され得る。このように、これらの機能のための方法や手段を述べてきた。
【００３２】
本発明の具体的な実施例について述べてきた。しかしながら、添付の請求項で述べた本発明の範囲から逸脱せずに、種々の変形や改良は可能である。従って、明細書や図は説明のためであって、限定するものではない。すべての改良は本発明の範囲内にある。利得、利点、解決法、および利得、利点、解決法の原因となるすべての要素が、請求項の重要で必要とされる本質的な特徴としては構成されていない。本発明は、この出願の係属中になされる補正や請求項と同価のものも含めて、添付の請求項によってのみ規定される。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例によるＭＡＰ復号機システムの概略図。
【図２】復号機が所与の相窓の前身および後進ＬＬＲ計算をするときの４つの並列書き込みメモリ動作を示す、メモリアクセス工程の概略図。
【図３】復号機が所与の相窓の前身および後進ＬＬＲ計算をするときの４つの並列読み出しメモリ動作を示す、メモリアクセス工程の概略図。
【図４】本発明の実施例による３つのＭＡＰサブ復号機を有する並列ターボ復号機の概略図。
【図５】本発明の実施例による、複数のサブブロックに分割された入力符号化ブロックの説明図。
【図６】本発明の実施例による、符号化サブブロックの個々の窓の説明図。
【図７】本発明の実施例による、サブ復号機を通るパイプラインの流れを図示する連続チャート。
【図８】本発明の実施例による、与えられた窓での前進ＬＬＲと後進ＬＬＲの計算を示すメモリアクセス工程の概略ダイアグラム。
【図９】本発明の実施例による、窓内置換工程の利点を示す概略図。
【図１０】本発明の実施例による、並列ターボ復号機中でのインターリーブ法の工程を示す一般化した流れ図。
【符号の説明】
【００３４】
１００…ＭＡＰ復号機システム、１０５、１１０、１１５…パイプライン位相窓、１２０…復号機、１２５…インターリーブ／インターリーブ解除器、
１３０、１３５、１４０…先験情報、２０５、２１０…出力メモリバンク、        
３０５，３１０…入力メモリバンク、４０５，４１０、４１５…ＭＡＰサブ復号機、４２５…入力バッファコントローラ、４３０…ベータ初期化、４４０，４４５…入力バッファ、４５０、４５５…出力バッファ、５００…入力符号化ブロック、５０５…サブブロック、９００…二重ポートメモリブロック、
【図１】
0004478668.tif 000004
【図２】
0004478668.tif 000005
【図３】
0004478668.tif 000006
【図４】
0004478668.tif 000007
【図５】
0004478668.tif 000008
【図６】
0004478668.tif 000009
【図７】
0004478668.tif 000010
【図８】
0004478668.tif 000011
【図９】
0004478668.tif 000012
【図１０】
0004478668.tif 000013