JP2005522804A - 素因数分解アルゴリズムを用いる最適化された離散フーリエ変換方法および装置 - Google Patents

素因数分解アルゴリズムを用いる最適化された離散フーリエ変換方法および装置 Download PDF

Info

Publication number
JP2005522804A
JP2005522804A JP2004509826A JP2004509826A JP2005522804A JP 2005522804 A JP2005522804 A JP 2005522804A JP 2004509826 A JP2004509826 A JP 2004509826A JP 2004509826 A JP2004509826 A JP 2004509826A JP 2005522804 A JP2005522804 A JP 2005522804A
Authority
JP
Japan
Prior art keywords
dft
processing
data values
pfa
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004509826A
Other languages
English (en)
Other versions
JP4163178B2 (ja
Inventor
サミュエル ブッチャート ライアン
エム.シャーリエール シャリフ
ベッカー ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of JP2005522804A publication Critical patent/JP2005522804A/ja
Application granted granted Critical
Publication of JP4163178B2 publication Critical patent/JP4163178B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/144Prime factor Fourier transforms, e.g. Winograd transforms, number theoretic transforms

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

CDMA受信器により受け取られたミッドアンブルのチップから選択されたP個の値に関する素因数分解アルゴリズム(PFA)を用いる、DFT処理のための装置および方法であり、ここで、Pは互いに素な因数Fを複数M個有し、DFT処理はM組の連続したF点DFT処理に分割される。P個のデータ値は単一入力ポートのメモリ(501)から引き出され、そして並列レジスタ(504、505)に格納された関連付けられた回転因子での係数掛けを最適化するために、制御装置(560)により、並列キャッシュ(502、503)の中に選択的に並べ換えられる。並べ換えられた入力は、任意のサイズのF点DFTに適応するべく準備された加算器および乗算器を備える、2または3以上の並列PFA回路(520、521)で係数掛けされる。PFA回路の出力は、その値の出力の並べ換えの備えがある連結回路(531〜538、541〜548)により処理され、引き続くDFTサイクルのためにメモリに送られる。

Description

本発明は一般に離散フーリエ変換(DFT:Discrete Fourier Transform)に関連する。本発明はより詳細には、DFT成分についての素因数分解アルゴリズム(PFA)による実施方法を用いる装置および方法に関連する。
基地局とユーザー装置(UE)の間のCDMA無線通信において、伝送路(チャンネル)推定がCDMAタイムスロットのミッドアンブル区分について実行される。システムのバースト型に依存して、典型的なCDMAミッドアンブルに対する区分長Lmは256または512チップである。しかしながら、チャンネル推定のためにデジタル的に処理されるそのミッドアンブルの部分Pは、それぞれ192または456チップというように縁取りされ、チャンネル推定を劣化させるであろう隣接したデータバーストの当該ミッドアンブルへのデータの漏れの可能性を排除する。
離散フーリエ変換(DFT)は、式1により定義されるように、入力信号を離散的時間領域から離散的周波数領域に変換する一般的な数学的ツールである。
Figure 2005522804
ここで、Wnk=e−j2πnk/Nは、実数、虚数部分がそれぞれcos(2πnk/N)、およびsin(2πnk/N)の回転因子(twiddle factor)を表す。
N個の点がDFTを用いて処理されるとき、処理を完了するために必要な演算の数はNの回数になる。N個の点のデジタル信号を処理するために基数2の高速フーリエ変換(FFT:Fast Fourier Transform)を用いると、演算の数はNlog(N)の回数となり、かなり少なくなる。しかしながら、そのより高速な基数2のFFT法を利用することにおいて、その入力が処理されるべき点の数Nが2(基数2)ではない場合(P=192または456のような)にはゼロでパディングされなくてはならないので、1つの欠点となる。入力信号に人工的にゼロを加えることにより、真にその信号を表現するのではない値の集合についてその後の処理が実行されることになり、そのチャンネル推定はより近似的なものになる。
1つの解決法が、Pの素因数に基づくサイズのより小さいマトリックスを用いることにより、そのデジタル信号処理を分解することであり、これにより、DFTの正確性を持ち、FFT法の処理により近い、際立って少ない演算数の方法が得られる。
メモリのハードウェア容積を最小化することはCDMA受信器においては主要な関心事である。従って、多数のパラレル入力/出力ポートによる演算効率の利点を得るより、代わりに単一または2ポートのメモリのようなポート数を削減したメモリが通常は用いられる。データの点が、限定された入力/出力(I/O)ポートで、多数のアドレスに亘って格納される場合には、そのハードウェアはデータ処理に際し制限する要因となり、計算を実行するためにデータを検索することにより繰り返しのメモリアクセスが必要となる場合があり、これでは非能率的である。そこで検索回数をできるだけ少なくするために、DFT処理の間には限定されたアクセス制限の下での最小限度のハードウェアにより、1つのデータに対して可能な限り多くの演算を実行することが望ましい。
本発明は、CDMA受信器により受け取られたミッドアンブルのチップ値から選択されたP個の数に関する素因数分解アルゴリズム(PFA)を用いる、DFT処理のための装置および方法であり、ここで、Pは互いに素な因数Fを複数M個有し、DFT処理はM組の連続したF点DFT処理に分割される。それぞれのF個の点のDFTの間に、P個のデータ値は単一ポートのメモリから取り出され、そして並列レジスタに格納された関連付けられた回転因子による係数掛けを最適化するために、制御装置により、並列キャッシュの中に選択的に並べ換えられる。並べ換えられた入力は、任意のサイズのF点DFTに適応するべく準備された加算器および乗算器を備える、2または3以上の並列PFA回路で係数掛けされる。PFA回路の出力は、その値の出力の並べ換えの備えがある連結回路により処理され、メモリに送られる。P個の値のすべてがM組のDFTの第1のサイクルとして処理されると、Fの値の残りを用いて、Mサイクルの残りに対して、処理は繰り返される。演算およびハードウェアは回転因子固有の対称性を利用する入力の並べ換えにより最小化される。
本明細書に記述された最適化されたDFT処理は、信号処理に適した任意の装置、システムまたは処理により利用することが可能である。ここでは好ましいアプリケーションとして通信システムの基地局またはUEのチャンネル推定に対して最適化されたDFTを用いるが、限定はしないが基地局またはUEいずれかにおけるマルチユーザー検出を含む、他のDFTアプリケーションに適用することも可能である。
図1は、基地局またはUE用のような、そしてマルチユーザー検出器(MUD)を用いるCDMA受信器に見られる、チャンネル推定処理のブロック図を示す。MUDは多数ユーザーの通信に対するデータを推定するために用いられる。初期化ソフトウェア10は、UEが1つの基地局から他の基地局へハンドオフする都度実行される。初期化の間に、それぞれの複素数の基本ミッドアンブル符号の離散フーリエ変換(DFT)が計算され、セーブされる。複素数の基本ミッドアンブル符号101は、チャンネル推定を実行するとき、受信された信号の比較のために参照として用いられる典型的な予め決定されたミッドアンブルを表す。ミッドアンブル101の値は、逆順ブロック102、メモリに格納されたDFTブロック103を通され、処理される点の数を表す値Pを掛けられ、それから、その出力の逆数105が計算され、初期化処理を完了する。
図1に示されるように、受信された通信バースト106はアルゴリズム20により処理される。図1に示されるように、受信された信号のミッドアンブルの値の個数は、長さLにより表されるが、推定処理の間に演算される値に相当する部分Pに削減される。ミッドアンブルの部分Pは、機能(PxIDFT)(IDFTは逆DFT処理を表す)を実行するブロック110により受け取られる。複素共役演算107、108は、ミッドアンブル値のDFTについて、DFT109の前と、DFT109に引き続いてそれぞれ実行され、逆DFT110を作成する。DFT112は、初期化10の結果およびミッドアンブル処理20の結果の積について実行され、結合チャンネル応答113を生成する。この処理全体は式2で示すことが可能である。
Figure 2005522804
ここで
Figure 2005522804
は受信したミッドアンブル信号Riについての複素共役のDFTであり、
Figure 2005522804
そして
Figure 2005522804
は複素数基本ミッドアンブル符号miについてのDFTであり、
Figure 2005522804
である。
この後で示されるDFT最適化は、図1に示されるようなDFTブロック109、112に関係する。本発明によるDFTへの最適化の第1の形式は、素因数分解アルゴリズム(PFA:Prime Factor Algorithm)を用いてより速い素数計算を利用することにより処理を加速することである。お互いに関して素な因数Fにより、処理される値Pの数が可分である場合に、PFAを用いることが可能である。そのアルゴリズムではP/F回繰り返される個別の並べ換えに対する個別のモジュールに分割することが可能である。たとえば、P=456とすると、3x8x19=456であるので、3つの可能な素因数Fl=3、F2=8およびF3=19がある。第1のモジュールMlにおいて、3点DFTが8x19=152回繰り返され、第2のモジュールM2において、8点DFTが3x19=57回繰り返され、そして第3のモジュールM3において、19点DFTが3x8=24回繰り返される。したがって、値P=456の場合、(3*152)+(8*57)+(19*24)=1368回であり、これはP=207,936回より際立ってより少なく、PFAを用いることにより演算数が削減され、DFT処理が最適化される。
第2のDFT最適化の形式は、共通回転因子、および回転(twiddle)集合を有するDFTのN点を一列に並べることにより達成される。図2Aに示されるように、8点DFTに対する角度分割では点N1とN7、N2とN6、およびN3とN5の間に顕著な角度対称性を有する。それぞれのDFT出力は、回転因子集合の列ベクトルを掛けられた入力行ベクトルであるとみなすことが可能である。これらの回転ベクトルは、乗算の必要回数をより少なくすることによりDFTを最適化する回転内集合および回転間集合対称性の両方を有する。回転因子内集合対称性は図2Bで見ることができ、N3とN5、N2とN6、およびN1とN7の点に対する列は、それらの角度関係により対称性を有する。同様に、虚数の回転因子に対しても、N5、N6およびN7の点に対する列の値がそれぞれN3、N2およびN1の点に対する列の値の負数であることを除いて、対称性がある。回転因子間集合対称性は、実数の回転因子について、図2Bで回転集合3と5、2と6、および1と7に対して示される。虚数の回転因子については、集合5、6、7が集合3、2、1の符号を反転したものであることを除いて、これらの集合同士が対称である。図2Cは、信号の実数、および虚数の部分に対して、これらの対称性を用いての削減されたDFT計算の回数を示し、ここで、cos(k)およびsin(k)はそれぞれ実数、および虚数の回転因子を表し、8点DFTの点N0〜N7に対して、X(0...7)が実数値を表し、X(0...7)が虚数値を表す。図2Cに示されるように、cos(k)からcos(k)の5つの回転因子、およびsin(k)からsin(k)の4つの回転因子がある。このようにして共通の回転因子により値X、Xを一列に並べることにより、さもなければkからkに対する回転集合の処理がなされるであろうところ、およそ2分の1の数の演算が実行される必要があるに留まる。このように、回転間集合および回転内集合最適化の両方を利用することにより、4倍のスピード改善を実現し得る。
図2A、2Bおよび2Cで示された8点DFTのものと同様に、図3A、3B、3Cおよび3Dは、19点DFTに関するものである。注目されるべきは、奇数サイズの19点DFTでは、点N0のみが残りの18点のいずれとも非対称である、と言うことである。このことは、2つの非対称点、N0およびN4を有する、偶数サイズの8点DFTと異なり、奇数サイズのDFTでは、非対称点が1つのみであり、実行されるべき特別計算の集合が1つだけ少なくて済むという、追加的効率向上が提供されることを意味する。図3Bおよび3Cで示されるように、回転集合1〜9は、残りの回転集合10〜18の代表になる。また、DFT点Nl〜N9に対する9つの列はN10〜N18に対する列に対称であり、後者の集合は冗長なものとなり、計算のための係数として格納することが不必要となる。図3Dで、19点DFTの入力に対する最適化された集合が示され、ここでは、最適化されない場合の19集合から実数の回転因子cos(k)が10集合に削減され、虚数の回転因子sin(k)が9集合に削減されている。ここで、sin(k)=0であるので、この回転因子は省かれ、虚数の回転因子は9つが残っている。
8点および19点のDFTに対して図2Cおよび3Dで示されたように、演算の効率的なグループ分けは一般に以下のように記述される。
奇数のPに対し:
Figure 2005522804
偶数のPに対し:
Figure 2005522804
図5はこの変更されたDFT処理のための回路のブロック図を示す。ブロック501は、ミッドアンブルチップのPの部分を格納するために用いられるメモリを表す。制御装置560は、好ましくはメモリを使用可能にして、F点DFTモジュールを現在用いているP個の値の集合を選択的に処理する。これは、MUX561により実行され、ここでメモリ501からP個の値を取り出し、そのP個の値を次のステージに分配する。ステージ1と2の間で、P個の値の集合がN個のグループで処理され(ここで、N=F)、引き続きポート562、563を通して、好ましくはRAMのメモリキャッシュ502および503へ伝達される。キャッシュ502、503は、前述した並列化による効率を用いる最適化されたDFT機能を実現するために、チップ値を入力レジスタ572、573に取り出し、それらをステージ3の入力順列として出力レジスタ582、583から、好ましくはROMのメモリ504と505に格納された、予め決められた回転因子(その回転値は、ステージ3において出力ジスター574、575から分配される)と同時に、分配する。
この変更されたDFTに対する並べ換えは一般式9および10により表現することができる。
入力アドレス=(nl*T1*F+n2*F’)Mod(入力データのサイズ) 式9
出力アドレス=(nl*TI*F+n2*T2*F’)Mod(入力データのサイズ) 式10
ここで、
Fは、DFTのサイズを示すものとして用いられる因数
F’は、DFTの繰り返しの数(入力データのサイズ/DFTのサイズ)
T1は、F*T1ModF’=1を満足する
T2は、F’*T2ModF=1を満足する
n1は、1からF’で、新しいDFTそれぞれに対してインクリメント
n2は、1からFで、それぞれのDFTの点に応じてインクリメント
この計算はデータサイズのそれぞれの因数Fに対して個別になされる。3、8および19点DFTの3つのモジュールに分割された456の入力データサイズの処理に対して、上の変数は以下のようになる。
F=3、8、または19
F’=456/3、456/8、または456/19
nl=1から152、1から57、または1から24まで
n2=lから3、1から8、または1から19まで
図5に戻って、ステージ4でPFA回路520、521がF点DFT処理を実行するために、入力レジスタ506〜511がその入力順列を受け取る。2つの回転レジスタ504、505と直列な、2つの並列PFA回路520、521を用いることにより、この変更されたDFT処理は標準的なDFT処理の2倍の能力を持つことになる。加算器531〜538はレジスタ541〜548とともに、単一の回転集合に対するPFA回路520、521の出力の連続的合算を実行するように働く。単一の回転集合に対する演算に関連する合計がステージ5で完了すると、その結果はステージ6で対応する出力レジスタ551〜558に送られる。ステージ7におけるレジスタ565は、単一のポートを通してメモリ501へ送るべく、一時的にPFA出力599を格納する。
図4Aでは、図1のDFTブロック109、112により実行されるようなPFAを用いる、456点DFTの全体処理に対するフローチャートを示す。処理401で、受け取られたミッドアンブルのチップ値は1回に1つの値がメモリから取り出され、一時的にメモリの出力レジスタ561へ、そして次に2つの単一ポートのデータキャッシュ入力レジスタ572、573へロードされることを開始する。次に処理402で、8点DFTに対する入力の並べ換えが、図2Cで示されるような最適化された係数掛けを達成する順序で、レジスタ574、575に格納された予め決められた回転因子が入力ポート508、511の中に取り込まれて実行される。同時に、そのチップ値はデータキャッシュ出力レジスタ582、583から、PFA回路520、521の、回転因子入力ポートレジスタ508、511に並列な、PFA回路入力ポートレジスタ506、507、509、510へ渡される。
処理403で、それぞれのPFA回路520、521は、DFTの非対称の点(たとえば、8点DFTに対するN0)に関連付けられた、および対称な点の対(たとえば、8点DFTに対するN1およびN7)に対しての、一連の演算を実行する。2つのPFA回路を用いる8点DFTに対しては、456の値の内の最初の8つ、N0〜N7は3つの演算の集合により処理される。第1の演算の集合で、PFA回路520は点N0〜N7に対する回転集合0に関して演算し、同時にPFA回路521が点N0〜N7に対する回転集合1に関して演算する。その合計が完了し、そして出力レジスタ551〜558へ送られると、次の演算の集合が回転集合2と3に関して、それぞれPFA回路520、521により実行され、そしてその結果は、処理404および405により、引き続き合計され、さらに処理される。最終演算の集合はPFA回路520により回転集合4に関して実行される。これらの3つの演算集合が一体となって456点の内の最初の8点に関してPFA回路による57回の繰り返しのDFT演算を形成する。
処理404で、その8点DFTに対して、図5のステージ6で格納された出力に対して、メモリ入力レジスタ565が適切な順序でその出力値を受け取ることを可能にするために、出力の並べ換えが実行される。処理405で、並べ換えられた出力は一時的にレジスタ565に格納され、そしてその8点DFTにより生成されたPFA出力値の新しい集合599でメモリ内の456箇所が更新される。
処理402〜405はF点DFTの1サイクルの中のそれぞれの演算集合について同時に発生することに注意すべきである。
処理406〜410は、19点DFTに対して、401〜405の処理を繰り返し、そして同じく処理411〜415は、3点DFTに対して同じ処理集合を繰り返す。処理415においてメモリに格納された最終の出力順列は、3つの個別のF点DFTにより生成された結果を表し、それは単一の456点DFTが達成するであろう結果とまったく同一である。3つのF点DFTが実行される順番を変えることによっても、同一の結果が得られることに注意すべきである。
同様に、PFAを用いる192点DFTは、図4Bの処理451〜460により示されるように、3点DFTの64サイクルと、引き続く64点DFTの3サイクルにより実行することができる。代替として、処理456〜460の64点DFTは、処理451〜455で示される3点DFTの前に実行し、同一の結果を達成することが可能である。
図6Aは、実数および虚数のデータ信号処理を含む、PFA回路520、521に対する詳細を示す。実数の回転値601および虚数の回転値604がレジスタ508から抽出される。同様に、レジスタ506、507からのF点値の実数および虚数部分が、PFAエンジン520による処理のために2つの入力パスに分けられる。マルチプレクサー607、608、609および610は、PFAエンジンへの実数および虚数の値の順序を制御するために用いられ、複素共役機能107が実行されることを可能にする。
図2Cに戻って、列AおよびBは、DFT処理の実数部分に対する式を含み、加算器611およびマルチプレクサー615が列Aの式を生成し、減算器612およびマルチプレクサー616が列Bの式を生成する。8点DFTに対しては、加算器621のみが列AおよびBのそれぞれの行に対する加算演算を実行するために必要とされる。加算器531およびレジスタ541は、列AおよびBのそれぞれの行を引き続き加算するために用いられる。制御装置560は、好ましくは、列AおよびBに対するすべての式が合計されると、出力レジスタ551に対して書き込みを可能にする。AMX632は、レジスタ551および553からメモリレジスタ565への出力を制御する目的のために存在し、複素共役機能108が実行されることを可能にする。出力レジスタ552は、正および負の回転因子の変動のために列AおよびBの間の減算が必要とされる場合に、減算器622、加算器532、およびレジスタ542、552により生成された、他のF点DFT計算に対する、DFT式のオプションの並行処理からの結果を格納する。図2Cの列CおよびDで示される虚数の式は、減算器613、加算器614、マルチプレクサー617および618、減算器623、加算器533、およびレジスタ543、553により同様に計算される。虚数部分のこの特定のF点DFT計算に対しては、加算器624および534、およびレジスタ544、554は必要とされないが、しかし他の何らかのF値に対して用いられる可能性がある。
図6Bは図6Aで示されたPFA回路に対する代替の実施形態を示し、ここでは追加的並列加算器が、マルチプレクサー615〜618の下流で正および負の回転値変動が必要とされる場合にオプションとしてさらなる同時演算を可能にするために用いられる。演算器651〜654は、演算器621、622の代わりにDFTの実数部分に対して用いられる。演算器731〜734は加算器531、532に対応し、加算または減算演算のいずれかを可能にする。加算レジスタ741〜744および出力レジスタ751〜754は、同様に制御装置560により制御され、DFT結果を実数出力MUX632に送る。同様に、DFT演算の虚数部分に対して、図6Bに示されるように4つの並列する加算器要素の集合が図6Aに示される2つの並行した加算器の集合の代わりに用いられる。加算器要素655〜658および735〜738はマルチプレクサー617、618からのDFT係数掛け出力に関して加算または減算のいずれかを実行することが可能である。加算レジスタ745〜748および出力レジスタ755〜758は、DFT結果を虚数出力MUX634に送るために、加算レジスタ543、544および出力レジスタ553、554と同一の機能を実行する。
図7は、図5のステージ1〜7による8点DFTの値の処理に対するタイミング順序を示す。ステージ1において、最初の8つの値がメモリ501からレジスタ561への単一のポートを通して、クロックパルス毎に1つの値ずつ取り出される。ステージ2において、データキャッシュ入力レジスタ572が最初の5つの点N0〜N4に対する値を、ステージ1から1クロックパルスだけ遅れて受け取る。キャッシュ入力レジスタ573が、後半の3つの点N5〜N7に対する値を、ステージ1に対してやはり1クロックパルスだけ遅れて受け取る。ステージ3および4のクロック10〜15において、点N0〜N7に対して回転集合0および1について、データキャッシュ出力レジスタ582、583、回転レジスタ574、575、およびPFA回路入力ポート506〜511の間で、入力並べ換えが示される。図7により示されるように、それぞれのDFT点の値は、回転集合の中での対応する回転因子とともに送られる。2つの回転レジスタ574および575を用いることにより、それぞれのクロックパルス中に2つの回転集合が並べ換えられ得ることもまた明白である。先に記述された最適化が、N1とN7のような対称なDFT点に対して、それぞれの対称な対になる値がそれらの共通の回転点で並べ換えられて、それぞれのクロックパルスに対して示される。
ステージ4の1クロックパルス後のステージ5において、PFA回路520、521の出力が加算レジスタ541、545および546により受け取られる。そのサイクルに対する最終のDFT演算が受け取られ(クロックパルス15までのステージ4から)て、そして合計されるとき、5番目のパルス(クロックパルス16)まで、それぞれの引き続くパルスとともに、加算器531、535および536は、加算レジスタ541、545、546に格納された前のPFA回路出力へのPFA回路出力の合算を実行する。次にステージ6で、加算レジスタ541、545および546からの合計された値のそれぞれは、単一クロックパルスの間に出力レジスタ551、555、556に送られ、ここで、メモリ入力レジスタ565がクロックパルス毎に1つずつ、それぞれの値をメモリ501に送るまで、これらの値は保持される。
このようにして、クロックパルス21において、8DFTの点N0〜N7の第1の集合が最初の2つの回転集合0と1について処理される。一方、それぞれのステージにおいて、それぞれ5クロックパルスの集合で、その次の2つの回転集合について、点N0〜N7が処理される。たとえば、ステージ3において、クロックパルス10〜14の間に回転集合0と1が処理され、クロックパルス15〜19の間に回転集合2と3が処理され、そしてクロックパルス20〜24の間に回転集合4が処理される。最初のDFTサイクル全体はクロックパルス31までに完了する。
図7の網掛け領域は、メモリ501より取り出された8DFT点N8〜N15の第2の集合で始まる、2番目のDFTサイクル処理タイミングを示す。この8点DFT処理は、最初のサイクルに対して記述された方法に類似した方法で57サイクルで完了する。
図7に示されたDFT処理のタイミングは任意のF点DFT処理に対して一般的に典型的なものである。
DFTを含むチャンネル推定処理のブロック図を示す。 点N0〜N7に対する8点DFTの角度分割を示す。 回転集合0〜7および点N0〜N7に対する8点DFTの実数および虚数の回転因子を示す。 8点DFT処理の実数および虚数部分のための最適化された係数掛けの式を示す。 点N0〜N18を有する19点DFTに対する角度分割を示す。 回転集合0〜18および点N0〜N18に対する実数の回転因子を示す。 回転集合0〜18および点N0〜N18に対する虚数の回転因子を示す。 19点DFT処理の実数および虚数部分のための最適化された係数掛けの式を示す。 PFAを用いる456点DFT処理に対する処理フローチャートを示す。 PFAを用いる192点DFT処理に対する処理フローチャートを示す。 本発明により変更されたDFT処理を実行するために用いられる回路のブロック図を示す。 図5で示された回路の中のPFA機能を実行するために用いられる回路のブロック図を示す。 図6Aで示される回路の代替の実施形態を示す。 図5で示された回路の種々のステージに対する、8点DFTのデータフローのタイミングを示す。

Claims (11)

  1. Pが、i=1からM、
    (請求項1の積の記号)
    である、複数の互いに素な因数Nを有する、選択された個数Pのデータ値のDFT処理のための装置であって、
    P個のデータ値を格納するためのメモリと、
    選択された数Kのグループでデータ値を処理するための選択的に制御されるDFT処理回路とを備え、
    前記処理回路は、DFT処理のために前記メモリからK個のデータ値の連続したグループを受け取るための複数の関連付けられた入力装置を有し、
    K=N、かつデータ値のP/N個のグループがそれぞれの繰り返しに対して処理されるように、それぞれの因数Nに対して1式、M組の連続した繰り返しのために前記メモリからのP個のデータ値を入力するための制御回路をさらに備えることを特徴とする装置。
  2. 出力装置が前記処理されたデータを前記メモリに出力し、それにより、前記格納されたP個のデータ値のそれぞれの連続した処理は前回の処理の繰り返しから出力された値を処理することを特徴とする請求項1に記載の発明。
  3. P=456、M=3、N=8、N=19、N=3であることを特徴とする請求項2に記載の発明。
  4. 第1の処理の繰り返しに対してK=N、第2の処理の繰り返しに対してK=N、および第3の処理の繰り返しに対してK=Nであることを特徴とする請求項3に記載の発明。
  5. P=192、M=2、N=3、およびN=64であることを特徴とする請求項2に記載の発明。
  6. 前記処理回路は、
    すべての因数NのDFT処理に関連付けられた回転集合を格納するための第1および第2の回転レジスタと、
    L≧K/2である、K個のデータ値のそれぞれのグループのL個の選択された値を受け取るための第1のキャッシュと、
    K個の値のそれぞれのグループの他のK−L個のデータ値を受け取り、前記第2のキャッシュで受け取られた前記データ値の処理は、前記第1のキャッシュで受け取られた前記データ値の一部に対称な回転集合を有するような第2のキャッシュと、
    前記第1および第2のキャッシュ、および前記第1の回転レジスタから受け取られる、K個のデータ値グループを処理するための第1の素因数分解アルゴリズム(PFA)回路と、および
    前記第2の回転レジスタからの回転集合を用いる、前記第1のPFA回路に直列な、同じK個のデータ値グループを処理するための第2のPFA回路と、
    を備えることを特徴とする請求項1に記載の発明。
  7. 前記処理回路は、前記処理回路による出力に対し、前記第1および第2のPFA回路の出力を結合するための連結回路を含むことを特徴とする請求項6に記載の発明。
  8. 出力装置が前記処理されたデータを前記メモリに出力し、それにより、前記格納されたP個のデータ値のそれぞれの連続したN点DFT処理が前回の処理の繰り返しから出力された値を処理することを特徴とする請求項6に記載の発明。
  9. P=456、M=3、N=3、N=8、N=19であることを特徴とする請求項8に記載の発明。
  10. 第1の処理の繰り返しに対してK=N、第2の処理の繰り返しに対してK=N、および第3の処理の繰り返しに対してK=Nであることを特徴とする請求項9に記載の発明。
  11. P=192、M=2、N=3、およびN=64であることを特徴とする請求項8に記載の発明。
JP2004509826A 2002-04-11 2003-04-10 素因数分解アルゴリズムを用いる最適化された離散フーリエ変換方法および装置 Expired - Fee Related JP4163178B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/120,971 US6704760B2 (en) 2002-04-11 2002-04-11 Optimized discrete fourier transform method and apparatus using prime factor algorithm
PCT/US2003/011097 WO2003102809A1 (en) 2002-04-11 2003-04-10 Optimized discrete fourier transform method and apparatus using prime factor algorithm

Publications (2)

Publication Number Publication Date
JP2005522804A true JP2005522804A (ja) 2005-07-28
JP4163178B2 JP4163178B2 (ja) 2008-10-08

Family

ID=28790220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004509826A Expired - Fee Related JP4163178B2 (ja) 2002-04-11 2003-04-10 素因数分解アルゴリズムを用いる最適化された離散フーリエ変換方法および装置

Country Status (9)

Country Link
US (3) US6704760B2 (ja)
EP (1) EP1493098A4 (ja)
JP (1) JP4163178B2 (ja)
KR (2) KR20050098967A (ja)
CN (2) CN100346336C (ja)
AU (1) AU2003237804A1 (ja)
HK (1) HK1074269A1 (ja)
NO (1) NO20044880L (ja)
WO (1) WO2003102809A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127282A (ja) * 2004-10-29 2006-05-18 Sony Corp ディジタル信号処理装置、ディジタル信号処理方法及びプログラム並びに認証装置
JP2010016832A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法
JP2010016830A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv Dft計算で使用されるマルチ基数バタフライを計算する計算方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847778B1 (en) * 1999-03-30 2005-01-25 Tivo, Inc. Multimedia visual progress indication system
US20030182342A1 (en) * 2002-03-25 2003-09-25 Murphy Charles Douglas Low-cost multiplication in small DFT butterflies
US20030212722A1 (en) * 2002-05-07 2003-11-13 Infineon Technologies Aktiengesellschaft. Architecture for performing fast fourier-type transforms
TW200602902A (en) * 2004-07-12 2006-01-16 Benq Corp Method of calculating FFT
CN100442272C (zh) * 2005-10-31 2008-12-10 凌阳科技股份有限公司 数字信号处理装置
KR100762281B1 (ko) * 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
US20070299903A1 (en) * 2006-06-27 2007-12-27 Nokia Corporation Optimized DFT implementation
EP2250581B1 (en) * 2008-01-31 2015-09-02 Qualcomm Incorporated Device for dft calculation
WO2009128033A2 (en) * 2008-04-18 2009-10-22 Nxp B.V. System and method for configurable mixed radix fft architecture for multimode device
EP2144173A1 (en) 2008-07-07 2010-01-13 Mitsubishi Electric R&D Centre Europe B.V. Hardware architecture to compute different sizes of DFT
AU2009291506A1 (en) * 2008-09-10 2010-03-18 Co-Operative Research Centre For Advanced Automotive Technology Ltd Method and device for computing matrices for Discrete Fourier Transform (DFT) coefficients
US8438204B2 (en) * 2008-12-18 2013-05-07 Lsi Corporation Apparatus for calculating an N-point discrete fourier transform
KR101183658B1 (ko) * 2008-12-19 2012-09-17 한국전자통신연구원 이산 퓨리에 변환의 고속 처리 장치 및 방법
KR101105399B1 (ko) * 2008-12-22 2012-01-17 한국전자통신연구원 직교주파수분할다중접속 시스템의 시간 동기 검출 장치 및 방법과 수신 장치
US20120131081A1 (en) * 2010-11-22 2012-05-24 Apple Inc. Hybrid Fast Fourier Transform
CN102609396A (zh) * 2012-01-19 2012-07-25 中国传媒大学 一种drm系统中离散傅里叶变换处理装置和方法
US8990281B2 (en) 2012-09-21 2015-03-24 International Business Machines Corporation Techniques for improving the efficiency of mixed radix fast fourier transform
CN105988973B (zh) * 2015-02-13 2019-04-19 上海澜至半导体有限公司 快速傅里叶变换/快速傅里叶变换的方法和电路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156920A (en) * 1977-06-30 1979-05-29 International Business Machines Corporation Computer system architecture for performing nested loop operations to effect a discrete Fourier transform
JPS6014386B2 (ja) 1978-12-25 1985-04-12 日本電信電話株式会社 離散的フ−リエ変換器
GB2084362B (en) * 1980-09-19 1984-07-11 Solartron Electronic Group Apparatus for performing the discrete fourier transform
US4604721A (en) * 1981-10-13 1986-08-05 Trw Inc. Computer and method for high speed prime factor transform
JPH05204810A (ja) 1992-01-29 1993-08-13 Fujitsu Ltd 電文通信方式
US6351759B1 (en) * 1999-02-26 2002-02-26 Trw Inc. Digital channelizer having efficient architecture for discrete fourier transformation and operation thereof
US6625630B1 (en) * 2000-06-05 2003-09-23 Dsp Group Ltd. Two cycle FFT

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127282A (ja) * 2004-10-29 2006-05-18 Sony Corp ディジタル信号処理装置、ディジタル信号処理方法及びプログラム並びに認証装置
JP4687948B2 (ja) * 2004-10-29 2011-05-25 ソニー株式会社 ディジタル信号処理装置、ディジタル信号処理方法及びプログラム並びに認証装置
JP2010016832A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法
JP2010016830A (ja) * 2008-07-07 2010-01-21 Mitsubishi Electric R & D Centre Europe Bv Dft計算で使用されるマルチ基数バタフライを計算する計算方法

Also Published As

Publication number Publication date
US7720897B2 (en) 2010-05-18
EP1493098A4 (en) 2009-11-11
KR20040097339A (ko) 2004-11-17
CN101149730B (zh) 2010-06-23
WO2003102809A1 (en) 2003-12-11
US6704760B2 (en) 2004-03-09
HK1074269A1 (en) 2005-11-04
CN101149730A (zh) 2008-03-26
JP4163178B2 (ja) 2008-10-08
US20060184598A1 (en) 2006-08-17
KR100686992B1 (ko) 2007-02-27
US20030195911A1 (en) 2003-10-16
AU2003237804A1 (en) 2003-12-19
EP1493098A1 (en) 2005-01-05
CN100346336C (zh) 2007-10-31
KR20050098967A (ko) 2005-10-12
US7028064B2 (en) 2006-04-11
CN1647066A (zh) 2005-07-27
NO20044880L (no) 2005-01-03
US20040162867A1 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
JP4163178B2 (ja) 素因数分解アルゴリズムを用いる最適化された離散フーリエ変換方法および装置
US7870176B2 (en) Method of and apparatus for implementing fast orthogonal transforms of variable size
KR101842061B1 (ko) 필터 벡터 프로세싱 연산들을 위해 탭핑-지연 라인을 이용하는 벡터 프로세싱 엔진, 및 관련된 벡터 프로세서 시스템들 및 방법들
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
KR101162649B1 (ko) 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치
EP0660247B1 (en) Method and apparatus for performing discrete cosine transform and its inverse
EP0535244A1 (en) Quasi radix-16 processor and method
US5034910A (en) Systolic fast Fourier transform method and apparatus
JP4263693B2 (ja) 計算量的に効率的な数学エンジン
US6658441B1 (en) Apparatus and method for recursive parallel and pipelined fast fourier transform
US20070260660A1 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
EP1076296A2 (en) Data storage for fast fourier transforms
Arambepola Discrete Fourier transform processor based on the prime-factor algorithm
US6460061B1 (en) 2-dimensional discrete cosine transform using a polynomial transform
WO2022252876A1 (en) A hardware architecture for memory organization for fully homomorphic encryption
Towers et al. Cascadable NMOS VLSI circuit for implementing a fast convolver using the Fermat number transform
Shakaff et al. Practical implementations off block-mode image filters using the fermat number transform on a microprocessor-based system
Mukherjee et al. An area efficient 2d fourier transform architecture for fpga implementation
KR100630456B1 (ko) 유한체 상의 스케일러블 곱셈 연산기
CN117950622A (zh) 在芯片中实现多路符号位的处理方法、装置及存储介质
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
Xu et al. A High Performance Pipelined Discrete Hilbert Transform Processor
WO2023108281A1 (en) Cryptographic processor for fully homomorphic encryption (fhe) applications
Narvekar et al. IMPLEMENTATION OF FFT PROCESSOR ON FPGA USING VEDIC MULTIPLIER
JP2003337693A (ja) 高速演算器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071220

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080624

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080723

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees