JPH09305573A - Fft operation device and method therefor - Google Patents

Fft operation device and method therefor

Info

Publication number
JPH09305573A
JPH09305573A JP8121336A JP12133696A JPH09305573A JP H09305573 A JPH09305573 A JP H09305573A JP 8121336 A JP8121336 A JP 8121336A JP 12133696 A JP12133696 A JP 12133696A JP H09305573 A JPH09305573 A JP H09305573A
Authority
JP
Japan
Prior art keywords
data
selector
butterfly
output
input
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
JP8121336A
Other languages
Japanese (ja)
Other versions
JP3951066B2 (en
Inventor
Yasunari Ozaki
康成 小崎
Yasu Ito
鎮 伊藤
Yasunari Ikeda
康成 池田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP12133696A priority Critical patent/JP3951066B2/en
Priority to US08/841,355 priority patent/US5890098A/en
Priority to EP97302959A priority patent/EP0805401A1/en
Publication of JPH09305573A publication Critical patent/JPH09305573A/en
Application granted granted Critical
Publication of JP3951066B2 publication Critical patent/JP3951066B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To perform fast Fourier transform(FFT) operation at high speed. SOLUTION: A butterfly computing element 4 executes butterfly operation of data inputted from terminals in0 and in1 and outputs two pieces of data provided as a result from a terminal out0 or out1 to both selectors 13-0 and 13-1. At the selector 13-0 or 13-1, any one of two pieces of data supplied from the terminals outO and out1 are selected so that two pieces of data to be simultaneously required for the next butterfly operation can be dividedly stored in memories 15-0 and 15-1, and the data are respectively simultaneously supplied and stored through a selector 14-0 or 14-1 into the memory 15-0 or 15-1.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、FFT演算装置お
よび方法に関し、特に、より高速化を可能とするFFT
演算装置および方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an FFT operation device and method, and more particularly to an FFT that enables higher speed.
The present invention relates to a computing device and method.

【0002】[0002]

【従来の技術】最近、放送技術にもディジタル化が普及
しつつある。図9は、オーディオ信号をディジタル化し
て放送するディジタルラジオ放送の1つであるDAB
(Digital Audio Broadcasting)の受信装置の構成例を
表している。チューナ92は、アンテナ91を介して受
信した信号から、所定の放送局(チャンネル)の信号を
受信し、A/D変換器93に出力する。A/D変換器9
3は、入力された信号をA/D変換し、FFT(Fast F
ourier Transform)回路94は、A/D変換器93より
入力された時間軸上のデータから、複数の副搬送波の周
波数軸上のデータに変換するために、FFT演算を行
う。なお、このFFT回路94には、時間軸上において
隣接するシンボルとの間に設けられているガード・イン
タバル成分が除去された後のシンボル成分が供給され
る。
2. Description of the Related Art Recently, digitization is becoming widespread in broadcasting technology. FIG. 9 shows a DAB, which is one of digital radio broadcasts for digitizing and broadcasting audio signals.
It shows a configuration example of a (Digital Audio Broadcasting) receiver. The tuner 92 receives a signal of a predetermined broadcasting station (channel) from the signal received via the antenna 91, and outputs it to the A / D converter 93. A / D converter 9
3 performs A / D conversion of the input signal, and FFT (Fast F
Ourier Transform) circuit 94 performs an FFT operation in order to convert the data on the time axis input from A / D converter 93 into the data on the frequency axis of a plurality of subcarriers. The FFT circuit 94 is supplied with the symbol component after the guard interval component provided between the adjacent symbols on the time axis is removed.

【0003】デインタリーブ回路および誤り訂正回路9
5は、FFT回路94の出力に対して、デインタリーブ
処理を行うとともに、誤り訂正処理を実行する。デイン
タリーブ回路および誤り訂正回路95により処理された
信号は、その一部が復号化回路96に供給され、DQP
SK(Differential Quadrature Phase Shift Keying)
復調され、左チャンネルのオーディオ信号と右チャンネ
ルのオーディオ信号が、それぞれスピーカ97と98よ
り出力される。また、付加データ出力回路99は、デイ
ンタリーブ回路および誤り訂正回路95より出力された
信号から、番組内容、交通情報などの付加データを分離
出力する。
Deinterleave circuit and error correction circuit 9
Reference numeral 5 performs deinterleave processing and error correction processing on the output of the FFT circuit 94. A part of the signal processed by the deinterleave circuit and the error correction circuit 95 is supplied to the decoding circuit 96, and the DQP
SK (Differential Quadrature Phase Shift Keying)
The demodulated left channel audio signal and right channel audio signal are output from the speakers 97 and 98, respectively. Further, the additional data output circuit 99 separates and outputs additional data such as program content and traffic information from the signal output from the deinterleave circuit and the error correction circuit 95.

【0004】図10は、このようなFFT回路94の従
来の構成例を表している。この例においては、入力され
たデータが、入力バッファ1に一旦蓄積された後、セレ
クタ2とセレクタ3を介してバタフライ演算器4の入力
端子in0またはin1に入力されるようになされてい
る。バタフライ演算器4は、例えば基数が2のバタフラ
イ演算(2点のDFT(Discrete Fourier Transfor
m))を行う演算器で、ROM(Read Only Memory)5
に記憶されている回転演算子データ(回転因子)を適宜
読み出して、端子in0とin1より入力されたデータ
に対してバタフライ演算を施し、端子out0とout
1から出力するようになされている。
FIG. 10 shows a conventional configuration example of such an FFT circuit 94. In this example, the input data is once stored in the input buffer 1 and then input to the input terminal in0 or in1 of the butterfly computing unit 4 via the selector 2 and the selector 3. The butterfly computing unit 4 is, for example, a butterfly computing unit having a radix of 2 (two-point DFT (Discrete Fourier Transfor
m)), a ROM (Read Only Memory) 5
The rotation operator data (twirling factor) stored in is properly read out, the butterfly operation is performed on the data input from the terminals in0 and in1, and the terminals out0 and out are output.
It is designed to output from 1.

【0005】セレクタ6は、バタフライ演算器4の端子
out0とout1から出力されるデータを選択し、セ
レクタ7に出力する。セレクタ7は、セレクタ6より入
力されるデータをメモリ8または出力バッファ9に出力
する。メモリ8は、セレクタ7より入力されたデータを
記憶するとともに、所定のタイミングで読み出し、セレ
クタ2に供給する。
The selector 6 selects the data output from the terminals out0 and out1 of the butterfly computing unit 4 and outputs it to the selector 7. The selector 7 outputs the data input from the selector 6 to the memory 8 or the output buffer 9. The memory 8 stores the data input from the selector 7, reads the data at a predetermined timing, and supplies the data to the selector 2.

【0006】セレクタ2は、入力バッファ1よりバタフ
ライ演算の処理単位を構成する全てのデータが選択され
るまで入力バッファ1からの出力を選択し、バタフライ
演算を施すべき全てのデータが入力バッファ1から入力
された後は、メモリ8より入力されるデータを選択し、
セレクタ3に出力するようになされている。このように
して、バタフライ演算器4により、バタフライ演算結果
に対して再びバタフライ演算を施す処理が所定の回数だ
け繰り返し実行される。
The selector 2 selects the output from the input buffer 1 until all the data constituting the processing unit of the butterfly operation is selected from the input buffer 1, and all the data to be subjected to the butterfly operation is input from the input buffer 1. After input, select the data input from the memory 8,
The data is output to the selector 3. In this way, the butterfly computing unit 4 repeatedly executes the butterfly computing process on the butterfly computing result a predetermined number of times.

【0007】例えば、図11のタイミングチャートに示
すように、バタフライ演算器4の端子out0からデー
タ0(バタフライ演算結果)が、また、端子out1か
らデータ1(バタフライ演算結果)が、それぞれ出力さ
れたとすると、セレクタ6は、バタフライ演算器4の出
力の周期の1/2の周期のクロックで動作し、これによ
り、バタフライ演算器4の出力の周期の前半の期間にお
いては、端子out0より出力されているデータ0を選
択し、後半の期間においては、端子out1より出力さ
れているデータ1を選択する。このデータ0とデータ1
は、セレクタ7により選択され、メモリ8に供給され、
書き込まれる。即ち、バタフライ演算器4が同時に出力
する2つのバタフライ演算結果は、セレクタ6において
パラレル/シリアル変換され、セレクタ7を介して、メ
モリ8に供給されて記憶される。メモリ8に記憶された
データは、再び読み出され、セレクタ2とセレクタ3を
介してバタフライ演算器4の端子in0とin1に供給
される。
For example, as shown in the timing chart of FIG. 11, it is assumed that data 0 (butterfly operation result) is output from the terminal out0 of the butterfly operation unit 4 and data 1 (butterfly operation result) is output from the terminal out1. Then, the selector 6 operates with a clock having a half cycle of the output cycle of the butterfly computing unit 4, so that in the first half period of the output cycle of the butterfly computing unit 4, the selector 6 outputs the signal from the terminal out0. The selected data 0 is selected, and in the latter half period, the data 1 output from the terminal out1 is selected. This data 0 and data 1
Is selected by the selector 7 and supplied to the memory 8,
Written. That is, the two butterfly operation results output simultaneously by the butterfly operation unit 4 are parallel / serial converted by the selector 6 and supplied to the memory 8 via the selector 7 to be stored therein. The data stored in the memory 8 is read again and supplied to the terminals in0 and in1 of the butterfly computing unit 4 via the selectors 2 and 3.

【0008】即ち、図11に示すように、セレクタ6の
切り換え周期の1/2の周期で、メモリ8に対するデー
タの書き込みと読み出しが行われる。例えば、セレクタ
6よりデータ0が出力されているとき、その前半の期間
において、メモリ8にデータ0が書き込まれ、後半の期
間において、既にメモリ8に記憶されているデータが読
み出され、セレクタ2とセレクタ3を介してバタフライ
演算器4の例えば端子in0に入力される。
That is, as shown in FIG. 11, writing and reading of data with respect to the memory 8 are performed at a cycle of 1/2 of the switching cycle of the selector 6. For example, when the data 0 is output from the selector 6, the data 0 is written in the memory 8 in the first half period, the data already stored in the memory 8 is read in the second half period, and the selector 2 Is input to, for example, the terminal in0 of the butterfly computing unit 4 via the selector 3.

【0009】また、セレクタ6がデータ1を出力してい
る周期においては、その前半の期間において、データ1
がメモリ8に書き込まれ、後半の期間において、メモリ
8に既に記憶されている所定のデータが読み出され、セ
レクタ2と3を介してバタフライ演算器4の例えば端子
in1に供給される。
Further, in the cycle in which the selector 6 outputs the data 1, the data 1 is output in the first half period.
Is written in the memory 8, and in the latter half period, predetermined data already stored in the memory 8 is read out and supplied to, for example, the terminal in1 of the butterfly computing unit 4 via the selectors 2 and 3.

【0010】以下、同様の処理が繰り返し実行される。Thereafter, similar processing is repeatedly executed.

【0011】[0011]

【発明が解決しようとする課題】このように、従来のF
FT演算装置(ここでは、FFT回路94)において
は、図11に示したように、バタフライ演算器4の動作
クロックの周波数を1とすると、メモリ8の動作クロッ
クの周波数は、その4倍の周波数とする必要がある。換
言すれば、メモリ8の動作クロックが定まっているとす
ると、バタフライ演算器4における演算は、そのクロッ
クの1/4の速度で行わなければならず、演算の高速化
の妨げの1つの原因となっていた。
As described above, the conventional F
In the FT operation device (here, the FFT circuit 94), assuming that the frequency of the operation clock of the butterfly operation unit 4 is 1, as shown in FIG. 11, the frequency of the operation clock of the memory 8 is four times that frequency. And need to. In other words, assuming that the operation clock of the memory 8 is fixed, the operation in the butterfly operation unit 4 must be performed at a speed of 1/4 of the clock, which is one of the causes of hindering the speeding up of the operation. Was becoming.

【0012】本発明はこのような状況に鑑みてなされた
ものであり、より高速な演算を可能とするものである。
The present invention has been made in view of such a situation, and makes it possible to perform a higher-speed operation.

【0013】[0013]

【課題を解決するための手段】請求項1に記載のFFT
演算装置は、所定の基数Nのバタフライ演算を行う演算
手段と、バタフライ演算に関するデータを記憶するN個
の記憶手段とを備え、N個の記憶手段に対するデータの
書き込みまたは読み出しを同時に行うことを特徴とす
る。
An FFT according to claim 1
The arithmetic unit is provided with an arithmetic means for performing a butterfly operation of a predetermined radix N and N storage means for storing data related to the butterfly operation, and simultaneously writes or reads data to or from the N storage means. And

【0014】請求項7に記載のFFT演算方法は、N個
の記憶手段に対するデータの書き込みまたは読み出しを
同時に行うことを特徴とする。
According to a seventh aspect of the present invention, the FFT calculation method is characterized in that data is written in or read from N storage means at the same time.

【0015】請求項1に記載のFFT演算装置および請
求項7に記載のFFT演算方法においては、N個の記憶
手段に対するデータの書き込みまたは読み出しを同時に
行うようになされている。
In the FFT operation device according to the first aspect and the FFT operation method according to the seventh aspect, writing or reading of data to / from N storage means is performed simultaneously.

【0016】[0016]

【発明の実施の形態】以下に、本発明の実施例を説明す
るが、その前に、特許請求の範囲に記載の発明の各手段
と以下の実施例との対応関係を明らかにするために、各
手段の後の括弧内に、対応する実施例(但し、一例)を
付加して、本発明の特徴を記述すると、次のようにな
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below, but before that, in order to clarify the correspondence between each means of the invention described in the claims and the following embodiments. The features of the present invention are described as follows by adding a corresponding embodiment (however, an example) in parentheses after each means.

【0017】即ち、請求項1に記載のFFT演算装置
は、FFT(Fast Fourier Transform)演算を行うFF
T演算装置であって、所定の基数Nのバタフライ演算を
行う演算手段(例えば、図2、図4乃至図6、図8に示
すバタフライ演算器4や、図7に示すバタフライ演算器
54など)と、バタフライ演算に関するデータを記憶す
るN個の記憶手段(例えば、図2に示すメモリ15−0
および15−1、図4に示す入力バッファ22−0およ
び22−1や、図5に示す出力バッファ32−0および
32−1、図6に示すメモリ15−0,15−1、入力
バッファ22−0,22−1、出力バッファ32−0、
および32−1、図7に示す入力バッファ52−0乃至
52−3、メモリ58−0乃至58−3、および出力バ
ッファ59−0乃至59−3、図8に示す入力バッファ
部71−0,71−1、メモリ部72−0,72−1、
出力バッファ部73−0、および73−1など)とを備
え、N個の記憶手段に対するデータの書き込みまたは読
み出しを同時に行うことを特徴とする。
That is, the FFT operation device according to the first aspect is an FF that performs an FFT (Fast Fourier Transform) operation.
A computing unit that is a T computing device and performs a butterfly computation of a predetermined radix N (for example, the butterfly computing unit 4 shown in FIGS. 2, 4 to 6, and 8 and the butterfly computing unit 54 shown in FIG. 7). And N storage means (for example, the memory 15-0 shown in FIG. 2) for storing data related to butterfly computation.
And 15-1, the input buffers 22-0 and 22-1 shown in FIG. 4, the output buffers 32-0 and 32-1 shown in FIG. 5, the memories 15-0 and 15-1 shown in FIG. 6, and the input buffer 22. -0, 22-1, output buffer 32-0,
And 32-1, the input buffers 52-0 to 52-3 shown in FIG. 7, the memories 58-0 to 58-3, and the output buffers 59-0 to 59-3, and the input buffer unit 71-0 shown in FIG. 71-1, memory units 72-0, 72-1,
Output buffer units 73-0 and 73-1) and write or read data to and from N storage means at the same time.

