JP2002132747A - Fft arithmetic circuit - Google Patents

Fft arithmetic circuit

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
Japanese (ja)
Other versions
JP3757782B2 (en
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/en
Publication of JP2002132747A publication Critical patent/JP2002132747A/en
Application granted granted Critical
Publication of JP3757782B2 publication Critical patent/JP3757782B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To make compatible both efficient processing and the expansion of available target data while effectively utilizing a circuit area when the number of sample data is large. SOLUTION: In this FFT arithmetic circuit, a crossing processing part 14 for outputting the data of the butterfly arithmetic result of a radix 8 from a first signal line group is provided with second and third signal line groups for extracting intermediate data in the middle of the relevant butterfly arithmetic. Then, the intermediate data corresponding to the butterfly arithmetic result of a radix 2 are outputted from the first signal line group, and the intermediate data corresponding to the butterfly arithmetic result corresponding to a radix 4 are outputted from the second signal line group.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ディジタル信号処
理に用いられるFFT(Fast Fourier Transform:高速
フーリエ変換)演算回路に関する。なお、本明細書中に
おいて、例えば「2*8^n」とは、「2×(8のn乗)」
を意味するものとする。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an FFT (Fast Fourier Transform) operation circuit used for digital signal processing. In this specification, for example, “2 * 8 ^ n” means “2 × (8 n)”
Shall mean.

【0002】[0002]

【従来の技術】FFTは、時間領域における一連のサン
プルデータに潜む周波数成分を抽出するのに用いられる
手法であり、多数のデータを短時間で処理できるという
優れた特徴を有する。また、FFTをハードウェアにす
る際には、面積の小さい回路が必要とされる。
2. Description of the Related Art FFT is a technique used for extracting a frequency component hidden in a series of sample data in a time domain, and has an excellent feature that a large number of data can be processed in a short time. Further, when the FFT is implemented by hardware, a circuit having a small area is required.

【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倍となる。
When an FFT operation is performed on an object having the same number of data, the higher the value of the radix of the butterfly operation, the higher the processing speed. Assuming that the number of data to be subjected to FFT is N, the number of butterfly operations until the end of the FFT operation is (N / 2) log2N in radix 2, (N / 4) log 4 N in radix 4,
In radix 8, it becomes (N / 8) log8N. The number of multiplications per butterfly is 4 for radix 2, 12 for radix 4, and 3 for radix 8.
It becomes 2. Therefore, the number of multiplications is 4 * (N / 2) log in base 2
2N, radix 4 is 12 * (N / 4) log4N, radix 8 is 32 * (N / 8) log8N, and the number of multiplications for radix 2 and radix 4 is 1.5 times and 1.125, respectively, for simple calculations. Double.

【0004】一方、FFTで対象となるデータ数は、基
数のべき乗個である。よって、基数2のバタフライ演算
では256、512、1024、2048、4096…というデータ数を扱
える。一方、基数8のバタフライ演算では、8のべき乗
個すなわち512、4096…というデータ数しか扱えないの
で、利用できる対象が限定されてしまうという課題があ
った。
On the other hand, the number of data to be processed in the FFT is a power of the radix. Therefore, the radix-2 butterfly operation can handle the number of data of 256, 512, 1024, 2048, 4096,. On the other hand, in the radix-8 butterfly operation, only the number of powers of 8, that is, 512, 4096,...

【0005】[0005]

【発明が解決しようとする課題】この課題は基数4のバ
タフライ演算についても同様であるため、基数4のFF
Tは対象データが4のべき乗に限定されてしまう。特開
平10-307811号公報では、基数4のバタフライ演算回路
において基数2のバタフライ演算を処理する回路を内蔵
させることによって、この課題を解決している。しか
し、データ数が大きい場合においても基数4のバタフラ
イ演算に限定されてしまうので、演算効率は基数8のバ
タフライ演算に比べて低いものとなってしまう。
Since this problem is the same for the radix-4 butterfly operation, the radix-4 FF is used.
In T, the target data is limited to a power of four. In Japanese Patent Application Laid-Open No. 10-307811, this problem is solved by incorporating a circuit for processing a radix-2 butterfly operation in a radix-4 butterfly operation circuit. However, even when the number of data is large, the calculation is limited to the radix-4 butterfly operation, and the operation efficiency is lower than that of the radix-8 butterfly operation.

【0006】また、基数の大きいバタフライ演算に基数
の小さいバタフライ演算をつなげる手法が考えられる。
例えば、基数8のバタフライ演算に基数2のバタフライ
演算をつなげることによって、データ数2*8^nを処理す
るというものである。しかし、基数8のバタフライ演算
をN段行ったのちに1段だけ基数2のバタフライ演算を
行うことにより、基数8のバタフライ演算が処理されて
いる間、基数2のバタフライ演算回路が活用されないの
で、回路面積を有効に利用できない。
[0006] A method of connecting a butterfly operation having a small radix to a butterfly operation having a large radix is conceivable.
For example, a radix-2 butterfly operation is connected to a radix-8 butterfly operation to process the data number 2 * 8 ^ n. However, by performing a radix-2 butterfly operation on one stage after performing a radix-8 butterfly operation on N stages, the radix-2 butterfly operation circuit is not utilized while the radix-8 butterfly operation is being processed. The circuit area cannot be used effectively.

【0007】[0007]

【発明の目的】以上のように、基数8のバタフライ演算
は、サンプルデータ数が大きい場合に効率的な処理を実
現する一方、利用できるサンプルデータ数が限定されて
しまうという課題があった。そこで、本発明の目的は、
回路面積の有効利用を図りつつ、サンプルデータ数が大
きい場合の効率的な処理と、利用できるサンプルデータ
数の拡大とを両立可能とした、FFT演算回路を提供す
ることにある。
As described above, the radix-8 butterfly operation realizes efficient processing when the number of sample data is large, but has a problem that the number of available sample data is limited. Therefore, an object of the present invention is to
An object of the present invention is to provide an FFT operation circuit capable of achieving both efficient processing when the number of sample data is large and expansion of the number of available sample data while effectively utilizing the circuit area.

【0008】[0008]

【課題を解決するための手段】本発明に係るFFT演算
回路は、2以上のただ一つの整数をα、1からα−1ま
での少なくとも一つの整数をβとすると、基数2のα乗
のバタフライ演算回路の一部を利用して基数2のβ乗の
バタフライ演算を行うことを特徴とするものである(請
求項1)。より具体的に言えば、基数2のα乗のバタフ
ライ演算結果のデータを第αの信号線群から出力するた
すき掛け処理部に、当該バタフライ演算途中の中間デー
タを取り出す第βの信号線群が設けられ、基数2のβ乗
のバタフライ演算結果に相当する前記中間データが前記
第βの信号線群から出力される、ものである(請求項
2)。
According to the FFT operation circuit of the present invention, if a single integer equal to or greater than 2 is α, and at least one integer from 1 to α−1 is β, a radix-2 raised to the power of α. The present invention is characterized in that a radix-2 .beta.-th power butterfly operation is performed using a part of a butterfly operation circuit (claim 1). More specifically, the crossing processing unit that outputs data of the butterfly operation result of the radix-2 α power from the αth signal line group includes a βth signal line group that extracts intermediate data in the middle of the butterfly operation. The intermediate data corresponding to a result of a butterfly operation of a radix-2 raised to the power of β is output from the β-th signal line group (claim 2).

【0009】例えば、前記αが3であり、前記βが1及
び2である(請求項3、4)。このとき、前記たすき掛
け処理部は、入力データの加減算を行う第1の加減算器
群と、この第1の加減算器群の出力データについて加減
算を行う第2の加減算器群と、この第2の加減算器群の
出力データについて加減算を行う第3の加減算器群と、
この第3の加減算器群の出力データの一部について乗算
を行う乗算器群と、この乗算器群の出力データと前記加
減算器群の出力データの一部とについて加減算を行う第
4の加減算器群と、前記第1の加減算器群の出力データ
を取り出す前記第1の信号線群と、前記第2の加減算器
群の出力データを取り出す前記第2の信号線群と、前記
第3及び前記第4の加減算器群の出力データを取り出す
前記第3の信号線群とを備えた、ものとしてもよい(請
求項5)。
For example, the α is 3 and the β is 1 and 2 (claims 3 and 4). At this time, the crossing processing unit includes a first adder / subtractor group for performing addition / subtraction of input data, a second adder / subtractor group for performing addition / subtraction for output data of the first adder / subtractor group, and a second adder / subtractor group. A third adder / subtractor group for performing addition / subtraction on output data of the adder / subtractor group,
A multiplier group for performing multiplication on a part of the output data of the third adder / subtractor group, and a fourth adder / subtractor for performing addition / subtraction on the output data of the multiplier group and a part of the output data of the adder / subtractor group A group, the first signal line group for extracting output data of the first adder / subtractor group, the second signal line group for extracting output data of the second adder / subtractor group, the third and the And a third signal line group for extracting output data of a fourth adder / subtractor group.

【0010】更にこのとき、前記第1及び前記第2の加
減算器群がそれぞれ8個の2入力1出力加算器及び8個
の2入力1出力減算器からなり、前記第3の加減算器群
が6個の2入力1出力加算器及び6個の2入力1出力減
算器からなり、前記第4の加減算器群が4個の2入力1
出力加算器及び4個の2入力1出力減算器からなる、と
してもよい(請求項6)。
At this time, the first and second adder / subtractor groups each include eight 2-input / one-output adders and eight 2-input / one-output subtractors, and the third adder-subtractor group includes The fourth adder / subtractor group comprises six 2-input 1-output adders and 6 2-input 1-output subtractors, and the 4-adder-subtracter group comprises four 2-input 1-adders.
It may be composed of an output adder and four two-input one-output subtractors (claim 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のバタフライ演算を行うため、
回路面積を有効に利用できる。
Hereinafter, the case where α is 3 and β is 1 and 2 will be described as an example. The radix-8 butterfly operation realizes efficient processing when the number of sample data is large, but has a problem that the number of available sample data is limited. The present invention is intended to solve this problem by processing radix-2 and radix-4 butterfly operations in a radix-8 butterfly operation circuit. In the FFT operation circuit according to the present invention,
8 ^ n (= 2 ^ (3n)), 2 * 8 ^ n (= 2 ^ (3n + 1)), 4 * 8 ^
Since n (= 2 ^ (3n + 2)) can be targeted, all targets that can be handled by the radix-2 butterfly operation circuit can be covered. In addition, since radix-2 and radix-4 butterfly computations are performed using a radix-8 butterfly computation circuit,
The circuit area can be used effectively.

【0012】[0012]

【発明の実施の形態】図1は、本発明に係るFFT演算
回路の一実施形態を示すブロック図である。図2は、図
1のFFT演算回路における、たすき掛け処理部の内部
構成、及びたすき掛け処理部とセレクタとの接続関係を
示すブロック図である。以下、これらの図面に基づき説
明する。
FIG. 1 is a block diagram showing one embodiment of an FFT operation circuit according to the present invention. FIG. 2 is a block diagram showing an internal configuration of the crossing processing unit and a connection relationship between the crossing processing unit and the selector in the FFT operation circuit of FIG. Hereinafter, description will be made based on these drawings.

【0013】本実施形態のFFT演算回路は、基数8の
バタフライ演算回路の一部を用いて、基数2及び基数4
のバタフライ演算をも行うものであり、データ格納部1
1、ひねり係数格納部12、ひねり係数乗算部13、た
すき掛け処理部14、セレクタ15、制御部16等を備
えている。本実施形態の特徴は、バタフライ演算の核を
なすたすき掛け処理部14、セレクタ15及び制御部1
6にある。
The FFT operation circuit according to the present embodiment uses a part of a radix-8 butterfly operation circuit to form a radix-2 and a radix-4.
Of the data storage unit 1.
1, a twist coefficient storage unit 12, a twist coefficient multiplying unit 13, a crossing processing unit 14, a selector 15, a control unit 16, and the like. The feature of the present embodiment is that the crossing processing unit 14, the selector 15, and the control unit 1 which form the core of the butterfly operation
At 6.

【0014】たすき掛け処理部14の信号線群sig3から
基数8のバタフライ演算結果データを出力する。これに
加え、信号線群sig1、信号線群sig2を設定し、これらか
ら中間データを取り出すことによって、信号線群sig1か
ら基数2のバタフライ演算の処理結果に相当するデー
タ、信号線群sig2から基数4のバタフライ演算の処理結
果に相当するデータが得られる。したがって、基数8の
バタフライ演算回路において基数2及び基数4のバタフ
ライ演算をも行うため、回路規模を増やすことなく、2*
8^n個や4*8^n個のデータに対しても処理することが可能
である。
The radix-8 butterfly operation result data is output from the signal line group sig3 of the crossing processor 14. In addition, a signal line group sig1 and a signal line group sig2 are set, and intermediate data is extracted therefrom to obtain data corresponding to a processing result of a radix-2 butterfly operation from the signal line group sig1 and a radix from the signal line group sig2. Data corresponding to the processing result of the butterfly operation of No. 4 is obtained. Therefore, the radix-8 butterfly operation circuit also performs radix-2 and radix-4 butterfly operations, so that 2 *
It is possible to process 8 ^ n or 4 * 8 ^ n data.

【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に出力する。
The data storage unit 11 stores initial data before starting the FFT operation. The intermediate data is stored during the FFT processing, and the processing result data is stored at the end of the FFT operation. The twist coefficient storage unit 12 stores a twist coefficient. When the number of data to be subjected to the FFT is N, the stored twist coefficients are k, 0, 1, 2,.
Then, sin (2πk / N) and cos (2πk / N) are obtained. The twist coefficient multiplying unit 13 multiplies the data output from the data storage unit 11 by the twist coefficient output from the twist coefficient storage unit 12. The crossing processing unit 14 performs a crossing process on the data output from the twist coefficient storage unit 12, and from the signal line group sig1, the data corresponding to the processing result of the radix-2 butterfly operation, and the signal line group sig2. Represents data and signal lines corresponding to the processing result of the radix-4 butterfly operation
The radix-8 butterfly operation processing result data is output from sig3. The selector 15 controls the signal line groups sig1, sig1
2. The data output from sig3 is selected and output to the data storage unit 11.

【0016】たすき掛け処理部14は、入力データの加
減算を行う加減算器群as1、加減算器群as1の出力データ
について加減算を行う加減算器群as2、加減算器群as2の
出力データについて加減算を行う加減算器群as3、加減
算器群as3の出力データの一部について乗算を行う乗算
器群mul1、乗算器群mul1の出力データと加減算器群as3
の出力データの一部とについて加減算を行う加減算器群
as4、加減算器群as1の出力データを取り出す信号線群si
g1、加減算器群as2の出力データを取り出す信号線群sig
2、加減算器群as3、as4の出力データを取り出す信号線
群sig3等を備えている。
The crossing processing unit 14 includes an adder / subtracter group as1 for performing addition / subtraction of input data, an adder / subtractor group as2 for performing addition / subtraction for output data of the adder / subtractor group as1, and an adder / subtractor for performing addition / subtraction for output data of the adder / subtractor group as2. Group as3, multiplier group mul1, which performs multiplication on a part of the output data of adder / subtractor group as3, output data of multiplier group mul1, and adder / subtractor group as3
Adder / subtracter group that performs addition and subtraction with a part of the output data of
as4, signal line group si for extracting output data of adder / subtractor group as1
g1, signal line group sig for extracting output data of adder / subtractor group as2
2. A signal line group sig3 for extracting output data from the adder / subtracter groups as3 and as4 is provided.

【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から
の制御信号に従って選択し、それぞれのデータを出力す
る。
Each of the adder / subtractor groups as1 and as2 is composed of eight two-input / one-output adders and eight two-input / one-output subtractors. The adder / subtractor group as3 is composed of six two-input / one-output adders and six.
The two-input one-output subtractor, and the adder-subtractor group as4 has four
It consists of two 2-input 1-output adders and 4 2-input 1-output subtractors. The selector 15 selects one of the signal line groups sig1, sig2, and sig3 of the crossing processing unit 14 according to a control signal from the control unit 16, and outputs respective data.

【0018】次に、本実施形態のFFT演算回路の動作
について詳しく説明する。まず、基数8のバタフライ演
算を説明した上で、基数2及び基数4のバタフライ演算
を説明する。その上で、基数8のバタフライ演算におけ
る基数2のバタフライ演算及び基数4のバタフライ演算
の実現方法について述べる。
Next, the operation of the FFT operation circuit of this embodiment will be described in detail. First, the radix-8 butterfly operation will be described, and then the radix-2 and radix-4 butterfly operations will be described. Then, a method of realizing the radix-2 butterfly operation and the radix-4 butterfly operation in the radix-8 butterfly operation will be described.

【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)
In the radix-8 butterfly operation, discrete Fourier transform of eight points is performed. The eight-point butterfly operation is represented by equation (1). Xn = Σ 7 k = 0 x_k * W ^ (n * k) ---- (1) n = 0,1,2, ..., 7 where W is the rotator represented by equation (2) . j is an imaginary unit hereinafter. 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である。
When Expression (1) is expanded, Expressions (3) to (10) are expressed. 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) where t is a constant 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)
The data handled here is complex data. Therefore, the real part of the butterfly operation input data xi is a
i, imaginary part bi, real part of output data Xi Ai, imaginary part B
Let i be the formula (9) from the formulas (2).
It is expressed as 6). Also, as shown in equation (26) from equation (11),
a0, a1, ..., a7, b0, b1, ..., b7 to A0, A1, ..., A7,
FIG. 3 illustrates a process of calculating B0, B1,..., B7. 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)
Here, the variable ap is calculated as shown in equations (27) to (42).
0, am0, ap1, am1, ap3, am2, ap3, am3, bp0, bm0, bp
Set 1, bm1, bp2, bm2, bp3, bm3. This corresponds to the output of the adder / subtractor group as1 in FIG. 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)
Further, the variable aap is calculated as shown in equations (43) to (58).
0, apm0, app1, apm1, amp0, amm0, amp1, amm1, bpp
0, bpm0, bpp1, bpm1, bmp0, bmm0, bmp1, bmm1 are set. This corresponds to the output of the adder / subtractor group as2 in FIG. 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)
When these are used to express equations (11) to (26), equations (59) to (74) are obtained. This corresponds to the operation of the addition / subtraction group as3, the addition / subtraction group as4, and the multiplier group mul1 in FIG. 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のバタフライ演算の実現方法を述べる。
Next, the radix-2 butterfly operation will be described, and a method of implementing the radix-2 butterfly operation in the above-described radix-8 butterfly operation will be described.

【0026】基数2のバタフライ演算は式(75)で表わさ
れる。 Xn=Σ1 k=0 x_k*W^(n*k)----(75) n=0,1 ここで、Wは式(76)で表わされるものである。 W=exp(-2πj/2)----(76)
The radix-2 butterfly operation is represented by equation (75). Xn = Σ 1 k = 0 x_k * W ^ (n * k)-(75) n = 0,1 where W is represented by the equation (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)
Therefore, the radix-2 butterfly operation is performed using the radix-8
Expressions (11) to (26) in the butterfly operation of (7) result in expressions (77) to (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のバタフライ演算結果を
出力することができる。
The four-term set of equations (77), (78), (79), and (80) is a four-term set of equations (27), (28), (35), and (36), and equation (29) ), (3
0), (37), (38), Eqs. (31), (32), (39), (40), Eqs. (33), (34), (41), ( Correspondence can be obtained with the four-item set in 42). Therefore, two data 4 inputs for performing a radix-2 butterfly operation are input to (a0, a4, b0, b4) or (a2, a6, b2, b6), (a
1, a5, b1, b5), corresponding to (a3, a7, b3, b7), the result of addition and subtraction (ap0, am0, bp0, bm0) or (ap2, am2, b
(p2, bm2), (ap1, am1, bp1, bm1), (ap3, am3, bp3, bm
By obtaining 3), a radix-2 butterfly operation result can be output.

【0029】すなわち、図3に示すように基数8のバタ
フライ演算において、a0、a1、…、a7、b0、b1、…、b7
に上述の組み合わせを鑑みた入力を行い、加減算器群as
1の結果を信号線群sig1に取り出すことによって、基数
2のバタフライ演算を4組並列に処理した結果を出力す
ることができる。
That is, in the radix-8 butterfly operation as shown in FIG. 3, a0, a1,..., A7, b0, b1,.
Input in consideration of the above combination, and adder / subtracter group as
By extracting the result of 1 into the signal line group sig1, four sets of radix-2 butterfly operations can be output in parallel.

【0030】続いて、基数4のバタフライ演算について
説明し、先に述べた基数8のバタフライ演算内における
基数4のバタフライ演算の実現方法を述べる。
Next, the radix-4 butterfly operation will be described, and a method of implementing the radix-4 butterfly operation in the radix-8 butterfly operation described above will be described.

【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)
The radix-4 butterfly operation is represented by equation (81). Xn = Σ 3 k = 0 x_k * W ^ (n * k)-(81) n = 0,1,2,3 where W is represented by the equation (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)
Therefore, the radix-4 butterfly operation is performed using the radix-8
Expression (26) from Expression (11) in the butterfly operation of Expression (23) gives Expression (90) from Expression (83). 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のバタフライ演
算結果を出力することができる。
This equation (83), (84), (85), (86), (87), (8
8), (89) and (90) are represented by equations (43), (44), (47), (48),
(51), (52), (56), (55) 8-tuple, Equations (45), (46), (4
9), (50), (53), (54), (58), and (57) can be associated with the eight-item set. Therefore, four data 8 inputs for performing a radix-4 butterfly operation are input to (a0, a4, a2, a6, b0, b4, b2, b6) or (a1, a
5, a3, a7, b1, b5, b3, b7), and the result of addition and subtraction (app0, apm0, amp0, amm0, bpp0, bpm0, bmm
0, bmp0) or (app1, apm1, amp1, amm1, bpp1, bpm1, b
By obtaining mm1 and bmp1), a radix-4 butterfly operation result can be output.

