JP3917522B2 - フーリェ変換装置 - Google Patents
フーリェ変換装置 Download PDFInfo
- Publication number
- JP3917522B2 JP3917522B2 JP2002568236A JP2002568236A JP3917522B2 JP 3917522 B2 JP3917522 B2 JP 3917522B2 JP 2002568236 A JP2002568236 A JP 2002568236A JP 2002568236 A JP2002568236 A JP 2002568236A JP 3917522 B2 JP3917522 B2 JP 3917522B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- fourier transform
- circuit
- stage
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
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)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
本発明は、離散フーリェ変換を高速に行うフーリェ変換装置に関し、特に、フーリェ変換装置を前段と後段の2つのステージに分け、各段には同数の基数2フーリェ変換パイプライン(基数2パイプラインFFT)を配置して構成するフーリェ変換装置に関するものである。
背景技術
M(2m:以下2**mと記す)点基数2パイプラインFFTは、データ並べ換えと演算とからなるステージm段からなる演算パイプラインとして知られており、詳しくは、例えば文献『THEORY AND APPLICATION OF DIGITAL SIGNAL PROCESSING by Lawrence R.Rabiner,Bernard Gold,published by PRENTICE HALL』の604頁の『Radix 2Pipeline FFT』の項に説明されている。
フーリェ変換において変換点数がN=L×Mと分解できる場合、FFTの原理に従ってL点FFT操作をM回行い、得られたデータN個に対して捻り係数乗算をした後、M点FFT操作をL回行うことによりフーリェ変換を行うことができるが、このように、N点フーリェ変換を分解して行うことを利用してパイプラインを構成する方法が幾つか開示されている。
その1つは、変換点数NがN=L×Lと表現できる場合、L点並列型フーリェ変換回路(入出力が変換点数Lに等しい)を前段と後段に配置し、データ供給の為にコーナターナと呼ばれるデータ並べ換え回路をそれぞれ各L点並列型フーリェ変換回路の前に配置するというものである。
また、変換点数NがN=L×M(L=P×M、但しPは1より大きい整数)の場合も同様な構成をとることができ、いずれも並列幅はLとなる。
なお、コーナターナは2次元データを行列とみた時、転置して出力する回路である(特開昭59−087575号公報参照)。
また、他の1つは変換点数NがN=(2**m)×Aと表現できる場合、前段に2並列入出力2**m点、基数2パイプラインFFT回路をA個並列配置し、後段にA点並列型フーリェ変換回路(パイプライン幅A点)を2個並列配置するというものである。この場合の全体の並列幅は2×Aとなる。
上述したフーリェ変換装置において、並列型フーリェ変換回路を前段、後段に配置する構成法では、入力並列点数乃至はパイプライン幅がフーリェ変換点数Nの平方根以上の値となり、変換点数Nの平方根より小さいパイプライン幅がえられないという欠点がある(特許昭63−36553号公報参照)。
他の1つの前段に2並列入出力基数2のパイプラインFFT回路を複数、後段に並列型フーリェ変換回路を2個並列配置する構成法は、入力並列点数乃至はパイプライン幅をフーリェ変換点数にはあまり左右されることなく決めることができる。しかし、後段の並列型フーリェ変換回路の入力並列度乃至は変換点数は前段に配置する2並列入出力基数2のパイプラインFFTの個数A(即ち装置のパイプライン幅の半分)となる為、装置のパイプライン幅が大きい場合、後段の並列型フーリェ変換回路が空間的な並列性の為にピンネックになり実装上実現が困難になるという欠点がある(特開平4−245562号公報参照)。
本発明は、上述した事情に鑑みてなされたものであり、装置のパイプライン幅が各段の個々のパイプラインFFT回路の変換点数に依存することがないフーリェ変換装置を得ることを目的としている。
発明の開示
上述した課題を解決するため、本発明は、離散フーリェ変換を行うフーリェ変換装置であって、最大変換点数をM(=2**m、m>=2)点とする2並列入出力、基数2のパイプラインFFT回路を最大変換点数Mの約数に相当する個数a個有する前段の変換手段と、前記前段の変換手段に入力データを第1の所定の順に従って供給する第1のデータ供給手段と、前記前段の変換手段と同数の2並列入出力M点、基数2のパイプラインFFT回路を有する後段の変換手段と、前記後段の変換手段に入力データを第2の所定の順に従って供給する第2のデータ供給手段と、前記前段の変換手段と前記後段の変換手段との間に設けられ、捻り係数を乗算する捻り係数乗算手段とを備えてなることを特徴とするものである。本装置は第1図にその一例が示されている。
また、本発明のフーリェ変換装置において、前記第1のデータ供給手段は、2バンク構成とされた第1のメモリ回路と、前記第1のメモリ回路のバンクを切換え、入力データを交互に順次M個毎書き込む書き込み手段と、前記第1のメモリ回路の2つのバンクの対応する位置のデータを同時に読み出し、前記前段の変換手段に供給する読み出し手段とを備えてなることを特徴とするものである。本装置は、第2図にその一例が示されている。
更に、本発明のフーリェ変換装置において、前記第1のデータ供給手段は、データを所定の順に並べ換える第1、第2のデータ並べ換え部を2段階に備えて構成され、前記第1、第2のデータ並べ換え部がデータを記憶する夫々第2、第3のメモリ回路と、前記第2、第3のメモリ回路の夫々の所定の論理に従う読み出し又は書き込みアドレス生成回路と、前記第2、第3のメモリ回路より読み出されたデータを夫々並べ換えるコーナターナとを備え、前記第2のデータ供給手段は、第3のデータ並べ換え部を備えて構成され、データを記憶する第4のメモリ回路と、該第4のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路と、前記第4のメモリ回路より読み出されたデータを並べ換えるコーナターナとを備えてなることを特徴とするものである。本装置は第4図、第5図にその一例が示されている。
また、本発明のフーリェ変換装置において、前記前段及び後段の変換手段が有するパイプラインFFT回路の個数aが2の場合、前記第1のデータ供給手段は、第4、第5のデータ並べ換え部を2段階に備えて構成され、夫々のデータ並べ換え部がデータを記憶する第5、第6のメモリ回路と、前記第5、第6のメモリ回路の夫々の所定の論理に従う読み出し又は書き込みアドレス生成回路と、前記第5のメモリ回路より読み出されたデータを並べ換えるコーナターナとを備え、前記第2のデータ供給手段は、第6のデータ並べ換え部を備えて構成され、データを記憶する第7のメモリ回路と、該第7のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路とを備えてなることを特徴とするものである。本装置は例えば第4図及び第5図においてコーナターナ324を省略したものに相当する。
さらに、本発明のフーリェ変換装置において、前記前段及び後段の変換手段が有するパイプラインFFT回路の個数aが1の場合、前記第1のデータ供給手段は、第7、第8のデータ並べ換え部を備えて構成され、前記第7のデータ並べ換え部は、データを記憶する第8のメモリ回路と、該第8のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路と、前記第8のメモリ回路より読み出されたデータを並べ換えるパラレルインシリアルアウト回路とを備え、前記第8のデータ並べ換え部は、記憶時にはM個ずつのデータを交互に書き込み読み出し時には対応するM点データ組の対応するデータを同時に読み出せるように各々が2つのバンクから構成された第9のメモリ回路と、該第9のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路を備え、前記第2のデータ供給手段は、記憶時にはM個ずつのデータを交互に書き込み、読み出し時には対応するM点データ組の対応するデータを同時に読み出せるように各々が2つのバンクから構成された第10のメモリ回路と、該第10のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路からなることを特徴とするものである。本装置は例えば第8図、第9図にその一例が示される。
また、本発明は、上述のフーリェ変換装置を2の巾乗個並列配置し、時系列入力データを最大フーリェ変換点数N(=M×M)個ずつ各フーリェ変換装置に割当て、それらの連続したM点データの組を各組2並列でa組ずつ合計2a並列で各フーリェ変換装置に供給するデータ分配・並べ換え手段を備えてなることを特徴とするものである。本装置は発明を実施するための最良の形態における(並列配置)の部分で説明される。
更に、本発明のフーリェ変換装置において、前記データ分配・並べ換え手段は、並列配置するフーリェ変換装置分のデータを記憶する第11のメモリ回路と、該第11のメモリ回路の所定の論理に従う読み出し又は書き込みアドレス生成回路と、前記第11のメモリ回路より読み出されたデータを並べ換え、並列配置された前記フーリェ変換装置のそれぞれにデータを並列に出力するコーナターナとを備えてなることを特徴とするものである。本装置は第12図にその一例が示されている。
また、本発明のフーリェ変換装置は、前記前段及び後段の変換手段による演算をバイパスさせるためのバイパス手段を備えたことを特徴とする。本装置は発明を実施するための最良の形態におけるバイパス処理において説明されている。
なお、各メモリ回路をダブルバッファメモリとすることにより、処理を容易に高速化することができる。
そして、上述したように、本発明は、装置を前段及び後段の2つのステージに分け、各段に同数の2並列入出力のM点、基数2パイプラインFFT回路(パイプライン幅は2)を配置して、M×M点のフーリェ変換を行うようにする。並列配置するパイプラインFFT回路の個数aで全体のパイプライン幅を調節するようにする。但し、M=2**mであり、個数aはMの約数とすると、各パイプラインFFT回路が担当するM点のフーリェ変換は(M÷a)組ずつとなり、データ分配等の制御が容易となる。
個々の2並列入出力基数2パイプラインFFT回路はパイプライン幅は高々2であり、この中での信号の錯綜は少なく、実装的にピンネックになることはない。但し、この為にデータを供給する為のデータ並べ換え手段が各段に必要となる。
なお、前段の2並列入出力のM点、基数2パイプラインFFT回路のパイプラインステージを先頭からその演算のみを順にバイパスすることによってフーリェ変換点数を半分ずつにすることができるので同じ装置構成でモード設定変更等により、全体としてM×M、(M/2)×M、・・・・2×M点の変換を行うことができる。
発明を実施するための最良の形態
図1は本発明の実施の形態の基本構成図を示すブロック図である。図1に示すFFT100は前段Aと後段Bから構成され、前段及び後段の変換回路としてa個の2並列入出力M点、基数2のパイプラインFFT回路1,2、それぞれ各パイプライン回路1,2にデータを供給する第1、第2のデータ供給手段としてのそれぞれ前段及び後段データ並べ換え部3,4、及び後段データ並べ換え部4の直後に設けられ、捻り係数乗算用の2a個の複素乗算回路5及び捻り係数を記憶した係数メモリ6を有する捻り係数乗算部7を備えている。なお、捻り係数の供給順番を変更することにより、捻り係数乗算部7を後段データ並べ換え部4の直前に設けるようにしても良い。
(前段データ並べ換えの方法1)
第2図は前段のデータ供給手段としての前段データ並べ換え部の第1の例(方法1)を示すブロック図であり、第2図のデータ並べ換え部3Aにおいて、バッファメモリ301は、書き込み・読み出しの同時アクセスの為のダブルバッファリング構成を有すると共に、読み出しに於いては2つの異なる組に属するデータ群を同時に読み出せるようにバンク301A,301Bを有する2バンク構成とされている。以下、本明細書において、単にバッファメモリまたはメモリと記した場合もダブルバッファメモリを意味することとする。入力データはライトアドレス回路302により、順次M個毎に交互にバンクを切り換えて書き込まれる。読み出しに於いては、第1リードアドレス生成回路303により、2つのバンクの対応する位置のデータを同時に読出すことによって、M個おきのデータを2個ずつ、即ち2並列で得ることができる。
(前段のデータ並べ換えの方法2)
第4図、第8図は前段のデータ供給手段としてのデータ並べ換え部の第2の例(方法2)を示すブロック図であり、第4図はaが2以上の場合、第8図はaが1の場合の好適例を示している。第4図、第8図それぞれに示すデータ並べ換え部3Bは前半部と後半部の2段階構成を持ち、前半部の第1データ並べ換え回路310,330で先ず時系列の並列データからM個単位にまとまったデータ列を各2並列入出力M点、基数2のパイプラインFFT回路対応、即ち、a列縦隊(各M個単位内では2列縦隊になるように)に生成し、後半部の第2データ並べ換え回路320,340では前半部で生成されたM個を単位としたa列縦隊に整列したブロックからデータを1つずつ取ってくることによって時系列データとしてみた時にM個おきとなるM個のデータの組が得られように並べ換えを行うものである。
(前段データ並べ換えの方法2:a≧2の場合)
まず、a≧2の場合、即ち第4図に示されるように、各段のパイプラインFFTの個数が2個以上の場合、前半部を構成する第1データ並べ換え回路310はメモリとコーナターナから構成され、メモリは入力データ幅に相当するデータ点数の入出力幅を持つ記憶手段であるバッファメモリ311とライトアドレス生成回路312及び第2リードアドレス生成回路を持ち、コーナターナ314は奇数番、偶数番入力データに対応して2組314a,314bから構成されている。
前段のデータ並べ換え部の後半部を構成する第2データ並べ換え回路320は、前半の第1データ並べ換え回路310と同様、メモリとコーナターナから構成され、メモリは変換部のパイプライン幅に相当するデータ点数の入出力幅を持つ記憶手段であるバッファメモリ321とライトアドレス生成回路322及び第3リードアドレス生成回路323を持ち、コーナターナ324はメモリの出力ライン並びの先頭ラインから3つおきのライン出力のデータ群、3番目のラインから3つおきのライン出力のデータ群、2番目のラインから3つおきのライン出力のデータ群、4番目のラインから3つおきのライン出力のデータ群をそれぞれ入力して並べ換える4組324a〜324dから構成されている。
特に、a=2の場合、コーナターナへの入力は1データのみとなるので、何の操作も不要となって、コーナターナの為の回路は不要となり、メモリからのデータの単なるルーティングとなる。
(前段データ並べ換え方法2:a=1の場合)
又a=1の場合、即ち各段のパイプラインFFTの個数が1個の場合、第8図のように前段のデータ並べ換え部3Cにおける前半部の第1データ並べ換え回路330は、メモリとコーナターナから構成され、メモリは入力データ幅に相当するデータ点数の入出力幅を持つ記憶手段としてのバッファメモリ331とライトアドレス生成回路332及び第4リードアドレス生成回路333を持ち、コーナターナは奇数番、偶数番入力データに対応して2組のパラレルイン・パラレルアウト334a,334bから構成されている。
後半部の第2データ並べ換え回路340は、読み出しにおいて2つの異なるデータ群を同時に読み出せるように2バンク341A,341B構成のバッファメモリからなり、それぞれライトアドレス生成回路342及び第5リードアドレス生成回路343を有し、第2図に於いてb=1、a=1としたより簡単な場合となる。
(後段データ並べ換え方法)
図1に示した後段のデータ並べ換え部4は、a≧2の場合に第5図のように構成され、又a=1の場合に第9図のように構成される。すなわち、第5図、第9図に示される後段のデータ並べ換え部4A,4Bは、第4図、第8図で示した第2データ並べ換え回路(後半部)とそれぞれ同じ構成を持ち、ここでの説明を省略するが、前段のFFT出力をM個おきとなるように並べ換えを行ってM個のデータの組を得るようにする。
(動作説明)
次に実施の形態の動作について説明する。
先ず、前段の変換手段を構成するa個の個々の2並列入出力、基数2のパイプラインFFT回路1の変換点数が最大、即ち後段のa個の個々のパイプラインFFT回路の変換点数に等しい場合を扱い、最後に前段の変換点数がM未満即ち2**p、(p=1〜m−1)に対しても同じ装置構成を採れることについて説明する。
式(1)に於いて、k0を固定すれば、これはM点のDFTの式であり、M点の基数2パイプラインFFT回路で処理することができる。k0=0〜M−1であるから、M組の別々なDFTを行うことを示す。これらはa個のM点の基数2パイプラインFFT回路を用いて、aがMの約数とすると途切れることなく連続して処理することができる。
式(2)は、式(1)で得られたそれぞれに捻り係数を掛けるものであり、捻り係数乗算回路群で処理できる。式(3)に於いて、n0を固定すれば、これはM点のDFTの式であり、M点の基数2パイプラインFFT回路で処理することができる。n0=0〜M−1であるから、M組の別々なDFTを行うことを示す。式(1)同様にa個のM点の基数2パイプラインFFT回路を用いて、aがMの約数とすると途切れることなく連続して処理することができる。
特に式(1)は、k=M×k1+k0なので、k0がある値に固定され、k1が0〜M−1の値を動くとすると、シリアルに入力されるデータからM個おきにとってきてパイプラインに供給する必要があることを示しており、前段のデータ並び変え回路はこの操作を行う部分である。
また式(3)に於いて、X2のインデックスはM×n0+k0なので、n0がある値に固定され、k0が0〜M−1の値を動くとすると、インデックスは連続値となる必要があり、前段の出力はインデックスに関してM跳びとなっているので、得られた出力をインデックスに関して連続となるように並べ換えてパイプラインに供給する必要がある。即ち前段の出力並びからM個おきにとって供給する必要がある。後段のデータ並び変え部はこの操作を行う部分である。
以下に前段/後段のデータ並べ換え部で行われる並べ換え処理を説明する。時系列データ{x(t):t=0〜2**m−1}は一般に2b個ずつ並列入力されるとすると、各入力データラインの連続するデータをB個ずつ組みにし、これらを各入力データライン横断的にまとめると、以下の表1のように、それぞれがM点データからなるM個の群に分けることができる。
ここでは、上から順に第1入力データライン、・・・第2bデータ入力ラインを示す。但し、B=M/2bで、並列度2bとした時のM点データになるまでの入力カウント数、2b=入力の並列度、従ってMを割り切る必要があるので、bは2の巾乗、a=前段/後段各々パイプラインFFT回路の数であり、Mの約数でやはり2の巾乗である。
特に、前段データ並べ換え部については1段階で行う方法(方法1)と、2段階に分けて行う方法(方法2)を示す。2段階に分けて行う方法の後半部は後段の並べ換えと同じ構成となる。
(前段の並べ換え方法1)
前段の並べ換えの方法1は上記の各群は時系列上連続したM点データからなるデータ組なので、これらM個の群の対応する位置のデータを1個ずつ集めれば、時系列的にM点離れたデータM個からなるデータ組を得ることができる。しかし、各パイプラインFFT回路は2並列入力となっているので2つのデータ群から同時に読み出してくる必要がある。同時アクセスができるようにメモリをバンクに分け、奇数番目の群、偶数番目の群それぞれ別バンクメモリに記憶する。
各バンクより順に各群の先頭よりa個ずつ読み出し、2つのバンク上の対応する位置同士のデータ2個ずつが1つのパイプラインFFTの2並列入力となる。通常2b>=2aであるので、2b÷a=c(但しcは2の巾乗)とすると各群の列データ2b個の内、同時に必要なのは、a個ずつなので、残りは捨てられ、従って各群の各列はc回読み出されることになる(なお、2b<2aの場合、入力データをデマルチプレクスして2b=2aと同じ扱いとすることができる)。
第2図に示した方法1における前段のデータ並べ換え部3Aは、2b個ずつ並列入力されてくるデータをダブルバッファメモリのバンク301A,301Bの一方に、M個になる都度バンクを交互に切り換えながら2b個ずつ記憶し、他方のメモリの2つのバンクより同時にそれぞれ2b個ずつ読み出し、その2b個の内、必要なa個をそれぞれ送出するものである。
第3図は、第1リードアドレス生成回路303の構成例を示すブロック図である。なお、メモリ素子構成によっては無駄な読み出しを避ける構成とすることもできる。
図中の群番号カウンタ3031(M/2カウンタ)、列番号カウンタ3032(Bカウンタ)は上記並べ換え説明における群、群内の列のそれそれの特定手段であり、又行グループ番号カウンタ3033(Cカウンタ)は列データ(2b個のデータからなる)内の隣り合ったa個のデータの選択手段である。
列データの読み出しアドレスは群番号カウンタ3031、列番号カウンタ3032のビットをこの順に単に連接した構成である。行グループ番号カウンタ3033の値は列内の対象データa個の選択信号となる。群番号カウンタ3031のキャリィで行グループ番号カウンタ3033を更新し、行グループ番号カウンタ3033のキャリィで列番号カウンタ3032が更新されるようにキャリィ接続して、各群の対応する位置にあるa個のデータ(即ち属する列が各群での位置が相対的に同じでかつ列内の位置も同じ)が時系列的に連続して読み出される。
(前段の並べ換え方法2:a≧2の場合)
第2図に示した方法1は並べ換えを1段階で行うものであるが、第4図、第8図で示した方法2は2段階かけて並べ換えを行うものである。
先ずa≧2の場合、即ちパイプラインFFT回路の個数aが2以上の場合について示し、その後a=1の場合を示す。
上述したように、第1データ並べ換え回路310は、時系列上連続したM点データからなるデータ組M個をa列縦隊になるようにデータを並べ換える。特に各データ組はその中では2列縦隊になっているように並べ換える。以下はその手順である。
M個の群はa個ずつの群のクラスタA個に分け、次のように処理する。ここで、A=M/aであり、1つのFFT回路で処理するM点データ組の数である。
第1クラスタの各群のそれぞれ第1列の偶数インデックス(奇数番目)のデータb個からなる列、奇数インデックス(偶数番目)のデータb個からなる列を作り、奇数番データ、偶数番データについて、それぞれb×a行列とみて転置する。
第1クラスタの各群の第2列の奇数番目データb個からなる列、偶数番目データb個からなる列を作り、奇数番データ、偶数番データについて、それぞれb×a行列とみて転置し、第1列からの転置の横に配置する。以下同様にして第1クラスタの各群のそれぞれ第B列の奇数番目のデータb個からなる列、偶数番目のデータb個からなる列を作り、奇数番のデータ、偶数番のデータについて、それぞれb×a行列とみて転置し、第B−1列からの転置の横に配置する。奇数番目データより得られた大きさa×bの行列B個から構成されるa×(b*B)[=a×(M/2)]行列の各行を奇数番のラインとし、偶数番目データより得られた大きさa×(M/2)行列の各行を偶数番のラインとして下記の第1群が得られる。同様にして、第2クラスタの各群について行うと下記の第2群が得られ、以下同様にして最後は第Aクラスタから下記表2の第A群が得られる。
実際には、以上のように並べ換えて第A群まですべてが得られるまで待つ必要はなく、奇数番目データb個からなる列、偶数番目データb個からなる列をメモリから読み出した後、各々b×a行列の転置操作して直ちに出力処理を開始することができる。
第4図に示した第1データ並べ換え回路310は、2b個ずつ並列入力されてくるデータをダブルバッファメモリ311の一方に2b個ずつ順次記憶しながら、他方のメモリより上記の読み出し順に従って2b個ずつ並列に読み出し、2組のコーナターナよりそれぞれa個ずつ合計2a個ずつ送出するものである。
第6図は第2リードアドレスの生成回路313の構成例である。図中の群クラスタ番号カウンタ3131(Aカウンタ)、群番号カウンタ3132(aカウンタ)、列番号カウンタ3133(Bカウンタ)は上記並べ換え説明におけるクラスタ、クラスタ内の群、群内の列のそれぞれの特定手段であり、アドレス3134はこれらのビットをこの順に単に連接した構成である。
この第2リードアドレス生成回路313は、群番号カウンタ3132と列番号カウンタ3133のキャリィの接続先を入れ換えて群番号カウンタ3132のキャリィで列番号カウンタ3133が更新されるようにキャリィ接続となっているので、クラスタ内では各群の対応する位置にある列はその読み出しが時系列上連続となる。
次に前段の並べ換えの方法2の後半部、即ち、第2データ並べ換え回路320では、前半部(第1データ並べ換え回路310)の結果を基にa個のパイプラインFFT回路の入力になるように、時系列上M点離れたデータM個からなるデータ組を作る。即ちa列縦隊になるように並べ換える必要がある。各パイプラインFFT回路は2並列入力とするので、全体としては2a列縦隊となる。
第1データ並べ換え回路310で、時系列的に連続するM点データの組(組内は2列縦隊)がa列縦隊に編成されているので、この後、各組の対応する位置のデータを1個ずつ集めれば、時系列的にM点離れたデータM個からなるデータ組を得ることができる。組内は2列縦隊になっているので、群内の各列には連続M点データの同じ組に属するデータ点が2個含まれており、列が読み出しの単位とすると、2個のパイプラインFFTのデータが得られ、a個のパイプラインFFT回路の為にはa/2列単位で読み出し処理すればよい。
各群はa/2列単位を1クラスタとするとA個のクラスタに分けられる((M/2)÷(a/2)=Aより)。
以下、各群はクラスタ単位に次のように処理される。
第1群の1番目のクラスタの列(i=0〜a/2−1)の各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置、第2群の1番目のクラスタの列の各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置し、第1群からの転置の横に配置する。
以下、同様にして第A群の1番目のクラスタの列の各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置し、第A−1群からの転置の横に配置する。このようにして得られた4個の(a/2)×(M/2)行列について、順に第1の行列の各行を4h+1(h=0〜a/2−1)番のライン、第2の行列の各行を4h+2(h=0〜a/2−1)番のライン、第3の行列の各行を4h+3(h=0〜a/2−1)番のライン、第4の行列の各行を4h+4(h=0〜a/2−1)番のラインとすることによって下記(表3)の第1群が得られる。
再び第1群の次のクラスタの列(i=a/2〜a−1)の各々について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置、第2群について次のクラスタの列(i=a/2〜a−1)の各々について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置し、第1群からの転置の横に配置する。以下同様にして第A群について次のクラスタの列(i=a/2〜a−1)の各々について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置し、第A−1群からの転置の横に配置する。このようにして得られた4個の(a/2)×(M/2)行列について、順に第1の行列の各行を4h+1(h=0〜a/2−1)番のライン、第2の行列の各行を4h+2(h=0〜a/2−1)番のライン、第3の行列の各行を4h+3(h=0〜a/2−1)番のライン、第4の行列の各行を4h+4(h=0〜a/2−1)番のラインとすることによって下記の第2群が得られる。以下同様にして第3群が得られる。
以下、同様な手順で第1群〜第A群の最後のクラスタの列(i=(A−1)a/2〜Aa/2−1(=M/2−1))を取りそれぞれ(a/2)×(a/2)行列とみて転置し、同様にして4個の(a/2)×(M/2)行列を構成し順に第1の行列の各行を4h+1(h=0〜a/2−1)番のライン、第2の行列の各行を4h+2(h=0〜a/2−1)番のライン、第3の行列の各行を4h+3(h=0〜a/2−1)番のライン、第4の行列の4h+4(h=0〜a/2−1)番のラインとすることによって下記の第A群が得られる。
得られた各ラインは順に上から2個ずつが各パイプラインFFT回路の2並列入力を形成する。実際には、以上のように並べ換えて第A群まですべてが得られるまで待つ必要はなく、先頭から3つおきに取ったデータa/2個の列a/2個、3番目から3つおきに取ったデータa/2個の列a/2個、2番から3つおきに取ったデータa/2個の列a/2個、4番目から3つおきに取ったデータa/2個の列a/2個をメモリから読み出した後、それぞれ(a/2)×(a/2)行列の転置操作して直ちに出力処理を開始することができる。
第4図の前段データ並べ換え部3B(方法2)の後半部である第2データ並べ換え回路320は、2a個ずつ並列入力されてくるデータをダブルバッファメモリの一方に2a個ずつ順次記憶しながら他方のメモリより上記の読み出し順に従って2a個ずつ並列に読み出し、4組のコーナターナよりa/2個ずつ合計2a個ずつ送出するものである。特にa=2の場合は1×1行列の転置操作となり、コーナターナ機能は不要となり、単にデータをルーティングするだけである。
第7図は第3リードアドレスの生成回路323の構成例である。図中の群番号カウンタ3231(Aカウンタ)、列クラスタ番号カウンタ3232(Aカウンタ)、列番号カウンタ3233(a/2カウンタ)は上記並べ換え説明における群、群内の列クラスタ、列クラスタ内の列のそれぞれの特定手段であり、アドレスはこれらのビットをこの順に単に連接した構成である。群番号カウンタ3231と列クラスタ番号カウンタ3232を入れ換え、群番号カウンタ3231のキャリィで列クラスタ番号カウンタ3232が更新されるようにキャリィ接続して、各群の対応する位置にある列クラスタの読み出しが時系列上連続となっている。
次に後段のデータ並べ換え部が行う操作であるが、前段の並べ換えの方法2の後半とまったく同じ操作を行うものである。前段のパイプラインFFTの出力は次の表4のような並びとなる。各ラインが前段からの出力ライン(即ち各2ラインずつが1つのパイプライン出力に対応)からのデータの出力順に対応する。
(後段の並べ換え方法2:a≧2の場合)
第5図に示す後段のデータ並べ換え部4Aは、前段FFT出力並びよりM点離れたデータM個からなるデータ組を作りa列縦隊になるように並べ換える。特に各組のデータ並び内では2列縦隊になるようにする。前段の出力はM点データの組(組内は2列縦隊)がa列縦隊の並びとなっているので、各組の対応する位置のデータを1個ずつ集めれば、M点離れたデータM個からなるデータ組を得ることができる。
組内は2列縦隊となっているので、群内の各列には同じM点データ組に属するデータが2個含まれており列が読み出しの単位とすると、2個のパイプラインFFT回路のデータが得られるので、a個のパイプラインFFT回路の為にはa/2列単位で読み出し並べ換えればよい。各群はa/2列単位を1クラスタとするとa/2列から構成されるクラスタA個に分けることができる。
以下、各群はクラスタ単位に次のように処理される。第1群の1番目のクラスタの列(i=0〜a/2−1)各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置、第2群の1番目のクラスタの列各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置し、第1群からの転置の横に配置する。
以下同様にして第A群の1番目のクラスタの列各々について先頭から3つおきに取ったデータa/2個からなる列a/2個、3番目から3つおきに取ったデータa/2個からなる列a/2個、2番目から3つおきに取ったデータa/2個からなる列a/2個、4番目から3つおきに取ったデータa/2個からなる列a/2個をそれぞれ(a/2)×(a/2)行列とみて転置し、第A−1群からの転置の横に配置する。このようにして得られた4個の(a/2)×(M/2)行列について、順に第1の行列の各行を4h+1(h=0〜a/2−1)番のライン、第2の行列の各行を4h+2(h=0〜a/2−1)番のライン、第3の行列の各行を4h+3(h=0〜a/2−1)番のライン、第4の行列の各行を4h+4(h=0〜a/2−1)番のラインとすることによって下記の表5の第1群が得られる。
再び、第1群の次のクラスタの列(i=a/2〜a−1)について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置、第2群について次のクラスタの列(i=a/2〜a−1)について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置し、第1群からの転置の横に配置する。
以下同様にして第A群について次のクラスタの列(i=a/2〜a−1)について同様に取ってそれぞれ(a/2)×(a/2)行列とみて転置し、第A−1群からの転置の横に配置する。 このようにして得られた4個の(a/2)×(M/2)行列について、順に第1の行列の各行を4h+1(h=0〜a/2−1)番のライン、第2の行列の各行を4h+2(h=0〜a/2−1)番のライン、第3の行列の各行を4h+3(h=0〜a/2−1)番のライン、第4の行列の各行を4h+4(h=0〜a/2−1)番のラインとすることによって表5の第2群が得られる。
以下同様にして第3群が得られ、同様な手順で第1群〜第A群の最後のクラスタの列(i=(A−1)a/2〜Aa/2−1(=M/2−1))を取りそれぞれ(a/2)×(a/2)行列とみて転置し、それぞれ(a/2)×(M/2)行列を構成し、同様に対応づけると表5の第A群が得られる。
得られた各ラインは順に上から2個ずつが各パイプラインFFT回路の2並列入力を形成する。実際には、以上のように並べ換えて第A群まですべてが得られるまで待つ必要はなく、先頭から3つおきに取ったデータa/2個の列a/2個、3番目から3つおきに取ったデータa/2個の列a/2個、2番目から3つおきに取ったデータa/2個の列a/2個、4番目から3つおきに取ったデータa/2個の列a/2個をメモリから読み出した後、それぞれ(a/2)×(a/2)行列の転置操作して直ちに出力処理を開始することができる。
第5図の後段データ並べ換え部4Aは前段データ並べ換え部の方法2の後半部である第2データ並べ換え回路320と同様に2a個ずつ並列入力されてくるデータをダブルバッファメモリの一方に2a個ずつ順次記憶しながら他方のメモリより上記の読み出し順に従って2a個ずつ並列に読み出し4組のコーナターナよりa/2個ずつ合計2a個ずつ送出するものである。リードアドレス生成回路323は第2データ並べ換え回路のものと同じである。
(捻り係数乗算)
後段部のデータ並べ換えに続き、捻り係数乗算部で乗算される捻り係数は表6のようなものとなる。N=M×M点フーリェ変換の第一ステップである式(1)はk0を固定した場合、k1についてのM点DFTの式であり、基数2パイプラインFFTで処理した場合、その出力インデックス順はDFTの式により得られるインデックス順とはビットリバースの関係にある。従って(2)式の捻り係数乗算を基数2のパイプラインFFTの出力インデックス順に対応して行う場合、捻り係数の指数n0についてはビットリバースした値を用いる必要がある。
前述の後段のパイプラインFFTの入力の為の並べ換えでは、データ配列は一次元表現になっているが、2次元表現、即ち行列表現としてはMが掛けられている値が行インデックスであり、残りが列インデックスとなる。捻り係数の指数としてはこの行インデックスのビットリバース値を用いる必要がある。パイプラインFFT回路はa個なので、データ配列の行は2行ずつのa組に分けられ、各組はM点データずつA個に細分されている。列の観点からみると全体がA個の群に分けられていることになる。
従ってビットリバース操作をBR[]とすると、データの入力並びに対応した捻り係数の並びは以下のようになる。但し、BR[]は[]内をmビットとしてみたビットリバース操作である。
(データ並べ換え方法2:a=1の場合)
次にa=1、即ち各段のパイプラインFFT回路が1個の場合について示す。a≧2の場合と同様、入力時系列データ{x(t):t=0〜2**m−1}は2b個ずつ並列入力されるとし、各入力データラインの連続するデータをB個ずつ組にし、これらを各入力データライン横断的にまとめると、表7のようにそれぞれがM点データからなるM個の群に分けることができる。但し、BはB=M/2bで並列度2bとした時のM点データになるまでの入力カウント数、2bは入力並列度である。
(前段データ並べ換え方法2:a=1の場合)
先ず、第8図に示す第1データ並べ換え回路330では、時系列上連続したM点データからなるデータ組M個を1列縦隊になるようにデータを並べ換える。特に各データ組はその中では2列縦隊になっているように並べ換える。以下はその手順である。 M個の群は次のように処理する。
第1群の第1列の奇数番目のデータb個からなる列、偶数番目のデータb個からなる列を作り、奇数番データ、偶数番データについて、それぞれb×1行列とみて転置する。次に第1群の第2列の奇数番目データb個からなる列、偶数番目データb個からなる列を作り、奇数番データ、偶数番データについて、それぞれb×1行列とみて転置し、第1列からの転置の横に配置する。
以下同様にして第1群の第B列の奇数番目のデータb個からなる列、偶数番目のデータb個からなる列を作り、奇数番のデータ、偶数番のデータについて、それぞれb×1行列とみて転置し、第B−1列からの転置の横に配置する。奇数番目データより得られた大きさ1×bの行列B個から構成される1×(b×B)[=1×(M/2)]行列の行を奇数番のラインとし、偶数番目データより得られた大きさ1×(M/2)行列の行を偶数番のラインとして下記表8の第1群が得られる。
同様にして、第2群について行うと表8の第2群が得られる。以下同様にして最後は第M群から表8の第M群が得られる。実際には、以上のように並べ換えて第M群まですべてが得られるまで待つ必要はなく、奇数番目データb個からなる列、偶数番目データb個からなる列をメモリから読み出した後、各々b×1行列の転置操作して直ちに次へ出力処理を開始することができる。
第8図の第1データ並べ換え回路330は、2b個ずつ並列入力されてくるデータをダブルバッファメモリの一方に2b個ずつ順次記憶しながら、他方のメモリより上記の読み出し順に従って2b個ずつ並列に読み出し、2組のコーナターナ(この場合、パラレルイン・シリアルアウト回路となる)よりそれぞれ1個ずつ合計2個ずつ送出するものである。
第10図は第4リードアドレス生成回路333の構成例である。図中の群番号カウンタ(Mカウンタ)3331、列番号カウンタ(Bカウンタ)3332は上記並べ換え説明における群、群内の列のそれぞれの特定手段であり、アドレスはこれらのビットをこの順に単に連接した構成である。
次に前段の第2データ並べ換え回路340では、前半の結果を基に1個のパイプラインFFT回路の入力になるように、時系列上M点離れたデータM個からなるデータ組を作る。即ち1列縦隊になるように並べ換える必要がある。
前段の第1データ並べ換え回路330で、時系列的に連続するM点データの組(組内は2列縦隊)が1列縦隊に編成されているので、この後、各組の対応する位置のデータを1個ずつ集めれば、時系列的にM点離れたデータM個からなるデータ組を得ることができる。組内は2列縦隊になっているので、群内の各列の2個のデータはM点離れたデータM個の組としては別の組に属する。列全体が読み出し単位とすると、パイプラインFFT回路は一組なので、他方は直ちに必要とはならず、再度読み出す必要がある。しかし、パイプラインFFT回路は2並列入出力であり、M点離れたデータM個の同じ組のもう1個のデータを必要とする。即ち2つの群より同時に読み出してくる必要がある。
この為の構成は、第2図に示した前段のデータ並べ換え部3Aの方法1と同じでよい。即ち第1データ並べ換え回路330から得られるデータ群は、2つのバンクに分けられたバッファメモリに、奇数番目、偶数番目の群をそれぞれ別バンクに記憶する。各バンクより対応する群の先頭より1個ずつの計2個がパイプラインFFT回路の2並列入力となる。バンク内の各群は先頭の群の先頭データ1個、次の群の先頭データ1個、さらに次の群の先頭データ1個というように各群について対応する位置の1個ずつを読み出し、最後の群(M/2番目の群)に達して表9の第1群が得られる。再び先頭の群の次の1個、2番目の群の次の1個というように各群のデータが尽きるまで行い、表9の第M群までが得られる。この後別のバッファのバンクに切り換わって全く同様に処理を行う。
得られた各群の2ラインはパイプラインFFT回路の2並列入力となる。実際には、以上のように並べ換えて第M群まですべてが得られるまで待つ必要はなく、2つのバンクから読み出して直ちにパイプラインFFT回路へ出力するようにできる。
第8図の第2データ並べ換え回路340は2個ずつ並列入力されてくるデータをダブルバッファメモリの一方にM個になる都度バンクを交互に切り換えながら2個ずつ記憶し、他方のメモリの2つのバンクより同時にそれぞれ2個を読み出し、そのうち必要な1個をそれぞれ計2個送出するものである。
第11図は第5リードアドレスの生成回路343の構成例である。図中の群番号カウンタ3431(M/2カウンタ)、列番号カウンタ3432(M/2カウンタ)は上記並べ換え説明における群、群内の列のそれぞれの特定手段であり、又行番号カウンタ3433(2カウンタ)は列データ(2個のデータからなる)内の1個のデータの選択手段である。列データの読み出しアドレスは群番号カウンタ3431、列番号カウンタ3432のビットを単に連接した構成である。行番号カウンタ3433の値は列内の対象データ1個の選択信号となる。群番号カウンタ3431のキャリィで行番号カウンタを更新し、行番号カウンタ3433のキャリィで列番号カウンタが更新されるようにキャリィ接続して、各群の対応する位置にある1個のデータ(即ち属する列が各群での位置が相対的に同じでかつ列内の位置も同じ)が時系列的に連続して読み出される。
(後段データ並べ換え方法2:a=1の場合)
第9図に示す後段のデータ並べ換え部4Bが行う操作は前段データの並べ換え部の第2データ並べ換え回路340(方法2の後半部)と全く同じ操作を行うものである。前段のパイプラインFFTの出力は表10のような並びとなる。各ラインが前段FFT出力ラインからのデータの出力順に対応する。
後段のデータ並べ換え部4BはFFT出力データの並びよりM点離れたデータM個からなるデータ組を作り1列縦隊になるように並べ換える。特に各組のデータ並び内では2列縦隊になっているようにする。前段のFFT出力はM点データの組(組内は2列縦隊)が1列縦隊の並びとなっているので、各組の対応する位置のデータを1個ずつ集めれば、M点離れたデータM個からなるデータ組を得ることができる。
組内は2列縦隊になっているので、群内の各列の2個のデータはM点離れたデータM個の組としては別の組であり、列を読み出しの単位とすると、パイプラインFFT回路は一組なので、他方は直ちに必要とはならず、再度読み出す必要がある。しかし、パイプラインFFT回路は2並列入出力であり、M点離れたデータM個の組として同じ組となるもう1個のデータを必要とする。即ち2つの群より同時に読み出してくる必要がある。この為の構成は方法1の前段の並べ換え部3Aと同じでよい。即ち、前段パイプラインFFT回路から得られるデータ群は、2つのバンク(バンクA、バンクB)に分けられたバッファメモリに、奇数番目、偶数番目の群をそれぞれ別に記憶する。各バンクより対応する群の先頭より1個ずつの計2個がパイプラインFFT回路の2並列入力となる。
バンク内の各群は先頭の群の先頭データ1個、次の群の先頭データ1個、さらに次の群の先頭データ1個というように各群について対応する位置の1個ずつが読み出され最後の群(M/2番目の群)に達して下記第1群が得られる。再び先頭の群の次の1個、2番目の群の次の1個というように各群のデータが尽きるまで行い、下記表11の第M群までが得られる。この後別のバッファのバンクに切り換わって全く同様に処理を行う。
得られた各群のラインはパイプラインFFT回路の2並列入力を形成する。実際には、以上のように並べ換えて第M群まですべてが得られるまで待つ必要はなく2のバンクから読み出して直ちにパイプラインFFTに出力することができる。
第9図に示した後段データ並べ換え部4Bは、前段データ並べ換え部3Cの第2データ並べ換え回路340(方法2)と同様に2個ずつ並列入力されてくるデータをダブルバッファメモリの一方に、M個になる都度、そのバンク341A´,341B´を交互に切り換えながら2個ずつ記憶し、他方のメモリの2つのバンクより同時にそれぞれ2個を読み出し、その内必要な1個をそれぞれ送出するものである。第5リードアドレス生成回路343´は前段データ並べ換え部330の第2データ並べ換え回路340の第5リードアドレス生成回路343と同じである。
(捻り係数の乗算:a=1の場合)
後段のデータ並べ換えに続く、捻り係数乗算部で乗算される捻り係数は各段のパイプラインFFTが1個即ちa=1の場合は、a≧2の場合において、a=1、A=Mとして表12のようなものとなる。但し、BR[]は[]内をmビットとしてみたビットリバース操作である。
(並列構成)
装置単独では実装上の制約等によりデータの入力レートに対応できない時として、例えば、データの入力レートと装置の動作レートが等しく、データの入力並列度2b>パイプラインFFTの合計パイプライン幅2a、の場合等がある。このための対策として装置を並列配置する方法がある。単純な構成としてデータ入力ラインと各装置をデマルチプレクサで結合すればよいが、前段データ並べ換えの方法2の場合、各装置の前段データ並べ換え部(方法2)の前半部である第1データ並べ換え回路を統合し、バッファメモリからの読み出しでデマルチプレクスする方が制御やコンパクト化に有利な場合がある。
第12図はこのデータ分配・並べ換え部8の構成を示す。
このような構成では各装置の前段データ並べ換え部は方法2に於ける前段データ並べ換え部の後半と同じ構成となる。従って又各装置の後段データ並べ換えはこれまでの説明から判るように前段のデータ並べ換え部と同じ構成となる。この時、並列配置装置台数eは(2b)÷(2a)=b÷aとなるべきであり、2の巾乗となる。
この統合バッファメモリの大きさ(語数)としてフーリェ変換点数×並列配置する装置分とし、各装置に割り付ける分はフーリェ変換点数分とする(バッファリング分を含めるとこの倍となる)。またデータ並べ換えのコーナターナの大きさも並列配置する装置個数倍とする。この統合バッファへの書き込みは順に各装置分としてフーリェ変換点数分単位ずつ行われる。しかし、読み出しは装置対応には、前段のデータ並べ換え(方法2)の前半の説明で述べたように2b個ずつ並列にa回、即ちa列分、順に行い、コーナターナへ出力される。2組のコーナターナではそれぞれ並列配置する装置台数分、即ち(b×a×e)=b×a×(b÷a)=b×b個のデータがバッファされると転置操作が行われ、各装置に対して同時にそれぞれa並列でデータが出力される(装置当たり奇・偶数出力ライン合計2a並列となり、全体では2b並列となる)。
データ分配・並べ換え部8における、データ読み出しのデマルチプレクサ制御に対応した第6リードアドレス発生回路82は第13図に示すようになり、装置カウンタ824が追加され、これがバッファメモリ上の各装置領域の選択を制御する。図中の群クラスタ番号カウンタ821(Aカウンタ)、群番号カウンタ822(aカウンタ)、列番号カウンタ823(Bカウンタ)は前段の並べ換えの方法2の第1並べ換え回路(前半部)の説明におけるクラスタ、クラスタ内の群、群内の列のそれぞれの特定手段であり、また装置カウンタは個々の各装置の対象データ(クラスタ)を特定する手段である。アドレスは装置カウンタ824、群クラスタ番号カウンタ821、群番号カウンタ822、列番号カウンタ823のビットをこの順に単に連接した構成である。
以上の構成において、群番号カウンタ822のキャリィで装置カウンタ824を更新し、装置カウンタ824のキャリィで列番号カウンタ823が更新され、列番号カウンタ823のキャリィで群クラスタ番号カウンタ821が更新されるようにキャリィ接続を行うことにより、クラスタ内では各群の対応する位置にある列(即ち合計a個の列)の読み出しが時系列上連続となり、又特定の装置の処理対象データのa個の列が読み出されると、次の装置の処理対象データよりa個の列が読み出されるようにアドレスの生成を行うようにしている。
なお、a=1の場合の第6リードアドレス発生回路は第13図において、A=Mとなり、aカウンタを削除した第14図である。
(バイパス処理)
これまで前段のフーリェ変換点数は後段と同じ変換点数として説明してきた。しかし、同じ装置構成で変換点数をモード変更等で可変にできれば、装置の汎用性が増す。特許第2848134号によると、R並列入出力M点(=R**m)用の基数RパイプラインFFT回路で、データ並べ換えと演算部からなるパイプラインの各段に対する設定によって、変換点数M/(R**1)、M/(R**2)、 M/(R**3)、・・・ R点のフーリェ変換を行わせることができることが開示されている。
以下はR=2、即ち基数2パイプラインFFTについての概略説明である。並列入出力M点(=2**m)、基数2パイプラインFFT回路はフーリェ変換点数M個のデータについて、フーリェ変換を行う回路である。これはM個の入力データを2分割し、分割した入力データをシリアルに並べてなる2並列入力のデータをデータ並べ換え回路部と演算部とから構成された2並列入出力の、高速フーリェ変換(FFT)の基本回路に入力し、この2並列入出力の基本回路を1段とし、この段をm個直列に並べてフーリェ変換を行うよう構成したものである。
データ並べ換え回路部は入力データ点数Mに対して、上記の1段目ではM/(2**1)離れたデータ同士が、2段目ではM/(2**2)離れたデータ同士が、3段目ではM/(2**3)離れたデータ同士が、最終段ではお互いに1つ離れたデータ同士が演算部の2並列入力を構成するように並べ換えを行い、各演算部は2並列入力の1方に捻り係数を乗算し、その結果と他方の入力とでバタフライ演算(2入力の和及び差を得る)を行う。
特許第2848134号では上記の基本回路m段からなるM(=2**m)点の高速フーリェ変換回路において、データの並べ換えを行うが、演算を行わないでそのまま出力するというバイパス処理を1段からK段まで行い、以降の段ではデータの並べ換え及び演算を行うことで、データ点数がM/(2**K)のフーリェ変換がなされることが示されている(但し、Kは正整数でK<m)。又与える入力データが最大変換点数であって、上記バイパス機能を適用してもバイパス機能の設定で決まる変換点数ずつまとまった形で変換結果が得られることを以下に示す。
先ず、基数2の場合に対するデータ並べ換えの例を説明し、その後で並べ換え方より、バイパス機能を適用しても変換点数ずつまとまった形で変換結果が得られることを示す。基本回路のデータ並べ換え部の2並列入力のそれぞれのポートをx、y、2並列出力のそれぞれのポートをa、bと名付ける時、1段目では1本のM点の時系列データがデマルチプレクサにより2本の入力ポートに与えられるか、乃至はM点の時系列データを丁度半分のところで分割して時間的に早い前半M/(2**1)個の時系列上連続するデータをポートxに、遅い後半M/(2**1)個の時系列上連続するデータをポートyに与える時、出力としてポートaに時間的に早いM/(2**1)個の連続するデータを、ポートbには時間的により遅いM/(2**1)個の連続するデータが出るように並べ換える。
2段目では先ず入力ポートxからのM/(2**1)個のデータを2分割して、時間的に早い前半M/(2**2)個のデータを出力ポートaに、遅い後半M/(2**2)個のデータを出力ポートbに出力し、その後入力ポートyからのM/(2**1)個のデータを2分割して、時間的に早い前半M/(2**2)個のデータを出力ポートaに、遅い後半M/(2**2)個のデータを出力ポートbに出力するように並べ換える。
さらに3段目では先ず入力ポートxからの最初のM/(2**2)個のデータを2分割して、時間的に早い前半M/(2**3)個のデータを出力ポートaに、遅い後半M/(2**3)個のデータを出力ポートbに出力し、この後入力ポートyからの最初のM/(2**2)個のデータを2分割して、時間的に早い前半M/(2**3)個のデータを出力ポートaに、遅い後半M/(2**3)個のデータを出力ポ個のデータを出力ポートbに出力し、再び入力ポートxからの次の残りM/(2**2)個のデータを2分割して、時間的に早い前半M/(2**3)個のデータを出力ポートaに、遅い後半M/(2**3)個のデータを出力ポートbに出力し、再び入力ポートyからの次の残りM/(2**2)個のデータを2分割して、時間的に早い前半M/(2**3)個のデータを出力ポートaに、遅い後半M/(2**3)個のデータを出力ポートbに出力するように並べ換える。以下4段、5段・・・同様な仕方で細分割して並べ換え出力される。
以上のような並べ換えにおいて1段目での出力ポートa、bに出てくるデータは時系列的に丁度M/(2**1)個離れたものになっている。また2段目では連続したM/(2**1)個のデータを2分割して出力ポートa、bに出力しているのでやはりそれらの距離はM/(2**1)の半分のM/(2**2)個になっている。また3段目では連続したM/(2**2)個のデータを2分割して出力ポートa、bに出力しているのでやはりそれらの距離はM/(2**2)の半分のM/(2**3)個になっている。
以下m段目ではM/(2**m)=M/M=1離れたものになっており、FFT算法が要請する、演算部に与えるべきデータ揃えに叶っている。
以上の並べ換え方法を採用しているデータ並べ換え部を含む基本回路を各段に持つ高速フーリェ変換回路においてバイパス処理即ちデータ並べ換えは行うが演算はせず、そのまま次の段に渡すというバイパス機能を1段目までに適用すると、上記並べ換え説明より、2段目ではM個の連続データの内、先ず、前半のM/(2**1)個を2分割して演算部に渡し、その後で後半のM/(2**1)個を2分割して演算部に渡すので、M/(2**1)点フーリェ変換結果はM/(2**1)個ずつ分離されて得られることが判る。バイパス機能を2段目までに適用すると、上記並べ換え説明から3段目では各入力ポートからの連続したM/(2**2)個単位のデータを時間的に早い順に処理、即ち2分割して演算部に渡すというように処理するのでM/(2**2)点フーリェ変換結果はM/(2**2)個ずつ分離されて得られることが判る。以下同様で、バイパス機能の適用でも変換点数ずつまとまった形で変換結果が得られることが判る。
本特許2848134号に開示された前段の基数2パイプラインFFT回路として、各段が上記バイパス機能を持つ基数2パイプラインFFT回路を使用し、1段目から必要な段までバイパス機能を適用することによって、N/2=(M/2)×M、N/(2**2)={M/(2**2)}×M、N/(2**3)={M/(2**3)}×M、・・・{N/(M÷2)}×M=2×M点のフーリェ変換を行えることが以下のように示される。
これらのフーリェ変換点数はα×Mと表されるので、前段のパイプラインFFTに供給されるデータはM個おきにα個とってパイプラインFFT回路にα個ずつ供給すればよいが、特許2848134号の基数2パイプラインFFTではM個(=α×(M/α))ずつ供給するとパイプラインFFTの中で、分離し順次α点FFTを行い、(M/α)組出力してくる。これは前段、後段データ並べ換え部の説明中の後段データ並べ換え部の入力データ{X1(n)}の各群の列が仮想的にα/2列ずつM/α組に区分けされるだけで、出力順はM×M点パイプラインFFTの場合と全く同じであり、後段のパイプラインFFTの入力としてはM個の各群の対応する位置からデータを1個ずつとって(合計M個のデータとなる)くればよく、これは既に説明した後段でのデータ並べ換えそのものである。さらに、前段の最後の演算までバイパスする場合、前段パイプラインFFTの入力データ列そのものがその順に出てくるので、後段のデータ並べ換えを経由すると、結局元々の時系列上連続したM点ずつのデータが得られる。
これを後段パイプラインFFTに与えるとM点FFTの結果が順に得られることになる。後段にも前段と同じバイパス機能をもった基数2パイプラインFFTを使用し、データ並び替えそのものは行うが、順に先頭から演算をバイパスするとM/2点以下のFFT結果が得られる。以上により、本特許では前段/後段に各段の演算そのものをバイパスする機能をもつ基数2パイプラインFFTを採用することによりN/2・・・2点までのフーリェ変換を行うことができる機能を持つフーリェ変換装置を構成することもできる。
(64点高速フーリェ変換装置)
64点FFTを行う場合の実施例構成を第15図に示す。データ入力並列度は4で、パイプライン幅も合計4とし、前段データ並べ換え部103のデータ並べ換え方法は上述した方法2に従うものとする。64点FFTは8×8と分解すると、以下のように前段・後段とも変換点数M=8の離散フーリェ変換となる。
式(1)に於ける8点フーリェ変換Y1(n0、k0)(k0=0、2、4、6)はk0の昇順に前段の8点基数2パイプラインFFT回路101Aで計算される。また8点フーリェ変換Y1(n0、k0)(k0=1、3、5、7)はk0の昇順にに前段の8点基数2パイプラインFFT回路101Bで計算される。
式(2)は捻り係数乗算部107で計算される。この乗算部107には、複素乗算回路105と係数メモリ106を備えている。式(3)に於ける8点フーリェ変換Y3(n0、n1)(n0=0、2、4、6)はn0の昇順に後段の8点基数2パイプラインFFT回路102Aで計算される。また8点フーリェ変換Y3(n0、n1)(n0=1、3、5、7)はn0の昇順に後段の8点基数2パイプラインFFT回路102Bで計算される。以下に変換に従ってデータが出力される順をデータ並べ換え込みで示す。
先ず、時系列の入力データy(k)が4並列で入力される。変数名yを省略しインデックスの値のみを示す。記述した表1におけるパラメータをM=8、b=2、B=8/4=2として、
前段のデータ並べ換え方法2に従うデータ並べ換え部103(詳細は第16図参照)の前半部103aでy(k)は表14のように並べ換えられる。表2におけるパラメータをM=8、a=2、A=8/2=4として、
さらにデータ並べ換え部103(詳細は第16図参照)の後半部103bでy(k)は次の表15のように並べ換えられる。ここで、リードアドレス生成回路103a−1,103b−1はそれぞれ第6図、第7図に示したものに対応するが、図中の後半部の並べ換え用リードアドレス生成回路103b−1ではクラスタ内列番号カウンタの計数個数は1個の為、クラスタ内列番号カウンタは削除されている。
以上のように得られたY1のデータに対して、さらにY3を得る為の変換の為のデータ並べ換えが必要であるが、データ並べ換え部104(詳細は第17図)でY(k)は次の表16のような順となる。なお、図中のリードアドレス生成回路104−1は第7図のリードアドレス生成回路に対応するが、第17図ではクラスタ内列番号カウンタの計数個数は1個の為、クラスタ内列番号カウンタは削除されている。
これらは4個の捻り係数乗算回路で捻り係数がそれぞれ乗算された後、後段の8点基数2シリアルFFT回路102A,102Bへ入力され、Y3のデータがこのような順に2並列で得られる。
なお、捻り係数乗算部105で掛けられる係数は表6におけるパラメータをM=8、a=2、A=M/a=8/2=4として、指数値のみを示すと以下表17のようなものとなる。
以上に詳述したように、本発明は、前段及び後段から構成されるフーリェ変換装置の構成に於いて、各段が変換手段として並列入出力の変換点数が等しいM(2の巾乗)点、基数2パイプラインFFT回路をa(Mの約数)個ずつ持ち、かつ各段の変換手段へのデータ供給の為のデータの並べ換え手段を持つようにしたため、装置のパイプライン幅が各段の個々のパイプラインFFT回路の変換点数に依存しないという効果がある。
【図面の簡単な説明】
第1図は、本発明のフーリェ変換装置を示すブロック図である。
第2図は、前段のデータ並べ換え部の第1例のブロック図である。
第3図は、第1リードアドレス生成回路の例を示すブロック図である。
第4図は、aが2以上の場合の前段のデータ並べ換え部を示すブロック図である。
第5図は、aが2以上の場合の後段のデータ並べ換え部を示すブロック図である。
第6図は、第2リードアドレス生成回路を示すブロック図である。
第7図は、第3リードアドレス生成回路を示すブロック図である。
第8図は、aが1の場合の前段のデータ並べ換え部を示すブロック図である。
第9図は、aが1の場合の後段のデータ並べ換え部を示すブロック図である。
第10図は、aが1の場合の第4リードアドレス生成回路を示すブロック図である。
第11図は、aが1の場合の第5リードアドレス生成回路を示すブロック図である。
第12図は、データ分配・並べ換え部の構成を示すブロック図である。
第13図は、aが2以上の場合における第6リードアドレス生成回路を示すブロック図である。
第14図は、aが1の場合の第6リードアドレス生成回路を示すブロック図である。
第15図は、64点FFTを示すブロック図である。
第16図は、64点FFTの前段のデータ並べ換え部を示すブロック図である。
第17図は、64点FFTの後段のデータ並べ換え部を示すブロック図である。
Claims (8)
- 2並列入出力、基数2のパイプラインFFT回路を最大変換点数M(=2 m 、m>2))の約数に相当する個数a個有する前段の変換手段と、前記前段の変換手段と同数の2並列入出力M点、基数2のパイプラインFFT回路を有する後段の変換手段とを備え、入力データに対して、最大変換点数をM点とする離散フーリエ変換を行うフーリエ変換装置であって、
第1のデータ供給手段と、第2のデータ供給手段と、捻り係数乗算手段とを備え、
前記第1のデータ供給手段によって、前記前段の変換手段に前記入力データを第1の所定の順に従って供給し、
前記第2のデータ供給手段によって、前記前段の変換手段により変換されたデータを第2の所定の順に従って並べ換えた後、前記捻り係数乗算手段によって、前記第2のデータ供給手段により並べ換えられたデータに捻り係数を乗算して前記後段の変換手段に入力し、前記後段の変換手段よりフーリエ変換されたデータを出力し、
若しくは、前記捻り係数乗算手段によって、前記前段の変換手段によって変換されたデータに捻り係数を乗算した後、前記第2のデータ供給手段によって、前記捻り係数乗算手段により前記捻り係数が乗算されたデータを第2の所定の順に従って並べ換えて、前記後段の変換手段に入力し、前記後段の変換手段よりフーリエ変換されたデータを出力するようにしたことを特徴とするフーリエ変換装置。 - 請求項1に記載のフーリエ変換装置において、
前記第1のデータ供給手段は、2バンク構成とされた第1のメモリ回路と、前記第1のメモリ回路の前記バンクを切換え、前記入力データを交互に順次M個書き込む書き込み手段と、前記第1のメモリ回路の前記2つのバンクに対応する位置のデータを同時に読み出し、前記前段の変換手段に供給する読み出し手段とを備えてなることを特徴とするフーリエ変換装置。 - 請求項1に記載のフーリエ変換装置において、
前記第1のデータ供給手段は、前記入力データを所定の順に並べ換える第1、第2のデータ並べ換え部を2段階に備えて構成され、前記第1、第2のデータ並べ換え部が前記入力データを記憶する夫々第2、第3のメモリ回路と、前記第2、第3のメモリ回路の夫々の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路と、前記第2、第3のメモリ回路より読み出されたデータを夫々並べ換えて前記前段の変換手段に出力するコーナターナとを備え、
前記第2のデータ供給手段は、前記前段の変換手段により変換されたデータを並べ換える第3のデータ並べ換え部を備え、
該第3のデータ並べ換え部は、前記前段の変換手段により変換されたデータを記憶する第4のメモリ回路と、該第4のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路と、前記第4のメモリ回路より読み出されたデータを並べ換えて前記後段の変換手段に出力するコーナターナとを備えてなることを特徴とするフーリエ変換装置。 - 請求項1に記載のフーリエ変換装置において、
前記前段及び後段の変換手段が有するパイプラインFFT回路の個数aが2の場合、
前記第1のデータ供給手段は、前記入力データを並べ換えるデータ並べ換え部を2段階に備えて構成され、夫々のデータ並べ換え部が前記入力データを記憶する第5、第6のメモリ回路と、前記第5、第6のメモリ回路の夫々の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路と、前記第5、第6のメモリ回路より読み出されたデータを夫々並べ換えて前記後段の変換手段に出力するコーナターナとを備え、
前記第2のデータ供給手段は、第6のデータ並べ換え部を備えて構成され、前記前段の変換手段により変換されたデータを記憶する第7のメモリ回路と、該第7のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路とを備えてなることを特徴とするフーリエ変換装置。 - 請求項1に記載のフーリエ変換装置において、
前記前段及び後段の変換手段が有するパイプラインFFT回路の個数aが1の場合、
前記第1のデータ供給手段は、前記入力データを並べ換える第7、第8のデータ並べ換え部を備えて構成され、
前記第7のデータ並べ換え部は、前記入力データを記憶する第8のメモリ回路と、該第8のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路と、前記第8のメモリ回路より読み出されたデータを並べ換えるパラレルインシリアルアウト回路とを備え、
前記第8のデータ並べ換え部は、2つのバンクから構成された第9のメモリ回路と、該第9のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成し、前記パラレルインシリアルアウト回路から出力されたデータについて、前記第9のメモリへの書き込み時には、M個ずつのデータを交互に書き込み、前記第9のメモリからの読み出し時には、対応するM点データ組の対応するデータを同時に読み出して前記前段の変換手段に出力させるように、読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路とを備え、
前記第2のデータ供給手段は、2つのバンクから構成された第10のメモリ回路と、該第10のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成し、前記前段の変換手段から出力されたデータについて、前記第10のメモリへの書き込み時には、M個ずつのデータを交互に書き込み、前記第10のメモリからの読み出し時には、対応するM点データ組の対応するデータを同時に読み出して前記後段の変換手段に出力させるように、読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路とを備えてなることを特徴とするフーリエ変換装置。 - 請求項1乃至請求項5のいずれかに記載のフーリエ変換装置を2の巾乗個並列配置し、時系列で入力される前記入力データを最大フーリエ変換点数N(=M×M)個ずつ各フーリエ変換装置に割当て、それらの連続したM点データの組を各組2並列でa組ずつ合計2a並列で各フーリエ変換装置に供給するデータ分配・並べ換え手段を備えてなるフーリエ変換装置。
- 請求項6に記載のフーリエ変換装置において、
前記データ分配・並べ換え手段は、並列配置するフーリエ変換装置分のデータを記憶する第11のメモリ回路と、該第11のメモリ回路の所定の論理に従う読み出し又は書き込みアドレスを生成する読み出し又は書き込みアドレス生成回路と、前記第11のメモリ回路より読み出されたデータを並べ換え、並列配置された前記フーリエ変換装置のそれぞれにデータを並列に出力するコーナターナとを備えてなることを特徴とするフーリエ変換装置。 - 請求項1乃至請求項7のいずれかに記載のフーリエ変換装置において、
前記前段及び後段の変換手段による演算をバイパスさせるためのバイパス手段を備えたことを特徴とするフーリエ変換装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2001/001509 WO2002069182A1 (fr) | 2001-02-28 | 2001-02-28 | Dispositif a transformee de fourrier |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2002069182A1 JPWO2002069182A1 (ja) | 2004-07-02 |
JP3917522B2 true JP3917522B2 (ja) | 2007-05-23 |
Family
ID=11737075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002568236A Expired - Fee Related JP3917522B2 (ja) | 2001-02-28 | 2001-02-28 | フーリェ変換装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7461114B2 (ja) |
JP (1) | JP3917522B2 (ja) |
WO (1) | WO2002069182A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014115540A1 (ja) * | 2013-01-23 | 2017-01-26 | 日本電気株式会社 | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100481852B1 (ko) * | 2002-07-22 | 2005-04-11 | 삼성전자주식회사 | 고속 푸리에 변환 장치 |
WO2004068365A1 (ja) * | 2003-01-29 | 2004-08-12 | Fujitsu Limited | フーリェ変換装置 |
US20040172435A1 (en) * | 2003-02-27 | 2004-09-02 | Texas Instruments Incorporated | Architecture and method for performing a fast fourier transform and OFDM reciever employing the same |
US7430575B2 (en) * | 2003-12-19 | 2008-09-30 | Fujitsu Limited | One-dimensional fourier transform program, method and apparatus |
US7395293B1 (en) * | 2004-07-23 | 2008-07-01 | Xilinx, Inc. | Memory segmentation for fast fourier transform |
KR100597439B1 (ko) * | 2004-11-03 | 2006-07-06 | 한국전자통신연구원 | 2n-포인트 및 n-포인트 fft/ifft 듀얼모드 장치 |
US20060155795A1 (en) * | 2004-12-08 | 2006-07-13 | Anderson James B | Method and apparatus for hardware implementation of high performance fast fourier transform architecture |
KR100618889B1 (ko) * | 2005-02-12 | 2006-09-01 | 삼성전자주식회사 | 메모리 사이즈를 감소시킬 수 있는 고속 푸리에 변환 프로세서 |
US8229014B2 (en) * | 2005-03-11 | 2012-07-24 | Qualcomm Incorporated | Fast fourier transform processing in an OFDM system |
US8266196B2 (en) * | 2005-03-11 | 2012-09-11 | Qualcomm Incorporated | Fast Fourier transform twiddle multiplication |
US8396913B2 (en) | 2005-04-12 | 2013-03-12 | Nxp B.V. | Fast fourier transform architecture |
DE102005045519A1 (de) * | 2005-09-23 | 2007-03-29 | Newlogic Technologies Ag | Verfahren und Vorrichtung zur FFT Berechnung |
JP4791172B2 (ja) * | 2005-12-20 | 2011-10-12 | 三星電子株式会社 | Fft演算回路 |
US7979485B2 (en) * | 2005-12-20 | 2011-07-12 | Samsung Electronics Co., Ltd. | Circuit for fast fourier transform operation |
US20070299903A1 (en) * | 2006-06-27 | 2007-12-27 | Nokia Corporation | Optimized DFT implementation |
GB2448755B (en) * | 2007-04-27 | 2009-03-25 | Univ Bradford | FFT processor |
GB2459339A (en) * | 2008-04-25 | 2009-10-28 | Univ Bradford | Pipelined 2D fast Fourier transform with three permutation stages, two FFT processor units and a twiddle factor unit. |
EP2144174A1 (en) * | 2008-07-07 | 2010-01-13 | Mitsubishi Electric R&D Centre Europe B.V. | Parallelized hardware architecture to compute different sizes of DFT |
US8438204B2 (en) * | 2008-12-18 | 2013-05-07 | Lsi Corporation | Apparatus for calculating an N-point discrete fourier transform |
US8787422B2 (en) * | 2011-12-13 | 2014-07-22 | Qualcomm Incorporated | Dual fixed geometry fast fourier transform (FFT) |
WO2015087497A1 (ja) * | 2013-12-13 | 2015-06-18 | 日本電気株式会社 | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラムが記憶された記憶媒体 |
US9571265B2 (en) * | 2015-07-10 | 2017-02-14 | Tempo Semicondutor, Inc. | Sample rate converter with sample and hold |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5987575A (ja) | 1982-11-11 | 1984-05-21 | Fujitsu Ltd | デ−タ並び換え回路 |
JPS59168578A (ja) * | 1983-03-16 | 1984-09-22 | Hitachi Ltd | Fft演算方式 |
US4768159A (en) * | 1984-11-26 | 1988-08-30 | Trw Inc. | Squared-radix discrete Fourier transform |
JPS6336553A (ja) | 1986-07-30 | 1988-02-17 | Nec Corp | 集積回路ア−トワ−ク・デ−タの素子認識システム |
JP3088472B2 (ja) * | 1991-01-31 | 2000-09-18 | 富士通株式会社 | フーリエ変換装置 |
US5694347A (en) * | 1991-12-19 | 1997-12-02 | Hughes Electronics | Digital signal processing system |
JP2848134B2 (ja) * | 1992-07-03 | 1999-01-20 | 富士通株式会社 | 可変高速フーリエ変換回路 |
JP3839504B2 (ja) * | 1995-07-18 | 2006-11-01 | ユナイテッド・モジュール・コーポレーション | フーリエ変換装置 |
JPH09204406A (ja) * | 1996-01-26 | 1997-08-05 | Nec Eng Ltd | データ処理システム |
US5831883A (en) * | 1997-05-27 | 1998-11-03 | United States Of America As Represented By The Secretary Of The Air Force | Low energy consumption, high performance fast fourier transform |
-
2001
- 2001-02-28 JP JP2002568236A patent/JP3917522B2/ja not_active Expired - Fee Related
- 2001-02-28 WO PCT/JP2001/001509 patent/WO2002069182A1/ja active Application Filing
-
2003
- 2003-08-22 US US10/645,498 patent/US7461114B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2014115540A1 (ja) * | 2013-01-23 | 2017-01-26 | 日本電気株式会社 | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム |
Also Published As
Publication number | Publication date |
---|---|
US7461114B2 (en) | 2008-12-02 |
WO2002069182A1 (fr) | 2002-09-06 |
US20040039765A1 (en) | 2004-02-26 |
JPWO2002069182A1 (ja) | 2004-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3917522B2 (ja) | フーリェ変換装置 | |
JP2744526B2 (ja) | 準16基数プロセッサおよび方法 | |
JP5689282B2 (ja) | 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム | |
TW594502B (en) | Length-scalable fast Fourier transformation digital signal processing architecture | |
CN101630308B (zh) | 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法 | |
EP0902375A2 (en) | Apparatus for fast Fourier transform | |
JPH11203272A (ja) | 高速フーリエ変換処理装置、高速フーリエ変換処理システムおよび高速フーリエ変換処理方法 | |
JP5601327B2 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JP5549442B2 (ja) | Fft演算装置 | |
JP2677969B2 (ja) | 直交変換装置 | |
US20080228845A1 (en) | Apparatus for calculating an n-point discrete fourier transform by utilizing cooley-tukey algorithm | |
JPH08137832A (ja) | バタフライ演算回路および同回路を用いた高速フーリエ変換装置 | |
JP3333779B2 (ja) | 行列演算装置 | |
JP2008052504A (ja) | 離散フーリエ変換装置および離散フーリエ逆変換装置 | |
EP0080266A2 (en) | Discrete fourier transform circuit | |
US8572148B1 (en) | Data reorganizer for fourier transformation of parallel data streams | |
JP6943283B2 (ja) | 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム | |
JP3950466B2 (ja) | フーリエ変換装置 | |
JP6436087B2 (ja) | デジタルフィルタ装置、デジタルフィルタ処理方法およびプログラム | |
JP3088472B2 (ja) | フーリエ変換装置 | |
JPH1063647A (ja) | 行列演算装置 | |
JP2580501B2 (ja) | 並列デ−タ処理装置 | |
WO2021193947A1 (ja) | デジタルフィルタ装置 | |
JP2023131901A (ja) | 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム | |
JP3575991B2 (ja) | 直交変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050330 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061208 |
|
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: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070208 |
|
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: 20110216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130216 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140216 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |