(57)【要約】ＣＤＭＡ受信器により受け取られたミッドアンブルのチップから選択されたＰ個の値に関する素因数分解アルゴリズム（ＰＦＡ）を用いる、ＤＦＴ処理のための装置および方法であり、ここで、Ｐは互いに素な因数Ｆを複数Ｍ個有し、ＤＦＴ処理はＭ組の連続したＦ点ＤＦＴ処理に分割される。Ｐ個のデータ値は単一入力ポートのメモリ（５０１）から引き出され、そして並列レジスタ（５０４、５０５）に格納された関連付けられた回転因子での係数掛けを最適化するために、制御装置（５６０）により、並列キャッシュ（５０２、５０３）の中に選択的に並べ換えられる。並べ換えられた入力は、任意のサイズのＦ点ＤＦＴに適応するべく準備された加算器および乗算器を備える、２または３以上の並列ＰＦＡ回路（５２０、５２１）で係数掛けされる。ＰＦＡ回路の出力は、その値の出力の並べ換えの備えがある連結回路（５３１〜５３８、５４１〜５４８）により処理され、引き続くＤＦＴサイクルのためにメモリに送られる。
2005522804.tif 000002
【特許請求の範囲】
【請求項１】
Ｐが、ｉ＝１からＭ、
（請求項１の積の記号）
である、複数の互いに素な因数Ｎｉを有する、選択された個数Ｐのデータ値のＤＦＴ処理のための装置であって、
Ｐ個のデータ値を格納するためのメモリと、
選択された数Ｋのグループでデータ値を処理するための選択的に制御されるＤＦＴ処理回路とを備え、
前記処理回路は、ＤＦＴ処理のために前記メモリからＫ個のデータ値の連続したグループを受け取るための複数の関連付けられた入力装置を有し、
Ｋ＝Ｎｉ、かつデータ値のＰ／Ｎｉ個のグループがそれぞれの繰り返しに対して処理されるように、それぞれの因数Ｎｉに対して１式、Ｍ組の連続した繰り返しのために前記メモリからのＰ個のデータ値を入力するための制御回路をさらに備えることを特徴とする装置。
【請求項２】
出力装置が前記処理されたデータを前記メモリに出力し、それにより、前記格納されたＰ個のデータ値のそれぞれの連続した処理は前回の処理の繰り返しから出力された値を処理することを特徴とする請求項１に記載の発明。
【請求項３】
Ｐ＝４５６、Ｍ＝３、Ｎ１＝８、Ｎ２＝１９、Ｎ３＝３であることを特徴とする請求項２に記載の発明。
【請求項４】
第１の処理の繰り返しに対してＫ＝Ｎ１、第２の処理の繰り返しに対してＫ＝Ｎ２、および第３の処理の繰り返しに対してＫ＝Ｎ３であることを特徴とする請求項３に記載の発明。
【請求項５】
Ｐ＝１９２、Ｍ＝２、Ｎ１＝３、およびＮ２＝６４であることを特徴とする請求項２に記載の発明。
【請求項６】
前記処理回路は、
すべての因数ＮｉのＤＦＴ処理に関連付けられた回転集合を格納するための第１および第２の回転レジスタと、
Ｌ≧Ｋ／２である、Ｋ個のデータ値のそれぞれのグループのＬ個の選択された値を受け取るための第１のキャッシュと、
Ｋ個の値のそれぞれのグループの他のＫ−Ｌ個のデータ値を受け取り、前記第２のキャッシュで受け取られた前記データ値の処理は、前記第１のキャッシュで受け取られた前記データ値の一部に対称な回転集合を有するような第２のキャッシュと、
前記第１および第２のキャッシュ、および前記第１の回転レジスタから受け取られる、Ｋ個のデータ値グループを処理するための第１の素因数分解アルゴリズム（ＰＦＡ）回路と、および
前記第２の回転レジスタからの回転集合を用いる、前記第１のＰＦＡ回路に直列な、同じＫ個のデータ値グループを処理するための第２のＰＦＡ回路と、
を備えることを特徴とする請求項１に記載の発明。
【請求項７】
前記処理回路は、前記処理回路による出力に対し、前記第１および第２のＰＦＡ回路の出力を結合するための連結回路を含むことを特徴とする請求項６に記載の発明。
【請求項８】
出力装置が前記処理されたデータを前記メモリに出力し、それにより、前記格納されたＰ個のデータ値のそれぞれの連続したＮ点ＤＦＴ処理が前回の処理の繰り返しから出力された値を処理することを特徴とする請求項６に記載の発明。
【請求項９】
Ｐ＝４５６、Ｍ＝３、Ｎ１＝３、Ｎ２＝８、Ｎ３＝１９であることを特徴とする請求項８に記載の発明。
【請求項１０】
第１の処理の繰り返しに対してＫ＝Ｎ１、第２の処理の繰り返しに対してＫ＝Ｎ２、および第３の処理の繰り返しに対してＫ＝Ｎ３であることを特徴とする請求項９に記載の発明。
【請求項１１】
Ｐ＝１９２、Ｍ＝２、Ｎ１＝３、およびＮ２＝６４であることを特徴とする請求項８に記載の発明。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に離散フーリエ変換（ＤＦＴ：Discrete Fourier Transform）に関連する。本発明はより詳細には、ＤＦＴ成分についての素因数分解アルゴリズム（ＰＦＡ）による実施方法を用いる装置および方法に関連する。
【背景技術】
【０００２】
基地局とユーザー装置（ＵＥ）の間のＣＤＭＡ無線通信において、伝送路（チャンネル）推定がＣＤＭＡタイムスロットのミッドアンブル区分について実行される。システムのバースト型に依存して、典型的なＣＤＭＡミッドアンブルに対する区分長Ｌｍは２５６または５１２チップである。しかしながら、チャンネル推定のためにデジタル的に処理されるそのミッドアンブルの部分Ｐは、それぞれ１９２または４５６チップというように縁取りされ、チャンネル推定を劣化させるであろう隣接したデータバーストの当該ミッドアンブルへのデータの漏れの可能性を排除する。
【０００３】
離散フーリエ変換（ＤＦＴ）は、式１により定義されるように、入力信号を離散的時間領域から離散的周波数領域に変換する一般的な数学的ツールである。
【０００４】
【数１】
2005522804.tif 000003
【０００５】
ここで、Ｗｎｋ＝ｅ−ｊ２πｎｋ／Ｎは、実数、虚数部分がそれぞれｃｏｓ（２πｎｋ／Ｎ）、およびｓｉｎ（２πｎｋ／Ｎ）の回転因子（twiddle factor）を表す。
【０００６】
Ｎ個の点がＤＦＴを用いて処理されるとき、処理を完了するために必要な演算の数はＮ２の回数になる。Ｎ個の点のデジタル信号を処理するために基数２の高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）を用いると、演算の数はＮｌｏｇ（Ｎ）の回数となり、かなり少なくなる。しかしながら、そのより高速な基数２のＦＦＴ法を利用することにおいて、その入力が処理されるべき点の数Ｎが２Ｎ（基数２）ではない場合（Ｐ＝１９２または４５６のような）にはゼロでパディングされなくてはならないので、１つの欠点となる。入力信号に人工的にゼロを加えることにより、真にその信号を表現するのではない値の集合についてその後の処理が実行されることになり、そのチャンネル推定はより近似的なものになる。
【０００７】
１つの解決法が、Ｐの素因数に基づくサイズのより小さいマトリックスを用いることにより、そのデジタル信号処理を分解することであり、これにより、ＤＦＴの正確性を持ち、ＦＦＴ法の処理により近い、際立って少ない演算数の方法が得られる。
【０００８】
メモリのハードウェア容積を最小化することはＣＤＭＡ受信器においては主要な関心事である。従って、多数のパラレル入力／出力ポートによる演算効率の利点を得るより、代わりに単一または２ポートのメモリのようなポート数を削減したメモリが通常は用いられる。データの点が、限定された入力／出力（Ｉ／Ｏ）ポートで、多数のアドレスに亘って格納される場合には、そのハードウェアはデータ処理に際し制限する要因となり、計算を実行するためにデータを検索することにより繰り返しのメモリアクセスが必要となる場合があり、これでは非能率的である。そこで検索回数をできるだけ少なくするために、ＤＦＴ処理の間には限定されたアクセス制限の下での最小限度のハードウェアにより、１つのデータに対して可能な限り多くの演算を実行することが望ましい。
【発明の開示】
【０００９】
本発明は、ＣＤＭＡ受信器により受け取られたミッドアンブルのチップ値から選択されたＰ個の数に関する素因数分解アルゴリズム（ＰＦＡ）を用いる、ＤＦＴ処理のための装置および方法であり、ここで、Ｐは互いに素な因数Ｆを複数Ｍ個有し、ＤＦＴ処理はＭ組の連続したＦ点ＤＦＴ処理に分割される。それぞれのＦ個の点のＤＦＴの間に、Ｐ個のデータ値は単一ポートのメモリから取り出され、そして並列レジスタに格納された関連付けられた回転因子による係数掛けを最適化するために、制御装置により、並列キャッシュの中に選択的に並べ換えられる。並べ換えられた入力は、任意のサイズのＦ点ＤＦＴに適応するべく準備された加算器および乗算器を備える、２または３以上の並列ＰＦＡ回路で係数掛けされる。ＰＦＡ回路の出力は、その値の出力の並べ換えの備えがある連結回路により処理され、メモリに送られる。Ｐ個の値のすべてがＭ組のＤＦＴの第１のサイクルとして処理されると、Ｆの値の残りを用いて、Ｍサイクルの残りに対して、処理は繰り返される。演算およびハードウェアは回転因子固有の対称性を利用する入力の並べ換えにより最小化される。
【発明を実施するための最良の形態】
【００１０】
本明細書に記述された最適化されたＤＦＴ処理は、信号処理に適した任意の装置、システムまたは処理により利用することが可能である。ここでは好ましいアプリケーションとして通信システムの基地局またはＵＥのチャンネル推定に対して最適化されたＤＦＴを用いるが、限定はしないが基地局またはＵＥいずれかにおけるマルチユーザー検出を含む、他のＤＦＴアプリケーションに適用することも可能である。
【００１１】
図１は、基地局またはＵＥ用のような、そしてマルチユーザー検出器（ＭＵＤ）を用いるＣＤＭＡ受信器に見られる、チャンネル推定処理のブロック図を示す。ＭＵＤは多数ユーザーの通信に対するデータを推定するために用いられる。初期化ソフトウェア１０は、ＵＥが１つの基地局から他の基地局へハンドオフする都度実行される。初期化の間に、それぞれの複素数の基本ミッドアンブル符号の離散フーリエ変換（ＤＦＴ）が計算され、セーブされる。複素数の基本ミッドアンブル符号１０１は、チャンネル推定を実行するとき、受信された信号の比較のために参照として用いられる典型的な予め決定されたミッドアンブルを表す。ミッドアンブル１０１の値は、逆順ブロック１０２、メモリに格納されたＤＦＴブロック１０３を通され、処理される点の数を表す値Ｐを掛けられ、それから、その出力の逆数１０５が計算され、初期化処理を完了する。
【００１２】
図１に示されるように、受信された通信バースト１０６はアルゴリズム２０により処理される。図１に示されるように、受信された信号のミッドアンブルの値の個数は、長さＬｍにより表されるが、推定処理の間に演算される値に相当する部分Ｐに削減される。ミッドアンブルの部分Ｐは、機能（ＰｘＩＤＦＴ）（ＩＤＦＴは逆ＤＦＴ処理を表す）を実行するブロック１１０により受け取られる。複素共役演算１０７、１０８は、ミッドアンブル値のＤＦＴについて、ＤＦＴ１０９の前と、ＤＦＴ１０９に引き続いてそれぞれ実行され、逆ＤＦＴ１１０を作成する。ＤＦＴ１１２は、初期化１０の結果およびミッドアンブル処理２０の結果の積について実行され、結合チャンネル応答１１３を生成する。この処理全体は式２で示すことが可能である。
【００１３】
【数２】
2005522804.tif 000004
【００１４】
ここで
【００１５】
【数３】
2005522804.tif 000005
【００１６】
は受信したミッドアンブル信号Ｒiについての複素共役のＤＦＴであり、
【００１７】
【数４】
2005522804.tif 000006
【００１８】
そして
【００１９】
【数５】
2005522804.tif 000007
【００２０】
は複素数基本ミッドアンブル符号ｍiについてのＤＦＴであり、
【００２１】
【数６】
2005522804.tif 000008
【００２２】
である。
【００２３】
この後で示されるＤＦＴ最適化は、図１に示されるようなＤＦＴブロック１０９、１１２に関係する。本発明によるＤＦＴへの最適化の第１の形式は、素因数分解アルゴリズム（ＰＦＡ：Prime Factor Algorithm）を用いてより速い素数計算を利用することにより処理を加速することである。お互いに関して素な因数Ｆにより、処理される値Ｐの数が可分である場合に、ＰＦＡを用いることが可能である。そのアルゴリズムではＰ／Ｆ回繰り返される個別の並べ換えに対する個別のモジュールに分割することが可能である。たとえば、Ｐ＝４５６とすると、３ｘ８ｘ１９＝４５６であるので、３つの可能な素因数Ｆｌ＝３、Ｆ２＝８およびＦ３＝１９がある。第１のモジュールＭｌにおいて、３点ＤＦＴが８ｘ１９＝１５２回繰り返され、第２のモジュールＭ２において、８点ＤＦＴが３ｘ１９＝５７回繰り返され、そして第３のモジュールＭ３において、１９点ＤＦＴが３ｘ８＝２４回繰り返される。したがって、値Ｐ＝４５６の場合、（３*１５２）＋（８*５７）＋（１９*２４）＝１３６８回であり、これはＰ２＝２０７,９３６回より際立ってより少なく、ＰＦＡを用いることにより演算数が削減され、ＤＦＴ処理が最適化される。
【００２４】
第２のＤＦＴ最適化の形式は、共通回転因子、および回転（twiddle）集合を有するＤＦＴのＮ点を一列に並べることにより達成される。図２Ａに示されるように、８点ＤＦＴに対する角度分割では点Ｎ１とＮ７、Ｎ２とＮ６、およびＮ３とＮ５の間に顕著な角度対称性を有する。それぞれのＤＦＴ出力は、回転因子集合の列ベクトルを掛けられた入力行ベクトルであるとみなすことが可能である。これらの回転ベクトルは、乗算の必要回数をより少なくすることによりＤＦＴを最適化する回転内集合および回転間集合対称性の両方を有する。回転因子内集合対称性は図２Ｂで見ることができ、Ｎ３とＮ５、Ｎ２とＮ６、およびＮ１とＮ７の点に対する列は、それらの角度関係により対称性を有する。同様に、虚数の回転因子に対しても、Ｎ５、Ｎ６およびＮ７の点に対する列の値がそれぞれＮ３、Ｎ２およびＮ１の点に対する列の値の負数であることを除いて、対称性がある。回転因子間集合対称性は、実数の回転因子について、図２Ｂで回転集合３と５、２と６、および１と７に対して示される。虚数の回転因子については、集合５、６、７が集合３、２、１の符号を反転したものであることを除いて、これらの集合同士が対称である。図２Ｃは、信号の実数、および虚数の部分に対して、これらの対称性を用いての削減されたＤＦＴ計算の回数を示し、ここで、ｃｏｓ（ｋｉ）およびｓｉｎ（ｋｉ）はそれぞれ実数、および虚数の回転因子を表し、８点ＤＦＴの点Ｎ０〜Ｎ７に対して、ＸＲ（０．．．７)が実数値を表し、ＸＩ（０．．．７)が虚数値を表す。図２Ｃに示されるように、ｃｏｓ（ｋ０）からｃｏｓ（ｋ４）の５つの回転因子、およびｓｉｎ（ｋ１）からｓｉｎ（ｋ４）の４つの回転因子がある。このようにして共通の回転因子により値ＸＲ、ＸＩを一列に並べることにより、さもなければｋ０からｋ７に対する回転集合の処理がなされるであろうところ、およそ２分の１の数の演算が実行される必要があるに留まる。このように、回転間集合および回転内集合最適化の両方を利用することにより、４倍のスピード改善を実現し得る。
【００２５】
図２Ａ、２Ｂおよび２Ｃで示された８点ＤＦＴのものと同様に、図３Ａ、３Ｂ、３Ｃおよび３Ｄは、１９点ＤＦＴに関するものである。注目されるべきは、奇数サイズの１９点ＤＦＴでは、点Ｎ０のみが残りの１８点のいずれとも非対称である、と言うことである。このことは、２つの非対称点、Ｎ０およびＮ４を有する、偶数サイズの８点ＤＦＴと異なり、奇数サイズのＤＦＴでは、非対称点が１つのみであり、実行されるべき特別計算の集合が１つだけ少なくて済むという、追加的効率向上が提供されることを意味する。図３Ｂおよび３Ｃで示されるように、回転集合１〜９は、残りの回転集合１０〜１８の代表になる。また、ＤＦＴ点Ｎｌ〜Ｎ９に対する９つの列はＮ１０〜Ｎ１８に対する列に対称であり、後者の集合は冗長なものとなり、計算のための係数として格納することが不必要となる。図３Ｄで、１９点ＤＦＴの入力に対する最適化された集合が示され、ここでは、最適化されない場合の１９集合から実数の回転因子ｃｏｓ（ｋｉ）が１０集合に削減され、虚数の回転因子ｓｉｎ（ｋｉ）が９集合に削減されている。ここで、ｓｉｎ（ｋ０）＝０であるので、この回転因子は省かれ、虚数の回転因子は９つが残っている。
【００２６】
８点および１９点のＤＦＴに対して図２Ｃおよび３Ｄで示されたように、演算の効率的なグループ分けは一般に以下のように記述される。
奇数のＰに対し：
【００２７】
【数７】
2005522804.tif 000009
【００２８】
偶数のＰに対し：
【００２９】
【数８】
2005522804.tif 000010
【００３０】
図５はこの変更されたＤＦＴ処理のための回路のブロック図を示す。ブロック５０１は、ミッドアンブルチップのＰの部分を格納するために用いられるメモリを表す。制御装置５６０は、好ましくはメモリを使用可能にして、Ｆ点ＤＦＴモジュールを現在用いているＰ個の値の集合を選択的に処理する。これは、ＭＵＸ５６１により実行され、ここでメモリ５０１からＰ個の値を取り出し、そのＰ個の値を次のステージに分配する。ステージ１と２の間で、Ｐ個の値の集合がＮ個のグループで処理され（ここで、Ｎ＝Ｆ）、引き続きポート５６２、５６３を通して、好ましくはＲＡＭのメモリキャッシュ５０２および５０３へ伝達される。キャッシュ５０２、５０３は、前述した並列化による効率を用いる最適化されたＤＦＴ機能を実現するために、チップ値を入力レジスタ５７２、５７３に取り出し、それらをステージ３の入力順列として出力レジスタ５８２、５８３から、好ましくはＲＯＭのメモリ５０４と５０５に格納された、予め決められた回転因子（その回転値は、ステージ３において出力ジスター５７４、５７５から分配される）と同時に、分配する。
【００３１】
この変更されたＤＦＴに対する並べ換えは一般式９および１０により表現することができる。
【００３２】
入力アドレス＝（ｎｌ＊Ｔ１＊Ｆ＋ｎ２＊Ｆ’）Ｍｏｄ（入力データのサイズ）  式９
【００３３】
出力アドレス＝（ｎｌ＊ＴＩ＊Ｆ＋ｎ２＊Ｔ２＊Ｆ’）Ｍｏｄ（入力データのサイズ） 式１０
【００３４】
ここで、
Ｆは、ＤＦＴのサイズを示すものとして用いられる因数
Ｆ’は、ＤＦＴの繰り返しの数（入力データのサイズ／ＤＦＴのサイズ）
Ｔ１は、Ｆ＊Ｔ１ＭｏｄＦ’＝１を満足する
Ｔ２は、Ｆ’＊Ｔ２ＭｏｄＦ＝１を満足する
ｎ１は、１からＦ’で、新しいＤＦＴそれぞれに対してインクリメント
ｎ２は、１からＦで、それぞれのＤＦＴの点に応じてインクリメント
この計算はデータサイズのそれぞれの因数Ｆに対して個別になされる。３、８および１９点ＤＦＴの３つのモジュールに分割された４５６の入力データサイズの処理に対して、上の変数は以下のようになる。
【００３５】
Ｆ＝３、８、または１９
Ｆ’＝４５６／３、４５６／８、または４５６/１９
ｎｌ＝１から１５２、１から５７、または１から２４まで
ｎ２＝ｌから３、１から８、または１から１９まで
図５に戻って、ステージ４でＰＦＡ回路５２０、５２１がＦ点ＤＦＴ処理を実行するために、入力レジスタ５０６〜５１１がその入力順列を受け取る。２つの回転レジスタ５０４、５０５と直列な、２つの並列ＰＦＡ回路５２０、５２１を用いることにより、この変更されたＤＦＴ処理は標準的なＤＦＴ処理の２倍の能力を持つことになる。加算器５３１〜５３８はレジスタ５４１〜５４８とともに、単一の回転集合に対するＰＦＡ回路５２０、５２１の出力の連続的合算を実行するように働く。単一の回転集合に対する演算に関連する合計がステージ５で完了すると、その結果はステージ６で対応する出力レジスタ５５１〜５５８に送られる。ステージ７におけるレジスタ５６５は、単一のポートを通してメモリ５０１へ送るべく、一時的にＰＦＡ出力５９９を格納する。
【００３６】
図４Ａでは、図１のＤＦＴブロック１０９、１１２により実行されるようなＰＦＡを用いる、４５６点ＤＦＴの全体処理に対するフローチャートを示す。処理４０１で、受け取られたミッドアンブルのチップ値は１回に１つの値がメモリから取り出され、一時的にメモリの出力レジスタ５６１へ、そして次に２つの単一ポートのデータキャッシュ入力レジスタ５７２、５７３へロードされることを開始する。次に処理４０２で、８点ＤＦＴに対する入力の並べ換えが、図２Ｃで示されるような最適化された係数掛けを達成する順序で、レジスタ５７４、５７５に格納された予め決められた回転因子が入力ポート５０８、５１１の中に取り込まれて実行される。同時に、そのチップ値はデータキャッシュ出力レジスタ５８２、５８３から、ＰＦＡ回路５２０、５２１の、回転因子入力ポートレジスタ５０８、５１１に並列な、ＰＦＡ回路入力ポートレジスタ５０６、５０７、５０９、５１０へ渡される。
【００３７】
処理４０３で、それぞれのＰＦＡ回路５２０、５２１は、ＤＦＴの非対称の点（たとえば、８点ＤＦＴに対するＮ０）に関連付けられた、および対称な点の対（たとえば、８点ＤＦＴに対するＮ１およびＮ７）に対しての、一連の演算を実行する。２つのＰＦＡ回路を用いる８点ＤＦＴに対しては、４５６の値の内の最初の８つ、Ｎ０〜Ｎ７は３つの演算の集合により処理される。第１の演算の集合で、ＰＦＡ回路５２０は点Ｎ０〜Ｎ７に対する回転集合０に関して演算し、同時にＰＦＡ回路５２１が点Ｎ０〜Ｎ７に対する回転集合１に関して演算する。その合計が完了し、そして出力レジスタ５５１〜５５８へ送られると、次の演算の集合が回転集合２と３に関して、それぞれＰＦＡ回路５２０、５２１により実行され、そしてその結果は、処理４０４および４０５により、引き続き合計され、さらに処理される。最終演算の集合はＰＦＡ回路５２０により回転集合４に関して実行される。これらの３つの演算集合が一体となって４５６点の内の最初の８点に関してＰＦＡ回路による５７回の繰り返しのＤＦＴ演算を形成する。
【００３８】
処理４０４で、その８点ＤＦＴに対して、図５のステージ６で格納された出力に対して、メモリ入力レジスタ５６５が適切な順序でその出力値を受け取ることを可能にするために、出力の並べ換えが実行される。処理４０５で、並べ換えられた出力は一時的にレジスタ５６５に格納され、そしてその８点ＤＦＴにより生成されたＰＦＡ出力値の新しい集合５９９でメモリ内の４５６箇所が更新される。
【００３９】
処理４０２〜４０５はＦ点ＤＦＴの１サイクルの中のそれぞれの演算集合について同時に発生することに注意すべきである。
【００４０】
処理４０６〜４１０は、１９点ＤＦＴに対して、４０１〜４０５の処理を繰り返し、そして同じく処理４１１〜４１５は、３点ＤＦＴに対して同じ処理集合を繰り返す。処理４１５においてメモリに格納された最終の出力順列は、３つの個別のＦ点ＤＦＴにより生成された結果を表し、それは単一の４５６点ＤＦＴが達成するであろう結果とまったく同一である。３つのＦ点ＤＦＴが実行される順番を変えることによっても、同一の結果が得られることに注意すべきである。
【００４１】
同様に、ＰＦＡを用いる１９２点ＤＦＴは、図４Ｂの処理４５１〜４６０により示されるように、３点ＤＦＴの６４サイクルと、引き続く６４点ＤＦＴの３サイクルにより実行することができる。代替として、処理４５６〜４６０の６４点ＤＦＴは、処理４５１〜４５５で示される３点ＤＦＴの前に実行し、同一の結果を達成することが可能である。
【００４２】
図６Ａは、実数および虚数のデータ信号処理を含む、ＰＦＡ回路５２０、５２１に対する詳細を示す。実数の回転値６０１および虚数の回転値６０４がレジスタ５０８から抽出される。同様に、レジスタ５０６、５０７からのＦ点値の実数および虚数部分が、ＰＦＡエンジン５２０による処理のために２つの入力パスに分けられる。マルチプレクサー６０７、６０８、６０９および６１０は、ＰＦＡエンジンへの実数および虚数の値の順序を制御するために用いられ、複素共役機能１０７が実行されることを可能にする。
【００４３】
図２Ｃに戻って、列ＡおよびＢは、ＤＦＴ処理の実数部分に対する式を含み、加算器６１１およびマルチプレクサー６１５が列Ａの式を生成し、減算器６１２およびマルチプレクサー６１６が列Ｂの式を生成する。８点ＤＦＴに対しては、加算器６２１のみが列ＡおよびＢのそれぞれの行に対する加算演算を実行するために必要とされる。加算器５３１およびレジスタ５４１は、列ＡおよびＢのそれぞれの行を引き続き加算するために用いられる。制御装置５６０は、好ましくは、列ＡおよびＢに対するすべての式が合計されると、出力レジスタ５５１に対して書き込みを可能にする。ＡＭＸ６３２は、レジスタ５５１および５５３からメモリレジスタ５６５への出力を制御する目的のために存在し、複素共役機能１０８が実行されることを可能にする。出力レジスタ５５２は、正および負の回転因子の変動のために列ＡおよびＢの間の減算が必要とされる場合に、減算器６２２、加算器５３２、およびレジスタ５４２、５５２により生成された、他のＦ点ＤＦＴ計算に対する、ＤＦＴ式のオプションの並行処理からの結果を格納する。図２Ｃの列ＣおよびＤで示される虚数の式は、減算器６１３、加算器６１４、マルチプレクサー６１７および６１８、減算器６２３、加算器５３３、およびレジスタ５４３、５５３により同様に計算される。虚数部分のこの特定のＦ点ＤＦＴ計算に対しては、加算器６２４および５３４、およびレジスタ５４４、５５４は必要とされないが、しかし他の何らかのＦ値に対して用いられる可能性がある。
【００４４】
図６Ｂは図６Ａで示されたＰＦＡ回路に対する代替の実施形態を示し、ここでは追加的並列加算器が、マルチプレクサー６１５〜６１８の下流で正および負の回転値変動が必要とされる場合にオプションとしてさらなる同時演算を可能にするために用いられる。演算器６５１〜６５４は、演算器６２１、６２２の代わりにＤＦＴの実数部分に対して用いられる。演算器７３１〜７３４は加算器５３１、５３２に対応し、加算または減算演算のいずれかを可能にする。加算レジスタ７４１〜７４４および出力レジスタ７５１〜７５４は、同様に制御装置５６０により制御され、ＤＦＴ結果を実数出力ＭＵＸ６３２に送る。同様に、ＤＦＴ演算の虚数部分に対して、図６Ｂに示されるように４つの並列する加算器要素の集合が図６Ａに示される２つの並行した加算器の集合の代わりに用いられる。加算器要素６５５〜６５８および７３５〜７３８はマルチプレクサー６１７、６１８からのＤＦＴ係数掛け出力に関して加算または減算のいずれかを実行することが可能である。加算レジスタ７４５〜７４８および出力レジスタ７５５〜７５８は、ＤＦＴ結果を虚数出力ＭＵＸ６３４に送るために、加算レジスタ５４３、５４４および出力レジスタ５５３、５５４と同一の機能を実行する。
【００４５】
図７は、図５のステージ１〜７による８点ＤＦＴの値の処理に対するタイミング順序を示す。ステージ１において、最初の８つの値がメモリ５０１からレジスタ５６１への単一のポートを通して、クロックパルス毎に１つの値ずつ取り出される。ステージ２において、データキャッシュ入力レジスタ５７２が最初の５つの点Ｎ０〜Ｎ４に対する値を、ステージ１から１クロックパルスだけ遅れて受け取る。キャッシュ入力レジスタ５７３が、後半の３つの点Ｎ５〜Ｎ７に対する値を、ステージ１に対してやはり１クロックパルスだけ遅れて受け取る。ステージ３および４のクロック１０〜１５において、点Ｎ０〜Ｎ７に対して回転集合０および１について、データキャッシュ出力レジスタ５８２、５８３、回転レジスタ５７４、５７５、およびＰＦＡ回路入力ポート５０６〜５１１の間で、入力並べ換えが示される。図７により示されるように、それぞれのＤＦＴ点の値は、回転集合の中での対応する回転因子とともに送られる。２つの回転レジスタ５７４および５７５を用いることにより、それぞれのクロックパルス中に２つの回転集合が並べ換えられ得ることもまた明白である。先に記述された最適化が、Ｎ１とＮ７のような対称なＤＦＴ点に対して、それぞれの対称な対になる値がそれらの共通の回転点で並べ換えられて、それぞれのクロックパルスに対して示される。
【００４６】
ステージ４の１クロックパルス後のステージ５において、ＰＦＡ回路５２０、５２１の出力が加算レジスタ５４１、５４５および５４６により受け取られる。そのサイクルに対する最終のＤＦＴ演算が受け取られ（クロックパルス１５までのステージ４から）て、そして合計されるとき、５番目のパルス（クロックパルス１６）まで、それぞれの引き続くパルスとともに、加算器５３１、５３５および５３６は、加算レジスタ５４１、５４５、５４６に格納された前のＰＦＡ回路出力へのＰＦＡ回路出力の合算を実行する。次にステージ６で、加算レジスタ５４１、５４５および５４６からの合計された値のそれぞれは、単一クロックパルスの間に出力レジスタ５５１、５５５、５５６に送られ、ここで、メモリ入力レジスタ５６５がクロックパルス毎に１つずつ、それぞれの値をメモリ５０１に送るまで、これらの値は保持される。
【００４７】
このようにして、クロックパルス２１において、８ＤＦＴの点Ｎ０〜Ｎ７の第１の集合が最初の２つの回転集合０と１について処理される。一方、それぞれのステージにおいて、それぞれ５クロックパルスの集合で、その次の２つの回転集合について、点Ｎ０〜Ｎ７が処理される。たとえば、ステージ３において、クロックパルス１０〜１４の間に回転集合０と１が処理され、クロックパルス１５〜１９の間に回転集合２と３が処理され、そしてクロックパルス２０〜２４の間に回転集合４が処理される。最初のＤＦＴサイクル全体はクロックパルス３１までに完了する。
【００４８】
図７の網掛け領域は、メモリ５０１より取り出された８ＤＦＴ点Ｎ８〜Ｎ１５の第２の集合で始まる、２番目のＤＦＴサイクル処理タイミングを示す。この８点ＤＦＴ処理は、最初のサイクルに対して記述された方法に類似した方法で５７サイクルで完了する。
【００４９】
図７に示されたＤＦＴ処理のタイミングは任意のＦ点ＤＦＴ処理に対して一般的に典型的なものである。
【図面の簡単な説明】
【００５０】
【図１】ＤＦＴを含むチャンネル推定処理のブロック図を示す。
【図２Ａ】点Ｎ０〜Ｎ７に対する８点ＤＦＴの角度分割を示す。
【図２Ｂ】回転集合０〜７および点Ｎ０〜Ｎ７に対する８点ＤＦＴの実数および虚数の回転因子を示す。
【図２Ｃ】８点ＤＦＴ処理の実数および虚数部分のための最適化された係数掛けの式を示す。
【図３Ａ】点Ｎ０〜Ｎ１８を有する１９点ＤＦＴに対する角度分割を示す。
【図３Ｂ】回転集合０〜１８および点Ｎ０〜Ｎ１８に対する実数の回転因子を示す。
【図３Ｃ】回転集合０〜１８および点Ｎ０〜Ｎ１８に対する虚数の回転因子を示す。
【図３Ｄ】１９点ＤＦＴ処理の実数および虚数部分のための最適化された係数掛けの式を示す。
【図４Ａ】ＰＦＡを用いる４５６点ＤＦＴ処理に対する処理フローチャートを示す。
【図４Ｂ】ＰＦＡを用いる１９２点ＤＦＴ処理に対する処理フローチャートを示す。
【図５】本発明により変更されたＤＦＴ処理を実行するために用いられる回路のブロック図を示す。
【図６Ａ】図５で示された回路の中のＰＦＡ機能を実行するために用いられる回路のブロック図を示す。
【図６Ｂ】図６Ａで示される回路の代替の実施形態を示す。
【図７】図５で示された回路の種々のステージに対する、８点ＤＦＴのデータフローのタイミングを示す。
【図１】
2005522804.tif 000011
【図２Ａ】
2005522804.tif 000012
【図２Ｂ】
2005522804.tif 000013
【図２Ｃ】
2005522804.tif 000014
【図３Ａ】
2005522804.tif 000015
【図３Ｂ】
2005522804.tif 000016
【図３Ｃ】
2005522804.tif 000017
【図３Ｄ】
2005522804.tif 000018
【図４Ａ】
2005522804.tif 000019
【図４Ｂ】
2005522804.tif 000020
【図５】
2005522804.tif 000021
【図６Ａ】
2005522804.tif 000022
【図６Ｂ】
2005522804.tif 000023
【図７】
2005522804.tif 000024
【手続補正書】
【提出日】平成16年3月5日(2004.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｐが、ｉ＝１からＭ、
（請求項１の積の記号）
である、複数の互いに素な因数Ｎｉを有する、選択された個数Ｐのデータ値のＤＦＴ処理のための装置であって、
Ｐ個のデータ値を格納するためのメモリと、
すべての因数ＮｉのＤＦＴ処理に関連付けられた回転集合を格納するための第１および第２の回転レジスタと、
Ｌ≧Ｋ／２である、Ｋ個のデータ値のそれぞれのグループのＬ個の選択された値を受け取るための第１のキャッシュと、
Ｋ個の値のそれぞれのグループの他のＫ−Ｌ個のデータ値を受け取り、前記第２のキャッシュで受け取られた前記データ値の処理は、前記第１のキャッシュで受け取られた前記データ値の一部に対称な回転集合を有するような第２のキャッシュと、
前記第１および第２のキャッシュ、および前記第１の回転レジスタから受け取られる、Ｋ個のデータ値グループを処理するための第１の素因数分解アルゴリズム（ＰＦＡ）回路と、
前記第２の回転レジスタからの回転集合を用いて、前記第１のＰＦＡ回路に直列な、同じＫ個のデータ値グループを処理するための第２のＰＦＡ回路と
を備える選択された数Ｋのグループでデータ値を処理するための選択的に制御されるＤＦＴ処理回路と
を備えることを特徴とする装置。
【請求項２】
Ｋ＝Ｎｉ、かつデータ値のＰ／Ｎｉ個のグループがそれぞれの繰り返しに対して処理されるように、それぞれの因数Ｎｉに対して１式、Ｍ組の連続した繰り返しのために前記メモリからのＰ個のデータ値を入力するための制御回路をさらに備えることを特徴とする請求項１に記載の発明。
【請求項３】
出力装置が前記処理されたデータを前記メモリに出力し、それにより、前記格納されたＰ個のデータ値のそれぞれの連続した処理は前回の処理の繰り返しから出力された値を処理することを特徴とする請求項１に記載の発明。
【請求項４】
第１の処理の繰り返しに対してＫ＝Ｎ１、第２の処理の繰り返しに対してＫ＝Ｎ２、および第３の処理の繰り返しに対してＫ＝Ｎ３であることを特徴とする請求項３に記載の発明。
【請求項５】
Ｐ＝４５６、Ｍ＝３、Ｎ１＝８、Ｎ２＝１９、Ｎ３＝３であることを特徴とする請求項４に記載の発明。
【請求項６】
Ｐ＝１９２、Ｍ＝２、Ｎ１＝３、およびＮ２＝６４であることを特徴とする請求項４に記載の発明。
【請求項７】
前記処理回路は、前記処理回路による出力のために、前記第１および第２のＰＦＡ回路の出力を結合するための連結回路を含むことを特徴とする請求項１に記載の発明。
【国際調査報告】
2005522804.tif 000025