【0034】すなわち、図3に示すように基数8のバタ
フライ演算において、a0、a1、…、a7、b0、b1、…、b7
に上述の組み合わせを鑑みた入力を行い、加減算器群as
2の結果を信号線群sig2に取り出すことによって、基数
4のバタフライ演算を2組並列に処理した結果を出力す
ることができる。
That is, as shown in FIG. 3, in the radix-8 butterfly operation, a0, a1,..., A7, b0, b1,.
Input in consideration of the above combination, and adder / subtracter group as
By taking out the result of No. 2 to the signal line group sig2, it is possible to output a result obtained by processing two sets of radix-4 butterfly operations in parallel.

【0035】ここで、例としてデータ数2*8^nの対象に
ついて、FFTを行う際の処理について説明する。ただ
し、各格納部はメモリで実現したとする。
Here, as an example, a description will be given of a process for performing an FFT on an object having a data number of 2 * 8 ^ n. However, it is assumed that each storage unit is realized by a memory.

【0036】制御部16は、データ格納部11に対し
て、基数8のバタフライ演算のアルゴリズムに則ったア
ドレスのデータを出力するように制御信号を送る。ひね
り係数格納部12に対しては、基数8のバタフライ演算
のアルゴリズムに則ったひねり係数を出力するよう制御
信号を送る。また、ひねり係数乗算部13に対しては、
データ格納部11から出力されるデータとひねり係数格
納部12から出力されるひねり係数との乗算を、基数8
のバタフライ演算のアルゴリズムに則って行うよう制御
信号を送る。乗算されたデータはたすき掛け処理部14
に送られ、そこでたすき掛け処理が行われる。続いて、
制御部16は、セレクタ15に対して、基数8のバタフ
ライ演算結果を選択するように制御信号を送る。セレク
タ15は、たすき掛け処理部14の信号線群の中から基
数8のバタフライ演算結果である信号線群sig3を選択
し、それらのデータをデータ格納部11へ出力する。こ
のループをn回実行する。
The control unit 16 sends a control signal to the data storage unit 11 so as to output data at an address in accordance with the radix-8 butterfly computation algorithm. A control signal is sent to the twist coefficient storage unit 12 so as to output a twist coefficient according to an algorithm of a radix-8 butterfly operation. Also, for the twist coefficient multiplication unit 13,
The multiplication of the data output from the data storage unit 11 and the twist coefficient output from the twist coefficient storage unit 12 is performed in radix 8
Is transmitted in accordance with the butterfly calculation algorithm. The multiplied data is crossed by the crossing processing unit 14.
, Where the crossing process is performed. continue,
The control unit 16 sends a control signal to the selector 15 to select a radix-8 butterfly operation result. The selector 15 selects a signal line group sig3 that is a radix-8 butterfly operation result from the signal line group of the crossing processing unit 14, and outputs the data to the data storage unit 11. This loop is executed n times.