【0018】請求項6に記載のFFT演算装置は、N個
の記憶手段それぞれが、データを記憶する第1および第
2の記憶手段(例えば、図8に示す入力バッファ71−
0−2および71−0−3や、入力バッファ71−1−
2および71−1−3、メモリ72−0−2および72
−0−3、メモリ72−1−2および72−1−3、出
力バッファ73−0−2および73−0−3、出力バッ
ファ73−1−2および73−1−3など)を有し、第
1または第2の記憶手段のうちの一方に書き込みが行わ
れているとき、他方からは読み出しが行われることを特
徴とする。
In the FFT operation device according to the sixth aspect, each of the N storage means has first and second storage means for storing data (for example, the input buffer 71- shown in FIG. 8).
0-2 and 71-0-3 and the input buffer 71-1-
2 and 71-1-3, memories 72-0-2 and 72
0-3, memories 72-1-2 and 72-1-3, output buffers 73-0-2 and 73-0-3, output buffers 73-1-2 and 73-1-3, etc. , While one of the first and second storage means is being written, the other is read.

【0019】請求項7に記載のFFT演算方法は、所定
の基数Nのバタフライ演算を行う演算手段(例えば、図
2、図4乃至図6、図8に示すバタフライ演算器4や、
図7に示すバタフライ演算器54など)と、バタフライ
演算に関するデータを記憶するN個の記憶手段(例え
ば、図2に示すメモリ15−0および15−1、図4に
示す入力バッファ22−0および22−1や、図5に示
す出力バッファ32−0および32−1、図6に示すメ
モリ15−0,15−1、入力バッファ22−0,22
−1、出力バッファ32−0、および32−1、図7に
示す入力バッファ52−0乃至52−3、メモリ58−
0乃至58−3、および出力バッファ59−0乃至59
−3、図8に示す入力バッファ部71−0,71−1、
メモリ部72−0,72−1、出力バッファ部73−
0、および73−1など)とを備え、FFT(Fast Fou
rier Transform)演算を行うFFT演算装置のFFT演
算方法であって、N個の記憶手段に対するデータの書き
込みまたは読み出しを同時に行うことを特徴とする。
According to a seventh aspect of the present invention, the FFT calculation method is a calculation means for performing a butterfly calculation of a predetermined radix N (for example, the butterfly calculation unit 4 shown in FIGS. 2, 4 to 6, and 8;
7 and the N storage means (for example, the memories 15-0 and 15-1 shown in FIG. 2) and the input buffer 22-0 shown in FIG. 22-1, output buffers 32-0 and 32-1 shown in FIG. 5, memories 15-0 and 15-1 shown in FIG. 6, and input buffers 22-0 and 22.
-1, output buffers 32-0 and 32-1, input buffers 52-0 to 52-3 shown in FIG. 7, memory 58-
0 to 58-3 and output buffers 59-0 to 59-3
-3, the input buffer units 71-0 and 71-1 shown in FIG.
Memory units 72-0 and 72-1 and output buffer unit 73-
0, and 73-1), and FFT (Fast Fou
An FFT calculation method of an FFT calculation device that performs a carrier transform), characterized in that writing or reading of data to N storage means is performed simultaneously.

【0020】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
Of course, this description does not mean that each means is limited to those described above.

