(57)【要約】プログラムされた命令に基づいてデータを処理する方法は、複数バッファ中の分離した複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によってメモリ中の複数の場所を参照する工程と、及びメモリ中の参照された場所からデータを通信する工程とを含む。処理ユニットは、複数バッファ中の分離した複数バッファから同時に入力を受信し複数バッファ中の別の１つのバッファに出力する。
2005532741.tif 000002
【特許請求の範囲】
【請求項１】
プログラムされた命令に基づいて、データを処理する方法であって、
複数バッファ中の分離した複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によってメモリの複数場所を参照する工程と、及び
メモリ中の参照された場所から処理ユニットへデータを通信する工程であって、処理ユニットは複数バッファ中の分離した複数バッファから同時に入力を受信し複数バッファ中の別の１つのバッファに出力する工程と、
を含む前記方法。
【請求項２】
請求項１に記載の方法であって、更に、分離した複数バッファから複数の処理ユニットのうちの１つの処理ユニットへデータを選択的に方向付ける工程を含み、１つの処理ユニットは有限インパルス応答（ＦＩＲ）演算を実行するように構成されている前記方法。
【請求項３】
請求項１に記載の方法であって、更に、分離した複数バッファから複数の処理ユニットのうちの１つの処理ユニットへデータを選択的に方向付ける工程を含み、１つの処理ユニットは高速フーリエ変換（ＦＦＴ）演算を実行するように構成されている前記方法。
【請求項４】
請求項１に記載の方法であって、更に、分離した複数バッファから複数の処理ユニットのうちの１つの処理ユニットへデータを選択的に方向付ける工程を含み、１つの処理ユニットはベクトル処理演算を実行するように構成されている前記方法。
【請求項５】
請求項４に記載の方法であって、更に、連続する出力の結果を累積する工程を含む前記方法。
【請求項６】
請求項４に記載の方法であって、前記ベクトル処理演算がベクトルの計算を駆動する単一命令を含んでいる前記方法。
【請求項７】
請求項１に記載の方法であって、更に、複数の処理ユニットを含み、複数の処理ユニットは、使用する時にパワー・オンし、使用しない時にパワー・オフする前記装置。
【請求項８】
請求項１に記載の方法であって、更に、複数の処理ユニットを含み、複数の処理ユニットは、使用する時にクロックを許可され、使用しない時にクロックを停止される前記装置。
【請求項９】
請求項８に記載の方法であって、前記複数の処理ユニットが、有限インパルス応答（ＦＩＲ）フィルタリング演算を実行するように構成された第１の処理ユニット、高速フーリエ変換（ＦＦＴ）演算を実行するように構成された第２の処理ユニット、及びベクトル処理演算を実行するように構成された第３の処理ユニットを含んでいる前記方法。
【請求項１０】
請求項１に記載の方法であって、メモリ中の参照された場所から処理ユニットへデータを通信する工程が、通信されるデータ・ビットをシフトし、シフトされた通信データ・ビットを処理ユニットに通信するように構成されたビット・シフト・ユニットへデータを通信する工程を含んでいる前記方法。
【請求項１１】
請求項１に記載の方法であって、更に、処理ユニットから、通信されるデータ・ビットをプログラムされた命令に従ってシフトするように構成されたビット・シフト・ユニットへデータを通信する工程を含む前記方法。
【請求項１２】
通信信号を処理するように動作する装置であって、
複数バッファと、
複数バッファ中の分離した複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によって、メモリ中の複数の場所を参照するように構成されたプログラムされた命令を含むコントローラと、及び
複数バッファ中の分離した複数バッファから同時に入力を受信し、また複数バッファ中の別の１つのバッファに出力する処理ユニットと、を含む前記装置。
【請求項１３】
請求項１２に記載の装置であって、更に、有限インパルス応答（ＦＩＲ）フィルタリング演算を実行するように構成された第１の処理ユニット、高速フーリエ変換（ＦＦＴ）演算を実行するように構成された第２の処理ユニット、及びベクトル処理演算を実行するように構成された第３の処理ユニットを含む複数の処理ユニットを含む前記装置。
【請求項１４】
請求項１３に記載の装置であって、前記第１、第２、及び第３の処理ユニットが、複数バッファから信号サンプルを選択的に受信し、受信した信号サンプルに対して演算を実行し、そして実行した演算の結果を複数バッファに通信する前記装置。
【請求項１５】
請求項１３に記載の装置であって、前記ＦＩＲフィルタリング演算が畳み込み演算を含んでいる前記装置。
【請求項１６】
請求項１３に記載の装置であって、前記ＦＦＴ演算がバタフライ演算を含んでいる前記装置。
【請求項１７】
通信される通信信号を処理するためのシステムであって、
複数バッファ中の分離した複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によって、メモリ中の複数の場所を参照するための手段と、及び
メモリ中の参照された場所から処理ユニットへデータを通信するための手段であって、処理ユニットは、複数バッファ中の分離した複数バッファから同時に入力を受信し複数バッファ中の別の１つのバッファに出力する手段と、を含む前記システム。
【請求項１８】
請求項１７に記載の前記システムであって、更に、受信したデータを、（ａ）有限インパルス応答（ＦＩＲ）演算、（ｂ）高速フーリエ変換演算、及び（ｃ）ベクトル処理演算のうちの任意の１つにデータを選択的に方向付けるための手段を含む前記システム。
【請求項１９】
請求項１８に記載の前記システムであって、更に、受信したデータを選択的に方向付けるための手段の動作状態を制御するための手段を含む前記システム。
【請求項２０】
請求項１８に記載の前記システムであって、更に、（ａ）パルス整形演算を実行するための手段、（ｂ）高速フーリエ変換演算を実行するための手段、及び（ｃ）ベクトル処理演算を実行するための手段、から結果を受信するように構成されたメモリ・バッファをアドレッシングするための手段を含む前記システム。
【請求項２１】
請求項１７に記載の前記システムであって、受信したデータが、８０２．１１ａプロトコル仕様に従う信号サンプルを含んでいる前記システム。
【請求項２２】
請求項１７に記載の前記システムであって、受信したデータが、８０２．１１ｇプロトコル仕様に従う信号サンプルを含んでいる前記システム。
【請求項２３】
プログラムされた命令に基づいてデータを処理する方法であって、
ベクトルの計算を駆動する単一の命令を含むベクトル処理演算を実行する工程、を含む前記方法。
【請求項２４】
請求項２３に記載の方法であって、更に、
複数バッファ中の分離した複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によってメモリ中の複数の場所を参照する工程と、
メモリ中の参照された場所から処理ユニットへデータを通信する工程であって、処理ユニットは、複数バッファ中の分離した複数バッファから同時に入力を受信し複数バッファ中の別の１つのバッファに出力する工程と、を含む前記方法。
【請求項２５】
請求項２３に記載の方法であって、更に、分離した複数バッファからのデータを、複数の処理ユニットのうち、ベクトル処理演算を実行するように構成された１つの処理ユニットへ選択的に方向付ける工程を含む前記方法。
【請求項２６】
プログラムされた命令に基づいてデータを処理する方法であって、
８０２．１１に準拠する波形を復調する工程であって、８０２．１１に準拠する波形は、プログラムされたメモリ中のプログラムされた命令に基づいて、その波形に付随するサンプル・レートとは非同期的に処理される工程、
を含む前記方法。
【請求項２７】
プログラムされた命令に基づいてデータを処理する方法であって、
複数バッファ中の分離された複数バッファに対応する正しいバッファ・マッピング及びアドレスの生成によってメモリの複数場所を参照する工程と、及び
メモリ中の参照された場所から処理ユニットへデータを通信する工程であって、処理ユニットは、複数バッファ中の分離した複数バッファから同時に入力を受信し複数バッファ中の別の１つのバッファに出力する工程と、を含み、
バッファ・マッピングは、出力としてマッピングされるバッファが命令の実行のあとで入力としてマッピングされるように変化する、
前記方法。
【請求項２８】
請求項２７に記載の方法であって、更に、第２の処理ユニットを含み、第２の処理ユニットは、特別な１つのバッファを出力としてマッピングし、特別なバッファは、命令の実行のあとで処理ユニットへの入力としてマッピングされる前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願へのクロスリファレンス）
本出願は、２００２年７月３日付けで出願された、“マルチパス環境でスペクトル拡散信号を復調するための方法及び装置”と題する米国暫定特許出願第６０／３９３，６３３号に関連し、それに基づき優先権を主張する。
本発明は、信号を通信できる通信システムに関する。更に詳細には、本発明は、デジタル変調及び復調を実行するための柔軟な方法及び装置に関する。
【背景技術】
【０００２】
（発明の背景）
一般に、従来のデジタル通信システムは、受信信号を復調し、また送信信号を変調するベースバンド・サブシステムを含む。ベースバンド・サブシステムでの復調は、特定用途向け集積回路（ＡＳＩＣ）やデジタル信号プロセッサ（ＤＳＰ）、あるいはそれらの組み合わせを用いて実現されている。しかし、既知の復調方式は重大な欠点を有する。
【０００３】
図１は、従来型のスペクトル拡散復調器１０を示す。復調器１０は、フィンガー１，２，ないしＮ（これ以降は集合的にフィンガー１４と呼ぶ）から受信されるシンボルを合成するコンバイナー１２を含む。フィンガー１４は、各々のマルチパス処理実体あるいは“パス”をハードウエア・ロジックとして表現したインスタンスである。コンバイナー１２は、フィンガー１４からのシンボルを時刻順に揃え、それらを加え合わせて、送信されたシンボル値の推定を生成する。一旦、定常状態に達すると、コンバイナー１２からの出力は、アンテナにおけるシンボル受信に同期して発生するようになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
復調器１０にはいくつかの欠点がある。例えば、復調器１０を利用する場合のいくつかの欠点は、マスタ・クロック１６からのクロック信号に基づく同期処理から生ずる。別の欠点は、復調器１０が複数フィンガー１４の固定されたインスタンスを使用する点である。フィンガー１４の個数は、必要と考えられる最大のゲート数を表す、考えうる最悪のチャネル状態に基づいて選ばれる。より多くのマルチパス信号をサポートし、ＭＩＭＯ（多入力多出力アンテナ）のような最新のワイヤレス技術との互換性を持たせるためには、現在の構成では益々多くのフィンガーをインスタンス化しなければならなくなる。フィンガー数が増えれば、それだけ電力消費も増える。
【０００５】
復調器１０のもう一つの欠点は、フィンガー１４の低速のアサインメントあるいはアサインメント解除であり、そのため電力を消費するということである。アサインメントやアサインメント解除を介してフィンガー１４をターン・オン及びオフすることは比較的遅いプロセスである。この結果、パス・ダイイング（ｐａｔｈ  ｄｙｉｎｇ）とフィンガーのシャット・オフとの間にかなりの遅れが生ずる。この結果、大きな電力が消費されるが、それに見合う性能向上はない。
【０００６】
復調器１０の更に別の欠点は、フィンガー１４に対して１つのクロックを使用することと、フィンガー１４が並列的に動作するという事実から生ずる。フィンガー１４は、特別なフィンガーが使用される（アサインされる）とか、どのくらいの時間それが使用されるとかに関わらず、すべてが１つのクロックに同期する。クロックを与えられたフィンガーは、アサイン解除されるときでも、かなりの電力を消費する。
【０００７】
１つのフィンガーがアサインされて、強い、必要とされるパスを復調するときも、有用な出力を生成するレートを大幅に超過するレートでクロック駆動される。そのため、電力が無駄に消費される。一般に、クロック・バッファは、有用な処理を実行していないときでも、デバイス電力の１／３を使用する。
【０００８】
復調器１０に対する更に別の欠点は、固定されたビット幅の設計であり、それは最悪の動作条件に備えてセットされている。この設計によって、復調のためにビット数のすべてが必要でない場合でも、過剰な電力が消費されることになる。ほとんどの場合、実際にはより少ないビット数しか必要でない。
【０００９】
復調器に対する別の欠点は、その構成が原因となってＭＩＭＯシステムが高価なものとなり、電力の観点からも非効率的なものとなるということである。多出力（ＭＯ）の場合には、意図するダイバーシティ効果を実現するためには、フィンガー数を２倍にする必要がある。ＳＴＳやＳＴＴＤのような多入力（ＭＩ）技術に関しては、各フィンガーに乗算器を追加して、すべてのフィンガーが常時両方の入力アンテナ・ストリームを処理するようにする必要がある。この非効率さのせいでフィンガー数が増えるが、それは上述の電力問題を拡大するだけである。
【００１０】
従って、マルチパス・スペクトル拡散信号を最適な方法で復調できる単一の復調要素を用いることによって、回路の複雑さ、ゲート数、及び電力消費を削減する必要がある。更に、マルチパス信号を復調する進歩した方法を提供する必要がある。更に、デジタル変調及び復調を実行するための柔軟な方法及び装置が必要である。更に、デジタル通信システムにおいて、送信と受信の両動作を行う共通回路を入手する必要がある。
【課題を解決するための手段】
【００１１】
（発明の概要）
例示的な実施の形態は、プログラムされた命令に基づいてデータ処理を行う方法に関する。本方法は、複数バッファ中の分離した複数バッファに対応する正確なバッファ・マッピング及びアドレスを作成することによって、メモリ中の複数の場所を参照する工程と、メモリ中の参照された場所から処理ユニットにデータを通信する工程とを含む。処理ユニットは、複数バッファ中の分離した複数の各バッファから同時に入力を受信し、複数バッファ中の別の１つのバッファに出力する。
【００１２】
別の例示的な実施の形態は、通信信号を処理できる装置に関する。本装置は、複数バッファ、複数バッファ中の分離した複数バッファに対応する正確なバッファ・マッピング及びアドレスを作成することによって、メモリ中の複数の場所を参照するように構成された命令プログラムを含むコントローラと、複数バッファ中の分離した複数バッファから同時に入力を受信し、複数バッファ中の別の１つのバッファに出力する処理ユニットとを含む。
【００１３】
別の例示的な実施の形態は、通信信号を処理するためのシステムに関する。本システムは、複数バッファ中の分離した複数バッファに対応する正確なバッファ・マッピング及びアドレスを作成することによって、メモリ中の複数の場所を参照するための手段と、メモリ中の参照された場所から、複数バッファ中の分離した複数バッファから同時に入力を受信し、複数バッファのうちの別の１つのバッファに出力する処理ユニットへデータを通信するための手段とを含む。
【００１４】
本発明のその他の原理的特徴及び利点は、以下の図面、詳細な説明、及び特許請求の範囲を読むことによって当業者には明らかになろう。
【００１５】
例示的な実施の形態について、図面を参照しながら以下に説明するが、図面において、同じ参照符号は同様な部品を指している。
【実施例】
【００１６】
（例示的実施の形態の詳細な説明）
少なくとも１つの例示的実施の形態に従えば、図２は、マルチパス通信処理システムを示しており、それはサンプル・バッファ２２からサブ・チップ・サンプルの形で信号を受信するプロセッサ２０を含んでいる。サンプル・バッファ２２は、マスタ・タイマー２４からタイミング入力を、また受信器２６からチップ・サンプル（スペクトル拡散システムにおける変調信号）を受信する。受信器２６は、高周波（ＲＦ）あるいは中間周波数（ＩＦ）タイプの受信器でよい。サンプル・バッファ２２に供給されるチップ・サンプルは、デシメートあるいは補間されている。制御２８は、受信器２６にフィードバックを供給する。
【００１７】
サンプル・バッファ２２は、“シンボル・グループ”と呼ぶ一群のデータを記憶することができる。プロセッサ２０がサンプル・バッファ２２から必要に応じてデータを取得できるため、サンプル・バッファ２２は、プロセッサ２０がサンプル・レートに同期してクロック駆動されなくてもよいようにしていることは利点である。このように、プロセッサ２０は、特定用途向け集積回路（ＡＳＩＣ）というよりも、シリコン技術がサポートできる最速のクロック・レートで動作する１つのプロセッサとして動作する。
【００１８】
図３は、プロセッサ２０の動作を従来型の同期式の実施例の動作と比較して示している。従来型の実施が、連続的かつ入力チップに対して比較的一様に動作するのと比べて、プロセッサ２０は、可能な最速のクロック・レートで必要とされる量の処理を逐次的に行う。この速度のお陰で、プロセッサ２０は、次のバッファが満たされてサービスを要求するのに要する時間（すなわち、シンボル・グループ期間）の前にそれの処理を終了できる。プロセッサ２０は、シンボル・グループ期間が終わるまでシャット・ダウンできる（すなわち、クロックをゲート・オフする）。これも図３にブロック・セクションの幅で示されているが、与えられる処理量は、シンボル・グループごとに異なる。
【００１９】
例示的実施の形態では、プロセッサ２０は、動的なパス処理を提供するように構成されている。この動的なパス処理は、マルチパス通信経路あるいはフィンガーが実際の固定配線された回路ではなく各種のアルゴリズムを用いて定義された経路であるため、“仮想フィンガー”的と呼ぶことができる。処理が完了してサンプル・バッファが同期的に満たされるのを待つ間の不活動期間（斜線領域）には、クロックは停止される。このことは図３に斜線で示した“シャット・ダウン”領域に示される。この結果、クロックが活動していない回路で脈動することから生ずる、クロック・ツリー上での容量性ローディングによるプロセッサ２０からの無駄な電力損失がなくなる。復調演算にＡＳＩＣを使用する従来のシステムでは、クロック脈動のうちのわずかな部分のみがＡＳＩＣから有用な出力を生成する。
【００２０】
処理時間がなぜ変動するかの一例として、３本の“フィンガー”がアサインされているが、それらの“フィンガー”のうちの２本は非常に微弱なマルチパス成分にアサインされているため、それらが復調処理では生産的でないケースを考えてみよう。プロセッサ２０がこのブロックを活動的に処理する時間は最悪の場合の約１／３となろう。フィンガーの数が変化するこの例は、動的な処理能力のほんの一例である。
【００２１】
プロセッサ２０の動的処理能力の別の例は、ビット幅の動的設定である。ビットの動的処理は特に有益である。というのは、復号可能な出力を生成するために必要なビット数は、瞬間的な最悪のケースよりも通常は少ないからである。平均的により少ないビットを処理することで、電力消費も少なくなる。
【００２２】
ビットはパスと同じように取り扱うことができる。すなわち、ほとんどの復調処理（例えば、逆拡散、累積、ＭＲＣ）における線形性のためにそれらを別々に処理できることから、多くのビットはビットのサブ・ユニットに分割できる。もしプロセッサ２０がこのように設計されれば、それは小さいビット幅の回路で構成することができる。与えられたパスに対してより多くのビットを必要とする微弱信号（ｆａｄｅ）が存在するときは、ビットの異なるサブ・ユニットについて（すなわち、最初はＬＳＢサブ・ユニットで、最後はＭＳＢサブ・ユニット）同じパスを何度も処理する必要がある。サブ・ユニットが処理されるたびに、逆拡散された出力は、適宜シフトされ、シンボル・バッファに蓄積される。このような処理は、アルゴリズム中でパスをビットのサブ・ユニットで置換した蓄積最大比合成（Ａ−ＭＲＣ：Ａｃｃｕｍｕｌａｔｅｄ  Ｍａｘｉｍａｌ  Ｒａｔｉｏ  Ｃｏｍｂｉｎｉｎｇ）アルゴリズムの別の一例にしか過ぎない。
【００２３】
プロセッサ２０がビット幅を動的に設定できる別の例は、プログラマブルＡＳＩＣを使用するものである。もし数個のビットしか必要でなければ、データは右にシフトされて、復調器でトグルするビット数を減らすようにされる。
【００２４】
各種応用（例えば、音声処理、ビデオ・ドライバ、ＭＰＥＧ、ＪＰＥＧ）のためのプロセッサ（例えば、ＤＳＰ、ＧＳＰ、ＡＲＭ）を既に含んでいる製品については、プロセッサ２０は、一般にＡＳＩＣに強制的に詰め込まれる集中度の低い処理動作のいくらかをオフロードすることができることは有利である。プロセッサ２０動作のバッファ特性を活用して、一般にＡＳＩＣ中にそれらの動作を強制的に詰め込む厳密な実時間でのＤＳＰ期限を解消することができる。サンプルがバッファリングされるため、厳密な実時間でのプロセッサ期限は最早有効でない。
【００２５】
復調時の電力消費の大半を制御する変数を動的に選択することにより、電力消費の最適化が進む。すなわち、プロセッサは、マルチパス・フィンガー・アサインメント、等価／補間／ＭＲＣタップ重み計算、ＮＣＯストライド（ｓｔｒｉｄｅ）選択及びタイム・トラッキングを含む計算の比較的集中しないタスクの多くをオフロードできる。この機能をプロセッサ２０にオフロードすることによって、開発リスクを低減できることに加えて、シリコン領域が節約でき、コスト低減も達成される。プロセッサを復調アルゴリズム中に組み込むことも電力消費低減につながる。
【００２６】
図４は例示的バッファ方式の動作を示す。“バッファ”は、２組のデータ・アドレス・ポート−１つは読み込み用、１つは書き出し用−を含むメモリ要素である。バッファは、読み込み／書き出しの同時アクセスをサポートする必要はない。任意の与えられたサイクルは、読み込み、書き出し、あるいはその両方のいずれかである。この例示されたバッファ方式の選択基準は、チップ・メモリ用として少量のＲＡＭを使用することであるが、プロセッサの動作は非常に簡単である。任意の時点で、プロセッサは、論理的には１つとして機能しているこれらのバッファの２つに対して処理を行う。
【００２７】
図４の状態４０は、反復（ｉｔｅｒａｔｉｏｎ）Ｎの間にバッファ１及びバッファ２が単一の論理的データ・ソースとしてサービス提供することを示している。この方式では、バッファ１から始まる最短のパスを有するすべてのシンボルが最後まで処理されて（すべてのマルチパスが合成される）、その結果、それらのシンボルの後のパスに対してバッファ２中のチップを使用することが可能になる。バッファ２から始まる最短パスを有するシンボルは、図４に示すように、状態４２の反復Ｎ＋１までは処理されない。
【００２８】
この間に、バッファ３は、バッファ１及びバッファ２の論理的合成の処理の間に発生するサンプルを受信している。状態４２の反復Ｎ＋１の間は、プロセッサは、バッファ２に最短パスを有するシンボルを処理し、他方、これもシンボル処理を完了するためには存在しなければならない後から到着する必要なパスとしてバッファ３の内容を用いる。有利なことに、これらの動作によって、任意の反復の間にシンボル処理を完了させることが可能となり、それによって反復相互間での部分的処理を追跡するために必要な多くの状態変数が不要となり、更に、部分的シンボルに至る状態を経由する、“高速フォーワード”を可能とするためのより複雑な制御論理が不要となる。
【００２９】
その他の要求で、より大きいバッファ・サイズを必要とするときは、より大きいサンプル・バッファ・サイズが使用される。例えば、次のような場合を考えてみよう。連続パイロットを有するプロトコル（例えば、ｃｄｍａ２０００、Ｗ−ＣＤＭＡ）に対して、サンプル・バッファ・サイズに要請される要求は、そうすればシンボル処理のためのすべてのデータがプロセッサに対して同時にアクセスできるようなマルチパス遅延拡散である。１×ＥＶ−ＤＯのようなバースト・パイロットのワイヤレス技術に対しては、バースト間隔はバッファ・サイズを決定するためのより厳しい要求となる。プロセッサは、常に存在する自動周波数制御（ＡＦＣ）のドリフトのために復調性能にとって重要な、チャネル推定を実行するための線形補間のための後のパイロット・バーストに加えて、パイロット・バースト間に記憶されたすべてのデータに同時にアクセスしなければならない。
【００３０】
図５は、バースト・パイロットを使用するワイヤレス技術用の例示的バッファリング方式を示す。最初に、バッファ１，２及び３は、プロセッサ２０に対する単一の論理的データ・ソースとして機能する（図２）。バッファ４及び５は、ＡＤＣから同時に到着するサンプルを捕捉する単一の論理的メモリ要素として機能する。最初に到達するマルチパス成分がバッファ１及び２に含まれるすべてのシンボルは、反復Ｎの間に完全に処理される。この動作は、後に到達するマルチパス成分を処理するために、バッファ３中のサンプルを使用する。最初に到達するマルチパス成分がバッファ３に含まれるシンボルの処理は、反復Ｎ＋１まで保留される。従って、反復Ｎ＋１の間に、バッファ３，４及び５は、処理のための単一の論理実体として機能する。
【００３１】
図６は、図２を参照しながら説明したプロセッサ２０の蓄積最大比合成（Ａ−ＭＲＣ）手順における動作を示す。ここで明らかなように、動作は逐次的に行われる。動作６０では、パスの数Ｎがゼロに設定される。動作６２では、パスＮに対するパイロット・チャネルが処理されて、チャネル推定を与える。動作６２は、すべての既知のマルチパスが推定されるまで続けられる。パスの数Ｎは時間とともに変わり得ることは有利である。
【００３２】
一旦、すべての既知のマルチパスが推定されると、Ｍ個の関連するマルチパスの１組に対するチャネル推定を使用して、動作６４のデータ逆拡散が行われる。注意すべきことは、マルチパスは、その１つの基地局、他の基地局、１つのアンテナ、あるいはその他のアンテナからの通信信号を意味することである。動作６４では、チャネル推定による乗算の間に、パスＭに関するデータが処理される。動作６４は、すべてのチャネルに対するすべての関連するマルチパスが復調されるまで続けられる。動作６６では、プロセッサは次のシンボル・グループが利用できるようになるまで休止する。
【００３３】
図７は、Ａ−ＭＲＣアルゴリズムに特化した、プロセッサ２０の例示的処理ブロックを示す。マスタ・タイマー２４が使用されて、処理インターバルの開始を決定する。処理インターバルの最初で、プロセッサ２０は、サブ・チップ・サンプルの処理を開始する。
【００３４】
アドレス発生器５２は、所望のサブ・シップ位相に対応するバッファ・アドレスに初期化することによって、サンプルを正しいレート及び位相にデシメート（ｄｅｃｉｍａｔｅ）する。サブ・チップ位相を正しく整列した状態に保つために、アドレス発生器５２はチップ当たりのサブ・チップ数だけ進められる。逆拡散器５６及びチャネル推定器５８は、パスをシンボル・バッファ５４中へ逐次的に逆拡散及び蓄積する。
【００３５】
図８は、Ａ−ＭＲＣアルゴリズム用の逆拡散器５６を示す。チャネル推定を実行するとき、逆拡散器５６は、既知のパイロット・シーケンスの乗算及びチャネル推定器５８中への相関値の挿入によって動作する。データの復調の間、逆拡散器５６は、オン・フェーズのサブ・チップ・サンプルに正しいＰＮ及びチャネル化コード（例えば、ウォルシュ、ＯＶＳＦ等）を乗じ、その値をシンボル・レートで出力する。次に、複素数シンボルに対してパスからのチャネル推定が乗じられて、シンボル・バッファ５４中に蓄積される。言い換えれば、複素数シンボルが読み出され、現在の値に加えられ、そしてシンボル・バッファ５４に書き戻される。ＭＲＣ推定は関連するマルチパスの処理の終わりで有効となり、シンボル処理（例えば、デインターリーブ（ｄｅｉｎｔｅｒｌｅａｖｉｎｇ）、デパンクチャリング（ｄｅｐｕｎｃｔｕｒｉｎｇ）及び復号）のために使用できるようになる。
【００３６】
図９は、図６に関連して説明した蓄積最大比合成（Ａ−ＭＲＣ）手順で実行される動作をより詳細に示す。状態６２では、処理されているマルチパス成分に対応するマルチパス・カウンタＮがゼロに設定される。状態６３では、パスＮに対するパイロット・チャネルが処理されて、パスＮに対するチャネル推定が得られる。パイロット・チャネル処理には、サンプル・バッファ及び逆拡散シーケンス発生器からの値を乗算することが含まれる。パイロット・チャネルからのサンプルは、中間結果バッファに蓄積及び出力される。従って、パスＮについてチャネル推定が推定される。状態６４では、パスＮに関するデータが中間結果バッファに逆拡散され出力される。
【００３７】
状態６５では、パスＮに対するチャネル推定に対して、パスＮの逆拡散データが乗算され、蓄積器はバイパスされて、出力は中間バッファに送られる。状態６６では、パスＮからのシンボルがマルチパス及び基地局について累積される。中間バッファからのシンボル群（第１のパスの処理に対してゼロに初期化される）の現在のＭＲＣ累積が、中間バッファからの逆拡散及びチャネル推定されたシンボルに対して加算され、蓄積器はバイパスされて、出力は中間バッファに送られる。状態６３−６６は、Ｎ個すべての関連マルチパス及び基地局が処理されるまで繰り返されて、その時点で、現在のＭＲＣ累積が最終的な累積となり、この値がシンボル・プロセッサに出力される。有利なことに、受信器がいくつかのチャネルを復調する場合にこの処理が繰り返されることである。その後、状態６７では、プロセッサ２０は、次の処理インターバルまで休止する。
【００３８】
図１０は、図７に関連して説明したＡ−ＭＲＣアルゴリズムに固有な処理ブロックをより詳細に示す。プロセッサ２０は、図８に関連して説明したように状態を変化させるように構成された状態機械制御８０を含む。プロセッサ２０はまた、サンプル・バッファ２２、中間バッファ８６、及び逆拡散シーケンス発生器８８からの入力を方向付けるマルチプレクサ（ＭＵＸ）８２,８３及び８５を含む。バイパス可能な累積器８４は、シンボルを復号器及び中間バッファ８６に方向付ける。バイパス可能な累積器８４は、チャネル推定、現在の及び不完全な累積シンボル、逆拡散データ・シンボル、逆拡散パイロット・シンボル、あるいは特別なパスに対するチャネル推定されたデータ・シンボルを出力することができる。
【００３９】
動作時には、サンプル・バッファ２２は、パイロット・シンボルをＭＵＸ８２に入力し、また逆拡散シーケンス発生器８８は、逆拡散データをＭＵＸ８３に入力する。これらの入力は、乗算され、ＭＵＸ８５を経由してバイパス可能な累積器８４に送られる。バイパス可能な累積器８４は、累積したシンボルを中間バッファ８６に出力する。どこの結果を出力するかの制御は、図９に関連して説明した状態図に依存する。
【００４０】
Ａ−ＭＲＣアルゴリズムは、正しいＭＲＣ値に逐次的に蓄積する。この状況においてプロセッサ２０の反復ごとに、単一のマルチパス成分が抽出される。
【００４１】
【数１】
2005532741.tif 000003
【００４２】
ここで、ｆｉ，ｎはｎ番目のマルチパスに対するｊ番目のシンボルの抽出されたシンボル推定であり、ｃ（．）はチップ・サンプル・バッファの内容、Ｊは拡散因子、ｓ（ｉ）はｉ番目のシンボルに対する相関の先頭、τｎはマルチパス遅延、ｄはデシメーション比、ｐｊは擬似雑音シーケンスに直交チャネル化コードを乗算したものである。
【００４３】
この値は、重み付けされてプロセッサ２０のシンボル・バッファ５４に、次の再帰関係に従って蓄積される。
【００４４】
【数２】
2005532741.tif 000004
【００４５】
【数３】
2005532741.tif 000005
【００４６】
ここで、αｉ，ｎは、ｉ番目のシンボル間のマルチパスｎのチャネル推定である。結果のＭＲＣシンボルは、次のような有用なＮ回のマルチパス反復のあとでそれの最終値に到達する。
【００４７】
【数４】
2005532741.tif 000006
【００４８】
チャネル推定に基づくパス選択には多くの有力な基準がある。例えば、基準の中には、最も強い瞬間的マルチパス成分よりもＴ１ｄＢ以上少ない瞬間電力を有するパスを処理しないことが含まれる。最強パスよりも本質的に下のパスは、結果のＳＮＲにほとんど寄与しない（特に、干渉が支配的な状況において）。別の基準は、パスをランク付けして、瞬間電力が最も強いものから最も弱いものへと並べ、一旦閾値Ｔ２に達したら、それ以下のパスの処理は行わないというものである。これは、復号可能性の限界に達し、それ以上のマルチパス成分を処理する必要はない状態を表している。
【００４９】
多入力（ＭＩ）と呼ばれる多重基地局アンテナと、多出力（ＭＯ）と呼ばれる多重受信アンテナとによってより大容量を実現することができる。これらを一緒にしてＭＩＭＯと呼ぶ。多重送信（ＴＸ）アンテナ及び単一受信（ＲＸ）アンテナは多入力単一出力（ＭＩＳＯ）と呼ばれる。１つのＴＸアンテナと多重ＲＸアンテナとを有することを単一入力多出力（ＳＩＭＯ）と呼ぶ。ＭＩは、フェージング・チャネルで本質的なダイバーシティ利得を提供し、ＭＯはビーム・フォーミング利得に加えてダイバーシティ利得を提供する。
【００５０】
従来型のＡＳＩＣ実施は、ＴＸとＲＸアンテナとの各組み合わせに対して専用のフィンガーを含む（すなわち、送信及び受信アンテナ数の積であるインスタンスの数）。プロセッサ２０は、有利なことに、すべてのリンクを処理することができる。加えて、プロセッサ２０は動的な処理ができるため、十分強いリンク（あるいは、各リンクに含まれるマルチパス）のみを処理することによって、本質的な電力節約が可能になる。
【００５１】
図１１は、従来型のフィンガーをサポートする多入力アンテナ（ＭＩ）を示す。明らかに、このようなフィンガーは、２つの乗算器７０及び７２に加えて、ダイバーシティを適切に活用する何らかの変換論理を必ず含む。この結果、少なくとも２つの欠点が生ずる。まず、この結果として、乗算器及び変換論理がフィンガーごとに付加されることでコストが増大する。第２に、従来型のフィンガーは、イネーブルされたときに、常にすべての入力するアンテナ・パス・ストリームを処理せざるを得ない。この結果、電力消費に関しては非効率的になる。
【００５２】
図１２は、多出力アンテナ（ＭＯ）をサポートする従来型の受信器を示す。ＭＯをサポートするために、２組の従来型復調器が例示されており、電力供給されている。これは別々に復調しなければならない、ＲＦから入力する２つのストリームが存在するためである。この２つのストリームを加えることは、例えば、役に立つ解決策ではない。その理由は、定義ではアンテナは互いに位相が違うからである。すなわち、一般に、ＭＯは従来型実施のコスト及び電力を２倍にする。
【００５３】
図１３は、本格的なＭＩＭＯをサポートする受信器７５を示す。受信器７５は、異なるＢＳアンテナから発するパスに加えて、別のマルチパスとほとんど同じ、異なるＲＸアンテナから入力するパスを処理する。ＭＩに関して、図７の処理システムと比べて受信器７５に加える唯一のものは、ＷＣＤＭＡのＳＴＴＤのような動作を扱う変換器７７の必要性である。従って、Ａ−ＭＲＣアルゴリズムは、潜在的に処理できるパスの数が２倍になるという違いで、ＭＩに対してほとんど同じように適用できる。ＭＯに関しては、図７の処理システムと比べて受信器７５に加える唯一のものは、両方のＲＦチェーンから入力するデータをサポートするためにサンプル・バッファ２２が２倍になることである。この結果、本質的なコスト節約ができる。ＭＩに関しては、付加的な乗算器は必要ない。ＭＯに関しては、付加的なフィンガーは必要ない。電力についても本質的な節約ができる。プロセッサ２０は、フィンガー中の送信／受信パスのすべての組み合わせを処理するようには強制されない。十分強力なアンテナ・パスのみを処理する必要がある。
【００５４】
少なくとも１つの実施の形態で、プロセッサ２０は、“バースト・パイロット”信号を扱う動作を行うように構成されており、セルラー・チャネルを推定するために使用される通信基地局から送られる情報は、時分割多重化されているため、それは順方向リンク信号中に、時刻によって存在したり存在しなかったりする。少なくとも別の例示的実施の形態では、プロセッサ２０は、“連続パイロット”信号を扱う動作を行うように構成されており、セルラー・チャネルを推定するために使用される通信基地局から送られる情報は、基地局によって送信される順方向リンク信号中に常に存在する。
【００５５】
マルチパス成分をタイムリーに見出して信号の復調に寄与させることは、ＣＤＭＡ受信器実施における設計上の１つの挑戦課題である。検索は急速に変化する環境においてマルチパス成分を見出すプロセスである。プロセッサ２０は強化された検索器動作を可能にする。以下に図１８−１９を参照しながら説明する収束型検索器機能は、マルチパス成分の迅速な獲得を許容し、また急速に変動するマルチパス環境においてＣＤＭＡ受信器の性能を強化する明確なアルゴリズムである。
【００５６】
プロセッサ２０は、ウインドウ形式の検索動作のための分離したバッファリングを要求しない方式を含む。先に述べたように、従来型の実施は、一般的に、サンプルに対して並列的に同期して作用する“フィンガー”のインスタンスを含む。プロセッサ２０は、一時に１つのマルチパスを逐次的に処理する。データを通しての各々の反復は“仮想フィンガー”と呼ばれる。これに加えて、従来型のＡＳＩＣハードウエアによって実行されるチャネル推定は、復調に特定した回路に加えて専用のハードウエアによって実行される。プロセッサ２０は、この制約を持たない。同じ回路を、復調とチャネル推定の両方のために用いることができる。
【００５７】
サンプルをバッファリングする方法はプロセッサ２０の動作を助ける。例示的実施の形態では、３バッファ方式が使用されて、それはプロセッサ２０によって復調すべきサブ・チップ・サンプルの遅延拡散全体へのアクセスを与える。この最小のバッファリング方式は、チップを受信するバッファが満たされるたびに、２つの物理的バッファが交代するようになった２バッファ方式における時間遅延を回避する。更に、このバッファリング方式は、各々の処理反復の間に利用できるデジタル・サンプルに等価な全マルチパス拡散を有する。別の実施の形態では、バッファリング方式を実施するために、単一の２重ポート・メモリが使用される。
【００５８】
図１４は、例示的なウインドウ方式の検索プロセスの第１フェーズを示す。このプロセスは１組のデジタル的な複素数サンプル９２，９４，９６，９８及び１００を取り上げて、それらのサンプルと各種仮説との相関を決定する。この第１フェーズでは、４つの隣接するチップ（サンプル９２，９４，９６，９８及び１００）のすべての組み合わせが、４チップの隣接する複数の組について計算される。
【００５９】
図１５は、例示的なウインドウ方式の検索プロセスの第２フェーズを示す。この第２フェーズでは、フェーズ１で計算された組み合わせを用いて、４チップの倍数について相関を見出す。この相関は、コヒーレントなものでも、非コヒーレントなものでもよい。図示の例では、１２８個の相関が見出された。
【００６０】
例示的実施の形態では、シフト・レジスタ１０６によってＰＮシーケンス１０４が受信される。シフト・レジスタ１０６は、ＰＮシーケンス１０４からの処理されたチップを複数のＲＡＭデバイス（例えば、ＲＡＭ１−３２）へ方向付ける。ＲＡＭデバイス１０８は、例えば、チップ１−４の部分和を含む。ＲＡＭデバイス１１０は、チップ５−８の部分和を含む。ＲＡＭデバイス１１２は、チップ１２５−１２８の部分和を含む。ＲＡＭデバイスからの相関は合成装置１２４を用いて合成される。
【００６１】
フェーズ１の計算は、非常に多数の仮説の中に割り振られるので、分析の中では無視できるようになる。有利なことに、互いに相関を取るべきＰＮ仮説の組数が非常に多数与えられれば、計算の数は従来のアルゴリズムと比べて４分の１に近くなる。
【００６２】
ＣＤＭＡマルチパスに関する検索用の従来の方法は、典型的な場合“ウインドウ”方式の検索を含むため、エネルギーが既知のチップの指定されたウインドウの中で相関が求められ、指定された閾値よりも大きい相関が求められる。この機能は、検索器と呼ぶ従来型の相関器の中で、別のフィンガーで実行される。
【００６３】
図２を参照しながら説明したプロセッサ２０は、ウインドウ方式の検索を実行できる。収束型検索器と呼ぶ付加的な検索機能について図面２０−２１を参照しながら以下に説明する。ここで図１６を参照すると、プロセッサ２０は、サンプル・バッファ８２及び８４からサンプルを受信する。サンプル・バッファ８２は、偶数フェーズのサンプルを提供し、サンプル・バッファ８４は奇数フェーズのサンプルを提供する。２×２の順列ブロック８６は、復調器８８にオンタイム・サンプルを供給するので、信号エネルギーは最大になる。他のサンプル・バッファの組は検索器８９用に使用される。検索器８９は、偶数フェーズあるいは奇数フェーズのいずれかのサンプルを入手するが、検索器８９および復調器８８が同じメモリ・ブロックで競合している場合は、どちらも復調器８８で用いられない。
【００６４】
検索器８９は獲得のあとで、１／８チップ早いかあるいは１／８チップ遅いサンプルに対して作用するが、このエネルギーのわずかな低下は検索器８９の動作に対してほんのわずかしか影響しない。
【００６５】
動作時には、ウインドウ方式の検索器機能は十分な数の相関を実行し、その後、新しいデータ・ブロックが利用できるようになるまで休止する。従って、ハードウエアのアイドル・サイクルは回避される。周波数検索機能の例示的実施の形態では、元の周波数と異なる周波数において得られたデジタル・サンプルを記憶するためにバッファ８７が使用される。付加的なバッファを使用することの利点は、後に使用する可能性のあるサンプルを記憶できることである。あるいは、異なる周波数で得られたデジタル・サンプルは、受信反復と処理反復のために同じバッファ８２及び８４に配置することができる。
【００６６】
図１７は、従来型の処理によって実現される周波数検索と比べた例示的実施の形態の周波数検索の特徴を示す。例示的実施の形態では、プロセッサ２０は、信号のバースバンド処理を許容するが、他方で、ＲＦはシャット・オフされるか、あるいは異なる周波数に同調される。この方法の１つの利点は、周波数間の検索がより効率的である点である。
【００６７】
図１７は、初期バッファが満たされたあとで、他の周波数における基地局検索を“オフライン”で実行できることを示している。１つの利点は、相関のコヒーレント及び非コヒーレントな組み合わせを介して各種のＰＮオフセットをテストする時間の掛かるプロセスを、復調周波数に同調している間に実行できる点である。このことは、他の周波数測定を行うために要する時間長を減らすか、あるいは他の周波数測定の間に現在の周波数アサインメントからのデータ損失をより少なくするかのいずれかによって、潜在的にシステム性能を強化する。
【００６８】
例示的実施の形態では、周波数検索機能は、元の周波数と一緒に使用したものと同じサンプル・バッファを用いる。サンプル・バッファは１つの反復において新しい周波数からデジタル・サンプルを受信して、それらを次の反復中に処理する。元の周波数に戻ったあとで、サンプル・バッファはそのまま使い続けられる。別の例示的実施の形態では、新しい周波数に対しては、図１７に関連して説明したバッファ８７のような別のバッファが使用される。別のバッファを使用することは、元の周波数に戻ったあとも、新しい周波数において受信されたデジタル・サンプルを保持できる利点を有する。
【００６９】
図１８は、収束型の検索器動作を示す。受信されたチップｒｎはチャネルの信頼度Ｒを乗ぜられて、チャネル測定Ｓｃｈａｎｎｅｌを与える。チャネル信頼度は次の式で計算できる。
【００７０】
【数５】
2005532741.tif 000007
【００７１】
収束型検索器の動作は、パイロットの雑音の多いチップ測定を使用して正しいＰＮ状態に収束する。チャネル測定は、ソフト入力として使用され、ソフト・コンバイナー９１からのソフト出力フィードバックに加えられる。このソフト入力は対数類似性を計算するために使用される。ソフト・コンバイナー９１は、１群のチャネル測定値Ｓｎ−１ないしＳｎ−１５に対して、モジュロ２の加算を実行する。ソフト・コンバイナー９１は、図１９に関連して説明するように、ソフトＸＯＲ演算のシリーズとして実現できる。ソフトＸＯＲ演算は合成演算であって、入力Ｓ１及びＳ２からの出力ＳＴは次の数学的関係によって定義される。
【００７２】
【数６】
2005532741.tif 000008
【００７３】
例示的実施の形態では、ソフトＸＯＲ演算はルックアップ・テーブルを介して実施される。
【００７４】
有利なことに、図１８の収束型検索器動作は、従来の検索器のような最後に知れたＰＮについて先験的な知識なしで、ＰＮ同期化を獲得できる。収束検索器動作は、ウインドウ方式の動作よりも少ない動作で支配的なマルチパスを見出すことができる。収束検索器動作で可能となるその他の特徴は次のものを含む。まず、この動作は、パスが急速に入力してきたときに、従来のウインドウ方式の検索器では見逃しがちである強力なパイロットの高速な捕捉を提供する。第２に、この動作は、アイドル・モードの間に、もっとずっと高速に実行すべき隣接セットの維持を可能とするため、モバイル装置のためのスタンバイ時間を２×に増大させる結果をもたらす。第３に、この動作は高速な捕捉を可能とする。
【００７５】
図１９は、図１８のソフト・コンバイナー９１の詳細な実施を示す。図１８の収束検索器動作は、次の帰納式によって定義されるＰＮＩ（イン・フェーズ）シーケンスに特化したものである。
【００７６】
（数７）
Ｉｎ＝Ｉｎ−１５＋Ｉｎ−１０＋Ｉｎ−８＋Ｉｎ−７＋Ｉｎ−６＋Ｉｎ−２
【００７７】
この方法の迅速な収束（０ｄＢ付近）のためのＥｃ／Ｎｏは、パイロットが現在動作している電力よりも大きい。例示的実施の形態では、基地局は、パイロット信号を１００％の動作電力で送信する時間スロットに割り当てる。
【００７８】
図２０は、プロセッサ２０による収束検索器動作の例示的実施を示す。収束検索器９０は、サンプル・バッファ２２からのサンプルとＦＩＲブロック９８からの既知のパスとの差からの位相回転を含むサンプルを受信する。ＦＩＲ（有限インパルス応答）ブロック９８は、パルス整形フィルタである。既知のパス９４は、再変調器９６によって再変調されて、チャネル推定と一緒にＦＩＲブロック９８に提供される。
【００７９】
図２１は、プロセッサ２０によって実行される収束検索器動作を示す状態図を示す。動作１００及び１０２では、現在の既知のパスの組（獲得の間は空）が再変調され、減算によって消し去られる。この分離によって、強力なマルチパスが検出されたときの、より弱いマルチパスの検出が容易になる。更に、このプロセスにおいて、強力なマルチパスの瞬間的なフェージングも助けになる。
【００８０】
マルチパスの位相回転は知られていないので、位相回転は収束検索器ブロックの前に導入される。動作１０４では、位相回転仮説について反復操作が施される。一旦、位相回転が最強の未知のパイロットの位相と整合すれば、収束が表示される。ソフト判定状態に対してハード判定が行われ、その状態は動作１０６においてＰＮ位相にマッピングされる。これは認証及び正確な測定のために、ウインドウ方式の検索器に送られる。
【００８１】
例示的実施の形態では、図２に関連して説明したプロセッサ２０は、８０２．１１の仕様と一緒に使用するために採用できる。適合プロセッサをプロセッサ１２０と呼び、図２２に関連して説明する。当業者には知られているように、８０２．１１はワイヤレスＬＡＮ技術のために開発された仕様ファミリーを指す。８０２．１１は、ワイヤレス・クライアントと基地局の間、あるいは２つのワイヤレス・クライアント間の無線インタフェースを指定する。
【００８２】
一般に、８０２．１１は、ワイヤレスＬＡＮに適用され、周波数ホッピング方式スペクトル拡散（ＦＨＳＳ）あるいは直接シーケンス方式スペクトル拡散（ＤＳＳＳ）のいずれかを用いて２．４ＧＨｚ帯で１または２Ｍｂｐｓ送信を提供する。８０２．１１ａ仕様は、８０２．１１仕様の拡張であり、ワイヤレスＬＡＮに適用され、５ＧＨｚ帯で５４Ｍｂｐｓまでを提供する。８０２．１１ａは、ＦＨＳＳやＤＳＳＳではなく、直交周波数分割多重符号化方式を使用する。８０２．１１ｂ仕様（８０２．１１ハイレートあるいはＷｉ−Ｆｉとも呼ばれる）は、８０２．１１の拡張であり、ワイヤレスＬＡＮに適用され、２．４ＧＨｚ帯で１１Ｍｂｐｓ送信（５．５、２、及び１Ｍｂｐｓへの後退（フォールバック：ｆａｌｌｂａｃｋ）も含む）を提供する。８０２．１１ｂはＤＳＳＳのみを使用する。８０２．１１ｇ仕様は、ワイヤレスＬＡＮに適用され、２．４ＧＨｚ帯で２０＋Ｍｂｐｓを提供する。
【００８３】
プロセッサ１２０は、分岐サポート、アドレス発生器の動的初期化を介した間接アドレッシング、命令ポインタ、ベクトル指向命令、構成可能データ・パス、及び特別注文の処理ユニットなどの特徴を含む。ベクトル指向命令というのは、マルチ要素演算の実行を指し、それによってプログラム・メモリへの頻繁なアクセスを回避する。
【００８４】
プロセッサ１２０は、復調に固有な共通ベクトル処理のために特別に誂えた処理ユニットを含むことができる。例えば、ユニットＡは畳み込み演算用に最適化されており、畳み込み出力がクロックごとに計算される。ユニットＢは、ＦＦＴ関数用に最適化されており、クロックごとに４を基数とする（Ｒａｄｉｘ−４）バタフライが実行される。ユニットＣは、逆拡散、ベクトル加算、ベクトル減算、内積、及び成分ごとの乗算を含むその他のベクトル演算用に最適化されている。好ましくは、各ユニットは個別のクロック・ツリーを有し、それらは特別なユニットを使用する場合、命令セットによって明示的に許可される。
【００８５】
図２０は、プロセッサ１２０を採用する例示的システムを示す。プロセッサ１２０は、復調演算を実行する。プロセッサ１２０内部のマスタ制御は、プログラムＲＡＭから命令をフェッチして、その命令をユニットＡ、Ｂ、及びＣを通して実行する。処理ユニットへの入力は、Ａ／Ｄからの元のサンプルを含むバッファか、あるいは中間結果を含む他のバッファかのいずれかからである。
【００８６】
プログラムＲＡＭに記憶されたファームウエアによって処理が完了すると、通信シンボルはシンボル・プロセッサ１２２へバースト的に送られる。シンボル・プロセッサ１２２は、逆マッピング（ｄｅ−ｍａｐｐｉｎｇ）、デインターリーブ、及び復号を実行し、またこの時点で、復号されたビットがＭＡＣ（メディア・アクセス制御）１２４へ送られる。送信側では、プロセッサ１２０は、送信器機能のＦＦＴを実行するために使用される。
【００８７】
図２３は、バッファ１３２、ユニットＡ  １３４、ユニットＢ  １３６、ユニットＣ  １３８、マスタ制御１４０、プログラム・メモリ１４２、ＡＲＭインタフェース１４４、及びバッファ１４６を含むプロセッサ１２０の一部を示す。マスタ制御１４０は、プロセッサ１２０を制御する。例えば、マスタ制御１４０はプログラム・メモリ中の命令シーケンスを、命令ポインタのシーケンシャル・インクリメントによって、あるいはプログラム・メモリ中の命令からの条件付／無条件分岐のいずれかによって制御する。マスタ制御１４０は、また、プロセッサ１２０と同期サンプル制御との同期と、命令バスのパラメータを他ブロックの適切な場所へルーティングすることとを制御する。マスタ制御１４０は、更に、作動中のマルチ・サイクル命令の実行を担当する状態機械を含む。
【００８８】
命令ポインタは、プログラム・メモリ中にある実行すべき現在の命令を説明する状態変数である。命令ポインタは、シーケンシャル・インクリメントによるか、あるいはプログラム・フロー制御に基づいて調節される。命令ポインタは、マルチ・サイクルのベクトル演算動作の間はストールする。
【００８９】
図２４は、アドレス発生器１５２、スイッチ１５４、及びスイッチ１５６を含むプロセッサ１２０の一部を示す。図２５は、マスタ制御状態機械１４０の例示的動作状態を示す。状態１（ＳＬＥＥＰ状態）から、信号は、バッファ充填が発生し、反復及び状態２（プログラムＲＡＭアクセス）への遷移が始まったことを示す。後続の事象は状態２の間に発生する。すなわち、命令フィールドからのアドレス発生器の初期化、ベクトル演算長カウンタの初期化、正しいクロック・ツリーのターン・オン、適切なメモリ・スイッチの設定、及び適切なメモリ・イネーブル及びＲ／Ｗの適切な選択の設定。
【００９０】
この時点で、入力／合成／出力のバッファは所定の場所にあって、適宜読み出し／書き込みを許可される。アドレス発生器は実行される特別なベクトル演算に適したバッファからデータをフェッチするための正しい値にあり、このベクトル演算の出力は、適切なバッファの正しいアドレスに送られる。あるいは、Ｍａｘ＿Ｉｎｄｅｘ及びステータス・タイム・スタンプをバッファの代わりに入力ソースあるいは合成ソースのいずれかとして使用できる。あるいは、アドレス発生器の次のような３つのレジスタ：ＡＧ＿Ｉｎｐｕｔ＿Ｉｎｉｔｉａｌ、ＡＧ＿Ｃｏｍｂ＿Ｉｎｉｔｉａｌ、及びＡＧ＿Ｃｏｍｂ＿Ｓｔｒｉｄｅの１つをバッファの代わりに出力することができる。
【００９１】
状態３の間に、データはクロックごとに適切なバッファから読み出され、出力は、クロックごとに、あるいはユニットＣに関するデシメートされたレートで出力バッファに準備される。状態３の間、入力アドレス発生器及び合成アドレス発生器は、３バッファ方式を実施することによって次の物理的バッファへのサンプル・バッファ・アクセスを更新するＷｒａｐ＿Ｅｖｅｎｔ信号を生成する能力を有する。
【００９２】
もしユニットＣの動作が存在すれば、それに加えて、それの出力の最大値または上方閾値のいずれかを追跡する回路が存在する。ユニットＣのベクトル演算の最後に、命令フィールドに指定された閾値を超える値が、この値の間にタイム・スタンプとなるベクトル演算カウントの内容と一緒に初めて発生するか、あるいはベクトル命令出力の最大値がこの値の間にタイム・スタンプとなるベクトル演算カウントの内容と一緒に発生する。状態変数であるベクトル演算カウントは、クロック・サイクルごとに増分される。ゼロは、ベクトル演算が完了し、また現在のベクトル演算が終わりに達したことを示す。この時点で、前のクロックが、実行すべき次の有効な命令の正しい値を有している確率が高く、その場合には、プログラムＲＡＭデータ・バスは、正しい値を含み、そのため状態２のアイドル状態は遷移する必要がない。しかし、もしベクトル演算の最後の（あるいは唯一の）クロックがフェッチすべき次の命令への更新を引き起こしたら（そのサイクルにおいて有効である分岐条件によって）、そのときはプログラムＲＡＭデータ・バス上に有効な命令が現れる（状態２になる）ためにクロックが必要となる。
【００９３】
命令中にＳＬＥＥＰフィールドが１にセットされることは反復の完了を示し、ＳＹＮＣ＿ＷＲＡＰ＿ＥＶＥＮＴがアサートされるまでベクトル命令状態機械はそのままに留まる。
【００９４】
図２６に示すように、任意の与えられた時点で、プロセッサ１２０は、論理的には１つとして機能する２つのバッファにアクセスする。図２４の方式のバッファリングは、図４に関連して説明したバッファリング方式と本質的に同じである。反復Ｎ＝０の間、バッファ１及びバッファ２は、プロセッサ１２０の動作に対する単一の論理的データ・ソースとして機能する。バッファ２に現れる最短のパスを有するシンボルは、図２６に示すように、反復Ｎ＋１までは処理されない。その間に、バッファ３は、バッファ１及びバッファ２の論理的組み合わせの処理の間に発生するサンプルを受信している。反復Ｎ＋１の間は、プロセッサ１２０は、最短のサンプルがバッファ２にあるシンボルを処理し、他方、バッファ３の内容を、これもシンボル処理を完了するために存在しなければならない、後に到着する必要なサンプルとして用いる。
【００９５】
入力バッファは命令セットに対する隣接する論理的バッファのように見える。従って、マスタ・コントローラ１４０は、サンプル・バッファにアサインされたアドレス発生器がラッピングされているかどうかを追跡監視する。
【００９６】
再び図２３及び２４を参照すると、バッファ７−１０は、チャネル同期バッファである。それらは、特に命令セットが参照し、またＡ／Ｄサンプルを直接にはロードされないサブセット・バッファである。それらのバッファへのアドレスは、アドレス発生器１５２で生成される。物理的ＲＡＭをそれの役目（入力／出力／合成）へマッピングすることは、プロセッサ１２０中のフィールドに基づいてスイッチ１５４によって設定される。
【００９７】
図２４は、バッファのために用いられるアドレス発生器の役目を示す。アドレス発生器ルータ（スイッチ１５４）は、アドレス発生器出力を正しいＲＡＭにルーティングする役目を有する。次は、対応する命令フィールドと結びついた可能なルーティング・オプションである。図２４に示すように、ＲＡＭの各々のアドレス・ラインには複数の可能性がある（各々の可能なソースには１−５のうちの数がアサインされる）。このことは、ＲＡＭの各々の前にある１つのＭＵＸに多分対応するであろう。スイッチの設定が図面に示したオプションの１つを実現させる。
【００９８】
アドレス発生器１５２は、入力用の発生器１５８、合成用の発生器１６０、及び出力用の発生器１６２と、三度インスタンス化される。アドレス発生器１５２は、ＭＡＴＬＡＢの表記でａ：ｂ：ｃと表現できるベクトルを形成するが、これはａが初期アドレスで、ｂがバッファ中を進む“ストライド（ｓｔｒｉｄｅ）”（ベクトル演算のクロックごとにアドレス発生器が加える値）、そしてｃはベクトル演算長の依存パラメータである終了値を意味する。
【００９９】
図２７は、アドレス発生器１５２のより詳細な図を示す。アドレス発生器１５２は、特別な初期値及びストライドを直接ロードすることができる。更に、アドレス発生器１５２は、先のユニットＣ演算の出力を通して、間接的にロードされる初期値及びストライドを有することができる。命令中のレジスタ・ロード・フィールドは、将来の命令において、“間接的な”アドレス・モード・アクセスを許容するように設定される。ラッピング機能が作りこまれており、それによってアドレス発生器１５２が指定された値に到達したときには、アドレスがリセットされるようになる。従って、ラッピング・イネーブルがセットされたときは、アドレス発生器１５２は、ａ：ｍｏｄ（ｆｌｏｏｒ（ｂ／６４），ｗｒａｐｐｉｎｇ＿ｒａｔｅ）：ｃを出力する。ラッピングが発生すると、そのラッピングが論理的サンプル・バッファのアクセスによるものである場合は、マスタ制御１４０に表示が送られて、マスタ制御１４０は現在の物理的バッファを反映するようにバッファ・イネーブル及びＲ／Ｗを更新する。更に、今はａ：ｍｏｄ（ｆｌｏｏｒ（ｂ／６４），ｗｒａｐｐｉｎｇ＿ｒａｔｅ）：ｃ＋ｏｆｆｓｅｔとなっている先のバッファのアドレス出力に対してオフセットを加えることができる。オフセット加算は、ＬＳＢとＭＳＢの連結でよく、従って加算器は物理的に必要とされない（すなわち、ｎをＬＳＢの数としたとき、オフセットは２ｎの整数倍になろう）。
【０１００】
図２８は、ユニットＡを示す。ユニットＡ  １３４は畳み込み（別名、ＦＩＲフィルタリング）の実行を担当するベクトル命令エンジンである。８タップのＦＩＲは、構成演算としてこのモードで実行される。ユニットＡ動作には２つのモード：タップ・ローディング及びＦＩＲ演算がある。タップ・ローディングでは、マスタ・コントローラ１４０は、ベクトル演算（すべてのタップをロードするためには８にセットされよう）の期間は信号をアサートする。この信号は、入力バッファからのタップ値にシフトをもたらす。ＦＩＲ演算では、ＦＩＲ演算の入力は、単一ポート・スイッチ（入力）から物理的に得られ、論理的には命令フィールドから決定される。これは、タップとの間で畳み込みを求められるデータ・ストリームである。畳み込まれたストリームは、単一ポート・スイッチ（合成）からの、命令フィールドから論理的に決定されるデータ・ストリームに加えられる。
【０１０１】
タップ・ローディングでは、マスタ・コントローラ１４０は、ベクトル演算の期間は、信号Ｕｎｉｔ＿Ａ＿ＦＩＲをアサートする。この信号は、データ・パスを通して入力バッファの内容のシフトを引き起こし、計算されたＦＩＲフィルタ値が出力に現れる。
【０１０２】
図２９は、入力移相器を示しており、それは入力データの左方への２のシフト、データの右方への５のシフトを、及びそれらの間のすべてを許容する。飽和検出が左方シフト動作に続き、それによって反転時の飽和検出の必要性が排除される。命令のＳＥＬＥＣＴフィールド中のビットは、図示のように、ｍｕｘ設定に直接的にマッピングされる。
【０１０３】
図３０は、出力移相器を示しており、それはデータの右方への、両端を含む０ないし７とそれらの間の任意の値だけのシフトを許容する。命令のＳＥＬＥＣＴフィールド中のビットは、図示のように、ｍｕｘ設定に直接的にマッピングされる。出力移相器は、出力がシフトのあとで１０ＬＳＢ内にフィットしない状況において、飽和検出をサポートする。
【０１０４】
図３１は、ユニットＢを示す。ユニットＢは、ＦＦＴ演算をサポートするが、それはそれの入力を２つの４ポートＲＡＭ（バッファ８またはバッファ９）の１つから取り、また２つの４ポートＲＡＭ（バッファ８またはバッファ９）の１つに対して出力する。
【０１０５】
ユニットＢに関するアドレスは、実際にはユニットＢの拡張アドレス発生から生成することができる。ひずみ（Ｔｗｉｄｄｌｅ）因子は別のＲＯＭ中にある。それは、それらが８０ビットのアクセスを必要とするからである（ユーティリティＲＡＭとは異なる）。
【０１０６】
Ｒａｄｉｘ−４のＦＦＴエンジンは、４つの出力を生成するために８個の複素数加算が実行されるように最適化される。Ｒａｄｉｘ−４の演算は、２組のカスケードされた加算器を含む。第１組の加算器は、４個の複素数入力に基づいて次の部分和を生成する。
【０１０７】
（数８）
Ｐ１＝Ｘ１＋Ｘ３
Ｐ２＝Ｘ１−Ｘ３
Ｐ３＝Ｘ２＋Ｘ４
Ｐ４＝Ｘ２−Ｘ４
【０１０８】
第２組の加算器は、この部分和に基づいて次のように出力を計算する。
【０１０９】
（数９）
Ｙ１＝Ｐ１＋Ｐ３
Ｙ２＝Ｐ２−ｊ＊Ｐ４
Ｙ３＝Ｐ１−Ｐ３
Ｙ４＝Ｐ２＋ｊ＊Ｐ４
【０１１０】
ここで、ｊの乗算は、スイッチングＩ及びＱと、Ｉ出力の反転を介して実現される。スカラーのひずみ因子乗算の各々の出力は１１ビットに切り捨てられる。従って、複素数乗算器の出力は１２ビットになる。ビット[１０：１]はユニットＢブロックの出力にマッピングされる。
【０１１１】
図３２は、ユニットＣを示しており、それは、ユニットＡ（ＦＩＲ機能）及びユニットＢ（ＦＦＴ機能）に特に含まれないベクトル演算用のベクトル演算エンジンとして機能する。ユニットＣ中の最大回路は、ユニットＣベクトル演算に関する最大を追跡し、また最大のインデックスを保持する。特別なベクトル演算についての現在の最大が超えられたときは、最大値超過通知がマスタ制御に送られて、それによってマスタ制御は、ベクトル命令カウンタの現在値をラッチする。
【０１１２】
次の表１は、ユニットＣのベクトル・エンジン処理を表す。このエンジンへの入力は、入力バッファ及び合成バッファとしてスイッチ・インされるバッファから得られ、それらは表中ではそれぞれＸ及びＹと示される。ベクトル・エンジンの出力は、出力バッファとしてスイッチ・インされ、表ではＺとして示されたバッファに与えられる。これらは乗算演算であって、１組のベクトル入力が各クロックで処理されるというように、パイプライン状に各クロックで行われる。中間変数Ａ，Ａ’，Ａ”，Ｂ，Ｂ’”，Ｃ，Ｄ及びＤ”は直接出力されることはなく、ユニットＣベクトル・エンジンの処理を表すために使用される。
【０１１３】
【表１】
2005532741.tif 000009
【０１１４】
ユニットＣは、それの入力ストリームを図２３に示す単一ポート・スイッチ（入力）から受信する。入力アドレス発生器が適切なバッファへのインデックスを与えるために使用されており、表中にＭＡＴＬＡＢ表記Ｘ（ａ１：ｂ１：ｃ１）として表示されるが、これは、ａ１が初期アドレス、ｂ１がバッファ中での“ストライド”（ベクトル演算のクロックごとにアドレス発生器が加算する値）、ｃ１がベクトル演算長の依存パラメータである終了値であることを意味する。
【０１１５】
ユニットＣは、図２０に示された単一ポート・スイッチ（入力）の出力から、それの合成入力ストリームを受信する。合成アドレス発生器が適切なバッファへのインデックスを与えるために使用されており、表中にＭＡＴＬＡＢ表記Ｘ（ａ２：ｂ２：ｃ２）として表示されるが、これは、ａ２が初期アドレス、ｂ２がバッファ中での“ストライド”（ベクトル演算のクロックごとにアドレス発生器が加算する値）、ｃ２がベクトル演算長の依存パラメータである終了値であることを意味する。
【０１１６】
ベクトル演算は、図２９に示されたメイン・スイッチを介して構成される。次は、ユニットＣがサポートする４つのベクトル演算のタイプである。
【０１１７】
＊ベクトル加算−一般に、ユニットＣは、入力ベクトルと合成ベクトルとの複素数加算を実行する。
＊ベクトル減算−一般に、ユニットＣは、単位ベクトルから合成ベクトルの複素数減算を実行する。
＊ベクトル乗算−一般に、ユニットＣは、入力バッファと合成バッファとの成分同士の複素数乗算を実行する。この演算は、また、合成バッファの内容に対して複素共役演算を実行する。
＊振幅−ユニットＣは、入力バッファから発する複素数量の振幅に対して、ベクトル成分ごとの正確な近似演算を実行する。このモードでは、合成バッファは使用しない。振幅に関する良好な近似は次のようになる。
【０１１８】
【数１０】
2005532741.tif 000010
【０１１９】
累積は、内積や逆拡散などのような要求される多様なベクトル演算を効率的に実行するための機構である。ベクトル演算の出力は、可変個数のクロックについて累積されて、このデシメートされたレートで出力される。
【０１２０】
一旦、シンボル・タイミングが取得されれば、状態機械は、それの時間ドメインのタイミングを第１のロング・コード同期を正しく処理するように調節する。これは、ガード・インターバル中への２４チップから始まるか、あるいは等価的にＴ１の前の８チップから始まる。第１のロング・コードがバッファリングされたあとで（状態５）、状態機械は、第２のロング・コード同期のタイミングに調節する。これはＴ２の前の場所８チップから始まる。タイミングを変更するのは、第１のロング・コードの６４チップあとに第２のロング・コード同期シンボルが発生し、他方、プロセッサ１２０は８０チップの増分でバッファリングされるため、タイミングを１６チップだけ変えるためである。このあと、ヘッダ・シンボル及びデータ・シンボルについては、タイミングは同じままで、それぞれシンボルの前８チップに位置する。タイミングが一定に保たれるのは、ヘッダ及びデータ・シンボルが第２のロング・コード同期シンボルのあと８０チップの倍数において開始されるためである。ヘッダ及びデータ・シンボルとともに、２つのロング同期についてのサンプル・タイミングが図３３に示されている。注意すべきことは、ガード・インターバル２（ＧＩ２）の１／４は、ガード・インターバル１（ＧＩ１）の１／２に等価で８チップの値だということである。
【０１２１】
周波数ドメインでは（すなわち、ＦＦＴの後）、バッファ内容は最早チップ・タイミングではなくサブ・キャリア番号でインデックスを与えられる。サブ・キャリアは、−３２から３１までの数を取るが、実際には両端の周波数はゼロに設定されるので、−２６から２６までしか取らない。ＭＡＴＬＡＢは正のインデックスしか許さないので、サブ・キャリアはバッファ内部で１から６４までインデックス付けされる。もしゼロのサブ・キャリアを排除するなら、インデックスは７から５９までになる。すべてのサブ・キャリアは、−２１，−７，７，２１にあって、バッファ内部で１２，２６，４０，５４とインデックス付けされるパイロット・サブ・キャリアを除いて、変調されたデータを含む。
【０１２２】
図３４は、プロセッサ１２０の命令セットに用いられる動作状態を示す。タイミング情報を得るために状態１−３が使用される。特に、状態１はサブ・シンボルのタイミングを得るために使用され、また状態３はシンボル・タイミングを得るために使用される。状態４−６は、周波数オフセットが推定されて、（ほとんどの場合に）修正される時間ドメインにおいて支配的に発生し続ける。状態６だけは、いくつかの周波数ドメイン処理を含み、そこでは合成されたロング・コードのサブ・キャリアの値に基づいて初期のサブ・キャリアのチャネル推定が行われる。状態７はヘッダ処理を取り扱い、また状態８はデータ処理を取り扱う。状態７及び状態８がいくつかの時間ドメイン処理（例えば、カウンタ周波数オフセットへのデータの回転）を含む間に、処理は周波数ドメインで支配的に発生する。特に状態８では、残留周波数オフセットとタイミング・ドリフトの両者が、サブ・キャリアそれら自身から及び内部で推定される。
【０１２３】
ショート同期検索（状態１）では、８マイクロ秒の長さを有するＡＰによって送信されるショート同期シンボルが１０個繰り返される。プロセッサ１２０が、サンプルの一部分のみでショート同期シンボルを検索することは有利である。状態１では、サンプル・バッファの最後だけでショート同期シンボルを検索する。反復は４マイクロ秒の長さであるため、バッファの１つの終わりに少なくとも１反復の間はショート同期シーケンスが存在することを保証するために、ＲＦ／アナログは、少なくとも４マイクロ秒の長さのクリーンで有効な同期シーケンスを提供することが要求される。
【０１２４】
この状態で、プロセッサ１２０は、既知の時間ドメインのショート同期シンボルに対して１６の可能な相関を見出すために必要とされる処理だけを実行する。もしそれらのうちの１つが閾値を超えれば、ショート同期シンボルが検出されたと推定して、そのことがサブ・シンボルのタイミングを与えることになり、それは将来での使用に備えて記憶される。それらの相関のどれも閾値を超えなければ、プロセッサ１２０は、次の反復まで休止状態に入る。
【０１２５】
ユニットＡは、１６個すべての相関を同時に計算するチャネル・フィルタリングと“整合フィルタ”機能の両者のために使用される。これは、この両動作がこのユニットの並列度８をサポートできるためである。
【０１２６】
ユニットＣは、整合フィルタの非コヒーレント出力（Ｉ＾２＋Ｑ＾２）を形成し、また整合フィルタの出力を正規化するために必要な入力サンプルのエネルギーを測定する。
【０１２７】
状態１の間のプロセッサ１２０の命令マッピングには、バッファの最後に１６タップのショート同期整合フィルタを構築するための第１の２の反復が含まれる。３バッファ方式によって決められる最後の２３個の複素数サンプルがユニットＡに入力される。ユニットＡは、最初の７サンプルについて（大容量を満たしている間）出力を保留し、ショート同期（複素量）の下半分に対して１６の相関を出力する。この結果の複素数は、バッファ６の先頭に記憶される。ここでは、出力のうち１０個のｌａｂが破棄される。
【０１２８】
バッファの最後に１６タップのショート同期整合フィルタを構築するための第２の２の反復が行われる。ここでも、３バッファ方式によって決められる最後の２３個の複素数サンプルがユニットＡに入力される。ユニットＡは、最初の７サンプルについて（ボックスカーを満たしている間）出力を保留し、このときは、ショート同期（複素量）の上半分に対して１６の相関を出力する。相関の出力は、バッファ６の内容に加算され、完全な１６のサンプル相関が構築される。この結果の複素数は、バッファの７先頭に記憶される。ここでは、出力のうち１０個のｌａｂが破棄される。
【０１２９】
プロセッサ１２０は、１６個の相関の非コヒーレント値（Ｉ＾２＋Ｑ＾２）を計算する。ショート同期シンボルに位相は知られていないため、位相情報を消去するために、バッファ７の複素数の内容に対して、回転によって不変な量Ｉ＾２＋Ｑ＾２が計算される。最大トラッキング回路がイネーブルされるため、最大値とともにそれが発生するサンプル・インデックスがレジスタに記憶される。
【０１３０】
プロセッサ１２０は、ベースライン比較のための信号エネルギーを見出す。受信信号（あるいは雑音）のエネルギーは、潜在的に理想的ではないＡＧＣ機能のせいで、明確には知ることができないため、整合フィルタの出力は、受信したエネルギー・レベルで正規化する必要がある。この機能は、入力サンプルの各々に対して非コヒーレントな機能（Ｉ＾２＋Ｑ＾２）を用いながら、また３３個の非コヒーレントな出力を一緒に加え、単一の実数値だけをバッファ６の第１アドレスに出力するユニットＣの累積機能を用いながら、ユニットＣによって実行される。ここでは、最後の７ｌｓｂが破棄されて、そのことが、出力のダイナミック・レンジの設定と一緒に、次の工程で閾値指定を行うことによって高ＳＮＲで（しかし、多分、低ＳＮＲではない）適当な特性を発揮するために必要とされる２の冪に分割する。
【０１３１】
プロセッサ１２０は、“整合フィルタ”スパイクが存在するかどうかを判断する。ユニットＣは、工程３）で見つかった最大が工程４）で見つかった量（これは適当な２の冪で分割されている）よりも大きいかどうかを判断する。この条件は、ステータス・レジスタ（これは、現時点でシミュレーションにモデル化されていない）の適切なビットをセットし、それはステータス・マスク・レジスタによってマスクされず、状態２に移行する結果を機能的にもたらす分岐を引き起こす。
【０１３２】
状態２では、プロセッサ１２０は、１反復だけ待機し、また、状態３では、プロセッサ１２０は、ロング同期の先頭を見出す。ここで、ＯＦＤＭ（直交周波数分割多重化）フレームらしきものが見つかったことにより、サブ・シンボル・タイミングが状態１を介して知られることになる。次の工程は、ＯＦＤＭシンボルのタイミングを見出すことである。ショート同期シーケンスの既知の長さ及びサンプル・バッファの長さに基づいて、ロング同期の最初の１６サンプルは、この時点でサンプル・バッファの内部にあることが保証される。この状態は、バッファの中で、ロング同期シンボルがどこから始まるかを正確に決定する。
【０１３３】
ロング同期シンボルを見出すための機構は、既知のショート同期時間ドメイン波形に対して一連の相関を実行するためにサブ同期シンボルのタイミングを使用することを含む。これは一連の“スパイク”を生じさせるはずであり、それは、入力に対して１６×のデシメート・レートで出力される。タイミングは既知であり、整合フィルタ機能は不要であるため、この演算はユニットＣを用いて実行できる。
【０１３４】
同様に、同じタイミングを使用することによって、同じデータ・セットに対して相関が実行されるが、今度は既知の部分的ロング同期（最初の１６サンプル）時間ドメイン波形に対してである。
【０１３５】
ショート同期に対する相関の組は、部分的ロング同期に対する相関の組から減算される。この値が０を超えるところには、ロング同期シンボルの先頭のサインがある。ロング同期タイミングに実際に対応するアドレスを計算することは、量Ｔ＝１６＊（Ｖ−１）＋２４＝１６Ｖ＋９を計算することを含み、ここでＶは部分的ロング同期が勝利者となる前の相関数である。
【０１３６】
この値が発生する場所は、また、バッファ中にロング同期の全体が存在するかどうかを示す。−もしこの値が十分早く発生すれば、このことは、ロング同期の全体が存在し、状態４に入ったこと（その他の状態遷移とは異なり、この遷移は次の４マイクロ秒に相当するデータにアクセスするために次の反復を待つことなく発生する）を保証する。もしこの値がバッファ中で十分遅く発生すれば、次の反復は完全アクセス可能な第１のロング同期シンボルをもたらすことが分かり、従って状態５に遷移するが、それは次の反復を待つことを含む。
【０１３７】
プロセッサ１２０に関する命令マッピングは、デジェネレート・モードＣ動作を用いてアドレス発生器を正しくセットアップすること、及び将来の使用のためにもこの値を記憶することを含む。この値に基づいて、サンプルにアクセスするための間接技法がここで実行されなければならない。ユニットＣは、ユニットＣの入力を支配するアドレス発生器の初期アドレス・レジスタへ出力することを許可されるため、次の“ボタン”押しはこの予め構成されたアドレスから開始できる。このボタン押しはなんらデータ処理を実行することはなく、むしろ次の“ボタン押し”のデータ処理に関する正しい動作をセットアップするために使用されるので、これを“デジェネレート”モードと呼ぶ。この場合、ユニットＣへの入力は、最大インデックス・レジスタとして選ばれ、出力は、将来の使用に備えてこの目的のために指定されるバッファ７中の場所（ここでは、アドレス１０００を用いた）に記憶される。ユニットＣは、この演算の出力が入力と等しくなるように構成されており、そのため、この出力はアドレス発生器をサブ・シンボルのタイミングに対応する値で初期化するために用いられる（言い換えれば、ユニットＣは、この命令にあって“ワイヤ”として機能する）。
【０１３８】
プロセッサ１２０は、既知の時間ドメインのショート同期シンボルの既知のタイミングとの相関を取る。アドレス発生器は、正しいサブ・シンボル・タイミングに初期化されるので、ユニットＣをここで用いて、サンプル・バッファ中に記憶された波形全体のこのタイミングとショート同期時間ドメインの波形との相関を実行する。ユニットＣの乗算モードが選択され、選ばれる合成バッファはユーティリティ・バッファである。この合成バッファに付随するアドレス発生器は、１０回繰り返されたショート同期時間ドメイン波形を含む１つのベクトルを指すように初期化される。ユニットＣの累積器機能は、サンプル・バッファ中の全内容とユーティリティ・バッファに記憶されたショート同期トレインとの連続的相関を実行するために１６にセットされる。この演算の複素数出力は、１０個の値を含み、それらは累積後に１０個のｌｓｂを破棄したのちに、バッファ６中の先頭に配置される。
【０１３９】
プロセッサ１２０は、既知の時間ドメインの部分的ロング同期シンボルの既知のタイミングとの相関を取る。アドレス発生器は、正しいサブ・シンボル・タイミングに初期化されるので、ユニットＣをここで用いて、サンプル・バッファ中に記憶された波形全体のこのタイミングと部分的ロング同期時間ドメインの波形との相関を実行する。ユニットＣの乗算モードが選択され、選ばれる合成バッファはユーティリティ・バッファである。この合成バッファに付随するアドレス発生器は、１０回繰り返された部分的ロング同期時間ドメイン波形を含む１つのベクトルを指すように初期化される。ユニットＣの累積器機能は、サンプル・バッファ中の全内容とユーティリティ・バッファに記憶された部分的ロング同期トレインとの連続的相関を実行するために１６にセットされる。この演算の複素数出力は、１０個の値を含み、それらは工程２）の出力を上書きしないように、バッファ６中のアドレス１１から始まる場所に配置される。出力の１０個のｌｓｂが破棄される。
【０１４０】
プロセッサ１２０は、ショート同期相関に対して非コヒーレントな計算（Ｉ＾２＋Ｑ＾２）を行う。バッファ６の先頭にあって、一連のショート同期相関に対応する１０個の値がユニットＣへの入力となる。ユニットＣは、非コヒーレントな計算を実行するように構成されており、７個のｌｓｂを破棄したあとで、バッファ７の先頭にこの値を出力する。
【０１４１】
プロセッサ１２０は、部分的ロング同期相関に対して非コヒーレントな計算（Ｉ＾２＋Ｑ＾２）を行う。バッファ６中の場所１１から始まり、一連のショート同期相関に対応する１０個の値がユニットＣへの入力となる。ユニットＣは、非コヒーレントな計算を実行するように構成されており、７個のｌｓｂを破棄したあとで、バッファ１０の先頭にこの値を出力する。
【０１４２】
プロセッサ１２０は、部分的ロング同期相関がショート同期相関を超える場所を見出す。ユニットＣの減算モード用に、バッファ７と１０のちょうど先頭が選ばれる。ショート同期相関の１０個の値が、部分的ロング同期相関の１０個の値から差し引かれる。ユニットＣの閾値回路がイネーブルされて、実際の閾値が０にセットされる。これは、部分的ロング同期相関のサンプルがショート同期相関のそれを超えるサンプルの場所にフラグを立てる働きを持つ。これの発生を示すインデックスは、閾値回路によってレジスタ中に配置される。
【０１４３】
プロセッサ１２０は、インデックスに１６を乗ずる。ユニットＣは、工程６）で返されたインデックスを選択し、ユーティリティ・バッファを用いてこれに１６を乗じ、バッファ７の先頭場所に記憶するために使用される。これは、ロング同期シンボル・タイミングに対応するアドレスを形成する計算における最初の工程である。ここで、ユーティリティ・バッファは、より小さい値に関する入力インデックスに対応する値を含む（すなわち、アドレス１は値１を含み、アドレス２は値２を含む等々）ため、複雑な多重アドレッシング・モードを導入する必要はない（間接的計算のみをサポートするだけでよい）。
【０１４４】
プロセッサ１２０は、前の結果に９を加える。ユニットＣは、前の結果によって生成されたバッファ７中の値を選択し、ユーティリティ・バッファを用いてその結果に９を加え、バッファ６中に配置するために使用される。プロセッサ１２０は、この値をサブ・シンボル・タイミングに加えて、ロング同期シンボル・タイミングを計算する。現在、バッファ７のメモリ場所１０００に記憶されているショート同期タイミングは、工程８）で計算され、バッファ６の先頭に位置する値に加えられる。この量は、ここで、バッファ１０の場所１０００に記憶される。これは、注目しているロング同期波形の先頭に対応する。
【０１４５】
プロセッサ１２０は、ロング同期全体が利用できるかどうかを判断する。もし９の結果が９６よりも大きければ、ロング同期全体は現時点で利用できず、プロセッサ１２０の分岐機能を用いて状態４に移行する。もし結果が９６よりも小さければ、次の反復を待たずに状態５に移行することによってロング同期処理を継続する。
【０１４６】
状態４では、プロセッサ１２０は第１のロング同期が利用できるようになるまで待機する。続く反復までロング同期シンボルは利用できないため、状態５の第１のロング同期シンボルを正しくアドレッシングできるように、４マイクロ秒のサンプル（このときの８０の値）を、状態３で計算したロング同期シンボル・タイミングから差し引く必要がある。
【０１４７】
プロセッサ１２０の命令マッピングは、シンボル・タイミングから８０を差し引く。ユニットＣが使用される。バッファ１０の元の推定が入力として用いられ、ユーティリティ・バッファが８０のアドレス（それは８０の値を有する）で選択され、減算が実行され、そして結果はバッファ７のアドレス１０００に配置される。
【０１４８】
プロセッサ１２０は、バッファ１０の元の場所に書き戻す。バッファ７からバッファ１０へのトランスファーのためにユニットＣが使用される。状態５では、第１のロング同期シンボルがバッファリングされる。この工程は、将来の使用に備えて、第１のロング同期シンボルを記憶すべき場所である。シンボル・タイミングが既知であるため、正しい６４サンプルを捕捉できる。プロセッサ１２０に関する命令マッピングは、入力アドレス発生器をセットアップする。デジェネレート・モードはユニットＣを使用して、バッファ１０の内容（ロング同期シンボル・タイミング）を入力アドレス発生器の初期値レジスタに配置する。
【０１４９】
プロセッサ１２０は、第１のロング同期シンボルを捕らえて、バッファ６に入れる。サンプル・バッファから６４クロックについてそれの入力を捕らえ、それをバッファ６に直接的に出力するためにユニットＣが使用される。
【０１５０】
プロセッサ１２０は、次回の反復における第２のロング同期用にアドレス発生器をセットアップする。第２のロング同期の先頭は、第１の先頭から６４アドレスだけ離れている。従って、アドレス発生器は、１６を差し引く（８０−６４）演算を行うように構成され、それによって状態６で正しいロング同期のアクセスが行われる。更に、この結果は、将来、状態８で使用するために記憶される。
【０１５１】
状態６では、ロング同期処理が実行される。両方のロング同期シンボルが処理のために利用できるようになっている。ロング同期シンボル間で相互相関が実行される。この量の複素数位相は、送信器に相対的な受信器の周波数オフセットによるものであり、数値的に制御される回転子（ＮＣＯ）機能の特性を設定するために使用される。この回転子は、次に、周波数オフセットを修正するために、両方のロング同期シンボルに供給される。この時点で、ロング同期シンボルの加算が行われて３ｄＢのＳＮＲ増大が得られ、そして最終的にＦＦＴが実行されて、サブ・キャリアの関数としてチャネルの推定が得られる。
【０１５２】
プロセッサ１２０に関する命令マッピングには、バッファ６と入力バッファとの内積の形成が含まれる。機能的には、この工程は、ロング・コード・シンボル第１（バッファ６に見出だされる）の時間ドメイン・サンプルを取って、ロング・コード・シンボル第２（入力バッファに見出だされる）の時間ドメイン・サンプルとの相関を求める。相関を求めるというのは、バッファ６についてサンプルごとに入力バッファの複素共役との乗算を行い、その後で累積することを意味する。累積は、各々の乗算のあとで行うため、工程全体では６４クロックが必要である。累積によって、１つの複素数相関値だけがバッファ１０ｃに出力される。最終的な出力は、ここで９ビットだけ右方へシフトされる。
【０１５３】
プロセッサ１２０は、逆ルックアップ・テーブルにアドレスを配置する。バッファ１０で見出だされる、工程２の実数出力絶対値の逆数を見つけることが望ましい。この目的のために、逆ＬＵＴが用いられる。この工程では、そのＬＵＴへの適正なアドレスが形成される。最終アドレスを計算するために、ＬＵＴの開始のためのオフセット・アドレスとともに、ＬＵＴ内部のアドレスも両方が必要である。最初のものは、オフセット・アドレス（ここでは、１００１）を含むユーティリティ・バッファの位置１０１から得られる。第２のものは、工程２で書き込まれたサンプルの実数絶対値から得られる。実数の絶対値を求めるために、ユニットＣの入力フォーマットを設定する必要がある。２つのものを加算して、その結果を用いて、次の工程で入力アドレス発生器を初期化する。
【０１５４】
プロセッサ１２０は、ルックアップ・テーブルから逆数を得る。ここで、逆ＬＵＴへのアドレスがアクセスされ（工程３からの初期化コマンドを介して）、そのアドレスにおける値がバッファ６に書き込まれる。ユーティリティ・バッファはＬＵＴを含むため、入力バッファとして使用される。
【０１５５】
プロセッサ１２０は、商（角度のタンジェント）を見出すために先の演算を利用する。この工程では、バッファ１０の虚数部（工程２で書き込まれた）と実数部との商を求める。それは、バッファ６中の逆数を入力バッファとして用い、またバッファ１０の虚数部絶対値を合成バッファとして用いる。ユニットＣの合成バッファのフォーマットは、虚数部の絶対値に設定しなければならない。ユニットＣは、入力及び合成バッファ間の乗算に設定され、出力は右方へ７だけシフトしてバッファ７に書き込まれる。
【０１５６】
プロセッサ１２０は、アークタンジェント・ルックアップ・テーブルへのアドレスを生成する。この工程は、工程３とほとんど正確に同じである。ここで、バッファ７に見出された工程４の出力は、入力バッファとして用いられ、またアークタンジェントＬＵＴオフセットはユーティリティ・バッファの位置１０２に見出される。
【０１５７】
プロセッサ１２０は、ＬＵＴから角度を決定し、調節分を加えて正しい象限を得る。アークタンジェントＬＵＴへのアドレスがアクセスされて（工程６からの初期化コマンドを介して）、そのアドレスにおける値を用いてバッファ６へ書き込みが行われる。“用いる”というのは、正しい象限を得るために適切な調節分を加えなければならないことを含んでいる。現在、このプロセスはＵＥ  Ｍａｔｌａｂコードにはモデル化されていないので、今のところは以下に機能的な説明を行う。正しい調節を得るときは、工程２で書き込まれた（バッファ１０）サンプルの複素数値を用いる必要がある。その複素数サンプルの実数部と虚数部の両方の値が正であれば、ＬＵＴ値は“そのまま”で使用することができる。もし実数部が正で、虚数部が負であれば、ＬＵＴの否定を出力すべきである。もし実部も虚部も両方とも負であれば、ＬＵＴ値から１８０度を差し引く必要がある。最後に、もし実数部の値が負で、虚数部の値が正であれば、ＬＵＴ値を１８０度から差し引く必要がある。ここで、バッファ１０に書き込まれるが、バッファ１０は調節分の決定にも必要であるため、バッファ方式を変更してもよい。
【０１５８】
バッファ１０への書き込みが行われることに加えて、ユニットＣの合成バッファ・ストライドも出力バッファ値に初期化される。これは、次の工程でのストライドをセットアップする。
【０１５９】
プロセッサ１２０は、第１のロング同期シンボルに対して回転子演算を実行する。この工程全体として、バッファ６からの最初の６４個の複素数サンプルを、ユーティリティ・バッファ内で見出される回転子ＬＵＴの選ばれた内容だけ回転させる。従って、バッファ６は入力バッファとして選ばれ、またユーティリティ・バッファは合成バッファとして選ばれる。最終的には、バッファ６からの６４サンプルはすべて、別々にバッファ１０中へ回転されるべきであるため、この工程全体では累積なしの長さ６４のベクトル演算である。
【０１６０】
回転子テーブルは、ユーティリティ・バッファのアドレス４００１から始まるため、合成バッファのオフセットは４００１に設定される。ここで、６４クロック動作の各々における回転処理について説明する。まず、ベースライン合成アドレスが合成バッファの初期値に“初期化”されるが、それはここではゼロである。（これは回転すべき最初のシンボルであるため、初期の回転値を回転子テーブルの先頭に設定することは妥当である。）２番目に、合成バッファ中への正確なアドレスを得るために、ベースライン合成アドレスが用いられる。より正確には、それは６４で除され、ｆｌｏｏｒ処理され、合成バッファ・オフセットに加えられて、最終的な合成バッファ・アドレスが得られる。
【０１６１】
このアドレスにおける合成バッファの値は、次に、現在の入力バッファのサンプルに対する現在の回転操作のために使用される。ここで、合成バッファ・サンプルの複素共役値は、ユニットＣの乗算演算を通して、入力バッファ・サンプルを乗ぜられる。出力はバッファ１０中の第１のアドレスに書き込まれる。
【０１６２】
次の回転反復で、工程６で初期化された合成ストライドの値だけベースライン合成アドレスが増分される。それは、次に、上で述べたのと同じように、次の最終の合成バッファ・アドレスを得るために使用される。ここでも、入力バッファのアドレスを１だけ増分するとともに、合成バッファ・サンプルと入力サンプル・バッファとの間で乗算が行われる。出力は、バッファ１０の次のアドレスに書き込まれ、このプロセスは合計で６４回繰り返される。
【０１６３】
プロセッサ１２０は、回転ポインタをセットし、将来の状態での使用に備えて記憶する。バッファ１０［１００３］は入力シンボル・サンプル当たりのＡＦＣドリフトを推定するので、この値の６４倍は１番目のロング・コード・シンボルと２番目のロング・コード・シンボルとの間のドリフトを表すことになろう。従って、６４＊バッファ［１００３］の値を、２番目のロング・コード・シンボルを逆回転するために使用することが望ましい。更に、この結果の値は、状態７で回転子ポインタを再び更新するために、バッファ中に記憶する必要がある。
【０１６４】
バッファ１０は入力バッファとして用いられ、入力バッファのアドレスはここでは１００３にセットされる。合成バッファはユーティリティ・バッファにセットされ、便利なことにその内容が６４にセットされるためそれの６４番目のアドレスが使用される。ユニットＣは、入力及び合成バッファを乗算するようにセットされ、出力はバッファ７のアドレス位置１００３に書き込まれる。更に、ユニットＣ中のユニット合成アドレス発生器は、第２のロング同期シンボルを逆回転する次の工程のためにこの出力に初期化される。
【０１６５】
プロセッサ１２０は、データ・シンボルの回転のために入力アドレス発生器をセットアップする。次の工程で２番目のロング同期シンボルを回転するために、バッファ６［１００７］に含まれる値を用いて入力アドレス発生器をセットアップする。この値は、時間ドメイン・データを含む入力バッファ用の適切な開始アドレスである。
【０１６６】
プロセッサ１２０は、第２のロング同期シンボルに対して回転を実行する。この工程は、ほとんど正確に工程７と同じように進行する。ここで、ベースライン合成バッファ・アドレスは工程８で初期化され、入力バッファ・アドレスは最後の工程で初期化される。また、出力はバッファ６に書き込まれる。
【０１６７】
プロセッサ１２０は、２つのロング同期シンボルを一緒に加える。逆回転したロング同期シンボルを加算する操作はここで完了する。入力バッファはバッファ６（１番目のロング同期を含む）にセットされ、他方、合成バッファはバッファ１０（２番目のロング同期を含む）にセットされる。ユニットＣは加算にセットされるが、それは２つのバッファの１から６４までのアドレスを使用して逐次的に発生する。１の右方シフトのあとで、出力はバッファ８のアドレス１から６４まで逐次的に書き込まれる。このことが実行されるためには、ユニットＣは６４のベクトル演算長を有する必要があり、それの出力レートは１にセットされて、６４クロックすべてにおいて出力が書き込まれるようにしなければならない。
【０１６８】
プロセッサ１２０は、ＦＦＴステージを実行する。３つのＦＦＴステージの各々は、読み込み及び書き出しバッファを除いて、ユニットＢによって同じように処理される。１番目のステージで、バッファ８は読み出され、バッファ９は書き込まれる。２番目のステージでは、バッファ９が読み出され、バッファ８が書き込まれる。３番目のステージは１番目の繰り返しである。
【０１６９】
ＦＦＴを理解するための２つの重要な因子がある。１）入力、出力、及びひずみ因子生成のためのアドレス発生、及び２）ｒａｄｉｘバタフライ演算の２つである。最初に、アドレス生成において、各ステージは、完了するまでに１６個のクロックまたは反復を必要とする。ＵＮＩＴ＿ＩＮＰＵＴカウンタに基づくアドレス生成は、反復の関数である。更に、ひずみ因子もまた反復の関数であるため、それらはＴＷＩＤＤＬＥ  ＦＡＣＴＯＲ  ＲＯＭの別々のセグメントから得られる。一般に、ＵＮＩＴ＿ＩＮＰＵＴカウンタに基づいて、クロックごとに生成されるアドレスは８個ある（ただし、入力アドレスと出力アドレスは通常は同じである）。４ポート入力ＲＡＭ及び４ポート出力ＲＡＭ（これはバッファ８またはバッファ９のいずれかである）に対してそれぞれ４つのアドレスが必要となる。
【０１７０】
各反復において、ｒａｄｉｘバタフライ演算には４サンプルが入力される。回路は次の演算を実行する（ｘはバタフライへの入力で、ｙは出力とする）。
【０１７１】
ｙ１＝ｘ１＋ｘ２＋ｘ３＋ｘ４
ｙ２=ｘ１−ｊ＊ｘ２−ｘ３＋ｊ＊ｘ４
ｙ３＝ｘ１−ｘ２＋ｘ３−ｘ４
ｙ４=ｘ１＋ｊ＊ｘ２−ｘ３−ｊ＊ｘ４
【０１７２】
ｊによる乗算は複素量の実部と虚部を単に入れ替えるだけの操作であるため、この演算が乗算を要しないことには注目すべきである。
【０１７３】
次の工程は、ｙ値の各々に対して適切なひずみ因子を乗ずることである（各クロックでＴＷＩＤＤＬＥ＿ＦＡＣＴＯＲ＿ＲＯＭから４つのひずみ因子が得られることに注意）。
【０１７４】
出力１＝ｙ１＊ｗ１
出力２＝ｙ２＊ｗ３
出力３＝ｙ３＊ｗ３
出力４＝ｙ４＊ｗ４
【０１７５】
第２のＦＦＴステージは、読み出し及び書き込みバッファを除いて、第１のＦＦＴステージとほとんど同じである。第３のＦＦＴ状態は、ステージ１２と同じである。プロセッサ１２０は、ＦＦＴ出力とロング・コード周波数ドメイン・シーケンスとの相関を取る。ここで、バッファ９に含まれるＦＦＴ出力は、ユーティリティ・バッファに含まれるロング・コード周波数ドメイン・シーケンスが乗ぜられる。バッファ９は入力バッファとしてセットされ、また合成バッファはユーティリティ・バッファにセットされる。最初の６キャリアはゼロであるため、初期入力アドレスは７にセットされる。ここでは、合成バッファのアドレス５０１が初期アドレスとして使用される。これは、これが非ゼロのロング・コード・シーケンスへのアドレス・オフセットとなるからである。最後の５個のサブ・キャリアもゼロであるため、乗算は５３個の引き続くクロックで発生し、累積は行わない。各乗算のあとで、結果がバッファ７中の場所７から始まる連続したアドレス場所に書き込まれる。
【０１７６】
状態７ではヘッダ処理が実行される。例示的実施の形態では、この状態は演算を単にセットアップするだけである。ヘッダの復調はまだ行われない。ヘッダ・シンボルの長さが８０であることから、回転子ポインタは８０ストライドだけ増分される。ポインタは状態８中をこの量だけ移動するため、この量は将来の更新に備えて記憶される。
【０１７７】
プロセッサ１２０の命令マッピングには、回転子ポインタがこの状態から移動する量を決定することが含まれる。すべてのシンボルは８０個の時間ドメイン・サンプルを含む。従って、周波数ドリフトを正しく説明するためには、回転子ポインタは、バッファ１０中の値［１００３］によって与えられる単一サンプルの周波数オフセット推定値の８０倍の移動でなければならない。
【０１７８】
バッファ１０が入力バッファとして使用され、また入力バッファ・アドレスは、ここでは１００３にセットされる。合成バッファはユーティリティ・バッファにセットされ、その内容が便利なことに８０にセットされるのでそれの８０番目のアドレスが使用される。ユニットＣは、入力及び合成バッファの乗算を行うようにセットされ、また出力はバッファ６のアドレス位置１００５に書き込まれる。
【０１７９】
プロセッサ１２０は回転子ポインタを更新する。最後の工程の結果が現在の回転子ポインタの値から加算されて、新しい回転子ポインタの値が得られる。バッファ７は、初期アドレスが１００３の入力バッファとしてセットされ、またバッファ６は、初期アドレスが１００５の合成バッファにセットされる。ユニットＣは、３６４＊６４のラッピングを許可された加算にセットされる。これは、和の値の３６４＊６４のモジュロを取ることを意味する。結果の値はバッファ１０の場所１００４に書き込まれる。
【０１８０】
状態８ではデータ復調が実行される。この状態は、シンボル処理ユニットで使用される周波数ドメイン・シンボルをバッファリングする。更に、この状態は、これもシンボル処理ユニットで使用されるチャネル推定をバッファリングするため、タイミング・ドリフトや周波数オフセットのような効果を説明することができる。これは、フレーム全体が復調に備えて準備ができるまで、シンボルに対してシンボル・ベースでそのように作用する。従って、この状態はＮｓｙｍ回実行される。ここでＮｓｙｍはペイロード中のシンボル数に等しい。
【０１８１】
復調のための単一ＯＦＤＭシンボルを用意するために、いくつかのことが状態８で行われる。最初に、受信された時間ドメイン・シンボルは、第２のロング・コード・シンボル（状態５の工程３を参照）と同じ先頭アドレスを用いて、入力バッファから正しくアクセスされる。これらのシンボルは、次に、２番目のロング・コードと同じように、更新された回転子ポインタを用いて回転させられる。（各々のシンボルごとに回転子ポインタは８０回転ストライドだけ増分されなければならない）回転のあと、サブ・キャリアの値を得るために、３ステージのＦＦＴ演算が実行される。それらのデータ値は復調のために別のバッファに記憶される。更に、以下で述べるように、それらは、これも復調のために使用されるチャネル推定値を更新するために使用される。
【０１８２】
ＦＦＴのあとで、状態８はこのときに、残留周波数オフセット及びタイミング・オフセットを修正しなければならない。それは、それらの２つの効果を推定するための出発点として、ロング・コード周波数ドメイン・サブ・キャリアを使用する。第１のシンボルにおいて、それのパイロット・サブ・キャリアとロング・コード・パイロット・サブ・キャリアとの間の角度が計算される。それらの角度の平均は残留周波数オフセットを決定し、他方、第１と第４との間の差分はタイミング・ドリフトを与える。周波数オフセット修正は、すべてのサブ・キャリアにわたって比較的一定しているが、タイミング・ドリフトは、サブ・キャリアごとに線形位相を含む。これら２つの推定値は、後に両効果を補償するような正しいやり方でロング・コード・サブ・キャリアを回転するために使用される。前者及び、後者から決まる誘導された初期の線形位相が、回転子アドレスを計算するために使用される。後者は、回転のストライドを計算するために使用される。ここで、回転されたデータは２つの用途で使用される。第１には、データ・サブ・キャリア値が復調のために別のバッファに記憶される。第２に、この回転されたデータは、次のシンボル反復でロング・コードのサブ・キャリアの仕事を置換して、新しいベースライン・チャネル推定値となる。
【０１８３】
プロセッサ１２０の命令マッピングは、データ・シンボルの回転で使用するストライドの設定を含む。単一サンプル周波数ドリフト量はバッファ１０［１００３］に記憶される。これは回転子がシンボル・サンプルごとに移動すべき量である。この値は、ユニットＣのデジェネレート・モードを介して出力バッファに読み込まれる。合成バッファのストライドは、出力バッファ値に初期化される。この工程は、工程５でのストライドを設定する。
【０１８４】
プロセッサ１２０は回転子ポインタをそれが正しく更新できるように記憶する。回転子ポインタは、シンボルごとにバッファ６［１００５］中の値だけ増分しなければならない（状態７の工程１を参照）。従って、それを更新する前に、現在の回転子ポインタ値を記憶する必要がある。バッファ１０は入力バッファにセットされ、そのアドレスは１００４にセットされる。合成バッファは存在しない。合成がないので、ユニットＣはデジェネレート・モードにセットされ、出力はバッファ７のアドレス１００３に書き込まれる。
【０１８５】
プロセッサ１２０は回転子ポインタを更新し、それの値を回転のためにコンバイナ・バッファのアドレスにセットする。回転子ポインタは、ここで、シンボルごとの回転調節を含むバッファ６中の値［１００５］だけ増分される。このように、バッファ６［１００５］がバッファ７［１００３］に加算され、モジュロ３６０＊６４を取ったあとで、バッファ１０［１００４］に書き込まれる。更に、この和は合成バッファの初期値を工程５の回転用にセットアップする。
【０１８６】
プロセッサ１２０は、入力アドレス発生器を工程６のデータ・シンボルの回転用にセットアップする。バッファ６［１００７］に含まれる値を用いて、入力アドレス発生器を工程６でのデータ・シンボルの回転用にセットアップする。この値は、時間ドメイン・データを含む入力バッファ用の適切な開始アドレスである。
【０１８７】
プロセッサ１２０はデータ・シンボルに対して回転を実行する。この工程は状態６に非常に似たように進行する。入力バッファは、ここで、初期アドレスが初期化されたばかりのサンプル・バッファで使用される。ここでベースライン合成バッファのアドレスが初期化される。出力はバッファ８に書き込まれる。
【０１８８】
プロセッサ１２０は第１のＦＦＴステージを実行する。これは、状態６で述べたのと正確に同じように進行する。第２のＦＦＴ状態が状態６と同じように実行されるが、読み出し及び書き込みバッファは異なる。第３のＦＦＴステージは、現在のチャネル推定値とパイロット・シンボルとの相関を取る。機能的には、この工程は、状態８での前のシンボル反復で書き込まれたチャネル推定パイロット・サブ・キャリア・サンプル（バッファ７）と、現在のシンボルのパイロット・サブ・キャリアの複素共役との乗算を行う。このように、４個のパイロット・サブ・キャリアに対応して４回の乗算演算が行われる。更に、累積は行われず、４個の書き込み操作が行われることに注目されたい。読み出しアドレスは、第１のパイロット・サブ・キャリアの場所に対応して１２に初期化される。両方の読み出しストライドは、パイロットの各々のサブ・キャリア分離に対応して１４にセットされる。しかし、書き込みはバッファ１０に逐次的に行われる。
【０１８９】
プロセッサ１２０は、逆ルックアップ・テーブル（ＬＵＴ）へのアドレスを形成する。この工程は、工程９の実数出力の絶対値の逆数を見出すことが望まれる状態６の工程２と類似している。この工程は合計で４回行われる（工程１２を参照）。そのたびに、バッファ１０からの異なった読み出しアドレスが使用される。最初はアドレス１が使用され、それに続いて読み出しアドレスは１ずつ増分される。
【０１９０】
プロセッサ１２０は、ＬＵＴから逆数値を得る。この工程は、逆ＬＵＴへのアドレスがアクセスされる状態６の工程３に類似している。この工程は合計で４回実行される（工程１２を参照）。そのたびに、異なる書き込みアドレスがバッファ６に対して使用される。最初はアドレス１０００が使用され、それに続いて書き込みアドレスが１ずつ増分される。
【０１９１】
プロセッサ１２０は、逆ＬＵＴへのアドレスを形成し、ＬＵＴから逆数値を更に３回得る。これらの値は商（すなわち、角度のタンジェント）を見出すために使用される。この工程は、バッファ６の虚数部とそれの実数部との間の商を決定する状態６と類似している。違う点は、この工程では１ではなくて４つの商を決定しなければならないということである。すなわち、ベクトル演算回数は４であり、乗算のたびに書き込みが行われる。出力は、位置１００１から始まるバッファ７中に逐次的に書き込まれる。
【０１９２】
プロセッサ１２０は、アークタンジェント・ルックアップ・テーブル（ＬＵＴ）へのアドレスを形成する。この工程は状態６に類似しており、合計で４回実行される。入力バッファの読み出しアドレスは、この工程がそれまでに何回実行されたかに依存する。もしゼロであれば、それはバッファ７の位置１００１から読み出しを行う。これに続く時点ごとに、読み出しアドレス位置は１ずつ増分される。
【０１９３】
プロセッサ１２０はＬＵＴから角度を決定し、正しい象限を得るために調節を加える。この工程は、状態６に類似しており、合計で４回実行される。書き込みアドレスは、この工程がそれまでに何回実行されているかに依存する。もしゼロであれば、バッファ１０の位置１０００に書き込まれる。それに続く時点ごとに、書き込みアドレスは１ずつ増分される。
【０１９４】
プロセッサ１２０はアークタンジェントＬＵＴへのアドレスを形成し、ＬＵＴから角度を決定し、正しい象限を得るために３回、調節分を加算する。これらの角度を用いて、タイミングのドリフト修正因子が決まる。機能的に、この工程は最初に出力される角度と、工程１５が４回実行されたときに出力される角度との間の差を決定する。この差分には、次に、１／４２に非常に近い定数が乗ぜられる。
【０１９５】
入力バッファは、４つの角度を含むバッファ１０にセットされる。１番目と４番目のアドレスだけを必要とするので、ストライドは３にセットされる。合成バッファはユーティリティ・バッファにセットされ、ここで場所６０１＆６０２が使用される。従って、初期の合成アドレスは６０１にセットされ、ストライドは２である。これらのＬＵＴアドレスにある値は、それぞれ、およそ８＊２＾７＊１／４２と−８＊２＾７＊１／４２である。ＬＵＴには“８”が存在するので、出力は３個の端数ビットを含む。それらの分数ビットは復調器の性能を向上させる。
【０１９６】
ユニットＣは２のベクトル演算に関して乗算及び累積を許可される。出力は右方へ７だけシフトされる。この右シフトはＬＵＴ中に存在する２＾７の因子を消去する。
【０１９７】
アークタンジェントＬＵＴから決まる角度を用いて、残留周波数オフセット修正因子が決定される。機能的には、この工程は、４つの出力の平均を決定する。従って、バッファ１０からの角度要素の各々は、１を乗算してそのあとで加えあわす必要がある。
【０１９８】
入力バッファは、４つの角度を含むバッファ１０にセットされる。合成バッファはユーティリティ・バッファにセットされる。便利なことに、アドレス１は、４つの角度すべての乗算に使用される値１を含む。このように、合成初期アドレスは１にセットされ、ストライドはゼロにセットされる。ユニットＣは４つの演算に関して乗算及び累積にセットされる。出力はバッファ７のアドレス１００７に書き込まれる。
【０１９９】
プロセッサ１２０は、タイミング修正因子に２６を乗算する。タイミング修正因子は各サブ・キャリアに対して均等には適用されない。その代わりに、タイミング修正因子は、最終的にはサブ・キャリア数を乗じて、この特別なサブ・キャリア用のタイミング修正を得る必要がある。例えば、サブ・キャリア−２６において、タイミング修正は−２６を乗ずる必要がある。このことから、工程２１でセットされる回転ストライドはタイミング修正因子となる。
【０２００】
初期の回転子ポインタは初期の回転子に対するタイミング・ドリフトの効果を決定するために決められる。第１のデータ・シンボルは、サブ・キャリア−２６で発生するので、タイミング修正因子は前記数を乗ぜられる。
【０２０１】
ユーティリティ・バッファは同じアドレス番号に値２６を含むため、これが合成バッファとして使用される。ユニットＣは乗算にセットされ、出力はバッファ６のアドレス１０００に書き込まれる。適切なオフセットを生成するためには否定が必要となるが、加算の代わりに減算が用いられる工程１９までこのことは行われない。
【０２０２】
プロセッサ１２０は、周波数オフセット修正因子からタイミング修正因子の乗算出力を差し引いて、回転子ポインタのアドレスを決定する。初期回転子ポインタ設定の第２の問題は周波数オフセットである。周波数オフセットはすべてのサブ・キャリアにわたって一定であるため、それはタイミング修正因子の乗算の出力の否定に加算される。この結果は、次に、８で除される。この８による除算は単に３だけ右方へシフトするのとは異なる。というのはＬＳＢが破棄されないからである。この特別な機能は、ＵＥ命令に従う付加的なＭＡＴＬＡＢコードによって明らかなように、ＵＥ内部にまだ正確にはモデル化されていない。
【０２０３】
プロセッサ１２０は、実行すべき回転用のストライドをセットする。合成バッファのストライドは、ここで、バッファ７のアドレス１０００の値を８で除したものにセットされる。この８による除算は単に３だけ右方へシフトするのとは異なる。というのはＬＳＢが破棄されないからである。
【０２０４】
プロセッサ１２０はデータを回転して、タイミング・ドリフト及び残留周波数オフセットを消去する。この工程は、状態６と同様に進行する。しかし、ここでは、６４による除算は行わない。更に、５３個のサブ・キャリアだけに興味があるので、６４の代わりに５３のベクトル演算が実行される。これは、また、最初の６個のサブ・キャリアは内容を持たないため、最初の入力読み込み及び出力書き出しのアドレスは７であることを意味する。ここで、ベースライン合成バッファ・アドレスは工程２０から初期化され、回転用のストライドは前の工程で初期化される。更にこの工程の出力バッファには何らかの分岐が含まれている。出力バッファは、偶数反復に対してバッファ１０であり、奇数反復に対してはバッファ７である。
【０２０５】
図３５は、８０２．１１ａ／ｂ／ｇマルチモード・プログラムに関する例示的状態図を示す。状態１では、ＯＦＤＭ捕捉に関する１６の可能な時点についてショート同期整合フィルタリングが実行される。更に、マルチモード捕捉を許可するために、バーカー（Ｂａｒｋｅｒ）同期捕捉を実行することができる。
【０２０６】
状態１の命令は、閾値と比べて、最大ショート同期整合フィルタ・エネルギーが最高値に達する。もしショート同期閾値を超えれば、図３４の状態２−８に述べたのと全く同じようにＯＦＤＭ復調が行われる。図３５では、これらの状態は、８０２．１１ａに限定された状態を意味するように状態２ａ−８ａと名称変更されている。
【０２０７】
もしショート同期閾値を超えなければ、バーカー同期捕捉を実行するための命令が実行される。ここで、また、後続の任意の８０２．１１ｂ状態では、ユニットＡを介してチャネル・フィルタリング及び補間が実行される。補間は、ロード・インされた正確なタップが時間追跡命令によって決まるＣ×８タイミングに依存する多相フィルタを使用する。タイミングは知られていないため、時間ドリフトのない場合に対応するタップ値がロード・インされる。チャネル・フィルタリング及び補間の出力は、Ｃ×２のサンプルを与える。ＯＦＤＭでのように、ユニットＡを用いて、サンプルに対して実行される整合フィルタリングが実行される。バーカー長が１１チップであるため、ユニットＡは２２の仮説を構築するためには３組の別々の命令セットを必要とする。
【０２０８】
バーカー同期捕捉プロセスの残りは、ＯＦＤＭ捕捉命令に類似している。２２の整合フィルタの出力の位相は、ユニットＣの非コヒーレントな動作を介して消去され、それらの値のうちで最大値が計算される。この最大値は、閾値と比較されて、バーカー同期シーケンスが送信されたかどうかが判断される。閾値を超えると、この状態を脱し、アドレス・ポインタは（ユニットＣ命令を介して）、それに続いてバーカー相関（向かい合った整合フィルタを介して）が時間通りに実行できるようにセットされる。
【０２０９】
状態２ｂでは、１１チップに対するバーカー相関が、ユーティリティ・バッファをバーカー・シーケンス用のソースとして用いたユニットＣの乗算及び累積コマンドを介して実行される。この命令の出力は、非コヒーレントなＤＢＰＳＫ（差動バイナリー位相シフト・キーイング）に命令セットをフィードする。出力の最新のセットには、最近の出力１セット分送れたものの複素共役を乗じて、ビット間の位相変化が得られる。これは、ユニットＣの乗算ベクトル演算を介して実行される。それらの出力の実数部の符号は、送信されたスクランブル化同期ビットを決定するために使用される。このビットは、デスクランブル及びＳＦＤ検出のためにＲＸシンボル・プロセッサに送信される。この符号は、また、後に周波数オフセットの大まかな修正のために使用される変調ワイピングのために使用される。もし符号が負であれば、複素数出力に−１を乗じて、シーケンシャルにバッファ中に書き込まれるし、そうでなければそのまま書き込まれる。この操作は、個別の分岐命令あるいは現時点のａｂｓ（ｒｅａｌ（−））回路に基づく付加的なユニットＣフォーマット操作を介して成し遂げられる。最終的にはこのバッファの内容は平均化しなければならない。
【０２１０】
状態２ｂは、ＲＸシンボル・プロセッサからのＳＦＤ（スタート・フレーム・デリミッタ）検出表示に応じて活性化される。状態３ｂでは、ＳＦＤ処理が実行される。ＳＦＤ検出表示を提供することに加えて、ＲＸシンボル・プロセッサは、また、ＳＦＤ検出の正確なタイミングも提供する。そのようなタイミング情報はヘッダ及びペイロード処理がいつ開始しまた終了するかを知るためにプロセッサによって用いられる。簡単なユニットＣによって実現される簡単なカウンタは、このタイミング情報を正しく扱うのに十分な命令をコピーし、加算し、そして比較する。
【０２１１】
状態３ｂは、大まかな周波数推定の処理を完了する。この処理の中では、最初にワイプされたデータの最終的な平均が決まる。この結果の角度が次に決定される。この角度は、バーカー相関器出力に対する大まかな周波数修正を実行するための回転子のストライドとして使用される。
【０２１２】
逆相関（ｄｅｃｏｒｒｅｌａｔｅ）を取られ逆回転された最後の数（例えば５）個のＳＦＤシンボルを用いて、後にコヒーレントなＤＢＰＳＫ復調に適用される位相追跡のための位相絶対値を決定する。これらのシンボルは、ＳＦＤ検出のタイミング、ルックアップ・テーブル（各シンボルの第１のものに対する相対的位相基準を含む）、及びベクトル乗算命令を用いてアン・ワイプ（ｕｎｗｉｐｅｄ）することができる。これらのシンボルの平均が取られ、後続の角度が、すべて先に述べたユニットＣ命令を通して計算される。この平均角度はヘッダ及びペイロードのコヒーレント復調のための初期位相基準として用いられる。
【０２１３】
状態４ｂでは、ヘッダ復調が実行される。バーカー逆拡散データはもう一度逆回転される。回転命令は、前の状態３ｂでのものと同じストライドを使用する。更に、オフセットもまた必要となる。これは、状態３ｂからの初期位相の否定に、前の回転子操作からの最後にオフセットを加えたものにセットされる。
【０２１４】
回転子の出力の実数部の符号は、次に、送信されたスクランブルされたヘッダ・シーケンスを決めるために用いられる。このシーケンスは、ＲＸシンボル・プロセッサに逆スクランブルのために送信される。更に、このシーケンスは、位相絶対値の推定を更新できるように変調ワイピングのために使用される。ワイプされたシーケンスの平均が取られ、角度が計算される。平均の代わりに、簡単なコピー及び加算命令を介して、１極のＩＩＲフィルタを採用することもできる。この角度は、既存の角度に加算され、−１８０°−１８０°（ルックアップ・テーブルを介して）にマッピングされて、更新された推定位相を与える。
【０２１５】
注目すべきことは、位相は連続的に更新されないということである。残留周波数オフセットは小さいので、位相は５−１０シンボルごとに更新すれば十分である。このことによって、プロセッサはクロック負担を減らし（例えば、逆回転を逆拡散データのベクトルに適用することができ、位相角度は数シンボルごとに計算すればよい）、また電力消費を減少させることができる。
【０２１６】
位相絶対値は、また、時間追跡のロックされた方法にも使用される。位相が１８０°から−１８０°までラップするたびに、ラップ・カウンタが増分され、また逆に、反対方向のラップはラップ・カウンタを減分させる。このことは、ユニットＣの分岐、コピー、加算、及び減算命令を介して実現できる。一旦、ラップ・カウンタが、より多くの分岐命令を通して実現された特定の値に到達すると、補間タップ値へフィードしているアドレス・ポインタは増分されるかあるいは減分される。位相調節のときと同じように、この命令セットは、各々の出力が逆相関処理され、ワイプされたあとで、毎回実行する必要はない。タイミング・ドリフトは低速であるため、それはＮ個のシンボルごとに実行することができ、クロック負担及び従って電力が低減される。
【０２１７】
状態５ｂでは、ペイロード復調が実行される。ＲＸ  ＭＡＣはプロセッサに対して、この時点で必要な復調のタイプと、パケット長に関する表示を送信する。もし復調タイプがＤＢＰＳＫであれば、この状態はほとんど状態４ａと同一であるが、復調されるシンボル数は異なる。もし変調タイプがＤＱＢＰＳＫであれば、変調ワイピングを拡張する必要がある。逆相関処理された出力の実数部の符号を使用しなければならないだけでなく、実数の符号が虚数の符号に等しいかどうかも問題である。もし符号が一致すれば、ＤＢＰＳＫワイピングと同じ論理が使用できる。もし符号が異なれば、実数と虚数の値を交換しなければならない。
【０２１８】
もし変調タイプがＣＣＫであれば、ユニットＤを使用しなければならない。好ましくは、ユニットＤは高速ウォルシュ（Ｗａｌｓｈ）変換及び最大値ピッカーを実現するために用いられる特殊な回路を有する。ユニットＤは一時に８チップを入力し、最大値ピッカーのインデックスと、インデックスに対応する複素数値の両方を出力する。前者は、ユニットＣ命令とＲＸシンボル・プロセッサ・ロジックの組み合わせを介して、復調されたＣＣＫビットを導き出すために使用することができる。最後のシンボルの処理が終了すると、プロセッサは状態１に戻る。
【０２１９】
図３６は、ＯＦＤＭのＴＸ処理のみについて例示的な状態を示す。状態０では、プロセッサはこの状態でのＴＸ処理は行わない。それは、この状態を脱する前に、ＭＡＣからの表示を待つ。状態１では、プロセッサはサンプル・バッファにショート・コードを５回書き込む。ショート・コードのシーケンスはユーティリティ・バッファに記憶されるため、この命令は、ユーティリティ・バッファ中でアドレス・ラッピングを許可することで、ユニットＣのコピー・コマンドを介して実現される。この状態は合計で２回実行されて、１０個のショート・コードすべてが書き込まれる。
【０２２０】
状態２では、ロング・コードの６４サンプルのシーケンスがこれもユーティリティ・バッファ中に記憶される。３２のロング・コード・ガード・インターバル・サンプルは、第１のロング・コードの最初の４８サンプルと一緒に、アドレス・ラッピングを伴うユニットＣのコピー・コマンドを用いてサンプル・バッファに書き込まれる。状態３では、第１のロング・コードの最後の１６サンプルは、２番目のロング・コード（これは、第１のロング・コードと等価である）の６４サンプルすべてと一緒に、ユーティリティ・バッファ中へのアドレス・ラッピングを伴ってユニットＣのコピー・コマンドを用いてサンプル・バッファに書き込まれる。
【０２２１】
状態４では、プロセッサは、スクランブルＬＵＴが位置するユーティリティ・バッファから読み出すことによって、パイロット・サブ・キャリア・アドレス中にパイロット・サブ・キャリア・サンプルを書き込む。２組の異なる操作が必要となり、１つはアドレス４３及び５７へのパイロット・サブ・キャリアの書き込みであり、他方はアドレス７及び２１への書き込みである。そのあと、スクランブル・アドレス・ポインタが増分される。
【０２２２】
次に、データ・サブ・キャリア・サンプルが、適切なシフト・アドレス・マッピングに従ってパイロット・サブ・キャリア値と同じサンプル・バッファに書き込まれる。これらのデータ・サンプルは、ＴＸシンボル・プロセッサによってサンプル・バッファに書き込まれた変調データ（例えば１６ＱＡＭ）である。データ及びパイロット・サブ・キャリアに対してＩＦＦＴ（逆高速フーリエ変換）が実行できる前に、ＤＣサブ・キャリア・アドレスとともに、範囲外にあるサブ・キャリア・アドレスにゼロが満たされる。データ及びゼロ充填は一連のベクトル化されたユニットＣのコピー命令を介して実現される。
【０２２３】
解析されたデータは、ユニットＢ命令を介して実現される３ステージのＩＦＦＴへの入力となる。ＩＦＦＴ出力の出力はサンプル・バッファに書き込まれ、それはアドレス・ラッピングが使用され、それの前置された（ｐｒｅｐｅｎｄｅｄ）ガード・インターバルを含んでいる。
【０２２４】
これまで述べた例示的実施の形態は８０２．１１に関連して説明してきたが、その他の通信プロトコル及び方法を利用することもできる。更に、システム・パラメータ及び設計基準は、本発明の範囲から逸脱することなくここに示した設計詳細に影響を与える。本発明は、特別な実施の形態に限定されることはなく、特許請求の範囲のスコープ及び精神に含まれる各種修正、組み合わせ、及び置換に拡張される。
【図面の簡単な説明】
【０２２５】
【図１】従来型スペクトル拡散復調器の模式図。
【図２】例示的な実施の形態に従うマルチパス処理システムの模式図。
【図３】従来型復調器と図２のシステムの復調器との動作を比較した模式図。
【図４】例示的な実施の形態に従う、最小バッファ動作の模式図。
【図５】別の例示的バッファ動作の模式図。
【図６】例示的な実施の形態に従う、蓄積最大比合成（Ａ−ＭＲＣ）処理動作の模式図。
【図７】例示的な実施の形態に従う、蓄積最大比合成（Ａ−ＭＲＣ）アルゴリズム処理ユニットの模式図。
【図８】図７の蓄積最大比合成（Ａ−ＭＲＣ）逆拡散器の模式図。
【図９】図６の蓄積最大比合成（Ａ−ＭＲＣ）アルゴリズムの詳細な模式図。
【図１０】図７の蓄積最大比合成（Ａ−ＭＲＣ）アルゴリズム処理ユニットの詳細な模式図。
【図１１】多入力（ＭＩ）用従来型フィンガーの模式図。
【図１２】従来型多出力（ＭＯ）受信器の模式図。
【図１３】例示的な実施の形態に従う、ＭＩＭＯを備えた蓄積最大比合成（Ａ−ＭＲＣ）用プロセッサの模式図。
【図１４】例示的なウインドウ方式の検索プロセスの第１フェーズの模式図。
【図１５】例示的なウインドウ方式の検索プロセスの第２フェーズの模式図。
【図１６】例示的な実施の形態に従う、ウインドウ方式の検索器実施の模式図。
【図１７】例示的実施の形態の周波数検索特性を従来の方式と比較した模式図。
【図１８】例示的な実施の形態に従う、収束型検索器動作の模式図。
【図１９】図１８の収束型検索器動作に含まれるコンバイナー・ソフト動作の模式図。
【図２０】例示的な実施の形態に従う、収束型検索器実施の模式図。
【図２１】図１８の収束型検索器実施の動作を示す状態図。
【図２２】例示的実施の形態に従う、通信システムの模式図。
【図２３】図２２の通信システムのプロセッサの模式図。
【図２４】図２２の通信システムのプロセッサの模式図。
【図２５】図２３の通信システムの制御状態機械の動作状態を示す状態図。
【図２６】例示的実施の形態に従う、バッファ動作の模式図。
【図２７】図２４のアドレス発生器の模式図。
【図２８】図２３のプロセッサのユニットＡの模式図。
【図２９】図２３のプロセッサの入力移相器の模式図。
【図３０】図２３のプロセッサの出力移相器の模式図。
【図３１】図２３のプロセッサのユニットＢの模式図。
【図３２】図２３のプロセッサのユニットＣの模式図。
【図３３】タイミング図の模式図。
【図３４】図２３のプロセッサの命令セットに関する動作状態を示す状態図。
【図３５】例示的実施の形態に従う、８０２．１１ａ／ｂ／ｇマルチモード・プログラムに関する状態機械図。
【図３６】例示的実施の形態に従う、ＯＦＤＭ送信のみ処理に関する状態図。
【図１】
2005532741.tif 000011
【図２】
2005532741.tif 000012
【図３】
2005532741.tif 000013
【図４】
2005532741.tif 000014
【図５】
2005532741.tif 000015
【図６】
2005532741.tif 000016
【図７】
2005532741.tif 000017
【図８】
2005532741.tif 000018
【図９】
2005532741.tif 000019
【図１０】
2005532741.tif 000020
【図１１】
2005532741.tif 000021
【図１２】
2005532741.tif 000022
【図１３】
2005532741.tif 000023
【図１４】
2005532741.tif 000024
【図１５】
2005532741.tif 000025
【図１６】
2005532741.tif 000026
【図１７】
2005532741.tif 000027
【図１８】
2005532741.tif 000028
【図１９】
2005532741.tif 000029
【図２０】
2005532741.tif 000030
【図２１】
2005532741.tif 000031
【図２２】
2005532741.tif 000032
【図２３】
2005532741.tif 000033
【図２４】
2005532741.tif 000034
【図２５】
2005532741.tif 000035
【図２６】
2005532741.tif 000036
【図２７】
2005532741.tif 000037
【図２８】
2005532741.tif 000038
【図２９】
2005532741.tif 000039
【図３０】
2005532741.tif 000040
【図３１】
2005532741.tif 000041
【図３２】
2005532741.tif 000042
【図３３】
2005532741.tif 000043
【図３４】
2005532741.tif 000044
【図３５】
2005532741.tif 000045
【図３６】
2005532741.tif 000046
【国際調査報告】
2005532741.tif 000047