JPH01303565A - Data processor - Google Patents

Data processor

Info

Publication number
JPH01303565A
JPH01303565A JP13364988A JP13364988A JPH01303565A JP H01303565 A JPH01303565 A JP H01303565A JP 13364988 A JP13364988 A JP 13364988A JP 13364988 A JP13364988 A JP 13364988A JP H01303565 A JPH01303565 A JP H01303565A
Authority
JP
Japan
Prior art keywords
address
data
addresses
scan
fft
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
JP13364988A
Other languages
Japanese (ja)
Inventor
Kazuaki Sakaguchi
坂口 和明
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP13364988A priority Critical patent/JPH01303565A/en
Publication of JPH01303565A publication Critical patent/JPH01303565A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To realize the high-speed Fourier transformation by storing the data into the even addresses in the first scan, reading the data successively out of the odd addresses to input them to a computing element in the second scan for execution of the multiplication/accumulation arithmetic, and storing repetitively the arithmetic results into a data memory to carry out the butterfly arithmetic. CONSTITUTION:The input data are stored in the even addresses and these addresses are reset to '0' when an address Ak=(1/2)n=4 (n: the data number, e.g., 8 in this example) is satisfied. Then '+1' is secured and the input data are stored in the same way every second address (odd addresses). Under such conditions, the data memory is read in sequence with addresses and inputted to a computing element (multiplication accumulator) 6. Thus the data can be inputted to the element 6 in the address order A0 A4 A1 A5 A2 A6 A3 A7. Then the first stage of the butterfly arithmetic is attained. In the same way, the butterfly arithmetic of the second and subsequent stages can be attained. In such a way, the FFT arithmetic is carried out at a high speed.

Description

【発明の詳細な説明】 〔概要〕 画像処理や音声処理でのフィルタリング処理の分野で頻
繁に使用される高速フーリエ変換(FFT)の演算を高
速に実行するデータ処理装置に関し、高速フーリエ変換
(FFT)の演算を実行する際に必要となるバタフライ
演算の為のアドレスの発生を、経済的に、且つ高速に行
うことを目的とし、乗算累積を行う機構を備えた演算器
と、該演算器に対する演算データを一時格納するデータ
メモリと、該データメモリのアドレスを発生するアドレ
ス発生器とを備えたデータ処理装置であって、上記アド
レス発生器にリードアドレスは順次アドレスを発生し、
ライトアドレスは順次アドレスを発生するか、又は、第
1走査目は偶数アドレスを発生し、第2走査目は奇数ア
ドレスを発生するかを選択的に切り替える手段を備えて
、入力データを上記データメモリに格納するときには、
上記切り替え手段によって、第1走査目は偶数アドレス
に格納し、第2走査目には奇数アドレスに格納したデー
タを、順次アドレスで読み出して上記演算器に入力して
乗算累積演算を行い、該演算結果を上記データメモリに
格納することを繰り返してバタフライ演算を行い、高速
フーリエ変換を行うように構成する。
[Detailed Description of the Invention] [Summary] Regarding a data processing device that performs fast Fourier transform (FFT) calculations at high speed, which is frequently used in the fields of filtering processing in image processing and audio processing. ), the purpose of which is to economically and quickly generate addresses for the butterfly calculations required when executing the calculations. A data processing device comprising a data memory for temporarily storing operation data and an address generator for generating addresses for the data memory, the read address sequentially generating addresses for the address generator,
The write address is provided with a means for selectively switching whether to generate addresses sequentially, or to generate an even address in the first scan and an odd address in the second scan, and to transfer input data to the data memory. When storing in
By the switching means, the data stored in the even address in the first scan and the data stored in the odd address in the second scan are sequentially read out at the addresses and inputted to the arithmetic unit to perform the multiplication and accumulation operation. The configuration is such that the butterfly operation is performed by repeatedly storing the result in the data memory and fast Fourier transform is performed.

〔産業上の利用分野〕[Industrial application field]

本発明は、画像処理や音声処理で、のフィルタリング処
理の分野で頻繁に使用される高速フーリエ変換(FFT
)の演算を高速に実行するデータ処理装置に関する。
The present invention applies fast Fourier transform (FFT), which is frequently used in the field of filtering processing in image processing and audio processing.
The present invention relates to a data processing device that performs calculations of ) at high speed.

最近の計算機システムの高速化に伴い、画像処理や音声
処理を経済的に実現する専用システムや。
With the recent increase in speed of computer systems, dedicated systems that economically realize image processing and audio processing are needed.

ワークステーション等が出現し、フィルタリング処理等
で使用される高速フーリエ変換(FFT)も、これらの
計算機システムで実現したいという要望が強くなってい
る。
With the advent of workstations and the like, there is a growing desire to implement Fast Fourier Transform (FFT), which is used in filtering processing, etc., on these computer systems.

然し、高速フーリエ変換(FFT)は処理が複雑で通常
のマイクロプロセッサでは非常に時間がかかることから
、未だに大型の計算機システムや、専用のハードウェア
等高価な装置でなければ実用的でないのが現状である。
However, fast Fourier transform (FFT) processing is complex and takes a long time for ordinary microprocessors, so it is still not practical unless you have expensive equipment such as a large computer system or dedicated hardware. It is.

最近の半導体技術の進歩に支えられて、該高速フーリエ
変換(FFT)を高速に実行することが可能なディジタ
ルシグナルプロセッサ(DSP)が出現し、パーソナル
コンピュータ等に付加して、該高速フーリエ変換(FF
T)を実行することも行われるようになってきたが、か
かるディジタルシグナルプロセッサ(DSP)  (純
ハードウェア構成か、ファームウェア制御がある)は高
価である上に、ファームウェア制御の場合には、ファー
ムウェアの開発に手間がかかる問題があり、経済的に、
且つ簡単に、該高速フーリエ変換(FFT)を実行でき
るデータ処理装置が必要とされていた。
Supported by recent advances in semiconductor technology, digital signal processors (DSPs) that can perform the fast Fourier transform (FFT) at high speed have appeared, and are added to personal computers and the like to perform the fast Fourier transform (FFT). FF
However, such digital signal processors (DSPs) (either pure hardware or with firmware control) are expensive, and in the case of firmware control, the firmware There is a problem in that it takes time and effort to develop, economically,
There is a need for a data processing device that can easily perform the fast Fourier transform (FFT).

〔従来の技術と発明が解決しようとする課題〕第3図は
従来の高速フーリエ変換処理方式を説明する図であって
、(a)は高速フーリエ変換(FFT)の原理図であり
、(b)はディジタルシグナルプロセッサ(DSP)で
のアドレス発生の原理を示し、(cl)はソフトウェア
で高速フーリエ変換(FFT)を実施するシステム例を
示し、(c2)は上記ディジタルシグナルプロセッサ(
DSP)を使用したシステム例を示している。
[Prior art and problems to be solved by the invention] Fig. 3 is a diagram explaining a conventional fast Fourier transform processing method, in which (a) is a diagram of the principle of fast Fourier transform (FFT), and (b) ) shows the principle of address generation in a digital signal processor (DSP), (cl) shows an example of a system that implements fast Fourier transform (FFT) using software, and (c2) shows the principle of address generation in a digital signal processor (DSP),
An example of a system using DSP is shown.

先ず、(a)に、データ数N・8に対する基数=2のと
きの時間間引き型高速フーリエ変換(以下、FFTとい
う)の原理を示している。(r F’F Tの使い方」
、安居院猛、中島正之著、1981年3月、廣済堂産報
出版刊、参照) 図中、Oで示した部分が演算部であり、それぞれ、 X=x+w’y   (X=八へ+W’At+”’−’
)Y−x −w’y  (Y=Ao−w’Aa+−・・
)但し、−〇は係数で、図中、0,1,2.3・−で示
されている。
First, (a) shows the principle of time thinning fast Fourier transform (hereinafter referred to as FFT) when the number of data is N·8 and the base number is 2. (How to use r F'F T"
, by Takeshi Agoin and Masayuki Nakajima, March 1981, published by Kosaido Sanpo Publishing) In the figure, the part indicated by O is the calculation part, and each X=x+w'y (X=8+W'At+ ”'−'
) Y-x -w'y (Y=Ao-w'Aa+-...
) However, -0 is a coefficient, which is indicated by 0, 1, 2.3, - in the figure.

というバタフライ演算を行う。A butterfly operation is performed.

本図から明らかなように、1段目では、上記のように、
先ず、X ” A O+ V = A 4で演算される
ので、アドレスOとアドレス4のデータ間の演算を行わ
なければならない。
As is clear from this figure, in the first stage, as mentioned above,
First, since the calculation is performed as X''A O+V = A4, the calculation must be performed between the data at address O and address 4.

以下、同様の計算を続ける為には、アドレスはO→4→
2→6→1→5呻3→7という順序に発生されなければ
ならない。勿論、これはデータの1(N)  ((a)
図の例では、N=8である)によって変わるものであり
固定的ではない。
Below, in order to continue the same calculation, the address is O → 4 →
It must occur in the order of 2 → 6 → 1 → 5 groan 3 → 7. Of course, this is 1(N) ((a)
In the example shown, N=8) and is not fixed.

このアドレスの発生に、非常に時間がかかる為、従来の
FFT演算では、例えば、大型の高速計算機を使用して
、ソフトウェアで行っていた。
Since it takes a very long time to generate this address, conventional FFT calculations are performed by software using, for example, a large high-speed computer.

然し、最近ではこ0FFT演算をファームウェア化した
り、或いは、純ハードウェアで高集積(LSi)化した
、前述のディジタルシグナルプロセッサ(DSP)が出
現している。
However, recently, the above-mentioned digital signal processors (DSPs) have appeared in which this 0FFT calculation is implemented in firmware, or in which high integration (LSi) is implemented using pure hardware.

このファームウェア(ROM)、又は純ハードウェアに
よるFFT演算のアドレス発生の原理は、(b)図に示
したビットリバースによる方法を用いる。
The principle of address generation for FFT calculation using firmware (ROM) or pure hardware uses the bit reversal method shown in FIG. 12(b).

(b)図では、データ数N・8、従って、アドレスビッ
トが3ビツトの場合を示している。具体的には、第2ビ
ツト目と第2ビツト目とをリバースしている例である。
The figure (b) shows the case where the number of data is N·8, and therefore the number of address bits is 3 bits. Specifically, this is an example in which the second bit and the second bit are reversed.

この図のように、アドレスのビットリバースを行えば、
高速にFFT演算の為のアドレスを発生させることがで
きるが、これは、アドレスを構成している複数個のビッ
トデータを入力とするマルチプレクサ(MPX)で構成
しなければならず、アドレスのビット数が増加すると回
路量が膨大になり、高集積化してもゲート数が大きくな
り、現在のテクノロジーではあまりにも負担が大きいと
いう問題がある。例えば、アドレスのビット数が16ビ
ツト (64にビットデータをFFTの演算対象とする
場合)になると、16人力のマルチプレクサ(MPX)
が16個必要になる。
As shown in this figure, if you perform bit-reversal of the address,
Addresses for FFT calculations can be generated at high speed, but this requires a multiplexer (MPX) that inputs multiple bits of data that make up the address, and the number of bits in the address As the number of circuits increases, the amount of circuitry increases, and even with higher integration, the number of gates increases, which is too much of a burden for current technology. For example, if the number of address bits is 16 bits (when 64-bit data is subjected to FFT calculation), a 16-manpower multiplexer (MPX) is required.
16 pieces are required.

通常の画像処理等においては、例えば、データfiNは
1024ビツト〜64 kビット (然も、二次元) 
    構成)程度が必要であり、上記の例のようにビ
・ノドリバースによる方法では現実的でなくなるという
問題があった。
In normal image processing, for example, data fiN is 1024 bits to 64 kbits (two-dimensional)
There is a problem in that the method using bi-no-driving reverse is not practical as in the above example.

上記のソフトウェア、又はディジタルシグナルプロセッ
サ(DSP)によるアドレス発生手段を用いた画像処理
システムの例を示したものが(cl) 、 (c2)図
である。
An example of an image processing system using address generation means using the above-mentioned software or a digital signal processor (DSP) is shown in FIGS.

(cl)図の例におい才は、中央処理装置(CP[I)
 1が主記憶装置(MS) 2上のFPTプログラム2
1を実行して、画像処理装置4が処理中の画像メモリ3
上の画像データを主記憶装置(MS) 2上に読み取り
、該読み取った画像データに対して、上記FFTプログ
ラムでFFT演算を施した後、画像メモリ3に戻す処理
となるが、上記FFT演算に必要なアドレスの計算をソ
フトウェアで行う為、該アドレスの計算に時間がかかる
ことから、大型で高速な計算機システムにしか適用でき
ないという問題があった。
(cl) In the example shown in the figure, the central processing unit (CP[I)
1 is the main memory (MS) 2 FPT program 2
1, the image processing device 4 processes the image memory 3.
The above image data is read into the main storage device (MS) 2, and the read image data is subjected to FFT operation using the above FFT program, and then returned to the image memory 3. Since the calculation of the necessary address is performed by software, it takes time to calculate the address, so there is a problem that it can only be applied to large and high-speed computer systems.

(c2)図の例では、該画像処理システムに、前述のデ
ィジタルシグナルプロセッサ(DSP) 5を設けて、
中央処理装置(CPU) 1の指示に基づいて、該ディ
ジタルシグナルプロセッサ(DSP) 5が画像メモリ
3から画像データを読み取り、FFT演算を施して画像
メモリ3に戻す方式であるが、該ディジタルシグナルプ
ロセッサ(DSP) 5内において、前述のように、純
ハードウェア手段、或いはファームウェア手段により、
例えば、ビットリバース方式で高速にFFT演算の為の
アドレスを発生するようにすれば、高速にFFT演算が
実現できることになるが、データ数が増加すると、ハー
ドウェア量が増加するか、ファームウェアによる場合に
は、該ファームウェアの開発に手間がかかつて高価にな
り、パーソナルコンピュータ等に付加して、FFT演算
を行えるようにするには不経済であるという問題があっ
た。
(c2) In the example shown in the figure, the image processing system is provided with the above-mentioned digital signal processor (DSP) 5,
Based on instructions from a central processing unit (CPU) 1, the digital signal processor (DSP) 5 reads image data from the image memory 3, performs FFT calculation, and returns it to the image memory 3. (DSP) 5, as mentioned above, by pure hardware means or firmware means,
For example, if addresses for FFT calculations are generated quickly using the bit reverse method, FFT calculations can be performed at high speeds, but as the number of data increases, the amount of hardware will increase, or if the address is determined by firmware. However, there is a problem in that developing the firmware is time-consuming and expensive, and it is uneconomical to add it to a personal computer or the like to perform FFT calculations.

本発明は上記従来の欠点に鑑み、画像処理や音声処理で
のフィルタリング処理の分野で頻繁に使用される高速フ
ーリエ変換(FFT)の演算を高速に実行するデータ処
理装置において、該高速フーリエ変換(FFT)の演算
を実行する際に必要となるバタフライ演算の為のアドレ
スの発生を経済的に。
In view of the above-mentioned drawbacks of the conventional art, the present invention provides a data processing device that rapidly executes fast Fourier transform (FFT) calculations, which are frequently used in the field of filtering processing in image processing and audio processing. Economical generation of addresses for butterfly calculations required when performing FFT calculations.

且つ高速に行う方式を提供することを目的とするもので
ある。
The purpose of this is to provide a method that can be performed at high speed.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明のデータ処理装置における原理を示した
図である。
FIG. 1 is a diagram showing the principle of a data processing apparatus according to the present invention.

上記の問題点は下記の如くに構成されたデータ処理装置
によって解決される。
The above problems are solved by a data processing device configured as follows.

乗算累積を行う機構を備えた演算器6と、該演算器6に
対する演算データを一時格納するデータメモリ3と、該
データメモリ3のアドレスを発生するアドレス発生器3
1とを備えたデータ処理装置であって、 上記アドレス発生器31にリードアドレスは順次アドレ
スを発生■し、ライトアドレスは順次アドレスを発生す
るか、又は、第1走査目は偶数アドレスを発生■し、第
2走査目は奇数アドレスを発生■するかを選択的に切り
替える手段321を備えて、 入力データを上記データメモリ3に格納するときには、
上記切り替え手段321によって、第1走査目は偶数ア
ドレスに格納し、第2走査目には奇数アドレスに格納し
たデータを、順次アドレスで読み出して上記演算器6に
入力して乗算累積演算を行い、該演算結果を上記データ
メモリ3に格納することを繰り返してバタフライ演算を
行い、高速フーリエ変換を行うように構成する。
An arithmetic unit 6 equipped with a mechanism for performing multiplication and accumulation, a data memory 3 that temporarily stores operation data for the arithmetic unit 6, and an address generator 3 that generates an address for the data memory 3.
1, wherein the address generator 31 sequentially generates addresses for the read address and sequentially for the write address, or generates an even address for the first scan. However, a means 321 is provided for selectively switching whether to generate an odd address in the second scan, and when input data is stored in the data memory 3,
By the switching means 321, the data stored in the even address in the first scan and the data stored in the odd address in the second scan are sequentially read out at the addresses and inputted to the arithmetic unit 6 to perform a multiplication and accumulation operation; The butterfly calculation is performed by repeatedly storing the calculation result in the data memory 3, and fast Fourier transformation is performed.

〔作用〕[Effect]

即ち、本発明によれば、画像処理や音声処理でのフィル
タリング処理の分野で頻繁に使用される高速フーリエ変
換(FFT)の演算を高速に実行するデータ処理装置に
おいて、バタフライ演算に必要なアドレスを発生するの
に、該データ処理装置に入力された、例えば、8個のデ
ータ(A、〜A、)(状態0で示す)をデータメモリの
0番地から1アドレスおきに、最初は偶数アドレスに該
入力データを格納し、該アドレスAb=(1/2) n
 (nはデータの数二上記の例ではn=8である)−4
迄きたら、該アドレスを°O”に戻し、“+1゛シて、
同じように1アドレスおき(奇数アドレス)に該入力デ
ータを格納する。 (状態1) この状態で該データメモリを順次アドレスでリードして
演算器(乗算累算器)に入力すれば、八。→A4=+A
、=>^、 =>A 2−OA 6悼A、→A。
That is, according to the present invention, in a data processing device that executes fast Fourier transform (FFT) calculations at high speed, which are frequently used in the field of filtering processing in image processing and audio processing, addresses necessary for butterfly calculations can be stored. For example, eight pieces of data (A, ~A,) (indicated by state 0) input to the data processing device are input to the data processing device at every other address from address 0 of the data memory, initially at an even address. Store the input data and set the address Ab=(1/2) n
(n is the number of data 2 In the above example, n=8) -4
Once reached, change the address back to °O", press "+1",
Similarly, the input data is stored at every other address (odd addresses). (State 1) In this state, if the data memory is sequentially read by address and input to the arithmetic unit (multiplier/accumulator), 8. →A4=+A
, =>^, =>A 2-OA 6 Mourning A, →A.

という順序で該演算器に入力でき、前述のバタフライ演
算の第1段目が実現できる。
can be input to the arithmetic unit in this order, and the first stage of the butterfly operation described above can be realized.

該演算器の出力を同様にして、1アドレス毎にデータメ
モリに書込み、読出すときは順次アドレスで読出して演
算器に入力するようにすれば、2段目、3段目、−のバ
タフライ演算も実現できることになる。(状態2.3参
照−・) 従って、本発明によれば、簡単な回路でバタフライ演算
の為のアドレスを発生でき、経済的に、FFT演算が高
速に実行できる効果がある。
If the output of the arithmetic unit is written to the data memory address by address in the same way, and when read, the addresses are read out sequentially and input to the arithmetic unit, butterfly calculations in the second stage, third stage, and - can be performed. can also be realized. (See state 2.3.) Therefore, according to the present invention, an address for butterfly calculation can be generated with a simple circuit, and the FFT calculation can be executed economically and at high speed.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって詳述する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

前述の第1図が本発明のデータ処理装置の原理を示した
図であり、第2図は本発明の一実施例を示した図であっ
て、第2図におけるデータメモリ3に対するアドレス発
生手段31の最下位ビット切り替え手段321が本発明
を実施するきに必要な手段である。尚、全図を通して同
じ符号は同じ対象物を示している。
The above-mentioned FIG. 1 is a diagram showing the principle of the data processing device of the present invention, and FIG. 2 is a diagram showing an embodiment of the present invention, and the address generation means for the data memory 3 in FIG. The least significant bit switching means 321 of No. 31 is a necessary means when implementing the present invention. Note that the same reference numerals indicate the same objects throughout the figures.

以下、第1図を参照しながら第2図によって本発明のバ
タフライ演算に対するアドレス発生方式を説明する。
Hereinafter, the address generation method for the butterfly operation of the present invention will be explained with reference to FIG. 2 while referring to FIG.

本発明のデータ処理装置の場合、データメモリ3は、例
えば、高速なスタティックランダムアクセスメモリ(S
RAM)を使用するのが望ましい。又、画像処理のよう
な大容量のメモリが必要な場合には、第2図に示した外
部バスを通じて外部に持つようにし、FPT演算に必要
なデータのみを、該データメモリ3に取り出して該FF
T演算を行うようにしてもよい。
In the case of the data processing device of the present invention, the data memory 3 is, for example, a high-speed static random access memory (S
It is preferable to use RAM). In addition, when a large capacity memory is required for image processing, it is stored externally through the external bus shown in Figure 2, and only the data necessary for FPT calculation is taken out to the data memory 3 and stored in the data memory 3. FF
A T calculation may also be performed.

前述のように、バクフライ演算の為のアドレスを発生さ
せる為には、例えば、8個のデータ(A。
As mentioned above, in order to generate the address for the backfly operation, for example, eight pieces of data (A.

〜へ、)(第1図の状態Oを参照)をデータメモリの0
番地から1アドレスおきに、最初は偶数アドレスに該入
力データを格納し、該アドレスAk・(1/2) n 
(nはデータの数:上記の例ではn=8である)=4迄
きたら、該アドレスを°O゛に戻し、+1”して、同じ
ように1アドレスおき(奇数アドレス)に該入力データ
を格納する(第1図の状態1参照)必要′がある。
) (see state O in Figure 1) to 0 in the data memory
The input data is stored at every other address from the address, initially at an even number address, and the address Ak・(1/2) n
(n is the number of data; n = 8 in the above example) When it reaches 4, return the address to °O゛, add +1'', and do the same with the input data every other address (odd address). (see state 1 in Figure 1).

即ち、該N個の画像データの172(これを、第1走査
という)迄は、例えば、偶数アドレスを発生■し、次の
172(これを、第2走査という)に対しては奇数アド
レスを発生■させる必要がある。
That is, for example, an even address is generated up to 172 (this is called the first scan) of the N image data, and an odd address is generated for the next 172 (this is called the second scan). ■It is necessary to cause it to occur.

このようなアドレスの発生を行うのに、本実施例では、
ライトアドレスを発生する際、マルチプレクサ(MPX
) 321において、FFT演算であるという条件で、
ライトアドレスカウンタ(CNTI) 320を画像デ
ータの数nの172迄をカウントできるように構成し、
そのキャリ信号(C)を、該デルタメモリ3に対するア
ドレスの最下位ビットとするように機能させることによ
り、最初の第1走査では、該キャリ(C)・0であるの
で偶数アドレスが発生■でき、次の該キャリ(C)が入
力された第2走査では、該キャリ(C)=1であるので
奇数アドレスが発生■できる。勿論、該マルチプレクサ
(MPX) 321はFFT演算でない時には、該ライ
トアドレスカウンタ(CNTI) 320の最下位ビッ
トを出力し、このときのライトアドレスは順次アドレス
として機能する。
In order to generate such an address, in this embodiment,
When generating a write address, the multiplexer (MPX
) In 321, on the condition that it is an FFT operation,
The write address counter (CNTI) 320 is configured to be able to count the number n of image data up to 172,
By making the carry signal (C) function as the least significant bit of the address for the delta memory 3, an even address can be generated in the first scan because the carry signal (C) is 0. In the second scan in which the next carry (C) is input, an odd address can be generated since the carry (C)=1. Of course, when the multiplexer (MPX) 321 is not performing FFT calculation, it outputs the least significant bit of the write address counter (CNTI) 320, and the write address at this time functions as a sequential address.

マルチプレクサ(MPX) 322においては、R/W
信号により、リード(R)の場合には、リードアドレス
カウンタ(CNTO) 310の順次アドレスを、ライ
ト(誓)の場合には上記のライトアドレスとを切り替え
るように機能する。
In the multiplexer (MPX) 322, R/W
The signal functions to switch the sequential address of the read address counter (CNTO) 310 in the case of read (R) and the above-mentioned write address in the case of write.

このようにして、リードサイクルの時には、順次アドレ
スでデータメモリ3からデータを読み出し、バッファ6
1,62にバッファリングし、係数メモリ63から当該
バタフライ演算に必要な係数−0゜14+、−−を読み
出し、バッファ64にバッファリングして、乗算累算器
6で第 図(a)に示したバタフライ演算を行い、ライ
トサイクルでは、該演算結果出力について、本発明のア
ドレス発生手段31で生成■された1つおきの偶数、又
は、奇数アドレスに基づいて、データメモリ3に書き込
む(第1図の状a2.a、−・−参照)ことを繰り返す
ことを、第2図に示したライトアドレスカウンタ(CN
T1) 320のキャリ(C)  ビットをライトアド
レスの最下位ビットに出力するという簡単な回路で実現
することにより、FFT演算を高速に行うことができる
In this way, during a read cycle, data is read from the data memory 3 at sequential addresses and the buffer 6
1 and 62, read out the coefficients -0°14+ and - necessary for the butterfly calculation from the coefficient memory 63, buffer them in the buffer 64, and use the multiplier 6 to calculate the coefficients as shown in FIG. In the write cycle, the calculation result output is written to the data memory 3 based on every other even or odd address generated by the address generating means 31 of the present invention (first The write address counter (CN
T1) The FFT operation can be performed at high speed by implementing a simple circuit that outputs 320 carry (C) bits to the least significant bit of the write address.

尚、ライトアドレスとして、上記順次アドレスを使用す
る場合は、該乗算累算器6で通常の演算を行う場合等に
使用される。
Note that when the above-mentioned sequential addresses are used as write addresses, they are used when the multiplier/accumulator 6 performs normal calculations.

このように、本発明は、FFT演算におけるバタフライ
演算の為のアドレスを発生させるのに、該FFT演算の
ライトサイクルにおいて、ライトアドレスカウンタ(C
NTI)のキャリ信号を該ライトアドレスの最下位ビッ
トにして、入力データ、或いは演算結果データをデータ
メモリに書き込む際のアドレスの発生■を1アドレスお
きとするようにし、該データメモリから被演算データを
読み出す際には、通常の順次アドレスを発生■してリー
ドするようにした所に特徴がある。。
As described above, the present invention generates an address for the butterfly operation in the FFT operation by using the write address counter (C) in the write cycle of the FFT operation.
NTI)'s carry signal is set to the least significant bit of the write address, and addresses are generated every other address when input data or operation result data is written to the data memory, and the operand data is transferred from the data memory. The feature is that when reading the data, normal sequential addresses are generated and read. .

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

以上、詳細、に説明したように、本発明のデータ処理装
置は、乗算累積を行う機構を備えた演算器と、該演算器
に対する演算データを一時格納するデータメモリと、該
データメモリのアドレスを発生するアドレス発生器とを
備えたデータ処理装置において、上記アドレス発生器に
リードアドレスは順次アドレスを発生■し、ライトアド
レスは順次アドレスを発生するか、又は、第1走査目は
偶数アドレスを発生■し、第2走査目は奇数アドレスを
発生■するかを選択的に切り替える手段を備えて、入力
データを上記データメモリに格納するときには、上記切
り替え手段によって、第1走査目は偶数アドレスに格納
し、第2走査目には奇数アドレスに格納したデータを、
順次アドレスで読み出して上記演算器に入力して乗算累
積演算を行い、該演算結果を上記データメモリに格納す
ることを繰り返してバタフライ演算を行い、高速フーリ
エ変換を行うようにしたものであるので、簡単な回路で
バタフライ演算の為のアドレスを発生でき、経済的に、
FFT演算が高速に実行できる効果がある。
As described above in detail, the data processing device of the present invention includes an arithmetic unit having a mechanism for performing multiplication and accumulation, a data memory that temporarily stores operation data for the arithmetic unit, and an address of the data memory. In a data processing device equipped with an address generator, the address generator generates addresses sequentially for read addresses, sequentially generates addresses for write addresses, or generates even addresses for the first scan. (2) A means for selectively switching whether to generate an odd address in the second scan is provided, and when input data is stored in the data memory, the switching means causes the first scan to store the data in an even address. However, in the second scan, the data stored in the odd address is
Since the data is sequentially read out at addresses, inputted to the arithmetic unit, multiplication and accumulation operations are performed, and the results of the operations are stored in the data memory, butterfly operations are performed and fast Fourier transform is performed. Addresses for butterfly calculations can be generated with a simple circuit, making it economical.
This has the effect of allowing FFT calculations to be executed at high speed.

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

第1図は本発明のデータ処理装置の原理を示した図。 第2図は本発明の一実施例を示した図。 第3図は従来の゛高速フーリエ変換処理方式を説明する
図。 である。 図面において、 1は中央処理装置(CPU) 、 2は主記憶装置(M
S) 。 21はFFTプログラム。 3は画像メモリ、又はデータメモリ。 4は画像処理装置。 5はディジタルシグナルプロセッサ(DSP) 。 6は乗算累算器、又は、単に演算器。 31はアドレス発生器。 310はリードアドレスカウンタ(CNTO) 。 320はライトアドレスカウンタ(CNTI) 。 321.322はマルチプレクサ(MPX) 。 FFTは高速フーリエ変換。 ^。、 AI+ Az、 −−−、B。、 B+、 B
z、 ’−’−はデータ。 W’、 W’ 、−・・はバタフライ演算の係数。 ■、■はアドレス発生手段。 をそれぞれ示す。 4大B o     [E戸巨7巨]巨1万4下170
7]      入力、−−21、」[シード  (1
ツ嚢ンズrl′bズンU ライト  (11ドUλシき
ン Dy  p、  3       C,C,C2C,(
:4C5(夏F[1−−3U ソード  (す;欠嗅ス
ン 本金明nデーク久f【製1a原理Σホ蹟図第 1 図 本を明の一賞方己イ列を示した図 落 2  図 一陳トー2段目−□ 3段口□ (a) イχ米n高猛フーリエ変4呉良チ1方式を言り月する間
第 3 図(そのj) o  、+:  ooo              
 ooo  =  。 5=IOI            Ic)l  = 
 56=II0           011  = 
 37=///            IN  = 
 7(リ イχ、釆/)高湿フーリL変慢、処理方式を言え日月す
る間第 5 図 (ぞの2ン 了見東n 高速フーソL蛮喚久J里方民を盲え朗する間
第 3  図 (その3)
FIG. 1 is a diagram showing the principle of a data processing device according to the present invention. FIG. 2 is a diagram showing an embodiment of the present invention. FIG. 3 is a diagram illustrating a conventional fast Fourier transform processing method. It is. In the drawings, 1 is a central processing unit (CPU), 2 is a main memory (M
S). 21 is an FFT program. 3 is image memory or data memory. 4 is an image processing device. 5 is a digital signal processor (DSP). 6 is a multiplication accumulator or simply an arithmetic unit. 31 is an address generator. 310 is a read address counter (CNTO). 320 is a write address counter (CNTI). 321.322 is a multiplexer (MPX). FFT is Fast Fourier Transform. ^. , AI+ Az, ---, B. , B+, B
z, '−'− are data. W', W', -... are coefficients of butterfly operation. ■ and ■ are address generation means. are shown respectively. 4 big B o [E door big 7 big] big 10,000 4 under 170
7] Input, --21,''[Seed (1
Tsuka Kuns rl'b Zun U Light (11 Do Uλ Shikin Dy p, 3 C, C, C2C, (
:4C5 (Summer F[1--3U Sword (Su; Absence of smell) Book Kinmei n Deku Kuf Figure 1 Chinto 2nd stage - 3rd stage mouth □ (a) While saying I χ rice n Gao Takeo Fourier variation 4 Wu Liangchi 1 method Figure 3 (Part j) o, +: ooo
ooo=. 5=IOI Ic)l=
56=II0 011=
37=///IN=
7 (Rei χ, 釆/) High-humidity Furi L changes, and while the treatment method is being told for days and months, Fig. Figure 3 (Part 3)

Claims (1)

【特許請求の範囲】 乗算累積を行う機構を備えた演算器(6)と、該演算器
(6)に対する演算データを一時格納するデータメモリ
(3)と、該データメモリ(3)のアドレスを発生する
アドレス発生器(31)とを備えたデータ処理装置であ
って、 上記アドレス発生器(31)にリードアドレスは順次ア
ドレスを発生([1])し、ライトアドレスは順次アド
レスを発生するか、又は、第1走査目は偶数アドレスを
発生し、第2走査目は奇数アドレスを発生([2])す
るかを選択的に切り替える手段(321)を備えて、 入力データを上記データメモリ(3)に格納するときに
は、上記切り替え手段(321)によって、第1走査目
は偶数アドレスに格納し、第2走査目には奇数アドレス
に格納したデータを、順次アドレスで読み出して上記演
算器(6)に入力して乗算累積演算を行い、該演算結果
を上記データメモリ(3)に格納することを繰り返して
バタフライ演算を行い、高速フーリエ変換(FFT)を
行うことを特徴とするデータ処理装置。
[Claims] An arithmetic unit (6) having a mechanism for performing multiplication and accumulation, a data memory (3) for temporarily storing calculation data for the arithmetic unit (6), and an address of the data memory (3). A data processing device comprising an address generator (31) that generates read addresses ([1]) and sequentially generates addresses for write addresses ([1]) in the address generator (31). , or means (321) for selectively switching whether to generate an even address in the first scan and to generate an odd address ([2]) in the second scan, and input data to the data memory ( 3), the switching means (321) stores the data in the even address in the first scan, and reads out the data stored in the odd address in the second scan sequentially at the address and sends the data to the arithmetic unit (6). ), performs a multiplication and accumulation operation, and stores the result of the operation in the data memory (3), thereby performing a butterfly operation and performing a fast Fourier transform (FFT).
JP13364988A 1988-05-31 1988-05-31 Data processor Pending JPH01303565A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13364988A JPH01303565A (en) 1988-05-31 1988-05-31 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13364988A JPH01303565A (en) 1988-05-31 1988-05-31 Data processor

Publications (1)

Publication Number Publication Date
JPH01303565A true JPH01303565A (en) 1989-12-07

Family

ID=15109731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13364988A Pending JPH01303565A (en) 1988-05-31 1988-05-31 Data processor

Country Status (1)

Country Link
JP (1) JPH01303565A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115728A (en) * 1997-01-22 2000-09-05 Matsushita Electric Industrial Co., Ltd. Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter
JP2015061143A (en) * 2013-09-18 2015-03-30 沖電気工業株式会社 Video encoder and video encoding program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115728A (en) * 1997-01-22 2000-09-05 Matsushita Electric Industrial Co., Ltd. Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter
US6247034B1 (en) 1997-01-22 2001-06-12 Matsushita Electric Industrial Co., Ltd. Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter
JP2015061143A (en) * 2013-09-18 2015-03-30 沖電気工業株式会社 Video encoder and video encoding program

Similar Documents

Publication Publication Date Title
US5473554A (en) CMOS multiplexor
JPH0731669B2 (en) Vector processor
JPS5862746A (en) Divider
JPH01303565A (en) Data processor
US5751999A (en) Processor and data memory for outputting and receiving data on different buses for storage in the same location
US7133959B2 (en) Data-driven information processing device and method to access multiple bank memories according to multiple addresses
JPH08272611A (en) Microprocessor
JP3211423B2 (en) Branch instruction execution method and branch instruction execution device
JP3441847B2 (en) Processor with data memory
Duller et al. Design of an associative processor array
JPH0616287B2 (en) Vector arithmetic processor with mask
JP3043861B2 (en) Data processing device
JPH01119861A (en) Digital signal processing lsi
JP2812610B2 (en) Pipeline control method
JPH03189868A (en) Data processor
JPS58205256A (en) Data processor
JPS59201144A (en) Decimal arithmetic circuit
JP2908117B2 (en) Vector arithmetic processing unit
JPS6027046A (en) Information processor
JP2926951B2 (en) Save / restore register address generation circuit
JP2852050B2 (en) Image processing device
JPS6151268A (en) Data processing device
JPH0535472A (en) Microcomputer
KR920008212B1 (en) 2-dimension fast fourier transform processor by using mixed shuffle connection method
JPH04255064A (en) Parallel processor