【0021】次に、本発明の基本的原理について説明す
る。FFTのバタフライ演算においては、その基数をN
とすると、1回のバタフライ演算は、N個の入力データ
に対して行われ、そのバタフライ演算の結果得られるデ
ータもN個得られる。従って、最初の入力データを記憶
する入力バッファや、バタフライ演算の途中結果を記憶
するメモリ、あるいは、バタフライ演算の最終的な結果
を記憶する出力バッファ(以下、適宜、これらの入力バ
ッファ、メモリ、および出力バッファを総称して、記憶
部という)が1つでは、その記憶部からN回データを読
み出した後に、バタフライ演算を行い、また、そのバタ
フライ演算結果の記憶部への書き込みをN回行う必要が
あり、これにより、前述したように、FFT演算の高速
化が妨げられる。
Next, the basic principle of the present invention will be described. In the FFT butterfly operation, the radix is N
Then, one butterfly operation is performed on N pieces of input data, and N pieces of data obtained as a result of the butterfly operation are also obtained. Therefore, the input buffer that stores the first input data, the memory that stores the intermediate result of the butterfly operation, or the output buffer that stores the final result of the butterfly operation (hereinafter, these input buffers, memory, and If there is one output buffer (collectively referred to as a storage unit), it is necessary to perform butterfly calculation after reading data N times from the storage unit and to write the butterfly calculation result to the storage unit N times. Therefore, as described above, the speedup of the FFT calculation is hindered.

【0022】そこで、本発明では、基数Nのバタフライ
演算を行う場合に、N個の記憶部を用意し、このN個の
記憶部それぞれからデータを、同時に(並列に)読み出
してバタフライ演算を行い、また、その結果得られるN
個のバタフライ演算結果それぞれを、N個の記憶部に、
同時に(並列に)書き込むようにし、これにより、FF
T演算の高速化を図るようになされている。
Therefore, in the present invention, when performing a radix-N butterfly operation, N storage units are prepared, and data is read from each of the N storage units simultaneously (in parallel) to perform the butterfly operation. , And the resulting N
Each of the butterfly calculation results is stored in N storage units.
Write at the same time (in parallel) so that FF
It is designed to speed up the T calculation.

【0023】次に、以上のように、N個の記憶部に対す
るN個のデータの書き込みまたは読み出しを同時に行う
ための、N個の記憶部の配置方法について、図1を参照
して説明する。
Next, a method of arranging N storage units for simultaneously writing or reading N pieces of data in the N storage units as described above will be described with reference to FIG.

【0024】なお、図1は、時間間引き法(Coole
y−Tukey法)による8点のFFTを行う場合のシ
グナルフローを示している。また、同図において、I0
乃至I7,M0乃至M7、またはO0乃至O7は、入力
バッファ、メモリ、または出力バッファのアドレスを表
している。さらに、同図において、BTFは、基数が2
のバタフライ演算を表している。従って、記憶部は2個
設けられている。即ち、入力バッファとしては、入力バ
ッファIB0およびIB1が、メモリとしては、メモリ
MEM0およびMEM1が、出力バッファとしては、出
力バッファOB0およびOB1が、それぞれ設けられて
いる。
Incidentally, FIG. 1 shows the time thinning method (Cool
The signal flow in the case of performing 8-point FFT by the y-Tukey method) is shown. Also, in the figure, I0
Through I7, M0 through M7, or O0 through O7 represent addresses of the input buffer, the memory, or the output buffer. Further, in the figure, the BTF has a radix of 2
Represents the butterfly computation of. Therefore, two storage units are provided. That is, input buffers IB0 and IB1 are provided as input buffers, memories MEM0 and MEM1 are provided as memories, and output buffers OB0 and OB1 are provided as output buffers.

【0025】いま、FFTの対象となる8個の入力デー
タを、時系列に、i0乃至i7と、その入力データをF
FTすることにより得られる出力データ(最終的なバタ
フライ演算結果)を、低周波数成分から、o0乃至o7
と、それぞれ表すとともに、入力データi0乃至i7
は、アドレスI0乃至I7にそれぞれ入力され、出力デ
ータo0乃至o7は、アドレスO0乃至O7からそれぞ
れ出力されるとする。
Now, eight input data to be subjected to FFT are time-sequentially i0 to i7, and the input data are F
The output data (final butterfly calculation result) obtained by FT is output from low frequency components o0 to o7.
And input data i0 to i7
Are input to the addresses I0 to I7, respectively, and the output data o0 to o7 are output from the addresses O0 to O7, respectively.

【0026】そして、図1(A)に示すように、シグナ
ルフローの上下それぞれの部分に分けて、入力バッファ
IB0とIB1、メモリMEM0とMEM1、または出
力バッファOB0とOB1をそれぞれ設けたとする。
Then, as shown in FIG. 1A, it is assumed that input buffers IB0 and IB1, memories MEM0 and MEM1 or output buffers OB0 and OB1 are provided separately in the upper and lower parts of the signal flow.

【0027】この場合、入力データi0乃至i7は、入
力バッファIB0のアドレスI0乃至I3、または入力
バッファIB1のアドレスI4乃至I7にそれぞれ記憶
され、さらに、それぞれから読み出されることで、いわ
ゆるビット逆順に並び替えられた後、最初のバタフライ
演算が施される。この最初のバタフライ演算結果は、メ
モリMEM0およびMEM1に記憶され、さらに、そこ
から読み出されて、2度目のバタフライ演算が施され、
その演算結果は、再び、メモリMEM0およびMEM1
に記憶される。そして、この2度目のバタフライ演算結
果は、メモリMEM0およびMEM1から読み出され、
3度目のバタフライ演算が施された後、出力バッファO
B0およびOB1に記憶される。
In this case, the input data i0 to i7 are respectively stored in the addresses I0 to I3 of the input buffer IB0 or the addresses I4 to I7 of the input buffer IB1 and further read from each of them to be arranged in a so-called bit reverse order. After being replaced, the first butterfly operation is performed. The result of the first butterfly operation is stored in the memories MEM0 and MEM1 and further read from the memory MEM0 and MEM1 to perform the second butterfly operation,
The result of the calculation is again the memories MEM0 and MEM1.
Is stored. Then, this second butterfly operation result is read from the memories MEM0 and MEM1,
After the third butterfly operation, the output buffer O
Stored in B0 and OB1.

【0028】いま、図1(A)に示すように、入力バッ
ファIB0とIB1、メモリMEM0とMEM1、また
は出力バッファOB0とOB1をそれぞれ配置した場
合、最初のバタフライ演算の対象となる2つの入力デー
タは、アドレスI0とI4、I1とI5、I2とI6、
またはI3とI7にそれぞれ分けて記憶されるので、即
ち、入力バッファIB0と入力バッファIB1とに分け
て記憶されるので、同時に読み出し、バタフライ演算を
行うことができる。また、最後のバタフライ演算(3回
目のバタフライ演算)の結果得られる2つの出力データ
は、アドレスO0とO4、O1とO5、O2とO6、ま
たはO3とO7にそれぞれ分けて供給されるので、即
ち、出力バッファOB0とOB1とに分けて供給される
ので、同時に記憶する(書き込む)ことができる。
Now, as shown in FIG. 1A, when the input buffers IB0 and IB1, the memories MEM0 and MEM1 or the output buffers OB0 and OB1 are respectively arranged, the two input data to be subjected to the first butterfly operation are arranged. Are addresses I0 and I4, I1 and I5, I2 and I6,
Alternatively, since they are separately stored in I3 and I7, that is, because they are separately stored in the input buffer IB0 and the input buffer IB1, they can be read out at the same time and the butterfly operation can be performed. The two output data obtained as a result of the last butterfly operation (third butterfly operation) are separately supplied to the addresses O0 and O4, O1 and O5, O2 and O6, or O3 and O7. , The output buffers OB0 and OB1 are separately supplied, so that they can be stored (written) at the same time.

【0029】しかしながら、この場合、バタフライ演算
の対象となる2つのデータが、いずれも、メモリMEM
0またはMEM1のいずれか一方に記憶されるため、即
ち、例えば、2度目のバタフライ演算の対象となる2つ
のデータは、メモリMEM0のアドレスM0とM2、メ
モリMEM0のアドレスM1とM3、メモリMEM1の
アドレスM4とM6、またはメモリMEM1のアドレス
M5とM7にそれぞれ記憶されるため、バタフライ演算
を行うのに、これらの2つのデータを同時に読み出すこ
とができない。
However, in this case, the two data to be subjected to the butterfly operation are both stored in the memory MEM.
Since it is stored in either 0 or MEM1, that is, for example, two pieces of data to be subjected to the second butterfly operation are the addresses M0 and M2 of the memory MEM0, the addresses M1 and M3 of the memory MEM0, and the memory MEM1. These two data cannot be read at the same time for the butterfly operation because they are stored at the addresses M4 and M6 or the addresses M5 and M7 of the memory MEM1, respectively.

【0030】さらに、この場合、メモリMEM0および
MEM1においては、バタフライ演算の結果得られる2
つのデータそれぞれは、そのバタフライ演算を行うため
に読み出した2つのデータそれぞれが記憶されていた元
のアドレスに記憶される。即ち、例えば、アドレスM0
とM2とから読み出された2つのデータを用いての2度
目のバタフライ演算の結果得られる2つのデータは、元
のアドレスM0とM2とに記憶される。また、アドレス
M1とM3とから読み出された2つのデータを用いての
2度目のバタフライ演算の結果得られる2つのデータ
は、元のアドレスM1とM3とに記憶される。以下、同
様に、アドレスM4乃至M7から読み出されたデータ
も、2度目のバタフライ演算の後、元のアドレスM4乃
至M7に記憶される。
Further, in this case, in the memories MEM0 and MEM1, 2 obtained as a result of the butterfly operation.
Each of the two pieces of data is stored at the original address where the two pieces of data read out for performing the butterfly operation were stored. That is, for example, the address M0
The two data obtained as a result of the second butterfly operation using the two data read from M and M2 are stored in the original addresses M0 and M2. The two data obtained as a result of the second butterfly operation using the two data read from the addresses M1 and M3 are stored in the original addresses M1 and M3. Hereinafter, similarly, the data read from the addresses M4 to M7 are also stored in the original addresses M4 to M7 after the second butterfly operation.

【0031】従って、バタフライ演算の結果得られた2
つのデータの書き込みも同時に行うことができない。
Therefore, 2 obtained as a result of the butterfly operation
Data cannot be written at the same time.

【0032】そこで、例えば、図1(B)に示すよう
に、メモリMEM0に、アドレスM0,M3,M5、お
よびM6を配置するとともに、メモリMEM1に、アド
レスM1,M2,M4、およびM7を配置するようにす
る。
Therefore, for example, as shown in FIG. 1B, addresses M0, M3, M5, and M6 are arranged in the memory MEM0, and addresses M1, M2, M4, and M7 are arranged in the memory MEM1. To do so.

【0033】この場合、バタフライ演算の対象となる2
つのデータは、メモリMEM0とMEM1とに分けて記
憶され、即ち、例えば、2度目のバタフライ演算の対象
となる2つのデータは、メモリMEM0のアドレスM0
とメモリMEM1のアドレスM2、メモリMEM1のア
ドレスM1とメモリMEM0のアドレスM3、メモリM
EM1のアドレスM4とメモリMEM0のアドレスM
6、またはメモリMEM0のアドレスM5とメモリME
M1のM7にそれぞれ記憶され、バタフライ演算を行う
のに、これらの2つのデータを同時に読み出すことがで
きる。
In this case, the target of the butterfly operation is 2
One piece of data is stored separately in the memories MEM0 and MEM1, that is, for example, the two pieces of data to be subjected to the second butterfly operation are the addresses M0 of the memory MEM0.
And memory MMEM1 address M2, memory MEM1 address M1 and memory MEM0 address M3, memory M
Address M4 of EM1 and address M of memory MEM0
6, or the address M5 of the memory MEM0 and the memory ME
These two data can be read at the same time, which are respectively stored in M7 of M1 and used for the butterfly operation.

【0034】また、上述したように、メモリMEM0お
よびMEM1においては、バタフライ演算の結果得られ
る2つのデータそれぞれは、そのバタフライ演算を行う
ために読み出した2つのデータそれぞれが記憶されてい
たアドレス(元のアドレス)に記憶されるから、バタフ
ライ演算の結果得られた2つのデータの書き込みも同時
に行うことができる。
Further, as described above, in the memories MEM0 and MEM1, each of the two data obtained as a result of the butterfly operation is the address at which the two data read for performing the butterfly operation are stored. Address), the two data obtained as a result of the butterfly operation can be written at the same time.

【0035】従って、図1(B)で説明したようなアド
レス制御を行うだけで、従来と同一の手順により、ま
た、記憶部の容量も増加することなく、FFT演算の高
速化を図ることができる。
Therefore, only by performing the address control as described with reference to FIG. 1B, it is possible to speed up the FFT calculation by the same procedure as the conventional one and without increasing the capacity of the storage section. it can.

【0036】以下説明する実施例は、以上のような原理
に基づいている。
The embodiments described below are based on the above principle.

【0037】図2は、本発明を適用したFFT演算装置
の第1実施例の構成を示している。なお、図中、図10
における場合と対応する部分には、同一の符号を付して
あり、以下では、その説明は、適宜省略する。
FIG. 2 shows the configuration of the first embodiment of the FFT operation device to which the present invention is applied. In addition, in FIG.
The same reference numerals are given to the portions corresponding to the case in 1, and the description thereof will be omitted below as appropriate.

【0038】セレクタ10は、FFTの対象である入力
データを、セレクタ12−0または12−1のいずれか
一方に供給するようになされている。セレクタ11−0
または11−1は、メモリ15−0若しくは15−1の
出力のうちのいずれか一方を選択し、セレクタ12−0
または12−1にそれぞれ供給するようになされてい
る。なお、セレクタ11−0において、メモリ15−0
若しくは15−1の出力のうちのいずれか一方が選択さ
れた場合には、セレクタ11−1においては、そのうち
の他方が選択されるようになされている。
The selector 10 is adapted to supply the input data, which is the object of the FFT, to either the selector 12-0 or 12-1. Selector 11-0
Alternatively, 11-1 selects one of the outputs of the memory 15-0 or 15-1 and selects the selector 12-0.
Or 12-1 is supplied respectively. In the selector 11-0, the memory 15-0
Alternatively, when one of the outputs of 15-1 is selected, the other of them is selected in the selector 11-1.

【0039】セレクタ12−0は、セレクタ10または
11−0の出力のうちのいずれか一方を選択し、バタフ
ライ演算器4の端子in0に供給するようになされてい
る。セレクタ12−1は、セレクタ10または11−1
の出力のうちのいずれか一方を選択し、バタフライ演算
器4の端子in1に供給するようになされている。
The selector 12-0 selects one of the outputs of the selector 10 or 11-0 and supplies it to the terminal in0 of the butterfly computing unit 4. The selector 12-1 is the selector 10 or 11-1.
One of the outputs of the above is selected and supplied to the terminal in1 of the butterfly computing unit 4.

【0040】セレクタ13−0または13−1は、バタ
フライ演算器4の端子out0若しくはout1のうち
のいずれか一方より出力されるデータを選択し、セレク
タ14−0または14−1にそれぞれ供給するようにな
されている。なお、セレクタ13−0において、端子o
ut0若しくはout1の出力のうちのいずれか一方が
選択された場合には、セレクタ13−1においては、そ
のうちの他方が選択されるようになされている。これに
より、端子out0から出力されたデータを、後述する
メモリ15−0または15−1のうちのいずれにも記憶
させ、また、同様に、端子out1から出力されたデー
タも、メモリ15−0または15−1のうちのいずれに
も記憶させることができるようになされている。
The selector 13-0 or 13-1 selects the data output from one of the terminals out0 or out1 of the butterfly computing unit 4 and supplies it to the selector 14-0 or 14-1, respectively. Has been done. In the selector 13-0, the terminal o
When either one of the outputs ut0 and out1 is selected, the other of them is selected in the selector 13-1. As a result, the data output from the terminal out0 is stored in any of the memories 15-0 or 15-1 described later, and similarly, the data output from the terminal out1 is also stored in the memory 15-0 or the memory 15-0. It can be stored in any of 15-1.

【0041】セレクタ14−0または14−1は、セレ
クタ13−0または13−1の出力を、メモリ15ー0
または15−1にそれぞれ供給するか、あるいは、セレ
クタ16に供給するようになされている。メモリ15−
0または15−1は、セレクタ14−0または14−1
から供給されるデータをそれぞれ記憶し、また、記憶し
たデータを、セレクタ11−0および11−1の両方に
供給するようになされている。セレクタ16は、セレク
タ14−0または14−1の出力のうちのいずれか一方
を選択して出力するようになされている。
The selector 14-0 or 14-1 outputs the output of the selector 13-0 or 13-1 to the memory 15-0.
Alternatively, it is supplied to 15-1 respectively or to the selector 16. Memory 15-
0 or 15-1 is the selector 14-0 or 14-1
The data supplied from the respective devices are stored, and the stored data are supplied to both the selectors 11-0 and 11-1. The selector 16 selects one of the outputs of the selector 14-0 or 14-1 and outputs it.

【0042】次に、その動作について説明する。入力デ
ータは、セレクタ10において、セレクタ12−0また
は12−1のうちのいずれか一方に供給され、さらに、
このセレクタ12−0または12−1から、バタフライ
演算器4の端子in0またはin1にそれぞれ入力され
る。バタフライ演算器4は、端子in0とin1より入
力されたデータに対してバタフライ演算を施し、その結
果得られる2つのデータを端子out0またはout1
それぞれから、セレクタ13−0および13−1の両方
に出力する。
Next, the operation will be described. The input data is supplied to either one of the selectors 12-0 or 12-1 in the selector 10, and further,
From the selector 12-0 or 12-1, it is input to the terminal in0 or in1 of the butterfly computing unit 4, respectively. The butterfly computing unit 4 performs a butterfly computation on the data input from the terminals in0 and in1, and outputs two resulting data to the terminal out0 or out1.
From each, it outputs to both selectors 13-0 and 13-1.

【0043】セレクタ13−0または13−1では、次
のバタフライ演算で同時に必要となる2つのデータが、
メモリ15−0と15−1とに分けて記憶されるよう
に、バタフライ演算器4の端子out0およびout1
から供給された2つのデータのうちのいずれか一方が選
択され、セレクタ14−0または14−1を介して、メ
モリ15−0または15−1にそれぞれ供給される。メ
モリ15−0または15−1は、セレクタ14−0また
は14−1を介して供給されるデータを、同時に記憶す
る。従って、バタフライ演算器4の端子out0および
out1から出力された2つのデータは、特に待ち時間
をおかず、メモリ15−0と15−1に記憶される。
In the selector 13-0 or 13-1, two pieces of data required at the same time for the next butterfly operation are
The terminals out0 and out1 of the butterfly computing unit 4 are separately stored in the memories 15-0 and 15-1.
Any one of the two data supplied from is selected and supplied to the memory 15-0 or 15-1 via the selector 14-0 or 14-1. The memory 15-0 or 15-1 simultaneously stores the data supplied via the selector 14-0 or 14-1. Therefore, the two data output from the terminals out0 and out1 of the butterfly computing unit 4 are stored in the memories 15-0 and 15-1 without any waiting time.

【0044】メモリ15−0と15−1とに分けて記憶
された、次のバタフライ演算の対象となる2つのデータ
は、それぞれから、所定のタイミングで、同時に読み出
され、セレクタ11−0および11−1に供給される。
Two pieces of data, which are separately stored in the memories 15-0 and 15-1 and are to be subjected to the next butterfly operation, are simultaneously read from each of them at a predetermined timing, and the selectors 11-0 and 11-1 is supplied.

【0045】セレクタ11−0または11−1は、メモ
リ15−0若しくは15−1それぞれから読み出された
データのうち、バタフライ演算器4の端子in0または
in1に入力するべき方を選択し、セレクタ12−0ま
たは12−1にそれぞれ出力する。セレクタ12−0ま
たは12−1は、バタフライ演算の処理単位を構成する
全ての入力データが、セレクタ10から供給されるま
で、セレクタ10の出力を選択し、バタフライ演算器4
の端子in0またはin1にそれぞれ供給する。
The selector 11-0 or 11-1 selects one of the data read from the memory 15-0 or 15-1 to be input to the terminal in0 or in1 of the butterfly computing unit 4, and the selector Output to 12-0 or 12-1 respectively. The selector 12-0 or 12-1 selects the output of the selector 10 until all the input data forming the processing unit of the butterfly operation is supplied from the selector 10, and the butterfly operation unit 4
Are supplied to the terminals in0 and in1 respectively.

【0046】そして、セレクタ12−0または12−1
は、バタフライ演算を施すべき全ての入力データがセレ
クタ10から供給された後は、セレクタ11−0または
11−1より供給されるデータを選択し、バタフライ演
算器4の端子in0またはin1にそれぞれ供給する。
従って、この場合、メモリ15−0または15−1それ
ぞれから同時に読み出されたデータは、バタフライ演算
器4に同時に供給され、その結果、バタフライ演算器4
では、即座にバタフライ演算を行うことができる。
Then, the selector 12-0 or 12-1
After all the input data to be subjected to the butterfly operation are supplied from the selector 10, the data supplied from the selector 11-0 or 11-1 is selected and supplied to the terminal in0 or in1 of the butterfly operation unit 4, respectively. To do.
Therefore, in this case, the data read simultaneously from the memories 15-0 or 15-1 are simultaneously supplied to the butterfly computing unit 4, and as a result, the butterfly computing unit 4
Then, the butterfly operation can be performed immediately.

【0047】このようにして、バタフライ演算器4によ
り、バタフライ演算結果に対して再びバタフライ演算を
施す処理が所定の回数だけ繰り返し実行される。
In this way, the butterfly computing unit 4 repeatedly executes the butterfly computation on the butterfly computation result a predetermined number of times.

【0048】そして、バタフライ演算処理が、その所定
の回数だけ行われると、即ち、最終的なバタフライ演算
結果が得られると、それ以降は、セレクタ14−0また
は14−1において、セレクタ13−0または13−1
それぞれから供給されるデータ(最終的なバタフライ演
算結果)が、セレクタ16に供給される。セレクタ16
では、セレクタ14−0および14−1の出力、即ち、
バタフライ演算器4の端子out0またはout1それ
ぞれから同時に出力される2つのデータが、パラレル/
シリアル変換されて出力される。
When the butterfly operation processing is performed a predetermined number of times, that is, when the final butterfly operation result is obtained, thereafter, the selector 13-0 or the selector 13-0 in the selector 14-0. Or 13-1
The data (final butterfly operation result) supplied from each is supplied to the selector 16. Selector 16
Then, the outputs of the selectors 14-0 and 14-1, that is,
Two data output simultaneously from the terminals out0 or out1 of the butterfly computing unit 4 are
Serial converted and output.

【0049】以上のようにしてFFT演算を行うFFT
演算装置では、セレクタ13−0,13−1,14−
0、および14−1は、バタフライ演算器4のクロック
と同一クロックで動作し、これにより、メモリ15−0
および15−1には、そのようなクロックのタイミング
で、バタフライ演算器4によるバタフライ演算結果が供
給される。
FFT for performing FFT operation as described above
In the arithmetic unit, the selectors 13-0, 13-1, 14-
0 and 14-1 operate at the same clock as the clock of the butterfly computing unit 4, whereby the memory 15-0
And 15-1 are supplied with the butterfly operation result by the butterfly operation unit 4 at such clock timing.

【0050】即ち、図3のタイミングチャートに示すよ
うに、バタフライ演算器4の端子out0とout1よ
り、それぞれデータ0とデータ1が出力されていると
き、セレクタ13−0または13−1は、バタフライ演
算器4のクロックと同一のクロックで、そのうちのいず
れか一方または他方を、それぞれ同時に選択する。
That is, as shown in the timing chart of FIG. 3, when data 0 and data 1 are output from the terminals out0 and out1 of the butterfly computing unit 4, respectively, the selector 13-0 or 13-1 operates as a butterfly. With the same clock as the clock of the arithmetic unit 4, one or the other of them is simultaneously selected.

【0051】なお、図3の実施例では、セレクタ13−
0において、端子out0から出力されるデータ0と2
が選択され、セレクタ13−1において、端子out1
から出力されるデータ1と3が選択されるようになされ
ているが、同図に付してあるデータの番号は、説明の便
宜上、データを特定するために付してあるもので、バタ
フライ演算器4の出力が、セレクタ13−0および13
−1において、実際に、どのように選択されるかを表し
たものではない。
In the embodiment shown in FIG. 3, the selector 13-
0, the data 0 and 2 output from the terminal out0
Is selected, and the terminal out1 is selected in the selector 13-1.
Although the data 1 and 3 output from are selected, the data numbers attached to the drawing are attached to identify the data for convenience of explanation. The output of the container 4 is the selectors 13-0 and 13
In -1, it does not represent how it is actually selected.

【0052】セレクタ13−0または13−1で選択さ
れたデータは、セレクタ14−0または14−1を介し
て、メモリ15−0または15−1にそれぞれ同時に供
給される。メモリ15−0または15−1は、バタフラ
イ演算器4のクロックの1/2の周期のクロックで、セ
レクタ13−0または13−1それぞれからのデータを
同時に記憶し、また、既に記憶しているデータを、同時
に読み出して、セレクタ11−0および11−1に供給
する。
The data selected by the selector 13-0 or 13-1 is simultaneously supplied to the memory 15-0 or 15-1 via the selector 14-0 or 14-1, respectively. The memory 15-0 or 15-1 stores the data from each of the selectors 13-0 or 13-1 at the same time with a clock having a half cycle of the clock of the butterfly computing unit 4, or has already stored it. The data is read simultaneously and supplied to the selectors 11-0 and 11-1.

【0053】即ち、メモリ15−0または15−1は、
セレクタ13−0または13−1それぞれから、データ
0または1が出力されているとき、バタフライ演算器4
のクロックの周期の前半において、そのデータ0または
1それぞれを同時に記憶し、後半において、次のバタフ
ライ演算に必要となるデータを同時に読み出して、セレ
クタ11−0および11−1に供給する。同様に、セレ
クタ13−0または13−1それぞれから、データ2ま
たは3が出力されているとき、前半において、そのデー
タ2または3それぞれが同時に記憶され、その後半にお
いて、次にバタフライ演算に必要となるデータが同時に
読み出される。
That is, the memory 15-0 or 15-1 is
When data 0 or 1 is output from the selector 13-0 or 13-1, respectively, the butterfly computing unit 4
In the first half of the clock cycle, the data 0 or 1 is stored simultaneously, and in the second half, the data required for the next butterfly operation are read out simultaneously and supplied to the selectors 11-0 and 11-1. Similarly, when the data 2 or 3 is output from the selector 13-0 or 13-1, respectively, the data 2 or 3 is simultaneously stored in the first half, and is required for the butterfly operation next in the latter half. Data is read at the same time.

【0054】このように、この実施例においては、メモ
リ15−0および15−1に対してのデータの書き込み
と読み出しを同時に行うようにしたので、図3のタイミ
ングチャートから明らかなように、メモリ15−0およ
び15−1の動作クロックを1とすると、バタフライ演
算器4の動作クロックは、その1/2の周波数のクロッ
クで動作することができる。従って、単純には、図10
に示した場合より、2倍の高速化が可能となる。
As described above, in this embodiment, since the writing and reading of data with respect to the memories 15-0 and 15-1 are simultaneously performed, as is apparent from the timing chart of FIG. When the operating clocks of 15-0 and 15-1 are set to 1, the operating clock of the butterfly computing unit 4 can operate with a clock having a frequency of 1/2 thereof. Therefore, simply in FIG.
The speed can be doubled compared to the case shown in FIG.

【0055】なお、図2の実施例においては、図10に
おける入力バッファ1と出力バッファ9を省略した構成
とされているが、このような入力バッファ1と出力バッ
ファ9を利用するようにしても良い。
Although the input buffer 1 and the output buffer 9 shown in FIG. 10 are omitted in the embodiment shown in FIG. 2, the input buffer 1 and the output buffer 9 may be used. good.

【0056】図4は、本発明を適用したFFT演算装置
の第2実施例の構成を示している。なお、図中、図2ま
たは図10における場合と対応する部分については、同
一の符号を付してあり、以下では、その説明は、適宜省
略する。
FIG. 4 shows the configuration of the second embodiment of the FFT operation device to which the present invention is applied. It should be noted that in the figure, portions corresponding to those in FIG. 2 or FIG. 10 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate.

【0057】セレクタ21は、FFTの対象である入力
データを、入力バッファ22−0または22−1のいず
れか一方に供給するようになされている。入力バッファ
22−0または22−1は、セレクタ21から供給され
る入力データを記憶し、また、既に記憶している入力デ
ータを同時に読み出し、セレクタ12−0または12−
1にそれぞれ供給するようになされている。
The selector 21 is adapted to supply the input data, which is the object of the FFT, to either the input buffer 22-0 or 22-1. The input buffer 22-0 or 22-1 stores the input data supplied from the selector 21 and simultaneously reads the already stored input data to select the selector 12-0 or 12-.
1 is supplied to each.

【0058】なお、この実施例では、セレクタ12−0
および12−1には、入力データの他、メモリ8から読
み出されたデータも供給されるようになされており、セ
レクタ12−0または12−1では、入力バッファ22
−0または22−1からそれぞれ読み出された入力デー
タか、若しくはメモリ8から供給されるデータのうちの
いずれか一方が選択され、バタフライ演算器4に供給さ
れるようになされている。
In this embodiment, the selector 12-0
In addition to the input data, the data read from the memory 8 is also supplied to the input buffers 12 and 12-1. In the selector 12-0 or 12-1, the input buffer 22
Either the input data read out from −0 or 22-1 or the data supplied from the memory 8 is selected and supplied to the butterfly computing unit 4.

【0059】この実施例においては、入力データがセレ
クタ21において選択されることにより、最初のバタフ
ライ演算の対象となる2つの入力データが、入力バッフ
ァ22−0と22−1とに分けて供給される。従って、
この場合、バタフライ演算の対象となる2つの入力デー
タが、入力バッファ22−0と22−1とに分けて記憶
される。
In this embodiment, the input data is selected by the selector 21, so that the two input data to be subjected to the first butterfly operation are separately supplied to the input buffers 22-0 and 22-1. It Therefore,
In this case, two pieces of input data to be subjected to the butterfly operation are separately stored in the input buffers 22-0 and 22-1.

【0060】このように、入力バッファ22−0と22
−1とに分けて記憶された、バタフライ演算の対象とな
る2つの入力データは、それぞれから同時に読み出さ
れ、セレクタ12−0または12−1を介して、バタフ
ライ演算器4の端子in0またはin1にそれぞれ供給
される。
As described above, the input buffers 22-0 and 22
The two input data to be subjected to the butterfly operation, which are stored separately as −1 and −1, are simultaneously read out from the respective input data, and are input through the selector 12-0 or 12-1 to the terminal in0 or in1 of the butterfly operation unit 4. Is supplied to each.

【0061】従って、この場合、バタフライ演算の対象
となる2つの入力データが揃うのに必要な待ち時間がな
い。即ち、図10に示す場合においては、バタフライ演
算器4において、セレクタ2および3を介して、入力バ
ッファ1から、バタフライ演算の対象となる2つの入力
データのうちのいずれか一方が供給された後、さらに、
セレクタ2および3を介して、入力バッファ1から、他
方の入力データが供給されるのを待って、バタフライ演
算を行う必要があるが、この実施例においては、2つの
入力データが、入力バッファ22−0と22−1から同
時に読み出されるので、そのような待ち時間をおく必要
がない。その結果、処理の高速化を図ることができる。
Therefore, in this case, there is no waiting time required for aligning the two input data to be subjected to the butterfly operation. That is, in the case shown in FIG. 10, in the butterfly computing unit 4, after either one of the two input data to be subjected to the butterfly computing is supplied from the input buffer 1 via the selectors 2 and 3. ,further,
Although it is necessary to wait for the other input data to be supplied from the input buffer 1 via the selectors 2 and 3 to perform the butterfly operation, in this embodiment, the two input data are input to the input buffer 22. Since it is simultaneously read from −0 and 22-1, it is not necessary to wait for such a waiting time. As a result, the processing speed can be increased.

【0062】図5は、本発明を適用したFFT演算装置
の第3実施例の構成を示している。なお、図中、図2ま
たは図10における場合と対応する部分については、同
一の符号を付してあり、以下では、その説明は、適宜省
略する。
FIG. 5 shows the configuration of the third embodiment of the FFT operation device to which the present invention is applied. It should be noted that in the figure, portions corresponding to those in FIG. 2 or FIG. 10 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate.

【0063】この実施例においては、セレクタ14−0
および14−1の2つの出力のうちの一方(図2におい
て、メモリ15−0,15−1に供給されていた出力の
方)が、いずれも、セレクタ31に供給されるようにな
されており、セレクタ31は、そのセレクタ14−0ま
たは14−1の出力それぞれを、バタフライ演算器4の
クロックの1/2の周期のクロックのタイミングで選択
し、メモリ8に供給して記憶させるようになされてい
る。
In this embodiment, the selector 14-0
One of the two outputs 14 and 14-1 (the output that has been supplied to the memories 15-0 and 15-1 in FIG. 2) is supplied to the selector 31. , The selector 31 selects the output of each of the selectors 14-0 or 14-1 at the timing of a clock having a half cycle of the clock of the butterfly computing unit 4, and supplies it to the memory 8 for storage. ing.

【0064】また、セレクタ14−0および14−1の
2つの出力のうちの他方(図2において、セレクタ16
に供給されていた出力の方)は、それぞれ、出力バッフ
ァ32−0または32−1に供給されるようになされて
おり、出力バッファ32−0または32−1は、このセ
レクタ14−0または14−1の出力を、それぞれ同時
に記憶するようになされている。さらに、出力バッファ
32−0および32−1は、記憶したデータ(バタフラ
イ演算の最終的な結果)を読み出し、セレクタ33に供
給するようにもなされている。セレクタ33は、図2の
セレクタ16と同様に、出力バッファ32−0および3
2−1の出力を、パラレル/シリアル変換して出力する
ようになされている。
The other of the two outputs of the selectors 14-0 and 14-1 (the selector 16 in FIG. 2).
Output supplied to the output buffer 32-0 or 32-1 is supplied to the output buffer 32-0 or 32-1. The outputs of -1 are stored simultaneously. Further, the output buffers 32-0 and 32-1 are configured to read the stored data (final result of the butterfly operation) and supply it to the selector 33. The selector 33 is similar to the selector 16 in FIG.
The output 2-1 is parallel / serial converted and output.

【0065】この実施例においては、最終的なバタフラ
イ演算結果が得られるまでは、バタフライ演算器4の出
力が、セレクタ13−0および13−1、並びにセレク
タ14−0および14−1を介して、セレクタ31に供
給され、さらに、セレクタ31からメモリ8に供給され
て記憶される。そして、このメモリ8に記憶されたデー
タが、セレクタ2および3を介して、バタフライ演算器
4に入力され、そのデータを対象にバタフライ演算を行
う処理が繰り返される。
In this embodiment, the output of the butterfly computing unit 4 is passed through the selectors 13-0 and 13-1 and the selectors 14-0 and 14-1 until the final butterfly computing result is obtained. , Is supplied to the selector 31, and further supplied from the selector 31 to the memory 8 and stored therein. Then, the data stored in the memory 8 is input to the butterfly computing unit 4 via the selectors 2 and 3, and the process of performing the butterfly computation on the data is repeated.

【0066】そして、バタフライ演算器4において、最
終的なバタフライ演算結果としての2つのデータが得ら
れると、それぞれは、セレクタ13−0,13−1,1
4−0,14−1を適宜介して、出力バッファ32−0
または32−1に、同時に供給されて記憶される。出力
バッファ32−0または32−1に記憶されたデータ
は、例えば同時に読み出され、セレクタ33において、
パラレル/シリアル変換されて出力される。
Then, when the butterfly computing unit 4 obtains two pieces of data as the final butterfly computing result, the selectors 13-0, 13-1, and 1 respectively.
Output buffer 32-0 via 4-0 and 14-1 as appropriate
Alternatively, it is simultaneously supplied and stored in 32-1. The data stored in the output buffer 32-0 or 32-1 is read simultaneously, for example, and the selector 33
It is parallel / serial converted and output.

【0067】従って、この場合、バタフライ演算の最終
的な結果として得られる2つのデータを、バタフライ演
算器4は、待ち時間をおかずに出力することができる。
即ち、図10に示す場合においては、バタフライ演算器
4から、セレクタ6および7を介して出力される2つの
データは、シリアルデータであるから、先に出力された
データが出力バッファ9に供給されて記憶されるのを待
って、後に出力されたデータを出力バッファ9に供給し
て記憶させる必要があるが、この実施例においては、2
つの入力データが、出力バッファ32−0と32−1と
に同時に書き込まれるので、そのような待ち時間をおく
必要がない。その結果、処理の高速化を図ることができ
る(換言すれば、出力バッファ32−0および32−1
のクロックは、図10の出力バッファ9のクロックの1
/2の周波数のクロックで良い)。
Therefore, in this case, the butterfly calculator 4 can output the two data obtained as the final result of the butterfly calculation without waiting time.
That is, in the case shown in FIG. 10, since the two data output from the butterfly computing unit 4 via the selectors 6 and 7 are serial data, the previously output data is supplied to the output buffer 9. It is necessary to wait for the data to be stored in the output buffer 9 and store the data output later in the output buffer 9 in the present embodiment.
Since one input data is written to the output buffers 32-0 and 32-1 at the same time, it is not necessary to wait for such a waiting time. As a result, the processing speed can be increased (in other words, the output buffers 32-0 and 32-1).
Is the clock of the output buffer 9 of FIG.
A clock with a frequency of / 2 is fine).

【0068】図6は、本発明を適用したFFT演算装置
の第4実施例の構成を示している。なお、図中、図2、
図4、または図5における場合と対応する部分について
は、同一の符号を付してある。即ち、この実施例は、図
2、図4および図5の実施例を結合した構成とされてい
る。従って、このFFT演算装置は、これらの実施例の
全ての効果を合わせ持っており、最も高速にバタフライ
演算を行うことができる。
FIG. 6 shows the configuration of a fourth embodiment of the FFT operation device to which the present invention is applied. In addition, in FIG.
The parts corresponding to those in FIG. 4 or FIG. 5 are designated by the same reference numerals. That is, this embodiment has a configuration in which the embodiments of FIGS. 2, 4 and 5 are combined. Therefore, this FFT operation device has all the effects of these embodiments and can perform the butterfly operation at the highest speed.

