(57)【要約】ＤＩＦ  ＦＦＴステージがＮ２進数ＦＦＴにおいて使用され、ここでＮは偶数の整数である。第１の入力サンプルｘ（ｖ）と第２の入力サンプルｘ（ｖ＋Ｎ／２）とを受信し、第１および第２の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて、または代わりに第２および第１の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて選択的に提供する交換論理回路を、ＤＩＦ  ＦＦＴステージは備え、ここで０≦ｖ＜Ｎ／２である。第１および第２の交換論理回路出力ポートにより提供された値を加算する合計ユニットと、第１および第２の交換論理回路出力ポートにより提供された値を減算する差分ユニットと、差分ユニットにより提供された値に回転因子ＷＮ（ｖ＋ｓ）ｍｏｄ（Ｎ／２）を乗算する回転因子論理回路とを、ＤＩＦ  ＦＦＴステージはさらに備え、ここでｓはＮ個の入力サンプルの円移動の量を表す整数である。【選択図】なし
2009519637.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ２進数フーリエ変換に使用する周波数間引き（ＤＩＦ）高速フーリエ変換（ＦＦＴ）ステージであって、その場合Ｎは整数であり、
前記ＤＩＦ  ＦＦＴステージは、
第１の入力サンプルｘ（ｖ）と第２の入力サンプルｘ（ｖ＋Ｎ／２）とを受信し、前記第１および第２の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて、または代わりに前記第２および第１の入力サンプルをそれぞれ前記第１および第２の交換論理回路出力ポートにて、選択的に提供する交換論理回路と、その場合０≦ｖ＜Ｎ／２であることと、
前記第１および第２の交換論理回路出力ポートにより提供された値を加算する合計ユニットと、
前記第１および第２の交換論理回路出力ポートにより提供された値を減算する差分ユニットと、
前記差分ユニットにより提供された値に回転因子ＷＮ（ｖ＋ｓ）ｍｏｄ（Ｎ／２）を乗算する回転因子論理回路と、その場合ｓはＮ個の入力サンプルの円移動の量を表す整数であることと、
を備えるＤＩＦ  ＦＦＴステージ。
【請求項２】
高速フーリエ変換（ＦＦＴ）プロセッサであって、
請求項１に記載のＤＩＦ  ＦＦＴステージと、
（ｖ＋ｓ）ｍｏｄＮ＜Ｎ／２である場合には、前記第１および第２の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）ｍｏｄＮ≧Ｎ／２である場合には、前記第２および第１の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、前記交換論理回路を制御する論理回路と
を備えるＦＦＴプロセッサ。
【請求項３】
直交周波数分割多重（ＯＦＤＭ）受信機であって、
請求項２に記載のＦＦＴプロセッサと、
前記入力サンプルの円移動の量を決定し、前記入力サンプルの回転の量と同値であるが反対方向であるｓの値を用いるように前記ＦＦＴプロセッサを制御する論理回路と
を備えるＯＦＤＭ受信機。
【請求項４】
前記入力サンプルの円移動は、不適切に配置されたＦＦＴ窓により引き起こされる、請求項３に記載のＯＦＤＭ受信機。
【請求項５】
前記入力サンプルの円移動は、大きな遅延拡散を有するチャネルを通した前記入力サンプルの伝播により引き起こされる、請求項３に記載のＯＦＤＭ受信機。
【請求項６】
高速フーリエ変換（ＦＦＴ）プロセッサであって、
請求項１に記載のＤＩＦ  ＦＦＴステージと、
（ｖ＋ｓ）∧Ｎ／２＝０である場合には、前記第１および第２の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）∧Ｎ／２≠０である場合には、前記第２および第１の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、交換論理回路を制御する論理回路と、その場合∧はビット単位の論理ＡＮＤ演算を表すことと、
を備えるＦＦＴプロセッサ。
【請求項７】
Ｎ２進数フーリエ変換に使用する周波数間引き（ＤＩＦ）高速フーリエ変換（ＦＦＴ）を行う方法であって、その場合Ｎは偶数の整数であり、
前記ＤＩＦ  ＦＦＴ方法は、
第１の入力サンプルｘ（ｖ）と第２の入力サンプルｘ（ｖ＋Ｎ／２）とを受信し、前記第１および第２の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて、または代わりに前記第２および第１の入力サンプルをそれぞれ前記第１および第２の交換論理回路出力ポートにて、選択的に提供することと、その場合０≦ｖ＜Ｎ／２であることと、
前記第１および第２の交換論理回路出力ポートにより提供された値を加算することと、
前記第１および第２の交換論理回路出力ポートにより提供された値を減算することにより差分値を生成することと、
前記差分値に回転因子ＷＮ（ｖ＋ｓ）ｍｏｄ（Ｎ／２）を乗算することと、その場合ｓは、Ｎ個の入力サンプルの円移動の量を表す整数であることと、
を含む方法。
【請求項８】
（ｖ＋ｓ）ｍｏｄＮ＜Ｎ／２である場合には、前記第１および第２の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）ｍｏｄＮ≧Ｎ／２である場合には、前記第２および第１の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすること
を含む請求項７に記載の方法。
【請求項９】
前記入力サンプルの円移動の量を決定し、前記入力サンプルの回転の量と同値であるが反対方向である値にｓを設定すること
を含む請求項８に記載の方法。
【請求項１０】
前記入力サンプルの円移動は、不適切に配置されたＦＦＴ窓により引き起こされる、請求項９に記載の方法。
【請求項１１】
前記入力サンプルの円移動は、大きな遅延拡散を有するチャネルを通した前記入力サンプルの伝播により引き起こされる、請求項９に記載の方法。
【請求項１２】
（ｖ＋ｓ）∧Ｎ／２＝０である場合には、前記第１および第２の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）∧Ｎ／２≠０である場合には、前記第２および第１の入力サンプルを、それぞれ前記第１および第２の交換論理回路出力ポートにて提供されるようにすることと、その場合∧はビット単位の論理ＡＮＤ演算を表すことと、
を含む請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は高速フーリエ変換（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ：ＦＦＴ）に関し、より具体的には、入力データの巡回移動（ｃｙｃｌｉｃ  ｓｈｉｆｔ）を有するＦＦＴを、または同値として、各出力データの回転を有するＦＦＴを達成することに関する。
【背景技術】
【０００２】
低レベル電気通信信号送信から音声および画像処理に至る現代デジタル信号処理において、ＦＦＴは非常に多くの用途を有している。ある用途においては、特定の目的のために変換データセットが前移動（ｐｒｅ‐ｓｈｉｆｔｅｄ）または後回転される（ｐｏｓｔ‐ｒｏｔａｔｅｄ）。
【０００３】
変換理論から、前移動（ｐｒｅ‐ｓｈｉｆｔ）および後回転（ｐｏｓｔ‐ｒｏｔａｔｉｏｎ）は同値の演算であることが知られている。しかしながら従来配列においては、前移動および後変換の実施形態は互いに異なる。前移動機（ｐｒｅ‐ｓｈｉｆｔｅｒ）は、少なくとも変換大の大きさのバッファ、およびあるアドレス論理回路（ａｄｄｒｅｓｓｉｎｇ  ｌｏｇｉｃ）から構成される。一方、後回転機（ｐｏｓｔ‐ｒｏｔａｔｏｒ）は、例えば座標回転デジタルコンピュータ（ＣＯｏｒｄｉｎａｔｅ  Ｒｏｔａｔｉｏｎ  ＤＩｇｉｔａｌ  Ｃｏｍｐｕｔｅｒ：ＣＯＲＤＩＣ）アルゴリズムを用いる複合乗算機または純粋な回転機、およびある回転角生成機（例えばメモリに格納されたテーブル）として実施される。
【０００４】
ＦＦＴと併せて前移動および／または後回転が用いられる典型的な用途は、直交周波数分割多重（Ｏｒｔｈｏｇｏｎａｌ  Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ：ＯＦＤＭ）を活用して情報を通信する通信システムにある。現在、ＯＦＤＭは、様々なワイヤレスローカルエリアネットワーク（ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＷＬＡＮ）規格（例えばＩＥＥＥ８０２．１１ａおよびＷｉＭＡＸ）およびデジタルテレビジョン（ＤＶＢ）において用いられている。またＯＦＤＭは、超広帯域（ｕｌｔｒａ  ｗｉｄｅｂａｎｄ：ＵＷＢ）および「３Ｇ」（ｔｈｉｒｄ  ｇｅｎｅｒａｔｉｏｎ）セルラーシステムへの拡大などのような将来の通信規格についても考慮されている。
【０００５】
前移動の一用途は、ＯＦＤＭにおいて時間同期を改善することにある。巡回プレフィックスを有する単一の時間領域ＯＦＤＭシンボルを図１に示す。送信機にて、データが複素数へ符号化され、複素数は逆フーリエ変換されており、時間領域において巡回プレフィックスが付加されている。受信機側にて、順フーリエ変換を応用することによりデータが再生される。全部とまではいかなくともほとんどの実施形態は、時間‐周波数変換に対する何らかのＦＦＴアルゴリズムに依存している。
【０００６】
受信機時間同期、つまりＦＦＴ窓を配置するための最良の場所を発見することが、受信機の性能を良くするには欠かせない。１つよりも多くのシンボル（その巡回プレフィックスも含む）が含まれるように窓が配置されるような状況は、シンボル間干渉（ｉｎｔｅｒ‐ｓｙｍｂｏｌ  ｉｎｔｅｒｆｅｒｅｎｃｅ：ＩＳＩ）つまり２つの独立のシンボルが１つに混合されることを起こすため、あり得ない。
【０００７】
窓の最適な配置は、「できる限り後で（ａｓ  ｌａｔｅ  ａｓ  ｐｏｓｓｉｂｌｅ）」、次のシンボルの巡回プレフィックスからのデータを含むことなく配置することである。しかしながら、あまり無理な手法はＩＳＩを引き起こす場合があり、そのためいくらか安全性の余地を残しておく必要がある。巡回プレフィックスの部分も含め、早くに窓を配置することにより、チャネルのインパルス応答が十分短い限りにおいては、ＩＳＩの恐れが取り除かれる。
【０００８】
ＦＦＴ窓の早期配置は、変換入力データの巡回移動に対応する（図１参照のこと）。送信機における最右位置にあるデータチャンクがここで受信機ＦＦＴ窓における左に現れる。チャネル推定機において周波数補間を用いるシステムについては、移動が大きくなればなるほど、補間も複雑になっていく。チャネル推定を単純にしておくために、前移動または後回転により、入力データはＦＦＴ窓において一列に並べられるべきである。
【０００９】
ＯＦＤＭにおける前移動および／または後回転の別の用途は、通信チャネルが大きな遅延拡散（ｄｅｌａｙ  ｓｐｒｅａｄ）を有する場合である。このようなチャネルは、周波数領域における回転をエクスペリエンスするが、かかる回転は、提案するＦＦＴスキームにより軽減可能である。
【００１０】
前移動および／または後回転の利点は、代償なしでは実現しない。時間領域における円移動（ｃｉｒｃｕｌａｒ  ｓｈｉｆｔ）は、ハードウェアの実施形態に、大きなバッファ、対応する待ち時間およびエネルギー消費を必要とする。対応する後回転は、全変換出力データに関して作動する高精度逆回転機（ｄｅ‐ｒｏｔａｔｏｒ）を必要とし、チップエリアおよびエネルギー消費の増大を招く。
【００１１】
既存の解決方法は提示したような問題を抱えている。最新技術の円移動は、時間または周波数のどちらかにおいて実施される。２つの方法は異なる実現に終わるが、その２つに共通することは、ＦＦＴ単独と比較すると大量に、エリア、待ち時間、およびエネルギー消費が増加することである。
【００１２】
時間領域解決方法として、ＦＦＴへの入力データは変換前に円移動される。この移動を行うために、ＦＦＴがパイプライン型の手法を用いて実施されていない場合には、送信される全データが使用可能である必要がある。このように、Ｎワードの大きさの追加バッファが必要とされる。パイプライン型の手法がＦＦＴに用いられたとしても、配列が処理可能となる円移動の量によっては、Ｎ−１ワードまで格納するためのバッファを与えることが必要となる場合もある。
【００１３】
周波数領域の方法において、移動は各出力データの回転に対応する。この場合にはバッファは必要ないが、この技術は、高分解能回転機を必要とするという関連問題をなおも抱えている。加えて、ＦＦＴからの出力データは逆ビット順（ｂｉｔ‐ｒｅｖｅｒｓｅｄ  ｏｒｄｅｒ）で生成される場合がある。すなわち、連続出力サンプルごとの回転角が多少不規則に見えるであろう、ということを意味する。このようにして、角を格納するテーブルは大きくなってしまう。
【００１４】
先述の議論を考慮すると、最新技術の方法は、エリア、待ち時間、およびエネルギー消費における大きなオーバーヘッドが障害となっていることが明らかである。したがって、データの前移動／後回転を有するＦＦＴを達成する改善技術および装置を与えることが望ましい。
【発明の開示】
【００１５】
「ｃｏｍｐｒｉｓｅｓ（含む）」および「ｃｏｍｐｒｉｓｉｎｇ（含むこと）」という言葉が本明細書において使用される場合、所定の（ｓｔａｔｅｄ）特徴、整数、ステップまたは構成要素の存在を明細に記すためにとられているということが強調されるべきである。しかし、これらの言葉の使用は、１または２以上の他の特徴、整数、ステップ、構成要素またはそれらの組の存在または追加を排除するものではない。
【００１６】
本発明の一側面によれば、先述のおよび他の目的は、Ｎ２進数（Ｎ  ｂｉｎ）ＦＦＴにおいて用いられる周波数間引き（Ｄｅｃｉｍａｔｉｏｎ  Ｉｎ  Ｆｒｅｑｕｅｎｃｙ：ＤＩＦ）ＦＦＴステージにおいて達成され、ここでＮは偶数の整数である。第１の入力サンプルｘ（ｖ）と第２の入力サンプルｘ（ｖ＋Ｎ／２）とを受信し、第１および第２の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて、または代わりに第２および第１の入力サンプルをそれぞれ第１および第２の交換論理回路出力ポートにて選択的に提供する交換論理回路を、ＤＩＦ  ＦＦＴステージは備え、ここで０≦ｖ＜Ｎ／２である。第１および第２の交換論理回路出力ポートにより提供された値を加算する合計ユニットと、第１および第２の交換論理回路出力ポートにより提供された値を減算する差分ユニットと、差分ユニットにより提供された値に回転因子ＷＮ（ｖ＋ｓ）ｍｏｄ（Ｎ／２）を乗算する回転因子論理回路とを、ＤＩＦ  ＦＦＴステージはさらに備え、ここでｓはＮ個の入力サンプルの円移動の量を表す整数である。
【００１７】
別の側面において、上述のＤＩＦ  ＦＦＴステージと、（ｖ＋ｓ）ｍｏｄＮ＜Ｎ／２である場合には、第１および第２の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）ｍｏｄＮ≧Ｎ／２である場合には、第２および第１の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、交換論理回路を制御する論理回路とを、ＦＦＴプロセッサが備える。
【００１８】
代替実施形態において、上述のＤＩＦ  ＦＦＴステージと、（ｖ＋ｓ）∧Ｎ／２＝０である場合には、第１および第２の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、および（ｖ＋ｓ）∧Ｎ／２≠０である場合には、第２および第１の入力サンプルを、それぞれ第１および第２の交換論理回路出力ポートにて提供されるようにすることにより、交換論理回路を制御する論理回路とを、ＦＦＴプロセッサが備え、ここで∧はビット単位の論理ＡＮＤ演算を表す。
【発明を実施するための最良の形態】
【００１９】
本発明の目的および利点は、図面と併せて以下の詳細な説明を読むことにより理解されるであろう。
【００２０】
本発明の様々な特徴を、図面を参照しながらここで説明することにする。図面において、同様の部分は同一の参照文字で識別してある。
【００２１】
本発明の様々な側面を、多くの例示的実施形態に関連させながら、ここでさらに詳しく説明することにする。本発明の理解を容易にするために、コンピュータシステムの構成要素、またはプログラム型命令を実行可能な他のハードウェアの構成要素により行われる動作列で、本発明の多くの側面を説明する。各実施形態において、特殊回路（ｓｐｅｃｉａｌｉｚｅｄ  ｃｉｒｃｕｉｔ）（例えば特殊機能を行うように連結された離散論理回路ゲート）により、１または２以上のプロセッサにより実行されるプログラム命令により、またはその両方の組合せにより、様々な動作が行われ得ることが認識されるであろう。また、プロセッサにここで説明する技術を実行させるコンピュータ命令の適切な組を含む固体メモリ、磁気ディスク、光ディスク、またはキャリア波（電磁波、音波、または光波キャリア波など）などのようなコンピュータ読出可能キャリアのいかなる形態内で、本発明は全体的に具体化されると見なすこともさらに可能である。このように、本発明の様々な側面は多くの異なる形態で具体化可能であり、このような形態は全部、本発明の範囲内となるように考えられたものである。本発明の様々な側面の各々について、このような実施形態のことを、ここでは、説明した動作を行う「ように構成される論理回路（ｌｏｇｉｃ  ｃｏｎｆｉｇｕｒｅｄ  ｔｏ）」、または代わりに、説明した動作を行う「論理回路（ｌｏｇｉｃ  ｔｈａｔ）」という場合がある。
【００２２】
本発明の一側面は、移動／回転およびＦＦＴを同一演算において行い、それによりハードウェア、時間、およびエネルギーをさらに効果的に用いることである。この手法は、以下で詳細に説明するが、移動ＦＦＴが使用可能であるところの全技術分野に適用可能であり、かかる技術分野には画像処理、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、超広帯域（ＵＷＢ）通信、エコー相殺（ｅｃｈｏ  ｃａｎｃｅｌｌａｔｉｏｎ）などが含まれるが、それらに限定はしない。またこの手法は、パイプライン（ｐｉｐｅｌｉｎｉｎｇ）、基数（ｒａｄｉｘ）、または並列化（ｐａｒａｌｌｅｌｉｚａｔｉｏｎ）とは無関係に、全種類のＦＦＴアーキテクチャに適用可能である。
【００２３】
基数２のＦＦＴアルゴリズムは、離散フーリエ変換から、分割統治法を用いて与えられる。アルゴリズムには２つの基本バージョンがあり、一方は時間領域において間引きする（ｄｅｃｉｍａｔｉｎｇ）ことで分割し、他方は周波数領域における間引きで分割する。本発明の様々な側面の理解を容易にするために、基数２の周波数間引き（Ｄｅｃｉｍａｔｉｏｎ  Ｉｎ  Ｆｒｅｑｕｅｎｃｙ：ＤＩＦ）のＦＦＴアルゴリズムの誘導からここで議論を始める。
【００２４】
まず、ｎ＝０，……，Ｎ−１においてｘ（ｎ）をサンプル列とし、ここでＮは偶数であり、好ましくは２の乗数である。次に数列ｘ（ｎ）の離散フーリエ変換（Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ：ＤＦＴ）をＸ（ｋ）と表し、ここでｋ＝０，……，Ｎ−１である。回転因子記号（ｔｗｉｄｄｌｅ  ｆａｃｔｏｒ  ｎｏｔａｔｉｏｎ）
ＷＮ＝ｅ−ｊ２π／Ｎ
を式の単純化のために用いると、ｘ（ｎ）からＸ（ｋ）へのＤＦＴは以下のように書ける。
【００２５】
【数１】
2009519637.tif 000003
【００２６】
次に数式（１）は、周波数ｋの偶奇について独立に分析される。偶周波数について、数式は以下となる。
【００２７】
【数２】
2009519637.tif 000004
【００２８】
和の回転因子は、元の数式（１）と比べ、ｎ＝０，……，Ｎ−１について２倍の回転数を完備（ｃｏｍｐｌｅｔｅ）する。ゆえに和は、以下のように２つの半分の範囲まで、０からＮ／２−１までの和に分割される。
【００２９】
【数３】
2009519637.tif 000005
【００３０】
この数式は、０≦ｎ＜Ｎ／２においてｕ（ｎ）＝ｘ（ｎ）＋ｘ（ｎ＋Ｎ／２）を定義することにより、その解釈がより簡単になる。実際、上式は以下のように大きさＮ／２のｕ（ｎ）のＦＦＴとなる。
【００３１】
【数４】
2009519637.tif 000006
【００３２】
さて、変換の奇周波数へ焦点を変えて、同様の手法を適用すると、以下が与えられる。
【００３３】
【数５】
2009519637.tif 000007
【００３４】
ここでまた、回転因子は数式（１）と比べると、ｎの範囲が０からＮ−１までの場合、２倍の回転数となり、上と同様に和は半分の範囲、０からＮ／２−１の和に分割され、以下となる。
【００３５】
【数６】
2009519637.tif 000008
これは下式に等しい。
【００３６】
【数７】
2009519637.tif 000009
【００３７】
新しく、ｎ＝０からＮ／２−１において、補助変数ｖ（ｎ）＝ＷＮｎ（ｘ（ｎ）−ｘ（ｎ＋Ｎ／２））を導入すると、以下となる。
【００３８】
【数８】
2009519637.tif 000010
【００３９】
結論として、信号ｘ（ｎ）の大きさＮのＦＦＴは、数列ｕ（ｎ）およびｖ（ｎ）の大きさＮ／２のＦＦＴ２つの計算に分割され、ここでｕおよびｖはｘの単関数であり、
ＤＦＴＮ｛ｘ（ｎ）｝→ＤＦＴＮ／２｛ｕ（ｎ）｝およびＤＦＴＮ／２｛ｖ（ｎ）｝であり、
ここで、ｕ（ｎ）＝    （ｘ（ｎ）＋ｘ（ｎ＋Ｎ／２）），
ｖ（ｎ）＝ＷＮｎ（ｘ（ｎ）−ｘ（ｎ＋Ｎ／２））．
大きさＮ／２のＦＦＴ２つから大きさＮのＦＦＴを決定する配列を図２に示す。図式におけるｕおよびｖの生成は、図における加減構造の形状（破線ボックス２０１に囲んである）から、通例「ＦＦＴバタフライ（ＦＦＴ  ｂｕｔｔｅｒｆｌｙ）」と呼ばれる。
【００４０】
装置およびコンピュータ適用手法は、半分の大きさの変換２つに分割される変換が偶数である限り繰り返される。各反復は常にＮ／２個の新たなバタフライのグループのとなる。このようなグループはバタフライステージと呼ばれる。これを説明するため、図３に、各々８つのバタフライからなる４つのバタフライステージを有するＮ＝１６のＤＩＦ  ＦＦＴの概略アウトラインを示す。どのように出力が逆ビット順で生成されるかに留意のこと：入力順を０，１，２，３，……，１３，１４，１５（２進法では００００，０００１，００１０，００１１，……，１１０１，１１１０，１１１１）と仮定すると、出力は、０，８，４，１２，……１１，７，１５の順になる（２進法では００００，１０００，０１００，１１００，……，１０１１，０１１１，１１１１）。
【００４１】
１つの変換から半分の大きさの２つの変換へのそれぞれ個々の分割においては、Ｎは２乗される必要がないことを、さらに指摘する。しかしながら、完全変換（ｃｏｍｐｌｅｔｅ  ｔｒａｎｓｆｏｒｍ）の大きさが２乗ではないならば、あるステージにおいてＮは偶数であるが、Ｎ／２は偶数ではなく、該変換は上述の手法を用いてさらに分割することはできない。
【００４２】
前移動および後回転の効果をここで説明することにする。前と同様に、時間離散信号ｘ（ｎ）（ｎ＝０，……，Ｎ−１）のＤＦＴは以下のように定義される。
【００４３】
【数９】
2009519637.tif 000011
ここでｋ＝０，……，Ｎ−１である。左へｓ巡回ステップだけ移動した信号ｘ（ｎ）をｘｓ（ｎ）とすると、
ｘｓ（ｎ）＝ｘ（（ｎ＋ｓ）ｍｏｄＮ）
である。さて、ｘｓ（ｎ）のフーリエ変換は以下の定義による。
【００４４】
【数１０】
2009519637.tif 000012
ｎ＝ｌを代入すると、以下が与えられる。
【００４５】
【数１１】
2009519637.tif 000013
これは、回転因子（ｒｏｔａｔｉｏｎ  ｆａｃｔｏｒ）ＷＮ−ｋｓを乗じられたｘ（ｎ）の変換である。このように、時間領域における移動は、周波数領域における回転に対応する。逆フーリエ変換については、状況は逆である。
【００４６】
ＦＦＴのハードウェアの実施形態は、図３に示したもののように、そのデータフローグラフの直写像に基づいてもよい。しかしながら、このような構造は、全入力データが変換ごとに並列に使用可能であることを必要とするため、大抵あまりに高速な支援ハードウェアを必要とするであろう。言い換えれば、データフローグラフから直接設計されるＦＦＴを活用するためには、データは実際の変換スピードよりもＮ倍速いペースで到着する必要があるということである。データレートがより遅い場合、ハードウェアはかなりの時間をアイドル状態で入力を待ち続け、かかる実施形態に不必要なチップエリアの浪費をもたらすであろう。
【００４７】
多くのデジタル信号処理の用途では、サンプルが次々と到着するような連続方式（ｓｅｒｉａｌ  ｆａｓｈｉｏｎ）で、データが到着する。これは、例えばアンテナからのデジタル化音声信号またはサンプル化無線ベースバンド信号の場合である。並列ＦＦＴの実施形態は、このような用途には明らかに速過ぎる。かかる不釣合いを回避するために、データフローグラフが、実施されるバタフライステージごとにバタフライプロセッサを１つだけ必要とする方法で重ね合わせられてもよい。
【００４８】
このような重ね合わせＦＦＴ（ｆｏｌｄｅｄ  ＦＦＴ）の実施形態のための、基数２のバタフライステージ４００のアーキテクチャを、図４（ａ）に示す。大きさＮのＦＦＴは、ｌｏｇ２（Ｎ）から構成され、かかるステージは連続して接続されている。基数２のバタフライステージ４００は遅延線４０１および選択可能データパス論理回路４０３を有する。基数２のバタフライステージ４００を通るデータパスは、２つの演算方式を有する。すなわち、移動方式（ｓｈｉｆｔ  ｍｏｄｅ）（図４（ｂ）に図示）、および計算方式（ｃｏｍｐｕｔａｔｉｏｎ  ｍｏｄｅ）（図４（ｃ）に図示）である。
【００４９】
移動方式において、データパス論理回路４０３は、入力からＮ／２個のサンプルを受信し、それらサンプルを遅延線４０１へフィードするように構成される。並行して、データパス論理回路４０３は、遅延線４０１のコンテンツを受信し、このコンテンツを基数２のバタフライステージ４００の出力として提供する。このように、この方式における基数２のバタフライステージ４００は、遅延線としてのみ作用する。
【００５０】
計算方式において、データパス論理回路４０３は、現入力サンプル、および遅延線から外に移動されたデータからのバタフライ演算を計算する。バタフライ演算からのある出力は、基数２のバタフライステージ４００の出力として提供され、一方バタフライ演算の他の出力は遅延線４０１の入力へフィードされる。
【００５１】
本発明の一側面において、標準ＦＦＴプロセッサが、入力データに適用される円移動量とは独立に同じ結果を算出するように修正される。入力データ交換機（ｓｗａｐｐｅｒ）およびオフセットを回転因子インデックスに追加することでバタフライプロセッサ構成要素を変更することを、かかる修正は含む。ある単純な制御論理回路が、回転因子オフセットが何であるべきかと、入力データがいつ交換されるべきかとを決定するために含まれる。このことをここでより詳細に説明する。
【００５２】
本発明の様々な側面の理解を容易にするために、Ｎ２進数ＦＦＴに対する単一のバタフライステージの一例を分析する。Ｎ個の入力サンプルｘ（０），……，ｘ（Ｎ−１）に対するインデックス０，……，Ｎ−１と、ＦＦＴを行うために必要な対応するＮ／２個のバタフライとを考慮されたい。上記バタフライのうちバタフライ０および１（「ＢＦ０」および「ＢＦ１」）を図５に概略的に示す。ＦＦＴアルゴリズムの誘導から明らかなように、各バタフライＢＦｉは、Ｎ／２個の入力サンプルにより離間された入力をとる。つまり、ＢＦｉはその入力としてｘ（ｉ）およびｘ（ｉ＋Ｎ／２）を有する。この配列を用いると、ＢＦｉに対する出力が変数ｘ（ｉ）およびｘ（ｉ＋Ｎ／２）を上書き可能であるため、ＦＦＴアルゴリズムは適切に計算可能である。
【００５３】
入力データインデックスの円左移動（ｃｉｒｃｕｌａｒ  ｌｅｆｔ  ｓｈｉｆｔ）後の状況は、図６に示したようになる。円左移動が行われなかったかのようにＦＦＴが計算されることが望ましい場合、バタフライ演算も移動される必要がある。例えば、最左端のバタフライは、インデックス０およびＮ／２に対応する入力を以前に受信しており、今度はインデックス１およびＮ／２＋１に対応する入力をフィードされる。結果として、ＢＦ０として機能する代わりに、このバタフライはＢＦ１として機能するように変更される。
【００５４】
同様にして、最右端のバタフライは、インデックスＮ／２−１およびＮ−１に対応する入力を以前に受信しており、今度はインデックスＮ／２および０に対応する入力をフィードされる。結果として、ＢＦＮ／２−１として機能する代わりに、このバタフライステージの機能もその入力に合うように変更されるべきである。しかしながら、サンプルｘ（０）が最左端から最右端位置までを包んでしまっているため、２つのサンプルｘ（０）およびｘ（Ｎ／２）の入力順は、標準ＢＦ０バタフライと比べて逆転されていることが観察されるであろう。この入力の逆転を示すため、このバタフライはＢＦ０’と表す。
【００５５】
入力データの右円移動について、その状況は図７に示すようになる。入力における変更のため、最左端のバタフライはＢＦＮ／２−１’と表示可能であり、その右隣はＢＦ０となるということがわかる。残りのバタフライもそれに応じて変わり、最右端のバタフライはＢＦＮ／２−２となる。
【００５６】
図８は、本発明の側面による、基数２のＤＩＦ  ＦＦＴステージ８００（以後「ステージ８００」）の一例の概略図である。所望の円ＦＦＴ機能（ｃｉｒｃｕｌａｒ  ＦＦＴ  ｆｕｎｃｔｉｏｎ）を達成するために、ステージ８００は従来のバタフライステージとはいくつかの点で異なる。まず、２つの入力が２つのマルチプレクサ８０１、８０３にそれぞれ提供される。これにより、これら入力が条件によっては交換されることが可能となる。この交換は、バタフライステージが従来のＢＦｘの位置にあるか（交換は必要なし）、それともＢＦｘ’の位置にあるか（入力の逆転を元に戻すように交換する必要がある）に応じて行われる。
【００５７】
マルチプレクサ８０１、８０３のための制御論理回路（図示せず）は、以下にしたがって動作してもよい。２つの入力ｘ（ｖ）およびｘ（ｖ＋Ｎ／２）を仮定し、ここで０≦ｖ＜Ｎ／２であるとすると、（ｖ＋ｓ）ｍｏｄＮ≧Ｎ／２である場合、マルチプレクサ８０１、８０３は入力を交換するべきであり、または、（ｖ＋ｓ）∧Ｎ／２≠０であり、ここでｓが移動数であり、∧がビット単位の論理ＡＮＤ演算を表す場合、入力は同値であるべきである（Ｎが２の乗数である場合）。さもなければ、交換は生じない。ｓの符号を用いて移動方向を制御可能であるが、一方向におけるｓビットの移動（例えば左）は、逆方向におけるＮ−ｓビットの移動（例えば右）と同値であるため、便宜上ｓは範囲０≦ｓ＜Ｎに限定可能である。
【００５８】
第１のマルチプレクサ８０１からの出力は、合計ユニット８０５の第１の入力へ提供され、また差分ユニット８０７の第１の入力へも提供される。同様に、最後のマルチプレクサ８０３からの出力は、合計ユニット８０５の第２の入力へ提供され、また差分ユニット８０７の第２の入力へも提供される。第２の差分ユニット８０７からの出力は、回転因子論理回路８０９へ提供される。
【００５９】
従来のバタフライステージと異なるステージ８００の別の側面は、回転因子論理回路８０９内で使用される回転多重化定数（ｔｗｉｄｄｌｅ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ  ｃｏｅｆｆｉｃｉｅｎｔ）が因子ｓにより相殺され、それによりＷＮ（ｖ＋ｓ）ｍｏｄ（Ｎ／２）に等しくなるということである。Ｎが２の乗数である場合、モジュロ演算（ｍｏｄｕｌｏ  ｏｐｅｒａｔｉｏｎ）は、２進数システムにおける巻き込み（ｗｒａｐ‐ａｒｏｕｎｄ）となるため、損失もなく達成される。
【００６０】
２つの出力がステージ８００により提供される。これらの出力のうち第１のものであるｘ’（ｖ）は合計ユニット８０５により提供される。これらの出力のうち第２のものであるｘ’（ｖ＋Ｎ／２）は回転因子論理回路８０９により提供される。
【００６１】
多くのステージ８００を、図３に示すような方式で相互接続して、完全なＤＩＦ  ＦＦＴを形成してもよい。代わりに、図４（ａ）に示すような設計にステージ８００を（データパス論理回路４０３の一部として用いるために）組み込み、上述のようなパイプライン型の基数２のＦＦＴアーキテクチャを作成してもよい。
【００６２】
ＦＦＴプロセッサが、前移動データの、または同値に後回転データの変換を、別々の前移動または後回転回路を必要とすることなく直接計算するように構成されるということを、ステージ８００を例とするバタフライステージは可能にする。円ＦＦＴプロセッサは多くの用途に有用である。このような用途には、ＯＦＤＭ受信機におけるＦＦＴ窓誤配置に対する補償（ｃｏｍｐｅｎｓａｔｉｎｇ）、大きな遅延拡散を有するチャネルにより引き起こされる回転の反作用（ｃｏｕｎｔｅｒａｃｔｉｎｇ）が含まれるが、これらに限定はしない。
【００６３】
本発明による設計は、従来技術よりも優れた多くの利点を与える。例えば、かかる設計は、最新技術の前移動または後回転手法が同じ操作を行うために適用される場合に発生する追加領域、エネルギー、およびタイミングインクリメントに煩わされることがない。ＦＦＴプロセッサ内部で移動が行われ、追加ブロックまたは配線は追加される必要がないため、移動量を搬送する入力信号ｓ以外、プロセッサの全体制御もまた単純化される。システム設計者に対しては、追加移動機能性はＦＦＴハードウェア内に隠されている。
【００６４】
サンプルが、適した順序ｘ（０），ｘ（１），ｘ（２），……，ｘ（Ｎ−１）でＦＦＴに到着しないが、代わりにある量ｓだけ円移動され、そのため代わりにｘ（ｓ），ｘ（ｓ＋１），ｘ（ｓ＋２），……，ｘ（Ｎ−１），ｘ（０），ｘ（１），……，ｘ（ｓ−１）という順序で到着する状況に本発明による円ＦＦＴは特に有用である。例えば上記状況は、不適切に配置されたＦＦＴ窓がＯＦＤＭ受信機にある場合に発生し得るものである。また、入力サンプルの望ましくない円移動が、大きな遅延拡散を有するチャネルを通した伝播（ｐｒｏｐａｇａｔｉｏｎ）により引き起こされることもあり得る。ここで開示する円ＦＦＴは、入力サンプルの移動が全くなかったかのように同じＦＦＴ出力が生成されることを可能にするため、かかる問題を解決するのに使用可能である。概念的には、ＦＦＴプロセッサが計算を行う前に入力をある量ｓだけ反対方向へ円移動させたかのようであるが、図示したように、問題解決を達成するには実際の移動は必要ない。このような実施形態は、入力サンプルの円移動の量を決定し、ＦＦＴプロセッサを制御して、入力サンプルの円移動の量と同値であるが方向は逆であるｓの値を使用する論理回路を含むであろう。
【００６５】
具体的な実施形態を参照しながら、本発明を説明してきた。しかしながら、上述の実施形態以外の特定の形態で本発明を具体化することが可能であるということは、当業者にとって容易に明らかとなろう。説明した実施形態は単に例示的なものであり、決して限定的なものであると見なされるべきではない。本発明の範囲は、先述の詳細な説明ではなく、特許請求の範囲によって与えられ、特許請求の範囲内に含まれる均等物は、本発明に含まれるものとして意図されている。
【図面の簡単な説明】
【００６６】
【図１】巡回プレフィックスを有する単一の時間領域ＯＦＤＭシンボルである。
【図２】大きさＮ／２の変換２つから大きさＮのフーリエ変換を決定するための配置である。
【図３】各々８つのバタフライからなる４つのバタフライステージを有するＮ＝１６のＤＩＦ  ＦＦＴの概略的アウトラインである。
【図４（ａ）】重ね合わせＦＦＴの実施形態に対する基数２のバタフライステージのアーキテクチャを示す。
【図４（ｂ）】操作の移動方式の間の重ね合わせＦＦＴの実施形態を示す。
【図４（ｃ）】操作の計算方式の間の重ね合わせＦＦＴの実施形態を示す。
【図５】Ｎ／２個のバタフライ演算を含む配置における２つのバタフライ演算を概略的に示す。
【図６】入力データインデックスの円左移動が行われた後の図５のバタフライ演算における影響を概略的に示す。
【図７】入力データインデックスの円右移動が行われた後の図５のバタフライ演算における影響を概略的に示す。
【図８】本発明の側面による基数２のＤＩＦ  ＦＦＴステージの一例の概略図である。
【図１】
2009519637.tif 000014
【図２】
2009519637.tif 000015
【図３】
2009519637.tif 000016
【図４】
2009519637.tif 000017
【図５】
2009519637.tif 000018
【図６】
2009519637.tif 000019
【図７】
2009519637.tif 000020
【図８】
2009519637.tif 000021
【国際調査報告】
2009519637.tif 000022
2009519637.tif 000023
2009519637.tif 000024