JPS5925253B2 - Cosine/sine calculation method - Google Patents

Cosine/sine calculation method

Info

Publication number
JPS5925253B2
JPS5925253B2 JP53114346A JP11434678A JPS5925253B2 JP S5925253 B2 JPS5925253 B2 JP S5925253B2 JP 53114346 A JP53114346 A JP 53114346A JP 11434678 A JP11434678 A JP 11434678A JP S5925253 B2 JPS5925253 B2 JP S5925253B2
Authority
JP
Japan
Prior art keywords
storage area
cos2
sin2
storing
cosine
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
Application number
JP53114346A
Other languages
Japanese (ja)
Other versions
JPS5541525A (en
Inventor
健三 平岩
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 JP53114346A priority Critical patent/JPS5925253B2/en
Publication of JPS5541525A publication Critical patent/JPS5541525A/en
Publication of JPS5925253B2 publication Critical patent/JPS5925253B2/en
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、フーリエ変換処理に際して使用する所定角の
余弦及び正弦値を求める方式に係り、特にパイプライン
処理により高速で該余弦、正弦植木める方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a method for determining the cosine and sine values of a predetermined angle used in Fourier transform processing, and particularly to a method for quickly replanting the cosine and sine values using pipeline processing.

フ 離散型フーリエ変換において、データが複素数であ
る場合には(1)式の変換又は(2)式の逆変換の演算
処理が必要となる。
In the discrete Fourier transform, when the data is a complex number, calculation processing of the transformation of equation (1) or the inverse transformation of equation (2) is required.

ln二1 αに−一ー2−Xjexp(−2 nj=0 Xj=−2△αkexp(2πi− レ■n 、jk l−)、に゛0、゜゜゜、n−1゜゜゜゜゜゜(l))
、j−0、…、n−1……(2)尚、(1)式のフーリ
エ変換において、Xjは複素データ、αkはフーリエ係
数であり、以後(1)式の変換に従つて説明する。
ln21 α to −1−2−Xjexp(−2 nj=0
, j-0, ..., n-1... (2) In the Fourier transform of equation (1), Xj is complex data and αk is a Fourier coefficient, which will be explained below according to the transformation of equation (1). .

今、データ数を8個(XO..Xl、・・・X7)とす
ればn−8となり、(1)式のフーリエ変換には8種類
の角度0、θ、2θ、3θ、・・・7θ(但しθ−2π
/8)に対する各余弦正弦値が必要となる。ところで、
θ、2θ、・・・7θの余弦、正弦を求めるには以下の
(3)、(4)式に示す漸化式を用いる方法が考えられ
る。
Now, if the number of data is 8 (XO..Xl, . . . 7θ (however, θ−2π
/8) is required. by the way,
In order to obtain the cosine and sine of θ, 2θ, .

但し、K−011、2、・・・7 すなわち、θに対する余弦及び正弦値COsθ、Sin
θを予め求めておき、これらCOsθ、Sinθを用い
てCOs(K+1)θ、Sin(K+1)θ(K−1、
2、・・・7)を次々と求める方法である。
However, K-011, 2,...7 That is, the cosine and sine values COsθ, Sin for θ
θ is determined in advance, and using these COsθ and Sinθ, COs(K+1)θ, Sin(K+1)θ(K-1,
2,...7) one after another.

しかし、この方法では非常に長い演算処理時間を要し、
高速フーリエ変換ができない。というのは、COsθ、
Sinθから、まずCOs2θ、Sin2θを演算し、
ついでこれらの値を使つてCOs3θ、Sin3θを演
算し、以後同様にCOs(K+1)θ、Sin(K+1
)θを求めてゆかなければならないからであり、換言す
れば上記(3)、(4)式に基いて00sKθ、Sin
Kθを求めるには、いわゆる高速演算処理の公知の手法
であるパイプライン処理が適用できない。それ故、本発
明はパイプライン処理に基いて高速にCOsθ、Sin
θから、COs(K+1)θ、Sin(K+1)θ(K
−1、2、・・・7)を求めることができる新規な方式
を提供することを目的とするものであり、この目的は本
発明において、COsθ、SinθよりCOsKθ、S
inKθ(K−2、3、・・・n)を演算する演算方式
において演算された各角度θ、2θ、3θ、・・・nθ
に対応する余弦、正弦値を記憶する記憶手段、COsθ
とSinθ及び倍角の公式に基いてCOS2mθ、Si
n2mθ(m1、2c・・)を順次演算し、これを前記
記憶手段に記憶せしめる演算手段、前記記憶手段の所定
アドレスから順次入力された余弦、正弦データを該記憶
手段の別のアドレスにシフトせしめる第1のパイプライ
ン処理手段、前記シフト処理後記憶手段から人力された
余弦、正弦データを用いて加法演算処理を実行し、その
演算結果を前記記憶手段に格納する第2のパイプライン
処理手段を備え、前記記憶手段の記憶領域を{COS2
mθ、Sin2mθ}を記憶する記憶領域T1;{CO
S2nl−1θ、Sin2nl−1θ}、{COS2n
lθ、Sin2mθ}を記憶する記憶領域T2;{CO
s2m−2θ、Sin2m−2θ}、{COs2m−1
θ、Sin2m−1θ}、{COs(2m−2+2m−
1)θ、{COS2mθ、Sin2mθ}を記憶する記
憶領域T3;{COs2m−3θ、Sin2m−3θ}
、{COS2rrl−2θ、Sin2nl−2θ}、{
COs(2m−3+2m−2)θ、Sin(2m−3+
2m−2)θ}、{COs2m−1θ、Sin2m−1
θ}、{COs(2m−3+2n1−1)θ、Sin(
2n1−3+2m−りθ}、{COS2mθ、Sin2
mθ}を記憶する記憶域T4;・・・;{COsθ、S
inθ}、{COs2θ、Sin2θ}、{COs3θ
、Sin3θ}・・・{COsnθ、Sinnθ}を記
憶する記憶領域T1に分け前記第1のパイプライン処理
手段は記憶領域Tiの各アドレスの内容を記憶領域Ti
+1の偶数領域に順次シフトし、前記第2のパイプライ
ン処理手段は記憶Tiの第1アドレスと偶数番目のアド
レスの内容を用いて順次加法演算処理を実行し、その演
算結果を逐次、Tiの奇数番目のアドレスに書込む処理
を実行し、前記演算手段によりCOS2mθ、Sin2
nlθ(m−1、2、゜゜゜)を演算後、TiからTi
+1への前記シフト処理と加法演算処理を交互に繰返え
し実行しCOsKθ、SinKθ(K−2、3、・・・
n)を求める余弦、正弦演算方式により達成される。
However, this method requires a very long calculation time,
Fast Fourier transform cannot be performed. That is, COsθ,
From Sinθ, first calculate COs2θ and Sin2θ,
Next, use these values to calculate COs3θ and Sin3θ, and thereafter similarly calculate COs(K+1)θ and Sin(K+1
) θ.In other words, based on equations (3) and (4) above, 0sKθ, Sin
In order to obtain Kθ, pipeline processing, which is a known method of so-called high-speed arithmetic processing, cannot be applied. Therefore, the present invention can quickly calculate COsθ and Sin based on pipeline processing.
From θ, COs(K+1)θ, Sin(K+1)θ(K
-1, 2,...7), and this purpose is to provide a new method that can calculate COsKθ, S from COsθ, Sinθ.
Each angle θ, 2θ, 3θ, ... nθ calculated in the calculation method of calculating inKθ (K-2, 3, ... n)
Storage means for storing cosine and sine values corresponding to COsθ
Based on the formula of Sinθ and double angle, COS2mθ, Si
a calculation means for sequentially calculating n2mθ (m1, 2c, . . .) and storing it in the storage means, and shifting cosine and sine data sequentially inputted from a predetermined address of the storage means to another address of the storage means; a first pipeline processing means; a second pipeline processing means for executing an addition operation process using the cosine and sine data manually inputted from the storage means after the shift processing, and storing the operation result in the storage means; and a storage area of the storage means {COS2
mθ, Sin2mθ} storage area T1; {CO
S2nl-1θ, Sin2nl-1θ}, {COS2n
lθ, Sin2mθ} storage area T2; {CO
s2m-2θ, Sin2m-2θ}, {COs2m-1
θ, Sin2m−1θ}, {COs(2m−2+2m−
1) Storage area T3 for storing θ, {COS2mθ, Sin2mθ}; {COs2m−3θ, Sin2m−3θ}
, {COS2rrl-2θ, Sin2nl-2θ}, {
COs(2m-3+2m-2)θ, Sin(2m-3+
2m-2) θ}, {COs2m-1θ, Sin2m-1
θ}, {COs(2m-3+2n1-1)θ, Sin(
2n1-3+2m-riθ}, {COS2mθ, Sin2
mθ} storage area T4; ...; {COsθ, S
inθ}, {COs2θ, Sin2θ}, {COs3θ
, Sin3θ}...{COsnθ, Sinnθ} into a storage area T1 for storing the data, and the first pipeline processing means stores the contents of each address in the storage area Ti into the storage area Ti
The second pipeline processing means sequentially performs an addition operation process using the contents of the first address and the even numbered address of the memory Ti, and sequentially transfers the operation result to the even number area of Ti. The process of writing to odd-numbered addresses is executed, and the arithmetic means calculates COS2mθ, Sin2
After calculating nlθ (m-1, 2, ゜゜゜), Ti to Ti
The shift process to +1 and the addition process are repeated alternately to obtain COsKθ, SinKθ(K-2, 3, . . .
This is achieved by using the cosine and sine calculation method to find n).

以下、本発明を図面に従つて詳細に説明する。Hereinafter, the present invention will be explained in detail with reference to the drawings.

さて、(3)、(4)式をマトリクスとベクトルで記述
すると、但し、 こ\で、 θの回転因子という)とおけば(5)式は更に次の如く
表現できる。
Now, if equations (3) and (4) are written in terms of matrices and vectors, then if we set (here, the twiddle factor of θ), equation (5) can be further expressed as follows.

従つて、W1、W2・・・Wkが求まればX1と乗算し
て簡単にXk+1を求めることができる。
Therefore, once W1, W2, . . . , Wk are determined, Xk+1 can be easily determined by multiplying by X1.

次に、K−8として、W−W8までの回転因子を求める
アルゴリズムを第1図に従つて説明する。
Next, an algorithm for obtaining twiddle factors up to W-W8 as K-8 will be explained with reference to FIG.

尚、このアルゴリズムは後述するようにパイプライン処
理に適している。図中、wは回転因子、W2、・・・W
8は回転因子wの巾、T1〜T4は記憶領域である。
Note that this algorithm is suitable for pipeline processing as described later. In the figure, w is a twiddle factor, W2,...W
8 is the width of the twiddle factor w, and T1 to T4 are storage areas.

ステツプ1・・・まず、初めに記憶領域T1に8個のw
を用意する。
Step 1... First, 8 ws are stored in the storage area T1.
Prepare.

ステツプ2・・・次に、上記8個のwのうち各隣接する
2つのwを乗算することによりW2を4個作成し、記憶
領域T2に格納する。
Step 2...Next, four W2's are created by multiplying each adjacent two of the eight w's above and stored in the storage area T2.

ステツプ3・・・この4個のW2のうち、各隣接する2
つのW2を乗算することによりW4を2個作成し記憶領
域T3に格納する。
Step 3... Out of these four W2, each adjacent two
By multiplying two W2s, two W4s are created and stored in the storage area T3.

ステツプ4・・・次にこの2個のW4を乗算することに
よりW8を作成し、記憶領域T4に格納する。
Step 4...Next, W8 is created by multiplying these two W4s and stored in the storage area T4.

以上、ステツプ1〜4においては、すべて、記憶領域T
lの隣接する2つの回転因子又はこれらの巾に乗算を施
し、記憶領域Ti+1に格納する処理である。このため
高速演算処理として公知の手法であるパイプライン処理
が適用できる。ステツプ5・・・記憶領域T3の第2領
域に記憶領域T4の第1領域の内容即ちW8をシフトす
る。これにより記憶領域T3にはW4とW8とが記憶さ
れる。ステツプ6・・・記憶領域T2の第2領域と第4
領域にそれぞれ記憶領域T3の第1、第2領域の内容W
4、W8をシフトした後、第1領域と第2領域の内容即
ち席とW4とを乗算して1を作成し、T2の第3領域に
格納する。
Above, in steps 1 to 4, the storage area T
This is a process of multiplying two adjacent twiddle factors of l or their widths and storing them in the storage area Ti+1. For this reason, pipeline processing, which is a known method for high-speed calculation processing, can be applied. Step 5: Shift the contents of the first area of the storage area T4, ie, W8, to the second area of the storage area T3. As a result, W4 and W8 are stored in the storage area T3. Step 6...Second area and fourth area of storage area T2
The contents W of the first and second areas of the storage area T3 are respectively stored in the areas.
4. After shifting W8, the content of the first area and the second area, that is, the seat, and W4 are multiplied to create 1, which is stored in the third area of T2.

尚、W8出ψとからこれらに除算を施して1を作成する
こともできる。
Note that 1 can also be created by dividing these from W8 output ψ.

これにより、記憶領域T2の第1、2、3、4領域には
それぞれW2、W4、W6,.W8が格納されたことに
なる。ステツプ7・・・最後に、記憶領域T1の第2、
4、6、8領域に記憶領域T2の第1、2、3、4領域
の内容W2、W4、W6.W8をシフトした後、第1領
域と第2領域の内容wとW2に乗算を施し、又、第1領
域と第4領域の内容wとW4に乗算を施し、更に第1領
域と第6領域の内容w昌ψに乗算を施し、それぞれの乗
算結果をT1の第3、5、7領域に格納する。これによ
り、記憶領域T1の第1、第2、・・・第8領域にW.
W2、・・・W8が得られることになる。以上、ステツ
プ5〜7においては記憶領域Tiの各領域の内容を夫々
順次記憶領域Ti−1の偶数領域に格納した後(シフト
処理)、Ti−1の第1領域の内容とTi−1の各偶数
領域の内容との乗算を順次実行し、その乗算結果をT1
−1の奇数領域に順次記憶格納する処理であり(演算処
理)、高速演算処理としての公知の手法であるパイプラ
イン処理に好適である。
As a result, the first, second, third, fourth areas of the storage area T2 are stored in W2, W4, W6, . This means that W8 has been stored. Step 7...Finally, the second
The contents W2, W4, W6 . After shifting W8, the contents w and W2 of the first and second areas are multiplied, the contents w and W4 of the first and fourth areas are multiplied, and the contents w and W4 of the first and fourth areas are multiplied, and then the contents w and W4 of the first and fourth areas are The contents w sho ψ are multiplied and the respective multiplication results are stored in the third, fifth, and seventh areas of T1. As a result, the W.
W2, . . . W8 are obtained. As described above, in steps 5 to 7, after the contents of each area of the storage area Ti are sequentially stored in the even-numbered areas of the storage area Ti-1 (shift processing), the contents of the first area of Ti-1 and the contents of the first area of Ti-1 are Multiplication with the contents of each even number area is performed sequentially, and the multiplication result is T1
This is a process of sequentially storing data in an odd-numbered area of −1 (arithmetic processing), and is suitable for pipeline processing, which is a well-known method of high-speed arithmetic processing.

しかし、上記処理はパイプライン処理が可能であるとし
ても各乗算はマトリクス乗算であり、従つてマトリクス
要素同士の8回の乗算と4回の加算が必要となり、高速
処理ができない。
However, even if pipeline processing is possible in the above processing, each multiplication is a matrix multiplication, and therefore eight multiplications and four additions between matrix elements are required, making high-speed processing impossible.

ところで、W2、W3の乗算結果は夫々、次式の如くな
る。
By the way, the multiplication results of W2 and W3 are as shown in the following equations.

即ち、W2、W3はそれぞれ、COs2θ、Sin2θ
:COs3θ、Sin3θで表わすことができ、一般に
WkはCOsKθ、SinKθが計算できれば簡単に求
まる。
That is, W2 and W3 are COs2θ and Sin2θ, respectively.
: COs3θ and Sin3θ, and generally Wk can be easily found if COsKθ and SinKθ can be calculated.

本発明はCOsKθ、SinKθ(K=2、3、・・・
n)を、前述のWkを求めるアルゴリズムとほぼ同一の
手法により求めるものであり、以下第2図、第3図に従
つて説明する。
The present invention provides COsKθ, SinKθ (K=2, 3,...
n) is determined using almost the same method as the algorithm for determining Wk described above, and will be explained below with reference to FIGS. 2 and 3.

第2図においてMEMは余弦、正弦値を記憶する主記憶
装置、PLUlは後述の三角関数の倍角演算を実行する
倍角演算装置、PLU2は後述のシフト処理を実行する
第1のパイプライン処理装置、PLU3は三角関数の加
法演算処理を実行する第2のパイプライン処理装置、G
Mはゲート手段、COTは1主記憶装置からの余弦、正
弦データの読出及び書込順序、2PLU1,PLU2,
PLU3を制御していずれを処理可能にするか、3ゲー
ト手段GMを制御してPLUl,PLU2,PLU3の
うちどの出力データを主記憶装置に書込むかをコントロ
ールする制御回路である。
In FIG. 2, MEM is a main memory that stores cosine and sine values, PLU1 is a double angle calculation unit that performs double angle calculations of trigonometric functions described below, PLU2 is a first pipeline processing unit that performs shift processing that will be described later, PLU3 is a second pipeline processing unit that performs addition calculation processing of trigonometric functions, and G
M is a gate means, COT is 1 reading and writing order of cosine and sine data from the main memory, 2 PLU1, PLU2,
This is a control circuit that controls PLU3 to enable processing, and controls three gate means GM to control which output data of PLU1, PLU2, and PLU3 is written to the main memory.

第3図は本発明による処理をより理解し易くするための
説明図であり、図中、MEMは主記憶装置、MCぱCO
sKθを記憶する記憶領域、MSはSinKθを記憶す
る記憶領域、T1〜T4は第1図における符号と同一の
領域を示す記憶領域、PLUlは、倍角演算装置、PL
U2はシフト処理のパイプライン処理装置、PLU3は
加法演算処理のパイプライン処理装置である。尚、第1
図においては、ステツプ1で記憶領域T1の第1、・・
・、第8領域にwを8個用意して以後、ステツプ2、3
、4においてW2、W4、W8を次々と求め各記憶領域
に格納するものとして説明したが、このような処理にパ
イプライン処理を施しても高速処理としての効果は上ら
ないため、第2図では、ステツプ1〜ステツプ4までの
処理をパイプライン処理によらず倍角演算装置PLUl
により個別にCOs2x,.sin2x;COs4xl
sin4x;COs8xl8ln8xを求めている。
FIG. 3 is an explanatory diagram to make it easier to understand the processing according to the present invention. In the diagram, MEM is the main memory, MC
A storage area for storing sKθ, MS is a storage area for storing SinKθ, T1 to T4 are storage areas with the same symbols as in FIG. 1, PLU1 is a double angle calculation unit, PL
U2 is a pipeline processing device for shift processing, and PLU3 is a pipeline processing device for addition processing. Furthermore, the first
In the figure, in step 1, the first...
・After preparing 8 w in the 8th area, proceed to steps 2 and 3.
, 4, it has been explained that W2, W4, and W8 are sequentially obtained and stored in each storage area, but even if pipeline processing is applied to such processing, the effect of high-speed processing will not be improved, so FIG. Now, the processing from Step 1 to Step 4 is performed using the double angle calculation unit PLU1 without using pipeline processing.
COs2x, . sin2x; COs4xl
sin4x; COs8xl8ln8x is sought.

しかし、第1図のアルゴリズムに従つて、求めてもよい
ことは当然である。ステツプ1・・・主記憶装置MEM
の余弦記憶領域及び正弦記憶領域MC,MSのアドレス
T1(1)にCOsθ、Sinθを用意する。
However, it is of course possible to obtain it according to the algorithm shown in FIG. Step 1...Main memory MEM
COsθ and Sinθ are prepared at address T1(1) of the cosine storage area and sine storage area MC, MS.

尚、図中斜線部は処理に関係したデータを表示している
。ステツプ2・・・MC,MSのアドレスT1(1)の
内容を倍角演算装置PLUlに読出す。
Note that the shaded area in the figure displays data related to processing. Step 2: Read the contents of address T1(1) of MC and MS to double angle arithmetic unit PLU1.

該倍角演算装置PLUlはMC,MSより読出された内
容を(MC)、(MS)とすれば次式の演算を実行し、
その演算結果を別に指示されたMC,MSの所定アドレ
スに記憶する処理を実行する。即ち、(代)式よりCO
s2θ、(自)式よりSin2θが演算されそれぞれ余
弦、正弦記憶領域MC,MSのアドレスT2(1)に記
憶される。
If the contents read from MC and MS are (MC) and (MS), the double angle calculation unit PLUl executes the calculation of the following equation,
A process of storing the result of the calculation at a predetermined address of the MC and MS separately instructed is executed. That is, from formula (substitute), CO
s2θ and Sin2θ are calculated from the equation (self) and stored at address T2(1) of cosine and sine storage areas MC and MS, respectively.

ステツプ3・・・MC,MSのアドレスT2(1)の内
容を倍角演算装置PLUlに読出し、(代)、σDの演
算を実行させ、その演算結果、COs4θ、Sin4θ
をMC,MSのアドレスT3(1)に格納する。
Step 3...The contents of address T2(1) of MC and MS are read to the double angle calculation unit PLUl, and the calculation of (substitute) and σD is executed, and the calculation results are COs4θ and Sin4θ.
is stored in address T3(1) of MC and MS.

ステツプ4・・・MC,MSのアドレスT3(1)の内
容を倍角演算処理装置PLUlに読出し、(代)、(自
)の演算を実行させ、その演算結果COs8θ、Sin
8θをMC,MSのアドレスT4(1)に格納する。以
上、ステツプ1〜4により、余弦、正弦記憶領域の内容
は第2図イのようになる。ステツプ5・・・ シフト処理・・・MC,MSの記憶領域T4のアドレス
T4(1)の内容をシフト処理のパイプライン処理装置
PLU2に読出す。
Step 4...The contents of address T3(1) of MC and MS are read out to the double angle arithmetic processing unit PLU1, and the (alternative) and (self) calculations are executed, and the calculation results COs8θ, Sin
8θ is stored at address T4(1) of MC and MS. As described above, through steps 1 to 4, the contents of the cosine and sine storage areas become as shown in FIG. 2A. Step 5... Shift processing... The contents of address T4(1) in the storage area T4 of MC and MS are read to the pipeline processing unit PLU2 for shift processing.

該パイプライン処理装置PLU2は余弦、正弦記憶領域
MC,MSに対しそれぞれ記憶領域Tiの各領域Ti(
1)、Ti(2)、Ti(3)・・・の内容を記憶領域
Ti−1の偶数領域Ti−1(2)、Ti−1(4)、
Ti−1(6)・・・にシフトするようにパイプライン
処理を実行する。従つて、MCのアドレスT4(1)の
内容COs8θはMCのアドレスT3(2)に、MSの
アドレスT4(1)の内容Sin8θはMSのアドレス
T3(2)にシフトされる。
The pipeline processing unit PLU2 processes each area Ti( of the storage area Ti for the cosine and sine storage areas MC, MS,
1), Ti(2), Ti(3)... are stored in the even number areas Ti-1(2), Ti-1(4), and the storage area Ti-1.
Pipeline processing is executed to shift to Ti-1(6)... Therefore, the content COs8θ of the MC address T4(1) is shifted to the MC address T3(2), and the content Sin8θ of the MS address T4(1) is shifted to the MS address T3(2).

(第3図口参照)ステツプ6・・・ シフト処理・・・ステツプ5と同様にMC,MSの記憶
領域T3の内容T3(1)、T3(2)即ちCOs4x
.lsin4x;COx8x.sin8xを順次、パイ
プライン処理装置PLU2に入力し、これをそれぞれM
C,MSf)T2(2)、T2(4)にシフトする。
(Refer to Figure 3) Step 6... Shift processing...Similar to step 5, contents T3(1), T3(2) of storage area T3 of MC and MS, ie, COs4x
.. lsin4x; COx8x. sin8x is sequentially input to the pipeline processing unit PLU2, and each
C, MSf) Shift to T2(2), T2(4).

この結果、余弦正弦領域の内容は第3図ハのようになる
。ステツプ7 加法演算処理・・・上記シフト処理が終了すればMC,
MSに対して、記憶領域T2(1)、T2(2)がそれ
ぞれ対になつて加法演算のパイプライン処理装置PLU
3に読出される。
As a result, the contents of the cosine and sine area become as shown in FIG. 3C. Step 7 Additive operation processing...Once the above shift processing is completed, the MC,
For the MS, the storage areas T2(1) and T2(2) are each paired to form a pipeline processing unit PLU for addition operations.
3.

MCの記憶領域Tiの第1領域Ti(1)より読出した
内容を{MCTi(1)}、MCの記憶域Tiの偶数領
域Ti(2n)より読出した内容を{MCTi(2n)
}、MSの記憶域Tiの第1領域Ti(1)より読出し
た内容を{MSTi(1)}、MSの記憶Tiの偶数領
域Ti(2n)より読出した内容を{MSTi(2n)
}とすれば、パイプライン処理装置PLU3は次式の演
算を実行し、その演算結果をそれぞれMC,MSの記憶
領域Tiの奇数領域Ti(2n+1)に格納する。即ち
、(自)式によりCOs6θ、(自)式によりSin6
θがそれぞれ演算されMC,MSの記憶領域T2の第3
領域T2(3)にそれぞれ記憶される(第3図二参照)
The content read from the first area Ti(1) of the storage area Ti of the MC is {MCTi(1)}, and the content read from the even area Ti(2n) of the storage area Ti of the MC is {MCTi(2n).
}, the contents read from the first area Ti(1) of the storage area Ti of the MS are {MSTi(1)}, and the contents read from the even area Ti(2n) of the storage area Ti of the MS are {MSTi(2n)}.
}, the pipeline processing unit PLU3 executes the calculation of the following equation, and stores the calculation results in the odd number area Ti(2n+1) of the storage area Ti of MC and MS, respectively. That is, COs6θ according to the (self) formula, and Sin6 according to the (self) formula.
θ is calculated and stored in the third storage area T2 of MC and MS.
Each is stored in area T2 (3) (see Fig. 3 2)
.

ステツプ8・・・ シフト処理・・・ステツプ6と同様にMC,MSの記憶
域T2(1)、T2(2)、T3(2)、T3(1)、
即ち、COs2x,.sin2x;COs4x,.si
n4x;COs6x,.sin6x;COs8x,.s
in8xを順次パイプライン処理装置PLU2に入力し
、該パイプライン処理装置により、これらを順次MC,
MSの記憶領域T1の偶数領域、即ち第2、第4、第6
、第8領域Ti(2)、T1(4)、T1(6)、T1
(8)にシフト格納する(第3図ホ参照)。
Step 8... Shift processing...Same as step 6, the storage areas T2(1), T2(2), T3(2), T3(1),
That is, COs2x, . sin2x; COs4x,. si
n4x; COs6x, . sin6x; COs8x,. s
in8x are sequentially input to the pipeline processing device PLU2, and the pipeline processing device sequentially processes them into MC,
Even-numbered areas of the storage area T1 of the MS, that is, the second, fourth, and sixth
, eighth region Ti(2), T1(4), T1(6), T1
(8) is shifted and stored (see Figure 3 E).

ステツプ9・・・ 加法演算処理・・・ステツプ7の処理と同様にMC,M
Sの記憶領域T1の第1領域T1(1)、第2領域T1
(2);第1領域T1(1)、第4領域T1(4);第
1領域T1(1)、第6領域T1(6)が順次パイプラ
イン処理装置PLU3に読出され、それぞれA2).0
3)式の演算が施されてその演算結果が逐次記憶領域T
1の第3、第5、第7領域T1(3)、T1(5)、T
1(7)に格納され第2図へに示す如くCOsθ、Si
nθ;COs2θ、Sin2θ・・・;COs7θ、S
in7θ,COs8θ、Sin8θがMC,MSの記憶
領域T1に得られることになる。
Step 9...Additional operation processing...Similar to the processing in step 7, MC, M
First area T1(1) and second area T1 of storage area T1 of S
(2); The first area T1(1), the fourth area T1(4); The first area T1(1) and the sixth area T1(6) are sequentially read out to the pipeline processing device PLU3, and A2). 0
3) The calculation of the expression is performed and the calculation result is sequentially stored in the storage area T.
1 third, fifth, and seventh regions T1(3), T1(5), T
1 (7) and as shown in Figure 2, COsθ, Si
nθ; COs2θ, Sin2θ...; COs7θ, S
in7θ, COs8θ, and sin8θ are obtained in the storage area T1 of MC and MS.

