JPH0248941B2 - TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI - Google Patents

TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI

Info

Publication number
JPH0248941B2
JPH0248941B2 JP57031328A JP3132882A JPH0248941B2 JP H0248941 B2 JPH0248941 B2 JP H0248941B2 JP 57031328 A JP57031328 A JP 57031328A JP 3132882 A JP3132882 A JP 3132882A JP H0248941 B2 JPH0248941 B2 JP H0248941B2
Authority
JP
Japan
Prior art keywords
data
vector
twiddle factor
processing
factor table
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
JP57031328A
Other languages
Japanese (ja)
Other versions
JPS58149564A (en
Inventor
Jiro Mikami
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 JP57031328A priority Critical patent/JPH0248941B2/en
Publication of JPS58149564A publication Critical patent/JPS58149564A/en
Publication of JPH0248941B2 publication Critical patent/JPH0248941B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明は、スペクトル解析や数値解法の有効な
手段である多数元離散型フーリエ変換(以下、
MDFTと表記する)を並列処理計算機上で効率
よく処理する多次元離散型フーリエ変換計算方式
に関するものである。
[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention relates to a multi-element discrete Fourier transform (hereinafter referred to as
This is a multidimensional discrete Fourier transform calculation method that efficiently processes MDFT (abbreviated as MDFT) on a parallel processing computer.

(2) 従来技術と問題点 第1図は並列処理計算機の概要を示すものであ
つて、1はパイプライン方式の並列処理計算機、
2は一元化メモリ、3は制御部、4は並列処理装
置、5は加算パイプライン、6は乗算パイプライ
ンをそれぞれ示している。一元化メモリ2の中に
はベクトル・データが格納されている。制御部は
ベクトル命令をデコードして加算パイプライン5
や乗算パイプライン6などの各種の演算パイプラ
インを制御するものである。加算パイプライン5
は2個のベクトル・データをパイプライン的に加
算処理し、乗算パイプライン6は2個のベクト
ル・データをパイプライン的に乗算処理する。第
2図はパラレル方式の並列処理計算機の概要を示
すものであつて、1′はパラレル方式の並列処理
計算機、2′は一元化メモリ、3′は制御部、4′
は並列処理装置、5′−0ないし5′−nは同種の
演算器である。第2図の並列処理計算機において
は、一次元メモリ2′から読出された被演算ベク
トルの要素aiと演算ベクトルの要素biが演算部
5′−jに入力され、次の要素ai+1およびbi+1が演
算部5′−+1に入力される。
(2) Prior art and problems Figure 1 shows an overview of parallel processing computers. 1 is a pipeline type parallel processing computer;
2 is a unified memory, 3 is a control unit, 4 is a parallel processing device, 5 is an addition pipeline, and 6 is a multiplication pipeline. Vector data is stored in the unified memory 2. The control unit decodes the vector instruction and sends it to the addition pipeline 5.
It controls various calculation pipelines such as the multiplication pipeline 6 and the multiplication pipeline 6. Addition pipeline 5
adds two pieces of vector data in a pipeline manner, and a multiplication pipeline 6 processes two pieces of vector data in a pipeline manner. Figure 2 shows an overview of a parallel processing computer, in which 1' is a parallel processing computer, 2' is a unified memory, 3' is a control unit, and 4' is a parallel processing computer.
is a parallel processing unit, and 5'-0 to 5'-n are arithmetic units of the same type. In the parallel processing computer shown in FIG. 2, the element a i of the operand vector read from the one-dimensional memory 2' and the element b i of the operation vector are input to the arithmetic unit 5'-j, and the next element a i+ 1 and b i+1 are input to the calculation unit 5'-+1.

第1図および第2図に示した並列処理計算機
は、メモリ上に規則的に並んだデータを並列処理
装置を用いて規則的に並列処理することにより計
算効率の向上をねらつたものであり、具体的に
は、例えば二個のベクトルa→,b→の加算 ci=ai+bi(i=1,2,………n) ここで、a→=(a1,a2,………ao) b→=(b1,b2,………bo) c→=(c1,c2,………co) nはベクトル長 を行う場合、並列処理機能をもたない計算機にお
いてはn個の加算命令により実行するに対して、
並列処理計算機においては一個又はn個より少な
い個数のベクトル加算命令により実行される。
The parallel processing computer shown in FIGS. 1 and 2 aims to improve computational efficiency by regularly processing data regularly arranged in memory in parallel using a parallel processing device. Specifically, for example, the addition of two vectors a→, b→ c i =a i +b i (i=1, 2,...n) where a→=(a 1 , a 2 ,... ...a o ) b → = (b 1 , b 2 , ......b o ) c → = (c 1 , c 2 , ......c o ) When performing vector length, n also has a parallel processing function. In a computer with no data, it is executed by n addition instructions, whereas
In a parallel processing computer, this is executed using one or fewer than n vector addition instructions.

さて、これら方式の計算機における処理効率
(一定時間内での命令件数又は処理データ件数)
は、計算機のもつハードウエア特性に依存する
が、更にはその計算機の具体的なアーキテクチヤ
ーおよびデータの処理内容と手順を示すソフトウ
エアに大きく依存する。しかしながら ○イ 並列処理するデータの長さ(ベクトル長)を
可能な限り長くとる。
Now, the processing efficiency (number of instructions or number of data processed within a certain amount of time) of these types of computers
Although it depends on the hardware characteristics of the computer, it also greatly depends on the specific architecture of the computer and the software that describes the data processing contents and procedures. However, B. Make the length of the data to be processed in parallel (vector length) as long as possible.

○ロ 並列処理するデータのメモリ上での間隔は可
能な限り短かくする。即ち、データをメモリ上
で連続的に配置する。
○B Keep the interval in memory of data to be processed in parallel as short as possible. That is, data is arranged consecutively on the memory.

ことが、最大効率をひき出すための基本的な要件
である。これを並列処理要件という。本発明は、
第1図や第2図に示されるような並列処理計算機
において、MDFTを上記○イ,○ロの要件を満すべ
く処理するものである。
This is the basic requirement for maximum efficiency. This is called parallel processing requirement. The present invention
In parallel processing computers such as those shown in FIGS. 1 and 2, MDFT is processed to satisfy the requirements of ○A and ○B above.

本発明を説明する前にMDFTを計算する場合
の基本となる一次元の離散型フーリエ変換(以
下、DFTという)について述べる。第3図イは
DFTを計算するための手順とデータの流れを示
すものであり、第3図ロは第3図イの表記法を説
明するものである。図にそつて説明すると、各ス
テージの両端の〇印はメモリ上のデータとその順
位(並び順位)を示し、各ステージの左端の〇印
は入力データ、右端の〇印は出力データを示して
いる。最初のステージ(Stage)の処理では位置
1ないし4のデータで構成されるベクトルV1と、
位置5ないし8までのデータで構成されるベクト
ルV2に対して、ベクトル加算V1+V2を計算し、
その結果を位置1から一つおきに位置7までに格
納する(図の実線部分)。また、ベクトル減算V1
−V2を計算し、その結果の各要素に対して回転
因子を乗じその結果を位置2から一つおきに位置
8までに格納する。ステージ2およびステージ3
においても、同様にベクトルV1とV2に基づいて
処理を行うが、ステージが進むごとに回転因子を
更新する。
Before explaining the present invention, a one-dimensional discrete Fourier transform (hereinafter referred to as DFT), which is the basis for calculating MDFT, will be described. Figure 3 A is
It shows the procedure and data flow for calculating DFT, and Figure 3B explains the notation in Figure 3A. To explain according to the diagram, the O marks at both ends of each stage indicate the data in memory and their order (order), the O mark at the left end of each stage indicates input data, and the O mark at the right end indicates output data. There is. In the first stage (Stage) processing, a vector V 1 consisting of data at positions 1 to 4,
Calculate vector addition V 1 +V 2 for vector V 2 consisting of data from positions 5 to 8,
The results are stored from position 1 to every other position 7 (solid line portion in the figure). Also, vector subtraction V 1
-V 2 is calculated, each element of the result is multiplied by a twiddle factor, and the results are stored from position 2 to every other position 8. Stage 2 and Stage 3
Similarly, processing is performed based on vectors V 1 and V 2 , but the twiddle factors are updated each time the stage advances.

データの個数を一般化しnとした場合の処理手
順は第4図に示される。こゝでは、nは簡単のた
めに2の巾乗(n=2l,lは正の整数)で表現で
きるものとし、また、データは{ai}と表わして
いる。回転因子テーブルの内容は、 ω=exp(−2πi/n) として、 である。この一般化した手順は、nが2の巾乗で
表現できない場合にも容易に拡張できる。
The processing procedure when the number of data is generalized to n is shown in FIG. Here, for simplicity, it is assumed that n can be expressed as a power of 2 (n= 2l , l is a positive integer), and data is expressed as {a i }. The contents of the twiddle factor table are as ω=exp(−2πi/n), It is. This generalized procedure can be easily extended to cases where n cannot be expressed as a power of two.

さて、MDFTについて説明するが、簡単なた
めに二次元の場合を考える。変換対象とするデー
タをai,jと表わす。ここで、 i=1,2,………,n1 j=1,2,………,n2 とする。このデータai,jを第5図イのように二次
元配列で表わす。第5図イでi方向を列方向、j
の方向を行方向と呼ぶものとする。二次元
MDFTは原理的に次のように定式化される。
Now, to explain MDFT, we will consider a two-dimensional case for simplicity. The data to be converted is expressed as a i,j . Here, it is assumed that i=1, 2, ......, n 1 j=1, 2, ......, n 2 . This data a i,j is represented in a two-dimensional array as shown in FIG. 5A. In Figure 5 A, i direction is column direction, j
The direction of is called the row direction. Two dimensions
MDFT is basically formulated as follows.

DO 20 I=1,2 DO 10 J=1,n1・n2/nI 大きさnIのDFT(一次元) 10 CONTINUE 20 CONTINUE これを具体的に述べると、 I=1のとき 第5図ロに示すような列方向の大きさn1のベ
クトル(列ベクトル)に対して、DFT(一次
元)を適用する。このDFT(一次元)は、jに
関するn2組の列ベクトルに対して適用する。
DO 20 I=1,2 DO 10 J=1,n 1・n 2 /n I DFT of size n I (one-dimensional) 10 CONTINUE 20 CONTINUE To state this specifically, when I=1 5th DFT (one-dimensional) is applied to a vector (column vector) of size n 1 in the column direction as shown in Figure B. This DFT (one-dimensional) is applied to n 2 sets of column vectors for j.

I=2のとき 第5図ハに示すような行方向の大きさn2のベ
クトル(行ベクトル)に対してDFT(一次元)
を適用する。このDFT(一次元)は、iに関す
るn1組の行ベクトルに対して適用する。ここ
で、はの処理によりaが変換されているこ
とを意味している。
When I = 2, DFT (one-dimensional) for a vector (row vector) with a size n 2 in the row direction as shown in Figure 5 C.
apply. This DFT (one-dimensional) is applied to n 1 sets of row vectors for i. Here, means that a has been converted by the process.

上記のような,の処理を逐次に行うことに
より、二次元MDFTが実現される。ここで,
の処理順序は可換である。このように、
MDFTは入力データの部分ベクトルに対して
DFTを複数回適用することにより計算できる。
A two-dimensional MDFT is realized by sequentially performing the above processing. here,
The processing order of is commutative. in this way,
MDFT is for subvectors of input data.
It can be calculated by applying DFT multiple times.

次に、このMDFTを並列処理することを考え
る。この二次元MDFTの大きさは、説明の簡単
のためにn1=4,n2=8とする。また、データ
ai,jは、iに関して連続したメモリ上にあるもの
とする。即ち、データai,jのメモリ上での順番は、
a11,a21,………,a41,a12,a22,………

a42,a13,………,a14,………a18,a28
………a48のように第一添字から変化する順番に
格納されているものとする。従来技術における処
理手順およびデータの流れは第6図に示される。
第6図の表記法は第3図と同様である。第6図に
従つて説明すると、ステージ(Stage)1および
2においては、大きさ4の一次元DFTを逐次処
理することを想定し、8組の同一の一次元DFT
を並列処理する。また、ステージ3,4および5
においては、大きさ8の一次元DFTを第3図に
従つて並列処理し、逐次にそれを4組行う。
Next, consider parallel processing of this MDFT. The sizes of this two-dimensional MDFT are assumed to be n 1 =4 and n 2 =8 for ease of explanation. Also, data
It is assumed that a i,j is on a continuous memory with respect to i. In other words, the order of data a i,j in memory is
a 1 , 1 , a 2 , 1 , ......, a 4 , 1 , a 1 , 2 , a 2 , 2 , ......

a 4 , 2 , a 1 , 3 , ………, a 1 , 4 , ……… a 1 , 8 , a 2 , 8 ,
...Assume that they are stored in the order of change starting from the first subscript, such as a 4 and 8 . The processing procedure and data flow in the prior art are shown in FIG.
The notation in FIG. 6 is the same as in FIG. To explain according to FIG. 6, in Stages 1 and 2, it is assumed that one-dimensional DFTs of size 4 are sequentially processed, and eight sets of identical one-dimensional DFTs are processed.
Process in parallel. Also, stages 3, 4 and 5
In this, a one-dimensional DFT of size 8 is processed in parallel according to FIG. 3, and four sets of processing are performed sequentially.

この二次元MDFTの大きさを一般化してn1
n2とすると、各ステージでは次の二つの何れかの
方法がとられる。すなわち、 大きさn1(又はn2)の一次元DFTを逐次処理
することを想定し、n2組(又はn1組)並列処理
する。
Generalizing the size of this two-dimensional MDFT, n 1 ,
When n is 2 , one of the following two methods is used at each stage. That is, assuming that a one-dimensional DFT of size n 1 (or n 2 ) is processed sequentially, n 2 sets (or n 1 sets) are processed in parallel.

大きさn2(又はn1)の一次元DFTを並列処理
し、これをn1回(又はn2回)繰返す。
A one-dimensional DFT of size n 2 (or n 1 ) is processed in parallel, and this is repeated n 1 times (or n 2 times).

この二つの方法は、n1,n2の値に応じて並列処
理する際のベクトル長が可能な限り長くなるよう
に、いずれかが選択される。しかしながら、この
ような従来技術では ベクトルの長さは高さmax(n1,n2) 変換の対象となるデータのメモリ上の配置は
連続ではなくその間隔は最低min(n1,n2)と
なるため、さきに述べた並列処理条件が満され
ず、並列処理効率が充分に向上しない。
One of these two methods is selected so that the vector length during parallel processing is as long as possible depending on the values of n 1 and n 2 . However, in such conventional technology, the length of the vector is the height max (n 1 , n 2 ), and the arrangement of the data to be converted in memory is not continuous, but the interval is at least min (n 1 , n 2 ) Therefore, the parallel processing condition mentioned above is not satisfied, and the parallel processing efficiency is not sufficiently improved.

(3) 発明の目的 本発明は、上記の考察に基づくものであつて、
MDFTを並列処理計算機上で実行する場合、先
に述べた並列処理要件を満足するようにして
MDFTを実行できるようにした多次元離散型フ
ーリエ変換計算方式を提供することを目的として
いる。
(3) Purpose of the invention The present invention is based on the above consideration, and
When executing MDFT on a parallel processing computer, make sure to satisfy the parallel processing requirements mentioned above.
The purpose of this paper is to provide a multidimensional discrete Fourier transform calculation method that can perform MDFT.

(4) 発明の構成 そしてそのため、本発明の多次元離散型フーリ
エ変換計算方式は、メモリ、並列処理装置および
制御部を有する並列処理計算機を用いてM次元
(Mは1より大なる整数)の離散型フーリエ変換
を行う多次元離散型フーリエ変換計算方式におい
て、M次元配列のデータ群に属する2N個のデー
タai1,i2,………iMのそれぞれを第一添字から変化す
る順番に上記メモリの所定のデータ域に予め格納
すると共に、制御変数Lを初期値とし、しかる後
に、 (イ) 数値N、制御変数Lで示される次元の大きさ
nLに基づいて回転因子テーブルを作成する処理
と、 (ロ) 制御変数Iを数値“1”にする処理と、 (ハ) 上記メモリに格納されている2N個のデータ
のうちの先頭からN番目までのデータ列をベク
トルV,N+1番目から2N番目のデータ列を
ベクトルV2としてベクトルV1とV2の加算を行
う処理と、 (ニ) ベクトルV1とV2の加算結果ベクトルの各デ
ータを上記データ域の先頭のデータ格納位置か
ら一つおきに格納する処理と、 (ホ) 上記のように定められたベクトルV1とV2
減算を行う処理と、 (ヘ) 減算結果ベクトルに回転因子ベクトルを乗算
する処理と、 (ト) 乗算結果ベクトルの各データを上記データ域
の2番目のデータ格納位置から一つおきに順番
に格納する処理と、 (チ) 制御変数Iがlog2nLより小さいか否かを調べ
る処理と、 (リ) 上記(チ)でYesとされた場合には、数値N、数
値nLおよび制御変数Iの値に基づいて回転因子
テーブルを改訂し、しかる後に制御変数Iを単
位量だけ増加し、上記(ハ)の処理に戻る処理と、 (ヌ) 上記(チ)の処理でNoとされたときには制御変
数Lを単位量だけ更新し、制御変数Lが所定の
条件を満しているか否かを調べ、満している場
合には上記(イ)の処理に戻る処理と、 を行うことを特徴とするものである。
(4) Structure of the invention For this purpose, the multidimensional discrete Fourier transform calculation method of the present invention uses a parallel processing computer having a memory, a parallel processing device, and a control unit to calculate M dimensions (M is an integer greater than 1). In a multidimensional discrete Fourier transform calculation method that performs a discrete Fourier transform, each of 2N data a i1, i2, ...... iM belonging to a data group of an M-dimensional array is stored in the above memory in the order of change from the first index. In addition to storing in advance in a predetermined data area of
(b) Processing to set the control variable I to the numerical value “1”; (c) Processing to create a twiddle factor table based on n L ; (c) processing to create a twiddle factor table based on the 2N data stored in the memory above; A process of adding vectors V 1 and V 2 by using the data strings up to the th data string as a vector V and the N+1st to 2Nth data strings as a vector V 2, and (d) adding the vectors V 1 and V 2 to each other. (e) Processing to subtract the vectors V 1 and V 2 determined as above, (f) Subtraction result vector (g) processing to sequentially store each data of the multiplication result vector from the second data storage position in the above data area by a twiddle factor vector; (h) control variable I is log 2 Process to check whether it is smaller than n L , and (li) If Yes in (h) above, revise the twiddle factor table based on the value of numerical value N, numerical value n L , and control variable I. , After that, the control variable I is increased by the unit amount and the process returns to the process in (c) above. This method is characterized by performing the following steps: checking whether the variable L satisfies a predetermined condition, and if so, returning to the process in (a) above.

(5) 発明の実施例 以下、本発明を図面を参照しつつ説明する。(5) Examples of the invention Hereinafter, the present invention will be explained with reference to the drawings.

第5図イに示すような二次元DFTに対する本
発明の並列処理手順は、第7図に示される。第7
図の表記法は第3図の場合と同様である。第7図
に沿つて説明すると、ステージ1,2および3に
おいては、大きさ8の一次元DFTを並列処理す
ることを4組同時に行う。また、ステージ4およ
び5においては、大きさ4の一次元DFTを並列
処理することを8組同時に行う。本発明の特色
は、回転因子の作成方法と改訂方法にあり、本発
明によれば、データの大きさn1,n2に関係なく ベクトルの長さは、常にn1・n2/2(これは
限界値の値である) 変換対象となるデータのメモリ上での配置
(データ間隔)は常に連続(間隔は常に1) となり、先に述べた並列処理条件は完全に満たさ
れ、並列処理効果は最大限発揮される。
The parallel processing procedure of the present invention for a two-dimensional DFT as shown in FIG. 5A is shown in FIG. 7th
The notation of the figure is the same as in the case of FIG. Referring to FIG. 7, in stages 1, 2, and 3, four sets of one-dimensional DFTs of size 8 are processed in parallel at the same time. Furthermore, in stages 4 and 5, eight sets of one-dimensional DFTs of size 4 are processed in parallel at the same time. The feature of the present invention lies in the method of creating and revising the twiddle factors.According to the present invention, the length of the vector is always n1n2 / 2 ( This is the limit value) The arrangement of the data to be converted in memory (data interval) is always continuous (the interval is always 1), the parallel processing conditions mentioned above are completely satisfied, and parallel processing The effect will be maximized.

本発明を一般化し、M次元の場合について説明
する。各元の大きさをそれぞれn1,n2,………nM
とし、データai1,ai2,………,aiM(i1=1,2…
……i1,i2=1,2………n2,………,iM=1,
2………nM) は、第一添字から変化する順番にメモリ上に格納
されているものとする。このM次元MDFTの処
理手順は第8図に示される。
The present invention will be generalized and explained for an M-dimensional case. Let the size of each element be n 1 , n 2 , ......n M
Then, data a i1 , a i2 , ......, a iM (i1 = 1, 2...
...i 1 , i 2 = 1, 2...... n 2 , ......, i M = 1,
2......n M ) are stored in memory in the order of change starting from the first subscript. The processing procedure of this M-dimensional MDFT is shown in FIG.

回転因子テーブルの作成方法を更に詳しく説明
する。或るレベルL(L=M,M−1,………又
は1)に対して先ず大きくnL/2のDFT用回転
因子テーブルを作成する。即ち ω=exp(2πi/nL) として なる回転因子テーブルを作成する。簡単なために
このテーブルをξと表わし ξ={ξ1,ξ2,………,ξoL/2} とする。
The method for creating the twiddle factor table will be explained in more detail. First, a DFT twiddle factor table of n L /2 is created for a certain level L (L=M, M-1, . . . , or 1). That is, as ω=exp(2πi/n L ) Create a twiddle factor table. For simplicity, this table is denoted as ξ, and ξ={ξ 1 , ξ 2 , ......, ξ oL /2}.

次に、ξを拡張し、大きさNのMDFT用回転
因子テーブル(ξ〓と表わす)を作成する。この方
法は、ξの各要素を2N/nL個ずつ連続するよう
に拡張する。即ち、 ξ〓={ξ1,ξ1,………ξ1,ξ2,ξ2,………,
ξ2
………ξoL/2,ξoL/2,………,ξoL/2} なるテーブルを作成する。ただし、ξ1,ξ2,……
…ξoL/2の個数はそれぞれ2N/nL個である。
Next, ξ is expanded to create a twiddle factor table for MDFT (denoted as ξ〓) of size N. This method expands each element of ξ so that each element is 2N/n L consecutively. That is, ξ〓={ξ 1 , ξ 1 , ......ξ 1 , ξ 2 , ξ 2 , ......,
ξ 2 ,
………ξ oL/2 , ξ oL/2 , ………, ξ oL/2 } Create a table. However, ξ 1 , ξ 2 , ...
...The number of ξ oL/2 is 2N/n L , respectively.

回転因子テーブルの改訂方法を更に詳しく説明
する。改訂は、或るレベルL(L=M,M−1,
………,1)に対して、(log2nL)−1回行う。い
ま、第P回の改訂を行う場合について述べると、
S回(S=1,2,………,nL/4P)だけ次の
手順を繰り返す。即ち、回転因子テーブルの
(4PN/nL)*(S−1)+1番目から連続した
2PN/nL個の要素を回転因子テーブルの
(4PN/nL)*(S−1)+2PN/nL+1番目から
連続して複写する。
The method of revising the twiddle factor table will be explained in more detail. The revision is done at a certain level L (L=M, M-1,
......, 1) is performed (log 2 n L ) -1 times. Now, let's talk about the Pth revision.
Repeat the following procedure S times (S = 1, 2, ......, n L /4P). In other words, consecutive numbers starting from (4PN/n L ) * (S-1) + 1st in the twiddle factor table
Continuously copy 2PN/n L elements from the (4PN/n L )*(S-1)+2PN/n L +1st of the twiddle factor table.

具体例として第7図に示される二次元MDFT
の場合の回転因子テーブルの作成と改訂の実際を
第9図に示す。ここでは、N=16(n=n1・n2
2)である。第9図に沿つて説明すると、先ずL
=2として、大きさを4(=n2/2)のDFT用回
転因子テーブル ξ={0,1,2,3} を作成する。なお、テーブルの各数値はωに対す
るべき数を示す。次に、ξを拡張した大きさ16
(=N)のMDFT用回転因子テーブルξ〓を作成す
る。即ち、 ξ〓={0,0,0,0,1,1,1,1,2,2,
2,2,3,3,3,3} を作成する。これがステージ1の回転因子テーブ
ルである。
As a concrete example, the two-dimensional MDFT shown in Figure 7
Figure 9 shows the actual creation and revision of the twiddle factor table in the case of . Here, N=16 (n=n 1・n 2 /
2). To explain along Figure 9, first, L
=2, a DFT twiddle factor table ξ={0,1,2,3} with a size of 4 (=n 2 /2) is created. Note that each numerical value in the table indicates a power to ω. Next, the size of ξ is 16
Create a twiddle factor table ξ〓 for MDFT (=N). That is, ξ〓={0, 0, 0, 0, 1, 1, 1, 1, 2, 2,
2, 2, 3, 3, 3, 3}. This is the stage 1 twiddle factor table.

次に改訂を行うか、その回数はL=2では2
(=log2n2−1)回である。その1回目(P=1)
の改訂では次のように計2回の複写を行う。すな
わち、先ずS=1として回転因子テーブルの1番
目から連続4(=2PN/n2)個の要素を回転因子
テーブルの5(=4PN/n2*(S−1)+2PN/n2
+1)番目から連続して複写する。次にS=2と
して、回転因子テーブルの9番目から連続4個の
要素を回転因子テーブルの第13番から連続して複
写する。この結果は、ステージ2の回転因子テー
ブルである。同様に2回目(P=2)の改訂で
は、次のように1回の複写を行う。即ち、S=1
として回転因子テーブルの1番目から連続8(=
2PN/n2)個の要素を回転因子テーブルの9(=
4PN/n2*(S−1)+2PN/n2+1)番目から
連続して複写する。この結果がステージ3の回転
因子テーブルである。
Next, the number of revisions is 2 for L=2.
(=log 2 n 2 -1) times. The first time (P=1)
In the revision of , a total of two copies will be made as follows. That is, first, with S=1, 4 (=2PN/n 2 ) consecutive elements from the first in the twiddle factor table are divided into 5 (=4PN/n 2 *(S-1)+2PN/n 2 ) elements in the twiddle factor table.
Continuously copy from +1). Next, with S=2, four consecutive elements from the 9th place in the twiddle factor table are successively copied from the 13th place in the twiddle factor table. The result is a stage 2 twiddle factor table. Similarly, in the second revision (P=2), one copy is performed as follows. That is, S=1
8 consecutive from the first in the twiddle factor table (=
2PN/n 2 ) elements of the twiddle factor table 9 (=
4PN/n 2 *(S-1)+2PN/n 2 +1) Copy consecutively from the th. This result is the stage 3 twiddle factor table.

次にL=1として、大きさ2(=n1/2)の
DFT用回転因子テーブル ξ={0,1} を作成する。次にξを拡張して大きさ16(=N)
のMDFT用回転因子テーブルξを作成する。即
ち、 ξ={0,0,0,0,0,0,0,0,1,1,1
,1,1,1,1,1} を作成する。これはステージ4の回転因子テーブ
ルである。次に改訂を行うが、その回数はレベル
L=1では1(log2n1−1)回である。この改訂
はP=1とし、次のように1回の複写を行う。即
ち、S=1として回転因子テーブルの1番目から
連続8(=2PN/n1)個の要素を回転因子テーブ
ルの9(4PN/n1*(S−1)+2PN/n1+1)番
目から連続して複写する。この結果は、ステージ
5の回転因子テーブルである。
Next, with L=1, the size is 2 (=n 1 /2)
Create a twiddle factor table ξ={0,1} for DFT. Next, expand ξ to size 16 (=N)
Create a twiddle factor table ξ for MDFT. That is, ξ ~ = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1
,1,1,1,1,1}. This is the stage 4 twiddle factor table. Next, revision is performed, and the number of revisions is 1 (log 2 n 1 -1) times at level L=1. In this revision, P=1, and one copy is performed as follows. That is, with S=1, 8 (=2PN/n 1 ) consecutive elements from the 1st of the twiddle factor table are extracted from the 9th (4PN/n 1 *(S-1)+2PN/n 1 +1) of the twiddle factor table. Copy continuously. The result is a stage 5 twiddle factor table.

第10図は本発明を実施するためのハードウエ
ア構成の一実施例を示すものである。第10図に
おいて、12はメモリ装置、13は制御装置、1
4はベクトル演算装置、15はデータ転送装置、
16はMDFT用回転因子テーブル発生・改訂装
置をそれぞれ示している。メモリ装置12には、
演算対象となるベクトル・データや回転因子テー
ブルが格納される。制御装置13は第8図に示さ
れるMDFTの処理手順に従つて各装置を制御す
るものである。データ転送装置15は、メモリ装
置12とベクトル演算装置14との間のデータ転
送、およびメモリ装置12とMDFT用回転因子
テーブル発生・改訂装置16との間のデータ転送
を行うものである。ベクトル演算装置14は、送
られて来たベクトル・データや回転因子テーブル
に対して各種の演算を並列処理する機能を有して
いる。MDFT用回転因子テーブル発生・改訂装
置16は、先に述べたようにDFT用回転因子テ
ーブルに基づきMDFT用回転因子テーブルを作
成し、また、メモリ装置から送られて来た
MDFT用回転因子テーブルを改訂する機能を有
している。
FIG. 10 shows an example of a hardware configuration for implementing the present invention. In FIG. 10, 12 is a memory device, 13 is a control device, 1
4 is a vector calculation device, 15 is a data transfer device,
16 indicates a twiddle factor table generation and revision device for MDFT. The memory device 12 includes
Vector data and twiddle factor table to be calculated are stored. The control device 13 controls each device according to the MDFT processing procedure shown in FIG. The data transfer device 15 transfers data between the memory device 12 and the vector arithmetic device 14 and between the memory device 12 and the MDFT twiddle factor table generation and revision device 16. The vector calculation device 14 has a function of performing various calculations in parallel on the transmitted vector data and twiddle factor table. The MDFT twiddle factor table generating/revising device 16 creates the MDFT twiddle factor table based on the DFT twiddle factor table as described above, and also generates the MDFT twiddle factor table based on the DFT twiddle factor table, and also generates the MDFT twiddle factor table based on the DFT twiddle factor table.
It has a function to revise the twiddle factor table for MDFT.

(6) 発明の効果 以上の説明から明らかなように、本発明の多次
元離散型フーリエ変換計算方式によれば、並列処
理するデータの長さ(ベクトル長)を可能な限り
長くとる、並列処理するデータのメモリ上での間
隔(データ間隔)を可能な限り短くする、という
並列処理要件を完全に満しているので、処理効率
を大幅に向上することが可能である。
(6) Effects of the invention As is clear from the above explanation, the multidimensional discrete Fourier transform calculation method of the present invention allows parallel processing to make the length of data to be processed in parallel (vector length) as long as possible. Since it completely satisfies the parallel processing requirement of minimizing the interval between data in memory (data interval), it is possible to significantly improve processing efficiency.

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

第1図および第2図は並列処理計算機の概要を
示す図、第3図はDFTの計算法を説明するため
の図、第4図は並列処理DFTの処理手順を示す
図、第5図は二次元配列、列ベクトルおよび行ベ
クトルの一例を示す図、第6図は従来技術による
MDFTの計算法を説明する図、第7図は本発明
による二次元DFTを行うための処理を説明する
図、第8図は本発明によるM次元MDFTの処理
手順を示す図、第9図は本発明による二次元
MDFTの回転因子テーブルの作成と改訂を説明
するための図、第10図は本発明を実施するため
ハードウエア構成の一実施例を示す図である。 12……メモリ装置、13……制御装置、14
……ベクトル演算装置、15……データ転送装
置、16……MDFT用回転因子テーブル発生、
改訂装置。
Figures 1 and 2 are diagrams showing an overview of a parallel processing computer, Figure 3 is a diagram for explaining the calculation method of DFT, Figure 4 is a diagram showing the processing procedure of parallel processing DFT, and Figure 5 is a diagram showing the processing procedure of parallel processing DFT. A diagram showing an example of a two-dimensional array, a column vector, and a row vector, FIG. 6 is based on the prior art
FIG. 7 is a diagram explaining the calculation method of MDFT, FIG. 7 is a diagram explaining the process for performing two-dimensional DFT according to the present invention, FIG. 8 is a diagram showing the processing procedure for M-dimensional MDFT according to the present invention, and FIG. Two-dimensional according to the invention
FIG. 10, which is a diagram for explaining the creation and revision of a twiddle factor table for MDFT, is a diagram showing an example of a hardware configuration for implementing the present invention. 12...Memory device, 13...Control device, 14
...vector calculation device, 15...data transfer device, 16...twiddle factor table generation for MDFT,
Revision device.

Claims (1)

【特許請求の範囲】 1 メモリ、並列処理装置および制御部を有する
並列処理計算機を用いてM次元(Mは1より大な
る整数)の離散型フーリエ変換を行う多次元離散
型フーリエ変換計算方式において、M次元配列の
データ群に属する2N個のデータai1,i2,……iMのそ
れぞれを第一添字から変化する順番に上記メモリ
の所定のデータ域に予め格納すると共に、制御変
数Lを初期値とし、しかる後に (イ) 数値N、制御変数Lで示される次元の大きさ
nLに基づいて回転因子テーブルを作成する処理
と、 (ロ) 制御変数Iを数値“1”にする処理と、 (ハ) 上記メモリに格納されている2N個のデータ
のうちの先頭からN番目までのデータ列をベク
トルV1,N+1番目から2N番目のデータ列を
ベクトルV2としてベクトルV1とV2の加算を行
う処理と、 (ニ) ベクトルV1とV2の加算結果ベクトルの各デ
ータを上記データ域の先頭のデータ格納位置か
ら一つおきに格納する処理と、 (ホ) 上記のように定められたベクトルV1とV2
減算を行う処理と、 (ヘ) 減算結果ベクトルに回転因子ベクトルを乗算
する処理と、 (ト) 乗算結果ベクトルの各データを上記データ域
の2番目のデータ格納位置から一つおきに順番
に格納する処理と、 (チ) 制御変数Iがlog2nLより小さいか否かを調べ
る処理と、 (リ) 上記(チ)でYesとされた場合には、数値N、数
値nLおよび制御変数Iの値に基づいて回転因子
テーブルを改訂し、しかる後に制御変数Iを単
位量だけ増加し、上記(ハ)の処理に戻る処理と、 (ヌ) 上記(チ)の処理でNoとされたときには制御変
数Lを単位量だけ更新し、制御変数Lが所定の
条件を満しているか否かを調べ、満している場
合には上記(イ)の処理に戻る処理と、 を行うことを特徴とする多次元離散型フーリエ変
換計算方式。
[Claims] 1. In a multidimensional discrete Fourier transform calculation method that performs M-dimensional (M is an integer greater than 1) discrete Fourier transform using a parallel processing computer having a memory, a parallel processing device, and a control unit. , 2N pieces of data a i1, i2, . value, and then (a) the size of the dimension indicated by the numerical value N and the control variable L.
(b) Processing to set the control variable I to the numerical value “1”; (c) Processing to create a twiddle factor table based on n L ; (c) processing to create a twiddle factor table based on the 2N data stored in the memory above; A process of adding vectors V 1 and V 2 by setting the data string up to the th data string as a vector V 1 and the data strings from N+ 1st to 2Nth as a vector V 2 ; A process of storing each data every other data from the first data storage position of the data area, (e) a process of subtracting the vectors V 1 and V 2 determined as above, and (f) the result of the subtraction. (g) processing to sequentially store each data of the multiplication result vector from the second data storage position in the data area every other data storage position, and (h) processing to multiply the vector by the twiddle factor vector; Processing to check whether it is smaller than log 2 n L , and (li) If Yes in (h) above, revise the twiddle factor table based on the value of numerical value N, numerical value n L , and control variable I. However, after that, the control variable I is increased by a unit amount, and the process returns to the process in (c) above. A multidimensional discrete Fourier transform calculation method characterized by: checking whether the control variable L satisfies a predetermined condition, and if so, returning to the process in (a) above; .
JP57031328A 1982-02-27 1982-02-27 TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI Expired - Lifetime JPH0248941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57031328A JPH0248941B2 (en) 1982-02-27 1982-02-27 TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57031328A JPH0248941B2 (en) 1982-02-27 1982-02-27 TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI

Publications (2)

Publication Number Publication Date
JPS58149564A JPS58149564A (en) 1983-09-05
JPH0248941B2 true JPH0248941B2 (en) 1990-10-26

Family

ID=12328191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57031328A Expired - Lifetime JPH0248941B2 (en) 1982-02-27 1982-02-27 TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI

Country Status (1)

Country Link
JP (1) JPH0248941B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2560432B2 (en) * 1988-07-07 1996-12-04 日本電気株式会社 Two-dimensional Fourier transform device
CN104883238B (en) * 2015-03-31 2018-05-01 重庆邮电大学 A kind of carrier time division multiplexing modulation/demodulation methods and system

Also Published As

Publication number Publication date
JPS58149564A (en) 1983-09-05

Similar Documents

Publication Publication Date Title
US6839728B2 (en) Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
Burton Annotations to control parallelism and reduction order in the distributed evaluation of functional programs
Lusk Controlling redundancy in large search spaces: Argonne-style theorem proving through the years
JPH0477932B2 (en)
JPH0248941B2 (en) TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI
Gao A maximally pipelined tridiagonal linear equation solver
Nawab et al. Bounds on the minimum number of data transfers in WFTA and FFT programs
JP3887097B2 (en) COMPILING METHOD, COMPILING DEVICE, AND COMPUTER-READABLE STORAGE MEDIUM CONTAINING COMPILING PROGRAM
Bauer Implementation of data manipulating functions on the STARAN associative processor
JP3808925B2 (en) Apparatus and method for parallel processing of simultaneous equations capable of using various matrix storage methods
Kung Warp experience: we can map computations onto a parallel computer efficiently
Cooley Rectangular transforms for digital convolution on the research signal processor
JPH0267602A (en) Numerical arithmetic unit
JP2549838B2 (en) Data control device
Stotts OPTIMAL DISTRIBUTED MICROPROCESSOR ARCHITECTURE USING MULTI-PHASE PROCESSING TO PERFORM A VECTOR, MATRIX MULTIPLICATION
JPH0644270B2 (en) Vector processor control processing method
JP3647887B2 (en) Complex fast Fourier transform processing method by vector computer
Duff et al. Performance Issues for Frontal Schemes on High Performance Computer
Poli Applied Algebra, Algorithmics and Error-Correcting Codes: 2nd International Conference, AAECC-2, Toulouse, France, October 1-5, 1984. Proceedings
JPS5846439A (en) Program editing method of computer
Yeh A task scheduling algorithm for the parallel expression evaluation in a reconfigurable fully digit on-line network
Smith et al. Parallel Molecular Dynamics Algorithms on the Daresbury Meiko MlO
Stevenson Numerical algorithms for parallel computers
JPS58205281A (en) Fast fourier transformation device
Jordan Performance evaluation of linear algebra software in parallel architectures.[FPS, CDC, Cray, Burroughs, ICL, and TI computers]