JPS61101872A - Fast fourier transform arithmetic circuit - Google Patents

Fast fourier transform arithmetic circuit

Info

Publication number
JPS61101872A
JPS61101872A JP59223348A JP22334884A JPS61101872A JP S61101872 A JPS61101872 A JP S61101872A JP 59223348 A JP59223348 A JP 59223348A JP 22334884 A JP22334884 A JP 22334884A JP S61101872 A JPS61101872 A JP S61101872A
Authority
JP
Japan
Prior art keywords
data
fourier transform
supplied
circuit
register
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.)
Pending
Application number
JP59223348A
Other languages
Japanese (ja)
Inventor
Ryohei Kato
良平 加藤
Atsushi Hasebe
長谷部 淳
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 JP59223348A priority Critical patent/JPS61101872A/en
Publication of JPS61101872A publication Critical patent/JPS61101872A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To shorten the operation time and increase the rate of in-taking of the input data column by taking-in the input data column in two data memories of real number part and imaginary number part alternately when the input column is of real number data only. CONSTITUTION:The operation of the real number part is performed by a data memory 22, a multiplier circuit 24, and an adder-subtractor 25, and that of the imaginary number part is done by a data memory 23, a multiplier circuit 26, and an adder-subtractor 27. A fast fourier transform arithmetic circuit needs at least four clocks in order to perform the butterfly operation of the input data constituted only by the real number part. Therefore, when the input data column is of real number part only, the data is so controlled as to be taken-in by memories 22 and 23 alternately. In this manner even if the frequency of the internal clock is 1/2 of that of the clock that controls the entire system, all the data columns can be stored in the memories 22 and 23 without lowering transmission time to 1/2. Also, two pieces of data can be transmitted to the arithmetic circuit by one clock.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、高速フーリエ変換装置に用いられる高速フ
ーリエ変換演算回路に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a fast Fourier transform calculation circuit used in a fast Fourier transform device.

〔従来の技術〕[Conventional technology]

高速フーリエ変換は、データ列をビット逆順の並べ換え
と呼ばれる方法に従って並べ換え、並べ換えられたデー
タ列をバタフライ演算と呼ばれる2点フーリエ変換を繰
り返すことにより、2fiで示されるデータ列のフーリ
エ変換を行うものである。この高速フーリエ変換の演算
回路は、実数部のデータの演算を行う演算回路と、虚数
部のデータの演算を行う演算回路の2つの演算回路とか
ら構成されている。実数部データの演算回路は、実数部
データの演算を行うための乗算回路、加減算回路、デー
タメモリとを有している。虚数部データの演算回路は、
虚数部データの演算を行うための乗算回路、加減算回路
、データメモリとを有している。
Fast Fourier transform performs Fourier transform on a data string indicated by 2fi by rearranging the data string according to a method called bit reverse ordering and repeating two-point Fourier transform called butterfly operation on the rearranged data string. be. This fast Fourier transform arithmetic circuit is composed of two arithmetic circuits: an arithmetic circuit that operates on real part data and an arithmetic circuit that operates on imaginary part data. The real part data calculation circuit includes a multiplication circuit, an addition/subtraction circuit, and a data memory for performing calculations on the real part data. The calculation circuit for imaginary part data is
It has a multiplication circuit, an addition/subtraction circuit, and a data memory for calculating imaginary part data.

従来の演算回路では、ビット逆順の並べ換えがなされた
データ列は、実数データであるから、実数データの演算
回路のデータメモリに取り込まれている。実数データの
演算回路で2点フーリエ変換の演算が行われる。演算の
結果求められたデータの中で、実数部のデータは実数部
データの演算回路のデータメモリに格納され、虚数部の
データは虚数部データの演算回路のデータメモリに格納
される。
In a conventional arithmetic circuit, a data string whose bits have been rearranged in reverse order is real number data, so it is taken into the data memory of the real number data arithmetic circuit. A two-point Fourier transform calculation is performed in a real number data calculation circuit. Among the data obtained as a result of the calculation, the real part data is stored in the data memory of the real part data calculation circuit, and the imaginary part data is stored in the data memory of the imaginary part data calculation circuit.

これらの実数部データの演算回路及び虚数部データの演
算回路では、パイプライン処理により演算が行われる。
In these real part data calculation circuits and imaginary part data calculation circuits, calculations are performed by pipeline processing.

以下、演算された結果求められたデータの中で、実数部
データは実数部データの演算回路のデータメモリに格納
され、虚数部データは虚数部データの演算回路のデータ
メモリに格納され、バタフライ演算が繰り返される。
Below, among the data obtained as a result of the calculation, the real part data is stored in the data memory of the real part data calculation circuit, the imaginary part data is stored in the data memory of the imaginary part data calculation circuit, and the butterfly calculation is performed. is repeated.

この高速フーリエ変換の演算回路は、高速フーリエ変換
装置全体が制御されるクロックよりも遅いクロック、例
えば周波数が1/2のクロックにより作動している。こ
れは、高速フーリエ変換回路の演算には乗算が必要であ
り、乗算回路が高速動作できないためである。
This fast Fourier transform calculation circuit is operated by a clock that is slower than the clock that controls the entire fast Fourier transform device, for example, a clock whose frequency is 1/2. This is because multiplication is required for the calculation of the fast Fourier transform circuit, and the multiplication circuit cannot operate at high speed.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述の高速フーリエ変換の演算回路は、パイプライン処
理による演算を行っても、実数部データだけからなる入
力データのバタフライ演算(2点フーリエ変換)を行う
のに最低4クロツク必要である。つまり、データメモリ
に格納された2つのデータを実数部データの演算回路に
送り出すのに2クロツク必要であり、求められた2つの
データをデータメモリに格納するのに2クロツク必要だ
からである。
The above-described fast Fourier transform arithmetic circuit requires at least four clocks to perform butterfly computation (two-point Fourier transform) on input data consisting only of real part data, even if the arithmetic operation is performed by pipeline processing. That is, two clocks are required to send the two data stored in the data memory to the real part data arithmetic circuit, and two clocks are required to store the two obtained data in the data memory.

また、この高速フーリエ変換の演算回路は、装置全体が
制御されるクロックの例えば1/2の周波数のクロック
により作動しているため、実数部データだけからなる入
力データ列を実数部データの演算回路のデータメモリに
取り込むのに、入力データ列の転送速度を1/2にしな
ければならない。このため、入力データ列を取り込むの
に時間がかかる。
In addition, since this fast Fourier transform arithmetic circuit is operated by a clock with a frequency that is, for example, half the frequency of the clock that controls the entire device, the input data string consisting only of real part data is processed by the real part data arithmetic circuit. In order to input data into the data memory, the transfer speed of the input data string must be halved. Therefore, it takes time to import the input data string.

従って、この発明は、演算時間が短縮されると共に、入
力データ列の取り込み速度が短縮された高速フーリエ変
換の演算回路の提供を目的とするものである。
Therefore, it is an object of the present invention to provide a fast Fourier transform arithmetic circuit that can reduce the calculation time and the input data string acquisition speed.

〔問題点を解決するための手段〕[Means for solving problems]

この発明は、第1のデータメモリ22と第1の乗算回路
24と第1の加減算回路25とからなる実数部演算回路
と、第2のデータメモリ23と第2の乗算回路26と第
2の加減算回路27とからなる虚数部演算回路とを備え
た高速フーリエ変換演算回路において、 入力データ列が実数データのみの場合には、この入力デ
ータ列を第1のデータメモリ22及び第2のデータメモ
リ23に交互に取り込むように制御する手段を設けたこ
とを特徴とする高速フーリエ変換演算回路である。
The present invention includes a real part calculation circuit including a first data memory 22, a first multiplication circuit 24, and a first addition/subtraction circuit 25, a second data memory 23, a second multiplication circuit 26, and a second In a fast Fourier transform calculation circuit equipped with an imaginary part calculation circuit consisting of an addition/subtraction circuit 27, when the input data string is only real number data, this input data string is transferred to the first data memory 22 and the second data memory. This is a fast Fourier transform calculation circuit characterized in that it is provided with means for controlling the data to be taken in alternately into the 23.

〔作用〕[Effect]

第1のデータメモリ22と第1の乗算回路24と第1の
加減算回路25とにより、実数部の演算が行われる。第
2のデータメモリ23と第2の乗算回路26と第2の加
減算回路27とにより、虚数部の演算が行われる。入力
データ列が実数部のみのデータ列である場合には、第1
のデータメモIJ22と第2のデータメモリ23とに交
互にデータが取り込まれる。演算結果の中で、実数部の
データはデータメモリ22に貯えられ、虚数部のデータ
はデータメモリ23に貯えられる。
The first data memory 22, the first multiplication circuit 24, and the first addition/subtraction circuit 25 perform calculations on the real part. The second data memory 23, the second multiplication circuit 26, and the second addition/subtraction circuit 27 perform calculations on the imaginary part. If the input data string is a data string containing only real parts, the first
Data is taken in alternately into the data memo IJ 22 and the second data memory 23. Among the calculation results, the real part data is stored in the data memory 22, and the imaginary part data is stored in the data memory 23.

〔実施例〕〔Example〕

以下、この発明の一実施例について、図面を参照して説
明する。
An embodiment of the present invention will be described below with reference to the drawings.

N点のフーリエ変換は、 W N=e −1+2 ”’ M) とすると、フーリエ変換出力X (k)は、X(k)=
 (1/N)Σx (n) WN ik計算すると、約
N2回の乗算と約N2回の加減算が必要である。そこで
、バタフライ演算と呼ばれる2点フーリエ変換を繰り返
すことにより、演算回路を減少し、演算時間を短縮化す
る高速フーリエ変換のアルゴリズムが知られている。バ
タフライ演算は、2点フーリエ変換であるから、フーリ
エ変換出力の実数部をX o、 X l、虚数部Yo、
Y、入力データをxOn xl +とすると、Xo =
 (x(1’+xl)/2.Yo =OX+ = (X
o   X+ )/2.Y+ =0である。
The Fourier transform of N points is W N=e −1+2 ”' M), then the Fourier transform output X (k) is X(k)=
(1/N) Σx (n) WN ik When calculated, approximately N2 multiplications and approximately N2 additions and subtractions are required. Therefore, a fast Fourier transform algorithm is known that reduces the number of calculation circuits and shortens the calculation time by repeating two-point Fourier transform called butterfly calculation. Since the butterfly operation is a two-point Fourier transform, the real part of the Fourier transform output is expressed as X o, X l, and the imaginary part Yo,
Y, if the input data is xOn xl +, then Xo =
(x(1'+xl)/2.Yo =OX+ = (X
o X+ )/2. Y+=0.

上述のアルゴリズムを用いた高速フーリエ変換回路の一
例を第5図に示して説明する。このフーリエ変換回路に
より、8点の入力データ列x(0)。
An example of a fast Fourier transform circuit using the above algorithm is shown in FIG. 5 and will be described. This Fourier transform circuit generates an input data string x(0) of 8 points.

x (1)、 x (2)、−・・・−、x (7)の
フーリエ変換出力X(0)、 X (1)、 X (2
)、・・・・・、 X (7)が求められる。
Fourier transform outputs of x (1), x (2), -...-, x (7) X (0), X (1), X (2
), ..., X (7) is required.

入力データ列x(0)〜x(7)は、並べ換え回路1に
供給され、ビット逆順の並べ換えがなされる。
The input data strings x(0) to x(7) are supplied to a rearrangement circuit 1 and rearranged in reverse bit order.

並べ換え回路1により、データ列の順番がx(0)。The rearrangement circuit 1 sets the order of the data string to x(0).

x(4)、 x(2)、 x(6)、 x(1)、 x
(5)、 x(3)、 x(7)の順に並べ換えられる
x(4), x(2), x(6), x(1), x
(5), x(3), x(7).

データx(0)とx(4)とが2点フーリエ変換回路2
に供給される。データx(2)とx(6)とが2点フー
リエ変換回路3に供給される。データX(1)とx(5
)とが2点フーリエ変換回路4に供給される。データx
(3)とx(7)とが2点フーリエ変換回路5に供給さ
れる。
Data x(0) and x(4) are converted into two-point Fourier transform circuit 2
is supplied to Data x(2) and x(6) are supplied to a two-point Fourier transform circuit 3. Data X(1) and x(5
) are supplied to the two-point Fourier transform circuit 4. data x
(3) and x(7) are supplied to the two-point Fourier transform circuit 5.

2点フーリエ変換回路2の出力が加減算回路6及び7に
供給される。2点フーリエ変換回路3の出力が乗算回路
8及び9に供給され、係数W0及びW2が乗じられる。
The output of the two-point Fourier transform circuit 2 is supplied to addition/subtraction circuits 6 and 7. The output of the two-point Fourier transform circuit 3 is supplied to multiplication circuits 8 and 9, and multiplied by coefficients W0 and W2.

乗算回路8及び9の出力が加減算回路6及び7に供給さ
れる。これら加減算回路6,7及び乗算回路8,9によ
りバタフライ演算が行われる。
The outputs of multiplication circuits 8 and 9 are supplied to addition and subtraction circuits 6 and 7. A butterfly operation is performed by these addition/subtraction circuits 6, 7 and multiplication circuits 8, 9.

2点フーリエ変換回路4の出力が加減算回路10及び1
1に供給される。2点フーリエ変換回路5の出力が乗算
回路12及び13に供給され、係数WO、W2が乗じら
れる。乗算回路12及び13の出力が加減算回路10及
び11に供給される。
The output of the two-point Fourier transform circuit 4 is added to the addition/subtraction circuits 10 and 1.
1. The output of the two-point Fourier transform circuit 5 is supplied to multiplication circuits 12 and 13, and multiplied by coefficients WO and W2. The outputs of multiplication circuits 12 and 13 are supplied to addition and subtraction circuits 10 and 11.

これら加減算回路10.11及び乗算回路12゜13に
よりバタフライ演算が行われる。
A butterfly operation is performed by these addition/subtraction circuits 10.11 and multiplication circuits 12.13.

加減算回路6及び7の出力が加減算回路14゜15.1
6.17に供給される。加減算回路10及び11の出力
が乗算回路18,19.20.21に供給され、係数w
’ 、 Wl 、 WZ 、 vJ3が乗しられる。乗
算回路I8.19,20.21の出力が加減算回路14
.15,16.17に供給される。これら加減算回路1
4,15.16.17及び乗算回路18,19,20.
21により、バタフライ演算が行われる。      
          11゜加減算回路14,15,1
6.17からフーリエ変換出力X (0) 、 X (
1) 、 X (2) 、 X (3) 、 X (4
) 、 X (5)、 X (6)、 X (7)が出
力される。
The outputs of the adder/subtractor circuits 6 and 7 are the adder/subtractor circuit 14°15.1
Delivered on 6.17. The outputs of the addition/subtraction circuits 10 and 11 are supplied to multiplication circuits 18, 19, 20, and 21, and the coefficient w
', Wl, WZ, and vJ3 are multiplied. The outputs of the multiplication circuits I8.19 and 20.21 are added to the addition/subtraction circuit 14.
.. Supplied on 15th, 16th and 17th. These addition/subtraction circuits 1
4, 15.16.17 and multiplication circuits 18, 19, 20.
21 performs a butterfly operation.
11° addition/subtraction circuit 14, 15, 1
From 6.17, the Fourier transform outputs X (0), X (
1) , X (2) , X (3) , X (4
), X (5), X (6), and X (7) are output.

この発明の一実施例は、上述に示すような高速フーリエ
変換の演算回路に用いられるものである。
An embodiment of the present invention is used in a fast Fourier transform arithmetic circuit as described above.

第1図において、22及び23がデータメモリである。In FIG. 1, 22 and 23 are data memories.

データメモリ22及び23には、ビット逆順の並べ換え
がなされたデータが第2図に示す取り込み回路により、
交互に取り込まれる。データメモリ22及び23に取り
込まれたデータから、実数部の演算が乗算器24及び加
減算器25によりなされ、虚数部の演算が乗算器26及
び加減算器27によりなされる。これらの演算は、パイ
プライン制御により、複数の演算が並行して同時に行わ
れる。求められた実数部のデータは、データメモリ22
に格納され、虚数部のデータは、データメモリ23に格
納される。
The data memories 22 and 23 are loaded with data whose bits have been rearranged in reverse order by the acquisition circuit shown in FIG.
taken in alternately. From the data taken into the data memories 22 and 23, a multiplier 24 and an adder/subtractor 25 perform calculations on the real part, and a multiplier 26 and an adder/subtractor 27 perform calculations on the imaginary part. A plurality of these operations are simultaneously performed in parallel by pipeline control. The obtained real part data is stored in the data memory 22.
The imaginary part data is stored in the data memory 23.

ビット逆順の並べ換えがなされたデータをデータメモリ
31及び32に交互に取り込むための取り込み回路は、
第2図示すように構成される。
A capture circuit for alternately fetching data rearranged in reverse bit order into the data memories 31 and 32 includes:
It is constructed as shown in FIG.

第2図において、レジスタ33及び34は、端子35か
ら供給される外部クロックにより動作し、レジスタ36
及び37は、端子38から供給される内部クロックによ
り動作している。外部クロ7りは、内部クロックの2倍
の周波数のクロックである。外部クロックに同期して装
置全体が制御される。内部クロックに同期して演算回路
が制御される。ビット道順の並べ換えがなされたデータ
列X Dr X l+ X !+ X 3・・・・・・
は、第3図Aに示すように、外部クロックに同期して入
力端子39からレジスタ33に供給される。レジスタ3
3の出力がレジスタ36に供給されると共に、レジスタ
34を介して遅延され、レジスタ37に供給される。
In FIG. 2, registers 33 and 34 are operated by an external clock supplied from a terminal 35, and register 36 is operated by an external clock supplied from a terminal 35.
and 37 are operated by an internal clock supplied from a terminal 38. The external clock is a clock with twice the frequency of the internal clock. The entire device is controlled in synchronization with an external clock. The arithmetic circuit is controlled in synchronization with the internal clock. Data string X Dr X l+ X ! whose bit paths have been rearranged. +X 3・・・・・・
is supplied to the register 33 from the input terminal 39 in synchronization with an external clock, as shown in FIG. 3A. register 3
The output of 3 is supplied to register 36 and is also delayed through register 34 and supplied to register 37.

レジスタ36及び37には共通の内部クロックが供給さ
れている。従って、レジスタ36及びレジスタ37から
データ列が交互に取り出され、出力端子40からX−1
+  X l+ X 3+ X S・・・・・・が取り
出され、出力端子41かX−2+  X O+ X 2
+ X 4・・・・・・が取り出される。出力端子40
からの出力がデータメモリ22に貯えられ、出力端子4
1からの出力がデータメモリ23に貯えられるものとな
る。
Registers 36 and 37 are supplied with a common internal clock. Therefore, the data strings are taken out alternately from the register 36 and the register 37, and from the output terminal 40
+Xl+X3+XS... is taken out and output terminal 41 or X-2+XO+
+X4... is taken out. Output terminal 40
The output from the output terminal 4 is stored in the data memory 22, and
The output from 1 will be stored in data memory 23.

このように、データメモリ22及び23に入力データ列
が交互に取り込まれるようになされているのため、演算
回路の内部クロックが外部クロックの1/2の周波数で
あっても、転送時間を1/2に下げることなく、全ての
データ列をデータメモリ22及び23に格納できる。
In this way, the input data strings are taken into the data memories 22 and 23 alternately, so even if the internal clock of the arithmetic circuit has half the frequency of the external clock, the transfer time is reduced to 1/2. All data strings can be stored in the data memories 22 and 23 without having to reduce the number of data to 2.

尚、レジスタ36及び37とデータメモリ22及び23
との間に、第4図に示す組み換え回路を挿入すると、デ
ータメモリ22及び23に取り込むデータ列を交換する
ことができ、汎用性が向上される。
Note that registers 36 and 37 and data memories 22 and 23
By inserting the recombinant circuit shown in FIG. 4 between them, the data strings to be taken into the data memories 22 and 23 can be exchanged, improving versatility.

第4図において、42,43,44.45がバッファで
ある。レジスタ36からの出力は、入力端子46からバ
ッファ42及び43に供給される。
In FIG. 4, 42, 43, 44, and 45 are buffers. The output from register 36 is supplied to buffers 42 and 43 from input terminal 46.

レジスタ37からの出力は、入力端子47からバッファ
43及び45に供給される。バッファ43及び45の出
力が出力端子50に供給され、バッファ42及び44の
出力が出力端子51に供給される。端子48からコント
ロール信号が供給される。このコントロール信号がバッ
ファ43及び44に供給されると共に、インバータ49
を介してバッファ42及び45に供給され、このコント
ロール信号により、組換えがなされる。
The output from register 37 is supplied to buffers 43 and 45 from input terminal 47. The outputs of buffers 43 and 45 are supplied to output terminal 50, and the outputs of buffers 42 and 44 are supplied to output terminal 51. A control signal is supplied from terminal 48. This control signal is supplied to buffers 43 and 44, and inverter 49
The signal is supplied to buffers 42 and 45 via the control signal, and recombination is performed by this control signal.

コントロール信号がローレベルの時、入力端子46から
供給されたデータは、出力端子50から取り出され、入
力端子47から供給されたデータは、出力端子51から
取り出される。コントロール信号がハイレベルになると
、入力端子46から供給されたデータが出力端子51か
ら取り出され、入力端子47から供給されたデータが出
力端子50から取り出される。
When the control signal is at a low level, data supplied from the input terminal 46 is taken out from the output terminal 50, and data supplied from the input terminal 47 is taken out from the output terminal 51. When the control signal becomes high level, the data supplied from the input terminal 46 is taken out from the output terminal 51, and the data supplied from the input terminal 47 is taken out from the output terminal 50.

データメモリ22及び23に交互に貯えられたデータか
ら、以下に示すクロックに同期したステップにより、バ
タフライ演算が行われる。バタフライ演算とは、前述の
ように、 Xo ”= (xo +)(、) /2. Yo =O
Xl= (xo   XI )/2.Y+ =0の演算
を行うものである。第1図におけるデータメモリ22の
0番地にデータx0が貯えられ、デ    :−タメモ
リ23の0番地にデータx1が貯えられていて、フーリ
エ変換出力の実数部X、、X、がデータメモリ22の0
番地、1番地に夫々貯えられ、フーリエ変換出力の虚数
部Y o 、 Y rがデータメモリ23の0番地、1
番地に夫々貯えられるものとする。
A butterfly calculation is performed from the data alternately stored in the data memories 22 and 23 by the following steps synchronized with the clock. As mentioned above, the butterfly operation is: Xo ”= (xo +) (,) /2. Yo = O
Xl=(xoXI)/2. This is to perform the calculation of Y+ =0. Data x0 is stored at address 0 of the data memory 22 in FIG. 1, data x1 is stored at address 0 of the data memory 23, and the real parts X, , 0
The imaginary parts Y o and Y r of the Fourier transform output are stored at addresses 0 and 1 of the data memory 23, respectively.
It is assumed that each address is stored separately.

ステップ1で、データメモリ22に貯えられていたデー
タの中からデータx0が読出され、レジスタ52に供給
される。データメモリ23に貯えられていたデータの中
からデータx、の続出され、レジスタ53に供給される
In step 1, data x0 is read out of the data stored in the data memory 22 and supplied to the register 52. Data x is successively extracted from the data stored in the data memory 23 and supplied to the register 53.

ステップ2で、レジスタ53からデータx1が乗算器2
4に供給され、乗算器24に係数メモリ28から係数1
72が供給される。
In step 2, data x1 from the register 53 is sent to the multiplier 2.
4 and the multiplier 24 receives the coefficient 1 from the coefficient memory 28.
72 is supplied.

ステップ3で乗算器24によりデータx、と係数1/2
との乗算が行われ、乗算データx1/2が乗算器24内
のレジスタにラッチされる。レジスタ52からデータx
0が乗算器24に供給され、乗算器24に係数メモリ2
8から係数1/2が供給される。
In step 3, the multiplier 24 outputs the data x and the coefficient 1/2.
Multiplication with x1/2 is performed, and the multiplied data x1/2 is latched into a register within the multiplier 24. Data x from register 52
0 is supplied to the multiplier 24, and the coefficient memory 2 is supplied to the multiplier 24.
8 supplies the coefficient 1/2.

ステップ4で、乗算器24内のレジスタから加減算器2
5にx、/2が供給される。乗算器24によりデータx
0と係数172との乗算が行われ、乗算データx0/2
が乗算器24内のレジスタにラッチされる。レジスタ5
2からデータX0が乗算器24に供給され、係数1/2
が乗算器24に供給される。この時、次のデータの演算
がステップ1から並行して開始される。
In step 4, adder/subtractor 2 is input from the register in multiplier 24.
5 is supplied with x, /2. Multiplier 24 outputs data x
Multiplication of 0 and coefficient 172 is performed, and the multiplication data x0/2
is latched into a register within multiplier 24. register 5
2, the data X0 is supplied to the multiplier 24, and the coefficient 1/2
is supplied to the multiplier 24. At this time, calculation of the next data is started in parallel from step 1.

ステップ5で、乗算器24内のレジスタから加減算器2
5に乗算データx0/2が供給され、(xo−xl)/
2が求められ、(Xo−xI>/2がレジスタ54に供
給される。レジスタ55に0のデータが供給される。乗
算器24によりデータx0と係数1/2との乗算が行わ
れ、乗算データx0/2が乗算器24内のレジスタにラ
ッチされる。
In step 5, from the register in the multiplier 24, the adder/subtracter 2
5 is supplied with multiplication data x0/2, (xo-xl)/
2 is calculated, and (Xo-xI>/2 is supplied to the register 54. Data of 0 is supplied to the register 55. The multiplier 24 multiplies the data x0 by the coefficient 1/2, and the multiplication Data x0/2 is latched into a register within multiplier 24.

ステップ6で、レジスタ54の出力(Xo −XI)/
2がフーリエ変換出力XIとしてデータメモリ22に貯
えられる。レジスタ55からの出力0がフーリエ変換出
力Y1としてデータメモリ23に貯えられる。乗算器2
4内のレジスタから加減算器25に乗算データx0/2
が供給され、(xo +x、)/2が求められ、(x0
+X、)/2がレジスタ54に供給される。
In step 6, the output of register 54 (Xo −XI)/
2 is stored in the data memory 22 as the Fourier transform output XI. Output 0 from register 55 is stored in data memory 23 as Fourier transform output Y1. Multiplier 2
Multiply data x0/2 from the register in 4 to the adder/subtractor 25
is supplied, (xo +x,)/2 is found, and (x0
+X, )/2 is provided to register 54.

ステップ7では、並行して行われる他のデータのバタフ
ライ演算は行われるが、データx0とX、のバタフライ
演算に関しては、ステップ6の状態が維持されている。
In step 7, butterfly computations for other data are performed in parallel, but the state of step 6 is maintained for the butterfly computations for data x0 and X.

ステップ8で、レジスタ54の出力(X0+X1)/2
がフーリエ変換出力X。とじてデータメモリ22に貯え
られる。レジスタ55からの出力0がフーリエ変換出力
Y0としてデータメモリ23に貯えられる。
In step 8, the output of register 54 (X0+X1)/2
is the Fourier transform output X. The data is stored in the data memory 22. Output 0 from register 55 is stored in data memory 23 as Fourier transform output Y0.

このバタフライ演算のステップは、パイプライン制御に
より他のデータのバタフライ演算が並行して行われてい
る。このように、データメモリ22及び23に交互にデ
ータを貯えてから演算を行うことにより、最低3クロツ
クに1回フーリエ変換出力が求められるものとなる。つ
まり、フーリエ変換される2つのデータが別々のデータ
メモリに格納されているので、この2つのデータを実数
部データの演算回路に送り出すのに1クロツク、求めら
れた2つのデータは、同一のデータメモリに格納される
ので、求められたデータを格納するのに2クロツク必要
だからである。
This butterfly calculation step is performed in parallel with butterfly calculations on other data by pipeline control. In this way, by storing data alternately in the data memories 22 and 23 and then performing calculations, a Fourier transform output is required at least once every three clocks. In other words, since the two data to be Fourier transformed are stored in separate data memories, it takes one clock to send these two data to the real part data arithmetic circuit, and the two obtained data are the same data. This is because since it is stored in memory, two clocks are required to store the obtained data.

尚、高速フーリエ変換の演算過程において、最初のバタ
フライ演算の結果は、虚数部が0である。
In addition, in the calculation process of fast Fourier transform, the result of the first butterfly calculation has an imaginary part of 0.

従って、求められたデータを全て実数部データを貯える
データメモリ22に貯えず、データメモリ22とデータ
メモリ23とに交互に貯えるようにすれば、次のバタフ
ライ演算を行う時、同一のクロックで2つのデータを演
算回路に送り出すことができ、次のバタフライ演算につ
いても3クロツクでフーリエ変換出力を求めることがで
きる。
Therefore, if all the obtained data is not stored in the data memory 22, which stores real part data, but is stored alternately in the data memory 22 and the data memory 23, when performing the next butterfly operation, two data are processed at the same clock. One data can be sent to the arithmetic circuit, and the Fourier transform output can be obtained in three clocks for the next butterfly operation.

第5図は、データメモリ22及び23に交互に貯えられ
たデータから4点フーリエ変換を行うようにした場合の
実施例である。
FIG. 5 shows an embodiment in which four-point Fourier transform is performed on data stored alternately in data memories 22 and 23.

4点フーリエ変換は、下式に示される演算を行うもので
ある。
The four-point Fourier transform performs the calculation shown in the following equation.

Xe =(Xo 十X、 +x、 +x:l)/4.y
o =05: Xt = (xo  Xz)/ 4+ yl =(−x
+ 十X3)/ 4Xz = (X(l  Xt +)
c、  X:I)/41 YZ =OX3 = (xo
−XZ)/4.Y:l = (x+ −X3)/4第5
図におけるデータメモリ22には、0番地にxo、2番
地にx2が一貯えられ、データメモリ23には、0番地
にx3,2番地にX、が貯えられていて、4点フーリエ
変換出力の実数部Xo、X11X21X3は、データメ
モリ22の0番地、1番地、2番地、3番地に夫々貯え
られ、虚数部Y0゜Y r + Y z + Y s 
+は、データメモリ23の0番地、1番地、2番地、3
番地に夫々貯えられるものとする。
Xe = (Xo 1X, +x, +x:l)/4. y
o = 05: Xt = (xo Xz)/4+ yl = (-x
+ 1X3) / 4Xz = (X(l Xt +)
c, X:I)/41 YZ =OX3 = (xo
-XZ)/4. Y:l = (x+ -X3)/4 5th
The data memory 22 in the figure stores xo at address 0 and x2 at address 2, and the data memory 23 stores x3 at address 0 and X at address 2, and the four-point Fourier transform output. The real parts Xo, X11X21X3 are stored at addresses 0, 1, 2, and 3 of the data memory 22, respectively, and the imaginary part Y0゜Y r + Y z + Y s
+ indicates addresses 0, 1, 2, and 3 of the data memory 23.
It is assumed that each address is stored separately.

ステップ1で、データメモリ22に貯えられていたデー
タの中からxoが読出され、レジスタ52に供給される
。データメモリ23に貯えられていたデータの中からX
、が続出され、レジスタ57に供給される。
In step 1, xo is read from the data stored in the data memory 22 and supplied to the register 52. From the data stored in the data memory 23,
, are successively output and supplied to the register 57.

ステップ2で、レジスタ52からデータx0が乗算器2
4に供給され、係数メモリ28から係数1/4が乗算器
24に供給される。レジスタ57からデータx1が乗算
器26に供給され、係数メモリ29から係数1/4が乗
算器26に供給される。
In step 2, data x0 from register 52 is sent to multiplier 2.
4, and the coefficient 1/4 is supplied from the coefficient memory 28 to the multiplier 24. Data x1 is supplied from the register 57 to the multiplier 26, and coefficient 1/4 is supplied from the coefficient memory 29 to the multiplier 26.

ステップ3で、乗算器24から加減算器25にxo/4
が供給される。乗算器26から加減算器27にx1/4
が供給される。データメモリ22からデータx2が読出
され、レジスタ52に供給される。データメモリ23か
らデータx3が読出され、レジスタ57に供給される。
In step 3, xo/4 is transferred from the multiplier 24 to the adder/subtractor 25.
is supplied. x1/4 from the multiplier 26 to the adder/subtractor 27
is supplied. Data x2 is read from data memory 22 and supplied to register 52. Data x3 is read from data memory 23 and supplied to register 57.

ステップ4で、レジスタ57から乗算器26にデータx
3が供給される。係数メモリ29から係数174が乗算
器26に供給される。
In step 4, data x is sent from the register 57 to the multiplier 26.
3 is supplied. Coefficient 174 is supplied from coefficient memory 29 to multiplier 26 .

ステップ5で、乗算器26からx3/4が加減算器27
に供給され、(−xl+)C3)/4が計算される。レ
ジスタ52からデータx2が乗算器24に供給され、係
数メモリ28から係数1/4が乗算器24に供給される
。レジスタ57からデータx3が乗算器26に供給され
、係数メモリ29から係数1/4が乗算器26に供給さ
れる。
In step 5, x3/4 is added to the adder/subtracter 27 from the multiplier 26.
(-xl+)C3)/4 is calculated. Data x2 is supplied from register 52 to multiplier 24, and coefficient 1/4 is supplied from coefficient memory 28 to multiplier 24. Data x3 is supplied from the register 57 to the multiplier 26, and coefficient 1/4 is supplied from the coefficient memory 29 to the multiplier 26.

ステップ6で、加減算器27から(−x、+x3)/4
がレジスタ55に供給される。乗算器24からx2/4
が加減算器25に供給される。乗算器26からx、/4
が加減算器27に供給される。レジスタ52からデータ
x2が乗算器24に供給され、係数メモリ28から係数
1/4が乗算器24に供給される。レジスタ57からデ
ータX2が乗算器26に供給され、係数メモリ29から
係数1/4が乗算器26に供給される。
In step 6, from the adder/subtractor 27, (-x, +x3)/4
is supplied to register 55. x2/4 from multiplier 24
is supplied to the adder/subtractor 25. x, /4 from multiplier 26
is supplied to the adder/subtractor 27. Data x2 is supplied from register 52 to multiplier 24, and coefficient 1/4 is supplied from coefficient memory 28 to multiplier 24. Data X2 is supplied from the register 57 to the multiplier 26, and coefficient 1/4 is supplied from the coefficient memory 29 to the multiplier 26.

ステップ7で、加減算器25から(Xo−x2)/4が
レジスタ54に供給される。乗算器24からX z /
 4が加減算器25に供給され、(x。
In step 7, (Xo-x2)/4 is supplied from the adder/subtractor 25 to the register 54. From the multiplier 24 X z /
4 is supplied to the adder/subtractor 25, and (x.

十Xz)/4が計算される。加減算器27から(X++
X3)/4がレジスタ58に供給される。
10Xz)/4 is calculated. From the adder/subtractor 27 (X++
X3)/4 is provided to register 58.

加減算器27にx3/4が供給される。この時、次のデ
ータの演算がステップ1から並行して開始される。
x3/4 is supplied to the adder/subtractor 27. At this time, calculation of the next data is started in parallel from step 1.

ステップ8で、レジスタ54から(Xo−Xz)/4が
実数部のフーリエ変換出力xIとしてデータメモリ22
に貯えられる。レジスタ55から(−XI +x3 )
/4が虚数部のフーリエ変換出力YIとしてデータメモ
リ23に貯えられる。加減算器27から(xl  X3
)/4がレジスタ55に供給される。
In step 8, (Xo-Xz)/4 is sent from the register 54 to the data memory 22 as the real part Fourier transform output xI.
can be stored in From register 55 (-XI +x3)
/4 is stored in the data memory 23 as the Fourier transform output YI of the imaginary part. From the adder/subtractor 27 (xl
)/4 is supplied to register 55.

ステップ9は、並行して行われる他のデータのフーリエ
変換の演算ステップは続けられているが、データXo”
’X3のフーリエ変換の演算に関しては、ステップ8の
状態が維持されている。
In step 9, the calculation step of Fourier transform of other data is continued, but the data Xo"
Regarding the calculation of the Fourier transform of 'X3, the state of step 8 is maintained.

ステップ10で、レジスタ54から(Xo −X2)/
4が実数部のフーリエ変換出力X3として  。
In step 10, from register 54 (Xo −X2)/
4 is the real part of the Fourier transform output X3.

データメモリ22に貯えられる。レジスタ55から(X
I  十X3 )/4が虚数部のフーリエ変換出力Y3
としてデータメモリ23に貯えられる。
The data is stored in the data memory 22. From register 55 (X
I 1X3 )/4 is the Fourier transform output Y3 of the imaginary part
It is stored in the data memory 23 as .

レジスタ58から(XI +x3)/4が加減算器25
に供給され、(Xo 十X+ +Xz +X3)/4が
求められ、レジスタ54に供給される。レジスタ55に
Oのデータが供給される。
(XI +x3)/4 from the register 58 is added to the adder/subtractor 25
(Xo +X+ +Xz +X3)/4 is determined and supplied to the register 54. Data of O is supplied to the register 55.

ステップ11で、レジスタ54から(x0+x+ +X
2+)C3)/4が実数部のフーリエ変換出力X0とし
てデータメモリ22に貯えられる。レジスタ55からデ
ータ0が虚数部のフーリエ変換出力Yoとしてデータメ
モリ23に貯えられる。
In step 11, from the register 54 (x0+x+ +X
2+)C3)/4 is stored in the data memory 22 as the real part Fourier transform output X0. Data 0 from the register 55 is stored in the data memory 23 as the Fourier transform output Yo of the imaginary part.

レジスタ58から(x++X3)/4が加減算器25に
供給され、(Xo  XI”XZ  X3)/4が求め
られ、レジスタ54に供給される。
(x++X3)/4 is supplied from the register 58 to the adder/subtractor 25, and (Xo XI''XZ X3)/4 is determined and supplied to the register 54.

ステップ12で、レジスタ54から(xo −X1+X
2  X:l)/4が実数部のフーリエ変換出力X2と
してデータメモリ22に貯えら、れる。レジスタ55か
らデータ0が虚数部のフーリエ変換出力Y2としてデー
タメモリ23に貯えられる。
In step 12, from register 54 (xo −X1+X
2X:l)/4 is stored in the data memory 22 as the real part Fourier transform output X2. Data 0 from the register 55 is stored in the data memory 23 as the Fourier transform output Y2 of the imaginary part.

向、上述の実施例において、係数メモリ28゜29は、
1つの係数メモリで構成するようにしても良い。
In the embodiments described above, the coefficient memories 28 and 29 are
It may be configured with one coefficient memory.

〔発明の効果〕〔Effect of the invention〕

この発明に依れば、入力データ列がデータメモリ22及
び23に交互に取り込まれるようになされている。従っ
て、演算回路の内部クロックが装置全体が制御されるク
ロックの1/2の周波数であっても、転送時間を1/2
に下げることなく、全てのデータ列をデータメモリ22
及び23に格納することができる。また、この発明に依
れば、入力データ列がデータメモリ22及び23に交互
に貯えられるため、1つのクロックで2つのデータを演
算回路に送り出せる。従って、従来最低4クロツタ必要
であったバタフライ演算を、3クロツクで行うことがで
き、従来最低8クロツク必要であった4点フーリエ変換
を6クロフクで行うことができ、演算の処理時間が短縮
される。
According to this invention, the input data strings are taken into the data memories 22 and 23 alternately. Therefore, even if the internal clock of the arithmetic circuit has half the frequency of the clock that controls the entire device, the transfer time will be half the frequency.
All data columns can be stored in the data memory 22 without
and 23. Furthermore, according to the present invention, since the input data strings are stored alternately in the data memories 22 and 23, two pieces of data can be sent to the arithmetic circuit with one clock. Therefore, the butterfly calculation, which conventionally required at least 4 clocks, can be performed in 3 clocks, and the 4-point Fourier transform, which conventionally required at least 8 clocks, can be performed in 6 clocks, reducing the processing time of the calculation. Ru.

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

第1図はこの発明の一実施例のブロック図、第2図はこ
の発明の一実施例における取り込み回路のブロック図、
第3図は取り込み回路の説明に用いる波形図、第4図は
この発明の一実施例における組換え回路のブロック図、
第5図はこの発明の他の実施例のブロック図、第6図は
この発明が適用される高速フーリエ変換回路の一例のブ
ロック図である。 22.23:データメモリ、24.26:乗算回路、2
5.27:加減算回路。
FIG. 1 is a block diagram of an embodiment of this invention, FIG. 2 is a block diagram of a capture circuit in an embodiment of this invention,
FIG. 3 is a waveform diagram used to explain the acquisition circuit, and FIG. 4 is a block diagram of a recombination circuit in an embodiment of the present invention.
FIG. 5 is a block diagram of another embodiment of the present invention, and FIG. 6 is a block diagram of an example of a fast Fourier transform circuit to which the present invention is applied. 22.23: Data memory, 24.26: Multiplication circuit, 2
5.27: Addition/subtraction circuit.

Claims (1)

【特許請求の範囲】 第1のデータメモリと第1の乗算回路と第1の加減算回
路とからなる実数部演算回路と、第2のデータメモリと
第2の乗算回路と第2の加減算回路とからなる虚数部演
算回路とを備えた高速フーリエ変換演算回路において、 入力データ列が実数データのみの場合には、この入力デ
ータ列を上記第1のデータメモリ及び上記第2のデータ
メモリに交互に取り込むように制御する手段を設けたこ
とを特徴とする高速フーリエ変換演算回路。
[Claims] A real part arithmetic circuit consisting of a first data memory, a first multiplication circuit, and a first addition/subtraction circuit; a second data memory, a second multiplication circuit, and a second addition/subtraction circuit; In the fast Fourier transform calculation circuit, when the input data string is only real number data, the input data string is alternately stored in the first data memory and the second data memory. A fast Fourier transform calculation circuit, characterized in that it is provided with means for controlling the input.
JP59223348A 1984-10-24 1984-10-24 Fast fourier transform arithmetic circuit Pending JPS61101872A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59223348A JPS61101872A (en) 1984-10-24 1984-10-24 Fast fourier transform arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59223348A JPS61101872A (en) 1984-10-24 1984-10-24 Fast fourier transform arithmetic circuit

Publications (1)

Publication Number Publication Date
JPS61101872A true JPS61101872A (en) 1986-05-20

Family

ID=16796753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59223348A Pending JPS61101872A (en) 1984-10-24 1984-10-24 Fast fourier transform arithmetic circuit

Country Status (1)

Country Link
JP (1) JPS61101872A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213162A (en) * 1990-12-07 1992-08-04 Sankyo Seiki Mfg Co Ltd Data processing system
CN105608055A (en) * 2016-01-27 2016-05-25 南京阿尔法莱瑞通信技术有限公司 Butterfly operation unit based on bit string architecture, FFT (Fast Fourier Transform) processor and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5532161A (en) * 1978-08-29 1980-03-06 Fujitsu Ltd Integration processing unit
JPS59205281A (en) * 1983-04-12 1984-11-20 リサーチ デベロップメント ファウンデイション Controller for electric operating machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5532161A (en) * 1978-08-29 1980-03-06 Fujitsu Ltd Integration processing unit
JPS59205281A (en) * 1983-04-12 1984-11-20 リサーチ デベロップメント ファウンデイション Controller for electric operating machine

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213162A (en) * 1990-12-07 1992-08-04 Sankyo Seiki Mfg Co Ltd Data processing system
CN105608055A (en) * 2016-01-27 2016-05-25 南京阿尔法莱瑞通信技术有限公司 Butterfly operation unit based on bit string architecture, FFT (Fast Fourier Transform) processor and method
CN105608055B (en) * 2016-01-27 2018-07-31 南京阿尔法莱瑞通信技术有限公司 A kind of butterfly processing element, fft processor and method based on bit string framework

Similar Documents

Publication Publication Date Title
US4385363A (en) Discrete cosine transformer
US4635292A (en) Image processor
US4949292A (en) Vector processor for processing recurrent equations at a high speed
JPS61101872A (en) Fast fourier transform arithmetic circuit
JPH05181896A (en) Discrete cosine transformation processing device
JPS5834037B2 (en) address calculation device
US5204962A (en) Processor with preceding operation circuit connected to output of data register
US5650952A (en) Circuit arrangement for forming the sum of products
JP3531208B2 (en) Digital signal processor
KR101100753B1 (en) Booth multiplier
JP2514473B2 (en) Parallel processor
JP3396818B2 (en) DCT operation circuit and IDCT operation circuit
JPS60129890A (en) Digital signal processor
JP2697619B2 (en) N-point FFT dedicated processor
JPS642290B2 (en)
JPS6058503B2 (en) Data processing control method
JPS6177965A (en) Picture processor
JPH01255032A (en) Arithmetic processing unit
JPH01311319A (en) Bus control circuit
JPS6380371A (en) Coordinate transforming device
JPH04333951A (en) Dma controller for processor
JPS63624A (en) Method for generating normal random number
JPH05303636A (en) Picture data processor
JPS60164868A (en) Fast fourier transforming device
JPH0443461A (en) Matrix multiplication circuit