JPH10334080A - Fast fourier transformation arithmetic unit - Google Patents

Fast fourier transformation arithmetic unit

Info

Publication number
JPH10334080A
JPH10334080A JP9144350A JP14435097A JPH10334080A JP H10334080 A JPH10334080 A JP H10334080A JP 9144350 A JP9144350 A JP 9144350A JP 14435097 A JP14435097 A JP 14435097A JP H10334080 A JPH10334080 A JP H10334080A
Authority
JP
Japan
Prior art keywords
index
clock
value
rotor
generating
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
JP9144350A
Other languages
Japanese (ja)
Inventor
Akihiro Furuta
暁広 古田
Yuji Nakai
祐二 中居
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9144350A priority Critical patent/JPH10334080A/en
Publication of JPH10334080A publication Critical patent/JPH10334080A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an FFT arithmetic unit capable of generating a rotator index string to perform a butterfly operation of a cardinal number 4 and performing FFT arithmetic operation of the cardinal number 4 as a result. SOLUTION: Evry progression obtained by arranging rotator indexes of four rotators to be supplied to an arithmetic operation part 12 in the order of size from small to large in each butterfly operation is an arithmetic progression whose initial member is zero and a progression obtained by arranging tolerances of each arithmetic progression is also provided with regularity when an executing order of the butterfly operation is properly selected. Therefore, an increment equivalent to the tolerance of each arithmetic progression is generated by every clock by an increment generating circuit 102 and the increment is added to the rotator index of one clock before the present one stored in a register 105 by an adder 104. On the other hand, the rotator indexes of the rotators to be supplied for every butterfly operation are successively generated by initializing a value which is held to zero for every four clocks by the register 105 by a rotator index generating circuit 10.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、高速フーリエ変換
演算装置に関し、より特定的には、基数4の高速フーリ
エ変換演算を行う高速フーリエ変換演算装置に関する。
The present invention relates to a fast Fourier transform operation device, and more particularly, to a fast Fourier transform operation device for performing a radix-4 fast Fourier transform operation.

【0002】[0002]

【従来の技術】近年、放送技術のディジタル化が急速に
進められており、テレビ放送や音声放送の分野において
も、OFDM(Orthogonal Frequen
cyDivision Multiplexing)と
呼ばれる変調方式を採用した地上ディジタルテレビ放
送、移動体向け衛星ディジタル放送などの実用化が検討
されている。OFDMの変復調処理は高速フーリエ変換
(Fast Fourier Transform;以
下、FFT)により行われるため、より高速な処理が可
能なFFT演算装置の開発の必要性が生じている。
2. Description of the Related Art In recent years, digitalization of broadcasting technology has been rapidly advanced, and in the field of television broadcasting and audio broadcasting, OFDM (Orthogonal Frequency) has also been used.
Practical use of digital terrestrial television broadcasting, mobile satellite digital broadcasting, and the like that employs a modulation method called cyDivision Multiplexing is being studied. Since OFDM modulation and demodulation is performed by Fast Fourier Transform (FFT), there is a need to develop an FFT operation device capable of higher-speed processing.

【0003】FFTは、バタフライ演算と呼ばれる基本
演算を入力値や係数を変えながら繰り返し行うことによ
り離散的フーリエ変換を高速に実行するアルゴリズムで
ある。N個の入力値に対して離散的フーリエ変換を行う
には通常、N2 回の複素乗算が必要であるが、基数2の
FFTアルゴリズムを用いると、乗算回数を{(N/
2)log2 N}回に減らすことができ、それだけ高速
な処理が可能となる。基数2のFFT演算は、汎用の電
子計算機やディジタル信号処理プロセッサなどによって
も実行できるが、特に高速な演算処理が求められる場合
には、専用のハードウエアで実行されることが多い。こ
うしたハードウエアは、従来、様々な構成のものが提案
されているが、一般には、特開昭60−147839号
公報「演算装置」に記載された構成に還元できる。以下
には、上記「演算装置」に代表される、従来のFFT演
算装置の動作について説明する。
The FFT is an algorithm for executing a discrete Fourier transform at a high speed by repeatedly performing a basic operation called a butterfly operation while changing input values and coefficients. Performing a discrete Fourier transform on N input values typically requires N 2 complex multiplications, but using a radix-2 FFT algorithm reduces the number of multiplications to {(N /
2) The number of operations can be reduced to log 2 N} times, so that high-speed processing can be performed. The radix-2 FFT operation can also be executed by a general-purpose computer or digital signal processor, but is often executed by dedicated hardware, especially when high-speed operation processing is required. Conventionally, various configurations of such hardware have been proposed, but in general, the configuration can be reduced to the configuration described in Japanese Patent Application Laid-Open No. 60-147839, "Computing Device". Hereinafter, the operation of the conventional FFT operation device represented by the “operation device” will be described.

【0004】上記従来のFFT演算装置は、バタフライ
演算を実行する演算部と、バタフライ演算に必要な係数
(以下、回転子、これについては後述)が格納された係
数メモリと、回転子を係数メモリから読み出すためのア
ドレスを発生するアドレス発生回路とを備えており、バ
タフライ演算毎に、必要な回転子が係数メモリから読み
出されて、演算部に供給される構成になっている。
The above-mentioned conventional FFT operation device includes an operation section for executing a butterfly operation, a coefficient memory in which coefficients necessary for the butterfly operation (hereinafter referred to as a rotator, which will be described later), and a rotator in a coefficient memory. And an address generating circuit for generating an address for reading from the memory. A required rotator is read from the coefficient memory for each butterfly operation and is supplied to the operation unit.

【0005】図15は、基数2のFFT演算の一例を示
す信号流れ図である。図15の演算は、サンプル点数1
6(=24 )の、時間間引き型と呼ばれるFFT演算で
あり、第1〜4演算ステージでそれぞれ8回、合計32
回のバタフライ演算を、番号(0〜31)順に実行する
ことにより、f(0)〜f(15)の16の入力値に対
して、F(0)〜F(15)の16個の出力値を得てい
る。
FIG. 15 is a signal flow chart showing an example of a radix-2 FFT operation. The calculation shown in FIG.
6 (= 2 4 ), which is an FFT operation called a time thinning-out type.
By performing the butterfly computations in the order of numbers (0 to 31), 16 output values of F (0) to F (15) are obtained for 16 input values of f (0) to f (15). Value.

【0006】すなわち、第1ステージでは、最初、入力
値f(0)およびf(8)に対して、f(0)+W0
f(8)、f(0)−W0 ・f(8)を計算し(番号0
のバタフライ演算)、次に、入力値f(4)およびf
(12)に対して、f(4)+W0 ・f(12)、f
(4)−W0 ・f(12)を計算し(番号1のバタフラ
イ演算)、以降、番号3〜7の順に、同様のバタフライ
演算を行う。第2ステージでは、第1ステージのバタフ
ライ演算で得られた値を入力値として、番号8〜15の
順に、同様のバタフライ演算を行う。第3、第4ステー
ジでも、同様のバタフライ演算を行うと、F(0)〜F
(15)の16個の出力値が得られる。
That is, in the first stage, first, for input values f (0) and f (8), f (0) + W 0
f (8), f (0 ) -W 0 Calculate f (8) (number 0
Butterfly operation), and then input values f (4) and f
For (12), f (4) + W 0 ・ F (12), f
(4) -W 0 Calculate f (12) (butterfly operation of number 1), and thereafter perform similar butterfly operations in the order of numbers 3 to 7. In the second stage, similar butterfly operations are performed in the order of numbers 8 to 15 using the values obtained by the butterfly operation of the first stage as input values. In the third and fourth stages, if similar butterfly operations are performed, F (0) to F (0) to F
The 16 output values of (15) are obtained.

【0007】ここで、Wn およびn(n=0、1、2、
…、N−1)はそれぞれ、回転子、回転子インディクス
と呼ばれ、一般に、サンプル点数(入力値の個数)をN
(ただし、Nは正の整数)として、次式(1)に示す関
係がある。 Wn =exp(−ω・2πn/N) =cos(2πn/N)−ω・sin(2πn/N)(ただし、ωは虚数 単位)…(1)
Here, W n And n (n = 0, 1, 2,
, N-1) are called a rotator and a rotator index, respectively. In general, the number of sample points (the number of input values) is N
(Where N is a positive integer) and has the relationship shown in the following equation (1). W n = exp (−ω · 2πn / N) = cos (2πn / N) −ω · sin (2πn / N) (where ω is an imaginary unit) (1)

【0008】各バタフライ演算には、W0 と(図中には
このW0 を記載していない)、W0〜W7 のいずれかと
の、それぞれ2つの回転子が必要であるが、図15から
明らかなように、後者の回転子の順序には規則性があ
る。そこで、図15のFFT演算を上記従来の装置で実
行しようとする場合、上式(1)で与えられる回転子W
n を係数メモリのn番地に記憶させておく一方、回転子
インディクス生成回路が、図15のものと同様の回転子
インディクス列を、この規則性を利用して、順次的に生
成すれば、バタフライ演算毎に、必要な回転子を演算部
に供給できる。
In each butterfly operation, W0And (in the figure
This W0), W0~ W7With one of
, Each requires two rotors, but from FIG.
Obviously, the order of the latter rotor has regularity.
You. Therefore, the FFT operation shown in FIG.
When the rotor W is to be driven, the rotor W given by the above equation (1)
n Is stored in the address n of the coefficient memory.
A rotor similar to that of FIG.
Index columns are created sequentially using this regularity.
If this is the case, the necessary rotator will be
Can be supplied.

【0009】図16は、図15のFFT演算において、
バタフライ演算の実行順序と各バタフライ演算に必要な
回転子の回転子インディクスとの関係を説明するための
図である。ただし、バタフライ実行順序は10進数で、
回転子インディクスは2進数(3ビット)でそれぞれ表
示されている。図16において、バタフライ実行順序
(0〜31)を2進表示した場合、第4ステージでは下
位3ビットが、第3ステージでは下位2ビットを取り出
してその下位に0を付加したものが、第2ステージでは
下位1ビットを取り出してその下位に00を付加したも
のが、それぞれ回転子インディクスに一致する。なお、
ここでは説明を省略するが、基数2の周波数間引き型と
呼ばれるFFT演算においてもほぼ同様の関係が成り立
つ。
FIG. 16 shows the result of the FFT operation shown in FIG.
FIG. 7 is a diagram for explaining a relationship between an execution order of butterfly operations and a rotor index of a rotor required for each butterfly operation. However, the butterfly execution order is decimal,
The rotator indices are each represented by a binary number (3 bits). In FIG. 16, when the butterfly execution order (0 to 31) is displayed in binary, the lower 3 bits are extracted in the fourth stage, and the lower 2 bits are extracted in the third stage and 0 is added to the lower bits. In the stage, the lower one bit is extracted and 00 is added to the lower bit, and each of the lower bits matches the rotator index. In addition,
Although the description is omitted here, almost the same relationship holds in an FFT operation called a radix-2 frequency thinning-out type.

【0010】従来のFFT演算装置の回転子インディク
ス生成回路は、この関係に着目して、バタフライ実行順
序に所定のビット操作を施すことにより、図15のもの
と同様の回転子インディクス列を生成している。例え
ば、バタフライ演算の実行回数をカウントするバイナリ
カウンタと、バイナリカウンタがカウントして得られた
値に所定のビット操作を施すシフトレジスタとを組み合
わせた回路が、特開昭51−105246号公報「高速
フーリエ変換ディジタル処理装置のアドレス演算回路」
に開示されている。その他、±1および2の巾乗歩進で
きるレジスタを用いた回路(特開昭62−175866
号公報「シグナルプロセッサ」)、セレクタとJ−Kフ
リップフロップとを組み合わせた回路(特開平2−22
0172号公報「高速フーリエ変換におけるバタフライ
演算用のアドレス発生回路」)なども知られている。
The rotator index generation circuit of the conventional FFT operation device pays attention to this relationship and performs a predetermined bit operation on the butterfly execution order, thereby forming a rotator index sequence similar to that of FIG. Has been generated. For example, a circuit combining a binary counter that counts the number of executions of a butterfly operation and a shift register that performs a predetermined bit operation on a value obtained by counting the binary counter is disclosed in Japanese Patent Application Laid-Open No. SHO 51-105246. Address operation circuit of Fourier transform digital processor "
Is disclosed. In addition, a circuit using a register capable of stepping by ± 1 and 2 (see Japanese Patent Application Laid-Open No. 62-175866)
Publication "Signal Processor"), a circuit combining a selector and a JK flip-flop (Japanese Patent Laid-Open No. 22-22 / 1990)
No. 0172, “Address Generation Circuit for Butterfly Operation in Fast Fourier Transform”, etc. are also known.

【0011】[0011]

【発明が解決しようとする課題】ところで、従来、FF
Tアルゴリズムは、基数2のもの以外にも、例えば基数
4のものが知られている。基数4のFFT演算を行え
ば、複素乗算回数を{(3N/8)log2 N}回に減
らすことができる。これは、基数2のFFTを行った場
合の乗算回数の、さらに3/4である。このため、基数
4のFFT演算を行えるようなFFT演算装置があれ
ば、上記OFDMにおいて求められるような高速処理を
実現することが期待できる。しかし、従来、上記の程度
の高速処理を要求されることがなかったため、基数4の
FFT演算を行うFFT演算装置は提供されていなかっ
た。
By the way, conventionally, FF
As the T algorithm, for example, a radix-4 algorithm other than the radix-2 algorithm is known. By performing a radix-4 FFT operation, the number of complex multiplications can be reduced to {(3N / 8) log 2 N}. This is 3 of the number of multiplications when the radix-2 FFT is performed. Therefore, if there is an FFT operation device capable of performing a radix-4 FFT operation, it can be expected that high-speed processing as required in the above-mentioned OFDM is realized. However, conventionally, an FFT operation device that performs a radix-4 FFT operation has not been provided since the above-described high-speed processing has not been required.

【0012】また、すでに説明したように、従来のFF
T演算装置では、回転子Wn を係数メモリのn番地に記
憶させておき、回転子インディクス生成回路が、図15
のものと同様の回転子インディクス列を、順次的に生成
することにより、バタフライ演算毎に、必要な回転子が
演算部に供給されていた。その際、回転子インディクス
生成回路は、バタフライ実行順序、すなわちバタフライ
演算毎に歩進するような数値に、直接的に所定のビット
操作を施すことにより、回転子インディクスを生成して
いた。
As described above, the conventional FF
In the T operation device, the rotator Wn is stored in the address n of the coefficient memory, and the rotator index generation circuit operates as shown in FIG.
By sequentially generating a rotor index sequence similar to that of the above, the necessary rotor was supplied to the calculation unit for each butterfly calculation. At that time, the rotator index generation circuit generates the rotator index by directly performing a predetermined bit operation on the butterfly execution order, that is, a numerical value that advances in each butterfly operation.

【0013】すなわち、従来のFFT演算装置では、回
転子インディクス生成回路は、各バタフライ演算に必要
な2つの回転子のうち、全てのバタフライ演算に必要な
0を除く1つの回転子の回転子インディクスのみを、
バタフライ演算毎に生成すればよく、このため、バタフ
ライ実行順序に所定のビット操作を施すことにより、容
易に回転子インディクスを生成できた。しかし、基数4
のFFT演算を行うためには、バタフライ演算毎にそれ
ぞれ4つ、全てのバタフライ演算に必要なW0を除いて
も、互いに異なる3つの回転子が必要である。従って、
バタフライ実行順序にビット操作を施して回転子インデ
ィクスを生成する従来のFFT演算装置では、基数4の
バタフライ演算を行うための回転子インディクス列を容
易に生成できず、その結果として、基数4のFFT演算
を行えない。
That is, in the conventional FFT operation device, the rotator index generation circuit controls the rotation of one of the two rotators required for each butterfly operation except for W 0 required for all butterfly operations. Only child indexes,
What is necessary is just to generate | occur | produce for every butterfly operation, for this reason, a rotor index was easily able to be generated by performing a predetermined bit operation on the butterfly execution order. However, radix 4
In order to perform the FFT operation, three rotators are required for each butterfly operation, and three different rotors are required even if W 0 required for all butterfly operations is excluded. Therefore,
In a conventional FFT operation device that generates a rotator index by performing a bit operation on a butterfly execution order, a rotator index sequence for performing a radix-4 butterfly operation cannot be easily generated. FFT operation cannot be performed.

【0014】それゆえに、本発明の目的は、基数4のバ
タフライ演算を行うための回転子インディクス列を順次
的に生成でき、その結果、基数4のFFT演算を行える
ようなFFT演算装置を提供することである。
Therefore, an object of the present invention is to provide an FFT operation device capable of sequentially generating a rotator index sequence for performing a radix-4 butterfly operation, and consequently performing a radix-4 FFT operation. It is to be.

【0015】また、従来のFFT演算装置では、係数メ
モリのn番地に回転子Wn そのものを記憶させておく代
わりに、cos(2πn/N)およびsin(2πn/
N) (Nはサンプル点数、n=n0 、n0 +1、n0 +2、
…;n0 は任意の整数) を一対にして記憶させておき、それらの三角関数値をも
とに、上式(1)によって回転子を生成することが多
い。この場合、三角関数の周期性や対称性を利用すれ
ば、係数メモリの容量を少なくできる。
Further, the conventional FFT arithmetic unit, instead of allowed to store the rotor W n itself address n coefficient memories, cos (2πn / N) and sin (2 [pi] n /
N) (N is the number of sample points, n = n 0 , n 0 +1, n 0 +2,
..; N 0 is an arbitrary integer) is stored as a pair, and a rotator is often generated by the above equation (1) based on the trigonometric function values. In this case, the capacity of the coefficient memory can be reduced by using the periodicity and symmetry of the trigonometric function.

【0016】こうしたFFT演算装置としては、例え
ば、係数メモリにcosineおよびsine関数値の
1/8周期分を一対にして記憶させるもの(特開昭51
−41931号公報「フーリエ変換用アドレス発生回
路」)、また、cosineおよびsine関数値を一
対にして記憶させる代わりに、1/4周期分のcosi
ne関数値を記憶させるもの(特開平5−324697
号公報「高速フーリエ変換演算用回転因子生成回路」)
などが知られている。
As such an FFT operation device, for example, a device in which a coefficient memory stores a pair of cosine and 周期 cycle of the sine function value (Japanese Patent Application Laid-Open No. SHO 51-51)
No. 4,1931, “Fourier transform address generation circuit”), instead of storing the cosine and sine function values as a pair,
One that stores ne function values (Japanese Unexamined Patent Publication No. Hei 5-324697)
Publication "Twirl Factor Generation Circuit for Fast Fourier Transform Operation")
Etc. are known.

【0017】上記のように、三角関数の周期性や対称性
を利用して回転子を生成すれば、係数メモリの容量を少
なくできる利点がある。しかし、上記「フーリエ変換用
アドレス発生回路」のように、cosineおよびsi
ne関数値の1/8周期分を一対にして記憶させたとし
ても、係数メモリへのアクセス回数は、1周期分を全て
記憶させた場合のアクセス回数と同じである。上記「高
速フーリエ変換演算用回転因子生成回路」ではむしろ、
一つの回転子を生成するのに係数メモリへ2回アクセス
することになるため、アクセス回数は2倍に増加する。
As described above, if the rotator is generated using the periodicity and symmetry of the trigonometric function, there is an advantage that the capacity of the coefficient memory can be reduced. However, as in the above “Fourier transform address generation circuit”, cosine and si
Even if one-eighth cycle of the ne function value is stored as a pair, the number of accesses to the coefficient memory is the same as the number of accesses when one cycle is entirely stored. In the above “Fast Fourier transform calculation twiddle factor generation circuit”,
Since two accesses to the coefficient memory are required to generate one rotator, the number of accesses is doubled.

【0018】すなわち、上記「フーリエ変換用アドレス
発生回路」および「高速フーリエ変換演算用回転因子生
成回路」では、いずれも係数メモリへのアクセス回数を
減らすような配慮がなされておらず、そのため、相対的
に消費電力が多く、また処理速度も遅い問題があった。
That is, neither the "Fourier transform address generation circuit" nor the "Fast Fourier transform calculation twiddle factor generation circuit" takes care to reduce the number of accesses to the coefficient memory. There is a problem that the power consumption is large and the processing speed is slow.

【0019】従って、本発明の他の目的は、バタフライ
演算時、係数メモリへのアクセス回数をより少なくし、
その結果、より少ない消費電力で、また、より高速な処
理速度でFFT演算を行えるFFT演算装置を提供する
ことである。
Therefore, another object of the present invention is to reduce the number of accesses to the coefficient memory during butterfly computation,
As a result, an object of the present invention is to provide an FFT operation device that can perform an FFT operation with less power consumption and at a higher processing speed.

【0020】[0020]

【課題を解決するための手段および発明の効果】第1の
発明は、高速フーリエ変換演算を行う装置であって、互
いに異なる複数の回転子が、当該複数の回転子に付され
た回転子インディクスに関連する番地に、それぞれ記憶
された記憶手段と、所定のバタフライ実行順序が設定さ
れており、当該順序に従って複数のバタフライ演算を実
行する演算手段と、複数のバタフライ演算毎に、記憶手
段から読み出されて演算手段に供給されるべき所定数の
回転子の回転子インディクスを順次的に生成する回転子
インディクス生成手段とを備え、回転子インディクス生
成手段は、クロックに関連して歩進するようなクロック
値を出力するクロック計数手段と、クロック計数手段が
出力したクロック値に関連して増分値を生成する増分値
生成手段と、所定の周期でクリア信号を発生するクリア
信号発生手段と、前回出力された回転子インディクス
と、増分値生成手段が生成した増分値とを加算する加算
手段と、加算手段が加算して得られた回転子インディク
スを一時保持して出力し、かつ、クリア信号発生手段が
発生したクリア信号に応じて、保持している回転子イン
ディクスを初期化する保持手段とを含んでいる。
Means for Solving the Problems and Effects of the Invention A first invention is an apparatus for performing a fast Fourier transform operation, wherein a plurality of rotors different from each other are attached to the plurality of rotors. The storage means stored in each of the addresses related to the index and a predetermined butterfly execution order are set, and the calculation means for executing a plurality of butterfly operations in accordance with the order, and the storage means for each of the plurality of butterfly operations. Rotor index generating means for sequentially generating a rotor index of a predetermined number of rotors to be read and supplied to the arithmetic means, wherein the rotor index generating means relates to a clock. A clock counting means for outputting a clock value such that the clock value is incremented; an increment value generating means for generating an increment value in association with the clock value output by the clock counting means; A clear signal generating means for generating a clear signal in a cycle, an adding means for adding the previously output rotor index and the increment value generated by the increment value generating means, and a rotation obtained by adding the adding means. Holding means for temporarily holding and outputting the child index and initializing the held rotor index in response to the clear signal generated by the clear signal generating means.

【0021】上記のように、第1の発明では、記憶手段
には、複数の回転子が、それらの回転子が記憶されてい
る番地と、それらの回転子に付された回転子インディク
スとが互いに関連するように記憶されている。演算手段
には所定のバタフライ実行順序が設定されており、演算
手段は、複数のバタフライ演算をその順序に従って実行
する。回転子インディクス生成手段は、各バタフライ演
算毎に、記憶手段に記憶されている回転子のうち、演算
手段に供給されるべき所定数の回転子の回転子インディ
クスを順次的に生成する。その際、クロック計数手段が
クロックに関連して歩進するようなクロック値を出力
し、増分値生成手段は、クロック計数手段が出力したク
ロック値に関連して増分値を生成する。加算手段は、前
回出力された回転子インディクスと、増分値生成手段が
生成した増分値とを加算する。保持手段は、加算手段が
加算して得られた回転子インディクスを一時保持して出
力するとともに、クリア信号発生手段が所定の周期で発
生するクリア信号に応じて、保持している回転子インデ
ィクスを初期化する。
As described above, in the first aspect, the storage means stores the plurality of rotors in the memory at the addresses where the rotors are stored, and the rotor index assigned to each of the rotors. Are stored in association with each other. A predetermined butterfly execution order is set in the arithmetic unit, and the arithmetic unit executes a plurality of butterfly operations in accordance with the order. The rotor index generating means sequentially generates, for each butterfly operation, a rotor index of a predetermined number of rotors to be supplied to the arithmetic means among the rotors stored in the storage means. At this time, the clock counting means outputs a clock value which advances in relation to the clock, and the increment value generation means generates an increment value in relation to the clock value output by the clock counting means. The adding means adds the previously output rotator index and the increment value generated by the increment value generating means. The holding means temporarily holds and outputs the rotor index obtained by the adding means, and also holds the rotor index held by the clear signal generating means in response to a clear signal generated at a predetermined cycle. Initialize the box.

【0022】このように、各バタフライ演算で演算手段
に供給されるべき所定数の回転子の回転子インディクス
を小さい順に並べて得られる数列がいずれも0を初項と
する等差数列であり、また、バタフライ実行順序が適当
に選ばれていれば、各等差数列の公差を並べて得られる
数列にも所定の規則性があることに着目して、各等差数
列の公差に相当する増分値を生成する。そして、保持し
ている前回の回転子インディクスにその増分値を加算し
て出力する動作を繰り返し、かつ保持している値を所定
の周期で0に初期化することにより、バタフライ演算毎
に、演算手段に供給されるべき所定数の回転子の回転子
インディクスを順次的に生成でき、その結果、FFT演
算を行える。
As described above, the sequence obtained by arranging the rotor indexes of the predetermined number of rotors to be supplied to the calculating means in each butterfly operation in ascending order is an arithmetic sequence having 0 as a first term. In addition, if the butterfly execution order is appropriately selected, focusing on the fact that the sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, the increment value corresponding to the tolerance of each arithmetic sequence is taken into account. Generate Then, by repeating the operation of adding the increment value to the retained previous rotor index and outputting the value, and initializing the retained value to 0 at a predetermined cycle, for each butterfly operation, Rotor indexes of a predetermined number of rotors to be supplied to the arithmetic means can be sequentially generated, and as a result, FFT operation can be performed.

【0023】第2の発明は、第1の発明において、クリ
ア信号発生手段は、クロック計数手段が出力するクロッ
ク値に基づいてクリア信号の発生タイミングを得ること
を特徴としている。
According to a second aspect of the present invention, in the first aspect, the clear signal generating means obtains a clear signal generation timing based on a clock value output from the clock counting means.

【0024】これにより、クリア信号発生手段は、クリ
ア信号を発生すべきタイミングを容易に得ることができ
る。
Thus, the clear signal generating means can easily obtain the timing for generating the clear signal.

【0025】第3の発明は、第1の発明において、演算
手段に設定されたバタフライ実行順序は、当該演算手段
に供給されるべき所定数の回転子が全て一致するような
バタフライ演算が連続して実行されるような順序である
ことを特徴としている。
According to a third aspect of the present invention, in the first aspect, the butterfly execution order set in the arithmetic means is such that butterfly operations such that a predetermined number of rotors to be supplied to the arithmetic means all coincide are continuous. The order is such that the order is executed.

【0026】上記のように、第3の発明では、必要な所
定数の回転子が全て一致するようなバタフライ演算がそ
れぞれ連続して実行されるため、増分値が変化する頻度
が低くなり、その結果、消費電力が少なくなる。
As described above, in the third aspect of the present invention, the butterfly computations in which all of the required predetermined number of rotors are all executed continuously are performed, so that the frequency at which the increment value changes is reduced. As a result, power consumption is reduced.

【0027】第4の発明は、基数4の高速フーリエ変換
演算を行う装置であって、互いに異なる複数の回転子
が、当該複数の回転子に付された回転子インディクスに
関連する番地に、それぞれ記憶された記憶手段と、所定
のバタフライ実行順序が設定されており、当該順序に従
って複数のバタフライ演算を実行する演算手段と、複数
のバタフライ演算毎に、記憶手段から読み出されて演算
手段に供給されるべき4つの回転子の回転子インディク
スを順次的に生成する回転子インディクス生成手段とを
備え、回転子インディクス生成手段は、1クロック毎に
歩進するようなクロック値を出力するクロック計数手段
と、クロック計数手段が出力したクロック値に関連して
増分値を生成する増分値生成手段と、4クロック毎にク
リア信号を発生するクリア信号発生手段と、1クロック
前に出力された回転子インディクスと、増分値生成手段
が生成した増分値とを加算する加算手段と、加算手段が
加算して得られた回転子インディクスを1クロック保持
して出力し、かつ、クリア信号発生手段が発生したクリ
ア信号に応じて、保持している回転子インディクスを初
期化する保持手段とを含んでいる。
According to a fourth aspect of the present invention, there is provided an apparatus for performing a radix-4 fast Fourier transform operation, wherein a plurality of different rotators are provided at addresses associated with rotator indexes assigned to the plurality of rotators. Each of the stored memory means and a predetermined butterfly execution order are set, and an arithmetic means for executing a plurality of butterfly operations in accordance with the order, and for each of the plurality of butterfly operations, read from the storage means and read to the arithmetic means. Rotor index generating means for sequentially generating rotor indexes of the four rotors to be supplied, wherein the rotor index generating means outputs a clock value such that it increments every clock. Clock counting means, an increment value generating means for generating an increment value in relation to the clock value output by the clock counting means, and a clear signal every four clocks. Rear signal generating means, adding means for adding the rotor index output one clock before, and the increment value generated by the increment value generating means, and a rotor index obtained by adding the adding means; Holding means for holding and outputting one clock and initializing the held rotor index in response to the clear signal generated by the clear signal generating means.

【0028】上記のように、第4の発明では、記憶手段
には、複数の回転子が、それらの回転子が記憶されてい
る番地と、それらの回転子に付された回転子インディク
スとが互いに関連するように記憶されている。演算手段
には所定のバタフライ実行順序が設定されており、演算
手段は、複数のバタフライ演算をその順序に従って実行
する。回転子インディクス生成手段は、各バタフライ演
算毎に、記憶手段に記憶されている回転子のうち、演算
手段に供給されるべき4つの回転子の回転子インディク
スを順次的に生成する。その際、クロック計数手段が1
クロック毎に歩進するようなクロック値を出力し、増分
値生成手段は、クロック計数手段が出力したクロック値
に関連して増分値を生成する。加算手段は、1クロック
前に出力された回転子インディクスと、増分値生成手段
が生成した増分値とを加算する。保持手段は、加算手段
が加算して得られた回転子インディクスを1クロック保
持して出力するとともに、クリア信号発生手段が4クロ
ック毎に発生するクリア信号に応じて、保持している回
転子インディクスを初期化する。
As described above, in the fourth aspect of the present invention, the storage means stores a plurality of rotors at the addresses where the rotors are stored and the rotor indexes assigned to the rotors. Are stored in association with each other. A predetermined butterfly execution order is set in the arithmetic unit, and the arithmetic unit executes a plurality of butterfly operations in accordance with the order. The rotor index generation means sequentially generates, for each butterfly operation, rotor indexes of four rotors to be supplied to the calculation means among the rotors stored in the storage means. At this time, the clock counting means is 1
A clock value is output so as to be incremented every clock, and the increment value generation means generates an increment value in relation to the clock value output by the clock counting means. The adding means adds the rotor index output one clock before and the increment value generated by the increment value generating means. The holding means holds the rotor index obtained by the addition means for one clock and outputs it, and the clear signal generation means holds the rotor index in response to a clear signal generated every four clocks. Initialize the index.

【0029】このように、各バタフライ演算で演算手段
に供給されるべき4つの回転子の回転子インディクスを
小さい順に並べて得られる数列がいずれも0を初項とす
る等差数列であり、また、バタフライ実行順序が適当に
選ばれていれば、各等差数列の公差を並べて得られる数
列にも所定の規則性があることに着目して、各等差数列
の公差に相当する増分値を生成する。そして、保持して
いる1クロック前の回転子インディクスにその増分値を
加算して出力する動作を繰り返し、かつ保持している値
を4クロック毎に0に初期化することにより、バタフラ
イ演算毎に、演算手段に供給されるべき4つの回転子の
回転子インディクスを順次的に生成でき、その結果、基
数4のFFT演算を行える。
As described above, the sequence obtained by arranging the rotor indices of the four rotors to be supplied to the calculating means in each butterfly operation in ascending order is an arithmetic progression having 0 as a first term. If the butterfly execution order is appropriately selected, paying attention to the fact that a sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, an increment value corresponding to the tolerance of each arithmetic sequence is calculated. Generate. By repeating the operation of adding the increment value to the retained rotor index one clock before and outputting the value, and initializing the retained value to 0 every four clocks, In addition, the rotor indexes of the four rotors to be supplied to the arithmetic means can be sequentially generated, and as a result, a radix-4 FFT operation can be performed.

【0030】第5の発明は、第4の発明において、クリ
ア信号発生手段は、クロック計数手段が出力するクロッ
ク値に基づいてクリア信号の発生タイミングを得ること
を特徴としている。
According to a fifth aspect of the present invention, in the fourth aspect, the clear signal generating means obtains the generation timing of the clear signal based on the clock value output from the clock counting means.

【0031】これにより、クリア信号発生手段は、クリ
ア信号を発生すべきタイミングを容易に得ることができ
る。
Thus, the clear signal generating means can easily obtain the timing for generating the clear signal.

【0032】第6の発明は、第4の発明において、演算
手段に設定されたバタフライ実行順序は、当該演算手段
に供給されるべき4つの回転子が全て一致するようなバ
タフライ演算が連続して実行されるような順序であるこ
とを特徴としている。
In a sixth aspect based on the fourth aspect, the butterfly execution order set in the arithmetic means is such that butterfly operations such that all four rotors to be supplied to the arithmetic means coincide with each other are continuously performed. It is characterized by the order in which they are executed.

【0033】上記のように、第6の発明では、必要な所
定数の回転子が全て一致するようなバタフライ演算がそ
れぞれ連続して実行されるため、増分値が変化する頻度
が低くなり、その結果、消費電力が少なくなる。
As described above, in the sixth aspect of the present invention, the butterfly computations in which all of the required predetermined number of rotors are all executed continuously are performed, so that the frequency at which the increment value changes is reduced. As a result, power consumption is reduced.

【0034】第7の発明は、第6の発明において、基数
4の高速フーリエ変換演算は、サンプル点数が4m (た
だし、mは2以上の任意の整数)の演算であり、増分値
生成手段は、第k演算ステージ(k=1、…、m)で
は、クロック計数手段が出力した2mビットのクロック
値の下位2ビットを除去した後、残りの2(m−1)ビ
ットの下位2(m−k)ビットをそれぞれ0に置換する
ことにより増分値を生成することを特徴としている。
In a seventh aspect based on the sixth aspect, the radix-4 Fast Fourier Transform operation is an operation having a sampling point of 4 m (where m is an arbitrary integer of 2 or more). In the k-th operation stage (k = 1,..., M), the lower 2 bits of the remaining 2 (m−1) bits are removed after removing the lower 2 bits of the 2m-bit clock value output by the clock counting means. mk) bits are each replaced with 0 to generate an increment value.

【0035】サンプル点数が4m である場合、増分値生
成手段は、第kステージ(k=1、…、m)では、クロ
ック計数手段が出力した2mビットのクロック値の下位
2ビットを除去した後、残りの2(m−1)ビットの下
位2(m−k)ビットをそれぞれ0に置換することによ
り、増分値を容易に生成できる。
If the number of sample points is 4 m , the increment value generation means removes the lower two bits of the 2m-bit clock value output by the clock counting means at the k-th stage (k = 1,..., M). Thereafter, the lower 2 (m−k) bits of the remaining 2 (m−1) bits are each replaced with 0, thereby easily generating an increment value.

【0036】第8の発明は、高速フーリエ変換演算を行
う装置であって、1/8周期分の一対の三角関数値{A
cos(2πn/N)、Asin(2πn/N)}(A
は正の定数、Nはサンプル点数、n=n0 +1、n0
2、…、n0 +N/8;n0 =r・N/8、rは任意の
整数)がそれぞれnに関連する番地に記憶された記憶手
段と、所定のバタフライ実行順序が設定されており、当
該順序に従って複数のバタフライ演算を実行する演算手
段と、複数のバタフライ演算毎に、演算手段に供給され
るべき所定数の回転子の回転子インディクスを順次的に
生成する回転子インディクス生成手段と、回転子インデ
ィクス生成手段が生成した回転子インディクスがN/4
の整数倍である場合に、rに関連して予め決められた一
対の三角関数値を生成する特定三角関数値生成手段と、
回転子インディクス生成手段が生成した回転子インディ
クスがN/4の整数倍でない場合に、当該回転子インデ
ィクスを記憶手段の番地を示すアドレス値に変換する変
換手段と、特定三角関数値生成手段が生成した一対の三
角関数値、または、記憶手段の、変換手段が変換して得
られたアドレス値に一致する番地に記憶された一対の三
角関数値に基づいて回転子を生成する回転子生成手段と
を備えている。
An eighth aspect of the present invention is an apparatus for performing a fast Fourier transform operation, wherein a pair of trigonometric function values ΔA for 1 / cycle are provided.
cos (2πn / N), Asin (2πn / N)} (A
Is a positive constant, N is the number of sample points, n = n 0 +1, n 0 +
2,..., N 0 + N / 8; n 0 = r · N / 8, where r is an arbitrary integer), and a predetermined butterfly execution order is set, and a predetermined butterfly execution order is set. Calculating means for performing a plurality of butterfly operations in accordance with the order, and rotor index generation for sequentially generating, for each of the plurality of butterfly operations, rotor indexes of a predetermined number of rotors to be supplied to the calculating means. Means and the rotor index generated by the rotor index generating means is N / 4
Specific trigonometric function value generating means for generating a pair of trigonometric function values predetermined in relation to r, when the integral multiple of r
Conversion means for converting the rotor index into an address value indicating the address of the storage means when the rotor index generated by the rotor index generation means is not an integral multiple of N / 4; A rotator for generating a rotator based on a pair of trigonometric function values generated by the means or a pair of trigonometric function values stored in an address of the storage means corresponding to the address value obtained by conversion by the conversion means; Generating means.

【0037】上記のように、第8の発明では、記憶手段
には、1/8周期分の一対の三角関数値{Acos(2
πn/N)、Asin(2πn/N)}(n=n0
1、n 0 +2、…、n0 +N/8)が、それぞれnに関
連する番地に記憶されている。演算手段には所定のバタ
フライ実行順序が設定されており、演算手段は、複数の
バタフライ演算をその順序に従って実行する。回転子イ
ンディクス生成手段は、各バタフライ演算毎に、演算手
段に供給されるべき所定数の回転子の回転子インディク
スを順次的に生成する。特定三角関数値生成手段は、回
転子インディクス生成手段が生成した回転子インディク
スがN/4の整数倍である場合に、予め決められた一対
の三角関数値を生成する。変換手段は、回転子インディ
クス生成手段が生成した回転子インディクスがN/4の
整数倍でない場合に、その回転子インディクスを、記憶
手段のいずれかの番地を示すアドレス値に変換する。回
転子生成手段は、特定三角関数値生成手段が生成した一
対の三角関数値、または、記憶手段の、変換手段が変換
して得られたアドレス値に一致する番地に記憶された一
対の三角関数値に基づいて、回転子を生成する。
As described above, in the eighth aspect, the storage means
Has a pair of trigonometric function values {Acos (2
πn / N), Asin (2πn / N)} (n = n0+
1, n 0 +2, ..., n0 + N / 8) is related to n
It is stored at consecutive addresses. The arithmetic means has a predetermined
The fly execution order is set, and the arithmetic means
Perform butterfly operations in that order. Rotor b
The index generator generates an operation method for each butterfly operation.
Rotor index of a given number of rotors to be supplied to the stage
Generated sequentially. The specific trigonometric function value generation means
Rotor index generated by trochanter index generator
Is a predetermined number of pairs, where N is an integral multiple of N / 4.
Generates a trigonometric function value of. The conversion means is a rotor indy
The rotor index generated by the motor generator is N / 4
Remember the rotator index if it is not an integer multiple
It is converted into an address value indicating any address of the means. Times
The trochanter generating means is the one generated by the specific trigonometric function value generating means.
The conversion function of the pair of trigonometric function values or the storage means is converted
Stored in the address that matches the address value obtained
A rotator is generated based on a pair of trigonometric function values.

【0038】このように、1/8周期分の一対の三角関
数値{Acos(2πn/N)、Asin(2πn/
N)}(n=n0 +1、n0 +2、…、n0 +N/8)
を、それぞれ記憶手段のnに関連する番地に記憶させて
おく一方、回転子インディクス生成手段が、バタフライ
演算毎に、必要な所定数の回転子の回転子インディクス
を順次的に生成する。そして、生成された回転子インデ
ィクスがN/4の整数倍である場合、特定三角関数値生
成手段が一対の三角関数値を生成し、N/4の整数倍で
ない場合には、変換手段が、その回転子インディクスを
記憶手段のいずれかの番地を示すアドレス値に変換す
る。さらに、回転子生成手段が、特定三角関数値生成手
段が生成した一対の三角関数値、または、変換手段が変
換して得られたアドレス値に一致する番地に記憶された
一対の三角関数値に基づいて回転子を生成することによ
り、FFT演算を行える。しかもその際、一対の三角関
数値を1/8周期分だけ記憶させるため、記憶手段の容
量が少なくてよい。さらには、頻繁に参照される一対の
三角関数値を特定三角関数値生成手段が生成するため、
その値を記憶させておいて読み出すのに比べて記憶手段
へのアクセス回数を少なくでき、その結果、消費電力を
減らすことができるとともに、処理速度も速くなる。
As described above, a pair of trigonometric function values 1 / Acos (2πn / N) and Asin (2πn /
N)} (n = n 0 +1, n 0 +2,..., N 0 + N / 8)
Is stored in the address associated with n in the storage means, while the rotor index generation means sequentially generates a required number of rotor indexes of the required number of rotors for each butterfly operation. When the generated rotator index is an integral multiple of N / 4, the specific trigonometric function value generation unit generates a pair of trigonometric function values. , Converts the rotator index into an address value indicating any address of the storage means. Further, the rotator generating means may convert the pair of trigonometric function values generated by the specific trigonometric function value generating means or the pair of trigonometric function values stored at an address corresponding to the address value obtained by conversion by the converting means. By generating a rotator based on this, an FFT operation can be performed. In addition, at this time, since a pair of trigonometric function values are stored for 周期 cycle, the capacity of the storage means may be small. Furthermore, since the specific trigonometric function value generation unit generates a pair of trigonometric function values that are frequently referred to,
The number of accesses to the storage unit can be reduced as compared with reading and storing the value, and as a result, power consumption can be reduced and the processing speed can be increased.

【0039】第9の発明は、第8の発明において、回転
子インディクス生成手段は、クロックに関連して歩進す
るようなクロック値を出力するクロック計数手段と、ク
ロック計数手段が出力したクロック値に関連して増分値
を生成する増分値生成手段と、所定の周期でクリア信号
を発生するクリア信号発生手段と、前回出力された回転
子インディクスと、増分値生成手段が生成した増分値と
を加算する加算手段と、加算手段が加算して得られた回
転子インディクスを一時保持して出力し、かつ、クリア
信号発生手段が発生したクリア信号に応じて、保持して
いる回転子インディクスを初期化する保持手段とを含ん
でいる。
In a ninth aspect based on the eighth aspect, the rotator index generating means comprises: a clock counting means for outputting a clock value which advances in relation to the clock; and a clock output by the clock counting means. Increment value generating means for generating an increment value in relation to the value, clear signal generating means for generating a clear signal at a predetermined cycle, a rotor index output last time, and an increment value generated by the increment value generating means And a rotor that temporarily holds and outputs the rotor index obtained by the addition, and that is held in accordance with the clear signal generated by the clear signal generator. Holding means for initializing the index.

【0040】上記のように、第9の発明では、回転子イ
ンディクス生成手段は、各バタフライ演算毎に、記憶手
段に記憶されている回転子のうち、演算手段に供給され
るべき所定数の回転子の回転子インディクスを順次的に
生成する。その際、クロック計数手段がクロックに関連
して歩進するようなクロック値を出力し、増分値生成手
段は、クロック計数手段が出力したクロック値に関連し
て増分値を生成する。加算手段は、前回出力された回転
子インディクスと、増分値生成手段が生成した増分値と
を加算する。保持手段は、加算手段が加算して得られた
回転子インディクスを一時保持して出力するとともに、
クリア信号発生手段が所定の周期で発生するクリア信号
に応じて、保持している回転子インディクスを初期化す
る。
As described above, in the ninth aspect of the present invention, the rotator index generating means determines, for each butterfly operation, a predetermined number of rotors to be supplied to the arithmetic means among the rotors stored in the storage means. The rotor index of the rotor is generated sequentially. At this time, the clock counting means outputs a clock value which advances in relation to the clock, and the increment value generation means generates an increment value in relation to the clock value output by the clock counting means. The adding means adds the previously output rotator index and the increment value generated by the increment value generating means. The holding means temporarily holds and outputs the rotor index obtained by the addition means,
The clear signal generating means initializes the held rotor index according to a clear signal generated at a predetermined cycle.

【0041】このように、各バタフライ演算で演算手段
に供給されるべき所定数の回転子の回転子インディクス
を小さい順に並べて得られる数列がいずれも0を初項と
する等差数列であり、また、バタフライ実行順序が適当
に選ばれていれば、各等差数列の公差を並べて得られる
数列にも所定の規則性があることに着目して、各等差数
列の公差に相当する増分値を生成する。そして、保持し
ている前回の回転子インディクスにその増分値を加算し
て出力する動作を繰り返し、かつ保持している値を所定
の周期で0に初期化することにより、バタフライ演算毎
に、演算手段に供給されるべき所定数の回転子の回転子
インディクスを順次的に生成できる。
As described above, the sequence obtained by arranging the rotor indices of a predetermined number of rotors to be supplied to the calculating means in each butterfly operation in ascending order is an arithmetic sequence having 0 as a first term, In addition, if the butterfly execution order is appropriately selected, focusing on the fact that the sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, the increment value corresponding to the tolerance of each arithmetic sequence is taken into account. Generate Then, by repeating the operation of adding the increment value to the retained previous rotor index and outputting the value, and initializing the retained value to 0 at a predetermined cycle, for each butterfly operation, Rotor indexes of a predetermined number of rotors to be supplied to the arithmetic means can be sequentially generated.

【0042】第10の発明は、高速フーリエ変換演算を
行う装置であって、一対の三角関数値{Acos(2π
n/N)、Asin(2πn/N)}(Aは正の定数、
Nはサンプル点数、n=n0 、n0 +1、n0 +2、
…;n0 は任意の整数)がそれぞれnに関連する番地に
記憶された記憶手段と、所定のバタフライ実行順序が設
定されており、当該順序に従って複数のバタフライ演算
を実行する演算手段と、複数のバタフライ演算毎に、演
算手段に供給されるべき所定数の回転子の回転子インデ
ィクスを順次的に生成する回転子インディクス生成手段
と、回転子インディクス生成手段が生成した回転子イン
ディクスを記憶手段の番地を示すアドレス値に変換する
変換手段と、記憶手段の、変換手段が変換して得られた
アドレス値に一致する番地に記憶された一対の三角関数
値に基づいて回転子を生成する回転子生成手段とを備
え、回転子生成手段は、記憶手段に記憶された一対の三
角関数値に正負を示す符号ビットをそれぞれ付加する符
号ビット付加手段を含んでいる。
According to a tenth aspect, there is provided an apparatus for performing a fast Fourier transform operation, comprising a pair of trigonometric function values {Acos (2π
n / N), Asin (2πn / N)} (A is a positive constant,
N is the number of sample points, n = n 0 , n 0 +1, n 0 +2,
...; n 0 is an arithmetic means for performing storage means arbitrary integer) is stored in the address associated with the n respective predetermined butterfly execution order is set, a plurality of butterfly operations in accordance with the order, a plurality A rotor index generating means for sequentially generating a rotor index of a predetermined number of rotors to be supplied to the calculating means for each of the butterfly operations, and a rotor index generated by the rotor index generating means. To the address value indicating the address of the storage means, and a rotator based on a pair of trigonometric function values stored in the storage means of the storage means at an address corresponding to the address value obtained by the conversion means. Rotator generating means for generating, the rotator generating means having sign bit adding means for adding sign bits indicating positive and negative to a pair of trigonometric function values stored in the storage means. And Nde.

【0043】上記のように、第10の発明では、記憶手
段には、一対の三角関数値{Acos(2πn/N)、
Asin(2πn/N)}(n=n0 、n0 +1、n0
+2、…)が、それぞれnに関連する番地に記憶されて
いる。演算手段には所定のバタフライ実行順序が設定さ
れており、演算手段は、複数のバタフライ演算をその順
序に従って実行する。回転子インディクス生成手段は、
各バタフライ演算毎に、演算手段に供給されるべき所定
数の回転子の回転子インディクスを順次的に生成する。
変換手段は、回転子インディクス生成手段が生成した回
転子インディクスを、記憶手段のいずれかの番地を示す
アドレス値に変換する。回転子生成手段は、記憶手段
の、変換手段が変換して得られたアドレス値に一致する
番地に記憶された一対の三角関数値に基づいて、回転子
を生成する。その際、符号ビット付加手段が、一対の三
角関数値にそれぞれ正負を示す符号ビットを付加する。
As described above, in the tenth aspect, the storage means stores a pair of trigonometric function values {Acos (2πn / N),
Asin (2πn / N)} (n = n 0 , n 0 +1, n 0
+2,...) Are stored at addresses associated with n. A predetermined butterfly execution order is set in the arithmetic unit, and the arithmetic unit executes a plurality of butterfly operations in accordance with the order. The rotor index generating means includes:
For each butterfly operation, a rotor index of a predetermined number of rotors to be supplied to the operation means is sequentially generated.
The converting means converts the rotator index generated by the rotator index generating means into an address value indicating any address of the storage means. The rotator generation means generates a rotator based on a pair of trigonometric function values stored in the storage means at an address corresponding to the address value obtained by the conversion by the conversion means. At this time, the sign bit adding means adds sign bits indicating positive and negative to each of the pair of trigonometric function values.

【0044】このように、一対の三角関数値{Acos
(2πn/N)、Asin(2πn/N)}(n=
0 、n0 +1、n0 +2、…)を、それぞれ記憶手段
のnに関連する番地に記憶させておく一方、回転子イン
ディクス生成手段が、バタフライ演算毎に、必要な所定
数の回転子の回転子インディクスを順次的に生成する。
そして、変換手段が、その回転子インディクスを記憶手
段のいずれかの番地を示すアドレス値に変換する。さら
に、回転子生成手段が、変換手段が変換して得られたア
ドレス値に一致する番地に記憶された一対の三角関数値
に基づいて回転子を生成することにより、FFT演算を
行える。しかも、回転子を生成する際、一対の三角関数
値にそれぞれ正負を示す符号ビットを付加しているた
め、一対の三角関数値をそれぞれ符号反転するのに比べ
て、装置の規模を小さくできる。これは、以下の理由に
よる。すなわち、一対の三角関数値を符号反転して回転
子を生成する場合、符号反転するための2の補数化回路
が2つ必要であり、また、バタフライ演算時、生成され
た回転子と入力値との複素乗算のための2の補数化回路
が1つ必要であるため、合計3つの2の補数化回路が必
要である。一方、一対の三角関数値に符号ビットを付加
して回転子を生成すれば、バタフライ演算時、生成され
た回転子と入力値との複素乗算のための2つの2の補数
化回路があればよい。符号ビットを付加するための回路
と2の補数化回路とでは、2の補数化回路の方がより大
規模であるため、三角関数値を符号反転して回転子を生
成するのに比べて、装置の規模を小さくできる。
Thus, a pair of trigonometric function values {Acos
(2πn / N), Asin (2πn / N)} (n =
n 0, n 0 + 1, n 0 + 2, ... an), while allowed to store the address associated with n in each storage means, the rotor-index generating means, for each butterfly operation, rotated by a predetermined number of required Generate child rotator indexes sequentially.
Then, the conversion means converts the rotor index into an address value indicating any address of the storage means. Further, the rotator generation means can perform the FFT operation by generating a rotator based on a pair of trigonometric function values stored at an address corresponding to the address value obtained by conversion by the conversion means. Moreover, when the rotator is generated, a sign bit indicating positive or negative is added to each of the pair of trigonometric function values, so that the scale of the apparatus can be reduced as compared with inverting the sign of each of the pair of trigonometric function values. This is for the following reason. That is, when a rotator is generated by inverting the sign of a pair of trigonometric function values, two 2's complementing circuits for inverting the sign are required, and the generated rotator and input value are used at the time of butterfly operation. Therefore, one two's complement circuit is required for complex multiplication with, so that a total of three two's complement circuits are required. On the other hand, if a rotator is generated by adding a sign bit to a pair of trigonometric function values, if there are two two's complement circuits for complex multiplication of the generated rotator and the input value at the time of butterfly operation, Good. In the circuit for adding the sign bit and the two's complement circuit, since the two's complement circuit is larger in scale, compared to generating the rotator by inverting the sign of the trigonometric function value, The size of the device can be reduced.

【0045】第11の発明は、第10の発明において、
回転子インディクス生成手段は、クロックに関連して歩
進するようなクロック値を出力するクロック計数手段
と、クロック計数手段が出力したクロック値に関連して
増分値を生成する増分値生成手段と、所定の周期でクリ
ア信号を発生するクリア信号発生手段と、前回出力され
た回転子インディクスと、増分値生成手段が生成した増
分値とを加算する加算手段と、加算手段が加算して得ら
れた回転子インディクスを一時保持して出力し、かつ、
クリア信号発生手段が発生したクリア信号に応じて、保
持している回転子インディクスを初期化する保持手段と
を含んでいる。
According to an eleventh aspect, in the tenth aspect,
The rotator index generating means includes: a clock counting means for outputting a clock value that advances in relation to the clock; and an increment value generating means for generating an increment value in relation to the clock value output by the clock counting means. A clear signal generating means for generating a clear signal at a predetermined cycle, an adding means for adding a previously output rotor index, and an increment value generated by the increment value generating means, Holds and outputs the rotator index temporarily, and
Holding means for initializing the held rotor index in response to the clear signal generated by the clear signal generating means.

【0046】上記のように、第11の発明では、回転子
インディクス生成手段は、各バタフライ演算毎に、記憶
手段に記憶されている回転子のうち、演算手段に供給さ
れるべき所定数の回転子の回転子インディクスを順次的
に生成する。その際、クロック計数手段がクロックに関
連して歩進するようなクロック値を出力し、増分値生成
手段は、クロック計数手段が出力したクロック値に関連
して増分値を生成する。加算手段は、前回出力された回
転子インディクスと、増分値生成手段が生成した増分値
とを加算する。保持手段は、加算手段が加算して得られ
た回転子インディクスを一時保持して出力するととも
に、クリア信号発生手段が所定の周期で発生するクリア
信号に応じて、保持している回転子インディクスを初期
化する。
As described above, in the eleventh aspect, the rotor index generating means includes a predetermined number of rotors to be supplied to the calculating means among the rotors stored in the storing means for each butterfly calculation. The rotor index of the rotor is generated sequentially. At this time, the clock counting means outputs a clock value which advances in relation to the clock, and the increment value generation means generates an increment value in relation to the clock value output by the clock counting means. The adding means adds the previously output rotator index and the increment value generated by the increment value generating means. The holding means temporarily holds and outputs the rotor index obtained by the adding means, and also holds the rotor index held by the clear signal generating means in response to a clear signal generated at a predetermined cycle. Initialize the box.

【0047】このように、各バタフライ演算で演算手段
に供給されるべき所定数の回転子の回転子インディクス
を小さい順に並べて得られる数列がいずれも0を初項と
する等差数列であり、また、バタフライ実行順序が適当
に選ばれていれば、各等差数列の公差を並べて得られる
数列にも所定の規則性があることに着目して、各等差数
列の公差に相当する増分値を生成する。そして、保持し
ている前回の回転子インディクスにその増分値を加算し
て出力する動作を繰り返し、かつ保持している値を所定
の周期で0に初期化することにより、バタフライ演算毎
に、演算手段に供給されるべき所定数の回転子の回転子
インディクスを順次的に生成できる。
As described above, any sequence obtained by arranging the rotor indexes of a predetermined number of rotors to be supplied to the calculating means in each butterfly operation in ascending order is an arithmetic sequence having 0 as a first term, In addition, if the butterfly execution order is appropriately selected, focusing on the fact that the sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, the increment value corresponding to the tolerance of each arithmetic sequence is taken into account. Generate Then, by repeating the operation of adding the increment value to the retained previous rotor index and outputting the value, and initializing the retained value to 0 at a predetermined cycle, for each butterfly operation, Rotor indexes of a predetermined number of rotors to be supplied to the arithmetic means can be sequentially generated.

【0048】[0048]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(第1の実施形態)以下、本発明の第1の実施形態につ
いて、図面を参照しながら説明する。図1は、本発明の
第1の実施形態に係る高速フーリエ変換演算装置の構成
を示すブロック図である。図1の装置は、回転子インデ
ィクス生成回路10、テーブル11および演算部12を
備えている。回転子インディクス生成回路10は、クロ
ックカウンタ101、増分値生成回路102、クリア信
号発生回路103、加算器104およびレジスタ105
を含む。
(First Embodiment) Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the fast Fourier transform operation device according to the first embodiment of the present invention. 1 includes a rotator index generation circuit 10, a table 11, and a calculation unit 12. The rotator index generation circuit 10 includes a clock counter 101, an increment value generation circuit 102, a clear signal generation circuit 103, an adder 104, and a register 105.
including.

【0049】テーブル11(係数メモリ)には、回転子
が記憶されている。演算部12は、バタフライ演算を実
行する。回転子インディクス生成回路10は、テーブル
11に記憶されている回転子のうち、演算部12に供給
されるべき回転子の回転子インディクスを、順次的に生
成する。クロックカウンタ101は、1クロック毎に歩
進するようなクロック値を出力する。増分値生成回路1
02は、クロック値に関連して、増分値を生成する。加
算器104は、1クロック前に出力された回転子インデ
ィクスと、増分値とを加算する。クリア信号発生回路1
03は、4クロック毎にクリア信号を発生する。レジス
タ105は、加算して得られた回転子インディクスを1
クロック保持して出力し、かつクリア信号に応じて、保
持している回転子インディクスを初期化する。
The table 11 (coefficient memory) stores rotators. The operation unit 12 performs a butterfly operation. The rotator index generation circuit 10 sequentially generates rotator indexes of the rotators to be supplied to the arithmetic unit 12 among the rotators stored in the table 11. The clock counter 101 outputs a clock value that increases by one clock. Incremental value generation circuit 1
02 generates an increment value in relation to the clock value. The adder 104 adds the rotor index output one clock before and the increment value. Clear signal generation circuit 1
03 generates a clear signal every four clocks. The register 105 sets the rotor index obtained by the addition to 1
The clock is held and output, and the held rotor index is initialized according to the clear signal.

【0050】図2は、基数4のFFT演算の一例を示す
信号流れ図である。図2の演算は、サンプル点数64
(=43 )の時間間引き型と呼ばれるFFT演算であ
り、第1〜3ステージでそれぞれ16回、合計48回の
バタフライ演算を、番号(0〜47)順に実行すること
により、f(0)〜f(63)の64個の入力値に対し
て、F(0)〜F(63)の64個の出力値を得てい
る。
FIG. 2 is a signal flow chart showing an example of a radix-4 FFT operation. The calculation shown in FIG.
(= 4 3) a time FFT operation called thinning type, respectively 16 times in the first to third stage, the butterfly operation of a total of 48 times, by executing number (0-47) in this order, f (0) 64 output values of F (0) to F (63) are obtained for 64 input values of f (63) to f (63).

【0051】図3は、図2の演算の各バタフライ演算
(実行順序0〜47)でそれぞれ用いられる回転子の回
転子インディクスを示す図である。なお、図2および3
において、バタフライ実行順序および回転子インディク
スは、いずれも10進表示されており、また、図2にお
いては、必要な4つの回転子インディクスが全て0のバ
タフライ演算には、回転子インディクス(すなわち、
0)の記載を省略している。
FIG. 3 is a diagram showing the rotor index of the rotor used in each butterfly operation (execution order 0 to 47) of the operation of FIG. 2 and 3
, The butterfly execution order and the rotator index are both displayed in decimal, and in FIG. 2, the necessary four rotator indexes are all 0, and the rotator index ( That is,
0) is omitted.

【0052】以下には、図1の装置で図2の演算を行う
動作について、図1〜3を用いて説明する。図1の装置
で図2のFFT演算を行うには、バタフライ演算毎に、
図3に示すような4つの回転子が、それぞれ演算部12
に供給される必要がある。そこで、図1の装置では、供
給されるべき回転子を全て、予めテーブル11に記憶さ
せておく。その際、各回転子に付された回転子インディ
クスと、各回転子が記憶されている番地とが一致するよ
うに、記憶させる。その一方で、回転子インディクス生
成回路10が、バタフライ演算毎に、図3に示すものと
同様の4つの回転子インディクスを、順次的に生成すれ
ば、テーブル11に記憶された回転子のうち、生成され
た回転子インディクスに一致する番地に格納された回転
子が読み出されて演算部12に供給され、図2の演算を
行えることになる。
The operation of performing the operation of FIG. 2 by the apparatus of FIG. 1 will be described below with reference to FIGS. In order to perform the FFT operation of FIG. 2 with the apparatus of FIG. 1, for each butterfly operation,
The four rotors as shown in FIG.
Need to be supplied. Therefore, in the apparatus of FIG. 1, all the rotors to be supplied are stored in the table 11 in advance. At that time, the rotor index added to each rotor is stored so that the address where each rotor is stored matches. On the other hand, if the rotor index generation circuit 10 sequentially generates four rotor indexes similar to those shown in FIG. 3 for each butterfly operation, the rotor index generation circuit 10 stores the rotor indexes stored in the table 11. Of these, the rotator stored at the address corresponding to the generated rotator index is read out and supplied to the calculation unit 12, so that the calculation in FIG. 2 can be performed.

【0053】ここで、図3から明らかなように、各バタ
フライ演算に必要な4つの回転子の回転子インディクス
を小さい順に並べて得られる数列は、いずれも0を初項
とする等差数列である。また、図2の演算では、バタフ
ライ実行順序が適当に選ばれているため、各等差数列の
公差を並べて得られる数列にも規則性がある。
Here, as is clear from FIG. 3, the sequence obtained by arranging the rotor indices of the four rotors necessary for each butterfly operation in ascending order is an arithmetic sequence with 0 as the first term. is there. In the operation of FIG. 2, since the butterfly execution order is appropriately selected, the sequence obtained by arranging the tolerances of the arithmetic progression sequences has regularity.

【0054】そこで、クロックカウンタ101が、1ク
ロック毎に歩進するようなクロック値を出力し、増分値
生成回路102は、クロックカウンタ101が出力した
クロック値に関連して、上記の公差に相当する増分値を
生成する。加算器104は、1クロック前に出力された
回転子インディクスと、増分値生成回路102が生成し
た増分値とを加算する。一方、クリア信号発生回路10
3が、4クロック毎にクリア信号を発生し、レジスタ1
05は、加算器104が加算して得られた回転子インデ
ィクスを1クロック保持して出力し、かつクリア信号発
生回路103が発生したクリア信号に応じて、保持して
いる回転子インディクスを0に初期化する。これによ
り、回転子インディクス生成回路10は、バタフライ演
算毎に、演算部12に供給されるべき4つの回転子の回
転子インディクス、すなわち図3と同様の回転子インデ
ィクス列を、順次的に生成できる。
Therefore, the clock counter 101 outputs a clock value that advances by one clock, and the increment value generation circuit 102 corresponds to the above-described tolerance in relation to the clock value output by the clock counter 101. To generate an increment value. The adder 104 adds the rotator index output one clock before and the increment value generated by the increment value generation circuit 102. On the other hand, the clear signal generation circuit 10
3 generates a clear signal every four clocks,
Reference numeral 05 denotes a rotor index obtained by the addition by the adder 104, which is held for one clock and is output, and the held rotor index is held in response to the clear signal generated by the clear signal generating circuit 103. Initialize to 0. Accordingly, the rotor index generation circuit 10 sequentially outputs the rotor indices of the four rotors to be supplied to the operation unit 12, that is, the rotor index sequence similar to that in FIG. Can be generated.

【0055】なお、クリア信号発生回路103がクリア
信号を発生すべきタイミング、すなわち4クロックの時
間間隔は、クロック値の下位2ビットのNOR(論理和
の否定)をとることにより得ることができる。
The timing at which the clear signal generating circuit 103 should generate a clear signal, that is, the time interval of four clocks, can be obtained by NORing the lower two bits of the clock value (Negation of logical sum).

【0056】図4は、図2のFFT演算を行う場合に、
図1の装置のa〜d点をそれぞれ伝達される数値(10
進表示)の時間変化を示すタイミングチャートである。
図4に示すように、a点を伝達される数値(クロック
値)は、初期値を0としてクロック毎に1ずつ増加し、
演算ステージ毎に0に初期化される。b点を伝達される
数値(増分値)は、第1ステージでは全て0であり、第
2ステージでは、初期値を0として、4クロック毎に
4、8、12、0、4、8、12、…、0、4、8、1
2と変化する。また、第3ステージでは、初期値を0と
して4クロック毎に1、2、…、15と変化する。ま
た、c点では、4クロック毎にパルス信号(クリア信
号)が伝達される。
FIG. 4 shows a case where the FFT operation of FIG. 2 is performed.
The values (10) transmitted at points a to d of the apparatus of FIG.
6 is a timing chart showing a temporal change of a hexadecimal display).
As shown in FIG. 4, the numerical value (clock value) transmitted at the point a increases by 1 every clock with the initial value being 0,
Initialized to 0 for each operation stage. The numerical values (increment values) transmitted at the point b are all 0 in the first stage, and in the second stage, the initial value is 0, and 4, 8, 12, 0, 4, 8, 12 every 4 clocks. , ..., 0,4,8,1
It changes to 2. Also, in the third stage, the initial value changes to 1, 2,..., 15 every four clocks with the initial value being 0. At point c, a pulse signal (clear signal) is transmitted every four clocks.

【0057】加算器104は、レジスタ105に保持さ
れた1クロック前の回転子インディクスと増分値(b
点)とを加算し、再びレジスタ105へ与える。一方、
レジスタ105は、与えられた回転子インディクスを1
クロック保持して出力するが、クリア信号(c点)に応
じて、保持している回転子インディクスを0に初期化す
る。このため、d点を伝達される回転子インディクス
は、第1ステージでは、{0、0、0、0}、…、
{0、0、0、0}、第2ステージでは、{0、0、
0、0}、{0、4、8、12}、{0、8、16、2
4}、{0、12、24、36}、…、{0、0、0、
0}、{0、4、8、12}、{0、8、16、2
4}、{0、12、24、36}、第3ステージでは、
{0、0、0、0}、{0、1、2、3}、{0、2、
4、6}、…、{0、15、30、45}となる。
The adder 104 calculates the rotator index one clock before and the increment value (b) held in the register 105.
) And the result is given to the register 105 again. on the other hand,
The register 105 stores the given rotator index in 1
The clock is held and output, but the held rotor index is initialized to 0 according to the clear signal (point c). Therefore, in the first stage, the rotor index transmitted at point d is {0, 0, 0, 0},.
{0,0,0,0}, in the second stage, {0,0,
0, 0}, {0, 4, 8, 12}, {0, 8, 16, 2
4}, {0, 12, 24, 36}, ..., {0, 0, 0,
0}, {0, 4, 8, 12}, {0, 8, 16, 2}
4}, {0, 12, 24, 36}, in the third stage,
{0, 0, 0, 0}, {0, 1, 2, 3}, {0, 2,
4, 6},..., {0, 15, 30, 45}.

【0058】このように、各バタフライ演算で演算部1
2に供給されるべき4つの回転子の回転子インディクス
を小さい順に並べて得られる数列は、いずれも0を初項
とする等差数列であり、また、バタフライ実行順序が適
当に選ばれていれば、各等差数列の公差を並べて得られ
る数列にも所定の規則性があることに着目して、1クロ
ック毎に各等差数列の公差に相当する増分値を生成し、
1クロック前の回転子インディクスにその増分値を加算
する。こうして得られる回転子インディクスを、4クロ
ック毎に0に初期化することにより、回転子インディク
ス生成回路10は、バタフライ演算毎に、図3のものと
同等の回転子インディクス列を、順次的に生成できる。
As described above, the operation unit 1 is used in each butterfly operation.
The sequence obtained by arranging the rotor indices of the four rotors to be supplied to 2 in ascending order is an arithmetic progression with 0 as a first term, and the butterfly execution order is appropriately selected. For example, focusing on the fact that a sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, an increment value corresponding to the tolerance of each arithmetic sequence is generated every clock,
The increment value is added to the rotator index one clock before. By initializing the rotor index thus obtained to 0 every four clocks, the rotor index generation circuit 10 sequentially generates a rotor index sequence equivalent to that of FIG. 3 for each butterfly operation. Can be generated automatically.

【0059】ところで、増分値生成回路102は、以下
のようにして、クロックカウンタ101が出力するクロ
ック値をもとに、増分値を生成することができる。すな
わち、第1ステージでは、クロックカウンタ101が出
力した6ビットのクロック値の下位2ビットを除去した
後、残りの4ビットをそれぞれ0に置換し、第2ステー
ジでは、クロックカウンタ101が出力した6ビットの
クロック値の上位2ビットを除去した後、残りの4ビッ
トの下位2ビットをそれぞれ0に置換し、第3ステージ
では、クロックカウンタ101が出力した6ビットのク
ロック値の下位2ビットを除去すればよい。なお、演算
ステージの進行は、クロック値をもとに判断することが
できる。
Incidentally, the increment value generation circuit 102 can generate an increment value based on the clock value output from the clock counter 101 as follows. That is, in the first stage, after removing the lower 2 bits of the 6-bit clock value output by the clock counter 101, the remaining 4 bits are replaced with 0, respectively. In the second stage, the 6 bits output by the clock counter 101 are output. After removing the upper 2 bits of the clock value of the bit, the lower 2 bits of the remaining 4 bits are replaced with 0, respectively. In the third stage, the lower 2 bits of the 6-bit clock value output by the clock counter 101 are removed. do it. The progress of the operation stage can be determined based on the clock value.

【0060】以上のように、本実施形態によれば、図3
のものと同様の回転子インディクス列を順次的に生成で
き、その結果、基数4のFFT演算を行うことができ
る。
As described above, according to the present embodiment, FIG.
A rotator index sequence similar to that of the above can be sequentially generated, and as a result, a radix-4 FFT operation can be performed.

【0061】なお、本実施形態では、FFT演算を時間
間引き型としたが、周波数間引き型であってもよい。
In the present embodiment, the FFT operation is of the time thinning type, but may be of the frequency thinning type.

【0062】また、図1の装置において、テーブル11
に記憶された回転子の虚数部の符号を全て反転させるこ
とにより、逆FFT演算も行える。
In the apparatus shown in FIG.
By inverting all the signs of the imaginary part of the rotator stored in, the inverse FFT operation can be performed.

【0063】また、基数4のFFT演算に限らず、FF
T演算では一般に、各バタフライ演算で演算部12に供
給されるべき所定数の回転子の回転子インディクスを小
さい順に並べて得られる数列がいずれも0を初項とする
等差数列であり、また、バタフライ実行順序が適当に選
ばれていれば、各等差数列の公差を並べて得られる数列
にも所定の規則性がある。従って、上記と同様、各等差
数列の公差に相当する増分値を生成し、保持している前
回の回転子インディクスにその増分値を加算して出力す
る動作を繰り返す。そして、保持している値を所定の周
期で0に初期化することにより、バタフライ演算毎に、
演算部12に供給されるべき所定数の回転子の回転子イ
ンディクスを順次的に生成でき、その結果、任意の基数
のFFT演算を行える。
In addition to the radix-4 FFT operation,
In the T operation, generally, a sequence obtained by arranging the rotor indexes of a predetermined number of rotors to be supplied to the operation unit 12 in each butterfly operation in ascending order is an arithmetic sequence having 0 as a first term, and If the butterfly execution order is appropriately selected, the sequence obtained by arranging the tolerances of the arithmetic progression sequences also has a predetermined regularity. Therefore, as described above, the operation of generating an increment value corresponding to the tolerance of each arithmetic progression, adding the increment value to the held previous rotor index, and outputting the result is repeated. Then, by initializing the held value to 0 at a predetermined cycle, each time the butterfly operation is performed,
Rotor indices of a predetermined number of rotors to be supplied to the operation unit 12 can be sequentially generated, and as a result, FFT operation of an arbitrary radix can be performed.

【0064】(第2の実施形態)以下、本発明の第2の
実施形態について、図面を参照しながら説明する。図5
は、本発明の第2の実施形態に係る高速フーリエ変換演
算装置の構成を示すブロック図である。図5の装置は、
図1の装置において、回転子インディクス生成回路10
に代えて、回転子インディクス生成回路10aを備えて
いる。回転子インディクス生成回路10aは、図1の回
転子インディクス生成回路10において、ステージカウ
ンタ501をさらに含み、また、増分値生成回路102
に代えて、増分値生成回路102aを含む。
(Second Embodiment) Hereinafter, a second embodiment of the present invention will be described with reference to the drawings. FIG.
FIG. 6 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a second embodiment of the present invention. The device of FIG.
In the apparatus of FIG. 1, the rotor index generation circuit 10
And a rotor index generation circuit 10a. The rotator index generation circuit 10a further includes a stage counter 501 in the rotator index generation circuit 10 of FIG.
, An incremental value generation circuit 102a is included.

【0065】ステージカウンタ501は、演算ステージ
毎に歩進するようなステージ値を出力する。増分値生成
回路102aは、クロック値およびステージ値に関連し
て、増分値を生成する。他の構成要素は、図1の対応す
るものと同様の動作を行う。
The stage counter 501 outputs a stage value such as to advance for each operation stage. The increment value generation circuit 102a generates an increment value in association with the clock value and the stage value. Other components perform operations similar to the corresponding ones in FIG.

【0066】図6は、基数4のFFT演算の他の一例を
示す信号流れ図である。図6の演算は、第2ステージの
バタフライ実行順序が異なる点を除けば、図2の演算と
同様の演算である。図7は、図6の演算の各バタフライ
演算(実行順序0〜47)でそれぞれ用いられる回転子
の回転子インディクスを示す図である。なお、図6およ
び7において、バタフライ実行順序および回転子インデ
ィクスは、いずれも10進表示されており、また、図6
においては、必要な4つの回転子インディクスが全て0
のバタフライ演算には、回転子インディクス(すなわ
ち、0)の記載を省略している。
FIG. 6 is a signal flow chart showing another example of the radix-4 FFT operation. The operation in FIG. 6 is similar to the operation in FIG. 2 except that the order of butterfly execution in the second stage is different. FIG. 7 is a diagram illustrating a rotor index of the rotor used in each butterfly operation (execution order 0 to 47) of the operation in FIG. 6. 6 and 7, the butterfly execution order and the rotor index are all displayed in decimal.
, The required four rotor indexes are all 0
The description of the rotor index (that is, 0) is omitted in the butterfly operation of (1).

【0067】以下には、図5の装置で図6の演算を行う
動作について、図5〜7を用いて説明する。図5の装置
で図6の演算を行うには、バタフライ演算毎にそれぞ
れ、図7に示すような4つの回転子が、演算部12に供
給される必要がある。そこで、図5の装置では、供給さ
れるべき回転子を全て、予めテーブル11に記憶させて
おく。その際、各回転子に付された回転子インディクス
と、各回転子が記憶されている番地とが一致するよう
に、記憶させる。その一方で、回転子インディクス生成
回路10aが、バタフライ演算毎に、図7に示すものと
同様の4つの回転子インディクスを、順次的に生成でき
れば、テーブル11に記憶された回転子のうち、生成さ
れた回転子インディクスに一致する番地に格納された回
転子が読み出されて、演算部12に供給されることにな
る。
The operation of performing the operation of FIG. 6 by the apparatus of FIG. 5 will be described below with reference to FIGS. In order to perform the operation of FIG. 6 with the apparatus of FIG. 5, four rotors as shown in FIG. 7 need to be supplied to the operation unit 12 for each butterfly operation. Therefore, in the apparatus of FIG. 5, all the rotors to be supplied are stored in the table 11 in advance. At that time, the rotor index added to each rotor is stored so that the address where each rotor is stored matches. On the other hand, if the rotor index generation circuit 10a can sequentially generate four rotor indexes similar to the one shown in FIG. The rotator stored at the address corresponding to the generated rotator index is read out and supplied to the arithmetic unit 12.

【0068】ここで、図7から明らかなように、各バタ
フライ演算に必要な4つの回転子の回転子インディクス
を小さい順に並べて得られる数列は、いずれも0を初項
とする等差数列である。また、図6の演算では、バタフ
ライ実行順序が、必要な4つの回転子が全て一致するよ
うなバタフライ演算がそれぞれ連続して実行されるよう
に選ばれており、各等差数列の公差を並べて得られる数
列にも、演算ステージ毎に規則性がある。
Here, as is clear from FIG. 7, the sequence obtained by arranging the rotor indices of the four rotors necessary for each butterfly operation in ascending order is an arithmetic progression with 0 as the first term. is there. In the operation shown in FIG. 6, the butterfly execution order is selected so that the butterfly operation in which all the necessary four rotators match is performed continuously, and the tolerances of the arithmetic progression are arranged. The obtained sequence has regularity for each operation stage.

【0069】そこで、クロックカウンタ101が、1ク
ロック毎に歩進するようなクロック値を出力し、また、
ステージカウンタ501は、1演算ステージ毎に歩進す
るようなステージ値を出力する。増分値生成回路102
aは、クロックカウンタ101が出力したクロック値お
よびステージカウンタ501が出力したステージ値に関
連して、上記の公差に相当する増分値を生成する。加算
器104は、1クロック前に出力された回転子インディ
クスと、増分値生成回路102aが生成した増分値とを
加算する。一方、クリア信号発生回路103が、4クロ
ック毎にクリア信号を発生し、レジスタ105は、加算
器104が加算して得られた回転子インディクスを1ク
ロック保持して出力し、かつクリア信号発生回路103
が発生したクリア信号に応じて、保持している回転子イ
ンディクスを0に初期化する。これにより、回転子イン
ディクス生成回路10aは、バタフライ演算毎に、演算
部12に供給されるべき4つの回転子の回転子インディ
クス、すなわち図7のものと同様の回転子インディクス
列を、順次的に生成できる。
Therefore, the clock counter 101 outputs a clock value that advances by one clock, and
The stage counter 501 outputs a stage value that advances by one operation stage. Increment value generation circuit 102
“a” generates an increment value corresponding to the above-mentioned tolerance in relation to the clock value output from the clock counter 101 and the stage value output from the stage counter 501. The adder 104 adds the rotator index output one clock before and the increment value generated by the increment value generation circuit 102a. On the other hand, the clear signal generation circuit 103 generates a clear signal every four clocks, the register 105 holds the rotor index obtained by the addition by the adder 104 for one clock, outputs the held rotor index, and generates the clear signal. Circuit 103
The stored rotor index is initialized to 0 in response to the clear signal in which. Accordingly, the rotor index generation circuit 10a generates, for each butterfly operation, the rotor indexes of the four rotors to be supplied to the operation unit 12, that is, the rotor index sequence similar to that of FIG. Can be generated sequentially.

【0070】なお、クリア信号発生回路103がクリア
信号を発生すべきタイミング、すなわち4クロックの時
間間隔は、クロック値の下位2ビットのNOR(論理和
の否定)をとることにより得ることができる。
The timing at which the clear signal generation circuit 103 should generate a clear signal, that is, the time interval of four clocks, can be obtained by taking the NOR (negation of logical sum) of the lower two bits of the clock value.

【0071】図8は、図6の演算を行う場合に、図5の
装置のa〜e点をそれぞれ伝達される数値(10進表
示)の時間変化を示すタイミングチャートである。図8
に示すように、a点を伝達される数値(ステージ値)
は、初期値を0として演算ステージ毎に1ずつ増加す
る。b点を伝達される数値(クロック値)は、初期値を
0としてクロック毎に1ずつ増加し、演算ステージ毎に
0に初期化される。c点を伝達される数値(増分値)
は、第1ステージでは全て0であり、第2ステージで
は、初期値を0として、16クロック毎に4、8、12
と変化する。また、第3ステージでは、初期値を0とし
て4クロック毎に1、2、…、15と変化する。また、
d点では、4クロック毎にパルス信号(クリア信号)が
伝達される。
FIG. 8 is a timing chart showing the time change of the numerical values (decimal notation) transmitted to the points a to e of the apparatus of FIG. 5 when the operation of FIG. 6 is performed. FIG.
Numerical value transmitted at point a (stage value) as shown in
Increases by one for each operation stage with the initial value set to 0. The numerical value (clock value) transmitted at the point b is incremented by 1 every clock with the initial value being 0, and is initialized to 0 for each operation stage. Numeric value (incremental value) transmitted at point c
Are all 0 in the first stage, and in the second stage, the initial value is 0, and 4, 8, 12
And change. Also, in the third stage, the initial value changes to 1, 2,..., 15 every four clocks with the initial value being 0. Also,
At point d, a pulse signal (clear signal) is transmitted every four clocks.

【0072】加算器104は、レジスタ105に保持さ
れた1クロック前の回転子インディクスと増分値(c
点)とを加算して、再びレジスタ105へ与える。一
方、レジスタ105は、与えられた回転子インディクス
を1クロック保持して出力するが、クリア信号(d点)
に応じて、保持している回転子インディクスを0に初期
化する。このため、e点を伝達される回転子インディク
スは、第1ステージでは、{0、0、0、0}、…、
{0、0、0、0}、第2ステージでは、{0、0、
0、0}が4回、次に{0、4、8、12}が4回、さ
らに{0、8、16、24}が4回、そして{0、1
2、24、36}が4回、第3ステージでは、{0、
0、0、0}、{0、1、2、3}、{0、2、4、
6}、…、{0、15、30、45}となる。
The adder 104 calculates the rotator index one clock before and the increment value (c) held in the register 105.
) And the result is given to the register 105 again. On the other hand, the register 105 holds the given rotor index for one clock and outputs the same, but the clear signal (point d)
, The held rotor index is initialized to zero. Therefore, in the first stage, the rotor index transmitted at point e is {0, 0, 0, 0},.
{0,0,0,0}, in the second stage, {0,0,
0,0} four times, then {0,4,8,12} four times, and {0,8,16,24} four times, and {0,1
2, 24, 36} four times, and in the third stage, {0,
0, 0, 0}, {0, 1, 2, 3}, {0, 2, 4,
6},..., {0, 15, 30, 45}.

【0073】このように、各バタフライ演算で演算部1
2に供給されるべき4つの回転子の回転子インディクス
を小さい順に並べて得られる数列は、いずれも0を初項
とする等差数列であり、また、バタフライ実行順序が適
当に選ばれていれば、各等差数列の公差を並べて得られ
る数列にも所定の規則性があることに着目して、1クロ
ック毎に各等差数列の公差に相当する増分値を生成し、
1クロック前の回転子インディクスにその増分値を加算
する。こうして得られる回転子インディクスを、4クロ
ック毎に0に初期化することにより、回転子インディク
ス生成回路10aは、バタフライ演算毎に、図7のもの
と同様の回転子インディクス列を、順次的に生成でき
る。
As described above, in each butterfly operation, the operation unit 1
The sequence obtained by arranging the rotor indices of the four rotors to be supplied to 2 in ascending order is an arithmetic progression with 0 as a first term, and the butterfly execution order is appropriately selected. For example, focusing on the fact that a sequence obtained by arranging the tolerances of each arithmetic sequence also has a predetermined regularity, an increment value corresponding to the tolerance of each arithmetic sequence is generated every clock,
The increment value is added to the rotator index one clock before. By initializing the rotor index thus obtained to 0 every four clocks, the rotor index generation circuit 10a sequentially generates a rotor index sequence similar to that of FIG. 7 for each butterfly operation. Can be generated automatically.

【0074】ところで、増分値生成回路102aは、以
下のようにして、クロックカウンタ101が出力するク
ロック値およびステージカウンタ501が出力するステ
ージ値をもとに、増分値を生成することができる。すな
わち、第1ステージでは、クロックカウンタ101が出
力した6ビットのクロック値の下位2ビットを除去した
後、残りの4ビットをそれぞれ0に置換し、第2ステー
ジでは、クロックカウンタ101が出力した6ビットの
クロック値の下位2ビットを除去した後、残りの4ビッ
トの下位2ビットをそれぞれ0に置換し、第3ステージ
では、クロックカウンタ101が出力した6ビットのク
ロック値の下位2ビットを除去すればよい。
The increment value generating circuit 102a can generate an increment value based on the clock value output from the clock counter 101 and the stage value output from the stage counter 501 as follows. That is, in the first stage, after removing the lower 2 bits of the 6-bit clock value output by the clock counter 101, the remaining 4 bits are replaced with 0, respectively. In the second stage, the 6 bits output by the clock counter 101 are output. After removing the lower two bits of the clock value of the bit, the lower two bits of the remaining four bits are each replaced with 0. In the third stage, the lower two bits of the 6-bit clock value output by the clock counter 101 are removed. do it.

【0075】なお、サンプル点数が44 である場合に
は、増分値生成回路102aは、以下のようにして、増
分値を生成することができる。すなわち、第1ステージ
では、クロックカウンタ101が出力した8ビットのク
ロック値の下位2ビットを除去した後、残りの6ビット
をそれぞれ0に置換し、第2ステージでは、クロックカ
ウンタ101が出力した8ビットのクロック値の下位2
ビットを除去した後、残りの6ビットの下位4ビットを
それぞれ0に置換し、第3ステージでは、クロックカウ
ンタ101が出力した8ビットのクロック値の下位2ビ
ットを除去した後、残りの6ビットの下位2ビットをそ
れぞれ0に置換し、第4ステージでは、クロックカウン
タ101が出力した8ビットのクロック値の下位2ビッ
トを除去すればよい。
[0075] When the sample number is 4 4, increment generation circuit 102a is as follows, it is possible to generate the increment value. That is, in the first stage, after removing the lower 2 bits of the 8-bit clock value output by the clock counter 101, the remaining 6 bits are replaced with 0, respectively, and in the second stage, the 8 bits output by the clock counter 101 are output. Lower 2 of clock value of bit
After removing the bits, the lower 4 bits of the remaining 6 bits are replaced with 0, respectively. In the third stage, after removing the lower 2 bits of the 8-bit clock value output by the clock counter 101, the remaining 6 bits are removed. In the fourth stage, the lower two bits of the 8-bit clock value output by the clock counter 101 may be removed.

【0076】さらに、サンプル点数が4m (ただし、m
は2以上の任意の整数)である場合には、増分値生成回
路102は、以下のようにして、増分値を生成すること
ができる。すなわち、第kステージ(ただし、k=1、
…、m)では、クロックカウンタ101が出力した2m
ビットのクロック値の下位2ビットを除去した後、残り
の2(m−1)ビットの下位2(m−k)ビットをそれ
ぞれ0に置換すればよい。
Further, the number of sample points is 4 m (where m
Is an arbitrary integer of 2 or more), the increment value generation circuit 102 can generate an increment value as follows. That is, the k-th stage (where k = 1,
.., M) is 2 m output from the clock counter 101.
After removing the lower 2 bits of the bit clock value, the lower 2 (mk) bits of the remaining 2 (m-1) bits may be replaced with 0, respectively.

【0077】以上のように、本実施形態によれば、図7
のものと同様の回転子インディクス列を生成でき、その
結果、基数4のFFT演算を行うことができる。また、
バタフライ実行順序を、必要な4つの回転子が全て一致
するようなバタフライ演算がそれぞれ連続して実行され
るように、選んだことにより、増分値が変化する頻度が
低くなり、その結果、特にCMOSトランジスタを用い
て回路を構成した場合に、第1の実施形態に比べて消費
電力が少なくなる。
As described above, according to the present embodiment, FIG.
Can generate a rotator index sequence similar to that described above, and as a result, can perform a radix-4 FFT operation. Also,
By selecting the butterfly execution order such that the butterfly operations in which all of the necessary four rotators are all the same are executed consecutively, the frequency at which the increment value changes is reduced, and as a result, in particular, CMOS When a circuit is configured using transistors, power consumption is reduced as compared with the first embodiment.

【0078】なお、本実施形態では、FFT演算を時間
間引き型としたが、周波数間引き型であってもよい。
In the present embodiment, the FFT operation is of the time thinning type, but may be of the frequency thinning type.

【0079】また、図1の装置では、テーブル11に記
憶された回転子の虚数部の符号を全て反転させることに
より、逆FFT演算も行える。
In the apparatus shown in FIG. 1, an inverse FFT operation can also be performed by inverting all the signs of the imaginary part of the rotor stored in the table 11.

【0080】さらに、基数4のFFT演算に限らず、任
意の基数のFFT演算を行える。この場合、上記と同
様、各等差数列の公差に相当する増分値を生成し、保持
している前回の回転子インディクスにその増分値を加算
して出力する動作を繰り返す。そして、保持している値
を所定の周期で0に初期化すればよい。
Furthermore, not only the radix-4 FFT operation but also the radix-FFT operation can be performed. In this case, similarly to the above, the operation of generating an increment value corresponding to the tolerance of each arithmetic progression, adding the increment value to the held previous rotor index, and outputting the result is repeated. Then, the held value may be initialized to 0 at a predetermined cycle.

【0081】(第3の実施形態)以下、本発明の第3の
実施形態について、図面を参照しながら説明する。図9
は、本発明の第3の実施形態に係る高速フーリエ変換演
算装置の構成を示すブロック図である。図9の装置は、
図5の装置において、変換回路901、特定三角関数値
生成回路902および回転子生成回路903をさらに備
え、また、テーブル11に代えてテーブル11aを備え
ている。
(Third Embodiment) Hereinafter, a third embodiment of the present invention will be described with reference to the drawings. FIG.
FIG. 9 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a third embodiment of the present invention. The device of FIG.
The apparatus of FIG. 5 further includes a conversion circuit 901, a specific trigonometric function value generation circuit 902, and a rotator generation circuit 903, and further includes a table 11a instead of the table 11.

【0082】図10は、図9のテーブル11aの各番地
(アドレス0〜7)に記憶された一対の三角関数値を示
す図である。図10に示すように、テーブル11aに
は、一対の三角関数値{cos(2πn/64)、si
n(2πn/64)}(ただし、n=1、2、…、8)
が、それぞれ(n−1)番地に、記憶されている。
FIG. 10 is a diagram showing a pair of trigonometric function values stored at each address (addresses 0 to 7) of the table 11a in FIG. As shown in FIG. 10, the table 11a includes a pair of trigonometric function values {cos (2πn / 64), si
n (2πn / 64)} (where n = 1, 2,..., 8)
Are stored at addresses (n-1).

【0083】特定三角関数値生成回路902は、回転子
インディクス生成回路10aが生成した回転子インディ
クスが、16の整数倍である場合に、一対の三角関数値
{1、0}を生成する。変換回路901は、回転子イン
ディクス生成回路10aが生成した回転子インディクス
が、16の整数倍でない場合に、その回転子インディク
スに所定のビット操作を施して、テーブル11aのいず
れかの番地を示すアドレス値に変換する。回転子生成回
路903は、特定三角関数値生成回路902が生成した
一対の三角関数値、または、テーブル11aに記憶され
た三角関数値のうち、変換回路901が変換して得られ
たアドレス値に一致する番地に記憶された一対の三角関
数値に基づいて、回転子を生成する。他の構成要素は、
それぞれ図5の対応するものと同様の動作を行う。
The specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values {1, 0} when the rotator index generated by the rotator index generation circuit 10a is an integral multiple of 16. . When the rotator index generated by the rotator index generation circuit 10a is not an integral multiple of 16, the conversion circuit 901 performs a predetermined bit operation on the rotator index, and performs any one of the addresses in the table 11a. To an address value indicating. The rotator generation circuit 903 converts the pair of trigonometric function values generated by the specific trigonometric function value generation circuit 902 or the address value obtained by conversion by the conversion circuit 901 from the trigonometric function values stored in the table 11a. A rotator is generated based on a pair of trigonometric function values stored at the matching address. Other components are:
Each performs the same operation as the corresponding one in FIG.

【0084】以下には、図9の装置が図6のFFT演算
を行う動作について、図6、7、9および10を用いて
説明する。図9の回転子インディクス生成回路10aが
回転子インディクスを生成する動作は、図5の回転子イ
ンディクス生成回路10aの動作と同様である。
The operation of the apparatus of FIG. 9 performing the FFT operation of FIG. 6 will be described below with reference to FIGS. 6, 7, 9 and 10. The operation of generating the rotor index by the rotor index generation circuit 10a of FIG. 9 is the same as the operation of the rotor index generation circuit 10a of FIG.

【0085】回転子インディクス生成回路10aが生成
した回転子インディクスが、16の整数倍である場合、
特定三角関数値生成回路902が、一対の三角関数値
{1、0}を生成する。回転子インディクス生成回路1
0aが生成した回転子インディクスが、16の整数倍で
ない場合には、変換回路901が、その回転子インディ
クスに所定のビット操作を施して、テーブル11aのい
ずれかの番地を示すアドレス値に変換する。そして、回
転子生成回路903が、特定三角関数値生成回路902
が生成した一対の三角関数値、または、テーブル11a
に記憶された三角関数値のうち、変換回路901が変換
して得られたアドレス値に一致する番地に記憶された一
対の三角関数値に基づいて、回転子を生成する。
When the rotator index generated by the rotator index generation circuit 10a is an integral multiple of 16,
Specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values {1, 0}. Rotor index generation circuit 1
If the rotator index generated by 0a is not an integral multiple of 16, the conversion circuit 901 performs a predetermined bit operation on the rotator index to obtain an address value indicating any address in the table 11a. Convert. Then, the rotator generation circuit 903 generates the specific trigonometric function value generation circuit 902
Generates a pair of trigonometric function values or a table 11a
The rotator is generated based on a pair of trigonometric function values stored at an address corresponding to the address value obtained by conversion by the conversion circuit 901 among the trigonometric function values stored in.

【0086】図11は、図9の回転子生成回路903が
回転子を生成する動作を説明するための図である。以下
には、回転子生成回路903が回転子を生成する動作に
ついて、図11を用いて説明する。生成された回転子イ
ンディクスが16の倍数(10進表示時)、すなわち下
位4ビットが全て0である場合(2進表示時)、特定三
角関数値生成回路902が一対の三角関数値{1、0}
を生成して、回転子生成回路903側に出力する。
FIG. 11 is a diagram for explaining the operation of the rotator generation circuit 903 of FIG. 9 for generating a rotator. Hereinafter, an operation in which the rotator generation circuit 903 generates a rotator will be described with reference to FIG. When the generated rotator index is a multiple of 16 (in decimal notation), that is, when the lower 4 bits are all 0 (in binary notation), the specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values {1 , 0}
Is generated and output to the rotator generation circuit 903 side.

【0087】下位4ビットの少なくともいずれかが0で
ない場合には、変換回路901が、生成された回転子イ
ンディクスを、テーブル11aの番地に対応するアドレ
ス値に変換して、テーブル11a側に出力する。なお、
変換して得られるアドレス値は、回転子インディクスの
下位3ビットをi、iの1の補数をjとして、図11に
示すように表現できる。テーブル11aには、図10に
示すような三角関数値が、sineおよびcosine
を一対にして、0〜7番地にそれぞれ格納されており、
変換して得られたアドレス値に対応する番地に記憶され
た三角関数値が、テーブル11aから読み出されて、回
転子生成回路903に与えられる。
If at least one of the lower 4 bits is not 0, the conversion circuit 901 converts the generated rotator index into an address value corresponding to the address of the table 11a, and outputs it to the table 11a. I do. In addition,
The address value obtained by the conversion can be expressed as shown in FIG. 11, where i is the lower 3 bits of the rotator index and j is the 1's complement of i. The table 11a stores trigonometric function values as shown in FIG.
Are stored as a pair at addresses 0 to 7, respectively.
The trigonometric function value stored at the address corresponding to the converted address value is read from the table 11a and provided to the rotator generation circuit 903.

【0088】回転子生成回路903は、与えられた一対
の三角関数値を、図11に示すように、回転子の実数部
および虚数部として割り当てた後、必要に応じてそれぞ
れ符号反転する。こうして生成された回転子が、演算部
12に供給される。
The rotator generation circuit 903 assigns a given pair of trigonometric function values as a real part and an imaginary part of the rotator as shown in FIG. 11, and then inverts the signs as necessary. The rotator generated in this way is supplied to the calculation unit 12.

【0089】以上のように、本実施形態によれば、回転
子を生成するための三角関数値のうち、一対の三角関数
値{cos(2πn/64)、sin(2πn/6
4)}(ただしn=1、2、…、8)をそれぞれ、テー
ブル11aの(n−1)番地に、記憶させておく。そし
て、回転子インディクス生成回路10aが、バタフライ
演算毎に、必要な回転子の回転子インディクスを、順次
的に生成する。
As described above, according to this embodiment, among the trigonometric function values for generating the rotator, a pair of trigonometric function values {cos (2πn / 64) and sin (2πn / 6)
4)} (where n = 1, 2,..., 8) is stored in the address (n−1) of the table 11a. Then, the rotor index generation circuit 10a sequentially generates the necessary rotor index of the rotor for each butterfly operation.

【0090】生成された回転子インディクスが16の整
数倍である場合、特定三角関数値生成回路902が、一
対の三角関数値{1、0}を生成し、一方、生成された
回転子インディクスが16の整数倍でない場合には、変
換回路901が、その回転子インディクスに所定のビッ
ト操作を施して、テーブル11aのいずれかの番地を示
すアドレス値に変換する。
When the generated rotator index is an integer multiple of 16, the specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values {1, 0}, while the generated rotator index is generated. If the index is not an integral multiple of 16, the conversion circuit 901 performs a predetermined bit operation on the rotator index to convert the rotator index into an address value indicating any address of the table 11a.

【0091】次いで、回転子生成回路903が、特定三
角関数値生成回路902が生成した一対の三角関数値、
または、テーブル11aに記憶された三角関数値のう
ち、変換回路901が変換して得られたアドレス値に一
致する番地に記憶された一対の三角関数値に基づいて、
回転子を生成することにより、各バタフライ演算に必要
な回転子が演算部12に供給され、その結果、図6の演
算を行える。また、一対の三角関数値を1/8周期分だ
けテーブル11aに記憶させるため、テーブル11aの
容量が少なくてよい。さらに、頻繁に参照される一対の
三角関数値、すなわち{1、0}を、テーブル11aに
記憶させずに、特定三角関数値生成回路902が生成す
るため、テーブル11aへのアクセス回数を少なくで
き、その結果、消費電力を減らすことができるととも
に、処理速度が速くなる。
Next, the rotator generation circuit 903 generates a pair of trigonometric function values generated by the specific trigonometric function value generation circuit 902,
Alternatively, of the trigonometric function values stored in the table 11a, based on a pair of trigonometric function values stored at an address corresponding to the address value obtained by conversion by the conversion circuit 901,
By generating the rotator, the rotator necessary for each butterfly operation is supplied to the operation unit 12, and as a result, the operation of FIG. 6 can be performed. Further, since a pair of trigonometric function values are stored in the table 11a for 1 / cycle, the capacity of the table 11a may be small. Further, since the specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values that are frequently referred to, that is, {1, 0}, without storing them in the table 11a, the number of accesses to the table 11a can be reduced. As a result, the power consumption can be reduced and the processing speed is increased.

【0092】なお、テーブル11aの容量が少なくてよ
いという効果、および、テーブル11aへのアクセス回
数を少なくでき、その結果、消費電力を減らすことがで
きるとともに処理速度が速くなるという効果は、図9の
装置が、回転子インディクス生成回路10aに変えて他
の回転子インディクス生成回路を備えていても得られ
る。
The effect that the capacity of the table 11a can be reduced and the effect that the number of accesses to the table 11a can be reduced, as a result, the power consumption can be reduced and the processing speed is increased are shown in FIG. This device can be obtained even if the above device is provided with another rotor index generation circuit in place of the rotor index generation circuit 10a.

【0093】また、テーブル11aの代わりに、1/8
周期分の一対の三角関数値{Acos(2πn/N)、
Asin(2πn/N)}(Aは正の定数、Nはサンプ
ル点数、n=n0 +1、n0 +2、…、n0 +N/8;
0 =r・N/8、rは任意の整数)がnに関連する番
地に記憶されたような他のテーブルを備えていてもよ
い。ただし、この場合、回転子インディクス生成回路1
0aが、バタフライ演算毎に、必要な4つの回転子の回
転子インディクスを順次的に生成する。そして、生成さ
れた回転子インディクスがN/4の整数倍である場合、
特定三角関数値生成回路902が、rに関連して予め決
められた一対の三角関数値(例えばr=0の場合{A、
0}、r=1の場合{0、A}、…)を生成し、N/4
の整数倍でない場合には、変換回路901が、その回転
子インディクスをテーブル11aのいずれかの番地を示
すアドレス値に変換する。さらに、回転子生成回路90
3が、特定三角関数値生成回路902が生成した一対の
三角関数値、または、変換回路901が変換して得られ
たアドレス値に一致する番地に記憶された一対の三角関
数値に基づいて回転子を生成する。
Also, instead of the table 11a, 1/8
A pair of trigonometric function values {Acos (2πn / N) for the period,
Asin (2πn / N)} (A is a positive constant, N is the number of sample points, n = n 0 +1, n 0 +2,..., N 0 + N / 8;
Other tables may be provided such that n 0 = r · N / 8, where r is any integer) is stored at the address associated with n. However, in this case, the rotor index generation circuit 1
0a sequentially generates the necessary rotor indexes of the four rotors for each butterfly operation. Then, if the generated rotor index is an integral multiple of N / 4,
The specific trigonometric function value generation circuit 902 generates a pair of trigonometric function values predetermined in relation to r (for example, when r = 0, {A,
0}, when r = 1, {0, A},...
If not, the conversion circuit 901 converts the rotator index into an address value indicating any address in the table 11a. Further, the rotator generation circuit 90
3 is rotated based on a pair of trigonometric function values generated by the specific trigonometric function value generation circuit 902 or a pair of trigonometric function values stored at an address corresponding to an address value obtained by conversion by the conversion circuit 901. Create a child.

【0094】また、図11の虚数部の符号を全て反転す
ることにより、逆FFT演算も可能である。
Also, by inverting all the signs of the imaginary part in FIG. 11, an inverse FFT operation is possible.

【0095】(第4の実施形態)以下、本発明の第4の
実施形態について、図面を参照しながら説明する。図1
2は、本発明の第4の実施形態に係る高速フーリエ変換
演算装置の構成を示すブロック図である。図12の装置
は、図9の装置において、回転子生成回路903に代え
て回転子生成回路903aを、演算部12に代えて演算
部12aを備えている。
(Fourth Embodiment) Hereinafter, a fourth embodiment of the present invention will be described with reference to the drawings. FIG.
FIG. 2 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a fourth embodiment of the present invention. The device of FIG. 12 includes a rotator generation circuit 903a instead of the rotator generation circuit 903 and a calculation unit 12a instead of the calculation unit 12 in the device of FIG.

【0096】図13は、図12の回転子生成回路903
aおよび演算部12aの構成を示すブロック図である。
回転子生成回路903aは、割り当て回路1301およ
び符号ビット付加回路1302を含んでいる。演算部1
2aは、乗算器1303、一対の2の補数化回路130
4および加算器1305を含んでいる。
FIG. 13 shows the rotator generation circuit 903 of FIG.
FIG. 3 is a block diagram showing a configuration of a and a calculation unit 12a.
The rotator generation circuit 903a includes an assignment circuit 1301 and a sign bit addition circuit 1302. Arithmetic unit 1
2a is a multiplier 1303, a pair of 2's complement circuits 130
4 and an adder 1305.

【0097】割り当て回路1301は、一対の三角関数
値を、回転子の実数部および虚数部として割り当てる。
符号ビット付加回路1302は、三角関数値に、正負を
示す符号ビットを付加する。乗算器1303は、複素乗
算を行う。2の補数化回路1304は、補数化により正
負の符号反転を行う。加算器1305は、加算を行う。
The allocating circuit 1301 allocates a pair of trigonometric function values as a real part and an imaginary part of the rotator.
The sign bit adding circuit 1302 adds sign bits indicating positive and negative to the trigonometric function value. The multiplier 1303 performs complex multiplication. The two's complement circuit 1304 performs the sign inversion by complementation. The adder 1305 performs addition.

【0098】図14は、図9の回転子生成回路903お
よび演算部12の構成を示すブロック図である。回転子
生成回路903は、割り当て回路1301および一対の
2の補数化回路1304を含んでいる。演算部12は、
乗算器1303、2の補数化回路1304および加算器
1305を含んでいる。図14の各構成要素は、図13
の対応するものと同様の動作を行う。
FIG. 14 is a block diagram showing the configurations of the rotator generation circuit 903 and the operation unit 12 in FIG. The rotator generation circuit 903 includes an assignment circuit 1301 and a pair of two's complement circuits 1304. The calculation unit 12
It includes a multiplier 1303, a two's complement circuit 1304, and an adder 1305. Each component in FIG.
Performs the same operation as that corresponding to.

【0099】図12の装置の動作が、図9の装置の動作
と異なるのは、回転子生成時の、三角関数値の正負の符
号処理、およびバタフライ演算時の、回転子と入力値と
の複素乗算に関する部分のみであるので、以下には、図
12の装置が、回転子を生成する動作、および回転子と
入力値との複素乗算を行う動作について、図13および
14を用いて、図9の装置の動作と比較しつつ、説明す
る。
The operation of the apparatus shown in FIG. 12 differs from that of the apparatus shown in FIG. 9 in that the sign processing of the positive and negative trigonometric function values at the time of generating the rotor and the rotator and input value at the time of butterfly operation are performed. Since only the part relating to the complex multiplication is described, the operation of the apparatus of FIG. 12 for generating a rotator and for performing the complex multiplication of the rotator and an input value will be described with reference to FIGS. 9 will be described in comparison with the operation of the ninth apparatus.

【0100】図13の回転子生成回路903aでは、割
り当て回路1301が、テーブル11aから読み出され
た一対の三角関数値を、回転子の実数部および虚数部と
して割り当てる。符号ビット付加回路1302は、割り
当てられた三角関数値に、正負を示す符号ビットをそれ
ぞれ付加する。こうして生成された回転子が演算部12
aに供給されると、演算部12aでは、乗算器1303
が、入力値の実数部(例えばα)と回転子の実数部(例
えば|γ|)、入力値の実数部(例えばβ)と回転子の
実数部(例えば|δ|)とをそれぞれ乗算する。そし
て、一対の2の補数化回路1304が、乗算結果を、必
要に応じてそれぞれ符号反転した後、加算器1305が
それらを加算する。
In the rotator generation circuit 903a of FIG. 13, the assignment circuit 1301 assigns a pair of trigonometric function values read from the table 11a as a real part and an imaginary part of the rotator. The sign bit adding circuit 1302 adds sign bits indicating positive or negative to the assigned trigonometric function values. The rotator generated in this way is the arithmetic unit 12
is supplied to the arithmetic unit 12a, the multiplier 1303
Multiplies the real part of the input value (for example, α) and the real part of the rotor (for example, | γ |), and the real part of the input value (for example, β) and the real part of the rotor (for example, | δ |). . Then, after a pair of two's complement circuits 1304 invert the signs of the multiplication results as necessary, an adder 1305 adds them.

【0101】一方、図14の回転子生成回路903で
は、割り当て回路1301が、テーブル11aから読み
出された一対の三角関数値を、回転子の実数部および虚
数部として割り当てる。一対の2の補数化回路1304
は、割り当てれられた三角関数値を、必要に応じてそれ
ぞれ符号反転する。こうして生成された回転子が演算部
12に供給されると、演算部12では、乗算器1303
が、入力値の実数部(例えばα)と回転子の実数部(例
えば|γ|)、入力値の実数部(例えばβ)と回転子の
実数部(例えば|δ|)とを乗算する。そして、2の補
数化回路1304が、乗算結果の一方を、必要に応じて
符号反転した後、加算器1305それらを加算する。
On the other hand, in the rotator generation circuit 903 of FIG. 14, the allocation circuit 1301 allocates a pair of trigonometric function values read from the table 11a as a real part and an imaginary part of the rotator. A pair of two's complement circuits 1304
Respectively inverts the assigned trigonometric function values as necessary. When the rotator generated in this way is supplied to the calculation unit 12, the calculation unit 12
Multiplies the real part of the input value (for example, α) and the real part of the rotor (for example, | γ |), and the real part of the input value (for example, β) and the real part of the rotor (for example, | δ |). Then, the two's complement circuit 1304 inverts the sign of one of the multiplication results as necessary, and then adds them together.

【0102】このように、図9および12の装置は、い
ずれも必要な回転子を生成してバタフライ演算を実行す
ることができるが、図9の装置が、回転子生成回路90
3および演算部12において、2の補数化回路1304
を3つ備えているのに対して、図12の装置は、回転子
生成回路903aおよび演算部12aにおいて、2の補
数化回路1304を2つしか備えていない。代わりに、
図12の装置は、符号ビット付加回路1302を備えて
いるが、符号ビット付加回路1302の規模は、2の補
数化回路1304の規模に比べて相対的に小さいため、
図12の装置の規模は、図9の装置の規模よりも、相対
的に小さいといえる。
As described above, each of the devices shown in FIGS. 9 and 12 can generate a necessary rotator and execute a butterfly operation, but the device shown in FIG.
3 and the operation unit 12, the two's complement circuit 1304
In contrast, the apparatus of FIG. 12 includes only two two's complement circuits 1304 in the rotator generation circuit 903a and the arithmetic unit 12a. instead of,
Although the device of FIG. 12 includes a sign bit adding circuit 1302, the scale of the sign bit adding circuit 1302 is relatively smaller than the scale of the two's complement circuit 1304.
The size of the device in FIG. 12 can be said to be relatively smaller than the size of the device in FIG.

【0103】以上のように、本実施形態によれば、一対
の三角関数値に正負を示す符号ビットを付加して回転子
を生成することにより、一対の三角関数値を符号反転し
て回転子を生成するのに比べて、装置の規模をより小さ
くできる。
As described above, according to the present embodiment, a rotator is generated by adding a sign bit indicating positive / negative to a pair of trigonometric function values. , The size of the device can be made smaller.

【0104】なお、上記の効果は、図12の装置が、回
転子インディクス生成回路10aに変えて他の回転子イ
ンディクス生成回路を備えていても得られる。
The above effects can be obtained even if the apparatus shown in FIG. 12 is provided with another rotor index generation circuit instead of the rotor index generation circuit 10a.

【0105】また、テーブル11aの代わりに、一対の
三角関数値{Acos(2πn/N)、Asin(2π
n/N)}(Aは正の定数、Nはサンプル点数、n=n
0 、n0 +1、n0 +2、…;n0 は任意の整数)がそ
れぞれnに関連する番地に記憶された他のテーブルを備
えていてもよい。
Also, instead of the table 11a, a pair of trigonometric function values {Acos (2πn / N), Asin (2π
n / N)} (A is a positive constant, N is the number of sample points, n = n
0 , n 0 +1, n 0 +2,...; N 0 is an arbitrary integer) may be provided with other tables each stored at an address associated with n.

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

【図1】本発明の第1の実施形態に係る高速フーリエ変
換演算装置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a first embodiment of the present invention.

【図2】基数4のFFT演算の一例を示す信号流れ図で
ある。
FIG. 2 is a signal flow diagram illustrating an example of a radix-4 FFT operation.

【図3】図2の演算の各バタフライ演算でそれぞれ用い
られる回転子の回転子インディクスを示す図である。
FIG. 3 is a diagram illustrating a rotor index of a rotor used in each butterfly operation of the operation of FIG. 2;

【図4】図2の演算を行う場合に、図1の装置のa〜d
点をそれぞれ伝達される数値の時間変化を示すタイミン
グチャートである。
FIG. 4 is a block diagram of the apparatus shown in FIG.
It is a timing chart which shows a time change of the numerical value transmitted each point.

【図5】本発明の第2の実施形態に係る高速フーリエ変
換演算装置の構成を示すブロック図である。
FIG. 5 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a second embodiment of the present invention.

【図6】基数4のFFT演算の他の一例を示す信号流れ
図である。
FIG. 6 is a signal flow chart illustrating another example of a radix-4 FFT operation.

【図7】図6の演算の各バタフライ演算でそれぞれ用い
られる回転子の回転子インディクスを示す図である。
FIG. 7 is a diagram showing a rotor index of a rotor used in each butterfly operation of the operation of FIG. 6;

【図8】図6の演算を行う場合に、図5の装置のa〜e
点をそれぞれ伝達される数値の時間変化を示すタイミン
グチャートである。
8 is a diagram showing the operation of the apparatus shown in FIG.
It is a timing chart which shows a time change of the numerical value transmitted each point.

【図9】本発明の第3の実施形態に係る高速フーリエ変
換演算装置の構成を示すブロック図である。
FIG. 9 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a third embodiment of the present invention.

【図10】図9のテーブル11aの各番地に記憶された
一対の三角関数値を示す図である。
FIG. 10 is a diagram showing a pair of trigonometric function values stored at each address of a table 11a in FIG. 9;

【図11】図9の回転子生成回路903が回転子を生成
する動作を説明するための図である。
FIG. 11 is a diagram for explaining an operation in which the rotator generation circuit 903 of FIG. 9 generates a rotator.

【図12】本発明の第4の実施形態に係る高速フーリエ
変換演算装置の構成を示すブロック図である。
FIG. 12 is a block diagram illustrating a configuration of a fast Fourier transform operation device according to a fourth embodiment of the present invention.

【図13】図12の回転子生成回路903aおよび演算
部12aの構成を示すブロック図である。
13 is a block diagram illustrating a configuration of a rotator generation circuit 903a and a calculation unit 12a of FIG.

【図14】図9の回転子生成回路903および演算部1
2の構成を示すブロック図である。
14 is a diagram illustrating a rotator generation circuit 903 and an operation unit 1 of FIG. 9;
2 is a block diagram showing a configuration of FIG.

【図15】基数2のFFT演算の一例を示す信号流れ図
である。
FIG. 15 is a signal flow diagram illustrating an example of a radix-2 FFT operation.

【図16】図15の演算において、バタフライ演算の実
行順序と各バタフライ演算に必要な回転子の回転子イン
ディクスとの関係を説明するための図である。
16 is a diagram for explaining a relationship between an execution order of butterfly operations and a rotor index of a rotor required for each butterfly operation in the operation of FIG.

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

10、10a 回転子インディクス生成回路 11、11a テーブル 12、12a 演算部 101 クロックカウンタ 102、102a 増分値生成回路 103 クリア信号発生回路 104、1305 加算器 105 レジスタ 501 ステージカウンタ 901 変換回路 902 特定三角関数値生成回路 903、903a 回転子生成回路 1301 割り当て回路 1302 符号ビット付加回路 1303 乗算器 1304 2の補数化回路 10, 10a Rotor index generation circuit 11, 11a Table 12, 12a Operation unit 101 Clock counter 102, 102a Increment value generation circuit 103 Clear signal generation circuit 104, 1305 Adder 105 Register 501 Stage counter 901 Conversion circuit 902 Specific trigonometric function Value generation circuit 903, 903a Rotor generation circuit 1301 Assignment circuit 1302 Sign bit addition circuit 1303 Multiplier 1304 Complementation circuit of 3042

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 高速フーリエ変換演算を行う装置であっ
て、 互いに異なる複数の回転子が、当該複数の回転子に付さ
れた回転子インディクスに関連する番地に、それぞれ記
憶された記憶手段と、 所定のバタフライ実行順序が設定されており、当該順序
に従って複数のバタフライ演算を実行する演算手段と、 前記複数のバタフライ演算毎に、前記記憶手段から読み
出されて前記演算手段に供給されるべき所定数の回転子
の回転子インディクスを順次的に生成する回転子インデ
ィクス生成手段とを備え、 前記回転子インディクス生成手段は、 クロックに関連して歩進するようなクロック値を出力す
るクロック計数手段と、 前記クロック計数手段が出力したクロック値に関連して
増分値を生成する増分値生成手段と、 所定の周期でクリア信号を発生するクリア信号発生手段
と、 前回出力された回転子インディクスと、前記増分値生成
手段が生成した増分値とを加算する加算手段と、 前記加算手段が加算して得られた回転子インディクスを
一時保持して出力し、かつ、前記クリア信号発生手段が
発生したクリア信号に応じて、保持している回転子イン
ディクスを初期化する保持手段とを含む、高速フーリエ
変換演算装置。
1. An apparatus for performing a fast Fourier transform operation, wherein a plurality of different rotators are respectively stored at addresses associated with rotator indexes assigned to the plurality of rotators. A predetermined butterfly execution order is set, and an operation means for executing a plurality of butterfly operations in accordance with the order; A rotor index generating means for sequentially generating rotor indexes of a predetermined number of rotors, wherein the rotor index generating means outputs a clock value such as to advance in relation to a clock. Clock counting means, increment value generating means for generating an increment value in relation to the clock value output by the clock counting means, and a clear signal at a predetermined cycle. Clear signal generating means, a rotor index output last time, an adding means for adding the increment value generated by the increment value generating means, and a rotor index obtained by adding the adding means. And a holding unit that temporarily holds and outputs the stored index and initializes the held rotor index in response to the clear signal generated by the clear signal generating unit.
【請求項2】 前記クリア信号発生手段は、前記クロッ
ク計数手段が出力するクロック値に基づいてクリア信号
の発生タイミングを得ることを特徴とする、請求項1に
記載の高速フーリエ変換演算装置。
2. The fast Fourier transform operation device according to claim 1, wherein said clear signal generating means obtains a generation timing of a clear signal based on a clock value output by said clock counting means.
【請求項3】 前記演算手段に設定されたバタフライ実
行順序は、当該演算手段に供給されるべき所定数の回転
子が全て一致するようなバタフライ演算が連続して実行
されるような順序であることを特徴とする、請求項1に
記載の高速フーリエ変換演算装置。
3. The butterfly execution order set in the operation means is an order in which butterfly operations in which a predetermined number of rotors to be supplied to the operation means all coincide are continuously executed. 2. The fast Fourier transform operation device according to claim 1, wherein:
【請求項4】 基数4の高速フーリエ変換演算を行う装
置であって、 互いに異なる複数の回転子が、当該複数の回転子に付さ
れた回転子インディクスに関連する番地に、それぞれ記
憶された記憶手段と、 所定のバタフライ実行順序が設定されており、当該順序
に従って複数のバタフライ演算を実行する演算手段と、 前記複数のバタフライ演算毎に、前記記憶手段から読み
出されて前記演算手段に供給されるべき4つの回転子の
回転子インディクスを順次的に生成する回転子インディ
クス生成手段とを備え、 前記回転子インディクス生成手段は、 1クロック毎に歩進するようなクロック値を出力するク
ロック計数手段と、前記クロック計数手段が出力したク
ロック値に関連して増分値を生成する増分値生成手段
と、 4クロック毎にクリア信号を発生するクリア信号発生手
段と、 1クロック前に出力された回転子インディクスと、前記
増分値生成手段が生成した増分値とを加算する加算手段
と、 前記加算手段が加算して得られた回転子インディクスを
1クロック保持して出力し、かつ、前記クリア信号発生
手段が発生したクリア信号に応じて、保持している回転
子インディクスを初期化する保持手段とを含む、高速フ
ーリエ変換演算装置。
4. An apparatus for performing a radix-4 fast Fourier transform operation, wherein a plurality of different rotators are stored at addresses associated with rotator indexes assigned to the plurality of rotators, respectively. Storage means, a predetermined butterfly execution order is set, and operation means for executing a plurality of butterfly operations in accordance with the order; and for each of the plurality of butterfly operations, read from the storage means and supplied to the operation means Rotor index generation means for sequentially generating rotor indexes of four rotors to be performed, wherein the rotor index generation means outputs a clock value such that the clock value is incremented every clock. Clock counting means for generating, an increment value generating means for generating an increment value in relation to the clock value output by the clock counting means, a clear signal every four clocks A clear signal generating means for generating the following; an adding means for adding the rotor index output one clock before, and the increment value generated by the increment value generating means; Holding means for holding and outputting the rotor index for one clock and initializing the held rotor index in response to the clear signal generated by the clear signal generating means. Arithmetic unit.
【請求項5】 前記クリア信号発生手段は、前記クロッ
ク計数手段が出力するクロック値に基づいてクリア信号
の発生タイミングを得ることを特徴とする、請求項4に
記載の高速フーリエ変換演算装置。
5. The fast Fourier transform operation device according to claim 4, wherein said clear signal generation means obtains a generation timing of a clear signal based on a clock value output by said clock counting means.
【請求項6】 前記演算手段に設定されたバタフライ実
行順序は、当該演算手段に供給されるべき4つの回転子
が全て一致するようなバタフライ演算が連続して実行さ
れるような順序であることを特徴とする、請求項4に記
載の高速フーリエ変換演算装置。
6. The butterfly execution order set in said arithmetic means is such that butterfly operations such that all four rotors to be supplied to said arithmetic means coincide with each other are continuously executed. The fast Fourier transform operation device according to claim 4, characterized in that:
【請求項7】 前記基数4の高速フーリエ変換演算は、
サンプル点数が4m(ただし、mは2以上の任意の整
数)の演算であり、 前記増分値生成手段は、第k演算ステージ(k=1、
…、m)では、前記クロック計数手段が出力した2mビ
ットのクロック値の下位2ビットを除去した後、残りの
2(m−1)ビットの下位2(m−k)ビットをそれぞ
れ0に置換することにより増分値を生成することを特徴
とする、請求項6に記載の高速フーリエ変換演算装置。
7. The radix-4 fast Fourier transform operation includes:
This is an operation in which the number of sample points is 4 m (where m is an arbitrary integer of 2 or more).
.., M), the lower 2 bits of the 2m-bit clock value output by the clock counting means are removed, and then the lower 2 (m−k) bits of the remaining 2 (m−1) bits are replaced with 0, respectively. 7. The fast Fourier transform operation device according to claim 6, wherein an incremental value is generated by performing the operation.
【請求項8】 高速フーリエ変換演算を行う装置であっ
て、 1/8周期分の一対の三角関数値{Acos(2πn/
N)、Asin(2πn/N)}(Aは正の定数、Nは
サンプル点数、n=n0 +1、n0 +2、…、n0 +N
/8;n0 =r・N/8、rは任意の整数)がそれぞれ
nに関連する番地に記憶された記憶手段と、 所定のバタフライ実行順序が設定されており、当該順序
に従って複数のバタフライ演算を実行する演算手段と、 前記複数のバタフライ演算毎に、前記演算手段に供給さ
れるべき所定数の回転子の回転子インディクスを順次的
に生成する回転子インディクス生成手段と、 前記回転子インディクス生成手段が生成した回転子イン
ディクスがN/4の整数倍である場合に、rに関連して
予め決められた一対の三角関数値を生成する特定三角関
数値生成手段と、 前記回転子インディクス生成手段が生成した回転子イン
ディクスがN/4の整数倍でない場合に、当該回転子イ
ンディクスを前記記憶手段の番地を示すアドレス値に変
換する変換手段と、 前記特定三角関数値生成手段が生成した一対の三角関数
値、または、前記記憶手段の、前記変換手段が変換して
得られたアドレス値に一致する番地に記憶された一対の
三角関数値に基づいて回転子を生成する回転子生成手段
とを備える、高速フーリエ変換演算装置。
8. An apparatus for performing a fast Fourier transform operation, comprising a pair of trigonometric function values {Acos (2πn /
N), Asin (2πn / N)} (A is a positive constant, N is the number of sample points, n = n 0 +1, n 0 +2,..., N 0 + N
/ 8; n 0 = r · N / 8, where r is an arbitrary integer), and a predetermined butterfly execution order is set, and a plurality of butterflies are set in accordance with the order. Calculating means for performing a calculation; rotor index generating means for sequentially generating a rotor index of a predetermined number of rotors to be supplied to the calculating means for each of the plurality of butterfly calculations; Specific trigonometric function value generating means for generating a pair of trigonometric function values predetermined in relation to r, when the rotor index generated by the child index generating means is an integral multiple of N / 4; Conversion means for converting the rotor index into an address value indicating the address of the storage means, when the rotor index generated by the rotor index generation means is not an integral multiple of N / 4; Based on a pair of trigonometric function values generated by the specific trigonometric function value generating unit or a pair of trigonometric function values stored in the storage unit at an address corresponding to an address value obtained by conversion by the conversion unit. And a rotator generating means for generating a rotator.
【請求項9】 前記回転子インディクス生成手段は、 クロックに関連して歩進するようなクロック値を出力す
るクロック計数手段と、 前記クロック計数手段が出力したクロック値に関連して
増分値を生成する増分値生成手段と、 所定の周期でクリア信号を発生するクリア信号発生手段
と、 前回出力された回転子インディクスと、前記増分値生成
手段が生成した増分値とを加算する加算手段と、 前記加算手段が加算して得られた回転子インディクスを
一時保持して出力し、かつ、前記クリア信号発生手段が
発生したクリア信号に応じて、保持している回転子イン
ディクスを初期化する保持手段とを含む、請求項8に記
載の高速フーリエ変換演算装置。
9. The rotator index generating means includes: a clock counting means for outputting a clock value which advances in relation to a clock; and an increment value for the clock value output by the clock counting means. An increment value generating means for generating; a clear signal generating means for generating a clear signal at a predetermined cycle; an adding means for adding a previously output rotor index to the increment value generated by the increment value generating means; , The rotor index obtained by the addition means is temporarily held and output, and the held rotor index is initialized according to the clear signal generated by the clear signal generating means. 9. The fast Fourier transform operation device according to claim 8, further comprising a holding unit that performs the operation.
【請求項10】 高速フーリエ変換演算を行う装置であ
って、 一対の三角関数値{Acos(2πn/N)、Asin
(2πn/N)}(Aは正の定数、Nはサンプル点数、
n=n0 、n0 +1、n0 +2、…;n0 は任意の整
数)がそれぞれnに関連する番地に記憶された記憶手段
と、 所定のバタフライ実行順序が設定されており、当該順序
に従って複数のバタフライ演算を実行する演算手段と、 前記複数のバタフライ演算毎に、前記演算手段に供給さ
れるべき所定数の回転子の回転子インディクスを順次的
に生成する回転子インディクス生成手段と、 前記回転子インディクス生成手段が生成した回転子イン
ディクスを前記記憶手段の番地を示すアドレス値に変換
する変換手段と、 前記記憶手段の、前記変換手段が変換して得られたアド
レス値に一致する番地に記憶された一対の三角関数値に
基づいて回転子を生成する回転子生成手段とを備え、 前記回転子生成手段は、前記記憶手段に記憶された一対
の三角関数値に正負を示す符号ビットをそれぞれ付加す
る符号ビット付加手段を含む、高速フーリエ変換演算装
置。
10. An apparatus for performing a fast Fourier transform operation, comprising: a pair of trigonometric function values {Acos (2πn / N);
(2πn / N)} (A is a positive constant, N is the number of sample points,
n = n 0, n 0 + 1, n 0 + 2, ...; n 0 is a storage means for an arbitrary integer) is stored in the address associated with the n respective predetermined butterfly execution order is set, the sequence Calculating means for executing a plurality of butterfly operations in accordance with the following, and for each of the plurality of butterfly operations, a rotor index generating means for sequentially generating a rotor index of a predetermined number of rotors to be supplied to the calculating means Conversion means for converting the rotor index generated by the rotor index generation means into an address value indicating the address of the storage means; and an address value of the storage means obtained by conversion by the conversion means. Rotator generation means for generating a rotator based on a pair of trigonometric function values stored at an address corresponding to: a pair of trigonometric functions stored in the storage means. A fast Fourier transform operation device including a sign bit adding means for adding sign bits indicating positive or negative to a numerical value.
【請求項11】 前記回転子インディクス生成手段は、 クロックに関連して歩進するようなクロック値を出力す
るクロック計数手段と、 前記クロック計数手段が出力したクロック値に関連して
増分値を生成する増分値生成手段と、 所定の周期でクリア信号を発生するクリア信号発生手段
と、 前回出力された回転子インディクスと、前記増分値生成
手段が生成した増分値とを加算する加算手段と、 前記加算手段が加算して得られた回転子インディクスを
一時保持して出力し、かつ、前記クリア信号発生手段が
発生したクリア信号に応じて、保持している回転子イン
ディクスを初期化する保持手段とを含む、請求項10に
記載の高速フーリエ変換演算装置。
11. The rotator index generating means includes: a clock counting means for outputting a clock value which advances in relation to a clock; and an increment value for the clock value output by the clock counting means. An increment value generating means for generating; a clear signal generating means for generating a clear signal at a predetermined cycle; an adding means for adding a previously output rotor index to the increment value generated by the increment value generating means; , The rotor index obtained by the addition means is temporarily held and output, and the held rotor index is initialized according to the clear signal generated by the clear signal generating means. The fast Fourier transform operation device according to claim 10, further comprising a holding unit that performs the operation.
JP9144350A 1997-06-02 1997-06-02 Fast fourier transformation arithmetic unit Pending JPH10334080A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9144350A JPH10334080A (en) 1997-06-02 1997-06-02 Fast fourier transformation arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9144350A JPH10334080A (en) 1997-06-02 1997-06-02 Fast fourier transformation arithmetic unit

Publications (1)

Publication Number Publication Date
JPH10334080A true JPH10334080A (en) 1998-12-18

Family

ID=15360069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9144350A Pending JPH10334080A (en) 1997-06-02 1997-06-02 Fast fourier transformation arithmetic unit

Country Status (1)

Country Link
JP (1) JPH10334080A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505486A (en) * 2005-08-08 2009-02-05 フリースケール セミコンダクター インコーポレイテッド Multi-mode wireless broadband signal processor system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505486A (en) * 2005-08-08 2009-02-05 フリースケール セミコンダクター インコーポレイテッド Multi-mode wireless broadband signal processor system and method

Similar Documents

Publication Publication Date Title
US6035313A (en) Memory address generator for an FFT
Taylor A single modulus complex ALU for signal processing
Huang et al. A novel and efficient design for an RSA cryptosystem with a very large key size
US5430667A (en) Hardware arrangement for fast fourier transform having improved addressing techniques
US6317770B1 (en) High speed digital signal processor
US6993547B2 (en) Address generator for fast fourier transform processor
Bos et al. Efficient SIMD arithmetic modulo a Mersenne number
Dimitrov et al. Multiple-base number system: theory and applications
JP2005174077A (en) Function operation method and circuit
JP3355321B2 (en) Efficient digital channelizer system and method of operation
JP2508784B2 (en) Exponential function calculator
JPH10334080A (en) Fast fourier transformation arithmetic unit
JP2001101160A (en) Data storage pattern for fast fourier transform
JP4083387B2 (en) Compute discrete Fourier transform
JP3355320B2 (en) Digital channelizer having an efficient architecture for window presum calculating window presum within one clock period using distributed arithmetic
JP3728756B2 (en) Device for correcting delay time of discrete Fourier transform value
JPH11259454A (en) Fourier transformation device
Wang et al. A novel fast modular multiplier architecture for 8,192-bit RSA cryposystem
KR100297110B1 (en) Modular multiplier
JP3355319B2 (en) Digital channelizer with efficient architecture for periodic shifting and method of operation thereof
Hsue et al. Fast algorithms for solving Toeplitz systems of equations using number-theoretic transforms
Mahesh et al. Performance Evaluation of FFT through Adaptive Hold Logic (AHL) Booth Multiplier
JP2002504250A (en) Device for converting a sequence of data elements
Ray et al. ASIC architecture for implementing blackman windowing for real time spectral analysis
Tamilselvi et al. Resourceful fast DHT algorithm for VLSI implementation by split radix algorithm