【0069】次に、図7は、本発明を適用したFFT演
算装置の第5実施例の構成を示している。この実施例
は、図6の第4実施例と、その基本的構成は同一であ
り、基底が4のバタフライ演算が行われる点だけが異な
っている。
Next, FIG. 7 shows the configuration of a fifth embodiment of the FFT operation device to which the present invention is applied. This embodiment has the same basic configuration as that of the fourth embodiment of FIG. 6 and is different only in that a butterfly operation whose base is 4 is performed.

【0070】即ち、図7のセレクタ51は、図6のセレ
クタ21に対応し、図7の入力バッファ52−0乃至5
2−3は、図6の入力バッファ22−0および22−1
に対応している。また、図7のセレクタ53−0乃至5
3−3は、図6のセレクタ12−0および12−1に対
応し、図7のバタフライ演算器54は、図6のバタフラ
イ演算器4に対応している。さらに、図7のROM45
は、図6のROM5に対応し、図6のセレクタ56−0
乃至56−3は、図7のセレクタ13−0および13−
1に対応している。また、図7のセレクタ57−0乃至
57−3は、図6のセレクタ14−0および14−1に
対応し、図7のメモリ58−0乃至58−3は、図6の
メモリ15−0および15−1に対応している。さら
に、図7の出力バッファ59−0乃至59−3は、図6
の出力バッファ32−0および32−1に対応し、図7
のセレクタ60−0乃至60−3は、図6のセレクタ1
1−0および11−1に対応している。そして、図7の
セレクタ61は、図6のセレクタ33に対応している。
That is, the selector 51 of FIG. 7 corresponds to the selector 21 of FIG. 6, and corresponds to the input buffers 52-0 to 52-5 of FIG.
2-3 are input buffers 22-0 and 22-1 of FIG.
It corresponds to. In addition, the selectors 53-0 to 53 of FIG.
Reference numeral 3-3 corresponds to the selectors 12-0 and 12-1 in FIG. 6, and the butterfly computing unit 54 in FIG. 7 corresponds to the butterfly computing unit 4 in FIG. Furthermore, the ROM 45 of FIG.
Corresponds to the ROM 5 of FIG. 6 and corresponds to the selector 56-0 of FIG.
To 56-3 are selectors 13-0 and 13- of FIG.
Corresponds to 1. Further, the selectors 57-0 to 57-3 of FIG. 7 correspond to the selectors 14-0 and 14-1 of FIG. 6, and the memories 58-0 to 58-3 of FIG. 7 are the memories 15-0 of FIG. And 15-1. Further, the output buffers 59-0 to 59-3 shown in FIG.
7 corresponding to the output buffers 32-0 and 32-1 of FIG.
The selectors 60-0 to 60-3 of FIG.
Corresponding to 1-0 and 11-1. The selector 61 of FIG. 7 corresponds to the selector 33 of FIG.

【0071】以上のように構成されるFFT演算装置で
は、セレクタ51は、最初のバタフライ演算の対象とな
る4つ単位の入力データを、入力バッファ52−0乃至
52−3それぞれに分けて供給し、入力バッファ52−
0乃至52−3それぞれでは、セレクタ51からの入力
データが記憶される。そして、入力バッファ52−0乃
至52−3では、記憶した入力データ、即ち、最初のバ
タフライ演算の対象となる4つの入力データが同時に読
み出され、セレクタ53−0乃至53−3を介して、バ
タフライ演算器54の端子in0乃至in3にそれぞれ
同時に供給される。従って、バタフライ演算器54で
は、待ち時間をおかずに、バタフライ演算を開始するこ
とができる。
In the FFT operation device configured as described above, the selector 51 supplies input data in units of four, which is the target of the first butterfly operation, to the input buffers 52-0 to 52-3 separately. , Input buffer 52-
Input data from the selector 51 is stored in each of 0 to 52-3. Then, in the input buffers 52-0 to 52-3, the stored input data, that is, the four input data that are the targets of the first butterfly operation are read out at the same time, and are read via the selectors 53-0 to 53-3. The signals are supplied to the terminals in0 to in3 of the butterfly computing unit 54 at the same time. Therefore, the butterfly computing unit 54 can start the butterfly computing without waiting time.

【0072】バタフライ演算器54は、ROM55に記
憶されている回転演算子データ(回転因子)を用い、端
子in0乃至in3に入力されたデータに対し、基底が
4のバタフライ演算を施し、その結果得られる4つのデ
ータ(バタフライ演算結果)を、それぞれ、端子out
0乃至out3から出力する。この端子out0乃至o
ut3から出力されたデータは、すべて、セレクタ56
−0乃至56−3に供給される。
The butterfly computing unit 54 uses the rotation operator data (twiddle factor) stored in the ROM 55 to perform a butterfly computation with a base of 4 on the data input to the terminals in0 to in3, and obtains the result. 4 data (butterfly calculation results) are output to the terminal out
Output from 0 to out3. This terminal out0 to o
All the data output from ut3 is the selector 56
-0 to 56-3.

【0073】セレクタ56−0乃至56−3では、次の
バタフライ演算で同時に必要となる4つのデータが、メ
モリ58−0乃至58−3それぞれに分けて記憶される
ように、バタフライ演算器54の端子out0乃至ou
t3から供給される4つのデータのうちのいずれかが選
択され、セレクタ57−0乃至57−3を介して、メモ
リ58−0乃至58−3にそれぞれ供給される。メモリ
58−0乃至58−3は、セレクタ57−0乃至57−
3を介して供給されるデータを、それぞれ同時に記憶す
る。従って、バタフライ演算器54の端子out0乃至
out3から出力された4つのデータは、待ち時間をお
かずに、メモリ58−0乃至58−3にそれぞれ記憶さ
れる。
In the selectors 56-0 to 56-3, the butterfly calculator 54 of the butterfly calculator 54 is arranged so that the four pieces of data required simultaneously for the next butterfly calculation are separately stored in the memories 58-0 to 58-3, respectively. Terminals out0 to ou
Any one of the four data supplied from t3 is selected and supplied to the memories 58-0 to 58-3 via the selectors 57-0 to 57-3, respectively. The memories 58-0 to 58-3 are selectors 57-0 to 57-.
The data supplied via 3 are stored simultaneously. Therefore, the four data output from the terminals out0 to out3 of the butterfly computing unit 54 are respectively stored in the memories 58-0 to 58-3 without waiting time.

【0074】以上のようにしてメモリ58−0乃至58
−3それぞれに分けて記憶された、次のバタフライ演算
の対象となる4つのデータは、それぞれから、所定のタ
イミングで、同時に読み出され、すべて、セレクタ60
−0乃至60−3に供給される。
As described above, the memories 58-0 to 58
-4, each of the four pieces of data, which are separately stored and are to be subjected to the next butterfly operation, are simultaneously read out from each of them at a predetermined timing, and all of them are selected by the selector 60.
0 to 60-3.

【0075】セレクタ60−0乃至60−3は、メモリ
58−0乃至58−3それぞれから読み出されたデータ
のうち、バタフライ演算器54の端子in0乃至in3
それぞれに入力するべきものを選択し、セレクタ53−
0乃至53−3にそれぞれ出力する。セレクタ53−0
乃至53−3は、バタフライ演算の処理単位を構成する
全ての入力データが、入力バッファ52−0乃至52−
3から供給されるまで、その入力バッファ52−0乃至
52−3の出力を選択し、バタフライ演算器54の端子
in0乃至in3にそれぞれ供給する。
The selectors 60-0 to 60-3 among the data read from the memories 58-0 to 58-3, respectively, have terminals in0 to in3 of the butterfly computing unit 54.
Select what should be input to each and select 53-
0 to 53-3 respectively. Selector 53-0
To 53-3 are input buffers 52-0 to 52- in which all the input data constituting the processing unit of the butterfly operation are input.
The output of the input buffers 52-0 to 52-3 is selected and supplied to the terminals in0 to in3 of the butterfly computing unit 54, respectively.

【0076】そして、セレクタ53−0乃至53−3
は、バタフライ演算を施すべき全ての入力データが入力
バッファ52−0乃至52−3から供給された後は、セ
レクタ60−0乃至60−3より供給されるデータを選
択し、バタフライ演算器54の端子in0乃至in3に
それぞれ供給する。従って、この場合、メモリ58−0
乃至58−3それぞれから同時に読み出されたデータ
は、バタフライ演算器54に同時に供給され、その結
果、バタフライ演算器54では、即座にバタフライ演算
を行うことができる。
Then, the selectors 53-0 to 53-3
After all the input data to be subjected to the butterfly operation are supplied from the input buffers 52-0 to 52-3, the data supplied from the selectors 60-0 to 60-3 is selected, and the butterfly operation unit 54 It is supplied to the terminals in0 to in3, respectively. Therefore, in this case, the memory 58-0
The data read simultaneously from each of the to 58-3 are simultaneously supplied to the butterfly computing unit 54, and as a result, the butterfly computing unit 54 can immediately perform the butterfly computation.

【0077】このようにして、バタフライ演算器54に
より、バタフライ演算結果に対して再びバタフライ演算
を施す処理が所定の回数だけ繰り返し実行される。
In this way, the butterfly computing unit 54 repeatedly executes the butterfly computation on the butterfly computation result a predetermined number of times.

【0078】そして、バタフライ演算処理が、その所定
の回数だけ行われると、即ち、最終的なバタフライ演算
結果が得られると、それ以降は、セレクタ57−0乃至
57−3において、セレクタ56−0乃至56−3それ
ぞれから供給されるデータが、出力バッファ59−0乃
至59−3にそれぞれ同時に供給されて記憶される。従
って、この場合、バタフライ演算器54は、バタフライ
演算の最終的な結果として得られる4つのデータを、待
ち時間をおかずに出力することができる。
When the butterfly operation processing is performed a predetermined number of times, that is, when the final butterfly operation result is obtained, the selectors 56-0 to 57-3 thereafter select the selector 56-0. The data supplied from the output buffers 59 to 56-3 are simultaneously supplied to the output buffers 59-0 to 59-3 and stored therein. Therefore, in this case, the butterfly computing unit 54 can output the four data obtained as the final result of the butterfly computing without waiting time.

【0079】出力バッファ59−0乃至59−3に記憶
されたデータは、例えば同時に読み出され、セレクタ6
1において、パラレル/シリアル変換されて出力され
る。
The data stored in the output buffers 59-0 to 59-3 are read out simultaneously, for example, and the selector 6
In 1, parallel / serial conversion is performed and output.

【0080】以上のように、基底が4のバタフライ演算
によりFFT演算を行う場合においても、処理の高速化
を図ることができる。
As described above, even when the FFT operation is performed by the butterfly operation whose base is 4, the processing speed can be increased.

【0081】次に、図8は、本発明を適用したFFT演
算装置の第6実施例の構成を示している。なお、図中、
図6における場合と対応する部分については、同一の符
号を付してある。即ち、このFFT演算装置は、入力バ
ッファ22−0,22−1、メモリ15−0,15−
1、出力バッファ32−0、または32−1に代えて、
入力バッファ部71−0,71−1、メモリ部72−
0,72−1、出力バッファ部73−0、または73−
1がそれぞれ設けられている他は、図6のFFT演算装
置と同様に構成されている。
Next, FIG. 8 shows the configuration of a sixth embodiment of the FFT operation device to which the present invention is applied. In the figure,
The parts corresponding to those in FIG. 6 are designated by the same reference numerals. That is, this FFT operation device is composed of the input buffers 22-0 and 22-1, the memories 15-0 and 15-.
1, instead of the output buffer 32-0 or 32-1
Input buffer units 71-0 and 71-1, memory unit 72-
0, 72-1, output buffer unit 73-0, or 73-
1 is respectively provided, and the FFT operation device of FIG. 6 has the same configuration.

