JP2007172157A - Fft演算回路 - Google Patents
Fft演算回路 Download PDFInfo
- Publication number
- JP2007172157A JP2007172157A JP2005366731A JP2005366731A JP2007172157A JP 2007172157 A JP2007172157 A JP 2007172157A JP 2005366731 A JP2005366731 A JP 2005366731A JP 2005366731 A JP2005366731 A JP 2005366731A JP 2007172157 A JP2007172157 A JP 2007172157A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- complex
- fft
- output
- butterfly
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】本発明のFFT演算回路は、複数の直列に接続されたバタフライ演算部からなり、演算対象のFFT長を任意に選択して設定するFFT演算器であり、バタフライ演算部が、入力される信号を一旦格納する一時記憶部を備え、バタフライ演算において複素乗算及び複素加減算を行う順番に、順次信号を読み出す信号順変換部と、FFT長に対応して、各信号に複素乗算する複素係数が記憶された係数記憶部と、読み出された前記信号毎に、前記複素係数記憶部から対応する複素係数を順次読み出して複素乗算する複素乗算部と、該複素乗算部から出力される、複素係数が複素乗算された信号に対し、順次複素加減算を行う複素加減算部とを有する。
【選択図】図1
Description
一方、携帯電話などの無線通信の規格において、様々なCellular方式や無線LAN方式が用いられている。一般の利用者としては、これらの規格の利点を利用して、効率的な無線通信を行えることを望んでいる。
そのため、1つの携帯端末に複数の機能を持たせる場合、外部からの設定により、処理するデータ長に対応して上述した2つの演算を切り替え、1つのFFT回路で実現することが必要となってくる。すなわち、複数の規格を1つのハードウェアにより構成するMulti−Mode端末が最近用いられているが、複数のチップセットを用いているため、実装面積を無駄とし、ハードウェアが大型化してしまう欠点がある。したがって、1つのチップセットによって、複数の規格に対応するFFT演算回路が必要となる。
本発明は、このような事情に鑑みてなされたもので、従来のように、基数に対応した複数の演算回路を設けず、複数のFFT長に対応することができ、回路数を削減し、消費電力を低下させることができるFFT演算回路を提供することを目的とする。
本実施形態においては、基数4を用いたバタフライ演算を例にとり説明するが、基数を2のn乗とした2,4,8,16,…としても同様に回路を構成することができる。また、外部から入力されるFFT演算の対象としてのサンプル(チャンネル)数により、使用されるバタフライ演算器の数が変化する。FFT演算回路1は、基数4にて、FFT長が64,256及び1024各々に対するFFT演算に対応する構成である。
すなわち、本実施形態のFFT演算回路1は、バタフライ演算器11、12,13,14及び15各々がそれぞれの出力端子と次段の入力端子とを接続した直列接続となっている。また、本実施形態のFFT演算回路1は、FFT長が64,256及び1024に対応した構成のため、上記バタフライ演算器13,14及び15のいずれかの出力を、FFT長の情報により選択して、選択された演算結果をFFT演算結果として出力する構成となっている。
セレクタ16は、各バタフライ演算器からの出力が入力されており、上記FFT長及びバタフライ演算器の段数(何番目のバタフライ演算器であるか)により、FFT演算結果が出力される段のバタフライ演算器からの出力を選択して、出力信号として出力する。
また、バタフライ演算器14はFFT長が256個と1024個の場合のみ、バタフライ演算を行うため、FFT長が64の場合のバタフライ演算に対応する構成を必要とせず、バタフライ演算器15はFFT長が1024個の場合のみ、バタフライ演算を行うため、FFT長が64及び256の場合のバタフライ演算に対応する構成を必要としない。このため、バタフライ演算器14及び15は、バタフライ演算器11〜13と同様の回路構成でも、また必要とする回路のみで構成しても、どちらでも良い。
入力アドレス生成部23は、記憶部22に対して、信号を順次書き込むアドレスを生成する。このアドレス生成部23は、FFT長64に対応する入力アドレスを生成する入力アドレス生成64部23Aと,FFT長256に対応する入力アドレスを生成する入力アドレス生成部256部23Bと、FFT長1024に対応する入力アドレスを生成する入力アドレス生成1024部23Cとから構成されている。
セレクタ24は、入力アドレス生成部23より入力される入力アドレスから、入力されるFFT長情報に従い、FFT長に対応する入力アドレスを選択し、入力アドレスとして、記憶部22へ出力する。
アドレス生成部23は、入力するFFT長に対応した各入力アドレス生成部が、上述した記憶部22のアドレス空間に対応する記憶部22のアドレスを生成する。
また、出力アドレス生成部25は、上述したFFT長及び、各バタフライ演算器の上記段数により、読み出すための出力アドレスが異なるため、それぞれの場合に対応した出力アドレスを生成する。
また、同様に、出力アドレス生成256部25B及び出力アドレス1024部25C各々は、FFT長が256個及び1024個それぞれの場合において、後述ように複素加減算部27において、複素加減算部27において実行される複素加減算を行う信号の組み合わせの順に、信号のデータが記憶部22から読み出されるように、記憶されている信号のデータを読み出す順に、対応するアドレスとして出力アドレスを順次生成する。
DFT(離散フーリエ変換)として、
X(n)=Σx(k)WN nk …(1)
とする(1/Nを省略)。
上述した式において、信号番号nと周波数を示すインデックスkとは以下のように示される。
n=64n3+16n2+4n1+n0 ;(n0,n1,n2,n3=0,1,2,3)
k=64k3+16k2+4k1+k0 ;(k0,k1,k2,k3=0,1,2,3)…(2)
X(n3,n2,n1,n0)
=ΣΣΣΣx(k3,k2,k1,k0)WN n(64k3+16k2+4k1+k0) …(3)
と示される。このk3,k2,k1,k0の各々和において、第1段目のバタフライ演算器11にてk3についての和を求め、第2段目のバタフライ演算器12にてk2についての和を求め、第3段目のバタフライ演算器13にてk1についての和を求め、第4段目のバタフライ演算器14にてk0についての和を求めることとなる。
この場合には、上記(3)式が以下の(4)〜(7)を順番に、対応する各バタフライ演算器において演算することにより、バタフライ演算の最終結果であるDFTとしてX(n3,n2,n1,n0)が求められる。
x2(n0,n1,k1,k0)=Σx1(n0,k2,k1,k0)WN 16n0k2W4 n1k2 …(5)
x3(n0,n1,n2,k0)=Σx2(n0,n1,k1,k0)WN 4(4n1+n0)k1W4 n2k1 …(6)
x4(n0,n1,n2,n3)=Σx3(n0,n1,n2,k0)WN (16n2+4n1+n0)k0W4 n3k0…(7)
ここで、x4(n0,n1,n2,n3)がX(n3,n2,n1,n0)である。
(4)式が1段目のバタフライ演算器11の出力であり、(5)式が2段目のバタフライ演算器12の出力であり、(6)式が3段目のバタフライ演算器13の出力であり、(7)式が4段目のバタフライ演算器14の出力、すなわちFFT長256におけるDFTである。また、上記x1,x2,x3が、DFT演算における各バタフライ演算器での中間データとなる。
同様に、バタフライ演算器12は、(5)式における、入力される信号(中間データ)への係数「W4 n1k2」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n1k2」におけるn1が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
また、バタフライ演算器12は、(7)式における、入力される信号(中間データ)への係数「W4 n3k0」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n3k0」におけるn3が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
上記(4)式において、k3についての和を求めているため、複素加減算部27においては、信号x(k3,k2,k1,k0)の組として、初めの組がx(k3,0,0,0)となり、k3を0,1,2,3と変化させた信号x(0),x(64),x(128),x(192)の4つを組として所定の複素加減算を行う。
次に、x(k3,0,0,1)として、k3を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として順次読み出される必要がある。
したがって、バタフライ演算器11における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の最も高い桁(64)、すなわちこのバタフライ演算器11にて和をとる番号k3の桁を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて、順次出力アドレスを生成することとなる。
同様に、(5)式において、k2についての和を求めているため、複素加減算部27(バタフライ演算器12)においては、信号x1(n0,k2,k1,k0)の組として、初めの組がx1(0,k2,0,0)となり、k2を0,1,2,3と変化させた信号x1(0),x1(16),x1(32),x1(48)の4つを組として所定の複素加減算を行う。
次に、x1(0,k2,0,1)として、k2を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として、順次読み出される必要がある。
したがって、バタフライ演算器12における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の2番目に高い桁(16)、すなわちこのバタフライ演算器12にて和をとる番号k2を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
このため、x2(0,0,k1,1)として、k1を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として、順次読み出される必要がある。
したがって、バタフライ演算器13における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の3番目に高い桁(4)、すなわちこのバタフライ演算器13にて和をとる番号k1を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
次に、x3(0,0,1,k0)として、k0を0,1,2,3と変化させた信号x(k)が4つの信号の組を信号列として、順次読み出される必要がある。
したがって、バタフライ演算器14における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の最も低い桁(1)、すなわちこのバタフライ演算器13にて和をとる番号k0を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
また、出力アドレス生成部25の各アドレス生成部は、基準となる桁以外の桁の変化において、演算のアルゴリズムにより異なるが、例えば、より桁数の小さい桁から順に変化させることとする。
n=16n2+4n1+n0 ;(n0,n1,n2=0,1,2,3)
k=16k2+4k1+k0 ;(k0,k1,k2=0,1,2,3)
n=256n4+64n3+16n2+4n1+n0 ;(n0,n1,n2,n3,n4=0,1,2,3)
k=256n4+64k3+16k2+4k1+k0 ;(k0,k1,k2,k3,k4=0,1,2,3)
また、上記各出力アドレス部は、対応するFFT長に対応して、上述した組で信号のデータを読み出す出力アドレスが順番に記憶されたROM(読み出し専用メモリ)から、時系列に順番にこのROMのアドレスをアクセスして、記憶された出力アドレスを読み出し、出力アドレスを生成する構成としてもよい。
複素複素乗算部25は、記憶部22から時系列に入力される信号のデータx(k)に対して、FFT回転因子テーブル部27(請求項における複素係数記憶部に対応)から読み出される係数、例えば、FFT長が256の場合、バタフライ演算器11においては「1」、バタフライ演算器12においては「WN 16n0k2」、バタフライ演算器13においては「WN 4(4n1+n0)k1」、バタフライ演算器14においてはWN (16n2+4n1+n0)k0を順次複素乗算して、複素乗算結果を出力する。
複素係数(または複素回転因子)としての上記各係数各々は、複素乗算する対象の信号毎(すなわち、FFT長及びバタフライ演算器の段数に対応して)に異なるため、図4に示すように、FFT回転因子テーブル部27には、FFT長及びバタフライ演算器の段数各々に対応したテーブルを設けておく。このテーブルはROMに予め記憶させるようにして形成しても良いし、RAMに演算を開始させる前に、外部から読み込んでおくように形成してもよい。
アドレス生成部28は、領域D64に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成64部28Aと、領域D256に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成256部28Bと、領域D1024に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成1024部28Cとから構成されている。
セレクタ29は、入力されるFFT長情報により、因子アドレス生成64部28A,因子アドレス生成256部28B及び因子アドレス生成1024部28C各々が生成して出力する因子アドレスのいずれかを選択し、選択した因子アドレスをFFT回転因子テーブル27へ出力する。
パラレル/シリアル変換部30は、係数が複素乗算された、4つの信号のデータの組がシリアルに(直列に)、出力アドレス生成部25から出力されるアドレスに従い、記憶部22から読み出された順に、例えば、{x(0),x(64),x(128),x(192)}、{x(1),x(65),x(129),x(193)}、…の順に入力された時点で、一旦この組の信号のデータを記憶し、これら信号のデータをパラレルに(並列に)、複素加減算部27へ出力する。
パラレル/シリアル変換器31は、並列に入力される演算結果{x1(0),x1(64),x1(128),x1(192)}の並びを、パラレルからシリアルに変換して、x1(0),x1(64),x1(128),x1(198)の順で出力する。
すなわち、FFT長が64の場合、64個のデータが入力される毎に、またFFT長が256の場合、256個のデータが入力される毎に、またFFT長が1024の場合、1024個のデータが入力される毎に、下記に説明するFFT演算を周期的に行う。
また、記憶部22におけるダブルバッファとしての、第1及び第2の記憶領域は上記周期毎に、書き込みが行われる領域と、読み出しが行われる領域とに、セレクタ24及びセレクタ28それぞれにより順次切り替えて使用される。
FFT演算回路1には、入力信号x(k),0≦k≦255として、すなわち{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号列が入力される。また、FFT演算回路1には、FFT長が256であることを示すFFT長情報が入力される。
そして、記憶部22には、入力される上記入力アドレスに対応して、最上位ビットとして「0」を加えたアドレス(第1の記憶領域)に、順次、入力される信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号を、記憶部22の第1の記憶領域に対して連続した入力アドレスによって書き込む。
これにより、記憶部22には、次に入力される信号列を、入力アドレスに対して、最上位ビットとして「1」を加えたアドレス(第2の記憶領域)に、順次、入力される信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号の書き込み処理が開始される。
このとき、セレクタ28は、出力アドレスの最上位ビットが、FFT長に対応した256個の信号に対応する出力アドレスの出力を終了する毎に、出力アドレスの最上位ビットを「0」と「1」との間で順番に切り替えるように構成されている。このとき、出力アドレス生成256部28Bが出力する出力アドレスに対し、最上位ビットとして「0」を加えたアドレスを、順次、記憶部22に対して出力する。
このとき、FFT長が256個であることを示すFFT長情報がセレクタ29へ入力されているため、セレクタ29は因子アドレス生成256部29Bから入力される因子アドレスをFFT回転因子テーブル27へ順次出力する。
しかしながら、(4)式から判るように、本実施形態の場合、バタフライ演算器11においては、各信号に複素乗算する係数は整数「1」(複素数の実数部分のみ)である。しかしながら、演算アルゴリズムによっては、対応する係数が複素乗算されるため、対応した係数がFFT回転因子テーブルから読み出され、複素複素乗算部26において対応する信号に複素乗算される。
したがって、複素演算部26は、{x(0),x(64),x(128),x(192),…,x(63),x(127),x(191),x(255)}各々に、それぞれ係数「1」を複素乗算し、{x(0),x(64),x(128),x(192),…,x(63),x(127),x(191),x(255)}として、順次、シリアル/パラレル変換部30へ出力する。
これにより、複素加減算部27は、上記{x(0),x(64),x(128),x(192)}の各データを用い、上記(4)式における係数「W4 n0k3」に対応した加減演算を行い、演算結果として{x1(0),x1(64),x1(128),x1(192)}を並列に出力する。
バタフライ演算器11は、上述したバタフライ演算の処理を、記憶部22のダブルバッファにおいて、第1及び第2の記憶領域のいずれか一方から信号のデータを読み出してバタフライ演算を行っている際、他方に新たな信号列を書き込んでいる。
k=64n0+16k2+4k1+k0 ;(k0,k1,k2,n0=0,1,2,3)
で決定される。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN 16n0k2」を出力する。
ここで、バタフライ演算器12のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第2のステージであるバタフライ演算器12において、記憶部22から出力される中間データx1(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器11の場合と同様のため、説明を省略する。
そして、バタフライ演算器12は、第2ステージのバタフライ演算の結果として、中間データ列x2(k),0≦k≦256を出力する。
k=64n0+16n1+4k1+k0 ;(k0,k1,n1,n0=0,1,2,3)
で決定される。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN 4(4n1+n0)k1」を出力する。
ここで、バタフライ演算器13のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第3のステージであるバタフライ演算器13において、記憶部22から出力される中間データx2(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器11の場合と同様のため、説明を省略する。
そして、バタフライ演算器13は、第3ステージのバタフライ演算の結果として、中間データ列x2(k),0≦k≦256を出力する。
上述したように、バタフライ演算器13も、バタフライ演算器12と同様な処理により、第3ステージにおける中間データ列x3(k),0≦k≦256を出力する。
k=64n0+16n1+4n2+k0 ;(k0,n2,n1,n0=0,1,2,3)
で決定される。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN (16n2+4n1+n0)k0」を出力する。
ここで、バタフライ演算器13のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第4のステージであるバタフライ演算器14において、記憶部22から出力される中間データx3(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器13の場合と同様のため、説明を省略する。
そして、バタフライ演算器12は、第4ステージのバタフライ演算の結果として、中間データ列x4(k),0≦k≦256を出力する。
上述したように、バタフライ演算器14も、バタフライ演算器12と同様な処理により、第4ステージにおける中間データ列x4(k),0≦k≦256を出力する。
したがって、バタフライ演算器14は、FFT長が256個である場合に、入力信号である信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}のFFT演算結果である出力信号{X(0),X(1),X(2),X(3),…,X(254),X(255)}を出力し、FFT演算回路1のFFT演算結果とする。
バタフライ演算器11,12及び13は、信号及び中間データに対するバタフライ演算を行う必要があるため、FFT長が64、256及び1024個の場合に対応して、入力アドレス生成部23に入力アドレス生成64部23A,入力アドレス生成256部23B及び入力アドレス生成1024部23Cが設けられ、出力アドレス生成部25に出力アドレス生成64部25A,出力アドレス生成256部25B,出力アドレス生成1024部25C、また因子アドレス生成部28に因子アドレス生成64部28A,因子アドレス生成256部25B,因子アドレス生成1024部25Cが設けられ、FFT回転因子テーブル27にFFT長64、256,1024それぞれの場合の係数が記憶されている。また、バタフライ演算器11,12及び13のセレクタ24、28及び29は、上述した構成に対応して、FFT長がFFT長64、256,1024の場合に対応して切り替えられる。
また、バタフライ演算器14及び15は、FFT長情報がFFT長64を示している場合に動作を停止し、バタフライ演算器15は、FFT長情報がFFT長256を示している場合に動作を停止するように構成してもよい。
しかしながら、信号順変換部として、記憶部22に書き込む入力アドレスを、信号が複素乗算される順番に連続して記憶部22に記憶されるアドレスとして生成し、その入力アドレスに対応して、入力する信号を順次記憶部22に書き込むようにしてもよい。これにより、上述した実施形態と同様に、入力される信号順を各演算を行う順番に変換することができる。これにより、出力アドレス生成部25は記憶部22の連続したアドレスを生成し、順次、記憶部22から信号を読み出すこととなる。
11,12,13,14,15…バタフライ演算器
16,24,28,29…セレクタ
22…記憶部
23…入力アドレス生成部
23A…入力アドレス生成63部
23B…入力アドレス生成256部
23C…入力アドレス生成1024部
25…出力アドレス生成部
25A…出力アドレス生成63部
25B…出力アドレス生成256部
25C…出力アドレス生成1024部
26…複素複素乗算部
27…複素加減算部
28…因子アドレス生成部
28A…因子アドレス生成63部
28B…因子アドレス生成256部
28C…因子アドレス生成1024部
30…シリアル/パラレル変換部
31…パラレル/シリアル変換部
32…タイミング生成部
Claims (4)
- 複数の直列に接続されたバタフライ演算部からなり、演算対象のFFT長を任意に選択して設定するFFT演算器であり、
前記バタフライ演算部が、
入力される信号を一旦格納する一時記憶部を備え、バタフライ演算において複素乗算及び複素加減算を行う順番に、順次信号を読み出す信号順変換部と、
FFT長及びバタフライ演算部の段数に対応して、各信号に複素乗算する複素係数が記憶された複素係数記憶部と、
読み出された前記信号毎に、前記複素係数記憶部から対応する複素係数を順次読み出して複素乗算する複素乗算部と、
該複素乗算部から出力される、複素係数が複素乗算された信号に対し、順次複素加減算を行う複素加減算部と
を有することを特徴とするFFT演算回路。 - FFT長により、前記複数のバタフライ演算部のいずれの演算結果をFFT演算結果として出力するかを選択するセレクタを有することを特徴とする請求項1記載のFFT演算回路
- 前記信号順変換部が、
入力される前記信号を順次前記一時記憶部に書き込む入力アドレスを生成する入力アドレス生成部と、
FFT長に対応して、複素乗算部が読み出した前記複素係数を複素乗算する順番に読み出す出力アドレスを生成する出力アドレス生成部と、
該出力アドレスに対応して、前記一時記憶部から信号を順次読み出す読出回路と
を有することを特徴とする請求項1または請求項2に記載のFFT演算回路。 - 前記信号順変換部がFFT長に対応した複数の入力アドレス生成部と複数の出力アドレス生成部を有し、選択されたFFT長に対応した入力アドレス生成部及び出力アドレス生成部を選択し、入力アドレス及び出力アドレスを生成することを特徴とする請求項3に記載のFFT演算回路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366731A JP4791172B2 (ja) | 2005-12-20 | 2005-12-20 | Fft演算回路 |
KR1020060101573A KR100878765B1 (ko) | 2005-12-20 | 2006-10-18 | Fft 연산 회로 |
US11/641,864 US7979485B2 (en) | 2005-12-20 | 2006-12-20 | Circuit for fast fourier transform operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366731A JP4791172B2 (ja) | 2005-12-20 | 2005-12-20 | Fft演算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007172157A true JP2007172157A (ja) | 2007-07-05 |
JP4791172B2 JP4791172B2 (ja) | 2011-10-12 |
Family
ID=38298659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005366731A Active JP4791172B2 (ja) | 2005-12-20 | 2005-12-20 | Fft演算回路 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4791172B2 (ja) |
KR (1) | KR100878765B1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101969542B1 (ko) * | 2017-12-21 | 2019-04-16 | 엘아이지넥스원 주식회사 | 사용자 정보를 이용한 통신용 식별 주소 생성 장치 및 이를 구비하는 단말간 통신 시스템 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5887655A (ja) * | 1981-11-20 | 1983-05-25 | Asahi Chem Ind Co Ltd | パイプライン高速フ−リエ変換装置 |
JPH0619955A (ja) * | 1992-07-03 | 1994-01-28 | Fujitsu Ltd | 可変高速フーリエ変換回路 |
JP2002132747A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | Fft演算回路 |
WO2002069182A1 (fr) * | 2001-02-28 | 2002-09-06 | Fujitsu Limited | Dispositif a transformee de fourrier |
US20050114421A1 (en) * | 2003-11-26 | 2005-05-26 | Gibb Sean G. | Interleaving memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100444729B1 (ko) * | 2001-12-24 | 2004-08-16 | 한국전자통신연구원 | 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법 |
KR100846485B1 (ko) * | 2002-04-09 | 2008-07-17 | 삼성전자주식회사 | 하다마드 트랜스폼 방법 및 장치 |
KR100576520B1 (ko) * | 2003-12-01 | 2006-05-03 | 전자부품연구원 | 반복 연산 기법을 이용한 가변 고속 푸리에 변환프로세서 |
-
2005
- 2005-12-20 JP JP2005366731A patent/JP4791172B2/ja active Active
-
2006
- 2006-10-18 KR KR1020060101573A patent/KR100878765B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5887655A (ja) * | 1981-11-20 | 1983-05-25 | Asahi Chem Ind Co Ltd | パイプライン高速フ−リエ変換装置 |
JPH0619955A (ja) * | 1992-07-03 | 1994-01-28 | Fujitsu Ltd | 可変高速フーリエ変換回路 |
JP2002132747A (ja) * | 2000-10-30 | 2002-05-10 | Nec Corp | Fft演算回路 |
WO2002069182A1 (fr) * | 2001-02-28 | 2002-09-06 | Fujitsu Limited | Dispositif a transformee de fourrier |
US20050114421A1 (en) * | 2003-11-26 | 2005-05-26 | Gibb Sean G. | Interleaving memory |
Also Published As
Publication number | Publication date |
---|---|
KR20070065778A (ko) | 2007-06-25 |
KR100878765B1 (ko) | 2009-01-14 |
JP4791172B2 (ja) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5840994B2 (ja) | 行列演算装置 | |
KR20000050581A (ko) | Cbfp알고리즘을 갖는 fft프로세서 | |
JP2014179065A (ja) | データ処理装置、データ処理方法およびデータ処理プログラム | |
US7979485B2 (en) | Circuit for fast fourier transform operation | |
RU2700194C1 (ru) | Унифицированная реконфигурируемая схема коммутации быстрого преобразования фурье и способ её формирования | |
JP4791172B2 (ja) | Fft演算回路 | |
US8788558B2 (en) | Method and device for transform computation | |
US4991132A (en) | Apparatus for executing division by high-speed convergence processing | |
JPWO2011102291A1 (ja) | 高速フーリエ変換回路 | |
JP6687803B2 (ja) | 区分線形近似のためのシステムおよび方法 | |
JP3065979B2 (ja) | 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 | |
Muscedere et al. | On efficient techniques for difficult operations in one and two-digit DBNS index calculus | |
JP3913921B2 (ja) | 有限フィールドでの任意要素の逆数具現回路 | |
CN114281304A (zh) | 随机计算方法、电路、芯片及设备 | |
TW200811672A (en) | Optimized multi-mode DFT implementation | |
US12019700B2 (en) | Signal processing apparatus, method, program, and recording medium | |
Ho | Design and Implementation of a Polynomial Basis Multiplier Architecture Over GF (2 m) | |
Chen et al. | Optimal circuits for parallel bit reversal | |
JP3875183B2 (ja) | 演算装置 | |
JP2008072247A (ja) | Ldpc復号器の演算制御データ生成方法及びldpc復号器 | |
RU2730174C1 (ru) | Реконфигурируемый вычислитель быстрого преобразования фурье сверхбольшой длины преобразования | |
Ye et al. | A new efficient RNS-to-binary conversion for the three-moduli sets | |
JP5072558B2 (ja) | データ処理装置 | |
JP2697619B2 (ja) | Nポイントfft専用プロセッサ | |
JPS6220590B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110601 |
|
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: 20110621 |
|
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: 20110721 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4791172 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |