JPS6237776A - Fast Fourier transform device - Google Patents
Fast Fourier transform deviceInfo
- Publication number
- JPS6237776A JPS6237776A JP17698285A JP17698285A JPS6237776A JP S6237776 A JPS6237776 A JP S6237776A JP 17698285 A JP17698285 A JP 17698285A JP 17698285 A JP17698285 A JP 17698285A JP S6237776 A JPS6237776 A JP S6237776A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- address
- circuit
- calculation
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、高速フーリエ変換(Fast Fourie
rTransform、以下、FFTと略す)装置に関
する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention is directed to fast Fourier transform (Fast Fourier transform).
rTransform (hereinafter abbreviated as FFT) device.
従来のFFT装置は、データか格納されでいるメモリの
アドレスを全ビットリバースしてデータの順序を並べ換
えた後、所定のアルゴリズムに従って、アドレスジェネ
レータで発生されたアドレスでバタフライ演算のデータ
ベアをアクセスして演算を進めていくようになってあり
、この結果、FFT演算結果が順序良く並ぶことになる
。A conventional FFT device reverses all bits of the memory address where the data is stored and rearranges the order of the data, and then accesses the data bear of the butterfly operation using the address generated by the address generator according to a predetermined algorithm. As a result, the FFT calculation results are arranged in good order.
ここで、バタフライ演算は第3図に示すように次式で与
えられる。Here, the butterfly operation is given by the following equation as shown in FIG.
X(i)=工(i)+w−”・χ0)
X(D=工(i)−W−K・工(D
ここで、1.j:データ誠
χ(i)、工(j)、X(i)、Y(j) :複素数
W−に二ウェイトベクトル
第4図(a)は従来のFFT装置のアルゴリズムの例(
データ数N=23=8の場合)を示す図、第4図(b)
はそのウェイトヘクトルW′1.W6゜W−“・、w”
、w’j、w”7 、W” 、WO、−Wo。X(i)=Work(i)+w-"・χ0) X(i), Y(j): two-weight vector for complex number W- Figure 4(a) is an example of the algorithm of a conventional FFT device (
Figure 4 (b) shows the case where the number of data N = 23 = 8)
is its weight hector W′1. W6゜W-“・,w”
, w'j, w"7 , W", WO, -Wo.
−W4 、−W゛7、−W′3のベクトル図である0円
内の数字はデータ遂ヲ示している。In the vector diagram of -W4, -W'7, -W'3, the numbers within 0 yen indicate the data completion.
メモリのアドレスを全ビットリバースしてデータの順序
を0.4,2.6,1.5.3.7と並べ換えた後、ス
テップ1.11.IIIとアルゴリズムに従っで、アド
レスジェネレータで発生されたアドレスでバタフライ演
算のデータをアクセスして演算を進めでいくと、最終的
に0.1,2.3゜4.5,6.7と順序良く並んだF
FT演算結果が得られる。After reversing all bits of the memory address and rearranging the data order as 0.4, 2.6, 1.5.3.7, step 1.11. According to III and the algorithm, when the butterfly calculation data is accessed using the address generated by the address generator and the calculation proceeds, the final order is 0.1, 2.3°, 4.5, 6.7. F well lined up
FT calculation results are obtained.
(発明か解決しようとする問題点)
上述した従来のFFT装置では、データアドレスの全ビ
ット1ノバースによるデータの並べ換えと演算過程での
アドレスジェネレータによるデータアドレスとウェイト
アドレスの発生、アクセスとに時間かかかつ、回路も摺
雑になるという問題点がある。(Problem to be solved by the invention) In the above-mentioned conventional FFT device, it takes a long time to rearrange data by 1-oversing all bits of the data address, generate data addresses and wait addresses by the address generator in the calculation process, and access. Moreover, there is a problem that the circuit becomes sloppy.
本発明の目的は、高速でリアルタイム処理に適したFF
T装置を提供することである。An object of the present invention is to provide an FF that is fast and suitable for real-time processing.
The purpose of this invention is to provide a T device.
本発明のFFT装雷は、データが時系列に格納されでい
る第1のメモリのアドレスの最下位ビットと上位ビット
をリバースして、前記データをアクセスしバタフライ演
算を行なう第1の装置と、第1のメモリの演算結果か、
そのデータの個数に応じて、アドレスか全ビットリバー
スされて格納される第2のメモリを備え、第1、第2の
メモリを介して第1の装置とパイプライン的に接続され
、第2のメモリのデータによりバタフライ演算の次の処
理を行なう第2の装置を有する。The FFT torpedo of the present invention includes a first device that reverses the least significant bit and the most significant bit of an address of a first memory in which data is stored in time series, accesses the data, and performs a butterfly operation; Is it the calculation result of the first memory?
A second memory is provided in which all bits of the address are reversed and stored in accordance with the number of pieces of data, and the second memory is connected to the first device via the first and second memories in a pipeline manner. It has a second device that performs the next process of the butterfly operation based on the data in the memory.
このように1ビツトリバースを行なうことにより、従来
のように全ビットリバースを行なう場合よりも回路構成
か簡単になって、データアクセス、したがって、演算が
高速になり、また、装Mを、バタフライ演算を行なう第
1の装置と、IFFT、絶対値/位相の演算、スペクト
ラムの演算等を行なう第2の装置に分割し、かつこれら
装置をパイプライン的(処理の多重化を指す)に接続す
ることにより、各装置は自分の処理が完了し1こデータ
を他方の装置に渡した後は前処理からのデータを処理す
ることかできるのでリアルタイム処理が寅現される。By performing one-bit reversal in this way, the circuit configuration becomes simpler than when performing all-bit reversal as in the past, and data access and therefore calculations become faster. A first device that performs IFFT, absolute value/phase calculation, spectrum calculation, etc. is divided into a first device that performs IFFT, absolute value/phase calculation, spectrum calculation, etc., and these devices are connected in a pipeline manner (referring to multiplexing of processing). As a result, each device can process the data from the pre-processing after completing its own processing and passing the data to the other device, thereby realizing real-time processing.
以下、本発明の実施例について図面を参照して説明する
。Embodiments of the present invention will be described below with reference to the drawings.
第1図は本発明のFFT装雪の一実施例(データ数N=
8)を示すブロック図、第2図はそのバタフライ演算の
演算過程を示す図である。FIG. 1 shows an example of FFT snow treatment of the present invention (number of data N=
8), and FIG. 2 is a diagram showing the calculation process of the butterfly calculation.
アドレスカウンタ1 (3どットAO,AI、 A2か
うなる)はデータアクセス毎にインクリメントされる初
段8進カウンタ(バタフライ演算1回で複素数の2つデ
ータをリード/ラインするため)と8進カウンタの桁上
げでインクリメントされていく2進カウンタ(実数部と
虚数部と別々にデータをリード/ライトするため)から
なる、メモリ3にはデータ:1:(i)(l・0.・・
・・・・27)か、ウェイトテーブル5にはウェイトベ
クトルw−3,w−2,W−1゜Wo 、 WI 、
VJ2 、 W3がそれぞれ格納されている。1ビツト
リバース回路2はアドレスカウンタ1の出力のビット変
換(ステップエではビットAOとA2、ステップ11て
はビットAOとAI)を行なう。Address counter 1 (3 dots AO, AI, A2) is a first-stage octal counter that is incremented every time data is accessed (to read/line two pieces of complex data in one butterfly operation) and an octal counter. The memory 3 consists of a binary counter (to read/write data separately for the real part and imaginary part) that is incremented by a carry of .Data: 1:(i)(l・0...
...27) Or, the weight table 5 contains weight vectors w-3, w-2, W-1°Wo, WI,
VJ2 and W3 are stored respectively. The 1-bit reverse circuit 2 performs bit conversion of the output of the address counter 1 (bits AO and A2 in step E, bits AO and AI in step 11).
ウェイトカウンタ4は、アドレスカウンタ1の最下位ビ
ットAOてビット交換されるビット(A2゜AI、 八
〇の順)の立上りでカウントしてウェイトテーブル5の
アドレスを発生する。なお、ウェイトカウンタ4の最下
位ビットがウェイトテーブル5の最上位ビットに接続さ
れており、ウェイトカウンタ4の出力を全ビットリバー
スしたものがウェイトテーブル5のアドレスとなる。こ
のようにして、必要なウェイトベクトルが自動的に得ら
れる。制御・演算回路6はアドレスカウンタ]および1
ビツト・リバース回路2の制御を行なうとともに、メモ
リ3からデータを取出してバタフライ演算を行ない、結
果をメモリ3に格納する。ざらに、制御・演算回路6は
FFT演算が終了して、全ビットリバースした順序でメ
モリ3に残っているデータを全ビットリバースして正し
い順序に並へ換えでメモリ8に移す。制御・演算回路9
はメモリ8に移されたデータに対してマルチプレクサ7
を経でアクセスし、IFFT (逆FFT 、周波数軸
から峙門軸への変換)、絶対値/位相、スペクトラム(
パワー(a)の演算等の処理を行なう。The wait counter 4 generates the address of the wait table 5 by counting at the rising edge of the bit exchanged with the least significant bit AO of the address counter 1 (A2°AI, 80 order). Note that the least significant bit of the weight counter 4 is connected to the most significant bit of the weight table 5, and the address of the weight table 5 is obtained by reversing the output of the weight counter 4 by all bits. In this way, the required weight vectors are automatically obtained. control/arithmetic circuit 6 is an address counter] and 1
It controls the bit reverse circuit 2, takes out data from the memory 3, performs a butterfly operation, and stores the result in the memory 3. Roughly speaking, after the FFT operation is completed, the control/arithmetic circuit 6 reverses all bits of the data remaining in the memory 3 in the order in which all bits were reversed, rearranges them in the correct order, and transfers them to the memory 8. Control/arithmetic circuit 9
is the multiplexer 7 for the data transferred to the memory 8.
can be accessed via
Processing such as calculation of power (a) is performed.
次に、本実施例の動作を説明する。表1、表2、表3は
各ステップ■、II、■におけるアドレスカウンタ1.
1ビツトリバース回路2の出力、アクセスされるデータ
届、ウェイトベクトルを表にしたものである。Next, the operation of this embodiment will be explained. Tables 1, 2, and 3 show address counters 1.
This table shows the output of the 1-bit reverse circuit 2, accessed data, and weight vectors.
表1
表2
表3
ステップ■では、アドレスカウンタ1のビットAOとA
2が1ピツトリパ一ト回路2でリバース(変換)され、
メモリ3のデータペアχ(0)と工(4)、工(2)と
χ(6)、工(1)とχ(5) 、 I(3)と工(7
)が順にアクセスされ、一方、このときウェイトカウン
タ4によりウェイトテーブル5のウェイトベクトルW0
が常にアクセスされで、制御・演算回路6で各データペ
アについでバタフライ演算が行なわれ、結果がメモリ3
に格納される。Table 1 Table 2 Table 3 In step ■, bits AO and A of address counter 1
2 is reversed (converted) by the 1 pit repart circuit 2,
Data pairs in memory 3 are
) are accessed in order, and at this time, the weight vector W0 of the weight table 5 is accessed by the weight counter 4.
is constantly accessed, a butterfly operation is performed on each data pair in the control/arithmetic circuit 6, and the result is stored in the memory 3.
is stored in
ステップIIては、アドレスカウンタ1のビットAOと
A1が1ビ・ントjノバース回路2でリバースされ、メ
モリ3のデータベアエ(0)とχ(2)、χ(1)とχ
(3)、 x (4)とx(6)、χ(5)とχ(7)
が順にアクセスされ、そしてデータエ(3)のアクセス
後にウェイトカウンタ4がインクリメントされてウェイ
トテーブル5のウェイトベクトルW“2がアクセスされ
、前と同様にして各データペアについてバタフライ演算
が行なわれ、結果かメモリ3に格納される。In step II, bits AO and A1 of address counter 1 are reversed by 1 bit reverse circuit 2, and data bits (0) and χ(2), χ(1) and χ of memory 3 are reversed.
(3), x (4) and x (6), χ (5) and χ (7)
are accessed in sequence, and after accessing data (3), the weight counter 4 is incremented and the weight vector W"2 of the weight table 5 is accessed. Butterfly operations are performed on each data pair in the same way as before, and the result is It is stored in memory 3.
最終ステップであるステップmでは、ビットリバースは
行なわれメモリ3の隣同志のデータペアーt(0)とχ
(1)、χ(2)と工(3)、 x (5)と工(6)
とχ(7)か順にアクセスされず、一方ウエイトテーブ
ル5のウェイトベクトルは最初にWO、データx(1)
のアクセス後にW−2、χ(3)のアクセス後にウェイ
トカウンタ4がインクリメントされ、W゛1、次にW−
Aをと順にアクセスされ、隣同志のデータペアについで
バタフライ演算が行なわれ、結果が全ビット1ノバース
された順序でメモリ3に格納される。In step m, which is the final step, bit reversal is performed and adjacent data pairs t(0) and χ
(1), χ (2) and k (3), x (5) and k (6)
and χ(7) are not accessed in order, while the weight vectors in weight table 5 are first accessed by WO, data x(1)
After accessing W-2, after accessing χ(3), weight counter 4 is incremented, W-1, then W-
A is accessed in order, a butterfly operation is performed on adjacent data pairs, and the results are stored in the memory 3 in the order in which all bits are reversed to 1.
この後、メモ1ノ3(こあるFFT演算が終了した結果
は制御・演算回路6により全ビットリバースされで正し
い順序に並べ換えでメモリ8(ご転送され、制御・演算
回路9へ処理か受は渡される。制御・演算回路9はメモ
リ8にあFFT結果をデータとして、IFFT、絶対値
/位相演算、スペクトル演算等の処理を行なう。After this, all bits of the memo 1 and 3 (the result of the FFT operation completed) are reversed by the control/arithmetic circuit 6, rearranged in the correct order, and transferred to the memory 8 (memory 8), where they are processed or received by the control/arithmetic circuit 9. The control/arithmetic circuit 9 uses the FFT results stored in the memory 8 as data to perform processing such as IFFT, absolute value/phase calculation, and spectrum calculation.
なあ、データ数N(=2L)が多くなった場合、演算ス
テップでのビット交換は、上位ビットから順番に、2L
−1、21−2,・・・20の順序で1回ステップあり
、それぞれN/2回のバタフライ演算を行なうことで完
了する。また、メモリ8へメモリ3のデータを転送する
際のデータのアドレスの全ビットリバースは制御・演算
回路6で行なってもよい。By the way, when the number of data N (=2L) increases, the bit exchange in the calculation step is 2L in order from the upper bit.
There is one step in the order of -1, 21-2, . . . 20, and each step is completed by performing N/2 butterfly calculations. Furthermore, when data in the memory 3 is transferred to the memory 8, all bits of the data address may be reversed by the control/arithmetic circuit 6.
以上説明したように本発明は、従来のような事前のデー
タの並べ換えを行なわずにメモリのアドレスを1ビツト
リバースすることにより、データを高速に順序良くアク
セスし、同時にウェイトテーブルも簡単にアクセスしU
FFT演算を高速行なうことかでき、また、装置をF
FT演四行なう装置として次の処理を行なう装置に分罵
りし、かつ、これらをパイプライン的に接続してデータ
の受は渡しを行なうことにより、高速なリアルタイム処
理が可能となる効果かある。As explained above, the present invention allows data to be accessed quickly and in an orderly manner by reversing memory addresses by one bit without prior data rearrangement as in the prior art, and at the same time allows easy access to the weight table. U
FFT calculations can be performed at high speed, and the device can be
By decoupling the device that performs the FT operation from the device that performs the next process, and connecting these devices in a pipeline to receive and pass data, it is possible to perform high-speed real-time processing.
第1図は本発明の高速フーリエ変換装置の一大施例のプ
ロ・ンク図、第2図は第1図の高速ノー1ノ工変換装百
にあけるバタフライ演算の過程を示す図、第3図(よバ
タフライ演算の模式図、第4図(a)は従来例の高速フ
ーリエ変換装置にお1ブるバタフライ演算の過程を示す
図、第4図(b)はそのウェイトベクトルのベクトル図
である。
1・・・アドレスカウンタ、
2・・・]ビットリバース回路、
3.8・・・メモlノ、
4・・・ウェイトカウンタ、
5・・・ウェイトテーブル、
6.9・・・制御・演算回路、
7・・・マルチプレクサ。Fig. 1 is a diagram showing a major embodiment of the fast Fourier transform device of the present invention, Fig. 2 is a diagram showing the process of butterfly calculation in the high speed No. Figure 4 (a) is a diagram showing the process of butterfly operation in a conventional fast Fourier transform device, and Figure 4 (b) is a vector diagram of the weight vector. 1...Address counter, 2...Bit reverse circuit, 3.8...Memory note, 4...Wait counter, 5...Wait table, 6.9...Control. Arithmetic circuit, 7...Multiplexer.
Claims (1)
スの最下位ビットと上位ビットをリバースして、前記デ
ータをアクセスしバタフライ演算を行なう第1の装置と
、 第1のメモリの演算結果が、そのデータの個数に応じて
、アドレスが全ビットリバースされて格納される第2の
メモリを備え、第1、第2のメモリを介して第1の装置
とパイプライン的に接続され、第2のメモリのデータに
よりバタフライ演算の次の処理を行なう第2の装置を有
する高速フーリエ変換装置。[Scope of Claims] A first device that accesses the data and performs a butterfly operation by reversing the least significant bit and the most significant bit of an address of a first memory in which data is stored in time series; A second memory is provided in which the calculation result of the memory is stored with the address reversed in all bits according to the number of pieces of data, and is communicated with the first device via the first and second memories in a pipeline manner. A fast Fourier transform device, which is connected to a second memory and has a second device that performs subsequent processing of the butterfly operation using data in a second memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17698285A JPS6237776A (en) | 1985-08-13 | 1985-08-13 | Fast Fourier transform device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17698285A JPS6237776A (en) | 1985-08-13 | 1985-08-13 | Fast Fourier transform device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6237776A true JPS6237776A (en) | 1987-02-18 |
Family
ID=16023108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17698285A Pending JPS6237776A (en) | 1985-08-13 | 1985-08-13 | Fast Fourier transform device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6237776A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02101574A (en) * | 1988-10-11 | 1990-04-13 | Jeol Ltd | Large capacity fast fourier transformation system |
| JPH03282451A (en) * | 1990-03-30 | 1991-12-12 | Mitsubishi Paper Mills Ltd | Antistatic silver halide photographic material |
-
1985
- 1985-08-13 JP JP17698285A patent/JPS6237776A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02101574A (en) * | 1988-10-11 | 1990-04-13 | Jeol Ltd | Large capacity fast fourier transformation system |
| JPH03282451A (en) * | 1990-03-30 | 1991-12-12 | Mitsubishi Paper Mills Ltd | Antistatic silver halide photographic material |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0248906B1 (en) | Multi-port memory system | |
| JP5689282B2 (en) | Computer-implemented method, computer-readable storage medium and system for transposing a matrix on a SIMD multi-core processor architecture | |
| JP3749022B2 (en) | Parallel system with fast latency and array processing with short waiting time | |
| WO2008103885A2 (en) | Parallel architecture for matrix transposition | |
| JPS63136167A (en) | Orthogonal conversion processor | |
| JPH02504682A (en) | Conversion processing circuit | |
| US4800535A (en) | Interleaved memory addressing system and method using a parity signal | |
| CN103034621B (en) | The address mapping method of base 2 × K parallel FFT framework and system | |
| JPH06274528A (en) | Vector processing unit | |
| JPS6237776A (en) | Fast Fourier transform device | |
| JPH04256130A (en) | Arithmetic circuit for fuzzy control | |
| CN114861125A (en) | An implementation method of fast Fourier transform and inverse transform | |
| EP0988604A1 (en) | Device for converting series of data elements | |
| US20250173091A1 (en) | Processing architecture supporting an out of order number theoretic transform | |
| CN114116012B (en) | Method and device for realizing vectorization of FFT code bit inversion algorithm based on shuffling operation | |
| CN118820655B (en) | Hardware implementation method, device and security chip for number theory transformation | |
| CN101266594A (en) | Device for implementing N-point discrete Fourier transform by COOLEY-TUKEY algorithm | |
| WO1999053419A2 (en) | Device for converting series of data elements | |
| JP3296489B2 (en) | Operation method in associative memory device | |
| JPS6151268A (en) | Data processing device | |
| JPH03100863A (en) | FFT calculation method and device | |
| JP2515724B2 (en) | Image processing device | |
| JPS60144876A (en) | Inter-vector element arithmetic device | |
| JP2002207718A (en) | Method for fft processing | |
| CN119556884A (en) | A number-theoretic transformation structure of concurrent constant geometry |