JP2002132747A - Fft演算回路 - Google Patents

Fft演算回路

Info

Publication number
JP2002132747A
JP2002132747A JP2000330524A JP2000330524A JP2002132747A JP 2002132747 A JP2002132747 A JP 2002132747A JP 2000330524 A JP2000330524 A JP 2000330524A JP 2000330524 A JP2000330524 A JP 2000330524A JP 2002132747 A JP2002132747 A JP 2002132747A
Authority
JP
Japan
Prior art keywords
radix
group
adder
data
subtractor
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
JP2000330524A
Other languages
English (en)
Other versions
JP3757782B2 (ja
Inventor
Hiroshi Shibuya
洋志 澁谷
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000330524A priority Critical patent/JP3757782B2/ja
Publication of JP2002132747A publication Critical patent/JP2002132747A/ja
Application granted granted Critical
Publication of JP3757782B2 publication Critical patent/JP3757782B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 回路面積の有効利用を図りつつ、サンプルデ
ータ数が大きい場合の効率的な処理と、利用できる対象
データの拡大とを両立させる。 【解決手段】 本発明のFFT演算回路は、基数8のバ
タフライ演算結果のデータを第1の信号線群から出力す
るたすき掛け処理部14に、当該バタフライ演算途中の
中間データを取り出す第2及び第3の信号線群が設けら
れている。そして、基数2のバタフライ演算結果に相当
する前記中間データが第1の信号線群から出力され、基
数4のバタフライ演算結果に相当する前記中間データが
第2の信号線群から出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル信号処
理に用いられるFFT(Fast Fourier Transform:高速
フーリエ変換)演算回路に関する。なお、本明細書中に
おいて、例えば「2*8^n」とは、「2×(8のn乗)」
を意味するものとする。
【0002】
【従来の技術】FFTは、時間領域における一連のサン
プルデータに潜む周波数成分を抽出するのに用いられる
手法であり、多数のデータを短時間で処理できるという
優れた特徴を有する。また、FFTをハードウェアにす
る際には、面積の小さい回路が必要とされる。
【0003】同じデータ数の対象についてFFTの演算
を行う場合、バタフライ演算の基数の値が大きいほど高
速に処理できる。FFTの対象となるデータの数をNと
すると、FFTの演算を終了するまでのバタフライ演算
の回数は、基数2で(N/2)log2N、基数4で(N/4)log4N、
基数8で(N/8)log8Nとなる。また、1バタフライあたり
の乗算回数は、基数2で4、基数4で12、基数8で3
2となる。したがって、乗算回数は基数2で4*(N/2)log
2N、基数4で12*(N/4)log4N、基数8で32*(N/8)log8Nと
なり、単純計算でも基数2、基数4の乗算回数はそれぞ
れ基数8の乗算回数の1.5倍、1.125倍となる。
【0004】一方、FFTで対象となるデータ数は、基
数のべき乗個である。よって、基数2のバタフライ演算
では256、512、1024、2048、4096…というデータ数を扱
える。一方、基数8のバタフライ演算では、8のべき乗
個すなわち512、4096…というデータ数しか扱えないの
で、利用できる対象が限定されてしまうという課題があ
った。
【0005】
【発明が解決しようとする課題】この課題は基数4のバ
タフライ演算についても同様であるため、基数4のFF
Tは対象データが4のべき乗に限定されてしまう。特開
平10-307811号公報では、基数4のバタフライ演算回路
において基数2のバタフライ演算を処理する回路を内蔵
させることによって、この課題を解決している。しか
し、データ数が大きい場合においても基数4のバタフラ
イ演算に限定されてしまうので、演算効率は基数8のバ
タフライ演算に比べて低いものとなってしまう。
【0006】また、基数の大きいバタフライ演算に基数
の小さいバタフライ演算をつなげる手法が考えられる。
例えば、基数8のバタフライ演算に基数2のバタフライ
演算をつなげることによって、データ数2*8^nを処理す
るというものである。しかし、基数8のバタフライ演算
をN段行ったのちに1段だけ基数2のバタフライ演算を
行うことにより、基数8のバタフライ演算が処理されて
いる間、基数2のバタフライ演算回路が活用されないの
で、回路面積を有効に利用できない。
【0007】
【発明の目的】以上のように、基数8のバタフライ演算
は、サンプルデータ数が大きい場合に効率的な処理を実
現する一方、利用できるサンプルデータ数が限定されて
しまうという課題があった。そこで、本発明の目的は、
回路面積の有効利用を図りつつ、サンプルデータ数が大
きい場合の効率的な処理と、利用できるサンプルデータ
数の拡大とを両立可能とした、FFT演算回路を提供す
ることにある。
【0008】
【課題を解決するための手段】本発明に係るFFT演算
回路は、2以上のただ一つの整数をα、1からα−1ま
での少なくとも一つの整数をβとすると、基数2のα乗
のバタフライ演算回路の一部を利用して基数2のβ乗の
バタフライ演算を行うことを特徴とするものである(請
求項1)。より具体的に言えば、基数2のα乗のバタフ
ライ演算結果のデータを第αの信号線群から出力するた
すき掛け処理部に、当該バタフライ演算途中の中間デー
タを取り出す第βの信号線群が設けられ、基数2のβ乗
のバタフライ演算結果に相当する前記中間データが前記
第βの信号線群から出力される、ものである(請求項
2)。
【0009】例えば、前記αが3であり、前記βが1及
び2である(請求項3、4)。このとき、前記たすき掛
け処理部は、入力データの加減算を行う第1の加減算器
群と、この第1の加減算器群の出力データについて加減
算を行う第2の加減算器群と、この第2の加減算器群の
出力データについて加減算を行う第3の加減算器群と、
この第3の加減算器群の出力データの一部について乗算
を行う乗算器群と、この乗算器群の出力データと前記加
減算器群の出力データの一部とについて加減算を行う第
4の加減算器群と、前記第1の加減算器群の出力データ
を取り出す前記第1の信号線群と、前記第2の加減算器
群の出力データを取り出す前記第2の信号線群と、前記
第3及び前記第4の加減算器群の出力データを取り出す
前記第3の信号線群とを備えた、ものとしてもよい(請
求項5)。
【0010】更にこのとき、前記第1及び前記第2の加
減算器群がそれぞれ8個の2入力1出力加算器及び8個
の2入力1出力減算器からなり、前記第3の加減算器群
が6個の2入力1出力加算器及び6個の2入力1出力減
算器からなり、前記第4の加減算器群が4個の2入力1
出力加算器及び4個の2入力1出力減算器からなる、と
してもよい(請求項6)。
【0011】以下、一例としてαが3であり、βが1及
び2である場合について説明する。基数8のバタフライ
演算は、サンプルデータ数が大きい場合に効率的な処理
を実現する一方、利用できるサンプルデータ数が限定さ
れてしまうという課題があった。本発明は、基数8のバ
タフライ演算回路において基数2及び基数4のバタフラ
イ演算を処理することによって、この課題を解決しよう
とするものである。本発明に係るFFT演算回路では、
演算データ数が8^n(=2^(3n))、2*8^n(=2^(3n+1))、4*8^
n(=2^(3n+2))を対象とすることができるため、基数2の
バタフライ演算回路で扱いうる対象をすべてカバーする
ことができる。また、基数8のバタフライ演算回路を利
用して基数2及び基数4のバタフライ演算を行うため、
回路面積を有効に利用できる。
【0012】
【発明の実施の形態】図1は、本発明に係るFFT演算
回路の一実施形態を示すブロック図である。図2は、図
1のFFT演算回路における、たすき掛け処理部の内部
構成、及びたすき掛け処理部とセレクタとの接続関係を
示すブロック図である。以下、これらの図面に基づき説
明する。
【0013】本実施形態のFFT演算回路は、基数8の
バタフライ演算回路の一部を用いて、基数2及び基数4
のバタフライ演算をも行うものであり、データ格納部1
1、ひねり係数格納部12、ひねり係数乗算部13、た
すき掛け処理部14、セレクタ15、制御部16等を備
えている。本実施形態の特徴は、バタフライ演算の核を
なすたすき掛け処理部14、セレクタ15及び制御部1
6にある。
【0014】たすき掛け処理部14の信号線群sig3から
基数8のバタフライ演算結果データを出力する。これに
加え、信号線群sig1、信号線群sig2を設定し、これらか
ら中間データを取り出すことによって、信号線群sig1か
ら基数2のバタフライ演算の処理結果に相当するデー
タ、信号線群sig2から基数4のバタフライ演算の処理結
果に相当するデータが得られる。したがって、基数8の
バタフライ演算回路において基数2及び基数4のバタフ
ライ演算をも行うため、回路規模を増やすことなく、2*
8^n個や4*8^n個のデータに対しても処理することが可能
である。
【0015】データ格納部11には、FFT演算を開始
する前に初期データを格納する。FFT処理中には中間
データが格納され、FFT演算終了時には処理結果デー
タが格納される。ひねり係数格納部12にはひねり係数
が格納される。FFTの対象となるデータの数がNであ
るとき、格納されるひねり係数はkを0、1、2、…、N-1
とするとsin(2πk/N)、cos(2πk/N)である。ひねり係数
乗算部13は、データ格納部11から出力されるデータ
とひねり係数格納部12から出力されるひねり係数との
乗算を行う。たすき掛け処理部14は、ひねり係数格納
部12から出力されるデータに対してたすき掛け処理を
行い、信号線群sig1からは基数2のバタフライ演算の処
理結果に相当するデータ、信号線群sig2からは基数4の
バタフライ演算の処理結果に相当するデータ、信号線群
sig3からは基数8のバタフライ演算処理結果データを出
力する。セレクタ15は、制御部16からの制御信号に
基づいて、たすき掛け処理部14の信号線群sig1、sig
2、sig3から出力されるデータを選択し、データ格納部
11に出力する。
【0016】たすき掛け処理部14は、入力データの加
減算を行う加減算器群as1、加減算器群as1の出力データ
について加減算を行う加減算器群as2、加減算器群as2の
出力データについて加減算を行う加減算器群as3、加減
算器群as3の出力データの一部について乗算を行う乗算
器群mul1、乗算器群mul1の出力データと加減算器群as3
の出力データの一部とについて加減算を行う加減算器群
as4、加減算器群as1の出力データを取り出す信号線群si
g1、加減算器群as2の出力データを取り出す信号線群sig
2、加減算器群as3、as4の出力データを取り出す信号線
群sig3等を備えている。
【0017】加減算器群as1、as2はそれぞれ8個の2入
力1出力加算器及び8個の2入力1出力減算器からな
り、加減算器群as3は6個の2入力1出力加算器及び6
個の2入力1出力減算器からなり、加減算器群as4は4
個の2入力1出力加算器及び4個の2入力1出力減算器
からなる。セレクタ15は、たすき掛け処理部14の信
号線群sig1、sig2、sig3のいずれかを、制御部16から
の制御信号に従って選択し、それぞれのデータを出力す
る。
【0018】次に、本実施形態のFFT演算回路の動作
について詳しく説明する。まず、基数8のバタフライ演
算を説明した上で、基数2及び基数4のバタフライ演算
を説明する。その上で、基数8のバタフライ演算におけ
る基数2のバタフライ演算及び基数4のバタフライ演算
の実現方法について述べる。
【0019】基数8のバタフライ演算では8点の離散フ
ーリエ変換を行う。8点のバタフライ演算は式(1)のよ
うに表わされる。 Xn=Σ7 k=0 x_k*W^(n*k)----(1) n=0,1,2,…,7 ただし、Wは式(2)で表される回転子である。jは以下
虚数単位とする。 W=exp(-2πj/8)----(2)
【0020】式(1)を展開すると式(3)から式(10)のよう
に表される。 X0=x0+x1+x2+x3+x4+x5+x6+x7----(3) X1=x0+t(1-j)*x1-j*x2+t(-1-j)*x3-x4-t(1-j)*x5+j*x6-t(-1-j)*x7----(4) X2=x0-j*x1-x2+j*x3+x4-j*x5-x6+j*x7----(5) X3=x0+t(-1-j)*x1+j*x2+t(1-j)*x3-x4-t(-1-j)*x5-j*x6-t(1-j)*x7----(6) X4=x0-x1+x2-x3+x4-x5+x6-x7----(7) X5=x0+t(-1+j)*x1-j*x2+t(1+j)*x3-x4+t(-1+j)*x5+j*x6-t(1+j)*x7----(8) X6=x0+j*x1-x2-j*x3+x4+j*x5-x6-j*x7----(9) X7=x0+t(1+j)*x1+j*x2+t(-1+j)*x3-x4-t(1+j)*x5-j*x6-t(-1+j)*x7----(10) ただし、tは定数1/√2である。
【0021】ここで扱われるデータは複素データであ
る。そこで、バタフライ演算入力データxiの実数部をa
i、虚数部をbi、出力データXiの実数部をAi、虚数部をB
iとし、式(2)から式(9)を整理すると、式(11)から式(2
6)のように表される。また、式(11)から式(26)のように
a0、a1、…、a7、b0、b1、…、b7からA0、A1、…、A7、
B0、B1、…、B7を算出する過程を図示したのが図3であ
る。 A0=a0+a4+(a1+a5)+(a2+a6)+(a3+a7)----(11) A2=a0+a4+(b1+b5)-(a2+a6)-(b3+b7)----(12) A4=a0+a4-(a1+a5)+(a2+a6)-(a3+a7)----(13) A6=a0+a4-(b1+b5)-(a2+a6)+(b3+b7)----(14) A1=a0-a4+t(a1-a5)+t(b1-b5)+(b2-b6)-t(a3-a7)+t(b3-b7)----(15) A3=a0-a4-t(a1-a5)+t(b1-b5)-(b2-b6)+t(a3-a7)+t(b3-b7)----(16) A5=a0-a4-t(a1-a5)-t(b1-b5)+(b2-b6)+t(a3-a7)-t(b3-b7)----(17) A7=a0-a4+t(a1-a5)-t(b1-b5)-(b2-b6)-t(a3-a7)-t(b3-b7)----(18) B0=b0+b4+(b1+b5)+(b2+b6)+(b3+b7)----(19) B2=b0+b4-(a1+a5)-(b2+b6)+(a3+a7)----(20) B4=b0+b4-(b1+b5)+(b2+b6)-(b3+b7)----(21) B6=b0+b4+(a1+a5)-(b2+b6)-(a3+a7)----(22) B1=b0-b4+t(b1-b5)-t(a1-a5)-(a2-a6)-t(b3-b7)-t(a3-a7)----(23) B3=b0-b4-t(b1-b5)-t(a1-a5)+(a2-a6)+t(b3-b7)-t(a3-a7)----(24) B5=b0-b4-t(b1-b5)+t(a1-a5)-(a2-a6)+t(b3-b7)+t(a3-a7)----(25) B7=b0-b4+t(b1-b5)+t(a1-a5)+(a2-a6)-t(b3-b7)+t(a3-a7)----(26)
【0022】ここで、式(27)から式(42)のように変数ap
0、am0、ap1、am1、ap3、am2、ap3、am3、bp0、bm0、bp
1、bm1、bp2、bm2、bp3、bm3を設定する。これは図3に
おける加減算器群as1の出力に相当する。 ap0=a0+a4----(27) am0=a0-a4----(28) ap1=a1+a5----(29) am1=a1-a5----(30) ap2=a2+a6----(31) am2=a2-a6----(32) ap3=a3+a7----(33) am3=a3-a7----(34) bp0=b0+b4----(35) bm0=b0-b4----(36) bp1=b1+b5----(37) bm1=b1-b5----(38) bp2=b2+b6----(39) bm2=b2-b6----(40) bp3=b3+b7----(41) bm3=b3-b7----(42)
【0023】更に、式(43)から式(58)のように変数aap
0、apm0、app1、apm1、amp0、amm0、amp1、amm1、bpp
0、bpm0、bpp1、bpm1、bmp0、bmm0、bmp1、bmm1を設定
する。これは図3における加減算器群as2の出力に相当
する。 app0=ap0+ap2----(43) apm0=ap0-ap2----(44) app1=ap1+ap3----(45) apm1=ap1-ap3----(46) amp0=am0+bm2----(47) amm0=am0-bm2----(48) amp1=am1+bm3----(49) amm1=am1-bm3----(50) bpp0=bp0+bp2----(51) bpm0=bp0-bp2----(52) bpp1=bp1+bp3----(53) bpm1=bp1-bp3----(54) bmp0=bm0+am2----(55) bmm0=bm0-am2----(56) bmp1=bm1+am3----(57) bmm1=bm1-am3----(58)
【0024】これらを用いて式(11)から式(26)を表わす
と式(59)から式(74)のようになる。これは図3における
加減算群as3、加減算器群as4及び乗算器群mul1の操作に
相当する。 A0=app0+app1----(59) A4=app0-app1----(60) A2=apm0+bpm1----(61) A6=apm0-bpm1----(62) A1=amp0+t*(amp1+bmm1)----(63) A5=amp0-t*(amp1+bmm1)----(64) A3=amm0-t*(amm1-bmp1)----(65) A7=amm0+t*(amm1-bmp1)----(66) B0=bpp0+bpp1----(67) B4=bpp0-bpp1----(68) B2=bpm0-apm1----(69) B6=bpm0+apm1----(70) B1=bmm0-t*(amp1-bmm1)----(71) B5=bmm0+t*(amp1-bmm1)----(73) B3=bmp0-t*(amm1+bmp1)----(72) B7=bmp0+t*(amm1+bmp1)----(74)
【0025】次に、基数2のバタフライ演算について説
明し、先に述べた基数8のバタフライ演算内における基
数2のバタフライ演算の実現方法を述べる。
【0026】基数2のバタフライ演算は式(75)で表わさ
れる。 Xn=Σ1 k=0 x_k*W^(n*k)----(75) n=0,1 ここで、Wは式(76)で表わされるものである。 W=exp(-2πj/2)----(76)
【0027】よって、基数2のバタフライ演算を基数8
のバタフライ演算における式(11)から式(26)のように表
現すると、式(77)から式(80)のようになる。 A0=a0+a1----(77) A1=a0-a1----(78) B0=b0+b1----(79) B1=b0-b1----(80)
【0028】この式(77)、(78)、(79)、(80)の4項組
は、式(27)、(28)、(35)、(36)の4項組、式(29)、(3
0)、(37)、(38)の4項組、式(31)、(32)、(39)、(40)の
4項組、式(33)、(34)、(41)、(42)の4項組と対応がと
れる。よって、基数2のバタフライ演算を行う2データ
4入力を(a0、a4、b0、b4)又は(a2、a6、b2、b6)、(a
1、a5、b1、b5)、(a3、a7、b3、b7)に対応させ、その加
減算結果である(ap0、am0、bp0、bm0)又は(ap2、am2、b
p2、bm2)、(ap1、am1、bp1、bm1)、(ap3、am3、bp3、bm
3)を得ることによって、基数2のバタフライ演算結果を
出力することができる。
【0029】すなわち、図3に示すように基数8のバタ
フライ演算において、a0、a1、…、a7、b0、b1、…、b7
に上述の組み合わせを鑑みた入力を行い、加減算器群as
1の結果を信号線群sig1に取り出すことによって、基数
2のバタフライ演算を4組並列に処理した結果を出力す
ることができる。
【0030】続いて、基数4のバタフライ演算について
説明し、先に述べた基数8のバタフライ演算内における
基数4のバタフライ演算の実現方法を述べる。
【0031】基数4のバタフライ演算は式(81)で表わさ
れる。 Xn=Σ3 k=0 x_k*W^(n*k)----(81) n=0,1,2,3 ここで、Wは式(82)で表わされるものである。 W=exp(-2πj/4)----(82)
【0032】よって、基数4のバタフライ演算を基数8
のバタフライ演算における式(11)から式(26)のように表
現すると、式(83)から式(90)のようになる。 A0=a0+a2+(a1+a3)----(83) A2=a0+a2-(a1+a3)----(84) A1=a0-a2+(b1-b3)----(85) A3=a0-a2-(b1-b3)----(86) B0=b0+b2+(b1+b3)----(87) B2=b0+b2-(b1+b3)----(88) B1=b0-b2-(a1-a3)----(89) B3=b0-b2+(a1-a3)----(90)
【0033】この式(83)、(84)、(85)、(86)、(87)、(8
8)、(89)、(90)の8項組は式(43)、(44)、(47)、(48)、
(51)、(52)、(56)、(55)の8項組、式(45)、(46)、(4
9)、(50)、(53)、(54)、(58)、(57)の8項組と対応がと
れる。よって、基数4のバタフライ演算を行う4データ
8入力を(a0、a4、a2、a6、b0、b4、b2、b6)又は(a1、a
5、a3、a7、b1、b5、b3、b7)に対応させ、その加減算結
果である(app0、apm0、amp0、amm0、bpp0、bpm0、bmm
0、bmp0)又は(app1、apm1、amp1、amm1、bpp1、bpm1、b
mm1、bmp1)を得ることによって、基数4のバタフライ演
算結果を出力することができる。
【0034】すなわち、図3に示すように基数8のバタ
フライ演算において、a0、a1、…、a7、b0、b1、…、b7
に上述の組み合わせを鑑みた入力を行い、加減算器群as
2の結果を信号線群sig2に取り出すことによって、基数
4のバタフライ演算を2組並列に処理した結果を出力す
ることができる。
【0035】ここで、例としてデータ数2*8^nの対象に
ついて、FFTを行う際の処理について説明する。ただ
し、各格納部はメモリで実現したとする。
【0036】制御部16は、データ格納部11に対し
て、基数8のバタフライ演算のアルゴリズムに則ったア
ドレスのデータを出力するように制御信号を送る。ひね
り係数格納部12に対しては、基数8のバタフライ演算
のアルゴリズムに則ったひねり係数を出力するよう制御
信号を送る。また、ひねり係数乗算部13に対しては、
データ格納部11から出力されるデータとひねり係数格
納部12から出力されるひねり係数との乗算を、基数8
のバタフライ演算のアルゴリズムに則って行うよう制御
信号を送る。乗算されたデータはたすき掛け処理部14
に送られ、そこでたすき掛け処理が行われる。続いて、
制御部16は、セレクタ15に対して、基数8のバタフ
ライ演算結果を選択するように制御信号を送る。セレク
タ15は、たすき掛け処理部14の信号線群の中から基
数8のバタフライ演算結果である信号線群sig3を選択
し、それらのデータをデータ格納部11へ出力する。こ
のループをn回実行する。
【0037】その上で、制御部16は、データ格納部に
対して、基数2のバタフライ演算のアルゴリズムに則っ
たアドレスのデータを出力するように制御信号を送る。
ひねり係数格納部12に対しては、基数2のバタフライ
演算のアルゴリズムに則ったひねり係数を出力するよう
制御信号を送る。また、ひねり係数乗算部13に対して
は、データ格納部11から出力されるデータとひねり係
数格納部12から出力されるひねり係数との乗算を、基
数2のバタフライ演算のアルゴリズムに則って行うよう
制御信号を送る。乗算されたデータはたすき掛け処理部
14に送られ、そこでたすき掛け処理が行われる。続い
て、制御部16は、セレクタ15に対して、基数2のバ
タフライ演算結果を選択するように制御信号を送る。セ
レクタ1は、たすき掛け処理部14の信号線群の中から
基数2のバタフライ演算結果である信号線群sig1を選択
し、それらのデータをデータ格納部11へ出力する。こ
のループを1回実行する。
【0038】以上の処理の結果、データ格納部11には
2*8^nのFFT演算の結果が格納される。
【0039】なお、本発明は、上記実施形態を発展させ
て、例えば「基数16のバタフライ演算回路の一部を利
用して基数2、4、8のバタフライ演算を行う」という
ように、上記実施形態における基数8の部分を16、3
2、・・・とすることができる。一例として、基数16
の場合について説明する。
【0040】基数16のバタフライ演算が X_n=Σ15 k=0 x_k*W^(n*k) n=0,…,15 ----(91) ただし、W=exp(-2πj/16) :jは虚数単位 を基本の形として動作するのは、基数2、4、8の場合
と同様である。
【0041】式(91)を展開すると、 n=2m の場合 X_n={(x_0+x_8)+(x_4+x_12)*w4^n}+{(x_1+x_9)+(x_5+x_13)*w4^n}*W^n+{(x_2+ x_10)+(x_6+x_14)*w4^n}*W^(2*n)+{(x_3+x_11)+(x_7+x_15)*w4^n}*W^(3*n)----( 92) n=2m+1 の場合 X_n={(x_0-x_8)+(x_4-x_12)*w4^n}+{(x_1-x_9)+(x_5-x_13)*w4^n}*W^n+{(x_2- x_10)+(x_6-x_14)*w4^n}*W^(2*n)+{(x_3-x_11)+(x_7-x_15)*w4^n}*W^(3*n)----( 93) となる。ただし、w4=exp(2πj/4)。
【0042】(92)式は X_n={(x_0+x_8)+(x_2+x_10)*w8^n+(x_4+x_12)*w8^(2*n)+(x_6+x_14)*w8^(3*n)}+ {(x_1+x_9)+(x_3+x_11)*w8^n+(x_5+x_13)*w8^(2*n)+(x_7+x_15)*w8^(3*n)}*W^n- ---(94) (93)式は X_n={(x_0-x_8)+(x_2-x_10)*w8^n+(x_4-x_12)*w8^(2*n)+(x_6-x_14)*w8^(3*n) }+{(x_1-x_9)+(x_3-x_11)*w8^n+(x_5-x_13)*w8^(2*n)+(x_7-x_15)*w8^(3*n)}*W^ n----(95) と変形できる。ただし、w8=exp(2πj/8)。
【0043】(92)、(93)式の括弧{}内が基数4のバタフ
ライ演算に相当し、(94)、(95)式の括弧{}内が基数8の
バタフライ演算に相当する。基数2についても同様に示
すことができる。これは、更に基数の値が大きくなって
も言えることである。
【0044】
【発明の効果】本発明に係るFFT演算回路によれば、
2以上のただ一つの整数をα、1からα−1までの少な
くとも一つの整数をβとすると、基数(2のα乗)のバ
タフライ演算回路の一部を利用して基数(2のβ乗)の
バタフライ演算を行うことにより、データ数が(2のα
乗)^nだけでなく2*(2のα乗)^n、…についても、回
路規模を増大することなくFFTを行える。その理由
は、基数(2のα乗)のバタフライ演算回路の一部をそ
のまま用いて基数(2のβ乗)のバタフライ演算を行う
ことにより、2*(2のα乗)^n、…というデータ数を扱
う基数(2のβ乗)のバタフライ演算回路が不要になる
ためである。したがって、回路面積の有効利用を図りつ
つ、サンプルデータ数が大きい場合の効率的な処理と、
利用できるサンプルデータ数の拡大とを両立させること
ができる。
【0045】特に請求項3又は4記載のFFT演算回路
によれば、データ数が8^nだけでなく2*8^nや4*8^nにつ
いても、回路規模を増大することなくFFTを行える。
その理由は、基数8のバタフライ演算回路の一部をその
まま用いて基数2のバタフライ演算及び基数4のバタフ
ライ演算を行えることにより、2*8^nや4*8^nというデー
タ数を扱う基数2や基数4のバタフライ演算回路が不要
になるためである。
【図面の簡単な説明】
【図1】本発明に係るFFT演算回路の一実施形態を示
すブロック図である。
【図2】図1のFFT演算回路における、たすき掛け処
理部の内部構成、及びたすき掛け処理部とセレクタとの
接続関係を示すブロック図である。
【図3】図1のFFT演算回路の動作を示すフロー図で
ある。
【符号の説明】
11 データ格納部 12 ひねり係数格納部 13 ひねり係数乗算部 14 たすき掛け処理部 15 セレクタ 16 制御部 sig1 第一の信号線群 sig2 第二の信号線群 sig3 第三の信号線群

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 2以上のただ一つの整数をα、1からα
    −1までの少なくとも一つの整数をβとすると、 基数(2のα乗)のバタフライ演算回路の一部を利用し
    て基数(2のβ乗)のバタフライ演算を行う、 ことを特徴とするFFT演算回路。
  2. 【請求項2】 基数(2のα乗)のバタフライ演算結果
    のデータを第αの信号線群から出力するたすき掛け処理
    部に、当該バタフライ演算途中の中間データを取り出す
    第βの信号線群が設けられ、 基数(2のβ乗)のバタフライ演算結果に相当する前記
    中間データが前記第βの信号線群から出力される、 請求項1記載のFFT演算回路。
  3. 【請求項3】 前記αが3であり、前記βが1及び2で
    ある、 請求項1記載のFFT演算回路。
  4. 【請求項4】 前記αが3であり、前記βが1及び2で
    ある、 請求項2記載のFFT演算回路。
  5. 【請求項5】 前記たすき掛け処理部は、入力データの
    加減算を行う第1の加減算器群と、この第1の加減算器
    群の出力データについて加減算を行う第2の加減算器群
    と、この第2の加減算器群の出力データについて加減算
    を行う第3の加減算器群と、この第3の加減算器群の出
    力データの一部について乗算を行う乗算器群と、この乗
    算器群の出力データと前記加減算器群の出力データの一
    部とについて加減算を行う第4の加減算器群と、前記第
    1の加減算器群の出力データを取り出す前記第1の信号
    線群と、前記第2の加減算器群の出力データを取り出す
    前記第2の信号線群と、前記第3及び前記第4の加減算
    器群の出力データを取り出す前記第3の信号線群とを備
    えた、 請求項4記載のFFT演算回路。
  6. 【請求項6】 前記第1及び前記第2の加減算器群がそ
    れぞれ8個の2入力1出力加算器及び8個の2入力1出
    力減算器からなり、前記第3の加減算器群が6個の2入
    力1出力加算器及び6個の2入力1出力減算器からな
    り、前記第4の加減算器群が4個の2入力1出力加算器
    及び4個の2入力1出力減算器からなる、 請求項5記載のFFT演算回路。
JP2000330524A 2000-10-30 2000-10-30 Fft演算回路 Expired - Fee Related JP3757782B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000330524A JP3757782B2 (ja) 2000-10-30 2000-10-30 Fft演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000330524A JP3757782B2 (ja) 2000-10-30 2000-10-30 Fft演算回路

Publications (2)

Publication Number Publication Date
JP2002132747A true JP2002132747A (ja) 2002-05-10
JP3757782B2 JP3757782B2 (ja) 2006-03-22

Family

ID=18807027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000330524A Expired - Fee Related JP3757782B2 (ja) 2000-10-30 2000-10-30 Fft演算回路

Country Status (1)

Country Link
JP (1) JP3757782B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172157A (ja) * 2005-12-20 2007-07-05 Samsung Electronics Co Ltd Fft演算回路
KR100762281B1 (ko) 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
JP2008533873A (ja) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド 高速フーリエ変換トゥイドル乗算
JP2011070392A (ja) * 2009-09-25 2011-04-07 Nec Corp 離散フーリエ変換装置および離散フーリエ変換方法
US7979485B2 (en) 2005-12-20 2011-07-12 Samsung Electronics Co., Ltd. Circuit for fast fourier transform operation
US8229014B2 (en) 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
CN104657334A (zh) * 2014-12-29 2015-05-27 南京大学 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533873A (ja) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド 高速フーリエ変換トゥイドル乗算
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
KR100762281B1 (ko) 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
JP2007172157A (ja) * 2005-12-20 2007-07-05 Samsung Electronics Co Ltd Fft演算回路
US7979485B2 (en) 2005-12-20 2011-07-12 Samsung Electronics Co., Ltd. Circuit for fast fourier transform operation
JP2011070392A (ja) * 2009-09-25 2011-04-07 Nec Corp 離散フーリエ変換装置および離散フーリエ変換方法
CN104657334A (zh) * 2014-12-29 2015-05-27 南京大学 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用
CN104657334B (zh) * 2014-12-29 2018-12-28 南京大学 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用

Also Published As

Publication number Publication date
JP3757782B2 (ja) 2006-03-22

Similar Documents

Publication Publication Date Title
JP2866754B2 (ja) 演算処理装置
KR950009472A (ko) 2차원 이산코사인 변환장치, 2차원 역이산코사인 변환장치 및 디지탈 신호처리 장치
JPH02501601A (ja) 2次元離散余弦変換プロセッサ
CN109117188B (zh) 一种多路混合基fft可重构蝶形运算器
EP1410239A2 (en) Butterfly-processing element for efficient fast fourier transform method and apparatus
JPH02504682A (ja) 変換処理回路
Liu et al. Pipelined architecture for a radix-2 fast Walsh–Hadamard–Fourier transform algorithm
US6317770B1 (en) High speed digital signal processor
JP2002132747A (ja) Fft演算回路
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
Nguyen et al. Design of polynomial NTT and INTT accelerator for post-quantum cryptography CRYSTALS-kyber
CN104657334B (zh) 一种快速傅里叶变化的基2-4-8混合基蝶算器及其应用
JP2002032358A (ja) 2サイクル高速フーリエ変換
JP3951071B2 (ja) 演算装置および演算方法
Panda Performance Analysis and Design of a Discreet Cosine Transform processor Using CORDIC algorithm
Mankar et al. Multiplier‐less VLSI architectures for radix‐22 folded pipelined complex FFT core
JP3709291B2 (ja) 高速複素フーリエ変換方法及び装置
CN114422315B (zh) 一种超高吞吐量ifft/fft调制解调方法
Singha et al. A New Architecture for Transformation of Binary to Double Base Number System (DBNS) with Bases 2 and 5 using Different Search Algorithms
KR100416641B1 (ko) 프로그래머블 프로세서에서 고속 에프에프티 연산을 위한에프에프티 연산방법 및 그 연산을 실행하기 위한에프에프티 연산회로
JP3239949B2 (ja) 複素数相関器
JPH0883264A (ja) 1次元シストリックアレイ型演算器とそれを用いたdct/idct演算装置
Yuk-Hee et al. Novel formulation and realisation of discrete cosine transform using distributed arithmetic
Bharathi et al. Efficient Realization of Fast Fourier Transform based on Distributed Arithmetic
JP2953918B2 (ja) 演算装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050520

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: 20051206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051219

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: 20100113

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees