Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0230062B2 - - Google Patents
[go: Go Back, main page]

JPH0230062B2 - - Google Patents

Info

Publication number
JPH0230062B2
JPH0230062B2 JP58065130A JP6513083A JPH0230062B2 JP H0230062 B2 JPH0230062 B2 JP H0230062B2 JP 58065130 A JP58065130 A JP 58065130A JP 6513083 A JP6513083 A JP 6513083A JP H0230062 B2 JPH0230062 B2 JP H0230062B2
Authority
JP
Japan
Prior art keywords
data
memory
fft
block
speed
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.)
Expired - Lifetime
Application number
JP58065130A
Other languages
Japanese (ja)
Other versions
JPS59189474A (en
Inventor
Hideo Nagai
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.)
GE Healthcare Japan Corp
Original Assignee
Yokogawa Medical Systems 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 Yokogawa Medical Systems Ltd filed Critical Yokogawa Medical Systems Ltd
Priority to JP58065130A priority Critical patent/JPS59189474A/en
Publication of JPS59189474A publication Critical patent/JPS59189474A/en
Publication of JPH0230062B2 publication Critical patent/JPH0230062B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、高速フーリエ変換(以下FFTと略
す)を行うFFT演算装置に関する。 従来から、汎用のパイプライン方式のアレイプ
ロセツサー(Array Processor以下APと略す)
では、通常データ・メモリ・アクセスに時間遅れ
があり、加減算、乗算の完了に時間遅れを増大さ
せている。 演算の入力(又は出力)データの格納メモリか
らのデータ読出し(又は書込み)に遅れがあり、
かつまた連続的に大量のデータの読出しないし書
込みを必要とするFFT演算においては、その演
算(処理)能力は、メモリとデータ授受で制限さ
れる速度になつてしまう。 例えば、2点のコンプレツクス・データ
(Complex Data)の読出し及び書込みに要する
時間は、各点が実数部と虚数部の2データで表現
されているため、読出しに4サイクル、書込みに
4サイクルの計8サイクル必要である。この場
合、4回の乗算の開始と6回の加算の開始が、乗
算と加算の並列処理によつて6サイクルで実行で
きたとしても、メモリ・アクセス回数8サイクル
がFFT演算の速度を決定してしまい、すなわち
FFT演算速度がメモリ・アクセス回数で制限さ
れてしまうという問題があつた。 本発明は、このような点に鑑み、その目的とす
るところは、FFT入出力データ格納用低速大容
量のメモリの他に、2個の最小容量の高速アクセ
ス・メモリを用意し、大容量メモリの入力、出力
メモリ・アドレスを巧みに制御して演算に要する
時間の短縮化を図り得るFFT装置を提供するこ
とにある。 以下図面を用いて本発明を詳しく説明する。ま
ず、本発明の方式のアルゴリズムについて説明す
る。第1図の本発明の方式のシグナル・フローを
示す図で、データ数16、DIT法、in−place方式、
入力正順の例における演算の方法及びデータの流
れを示し、第2図にブロツク内データ数2・
ND、DIT法、in−place方式、入力正順の例にお
けるシグナル・フローの詳細を示してある。 本発明の方式におけるFFTアルゴリズムの基
本を述べれば次のとおりである。本FFTは、
BaSe2FFT、コンプレツクス・データ数N、in−
place方式、入力データ正順、DIT法の場合であ
り、演算手順をN=22〓とN=22+1の場合に分け
て示せば次のとおりである。 (イ) N=22〓の場合 (1) N=22〓、ND=N/2、l=1とする。 (2) K=0、M=0とする。 (3) k=K、K+1、K+2、…、K+ND−
1に対し、下記の演算を行う。
The present invention relates to an FFT calculation device that performs fast Fourier transform (hereinafter abbreviated as FFT). Traditionally, general-purpose pipelined array processors (Array Processor, abbreviated as AP)
In this case, there is usually a time delay in data memory access, which increases the time delay in completing additions, subtractions, and multiplications. There is a delay in reading (or writing) input (or output) data for calculations from storage memory,
Furthermore, in FFT calculations that require continuous reading or writing of large amounts of data, the calculation (processing) capability is limited by the speed of memory and data exchange. For example, the time required to read and write two points of complex data is 4 cycles for reading and 4 cycles for writing, because each point is represented by two data, a real part and an imaginary part. A total of 8 cycles are required. In this case, even if the start of 4 multiplications and the start of 6 additions can be executed in 6 cycles by parallel processing of multiplication and addition, the number of memory accesses of 8 cycles determines the speed of the FFT operation. i.e.
There was a problem that the FFT calculation speed was limited by the number of memory accesses. In view of these points, the present invention aims to provide two minimum-capacity, high-speed access memories in addition to a low-speed, large-capacity memory for storing FFT input/output data. An object of the present invention is to provide an FFT device that can shorten the time required for calculation by skillfully controlling input and output memory addresses. The present invention will be explained in detail below using the drawings. First, the algorithm of the method of the present invention will be explained. This is a diagram showing the signal flow of the method of the present invention in FIG. 1, in which the number of data is 16, the DIT method, the in-place method,
The calculation method and data flow in the example of normal input order are shown in Figure 2.
The details of the signal flow are shown in examples of ND, DIT method, in-place method, and normal input order. The basics of the FFT algorithm in the method of the present invention are as follows. This FFT is
BaSe2FFT, number of complex data N, in-
These are the cases of the place method, the input data normal order, and the DIT method, and the calculation procedure is divided into the cases of N=2 2 〓 and N=2 2+1 as follows. (a) In the case of N=2 2 〓 (1) Let N=2 2 〓, ND=N/2, l=1. (2) Let K=0 and M=0. (3) k=K, K+1, K+2,..., K+ND-
1, perform the following calculation.

【表】 (4) M=M+2、K=K+2・NDとし、K<
Nなら(3)に戻る。 (5) ND=ND/4、l=l+1とし、l≦γ
なら(2)に戻る。 (6) k=0、1、…、N−1に対して(出力デ
ータ配列正順化) q=Bit Reverse{k}とし q>kなら G=Cl(q) Cl(q)=Cl(k)} (6) Cl(k)=G (ロ) N=22+1の場合 (1) N=22+1、ND=N/2、l=1とする。 (2) K=0、M=0とする。 (3) k=K、K+1、K+2、…、K+ND−
1に対し、下記の演算を行う。
[Table] (4) M=M+2, K=K+2・ND, K<
If N, return to (3). (5) ND=ND/4, l=l+1, l≦γ
Then return to (2). (6) For k=0, 1,...,N-1 (output data array normalization) q=Bit Reverse {k} If q>k then G=C l (q) C l (q)= C l (k)} (6) C l (k)=G (b) In the case of N=2 2+1 (1) Set N=2 2+1 , ND=N/2, l=1 . (2) Let K=0 and M=0. (3) k=K, K+1, K+2,..., K+ND-
1, perform the following calculation.

【表】【table】

【表】 (4) M=M+2、K=K+2・NDとし、K<
Nなら(3)に戻る。 (5) ND=ND/4、l=l+1とし、l≦γ
なら(2)に戻る。 (6) k=0、1、2、…、N/2−1に対し、下 記の演算を行う。 Cl(2k)=Cl(2k) +Cl(2k+1)・W(2k) (5−1) Cl(2k+1)=Cl(2k) −Cl(2k+1)・W(2k) (5−2) (7) k=0、1、2、…、N−1に対し(デー
タ配列正順化) q=Bit Reverse{k}とし q>kなら G=Cl(q) Cl(q)=Cl(k) Cl(k)=G また、本発明の方式は、各ブロツクを4分割し
た小ブロツクより各1点ずつのデータを取出し、
この4点データについて通常のFFTの2ループ
分の処理を一度に行い、大容量メモリ・アクセス
回数を半減するように構成されている。 第3図及び第4図はループとブロツク及び小ブ
ロツクの関係を示す図で、第3図は実数部だけ又
は虚数部だけのデータが連続するような場合、第
4図は実数部と虚数部とでなるデータが連続する
場合について示してある。 以上述べたようなアルゴリズムを施行するため
のFFT製置の一実施例を第5図に示す。第5図
において、RF1,RF2は複数個のレジスターで
なるレジスターフアイルで、大容量メモリMSの
読出しアドレス、書込みアドレスを格納する。
RI1とRI2はともに読出しアドレスの変化分及
び格納アドレスの変化分を与えるレジスタであ
る。SEL1,SEL2は入力a1,a2のいずれか一方
を選択するセレクターで、AD1,AD2はアド
レスを加算する加算器である。AD1ではRF1
とSEL1の両出力の加算を行い、結果をセレクタ
ーSEL3経由でMSのアドレス・レジスターMA
に与える。 AD1の出力はRF1の該当レジスターにフイ
ードバツクされ、次のアドレスデータとなる。
AD2ではRF2とSEL2の両出力の加算を行い、
結果をSEL3経由でMAに与える。AD2の出力
は、RF2の該当レジスターに格納され、次のア
ドレス・データとなる。レジスターフアイルRF
1,RF2、レジスタRI1,RI2、セレクター
SEL1,SEL2,SEL3、加算器AD1,AD2、
アドレスレジスターMA等でアドレス群を制御す
る手段を構成する。 HSM1,HMS2は高速小容量のメモリで、
MSからの読出しデータの格納、FFT演算の中間
結果の格納、FFT演算結果の格納メモリとして
使用される。HSM1,2は最小サイクル・タイ
ムでのデータの読出し/書込みの同時動作ができ
る(読出しアドレスと書込みアドレスは必ずしも
一致しない)。TBMはFFT演算の定数(W(M)
など)類を格納しておくデータ・メモリ(RAM
が使用される)である。 ADDは加算器で、2入力A1,A2の加算を
行い、結果をHSM1,HSM2,ADDのA2各入
力へ与えることができる。ADDのA1入力には、
HSM1,HSM2,MULの出力の中の何れかが
選ばれる。ADDのA2入力には、HSM1,HSM
2,ADD自身の出力の中の何れかが選ばれる。
MULは乗算器で、2入力M1,M2の乗算を行
い、結果をHSM1,HSM2,ADDのA1各入力
へ与えることができる。MULのM1入力には、
TBMの出力が与えられる。 MULのM2入力には、HSM1,HSM2の出
力の中のいずれかが選ばれる。 IFは外部装置(CPU、データ収集装置等)と
のインターフエース部である。 データやアドレス情報、制御信号等が授受され
る。外部とのデータ転送はMS〜外部装置で行
う。CSはFFT演算用のマイクロ・プログラムを
格納するメモリであり、CTLはマイクロ・プロ
グラムに基づいて各装置の有機的な動作を統轄制
御する部分である。MSの読出しと書込み動作は
直列的であるが、ADD,MUL,HSM1/HSM
2の読出し及び書込み動作、TBMの読出し動作
等は並列的に動作できる。 このような構成における本発明の動作を次に説
明する。 (1) 各ループ処理の準備 FFTの入力データは、MSに格納しておく。
RF1,RF2は、各8レジスターより成るレジ
スターフアイルで、各レジスターの初期値RF
1(j),RF2(j)(j=0、1、…、7)を次の
ようにセツトする(RF1は読出し、RF2は書
込み用)。 RBA:実数データの先願アドレス IBA:虚数データ 〃 ND:ブロツク内データ数の半分 また、RI1,RI2の初期値を次のようにセ
ツトする(実数データと虚数データが分離して
いる場合の例)。 RI1=1 (9−1) RI2=3/2ND+1 (9−2) W(M)=W(o)=1 (10) (2) HSM1に(RBA、IBA);(RBA+ND/2、 IBA+ND/2); に対応する4複素数データを書込む(MS→
HSM1)。 (3) HSM2に、MSより次の4複素数データを
書込む(MS→HSM2)。 同時に、HSM1にFFT演算を施す(HSM
1→HSM1;アルゴリズム(イ)の(3)項)。 (4) 次の動作を並行処理する。 (i) HSM1の4complex dataを、 ブロツクの先頭データのときは RF2(j)+RI2 ブロツクの先頭データ以外のときは RF2(j)+RI1 のアドレスに格納し(HSM1→MS)、その
後、 ブロツクの先頭データのときは RF1(j)+RI2 ブロツクの先頭データ以外のときは RF1(j)+RI1 の4complex dataをHSM1に読込む(MS
→HSM1)。 (ii) HSM2の4complex dataにFFT演算を施
す(HSM2→HSM2;アルゴリズム(イ)の(3)
項)。 (5) 次の動作を並行処理する。 (i) HSM2の4complex dataを、 ブロツクの先頭データのときは RF2(j)+RI2 ブロツクの先頭データ以外のときは RF2(j)+RI1 のアドレスに格納し(HSM2→MS)、その
後、 ブロツクの先頭データのときは RF1(j)+RI2 それ以外のときは RF1(j)+RI1 の4complex dataをHSM2に読込む(MS
→HSM2)。 (ii) HSM1の4complex dataにFFT演算を施
す(HSM1→HSM1;アルゴリズム(イ)の(3)
項)。 (6) 1ブロツクの全FFT演算の終了まで上記(4)、
(5)を繰り返し、この演算処理の終了後M=M+
2とし、このループの全ブロツクの処理が終了
しなければ再び(5)の動作に戻る。 (7) HSM2の4ComplexデータをMSに格納す
る。 1ループの処理終了後ND=ND/4とし、
全ループの処理が終了しなければ(1)に戻る。 上記(1)〜(7)が第5図の装置を使用して、メモ
リ・アクセス・リミツトを越える高速FFT演算
を実現するアルゴリズムの例である。 データ処理回数の制御(1ブロツクND回)、
ループ回数の制御等は、CSのマイクロ・プログ
ラムにより、CTLで行う。 レジスター・フアイルRF1,RF2は、4点8
データのRead Address of Write Addressを記
憶し、参照後そのレジスターの内容を次の参照ア
ドレスに更新する。RI2は、ブロツクの先頭デ
ータのアドレス算出に際して用いられ(Read
Add./Write Add.)、RI1はその他のデータ・
アドレス算出に際して用いられるように制御され
る。 なお、本発明は、上述の実施例に限定すること
なく以下に列挙する拡張や変形も可能である。 (1) 1ブロツクを8分割(16、32、…分割)し、
3ループ(4、5、…ループ)一括処理アルゴ
リズムによるFFT演算装置等のアルゴリズム
の拡張や変形 (2) 制御信号、データ、アドレス等のライン、バ
ス等の統一または分離及び装置相互間の別の接
続、結合、結線。 (3) 複数の加算器(加減算器)の使用
(Butterfly演算器を有するもの等)、複数の乗
算器の使用による処理の高速化を図つた場合 (4) 装置の共用、代用 (i) AD1とAD2の共用(SEL3は不要とな
る) (ii) TBMをHSM1orHSM2と共用 (iii) CSなしでCTLで代用の場合 (5) 装置の結合、合体 (i) (SEL3、)MAをMSに含む((SEL3、)
MAが見かけ上ないケース) (ii) SEL1をAD1に含む (iii) SEL2をAD2に含む (iv) RI1とRI2の合体(SEL1,SEL2不要) (v) RF1とRF2の合体 (6) その他 ●RI1,RI2を2個ずつもつ場合 ●RI1,RI2をROMとする場合(複数個) ●RI1,RI2が複数個ある場合 ●TBMがROMの場合 ●RF1,RF2のレジスター数は8に限定され
ない 以上説明したように、本発明によれば、大容量
メモリへのメモリアクセスを低減し、且つ、デー
タ群の演算とデータ群の転送の双方をそれぞれ連
続的に行うことを可能とし、大容量メモリのメモ
リ・アクセス・リミツトを越える高速FFT演算
が実現できる。又、バタフライ演算器、大容量の
高速メモリ等の高価なデイバイスを使用せず、汎
用アレイプロセツサとしての装置に簡単で適用性
の高いFFTを実現できる。
[Table] (4) M=M+2, K=K+2・ND, K<
If N, return to (3). (5) ND=ND/4, l=l+1, l≦γ
Then return to (2). (6) Perform the following calculation for k=0, 1, 2,..., N/2-1. C l (2k)=C l (2k) +C l (2k+1)・W(2k) (5-1) C l (2k+1)=C l (2k) −C l (2k+1)・W(2k) (5 -2) (7) For k=0, 1, 2,..., N-1 (data array normalization) q=Bit Reverse {k} If q>k then G=C l (q) C l ( q) = C l (k) C l (k) = G In addition, the method of the present invention extracts one point of data from each small block obtained by dividing each block into four.
It is configured to process two loops of normal FFT on this four-point data at one time, reducing the number of large-capacity memory accesses by half. Figures 3 and 4 are diagrams showing the relationship between loops, blocks, and small blocks. The case where the data consisting of is continuous is shown. FIG. 5 shows an example of an FFT setup for implementing the algorithm described above. In FIG. 5, RF1 and RF2 are register files consisting of a plurality of registers, which store read addresses and write addresses of the large capacity memory MS.
Both RI1 and RI2 are registers that provide changes in the read address and changes in the storage address. SEL1 and SEL2 are selectors that select either input a 1 or a 2 , and AD1 and AD2 are adders that add addresses. RF1 in AD1
Adds both outputs of SEL1 and SEL1, and sends the result to MS address register MA via selector SEL3.
give to The output of AD1 is fed back to the corresponding register of RF1 and becomes the next address data.
AD2 adds both RF2 and SEL2 outputs,
Give the results to MA via SEL3. The output of AD2 is stored in the corresponding register of RF2 and becomes the next address data. register file RF
1, RF2, register RI1, RI2, selector
SEL1, SEL2, SEL3, adders AD1, AD2,
An address register MA etc. constitutes means for controlling the address group. HSM1 and HMS2 are high-speed, small-capacity memories.
It is used to store read data from the MS, to store intermediate results of FFT calculations, and to store FFT calculation results. HSMs 1 and 2 are capable of simultaneous data read/write operations in the minimum cycle time (read addresses and write addresses do not necessarily match). TBM is a constant of FFT operation (W(M)
data memory (RAM, etc.)
is used). ADD is an adder that can add two inputs A1 and A2, and give the result to each input of HSM1, HSM2, and A2 of ADD. For the A1 input of ADD,
One of the outputs of HSM1, HSM2, and MUL is selected. A2 input of ADD has HSM1, HSM
2. One of the outputs of ADD itself is selected.
MUL is a multiplier that multiplies two inputs M1 and M2 and can give the result to each input of A1 of HSM1, HSM2, and ADD. The M1 input of MUL has
The output of TBM is given. Either of the outputs of HSM1 and HSM2 is selected for the M2 input of MUL. IF is an interface section with external devices (CPU, data collection device, etc.). Data, address information, control signals, etc. are exchanged. Data transfer with the outside is performed between the MS and the external device. CS is a memory that stores microprograms for FFT calculations, and CTL is a part that centrally controls the organic operations of each device based on the microprograms. MS read and write operations are serial, but ADD, MUL, HSM1/HSM
The read and write operations of 2, the TBM read operations, etc. can be performed in parallel. The operation of the present invention in such a configuration will be described next. (1) Preparation for each loop processing Store the FFT input data in the MS.
RF1 and RF2 are register files each consisting of 8 registers, and the initial value RF of each register is
1(j), RF2(j) (j=0, 1, . . . , 7) are set as follows (RF1 is for reading and RF2 is for writing). RBA: First application address of real number data IBA: Imaginary number data 〃 ND: Half the number of data in the block Also, set the initial values of RI1 and RI2 as follows (example when real number data and imaginary number data are separated) ). RI1=1 (9-1) RI2=3/2ND+1 (9-2) W(M)=W(o)=1 (10) (2) To HSM1 (RBA, IBA); (RBA+ND/2, IBA+ND/ 2); Write 4 complex number data corresponding to (MS→
HSM1). (3) Write the next 4 complex number data from MS to HSM2 (MS→HSM2). At the same time, perform FFT calculation on HSM1 (HSM
1 → HSM1; Section (3) of algorithm (a)). (4) Process the following operations in parallel. (i) Store the 4complex data of HSM1 in the address RF2(j) + RI2 if it is the first data of the block, or RF2(j) + RI1 if it is not the first data of the block (HSM1 → MS), and then store it at the address RF2(j)+RI1 if it is the first data of the block. If it is data, read 4complex data of RF1(j) + RI2 into HSM1 if it is other than the first data of the block (MS
→HSM1). (ii) Perform FFT operation on 4complex data of HSM2 (HSM2→HSM2; Algorithm (a) (3)
section). (5) Process the following operations in parallel. (i) Store the 4complex data of HSM2 in the address RF2(j) + RI2 if it is the first data of the block, or RF2(j) + RI1 if it is not the first data of the block (HSM2 → MS), and then store it at the address RF2(j)+RI1 if it is the first data of the block. If it is data, read 4complex data of RF1(j) + RI2, otherwise read 4complex data of RF1(j) + RI1 to HSM2 (MS
→HSM2). (ii) Perform FFT operation on 4complex data of HSM1 (HSM1→HSM1; Algorithm (a) (3)
section). (6) The above (4) until the end of all FFT calculations for one block.
Repeat (5), and after completing this calculation process, M=M+
2, and if the processing of all blocks in this loop is not completed, the operation returns to step (5) again. (7) Store 4Complex data of HSM2 in MS. After completing one loop of processing, set ND=ND/4,
If all loop processing is not completed, return to (1). The above (1) to (7) are examples of algorithms for realizing high-speed FFT operations exceeding the memory access limit using the apparatus shown in FIG. Control of data processing times (1 block ND times),
Control of the number of loops, etc. is performed by CTL using the CS microprogram. Register files RF1 and RF2 have 4 points and 8
It stores the Read Address of Write Address of the data and updates the contents of the register to the next reference address after referencing it. RI2 is used when calculating the address of the first data of the block (Read
Add./Write Add.), RI1 is for other data.
It is controlled to be used when calculating an address. Note that the present invention is not limited to the above-described embodiments, and can be expanded and modified as listed below. (1) Divide one block into 8 parts (16, 32, ... divisions),
Expansion and modification of algorithms for FFT calculation devices, etc. using 3-loop (4, 5, ... loop) batch processing algorithms (2) Unification or separation of lines and buses for control signals, data, addresses, etc., and separate separation between devices Connection, bonding, wiring. (3) When multiple adders (addition/subtraction units) are used (such as those with Butterfly arithmetic units) or when multiple multipliers are used to speed up processing (4) Sharing or substitution of equipment (i) AD1 and AD2 (SEL3 is not required) (ii) TBM is shared with HSM1 or HSM2 (iii) When CTL is substituted without CS (5) Combining and combining devices (i) (SEL3,) MA is included in MS ((SEL3,)
Case in which MA is apparently absent) (ii) SEL1 is included in AD1 (iii) SEL2 is included in AD2 (iv) Combination of RI1 and RI2 (SEL1 and SEL2 unnecessary) (v) Combination of RF1 and RF2 (6) Others ● When there are two each of RI1 and RI2 ●When RI1 and RI2 are ROM (multiple) ●When there are multiple RI1 and RI2 ●When TBM is ROM ●The number of registers for RF1 and RF2 is not limited to 8 As described above, according to the present invention, it is possible to reduce memory access to a large-capacity memory, and to perform both arithmetic operations on a data group and transfer of a data group in succession, thereby reducing the number of memory accesses to a large-capacity memory. High-speed FFT operations exceeding memory access limits can be achieved. Furthermore, it is possible to realize a simple and highly applicable FFT in a general-purpose array processor device without using expensive devices such as a butterfly arithmetic unit or a large-capacity high-speed memory.

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

第1図及び第2図は本発明のシグナル・フロー
を示す図、第3図及び第4図はループとブロツク
及び小ブロツクの関係を示す図、第5図は本発明
のFFT演算装置の一実施例を示す要部構成図で
ある。 RF1,RF2……レジスターフアイル、RI1,
RI2……レジスタ、SEL1,SEL2,SEL3…
…セレクター、AD1,AD2……加算器、MA…
…アドレス・レジスター、MS……大容量メモ
リ、HSM1,HSM2……高速小容量メモリ、
TBM……データ・メモリ、ADD……加算器、
MUL……乗算器、IF……インターフエース。
Figures 1 and 2 are diagrams showing the signal flow of the present invention, Figures 3 and 4 are diagrams showing the relationship between loops, blocks, and small blocks, and Figure 5 is an illustration of the FFT calculation device of the present invention. FIG. 2 is a main part configuration diagram showing an example. RF1, RF2...Register file, RI1,
RI2...Register, SEL1, SEL2, SEL3...
...Selector, AD1, AD2...Adder, MA...
...Address register, MS...Large capacity memory, HSM1, HSM2...High speed small capacity memory,
TBM...Data memory, ADD...Adder,
MUL...multiplier, IF...interface.

Claims (1)

【特許請求の範囲】[Claims] 1 大容量メモリ中の入力データ・アドレス群及
び出力データ・アドレス群を制御する手段と、バ
ツフアーとして使用する複数個の高速メモリを備
え、大容量メモリ中の入力データ・ブロツクを分
割し、更に各ブロツクを小ブロツク群に分割し、
各小ブロツク群より高速メモリに取出したデータ
群の間でFFT演算を施す高速フーリエ変換演算
装置であつて、大容量メモリ中の小ブロツクの入
力データ・アドレス群及び出力データ・アドレス
群を制御しながら、ある高速メモリを使い今回の
データ群の間で複数ループのFFT演算をする動
作と前回のFFT演算結果を他の高速メモリから
大容量メモリへ格納し次回のデータ群を大容量メ
モリより高速メモリへ読出す動作とを並行して行
うFFT演算方式を用いた高速フーリエ変換演算
装置。
1 A means for controlling an input data address group and an output data address group in a large-capacity memory, and a plurality of high-speed memories used as buffers, dividing the input data block in the large-capacity memory, and further Divide the block into small blocks,
This is a fast Fourier transform calculation device that performs FFT operations between data groups retrieved from each small block group to high-speed memory, and controls input data address groups and output data address groups of small blocks in large capacity memory. However, one high-speed memory is used to perform multiple loops of FFT calculations between the current data group, and the previous FFT calculation results are stored from another high-speed memory to large-capacity memory, and the next data group is processed faster than the large-capacity memory. A fast Fourier transform calculation device that uses the FFT calculation method to perform read operations to memory in parallel.
JP58065130A 1983-04-13 1983-04-13 High speed foulier transformation operating device Granted JPS59189474A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58065130A JPS59189474A (en) 1983-04-13 1983-04-13 High speed foulier transformation operating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58065130A JPS59189474A (en) 1983-04-13 1983-04-13 High speed foulier transformation operating device

Publications (2)

Publication Number Publication Date
JPS59189474A JPS59189474A (en) 1984-10-27
JPH0230062B2 true JPH0230062B2 (en) 1990-07-04

Family

ID=13277978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58065130A Granted JPS59189474A (en) 1983-04-13 1983-04-13 High speed foulier transformation operating device

Country Status (1)

Country Link
JP (1) JPS59189474A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702712B2 (en) 2003-12-05 2010-04-20 Qualcomm Incorporated FFT architecture and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6023384B2 (en) * 1977-12-28 1985-06-07 富士通株式会社 Internal memory control method in array processor
JPS5674747A (en) * 1979-11-26 1981-06-20 Toshiba Corp Parallel operation system

Also Published As

Publication number Publication date
JPS59189474A (en) 1984-10-27

Similar Documents

Publication Publication Date Title
US6073154A (en) Computing multidimensional DFTs in FPGA
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US4754421A (en) Multiple precision multiplication device
US5081573A (en) Parallel processing system
JPS6118792B2 (en)
US4769779A (en) Systolic complex multiplier
JPH02504682A (en) Conversion processing circuit
US4063082A (en) Device generating a digital filter and a discrete convolution function therefor
CN111222090B (en) Convolution calculation module, neural network processor, chip and electronic equipment
JPH0230062B2 (en)
EP4102411A1 (en) Semiconductor device
JP2529229B2 (en) Cosine converter
JPH07239843A (en) Parallel processing unit
JPH0298777A (en) Parallel sum of product arithmetic circuit and vector matrix product arithmetic method
JP2697619B2 (en) N-point FFT dedicated processor
JP3165687B2 (en) Digital signal processor
JPS6260755B2 (en)
JP3135252B2 (en) Addressing device
JPH0148582B2 (en)
JPS6151268A (en) Data processing device
JPS6180331A (en) Variable length data processor
JPS6269336A (en) Transfer system for read data
JPH02146621A (en) arithmetic processing unit
JPS61173382A (en) Digital signal processing device
Herland ERS-1 SAR Processing with CESAR