【0082】入力バッファ部71−0は、セレクタ71
−0−1、入力バッファ71−0−2,71−0−3、
およびセレクタ71−0−4で構成されている。セレク
タ71−0−1は、入力バッファ部71−0に入力され
たデータを、交互に、入力バッファ71−0−2と71
−0−3とに供給するようになされている。
The input buffer section 71-0 includes a selector 71.
-0-1, input buffers 71-0-2, 71-0-3,
And a selector 71-0-4. The selector 71-0-1 alternates the data input to the input buffer unit 71-0 with the input buffers 71-0-2 and 71-0-2.
-0-3.

【0083】入力バッファ71−0−2と71−0−3
とは、セレクタ71−0−1から供給されるデータを記
憶し、また、記憶したデータを読み出し、セレクタ71
−0−4に供給するようになされている。
Input buffers 71-0-2 and 71-0-3
Means that the data supplied from the selector 71-0-1 is stored, the stored data is read out, and
It is designed to supply to 0-4.

【0084】セレクタ71−0−4は、入力バッファ7
1−0−2と71−0−3とから供給されるデータを交
互に選択して出力するようになされている。
The selector 71-0-4 is connected to the input buffer 7
The data supplied from 1-0-2 and 71-0-3 are alternately selected and output.

【0085】なお、セレクタ71−0−4は、入力バッ
ファ71−0−2または71−0−3のうちの、セレク
タ71−0−1からデータが供給されていない方を選択
するようになされている。従って、入力バッファ部71
−0においては、入力バッファ71−0−2または71
−0−3のうちのいずれか一方にデータの書き込みが行
われているとき、他方からは、データの読み出しが行わ
れるようになされている。
The selector 71-0-4 is adapted to select one of the input buffers 71-0-2 or 71-0-3 which is not supplied with data from the selector 71-0-1. ing. Therefore, the input buffer unit 71
At −0, the input buffer 71-0-2 or 71
When data is being written to any one of −0-3, data is read from the other.

【0086】入力バッファ部71−1、メモリ部72−
0,72−1、出力バッファ部73−0、または73−
1も、入力バッファ部71−0のセレクタ71−0−
1、入力バッファ71−0−2,71−0−3、および
セレクタ71−0−4と対応するセレクタ71−1−
1、入力バッファ71−1−2,71−1−3、および
セレクタ71−1−4、セレクタ72−0−1、メモリ
72−0−2,72−0−3、およびセレクタ72−0
−4、セレクタ72−1−1、メモリ72−1−2,7
2−1−3、およびセレクタ72−1−4、セレクタ7
3−0−1、出力バッファ73−0−2,73−0−
3、およびセレクタ73−0−4、またはセレクタ73
−1−1、出力バッファ73−1−2,73−1−3、
およびセレクタ73−1−4からそれぞれ構成されてい
る。
Input buffer section 71-1 and memory section 72-
0, 72-1, output buffer unit 73-0, or 73-
1 is also the selector 71-0- of the input buffer unit 71-0.
1, input buffers 71-0-2, 71-0-3, and selector 71-0-4 corresponding to selector 71-0-4.
1, input buffers 71-1-2 and 71-1-3, selector 71-1-4, selector 72-0-1, memories 72-0-2 and 72-0-3, and selector 72-0.
-4, selector 72-1-1, memories 72-1-2, 7
2-1-3, selector 72-1-4, selector 7
3-0-1, output buffers 73-0-2, 73-0-
3 and selector 73-0-4 or selector 73
-1-1, output buffers 73-1-2, 73-1-3,
And selector 73-1-4.

【0087】以上のように構成されるFFT演算装置に
おいては、入力バッファ71−0−2または71−0−
3のうちのいずれか一方にデータの書き込みが行われて
いるとき、他方からは、データの読み出しが行われるの
で、入力バッファ部71−0に対しては、データの書き
込みと読み出しとを同時に行うことができる。このこと
は、入力バッファ部71−0と同様に構成される入力バ
ッファ部71−1、メモリ部72−0,72−1、出力
バッファ部73−0、および73−1についても同様で
あり、従って、この場合、データの読み出しと書き込み
とが別に行われる図6の場合と比較して、さらに処理の
高速化を図ることができる(換言すれば、入力バッファ
部71−0,71−1、メモリ部72−0,72−1、
出力バッファ部73−0、または73−1のクロック
は、入力バッファ22−0,22−1、メモリ15−
0,15−1、出力バッファ32−0、または32−1
それぞれのクロックの1/2の周波数のクロックで良
い)。
In the FFT operation device configured as described above, the input buffer 71-0-2 or 71-0-
When data is being written to any one of the three, data is read from the other, so that data writing and reading are simultaneously performed with respect to the input buffer unit 71-0. be able to. The same applies to the input buffer unit 71-1, the memory units 72-0 and 72-1 and the output buffer units 73-0 and 73-1 that are configured similarly to the input buffer unit 71-0. Therefore, in this case, the processing speed can be further increased as compared with the case of FIG. 6 in which data reading and writing are performed separately (in other words, the input buffer units 71-0, 71-1, Memory units 72-0, 72-1,
The clock of the output buffer unit 73-0 or 73-1 is input to the input buffers 22-0 and 22-1, the memory 15-.
0, 15-1, output buffer 32-0, or 32-1
A clock with half the frequency of each clock is fine).

【0088】以上、本発明を適用したFFT演算装置に
ついて説明したが、このようなFFT演算装置は、例え
ば、前述したような、図9に示したDABの受信装置の
他、ディジタル信号処理を行う装置に広く適用可能であ
る。また、FFTの対象とするデータは、音声信号に限
られるものではなく、映像信号その他のディジタル信号
とすることができる。
The FFT arithmetic unit to which the present invention is applied has been described above. Such an FFT arithmetic unit performs digital signal processing in addition to the DAB receiver shown in FIG. 9 as described above, for example. It is widely applicable to devices. Further, the data to be subjected to the FFT is not limited to the audio signal, but may be a video signal or other digital signal.

【0089】なお、本実施例においては、FFT処理を
行う場合について説明したが、本発明は、逆FFT処理
を行う場合にも適用可能である(逆FFT処理を行うに
は、例えば、ROM5(55)に記憶させておく回転因
子を変えるだけで良く、従って、本明細書中におけるF
FTとは、広義に、逆FFTをも含むものとする)。
In the present embodiment, the case of performing the FFT processing has been described, but the present invention is also applicable to the case of performing the inverse FFT processing (for performing the inverse FFT processing, for example, the ROM 5 ( 55), it is only necessary to change the twiddle factor to be stored, and therefore, in the present specification, F
In the broad sense, FT includes inverse FFT).

【0090】また、本実施例においては、基数Nが2と
4である場合を例としたが、本発明は、その他の基数に
ついても適用することが可能である。
In this embodiment, the case where the radix N is 2 and 4 is taken as an example, but the present invention can be applied to other radices.

【0091】さらに、図2などの実施例では、バタフラ
イ演算器4の2つの出力を、セレクタ13−0および1
3−1の両方に供給し、セレクタ13−0または13−
1において、そのいずれか一方または他方を選択して、
セレクタ14−0または14−1にそれぞれ供給すると
ともに、セレクタ14−0または14−1において、セ
レクタ13−0または13−1の出力を、メモリ15−
0または15−1にそれぞれ供給するか、あるいは、最
終的なバタフライ演算結果として出力するような構成と
したが、その他、例えば、バタフライ演算器4の端子o
ut0またはout1の出力を、セレクタ13−0また
は13−1それぞれに供給し、セレクタ13−0または
13−1それぞれにおいて、その端子out0またはo
ut1の出力を、セレクタ14−0および14−1の両
方に供給するか、あるいは、最終的なバタフライ演算結
果として出力するようにするとともに、セレクタ14−
0または14−1において、セレクタ13−0若しくは
13−1のうちのいずれか一方または他方の出力を選択
し、メモリ15−0または15−1にそれぞれ供給する
ような構成とすることも可能である。
Further, in the embodiment of FIG. 2 and the like, the two outputs of the butterfly computing unit 4 are connected to the selectors 13-0 and 13-1.
3-1 and the selector 13-0 or 13-
In 1, select either one or the other,
The selector 14-0 or 14-1 is supplied to the selector 14-0 or 14-1, and the selector 14-0 or 14-1 outputs the output of the selector 13-0 or 13-1 to the memory 15-.
0 or 15-1, respectively, or the final butterfly calculation result is output. However, in addition, for example, the terminal o of the butterfly calculator 4 is used.
The output of ut0 or out1 is supplied to the selector 13-0 or 13-1, respectively, and the terminal out0 or o of the selector 13-0 or 13-1 is supplied.
The output of ut1 is supplied to both the selectors 14-0 and 14-1 or is output as the final butterfly operation result, and the selector 14-
It is also possible to adopt a configuration in which the output of either one or the other of the selectors 13-0 or 13-1 is selected in 0 or 14-1 and supplied to the memory 15-0 or 15-1 respectively. is there.

【0092】但し、例えば図5や図6などの実施例につ
いて、後者の構成を適用する場合、バタフライ演算器4
の端子out0またはout1から出力される最終的な
バタフライ演算結果を、それぞれ出力バッファ32−0
または32−1にしか記憶させることができなくなるた
め、端子out0,out1から出力される最終的なバ
タフライ演算結果を、出力バッファ32−0または32
−1のいずれにも記憶させることができるようにするに
は、本実施例で説明したような構成(前者の構成)とす
る必要がある。
However, in the case of applying the latter configuration to the embodiments shown in FIGS. 5 and 6, for example, the butterfly computing unit 4
The final butterfly operation result output from the terminal out0 or out1 of the output buffer 32-0, respectively.
Alternatively, since it can only be stored in 32-1, the final butterfly operation result output from the terminals out0 and out1 is output buffer 32-0 or 32.
In order to be able to store in any of -1, it is necessary to have the configuration (the former configuration) described in the present embodiment.

【0093】[0093]

【発明の効果】請求項1に記載のFFT演算装置および
請求項7に記載のFFT演算方法によれば、N個の記憶
手段に対するデータの書き込みまたは読み出しを同時に
行うようにしたので、高速に、FFT演算を行うことが
可能となる。
According to the FFT operation device of the first aspect and the FFT operation method of the seventh aspect, since data is written or read to / from N storage means at the same time, the operation can be performed at high speed. It becomes possible to perform FFT calculation.

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

【図1】本発明の原理を説明するためのシグナルフロー
を示す図である。
FIG. 1 is a diagram showing a signal flow for explaining the principle of the present invention.

【図2】本発明を適用したFFT演算装置の第1実施例
の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a first embodiment of an FFT operation device to which the present invention is applied.

【図3】図2の実施例の動作を説明するためのタイミン
グチャートである。
FIG. 3 is a timing chart for explaining the operation of the embodiment of FIG.

【図4】本発明を適用したFFT演算装置の第2実施例
の構成を示すブロック図である。
FIG. 4 is a block diagram showing a configuration of a second embodiment of an FFT operation device to which the present invention has been applied.

【図5】本発明を適用したFFT演算装置の第3実施例
の構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a third embodiment of an FFT operation device to which the present invention has been applied.

【図6】本発明を適用したFFT演算装置の第4実施例
の構成を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of a fourth embodiment of an FFT operation device to which the present invention has been applied.

【図7】本発明を適用したFFT演算装置の第5実施例
の構成を示すブロック図である。
FIG. 7 is a block diagram showing a configuration of a fifth embodiment of an FFT operation device to which the present invention has been applied.

【図8】本発明を適用したFFT演算装置の第6実施例
の構成を示すブロック図である。
FIG. 8 is a block diagram showing a configuration of a sixth embodiment of an FFT operation device to which the present invention has been applied.

【図9】DABの受信装置の構成例を示すブロック図で
ある。
FIG. 9 is a block diagram showing a configuration example of a DAB receiving device.

【図10】図9のFFT回路94の構成例を示すブロッ
ク図である。
10 is a block diagram showing a configuration example of an FFT circuit 94 of FIG.

【図11】図10のFFT回路94の動作を説明するタ
イミングチャートである。
11 is a timing chart explaining the operation of the FFT circuit 94 of FIG.

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

2,3 セレクタ, 4 バタフライ演算器, 6,7
セレクタ, 8 メモリ, 10,11−0,11−
1,12−0,12−1,13−0,13−1,14−
0,14−1 セレクタ, 15−0,15−1 メモ
リ, 16,21 セレクタ, 22−0,22−1
入力バッファ, 31 セレクタ, 32−0,32−
1 出力バッファ, 33 セレクタ, 51,52−
0乃至52−3,53−0乃至53−3 セレクタ,
54 バタフライ演算器, 56−0乃至56−3,5
7−0乃至57−3 セレクタ, 58−0乃至58−
3メモリ, 59−0乃至59−3 出力バッファ,
60−0乃至60−3,61 セレクタ, 71−0
入力バッファ部, 71−0−1 セレクタ,71−0
−2,71−0−3 入力バッファ, 71−0−4
セレクタ, 71−1 入力バッファ部, 71−1−
1 セレクタ, 71−1−2,71−1−3 入力バ
ッファ, 71−1−4 セレクタ, 72−0 メモ
リ部,72−0−1 セレクタ, 72−0−2,72
−0−3 メモリ, 72−0−4 セレクタ, 72
−1 メモリ部, 72−1−1 セレクタ, 72−
1−2,72−1−3 メモリ, 72−1−4 セレ
クタ, 73−0 出力バッファ部, 73−0−1
セレクタ, 73−0−2,73−0−3 出力バッフ
ァ, 73−0−4 セレクタ, 73−1 出力バッ
ファ部, 73−1−1 セレクタ, 73−1−2,
73−1−3 出力バッファ, 73−1−4 セレク
2,3 selector, 4 butterfly computing unit, 6,7
Selector, 8 memory, 10, 11-0, 11-
1, 12-0, 12-1, 13-0, 13-1, 14-
0, 14-1 selector, 15-0, 15-1 memory, 16, 21 selector, 22-0, 22-1
Input buffer, 31 selector, 32-0, 32-
1 output buffer, 33 selector, 51, 52-
0 to 52-3, 53-0 to 53-3 selectors,
54 butterfly computing unit, 56-0 to 56-3, 5
7-0 to 57-3 selector, 58-0 to 58-
3 memories, 59-0 to 59-3 output buffers,
60-0 to 60-3, 61 selector, 71-0
Input buffer unit, 71-0-1 selector, 71-0
-2, 71-0-3 Input buffer, 71-0-4
Selector, 71-1 input buffer unit, 71-1-
1 selector, 71-1-2, 71-1-3 input buffer, 71-1-4 selector, 72-0 memory unit, 72-0-1 selector, 72-0-2, 72
-0-3 memory, 72-0-4 selector, 72
-1 memory unit, 72-1-1 selector, 72-
1-2, 72-1-3 memory, 72-1-4 selector, 73-0 output buffer section, 73-0-1
Selector, 73-0-2, 73-0-3 output buffer, 73-0-4 selector, 73-1 output buffer section, 73-1-1 selector, 73-1-2,
73-1-3 output buffer, 73-1-4 selector

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 FFT(Fast Fourier Transform)演算
を行うFFT演算装置であって、 所定の基数Nのバタフライ演算を行う演算手段と、 前記バタフライ演算に関するデータを記憶するN個の記
憶手段とを備え、 前記N個の記憶手段に対する前記データの書き込みまた
は読み出しを同時に行うことを特徴とするFFT演算装
置。
1. An FFT operation device for performing FFT (Fast Fourier Transform) operation, comprising: operation means for performing butterfly operation of a predetermined radix N; and N storage means for storing data related to the butterfly operation. An FFT operation device characterized in that writing or reading of the data with respect to the N storage means is performed at the same time.
【請求項2】 前記N個の記憶手段は、前記演算手段の
出力を記憶し、前記演算手段の入力に帰還することを特
徴とする請求項1に記載のFFT演算装置。
2. The FFT operation device according to claim 1, wherein the N storage means store the output of the operation means and feed back to the input of the operation means.
【請求項3】 前記N個の記憶手段は、前記演算手段へ
の入力を記憶し、前記演算手段に供給することを特徴と
する請求項1に記載のFFT演算装置。
3. The FFT operation device according to claim 1, wherein the N storage means store an input to the operation means and supply the input to the operation means.
【請求項4】 前記N個の記憶手段は、前記演算手段の
最終的な前記バタフライ演算結果としての出力を記憶す
ることを特徴とする請求項1に記載のFFT演算装置。
4. The FFT operation device according to claim 1, wherein the N storage means store an output as a final result of the butterfly operation of the operation means.
【請求項5】 前記N個の記憶手段として、 前記演算手段の出力を記憶し、前記演算手段の入力に帰
還するものと、 前記演算手段への入力を記憶し、前記演算手段に供給す
るものと、 前記演算手段の最終的な前記バタフライ演算結果として
の出力を記憶するものとの3種類を備えることを特徴と
する請求項1に記載のFFT演算装置。
5. The N storage means stores the output of the arithmetic means and feeds back to the input of the arithmetic means, and stores the input to the arithmetic means and supplies the input to the arithmetic means. The FFT operation device according to claim 1, further comprising three types: an output of the operation means and an output of the operation result as the final butterfly operation result.
【請求項6】 前記N個の記憶手段それぞれは、前記デ
ータを記憶する第1および第2の記憶手段を有し、 前記第1または第2の記憶手段のうちの一方に書き込み
が行われているとき、他方からは読み出しが行われるこ
とを特徴とする請求項1に記載のFFT演算装置。
6. Each of the N storage means has first and second storage means for storing the data, and one of the first and second storage means is written to. The FFT operation device according to claim 1, wherein when the other is present, reading is performed from the other.
【請求項7】 所定の基数Nのバタフライ演算を行う演
算手段と、 前記バタフライ演算に関するデータを記憶するN個の記
憶手段とを備え、FFT(Fast Fourier Transform)演
算を行うFFT演算装置のFFT演算方法であって、 前記N個の記憶手段に対する前記データの書き込みまた
は読み出しを同時に行うことを特徴とするFFT演算方
法。
7. An FFT operation of an FFT operation device, which comprises an operation means for performing a butterfly operation of a predetermined radix N and N storage means for storing data related to the butterfly operation, and which performs an FFT (Fast Fourier Transform) operation. A method for performing FFT calculation, comprising: simultaneously writing or reading the data to or from the N storage means.
JP12133696A 1996-04-30 1996-05-16 FFT operation device and FFT operation method Expired - Fee Related JP3951066B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP12133696A JP3951066B2 (en) 1996-05-16 1996-05-16 FFT operation device and FFT operation method
US08/841,355 US5890098A (en) 1996-04-30 1997-04-30 Device and method for performing fast Fourier transform using a butterfly operation
EP97302959A EP0805401A1 (en) 1996-04-30 1997-04-30 Fast Fourier transform device and Fast Fourier transform method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12133696A JP3951066B2 (en) 1996-05-16 1996-05-16 FFT operation device and FFT operation method

Publications (2)

Publication Number Publication Date
JPH09305573A true JPH09305573A (en) 1997-11-28
JP3951066B2 JP3951066B2 (en) 2007-08-01

Family

ID=14808741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12133696A Expired - Fee Related JP3951066B2 (en) 1996-04-30 1996-05-16 FFT operation device and FFT operation method

Country Status (1)

Country Link
JP (1) JP3951066B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221648A (en) * 2005-02-12 2006-08-24 Samsung Electronics Co Ltd Fast fourier transformation processor and fast fourier transformation method capable of reducing memory size
JP2006260411A (en) * 2005-03-18 2006-09-28 Japan Radio Co Ltd Signal processor, and communication equipment using the same
JP2006350922A (en) * 2005-06-20 2006-12-28 Oki Electric Ind Co Ltd Memory reading and writing method, memory control method, and arithmetic unit using the same
JP2011198384A (en) * 2011-06-07 2011-10-06 Oki Semiconductor Co Ltd Memory control method, and arithmetic unit employing the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221648A (en) * 2005-02-12 2006-08-24 Samsung Electronics Co Ltd Fast fourier transformation processor and fast fourier transformation method capable of reducing memory size
JP2006260411A (en) * 2005-03-18 2006-09-28 Japan Radio Co Ltd Signal processor, and communication equipment using the same
JP2006350922A (en) * 2005-06-20 2006-12-28 Oki Electric Ind Co Ltd Memory reading and writing method, memory control method, and arithmetic unit using the same
KR101222597B1 (en) * 2005-06-20 2013-01-16 오끼 덴끼 고오교 가부시끼가이샤 Method for reading and writing a memory, memory control method and arithmetic unit using the same
JP2011198384A (en) * 2011-06-07 2011-10-06 Oki Semiconductor Co Ltd Memory control method, and arithmetic unit employing the same

Also Published As

Publication number Publication date
JP3951066B2 (en) 2007-08-01

Similar Documents

Publication Publication Date Title
US5890098A (en) Device and method for performing fast Fourier transform using a butterfly operation
JP3821316B2 (en) Arithmetic apparatus and method
EP0855657A2 (en) Fast fourier transforming apparatus and method
US20050177608A1 (en) Fast Fourier transform processor and method using half-sized memory
US6430587B1 (en) Method and apparatus for FFT computation
JPH09305573A (en) Fft operation device and method therefor
JPH10327123A (en) Arithmetic unit and its method
US6631167B1 (en) Process and device for transforming real data into complex symbols, in particular for the reception of phase-modulated and amplitude-modulated carriers transmitted on a telephone line
JPH08320858A (en) Unit and method for fourier transformation arithmetic operation
JP3065979B2 (en) Fast Fourier transform apparatus and method, variable bit reverse circuit, inverse fast Fourier transform apparatus and method, and OFDM reception and transmission apparatus
US5765219A (en) Apparatus and method for incrementally accessing a system memory
US20060233009A1 (en) Interleaving and de-interleaving methods, wireless apparatus and semiconductor apparatus of same
JPH09297753A (en) Fft arithmetic unit and method therefor
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JP2932790B2 (en) Dynamic random access memory device
US11531497B2 (en) Data scheduling register tree for radix-2 FFT architecture
GB2328765A (en) Bit reversing using an offset
JPS61165144A (en) Memory access controlling system
EP0107447B1 (en) Computer data distributor
JPH11284596A (en) Ofdm modulator circuit
JP3222647B2 (en) Automatic memory bank switching system
JP2697619B2 (en) N-point FFT dedicated processor
EP1093621A1 (en) Method and arrangement relating to dft computation
JPH03652B2 (en)
JPH09319863A (en) Set data changing device for image processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070410

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees