(57)【特許請求の範囲】
【請求項１】
無線通信システムにおける符号器のインタリーバに対するアドレス生成装置であって、
有効アドレスを生成するのに用いるカウンタ値を生成するように構成された第１カウンタと、
それぞれが前記第１カウンタに接続された複数のアドレス生成器と、
を備える装置であり、
前記複数のアドレス生成器のそれぞれは、
前記第１カウンタに接続され、かつ前記第１カウンタによって生成されうる複数のカウンタ値および対応するカウンタオフセット値を格納するメモリ格納デバイスと、
前記メモリ格納デバイスに接続され、かつ前記カウンタオフセット値のうちの１つを前記有効アドレスに加えることによって、別の有効アドレスを生成するように構成された第２カウンタと、
を備えている、アドレス生成装置。
【請求項２】
前記第２カウンタは、
前記メモリ格納デバイスに接続された第１入力を有する加算器と、
前記加算器の出力に接続された第１入力と、所定の初期値に接続された第２入力とを有するマルチプレクサと、
前記マルチプレクサの出力に接続され、かつ前記加算器の第２入力に接続された出力を有する第２メモリ格納デバイスと、
を備えている、請求項１に記載のアドレス生成装置。
【請求項３】
前記メモリ格納デバイスと前記第２カウンタとの間に接続された追加回路をさらに備え、この追加回路が所定の値を前記メモリ格納デバイスの出力に加える、請求項２に記載のアドレス生成装置。
【請求項４】
前記メモリ格納デバイスはルックアップテーブルである、請求項３に記載のアドレス生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信に関する。さらに詳細には、本発明はデータの複数ビットを並列に符号化し（例えば、マルチポートメモリを使用）、符号化に関連する遅延を大幅に低減することに関する。
【背景技術】
【０００２】
一般的なディジタル通信システムにおいては、データは送信機ユニットで処理、変調、および調整されて、変調された信号が生成され、その後、この変調された信号は１つまたは複数の受信機ユニットに伝送される。データ処理には、例えば、データを特定のフレームフォーマットにフォーマッティングし、このフォーマットされたデータを特定の符号化方式を用いて符号化して、受信機ユニット側で誤り検出および／または訂正を実現し、符号化データをチャネライズし（すなわち、カバリング）、さらに、チャネライズされたデータをシステム帯域幅全体に拡散することを含む。
【０００３】
受信機ユニットにおいては、送信された信号を受信し、調整し、復調し、ディジタル的に処理して、送信データを復元する。受信機ユニットでの処理は送信機ユニットで実施される処理と相補的であり、例えば、受信サンプルを逆拡散し、逆拡散サンプルをデカバー（ｄｅｃｏｖｅｒ）し、デカバー記号を復号して送信されたデータを復元する。
【０００４】
伝送エラーを訂正する能力により、データ伝送の信頼性が向上する。多くのディジタル通信システムは畳込み符号またはターボ符号を用いて、受信機ユニット側で誤り訂正機能を提供する。畳込み符号は直列データに、同時に１または数ビットに作用する。受信された符号化情報シーケンスを復号して、オリジナルデータを復元するための、各種の有用な畳込み符号、および各種のアルゴリズムが存在する。詳細には、ターボ符号化は並列連結畳込み符号化方式である。連結符号は２つまたはそれ以上の符号のカスケード結合であり、これを用いて、追加の誤り訂正機能が実現される。連結符号については、符号化ステージ間の符号ビットをインタリーブ（すなわち、順序付けし）、時間的変化を実現し、これによりさらに性能を向上できる。符号ビットのパケット全体またはフレームは一般に、順序付けが実行される前に格納される。次に、順序付けされた符号ビットは直列に取り出され、次の符号化ステージにより符号化される。
【０００５】
従来、畳込みおよびターボ符号化は、入力ビットストリームに対し直列に実行される。各クロックサイクルに対し、１つのデータビットが符号器に提供され、２つまたはそれ以上の符号ビットが符号器の符号化率に依存して生成される。次に、符号ビットの一部は破壊され（すなわち、削除され）、別の符号化率の符号ビットが得られる。
【０００６】
ディジタル多重アクセス通信システムは一般にデータをパケットまたはフレームとして伝送し、アクティブユーザ間でのシステム資源の効果的共有を可能にする。長い遅延を許容できないサービス（すなわち、音声、ビデオ）に対しては、パケットは短い（例えば、１０  ｍｓｅｃ）持続時間が選択され、したがって符号は短い処理遅れを有するように選択される。ただし、符号化効率を上げるには、大きいサイズのパケットを処理および符号化することが望ましいが、その結果として、データを直列に符号化する従来技術を用いると長い処理遅れが発生する。長い処理遅れは通信システムの性能に悪影響を与える可能性がある。例えば、特定のデータ伝送については、通信リンクの条件に基づいて、特定のユーザまたはデータ転送率が選択できる。処理遅延が極端に長い場合、リンク条件はデータ伝送時間により変更できるが、性能は妥協するかまたは悪影響を受ける可能性がある。
【０００７】
以上の点から明らかなように、データを短い処理遅れで効率的に符号化するのに利用できる技術は極めて望ましいものである。
【発明の概要】
【０００８】
１つの態様によれば、無線通信システムにおけるインタリーバのアドレスを生成する方法は、カウンタを、インタリーバアドレスを生成するためのカウンタ値に増加し、カウンタ値が不適正なインタリーバアドレスに相当する場合、カウンタ値を次の適正なアドレスに調整し、その調整されたカウンタ値に基づいてアドレスを生成する。
【０００９】
別の態様においては、無線通信システムにおけるインタリーバ用のアドレス生成装置は、カウンタと、それぞれがカウンタに接続された複数のアドレス生成器とを含み、この複数のアドレス生成器の各々はカウンタに接続されたメモリ格納デバイスを有し、対応するカウンタオフセット値を有する複数のカウンタ値を格納する。さらに、前記アドレス生成装置は前記メモリ格納デバイスに接続され、かつカウンタオフセット値を前に生成されたアドレスに加える第２カウンタを含む。
【００１０】
さらに別の態様においては、データ符号器は順次入力情報ビットを格納するための複数のメモリと、入力情報をスクランブルするための複数のインタリーバと、前記メモリ中の第１メモリに接続され、かつ順次入力情報ビットを符号化する第１符号器と、前記複数のメモリに接続され、かつ順次入力情報ビットを符号化する第２符号器とを含む。
【００１１】
さらに別の態様においては、データを符号化する方法は、複数の入力ビットを受け取り、単一システムクロックサイクルの間に、複数の入力ビットに基づいて第１セットの状態値を計算し、複数の入力ビットおよび第１セットの状態値に基づいて第２セットの状態値を計算し、複数の入力ビットならびに第１および第２セットの状態値に基づいて第３セットの状態値を計算し、第１、第２および第２セットの状態値に基づいて符号化出力セットを生成することを含む。
【００１２】
本発明の特徴、本質、および利点は添付図面と共に以下に述べる詳細な説明で明らかになるであろう。図面では、同一参照符号は図面全体にわたり同一部品を指す。
【図面の簡単な説明】
【００１３】
【図１】通信システムのブロック図である。
【図２】一実施形態による直列接続方式符号器である。
【図３】一実施形態による、特定セットの多項式生成行列を実現する連結符号器の図である。
【図４】一実施形態による、複数データビットを並列に符号化する畳込み符号器のブロック図である。
【図５Ａ】様々な実施形態による、特定の多項式生成行列を実現し、８データビットを並列に符号化する畳込み符号器の回路図である。
【図５Ｂ】様々な実施形態による、特定の多項式生成行列を実現し、８データビットを並列に符号化する畳込み符号器の回路図である。
【図６】別の特定の多項式生成行列を実現し、４データビットを並列に符号化する畳込み符号器の一実施形態の回路図である。
【図７Ａ】１つのインタリーバの図である。
【図７Ｂ】様々な実施形態による、パンクチャリング有りおよび無しのそれぞれにおける、外部畳込み符号器とインタリーバ間のインタフェースの図である。
【図７Ｃ】様々な実施形態による、パンクチャリング有りおよび無しのそれぞれにおける、外部畳込み符号器とインタリーバ間のインタフェースの図である。
【図８】一実施形態による、符号器のブロック図である。
【図９】一実施形態による、複数データビットの連結符号化を並列に実行する方法のフローチャートである。
【図１０】１つの無線通信システムである。
【図１１】一実施形態による、並列連結符号器である。
【図１２】一実施形態による、並列連結符号器の機能図である。
【図１３】一実施形態による、ターボ符号器の機能図である。
【図１４】一実施形態による、ターボ符号器のインタリーバのアドレス生成回路の機能図である。
【図１５】一実施形態による、並列連結ターボ符号器のインタリーバのアドレス生成回路の機能図である。
【図１６】一実施形態による、ターボ符号器の機能図である。
【図１７】ターボ符号器のインタリーバのアドレス生成の機能図である。
【発明を実施するための形態】
【００１４】
複数ビットの並列符号化
図１は通信システム１００の一実施形態の簡単化したブロック図であり、このシステムにおいて本発明の様々な態様を実現できる。送信機ユニット１１０において、トラヒックデータは一般に、パケットまたはフレームとして、データ送信装置１１２から符号器１１４に送られ、そこで特定の符号化方式を用いてフォーマットされ、符号化される。さらに、符号器１１４は一般に、符号ビットのインタリービング（すなわち、順序付け）を実行する。次に、変調器（ＭＯＤ）１１６は符号化データを受け取り、チャネライズし（すなわち、カバリング）、拡散して、記号を生成し、この記号はその後１つまたは複数のアナログ信号に変換される。送信機（ＴＭＴＲ）１１８において、アナログ信号は濾波され、（直交）変調され、増幅され、さらにアップコンバートされて、変調された信号を生成し、この信号は次にアンテナ１２０を介して１つまたは複数の受信機ユニットに送信される。
【００１５】
受信機ユニット１３０において、送信された信号はアンテナ１３２で受信され、受信機（ＲＣＶＲ）１３４に提供される。受信機１３４内で、受信信号は増幅され、濾波され、（直交）復調され、さらにディジタル化されて、サンプルを提供する。サンプルは復調器（ＤＥＭＯＤ）１３６により、逆拡散され、デカバーされ、復調されて、復調化記号を生成する。次に、復号器１３８は復調化記号を復号化し、この復号化データを順序付けして（可能な場合）、送信されたデータを復元する。復調器１３６および復号器１３８により実行される処理は、送信機ユニット１１０で実行される処理と相補的である。復元されたデータは次にデータ受信装置１４０に提供される。
【００１６】
前述の信号処理は、一方向の音声、ビデオ、パケットデータ、メッセージ作成、および他の種類の通信をサポートする。双方向通信システムは、２方向データ伝送をサポートする。ただし、図１には、簡単化のために、その他の方向の信号処理は示していない。
【００１７】
通信システムは１００は、地上リンクを介してユーザ間の音声およびデータ通信をサポートする、符号分割多元接続（ＣＤＭＡ）システム、時分割多元接続（ＴＤＭＡ）通信システム（例えば、ＧＳＭ（登録商標）システム）、周波数分割多元接続（ＦＤＭＡ）通信システム、または他の多元接続通信システムであってもよい。
【００１８】
多元接続通信システムにおけるＣＤＭＡ方式の利用は米国特許第４，９０１，３０７号の、発明の名称「サテライトまたは地上リピータを利用するスペクトル拡散多元接続通信システム（SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS）」、および米国特許第５，１０３，４５９号の、発明の名称「ＣＤＭＡ携帯電話システムにおける信号波形を発生するためのシステムおよび方法（SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM）」に記載されている。別の特定のＣＭＤＡシステムは、１９９７年１１月３日出願の米国特許出願第０８／９６３，３８６号の、発明の名称「高速パケットデータ伝送の方法および装置（METHOD AND APPARATUS FOR HIGH RATE PACKET DATA TRANSMISSION）」（以後ＨＤＲシステムと称する）に記載されている。これらの特許および特許出願は本発明の譲受人に譲渡され、参照によりここに組み込まれる。
【００１９】
ＣＤＭＡシステムは一般に、「ＴＩＡ／ＥＩＡ／ＩＳ−９５−Ａ  デュアルモード広帯域スペクトル拡散携帯電話システムに対する移動局ベースの局の互換性標準（TIA/EIA/IS-95-A Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System）」（以後、ＩＳ−９５−Ａ標準と称する）などの１つまたは複数の標準に適合するように構成されており、この標準は「第３世代共同プロジェクト（3rd Generation Partnership Project）」（３ＧＰＰ）の名称の協会により提案され、文書番号３ＧＴＳ２５．２１１、３ＧＴＳ２５．２１２、３ＧＴＳ２５．２１３、および３ＧＴＳ２５．２１４（以後、Ｗ−ＣＤＭＡ標準と称する）、および「ｃｄｍａ２０００スペクトル拡散システムのＴＲ−４５．５物理層標準（TR-45.5 Physical Layer Standard for cdma2000 Spread Spectrum Systems）」（以後、ＣＤＭＡ−２０００標準と称する）を含む文書セットにおいて具体化されている。新しいＣＤＭＡ標準は、参照によりここに組み込まれる。
【００２０】
図２は、本発明のいくつかの実施形態を実現するように構成できる符号器２００のブロック図である。符号器２００は、図１の符号器１１４として利用できる。この実施形態では、符号器２００連結符号を実現し、カスケードに接続された外部畳込み符号器２１２、インタリーバ２１４、および内部畳込み符号器２１６を含む。外部畳込み符号器２１２は入力データを受け取り、畳込み符号化して、符号ビットを生成し、この符号ビットをインタリーバ２１４に提供して格納する。符号ビットのパケット全体がインタリーバ２１４内に格納されると、この符号ビットは取り出され、内部畳込み符号器２１６に提供される。インタリービングを達成するために、符号ビットは、このビットがインタリーバ２１４に書き込まれた順番と異なる順番で読み出される。外部畳込み符号器２１２は符号ビットを受け取り、畳込み符号化して、符号化データを生成し、このデータを後続の処理ステージに提供する。
【００２１】
従来の畳込み符号器はデータを直列に、１度に１ビット（すなわち、クロックサイクル当り）受け取り、符号化する。大きいパケットでデータを伝送する通信システムに対しては、データの直列符号化は長い処理遅れを引き起こす。さらに、カスケードに接続された複数の畳込み符号器で形成される連結符号器については、特に外部および内部畳込み符号器の両方が直列にビットを符号化する場合、処理遅れは極めて長くなる。
【００２２】
１つの態様においては、畳込み符号器は複数（Ｍ）ビットを並列に受け取り、符号化できる。これにより、畳込み符号器はデータパケットを、従来の畳込み符号器で必要とされる時間の（１／Ｍ）で符号を符号化できる。この利点は、個々の畳込み符号器のそれぞれがビットを並列に処理する場合、連結符号器（例えば、ターボ符号器）について明白となる。
【００２３】
別の態様においては、インタリーバはデータの複数ビットを並列に格納し、提供できる。インタリーバは、例えばマルチポートメモリを用いて実現できる。ここで述べる畳込み符号器と組み合わせて使用すると、データをこの時間の数分の一でインタリーバに書き込みおよび読み出しできるため、インタリーバはさらに処理遅延を減少できる。
【００２４】
理解を容易にするために、ここでは、典型的実施形態として、前述の米国特許出願第０８／９６３，３８６号（すなわち、ＨＤＲシステムと称する）で述べた通信システムにおけるダウンリンクデータ伝送に使用する符号器について説明する。ＨＤＲシステムは、外部畳込み符号、インタリービング、および内部畳込み符号で構成される連結符号を用いる。またＨＤＲシステムは、表１に示される特性を有する２つのパケットフォーマットを定義する。
【表１】
0005886235.tif 000002
【００２５】
ＨＤＲシステムにおいては、外部畳込み符号器は、以下の多項式生成行列により定義される符号化率１／２畳込みを実現する。
【数１】
0005886235.tif 000003
【００２６】
ＨＤＲシステムの内部畳込み符号器は、以下の多項式生成行列により定義される符号化率１／２畳込みを実現する。
【数２】
0005886235.tif 000004
【００２７】
図３は式（１）および（２）で定義される外部および内部畳込み符号を実現する符号器３００の図である。データビットｕは外部畳込み符号器３１０に提供され、そこで、式（１）を実現し、２つの出力ｙｏａおよびｙｏｂを生成する。符号器３１０内で、データビットｕは、レジスタ３１４ａ〜３１４ｄ（これらを用いて一組の遅れを実現する）にカスケードに接続された加算器３１２に提供される。加算器３１２およびレジスタ３１４Ａ、３１４Ｂ、および３１４Ｄからの出力は、加算器３１６Ａ、３１６Ｂ，および３１６Ｃにより加算され、式（１）で示される多項式生成行列の第２要素の分子を実現する。レジスタ３１４Ｃおよび３１４Ｄからの出力は、加算器３１８により加算され、加算器３１２に提供されて、式（１）の第２要素の分母を実現する。入力データビットｕは第１出力ｙｏａとして提供され、加算器３１６Ｃからの出力は第２出力ｙｏｂを形成する。
【００２８】
外部畳込み符号器３１０の出力ｙｏａおよびｙｏｂ中の符号ビットはパンクチャできる（簡単化のため、図３には示していない）。次に、非パンクチャド符号ビットはインタリーバ３３０に提供され、順序付けされる。順序付けされた符号ビットｖは内部畳込み符号器３４０に提供され、そこで式（２）を実現し、２つの出力ｙｉａおよびｙｉｂを構成する。符号器３４０内で、符号ビットｖは、レジスタ３４４Ａおよび３４４Ｂにカスケードに接続された加算器３４２に提供される。加算器３４２ならびにレジスタ３４４Ａおよび３４４Ｂからの出力は、加算器３４６Ａおよび３４６Ｂにより加算され、式（２）で示される多項式生成行列の第２要素の分子を実現する。レジスタ３４４Ａからの出力は加算器３４２に提供され、加算器３１２に提供されて、式（２）の第２要素の分母を実現する。入力データビットｖは第１出力ｙｉａとして提供され、加算器３４６Ｂからの出力は第２出力ｙｉｂを構成する。
【００２９】
従来、データビットｕは符号器３１０に直列に提供され、符号ビットｖもまた符号器３４０に直列に提供される。各入力データビットについては、外部畳込み符号器３１０が２つの符号ビットを生成する。インタリーバ３３０は符号ビットを受け取り、これを格納し、さらにこの符号ビットを内部畳込み符号器３４０に直列に提供する。ビットを直列に符号化する結果、長い処理遅れが発生する。
【００３０】
一実施形態の畳込み符号器は複数ビットを並列に符号化して、符号化遅れを大幅に短縮できる。各クロックサイクルに対し、複数（例えば、Ｍ）データビットを受け取り、符号化して、複数符号ビットを生成できる。符号化率１／２符号器に対しては、Ｍ個のデータビットに対して２Ｍの符号ビットが生成される。Ｍは、例えば４、８、１６、３２等の任意の数に選択できる。このような畳込み符号器の様々な別の実施形態を以下に述べる。
【００３１】
ＨＤＲなどの多くのディジタル通信システムはデータをパケットとして伝送する。パケット中のデータ数（すなわちパケットサイズは）は、例えば、データ転送率、伝送データ量、処理遅れ要求事項およびその他等などの多くの基準に基づいて選択される。受信機ユニットにおける復号器を、各パケットの最初の部分の既知状態で開始可能にすることにより、復号化時間を短縮し、性能を向上させるためには、各パケットの開始時に符号器を既知状態に初期化する（例えば、すべてゼロ）。この初期化は先行のパケットの終端部に一組の符号テールビットを挿入することでなされる。この符号テールビットは、符号器が既知状態に設定されるように選択される。
【００３２】
一実施形態においては、典型的な実施形態の畳込み符号器はルックアップテーブルを用いて実現される。図３を参照すると、外部畳込み符号器３１０は、レジスタ３１４Ａ〜３１４Ｄの出力により定義される４ビット状態を有する状態機械を見なすことができる。ルックアップテーブルの内容を作成するために、時間インデックスｎにおけるＭ個の入力ビットを、ベクトルＵｎで表し、２Ｍ個の符号ビットをベクトルＹｎで表し、さらに現在の符号器状態をベクトルＸｎで表すことができる。符号器の次の状態Ｘｎ＋１および符号器出力ベクトルＹｎは以下にように表すことができる。
【数３】
0005886235.tif 000005
【００３３】
式（３）および（４）のそれぞれは、入力がデータのときに使用する１つの式、および符号器入力が符号テールビットを含むときに使用する別の式を提供する。
【００３４】
式（３）および（４）は入力データビットおよび符号器状態のすべての可能な組み合わせに対して計算できる。例えば式（４）については、出力符号ビットは入力ベクトルＵｎ＝０．．．００およびＸｎ＝０．．．００の符号器状態、ならびに入力ベクトルＵｎ＝０．．．０１およびＸｎ＝０．．．００の符号器状態等、ならびに入力ベクトルＵｎ＝１．．．１１およびＸｎ＝０．．．００の符号器状態に対して計算できる。次に、出力符号ビットは入力ベクトルＵｎおよびＸｎ＝０．．．０１の符号器状態のすべての可能な組み合わせに対して計算できる。次に、この手順を、入力ベクトルおよび符号器状態のすべての組み合わせが計算されるまで繰り返す。式（３）も同様に計算できる。
【００３５】
式（３）および（４）の計算結果はルックアップテーブルを実現するメモリに格納される。必要なメモリサイズは、並列に符号化されるデータビット数および実現される特定の多項式生成行列に依存する。例えば、式（１）で表される畳込み符号器を用いて８データビットを並列に符号化する場合、１２アドレスビットおよび２０データビットのサイズ（すなわち４０９６×２０）を有するメモリを使用する必要がある。１２ビットアドレスは、８ビット入力データビットおよび次の符号器状態用の４ビットから構成される。２０ビット出力には、１６符号ビットおよび次の符号器状態用の４ビットを含む。
【００３６】
メモリが適正に定義されると、入力データベクトルＵｎおよび現在の符号器状態Ｘｎをメモリのアドレス入力に提供でき、このメモリは次に、出力ベクトルＹｎおよび次の符号器状態Ｘｎ＋１を提供する。適切には、次の符号器状態Ｘｎ＋１は次の入力データベクトルＵｎ＋１で使用するために格納される。
【００３７】
別の実施形態においては、畳込み符号器は状態機械と用いて実現される。符号器状態および出力は、式（３）および（４）に示す式で表すことができる。式（３）および（４）のそれぞれは、再帰的に解くことができ、その結果の式は  ハードウェア、ソフトウェア、またはそれらの組み合わせで実現される。符号器に対する再帰的式は以下のようにして解くことができる。ＸｎＴ＝［ｘ４  ｘ３  ｘ２  ｘ１］が転置状態ベクトルを示し、ｕ０が時間インデックス０における入力データビットを示すものとする。したがって、符号器の次の状態および出力は以下のように表すことができる。
【数４】
0005886235.tif 000006
【００３８】
ここでＡ、Ｂ、Ｃ、およびＤはスカラー、ベクトル、および行列であり、これらは実現される特定の多項式生成行列に依存する。符号器状態式（５）は以下のように、再帰的に解くことができる。
【００３９】
Ｘ２＝Ａ２Ｘ０＋ＡＢｕ０＋Ｂｕ１
Ｘ３＝Ａ３Ｘ０＋Ａ２Ｂｕ０＋ＡＢｕ１＋Ｂｕ２
…
Ｘ８＝Ａ８Ｘ０＋Ａ７Ｂｕ０＋Ａ６Ｂｕ１＋Ａ５Ｂｕ２＋Ａ４Ｂｕ３＋Ａ３Ｂｕ４＋Ａ２Ｂｕ５＋ＡＢｕ６＋Ｂｕ７
符号器出力の式（６）もまた、同様に再帰的に解くことができる。
【００４０】
式（５）および（６）を用いて、１度に１つのデータビットｕを符号化する。類似の式の組を導き出して、Ｍデータビットを並列に符号化できる。例えば、８データビット（すなわち、Ｍ＝８）を並列に符号化するために、時間インデックスｎにおける入力データベクトルの転置をＵｎＴ＝［ｕｎ７  ｕｎ６  ｕｎ５  ｕｎ４  ｕｎ３  ｕｎ２  ｕｎ１  ｕｎ０］と定義し、出力符号ベクトルの転置をＹｎＴ＝［ｙｎ７  ｙｎ６  ｙｎ５  ｙｎ４  ｙｎ３  ｙｎ２  ｙｎ１  ｙｎ０］と定義する。ＵｎおよびＹｎについて定義された符号を用いると、式（５）および（６）は以下のように表される。
【数５】
0005886235.tif 000007
【００４１】
ここで、Ｆ、Ｇ、Ｈ、およびＩはベクトルおよび行列であり、実現される特定の多項式生成行列、現在の符号器状態Ｘｎ、および入力データベクトルＵｎに依存する。式（７）を用いてＭデータビットが符号化された後の次の符号器状態Ｘｎ＋１を生成し、式（８）を用いて入力ベクトルＵｎに対する符号器出力Ｙｎを生成する。
【００４２】
式（７）および（８）のＦ、Ｇ、Ｈ、およびＩを決定するために、様々な手法を用いて式（５）および（６）を再帰的に解き、その再帰的計算の結果を用いて式（７）および（８）を実現できる。例えば、表を用いて各入力データビットについての符号器の状態および出力を作表できる。次に表の項目を用いて、以下のように、式（７）および（８）を実現できる。
【００４３】
表２は、式（１）を実現する図３の畳込み符号器３１０に、８入力データビットｕ０〜ｕ７が直列に提供された後の符号器状態および出力を示す。図３に示すように、レジスタ３１４Ａ〜３１４Ｄは最初にｘ１、ｘ２、ｘ３、およびｘ４の値をそれぞれ格納する。最初の１クロックサイクルにおいて、第１データビットｕ０が符号器３１０に提供され、加算器３１２の出力がｘ４＋ｘ３＋ｕ０として計算され、その結果は表２の第２行、第２列に格納される。符号器出力はｙａ０＝ｕ０およびｙｂ０＝（ｘ４＋ｘ３＋ｕ０）＋ｘ４＋ｘ２＋ｘ１＝ｘ３＋ｘ２＋ｘ１＋ｕ０として計算される。（各加算器３１６はモジュロ２加算を実行する。）  次のクロックサイクルにおいて、加算器３１２およびレジスタ３１４Ａ〜３１４Ｃからの値はレジスタ３１４Ａ〜３１４Ｄにそれぞれシフトされる。次のデータビットｕ１は符号器に提供され、加算器３１２の出力はｘ３＋ｘ２＋ｕ１として計算され、その結果は表２の第３行、第２列に格納される。符号器出力はｙａ１＝ｕ１およびｙｂ２＝（ｘ３＋ｘ２＋ｕ１）＋ｘ３＋ｘ１＋（ｘ４＋ｘ３＋ｕ０）＝ｘ４＋ｘ３＋ｘ２＋ｘ１＋ｕ０＋ｕ１として計算される。この手順は第８データビットｕ７が受け取られ、処理されるまで続行される。
【００４４】
符号器出力ベクトルＹｂ＝［ｙｂ７  ｙｂ６  ｙｂ５  ｙｂ４  ｙｂ３  ｙｂ２  ｙｂ１  ｙｂ０］は、入力ベクトルＵ＝［ｕ７  ｕ６  ｕ５  ｕ４  ｕ３  ｕ２  ｕ１  ｕ０］に対応し、表２の最終列の項目に基づいて生成される。第８データビットｕ７が符号化された後、符号器状態Ｘｎ＋１は表２の最終行の項目に基づいて生成される。表２に示すように、符号器出力ベクトルＹｂおよび次の符号器状態Ｘｎ＋１は、それぞれ、現在の符号器状態Ｘｎ＝［ｘ４  ｘ３  ｘ２  ｘ１］および入力ベクトルＵの関数である。データフェーズについては、符号器出力ベクトルＹａは単に、入力ベクトルＵの関数（すなわち、Ｙａ＝Ｕ）である。
【表２】
0005886235.tif 000008
【００４５】
表１を参照すると、ＨＤＲシステムの外部畳込み符号器は、パケットフォーマット１の各パケットについて１０１８データビットおよび４つの符合テールビットを受け取る。８ビットが並列に符号化される場合、１２８クロックサイクルを用いて、データの１パケットを符号化する。最初の１２７クロックサイクルを用いて１０１６データビット（すなわち、１２７×８＝１０１６）を符号化し、第１２８番目のクロックサイクルを用いて、残りの２つのデータビットおよび４符合テールビットを符号化する。最初の１２７クロックサイクルは「データフェーズ」と呼ばれ、最終クロックサイクルは「符号テールフェーズ」と呼ばれる。
【００４６】
外部畳込み符号器は、パケットフォーマット２の各パケットについて２０４２ビットおよび４つの符合テールビットを受け取る。８ビットが並列に符号化される場合、２５６クロックサイクルを用いて、データの１パケットを符号化する。最初の２５５クロックサイクルを用いて２０４６データビット（すなわち、２５５×８＝２０４０）を符号化し、第２５６番目のクロックサイクルを用いて、残りの２つのデータビットおよび４つの符合テールビットを符号化する。最初の２５５クロックサイクルはデータフェーズと呼ばれ、最終クロックサイクルは符号テールフェーズと呼ばれる。
【００４７】
表３は、２つのデータビットｕ０およびｕ１が、図３の畳込み符号器３１０に直列に提供された後の符号器状態および出力を示す。先と同様に、レジスタ３１４Ａ〜３１４Ｄは最初にｘ１、ｘ２、ｘ３、およびｘ４の値をそれぞれ格納する。最初の２クロックサイクルにおいて、２つのデータビットｕ０およびｕ１が符号器に直列に提供される。符号器状態ｘ１〜ｘ４ならびに符号器出力ｙｃおよびｙｄは前述と同様にして計算される。したがって、表３の第２および第３行は、表２の第２および第３行と同一である。第３クロックサイクルでは、ｘ２＋ｘ１の値を有する第１符合テールビットが符号器に提供される。符合テールビットの値は加算器３１２の出力がゼロになるように選択され、その値を用いて畳込み符号器をクリアする。符号器出力はｙｃ２＝ｘ２＋ｘ１およびｙｄ２＝ｘ４＋ｕ０＋ｕ１として計算される。次のクロックサイクルにおいて、加算器３１２およびレジスタ３１４Ａ〜３１４Ｃからの値はレジスタ３１４Ａ〜３１４Ｄにそれぞれシフトされる。第２の符号テールビットはｘ４＋ｘ３＋ｘ１＋ｕ０に選択され、加算器３１２の出力は再度ゼロに設定され、符号器をクリヤする。この手順は、符号器に提供される最終２ビットがゼロの値を持つまで続行される。
【００４８】
表３に示すように、符号器出力ＹｃおよびＹｄの両方は、入力ベクトルＵおよび現在の符号器状態Ｘｎの関数である。符号テールフェーズについては、次の符号器状態Ｘｎ＋１はすべてゼロの既知状態に設定される（すなわち、Ｘ８＝［０  ０  ０  ０］）。
【表３】
0005886235.tif 000009
【００４９】
図４は複数入力データビットを並列に符号化できる畳込み符号器４００の実施形態のブロック図である。従来の畳込み符号器４００を用いて、データおよび符号テールフェーズを実現できる（例えば、表２および３でそれぞれ定義されたように）。図４に示す符号器アーキテクチャを用いて、例えば、図３の外部畳込み符号器３１０または内部畳込み符号器３４０を実現できる。
【００５０】
畳込み符号器４００内で、入力データビットはデータベクトルＵとして、符号器状態機械４１０、データフェーズ出力発生器４２０、および符号テールフェーズ出力発生器４３０に並列に提供される。また符号器状態機械４１０は、現在の符号器状態Ｘを受け取り、受け取った入力ベクトルＵおよび現在の符号器状態Ｘに基づいて新しい符号器状態を決定する。符号器状態機械４１０は、例えば、表２の最終行を実現できる。
【００５１】
また、データフェーズ出力発生器４２０および符号テールフェーズ出力発生器４３０は、現在の符号器状態Ｘを受け取り、受け取った入力ＸおよびＵに基づいて、データフェーズおよび符号テールフェーズに対する符号器出力をそれぞれ決定する。データフェーズ出力発生器４２０は、例えば表２の最終の２列を実現でき、また、符号テール出力発生器４３０は、例えば表３の最終の２列を実現できる。データフェーズ出力発生器４２０からの第１および第２出力ＹａおよびＹｂは、マルチプレクサ（ＭＵＸ）４４０Ａおよび４４０Ｂにそれぞれ提供される。同様に、データフェーズ出力発生器４３０からの第１および第２出力ＹｃおよびＴｄは、マルチプレクサ４４０Ａおよび４４０Ｂにそれぞれ提供される。マルチプレクサ４４０Ａおよび４４０Ｂは、データフェーズならびに出力ＹｃおよびＹｄで作動しているときはデータフェーズ出力発生器４２０にそれぞれから、また、符号テールフェーズで作動しているときは符号テールフェーズ出力発生器４３０から、出力ＹａおよびＹｂをそれぞれ提供する。
【００５２】
入力データビットを受け取ると、符号器状態を各パケットの開始にリセットすることなく連続的に符号化する畳込み符号器を実現するには、符号器状態機械４１０およびデータフェーズ出力発生器４２０だけが必要とされる。データがパケットで送信され、かつ符号テールビットを用いて畳込み符号器を各パケットの開始の既知状態にリセットする通信システム（例えば、ＨＤＲシステム）においては、符号テールフェーズ出力発生器４３０およびマルチプレクサ４４０を用いて必要な符号器出力を提供する。
【００５３】
符号器状態機械４１０およびデータフェーズ出力発生器４２０の構成は、実現される特定多項式生成行列および並列に符号化されるデータビットの数に依存する。符号テールフェーズ出力発生器４３０の構成は、多項式生成行列、並列に符号化されるデータビットの数、および特定フレームフォーマット（すなわち、符号テールフェーズにおいて符号化されるデータおよび符号テールビットの数）に依存する。次に、畳込み符号器４００の特定の構成を以下に述べる。
【００５４】
図５Ａは、８入力データビットを並列に符号化し、かつ式（１）で示される多項式生成行列を実現できる特定の畳込み符号器５００の回路図である。畳込み符号器５００は表２で定義される状態機械を実現する符号器状態機械５１０と、表２で定義される符号器出力を生成するデータフェーズ出力発生器５２０とを含む。符号器状態機械５１０およびデータフェーズ出力発生器５２０は、図４の符号器状態機械４１０およびデータフェーズ出力発生器４２０にそれぞれ対応する。この実施形態においては、符号器状態機械５１０は、ＡＮＤゲート５１２Ａ〜５１２Ｄおよびレジスタ５１４Ａ〜５１４Ｄを用いて実現され、データフェーズ出力発生器５２０はＡＮＤゲート５２２Ａ〜５２２Ｈを用いて実現される。
【００５５】
図５Ａに示すように、８入力データビットｕ０〜ｕ７は符号器状態機械５１０およびデータフェーズ出力発生器５２０の入力に並列に供給され、これら両方の装置のそれぞれはまた、ｘ１〜ｘ４で定義される現在の符号器状態を受け取る。符号器状態機械５１０内の各ＡＮＤゲート５１２は、表２の最終行で定義される入力ｕ０〜ｕ７およびｘ１〜ｘ４に選択的に接続される。例えばＡＮＤゲート５１２Ａは、表２の最終行、第３列（ｘ１）の項目で定義される、入力ｘ３、ｘ２、ｘ１、ｕ１、ｕ２、ｕ３、ｕ４、およびｕ７に接続する。ＡＮＤゲート５１２Ａ〜５１２Ｄの出力はレジスタ５１４Ａ〜５１４Ｄにそれぞれ接続する。レジスタ５１４Ａ〜５１４Ｄの出力は状態機械出力ｘ１〜ｘ４をそれぞれ構成する。
【００５６】
同様に、データフェーズ出力発生器５２０内の各ＡＮＤゲート５２２は、表２の最終列で定義される入力ｕ０〜ｕ７およびｘ１〜ｘ４に選択的に接続される。例えばＡＮＤゲート５２２Ａは、表２の第２行、最終列（ｙｂ０）の項目で定義される、入力ｘ３、ｘ２、ｘ１、およびｕ０に接続される。入力ｕ０〜ｕ７は符号器出力ｙａ０〜ｙａ７をそれぞれ構成し（簡単化のために、図５Ａには示さない）、ＡＮＤゲート５２２Ａ〜５２２Ｈは符号器出力ｙｂ０〜ｙｂ７をそれぞれ構成する。
【００５７】
図５Ｂは、式（１）で表され、かつ表１のパケットフォーマット１および２に対する、多項式生成行列の符号テールフェーズを実現し、符号テールフェーズ出力発生器５３０およびマルチプレクサ５４０Ａおよび５４０Ｂの特定の実施形態の回路図である。符号テールフェーズ出力発生器５３０ならびにマルチプレクサ５４０Ａおよび５４０Ｂは、図４の符号テールフェーズ出力発生器４３０およびマルチプレクサ４４０Ａおよび４４０Ｂにそれぞれ対応する。この実施形態においては、符号テールフェーズ出力発生器５３０は、ＡＮＤゲート５３２Ａ〜５３２Ｊを用いて実現され、表３で定義される符号テールフェーズに対する符号器出力ＹｃおよびＹｄを生成する。マルチプレクサ５４０Ａは２×１マルチプレクサ５４２Ａ〜５４２Ｆを用いて実現され、第１符号器出力Ｙｏａを提供する。同様に、マルチプレクサ５４０Ｂは２×１マルチプレクサ５４４Ａ〜５４４Ｈを用いて実現され、第２符号器出力Ｙｏｂを提供する。
【００５８】
図５Ａおよび５Ｂに示される符号器状態機械５１０、データフェーズ出力発生器５２０、符号テールフェーズ出力発生器５３０、ならびにマルチプレクサ５４０Ａおよび５４０Ｂは、畳込み符号器４００の特定の実施形態を形成する。この特定の実施形態を用いて、式（１）で表され、かつ表１に記載されたパケットフォーマットに対する多項式生成行列を実現する。
【００５９】
パケットフォーマット１については、１０１８データビットが１２８クロックサイクルにわたり畳込み符号器５００に供給される。最初の１２７クロックサイクルに対し、８データビットが符号器５００に提供され、マルチプレクサ５４０Ａおよび５４０Ｂを選択して、データフェーズ出力発生器５２０からの出力ＹａおよびＹｂを提供する。第１２８番目のクロックサイクルで、残りの２つのデータビットおよび４つの符合テールビット、および２つのゼロが符号器５００に提供される。レジスタ５１４Ａ〜５１４Ｄはゼロ（同期的に）にリセットされ、マルチプレクサ５４０Ａおよび５４０Ｂを選択して、符号テールフェーズ出力発生器５３０から出力ＹｃおよびＹｄを提供する。パケットフォーマット２については、２０４２データビットが２５６クロックサイクルにわたり畳込み符号器５００に提供される。データフェーズの相当する最初の２５５クロックサイクルのそれぞれに対し、８データビットが並列に符号化され、マルチプレクサ５４０Ａおよび５４０Ｂがそれぞれ出力ＹａおよびＹｂを提供する。符号テールフェーズに相当する第２５６番目クロックサイクルにおいて、２つのデータビット、４つの符合テールビット、および２つのゼロが並列の符号化され、マルチプレクサ５４０Ａおよび５４０Ｂが出力ＹｃおよびＹｄをそれぞれ提供する。
【００６０】
図５Ａおよび５Ｂに示す特定の実施形態は、理解を深めるために記載されている。なお、様々な実施形態も考察できるが、本発明の範囲にあるものとする。さらに、一般には様々な構成を、異なる多項式生成号列、異なる数の入力データビット、または異なるパケットフォーマットについても使用される。
【００６１】
同様に、別の畳込み符号器を構成して、式（２）で表される多項式生成行列を実現できる。一実施形態では、畳込み符号器は４つの符号ビットを並列に受け取り、これを符号化するように構成される。次の情報および出力それぞれに対する式（５）および（６）は、前述の方法で再帰的に解くことができる。
【００６２】
表４は、４入力符号ｖ０〜ｖ３が図３に示す畳込み符号器３４０に直列に提供された後の、符号器状態および出力を示す。レジスタ３４４Ａおよび３４４Ｂは最初にｘ１およびｘ２をそれぞれ格納する。第１クロックサイクルで、第１符合ビットｖ０が符号器３４０に提供され、加算器３４２の出力はｘ１＋ｖ０として計算され、その結果が表４の第２行、第２列に格納される。符号器出力はｙｅ０＝ｖ０およびｙｆ０＝（ｘ１＋ｖ０）＋ｘ２＋ｘ１＝ｘ２＋ｖ０として計算される。次のクロックサイクルで、加算器３１２およびレジスタ３４４Ａからの値は、レジスタ３４４Ａおよび３４４Ｂにそれぞれシフトされる。次の符合ビットｖ１が符号器３４０に提供され、加算器３４２の出力はｘ１＋ｖ０＋ｖ１として計算され、その結果が第２行、第２列に格納される。出力はｙｅ１＝ｖ１およびｙｆ１＝（ｘ１＋ｖ０＋ｖ１）＋（ｘ１＋ｖ０）＋ｘ１＝ｘ1＋ｖ１として計算される。この手順は第４符合ビットｖ３が受け取られ、処理されるまで継続する。
【００６３】
符号器出力ベクトルＹｆは表４の最終列の項目に基づいて生成される。第４符合ビットＶ３が符号化された後、符号器状態Ｘｎ＋１は表４の最終行の項目に基づいて生成される。表４に示すように、符号器出力ベクトルＹｆおよび次の符号器状態Ｘｎ＋１は、それぞれ、現在の符号器状態Ｘｎ＝［ｘ２  ｘ１］および入力ベクトルＶの関数である。データフェーズについては、符号器出力ベクトルＹｅは単に、入力ベクトルＶの関数である。
【表４】
0005886235.tif 000010
【００６４】
表１を参照すると、ＨＤＲシステムの内部畳込み符号器は、パケットフォーマット１の各パケットに対し２０４４符号ビットおよび４符合テールビットを受け取る。４ビットを並列に符号化する場合、５１２クロックサイクルを用いて１つのパケットを符号化する。最初の５１１クロックサイクルを用いて２０４４符号ビット（すなわち、５１１×４＝２０４４）を符号化し、５１２番目のクロックサイクルを用いて４符号テールビットを符号化する。畳込み符号器は、パケットフォーマット２の各パケットに対し３０７９符号ビットおよび３符合テールビットを受け取る。４ビットを並列に符号化する場合、７６８クロックサイクルを用いてデータの１つのパケットを符号化する。最初の７６７クロックサイクルを用いて３０６８符号ビット（すなわち、７６７×４＝３０６８）を符号化し、７６８番目のクロックサイクルを用いて３符号テールビットを符号化する。
【００６５】
表５は、パケットフォーマット１の符号テールフェーズについての内部畳込み符号器の状態および出力を示す。第１クロックサイクルで、ｘ１の値を有する第１符合テールビットが符号器に提供される。符号テールビット値は、加算器３４２の出力がゼロになるように選択される。符号器出力はｙｇ０＝ｘ１およびｙｈ０＝ｘ２＋ｘ１として計算される。この処理は、残りの３符合テールビットについても同様に続行する。
【表５】
0005886235.tif 000011
【００６６】
表６は、パケットフォーマット２の符号テールフェーズについての内部畳込み符号器の状態および出力を示す。第１クロックサイクルで、最終符号ビットｖ０が符号器に提供され、符号器状態ｘ１およびｘ２ならびに出力ｙｉ０およびｙｊ０が、前述と同様に計算される。したがって、表６の第２行は表４の第２行と同一になる。第２クロックサイクルで、ｘ１＋ｖ０の値を有する第１符号テールビットが符号器に提供される。符号テールビット値は、加算器３４２の出力がゼロになるように選択される。符号器出力はｙｉ１＝ｘ１＋ｖ０およびｙｊ１＝ｖ０として計算される。この処理は、残りの符合テールビットについても同様に続行する。
【表６】
0005886235.tif 000012
【００６７】
図６は、４入力符号ビットを並列に符号化し、かつ式（２）で示される多項式生成行列を実現できる特定の畳込み符号器６００の回路図である。畳込み符号器６００は表４で定義される状態機械を実現する符号器状態機械６１０と、表４〜６で定義される符号器出力を生成する出力発生器６２０と、パケットフォーマット１および２のデータおよび符号テールフェーズに適正な符号器出力を提供するマルチプレクサ６４０Ａおよび６４０Ｂとを含む。
【００６８】
図６に示すように、４入力符号ビットｖ０〜ｖ３が符号器状態機械６１０および出力発生器６２０の入力に並列に提供され、また前記装置のそれぞれはＸｎ＝「ｘ２  ｘ１」として定義される現在の符号器状態を受け取る。符号器状態機械６１０内の各ＡＮＤゲート６１２は、表４の最終行で定義される入力ｖ０〜ｖ３およびｘ１〜ｘ２に選択的に接続される。例えばＡＮＤゲート６１２Ａは、表４の最終行、第３列（ｘ１）の項目で定義される、入力ｘ１、ｖ０、ｖ１、ｖ２、ｖ３、およびｖ４に接続する。ＡＮＤゲート６１２Ａおよび６１２Ｂの出力はレジスタ６１４Ａおよび６１４Ｂにそれぞれ接続する。レジスタ６１４Ａおよび６１４Ｂの出力は状態機械出力ｘ１およびｘ２をそれぞれ構成する。
【００６９】
同様に、出力発生器６２０内の各ＡＮＤゲート６２２は、表４〜６の最終２列で定義される入力ｖ０〜ｖ３およびｘ１〜ｘ２に選択的に接続される。例えば、ＡＮＤゲート６２２Ａは入力ｘ２およびｖ０に接続されて、ｙｆ０を生成し（表４の第２行、最終列）、また、ＡＮＤゲート６２２Ｂは入力ｘ２およびｘ１に接続されて、ｙｈ０を生成し（表５の第２行、最終列）し、さらに、ＡＮＤゲート６２２Ｃは入力ｘ２およびｖ０に接続されて、ｙｊ０を生成する（表６の第２行、最終列）。その他の符号器出力は表４〜６に示される通りに生成される。
【００７０】
マルチプレクサ６４０Ａは、内部畳込み符号器６００に対して第１符号器出力ｙｉａ０〜ｙｉａ３をそれぞれ提供する、３×１マルチプレクサ６４２Ａ〜６４２Ｄを含む。データフェーズの間、ｙｅ０〜ｙｅ３はマルチプレクサ６４２Ａ〜６４２Ｄをそれぞれ通して提供される。符号テールフェーズの間、マルチプレクサ６４２Ａ〜６４２Ｄはそれぞれ、パケットフォーマット１ではｙｇ０〜ｙｇ３を、パケットフォーマット２ではｙｉ０〜ｙｉ３を提供する。同様に、マルチプレクサ６４０Ｂは、内部畳込み符号器６００に対して第２符号器出力ｙｉｂ０〜ｙｉｂ３をそれぞれ提供する、３×１マルチプレクサ６４４Ａ〜６４４Ｄを含む。データフェーズの間、ｙｆ０〜ｙｆ３はマルチプレクサ６４４Ａ〜６４４Ｄをそれぞれ通して提供される。符号テールフェーズの間、マルチプレクサ６４４Ａ〜６４４Ｄはそれぞれ、パケットフォーマット１ではｙｈ０〜ｙｈ３を、パケットフォーマット２ではｙｊ０〜ｙｊ３を提供する。
【００７１】
本発明の別の態様では、外部畳込み符号器により並列に生成される複数符号ビットを格納し、かつ内部畳込み符号器に複数符号ビットを並列で提供するインタリーバを実現する。図２に戻ると、インタリーバは外部および内部畳込み符号器の間に接続される。インタリーバは符号ビットの１つまたは複数パケットを格納するように構成される。パケット全体が格納された後、符号ビットは書込み順と異なる読出し順に取り出され、符号ビットのインタリービングを達成する。
【００７２】
典型的に実施形態の外部畳込み符号器は、Ｍ個のデータビットを並列に受け取って、符号化し、Ｍ×Ｒ符号ビットを生成するように構成できる。ここで、Ｒは外部畳込み符号器の符号化率に関係する（例えば、レート１／２符号器ではＲ＝２）。処理を促進し、遅れを短縮するために、インタリーバは、符号ビットが符号器により生成されるときに、外部畳込み符号器から並列にＭ×Ｒ符号ビットを格納するように構成できる。同様に、内部畳込み符号器は、Ｎ個の符号ビットを並列に受け取って、符号化するように構成できる。処理を促進し、遅れを短縮するために、インタリーバは、少なくともＮ符号ビットを、単一読出し動作で並列に内部畳込み符号器に提供するように構成できる。
【００７３】
外部および内部畳込み符号器のそれぞれからの符号ビットをパンクチャして、別の符号化率の符号ビットを提供できる。例えば表１を参照すると、外部畳込み符号器からの出力は、パケットフォーマット１については結合して符号化率１／２を実現し、パケットフォーマット２についてはパンクチャして符号化率２／３を得る。同様に内部畳込み符号器からの出力は、パケットフォーマット１については結合して符号化率１／２を実現し、パケットフォーマット２についてはパンクチャして符号化率３／４を得る。符号器とインタリーバ間のインタフェースは、記号パンクチャリングを効率的に達成するように構成される。
【００７４】
図７Ａはインタリーバ７００の一実施形態の図である。この実施形態では、インタリーバ７００はＰ個のポート（Ｐは２以上）を有するマルチポートメモリ７１０を用いて実現される。インタリーバを実現するのに使用される特定のメモリユニットに依存して、Ｐポートのそれぞれは書込みおよび読出しの両用に使用するか、または書込みまたは読出し専用に使用することができる。図７Ａに示す実施形態においては、メモリ７１０は書込みポートＤ１〜Ｄｗとして構成されるＷ個のポートと、読出しポートＱ１〜ＱＲとして構成されるＲ個のポートとを含む。メモリ７１０はさらに、Ｐ個のアドレスＡ１〜ＡＰを含み、１つのアドレスがＰポートのそれぞれに入力する。各書込みおよび読出しポートはＣ個のビットを並列に転送できる。
【００７５】
アドレス生成器７２０は入力アドレスＡＤＤＲを受け取り、各アクティブポートに必要なアドレスを生成し、この生成したアドレスをメモリ７１０のアドレスＡ１〜ＡＰに提供する。簡単化のために図７Ａには示していないが、アドレス生成器７２０はさらに、１つまたは複数の制御信号を生成し、この信号により、メモリ７１０に指示を与えた書込みまたは読出し動作を実行する。
【００７６】
一実施形態においては、メモリ７１０は、複数の行および列を有する２次元メモリとして構成される。一実施形態においては、符号ビットはメモリ７１０内の連続行に書き込まれる。効率を上げるため、各行の幅は各ポートの幅（すなわち、Ｃビット）に一致する。これにより、各書込み動作で、符号ビットの最大Ｗの行をメモリ７１０のＷの書込みポートに書込み可能にする。パケット全体の符号ビットがメモリ７１０に格納されると、符号ビットはメモリから取り出しできる。一実施形態においては、符号ビットはメモリ７１０から行単位で読み出しできる。図７Ａに示す実施形態については、符号ビットの最大Ｒ行が、各読出し動作で、Ｒ個の読出しポートから取り出しできる。
【００７７】
様々な構成を用いて、インタリーバ７００から内部畳込み符号器に符号ビットを提供できる。実現するための特性の構成は、特定のシステム要求事項に依存する。１つの構成では、Ｒ個のマルチプレクサ７３０Ａ〜７３０Ｒが、Ｒ個の読出しポートＱ１〜ＱＲにそれぞれ接続される。各読出し動作では、符号ビットの最大Ｒ行がメモリ７１０から取り出され、マルチプレクサ７３０Ａ〜７３０Ｒに提供され、これらのマルチプレクサはそれぞれ、制御信号ＡＤ１〜ＡＤＲを受け取る。各マルチプレクサ７３０はＣ個の符号ビットを受け取り、それぞれの制御信号ＡＤｘに基づいて符号ビットの１つを選択し、この選択した符号ビットをマルチプレクサ出力に提供する。制御信号ＡＤ１〜ＡＤＲは、符号ビットの取り出された各行から特定符号ビットを選択する。このようにして、Ｒ個のマルチプレクサ７３０を用いて、Ｒの符号ビットを内側畳込み符号器に並列に提供できる。
【００７８】
理解を深めるために、ここでは、図５Ａ、５Ｂ、および６で述べた外部および内部畳込み符号器と共に用いられる特定構成のインタリーバを説明する。前述の符号器の構成においては、外部畳込み符号器は、１クロックサイクル内で８データビットを並列に受け取って符号化し、１６の符号ビットを生成する。また内部畳込み符号器は４個の符号ビットを並列に受け取り、これを符号化する。特定のインタリーバ構成においては、８ポートメモリを使用し、この内の４ポートは書込み動作で符号ビットを受け取るために使用し、４ポートは読出し動作で符号ビットを提供するために使用する。この構成では、各ポートは８ビットを並列に受け取りまたは提供できる。したがって、この特定の構成については、最大３２符号ビットが書込み動作でインタリーバに書き込みでき、また最大３２符号ビットが読出し動作でインタリーバから読み出しできる。
【００７９】
図７Ｂは、外部畳込み符号器とパンクチャリングの無いインタリーバとの間のインタフェースの一実施形態の図である。この実施形態においては、外部畳込み符号器により生成された符号ビットは４つのレジスタ７３２Ａ〜７３２Ｄに提供される。レジスタ７３２Ａおよび７３２Ｂは第１クロックサイクル内で生成される１６符号ビットを受け取り、レジスタ７３２Ｃおよび７３２Ｄは第２クロックサイクル内（例えば、交互の）で生成される１６符号ビットを受け取る。非パンクチャリングが実行されるとき、レジスタ７３２Ａ〜７３２Ｄ上の全３２符号ビットは、単一書込み動作で、メモリのポートＤ１〜Ｄ４にそれぞれ提供される。
【００８０】
図７Ｃは、外部畳込み符号器とパンクチャリングを有するインタリーバとの間のインタフェースの一実施形態の図である。表１を参照すると、外部畳込み符号器に対する符号ビットは、パケットフォーマット２ではパンクチャリングパターン（１０１１）でパンクチャされる。したがって、１クロックサイクル内で、１６符号ビットが生成され、４符号ビットがパンクチャされ、１２符号ビットが格納される。最初に、第１クロックサイクルで生成された１６符号ビットがレジスタ７３２Ａおよび７３２Ｂに格納され、第２クロックサイクルで生成された１６符号ビットがレジスタ７３２Ｃおよび７３２Ｄに格納される。パンクチャリング後、図７Ｃに示すように、２４符号ビットが残り、３つの書込みポート（例えば、Ｄ１〜Ｄ３）に提供される。
【００８１】
アドレス生成器は、メモリ内の連続行に非パンクチャド符号ビットを書き込むために、適正なアドレスを提供する。１つのアドレスは、符号ビットを書き込むのに用いる各アクティブポートに対して生成される。したがって、アドレス生成器は、パンクチャリングが実行されないときはポートＤ１〜Ｄ４に対して４つのアドレスを生成し、パンクチャリングが実行されるときはポートＤ１〜Ｄ３に対して３つのアドレスを生成する。
【００８２】
４つの符号ビットを内部畳込み符号器に並列に提供するために、符号ビットの４行がメモリから取り出され、８×１マルチプレクサに提供される。各マルチプレクサはそれぞれ３ビットの制御信号ＡＤｘを受け取り、この信号により、取り出された行内の特定ビットを選択し、内部畳込み符号器に提供する。このように、取り出された各ビットのアドレスは２部分に分割され、第１部分はメモリ内の特定行を識別し、第２部分はこの行内の特定位置を識別する。アドレスの第１部分はメモリの適正なアドレス入力に提供され、第２部分は制御信号ＡＤｘとして提供される。アドレスの第１および第２部分は、実現されるシステムまたは標準により定義される特定のインタリービング方式に従って生成される。
【００８３】
典型的な実施形態のインタリーバは別のメモリを用いて実現できる。例えば、単一ポートのメモリユニットまたは複数のメモリユニットを用いて、複数ビットを並列に同時に格納および提供できる。単一ポートのメモリユニットについては、多重書込み動作を用いて、生成された符号ビットを格納でき、また、多重読出し動作を用いて必要とされる符号ビットを取り出しできる。複数メモリユニットを利用する構成においては、各メモリユニットは、マルチポートメモリのポート（またはポートのペア）と同様に動作できる。したがって、様々な構成を用いてインタリーバを実現可能なことは、本発明の範囲に含まれる。
【００８４】
前述の実施形態においては、インタリーバは外部畳込み符号器と内部畳込み符号器との間で使用される。この構成を用いて、特定の利点を有するターボ符号器が実現される。別の構成においては、外部畳込み符号器の後でインタリービングすることは必須ではなく、メモリは外部畳込み符号器の後に必ずしも必要でなく、または単にバッファとして利用することもできる。
【００８５】
典型的な実施形態の連結符号器は様々な方法で動作できる。１つの特定の構成においては、符号器は１度に１つのデータパケットを符号化するように動作する。図２を参照すると、特定のデータパケットは、外部畳込み符号器により符号化し、インタリーバに格納できる。パケット全体が外部畳込み符号器により符号化された後、符号ビットはインタリーバから取り出され、内部畳込み符号器により符号化される。内部畳込み符号器によりパケット全体が符号化されると、外部畳込み符号器により次のパケットが符号化される。この構成により、インタリーバについての必要メモリが低減され、これは用途によっては望ましいことである。
【００８６】
別の特定の構成においては、インタリーバは符号ビットの２つまたはそれ以上の符号を格納する容量を用いて実現される。例えば、インタリーバを実現するのに用いられるメモリは２つのバンクに分割され、各メモリバンクは符号ビットのパケット全体を格納できる。２つのメモリバンクにより、外部および内部畳込み符号器は２つのパケットを同時に操作できる。外部畳込み符号器は第１パケットを符号化して、このパケットの符号ビットを１つのメモリバンクに格納する。第１パケット全体がメモリに格納されると、外部畳込み符号器は第２パケットを符号化して、このパケットの符号ビットを第２メモリバンクに格納する。外部畳込み符号器が現在のパケットを符号化して１つのメモリバンクに格納する間に、内部畳込み符号器は別のメモリバンクから以前のパケットの符号ビットを取り出して符号化できる。この構成により、処理遅れを短縮できる。
【００８７】
図８は、いくつかの実施形態を実現する特定構成の符号器８００のブロック図である。この符号器８００を用いて図１の符号器１１４を実現できる。符号器８００はアドレス生成器８２０とメモリ８３０に接続された処理ユニット８１０を含む。処理ユニット８１０はバッファ８０２からのデータと、制御装置（図示せず）からの制御情報とを受け取り、この受け取ったデータを制御信号に従って符号化し、この符号化されたデータをバファ８５０に提供する。
【００８８】
図８に示す実施形態においては、処理ユニット８１０は入力インタフェース８１２、マルチビット符号器８１４、出力インタフェース８１６、および制御ユニット８１８を含む。入力インタフェース８１２は、バッファ８０２に対するアドレスおよび制御信号を生成し、この生成されたアドレスおよび制御信号に応答してバッファ８０２から提供されるデータを受け取り、この受け取ったデータをマルチビット符号器８１４に送る。マルチビット符号器８１４は、出力および内部畳込み符号器を実現し、また、図４で先に述べたような、１つまたは複数のルックアップテーブルを用いるか、または１つまたは複数の符号器を用いて実現できる。外側畳込み符号器として動作するとき、マルチビット符号器８１４は入力インタフェース８１２からのデータを符号化し、この生成された符号ビットをメモリ８３０に提供する。内部畳込み符号器として動作するとき、マルチビット符号器８１４はメモリ８３０からの符号ビットを符号化し、この生成された符号ビットを出力インタフェース８１６に提供する。
【００８９】
制御ユニット８１８は様々な制御情報、例えば、符号化する特定のデータパケット、バッファ８０２内のパケットの位置、パケットフォーマット、使用する符号化方式、バッファ８５０内の符号化パケットを格納する位置等の情報を受け取る。制御ユニット８１８は、入力インタフェース８１２に指令を与えてバッファ８０２から適正なデータビットを取り出し、符号器状態機械８１４に指令を与えて適正な符号化方式を使用し、さらに、出力インタフェースに指令を与えて、符号化されたデータをバッファ８５０内の適正な位置に提供する。
【００９０】
アドレス生成器８２０は適正なアドレスを生成し、メモリ８３０への符号ビットの書込みおよび読出しの両方を行なう。アドレス生成器８２０は論理回路、ルックアップテーブル、または別の構成を用いて実現できる。
【００９１】
メモリ８３０は、マルチビット符号器８１４により生成される符号ビットを格納し、またこの格納された符号ビットをマルチビット符号器８１４に提供できる。適正なアドレスを生成することにより、メモリ８３０を操作して、符号ビットにインタリービングを提供できる。メモリは、前述のようにマルチポートメモリを用いるか、あるいは１つまたは複数のメモリユニットを用いて実現できる。
【００９２】
図９は、複数のデータビットを並列に連結符号化する方法の一実施形態のフローチャートである。最初に、ステップ９１２において、特定のデータパケットからの複数の（Ｍ）データビットが受け取られ、ステップ９１４において、第１（例えば、畳込み）符号化方式に従って並列に符号化され、複数の（ＭＲ）符号ビットが生成される。第１符号化方式により生成される符号ビットの数は、その方式の特定の符号化率に依存する。この生成された符号ビットのゼロまたはそれ以上は、ステップ９１６において、第１パンクチャリング方式を用いてパンクチャして、異なる符号化率の符号ビットを提供する。次にステップ９１８において、非パンクチャド符号ビットはメモリに格納される。
【００９３】
図９に示す実施形態においては、パケット全体は第１符号化方式により符号化されて、格納され、その後、第２符号化方式により符号化される。これにより、前述のように、符号ビットのインタリービングを可能にする。したがって、ステップ９２０において、パケット全体を符号化したかどうかの決定がなされる。パケット全体が符号化されていない場合、工程はステップ９１２に戻り、別のＭ個（またはこれ以下）データビットが受け取られる。
【００９４】
一方、パケット全体が符号化された場合、ステップ９２２において、複数の（Ｎ）符号ビットがメモリから取り出され、ステップ９２４において、第２（例えば、畳込み）符号化方式に従って並列に符号化され、複数の（ＮＲ）符号ビットが生成される。なお、第２符号化方式により生成される符号ビットの数は、その方式の特定の符号化率に依存する。この生成された符号ビットのゼロまたはそれ以上は、ステップ９２６において、第２パンクチャリング方式を用いてパンクチャして、別の符号化率の符号ビットを提供する。次にステップ９２８において、非パンクチャド符号ビットは、符号化されたデータとして次の処理ユニット（例えば、図１の変調器１１６）に提供される。
【００９５】
効率化および遅れを低減させるために、Ｗ個のワードをメモリに並列（例えば、Ｗの書込みポートを介して）に格納し、Ｒ個のワードをメモリから並列（例えば、Ｒの読出しポートを介して）に取り出しできる。Ｗ個のワードにより、第１符号化方式から非パンクチャド符号ビットを並列に格納できるようになり、またＲ個のワードにより、第２符号化方式にＮ個の符号ビットを並列に提供できる。メモリを前述と同様に操作して、符号ビットのインタリービングを達成できる。例えば、Ｗ個のワードをメモリ内の連続行に書込みでき、また、Ｒ個のワードをメモリ内の置換された行から読出しできる。
【００９６】
典型的な実施形態の符号器およびインタリーバを用いて、符号化時間を大幅に短縮できる。外部畳込み符号器を用いてＭ個のデータビットを並列に、および内部畳込み符号器を用いてＮ個の符号ビットを並列に符号化することにより、全体の符号化遅れを大幅に短縮できる。本発明のインタリーバは、書込み動作では複数符号ビットを受け取り、また読出し動作では複数符号ビットを提供する能力を有することにより、並列符号化をサポートする。特定の構成についての処理遅れの改善は、ＨＤＲシステムにおけるＭ＝８およびＮ＝４ならびにパケットフォーマット１および２について、表７に示す。
【表７】
0005886235.tif 000013
【００９７】
表７に示す特定の構成については、全体符号化遅れが、本発明の符号器およびインタリーバにより提供される遅れに対して、４．８倍まで短縮されることは、大きな利点を与える。これらの利点のいくつかを以下に簡単に説明する。
【００９８】
第１に、短い処理遅れを用いて、より厳格な遅延要求条件を有する音声およびビデオなどの特定種類のサービスをサポートできる。このように、短い処理遅れにより、遅延に敏感な用途に対してさらに効率的な符号化方式を用いることが可能になる。
【００９９】
第２は、短い処理遅れにより、システム性能を改良できる。例えば、特定の時間において決定される通信リンクの条件に基づいて、特定の伝送に対して特定ユーザまたはデータ転送率が選択される場合、短い処理遅れにより、リンク条件がデータ伝送時間により変化しない可能性が増す。リンク条件は一般に時間の経過につれ変化し、長い処理遅れは、リンク条件データ伝送時間により変化する可能性を増し、その結果、性能の低下を引き起こす可能性がある。
【０１００】
第３は、短い処理遅れにより、特定の通信システムの容量を改良できる。例えば、ＨＤＲシステムにおいては、電力制御データはトラフィックデータを用いて多重化され、ユーザ端末に伝送される。短い処理遅れにより、ユーザ端末の伝送電力の正確な制御が可能になり、この結果、システム容量が増加し、性能が改良される。
【０１０１】
第４は、短い処理遅れにより、複数の伝送構成要素（すなわち、３つのセクタシステムにおける人のユーザ）による、１つの処理タイムスロット（すなわち、ＨＤＲシステムにおける順方向リンクスロット）内でのハードウェア資源（すなわち、符号器）の順次共有が可能になることにより、ハードウェア構成の全体領域を減少できる。
【０１０２】
理解を容易にするために、本発明の符号器の特定の態様および実施形態は、ＨＤＲシステムにおける順方向リンクについて特に説明してきた。しかし、本発明は、同一、類似、または異なる符号化方式を利用する他の通信システムにおいて使用することも可能である。例えば、本発明の符号器を用いて、複数データビットを並列に受け取り、これを符号化する畳込み符号器を実現できる。また、本発明の符号器を用いて、複数データビットを並列に受け取り、これを符号化できるターボ符号器などの結合符号器を実現できる。符号器の特定構成は様々な要素、例えば実現される特定多項式生成行列、並列に符号化されるビット数、パケットフォーマット、符号テールビット、およびその他などの要素に依存する。
【０１０３】
本発明の符号器は、通信システムの基地局またはユーザ端末（例えば、移動体、電話、その他）で有利に使用できる。順方向リンク（すなわち、ダウンリンク）および逆方向リンク（すなわち、アップリンク）に対する符号化は異なる可能性があり、一般には、実現される特定ＣＤＭＡシステムまたは標準に依存する。したがって、本発明の符号器は一般に、使用される特定用途に専用に構成される。
【０１０４】
表２および表３に示す特定の構成を参照すると、外部畳込み符号器に対する次の状態および出力は、最大７項目を有する機能を備えるように生成できる。表４〜６に示す特定の構成を参照すると、内部畳込み符号器に対する次の状態および出力は、最大５項目を有する機能を備えるように生成できる。これら機能は、当技術分野で公知の方法で論理ゲートを用いて容易に生成できる。外部および内部畳込み符号器の他の素子（例えば、レジスタ、マルチプレクサ）もまた、当技術分野で公知の方法で実現できる。
【０１０５】
本発明の符号器に対する前述の素子のすべてまたは一部（例えば、マルチビット符号器、入力および出力インタフェース、制御ユニット、符号器状態機会、出力発生器、マルチプレクサ、その他）は、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、ディジタル信号プロセッサ（ＤＳＰ）、プログラム可能論理素子（ＰＬＤ）、複合ＰＬＤ（ＣＰＬＤ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、設計された他の電子回路内で実現し、本明細書で述べる機能、またはそれらの組み合わせを実行できる。本発明の符号器の素子のすべてまたは一部は、プロセッサ上で実行されるソフトウェアまたはファームウェアを用いて実現できる。
【０１０６】
本発明のインタリーバを実現するのに使用されるメモリおよびメモリユニットは、例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、フラッシュメモリ、およびその他などの、様々なメモリ方法を用いて実現できる。メモリユニットはまた、例えば、ハードディスク、ＣＤ−ＲＯＭドライブ、およびその他などの記憶素子を用いて実現できる。メモリユニットの様々な別の実現化は可能であり、これらは、本発明の範囲に含まれる。
【０１０７】
複数ビットの再帰的な並列符号化
別の実施形態によれば、複数の符号器を並列に構成して、出力データ量を２倍にし、複数ビットをこの符号器で処理する。データ出力の増加は特に、フレームが高速で符号化される、高速データ転送率通信システムに適する。典型的な実施形態は１クロックサイクル当たり複数ビットを符号化することにより、データ伝送の時間制約に適合させる。この実施形態では、単一符号器を複数セクタで共有することにより、１セクタ当たり１符号器の使用を避ける。別の実施形態では、任意の数の符号器を並列に組み込む。符号化セクションをセクタで共有することにより、個々の符号器の速度に対する厳格性は低下する。
【０１０８】
典型的な実施形態の1つの態様によれば、フレームバッファメモリは各フレームの複数コピーを格納する。並列ルックアップテーブル（ＬＵＴ）および乗算器回路を用いて、ターボインタリーバアドレス生成器を実現する。この構成は、ＡＮＤ−ＸＯＲツリーを用いて、並列符号化を実現する。ビットパンクチャリング／順序付けは、符号化処理後に並列に実行される。
【０１０９】
図１０は、複数のユーザをサポートし、本発明の少なくともいくつかの態様および実施形態を実現できる通信システム１０００の例を示す。さまざまなアルゴリズムおよび方法のいずれかを利用して、システム１０００での伝送を計画できる。システム１０００は複数のセル１０２０Ａ〜１０２０Ｇに対して通信を提供し、これらセルのそれぞれは、対応する基地局１０４０Ａ〜１０４０Ｇのそれぞれからサービスを提供されている。典型的な実施形態においては、基地局１０４０の一部は複数の受信アンテナを有し、その他は受信アンテナを１つだけ有する。同様に、基地局１０４０の一部は複数の送信アンテナを有し、その他は単一の受信アンテナを有する。送信アンテナと受信アンテナの組み合わせには制約はない。したがって、基地局１０４０が複数の送信アンテナと単一の受信アンテナを有するか、あるいは複数の受信アンテナと単一の送信アンテナを有するか、あるいは単一または複数の送信および受信アンテナの両方を有することができる。
【０１１０】
カバレージエリア内の端末装置１０６０は固定（すなわち、常設）されていても、または移動していてもよい。図１に示すように、さまざまな端末装置１０６０がシステム全体に分散している。各端末装置１０６０は、例えばソフトハンドオフが利用されるかどうか、または端末装置が複数の基地局からの多重伝送を受信するように設計され、動作するか（同時または順次）どうかに依存して、任意の所定時間に、ダウンリンクおよびアップリンク上で少なくとも１つおよび場合により複数の基地局１０４０と通信する。ＣＤＭＡ通信システムのソフトハンドオフは当技術分野では公知であり、これの詳細は、米国特許第５，１０１，５０１号の、発明の名称「ＣＤＭＡ携帯電話システムにおけるソフトハンドオフを実現する方法およびシステム」に記載されている。前記特許は、本発明の譲受人に譲渡されている。
【０１１１】
ダウンリンクは基地局から端末装置への送信を指し、アップリンクは端末装置から基地局への送信を指す。典型的な実施形態においては、端末装置１０６０の一部は複数の受信アンテナを有し、その他は受信アンテナを1つだけ有する。図１では、基地局１０４０Ａはデータをダウンリンク上で端末装置１０６０Ａおよび１０６０Ｊに送信し、基地局１０４０Ｂはデータを端末装置１０６０Ｂおよび１０６０Ｊに送信し、基地局１０４０Ｃはデータを端末装置１０６０Ｃに送信する、等々である。
【０１１２】
典型的な実施形態によれば、無線通信システムは、並列に構成された複数畳込み符号器を用いて情報を符号化して伝送する。個々の符号器のそれぞれは小規模構造を有し、インタリーバを介して結合されている。並列符号器は複数出力を提供する。すなわち２つの符号器を並列とし、この組み合わせが２倍の出力値を提供する。次に、その出力でそれら出力値を選択して、別の処理に利用する。各符号器内の処理は並列に実行される。
【０１１３】
典型的な実施形態では、システムの1クロックサイクル当たり複数ビット、例えばサイクル当たり４ビットを処理する。典型的な実施形態の符号器は、ハードウェアおよびソフトウェアの組み合わせを用いて実現される。ハードウェアを利用して、情報の入力ビットを格納し、処理する。ソフトウェアはハードウェアを制御するための命令、および他の符号化計算、例えば符号化処理中の一時的値の生成を含む。
【０１１４】
図１１は、１つの実施形態による、クロック当り４ビットを符号化するターボ符号器ブロック１５００を示す。図１１に示されるターボ符号器ブロック１５００は、並列に接続された２つの系統的畳込み符号器１５０２、１５５２を使用しており、第２畳込み符号器の前にインタリーバ１５２２を有する。インタリーバ１５２２はターボインタリーバと呼ばれる。２つの畳込み符号はターボ符号の構成符号と呼ばれる。構成符号器の出力をパンクチャし、反復して、所望の数のターボ符号器出力記号を得る。１つの実施形態による構成符号の伝達関数は以下のようになる。
【数６】
0005886235.tif 000014
【０１１５】
構成符号器１５０２、１５５２のそれぞれは複数のレジスタ、詳細には符号器１５０２内にはレジスタ１５１０、１５１２、および１５１４、および符号器１５５２内にはレジスタ１５６０、１５６２、および１５６４を含む。最初、構成符号器１５０２、１５５２内のレジスタの状態はゼロに設定される。各符号器１５０２、１５５２は、入力スイッチ１５０１、１５５１によりそれぞれクロック制御される。情報ビットはスイッチ１５０１を介して第１符号器１５０２に入力として供給される。入力情報ビットはＮｔｕｒｂｏビットを含み、この数は実際には符号器１５００に入るビットの数である。この入力情報ビットはさらにターボインタリーバ１５２２に提供され、このインタリーバではビットをインタリーブ（すなわち、スクランブル）し、データの伝送の正確さを向上させる。ターボインタリーバ１５２２の出力は、スイッチ１５５１を介して第２符号器１５５２に提供される。符号器１５０２、１５５２のそれぞれの動作は類似であり、したがって、以下の説明では符号器１５０２の動作だけを詳しく述べる。別の実施形態は、ターボ符号器ブロック１５００に含まれる各符号器に対して、別の種類の符号器を実現する。
【０１１６】
符号器１５０２への入力はスイッチに供給され、このスイッチはシステムクロック（図示なし）により制御される。情報ビットは、各Ｎｔｕｒｂｏデータビット期間中に１回、スイッチがアップの位置にクロックで切り換えられる。次に、各テールビット期間中に数回、スイッチがダウンの位置にクロックで切り換えられる。１つの実施形態によれば、情報ビットは、テールビット期間中に６回クロックで切り換えられる（各符号器１５０２、１５５２に対する３クロックを含む）。符号化データ出力記号は、構成符号器１５０２、１５５２をＮｔｕｒｂｏ回クロックで切り換えてスイッチをアップ位置にし、所定のパンクチャリングパターンに従って出力をパンクチャすることにより生成する。符号器１５００の出力はＸ、Ｙ０、Ｙ１、Ｘ’、Ｙ’０、Ｙ’１の順で生成される。典型的な実施形態によれば、記号の反復は出力記号の生成中は実施されない。ターボ符号器１５００は符号化されたデータ出力記号に追加させるテール出力記号を生成する。テール出力記号が生成される前に、構成符号器１５０２、１５２０はＮｔｕｒｂｏ回クロックで切換えられる。
【０１１７】
ターボインタリーバ１５２２は、入力ビットシーケンスのそれぞれが、１つのアドレスシーケンスでアレイに順次に書込まれたものと同等結果の機能を生成するように構成される。この場合、このシーケンスは次に、所定のインタリービング手順またはプロトコルで定義される別のアドレスシーケンスで読出される。インタリーバの動作は、図１２に関して詳細に説明する。
【０１１８】
図１１についてさらに説明を続ける。スイッチ１５０１の１つの接点は入力に接続される。スイッチ１５０１の第２接点は排他的ＯＲ（ＸＯＲ）ゲート１５０４に接続される。ＸＯＲゲート出力１５０４の出力は一連のレジスタまたは遅延素子１５１０、１５１２、１５１４に接続される。各遅延素子は関連状態を有し、この場合、遅延素子１５１０内に格納された情報は「状態０」で示し、遅延素子１５１２内に格納された情報は「状態１」で示し、遅延素子１５１４内に格納された情報は「状態２」で示す。遅延素子１５１０の出力は「Ｓ０」で識別され、遅延素子１５１２の出力は「Ｓ１」で識別され、遅延素子１５１４の出力は「Ｓ２」で識別される。
【０１１９】
遅延素子１５１２および１５１４の出力はそれぞれ、ＸＯＲゲート１５１６の入力に接続される。ＸＯＲゲート１５１６の出力は入力スイッチ１５０１の第３接点とＸＯＲゲート１５０４の入力に接続される。ＸＯＲゲート１５０４の出力はさらに、ＸＯＲゲート１５０８の入力に接続される。ＸＯＲ１５０８への他の入力は、遅延素子１５１０、１５１２、１５１４の個々の出力のそれぞれから受け取られる。ＸＯＲゲート１５０４の出力はさらに、ＸＯＲゲート１５０６の入力に接続される。ＸＯＲ１５０６への他の入力は、遅延素子１５１０および１５１４の個々の出力から受け取られる。
【０１２０】
符号器１５０２の出力は、入力スイッチ１５０１からのＸ成分、ＸＯＲゲート１５０６からのパリティビット出力Ｙ０、およびＸＯＲゲート１５０８の出力からの第２パリティビット出力Ｙ１を含む。出力Ｘ、Ｙ０、およびＹ１はそれぞれ、記号パンクチャリングおよび反復ユニット１５２０に提供される。
【０１２１】
機能的には、符号器１５２０の構成により以下の式を実現する。
【数７】
0005886235.tif 000015
【０１２２】
ここでＩは入力情報ビットを表し、Ｓ０，Ｓ１、およびＳ２は遅延素子１５１０、１５１２、および１５１４の出力をそれぞれ表し、演算子マルプラスは論理ＸＯＲ演算を表す。ディジタル論理の結合および分配法則を適用すると、式（１０）および（１１）は以下のように簡単になる。
【数８】
0005886235.tif 000016
【０１２３】
典型的な実施形態によれば、ターボ符号器は２つのステージを有する。第１ステージでは、フレームが外部ソースから読み込まれる。ＣＲＣもこの第１ステージの間に計算される。第２ステージの間、フレームは符号化され、パンクチャされ、反復される。ターボ符号器の符号化率は１／３または１／５にできる。
【０１２４】
第２ステージの間、４ビットが符号器１５００において受け取られ、この４ビットは並列に処理されて、符号器のスループットを高める。効果的には、入力情報ビットＩ［０］：Ｉ［３］は同時に符号器１５００に提供され、入力情報ビットは、符号器１５００に直列に提供されたのと同様に処理される。これは式（１６）および（１７）を入力データに再帰的に適用することにより達成される。個々のクロックサイクルの間に、この状態の値が決定され、すなわち、それぞれ、Ｓ０「０」：Ｓ０［４］、Ｓ１「０」：Ｓ１［４］、Ｓ２「０」：Ｓ２［４］になる。
【０１２５】
図１２は、１つの実施形態によるインタリーバの動作を示す。図に示すように、インタリーバ１３００はカウンタ（図示なし）から入力を受け取り、ＡＤＤ回路１３０２をインクリメントする。機能的には、アドレス生成はメモリ格納行のアレイにカウンタ値を書き込むのに同一である。この行はビット反転または他の方法に従ってシャッフルされ、各行内の要素は、行特定線形合同式法シーケンスに従って置換される。次に、出力アドレスが列により読み出される。線形合同式法シーケンスは以下の式で与えられる。
【数９】
0005886235.tif 000017
【０１２６】
ここでｘ（０）＝ｃは、ルックアップテーブルからの行特定値である。
【０１２７】
図１２に関してさらに説明を続ける。カウンタ値からの最上位ビット（ＭＳＢ）情報は、加算ユニット１３０２に提供される。加算ユニット１３０２はカウンタのＭＳＢ値をインクリメントし、その結果を乗算ユニット１３０４に提供する。１つの実施形態においては、得られた値を変更して、所定のビット数だけを出力として提供する。カウンタ値からの最下位ビット（ＬＳＢ）情報はルックアップテーブル（ＬＵＴ）１３０８およびビット反転ユニット１３１０に提供される。ＬＳＢ情報を用いて、ＬＵＴ１３０８をアドレス指定し、その位置に格納された値が乗算ユニット１３０４に提供される。乗算ユニット１３０４への入力は合わせて乗算され、その積が選択ユニット１３０６に提供される。１つの実施形態においては、乗算ユニット１３０４は前記積の一部（積のＬＳＢ部分など）だけを１つの出力として選択ユニット１３０６に提供する。ビット反転ユニット１３１０は、カウンタ値のＬＳＢ部分について、前述と同様に、ビット反転動作を実行する。ビット反転ユニット１３１０の出力は選択ユニット１３０６に提供される。典型的な実施形態によれば、乗算ユニット１３０４から受け取られる選択ユニット１３０6への入力はＬＳＢ部分として利用され、また、ビット反転ユニット１３１０から受け取られる入力はＭＳＢ部分として利用される。選択ユニット１３０６はまた、前記結果として得られた出力アドレスが有効アドレスかどうかを決定する。そのアドレスが無効である場合、選択ユニットはその結果を破棄し、次のカウンタのインクリメントで、新しいアドレスが生成される。別の実施形態は、並列畳込み符号器間に別のインタリービング方式を適用することにより実現できる。
【０１２８】
なお、図１１の符号器１５００は無線トランシーバ内の複数も変調器ブロックと共有でき、したがって、典型的な実施形態の符号器は１クロックサイクル当たり複数ビットを符号化し、これにより、高速データ伝送システムの速度要求条件を満足させることができる。例えば、図１３に示すように、符号器１１００の機能動作は１クロックサイクル当たり４ビットを符号化し、この場合、符号器１１００は、４０ＭＨｚクロックを用いて、約３２μｓ内で最大サイズフレームを符号化するように構成される。前述のように、符号器１１００は２つのステージで動作する。第１ステージの間に、フレームが外部ソースから読み込まれ、ＣＲＣが計算される。第２ステージの間に、フレームは符号化され、パンクチャされ、反復される。典型的な実施形態の説明で用いたように、フレームはオーバーヘッド部分とペイロード部分とを有するデータ伝送ユニットである。
【０１２９】
図１３は、典型的な実施形態による符号器１１００の動作の機能図である。符号器１１００は、１つの実施形態によれば複数のＲＡＭ（ランダムアクセスメモリ）である外部ソースから、情報ビットを１６ビットワードとして受け取る。５つの同一コピーが符号器１１００内のメモリに格納される。次にこれらビットは、デマルチプレクサ１１３０を介して並列符号器１１３２に選択的に提供される。典型的な実施形態によれば、メモリからデマルチプレクサ１１３０に１６ビットが提供され、このデマルチプレクサ１１３０は１回に４ビットを選択して、並列符号器１１３２に提供する。並列符号器は４入力ビットを受け取り、３つの出力Ｘ、Ｙ０、Ｙ１を生成する。各出力は４ビット出力であり、ここでは、並列符号器が再帰的処理を実行して、各クロックサイクルにつき４ビット出力を生成する。
【０１３０】
前述のように、ＣＲＣ発生器１１３４は第１ステージの間に動作し、１６ビットのＣＲＣが現在処理中のパケットについて計算される。パケットはペイロード、ＣＲＣ部分およびテール部分を含む。１つの実施形態は可変長パケットをサポートする。データが１クロックサイクル当たり１６ビットで読み出しされるとき、ＣＲＣ発生器１１３４はＣＲＣを各サイクルで計算する。第１ステージの終端で、ＣＲＣは完了する。この時点で、ＣＲＣはメモリ格納ユニット（ＭＥＭ）１１２８および４つのメモリ格納デバイスのＭＥＭ１１０４〜１１０６に書き込まれる。またこの第１ステージの間に、情報ビットがＭＥＭ１１０４〜１１０６に提供される。情報ビットはＭＥＭ１１０４〜１１０６にクロックと同期して提供され、各クロックサイクルで１６ビットが送られる。なお、典型的な実施形態においては、ＭＥＭ１１０４〜１１０６は４つのメモリを含むが、別の実施形態では別の数のメモリを含むこともできる。ＭＥＭ１１０４〜１１０６は、それぞれがマルチプレクサ１１３６の入力に接続されている、アドレス生成器１１２４およびカウンタ１１２６からアドレス指定制御情報を受け取る。マルチプレクサ１１３６の出力は制御信号をＭＥＭ１１０４〜１１０６に提供する。アドレス生成器１１２４はアドレス指定をインクリメントして、４つの値を格納する。ＭＥＭ１１０４〜１１０６への書込みの間、ＭＥＭ１１０４〜１１０６のそれぞれは同一アドレスを受け取る。ＭＥＭ１１０４〜１１０６からの読出しの間、ＭＥＭ１１０４〜１１０６のそれぞれは異なるアドレスを受け取る。図１３に示すように、ＭＥＭ１１２８は並列符号器１１３２の１つにデータを提供し、一方、ＭＥＭ１１０４〜１１０６は第２並列符号器１１４４にデータを提供する。それぞれがＸ、Ｙ０、およびＹ１の出力セットを提供する、並列符号器１１３２および１１４４から、図１１のブロック１５２０などの記号反復およびパンクチャリングブロックに、出力ビットが提供される。
【０１３１】
図１４に示すように、情報ビットＩ［０］：Ｉ［３］が符号器１５００および１１００と類似の符号器１２００に提供される。符号器１１００は、式（１６）および（１７）を入力情報ビットＩ［０］：Ｉ［３］に適用するための、ルックアヘッド状態発生器１２００を含む。ルックアヘッド状態発生器１２０２は状態情報を生成し、状態Ｓ０［４］、Ｓ１［４］、Ｓ２［４］をレジスタまたはメモリ格納デバイス１２０４に格納する。状態情報は各システムクロックサイクルで更新される。第１値を格納する前に、メモリ格納デバイス１２０４は所定の状態値に初期化される。次に、状態値Ｓ０［０］：Ｓ０［３］、Ｓ１［０］：Ｓ１［３］、Ｓ２［０］：Ｓ２［３］がマルチビット出力発生器１２０６、１２０８に提供される。入力情報ビットＩ［０］：Ｉ［３］は出力Ｘ［０］：Ｘ［３］として提供される。マルチビット出力発生器１２０６は出力Ｙ０［０］：Ｙ０［３］を生成し、一方、マルチビット出力発生器１２０８は出力Ｙ１［０］：Ｙ１［３］を生成する。マルチビット出力発生器１２０６および１２０８は、前述の式（１６）および（１７）に基づいて再帰的に値を計算する。
【０１３２】
前述のように、典型的な実施形態のアドレス生成は、４つの読出しアドレスを４つのターボインタリーバメモリ１１０４、．．．、１１０６に提供する。ターボインタリービングアドレスは認識可能なパターンを持たないため、各アドレスの４つのコピーを生成して、１クロック当たり４ビットの読出しスループットを得ることが望ましい。インタリーバメモリ１１０４、．．．、１１０６のそれぞれは、読出しワードとして１つの１６ビットワードを提供し、複数の１６：１マルチプレクサを介して、１ビットが各１６ビット読出しワードから選択される。典型的な実施形態においては、各インタリーバ１１０４、．．．、１１０６はマルチプレクサ１１４０、．．．、１１４２のそれぞれに接続される。次に、４ビット（すなわち、各インタリーバ１１０４、．．．、１１０６から１ビット）が第２符号器１１４４まで通過する。
【０１３３】
全体符号化時間は、第１ステージの間ビットをメモリに読み込む時間と、第２ステージの間に符号化する時間とを加算した時間である。例えば、４０９６ビットのフレームサイズを考えると、このフレームを符号化する近似サイクル数は以下の式になる。
【数１０】
0005886235.tif 000018
【０１３４】
したがって、４０ＭＨｚシステムクロックを有するシステムでは、４０９６ビットフレームは符号化に約３２μｓを要し、これは目標の４０μｓ符号化時間内にある。
【０１３５】
前述のように、２ステージの符号器は内部メモリ構造体内に存在する全体パケットを有する。このような構造では入力情報は、４ビットを処理できる読出しポート（すなわち、クワド・リード・ポート）を介して符号器に提供される。外部フレームソースメモリは一般に１つの読出しポートであり、したがって、このメモリからのフレームを直接符号化するには別の方法が用いられる。典型的な実施形態では、１クロックサイクル当たり情報の複数情報ビットの再帰的処理を実現して、クロックサイクル当たり４つの符号化されたビットを提供する。
【０１３６】
ＣＲＣ発生器１１３４ならびに符号器１１３２および１１４４は１クロックサイクル当たり１ビット以上の速度でデータを操作する。典型的な実施形態では、全体にＡＮＤ−ＸＯＲツリー構造を実現して、並列処理を可能にする。別の実施形態では、式（１３）、（１４）、および（１５）を再帰的に実現して、任意の論理構造を実現する。各ＡＮＤ−ＸＯＲツリーは、ＡＮＤ−ＸＯＲツリーのタップを決定する、固有の２次元のビットアレイを与えられる。例えば、符号器１１３２、１１４４を考えると、各符号器は、パリティビット出力（すなわち、Ｙ０、Ｙ１）に対して異なるＸＯＲタップを有する内部の３ビット状態を含む。各符号器１１３２、１１４４は１クロックサイクル当たり並列処理で４ビットを符号化し、１／３速度符号器がクロック当たり１２ビットのデータ、すなわち、４Ｘビット、４Ｙ０ビット、４Ｙ１ビットを生成する。各出力ビットは全４入力ビットおよび現在の状態に依存する。各符号器は３つのＡＮＤ−ＸＯＲツリーを含み、このツリーは次の２グループの４ビット出力値および次の３ビット状態を生成する。Ｘ出力は入力から符号器に直接提供され、ＡＮＤ−ＸＯＲツリーを通しては提供されない。
【０１３７】
典型的な実施形態においては、複数の有効アドレスがクロックサイクルごとに要求される。典型的な実施形態によれば、複数アドレスは４つのアドレスを含む。４つの独立回路を用いて、４つの独立読出しアドレスを生成する。符号器１１４４については、４つの入力ビットがクロックサイクルごとに使用される。これら４つの入力ビットは、４フレームメモリ内の４つの異なるインタリーバアドレス位置から提供され、したがって、４つのアドレス生成器が４つのアドレスを提供する。
【０１３８】
図１１の符号器１５０２（および、１５５２も同様）により実行され、かつ図１４の特定動作で詳細に記載される反復的動作の例として、以下の用途を考える。素子１５１０、１５１２および１５１４内で生成され、格納される状態は、それぞれ、Ｓ０、Ｓ１、およびＳ２と識別される。所定の反復での各状態の計算は、以下の式で決定される。
【数１１】
0005886235.tif 000019
【０１３９】
ここでｎは反復指標である。符号器１５００は、反復ゼロでその入力に対応する入力Ｉ［０］を受け取った。これに対応して、各素子１５１０、１５１２、および１５１４は値Ｓ０［０］、Ｓ１［０］、およびＳ２［０］に初期化された。この場合、反復ｎ＝１に対して、式は以下のように実現される。
【数１２】
0005886235.tif 000020
【０１４０】
ここで、入力値および状態値はｎ＝０（初期化時）におけるものである。同様に、反復ｎ＝２では、反復ｎ＝１からの値は素子１５１０、１５１２、および１５１４に格納され、これらを用いて、以下の式で状態値を計算する。
【数１３】
0005886235.tif 000021
【０１４１】
先に生成された値および関係を用いて、式（２６）、（２７）および（２８）は以下の結果になる。
【数１４】
0005886235.tif 000022
【０１４２】
反復ｎ＝３に対する結果は以下のようになる。
【数１５】
0005886235.tif 000023
【０１４３】
同様に、反復ｎ＝４に対する結果は以下のようになる。
【数１６】
0005886235.tif 000024
【０１４４】
なお、反復によっては、符号器の構成および動作において利用できる、類似の状態計算関係をもたらす。
【０１４５】
第１ステージの間、符号器１１００の動作を継続することにより、符号器内のメモリは同一メモリアドレスに同一データを書き込まれる。第２ステージの間、メモリは異なるアドレスから独立的に読み出しされる。
【０１４６】
図１２の戻ると、図１２の回路は１クロックサイクル当たり１アドレスを生成する。入力カウンタは２のべき乗であり、したがって、ターボインタリーバ・ブロック・サイズで定義される範囲を外れるいくつかのアドレスが生成されることがある。この無効アドレスはアドレス生成器で検出され、飛び越される。パイプラインレジスタをアドレス生成回路の中間に挿入し、動作速度を増すことができる。
【０１４７】
図１５には、１つの実施形態によるターボインタリーバアドレス生成回路１４００を示す。イネーブル信号およびパケットサイズインジケータがアドレス・ポインタ１４０２に提供される。アドレスポインタ１４０２の出力は並列回路パス、およびアドレス値をインクリメントするのに用いられるＬＵＴ１４０４、１４５４に提供される。追加ユニット１４０６、１４５６は１ビットを、各ＬＵＴ１４０４、１４５４から受け取る２ビットに加える。追加ユニット１４０６、１４５６の出力は加算器１４０８、１４５８にそれぞれ提供される。次に、加算演算の結果はマルチプレクサ１４１０、１４６０に提供される。イネーブル信号は、それぞれが１２ビットを生成するマルチプレクサ１４１０、１４６０のそれぞれに提供される。マルチプレクサ１４１０、１４６０の出力は遅延素子１４１２、１４６２に提供され、この遅延素子の出力は加算器１４０８、１４５８に戻される。遅延素子１４１２、１４６２の出力は、ターボ符号器ＬＵＴ１４１４、１４６４を含む遅延素子の回路に提供される。遅延素子１４１２、１４６２の出力の７ＭＳＢは遅延素子１４１６、１４６６に提供される。５ＬＳＢはＬＵＴ１４１４、１４６４および遅延素子１４２０、１４７０の両方に提供される。遅延素子１４１６および１４１８は、遅延素子１４２２に接続された乗算器の入力に結合される。遅延素子１４６６、１４６８の出力は遅延素子１４７２に結合された乗算器ゲートの入力に接続される。遅延素子１４２０の出力はビット反転ユニット１４２４に接続される。遅延素子１４７０の出力はビット反転ユニット１４７４に接続される。各パスは最終的に遅延素子１４２６、１４７６にそれぞれ提供される。
【０１４８】
１つの実施形態によれば、有効アドレスは４グループに分割される。有効アドレスを与えるカウンタ値のそれぞれが決定されるが、またこれらカウンタ値は無効値を与えることもある。カウンタ値のアドレスへのマッピングはＬＵＴ１４０４、１４５４に格納される。個々のＬＵＴに対し、カウンタ値が無効アドレスに対応する値にまでインクリメントされると、ＬＵＴは適正なオフセット値を出力して、有効アドレスに対応する次のカウンタ値を提供する。この方法では、アドレス生成器だけが有効アドレスを生成する。この手順により、不必要なアドレス計算、すなわち後に破棄される無効アドレスの計算が回避される。
【０１４９】
図１５のアドレス生成回路は、図１６の符号器１６００などの符号器構成に利用できる。符号器１６００は、符号化されるフレームを提供する外部メモリに応答する。入力データの５つのコピーが作成され、メモリ１６２２、１６２４、１６２６、１６２８、および１６３０（ＭＥＭ１，ＭＥＭ２，ＭＥＭ３、ＭＥＭ４、およびＭＥＭ５と称される）のそれぞれに格納される。ＭＥＭ１は４つの連続ビットを符号器１６５０に提供する。ＭＥＭ１内のアドレスは順次アクセスされる。符号器１６５０は４ビット出力をＸ、Ｙ０、およびＹ１のそれぞれに供給する。
【０１５０】
アドレス生成器１６３２、１６３４、１６３６、および１６３８は、ＭＥＭ２，ＭＥＭ３、ＭＥＭ４、およびＭＥＭ５にそれぞれ接続される。ＭＥＭ２，ＭＥＭ３、ＭＥＭ４、およびＭＥＭ５はそれぞれ、符号器１６５２に１ビットを提供する。符号器１６５２はまた、４ビット出力をＸ、Ｙ０、およびＹ１のそれぞれに供給する。
【０１５１】
アドレス生成器１６３２、１６３４、１６３６、および１６３８は、関連メモリのそれぞれに対して固有の連続アドレス位置を生成する。例えば、１つの方式では、アドレス生成器１６３２はアドレス位置０、４、８などを生成し、アドレス生成器１６３４はアドレス位置１、５、９などを生成し、アドレス生成器１６３６はアドレス位置２、６、１０などを生成し、アドレス生成器１６３８はアドレス位置３、７、１１などを生成する。生成されたアドレスがインタリーバのブロックサイズを超えると、アドレス生成器はこのアドレスを飛び越す。
【０１５２】
図１７は、並列ターボ符号器で使用されるインタリーバのアドレスを生成する方法２０００を示す。この方法はステップ２００２においてカウンタを増やす。カウンタ値を用いて、図１６に示す実施形態などの、ターボ符号器内の入力データをインタリービングするためのアドレスを生成する。決定ダイヤモンド２００４において、カウンタ値をチェックして、カウント値が無効アドレスかどうかを決定する。無効アドレスは予め決定されており、この無効アドレスに一致するカウント値がメモリ格納デバイスに格納される。無効アドレスがデータパケットのサイズより大きいアドレスを指定すると、処理はステップ２００６に続き、カウンタを次の有効アドレスに調整する。そうでない場合、処理はステップ２００８に続き、初期に生成されたかまたは調整されたかによらず、カウンタ値に基づきアドレスを生成する。決定ダイヤモンド２０１０でパケットが完了した場合、処理は終了する。そうでない場合処理はステップ２００２に戻る。
【０１５３】
本発明は、さまざまな出力を処理する再帰的方法を用いて、複数ビットを並列に符号化する方法を提供する。各クロックサイクルの間、符号器は複数ビットを処理し、従来の畳込み符号器において連続的に生成される出力と整合性がある出力を生成する。１つの実施形態においては、入力データは複数のメモリ格納ユニットに格納され、このメモリ格納ユニットのそれぞれを固有にアドレス指定して、２つの並列符号器（例えばターボ符号器を組み込んでいる）にデータを提供する。
【０１５４】
このように、さまざまな出力を処理する再帰的方法を用いて、複数ビットを並列に符号化するための新規の、改良された方法および装置が実現された。アドレスは、複数メモリ格納ユニットの使用によるインタリービング動作のために生成され、カウンタを用いてインタリーバアドレスを生成し、マッピングにより無効アドレスを識別する。当業者には、前述の説明全体を通して引用されるデータ、命令、コマンド、情報、信号ビット、記号、およびチップは、有利には、電圧、電流、電磁波、磁界または磁粒、光の場または光粒子、またはそれらの組合せで表されることは理解されるであろう。さらに当業者には、本明細書で開示する実施形態に関連する、さまざまな例示の論理ブロック、モジュール、回路、およびアルゴリズムステップは、電気的ハードウェア、コンピュータソフトウェア、または両者の組合せとして実現できることは理解されるであろう。さまざまな例示のコンポーネント、ブロック、モジュール、回路、およびステップは一般に、それらの機能面で説明してきた。機能がハードウェアまたはソフトウェアとして実現されるかどうかは、特定用途およびシステム全体に与えられる構成の制約に依存する。当業者には、これら環境におけるハードウェアおよびソフトウェアの互換性、および各特定用途に対する前述の機能を実現する最良の方法を理解されるであろう。例えば、本明細書で開示する実施形態に関連する、さまざまな例示の論理ブロック、モジュール、回路、およびアルゴリズムステップは、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、現場プログラム可能ゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理素子、ディスクリートのゲートまたはトランジスタロジック、例えばレジスタおよびＦＩＦＯなどのディスクリートのハードウェアコンポーネント、ファームウェア命令セットを実行するプロセッサ、任意の従来のプログラム可能ソフトウェアモジュールおよびプロセッサ、または本明細書で述べる機能を実行するために構成されるそれらの任意の組合せにより、実現または実行できる。有利には、プロセッサはマイクロプロセッサにできるが、これとは別に、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、プログラム可能論理デバイス、ロジックアレイ素子、または状態機械であってもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で公知の任意の形態の格納媒体内に存在できる。有利には、典型的プロセッサは格納媒体に結合され、情報をその格納媒体との間で読出しまたは書込みする。あるいは、格納媒体はプロセッサと一体化できる。プロセッサおよび格納媒体はＡＳＩＣ内に存在できる。ＡＳＩＣは電話または他のユーザ端末内に存在できる。あるいは、プロセッサおよび格納媒体は電話または他のユーザ端末内に存在できる。プロセッサはＤＳＰおよびマイクロプロセッサの組合せとして、またはＤＳＰコアなどと組み合わせた２つのマイクロプロセッサとして実現できる。
【０１５５】
これまで、本発明の好ましい実施形態を示し、説明してきた。しかし、当業者には、本発明の精神または範囲から逸脱することなく、本明細書で開示した実施形態に対する多くの代替形態を形成することが可能であるのは明らかである。したがって、本発明は、以下の特許請求の範囲に従うことを除き、限定されないものとする。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
無線通信システムにおける符号器のインタリーバに対するアドレスを生成する方法であって、
第１有効アドレスに対応する第１カウンタ値を決定することと、
前記第１カウンタ値から前記第１有効アドレスを生成することと、
第２カウンタ値に対応する第２カウンタ値を決定することと、
前記第２カウンタ値に基づいて前記第２有効アドレスを生成することと、
を備える方法。
［Ｃ２］
前記第１カウンタ値および第２カウンタ値は、有効アドレスに対応する一式のカウンタ値内に含まれている、Ｃ１に記載の方法。
［Ｃ３］
アドレス生成は、前記カウンタ値にオフセットを加えることを備える、Ｃ２に記載の方法。
［Ｃ４］
前記第２カウンタ値の決定は、前記第１カウンタ値にカウンタオフセット値を加えることを備える、Ｃ２に記載の方法。
［Ｃ５］
前記一式のカウンタ値はメモリ格納デバイス内に格納され、格納された各カウンタ値は対応するカウンタオフセット値を有する、Ｃ４に記載の方法。
［Ｃ６］
無線通信システムにおけるインタリーバに対するアドレス生成装置であって、
第１有効アドレスに対応する第１カウンタ値を決定する手段と、
前記第１カウンタ値から前記第１有効アドレスを生成する手段と、
第２カウンタ値に対応する第２カウンタ値を決定する手段と、
前記第２カウンタ値に基づいて前記第２有効アドレスを生成する手段と、
を備えているアドレス生成装置。
［Ｃ７］
前記第２カウンタ値を生成する手段は、前記第１カウンタ値のオフセットカウンタ値を加える、Ｃ６に記載のアドレス生成装置。
［Ｃ８］
無線通信システムにおけるインタリーバに対するアドレス生成装置であって、
カウンタと、
それぞれがカウンタに接続された複数のアドレス生成器と、
を備える装置であり、
前記複数のアドレス生成器のそれぞれは、
前記カウンタに接続され、かつ対応するカウンタオフセット値を有する複数のカウンタ値を格納するメモリ格納デバイスと、
前記メモリ格納デバイスに接続され、かつ前記カウンタオフセット値を先に生成されたアドレスに加える第２カウンタと、
を備えている、アドレス生成装置。
［Ｃ９］
前記第２カウンタは、
前記メモリ格納デバイスに接続された第１入力を有する加算器と、
前記加算器の出力に接続された第１入力と、所定の初期値に接続された第２入力とを有するマルチプレクサと、
前記マルチプレクサの出力に接続され、かつ前記加算器の第２入力に接続された出力を有する第２メモリ格納デバイスと、
を備えている、Ｃ８に記載のアドレス生成装置。
［Ｃ１０］
前記メモリ格納デバイスと前記第２カウンタとの間に接続された追加回路をさらに備え、この追加回路が所定の値を前記メモリ格納デバイスの出力に加える、Ｃ９に記載のアドレス生成装置。
［Ｃ１１］
前記第１メモリ格納デバイスはルックアップテーブルである、Ｃ１０に記載のアドレス生成装置。
［Ｃ１２］
連続する入力情報ビットを格納するための複数のメモリと、
前記入力情報ビットをスクランブルするための複数のインタリーバと、
前記メモリに接続され、かつ前記連続の入力情報ビットを符号化する第１符号器と、
前記複数のメモリに接続され、かつ前記インタリーブされた入力情報ビットを符号化する第２符号器と、
を備えているデータ符号器。
［Ｃ１３］
前記第１符号器および第２符号器は１システムクロックサイクル当たり複数ビットを処理する、Ｃ１２に記載のデータ符号器。
［Ｃ１４］
前記第１符号器および第２符号器は複数のＡＮＤ−ＸＯＲツリーを含む、Ｃ１３に記載のデータ符号器。
［Ｃ１５］
前記第１符号器および第２符号器は複数のビットを再帰的に処理する、Ｃ１４に記載のデータ符号器。
［Ｃ１６］
データを符号化する方法であって、
複数の入力ビットを受け取ることと、
前記複数の入力ビットに基づいて第１セットの状態値を計算することと、
前記第１セットの状態値および前記複数の入力ビットを用いて第１セットの符号化出力値を生成することと、
を備える、データ符号化方法。
［Ｃ１７］
前記第１セットの状態値はメモリ格納デバイス内に格納される、Ｃ１６に記載のデータ符号化方法。
［Ｃ１８］
前記複数の入力ビットおよび前記第１セットの状態値に基づき第２セットの状態値を生成することをさらに備え、
前記第１セットの符号化出力値の生成は、前記第１セットの状態値、前記第２セットの状態値、および前記複数の入力ビットを利用する、Ｃ１７に記載のデータ符号化方法。
［Ｃ１９］
前記複数の入力ビットを第１セットの出力として提供することをさらに備える、Ｃ１８に記載のデータ符号化方法。
［Ｃ２０］
データを符号化する方法であって、
複数の入力ビットを受け取ることと、
単一システムクロックサイクルの間に、
前記複数の入力ビットに基づいて第１セットの状態値を計算することと、
前記複数の入力ビットおよび前記第１セットの状態値に基づいて第２セットの状態値を計算することと、
前記複数の入力ビットならびに前記第１および第２セットの状態値に基づいて第３セットの状態値を計算することと、
前記第１、第２、および第３セットの状態値に基づいてセットの符号化出力を生成することと、
を備える、データ符号化方法。
［Ｃ２１］
前記第３セットの状態値をメモリ格納デバイス内に格納することをさらに備える、Ｃ２０に記載のデータ符号化方法。
［Ｃ２２］
第２の複数の入力ビットを受け取ることと、
単一システムクロックサイクルの間に、
前記第２の複数の入力ビットおよび前記第３セットの状態値に基づいて第４セットの状態値を計算することと、
前記第２の複数の入力ビットおよび前記第４セットの状態値に基づいて第５セットの状態値を計算することと、
前記第２の複数の入力ビットならびに前記第４および第５セットの状態値に基づいて第６セットの状態値を計算することと、
前記第４、第５、および第６セットの状態値に基づいて第２セットの符号化出力を生成することと、
をさらに備える、Ｃ２１に記載のデータ符号化方法
［Ｃ２３］
複数の入力ビットを受け取ると、１システムクロックサイクル間に複数の状態値を生成するルックアヘッド状態発生器と、
前記ルックアヘッド状態発生器に接続され、かつ前記複数の状態値に応じてセットの出力値を出力する第１出力発生器と、
前記ルックアヘッド状態発生器に接続され、かつ前記複数の状態値に応じて第２セットの出力値を出力する第２出力発生器と、
を備える符号器装置
［Ｃ２４］
前記第１出力発生器は
［数１７］
0005886235.tif 000025
に従うセットの出力値を発生し、ここでＳ１およびＳ０は前記ルックアヘッド状態発生器で生成される前記複数の状態値の状態であり、Ｉは前記複数の入力ビット内の入力ビットである、Ｃ２３に記載の符号器装置。
［Ｃ２５］
前記第２出力発生器は
［数１８］
0005886235.tif 000026
に従う第２セットの出力値を発生する、Ｃ２４に記載の符号器装置。
［Ｃ２６］
データを符号化する装置であって、
複数の入力ビットを受け取る手段と、
前記複数の入力ビットに基づいて第１セットの状態値を計算する手段と、
前記複数の入力ビットおよび前記第１セットの状態値に基づいて第２セットの状態値を計算する手段と、
前記複数の入力ビットならびに前記第１および第２セットの状態値に基づいて第３セットの状態値を計算する手段と、
前記第１、第２、および第３セットの状態値に基づいてセットの符号化出力を生成する手段と、
を備えているデータ符号化装置。
［Ｃ２７］
データ処理ユニットと、
複数のコンピュータ読取り可能命令を格納するメモリ格納デバイスと、を備える装置であって、
複数の入力データを受け取ることと、
単一システムクロックサイクルの間に、
前記複数の入力ビットに基づいて第１セットの状態値を計算することと、
前記複数の入力ビットおよび前記第１セットの状態値に基づいて第２セットの状態値を計算することと、
前記複数の入力ビットならびに前記第１および第２セットの状態値に基づいて第３セットの状態値を計算することと、
前記第１、第２、および第３セットの状態値に基づいてセットの符号化出力を生成することと、
を備える装置。
【図１】
0005886235.tif 000027
【図２】
0005886235.tif 000028
【図３】
0005886235.tif 000029
【図４】
0005886235.tif 000030
【図５Ａ】
0005886235.tif 000031
【図５Ｂ】
0005886235.tif 000032
【図６】
0005886235.tif 000033
【図７Ａ】
0005886235.tif 000034
【図７Ｂ】
0005886235.tif 000035
【図７Ｃ】
0005886235.tif 000036
【図８】
0005886235.tif 000037
【図９】
0005886235.tif 000038
【図１０】
0005886235.tif 000039
【図１１】
0005886235.tif 000040
【図１２】
0005886235.tif 000041
【図１３】
0005886235.tif 000042
【図１４】
0005886235.tif 000043
【図１５】
0005886235.tif 000044
【図１６】
0005886235.tif 000045
【図１７】
0005886235.tif 000046