(第3図へ)以上、本発明ではCOsKθ、SinKθ
(K−1、2、・・・n)をシフトのパイプライン処理
と加法演算のパイプライン処理を実行することにより、
次次と求めることができ、極めて高速度でCOsKθ、
SinKθを得ることができる。
(Go to Figure 3) As described above, in the present invention, COsKθ, SinKθ
By executing shift pipeline processing and addition operation pipeline processing on (K-1, 2,...n),
COsKθ,
SinKθ can be obtained.

そして、COsKθ、SinKθから回転因子w及びそ
の巾を簡単に得ることができその効果は大きい。尚、上
記説明ではCOs8θ、Sin8θまで求めたが全く同
じ手法でCOsKθ、SinKθ(Kは8より大なる整
数)を得ることができる。
The twiddle factor w and its width can be easily obtained from COsKθ and SinKθ, and the effect is great. In the above explanation, up to COs8θ and Sin8θ were obtained, but COsKθ and SinKθ (K is an integer greater than 8) can be obtained using exactly the same method.

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

第1図は回転因子wを求めるアルゴリズムを説明する図
、第2図は本発明によりCOsKθ、SinKθを得る
説明図である。 MEM・・・・・・主記憶装置、MC・・・・・・余弦
記憶領域、MS・・・・・・正弦記憶領域、Tl,T2
,T3,T4・・・・・・記憶領域、PLUl・・・・
・・倍角演算装置、PLU2・・・・・・シフトのパイ
プライン処理装置、PLU3・・・・・・加法演算のパ
イプライン処理装置。
FIG. 1 is a diagram for explaining an algorithm for determining the twiddle factor w, and FIG. 2 is an explanatory diagram for obtaining COsKθ and SinKθ according to the present invention. MEM...Main memory, MC...Cosine storage area, MS...Sine storage area, Tl, T2
, T3, T4...Storage area, PLU1...
...Double angle calculation unit, PLU2...Pipeline processing device for shift, PLU3...Pipeline processing device for addition calculation.

Claims (1)

【特許請求の範囲】[Claims] 1 coSθ、sinθよりcosKθ、sinKθ(
K=2、3、…n)を演算する演算方式において演算さ
れた各角度θ、2θ、3θ…nθに対応する余弦、正弦
値を記憶する記憶手段、cosθとsinθ及び倍角の
公式に基いてcos2^m′θ、sinn2^m′θ(
m′=1、2、…m但しn=2^m)を順次演算し、こ
れを前記記憶手段に記憶せしめる演算手段、前記記憶手
段の所定アドレスから順次入力された余弦、正弦データ
を該記憶手段の別のアドレスにシフトせしめる第1のパ
イプライン処理手段、前記シフト処理後記憶手段から入
力された余弦、正弦データを用いて加法演算処理を実行
し、その演算結果を前記記憶手段に格納する第2のパイ
プライン処理手段を備え、前記記憶手段の記憶領域を{
cos2^mθ、sin2^mθ}を記憶する記憶領域
T_m_+_1;{cos2^m^−^1θ、sin2
^m^−^1θ}、{cos2mθ、sin2^mθ}
を記憶する記憶領域Tm;{cos^m^−^2θ、s
in2^m^−^2θ}、{cos2^m^−^1θ・
sin2^m^−^1θ}、{cos(2^m^−^2
+2^m^−^1)θ、sin(2^m^−^2+2^
m^−^1)θ}、{cos2^m^θ、sin2^m
θ}を記憶する記憶領域T_m_−_1;{cos2^
m^−^3θ、sin2^m^−^3θ}、{cos2
^m^−^2θ、sin2^m^−^2θ}、{cos
(2^m^−^3+2^m^−^2)θ、sin(2^
m^−^3+2^m^−^2)θ}、{cos2^m^
−^1θ、sin2^m^−^1θ}、{cos(2^
m^−^3+2^m^−^1)θ、sin(2^m^−
^3+2^m^−^1)θ}、{cos2^mθ、si
n2^mθ}を記憶する記憶域T_m_−_2:…;{
cosθ、sinθ}、{cos2θ、sin2θ}、
{cos3θ、cos4θ}…{cosnθ、sinn
θ}を記憶する記憶領域T_1に分け、前記第1のパイ
プライン処理手段は記憶領域Tiの各アドレスの内容を
記憶領域Ti+1の偶数領域に順次シフトし、前記第2
のパイプライン処理手段は記憶Tiの第1アドレスと偶
数番目のアドレスの内容を用いて順次加法演算処理を実
行し、その演算結果を逐次、Tiの奇数番目のアドレス
に書込む処理を実行し、前記演算手段によりcos2^
mθ、sin2^mθ(m=1、2、…)を演算後、T
iからT_i_+_1への前記シフト処理と加法演算処
理を交互に繰返えし実行しcosKθ、sinKθ(K
=2、3、…n )を求めることを特徴とする余弦、正
弦演算方式。
1 From coSθ, sinθ, cosKθ, sinKθ(
Storage means for storing cosine and sine values corresponding to each angle θ, 2θ, 3θ…nθ calculated in the calculation method of calculating K=2, 3,...n), based on the formula of cosθ, sinθ, and double angle. cos2^m'θ, sinn2^m'θ(
a calculation means for sequentially calculating m'=1, 2,...m where n=2^m) and storing it in the storage means, and storing the cosine and sine data sequentially inputted from a predetermined address of the storage means; A first pipeline processing means for shifting to another address of the means, performing an addition operation process using the cosine and sine data input from the storage means after the shift processing, and storing the operation result in the storage means. A second pipeline processing means is provided, and the storage area of the storage means is {
Storage area T_m_+_1 for storing cos2^mθ, sin2^mθ}; {cos2^m^-^1θ, sin2
^m^-^1θ}, {cos2mθ, sin2^mθ}
Storage area Tm; {cos^m^−^2θ,s
in2^m^-^2θ}, {cos2^m^-^1θ・
sin2^m^-^1θ}, {cos(2^m^-^2
+2^m^-^1) θ, sin(2^m^-^2+2^
m^-^1) θ}, {cos2^m^θ, sin2^m
θ} storage area T_m_-_1; {cos2^
m^-^3θ, sin2^m^-^3θ}, {cos2
^m^-^2θ, sin2^m^-^2θ}, {cos
(2^m^-^3+2^m^-^2) θ, sin(2^
m^-^3+2^m^-^2)θ}, {cos2^m^
-^1θ, sin2^m^-^1θ}, {cos(2^
m^-^3+2^m^-^1) θ, sin(2^m^-
^3+2^m^-^1)θ}, {cos2^mθ, si
Storage area T_m_-_2 for storing n2^mθ}:...;{
cosθ, sinθ}, {cos2θ, sin2θ},
{cos3θ, cos4θ}…{cosnθ, sinn
θ} into a storage area T_1 for storing θ}, the first pipeline processing means sequentially shifts the contents of each address of the storage area Ti to an even numbered area of the storage area Ti+1, and the second
The pipeline processing means sequentially performs an addition operation process using the contents of the first address and the even-numbered addresses of the memory Ti, and executes the process of sequentially writing the operation results to the odd-numbered addresses of Ti, cos2^ by the arithmetic means
After calculating mθ, sin2^mθ (m=1, 2,...), T
The shift processing and addition operation processing from i to T_i_+_1 are alternately repeated and cosKθ, sinKθ(K
A cosine and sine calculation method characterized by finding the following equations (=2, 3,...n).
JP53114346A 1978-09-18 1978-09-18 Cosine/sine calculation method Expired JPS5925253B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP53114346A JPS5925253B2 (en) 1978-09-18 1978-09-18 Cosine/sine calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP53114346A JPS5925253B2 (en) 1978-09-18 1978-09-18 Cosine/sine calculation method

Publications (2)

Publication Number Publication Date
JPS5541525A JPS5541525A (en) 1980-03-24
JPS5925253B2 true JPS5925253B2 (en) 1984-06-15

Family

ID=14635453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53114346A Expired JPS5925253B2 (en) 1978-09-18 1978-09-18 Cosine/sine calculation method

Country Status (1)

Country Link
JP (1) JPS5925253B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60137839U (en) * 1984-02-24 1985-09-12 プルトンチエン株式会社 Locking mechanism in slide rail
JPH0517446Y2 (en) * 1987-04-30 1993-05-11

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213411A (en) * 1982-06-07 1983-12-12 Ikari Kosan Kk Automatic soldering device
WO2004068365A1 (en) * 2003-01-29 2004-08-12 Fujitsu Limited Fourier transform apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60137839U (en) * 1984-02-24 1985-09-12 プルトンチエン株式会社 Locking mechanism in slide rail
JPH0517446Y2 (en) * 1987-04-30 1993-05-11

Also Published As

Publication number Publication date
JPS5541525A (en) 1980-03-24

Similar Documents

Publication Publication Date Title
Lenoir et al. Evaluation of 3-D singular and nearly singular integrals in Galerkin BEM for thin layers
Xu et al. Error analysis of the Legendre-Gauss collocation methods for the nonlinear distributed-order fractional differential equation
Stoer Curve fitting with clothoidal splines
JPS5925253B2 (en) Cosine/sine calculation method
MacGregor et al. Multivariate identification: a study of several methods
Cârstea et al. An inverse problem for the Riemannian minimal surface equation
Sun et al. Numerical stability of circular Hilbert transform and its application to signal decomposition
Kim et al. Deformation of spatial septic Pythagorean hodograph curves using Gauss–Legendre polygon
Mejjaoli et al. Localization operators associated with the Laguerre–Wigner transform
Wegmann Fast conformal mapping of multiply connected regions
Venkataramanan et al. Estimation of frequency offset using warped discrete-Fourier transform
JPS6243774A (en) Data processor
Montardini et al. Isogeometric methods for free boundary problems
Łanucha Matrix representations of truncated Toeplitz operators
Anshu et al. A lower bound on the crossing number of uniform hypergraphs
US6460062B1 (en) Discrete cosine transformation circuit
RIABOV Numerical inversion of the Laplace transform
Wegmann Constructive solution of a certain class of Riemann–Hilbert problems on multiply connected circular regions
US20230299751A1 (en) Interpolation filter device, system and method
Titus A general card-program for the evaluation of the inverse Laplace transform
US6308194B1 (en) Discrete cosine transform circuit and operation method thereof
Bucy et al. Determination of steady state behavior for periodic discrete filtering problems
Cariow et al. On the Multiplication of Biquaternions
JPS59205669A (en) Arithmetic device for fast fourier transform
JP2000122999A (en) Method and device for fast complex fourier transformation