【0037】その上で、制御部16は、データ格納部に
対して、基数2のバタフライ演算のアルゴリズムに則っ
たアドレスのデータを出力するように制御信号を送る。
ひねり係数格納部12に対しては、基数2のバタフライ
演算のアルゴリズムに則ったひねり係数を出力するよう
制御信号を送る。また、ひねり係数乗算部13に対して
は、データ格納部11から出力されるデータとひねり係
数格納部12から出力されるひねり係数との乗算を、基
数2のバタフライ演算のアルゴリズムに則って行うよう
制御信号を送る。乗算されたデータはたすき掛け処理部
14に送られ、そこでたすき掛け処理が行われる。続い
て、制御部16は、セレクタ15に対して、基数2のバ
タフライ演算結果を選択するように制御信号を送る。セ
レクタ1は、たすき掛け処理部14の信号線群の中から
基数2のバタフライ演算結果である信号線群sig1を選択
し、それらのデータをデータ格納部11へ出力する。こ
のループを1回実行する。
Then, the control unit 16 sends a control signal to the data storage unit to output data at an address in accordance with the radix-2 butterfly computation algorithm.
A control signal is sent to the twist coefficient storage unit 12 so as to output a twist coefficient in accordance with the algorithm of the radix-2 butterfly operation. The twist coefficient multiplying unit 13 multiplies the data output from the data storage unit 11 by the twist coefficient output from the twist coefficient storage unit 12 in accordance with the radix-2 butterfly computation algorithm. Send control signal. The multiplied data is sent to the crossing processing section 14, where crossing processing is performed. Subsequently, the control unit 16 sends a control signal to the selector 15 so as to select a radix-2 butterfly operation result. The selector 1 selects a signal line group sig1 that is a radix-2 butterfly operation result from the signal line group of the crossing processing unit 14, and outputs the data to the data storage unit 11. This loop is executed once.

【0038】以上の処理の結果、データ格納部11には
2*8^nのFFT演算の結果が格納される。
As a result of the above processing, the data storage unit 11
The result of 2 * 8 ^ n FFT operation is stored.

【0039】なお、本発明は、上記実施形態を発展させ
て、例えば「基数16のバタフライ演算回路の一部を利
用して基数2、4、8のバタフライ演算を行う」という
ように、上記実施形態における基数8の部分を16、3
2、・・・とすることができる。一例として、基数16
の場合について説明する。
It should be noted that the present invention is developed from the above embodiment by, for example, "performing radix-2, 4-, and 8-butterfly computations using a part of the radix-16 butterfly computation circuit". The radix-8 part in the form is 16, 3
2, etc. As an example, base 16
The case will be described.

【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の場合
と同様である。
When the radix-16 butterfly operation is performed, X_n = Σ 15 k = 0 x_k * W ^ (n * k) n = 0,..., 15 ---- (91) where W = exp (-2πj / 16) : J operates on the basis of the imaginary unit as in the case of bases 2, 4, and 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)。Expanding equation (91), if 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) When 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) However, 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)。The expression (92) is expressed as follows: * 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) Formula 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) However, w8 = exp (2πj / 8).

【0043】(92)、(93)式の括弧{}内が基数4のバタフ
ライ演算に相当し、(94)、(95)式の括弧{}内が基数8の
バタフライ演算に相当する。基数2についても同様に示
すことができる。これは、更に基数の値が大きくなって
も言えることである。
The brackets {} in the equations (92) and (93) correspond to a radix-4 butterfly operation, and the brackets {} in the equations (94) and (95) correspond to a radix-8 butterfly operation. The radix 2 can be similarly shown. This is true even if the value of the radix is further increased.

