(57)【要約】  実装するのに簡単で安価な無線通信デバイスのためのデインターリーバが提供される。特に、多段階のインターリーブ手法を使用してインターリーブされた複数のシンボルを表すデータビットストリームをデインターリーブするためのデインターリーバが提供され、ストリーム内のデータビットを、１つのシンボルからの連続データビットが対になるように並べるための前処理手段と、対になったデータビットの各対をそれぞれの位置に記憶するための少なくとも１つのメモリと、データビットの対を記憶すべき少なくとも１つのメモリ内のアドレスを決定し、データビットの対を読み出すべき少なくとも１つのメモリ内のアドレスを決定するように構成された、少なくとも１つのメモリに対する読み出し／書き込みアドレス発生器とを具える。
2010503355.tif 000002
【特許請求の範囲】
【請求項１】
多段階のインターリーブ手法を使用してインターリーブされた複数のシンボルを表すデータビットのストリームをデインターリーブするデインターリーバであって、前記デインターリーバは、
前記ストリーム内のデータビットを、１つのシンボルからの連続データビットが対になるように並べるための前処理手段と、
前記対になったデータビットの各対をそれぞれの位置に記憶するための少なくとも１つのメモリと、
前記データビットの対を記憶すべき前記少なくとも１つのメモリ内のアドレスを決定し、前記データビットの対を読み出すべき前記少なくとも１つのメモリ内のアドレスを決定するように構成された、前記少なくとも１つのメモリに対する読み出し／書き込みアドレス発生器と、
を具えることを特徴とするデインターリーバ。
【請求項２】
前記データビットストリームのデータレートを決定し、前記決定されたデータレートに従って、前記前処理手段及び前記読み出し及び書き込みアドレス発生器の動作を調整する制御手段を更に具えることを特徴とする、請求項１に記載のデインターリーバ。
【請求項３】
前記前処理手段が少なくとも１つのレジスタを具え、前記少なくとも１つのレジスタが前記ストリーム中のデータビットを記憶し、前記データビットの対に出力するように制御されることを特徴とする、請求項１又は２に記載のデインターリーバ。
【請求項４】
前記アドレス発生器によって決定された前記少なくとも１つのメモリ内のアドレスから出力される記憶されたデータビットの対を受信し、デインターリーブされたシンボルのセットを出力するように前記データビットの対を並べ替えるための後処理手段を更に具えることを特徴とする、請求項１〜３のいずれかに記載のデインターリーバ。
【請求項５】
前記後処理手段がレジスタを具えることを特徴とする、請求項４に記載のデインターリーバ。
【請求項６】
前記後処理手段の前記レジスタは複数のレジスタ位置を具え、前記レジスタは、前記データビットの対を連続するレジスタ位置に記憶し、前記対のデータビットを不連続順に出力するように構成されていることを特徴とする、請求項５に記載のデインターリーバ。
【請求項７】
前記多段階インターリーブ手法の段階の１つが、シンボル間インターリーブを含み、前記後処理手段が前記少なくとも１つのメモリから出力される前記データビットに対してシンボル間デインターリーブを実行するように構成されていることを特徴とする、請求項４〜６のいずれかに記載のデインターリーバ。
【請求項８】
前記少なくとも１つのメモリが第１及び第２のメモリを具え、前記アドレス発生器が、前記第１のメモリに記憶された第１のシンボルセットからのデータビット対に対する読み出しアドレスを発生するとともに、前記第２のメモリに書き込むべき第２のシンボルセットからのデータビット対に対する書き込みアドレスを発生するように構成されていることを特徴とする、請求項１〜７に記載のデインターリーバ。
【請求項９】
前記第１のシンボルセットからのデータビット対の各々が前記第１のメモリから読み出され、前記第２のシンボルセットからのデータビット対の各々が前記第２のメモリに書き込まれたときに、前記アドレス発生器が、前記第２のメモリ内の前記第２のシンボルセットからの前記データビット対に対する読み出しアドレスを発生するとともに、前記第１のメモリに書き込むべき第３のシンボルセットからのデータビット対に対する書き込みアドレスを発生するように構成されていることを特徴とする、請求項８に記載のデインターリーバ。
【請求項１０】
前記読み出し及び書き込みアドレス発生器が、データビット対を読み出すべき前記少なくとも１つのメモリ内のアドレスを指示するために、前記複数のシンボルの各シンボルに対してそれぞれのアドレスカウンタを具えることを特徴とする、請求項１〜９のいずれかに記載のデインターリーバ。
【請求項１１】
前記多段階インターリーブ手法の段階の１つが循環シフトを含み、前記読み出し及び書き込みアドレス発生器が、前記それぞれのアドレスカウンタに従って前記少なくとも１つのメモリから読み出されるデータビット対と組み合わせるために、前記少なくとも１つのメモリからのシンボルに対するデータビット対を選択的にプレフェッチするように構成されていることを特徴とする、請求項１０に記載のデインターリーバ。
【請求項１２】
超広帯域システムに使用するように構成されていることを特徴とする、請求項１〜１１に記載のデインターリーバ。
【請求項１３】
前記多段階インターリーブ手法が、シンボルインターリーブ、シンボル内トーンインターリーブ、及びシンボル内循環シフトを含むことを特徴とする、請求項１２に記載のデインターリーバ。
【請求項１４】
請求項１２又は１３に記載のデインターリーバを具える超広帯域システムにおける使用のためのデバイス。
【請求項１５】
請求項１〜１３のいずれかに記載のデインターリーバを具える、複数のシンボルを表すデータビットストリームの受信用通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信デバイス、特に通信デバイスのデインターリーバに関するものである。
【背景技術】
【０００２】
インターリーブ技術は、バーストエラーから送信を保護するために通信システムにおいて広く使用されている。バーストエラーの結果として多数の連続ビットが誤って受信され、送信の残りは正常に受信される。
【０００３】
データ訂正ビットは送信前にデータから導出され、データが正常に受信されたか、そして誤って受信されたビットを訂正できるか否かを検出するために、受信機によって使用される。送信すべき各シンボルにおいて、所定の数の誤りビットのみが訂正できる。従ってインターリーブは、各シンボルに対するビットを送信全体に分散させるために使用される。このように、バーストエラーが発生した場合には各シンボルからの少数のビットのみが影響されるため、受信機はデータ訂正ビットを使用して受信したシンボルを訂正できる。
【０００４】
多くの確立された標準規格、例えば無線通信標準規格においては、実装が容易で単純なため、ブロックインターリーブが使用されている。しかしノード間のデータレートおよび距離が増加するにつれて、ネスト化又は連結されたインターリーブ手法が益々重要になっている。このような先進のインターリーブ手法のデインターリーバをハードウェアへ直接マッピングすることは、通常次善策であるため、シリコン面積を節約し且つ消費電力を低減するために様々な最適化技術を使用することができる。
【０００５】
ＭｕｌｔｉＢａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅによる“ＭｕｌｔｉＢａｎｄ  ＯＦＤＭ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”リリース１．０は、３段階のインターリーブ手法を提案している。第１段階においては、帯域グループ内で周波数ダイバーシティを有効に使用するために、複数の連続ＯＦＤＭシンボル（通常は６つ）に亘ってビットの順序を変更する、シンボルインターリーブが使用される。第２段階においては、サブキャリアに亘る周波数ダイバーシティを有効に使用するために、ＯＦＤＭシンボル内でデータサブキャリア（トーン）に亘ってビットの順序を変更するトーン内インターリーブが使用される。第３段階においては、連続ＯＦＤＭシンボルにおいてビットを規定量だけ循環的にシフトするシンボル内循環シフトが使用される。
【０００６】
図１は、上記の手法によるインターリーバのブロック線図を示している。インターリーバ２は、直列に接続されたシンボルインターリーブユニット４と、トーンインターリーブユニット６と、循環シフトユニット８とを具える。シンボルインターリーブユニット４は、｛Ｕ（ｉ）｝で示される入力ビットを受信し、処理して｛Ｓ（ｉ）｝で示されるビットを出力する。トーンインターリーブユニット６は、｛Ｓ（ｉ）｝で示されるビットを受信し、処理して｛Ｖ（ｉ）｝で示されるビットを出力する。循環シフトユニット８は、｛Ｖ（ｉ）｝で示されるビットを受信し、処理して｛Ｂ（ｉ）｝で示されるビットを出力する。
【０００７】
シンボルインターリーブユニット４によって実行されるシンボルインターリーブ処理は、符号化ビットを６ＮＣＢＰＳ符号化ビットのブロックに分割するステップを含むが、ここでＮＣＢＰＳを１シンボル当たりの符号化ビットの数であり、従って６ＮＣＢＰＳは６つのＯＦＤＭシンボルに対応する。符号化ビットの各グループは、次に大きさ６ＮＣＢＰＳのブロックインターリーバを使用して６／ＮＴＤＳによって順序変更されるが、ここでＮＴＤＳは時間拡散係数である。シーケンス｛Ｕ（ｉ）｝及び｛Ｓ（ｉ）｝は、それぞれシンボルインターリーブユニット４の入力及び出力ビットを表し、ここでｉ＝０，．．．，ＮＣＢＰ６Ｓ−１であり、ＮＣＢＰ６Ｓは６シンボル中の符号化ビットの数である。このユニットの入力−出力関係は以下の式で与えられる。
【０００８】
【数１】
2010503355.tif 000003
【０００９】
ここでＦｌｏｏｒ（ｘ）は、その引数以下の最大の整数値を返す関数であり、Ｍｏｄ（ｘ，ｙ）は、ｘをｙで割ったときの負ではない整数の余りを返すモジュロ演算子である。
【００１０】
シンボルインターリーブユニット４の出力ビットは、ＮＣＢＰ６Ｓビットのブロックに一緒にグループ化され、ＮＴｉｎｔ×１０の寸法の標準のブロックインターリーバを使用して一緒に順序変更され、ここでＮＴｉｎｔ＝ＮＣＢＰＳ／１０である。シーケンス｛Ｓ（ｉ）｝及び｛Ｖ（ｉ）｝は、トーンインターリーブユニット６のそれぞれ入力及び出力ビットを表し、ここでｉ＝０，．．．，ＮＣＢＰ６Ｓ−１である。このユニットの入力−出力関係は以下の式で与えられる。
【００１１】
【数２】
2010503355.tif 000004
【００１２】
トーンインターリーブユニット６の出力は、シンボル内循環シフトユニット８を通過する。シーケンス｛Ｖ（ｉ）｝及び｛Ｂ（ｉ）｝は、循環シフトユニット８のそれぞれ入力及び出力を表し、ここでｉ＝０，．．．，ＮＣＢＰ６Ｓ−１である。循環シフトユニット８の出力は以下の式で与えられる。ここでｍ（ｉ）＝Ｆｌｏｏｒ（ｉ／ＮＣＢＰＳ）であり、ｉ＝０，．．．，ＮＣＢＰ６Ｓ−１である。
【００１３】
【数３】
2010503355.tif 000005
【００１４】
特許文献１は、上記の３段階のインターリーブ手法による、超広帯域パーソナルアクセスネットワークのマルチバンドＯＦＤＭトランシーバのためのインターリーバを開示している。この文献は、循環デシフトユニットと、トーンデインターリーブユニットと、シンボルデインターリーブユニットの３つのブロックを連結したデインターリーバも開示しているが、このデインターリーバはシリコン面積に関して費用がかさみ、且つ縮小できない。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許出願第２００５／０，１５２，３２７号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、無線通信デバイスのための実装が簡単で安価なデインターリーバを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の態様によれば、多段階のインターリーブ手法を使用してインターリーブされた複数のシンボルを表すデータビットストリームをデインターリーブするためのデインターリーバが提供され、本デインターリーバは、
前記ストリームのデータビットを、１つのシンボルからの連続データビットが対になるように並べる前処理手段と、
対にされたビットの各対をそれぞれの位置に記憶するための少なくとも１つのメモリと、
データビットの対を記憶すべき少なくとも１つのメモリ内のアドレスを決定し、データビットの対を読み出すべき少なくとも１つのメモリ内のアドレスを決定するように構成された、少なくとも１つのメモリのための読み出し及び書き込みアドレス発生器と、
を具える。
【００１８】
本発明の第２の態様によれば、上記のデインターリーバを具える超広帯域システムに使用するためのデバイスを提供する。
【００１９】
本発明の第３の態様によれば、複数のシンボルを表すデータビットストリームを受信するための通信デバイスを提供し、そのデバイスは上記のデインターリーバを具える。
【００２０】
本発明のこれら及び他の態様は、これ以降説明される実施例を参照して明らかとなり、説明される。
【００２１】
ここで以下の図面を参照して本発明を一例についてのみ説明する。
【図面の簡単な説明】
【００２２】
【図１】従来の３段階のインターリーバのブロック線図を示している。
【図２】インターリーバにおいて使用されるデータレート依存パラメータを示す表である。
【図３】ａ〜ｃは、ｄｅｉｎｔｖ＿ｔｙｐｅの異なる値に対するデインターリーバでの初期出力アドレスを示している。初期出力アドレスを示している。
【図４】ａ〜ｃは、ｄｅｉｎｔｖ＿ｔｙｐｅの異なる値に対するデインターリーバでの初期出力アドレスにおけるシンボルビットを示している。
【図５】本発明によるデインターリーバに対するアーキテクチャのブロック線図を示している。
【図６】本発明によるシンボル内前処理のブロック線図を示している。
【図７】ａ〜ｇは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時の前処理ユニットの動作を示している。
【図８】ａ〜ｆは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝２の時の前処理ユニットの動作を示している。
【図９】ａ〜ｇは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝３の時の前処理ユニットの動作を示している。
【図１０】本発明による読み出し・書き込みアドレス発生器の動作を示すフローチャートである。
【図１１】本発明によるｄｅｉｎｔｖ＿ｔｙｐｅ，ｏｕｔｅｒ＿ｃｎｔ及びシンボルインデックスの様々な組み合わせに対するｐｒｅｆ＿ｅｎの値を示す表である。
【図１２】本発明によるシンボル間後処理ユニットのブロック線図である。
【図１３】ａ〜ｄは、本発明によるシンボル間後処理ユニットの動作を説明している。
【００２３】
本発明を、上記のＭｕｌｔｉＢａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅからの “Ｍｕｌｔｉｂａｎｄ  ＯＦＤＭ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”リリース１．０に準拠する超広帯域ネットワークについて説明するが、本発明は多段階のインターリーブが使用されている他の通信ネットワークに利用可能であることを理解されよう。
【００２４】
本発明の以下の説明において、送信すべきデータは図１及び数１〜３を参照して、上で説明した３段階のインターリーブ手法を使用して、６シンボル又は（上記の式をしかるべく変更して）３シンボルに亘ってインターリーブされているものとする。
【００２５】
代表的なネットワークにおいて、使用できる９つの可能なデータレート、即ち３９．４Ｍｂ／ｓ，８０Ｍｂ／ｓ，１０６．７Ｍｂ／ｓ，１６０Ｍｂ／ｓ，２００Ｍｂ／ｓ，３２０Ｍｂ／ｓ，４００Ｍｂ／ｓ及び４８０Ｍｂ／ｓが存在する。３９．４Ｍｂ／ｓのデータレートは、ヘッダのためだけに使用される。上記のインターリーブ手法において使用されるパラメータＮＴＤＳ，ＮＴｉｎｔ，Ｎｃｙｃ及びＮＣＢＰＳは全て、その時に使用されるデータレートに依存する。図２は、これらのパラメータに対する代表的な値を示す表である。
【００２６】
シンボルデータビットがインターリーバから出力される順序は、データストリームをインターリーブするためにインターリーバで使用されるデータレート及び他のパラメータに基づいて、３つの主要なタイプに分類できることが認識されている。従って、本発明によれば、新たなパラメータｄｅｉｎｔｖ＿ｔｙｐｅを定義し、その値はデータストリームを送信するために使用されるデータレートに基づいている。パラメータｄｅｉｎｔｖ＿ｔｙｐｅは、データレートが３９．４Ｍｂ／ｓ，５３．３Ｍｂ／ｓ及び８０Ｍｂ／ｓの時には値１を、データレートが１０６．７Ｍｂ／ｓ，１６０Ｍｂ／ｓ及び２００Ｍｂ／ｓの時には値２を、データレートが３２０Ｍｂ／ｓ，４００Ｍｂ／ｓ及び４８０Ｍｂ／ｓの時には値３を有する。ｄｅｉｎｔｖ＿ｔｙｐｅの値が図２に示されている。
【００２７】
送信機にてインターリーブに使用されるシンボル数はＭで示され、２００Ｍｂ／ｓよりも小さいデータレートに対してはＭ＝０，．．．，２、そして３２０よりも大きなデータレートに対してはＭ＝０，．．．，５の値を有する（Ｍに対する値の範囲は、図２の表にも示されている）。デインターリーバアーキテクチャへの入力データが連続的に書き込まれるとすると、Ｍ番目のシンボルからのソフトビットは、Ｎ＝ＮＣＢＰＳとすると、Ｎ×ＭからＮ×（Ｍ＋１）−１までのアドレスに書き込まれる。
【００２８】
図３ａ，ｂ，ｃ，４ａ，ｂ及びｃは、ｄｅｉｎｔｖ＿ｔｙｐｅの異なる値について、インターリーブされたシンボルビットがデインターリーバで受信される自然な順序を示している。詳細には、図３ａ，ｂ及びｃは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１，２及び３について、データビットの順序及びデインターリーバにてそれらがどのように仮想メモリに記憶されるかをそれぞれ示している。Ｍ番目のシンボルのｍ番目のビットは、ｓｙｍＭ，ｍで示されている。図４ａ，ｂ及びｃは、仮想メモリアドレスにおけるデータビットの順序を示している。
【００２９】
好適な実施例においては、２で割ることによって物理アドレスにマッピングされる仮想アドレスを使用して、２つのデータビットを単一の物理メモリ位置に記憶できる。
【００３０】
図３ａ，３ｂ及び３ｃから、出力アドレス中に３つのパターンが存在することが分かる。即ち、
（ｉ）第１のパターンは、各シンボルからのデータがラウンドロビン式に出力される。例えば、この出力はｓｙｍ０，ｍ，ｓｙｍ１，ｍ，ｓｙｍ２，ｍ，ｓｙｍ０，ｍ＋１，ｓｙｍ１，ｍ＋１，ｓｙｍ２，ｍ＋１などである。これは送信機中のシンボルインターリーブユニット４によるものである。
（ｉｉ）第１の出力アドレスから出発して、同一のシンボルからの２つの連続する出力アドレスを互いにグループ化すると、ほとんどのグループに対して、３９．４Ｍｂ／ｓ，５３．３Ｍｂ／ｓ及び８０Ｍｂ／ｓのデータレートについては、アドレスギャップは１０であり、８０Ｍｂ／ｓよりも大きなデータレートについては２０であることが分かる。例えば、図３ａにおけるｓｙｍ０，０とｓｙｍ０，１との間のアドレスギャップは１０である。これは送信機中のシンボル内トーンインターリーブユニット６によるものである。
（ｉｉｉ）パラグラフ（ｉｉ）において説明されたパターンは時々破綻しうるが、これらの場合には別のパターンが利用可能である。ここでは連続する２つのサンプルはｍ，（ｍ＋ギャップ）−Ｍ×Ｎのインデックスを有する。これは図３ｂに示され、２つの連続するデータビットのアドレスは５８８（ｓｙｍ２，６）及び４０８（ｓｙｍ２，７）である。これは送信機中の循環シフトユニット８によるものである。
【００３１】
上記の観測の結果として、デインターリーバ１０を図５に示す。デインターリーバ１０は、シンボル内前処理ユニット１２を具え、この前処理ユニットは入力するインターリーブされたデータストリームをパラグラフ（ｉｉ）におけるパターンに並べ替えるように前処理する。シンボル内前処理ユニット１２はデマルチプレクサ１４への出力を有し、前処理されたデータストリームを第１のメモリ１６又は第２のメモリ１８に選択的に出力する。好適な実施例において、第１及び第２のメモリ１６，１８は、デュアルポートランダムアクセスメモリとすることができる。読み出し／書き込みアドレス発生器２０は、データを書き込むべき又は読み出すべき第１及び第２のメモリ内の位置を決定する。マルチプレクサ２２は第１及び第２のメモリ１６，１８の出力端に接続され、メモリ１６，１８の１つの出力をシンボル間後処理ユニット２４に渡す。シンボル間後処理ユニット２４は、マルチプレクサ２２によって選択された、それぞれメモリ１６又は１８から受信したデータを図３ａ〜ｃにおけるパターンに並べ替える。このアーキテクチャによって、シンボル及びビットデインターリーブを同時に実行することが可能になる。
【００３２】
デインターリーバ１０は、パケットのヘッダにおけるデータレートの表示から、入力する送信信号に対してｄｅｉｎｔｖ＿ｔｙｐｅの値を決定する制御手段を具えることが好ましい。幾つかの実施例において、このヘッダはＰＬＣＰヘッダである。
【００３３】
如何なる時にも、メモリ１６又は１８の一方が入力データストリーム内の受信ソフトビットの書き込みを、他方が記憶されたソフトビットの読み出しを担っている。メモリ１６，１８は、６ＯＦＤＭシンボル期間毎にその担当を切り替える。各メモリ位置が２つのデータビットを記憶する好適な実施例においては、メモリ１６，１８のそれぞれは３×ＮＣＢＰＳのメモリ位置を有し、６シンボル内の各ビット対に対して１つの位置を使用する。
【００３４】
図６は、本発明によるシンボル内前処理ユニット１２のブロック線図を示している。シンボル内前処理ユニット１２は、第１のメインレジスタアレイ２６，第２のメインレジスタアレイ２８，及び特殊レジスタアレイ３０の３つのレジスタアレイを具える。第１及び第２のレジスタアレイ２６，２８は、Ｒ０からＲ１９でラベルされた２０のレジスタ位置を有している。特殊レジスタアレイ３０は、Ｒ０からＲ９でラベルされた１０のレジスタ位置を有している。前処理ユニット１２は、ユニット１２の入力端にてデータストリームを受信し、そのデータストリームをレジスタアレイ２６，２８又は３０の１つに選択的に出力するためのデマルチプレクサ３２を更に具える。ユニット１２は、選択したレジスタアレイ２６，２８及び３０からのデータを出力するためのマルチプレクサ３４も具える。
【００３５】
シンボル内前処理ユニット１２は、ｄｅｉｎｔｖ＿ｔｙｐｅの可能な値の各々に対して３つの異なる動作モードを有している。周波数領域のデスプレディングのために、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１のとき、１クロックサイクル毎に２つのソフトデータビットが前処理ユニット１２に入力される。デインターリーバは並列設計であるため、ｄｅｉｎｔｖ＿ｔｙｐｅ＝２又は３の時、１クロックサイクル毎に４つのソフトビットが前処理ユニット１２に入力される。
【００３６】
図７ａから７ｇは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時の前処理ユニット１２の動作を示している。ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時には、入力するデータストリームを処理するために、第１のメインレジスタアレイ２６のみが使用される。従って、デマルチプレクサ３２は入力するデータストリームを第１のメインレジスタアレイ２６に向かうように制御され、マルチプレクサ３４は前処理ユニット１２の出力のために第１のメインレジスタアレイ２６を選択するように制御される。第２のメインレジスタアレイ２８及び特殊レジスタアレイ３０は、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時には使用されない。
【００３７】
上述のように、シンボル内前処理ユニット１２は、入力するデータストリームを上のパラグラフ（ｉｉ）で説明したパターンに従って処理してデータビットを出力する。つまりユニット１２は、データストリームをインデックスが１０だけ離れたビットの対にグループ化する。
【００３８】
図７ａ〜ｇの各々は、１つのクロックサイクルの終了時におけるレジスタ２６の状態を示している。レジスタ２６の上に示してあるのは、次のクロックサイクルにおいて受信されるデータビット対ｄｘｄｘ＋１である。レジスタ２６の下に示されたデータビット対ｄｙｄｙ＋１０は、図７によって表されたクロックサイクル中にレジスタ２６から出力されるデータビットである。
【００３９】
図７ａは、ｄ０〜ｄ９で示された最初の１０データビットが、レジスタ２６中の位置Ｒ０〜Ｒ９にそれぞれ記憶されていることを示している。次のクロックサイクルにおいて、データビットｄ１０及びｄ１１が受信される。レジスタ位置Ｒ１０〜Ｒ１９は、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時には使用されないことに注意されたい。
【００４０】
レジスタ２６の動作は、２０データビットを受信する毎に、言い換えると１０クロックサイクル毎に繰り返される既定のパターンに従う。
【００４１】
このパターンの最初の５クロックサイクルの各々において、データビットの新たな対がレジスタ２６に受信されるとき、レジスタ２６に先に記憶された１つのデータビットと一緒に、そのデータビット対の第１のビットがレジスタからそのまま読み出される。この１つのデータビットは、入力ビット対の第１のデータビットよりも１０だけ小さいインデックスを有する。その対における他のデータビットは、レジスタ２６内の空のレジスタ位置に読み込まれる。
【００４２】
従って図７ｂに示すように、入力するデータビットｄ１０が、レジスタ位置Ｒ０に記憶されたデータビットｄ０とともに、レジスタ２６からそのまま読み出される。レジスタ位置Ｒ１のデータビットｄ１がレジスタ位置Ｒ０に移動し、受信したデータビットｄ１１がレジスタ位置Ｒ１に記憶される。代わりに（図示しないが）、データビットｄ１をレジスタ位置Ｒ１に残し、入力するデータビットｄ１１をレジスタ位置Ｒ０に記憶してもよい。いずれの場合においても、インデックスが１０だけ離れたデータビット対が、マルチプレクサ３４及びデマルチプレクサ１４を介して、レジスタ２６から第１又は第２のメモリ１６，１８へ出力される。レジスタ２６においては、データビットｄ１及びｄ１１は、ここで隣のレジスタ位置に記憶される。
【００４３】
図７ｃにおいて、データビットｄ１２ｄ１３がレジスタ２６に受信される。データビットｄ１２は、データビットｄ２とともにレジスタ２６からそのまま読み出される。データビットｄ３はレジスタ位置Ｒ２に移動し、入力するデータビットｄ１３が隣のレジスタ位置Ｒ３に記憶される。
【００４４】
図７ｄに示すように、パターンの最初の５サイクルの後、レジスタ位置の各連続する対には、１０だけ離れたインデックスを有するデータビットがそれぞれ記憶されている。このように、レジスタ位置Ｒ６及びＲ７にはデータビットｄ７及びｄ１７が記憶され、以下同様である。
【００４５】
パターンの最後の５クロックサイクルにおいて、連続するレジスタ位置に記憶されているデータビット対がレジスタ２６から読み出され、入力する両データビットが空のレジスタ位置に記憶される。
【００４６】
このように、図７ｅにおいて、連続するレジスタ位置Ｒ０及びＲ１中のデータビットｄ１及びｄ１１は、それぞれレジスタ２６から第１又は第２のＲＡＭ１６，１８の１つに読み出され、入力するデータビットｄ２０及びｄ２１の対は、今空になったレジスタ位置Ｒ０及びＲ１に記憶される。図７ｆに示すように、この処理が続く。
【００４７】
パターンの第１０クロックサイクル後のレジスタ２６の状態を図７ｇに示す。このように、連続するデータビットｄ２０からｄ２９までがそれぞれレジスタ位置Ｒ０からＲ９に記憶され、データビットｄ０からｄ９のそれぞれは、１０だけ高いインデックスを有する対応するデータビットとともに、レジスタ２６から読み出された。図７ｇにおけるレジスタ２６の状態は、図７ａにおけるレジスタ２６の状態に対応していることが分かる。このように、１０クロックサイクルのパターンは入力するデータストリームの残りに対しても繰り返す。
【００４８】
図８ａから８ｆは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝２のときの前処理ユニット１２の動作を示している。ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時と同様に、入力するデータストリームを処理するために第１のメインレジスタアレイ２６のみが使用される。ｄｅｉｎｔｖ＿ｔｙｐｅ＝２のときには、第２のメインレジスタアレイ２８及び特殊レジスタアレイ３０は使用されない。
【００４９】
上述のように、シンボル内前処理ユニット１２は、入力するデータストリームを上のパラグラフ（ｉｉ）で説明したパターンに従って処理してデータビットを出力する。このように、ユニット１２はデータストリームをインデックスが２０だけ離れたビットの対にグループ化する。
【００５０】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝２の時の前処理ユニット１２の動作を説明するのに必要な図の数を減すために、図８ａ〜ｆの各々は、クロックサイクルの終了時のレジスタ２６の状態を示す。デインターリーバ１０は並列設計であるため、１クロックサイクル毎に４つのソフトデータビットが前処理ユニット１２に入力され、レジスタ２６の上に示されているのは次のクロックサイクル中に受信される２つの対のデータビットｄｘｄｘ＋１ｄｘ＋２ｄｘ＋３のである。レジスタ２６の下に示されている２つの対のデータビットｄｙｄｙ＋２０ｄｙ＋２ｄｙ＋２２は、その図で表されているクロックサイクル中にレジスタ２６から出力されるデータビットである。
【００５１】
図８ａは、ｄ０からｄ１９で示される第１の２０データビットが、レジスタ２６内のそれぞれ位置Ｒ０からＲ１９に記憶されることを示している。次のクロックサイクルにおいて、データビットｄ２０，ｄ２１，ｄ２２及びｄ２３が受信される。
【００５２】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時と同様に、レジスタ２６の動作は、４０データビットを受信する毎に、言い換えると１０クロックサイクル毎に繰り返す既定のパターンに従う。
【００５３】
パターンの最初の５クロックサイクルの各々において、データビットの新たなカルテット（４つ組）がレジスタ２６に受信されるとき、データビットのカルテットの第１及び第３のデータビットが、レジスタ２６に先に記憶された２つのデータビットと一緒に、レジスタからそのまま読み出される。この２つのデータビットは、入力するカルテット内の第１及び第３のデータビットよりもそれぞれ２０だけ少ないインデックスを有する。カルテット内の他のデータビットは、レジスタ２６における空のレジスタ位置に読み込まれる。
【００５４】
図８ｂに示すように、入力するデータビットｄ２０及びｄ２２は、それぞれのレジスタ位置Ｒ０及びＲ２に記憶されたそれぞれのデータビットｄ０及びｄ２とともに、レジスタ２６からそのまま読み出される。それぞれのレジスタ位置Ｒ１及びＲ３中のデータビットｄ１及びｄ３は、レジスタ位置Ｒ０及びＲ２に移動し、入力するデータビットｄ２１及びｄ２３がレジスタ位置Ｒ１及びＲ３にそれぞれ記憶される。代わりに（図示しないが）、データビットｄ１及びｄ３をそれぞれのレジスタ位置Ｒ１及びＲ３に残し、入力するデータビットｄ２１及びｄ２３をそれぞれレジスタ位置Ｒ０及びＲ２に記憶することもできる。いずれの場合にも、インデックスが２０だけ離れているデータビットの２つの対が、マルチプレクサ３４及びデマルチプレクサ１４を介して、１クロックサイクル毎にレジスタ２６から第１又は第２のメモリ１６，１８の１つに出力される。このとき、レジスタ２６には、データビットｄ１とｄ２１及びｄ３とｄ２３が隣接するレジスタ位置に記憶される。
【００５５】
この処理は、図８ｃに示すように継続する。図８ｄは、５クロックサイクル後のレジスタ２６の状態を示している。レジスタ位置の連続する各対には、２０離れたインデックスを有するデータビットの対がそれぞれ記憶されている。このように、レジスタ位置Ｒ６及びＲ７には、データビットｄ７及びｄ２７が記憶され、以下同様である。
【００５６】
パターンの最後の５クロックサイクルにおいて、連続するレジスタ位置に記憶されているデータビットの２つの対がレジスタ２６から読み出され、全４つの入力データビットが空のレジスタ位置に記憶される。
【００５７】
このように、図８ｅにおいて、それぞれ連続するデータ位置Ｒ０及びＲ１におけるデータビットｄ１及びｄ２１は、レジスタ２６から第１又は第２のＲＡＭ１６，１８の１つに読み出され、入力するデータビットｄ４０及びｄ４１の対が今空になったレジスタ位置Ｒ０及びＲ１に記憶される。この処理は、パターンの第１０クロックサイクルまで続き、このときレジスタ２６の状態は図８ｆに示すようになる。
【００５８】
パターンの第１０クロックサイクル後に、連続データビットｄ４０〜ｄ５９は、それぞれのレジスタ位置Ｒ０〜Ｒ１９に記憶され、データビットｄ０〜ｄ１９の各々は、２０だけ高いインデックスを有する対応するデータビットとともにレジスタ２６から読み出される。図８ｆにおけるレジスタ２６の状態は、図７ａにおけるレジスタ２６の状態に対応していることが分かる。このように、１０クロックサイクルのパターンは受信データストリームの残りに対して繰り返す。
【００５９】
図９ａ〜９ｇは、ｄｅｉｎｔｖ＿ｔｙｐｅ＝３の時の前処理ユニット１２の動作を示している。
【００６０】
Ｗｉｍｅｄｉａ  ＰＨＹ仕様によれば、データレートが２００Ｍｂ／ｓ以上の時、つまりｄｅｉｎｔｖ＿ｔｙｐｅ＝３の時、デュアルキャリア変調が使用される。デュアルキャリア変調において、２００の受信ビットは４ビットの５０グループにグループ化され、２つのサブキャリア上に変調される。デュアルキャリア復調器にて（図５に図示せず）、出力ビットもグループ化されている。ビットｄ０，ｄ１，ｄ２，．．．を含むデータストリームに基づくと、データストリームは、ｄ０，ｄ１，ｄ５０，ｄ５１，ｄ２，ｄ３，．．．の順序でデュアルキャリア復調器から出力される。
【００６１】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝１又は２の時と同様に、シンボル内前処理ユニット１２は、入力するデータストリームを上記のパラグラフ（ｉｉ）に説明したパターンに従って処理してデータビットを出力する。従って、ユニット１２はデータストリームをインデックスが２０だけ離れたビット対にグループ化する。
【００６２】
しかし、ｄｅｉｎｔｖ＿ｔｙｐｅ＝３の時はデュアルキャリア復調器の動作の結果、データビットのグループ化に必要な処理は、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１又は２の時よりも複雑になる。従って、シンボル内前処理ユニット１２は入力するデータストリームを処理するために、第１のメインレジスタアレイ２６、第２のメインレジスタアレイ２８及び特殊レジスタアレイ３０の３つ全てを使用する。
【００６３】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝３のときの前処理ユニット１２の動作を説明するのに必要な図の数を減すために、図９ａ〜ｇの各々は、各１０クロックサイクルの終了毎のレジスタ２６，２８及び３０の状態を示している。１クロックサイクル毎に４つのソフトデータビットが前処理ユニット１２に入力されるため、レジスタ２６，２８及び３０の上に、２０のデータビットの対ｄｘｄｘ＋１が示されている。上述のデュアルキャリア復調器の出力の性質のために、４０のデータビットは連続番号をつけられない（つまりｄｘ，，，ｄｘ＋４０の順序にならない）。レジスタ２６，２８及び３０の下に示す２０のデータビットの対ｄｙｄｙ＋２０は、その図で表される１０クロックサイクル中にこれらのレジスタから出力されるデータビットである。
【００６４】
図９ａは、ｄ０〜ｄ１９及びｄ５０〜ｄ６９で示される第１の４０データビットが、前処理ユニット１２に受信され、デマルチプレクサ３２によって第１のメインレジスタアレイ２６、第２のメインレジスタアレイ２８及び特殊レジスタアレイ３０内の適切な位置に向けられたことを示している。データビットｄ０〜ｄ１９は、それぞれ第１のメインレジスタアレイ内の位置Ｒ０〜Ｒ１９に記憶され、データビットｄ５０〜ｄ５９は、第２のメインレジスタアレイ２８内の位置Ｒ０〜Ｒ９にそれぞれ記憶され、データビットｄ６０〜ｄ６９は、特殊レジスタアレイ３０内の位置Ｒ０〜Ｒ９にそれぞれ記憶されている。次の１０クロックサイクルにおいて、データビットｄ２０．．．ｄ３９及びｄ７０．．．ｄ８９が受信される。
【００６５】
図９ｂに示すように、偶数インデックスを有する入力データビットｄ２０，ｄ２２，．．．，ｄ３８が、偶数番のレジスタ位置Ｒ０，Ｒ２，．．．，Ｒ１８にそれぞれ記憶された偶数インデックスを有するそれぞれのデータビットｄ０，ｄ２，．．．，ｄ１８とともに、レジスタ２６からそのまま読み出される。奇数インデックスを有するデータビットｄ１，ｄ３，．．．，ｄ１９は、新たに空になった偶数番レジスタ位置Ｒ０，Ｒ２，．．．，Ｒ１８に記憶され、奇数インデックスｄ２１，ｄ２３，．．．，ｄ３９を有する入力データビットは、第１のメインレジスタアレイ２６内の位置Ｒ１，Ｒ３，．．．，Ｒ１９にそれぞれ記憶される。代わりに（図示せず）、第１のメインレジスタアレイ２６内の奇数インデックスを有するデータビットをそれぞれのレジスタ位置に残し、奇数インデックスｄ２１，ｄ２３，．．．，ｄ３９を有する入力データビットをそれぞれの偶数番レジスタ位置Ｒ０，Ｒ２，．．．，Ｒ１８に記憶することもできる。いずれの場合にも、インデックスが２０だけ離れたデータビットの２つの対が、マルチプレクサ３４及びデマルチプレクサ１４を介して、１クロックサイクル毎にレジスタ２６から第１又は第２のメモリ１６，１８に出力される。レジスタ２６において、各データビットは、第１のデータビットから２０だけ異なるインデックスを有するデータの隣に記憶される。
【００６６】
第１のメインレジスタアレイ２６の上記の動作に加えて、入力データビットｄ７０，ｄ７２，．．．，ｄ７８が、レジスタ２８内の偶数番レジスタ位置Ｒ０，Ｒ２，．．．，Ｒ８にそれぞれ記憶されたそれぞれのデータビットｄ５０，ｄ５２，．．．，ｄ５８とともに、第２のメインレジスタアレイ２８からそのまま読み出される。それぞれ奇数番レジスタ位置Ｒ１，Ｒ３，．．．，Ｒ９のデータビットｄ５１，ｄ５３，．．．，ｄ５９は、レジスタ２８内の新たに空になった偶数番レジスタ位置Ｒ０，Ｒ２，．．．，Ｒ８に移動され、入力データビットｄ７１，ｄ７３，．．．，ｄ７９は、それぞれ位置Ｒ１，Ｒ３，．．．，Ｒ９に記憶される。入力する残りのデータビットｄ８０，．．．，ｄ８９は、第２のメインレジスタアレイ２８内のレジスタ位置Ｒ１０，．．．，Ｒ１９に記憶される。
【００６７】
この処理は、図９ｃ〜ｇに示すように、クロックサイクル毎に２対の連続データビットがレジスタ２６，２８又は３０の１つに書き込まれ、インデックスが２０だけ異なる２対のデータビットがレジスタ２６，２８又は３０の１つから読み出されることが、入力データストリームのすべてが処理されるまで続く。デインターリーバの入力端ではシンボル間のギャップが存在するため、図９ｆ及びｇに示されるレジスタ位置は、現在のシンボルの全２００ビットが処理されるまで空のままであることに注意されたい。
【００６８】
代替実施例において、デュアルキャリア復調器の後又は中に並べ替えブロックが存在する場合には、データストリームは自然な順序、つまりｄ０，ｄ１，ｄ２，ｄ３，ｄ４の順序でデインターリーバに提供することができる。したがって、シンボル内前処理ユニット１２は、第２のメインレジスタアレイ２８又は特殊レジスタアレイ３０を使用する必要はない。代わりに、前処理ユニット１２の動作は、ｄｅｉｎｔｖ＿ｔｙｐｅ＝２に対して図８ａ〜ｆのようになる。
【００６９】
上で説明したように、１クロックサイクル毎のシンボル内前処理ユニット１２からの出力は、インデックスがｄｅｉｎｔｖ＿ｔｙｐｅ＝１の時には１０だけ、ｄｅｉｎｔｖ＿ｔｙｐｅ＝２または３の時には２０だけ異なるデータビットの対である。デインターリーバの高スループット要件、及び現在のメモリ（特にＣＭＯＳメモリ）の限定されたアクセス速度のために、前処理ユニット１２によって出力されるソフトビットの各々の対は、第１又は第２のメモリ１６，１８の１つにおける単一のメモリアドレスに記憶される。
【００７０】
また上で説明したように、いつでも、メモリ１６，１８の一方が、６シンボルの現在のセットに対して前処理ユニット１２からのデータビットの対を受信して格納するとともに、他方のメモリ１６，１８が、それ以前にメモリ１６，１８に記憶された６シンボルのセットに対するデータビットの対を出力する。
【００７１】
読み出し／書き込みアドレス発生器２０は、データが書き込まれる又は読み出される第１及び第２のメモリ１６，１８内の位置を決定する。説明したように、読み出し／書き込み発生器は、シンボル内前処理ユニット１２からのデータビット対を受信するメモリ１６，１８を、各ＯＦＤＭシンボルのビットがメモリ１６，１８内の適切なアドレスに記憶されるように制御する。
【００７２】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝１のとき、第１又は第２のメモリ１６，１８におけるＭ番目のシンボル中のデータビットｄｘｄｘ＋１０に対する書き込みアドレスは、以下の式から決定される。
【００７３】
【数４】
2010503355.tif 000006
【００７４】
ここでＭｏｄ（ｘ，ｙ）は、ｘをｙで割ったときの負でない整数の余りを返すモジュロ演算子であり、Ｆｌｏｏｒ（ｚ）は引数以下の最大整数値を返すフロア関数である。
【００７５】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝２または３のとき、第１又は第２のメモリ１６，１８におけるＭ番目のシンボル中のデータビットｄｘｄｘ＋２０に対する書き込みアドレスは、以下の式から決定される。
【００７６】
【数５】
2010503355.tif 000007
【００７７】
しかし、データを読み出すべきアドレスを発生する読み出しアドレス発生器はもっと複雑になる。
【００７８】
アドレス発生器２０は、インターリーバの第３段階における循環シフトに対処するために、プレフェッチ機構を使用することが不可欠である。プレフェッチが現在のＯＦＤＭシンボルに対してイネーブルされると、対応するメモリ位置がまずプレフェッチされ、シンボル間処理ユニット２４に渡される前に通常の方法で次のデータと組み合わされる。
【００７９】
同時に、読み出しアドレスの発生を促進するために、異なるアドレスカウンタ（ａｄｄｒ０，ａｄｄｒ１，ａｄｄｒ２，ａｄｄｒ３，ａｄｄｒ４，ａｄｄｒ５）を使用する。基本的に、各アドレスカウンタはそれぞれメモリ１６，１８内の１つの連続セクションに位置する１つのＯＦＤＭシンボルを担当し、通常動作中、１クロックサイクル毎に各アドレスカウンタは所定の値だけインクリメントされる。一度アドレスカウンタがメモリセクション（つまりＯＦＤＭシンボルが記憶されるメモリ１６，１８のセクション）の境界値に到達すると、アドレス値はメモリセクション内で循環する。読み出しアドレス発生は、内ループ及び外ループを使用する二重ループカウンタによって制御されることが好ましい。内ループカウントｉｎｎｅｒ＿ｃｎｔが所定の閾値に到達すると、このカウンタがゼロにリセットされ、外ループカウントｏｕｔｅｒ＿ｃｎｔが１だけ増加する。
【００８０】
図１０を参照して、アドレス発生器２０の動作をここで詳細に説明する。まずステップ１０１において初期化が実行される。パラメータｉｎｎｅｒ＿ｃｎｔ及びｏｕｔｅｒ＿ｃｎｔがゼロにセットされる。６つのアドレスカウンタａｄｄｒ０，ａｄｄｒ１，ａｄｄｒ２，ａｄｄｒ３，ａｄｄｒ４，ａｄｄｒ５はゼロに初期化される。それぞれのＯＦＤＭシンボルに対するデータビットが記憶されるメモリ１６，１８の連続セクションにおける第１のアドレスを表す初期アドレス値ｉｎｉｔ＿ａｄｄｒ０，ｉｎｉｔ＿ａｄｄｒ１，ｉｎｉｔ＿ａｄｄｒ２，ｉｎｉｔ＿ａｄｄｒ３，ｉｎｉｔ＿ａｄｄｒ４及びｉｎｉｔ＿ａｄｄｒ５が決定される。パラメータｐｒｅｆ＿ｅｎが各ＯＦＤＭシンボルに対してセットされ、これはそのシンボルに対してプレフェッチがイネーブルか否かを示している。パラメータｐｒｅｆ＿ｅｎは、最初はディセーブルにセットされる。
【００８１】
ステップ１０３において、第１の３つのアドレスカウンタａｄｄｒ０，ａｄｄｒ１及びａｄｄｒ２は、それぞれ初期アドレス値ｉｎｉｔ＿ａｄｄｒ０，ｉｎｉｔ＿ａｄｄｒ１，ｉｎｉｔ＿ａｄｄｒ２にセットされる。ｄｅｉｎｔｖ＿ｔｙｐｅ＝３の場合、第４、第５及び第６のアドレスカウンタａｄｄｒ３，ａｄｄｒ４，ａｄｄｒ５は、それぞれ初期アドレス値ｉｎｉｔ＿ａｄｄｒ３，ｉｎｉｔ＿ａｄｄｒ４及びｉｎｉｔ＿ａｄｄｒ５にセットされる。
【００８２】
ステップ１０５において、１つのメモリ位置におけるデータビットの対が、そのｐｒｅｆ＿ｅｎがハイである各ＯＦＤＭシンボルに対してプレフェッチされる。これらのデータビットは適切なｉｎｉｔ＿ａｄｄｒによって示されるアドレスから得られる。
【００８３】
ステップ１０７において、それぞれａｄｄｒ０及びａｄｄｒ１の値に従って、シンボル０及び１に対する１つのメモリ位置が読み出される。
【００８４】
ステップ１０９において、ａｄｄｒ１の現在の値が１８０未満の場合、ａｄｄｒ０の値は２０だけ増加され、ａｄｄｒ１の値は２０だけ増加される。さもなければ、ａｄｄｒ１の値は８０だけ減少される。
【００８５】
ステップ１１１において、ｄｅｉｎｔｖ＿ｔｙｐｅ＝３か否かが測定される。ｄｅｉｎｔｖ＿ｔｙｐｅ＝１又は２の場合、処理はステップ１１３に進み、シンボル２に対するメモリ位置がａｄｄｒ２の値に従って読み出される。ステップ１１３に続くステップ１１５において、ａｄｄｒ２の現在値が２８０未満の場合にはａｄｄｒ２の値は２０だけ増加され、さもなければａｄｄｒ２の値は８０だけ減少される。次に処理はステップ１１７に進む。
【００８６】
ステップ１１１において、ｄｅｉｎｔｖ＿ｔｙｐｅ＝３と測定された場合、処理はステップ１１９に進み、シンボル２，３，４及び５に対する１つのメモリ位置がそれぞれａｄｄｒ２，ａｄｄｒ３，ａｄｄｒ４，ａｄｄｒ５の値に従って読み出される。ステップ１１９に続くステップ１２１において、ａｄｄｒ２の現在値が２８０未満の場合には、ａｄｄｒ２の値は２０だけ増加され、さもなければａｄｄｒ２の値は８０だけ減少される。ａｄｄｒ３の値は、ａｄｄｒ３の現在値が３８０未満の場合には２０だけ増加され、さもなければａｄｄｒ３の値は８０だけ減少される。ａｄｄｒ４の値は、ａｄｄｒ４の現在値が４８０未満の場合には２０だけ増加され、さもなければａｄｄｒ４の値は８０だけ減少される。ａｄｄｒ５の値は、ａｄｄｒ５の現在地が５８０未満の場合には２０だけ増加され、さもなければａｄｄｒ５の値は８０だけ減少される。次に処理はステップ１１７に進む。
【００８７】
ステップ１１７において、ｉｎｎｅｒ＿ｃｎｔの値が４か否かを測定する。ｉｎｎｅｒ＿ｃｎｔの値が４でない場合には、処理は１２３に進み、ｉｎｎｅｒ＿ｃｎｔの値が増加される。ｉｎｎｅｒ＿ｃｎｔの値が増加されたあと、処理はステップ１０７に戻り、ａｄｄｒ０及びａｄｄｒ１に対する現在値に従って、シンボル０及び１に対するメモリ位置が読み出される。
【００８８】
ｉｎｎｅｒ＿ｃｎｔの値が４である場合、処理はステップ１２５に進み、ｏｕｔｅｒ＿ｃｎｔの値が１９か否かが測定される。ｏｕｔｅｒ＿ｃｎｔの値が１９の場合、これらの６つのＯＦＤＭシンボルに対する処理が完了し、次のシンボルに対して処理を繰り返すために、初期化ステップ１０１に戻る。
【００８９】
ステップ１２７において、ｄｅｉｎｔｖ＿ｔｙｐｅ＝１の場合にはｏｕｔｅｒ＿ｃｎｔの値は１だけ増加され、ｉｎｉｔ＿ａｄｄｒ０，ｉｎｉｔ＿ａｄｄｒ１及びｉｎｉｔ＿ａｄｄｒ２の値は１だけ増加される。
【００９０】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝２の場合にはｏｕｔｅｒ＿ｃｎｔの値は２だけ増加され、ｉｎｉｔ＿ａｄｄｒ０，ｉｎｉｔ＿ａｄｄｒ１及びｉｎｉｔ＿ａｄｄｒ２の値は２だけ増加される。
【００９１】
ｄｅｉｎｔｖ＿ｔｙｐｅ＝３の場合にはｏｕｔｅｒ＿ｃｎｔの値は１だけ増加され、ｉｎｉｔ＿ａｄｄｒ０，ｉｎｉｔ＿ａｄｄｒ１，ｉｎｉｔ＿ａｄｄｒ２，ｉｎｉｔ＿ａｄｄｒ３，ｉｎｉｔ＿ａｄｄｒ４及びｉｎｉｔ＿ａｄｄｒ５の値は１だけ増加される。
【００９２】
全３つの状況において、ｉｎｎｅｒ＿ｃｎｔはゼロにセットされる。
【００９３】
次に処理はステップ１２９に移り、各ＯＦＤＭシンボルに対するｏｕｔｅｒ＿ｃｎｔの現在値に基づいて、ｐｒｅｆ＿ｅｎの値が更新される。図１１の表は、ｄｅｉｎｔｖ＿ｔｙｐｅ，ｏｕｔｅｒ＿ｃｎｔ及び現在のシンボルのインデックスの様々な可能な組み合わせに対するｐｒｅｆ＿ｅｎの値を示している。
【００９４】
ｐｒｅｆ＿ｅｎの値がアップデートされたあと、処理はステップ１０３に戻り、アドレスカウンターはそれぞれのｉｎｉｔ＿ａｄｄｒの値にセットされる。
【００９５】
上述のように、選択されたメモリ１６，１８から出力されたデータビットはマルチプレクサ２２を介してシンボル間後処理ユニット２４に渡る。図１２は、本発明による後処理ユニット２４のブロック線図である。シンボル間後処理ユニット２４は、図１に示すシンボルインターリーブユニット４の処理を解除するために、シンボルデインターリーブを実行する。後処理ユニット２４は、それぞれＲ０，Ｒ１，．．．，Ｒ１１と番号づけられた１２の位置を有するレジスタアレイ３６と、レジスタアレイ３６の動作を制御するためのコントローラ３８を具える。
【００９６】
上述の通り、２つのデータビットが各メモリアドレスに記憶されているので、２つのデータビットが１クロックサイクル毎にメモリ１６，１８の１つから後処理ユニット２４に出力される。前処理ユニット１２の動作のために、これらのデータビットは同一のシンボルからの連続データビットである。しかし、１つのソフトデータビットのみが、レジスタアレイ３６の各レジスタ位置に記憶される。
【００９７】
後処理ユニット２４は、後処理ブロックの出力が、送信機のインターリーバ２に提供されたデータビットのパターンである、期待デインターリーブパターンに一致するようにこれらのデータビットの対を並べ替える。
【００９８】
図１３ａ〜ｄは、本発明による後処理ユニット２４の動作を示している。斜線のレジスタ位置は、正当なデータがそこに記憶されていることを示している。斜線でないレジスタ位置は、データを受信するために利用可能である。図１３ａに示すように、データビットはレジスタ位置Ｒ０，Ｒ１，Ｒ２及びＲ３に書き込まれる。
【００９９】
次に、図１３ｂに示すように、レジスタ位置Ｒ０及びＲ２におけるデータビットが、レジスタ位置Ｒ４及びＲ６に記憶されたデータビットとともに読み出される。新たなデータビットがレジスタ位置Ｒ４，Ｒ５，Ｒ６及びＲ７に書き込まれる。レジスタ位置Ｒ４及びＲ６に記憶されたビットの読み出し動作は、これらの位置に新たなビットを書き込む動作の前に発生することは理解されよう。実際、これらの動作は、同一のプロセッサクロックサイクル中に発生する。
【０１００】
次に、図１３ｃに示すように、レジスタ位置Ｒ１及びＲ３のデータビットが、レジスタ位置Ｒ８及びＲ１０に記憶されたデータビットとともにレジスタから読み出される。新たなデータビットはレジスタ位置Ｒ８，Ｒ９，Ｒ１０及びＲ１１に書き込まれる。
【０１０１】
次に、図１３ｄに示すように、レジスタ位置Ｒ５，Ｒ７，Ｒ９及びＲ１１におけるデータビットがレジスタから読み出される。これらのレジスタ位置は、番号順、つまりＲ５，Ｒ７，Ｒ９そしてＲ１１の順にアクセスされる。新たなデータビットは、レジスタ位置Ｒ０，Ｒ１，Ｒ２及びＲ３に書き込まれる。次に処理は図１３ｂから順方向に繰り返す。
【０１０２】
このように、上で説明した後処理ユニット２４の動作から分かるように、同一のシンボルからの連続データビットの対が出力としてデインターリーバ１０から分離される。
【０１０３】
このように、本発明によるデインターリーバの構造はレジスタとメモリの組み合わせを使用するため、デインターリーバは、設計及び実装するのに簡単で安価である。データストリームをインターリーブするのに使用される手法をどのように変更する場合でも、また代替インターリーブ手法を使用する場合でも、レジスタアレイのアドレス生成部の動作を変更することによって、デインターリーバを適応させることは容易である。シンボルのサイズの変更は、デインターリーバ１０において使用されるメモリ１６，１８のサイズを変更することによって、容易に適応させることができる。
【０１０４】
上述の通り、本発明を、ＭｕｌｔｉＢａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅによる“ＭｕｌｔｉＢａｎｄ  ＯＦＤＭ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”リリース１．０に従う超広帯域ネットワークについて説明したが、本発明は、２つのデバイス間のデータ通信を保護するために、多段階のインターリーブを使用する他のシステムにも適用可能である。例えば、本発明は無線、モバイル及び衛星通信システム、光磁気記憶システム及びハードディスク及びデジタルテープ記憶システムにも適用可能である。
【０１０５】
本発明を図面で及び前述の説明で詳細に説明したが、このような図解及び説明は単なる一例もしくは代表例とみなすべきであり、本発明は開示された実施例に限定されない。
【０１０６】
開示された実施例に対する他の変更は、請求の範囲に記載された発明の実施にあたり、図面、明細書、及び添付の請求項を検討することによって、当業者が理解し達成することができる。請求項において、「具える」という言葉は、他の要素又はステップを排除するものでなく、また数を特定してない要素は複数の要素の存在を除外するものではない。単一のプロセッサ又は他のユニットは、クレームに列挙された複数項目の機能を遂行できる。また、いくつかの手段が互いに異なる従属請求項に記載されていることのみをもって、これらの手段の組み合わせは有利に使用できないことを意味するものではない。コンピュータプログラムは、他のハードウェアとともに又は一部として、光記憶媒体又は固体媒体のような適切な媒体上に記憶／配布できるが、他の形態、例えばインターネット又は他の有線又は無線電話通信システムを介して配信することもできる。請求項における参照番号は、範囲を限定するものとして解釈されるべきではない。
【図１】
2010503355.tif 000008
【図２】
2010503355.tif 000009
【図３】
2010503355.tif 000010
【図４】
2010503355.tif 000011
【図５】
2010503355.tif 000012
【図６】
2010503355.tif 000013
【図７】
2010503355.tif 000014
【図８−１】
2010503355.tif 000015
【図８−２】
2010503355.tif 000016
【図９−１】
2010503355.tif 000017
【図９−２】
2010503355.tif 000018
【図９−３】
2010503355.tif 000019
【図９−４】
2010503355.tif 000020
【図１０−１】
2010503355.tif 000021
【図１０−２】
2010503355.tif 000022
【図１１】
2010503355.tif 000023
【図１２】
2010503355.tif 000024
【図１３ａ−１３ｄ】
2010503355.tif 000025
【国際調査報告】
2010503355.tif 000026
2010503355.tif 000027
2010503355.tif 000028