(57)【要約】【解決手段】トゥイドル乗算をマルチステージで適用するサイクルカウント方法を実装するＦＦＴエンジン。マルチステージＦＦＴを実装するとき、中間値に様々なトゥイドル因子を乗算する必要がある。ＦＦＴエンジンは、最小限の数の乗算器を使用して効率的なパイプラインでトゥイドル乗算を実施する。ＦＦＴ基数と、メモリの各行内のいくつかの値とに基づいていくつかの複素数乗算器を最適化することにより、妥当な量のエリアを使用して最小限の数のサイクルでＦＦＴ関数を実施することが可能となる。値の戦略的順序付けおよびグループ化により、より少ないサイクル数でＦＦＴ演算を実施することが可能となる。【選択図】      図３
2008533873.tif 000002
【特許請求の範囲】
【請求項１】
高速フーリエ変換（ＦＦＴ）の基数に等しい各行に格納されたいくつかのサンプル値を有するサンプルメモリと、
転置メモリと、
前記サンプルメモリから値の行を受け取り、前記値に関するバタフライ演算を実施し、前記転置メモリの列に結果を書き込むように構成されたバタフライコアと、
前記転置メモリから所定の数の隣接する値を取り出し、前記値のそれぞれにトゥイドル因子を乗算するように構成された乗算器モジュールと
を備えるＦＦＴ処理機器。
【請求項２】
前記所定の数の隣接する値が、列方向に隣接する値である請求項１に記載の機器。
【請求項３】
前記所定の数の隣接する値が、行方向に隣接する値である請求項１に記載の機器。
【請求項４】
前記所定の数の隣接する値が、行方向に環状に隣接する値である請求項１に記載の機器。
【請求項５】
前記バタフライコアが、ｒａｄｉｘ−Ｒ  ＦＦＴを実施するように適合され、前記転置メモリがＲ×Ｒレジスタを備える請求項１に記載の機器。
【請求項６】
単一クロックサイクルで実施することのできるいくつかの複素数乗算に等しい同一の行内のいくつかのトゥイドル因子を格納するように構成されたトゥイドルメモリをさらに備える請求項１に記載の機器。
【請求項７】
前記乗算器モジュールが複数の複素数乗算器を備える請求項１に記載の機器。
【請求項８】
前記乗算器モジュールが、最大トゥイドル演算数と、バタフライ基数値の２倍に等しい最小クロックサイクル数とに基づくいくつかの複素数乗算器を備える請求項１に記載の機器。
【請求項９】
各行に８個の複素数サンプル値を格納するように適合されたサンプルメモリと、
８×８記憶位置として構成された転置メモリと、
値の行を取り出し、ｒａｄｉｘ−８バタフライを実施し、アウトプット値を列方向に前記転置メモリに書き込むように適合されたｒａｄｉｘ−８バタフライコアと、
各行に４個のトゥイドル値を格納するように適合されたトゥイドルメモリと、
４個の複素数乗算器を有する乗算器モジュールであって、前記トゥイドルメモリから行を取り出し、前記転置メモリから４個の隣接する値を取り出し、前記トゥイドルメモリ行からの値を使用して隣接する転置メモリ位置からの前記４個の値に対する複素数乗算を実施し、積を前記４個の隣接する転置メモリ位置に書き戻す乗算器モジュールと
を備える高速フーリエ変換（ＦＦＴ）処理機器。
【請求項１０】
前記隣接する転置メモリ位置が、列方向に隣接するメモリ位置を含む請求項９に記載の機器。
【請求項１１】
前記隣接する転置メモリ位置が、行方向に環状に隣接するメモリ位置を含む請求項９に記載の機器。
【請求項１２】
前記隣接する転置メモリ位置が、サイクルのサブセットに関する列方向メモリ位置と、サイクルの別個のサブセットに関する行方向に環状に隣接するメモリ位置とを含む請求項９に記載の機器。
【請求項１３】
高速フーリエ変換（ＦＦＴ）処理演算を実施する方法であって、
前記ＦＦＴの基数に等しいサンプルメモリの複数の行を読み取ること、
前記サンプルメモリの行内の値に関するバタフライを求め、前記バタフライ値を列方向に転置メモリに書き込むこと、
前記行に格納された複数のトゥイドル因子値を有するトゥイドル因子の行を取り出すこと、
単一サイクルで複数のバタフライ値に前記トゥイドル因子値を乗算して、トゥイドル後バタフライ値を生成すること、および
前記トゥイドル後バタフライ値を前記複数のバタフライ値のメモリ位置に書き戻すこと
を含む方法。
【請求項１４】
前記転置メモリ内の隣接するレジスタから前記複数のバタフライ値を取り出すことをさらに含む請求項１３に記載の方法。
【請求項１５】
前記隣接するレジスタが、列方向に隣接するレジスタを含む請求項１４に記載の方法。
【請求項１６】
前記隣接するレジスタが、環状に隣接する行方向レジスタを含む請求項１４に記載の方法。
【請求項１７】
トゥイドル因子の前記行を取り出すことが、最大ＦＦＴ次元に基づいて求められるいくつかの行を有するトゥイドルメモリから行を取り出すことを含む請求項１３に記載の方法。
【請求項１８】
前記複数のバタフライ値を乗算することが、前記バタフライ値と前記トゥイドル因子との複素数乗算を実施することを含む請求項１３に記載の方法。
【請求項１９】
ＦＦＴの基数に等しい各行に格納されたいくつかのサンプルを格納する手段と、
複数の値を転置する手段と、
前記サンプルメモリから値の行を受け取り、前記値に関するバタフライ演算を実施し、結果を前記転置メモリの列に書き込むように構成されたバタフライを計算する手段と、
前記転置メモリからの所定の数の隣接する値に、対応するトゥイドル因子を乗算する手段と
を備える高速フーリエ変換（ＦＦＴ）処理機器。
【請求項２０】
ＦＦＴの基数に等しいサンプルメモリの複数の行を読み取ること、
前記サンプルメモリの行内の値に関するバタフライを求め、前記バタフライ値を列方向に転置メモリに書き込むこと、
前記行内に格納された複数のトゥイドル因子値を有するトゥイドル因子の行を取り出すこと、
単一サイクルで複数のバタフライ値に前記トゥイドル因子値を乗算して、トゥイドル後バタフライ値を生成すること、および
前記トゥイドル後バタフライ値を前記複数のバタフライ値のメモリ位置に書き戻すこと
を含むステップを実施するためのコンピュータプログラムで符号化されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、無線通信および無線通信信号の処理の分野に関する。より詳細には、本開示は、直交周波数分割多重（ＯＦＤＭ）信号の高速フーリエ変換（ＦＦＴ）処理に関する。
【背景技術】
【０００２】
本願は、本明細書の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、２００５年３月１１日出願の「ＦＡＳＴ  ＦＯＵＲＩＥＲ  ＴＲＡＮＳＦＯＲＭ」という名称の仮出願第６０／６６０，８５５号の優先権を主張するものである。
【０００３】
本願は、参照により本明細書に明確に組み込まれる、２００６年３月１０日出願の「ＦＡＳＴ  ＦＯＵＲＩＥＲ  ＴＲＡＮＳＦＯＲＭ  ＰＲＯＣＥＳＳＩＮＧ  ＩＮ  ＡＮ  ＯＦＤＭ  ＳＹＳＴＥＭ」という名称の正式な米国特許出願、整理番号０５０５０７１Ｕ１に関する。
【０００４】
直交周波数分割多重（ＯＦＤＭ）は、全システム帯域幅を実質的に複数の（Ｎ個の）直交サブバンドに分割するマルチキャリア変調技法である。こうしたサブバンドはトーン、サブキャリア、ビン、周波数チャネルとも呼ばれることがある。ＯＦＤＭでは、各サブバンドが、データで変調することのできるサブキャリアとそれぞれ関連付けられる。
【０００５】
無線通信システムでは、無線周波数（ＲＦ）変調信号は、送信機から受信機までのいくつかの信号経路を介して移動することができる。信号経路が異なる遅延を有する場合、受信機で受信された信号は、異なる利得および遅延を有する送信信号の複数のインスタンスを含む。この無線チャネルでの時間分散によって周波数選択性フェージングが引き起こされ、周波数選択性フェージング（ｆｒｅｑｕｅｎｃｙ  ｓｅｌｅｃｔｉｖｅ  ｆａｄｉｎｇ）は、システム帯域幅にわたって変化する周波数レスポンスによって特徴付けられる。したがって、ＯＦＤＭシステムでは、Ｎ個のサブバンドが、異なる実効チャネルを受けることがあり、したがって異なる複素数チャネル利得（ｃｏｍｐｌｅｘ  ｃｈａｎｎｅｌ  ｇａｉｎ）と関連付けられることがある。
【発明の開示】
【０００６】
[発明が開示しようとする課題]
他の通信システムでの受信信号の処理と比較して、ＯＦＤＭシステムの処理がかなり必要とされる可能性がある。必要な大量の処理により、処理能力に関して受信機に対して大きな負担がかかる。その変調方式を使用する通信システムがさらに普及することを可能にするために、ＯＦＤＭ受信機での処理能力を向上させることができることが望ましい。
【０００７】
[課題を解決するための手段]
ＯＦＤＭ受信機用のＦＦＴプロセッサと、ＯＦＤＭシステムで受信シンボルを処理する方法とが本明細書で説明される。ＦＦＴプロセッサは、受信したＯＦＤＭシンボルに関するデータ復調、チャネル推定、およびファインタイミング取得（ｆｉｎｅ  ｔｉｍｉｎｇ  ａｃｑｕｉｓｉｔｉｏｎ）を実施するように構成された複数の相関する動作ブロックを含む。ＦＦＴプロセッサは、チャネル推定および復調ブロックと共有されるメモリアーキテクチャを使用して、パイプライン式ＦＦＴエンジンを組み込む。共有メモリ構造とパイプライン式ＦＦＴ演算の組合せにより、次に受信するシンボルを取り込むために使用される時間中にチャネル推定および復調処理を完了することが可能となる。
【０００８】
サポートする機能ブロックに関連する複数のメモリバンクとして共有メモリを配置することができる。ＦＦＴプロセッサのタイミングは、メモリバンクと、データと、様々なバンクをアドレス指定するのに使用される制御マルチプレクサの動作を指令する。
【０００９】
パイプライン式ＦＦＴエンジンはＦＦＴプロセッサのバックボーンであり、ＦＦＴプロセッサによって実施されるチャネル推定プロセスおよび時間取得プロセスで使用される。チャネル推定値は、基礎となるデータの後続の処理で使用される。
【００１０】
マルチステージでトゥイドル乗算（ｔｗｉｄｄｌｅ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）を適用するサイクルカウント方法を実装するＦＦＴエンジンが説明される。ｒａｄｉｘ−８コアに基づく実装などのマルチステージＦＦＴを実装するとき、中間値に様々なトゥイドル因子を乗算する必要がある。ＦＦＴエンジンは、最小限の数の乗算器を使用して、効率的なパイプラインでトゥイドル乗算を実施する。ＦＦＴ  ｒａｄｉｘおよびメモリの各行中の値の数に基づいていくつかの複素数乗算器を最適化することにより、妥当な量のエリアを使用して、最小限のサイクル数でＦＦＴ機能を実施することが可能となる。値の戦略的順序付けおよびグループ化により、より少ないサイクル数でＦＦＴ演算を実施することが可能となる。
【００１１】
一態様は、ＦＦＴの基数に等しい各行に格納されたいくつかのサンプル値を有するサンプルメモリと、転置メモリと、サンプルメモリから値の行を受け取り、値に関するバタフライ演算を実施し、転置メモリの列に結果を書き込むように構成されたバタフライコアと、転置メモリから所定の数の隣接する値を取り出し、各値にトゥイドル因子を乗算するように構成された乗算器モジュールとを含むＦＦＴ処理機器を含む。
【００１２】
別の態様は、各行に８個の複素数サンプル値を格納するように適合されたサンプルメモリと、８×８記憶位置として構成された転置メモリと、値の行を取り出し、ｒａｄｉｘ−８バタフライを実施し、アウトプット値を列方向に転置メモリに書き込むように適合されたｒａｄｉｘ−８バタフライコアと、各行に４個のトゥイドル値を格納するように適合されたトゥイドルメモリと、４個の複素数乗算器を有する乗算器モジュールであって、トゥイドルメモリから行を取り出し、転置メモリから４個の隣接する値を取り出し、トゥイドルメモリ行からの値を使用して隣接する転置メモリ位置からの４個の値に対する複素数乗算を実施し、積を４個の隣接する転置メモリ位置に書き戻す乗算器モジュールとを含むＦＦＴ処理機器を含む。
【００１３】
別の態様は、ＦＦＴ処理演算を実施する方法を含む。この方法は、ＦＦＴの基数に等しいサンプルメモリの複数の行を読み取ること、サンプルメモリの行内の値に関するバタフライを求め、バタフライ値を列方向に転置メモリに書き込むこと、行に格納された複数のトゥイドル因子値を有するトゥイドル因子の行を取り出すこと、単一サイクルで複数のバタフライ値にトゥイドル因子値を乗算して、トゥイドル後バタフライ値を生成すること、およびトゥイドル後バタフライ値を複数のバタフライ値のメモリ位置に書き戻すことを含む。
【００１４】
別の態様は、ＦＦＴの基数に等しい各行に格納されたいくつかのサンプル値を格納する手段と、複数の値を転置する手段と、サンプルメモリから値の行を受け取り、値に対するバタフライ演算を実施し、結果を転置メモリの列に書き込むように構成されたバタフライを計算する手段と、転置メモリからの所定の数の隣接する値に、対応するトゥイドル因子を乗算する手段とを含むＦＦＴ処理機器を含む。
【００１５】
別の態様は、ＦＦＴの基数に等しいサンプルメモリの複数の行を読み取るステップと、サンプルメモリの行内の値に関するバタフライを求め、バタフライ値を列方向に転置メモリに書き込むステップと、行内に格納された複数のトゥイドル因子値を有するトゥイドル因子の行を取り出すステップと、単一サイクルで複数のバタフライ値にトゥイドル因子値を乗算して、トゥイドル後バタフライ値を生成するステップと、トゥイドル後バタフライ値を複数のバタフライ値のメモリ位置に書き戻すステップとを実施するためのコンピュータプログラムで符号化されたコンピュータ可読媒体を含む。
【００１６】
本開示の実施形態の特徴、目的、および利点は、各図面と共に行われる、以下で説明する詳細な説明からより明らかとなるであろう。各図面では、同様のエレメントは同様の参照番号を有する。
【発明を実施するための最良の形態】
【００１７】
図１は、無線通信システム１００の一実施形態の単純化した機能ブロック図である。このシステムは、ユーザ端末１１０と通信することのできる１つまたは複数の固定エレメントを含む。ユーザ端末１１０は、例えば、１つまたは複数の通信規格に従って動作するように構成された無線電話でよい。例えば、ユーザ端末１１０は、第１通信ネットワークから無線電話信号を受信するように構成することができ、第２通信ネットワークからデータおよび情報を受信するように構成することができる。
【００１８】
ユーザ端末１１０は、ポータブルユニット、移動体ユニット、または静止ユニットでよい。ユーザ端末１１０は、移動体ユニット、移動体端末、移動局、ユーザ装置、ポータブル、フォンなどと呼ばれることもある。単一のユーザ端末１１０のみが図１に示されているが、典型的な無線通信システム１００は、複数のユーザ端末１１０と通信する能力を有することを理解されたい。
【００１９】
ユーザ端末１１０は通常、ここではセクタ化されたセルラ塔として示される１つまたは複数の基地局１２０ａまたは１２０ｂと通信する。ユーザ端末１１０は通常、ユーザ端末１１０内の受信機で最強の信号強度を与える基地局、例えば１２０ｂと通信する。
【００２０】
基地局１２０ａおよび１２０ｂのそれぞれを、適切な基地局１２０ａおよび１２０ｂとの間で通信信号をルーティングする基地局コントローラ（ＢＳＣ）１４０と結合することができる。ＢＳＣ１４０は、ユーザ端末１１０と公衆交換電話網（ＰＳＴＮ）１５０との間のインターフェースとして動作するように構成することのできる移動体交換局（ＭＳＣ）１５０に結合することができる。ユーザ端末１１０とネットワーク１６０との間のインターフェースとして動作するようにＭＳＣを構成することもできる。ネットワーク１６０は、例えばローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）でよい。一実施形態では、ネットワーク１６０はインターネットを含む。したがって、ＭＳＣ１５０はＰＳＴＮ１５０およびネットワーク１６０に結合される。ＭＳＣ１５０はまた、１つまたは複数のメディアソース１７０にも結合することができる。メディアソース１７０は、例えば、ユーザ端末１１０によってアクセスすることのできるシステムプロバイダによって提供されるメディアのライブラリでよい。例えば、システムプロバイダは、ユーザ端末１１０によってオンデマンドでアクセスすることのできるビデオまたはその他の形態のメディアを提供することができる。ＭＳＣ１５０を、他の通信システム（図示せず）とのシステム間ハンドオフを調整するように構成することもできる。
【００２１】
無線通信システム１００はまた、信号をユーザ端末１１０に送信するように構成される放送送信機１８０も含むことができる。一実施形態では、放送送信機１８０を基地局１２０ａおよび１２０ｂと関連付けることができる。別の実施形態では、放送送信機１８０を、基地局１２０ａおよび１２０ｂを含む無線電話システムとは別個かつ無関係のものとすることができる。放送送信機１８０は、限定はしないがオーディオ送信機、ビデオ送信機、ラジオ送信機、テレビジョン送信機など、あるいは送信機の何らかの組合せでよい。１つの放送送信機１８０のみが無線通信システム１００に示されているが、複数の放送送信機１８０をサポートするように無線通信システム１００を構成することができる。
【００２２】
複数の放送送信機１８０が、重複するサービスエリアで信号を送信することができる。ユーザ端末１１０は、複数の放送送信機１８０から同時に信号を受信することができる。複数の放送送信機１８０を、同一の放送信号、別個の放送信号、または類似の放送信号を放送するように構成することができる。例えば、第１放送送信機のサービスエリアと重複するサービスエリアを有する第２放送送信機は、第１放送送信機によって放送される情報のサブセットを放送することもできる。
【００２３】
放送送信機１８０を、放送メディアソース１８２からデータを受信するように構成することができ、データを符号化し、符号化データに基づいて信号を変調し、ユーザ端末１１０が変調後データを受信することのできるサービスエリアに変調後データを放送するように構成することができる。
【００２４】
一実施形態では、基地局１２０ａおよび１２０ｂと放送送信機１８０の一方または両方は直交周波数分割多重（ＯＦＤＭ）信号を送信する。ＯＦＤＭ信号は、所定の運用帯域で１つまたは複数の搬送波に対して変調される複数のＯＦＤＭシンボルを含むことができる。
【００２５】
ＯＦＤＭ通信システムは、データおよびパイロット伝送のためにＯＦＤＭを使用する。ＯＦＤＭは、全システム帯域幅を複数の（Ｋ個の）直交周波数サブバンドに分割するマルチキャリア変調技法である。こうしたサブバンドはトーン、搬送波、サブキャリア、ビン、周波数チャネルとも呼ばれる。ＯＦＤＭでは、各サブバンドが、データで変調することのできるサブキャリアとそれぞれ関連付けられる。
【００２６】
放送送信機１８０などのＯＦＤＭシステム内の送信機は、無線装置に対して複数のデータストリームを同時に送信することができる。こうしたデータストリームは、連続的またはバースト的な性質のものでよく、固定または可変データレートを有することができ、同一または異なる符号化方式および変調方式を使用することができる。送信機は、無線装置が時間同期、周波数追跡、チャネル推定などのいくつかの機能を実施する助けになるようにパイロットも送信することができる。パイロットは、送信機と受信機が先験的に既知である伝送である。
【００２７】
放送送信機１８０は、インターレースサブバンド構造に従ってＯＦＤＭシンボルを送信することができる。ＯＦＤＭインターレース構造は、Ｋ＞１として、Ｋ個の全サブバンドを含む。Ｕ≦Ｋとして、Ｕ個のサブバンドをデータおよびパイロット伝送のために使用することができ、それは使用可能サブバンドと呼ばれる。Ｇ＝Ｋ−Ｕとして、残りのＧ個のサブバンドは使用されず、保護サブバンド（ｇｕａｒｄ  ｓｕｂｂａｎｄ）と呼ばれる。一例を挙げると、システムは、Ｋ＝４０９６個の全サブバンド、Ｕ＝４０００個の使用可能サブバンド、およびＧ＝９６個の保護サブバンドを有するＯＦＤＭ構造を使用することができる。話を簡単にするために、以下の説明では、すべてのＫ個の全サブバンドが使用可能であり、０からＫ−１の索引が割り当てられ、その結果Ｕ＝ＫかつＧ＝０であると仮定する。
【００２８】
Ｋ個の全サブバンドを、Ｍ個のインターレースサブバンドまたは非重複サブバンドの組として構成することができる。Ｍ個のインターレースは、Ｋ個の全サブバンドのそれぞれが１つのインターレースのみに属する点で非重複または互いに素（ｄｉｓｊｏｉｎｔ）である。各インターレースは、Ｐ＝Ｋ／ＭとしてＰ個のサブバンドを含む。各インターレース内のＰ個のサブバンドをＫ個の全サブバンドにわたって一様に分散させることができ、それによってインターレース内の連続するサブバンドがＭ個のサブバンドによって隔てられる。例えば、インターレース０は、サブバンド０、Ｍ、２Ｍなどを含むことができ、インターレース１はサブバンド１、Ｍ＋１、２Ｍ＋１などを含むことができ、インターレースＭ−１は、サブバンドＭ−１、２Ｍ−１、３Ｍ−１などを含むことができる。Ｋ＝４０９６を有する上述の例示的ＯＦＤＭ構造では、Ｍ＝８個のインターレースを形成することができ、各インターレースは、８個のサブバンドによって均等に隔てられたＰ＝５１２個のサブバンドを含むことができる。したがって、各インターレース内のＰ個のサブバンドは、他のＭ−１個のインターレースのそれぞれの中のＰ個のサブバンドとインターレースする。
【００２９】
一般には、放送送信機１８０は、任意の数の全サブバンド、使用可能サブバンド、および保護サブバンドを有する任意のＯＦＤＭ構造を実装することができる。任意の数のインターレースを形成することもできる。各インターレースは、任意の数のサブバンドと、Ｋ個の全サブバンドのうちのいずれか１つとを含むことができる。インターレースは、同一の、または異なる数のサブバンドを含むことができる。話を簡単にするために、以下の説明の多くは、Ｍ＝８個のインターレースを有し、各インターレースがＰ＝５１２個の一様に分布したサブバンドを含むインターレースサブバンド構造に関するものである。このサブバンド構造はいくつかの利点をもたらす。第１に、各インターレースが全システム帯域幅にわたって取られたサブバンドを含むので、周波数ダイバーシティが達成される。第２に、無線装置は、全Ｋ点（ｆｕｌｌ  Ｋ−ｐｏｉｎｔ）高速フーリエ変換（ＦＦＴ）の代わりに部分Ｐ点（ｐａｒｔｉａｌ  Ｐ−ｐｏｉｎｔ）ＦＦＴを実施することにより、所与のインターレース上で送られたデータまたはパイロットを回復することができ、無線装置での処理を単純化することができる。
【００３０】
放送送信機１８０は、１つまたは複数のインターレース上で周波数分割多重化（ＦＤＭ）パイロットを送信することができ、無線装置がチャネル推定、周波数追跡、時間追跡などの様々な機能を実施することを可能にする。パイロットは、パイロットシンボルとも呼ばれる、基地局と無線装置が共に先験的に既知である変調シンボルから構成される。ユーザ端末１１０は、受信したパイロットシンボルと、既知の送信されたパイロットシンボルとに基づいて無線チャネルの周波数レスポンスを推定することができる。ユーザ端末１１０は、パイロット伝送用に使用される各サブバンドで無線チャネルの周波数スペクトルをサンプリングすることができる。
【００３１】
システム１００は、インターレースに対するデータストリームのマッピングを容易にするために、ＯＦＤＭシステムでＭ個のスロットを定義することができる。各スロットは、データまたはパイロットを送る伝送ユニットまたは手段とみなすことができる。データ用に使用されるスロットはデータスロットと呼ばれ、パイロット用に使用されるスロットはパイロットスロットと呼ばれる。Ｍ個のスロットに索引０からＭ−１を割り当てることができる。スロット０をパイロット用に使用することができ、スロット１からＭ−１をデータ用に使用することができる。データストリームをスロット１からＭ−１上で送ることができる。固定の索引と共にスロットを使用することにより、データストリームに対するスロットの割当てを単純化することができる。各スロットを１つの時間間隔で１つのインターレースにマッピングすることができる。周波数ダイバーシティおよび良好なチャネル推定および検波性能を達成することのできる任意のスロット−インターレースマッピングスキームに基づいて、Ｍ個のスロットを異なる時間間隔でＭ個のインターレースのうちの異なるものにマッピングすることができる。一般には、時間間隔は、１つまたは複数のシンボル周期に及ぶことがある。以下の説明では、時間間隔が１つのシンボル周期に及ぶと仮定する。
【００３２】
図２は、例えば図１のユーザ端末として実装することのできるＯＦＤＭ受信機２００の単純化した機能ブロック図である。本明細書に記載のＦＦＴ処理ブロックを実装して、受信したＯＦＤＭシンボルの処理を実施するように受信機２００を構成することができる。
【００３３】
受信機２００は、ＲＦチャネルを介して送信されたＲＦ  ＯＦＤＭシンボルを受信し、それを処理し、それをベースバンドＯＦＤＭシンボルまたはほぼベースバンド信号に周波数変換するように構成された受信ＲＦプロセッサ２１０を含む。ベースバンド信号からの周波数オフセットが信号帯域幅の小部分である場合、または信号が、さらなる周波数変換なしに信号の直接処理が可能となるのに十分なだけ低い中間周波数である場合、信号をほぼベースバンド信号と呼ぶことができる。受信ＲＦプロセッサ２１０からのＯＦＤＭシンボルが、フレームシンクロナイザ４２０に結合される。
【００３４】
受信機２００をシンボルタイミングと同期するようにフレームシンクロナイザ２２０を構成することができる。一実施形態では、受信機をスーパーフレームタイミングおよびスーパーフレーム内のシンボルタイミングに同期するようにフレームシンクロナイザを構成することができる。
【００３５】
スロット−インターレースマッピングが反復するのに必要ないくつかのシンボルに基づいてインターレースを求めるように、フレームシンクロナイザ２２０を構成することができる。一実施形態では、スロット−インターレースマッピングは、１４シンボルごとに反復することができる。フレームシンクロナイザ２２０は、シンボルカウントからｍｏｄｕｌｏ−１４シンボル索引を求めることができる。受信機２００は、ｍｏｄｕｌｏ−１４シンボル索引を使用して、パイロットインターレース、ならびに割り当てられたデータスロットに対応する１つまたは複数のインターレースを求めることができる。
【００３６】
フレームシンクロナイザ２２０は、いくつかの要素に基づいて、いくつかの技法のいずれかを使用して受信機タイミングを同期することができる。例えば、フレームシンクロナイザ２２０は、ＯＦＤＭシンボルを復調することができ、復調シンボルからスーパーフレームタイミングを求めることができる。別の実施形態では、フレームシンクロナイザ２２０は、１つまたは複数のシンボル、例えばオーバヘッドチャネル内で受信された情報に基づいてスーパーフレームタイミングを求めることができる。別の実施形態では、フレームシンクロナイザ２２０は、ＯＦＤＭシンボルとは別個に受信されるオーバヘッドチャネルを復調することなど、別個のチャネルを介して情報を受信することによって受信機２００を同期することができる。もちろん、フレームシンクロナイザ２２０は、同期を達成する任意の方式を使用することができ、同期を達成する方式は、ｍｏｄｕｌｏシンボルカウントを求める方式を必ずしも限定するものではない。
【００３７】
フレームシンクロナイザ２２０のアウトプットは、ＯＦＤＭシンボルを復調し、直列データ経路からのシンボルサンプルまたはチップを複数の並列データ経路のいずれか１つにマッピングするように構成することのできるサンプルマップ２３０に結合される。例えば、ＯＦＤＭチップのそれぞれをＯＦＤＭシステム内のサブバンドまたはサブキャリアの数に対応する複数の並列データ経路の１つにマッピングするようにサンプルマップ２２０を構成することができる。
【００３８】
サンプルマップ２３０のアウトプットは、ＯＦＤＭシンボルを対応する周波数領域サブバンドに変換するように構成されるＦＦＴモジュール２４０に結合される。ｍｏｄｕｌｏ−１４シンボルカウントに基づいてパイロットスロットに対応するインターレースを求めるようにＦＦＴモジュール２４０を構成することができる。所定のパイロットサブバンドなどの１つまたは複数のサブバンドをチャネル推定器２５０に結合するようにＦＦＴモジュール２４０を構成することができる。パイロットサブバンドは、例えば、ＯＦＤＭシンボルの帯域幅にわたる１つまたは複数の等間隔のＯＦＤＭサブバンドの組でよい。
【００３９】
チャネル推定器２５０は、パイロットサブバンドを使用して、受信されたＯＦＤＭシンボルに影響を及ぼす様々なチャネルを推定するように構成される。一実施形態では、データサブバンドのそれぞれに対応するチャネル推定を求めるようにチャネル推定器２５０を構成することができる。
【００４０】
ＦＦＴモジュール２４０およびチャネル推定からのサブバンドは、サブキャリアシンボルディインターリーバ２６０に結合される。１つまたは複数の割り当てられたデータスロットと、割り当てられたデータスロットに対応するインターリーブされたサブバンドの知識に基づいてインターレースを求めるようにシンボルディインターリーバ２６０を構成することができる。
【００４１】
例えば、割り当てられたデータインターレースに対応するサブキャリアのそれぞれを復調し、復調したデータから直列データストリームを生成するようにシンボルディインターリーバ２６０を構成することができる。別の実施形態では、割り当てられたデータインターレースに対応するサブキャリアのそれぞれを復調し、並列データストリームを生成するようにシンボルディインターリーバ２６０を構成することができる。さらに別の実施形態では、割り当てられたスロットに対応するデータインターレースの並列データストリームを生成するようにシンボルディインターリーバ２６０を構成することができる。
【００４２】
シンボルディインターリーバ２６０のアウトプットは、受信したデータをさらに処理するように構成されたベースバンドプロセッサ２７０に結合される。例えば、受信したデータをオーディオおよびビデオを有するマルチメディアデータストリームとして処理するようにベースバンドプロセッサ２７０を構成することができる。ベースバンドプロセッサ２７０は、処理した信号を１つまたは複数の出力装置（図示せず）に送ることができる。
【００４３】
図３は、ＯＦＤＭシステムで動作する受信機用のＦＦＴプロセッサ３００の一実施形態の単純化した機能ブロック図である。例えば、図１の無線通信システムまたは図２の受信機でＦＦＴプロセッサ３００を使用することができる。一実施形態では、図２の受信機実施形態のフレームシンクロナイザ、ＦＦＴモジュール、およびチャネル推定器の機能の一部またはすべてを実施するようにＦＦＴプロセッサ３００を構成することができる。
【００４４】
単一ＩＣ基板上の集積回路（ＩＣ）としてＦＦＴプロセッサ３００を実装し、ＯＦＤＭ受信機設計の処理部分に関する単一チップ解決策を与えることができる。あるいは、複数のＩＣまたは基板上にＦＦＴプロセッサ３００を実装し、１つまたは複数のチップまたはモジュールとしてパッケージ化することができる。例えば、ＦＦＴプロセッサ３００は、第１ＩＣ上で実施される処理部分を有することができ、処理部分は、第１ＩＣとは別個の１つまたは複数の記憶装置上のメモリとインターフェースすることができる。
【００４５】
ＦＦＴプロセッサ３００は、ＦＦＴ計算ブロック３６０とチャネル推定器３８０を相互接続するメモリアーキテクチャ３２０に結合された復調ブロック３１０を含むことができる。任意選択で、対数尤度比ブロック（ｌｏｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ  ｂｌｏｃｋ）３５０をＦＦＴプロセッサ３００の一部として含めることができ、あるいはＦＦＴプロセッサ３００と同一の基板またはＩＣ上に実装されることがあり、または実装されないことがある別個のブロック内で実装することができる。
【００４６】
復調モジュール、ＦＦＴモジュール、チャネル推定モジュール、および対数尤度比モジュールは、サンプル値に対する演算を実施する。メモリアーキテクチャ３２０は、こうしたモジュールのいずれかが所与の時間に任意のブロックにアクセスすることを可能にする。メモリバンクを時間的に分割することによって交換ロジックが単純化される。
【００４７】
メモリの１つのバンクが復調ブロック３１０によって反復的に使用される。ＦＦＴ計算ブロック３２０は、アクティブに処理されているバンクにアクセスする。チャネル推定ブロック３８０は、現在処理中のバンクのパイロット情報にアクセスする。対数尤度比（ＬＬＲ）ブロック３５０は、最も古いサンプルを含むバンクにアクセスする。
【００４８】
復調ブロック３１０は、係数ＲＯＭ３１４に結合された復調器３１２を含む。復調ブロック３１０は、時間同期されたＯＦＤＭシンボルを処理し、パイロットインターレースおよびデータインターレースを回復する。上述の例では、ＯＦＤＭシンボルは、８個の別個のインターレースに分割された４０９６個のサブバンドを含み、各インターレースは、全体の４０９６個のサブバンドにわたって一様に隔てられたサブバンドを有する。
【００４９】
復調器３１２は、４０９６個の着信サンプルを８個のインターレースとして編成する。ｎがインターレース０から７を表すとして、復調器は各着信サンプルを
【数１】
2008533873.tif 000003
【００５０】
だけ回転する。最初の５１２個の値が回転し、各インターレースに格納される。続く５１２個のサンプルの各組について、復調器３１２は値を回転し、次いでその値を加える。各インターレース内の各メモリ位置は、蓄積した８個の回転済みサンプルを有することになる。インターレース０内の値は回転せず、単に蓄積される。復調器３１２は、蓄積および回転による成長に対処するように、インプットサンプルを表すのに使用されるものよりも大きな数のビットで、回転および蓄積した値を表すことができる。
【００５１】
複素数回転係数を格納するのに係数ＲＯＭ３１４が使用される。インターレース０は回転を必要としないので、各着信サンプルについて７個の係数が必要となる。係数ＲＯＭ３１４を立上りトリガすることができ、その結果、復調ブロック３１０がサンプルを受信したときから１サイクルの遅延が生じることができる。
【００５２】
係数ＲＯＭ３１４から取り出した各係数値を登録するように復調ブロック３１０を構成することができる。係数値を登録する動作により、係数値自体を使用することができる前に別のサイクル遅延が加えられる。
【００５３】
各着信サンプルについて、７個の異なる係数が使用され、それぞれは異なるアドレスを有する。その異なる係数を探すために７個のカウンタが使用される。各カウンタは、そのインターレース数だけ増分され、新しいサンプルごとに、例えば、インターレース１は１だけ増分し、インターレース７は７だけ増分する。通常、ＲＯＭイメージを作成して、単一行で必要な７個の係数のすべてを保持し、または７個の異なるＲＯＭを使用することは現実的ではない。したがって、新しいサンプルが到来したときに係数値をフェッチすることによって復調パイプラインが開始する。
【００５４】
係数メモリのサイズを削減するために、０からπ／４の間のＣＯＳ値およびＳＩＮ値だけが格納される。メモリに送られない係数アドレスの３個の最上位ビット（ＭＳＢ）を使用して、値を適切な象限に向けることができる。したがって、係数ＲＯＭ３１４から読み取られた値は直ちには登録されない。
【００５５】
メモリアーキテクチャ３２０は、複数のメモリバンク３２４ａ〜３２４ｃに結合されたインプットマルチプレクサ３２２を含む。メモリバンク３２４ａ〜３２４ｃは、メモリバンク３２４ａ〜３２４ｃから様々なモジュールに値をルーティングすることのできるマルチプレクサを含むメモリ制御ブロック３２６に結合される。
【００５６】
メモリアーキテクチャ３２０はまた、パイロット観測値処理用のメモリおよび制御も含む。メモリアーキテクチャ３２０は、パイロット観測値を複数のパイロット観測値メモリ３３２ａ〜３３２ｃのいずれか１つに結合するインプットパイロット選択マルチプレクサ３３０を含む。複数のパイロット観測値メモリ３３２ａ〜３３２ｃはアウトプットパイロット選択マルチプレクサ３３４に結合され、メモリのいずれかの内容を処理のために選択することが可能となる。メモリアーキテクチャ３２０はまた、パイロット観測値から求めた処理済みチャネル推定を格納するために、複数のメモリ部分３４２ａ〜３４２ｂも含むことができる。
【００５７】
ＯＦＤＭシンボルを生成するのに使用される直交周波数を、ＦＦＴなどのフーリエ変換を使用して好都合に処理することができる。ＦＦＴ計算ブロック３６０は、１つまたは複数の所定の次元の効率的なＦＦＴおよび逆ＦＦＴ（ＩＦＦＴ）演算を実施するように構成されたいくつかのエレメントを含むことができる。通常、次元は２のべき乗であるが、ＦＦＴ演算またはＩＦＦＴ演算は、２のべき乗である次元に限定されない。
【００５８】
ＦＦＴ計算ブロック３６０は、メモリアーキテクチャ３２０または転置レジスタ３６４から取り出された複素数データに対して演算することのできるバタフライコア３７０を含む。ＦＦＴ計算ブロック３６０は、メモリアーキテクチャ３２０と転置レジスタ３５４との間で選択するように構成されるバタフライインプットマルチプレクサ３６２を含む。バタフライコア３７０は、複素数乗算器３６６およびトゥイドルメモリ３６８と共に動作してバタフライ演算を実行する。
【００５９】
チャネル推定器３８０は、ＰＮシーケンサ３８４と共に動作してパイロットサンプルをデスクランブルするパイロットデスクランブラ３８２を含むことができる。位相傾斜モジュール（ｐｈａｓｅ  ｒａｍｐ  ｍｏｄｕｌｅ）３８６は、パイロットインターレースから様々なデータインターレースのいずれかにパイロット観測値を回転する。位相傾斜係数メモリ３８８は、サンプルを所望の周波数に回転するのに必要な位相傾斜情報を格納するのに使用される。
【００６０】
複数のパイロット観測値を時間フィルタするように時間フィルタ３９２を構成することができる。基礎となるサブバンドデータの復号を実施する対数尤度比ブロック３５０で使用するために時間フィルタ３９２からのフィルタ後のアウトプットをメモリアーキテクチャ３２０に返す前に、それをメモリアーキテクチャ３２０に格納し、スレッシュホルダ（ｔｈｒｅｓｈｏｌｄｅｒ）３９４でさらに処理することができる。
【００６１】
チャネル推定器３８０は、中間および最終アウトプット値を含む様々なチャネル推定器アウトプット値をメモリアーキテクチャ３２０にインターフェースするためのチャネル推定アウトプットマルチプレクサ３９０を含むことができる。
【００６２】
図４は、ＯＦＤＭ受信機内の他の信号処理ブロックに対するＦＦＴプロセッサ４００の一実施形態の単純化した機能ブロック図である。ＴＤＭパイロット取得モジュール４０２は、ＦＦＴプロセッサ４００のための初期シンボル同期およびタイミングを生成する。着信同相（Ｉ）および直交（Ｑ）サンプルが、所望の振幅および周波数誤差内に信号を維持する利得および周波数制御ループを実装するように動作するＡＧＣモジュール４０４に結合される。
【００６３】
ＦＦＴプロセッサ４００を使用して、ファイン周波数取得モジュール４０６にタイミングおよび周波数情報を提供し、ＡＧＣモジュール４０４のＡＦＣ機能を使用して得ることのできるより正確なシンボル周波数を維持することができる。制御プロセッサ４０８は、ＦＦＴプロセッサ４００の高レベル制御を実施する。制御プロセッサ４０８は、例えば、汎用プロセッサ、またはＡＲＭ（商標）によって設計されたものなどの縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサでよい。制御プロセッサ４０８は、例えば、シンボル同期を制御し、ＦＦＴプロセッサ４００の状態をアクティブ状態またはスリープ状態に選択的に制御し、あるいはＦＦＴプロセッサ４００の演算を制御することにより、ＦＦＴプロセッサ４０８の演算を制御することができる。
【００６４】
ＦＦＴプロセッサ４００内の制御ロジック４１０を使用して、ＦＦＴプロセッサ４００の様々な内部モジュールをインターフェースすることができる。制御ロジック４１０も、ＦＦＴプロセッサ４００の外部の他のモジュールとインターフェースするロジックを含むことができる。
【００６５】
ＩサンプルとＱサンプルは、ＦＦＴプロセッサ４００、より具体的にはＦＦＴプロセッサ４００の復調ブロック３１０に結合される。復調ブロック３１０は、サンプルを所定の数のインターレースに分離するように動作する。復調ブロック３１０は、メモリアーキテクチャ３２０とインターフェースして、処理のためにサンプルを格納し、基礎となるデータの復号のために対数尤度比ブロック３５０に送達する。
【００６６】
メモリアーキテクチャ３２０は、メモリアーキテクチャ３２０内の様々なメモリバンクのアクセスを制御するメモリコントローラ４１２を含むことができる。例えば、様々なメモリバンク内の場所への行書込みを可能にするようにメモリコントローラ４１２を構成することができる。
【００６７】
メモリアーキテクチャ３２０は、ＦＦＴデータを格納する複数のＦＦＴ  ＲＡＭ４２０ａ〜４２０ｃを含むことができる。さらに、複数の時間フィルタメモリ４３０ａ〜４３０ｃを使用して、チャネル推定を生成するのに使用されるパイロット観測値などの時間フィルタデータを格納することができる。
【００６８】
別々のチャネル推定メモリ４４０ａ〜４４０ｂを使用して、チャネル推定器３８０からの中間チャネル推定結果を格納することができる。チャネル推定器３８０は、チャネル推定を求めるときにチャネル推定メモリ４４０ａ〜４４０ｂを使用することができる。
【００６９】
ＦＦＴプロセッサ４００は、ＦＦＴ演算の少なくとも一部を実施するのに使用されるＦＦＴ計算ブロックを含む。図４の実施形態では、ＦＦＴ計算ブロックは８点ＦＦＴエンジン４６０である。８点ＦＦＴエンジン４６０は、上述のＯＦＤＭシンボル構造の例を処理するのに有利である可能性がある。先に説明したように、各ＯＦＤＭシンボルは、それぞれ５１２個のサブバンドの８個のインターレースに分割された４０９６個のサブバンドを含む。各インターレース内のサブバンドの数５１２は８の３乗である（８３＝５１２）。したがって、ｒａｄｉｘ−８ＦＦＴを使用して３つのステージで５１２点ＦＦＴを実施することができる。実際、４０９６は８の４乗であるので、ただ１つの追加ＦＦＴステージと共に合計４ステージで４０９６点ＦＦＴを実施することができる。
【００７０】
８点ＦＦＴエンジン４６０は、ｒａｄｉｘ−８ＦＦＴを実施するように適合されたバタフライコア３７０および転置レジスタ３６４を含むことができる。バタフライコア３７０によって生成された積を正規化するのに正規化ブロック４６２が使用される。正規化ブロック４６２は、ＦＦＴの各ステージに続いてバタフライコアから出力された値を表すのに必要なメモリ位置のビット成長を限定するように動作することができる。
【００７１】
図５は、ＯＦＤＭインターレース処理の一実施形態の単純化した機能ブロック図である。図５に示すＯＦＤＭインターレース処理を実施するように図３または４のＦＦＴプロセッサを構成することができる。この単純化した機能ブロック図は、２つのデータインターレースプロセッサ５１０ｋおよび５１０ｊと、単一のパイロットインターレースプロセッサ５１０ｐとを示す。しかし、ＦＦＴプロセッサは、ＯＦＤＭシンボル中のインターレースの数に応じて、任意の数のインターレースプロセッサを実装することができる。例えば、前述のＯＦＤＭシンボル実施形態を処理するために、ＦＦＴプロセッサは、５１０ｋなどの７個のデータインターレースプロセッサと、１つのパイロットインターレースプロセッサ５１０ｐとを組み込むことができる。
【００７２】
データインターレースプロセッサ５１０ｋ、５１０ｊのそれぞれは同様に構成され、実質的に、データインターレースのいずれかに対して演算することができる。各データインターレースプロセッサ５１０ｋ、５１０ｊは、着信サンプルの位相を回転するように構成される回転装置５１４ｋ、５１４ｊを含む。位相回転は実質的に、各インターレースを、処理のために使用され共通インターレースに回転する。各データインターレースプロセッサ５１０ｋ、５１０ｊは、Ｍがインターレースの合計数を表すとして、連続するＭ個の各サンプルのうちの１つのサンプルに対して演算する。
【００７３】
各回転装置５１４ｋ、５１４ｊのアウトプットは、サンプルを８個のインターレースにわたって蓄積するアキュムレータ５２０ｋ、５２０ｊに結合される。４０９６個のサブバンドと８個の８インターレースを有するＯＦＤＭシンボルでは、各インターレースは５１２個のサブバンドを含み、アキュムレータ５２０ｋ、５２０ｊは５１２個のサンプルの８個のインスタンスを合計する。記載のＯＦＤＭシンボル例では、各インターレースについて、最初の５１２個の値が回転し、格納される。続く５１２個のサンプルの各組について、回転装置５１４ｋ、５１４ｊはサンプルを回転し、アキュムレータ５２０ｋ、５２０ｊは、先に格納したサンプルに値を加える。各インターレース内の５１２個のメモリ位置のそれぞれは、蓄積された８個の回転後サンプルを有することになる。
【００７４】
データインターレースプロセッサ５１０ｋ、５１０ｊは、蓄積したサンプル、または蓄積したサンプルの中間値を格納するメモリ５３０ｋ、５３０ｊを含む。一例として、各メモリ５３０ｋ、５３０ｊは、５１２個のサンプルまたは蓄積したサンプルを格納することができる。各シンボルの始まりでは、メモリ位置がリセットされ、または第１の組のデータインターレースサンプルで上書きされる。
【００７５】
インプット値がアクセスされ、蓄積値を返すべきである、メモリ５３０ｋ、５３０ｊ内の位置を指すために、カウンタ５４０を使用することができる。図５は、パイロットサンプルメモリ５３０ｐに結合された１つのｍｏｄｕｌｏ−５１２カウンタ５４０のみを示すが、カウンタ５４０は、蓄積データサンプルを格納するのに使用されるメモリ５３０ｋ、５３０ｊのそれぞれにカウント値を供給することができる。あるいは、各データインターレースプロセッサ５１０ｋ、５１０ｊは別々のカウンタを含むことができ、または１つまたは複数のデータインターレースプロセッサ５１０ｋ、５１０ｊは、パイロットインターレースプロセッサ５１０ｐで使用されるカウンタ５４０と共通であり、またはそれとは別個であるカウンタを共有することができる。
【００７６】
一実施形態では、カウンタ５４０が各シンボルの開始時にリセットされる。同様に、シンボルの開始ごとに、データメモリ５３０ｋ、５３０ｊ、およびパイロットサンプルメモリ５３０ｐをリセットあるいはクリアすることができる。回転装置５１４ｋ、５１４ｊは、所望のインターレースサンプルを所定の位相だけ回転し、回転後のサンプルを、関連するアキュムレータ５２０ｋ、５２０ｊに結合する。アキュムレータ５２０ｋ、５２０ｎは、カウンタ５４０によって指し示される以前に蓄積した値をメモリ５３０ｋ、５３０ｊから読み取る加算器５２２ｋ、５２２ｊを含む。
【００７７】
加算器５２２ｋ、５２２ｊは、取り出した値を回転装置５１４ｋ、５１４ｊからの値と合計する。アキュムレータ５２０ｋ、５２０ｊは、インプットを加算器５２２ｋ、５２２ｊに供給するのに使用された同一のメモリ位置に和を書き戻す前に、和をレジスタ５２４ｋ、５２４ｊにロードする。
【００７８】
カウンタ５４０は、すべてのインターレースがサンプルを処理した後に進む。したがって、カウントは、パイロットインターレースを含むインターレース数全体を通して、各サイクルについて同じままとなることができる。
【００７９】
ＦＦＴモジュール５５０ｋ、５５０ｊは、メモリ５３０ｋ、５３０ｊに格納された蓄積インターレースデータに対してＦＦＴを実施する。図５の例では、ＦＦＴモジュール５５０ｋ、５５０ｊは、５１２個の蓄積サンプルに対して５１２点ＦＦＴを実施する。５１２点ＦＦＴモジュール５５０ｋ、５５０ｊのアウトプットは、データインターレースのサブバンドを表す。
【００８０】
５１２点ＦＦＴモジュール５５０ｋ、５５０ｊのアウトプットは、関連する対数尤度比（ＬＬＲ）ブロック５８０ｋ、５８０ｊに結合され、情報を有する各サブバンドを復号することができる。本明細書に記載のＦＦＴプロセッサおよびデータインターレースプロセッサ５１０ｋ、５１０ｊは、サブバンドを復号するＬＬＲブロック５８０ｋ、５８０ｊを実装するが、他のＦＦＴプロセッサは、他のタイプの復号器を使用することができる。ＦＦＴプロセッサに対して選択される復号器のタイプは、部分的には、送信機で使用される符号化プロセスに依存することができる。例えば、データが畳込み式に符号化される場合、ＦＦＴプロセッサはビタビ復号器を使用することができる。
【００８１】
ＬＬＲブロック５８０ｋ、５８０ｊは、部分的にはパイロットインターレースプロセッサ５１０ｐによって生成されたチャネル推定を使用して、サブバンドデータを復号することができる。図５に示す例では、パイロットインターレースプロセッサ５１０ｐは、データインターレースプロセッサ５１０ｋ、５１０ｊのそれぞれがそうであるのと同様に、回転装置５１０ｐおよびアキュムレータ５２０ｐを含む。
【００８２】
アキュムレータ５２０ｐは、データインターレースプロセッサ５１０ｋ、５１０ｊで行われるのと同様に、メモリ５３０ｐにパイロットサンプルを蓄積する。ＦＦＴモジュール５５０ｐは、蓄積パイロットサンプルに対して５１２点ＦＦＴを実施し、時間領域表現を周波数領域パイロットサブバンドに変換する。
【００８３】
ＦＦＴモジュール５５０ｐのアウトプットは、パイロット補外および復調モジュール（ｐｉｌｏｔ  ｅｘｔｒａｐｏｌａｔｉｏｎ  ａｎｄ  ｄｅｍｏｄｕｌａｔｉｏｎ  ｍｏｄｕｌｅ）５６０に結合される。ＯＦＤＭシステムは、周波数サブバンド定義の帯域端付近に所定の保護帯域を定義して、伝送が割り振られた帯域幅を超えることがないように保証することができる。パイロットまたはデータ情報は、保護帯域内のサブバンド上で伝送されない。
【００８４】
パイロット補外および復調モジュール５６０は、パイロットサブバンド内の値を補外して、保護帯域内のサブバンド内のパイロット値を推定するように動作することができる。補外は、パイロットサブバンドが復調されてチャネル推定が回復されるパイロット復調の前に行うことができる。パイロットサブバンドは、既知のシンボルまたはシーケンスで変調される。既知のシンボルまたはシーケンスを擬似シーケンスでスクランブルすることができ、パイロット補外および復調モジュール５６０は、復調プロセス中にパイロットサブバンドをデスクランブルすることができる。
【００８５】
変調および補外後のパイロットサブバンドは、パイロットサブバンド内の生チャネル推定を表す。ＩＦＦＴモジュール５６２は生チャネル推定に対して演算し、チャネル推定をチャネルインパルス応答に変換する。図５の例では、ＩＦＦＴモジュール５６２は５１２点ＩＦＦＴを実施し、それによって５１２タップチャネルインパルス応答を生成する。
【００８６】
チャネルインパルス応答は、パイロットインターレースプロセッサ５１０ｐ内の初期回転装置５１４ｐによって実施されたのとほぼ逆の回転を実施する回転装置５６４に結合される。回転装置５６４のアウトプットは時間フィルタ５６６に結合され、チャネルインパルス応答を時間フィルタすることができる。現在のチャネルインパルス応答および追加のチャネルインパルス応答値に部分的に基づいてチャネルインパルス応答をフィルタするように時間フィルタ５６６を構成することができる。追加のチャネルインパルス応答値は、過去のチャネルインパルス応答値ならびに将来のチャネルインパルス応答値を含むことができ、将来のチャネルインパルス応答値は、後続の受信されたＯＦＤＭシンボルに基づくチャネルインパルスを表す。
【００８７】
ＦＦＴプロセッサは、複数のシンボルサンプルを格納することができ、格納した各シンボルについてチャネルインパルス応答を求めることができる。したがって、時間フィルタ５６６は、十分な数のＯＦＤＭシンボルを格納し、そのチャネル推定をそれぞれ求めることにより、非因果フィルタ（ｎｏｎ−ｃａｕｓａｌ  ｆｉｌｔｅｒ）を実装することができる。したがって、時間フィルタは、過去に十分に求められたチャネル推定に対して作用することができ、フィルタ後のチャネルインパルス応答に関して、「将来の」シンボルを表す後続のシンボルのサンプリングおよび処理を可能にする。
【００８８】
もちろん、時間フィルタ５６６は、ＦＩＲ、ＩＩＲ、または何らかの他のタイプのフィルタを含むほぼ任意のタイプのフィルタを実装することができる。さらに、時間フィルタ５６６は、因果または非因果フィルタ応答を実装することができる。
【００８９】
時間フィルタ後のパイロットインパルス応答は、データインターレースプロセッサ５１０ｋ、５１０ｊのそれぞれに結合され、そこで、個々のデータインターレースに関係するパラメータに応じてさらにフィルタまたは処理される。パイロットフィルタ５７２ｋ、５７２ｊは、特定のデータインターレースに部分的に基づいてパイロットインパルス応答を切り捨て、様々なインパルス応答タップをスレッシュホールドするように動作することができる。
【００９０】
パイロットフィルタ５７２ｋ、５７２ｊのアウトプットは、パイロットインパルス応答を特定のデータインターレースに回転する回転装置５７４ｋ、５７４ｊに結合される。回転装置５７４ｋ、５７４ｊのアウトプットは、ＦＦＴモジュール５７６ｋ、５７６ｊに結合され、そこで、最終的チャネルインパルス応答が、データインターレース周波数でのチャネル周波数レスポンス推定に変換される。チャネル周波数レスポンス推定は、データインターレースのサブバンドを復号する際に使用されるＬＬＲブロック５８０ｋ、５８０ｊに結合される。
【００９１】
図６は、ＯＦＤＭプロセッサの共有メモリ使用法の単純化したタイムライン６００である。ＦＦＴプロセッサのメモリアーキテクチャを複数のバンクとして構成することができる。図３または図４のＦＴプロセッサなどのＦＦＴプロセッサの一実施形態では、メモリを８個の別個のバンクとして構成することができる。バンク１、２、および３は着信サンプル用である。バンク４、５、および６はパイロット情報を格納する。バンク７はファイン周波数結果を格納し、バンク８はチャネル推定結果を格納する。タイムライン６００は、メモリバンクアドレス、データ、および制御マルチプレクサの動作を指令する。
【００９２】
タイムライン６００は、インプットサンプルの流れ６１０の例示的フレーム構造を示す。着信サンプルの流れ６１０を特定の順序で構成することができる。情報の各シンボル、例えば６１２は、循環プレフィックス６１４により、隣接するシンボルから分離される。シンボルの一部は、全シンボル周期にわたるデータを含むことができ、他のシンボルは、全シンボル周期未満で取り込むことのできるデータを有することができる。
【００９３】
着信サンプルストレージ６２０は、着信サンプル６２０をメモリバンク１、２、または３のうちの１つに向けて送る。初期ＴＤＭパイロットおよびオーバヘッド（ＯＩＳ）情報が、メモリバンク１に格納される。その後、着信サンプルがメモリバンク１、２、および３を通じて循環される。
【００９４】
復調６２０は、現着信サンプルを格納するメモリバンクに対して作用する。ＦＦＴエンジン６４０は、シンボルが取り込まれた後に動作し、メモリバンク１を使用し、メモリバンク４、５、および６を通じて循環する。
【００９５】
ファインタイミング演算６５０は、ＴＤＭパイロット２シンボルの１／２の間に行われ、バンク１および７を使用して動作する。チャネル推定演算６６０は、メモリバンク４、５、および６内のＦＦＴ結果に対して作用し、結果に関してメモリバンク８も使用する。ＬＬＲブロック６７０は、着信サンプルのために使用されるメモリバンクを通じて循環する。
【００９６】
タイムライン６００は、ＦＦＴプロセッサの複数の演算の中でどのようにメモリバンクが共有されるかを示す。タイムライン６００は、複数の演算のタイミングが互いにどのように依存するかを示す。
【００９７】
サンプルメモリ制御ロジックは、シンボルに関する何らかのデータを処理すべきかどうかを決定する。処理すべきデータが存在しない場合、そのシンボル時間に関する着信サンプルは復調されず、格納されず、処理されない。しかし、所望のデータを開始する前のシンボルでは、パイロット信号がチャネル推定のために復調される。
【００９８】
ＦＦＴプロセッサ内の様々な演算のタイミングは、いくつかのデータ依存関係を生み出す。ＦＦＴおよびファインタイミングブロックは、ＯＩＳ情報の開始前に終了しなければならない。具体的には、ファインタイミングブロックは、第１ＯＩＳシンボルデータが受信される１サイクル前に準備ができていなければならない。ＦＦＴ、チャネル推定、およびＬＬＲブロックは、着信サンプルがメモリバンクを満たすのにかかるよりも短い時間で終了しなければならない。
【００９９】
ＦＦＴプロセッサ、データの３つのシンボルを保持するのに十分なメモリを有する。チャネル推定アルゴリズムは、現在データに関して処理されているシンボルの前、その間、または後のシンボルからのパイロット情報を必要とする。パイロット値でインターレースされるデータ値からなるサンプルは、逐次到来する。シンボル全体が受信されるまで、処理を実施することはできない。したがって、データの３つのシンボルを保持するのに十分なメモリが必要である。
【０１００】
３つのメモリブロックを使用して、以下の方式で着信シンボルを取り込むことができる。第１メモリ、例えばバンク１は、ＡＦＣブロックから着信サンプルを収集する。第２メモリ、例えばバンク２はデータ値を保持する。このメモリは、ＦＦＴ処理装置内の様々な計算エンジン−ＦＦＴコアおよびチャネル推定ブロックによって使用される。第３メモリ、例えばバンク３はシンボルインターレースデータを保持する。このメモリは計算のほとんどを実施するのに使用される。
【０１０１】
受信されたサンプルは、ＦＦＴ処理を最適化するように特定の順序、すなわち列方向に格納される。４０９６個のサンプルが８個のブロックに分割される。ブロック０はパイロット情報を含み、ブロック１から７はデータを含むことができる。
【０１０２】
ｒａｄｉｘ−８ＦＦＴエンジンは、８個のサンプルをそのバタフライ回路に入力することを必要とする。単一メモリ行中のこうした８個のサンプルをグループ化することにより、ｒａｄｉｘ−８ＦＦＴエンジンは、サイクルごとに計算値を計算することができる。
【０１０３】
着信サンプルデータについて、メモリバンクの適切な行がフェッチされる。行８の中の１つの値が、書き戻す前に更新される。ｒａｄｉｘ−８が５１２点ＦＦＴを実施するのに３つのステージが必要である。メモリの８つの行の異なる組がアクセスされ、５１２点ＦＦＴが実施される。
【０１０４】
前述のサンプルメモリに加えて、チャネル推定ブロックは５個の追加のメモリを使用する。各メモリのサイズは、６４行および１行当たりのサンプルが８個の、５１２個のサンプルである。３個のチャネル推定メモリは、過去、現在、および将来のパイロット観測値を保持する。他の２個のチャネル推定メモリは、２個の時間フィルタ回路に対するアウトプットを保持する。チャネル推定ブロックの最終アウトプットは、サンプルメモリのアクティブなバンクのパイロットインターレースに戻される。
【０１０５】
図７は、共有メモリを使用するパイロット処理の単純化した機能ブロック図である。パイロットデータは、サンプルメモリパイロットインターレース７１０を格納するメモリから読み取られる。パイロットデータは回転装置７２０で回転され、チャネル推定メモリ７４０のうちの１つに格納される。カウンタは、アクティブなデータが存在するときにあらゆるシンボルを増分し、３個のチャネル推定メモリ７４０のうちのどれにパイロットデータを格納するかをマルチプレクサ７３０に指示する。
【０１０６】
チャネル推定メモリ７４０に格納されたチャネル推定が時間フィルタ７５０で使用され、時間フィルタ済みチャネル推定が生成される。時間フィルタ７５０は、複数の時間フィルタ済みチャネル推定を生成することができ、フィルタ済みチャネル推定メモリ７６０に対応する複数の時間フィルタ済みチャネル推定を格納することができる。
【０１０７】
第２回転装置７７０は、フィルタ済みチャネル推定を組み合わせ、または選択することができ、組み合わせたチャネル推定を回転するができる。得られるチャネル推定がサンプルメモリのバンクに返される。
【０１０８】
図８は、チャネル処理状態マシンの単純化した状態ブロック図８００である。チャネル処理状態マシンはレジスタ設定を使用して、データの着信シンボルに対していつ、どのように対処するかを決定するすることができる。任意の所与のシンボルについて、チャネル処理状態マシンは、ＦＦＴプロセッサが複数の機能のうちのいずれか１つを実行すべきであることを決定することができる。
【０１０９】
チャネルプロセッサに対する状態マシンは、着信サンプルの復調に続いて、遊休状態８９０から演算決定状態８０１に遷移することができる。チャネル処理状態マシンは、チャネル推定のためのパイロット観測値の抽出のための状態、およびチャネル推定８０３の計算のための状態に遷移することができ、動的時間追跡調節（ＤＭＴＴ）をＩＦＴブロック１１に要求し、７個のデータスロット８０２のいずれか／すべてからＬＬＲブロックにデータを送り、特殊フレーム０シンボルＷＩＣ８０９、ＬＩＣ８１３に関する特殊処理を行い、ＴＤＭ２ファインタイミング処理８０４を行う。
【０１１０】
図９は、ＦＦＴプロセッサの一実施形態に関する状態ブロック図９００である。この状態ブロック図は、パイロット処理、チャネル推定、ＬＬＲ処理、およびＦＦＴ処理の性能に関する状態遷移を示す。状態ブロック図からわかるように、ＦＦＴ演算およびＩＦＦＴ演算は、マシン全体にわたるアクセスであり、多くの状態が、ＦＦＴ演算またはＩＦＦＴ演算に遷移し、またはそれらを通じて遷移する。
【０１１１】
図１０は、ＦＦＴエンジン１０００の一実施形態の単純化した機能ブロック図である。ＦＦＴ演算とＩＦＦＴ演算の類似性により、ＦＦＴ演算またはＩＦＦＴ演算のどちらかを実施するようにＦＦＴエンジン１０００を構成することができる。５１２点ＦＦＴの状況でＦＦＴエンジンを説明する。しかし、ＦＦＴエンジン１０００はそのような実施形態に限定されず、ＦＦＴエンジン１０００の様々なエレメントに対する変更は、他のＦＦＴ次元を実施することを可能にする。
【０１１２】
ＦＦＴエンジン１０００は、周波数でのデシメーションを使用して実装される５１２点ＦＦＴを実施するように構成される。周波数でのデシメーションと時間でのデシメーションの差が、トゥイドルメモリ係数である。有利には、ＦＦＴエンジン１０００はｒａｄｉｘ−８ＦＦＴを使用し、それによって５１２点ＦＦＴを３つのステージで実施することができる。もちろん、他のｒａｄｉｘ値またはｒａｄｉｘ値の組合せをＦＦＴエンジン１０００で使用することもできる。例えば、ＦＦＴエンジン１０００は、ｒａｄｉｘ−２、ｒａｄｉｘ−４、ｒａｄｉｘ−８ＦＦＴ、または異なるｒａｄｉｘＦＦＴの組合せを使用することができる。
【０１１３】
ＦＦＴエンジン１０００は、ＦＦＴ演算が実施される複素数サンプルを格納するサンプルメモリ１０１０を含む。先に議論したように、複数のブロック間でサンプルメモリを共有することができ、処理したＦＦＴ結果ならびに中間値を、他のモジュールによるアクセスのためにサンプルメモリ位置に格納することができる。
【０１１４】
ＦＦＴエンジン１０００は、サンプルメモリにアクセスしてサンプルを行ごとにバタフライコア１０３０に読み取るためのレジスタ１０２０を含む。サンプルメモリ行を転置メモリ１０４０の行に直接読み取ることもでき、転置メモリ１０４０はレジスタメモリでよい。バタフライコア１０３０は、ＦＦＴまたはＩＦＦＴを実施するようにセットアップされ、それをｒａｄｉｘ−８計算または２つのｒａｄｉｘ−４計算として計算することができる。
【０１１５】
各バタフライ演算の結果は、転置メモリ１０４０に列方向に書き込まれる。転置メモリ１０４０は、転置レジスタの８×８構成を含むことができる。転置メモリ１０４０からの結果が列または行ごとに読み取られ、サンプルメモリ１０１０に行ごとに書き込まれる。列ごとの書込みと、その後に続く行読取りの結果、メモリ内の内容が転置される。
【０１１６】
ＦＦＴの各ステージについてのトゥイドル因子をトゥイドルメモリ１０７０に格納することができる。トゥイドルメモリ１０７０はトゥイドルＲＯＭでよい。トゥイドル因子を、メモリの行ごとの４つの因子として構成することができる。
【０１１７】
４個の複素数乗算器を含む乗算器モジュール１０６０は、トゥイドル因子を使用して転置メモリ１０４０内の値を回転することができる。４個の複素数乗算器は、トゥイドルメモリ１０７０の単一の行内のトゥイドル因子の数と一致し、単一サイクルで４つの複素数乗算が可能となる。
【０１１８】
転置メモリ１０４０内の重み付きの値が、サンプルメモリ１０１０の発生位置に書き戻される前に正規化レジスタ１０５０内で正規化される。
【０１１９】
図１１は、ｒａｄｉｘ−８ＦＦＴに関する完全なバタフライ演算１１００を示す。領域ＡおよびＢ内のトゥイドル乗算値を調節することにより、ｒａｄｉｘ−８点ＩＦＦＴを実施するようにバタフライコアを変更することができる。ｒａｄｉｘ−４計算を実施するために、第２ステージ加算器の結果（図１１でＯｕｔ４と示す）が最終的総和（図１１でＯｕｔ８と示す）の代わりに使用される。
【０１２０】
メモリから読み取られるすべての値を直ちに登録することができる。図１１は、コアがｒａｄｉｘ−８モードで操作されるときに使用されるレジスタを示す。コアが２個のｒａｄｉｘ−４セクションとして動作するとき、インプット値はレジスタ転置ブロック内のレジスタから到来し、したがって再び登録する必要はない。
【０１２１】
インプットはまた、加算器の第１組の前にビット反転される。ｒａｄｉｘ−８演算では、これは全３ビット反転０−＞０、１−＞４、２−＞２、３−＞６、４−＞１、５−＞５、６−＞３、７−＞７である。ｒａｄｉｘ−４演算では、４個のインプットの各組が、２ビット反転０−＞０、１−＞２、２−＞１、３−＞３、４−＞４、５−＞６、６−＞５、７−＞７を使用する。
【０１２２】
値が各加算器を伝播するときに、そのビット幅が、飽和を防ぐために１だけ増加する。インプット値は９ビットで表される。第１の和は１０ビットで表される。Ｏｕｔ４値は１１ビットで表され、Ｏｕｔ８値は１２ビットで表される。
【０１２３】
図１１に示すように、ＦＦＴのためにＡ領域内の第４の和および第８の和にｗ（２）を乗算しなければならない。ＩＦＦＴでは、この値はｗ（６）となる。トゥイドル因子Ｗ（ｋ）の決定は、以下のように求められる。Ｗ（ｋ）＝ｅｘｐ（−ｊ２πｋ／８）。
【０１２４】
ｗ（＊）の乗算は以下のように実装される。
【０１２５】
ｗ0は（Ｉ＋ｊＱ）＊（１＋ｊ０）＝Ｉ＋ｊＱに等しく、どんな修正も不要となる。
【０１２６】
ｗ1は（Ｉ＋ｊＱ）＊（１／ｓｑｒｔ（２）−ｊ／ｓｑｒｔ（２））に等しい。複素数乗算器が必要となる。値１／ｓｑｒｔ（２）について、９ビット符号付き定数が使用される。
【０１２７】
ｗ2は（Ｉ＋ｊＱ）＊（０−ｊ１）＝Ｑ−ｊＩに等しい。インプットの実部について２の補数負号反転（２’ｓ  ｃｏｍｐｌｅｍｅｎｔ  ｎｅｇａｔｉｏｎ）を実施し、次いで加算する代わりに、実部の値は不変のままにされ、符号変化を反映するように後続の加算器が減算器に変更される。
【０１２８】
ｗ3は（Ｉ＋ｊＱ）＊（−１／ｓｑｒｔ（２）−ｊ／ｓｑｒｔ（２））に等しい。複素数乗算器が必要となる。値１／ｓｑｒｔ（２）について、９ビット符号付き定数が使用される。
【０１２９】
ｗ4は（Ｉ＋ｊＱ）＊（−１＋ｊ０）＝−Ｉ−ｊＱに等しい。しかし、この値はどのＦＦＴ計算にも使用されない。
【０１３０】
ｗ5は（Ｉ＋ｊＱ）＊（−１＋ｊ／ｓｑｒｔ（２））に等しい。複素数乗算器が必要となる。値１／ｓｑｒｔ（２）について、９ビット符号付き定数が使用される。
【０１３１】
ｗ6は（Ｉ＋ｊＱ）＊（０＋ｊ１）＝−Ｑ＋ｊＩに等しい。インプットの虚部について２の補数負号反転を実施し、次いで加算する代わりに、虚部の値は不変のままにされ、符号変化を反映するように後続の加算器が減算器に変更される。
【０１３２】
ｗ7は（Ｉ＋ｊＱ）＊（１／ｓｑｒｔ（２）＋ｊ／ｓｑｒｔ（２））に等しい。複素数乗算器が必要となる。値１／ｓｑｒｔ（２）について、９ビット符号付き定数が使用される。
【０１３３】
図１２は、ｒａｄｉｘ−８ＦＦＴバタフライの最初の２つの状態の実施形態の機能ブロック図である。部分バタフライコア１２００は、図１１に示すバタフライコア１１００のＯｕｔ４を介するインプットからの計算値を含む。
【０１３４】
２つの組の加算器が第４の和および第８の和について使用される。一方の組はｗ（２）を計算し、他方はｗ（６）を計算する。ｆｆｔ＿ｉｆｆｔ＿ｎ信号は、どの和を使用するかを制御する。
【０１３５】
図１３は、ｒａｄｉｘ−８ＦＦＴバタフライの最終ステージの一実施形態の機能ブロック図である。部分バタフライコア１２００は、Ｏｕｔ４から、図１１に示すバタフライコア１１００のアウトプットへの計算値を含む。
【０１３６】
Ｂ領域内の第６および第８の値について実数複素数乗算器（ｒｅａｌ  ｃｏｍｐｌｅｘ  ｍｕｌｔｉｐｌｉｅｒ）が必要となる。
【０１３７】
ＦＦＴを実施するとき、これらはｗ（１）およびｗ（３）となる。
【０１３８】
ＩＦＦＴを実施するとき、これらはそれぞれｗ（７）およびｗ（５）となる。
【０１３９】
ｗ（１）／ｗ（７）について、積の和は、
Ｐ＝１／ｓｑｒｔ（２）、
ｗ（１）＝ＰＩ＋ＰＱ＋ｊ（−ＰＩ＋ＰＱ）
ｗ（７）＝ＰＩ−ＰＱ＋ｊ（ＰＩ＋ＰＱ）
インプット値を加算器および減算器に向け、和および差をその最終の宛先に向けるのにｆｆｔ＿ｉｆｆｔ＿ｎ信号が使用される。この実装で必要なのは、２つの乗算器および２つの加算器だけである（１つの加算器および１つの減算器）。
【０１４０】
ｗ（３）／ｗ（７）について、積の和は、
Ｐ＝１／ｓｑｒｔ（２）、
ｗ（３）＝−ＰＩ＋ＰＱ＋ｊ（−ＰＩ−ＰＱ）
ｗ（５）＝−ＰＩ−ＰＱ＋ｊ（ＰＩ−ＰＱ）
Ｐを使用する代わりに、ｆｆｔ＿ｃｏｒｅは、これらの積の和についてＲ＝−１／ｓｑｒｔ（２）を使用する。Ｒを使用すると、式は以下のようになる。
【０１４１】
Ｗ（３）＝ＲＩ−ＲＱ＋ｊ（ＲＩ＋ＲＱ）
Ｗ（５）＝ＲＩ＋ＲＱ＋ｊ（−ＲＩ＋ＲＱ）
これらの積の和は２０ビットの幅であり、２つの符号ビットを担持する。積の和が加算されるとき、２０ビットの幅となり、１つの符号ビットを担持する。次いで、最下位の８ビット（ＬＳＢ）を丸め、１つのＭＳＢを飽和させることにより、これらの和が正規化されて１１ビットに戻される。
【０１４２】
インプット値を加算器および減算器に向け、和および差をその最終の宛先に向けるのに信号ｆｆｔ＿ｉｆｆｔ＿ｎが使用される。前と同様に、必要なのは２つの乗算器および２つの加算器（１つの加算器および１つの減算器）だけである。
【０１４３】
領域Ｂでの自明の乗算ｗ（２）またはｗ（６）は領域と同様に処理される。
【０１４４】
タイミングを満たすために、通常、過剰なハードウェアを組み込むことなく単一のクロックサイクルでこれらのすべての計算を行うことはできない。Ｏｕｔ４値のほとんどを取り込むために１組のレジスタを追加した。第６および第８に関するＯｕｔ４値を登録する前に、それらに定数ＰおよびＲを乗算する。レジスタのこの配置は、以下のように最悪経路に関する計算を均衡させる。
【０１４５】
第１サイクル：マルチプレクサ＝＞加算器＝＞加算器＝＞マルチプレクサ＝＞乗算器
第２サイクル：加算器＝＞マルチプレクサ＝＞加算器＝＞加算器
最後に、Ｏｕｔ４値またはＯｕｔ８値を送り出すのにｆｆｔ５１２＿４＿ｎ信号が使用される。Ｏｕｔ４値は１１ビットから１２ビットに符号拡張される。
【０１４６】
ＦＦＴブロックは、ｒａｄｉｘ−８バタフライコアを通る３つのパスを使用して、単一５１２点ＦＦＴを実施する。これを実施するために、最初の２つのパスからの結果は、その値の一部にトゥイドル値を乗算し、正規化しなければならない。８個の値が単一行のメモリに格納されるので、値が読み取られるときの値の順序は、値が書き込まれるときとは異なる。２ｋ  Ｉ／ＦＦＴが実施される場合、メモリ値がバタフライコアに送られる前にメモリ値を転置しなければならない。
【０１４７】
ｒａｄｉｘ−８ＦＦＴは８×８レジスタを使用する。すべての６４個のレジスタは、バタフライコアからインプットを受け取る。レジスタのうちの５６個は、複素数乗算器からインプットを受け取る。３２個のレジスタは、メモリアーキテクチャ内のメインメモリからインプットを受け取る。各レジスタは、そのインプット上に２：１または３：１のマルチプレクサを有することができる。メインメモリからのインプットがレジスタの行に書き込まれる。バタフライコアからのインプットはレジスタの列に書き込まれる。複素数乗算器からのインプットはグループで実施される。
【０１４８】
すべての６４個のレジスタは、正規化計算およびレジスタを介してアウトプットをメインメモリに送る。正規化の順序は、６４レジスタの各タイプおよびステージについて異なる。
【０１４９】
すべての６４個のレジスタは、アウトプットを複素数乗算器に送ることができる。５６個のレジスタはトゥイドル乗算を必要とし、３２個のレジスタは平方を必要とする。３２個のレジスタは、その値をバタフライコアに送らせる。
【０１５０】
値は、データＦＦＴ、チャネル推定ＦＦＴ、ＷＩＣ／ＬＩＣ処理、およびファインタイミングＩＦＦＴのために正規化回路に行ごとに送られる。
【０１５１】
値は、チャネル推定ＩＦＦＴ、パイロットＦＦＴ、およびＩＦＦＴのために列ごとに送られる。
【０１５２】
値がバタフライコアに送られるとき、行ごとに送られる。値が複素数乗算器に送られるとき、グループで行われる。
【０１５３】
図１４は、ｒａｄｉｘ−８ＦＦＴでのトゥイドル乗算順序を示す転置メモリ１４００の単純化した表現である。全ｒａｄｉｘ−８ＦＦＴを実施するのに必要な合計サイクル数を削減するために、ＦＦＴ演算が高度にパイプライン化される。値がバタフライコアから出力され、転置メモリ１４００に登録されると、値をトゥイドル乗算のために送ることができる。
【０１５４】
トゥイドル乗算の順序は、列ごとにバタフライコアから登録される値に基づき、トゥイドル乗算値を行ごとにメモリに送らせる。少なくとも、ｒａｄｉｘ−８ＦＦＴ演算のために８個の読取りサイクルと８個の書込みサイクルが必要である。少なくとも１６個のサイクルが利用可能である場合、トゥイドル演算のために４個の複素数乗算器を使用することは、１４サイクルを必要とする。より少ない乗算器ではメモリライトバック演算が停止し、一方、任意の追加の乗算器は、過剰なハードウェアとなり、パイプラインの少なくとも半分が遊休状態となり、その結果リソースが浪費される。図１０に示す実装では、全ｒａｄｉｘ−８ＦＦＴ演算のために２１サイクルが必要である。
【０１５５】
図１４の転置メモリ１４００の第１列内の値はトゥイドル乗算を必要としない。第２列が書き込まれると、グループ１内の値を複素数乗算器に送ることができる。これがグループ７まで反復される。最初の７グループ内のすべての値が列方向に隣接する。この時点では、最初の４行をメインメモリに送る準備ができており、下部の４行がトゥイドル乗算される。
【０１５６】
残りのグループの値が、行方向グループ化として取り出される。行方向グループ化のそれぞれを隣接する行の値と見ることができ、各値は環状に隣接する。したがって、グループ９では、例えば、値［４，０］は、行［４，７］内の最後の値に環状に隣接する。
【０１５７】
図１５は、パイプライン式ｒａｄｉｘ−８  ５１２点ＦＦＴ演算の単純化したタイミング図である。図１５のパイプラインタイムライン１５００は、ｒａｄｉｘ−８計算のためのバタフライ計算、トゥイドル計算、および正規化計算の重複する性質を示す。
【０１５８】
サイクル０の間、メモリの第１行内の８個の値の最初が読み取られる（図１４の値０）メモリからの値は、以下のサイクルについてＦＦＴに対して利用可能である。メモリからの値が、作用される前に登録される。この結果、メモリアクセスについて１サイクルの遅延が生じる。したがって、ｃｙｃｌｅ＿ｃｏｕｎｔ＝２まで、インプットコアレジスタは、第１メモリ行について有効なデータを有さない。タイミング要件を満たすために、バタフライ計算は２つのサイクルを取る。ｃｙｃｌｅ＿ｃｏｕｎｔ＝３であるとき、バタフライ計算の半分が第１メモリ行について実施されている。ｃｙｃｌｅ＿ｃｏｕｎｔ＝４であるとき、バタフライ計算が完了しており、結果が転置レジスタバンクに登録される。
【０１５９】
サイクルカウント＝４までに正確なトゥイドル係数値を準備させるために、ｃｙｃｌｅ＿ｃｏｕｎｔ＝３のときにトゥイドルメモリに対するアドレスｔｗ＿ａｄｄｒを駆動しなければならない。ｃｙｃｌｅ＿ｃｏｕｎｔ＝４のときに係数が登録され、ｃｙｃｌｅ＿ｃｏｕｎｔ＝５のときに第２組のバタフライ結果に対して乗算するために利用可能となる。
【０１６０】
ｃｙｃｌｅ＿ｃｏｕｎｔ＝１１のとき、グループ７に関する値が転置レジスタに書き戻される。この時点では、図１４の最初の４行が完了し、正規化してメモリに読み戻すことができる。
【０１６１】
ｃｙｃｌｅ＿ｃｏｕｎｔ＝１２のとき、レジスタの第１行が読み取られ、値が正規化される。正規化された値は、転置レジスタを含む６４個のレジスタとは別個の正規化レジスタに格納される。ｃｙｃｌｅ＿ｃｏｕｎｔ＝１３のとき、正規化レジスタからの値がメインメモリに送り戻される。任意のＩ／ＦＦＴの第３ステージ中、トゥイドル乗算は行われない。したがって、このパイプラインタイミングで（データＦＦＴのために）行ごとに書き戻すことの問題はない。
【０１６２】
図１６は、パイプライン式２０４８点ＦＦＴの単純化したタイミング図１６００である。パイプライン式タイミング図１６００は、１組の５１２点ＦＦＴ結果から２０４８点ＦＦＴを実施するための演算を示す。
【０１６３】
２０４８点ＦＦＴの演算は５１２点ＦＦＴと非常に似ている。しかし、２０４８は８のべき乗ではないので、ＦＦＴは、５１２点ＦＦＴの結果に対してｒａｄｉｘ−４演算を実施する。
【０１６４】
２０４８点Ｉ／ＦＦＴを実施するとき、４つの異なる５１２点Ｉ／ＦＦＴの結果はｒａｄｉｘ−４演算を受ける。１つの行が４つのインターレースのそれぞれから読み取られ、５１２の値が、５１２点Ｉ／ＦＦＴをそれぞれ受ける。
【０１６５】
メモリアーキテクチャは、アドレスとしてではなく、注目の４つの異なるインターレースの中から選択するマルチプレクサとしてインターレース値を使用することを可能にする。したがって、ｃｙｃｌｅ＿ｃｎｔ＝１のとき、すべての４つのインターレースについてのメモリ位置０からの値の準備ができており、ｆｆｔ＿ｉｎｔｌが、適切な値に選択するのに使用される。ｃｙｃｌｅ＿ｃｎｔ＝５のとき、すべての４つの行が読み取られており、最初の２列がバタフライコアに送られる。バタフライコアは、２つのｒａｄｉｘ−４計算を１サイクルで実施し、値を転置レジスタに返す。個々のレジスタインプットの複雑さを低減するために、各対の中の第２列に関する４つの値が、それが生じる列の下部の４つのレジスタに取り込まれる。次いで、ｒａｄｉｘ−４結果が、トゥイドル乗算を実施するサンプル複素数乗算器を使用して２乗される。ｃｙｃｌｅ＿ｃｎｔ＝６のとき、平方値は、メモリに書き戻される前に正規化の準備ができている。ビット幅制約のために、平方値に対して異なる正規化が実施される。正規化された値が初期ファインタイミングブロックＩＦＴに書き込まれる。
【０１６６】
トゥイドル係数は、各行に関する４つの値でメモリ内に編成される。値を計算し、または非冗長な１組のトゥイドル値を格納することを試み、所望の値をアドレス指定することを試みるのではなく、ＦＦＴの特定のステージに関連するメモリの行にトゥイドル値を格納することが有利である可能性がある。
【０１６７】
５６の乗算がサイクル当たり４回実施され、したがって１４サイクルが必要となる。様々なトゥイドル係数の位置を求めるために、５１２点および６４点係数行列に、図１４で与えられる乗算順序を被せる必要がある。データの行が完了したとき、それがメモリバンクに書き戻される。
【０１６８】
最初の８行（０、８、１６など）が書き戻された後、次の８行が読み取られる。第１ステージでは、行１、９、１７などとなる。行７、１５、２３などが処理された後、ＦＦＴは第２ステージに進む。第２および第３ステージでは、行が順次アクセスされる。
【０１６９】
レジスタ値は１２ビット幅である。トゥイドル係数は８ビット幅である。得られる２０ビットが転置レジスタに格納される前に１２ビットに戻される。チャネル推定の第１または第３ステージが実施されるときに丸めが行われる。第１３ビットが１２ＭＳＢに追加される。他のすべてのケースでは、丸めは行われず、すべての正規化が後に残される。１２ＭＳＢが単に返される。
【０１７０】
２乗を実施するのに同じ１２×８乗算器が使用される。レジスタ値は、ｒａｄｉｘ−４演算の後では１１ビット幅である。レジスタ値は、１つの乗算器インプットについて１２ビットに符号拡張される。他の乗算器インプットについての８ビットを得るために、レジスタ値は、その２つのＬＳＢを丸め、次いでＭＳＢに対して飽和チェックする。次いで、２０ビット積が１４ビットに丸められ、１１ビットまで飽和チェックされる。こうした１１ビット値が、さらに計算するためにＩＦＴブロックに送られる。
【０１７１】
図１７は、ＯＦＤＭ信号を処理する方法１７００の単純化した流れ図である。この方法は、例えば図３または４のＦＦＴプロセッサ、または図１のシステムのユーザ端末で実施することができる。
【０１７２】
方法１７００はブロック１７１０で始まり、ＦＦＴプロセッサがサンプルを受け取る。サンプルは、受け取ったＯＦＤＭシンボルまたは受け取ったＯＦＤＭシンボルチップの複素数サンプルでよい。ＦＦＴプロセッサはブロック１７２０に進み、受け取った各サンプルを復調する。ＦＦＴプロセッサはブロック１７３０に進み、メモリ、例えば図３に示すメモリアーキテクチャのサンプルメモリバンクに復調後サンプルを格納する。
【０１７３】
ＦＦＴプロセッサはブロック１７４０に進み、復調後サンプルからチャネル推定を求める。一実施形態では、復調後サンプルは複数のインターレースサンプルとして格納され、ＦＦＴプロセッサは、パイロットインターレースに基づいてチャネル推定を求める。
【０１７４】
ＦＦＴプロセッサはブロック７５０に進み、１つまたは複数のデータインターレースに対応するデータサブバンドを求める。各サブバンドは、その上に符号化データを有することができ、ＦＦＴプロセッサまたは関連するモジュールが、サブバンドデータの復号を実施することができる。一実施形態では、サブバンドデータは、インターレース内の各サブバンドについてのチャネル推定と共に、ＬＬＲモジュールで処理される。
【０１７５】
図１８は、シンボルサンプルを復調する方法１７２０の単純化した流れ図である。方法１７２０は、図１７の方法で実施される復調動作に対応することができる。サンプルを復調する方法１７２０を、図３または図４のＦＦＴプロセッサで実施することができる。より具体的には、シンボルサンプルを復調する方法を、図３の復調ブロックで実施することができる。
【０１７６】
復調ブロックはいくつかのカウンタを含むことができ、シンボルの始めにすべてのカウンタをリセットすることによって方法１７２０を開始することができる。シンボルの始めは少量だけ変化する可能性があるが、開始時間の誤差が任意のＯＦＤＭ循環プレフィックスの持続時間未満である場合、この少量は復調する方法１７２０の目的にとって重要ではない。
【０１７７】
復調ブロックはブロック１８２０に進み、ＯＦＤＭシンボル内の複数のインターレースからインターレースを求める。復調ブロックは、例えば、ｍｏｄｕｌｏ−Ｍカウンタでインターレースを追跡することができる。ただし数Ｍはインターレースの数に対応する。当初、カウンタをゼロにセットすることができ、各サンプルの後に増分することができる。
【０１７８】
復調ブロックはブロック１８３０に進み、受け取ったサンプルを回転する。一実施形態では、復調ブロックは、インターレースに基づいて求められる固定値だけ、受け取ったシンボルを回転する。したがって、８個のインターレースを有するＯＦＤＭシンボルでは、インプットサンプルが８位相のうちの１つだけ回転する。
【０１７９】
サンプルを回転した後、復調ブロックはブロック１８４０に進み、回転後サンプルを蓄積する。Ｐ個のインターレース値のＭ個の回転後サンプルを蓄積するように復調ブロックを構成することができる。すなわち、ＯＦＤＭシンボルがＰ個のサブバンドをそれぞれ有するＭ個のインターレースを含む場合、復調ブロックは、シンボルのすべてのサンプルを受け取り、回転し、蓄積するまで、最初のＰ個のサンプルを回転し、次いでそれを格納し、次いでサンプルを回転し、ｍｏｄｕｌｏ−Ｐ構成として蓄積することができる。
【０１８０】
各蓄積の後、復調ブロックは判定ブロック１８５０に進み、すべてのシンボルサンプルが復調されたかどうかを判定する。復調ブロックは、例えばＭ番目のインターレースのＰ番目の値がＭ個の値を蓄積したことを判定することにより、シンボルサンプルの完了を判定することができる。
【０１８１】
シンボルサンプルが復調された場合、復調ブロックはブロック１８６０に進み、シンボル復調と共に行われる。復調ブロックは次のシンボル復調に進むことができる。判定ブロック１８５０で、すべてのシンボルサンプルが処理されているわけではないことを復調ブロックが判定した場合、復調ブロックはブロック１８２０に戻り、次に到来するシンボルサンプルのインターレースを求める。
【０１８２】
図１９は、ＯＦＤＭ信号を処理する方法１９００の単純化した流れ図である。図３および図４に示すＦＦＴプロセッサで方法１９００を実施することができる。具体的には、図１０のＦＦＴエンジンで方法１９００を実施することができる。
【０１８３】
方法１９００はブロック１９１０で始まり、ＦＦＴエンジンがサンプルメモリの複数の行を読み取る。一実施形態では、ＦＦＴエンジンは、サンプルメモリから読み取った各値を登録する。
【０１８４】
ＦＦＴエンジンはブロック１９２０に進み、１つの行内の値に対してバタフライを実施する。有利には、サンプルメモリの各行は、ＦＦＴ基数値に等しいいくつかのサンプル値を格納することができる。したがって、単一の行読み取りは、単一ｒａｄｉｘ−Ｒ  ＦＦＴについての値のすべてをロードすることができる。
【０１８５】
ＦＦＴエンジンはブロック１９３０に進み、トゥイドルメモリからトゥイドル因子の行を取り出す。トゥイドル因子の行は、サンプルメモリの行よりも少ない値を有することができる。一実施形態では、サンプルメモリの各行は８個のサンプル値を含み、トゥイドルメモリは、各行に４個のトゥイドル因子を格納する。
【０１８６】
ＦＦＴエンジンはブロック１９４０に進み、バタフライ値にトゥイドル因子を乗算する。一実施形態では、複素数乗算器の数は、トゥイドルメモリの行内のトゥイドル因子の数に等しく、トゥイドル因子乗算を１サイクルで実行することができる。トゥイドル因子よりも多くのバタフライ値が存在する可能性があるので、ｒａｄｉｘ−Ｒ  ＦＦＴの各ステージを完了するのに複数の乗算ステップを実施する必要がある可能性がある。通常、各バタフライ値には、ＦＦＴのステージごとに１つのトゥイドル因子のみが乗算される。あるバタフライ値は、トゥイドル因子を乗算なしに実施することができるので、複素数乗算関数を必要としないことがある。
【０１８７】
バタフライ値をトゥイドル因子と乗算した後、ＦＦＴエンジンは、トゥイドル後の値をメモリまたはレジスタに書き戻し、値の行の処理が完了する。したがって、ＦＦＴエンジンは、メモリからわずか８回の読取りで、ｒａｄｉｘ−８ＦＦＴなどのｒａｄｉｘ−Ｒ  ＦＦＴを実施することができる。
【０１８８】
図２０は、ＦＦＴプロセッサ２０００の単純化した機能ブロック図である。ＦＦＴプロセッサは、データを格納する手段に結合された復調のための手段を含む。データを格納する手段は、様々なモジュール間で共有される。サンプルを変換する手段を、データを格納する手段に結合することができる。チャネルを推定する手段も、データを格納する手段に結合することができ、格納された値に対して動作することができる。サンプル値を変換する手段によって生成されたサブバンド情報を復号する手段は、変換後のサンプル値に対して動作することができる。
【０１８９】
図２１は、ＦＦＴエンジン２１００の単純化した機能ブロック図である。ＦＦＴエンジン２１００は、サンプルを格納する手段を含み、サンプルは復調後ＯＦＤＭシンボルサンプルでよい。サンプルを格納する手段は、バタフライを計算する手段に結合される。バタフライを計算する手段による演算のために、サンプルを格納する手段からレジスタに値をロードするように処理する手段を構成することができる。
【０１９０】
バタフライを計算する手段は、取り出したサンプルに対するバタフライを計算し、計算したバタフライ値を、値を転置する手段に書き込むように構成される。手段の転置が可能となるように、値を転置する手段に例えば列方向にデータを書き込み、行方向にデータを読み取ることができる。
【０１９１】
係数を格納する手段を使用して、複数の行にトゥイドル因子を格納することができる。値を正規化する手段を使用して、値を転置する手段からの値を正規化することができる。
【０１９２】
ＯＦＤＭシンボルを処理するいくつかのＦＦＴプロセッサ、ＦＦＴエンジン、および方法を説明した。共有メモリアーキテクチャを用いる複数のモジュールの統合は、ＯＦＤＭ受信機設計を大幅に単純化することができる。そのような方式でＦＦＴエンジンを実施してＦＦＴサイクルカウントを大幅に削減することができると共に、複素数乗算器などのコストの高いリソースを十分利用しないということがない。
【０１９３】
本明細書では、結合または接続という用語は、間接的結合ならびに直接的結合または接続を意味するのに使用される。２つ以上のブロック、モジュール、装置、機器が結合される場合、結合される２つのブロック間に１つまたは複数の介在ブロックが存在する可能性がある。
【０１９４】
本明細書で開示される実施形態と共に説明した様々な例示的論理ブロック、モジュール、および回路を、本明細書に記載の機能を実施するように設計された汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他のプログラマブル論理装置、離散的ゲートまたはトランジスタロジック、離散的ハードウェア構成要素、あるいはそれらの組合せと共に実装または実施することができる。汎用プロセッサはマイクロプロセッサでよいが、代替として、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンでよい。プロセッサを、コンピューティング装置の組合せ、例えばＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと一緒の１つまたは複数のマイクロプロセッサ、または他のそのような構成として実装することもできる。
【０１９５】
本明細書で開示される実施形態に関連して説明した方法、プロセス、またはアルゴリズムのステップを、直接的にハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその２つの組合せで実施することができる。方法またはプロセスでの様々なステップまたは動作を、図示する順序で実施することができ、または別の順序で実施することができる。さらに、１つまたは複数のプロセスまたは方法ステップを省略することができ、あるいは方法およびプロセスに１つまたは複数のプロセスまたは方法ステップを追加することができる。追加のステップ、ブロック、または動作を、方法およびプロセスの最初、終り、または中間に存在するエレメントに追加することができる。
【０１９６】
当業者が開示を作成または使用することが可能となるように、本開示の実施形態の上記の説明を与えた。こうした実施形態に対する様々な修正が当業者には直ちに明らかとなるであろうし、本開示の精神または範囲から逸脱することなく、本明細書で定義される一般的原理を他の実施形態に適用することができる。したがって、本開示は本明細書で示される実施形態に限定されるものではなく、本明細書で開示される原理および新規な特徴に適合する最も広い範囲が与えられるものとする。
【図面の簡単な説明】
【０１９７】
【図１】無線通信システムの一実施形態の機能ブロック図である。
【図２】ＯＦＤＭ受信機の一実施形態の単純化した機能ブロック図である。
【図３】ＯＦＤＭシステム用のＦＦＴプロセッサの一実施形態の単純化した機能ブロック図である。
【図４】ＯＦＤＭシステム用のＦＦＴプロセッサの一実施形態の単純化した機能ブロック図である。
【図５】ＯＦＤＭインターレースの一実施形態の単純化した機能ブロック図である。
【図６】ＯＦＤＭプロセッサでの共有メモリ使用法の単純化したタイムラインである。
【図７】パイロットチャネル処理の一実施形態の単純化した機能ブロック図である。
【図８】論理チャネル制御ロジックの一実施形態の単純化した状態ブロック図である。
【図９】ＦＦＴプロセッサの一実施形態の単純化状態ブロック図である。
【図１０】ＦＦＴエンジンの一実施形態の単純化した機能ブロック図である。
【図１１】ｒａｄｉｘ−８ＦＦＴバタフライの一実施形態の単純化した機能ブロック図である。
【図１２】ｒａｄｉｘ−８ＦＦＴバタフライの最初の２つの状態の一実施形態の単純化した機能ブロック図である。
【図１３】ｒａｄｉｘ−８ＦＦＴバタフライのステージの一実施形態の単純化した機能ブロック図である。
【図１４】ｒａｄｉｘ−８ＦＦＴでのトゥイドル乗算順序の単純化した表現である。
【図１５】パイプライン式ｒａｄｉｘ−８ＦＦＴ演算の単純化したタイミング図である。
【図１６】パイプライン式２５６点ＦＦＴの単純化したタイミング図である。
【図１７】ＯＦＤＭ信号を処理する方法の単純化した流れ図である。
【図１８】シンボルサンプルを復調する方法の単純化した流れ図である。
【図１９】ＯＦＤＭ信号を処理する方法の単純化した流れ図である。
【図２０】ＦＦＴプロセッサの単純化した機能ブロック図である。
【図２１】ＦＦＴエンジンの単純化した機能ブロック図である。
【図１】
2008533873.tif 000004
【図２】
2008533873.tif 000005
【図３】
2008533873.tif 000006
【図４】
2008533873.tif 000007
【図５】
2008533873.tif 000008
【図６】
2008533873.tif 000009
【図７】
2008533873.tif 000010
【図８】
2008533873.tif 000011
【図９】
2008533873.tif 000012
【図１０】
2008533873.tif 000013
【図１１】
2008533873.tif 000014
【図１２】
2008533873.tif 000015
【図１３】
2008533873.tif 000016
【図１４】
2008533873.tif 000017
【図１５】
2008533873.tif 000018
【図１６】
2008533873.tif 000019
【図１７】
2008533873.tif 000020
【図１８】
2008533873.tif 000021
【図１９】
2008533873.tif 000022
【図２０】
2008533873.tif 000023
【図２１】
2008533873.tif 000024
【手続補正書】
【提出日】平成19年12月5日(2007.12.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
他の通信システムでの受信信号の処理と比較して、ＯＦＤＭシステムの処理がかなり必要とされる可能性がある。必要な大量の処理により、処理能力に関して受信機に対して大きな負担がかかる。その変調方式を使用する通信システムがさらに普及することを可能にするために、ＯＦＤＭ受信機での処理能力を向上させることができることが望ましい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
ＯＦＤＭ受信機用のＦＦＴプロセッサと、ＯＦＤＭシステムで受信シンボルを処理する方法とが本明細書で説明される。ＦＦＴプロセッサは、受信したＯＦＤＭシンボルに関するデータ復調、チャネル推定、およびファインタイミング取得（ｆｉｎｅ  ｔｉｍｉｎｇ  ａｃｑｕｉｓｉｔｉｏｎ）を実施するように構成された複数の相関する動作ブロックを含む。ＦＦＴプロセッサは、チャネル推定および復調ブロックと共有されるメモリアーキテクチャを使用して、パイプライン式ＦＦＴエンジンを組み込む。共有メモリ構造とパイプライン式ＦＦＴ演算の組合せにより、次に受信するシンボルを取り込むために使用される時間中にチャネル推定および復調処理を完了することが可能となる。