【0044】[0044]

【発明の効果】本発明に係るFFT演算回路によれば、
2以上のただ一つの整数をα、1からα−1までの少な
くとも一つの整数をβとすると、基数(2のα乗)のバ
タフライ演算回路の一部を利用して基数(2のβ乗)の
バタフライ演算を行うことにより、データ数が(2のα
乗)^nだけでなく2*(2のα乗)^n、…についても、回
路規模を増大することなくFFTを行える。その理由
は、基数(2のα乗)のバタフライ演算回路の一部をそ
のまま用いて基数(2のβ乗)のバタフライ演算を行う
ことにより、2*(2のα乗)^n、…というデータ数を扱
う基数(2のβ乗)のバタフライ演算回路が不要になる
ためである。したがって、回路面積の有効利用を図りつ
つ、サンプルデータ数が大きい場合の効率的な処理と、
利用できるサンプルデータ数の拡大とを両立させること
ができる。
According to the FFT operation circuit according to the present invention,
Assuming that a single integer equal to or greater than 2 is α and at least one integer from 1 to α−1 is β, a radix (2 to the power of β) is used by utilizing a part of a butterfly operation circuit of a radix (2 to the power of α). ), The number of data becomes (2 α)
FFT can be performed not only for the power of 2) (n) but also for 2 * (2 to the power of α) ^ n, without increasing the circuit scale. The reason is that by performing the butterfly operation of the radix (2 to the power of β) using part of the butterfly operation circuit of the radix (2 to the power of α) as it is, 2 * (2 to the power of α) ^ n,. This is because a radix (2 to the power of β) butterfly operation circuit that handles the number of data becomes unnecessary. Therefore, while effectively utilizing the circuit area, efficient processing when the number of sample data is large,
The expansion of the number of available sample data can be compatible.

