(57)【特許請求の範囲】
【請求項１】
ＯＦＤＭフレームを送信するためにフレーム・データを符号化するための方法であって、
ＯＦＤＭフレーム内のＯＦＤＭ記号のキャリア上で変調されるフレーム・データから要素のコード・ブロックを生成するステップと、
要素がマトリックスとして編成される場合に、前記要素が複数の対角線に沿ったグループ分けで前記ＯＦＤＭ記号の前記キャリヤ上で変調されるように、前記コード・ブロックの要素をインタリーブするステップと、を含み、
前記インタリーブするステップが、
前記対角線に沿った前記要素を選択するステップであって、それによりベクトル要素からなるベクトルを集合的に形成する対角線シーケンスを生成するステップと、
連続している記号内のキャリヤ上で変調を行うべく前記ベクトルから連続したベクトル要素を選択するステップであって、その結果、前記対角線に沿った前記要素が、連続している記号内の隣接記号にまたがって隣接キャリヤ上に存在し、それにより前記要素の前記複数の対角線に沿ったグループ分けが生成されるステップと、
を含む方法。
【請求項２】
請求項１記載の方法であって、前記フレーム・データが、媒体アクセス制御プロトコルをサポートするためのＰＨＹ層フレーム制御情報を含む方法。
【請求項３】
請求項２記載の方法であって、前記ＯＦＤＭフレームが、少なくとも１つのデリミタを含み、前記ＰＨＹ層フレーム制御情報が、前記少なくとも１つのデリミタ内に位置する方法。
【請求項４】
請求項３記載の方法であって、前記ＯＦＤＭフレームが、ペイロードを含み、前記少なくとも１つのデリミタが、前記ペイロードの前に位置する開始デリミタを含む方法。
【請求項５】
請求項４記載の方法であって、前記少なくとも１つのデリミタが、さらに、前記ペイロードの後に位置する終了デリミタを含む方法。
【請求項６】
請求項３記載の方法であって、前記少なくとも１つのデリミタが応答を含む方法。
【請求項７】
請求項３記載の方法であって、前記少なくとも１つのデリミタが送信要求タイプである方法。
【請求項８】
請求項３記載の方法であって、前記媒体アクセス制御プロトコルが、キャリヤ検出多重アクセス・タイプである方法。
【請求項９】
請求項３記載の方法であって、前記媒体アクセス制御プロトコルが、時分割多元接続プロトコルであり、前記少なくとも１つのデリミタが、前記時分割多元接続プロトコルが使用するビーコン情報を含む方法。
【請求項１０】
請求項３記載の方法であって、前記媒体アクセス制御プロトコルがトークン通過タイプである方法。
【請求項１１】
請求項１記載の方法であって、前記コード・ブロックが積コード・ブロックから成る方法。
【請求項１２】
請求項１記載の方法であって、ＯＦＤＭ記号の数が３であり、前記対角線に沿った前記要素を選択するステップが、
前記マトリックスの一つの角の要素から対角側の角の要素までを通る主な対角線内の第１の要素を選択し、次に、前記対角線内の連続している要素の中から３番目の要素ごとを選択するステップと、
前記選択した第１の要素と３番目の要素ごとを、選択した順序で前記ベクトル内に配置するステップとを含む方法。
【請求項１３】
請求項１２記載の方法であって、インタリーブするステップがさらに、
前記対角線に沿って連続している要素が、前記連続している記号内の隣接記号にまたがって隣接キャリヤ上に存在するように、前記連続している記号内のキャリヤ上で変調を行うために、前記ベクトルから連続しているベクトル要素を選択するステップを含む方法。
【請求項１４】
請求項１３記載の方法であって、前記連続している記号内のキャリヤ上での変調のための前記ベクトルからのベクトル要素の選択により、あるレベルの冗長性が生じる方法。
【請求項１５】
請求項１記載の方法であって、ＯＦＤＭ記号の数が４であり、前記ベクトルが複数の行の４つの列として配列されている方法。
【請求項１６】
請求項１記載の方法であって、前記連続している記号内のキャリヤ上での変調のための前記ベクトルからのベクトル要素の選択により、あるレベルの冗長性が生じる方法。
【請求項１７】
請求項１記載の方法であって、前記コード・ブロックが、積コード・ブロックであり、生成するステップが、
一組の短縮拡張ハミング・コード符号語から前記積コード・ブロックを入手するステップを含む方法。
【請求項１８】
請求項１記載の方法であって、生成するステップがさらに、
前記一組の符号語を対称にするために、ジェネレータ・マトリックスを選択するステップを含む方法。
【請求項１９】
請求項１記載の方法であって、前記ＯＦＤＭフレームがペイロードを含み、前記フレーム・データが前記ペイロードの前に位置するフレーム制御情報を含む方法。
【請求項２０】
請求項１記載の方法であって、前記ＯＦＤＭフレームが肯定応答フレームであり、前記フレーム・データが前記肯定応答パケット内に含まれているフレーム制御情報を含む方法。
【請求項２１】
ＯＦＤＭフレームを送信するためにデータを符号化するための装置であって、
ＯＦＤＭパケット内のＯＦＤＭ記号のキャリヤ上で変調されるフレーム・データから要素のコード・ブロックを生成するためのエンコーダと、
要素がマトリックスとして編成される場合に、前記要素が複数の対角線に沿ったグループ分けで各キャリヤ上で変調されるように、前記要素をインタリーブするための前記エンコーダに接続しているインタリーバと、を備え、
前記インタリーバは、
前記対角線に沿った前記要素を選択し、それによりベクトル要素からなるベクトルを集合的に形成する対角線シーケンスを生成し、かつ
連続している記号内のキャリヤ上で変調を行うべく前記ベクトルから連続したベクトル要素を選択し、その結果、前記対角線に沿った前記要素が、連続している記号内の隣接記号にまたがって隣接キャリヤ上に存在し、それにより前記要素の前記複数の対角線に沿ったグループ分けが生成される、
ように構成されている、装置。
【請求項２２】
請求項２１記載の装置であって、前記フレーム・データが、媒体アクセス制御プロトコルをサポートするためにＰＨＹ層フレーム制御情報を含む装置。
【請求項２３】
ＯＦＤＭ送信のためにデータを符号化するための、コンピュータ可読媒体上に存在するコンピュータ・プログラムであって、前記コンピュータ・プログラムが、コンピュータに
ＯＦＤＭパケット内で、ＯＦＤＭ記号のキャリヤ上で変調されるデータから要素の積コード・ブロックを生成させ、
要素がマトリックスとして編成される場合に、前記要素が複数の対角線に沿ったグループ分けで各キャリヤ上で変調されるように、前記積コード・ブロックの要素をインタリーブさせるための命令を含み、前記インタリーブは、
前記対角線に沿った前記要素を選択し、それによりベクトル要素からなるベクトルを集合的に形成する対角線シーケンスを生成すること、および
前記連続している記号内のキャリヤ上で変調を行うべく前記ベクトルから連続したベクトル要素を選択し、その結果、前記対角線に沿った前記要素が、連続している記号内の隣接記号にまたがって隣接キャリヤ上に存在し、それにより前記要素の前記複数の対角線に沿ったグループ分けが生成されること、
からなる、コンピュータ・プログラム。
【発明の詳細な説明】
（発明の背景）
本発明は、ＯＦＤＭ（直交周波数分割多重化）データ伝送システムに関する。
【０００１】
ＯＦＤＭデータ伝送システムの場合には、使用可能な送信チャネル帯域幅が、重畳していて相互に直交している多数の個々のチャネルまたはキャリヤに再分割される。データは、所定の持続時間を有すると共にいくつかの搬送周波数を含む記号の形で送信される。これらのＯＦＤＭ記号キャリヤにより送信されるデータは、２値位相シフトキー（ＢＰＳＫ）または直交位相シフトキー（ＱＰＳＫ）のような従来のスキームにより符号化され、振幅変調および／または位相変調される。
【０００２】
ＯＦＤＭデータ伝送システムの技術における周知の問題は、送信チャネル上でバースト誤りを発生するインパルス・ノイズと、周波数の選択的フェージングをよく起こす拡散遅延の問題である。これらの問題を解決するために、従来のシステムは、インタリーブ技術と共に順方向誤り訂正（ＦＥＣ）符号化を使用してきた。順方向誤り訂正符号化は、符号語内の１つまたはそれ以上の誤りを検出または訂正できるようにするパリティ・データを追加する。インタリーブにより、時間ダイバーシティと周波数ダイバーシティを達成するために、送信の前に符号語データのブロック内の符号語ビットの順序が再配列される。
【０００３】
従来のインタリーブ技術は、ＯＦＤＭデータ伝送時のインパルス・ノイズおよび拡散遅延の影響の一部を最低限度まで低減することができるけれども、そのような技術は、イベント・ノイズおよび周波数空白の総合的影響を緩和することはできず、長いノイズ・イベントを引き起こす恐れがある。さらに、この順方向誤り訂正符号化およびインタリーブは、送信されるすべてのデータに使用され、そのため、データの重要性およびデータの使用方法とは無関係に、同じレベルのエラー保護を行う。
【０００４】
（発明の概要）
本発明は、フレーム・データ、特にフレーム制御情報の確実なＯＦＤＭ送信のための、フレーム・データの符号化および復号化機構をその特徴とする。
【０００５】
本発明の１つの態様では、ＯＦＤＭフレーム送信用のフレーム・データの符号化は、要素をマトリックスとして編成される場合に、要素が、対角線に沿ったグループ分けでキャリヤ上で変調されるように、ＯＦＤＭフレーム内のＯＦＤＭ記号のキャリヤ上で変調されるフレーム・データからの要素のコード・ブロックの生成、および要素のインタリーブを含む。
【０００６】
本発明の実施形態は、以下の特徴の中の１つまたはそれ以上を含むことができる。
フレーム・データは、媒体アクセス制御プロトコルをサポートするための、ＰＨＹ層フレーム制御情報を含む。ＯＦＤＭフレームは、少なくとも１つのデリミタ（デリミタ）を含むことができ、ＰＨＹ層フレーム制御情報は、該少なくとも１つのデリミタ内に位置することができる。ＯＦＤＭフレームは、１つの本体を含むことができ、少なくとも１つのデリミタは、本体の前に開始デリミタを含むことができる。少なくとも１つのデリミタは、さらに、本体の後に位置する終了デリミタを含むことができる。少なくとも１つのデリミタは、応答タイプのデリミタであってもよいし、送信要求（ＲＴＳ）タイプのデリミタであってもよい。媒体アクセス制御プロトコルは、キャリヤ検出多重アクセス・タイプであってもよい。媒体アクセス制御プロトコルとしては、時分割多元接続プロトコルを使用することができ、および少なくとも１つのデリミタは、このようなプロトコルが使用するビーコン情報を含むことができる。媒体アクセス制御プロトコルとしては、トークン通過タイプのものを使用することができる。
【０００７】
インタリーブは、対角線シーケンスを生成するために、対角線に沿った要素から選択することを含むことができる。要するに、対角線シーケンスは、ベクトル要素のベクトルを形成することができる。インタリーブはさらに、対角線に沿ってグループ分けを行うために、対角線内の要素が、連続している記号内の隣接記号を横切って隣接キャリヤ上に表示されるように、連続している記号でのキャリヤ上での変調のために、ベクトルから連続したベクトル要素を選択することを含むこともできる。連続している記号でのキャリヤ上での変調のために、ベクトルからベクトル要素を選択すると、あるレベルの冗長性が生じる。
【０００８】
ＯＦＤＭ記号の数は３に等しいので、選択は、主要な対角線内の第１の要素の選択、およびその後の対角線内の連続している要素からの３番目の要素ごとの選択、および選択した第１の要素およびベクトル内の３番目の要素ごとの、選択順序による配列を含むことができる。インタリーブはさらに、対角線内の連続している要素が、連続している記号内の隣接記号を横切って隣接キャリヤ上に表示されるように、連続している記号でのキャリヤ上での変調のために、ベクトルからの連続しているベクトル要素の選択を含むこともできる。連続している記号でのキャリヤ上での変調のために、ベクトルからのベクトル要素を選択すると、あるレベルの冗長性が生じる。
【０００９】
ＯＦＤＭ記号の数は４に等しく、ベクトルが複数の行の４つの列として配列されているので、選択は、各対角線に沿った連続している要素の選択と、隣接行のグループ内のベクトル内への選択した要素の配置とを含むことができる。
【００１０】
コード・ブロックは、積コード・ブロックであってもよく、積は、短縮拡張ハミング・コード符号語セットからの、積コード・ブロックの入手を含むことができる。積は、さらに、一組の符号語を対称にするために、ジェネレータ・マトリックスの選択を含むことができる。
【００１１】
ＯＦＤＭフレームは、本体を含むことができ、フレーム・データは、本体の前に位置するフレーム制御情報を含むことができる。別な方法としては、ＯＦＤＭフレームは、肯定応答フレームであってもよく、フレーム・データは、フレーム制御情報を含むことができる。
【００１２】
本発明の他の態様では、符号化されたフレーム制御情報の復号化は、情報ビットを有し、対称な一組の符号語に属する符号語で符号化され、かつインタリーブされた順序でＯＦＤＭ記号でキャリヤ上で変調されたフレーム制御情報から、ソフト決定値を生成することと、各組が符号語の中の１つに関連している複数の組のソフト決定値を生成するために、ソフト決定値をデインタリーブすることと、復号化手順を簡単にするために、対称性に従ってソフト決定値の各組に対して復号化手順を行うこととを含む。
【００１３】
本発明の実施形態は、以下の特徴のうちの１つまたはそれ以上を含むことができる。
復号化手順は、ターボ復号化手順であってよく、ターボ復号化手順の実行は、ｉ回の各反復の実行を含むことができる。ｉ回の各反復の実行は、下記のものを含み得る：すなわち、一組の決定値からの新しい一組のソフト決定値の決定；一組のソフト決定値と新しい一組のソフト決定値との間の違いに対する差の値の決定；差の値の加重；一組のソフト決定値と加重した差の値の合計による一組のソフト決定値の更新。
【００１４】
新しい一組のソフト決定値の決定は、一組のソフト決定値からの、一組の符号語のサブセットに対応する相関値の生成、および、サブセットに対応する相関値からの、該一組の符号語の対称性に基づく、該一組の符号語の残りに対応する相関値の生成を含むことができる。
【００１５】
新しい一組のソフト決定値の決定はさらに、その一組の各ソフト決定値に対する最善の相関値を選択するための、その一組の符号語の対称性の使用を含む。
実行はさらに、一組のソフト決定値が関連する符号語の中の１つ内の各情報ビットに対するソフト決定値の各組からの、ハード決定値の生成を含むことができる。
【００１６】
符号語は、積コードにより生成することができ、ターボ復号化手順としては、ターボ積復号化手順を使用することができる。
符号語は、複数要素の積コード・ブロックの形をとることができ、インタリーブされた順序は、少なくともいくつかの要素のコピーを含むことができ、符号化されたフレーム制御情報の復号化は、さらに、コピーの結合を含むことができる。結合は、コピーに対する位相ノイズ値の生成、位相ノイズ値によるコピーの加重、および加重コピーの合計を含むことができる。
【００１７】
本発明の利点のいくつかは下記の通りである。インタリーブ技術は、あるレベルの冗長性を供給し、そのレベルの冗長性を、より高いビット誤り率に耐えられるような方法で、周波数領域および時間領域内のダイバーシティと結合する。それ故、符号語ビットは、対角線に沿ってグループ分けされ、これらの対角線に沿ったグループ分けは、１つの記号内の連続しているキャリヤを横切っておよび１つのキャリヤに対して連続している記号を横切って分布しているので、バースト伝送誤りに対する保護のレベルは大きく改善される。例えば、周波数空白による隣接キャリヤのあるグループ上でビットが喪失しても、これらのビットが属する符号語を依然として回復することができる。さらに、冗長性を有し、インタリーブによりビットが対角線に沿って配列されているので、劣化したビットの全記号を受信して、これらの劣化したビットを含む符号語を訂正することができる。
【００１８】
さらに、対称性に対して、（復号化中に符号語の相関がチェックされる）一組の符号語を生成するために、ジェネレータ・マトリックスを選択することにより、フレーム制御デコーダの実行を遥かに簡単にすることができる。すなわち、フレーム制御復号化機構は、少ない動作と簡単な回路により復号化するために、一組の符号語の対称性を利用することができる。
【００１９】
以下の詳細な説明および特許請求の範囲を読めば、本発明の他の特徴および利点を理解することができるだろう。
（発明の詳細な説明）
図１について説明すると、ネットワーク１０は、送信媒体または例えば電力線のようなチャネル１４に接続しているネットワーク・ノード１２ａ，１２ｂ，．．．，１２ｋを含む。送信媒体１４を通しての、少なくとも２つのネットワーク・ノード１２間の通信中、第１のネットワーク・ノード（例えば１２ａ）は、送信ネットワーク・ノードとして機能し、少なくとも１つの第２のネットワーク・ノード（例えば１２ｂ）は、受信ネットワーク・ノードとして機能する。各ネットワーク・ノード１２は、例えば、ホスト・コンピュータ（図示）やケーブル・モデムなどのような端末デバイス１６を含む。ネットワーク・ノード１２はさらに、データ・インタフェース２０により端末デバイス１６に接続されている媒体アクセス制御（ＭＡＣ）ユニット１８、およびＭＡＣ−ＰＨＹ  Ｉ／Ｏバス２４によりＭＡＣユニット１８に接続されている物理層（ＰＨＹ）ユニット２２、およびアナログ・フロントエンド（ＡＦＥ）ユニット２６を含む。ＡＦＥユニット２６は、別個のＡＦＥ入力ライン２８ａおよび出力ライン２８ｂにより、ＰＨＹユニット２２に接続しており、また、ＡＦＥ／ＰＬインタフェース３０により、送信媒体１４に接続している。
【００２０】
通常、ＭＡＣユニットおよびＰＨＹユニットは、オープン・システム相互接続（ＯＳＩ）モデル・データ・リンク層および物理層にそれぞれ適合している。ＭＡＣユニット１８は、データのカプセル内への収容／カプセルからの取出しを行い、また、送信（Ｔｘ）および受信（Ｒｘ）機能に対する媒体アクセス管理を行う。好適には、ＭＡＣユニット１８は、ＩＥＥＥ  ８０２．１１規格が規定しているような、衝突回避を含むキャリヤ検出多重アクセス（ＣＳＭＡ／ＣＡ）のような衝突回避媒体アクセス制御スキームを使用することが好ましい。しかし、衝突回避タイプおよび他のタイプの他の適当なＭＡＣプロトコルも使用することができる。例えば、時分割多元接続（ＴＤＭＡ）またはトークン通過スキームも使用することができる。ＰＨＹユニット２２は、以下にさらに詳細に説明するように、とりわけ機能の中でも、送信符号化および受信復号化を行う。ＡＦＥユニット２６は、送信媒体１４へ接続するためのものである。ＭＡＣユニットおよびＡＦＥユニットは、任意の方法で実行することができ、それ故、以下にさらに詳細に説明する。
【００２１】
ノード間で交換される通信の単位は、フレーム（またはパケット）の形である。本明細書内で互換的な意味で使用される「フレーム」および「パケット」という用語は、ＰＨＹ層プロトコル・データ・ユニット（ＰＤＵ）を意味する。フレームは、以下に説明するように、デリミタ情報およびデータ（すなわちペイロード）のようなフレーム・データを含む。デリミタは、プリアンブルとフレーム制御情報が結合したものである。データおよびフレーム制御情報は、ＭＡＣ層から受信されるが、図２を参照しながら以下に説明するように、ＰＨＹ層により別々に処理される。フレームおよびデリミタ構造は、図３を参照しながら、以下にさらに詳細に説明する。
【００２２】
図２について説明すると、ＰＨＹ層２２は、１つのノードに対して送信機能と受信機能の両方を行う。送信機能をサポートするために、ＰＨＹユニット２２は、スクランブラ３２、（ＭＡＣユニット１８から受信するデータを符号化するための）データＦＥＣエンコーダ３４、変調器３６、フレーム制御情報を符号化するためのフレーム制御ＦＥＣエンコーダ３８、同期信号ジェネレータ４０、およびＩＦＦＴユニット４２を含む。従来のポストＩＦＦＴデバイスは、図面を簡単にするために省略してある。ポストＩＦＦＴデバイスは、例えば、（自動利得制御および同期のために使用されるプリアンブル信号を定義するための）プリアンブル・ブロック、二乗余弦ウィンドウ機能およびピーク・リミッタおよび出力バッファリングを含む巡回プレフィックス・ブロックを含むことができる。また、送信（Ｔｘ）構成ユニット５２も含まれる。受信（Ｒｘ）機能をサポートするために、ＰＨＹユニット２２は、自動利得制御（ＡＧＣ）ユニット５４、ＦＦＴユニット５８、チャネル推定装置６０、同期ユニット６２、フレーム制御ＦＥＣデコーダ６４、復調器６６、データＦＥＣデコーダ６８、デスクランブラ７０、および受信（Ｒｘ）構成ユニット７２を含む。ＭＡＣインタフェース７４、ＰＨＹコントローラ７６およびチャネル・マップ・メモリ７８が、ＰＨＹユニット２２に内蔵され、送信機能および受信機能の両方により共有される。
【００２３】
データ伝送プロセス中、データおよび制御情報が、ＰＨＹ−ＭＡＣバス２４を通して、ＰＨＹ−ＭＡＣインタフェース（ＭＡＣインタフェース）７４で受信される。ＭＡＣインタフェースは、データをスクランブラ３２に供給し、スクランブラ３２は、データＦＥＣエンコーダ３４の入力に送られたデータのパターンが実質的にランダムになるようにする。データＦＥＣエンコーダ３４は、順方向誤り訂正符号内でスクランブルされたデータ・パターンを符号化し、その後で、符号化されたデータをインタリーブする。例えば、リード・ソロモン・コードや、またはリード・ソロモン・コードとコンボリューション・コードの両方のような任意の順方向誤り訂正符号を、この目的に使用することができる。変調器３６は、フレーム制御ＦＥＣエンコーダ３８からのＦＥＣ符号化データおよびＦＥＣ符号化制御情報を読み取り、符号化パケットデータおよび制御情報を、従来のＯＦＤＭ変調技術によりＯＦＤＭ記号でキャリヤ上で変調する。そのような変調技術は、コヒーレントなものでも差分的なものでもよい。変調モードまたはタイプは、とくに、１／２速度符号化（「１／２ＢＰＳＫ」）による２値位相シフトキーイングであっても、１／２速度符号化（「１／２ＱＰＳＫ」）による直交位相シフトキーイングであっても、３／４速度符号化（「３／４ＱＰＳＫ」）によるＱＰＳＫであってもよい。ＩＦＦＴユニット４２は、変調器３６、フレーム制御ＦＥＣエンコーダ３８、および同期信号ジェネレータ４０から入力を受信し、処理されたパケット・データをポストＩＦＦＴ機能ユニット（図示せず）に供給する。ポストＩＦＦＴ機能ユニットは、（図１からの）ＡＦＥユニット２６にそれを送る前に、パケット・データをさらに処理する。
【００２４】
送信構成ユニット５２は、ＰＨＹ−ＭＡＣ  Ｉ／Ｆ（インタフェース）７４から制御情報を受信する。この制御情報は、ＭＡＣインタフェース７４からデータを送信するチャネルについての情報を含み、チャネル・マップ・メモリ７８から適当なチャネル（またはトーン）マップを選択するために、この情報を使用する。この選択されたチャネル・マップは、送信モードおよび（関連符号化速度を含む）変調タイプ、およびデータを送信するために使用する一組のキャリヤを指定し、それ故、送信に関連する（固定および可変両方の）ＯＦＤＭ記号ブロック・サイズを指定する。ＯＦＤＭ記号ブロックは、複数の記号を含み、パケットまたはその一部に対応することができる。チャネル・マップから読み取られた情報は、本明細書においてはチャネル情報と呼ぶ。送信構成ユニット５２は、チャネル情報（すなわち、チャネル・マップ情報）から送信構成情報を計算する。送信構成情報は、送信モード、（関連ＦＥＣ符号化速度を含む）変調のタイプ、記号の数、記号当りのビットの数、およびリード・ソロモン・ブロックの数および大きさを含む。送信構成ユニット５２は、ＰＨＹコントローラ７６に送信構成情報を供給し、コントローラ７６は、データＦＥＣエンコーダ３４の構成を制御するためにこの情報を使用する。構成制御信号の他に、コントローラ７６はまた、データＦＥＣエンコーダ３４、およびスクランブラ３２、変調器３６、フレーム制御ＦＥＣエンコーダ３８、同期信号ジェネレータ４０、およびＩＦＦＴユニット４２に他の従来の制御信号を供給する。送信構成ユニット５２はさらに、フレーム制御ＦＥＣエンコーダ３８に、例えば、開始（フレームの始め）、終了（フレームの終り）等のデリミタのようなフレーム制御情報を供給し、開始デリミタの場合、送信モードおよび他の情報に対するチャネル・マップ番号、およびパケット内で（送信する）ＯＦＤＭ記号の数を供給する。
【００２５】
データ受信プロセス中、チャネルを通して、送信ネットワーク・ノード１２ａにより、受信ネットワーク・ノード１２ｂに送信されたＯＦＤＭパケットは、ＡＧＣユニット５４により、ＡＦＥユニット２６からＰＨＹユニット２２のところで受信される。ＡＧＣユニット５４の出力は、ＦＦＴユニット５８により処理される。ＦＥＴユニット５８の出力は、チャネル推定装置６０、同期ユニット６２、フレーム制御ＦＥＣデコーダ６４、およびその復調器６６に供給される。より詳細に説明すると、処理パケット・データの位相および振幅値は、チャネル推定装置６０に供給され、このチャネル推定装置６０は、送信ネットワーク・ノード１２ａにチャネルを通して送ることができる新しいチャネル・マップを生成する。チャネル・マップは、同じ送信方向（すなわち、ノード１２ａがノード１２ｂにパケット情報を送信している場合、およびノード１２ｂが、ノード１２ａにより送信されたパケット情報を受信している場合）の以降の相互通信のために、両方のノードにより使用される。受信構成ユニット７２は、フレーム制御ＦＥＣデコーダ６４から、チャネル・マップ番号、ＯＦＤＭ記号の数を受信し、フレーム制御ＦＥＣデコーダ６４が供給する、マップ番号が指定するチャネル・マップを検索し、（チャネル・マップ・パラメータから入力した）受信構成情報をコントローラ７６に供給する。受信構成情報は、データＦＥＣデコーダ６８を構成するために使用され、それ故、パケットを復号化するのに必要なブロック・サイズおよび他の情報を含む。同期ユニット６２は、パケット・スタート信号をコントローラ７６に供給する。これらの入力に応じて、コントローラ７６は、データＦＥＣデコーダおよび復調器６６に構成および制御信号を供給する。例えば、コントローラ７６は、受信したパケット・データに関連する変調のタイプを復調器６６に伝える。
【００２６】
復調器６６は、ＦＦＴユニット５８から受信した処理済みパケット・データ内のＯＦＤＭ記号を復調し、各記号の各キャリヤ内のパケット・データの位相角をメートル法の値に変換する。このメートル法の値は、復号化の目的でＦＥＣデコーダにより使用される。データＦＥＣデコーダ６８は、（送信ノードの）データＦＥＣエンコーダ３４からデータＦＥＣデコーダ６８に送信中に発生するビット誤りを訂正し、復号化したデータをデスクランブラ７０に転送し、このデスクランブラは、スクランブラ３２が行った順序とは逆の順序で動作を行う。デスクランブラ７０の出力は、その後、ＭＡＣユニット１８に（および最終的にはホスト・コンピュータ１６のアプリケーションに）転送するためにＭＡＣインタフェース７４に供給される。
【００２７】
簡潔さおよび明瞭さのために、（当業者でとっては周知であり、本発明とは無関係の）ＰＨＹユニットの送信機および受信機の機能ユニットの詳細は、本明細書においては大幅に省略してある。
【００２８】
図３について説明すると、この図は、送信ネットワーク・ノード１２ａにより、送信媒体１４を通して送信される標準データ伝送フレーム８０のフォーマットである。データ伝送フレーム８０は、ＭＡＣから受信したデータを運ぶペイロード（すなわち本体）８１を含む。このデータは、プロトコル・ヘッダ情報、アプリケーション・データおよびチェック・シーケンスのような、ＭＡＣプロトコル・データ・ユニット情報を含む。好適には、ペイロード８１は、ローレンス  Ｗ．ヤング  ＩＩＩ他の「チャネル推定による順方向誤り訂正（Forward Error Correction With Channel Estimation）」という発明の名称の、同時係属米国特許出願第０９／４５５，１８６号、ローレンス  Ｗ．ヤング  ＩＩＩ他の「高度チャネル推定(Enhanced Channel Estimation) 」という名称の同時係属米国特許出願第０９／４５５，１１０号、ローレンス  Ｗ．ヤング  ＩＩＩ他の「丈夫な送信モード」という発明の名称の同時係属米国特許出願第０９／３７７，１３１号が開示している技術により、図２の機能ユニットで送信および受信することが好ましい。これらすべての米国特許出願は、引用によって本明細書の記載に援用する。しかし、フレーム制御ＦＥＣ符号化／復号化に関連する、本明細書記載の技術のような他の技術も使用することができる。
【００２９】
さらに図３について説明すると、フレーム８０は、さらに、デリミタ情報８２を含む。デリミタ情報８２は、ペイロード８１の前に位置するデリミタ、すなわち、開始デリミタ８３を含む。好適には、デリミタ情報８２は、また、ペイロード８１の後に位置するデリミタ、すなわち、終了デリミタ８４を含むことが好ましい。開始デリミタ８３は、第１のプリアンブル８５を含み、このプリアンブル８５は、それぞれ、第１のＡＧＣおよび同期（ＳＹＮＣ）要素８６，８７を含み、また第１のフレーム制御フィールド８８を含む。終了デリミタ８４は、第２の（オプションとしての）ＡＧＣ要素９０および第２のＳＹＮＣ要素９１および第２のフレーム制御フィールド９２を有する第２のプリアンブル８９を含む。第１のフレーム制御フィールド８８および第２のフレーム制御フィールド９２は、ＭＡＣユニット１８から受信した制御情報に基づいて、変調器３６と共に、フレーム制御デコーダ３８により生成される。通常、これらのフレーム制御フィールドは、ネットワーク・プロトコル動作、および送信機／受信機経路特性化のために必要な情報を含む。より詳細に説明すると、フレーム制御フィールド８８，９２は、それぞれ、ネットワーク中のノードの正しい同期を維持するように、ネットワーク内の各ノードが入力しなければならない最低限度の情報を運ぶ。各フレーム制御フィールドは、デリミタのタイプ（例えば、開始デリミタ、終了デリミタ）を識別し、識別したタイプに関連する他の情報を供給する。例えば、第１のフレーム制御フィールド８８内においては、他の情報は、データの復調方法、チャネル・マップ番号、パケットの長さ、パケット開始インジケータ、タイミング情報を指定する情報を含むことができ、また、他の情報も含むことができる。第２のフレーム制御フィールド９２は、確認のために、かつもっと高いタイミング精度を供給するために使用することができる。第２のフレーム制御フィールド９２は、制御およびタイミング情報、ノードがアクセスのために競合することができるかどうかの表示、（例えば、送信ストリームを中断できるかどうかを示す）パケット伝送優先順位、およびパケット終了インジケータのような他のチャネルアクセス情報と共に、例えば、（第１のフレーム制御デリミタ８８の一部または全部を入力しなかったノードのために）、例えば、同期情報のような第１のフレーム制御フィールドが内蔵している情報を含む。一般に、意図するパケット受取側以外のノードは、パケットの本体部分を復号化することができない。それ故、衝突を回避するために、送信媒体を使用できるようになる時間を決定するためのフレーム制御フィールドが使用される。
【００３０】
図３は、データ伝送パケットのパケット本体を囲んでいるデリミタを示すが、フレーム制御ＦＥＣエンコーダ３８およびフレーム制御ＦＥＣデコーダ６４の符号化および復号化機構は、他のタイプのデリミタと一緒に使用することもできる。例えば、（データ伝送が行われる）受信ノードは、元のデータ伝送が、応答を必要としていたことを示していた場合には、送信ノードに応答パケットを送ることができる。応答パケットとしては、応答タイプのデリミタを使用することができる。それ故、例えば、肯定応答のような応答を示すタイプを有するプリアンブル、およびフレーム制御フィールドを含むようにフォーマットされる。応答デリミタのフレーム制御フィールドは、同期情報、および競合、優先順位およびアドレス情報（アドレス情報は、応答が属するパケット伝送を識別するために使用される。すなわち、応答タイプである）、パケット伝送の成功または失敗の表示を含むことができる。他の情報も内蔵させることもできる。他の例としてのデリミタは、例えば、「送信要求」（ＲＴＳ）パケットのような、チャネルにアクセスするために使用するパケットと関連することもできる。「送信要求」（ＲＴＳ）パケットは、過密なトラヒック状態中に発生する、衝突によるオーバーヘッドを低減するために使用することができ、そのため、ネットワークの効率的が改善する。デリミタは、（通常、等時トラヒック用に使用される）ＴＤＭＡのような、他の媒体アクセス機構が要求する管理情報のタイプを含むタイプのものであってもよく、そのため、競合指向のものでなくてもよい。例えば、ＴＤＭＡネットワーク送信は、ネットワークの同期を維持し、各ノードが、パケットを送信および受信しなければならない場合を管理するために、ビーコン・タイプのデリミタ（ビーコンデリミタ）を含むことができる。それ故、開始デリミタの第１のフレーム制御フィールド８８に関連する、本明細書に記載するフレーム制御符号化／復号化機構は、すでに説明したように、エンド・タイプ、応答、ＲＴＳタイプおよびビーコンを含むが、これらに限定されない他の使用可能なデリミタのタイプに適用することができる。上記デリミタ内のフレーム制御フィールドの記号は、すでに説明したように、時間および周波数領域のインタリーブ、および冗長性により強化されたブロック・コードにより、伝送誤りから保護されている。図に示す実施形態の場合には、各フレーム制御フィールド内の記号の数は、３となるように選択される。しかし、他のフレーム制御フィールド・サイズ（例えば、４つの記号）も使用することができる。
【００３１】
それ故、図４に示すように、フレーム制御エンコーダ３８は、積エンコーダ１００およびインタリーバ１０２として示すブロック・コード・エンコーダから成る。積エンコーダ１００は、各フレーム制御フィールド処理に対して、（図２に示す）送信構成ユニットから２５の情報ビットを受信する。積エンコーダ１００は、１００の符号化ビットを生成するために、１／４速度の積コードにより２５の情報ビットを符号化する。積エンコーダ１００は、１００の符号化されたビットを、周波数インタリーブプロセス１０４と、時間インタリーブおよびコピープロセス１０６とを含むインタリーバ１０２に転送する。これらのプロセスは、有意な時間および周波数拡散および冗長性を得るために、インタリーブされる符号化情報ビットを生成する目的で、符号化情報ビットに対して行われる。それ故、このようなインタリーブは、周波数領域または時間領域において、実質的な誤り訂正機能を供給する。インタリーブされたデータ、すなわち、３つの８４キャリヤＯＦＤＭ記号に対する全部で２５２のビットは、（図では点線で示す）図２の変調器３６により、３つのＯＦＤＭ記号上で、コヒーレントにＢＰＳＫ変調される。第１のフレーム制御８８（および、終了デリミタを使用する場合には、第２のフレーム制御９２）のフレーム制御記号は、図３に示すフォーマットにより、チャネルを通して送信されるパケット内に挿入される。
【００３２】
２５のフレーム制御情報ビットは、１００の符号化されたビットを生成するために、積エンコーダ１００により、（１００，２５，１６）積コードで符号化される。積コード自身は、（１０，５，４）短縮拡張ハミング・コードから入手される。積コード項（ｎ，ｋ，ｗ）は、それぞれ、ブロック・サイズ、情報サイズおよび最短ハミング距離を指定する。
【００３３】
図５について説明すると、（１０，５，４）ハミング・コードは、ジェネレータ・マトリックス  Ｇ  １１０により生成される。同じハミング距離で、一組の符号語を生成するために、異なるジェネレータ・マトリックスを選択することができるが、以下に説明するように、符号化されたフレーム制御情報を復号化するための、ソフト・イン／ソフト・アウト・デコーダの実行を簡単に簡単に行うことができるように、ジェネレータ・マトリックス１１０は、一組の符号語が対称になるように選択される。
【００３４】
図６について説明すると、完全な一組の符号語１１２を生成するために、フレーム制御情報ビットに、（図５からの）ジェネレータ・マトリックス１１０が適用される。一組の符号語１１２は、２５の符号語１１４を含み、各符号語は、５つの情報ビットと５つのパリティ・ビットを含む。情報ビットは、（ｂ０〜ｂ４で示す）最初の５つのビット１１５に対応し、パリティ・ビットは、（ｂ５〜ｂ９で示す）残りの５つのビット１１６に対応する。パリティ・ビット１１６のｂ５〜ｂ９は、下記の論理式により生成される。
【００３５】
【数１】
0005079201.tif 000002
ここで、演算子記号
【００３６】
【数２】
0005079201.tif 000003
は、排他的ＯＲ機能を表す。
【００３７】
一組の符号１１２の対称性は、４つの「領域」、すなわち、符号語０〜７に対応する第１の領域１１８ａ、次の８つの符号語、すなわち、符号語８〜１５に対応する第２の領域１１８ｂ、符号語１６〜２３に対応する第３の領域１１８ｃ、および最後の８つの符号語（符号語２４〜３１）に対応する第４の領域１１８ｄである、一組の符号語を見れば理解することができる。一組の符号の上半分、すなわち、領域１１８ａおよび１１８ｂ、および一組の符号の下半分、すなわち、領域１１８ｃおよび１１８ｄは対称であるが、相互に反対になっていることが分かる。同様に、領域１１８ａおよび１１８ｂ、および領域１１８ａおよび１１８ｃが、もう１つの対称性を示していることが分かる。例えば、領域１１８ｂのｂ０、ｂ７−ｂ９は、領域１１８ａの鏡像である。同様に、ｂ１およびｂ６は、領域１１８ａおよび１１８ｃの対応する符号語内では同じものである（例えば、領域１１８ａ内の最後の符号語、符号語７は、および領域１１８ｃ内の符号語１５参照）。これらの対称性については、デリミタデコーダ６４（図２）の説明を参照しながら、以下にさらに詳細に説明する。
【００３８】
図７について説明すると、（図４の）積エンコーダ１００による（１００，２５，１６）コード・ブロックの符号化により、１０行１２２および１０列１２４を有するマトリックスとして配置されている積コード・ブロック１２０が生成される。積コード・ブロック１２０は、下記の方法で形成される。２５の情報ビットが、最終的な１０行×１０列のマトリックス内のサブマトリックスである、５行×５列の情報マトリックス１２６内に配置される。第１の５つの情報ビット（Ｉ０〜Ｉ４）は、第１の列内に配置され、第２の５つの情報ビット（Ｉ５〜Ｉ９）は、第２の列内に配置される（以下同様）。行１２４の第１の５つは、それぞれ、その行のための５つのパリティ・ビットＰｒ（行によるパリティ）を生成するために符号化される。１０つの列１２２の各列は、５つのパリティ・ビット、Ｐｃ（情報ビットの最初の５つの列のための、列によるパリティ）および各列のためのＰｐ（Ｐｒビットの最後の５つの列のためのパリティ上のパリティ）を生成するために符号化される。それ故、積コード・ブロック１２０内においては、各行１２４は、水平方向の符号語に対応し、各列１２２は、垂直方向の符号語に対応する。パリティ生成は、マトリックスの乗算：すなわち、ＧＴ＊Ｉ＊Ｇであることを理解することができるだろう。ここで、Ｇはジェネレータ・マトリックスであり、ＧＴはジェネレータ・マトリックスＧの転置であり、Ｉは情報マトリックスである。ハミング・コードおよび積コードのような、線形ブロック・コードに関する他の情報は、（１９７２年、ＭＩＴプレス社発行の）、Ｗ．ウエスリー・ピーターソン、およびＥ．Ｊ．ウェルドンＪｒ．の「誤り訂正符号」の周知の文献を読めば入手することができる。
【００３９】
４のハミング距離の場合には、選択した積コードは、２未満のビット誤りを訂正することができる。受信ネットワーク・ノードが受信する符号語が、例えば、１つのビット誤りを含んでいて、（図５の）一組の符号語１１２内のすべての符号語に対して相関をチェックする場合には、フレーム制御ＦＥＣデコーダ６４は、最も近い符号語（最善の訂正値を有するもの）を正しく選択することができる。それ故、ビット誤りの数が２未満である場合には、積コードは、各１行を訂正し、各行または列内にビット誤りが１つしかない場合には、すべてのデータを回復することができる。
【００４０】
もっと確実な送信を行うために、各符号語内にもっと多くの数のビット誤りを含むことができる。それ故、インタリーバ１０２は、例えば、周波数空白、ジャマ、インパルス・ノイズのような、通常のエラー・イベントによる複数のビット誤りが、（積コード・ブロック１２０の）対角線上にだけ発生するように、時間および周波数内で、あるレベルの冗長性で、符号語をインタリーブするように設計される。
【００４１】
図８について説明すると、インタリーブプロセスをもっと分かりやすく説明するために、（図７の）積コード・ブロックまたはマトリックス１２０は、交互に、１００の要素１２０のベクトル（Ｖ）として表される。最初の１０のベクトル要素は、第１の列１２２に対応し、（この場合、積コード・ブロック１２０の第１の列内の第１の項は、ベクトル１２０内の第１の要素にマッピングされる）、第２の１０のベクトル要素は、第２の列１２２に対応する（以下同様）。インタリーバ１０２は、ベクトル内の１００の要素（要素０〜９９）を、すべての１００の要素が選択されるまで、例えば、対角線１２８、１２９、１３０、１３１、１３２のような対角線に沿った要素を選択することにより、新しい周波数インタリーブされたベクトルＶｉを再配列する。
【００４２】
図９Ａについて説明すると、この図は、積コード・ブロック１２０内の要素の対角線シーケンスを含む、新しいベクトルを生成するための周波数インタリーブプロセス１０４を示す。プロセス１０４は、最初の行、行値Ｒ＝０、および最初の列、列値Ｃ＝０のところでスタートする、対角線に沿った第１のシーケンス内の最初の要素を選択することにより第１の対角線シーケンスの選択をスタートする（ステップ１３３）。このプロセスにより、列値に値Ｓが加算され（ステップ１３４）、結果として得られる列値が最大の列値（すなわち、９）より大きくて、そのため、Ｓ列だけ列位置を前に進めるために、最初の列、列０への復帰（またはロールオーバ）を必要とするかどうかを判断する（ステップ１３５）。列値が、整数０−９の範囲内にある場合には、列０に戻らないで、プロセスは、同様に、Ｓを行値に加算し（ステップ１３６）、次の要素として、列Ｃおよび行Ｒに対応する要素を選択する（ステップ１３７）。列値が列の最大値を超える場合には、プロセスは、次の対角線に沿った次のシーケンスに要素の選択を移行するために、行に加算されるＳの値を、１行のオフセット値だけ、Ｓの値をオフセットし（ステップ１３８）、すでに説明したように、次の対角線に沿ったシーケンス内の次の要素として、列Ｃおよび行Ｒに対応する要素を選択する（ステップ１３９）。各要素を選択した（ステップ１３７、１３９）後で、プロセスは、元のベクトルの１００の要素すべてが選択されたかどうかを判断する（ステップ１４０）。そうである場合には、プロセスは終了する（ステップ１４１）。そうでない場合には、プロセスは、ステップ１３４において、次の要素の選択を続行する。
【００４３】
図９Ｂについて説明すると、この図は、（フレーム制御デリミタ記号の数に対応するために）、３に等しいＳの行／列増分増大値、および−１の行オフセットｒに対する、新しい周波数インタリーブされたベクトルＶｉを生成するために、１００の要素ベクトルＶ（すなわち、１００の項積コード・ブロック）を再配列するための周波数インタリーブプロセス１０４の例示としてのアルゴリズムである。このプロセスは、行値および列値を、一組の整数の値、０，．．．，９内に維持するための、周知の合同の数学的表記を使用する。それ故、１０またはそれより多い任意の値の代わりに、１０で割ったその値の残りを使用する。上記の残りおよび値は、合同モジュロ１０であり、例えば、４および２４は、合同モジュロ１０、または速記表記法による，４＝ｍｏｄ（２４、１０）である。プロセス１０４は、行Ｒをゼロに、要素番号ｎ（この場合、ｎは０〜９９の数字）を０に初期化（ステップ１４３）することにより、スタートする（ステップ１４２）。ｎが１０より大きいか、または等しい場合には、プロセスは、ｍｏｄ（ｎ，１０）を決定し、ｍｏｄ（ｎ，１０）をＮとしてセーブする（ステップ１４４）。プロセスは、値、Ｓ＝３のＮ倍の積（すなわち、Ｎ＊３）を決定し、列Ｃをｍｏｄ（Ｎ＊３，１０）に設定する（ステップ１４５）。プロセス１０４は、列Ｃおよび行Ｒのところで要素Ｖｉｎを選択する（ステップ１４６）。プロセスは、Ｃをｍｏｄ（Ｃ＋Ｓ，１０）として更新するが、この場合、Ｓ＝３であり（ステップ１４７）、ＣがＳ＝３より大きいかまたは等しいかを判断する（ステップ１４８）。Ｃが３より大きいかまたは等しいと判断した場合には、次の要素選択が、前に選択した要素と同じ対角線に沿って行われ、プロセスは、Ｒをｍｏｄ（Ｒ＋Ｓ，１０）の値に設定するが、この場合、Ｓ＝３である（ステップ１４９）。ステップ１４８において、Ｃが３より小さいと判断された場合には、プロセスは、Ｒをｍｏｄ（Ｒ＋（３−１），１０）の値に設定Ｒすることにより、対角線を変更する。この場合、−１は、行のオフセット値である（ステップ１５０）。プロセスは、選択した要素の数ｎが９９に等しいかどうかを判断する（ステップ１５１）。ｎが９９に等しいと判断された場合には、１００の要素すべてが、インタリーブされたベクトルに対してすでに選択されていて、プロセスは終了する（ステップ１５２）。ｎが９９と等しくない場合には、ｎの値は１だけ増大し（ステップ１５３）、プロセスは次の要素を選択するためにステップ１４６に戻る。
【００４４】
再び図８について説明するが、図９Ａ−Ｂの技術を使用した場合、第１の５つの対角線に沿った要素の選択の一例は以下のように行われる。対角線１２８に対応する第１の対角線沿いの第１の対角線シーケンスは、要素００、３３、６６および９９を選択するために、行値および列値に３を加算することにより形成される。列値９に３を加算すると、「ロールオーバ」列値となる（すなわち、２のｍｏｄ（１２，１０））。そのため、３−１＝２の値が行に加算され、対角線１２９に対応する新しい第２の対角線に沿った、要素２１（列２，行１）の次の要素選択のために、行値はｍｏｄ（１１，１０）すなわち、１になる。プロセスは、プロセスが、再び列値への３の加算により、列値内で列値１へのロールオーバが発生し、さらに、オフセット行値が９になるまで、対角線１２９に沿って、（要素５４および８７を選択するために）、行値および列値へ引き続き３を加算する。次に、プロセスは、要素１９のところで、対角線１３０に対応する新しい第３の対角線のところで、次の要素を選択し、再び、要素４２からスタートし、要素７５を含む、対角線１３１に対応する第４の対角線から要素を選択するために、要素１９の選択後に対角線を変更する。この場合も、プロセスは、対角線１３２に対応する第５の対角線に進むために対角線を変更し、列０および行７に対応するその対角線要素０７から選択を行う。プロセスは、マトリックス１２０内の１００の要素すべてが選択されるまで、この方法で連続している対角線に沿って要素の選択を続行する。この技術の全体の効果は、主な対角線１２８上の第１の要素を選択し、その後で、マトリックス１２０内の各対角線内の連続している各要素が選択されるまで、連続している対角線に沿って３番目の各要素を選択することであることを理解することができるだろう。
【００４５】
別な方法としては、すでに説明したように、フレーム制御情報を、３以外の多数の記号を含むものとして定義することができる。それ故、インタリーブ／コピー・プロセス１０４は、例えば、４の記号のような他の数の記号と一緒の使用とうまく適合させることができる。図９Ｃについて説明すると、この図は、新しい周波数インタリーブしたベクトルＶｉを形成するために、１００の要素ベクトルＶ（すなわち、１００の項の積コード・ブロック）を再配置するためのインタリーブプロセス１０４の例示としての４つの記号の実施である。ＶからＶｉへの再配置のために、１００の要素ベクトルＶｉは、２５の行の４つの列のアレーと見なされ、（分配される）。４×２５のアレーは、それを元のベクトルＶに関連する１０×１０のアレーと区別するために、本明細書においては中間アレーと呼ばれる。それ故、Ｖｉの新しい配列は、隣接行の複数のグループ内の中間アレー内の選択したベクトルＶ要素の配置により、（そして、図９Ａ−Ｂの３記号インタリーブプロセスの順序ではなく）決定される。値ｓ（０，１，２，３）は、中間アレー列値を示し、値ｔｓ（ｓ＝０，１，２，３）は、ｓの選択した値に対する中間アレー行値を示す。
【００４６】
さらに、図９Ｃについて説明すると、このプロセス１０４は、中間アレー行値、ｔ３＝ｔ２＝ｔ１＝ｔ０をゼロに初期化し（ステップ１５５）、対角線カウント値ｄをゼロに初期化すること（ステップ１５６）によりスタートする（ステップ１５４）。このプロセスは、また、行値Ｒをｄに等しく設定し（ステップ１５７）、列値Ｃをゼロに初期化する（ステップ１５８）。この場合、ＲおよびＣは、（図８に示す）元の１０×１０マトリックスの行および列を（それぞれ）示す。プロセスは、［１０＊ｍｏｄ（Ｒ＋Ｃ，１０）］＋Ｃの合計を入手し、上記合計を２５で割り、結果として得られる値を次の小さい全数に四捨五入することにより、中間アレーの列値を決定する（ステップ１５９）。プロセスは、元のベクトルＶ内の対角線からインタリーブされたベクトル要素Ｖｉ［（２５＊ｓ）＋ｔｓ］として、要素Ｖ「Ｒ＋（Ｃ＊１０）］を選択する（ステップ１６０）。要素選択が行われると、中間アレー行値ｔｓが１だけ増大し（ステップ１６１）、Ｒの値が、ｍｏｄ（Ｒ＋１，１０）により更新される（ステップ１６２）。このプロセスは、Ｃが９に等しいかどうかを判断する（ステップ１６３）。Ｃが９に等しくないと判断された場合には、Ｃの値が１だけ増大し（ステップ１６４）、ステップ１５９に戻る。ステップ１６３において、プロセスが、Ｃが９に等しいと判断した場合には、プロセスは、１０すべての対角線が処理された（すなわち、ｄ＝９）と判断する（ステップ１６５）。ステップ１６５において、ｄが９より小さいと判断された場合には、このプロセスは、ｄを１だけ増大することにより、対角線を変更し（ステップ１６６）、ステップ１５７に戻ってＲ＝ｄと設定し、ベクトルＶ内の要素の次の対角線の処理に進む。ｄが９に等しい場合には、１０のすべての対角線（および１００の対角線すべて）が、インタリーブされたベクトルＶｉのため選択済みであるので、このプロセスは終了する（ステップ１６７）。
【００４７】
図８および図９Ｃについて説明すると、これらの図は、図９Ｃのプロセス１０４によるベクトルＶｉ内のベクトルＶの対角線要素の配置を示す。ｄ＝Ｒ＝Ｃ＝０である場合には、（ステップ１５９のところで）、ｓはゼロに等しいと判断される。それ故、ＶＲ＋（ｃ＊１０）＝Ｖ００に対応する、主な対角線１２８（図８）に沿った第１の要素が、（ステップ１６０のところで）、Ｖｉ２５＊ｓ＋ｔｓ＝Ｖｉ００として選択される。ｔ０およびＲの値は、（ステップ１６１−１６２において）１に増大する。（ステップ１６３において）、Ｃは９に等しくないので、Ｃの値は（ステップ１６４におい）１に増大する。ｓの値は、（ステップ１５９において）ゼロとして計算され、（ステップ１６０において）、Ｖ１１（主な対角線沿いの第２の要素）の選択が、Ｖｉ（２５＊０）＋１またはＶｉ０１となるように、要素選択計算が反復して行われる。行＝２およびＣ＝２の場合の、主な対角線沿いの次の要素の場合には、ｓは１であると計算され（ステップ１５９）、ｔｓはｔ１に等しい。（ステップ１５５において初期化されているので）、ｔ１はゼロである。それ故、Ｖ２２がＶｉ２５として選択される（ステップ１６０）。ｔ１の値は、１に増大し（ステップ１６１）、Ｒは３に増大する（ステップ１６２）。Ｃ＝９になるまで、ステップ１５９−１６３が反復して行われ、この時点で、Ｖに対する元の１０×１０アレーの第１の対角線内のすべての要素が、Ｖｉ内に設置するために選択されたことになる。それ故、Ｖｉ５０に対してＶ３３が選択され、Ｖｉ７５に対してＶ４４が選択され、Ｖｉ０２に対してＶ５５が選択され、Ｖｉ２６に対してＶ６６が選択され、Ｖｉ２７に対してＶ７７が選択され、Ｖｉ５１に対してＶ８８が選択され、Ｖｉ７６に対してＶ９９が選択される。次の対角線の場合には、ｄ＝１（ステップ１６６）であり、Ｒはｄに等しく設定され（ステップ１５７）、Ｃが再びゼロに初期化される（ステップ１５８）。ｄが変化した場合には、ｔ３、ｔ２、ｔ１、ｔ０はリセットされないが、その代わりに現在の値を維持する。それ故、ｓ＝０の場合（ステップ１５９）、およびｔ０＝３（前の１０の選択の後のｔ０の値）の場合には、Ｖ０１が、Ｖｉ０３として選択される（ステップ１６０）。続いて、現在の対角線に沿って、Ｖｉ２８に対してＶ１２が選択され、Ｖｉ５２に対してＶ２３が選択される（以下同様）。このプロセスは、１００すべての要素がＶｉに対して選択されるまで、対角線に沿って要素の選択を行う。
【００４８】
周波数インタリーブしたベクトル・データＶｉは、同様に、連続している記号を横切って必ず対角線グループ分けが行われるような方法で、時間インタリーブ／コピー・プロセス１０６によるインタリーバ１０２により、フレーム制御記号のキャリヤ間で拡散が行われる。使用できるキャリヤが８４ある場合には、フレーム制御情報を全部インタリーブするには、３つの記号を充填するのに全部で２５２ビット（または、４つの記号を充填するのに全部で３３６ビット）が必要になり、１００の符号化された情報ビットに対して冗長性が与えられる。使用できるキャリヤの数が少なくなると、必要なビット数も少なくなり、そのため、冗長性のレベルも低くなる。
【００４９】
図１０について説明すると、時間インタリーブ／コピープロセス１０６は、Ｖｉ０からスタートして、フレーム制御記号１の場合、インタリーブされたベクトルＶｉから、使用できるキャリヤの数（Ｌ）に対応する多数の連続しているベクトル要素を選択する（ステップ１７６）。また、このプロセスは、フレーム制御記号２のために、インタリーブされたベクトルから、同じ数の連続しているベクトル要素を選択するが、この場合、このプロセスは、第１のオフセット値ｋ１に等しいｎの値からスタートし、最後のベクトル要素Ｖｉ９９の後の第１の要素Ｖｉ０を囲む（ステップ１７７）。フレーム制御記号３に対する３回目のパスまたは選択の際には、このプロセスは、第２のオフセット値ｋ２からスタートして、Ｌ個の連続しているベクトル要素を選択し、最後のベクトル要素Ｖｉ９９の後の第１の要素Ｖｉ０の周囲を囲む（ステップ１７８）。（もし使用している場合）、第４の記号に対しては、このプロセスは、第３のオフセット値ｋ３からスタートして、Ｌ個の連続しているベクトル要素を選択し、最後のベクトル要素Ｖｉ９９の後の第１の要素Ｖｉ０の周囲を囲む（ステップ１７９）。好適には、オフセットは、すべてのフレーム制御記号を横切って、隣接するキャリヤのグループを横切って、対角線要素のグループ分けが行われるように、ＯＦＤＭ記号の全数に基づいて選択することが好ましい。それ故、ＯＦＤＭ記号の数が３である場合には、ｋ１は６７に等しく、ｋ２は３４に等しい。別な方法としては、ＯＦＤＭ記号の数が４に選択された場合には、オフセットは、ｋ１＝２５、ｋ２＝５０およびｋ３＝７５になるように選択される。
【００５０】
図１１Ａは、３つのフレーム制御記号１、２および３に対する、（３つの記号についての図９Ａ−図９Ｂのところで説明した）プロセス１０４、およびプロセス１０６（３つの記号に対してｋ１＝６７およびｋ２＝３４のステップ１７７−１７８）に従って行われた、結果として得られるデータ・キャリヤの割当てを示す。各記号列内の値は、そのベクトルの要素をインタリーブする前の積コード・ベクトルＶの要素番号（または指数）を表す。この図は、記号内対角線のグループ分け（すなわち、対角線に沿った３番目ごとの要素の選択に基づく対角線シーケンス）、および連続している隣接記号を横切るキャリヤ（すべての、この例の場合には、対角線に沿って連続している要素）内の対角線のグループ分け、または記号間の対角線のグループ分けを示す。それ故、任意の対角線上で発生する（周波数誤差のような）１０ビットの誤り、すなわち、同じ行および同じ列上に存在しない任意の１０の要素を回復することができる。何故なら、１ビットの誤りだけが、各行および各列内に含まれているからである。１つのキャリヤでの３つの記号にまたがる対角線のグループ分けは、隣接キャリヤ内の３つの記号に引き続きまたがることに注意することも重要なことである。例えば、（図８の）対角線１２８に沿った連続している要素、すなわち、要素００、１１、２２、３３、４４、５５、６６、７７、８８、９９は、キャリヤ０、１、２および３の上で一緒にグループ分けされる。それ故、あるキャリヤ内、またはある記号内の対角線にまたがる固定エラーの他に、任意の１つまたはそれ以上のキャリヤ０、１および２を喪失する恐れがあり、これらキャリヤ上の情報を回復することもできる。また、全部の劣化した記号上のデータの一部を、その記号内の対角線のグループ分けにより、また時間インタリーブ／コピー・プロセス１０６の結果としての他の２つの記号上に常駐するデータ・コピーにより復元することができる。
【００５１】
図１１Ｂについて説明すると、この図は、（４つの記号についての図９Ｃのところで説明した）プロセス１０４、およびプロセス１０６（４つの記号に関する、ｋ１＝２５，ｋ２＝５０およびｋ３＝７５であるステップ１７６−１７９）による、例示としての記号が４つのデータ・キャリヤ割当てを示す。この特定のキャリヤ割当ての場合には、図１１Ａのキャリヤ割当てのように、（例えば、記号１上の主要対角線からの要素０、１１および５５の対角線シーケンスのような）各記号内の要素の対角線グループ分け、およびキャリヤ内での対角線グループ分けおよび（例えば、記号１−４およびキャリヤ０−２上の主要なすべての対角線要素と一緒のグループ分けのような）連続している隣接記号を横切るキャリヤのグループ分けを見ることができる。
【００５２】
キャリヤは使用不能にすることもでき、使用不能なものとしてマスクすることもできることを理解することができるだろう。デリミタ記号内の使用できるすべてのキャリヤの中の１つまたはそれ以上がマスクされている場合には、インタリーブされたデータは、マスクされていないキャリヤ間を拡散する。マスクされたキャリヤは、Ｖｉの要素が各記号上に置かれているものとしてスキップされる。すなわち、すでにマスクされているキャリヤ用の各要素が、代わりに次のマスクされていないキャリヤ上に置かれる。
【００５３】
図１および図２について説明すると、インタリーバ１０２により、８４のキャリヤの各記号に対して読み取られた、インタリーブされた８４ビットは、コヒーレントなＢＰＳＫ変調で変調器３６により、その各フレーム制御記号上で変調され、その後で、送信チャネルを通して受信機ノードに送信される。受信ノード内においては、復調器６６が、変調器３６が使用した変調技術に適したスキームにより、各フレーム制御記号内の被変調キャリヤを復調する。各フレーム制御記号は、同期ユニット６２が供給する同期位置情報から計算する位相基準に関連する差動復調により、コヒーレントに復調される。復調器６６は、送信されたキャリヤ・データの各ビットに対して、０−２５５の範囲（ただし、１２８＝Π）内の８ビットの符号のない数字で表される位相またはソフト決定値（以後「ソフト値」と呼ぶ）を生成する。位相が１２８より大きかまたは等しい場合には、復調器は、１９２からその位相を差し引く。位相が１２８より小さい場合には、復調器は位相から値６４を差し引く。そうすることにより、ノイズを含まない、＋６４または−６４の値を有する位相番号が得られる。それ故、全デリミタに対する復調器の出力は、ソフト値の最大の一組、すなわち、８４のキャリヤの３つの記号に基づく２５２のソフト値（または、８４のキャリヤの４つの記号に基づく３３６のソフト値）である。各ソフト値は、そこからそれが入手されるキャリヤ・データのビットに対する、そのビットが「０」または「１」になる確率を表す。
【００５４】
図１２について説明すると、フレーム制御デコーダ６４は、デインタリーバ１８０およびターボ積デコーダ１８２として表示した積デコーダから成る。デインタリーバ１８０は、コピー結合および時間デインタリーブプロセス１８４、および周波数デインタリーブプロセス１８６を含む。デインタリーバ１８０は、（このでは点線で示す、図２のコヒーレントな復調器６６からの）復調された２５２のソフト値を受信し、そのソフト値で１つのグループとして動作する。デインタリーバ１８０は、１００の符号化されたソフト値の元のシーケンスを回復するために、インタリーブプロセス中、インタリーバが積コード・ブロックに適用したのと反対の動作を使用する。それ故、この一組の２５２のソフト値は、図１１Ａのキャリヤ割当てに従ってデインタリーバ１８０により受信される。プロセス１８４は、時間拡散の反対を行い、ソフト値のコピーを累積し、その合計を発生数で割ることにより、（すなわち、コピー値の平均を求めることにより）、各１００ビットに対するソフト値のコピーを結合する。時間インタリーブ／コピー・プロセスの性質のために、１００の符号語ビットのすべてが、３つのフレーム制御記号の長さ上の時間の等しい数で現れないことに留意されたい。
【００５５】
コピーは、キャリヤおよび記号の品質を考慮に入れる方法で結合することが望ましい場合がある。例えば、上記のように平均そのものを決定する代わりに、このプロセスは、下記のステップを行うことにより、位相ノイズ（搬送波対雑音比（キャリア対ノイズ比）の推定の測定値）に基づいて、加重平均を測定することができる。下記のステップとは、キャリヤ、記号またはこれら両方の関数として位相ノイズ値を生成するステップと；（もっと低い位相ノイズを含むコピーが、もっと多くの位相ノイズを含むコピーよりも、過度に加重されるように）、位相ノイズ値に従って、コピーを加重するステップと；加重した値を合計するステップである。コピーの振幅が最小ジャマー閾値を超えた場合には、加重を（下方に）調整することができる。これらの技術および他の適用できる技術の詳細については、上記米国特許出願第０９／３７７，１３１号を参照されたい。
【００５６】
さらに、図１２について説明すると、プロセス１８６は、周波数インタリーブプロセスが行った周波数拡散の逆のプロセスである。デインタリーバ１８０の出力は、理想的な値、すなわち、それぞれ、２進法の１および２進法の０を表す＋６４および−６４を含む、８ビットの整数値に量子化された一組の１００のソフト符号化値である。１００のソフト値は、元の２５の情報ビットを生成するために、積コード・ブロックの水平符号語の各組、および垂直符号語の各組に対して、ターボ（会話型）復号化プロセスを行う、ターボ積デコーダ１８２により受信される。
【００５７】
図１３について説明すると、この図は、（図１２の）積コード・デコーダ１８２により実行された、ソフト値１９０の１００の要素ベクトルを復号化するプロセスを示す。プロセス１９０は、１００の要素ソフト・コード・ベクトルに基づく、１０×１０マトリックス内に配列された、（１００，２５，５）ブロックに対して、複数の復号化を反復して行う。各反復ｉの場合、プロセス１９０は、加重値α１を設定し（ステップ１９２）、各行を復号化し（ステップ１９４）、列復号化の出力をスケールし（ステップ１９６）、各列を復号化し（ステップ１９８）、および行復号化の出力をスケールする（ステップ２００）。それ故、ターボ積復号化プロセスの各反復は、１０の各行の復号化と、その後の１０の各列の復号化とを含み、行および列の復号化後は、メモリの全精度に対する精度を調整するために、必要な場合には、値をスケールすることができる。係数２によるスケーリングは、最大要素が表現可能な最大値の半分より小さい場合には、１０×１０マトリックスのすべての要素に適用される。８ビットの符号付き値の場合には、スケーリング閾値は、２（７−１）−１＝６３である。ノイズを含む信号に対応する値は、強力な信号に対応する値よりも大きなスケーリングを必要とする。
【００５８】
プロセス１９０が、１０行×１０列の復号化を終了すると、現在の反復が最後の反復であるかどうかの判断が行われる（ステップ２０２）。現在の反復が最後の反復でない場合には、プロセスはもう１回反復を行うためにステップ１９２に戻る。現在の反復が最後の反復であると判断された場合には（ステップ２０２）、プロセス１９０は２５のハード値を生成するために、元の情報ビットに対応する２５の各ソフト符号化値に対して、（ゼロの閾値を有する）ハード決定を行う（ステップ２０４）。ハード決定は、この値が対応する各ビットの２つの２進状態の中の一方を生成するために、２５の各値に対して動作する。すなわち、ハード決定は、ゼロより大きい対応するソフト値を有する各情報を、２進法の１と見なし、ゼロより小さい対応するソフト値を有する各情報ビットが２進法の０と見なすべきことを決定する。
【００５９】
図１４について説明すると、この図は、（図１３の）ターボ積復号化プロセス１９０の行／列復号化ステップ１９４、１９８を実行するための、（１０，５，４）ソフトイン・ソフトアウト・ブロック・デコーダ２１０の概念図である。ソフトイン・ソフトアウト・ブロック・デコーダ２１０は、符号語相関器２１２、最大Ａポステリオリ確率（ＭＡＰ）デコーダ２１４、および加重合計決定装置２１６を含む。符号語相関器２１２は、１０の行または列要素Ｖｉを受信し、ＭＡＰデコーダ２１４に供給される３２の相関値を生成するために、これら１０のソフト値に対して動作する。ＭＡＰデコーダ２１４は、３２の相関値から、新しい一組の１０のソフト値、または要素Ｖｏｕｔを生成する。加重合計決定装置２１６は、Ｖｉ、Ｖｏｕｔおよび現在の加重係数αｉを受信し、加重合計に従って、各行または列（Ｖ）内の１０のソフト値を更新する。
【００６０】
【数３】
0005079201.tif 000004
ここで、Ｖｏｕｔは、考慮の対象物になっている行または列のソフト値入力（１０の値）Ｖｉの現在の反復回数ｉのところでの、デコーダのソフト値出力（１０の値）であり、Ｖｉ＋１は、現在の反復回数のところでの更新されたソフト値出力（１０の行または列の値）である。それ故、各反復中、ソフトイン・ソフトアウト・デコーダ２１０は、新しい値Ｖｏｕｔの方向にある量だけ、値Ｖ１を調整するために、Ｖｉプラス加重された差の値Ｖｏｕｔ−Ｖｉに対応する新しい値Ｖｉ＋１により、現在のソフト値Ｖｉを更新する。上記の実施形態の場合には、α１＝｛０．２５，０．５，０．７５，１，１｝により６回反復が行われる。ソフト値Ｖｏｕｔは、各反復の後により信頼性が高くなるので、前の反復よりも、Ｖｏｕｔのためにより大きく加重されるＶｉ＋１を生成するための反復復号化中に加重が増大する。実行する反復の回数は、最終ビット速度、待ち時間許容度および使用できる処理力にような全システムの性能により異なる。
【００６１】
図１５−図１８および図１９は、それぞれ、より簡単になった符号語相関器２１２およびＭＡＰデコーダ２１４の実施形態を示す。この実施形態は、一組の符号語の対称性、およびデコーダ動作の冗長性に基づいている。それぞれが、相関器２１２により実行された、（図６の）一組の符号語内の各符号語に対するものである３２の相関値の計算は、８組の４つの相関値およびＭＡＰデコーダ２１４だけに基づく一組の順列になり、簡単な減算になる。
【００６２】
図１５について説明すると、符号語相関器２１２は、論理ユニット２２０、制御ユニット２２２および相関値ジェネレータ２２４を含む。論理ユニット２２０は、１０のソフト値、−Ｖ［０］、−Ｖ［１］、＋／−Ｖ［２］，．．．，＋／−Ｖ［９］の行または列Ｖ、２２５を受信し、それぞれ、参照番号２２７および２２８がついている、２つの相関信号ＨおよびＥを生成するために、制御ユニット２２２から受信した選択ビット、ｂ２，．．．，ｂ９２２６制御下で、ソフト値に対して動作する。これらの信号は、出力として第１の相関値ｃ０２３０ａ、第２の相関値ｃ１２３０ｂ、および第３の相関値ｃ２２３０ｃ、および第４の相関値ｃ３２３０ｄを含む、一組の相関値２３０を発生する相関値ジェネレータ２２４を提供する。
【００６３】
図１６について説明すると、論理ユニット２２０は、複数のＭＵＸユニット２４０、２４２、２４４、２４６、２４８、２５０、２５２および２５４を含み、複数の総和ユニット２５６、２５８、２６０、２６２、２６４、２６６、２６８、２７０を含む。ＭＵＸユニット２４０は、（制御ユニット２２２から）選択ビットｂ７により、＋Ｖ［７］および−Ｖ［７］の中の一方を選択する。ｂ７が０である場合には、ＭＵＸは、出力として−Ｖ［７］を供給する。ｂ７が１である場合には、＋Ｖ［７］が選択される。選択した値は、総和ユニット２５６により−Ｖ［０］に加算される。ＭＵＸユニット２４２は、選択ビット、ｂ８に従って＋Ｖ［８］および−Ｖ［８］の中の一方を選択する。ｂ８が０である場合には、ＭＵＸは、出力として−Ｖ［８］を供給する。ｂ８が１である場合には、＋Ｖ［８］が選択される。選択した値は、総和ユニット２５８により、総和ユニット２５６の出力に加算される。ＭＵＸユニット２４４は、選択ビット、ｂ９に従って、＋Ｖ［９］および−Ｖ［９］の中の一方を選択する。ｂ９が０である場合には、ＭＵＸは、出力として−Ｖ［９］を供給する。ｂ９が１である場合には、＋Ｖ［９］が選択される。選択した値は、信号または値Ｈ２２７を生成するために、総和ユニット２６０により、総和ユニット２５８の出力に加算される。
【００６４】
Ｖ［１］−Ｖ［６］に対するソフト値は、ソフト値Ｖ［０］、Ｖ［７］、Ｖ［８］Ｖ［９］と同じ方法で、一緒に加算または減算される。ＭＵＸユニット２４６は、選択ビットｂ２に従って、＋Ｖ［２］および−Ｖ［２］の中の一方を選択する。ｂ２が０である場合には、ＭＵＸユニットは、出力として−Ｖ［２］を供給する。ｂ２が１である場合には、＋Ｖ［２］が選択される。選択した値は、総和ユニット２６２により−Ｖ［１］に加算される。ＭＵＸユニット２４８は、選択ビットｂ３に従って、＋Ｖ［３］および−Ｖ［３］の中の一方を選択する。ｂ３が０である場合には、ＭＵＸユニット２４８は、出力として−Ｖ［３］を供給する。ｂ３が１である場合には、＋Ｖ［３］が選択される。選択した値は、総和ユニット２６４により、総和ユニット２６２の出力に加算される。ＭＵＸユニット２５０は、選択ビットｂ４に従って、＋Ｖ［４］および−Ｖ［４］の中の一方を選択する。ｂ４が０である場合には、ＭＵＸユニット２５０は、その出力として−Ｖ［４］を供給する。ｂ４が１である場合には、＋Ｖ［４］が選択される。選択した値は、総和ユニット２６６により、総和ユニット２６４の出力に加算される。ＭＵＸユニット２５２は、選択ビットｂ５に従って、＋Ｖ［５］および−Ｖ［５］の中の一方を選択する。ｂ５が０である場合には、ＭＵＸユニット２５２は、その出力として−Ｖ［５］を供給する。ｂ５が１である場合には、＋Ｖ［５］が選択される。選択した値は、総和ユニット２６８により、総和ユニット２６６の出力に加算される。ＭＵＸユニット２５４は、選択ビットｂ６に従って、＋Ｖ［６］および−Ｖ［６］の中の一方を選択する。ｂ６が０である場合には、ＭＵＸユニット２５４は、その出力として−Ｖ［６］を供給する。ｂ６が１である場合には、＋Ｖ［６］が選択される。選択した値は、信号Ｅ２２８を生成するために、総和ユニット２７０により、総和ユニット２６８の出力に加算される。論理ユニット２０の論理は、例えば、並列加算のような他の方法でも、実行することができることを理解することができるだろう。
【００６５】
図１７について説明すると、制御ユニット２２２は、ＸＯＲ論理ゲート２８２ａ、２８２ｂ、２８２ｃに接続している３ビット・カウンタ２８０を含み、それぞれ、８つのＭＵＸユニット、２４０、２４２、２４４、２４６、２４８、２５０、２５２および２５４（図１６に示す）のための選択ｂ２，．．．，ｂ９を発生する。制御ユニット２２２は、ビット、ｂ０およびｂ１を発生する必要はない。何故なら、（図６の符号語表内の最初の８つの符号語に対応する）８つの状態に対する値は変わらないからである。それ故、ビット、ｂ２−ｂ９は、各入力１０要素の行／列（Ｖ）に対する８つの各相関値の発生を制御する。
【００６６】
図１８について説明すると、相関値ジェネレータ２２４は、信号ＨおよびＥを受信し、最初の相関値ｃ０を生成するために、第１の総和ユニット２９０を通してこれらの信号を一緒に加算するか、第２の相関値ｃ１生成するために、第２の総和ユニット２９２により、ＨからＥを減算する。第３の相関値ｃ２を生成するために、第１の乗算装置２９６により、第２の相関値ｃ１に定数−１  ２９４が掛けられる（すなわち、倒置される）。倒置のｃ０に等しい第４の相関値ｃ３を生成するために、第２の乗算装置２９８により、第１の相関値ｃ０に定数−１  ２９４が掛けられる。第１の相関値ｃ０は、一組の符号語１１２（図６に示す）の第１の領域１１８ａ内の、８つの符号語の中の１つに対応する。第２の相関値ｃ１は、第２の領域１１８ｂ（図６）内の８つの符号語の中の１つに対応する。相関値ｃ２およびｃ３は、それぞれ、第３および第４の領域１１８ｃおよび１１８ｄ（同様に図６に示す）内の符号語に対応する。それ故、相関器２１２は、それぞれが、一組の符号語１１２内の各符号語用の、３２の相関値全体に対する８つの状態（すなわち、８つの符号語）に対して、同時に４つの相関値を生成することができる。相関値は、（特定の行または列に対する）１０のソフト値が、３２の各符号語にどれだけ近いかの測定値である。相関値が大きければ大きいほど、その符号語は１０のソフト値にますます近くなる。それ故、所与の行または列の１０のソフト値に対する、３２すべての相関値の計算がすむと、Ｖｏｕｔを生成するために、ＭＡＰデコーダ２１４が、考慮の対象になっている行または列何の１０の各値に適用される。
【００６７】
図１９について説明すると、ＭＡＰデコーダ２１４は、第１の論理ユニット３００、第２の論理ユニット３０２、および第３の論理ユニット３０４を含む。第１の論理ユニット３００は、比較／選択ユニット３０６、３０８、３１０、３１２、３１４および３１６、ＭＵＸユニット３２０および３２２を含む。各比較／選択ユニットは、符号付きの比較を行うことにより、「最大選択」機能を実行する。
【００６８】
図６および図１９について説明すると、一組の符号語１１２の一番上の１６の符号語（領域１１８ａおよび１１８ｂ）は、すべてビット位置０にゼロを有する（ｂ０）。同様に、一番下の１６の符号語（領域１１８ｃおよび１１８ｄ）はすべてビット位置０のところに１を有する。それ故、ＭＡＰデコーダ２１４は、相関値ｃ０を相関値ｃ１と比較し、Ｌ０１で示す比較／選択ユニット３０６のところで、ビット位置０のゼロに対して相関値の中の最大なものを選択する。比較／選択ユニット３０８は、第１の入力として、Ｌ０１を受信する。比較／選択ユニット３０８の出力は、レジスタＲＬ０［０］３２４に接続していて、その内容は、第２の入力として、比較／選択ユニット３０８に供給される。比較／選択ユニット３０８の結果は、レジスタＲＬ０［０］３２４内にセーブされる。ＭＡＰデコーダは、相関値ｃ２を相関値ｃ３と比較し、Ｌ２３で示すビット位置０内の１つの値に対する相関値の最大の値を選択する。比較／選択ユニット３１４は、１つの入力として、Ｌ２３を受信する。比較／選択ユニット３１４の出力は、レジスタＲＬ１［０］３２６に接続していて、その内容は、第２の入力として、比較／選択ユニット３１４に供給される。
【００６９】
それ故、各復号化サイクル（８つの各状態）に対して、比較／選択ユニット３０８は、Ｌ０１（現在の選択している最大のゼロ値）の大きい方およびＲＬ０［０］内に記憶している最後の値を選択し、比較／選択ユニット３１４は、Ｌ２３（現在の選択している最大の１つの値）の大きい方、およびＲＬ１［０］内に記憶している最後の値を選択する。
【００７０】
論理ユニット３００はさらに、それぞれが、ＭＵＸユニット３２０および３２２、比較／選択ユニット３１０および３１６、およびレジスタＲＬ０［Ｘ］３２９およびＲＬ１［Ｘ］３３０を含む、ユニット３２８ａ、３２８ｂおよび３２８ｃを含む。ユニット３２８ａの場合には、Ｘは７である。すなわち、ユニット３２８ａの場合には、レジスタ３２９はＲＬ０［７］であり、レジスタ３３０はＲＬ１［７］である。ユニット３２８ｂおよび３２８ｃの場合には、Ｘはそれぞれ８および９である。
【００７１】
制御論理（図示せず）の制御の下で、出力Ｌ０１およびＬ２３が、（すでに説明したように）、ビット０に対して、それぞれ、比較／選択ユニット３０８および３１４も供給され、ビット７、８および９に対する、ユニット３２８ａ、３２８ｂおよび３２８ｃの中の対応するものに送られる。ビット０とは異なり、ビット７、８および９は、状態変化中に変化する。図６の符号語表、符号語０−７、ビット位置７、８および９を参照すれば、このことを理解することができる。ビット７、８および９の値は１または０であるので、ＭＵＸユニット３２０および３２２の動作は、（図１７の制御ユニット２２２が発生する）制御ビットｂｘの値（０または１）により制御される。それ故、ビット位置Ｘの値がゼロである場合には、ＭＵＸユニット３２０は、最大のゼロを選択するためにＬ０１を選択し、最大の値を選択するためのＭＵＸユニット３２２は、Ｌ２３を選択する。何故なら、７、８および９に対する値は、領域０および１に対して同じものであり、領域２および３の反対のものであるからである。逆に、ビット位置Ｘの値が１である場合には、ＭＵＸユニット３２０は、Ｌ０１の代わりにＬ２３を選択し、ＭＵＸユニット３２２は、Ｌ２３の代わりにＬ０１を選択する。
【００７２】
比較／選択ユニット３１０の結果は、ＲＬ０［Ｘ］３２６内にセーブされる。この場合、Ｘ＝７、８、９である。比較／選択ユニット３１２の結果は、ＲＬ１［０］３２８内にセーブされる。比較／選択ユニット３１６の結果は、ＲＬ１［Ｘ］３３０内にセーブされる。この場合、Ｘ＝７、８、９である。
【００７３】
第２の論理ユニット３０２は、比較／選択ユニット３３２、３３４、３３６、３３８、３４および３４２、およびＭＵＸユニット３４４および３４６を含む。比較／選択ユニット３３２は、相関値ｃ０を相関値ｃ２と比較し、ゼロに対するこれら２つの相関値の中の大きい方を出力値Ｌ０２として選択する。比較／選択ユニット３３８は、相関値ｃ１を相関値ｃ３と比較し、これら２つの相関値の中の大きい方を、一方に対する出力値Ｌ１３として選択する。
【００７４】
さらに図６および図１９について説明すると、一組の符号語１１２の領域１１８ａおよび１１８ｃ内の符号語は、すべてビット位置１にゼロを有する（ｂ１）。同様に、領域１１８ｂおよび１１８ｄ内の符号語は、すべてビット位置１にゼロを有する。それ故、ＭＡＰデコーダ２１４は、比較／選択ユニット３３２のところで、ゼロに等しいビット位置１に対応する最大の相関値を、Ｌ０２として選択する。比較／選択ユニット３３４は、第１の入力としてＬ０２を受信する。比較／選択ユニット３３４の出力は、レジスタＲＬ０［０］３４８に送られ、その内容は、第２の入力として、比較／選択ユニット３３４に供給される。比較／選択ユニット３３４の結果は、レジスタＲＬ０［１］３４８内にセーブされる。ＭＡＰデコーダは、比較／選択ユニット３３８のところで、１つの値に等しいビット位置１に対する最大の相関値を、Ｌ１３として選択する。比較／選択ユニット３４０は、第１の入力としてＬ１３を受信する。比較／選択ユニット３４０の出力は、レジスタＲＬ１［０］３５０に送られ、その内容は、第２の入力として、比較／選択ユニット３４０に供給される。比較／選択ユニット３４０の結果は、レジスタＲＬ１［１］３５０内にセーブされる。
【００７５】
それ故、各復号化サイクル中、比較／選択ユニット３３４は、Ｌ０２の大きい方（現在の選択しているゼロに対する最大の相関値）およびＲＬ０［１］内に記憶している最後の値を選択し、比較／選択ユニット３４０は、Ｌ１３の大きい方（現在の選択している１に対する最大の相関値）、およびＲＬ１［１］内に記憶している最後の値を選択する。
【００７６】
論理ユニット３０２は、さらに、それぞれが、ＭＵＸユニット３４４および３４６、比較／選択ユニット３３６および３４２、およびレジスタＲＬ０［Ｙ］３５４およびＲＬ１［Ｙ］３５６を含む、ユニット３５２ａ、３５２ｂ、３５２ｃ、３５２ｄおよび３５２ｅを含む。ユニット３５２ａの場合には、Ｙは２であり、それ故、レジスタ３５４はＲＬ０［２］であり、レジスタ３５６はＲＬ１［２］である。ユニット３５２ｂ，．．．，３５２ｅの場合には、Ｙはそれぞれ２，．．．，６である。
【００７７】
出力Ｌ０２およびＬ１３は、ビット１に対して、それぞれ、比較／選択ユニット３３４および３４０に供給され、ビット２−９に対する、ユニット３５２ａ−３５２ｅの中の対応するものに送られる。ビット１とは異なり、ビット２、３、４、５および６の値は変化する。図６の符号語表、符号語０−７、ビット位置２−６を参照すれば、このことを理解することができる。ビット２−６の値は１または０であるので、ＭＵＸユニット３４４および３４６の動作は、（図１７の制御ユニット２２２が発生する）制御ビットｂＹの値（０または１）により制御される。それ故、ビット位置Ｙの値がゼロである場合には、ＭＵＸユニット３４４は、ゼロに対する最大の相関値を選択するためにＬ０２を選択し、１に対する最大の相関値を選択するためのＭＵＸユニット３４６は、Ｌ１３を選択する。何故なら、２−６に対する値は、領域０および２に対して同じものであり、領域１および３の反対のものであるからである。ビット位置Ｙの値が１である場合には、ＭＵＸユニット３４４は、Ｌ０２の代わりにＬ１３を選択し、ＭＵＸユニット３４６は、Ｌ１３の代わりにＬ０３を選択する。比較／選択ユニット３３６の結果は、レジスタＲＬ０［Ｙ］３５４内にセーブされる。この場合、Ｙ＝２−６である。比較／選択ユニット３４２の結果は、レジスタＲＬ１［Ｙ］３５６内にセーブされる。この場合、Ｙ＝２−６である。
【００７８】
それ故、各ビット、０−９の場合、ＭＡＰデコーダ２１４は、一度に１つの状態について、そのビット位置内にゼロを有する符号語に対応する、全部で１６の相関値をチェックし、最大値を発見する。各行／列復号化動作のスタート時に０に初期化されるレジスタＲＬ０［０．．．９］により、ＭＡＰデコーダ２１４は、ビット０に対する適当なレジスタ、ＲＬ０［０］３２４、ビット１に対するＲＬ０［１］３４８、ビット２−６に対するＲＬ０［Ｙ］３５４、およびビット７−９に対するＲＬ０［Ｘ］３２９内に最大値をセーブする。デコーダ２１４は、また、そのビット位置に１を有する符号語に対応する１６の相関値全部もチェックし、最大値を発見する。各行／列復号化動作のスタート時に、０に初期化されるレジスタＲＬ１［０．．．９］により、ＭＡＰデコーダ２１４は、適当なレジスタ、ビット０に対するＲＬ１［０］３２６、ビット１に対するＲＬ１［１］３５０、ビット２−６に対するＲＬ１［Ｙ］３５６、およびビット７−９に対するＲＬ１［Ｘ］内に最大値をセーブする。
【００７９】
ＭＡＰデコーダ２１４は、Ｚは０−９であり、総和ユニット３５６である場合に、ＲＬ１［Ｚ］の最後の値（すなわち、最大値）から、レジスタＲＬ０［Ｚ］内の最後の値（すなわち、最大のゼロ）を差し引くために、第３の論理ユニット３０４を使用し、新しいソフト値Ｖｏｕｔ［Ｚ］を生成するために、８による除算機能３５８により、差の値を８で割る。それ故、ＭＡＰデコーダ２１４は、Ｖｏｕｔ［Ｚ］を生成するために、各ビット位置および８つの各状態（および、それ故、１６の相関値）に対して上記プロセスを実行する。
他の実施形態
本発明を詳細に説明してきたが、上記説明は、本発明を説明するためのものであって、本発明の範囲を制限するものではないことを理解されたい。本発明の範囲は、特許請求の範囲によって定義される。他の実施形態も特許請求の範囲内に含まれる。
【図面の簡単な説明】
【図１】  送信チャネルに接続しているネットワーク・ノードのデータ・ネットワークである。データ・ネットワーク内の各ノードは、（図にホスト・コンピュータとして示す）端末デバイス、媒体アクセス制御ユニット、物理層デバイス、およびアナログ・フロントエンドユニットを含む。
【図２】  他の機能ユニットの中でも、フレーム制御エンコーダおよびフレーム制御デコーダを含む、（図１に示す）物理層（ＰＨＹ）ユニットの詳細なブロック図である。
【図３】  ＯＦＤＭフレームのフォーマットである。
【図４】  積エンコーダと、周波数インタリーブおよび時間インタリーブ／コピープロセスを使用するインタリーバとを含む（図２の）フレーム制御エンコーダのブロック図である。
【図５】  対称性を有する一組の符号語を生成するように選択されたジェネレータ・マトリックスである。
【図６】  図５のジェネレータ・マトリックスにより生成された、一組の符号語を含む符号語の表である。
【図７】  図６の一組の符号語の第１の２５の情報ビットに対して生成された、二次元積コード・ブロックである。
【図８】  １００のブロック各要素に、００から９９までの（列，行）数がつけられている（図７の）積コード・ブロックの別の図面である。
【図９Ａ】  フレーム制御情報の３つの記号に対する周波数インタリーブプロセスのフローチャートである。
【図９Ｂ】  フレーム制御情報の３つの記号に対する周波数インタリーブプロセスのフローチャートである。
【図９Ｃ】  フレーム制御情報の４つの記号に対する周波数インタリーブプロセスのフローチャートである。
【図１０】  ４つの記号に対する時間インタリーブ／コピープロセスのフローチャートである。
【図１１Ａ】  フレーム制御情報が図９Ａ−Ｂおよび図１０のインタリーブプロセスおよびコピープロセスによりインタリーブされた後の、３つの各ＯＦＤＭフレーム制御記号でのキャリヤ割当ての図である。
【図１１Ｂ】  ４つの各ＯＦＤＭフレーム制御記号でのキャリヤ割当てを示す例示としての図である。
【図１２】  （コピー結合および時間／周波数デインタリーブをサポートするための）デインタリーバと、ターボ積デコーダとを含む、図２のフレーム制御デコーダのブロック図である。
【図１３】  図１０のターボ積デコーダにより実行されるターボ積復号化プロセスのフローチャートである。
【図１４】  図１３のターボ積デコーダの行および列の復号化動作を実行するための行／列デコーダのブロック図である。行／列デコーダは、符号語相関器および最大Ａポステリオリ確率（ＭＡＰ）デコーダを含む。
【図１５】  論理演算ユニット、制御ユニットおよび相関値ジェネレータを含む符号語相関器（図１４に示す）のブロック図である。
【図１６】  図１５の符号語相関器論理演算ユニットの回路図である。
【図１７】  図１５の符号語相関器制御ユニットの回路図である。
【図１８】  図１５の相関値ジェネレータの回路図である。
【図１９】  図１４のＭＡＰデコーダの回路図である。
【図１】
0005079201.tif 000005
【図２】
0005079201.tif 000006
【図３】
0005079201.tif 000007
【図４】
0005079201.tif 000008
【図５】
0005079201.tif 000009
【図６】
0005079201.tif 000010
【図７】
0005079201.tif 000011
【図８】
0005079201.tif 000012
【図９Ａ】
0005079201.tif 000013
【図９Ｂ】
0005079201.tif 000014
【図９Ｃ】
0005079201.tif 000015
【図１０】
0005079201.tif 000016
【図１１Ａ】
0005079201.tif 000017
【図１１Ｂ】
0005079201.tif 000018
【図１２】
0005079201.tif 000019
【図１３】
0005079201.tif 000020
【図１４】
0005079201.tif 000021
【図１５】
0005079201.tif 000022
【図１６】
0005079201.tif 000023
【図１７】
0005079201.tif 000024
【図１８】
0005079201.tif 000025
【図１９】
0005079201.tif 000026