【0045】特に請求項3又は4記載のFFT演算回路
によれば、データ数が8^nだけでなく2*8^nや4*8^nにつ
いても、回路規模を増大することなくFFTを行える。
その理由は、基数8のバタフライ演算回路の一部をその
まま用いて基数2のバタフライ演算及び基数4のバタフ
ライ演算を行えることにより、2*8^nや4*8^nというデー
タ数を扱う基数2や基数4のバタフライ演算回路が不要
になるためである。
In particular, according to the FFT operation circuit according to the third or fourth aspect, not only the number of data is 8 ^ n but also 2 * 8 ^ n and 4 * 8 ^ n, the FFT can be performed without increasing the circuit scale. I can do it.
The reason is that a radix-2 butterfly operation and a radix-4 butterfly operation can be performed by using a part of the radix-8 butterfly operation circuit as it is, so that the radix handling the data number of 2 * 8 ^ n or 4 * 8 ^ n This is because a butterfly arithmetic circuit of 2 or radix 4 becomes unnecessary.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るFFT演算回路の一実施形態を示
すブロック図である。
FIG. 1 is a block diagram showing an embodiment of an FFT operation circuit according to the present invention.

【図2】図1のFFT演算回路における、たすき掛け処
理部の内部構成、及びたすき掛け処理部とセレクタとの
接続関係を示すブロック図である。
FIG. 2 is a block diagram showing an internal configuration of a crossing processing unit and a connection relationship between the crossing processing unit and a selector in the FFT operation circuit of FIG. 1;

【図3】図1のFFT演算回路の動作を示すフロー図で
ある。
FIG. 3 is a flowchart showing an operation of the FFT operation circuit of FIG. 1;

【符号の説明】[Explanation of symbols]

11 データ格納部 12 ひねり係数格納部 13 ひねり係数乗算部 14 たすき掛け処理部 15 セレクタ 16 制御部 sig1 第一の信号線群 sig2 第二の信号線群 sig3 第三の信号線群 DESCRIPTION OF SYMBOLS 11 Data storage unit 12 Twist coefficient storage unit 13 Twist coefficient multiplication unit 14 Crossing processing unit 15 Selector 16 Control unit sig1 First signal line group sig2 Second signal line group sig3 Third signal line group

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 2以上のただ一つの整数をα、1からα
−1までの少なくとも一つの整数をβとすると、 基数(2のα乗)のバタフライ演算回路の一部を利用し
て基数(2のβ乗)のバタフライ演算を行う、 ことを特徴とするFFT演算回路。
1. The method of claim 1, wherein a single integer equal to or greater than 2 is α, 1 to α
Assuming that at least one integer up to −1 is β, radix (2 to the power of β) butterfly operation is performed using a part of a radix (2 to the power of α) butterfly operation circuit. Arithmetic circuit.
【請求項2】 基数(2のα乗)のバタフライ演算結果
のデータを第αの信号線群から出力するたすき掛け処理
部に、当該バタフライ演算途中の中間データを取り出す
第βの信号線群が設けられ、 基数(2のβ乗)のバタフライ演算結果に相当する前記
中間データが前記第βの信号線群から出力される、 請求項1記載のFFT演算回路。
2. A crossing processing section for outputting data of a butterfly operation result of a radix (2 to the power of α) from an αth signal line group includes a βth signal line group for extracting intermediate data in the middle of the butterfly operation. 2. The FFT operation circuit according to claim 1, wherein the intermediate data corresponding to a butterfly operation result of a radix (2 to the power of β) is output from the βth signal line group.
【請求項3】 前記αが3であり、前記βが1及び2で
ある、 請求項1記載のFFT演算回路。
3. The FFT operation circuit according to claim 1, wherein said α is 3, and said β is 1 and 2.
【請求項4】 前記αが3であり、前記βが1及び2で
ある、 請求項2記載のFFT演算回路。
4. The FFT operation circuit according to claim 2, wherein said α is 3 and said β is 1 and 2.
【請求項5】 前記たすき掛け処理部は、入力データの
加減算を行う第1の加減算器群と、この第1の加減算器
群の出力データについて加減算を行う第2の加減算器群
と、この第2の加減算器群の出力データについて加減算
を行う第3の加減算器群と、この第3の加減算器群の出
力データの一部について乗算を行う乗算器群と、この乗
算器群の出力データと前記加減算器群の出力データの一
部とについて加減算を行う第4の加減算器群と、前記第
1の加減算器群の出力データを取り出す前記第1の信号
線群と、前記第2の加減算器群の出力データを取り出す
前記第2の信号線群と、前記第3及び前記第4の加減算
器群の出力データを取り出す前記第3の信号線群とを備
えた、 請求項4記載のFFT演算回路。
5. A cross processing unit comprising: a first adder / subtractor group for performing addition / subtraction of input data; a second adder / subtractor group for performing addition / subtraction for output data of the first adder / subtractor group; A third adder / subtracter group that performs addition / subtraction on output data of the second adder / subtractor group, a multiplier group that performs multiplication on a part of output data of the third adder / subtractor group, and output data of the multiplier group. A fourth adder / subtractor group for performing addition / subtraction on a part of output data of the adder / subtractor group, the first signal line group for extracting output data of the first adder / subtractor group, and the second adder / subtractor 5. The FFT operation according to claim 4, comprising: the second signal line group for extracting output data of a group; and the third signal line group for extracting output data of the third and fourth adder / subtractor groups. circuit.
【請求項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演算回路。
6. The first and second adder / subtractor groups each include eight 2-input / one-output adders and eight 2-input / one-output subtractors, and the third adder-subtractor group includes six. Wherein the fourth adder / subtractor group comprises four 2-input / one-output adders and four 2-input / one-output subtractors. The FFT operation circuit according to claim 5.
JP2000330524A 2000-10-30 2000-10-30 FFT operation circuit Expired - Fee Related JP3757782B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000330524A JP3757782B2 (en) 2000-10-30 2000-10-30 FFT operation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000330524A JP3757782B2 (en) 2000-10-30 2000-10-30 FFT operation circuit

Publications (2)

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

Family

ID=18807027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000330524A Expired - Fee Related JP3757782B2 (en) 2000-10-30 2000-10-30 FFT operation circuit

Country Status (1)

Country Link
JP (1) JP3757782B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007172157A (en) * 2005-12-20 2007-07-05 Samsung Electronics Co Ltd Fft arithmetic circuit
KR100762281B1 (en) 2005-12-08 2007-10-01 한국전자통신연구원 Memory address counter and memory control unit for Radix-2-square SDF FFT
JP2008533873A (en) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド Fast Fourier transform twiddle multiplication
JP2011070392A (en) * 2009-09-25 2011-04-07 Nec Corp Discrete fourier transform device and discrete fourier transform method
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 (en) * 2014-12-29 2015-05-27 南京大学 FFT (Fast Fourier Transform) radix-2-4-8 mixed-radix butterfly operator and application thereof

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533873A (en) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド Fast Fourier transform twiddle multiplication
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 (en) 2005-12-08 2007-10-01 한국전자통신연구원 Memory address counter and memory control unit for Radix-2-square SDF FFT
JP2007172157A (en) * 2005-12-20 2007-07-05 Samsung Electronics Co Ltd Fft arithmetic circuit
US7979485B2 (en) 2005-12-20 2011-07-12 Samsung Electronics Co., Ltd. Circuit for fast fourier transform operation
JP2011070392A (en) * 2009-09-25 2011-04-07 Nec Corp Discrete fourier transform device and discrete fourier transform method
CN104657334A (en) * 2014-12-29 2015-05-27 南京大学 FFT (Fast Fourier Transform) radix-2-4-8 mixed-radix butterfly operator and application thereof
CN104657334B (en) * 2014-12-29 2018-12-28 南京大学 A kind of base 2-4-8 mixed base butterfly of fast Fourier variation calculates device and its application

Also Published As

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

Similar Documents

Publication Publication Date Title
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
JP2866754B2 (en) Arithmetic processing unit
KR950009472A (en) 2D Discrete Cosine Inverter, 2D Inverse Discrete Cosine Inverter and Digital Signal Processing Equipment
JPH02501601A (en) 2D discrete cosine transform processor
CN109117188B (en) Multi-path mixed-basis FFT (fast Fourier transform) reconfigurable butterfly operator
EP1410239A2 (en) Butterfly-processing element for efficient fast fourier transform method and apparatus
US5233551A (en) Radix-12 DFT/FFT building block
Liu et al. Pipelined architecture for a radix-2 fast Walsh–Hadamard–Fourier transform algorithm
US6317770B1 (en) High speed digital signal processor
JP4199100B2 (en) Function calculation method and function calculation circuit
JP2002132747A (en) Fft arithmetic circuit
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
JP2002032358A (en) Two cycle fast-fourier transform
Nguyen et al. Design of polynomial ntt and intt accelerator for post-quantum cryptography crystals-kyber
JP3951071B2 (en) Arithmetic apparatus and arithmetic method
JP3709291B2 (en) Fast complex Fourier transform method and apparatus
CN114422315B (en) Ultra-high throughput IFFT/FFT modulation and demodulation method
JPH05174046A (en) Arithmetic circuit
JP3239949B2 (en) Complex number correlator
JPH0883264A (en) One-dimensional systolic array type arithmetic device and dct/idct arithmetic unit using same
Yuk-Hee et al. Novel formulation and realisation of discrete cosine transform using distributed arithmetic
JP2953918B2 (en) Arithmetic unit
JPH10307812A (en) Fft arithmetic circuit
KR950035402A (en) Integrated Circuit Processor for Discrete Cosine and Inverse Transforms
JP2002117016A (en) Fast fourier transform method and fast inverse fourier transform method

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