JPH03100863A - Fft演算方式及び装置 - Google Patents

Fft演算方式及び装置

Info

Publication number
JPH03100863A
JPH03100863A JP1237029A JP23702989A JPH03100863A JP H03100863 A JPH03100863 A JP H03100863A JP 1237029 A JP1237029 A JP 1237029A JP 23702989 A JP23702989 A JP 23702989A JP H03100863 A JPH03100863 A JP H03100863A
Authority
JP
Japan
Prior art keywords
fft
small
processor
calculation
data
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
JP1237029A
Other languages
English (en)
Inventor
Hideyuki Ban
秀行 伴
Ryuichi Suzuki
隆一 鈴木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1237029A priority Critical patent/JPH03100863A/ja
Publication of JPH03100863A publication Critical patent/JPH03100863A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
(産業上の利用分野] 本発明は、高速フーリエ変換(FFT)の実現手段に関
する。
【従来の技術】
FFTの演算は、特開昭59−30168号公報に記載
のように、互いに独立した複数の小FFTと呼ばれる処
理単位に分割することにより、並列処理が可能となる。 第1図は、64点FFTを、第2図に示す2個×2段の
バタフライ演算から構成される小FFTにより分割した
ときのデータフロー図である。なお9図面を見易くする
ために、小FFT及び小FFT間を接続する線の一部を
省略した。第1図より、101から136の小FFT、
すなわち16個×3段のバタフライ演算に分割できるこ
とが分かる。ところで各車FFTにおけるバタフライ演
算の回転因子141〜144の値は、第1図上の小FF
Tの位置に応じて決定される。 第1図において、同−段の16個の小FFTl01〜1
12.113〜124あるいは125〜136は、互い
に処理が独立である。そこで、これら同−段の小FFT
を複数のプロセッサを用いて同時に処理することにより
、FFTの並列処理が可能になる。 一方、FFTの固定小数点演算器での実現上の問題であ
る。オーバフローと内部演算精度の維持を解決する方法
として、中間演算結果全体にある値を乗じ、データの実
質的な有効桁を向上させる方法がある。ここではこの処
理を正規化と呼び。 各段階で乗じた値の累積値を正規化量と呼ぶ。その例と
して、r電子通信学会論文誌58−D、9(1975年
)第578頁から585頁」で論じられているような、
オートスケーリングあるいはブロックフローティングと
呼ばれるものがある。 この正規化の手法は9個々の小FFTの演算に対しても
適用できる。しかしこの場合には9桁合わせと呼ばれる
処理が必要になる。 今、第1図における各車FFTの演算過程で正規化を行
うとき、第2及び3段の小FFTl13〜136のよう
に、入力データが前段の小FFTの演算結果である第2
段以降の小FFTでは、入力データの正規化量が互いに
異なる。これは、入力データの小数点の位置が互いに異
なることを意味する。よってこのような小FFTでは、
処理に先立ち個々の入力データにその正規化量に応じた
ある値を乗じ、小数点の位置を一致させる必要がある。 この処理を桁合わせと呼ぶ。 このように桁合わせには、入力データ以外にその正規化
量を必要とする。よって、第2段以降の小FFTの演算
を行うとき、プロセッサは、入力データ以外にその正規
化量をアクセスする必要が生じる。
【発明が解決しようとする課題】
上記従来技術では、FFTの演算を複数の小FFTに分
割して段階的に求め、各段階での小FFTの演算過程で
演算精度を維持するための正規化を1回以上行う演算方
式において9桁合わせを必要とする小FFTを処理する
プロセッサでは、入力データ以外にその正規化量を必要
とすることについての十分な配慮がなされていない。 このため、プロセッサが小FFTを処理する上で必要な
データ数が増大するため、より高速なメモリやデータ転
送回路が必要になる。あるいはメモリやデータ転送回路
の能力の制限により、プロセッサが必要とするデータを
転送できないためにオーバヘッドが発生し、並列化の効
果が十分に得られないという問題があった。 本発明の目的は、より高速化が可能なFFT演算方法を
提供することにある。 本発明の他の目的は、より高速化が可能なFFT演算装
置を提供することにある。
【課題を解決するための手段】
上記の目的を達成するために2例えば第1図の第2段の
小FFT113〜116において、各車FFTの入力デ
ータの正規化量は、これら入力データが全て同じ小FF
Tl0I〜104から得られることから、互いに等しい
ことに着目し、このような演算に必要な正規化量が等し
い小FFTの演算を、同一プロセッサで行うようにした
。 上記他の目的を達成するために、演算過程で正規化を1
回以上行う小FFTの演算が可能な複数のプロセッサと
、各プロセッサが小FFTの演算に必要となるデータを
転送するデータ転送手段とを有し、データ転送手段が、
必要な正規化量が等しい小FFTの演算に用いるデータ
を、同一のプロセッサに逐次供給することにより、当該
小FFTの演算を行うようにした。 (作用] プロセッサは、同一の正規化量を用いて複数の小FFT
の演算を行うことができるので、プロセッサが必要とす
る正規化量の数を減少できる。あるいは、1つの正規化
量は、ある1つのプロセッサしか必要としなくなるので
、正規化量をプロセッサ間で転送する回数を低減できる
。よって、高速なメモリやデータ転送回路が不要になる
。あるいはメモリやデータ転送回路の・能力の制限から
くるオーバヘッド発生の問題を低減できる。
【実施例】
以下本発明の第1の実施例について述べる。 第3図は、N点FFTを構成するバタフライ演算と分割
した小FFTとの関係の概略を示したものである。ここ
で、1はN点FFTに必要な(N/2)個×M段のバタ
フライ演算を表す。但し。 M = log、 Nである。今、小FFT2〜6の大
きさを(Q/2)個×P段のバタフライ演算であるとす
る。但し、 p=log、Qである。このときN点FF
Tは、R段×S個の小FFTに分割できる。ここで、R
=M/P且つS=N/Qである。なお。 第3図上で左上を原点とし、そこから右にr段。 下にS個の位置の小FFTを、第r段第S番目の小FF
Tと呼び、H(r、5)(r=1,2.−R;5==1
.2.・・・、S)と表すことにする。 第4図は、第3図のR段×S個の小FFTをU個のプロ
セッサで処理するときの処理手順を示すものである。ま
ずN点FFTの原始データ(N個)をビットリバース順
に並び替える処理7を行う9次にR段×S個の小FFT
の演算8,9を行う。 最後に全ての演算結果を対象にした桁合わせの処理10
を行うことにより、N点FFTを終了する。 各車FFTの演算過程でそれぞれ独立した正規化を行う
とき、第2段目以降の小FFTの演算では9桁合わせの
処理が必要になる。そこで、この桁合わせの処理でのオ
ーバヘッドを減少させるために、R段×S個の小FFT
の演算8,9のうち。 第1段(r≧2)の小FFTの演算9を第5図に示す処
理手順により行う。 第5図は、U番目のプロセッサ(以下プロセッサUと呼
ぶ:u=1.2.・・・、U)における第r段(r≧2
)の小FFTの処理手順を示すものである。まず、第r
段小FFTのうち必要な正規化量が等しい小FFTの番
号(H(r、s)のS)の導出21を行う。このような
第r段小FFTはQ個存在し、その番号を? (Sit
 82.”’j 5Q)1(i=1.2.・・・、S/
Q)と表すことにする。 ここで添字iは、このQ個の第r段小FFTに対応する
固有の値であり、各々の番号”118!I・・・fiQ
と1対1に対応する。よって添字iが異なると、その番
号$11821・・・、seは全て異なる。 次に、処理21で導出された(S工、s2.・・・、5
Q)1の中のあるSq  (q=1,2.・・・、Q)
番目の第r段小FFTH(r、S’t )の処理22を
行う。 22の処理は、 H(r、 sq )の入力データの桁
合わせを行う処理23と、(Q/2)個×P段のバタフ
ライ演算の処理24からなる。なお24の処理では、演
算過程で正規化が行われる。この22の処理は、25の
条件分岐及び26の処理する小FFTの番号の更新の処
理により、処理21で導出したQ個の番号の第r段小F
FTH(r、sl) t H(re 82) g ・・
・g H(re sQ )の処理を全て終えるまで繰り
返される。 以上21〜26の処理の終了後、27の条件分岐により
、必要な正規化量が等しいQ個の第r段小F FTH(
r、 s、) 、 H(r、 s2) 、 −、H(r
、sQ)であって、まだ処理を終えておらず且つプロセ
ッサUで処理すべきものが存在するか否かを判定する。 これは、予めプロセッサUが処理すべきQ個の小FFT
の番号(sl、s2.”’、sQ)息の添字iを決めて
おき、処理済みの添字との比較から、あるいは、まだど
のプロセッサでも処理されていないQ個の小FFTH(
r、Sl)、H(r s 9z) + ”’+ H(r
 g sQ)の存在の有無を調べることなどから可能で
ある。その結果、プロセッサUで処理すべきものが存在
する場合には。 21〜26の処理を再度繰り返す。このとき処理21は
この新たな添字iを有するQ個の第r段小FFTの番号
(51,82,・・’、5Q)t を導出する。 次に、第5図での21及び22の処理について。 詳細に説明する。 21の処理で導出される。Q個の第r段小FFTの番号
Sq  (q=1,2.・・・、Q)は9次式より導出
する。 5q=Q”−”xdiv((i  1)/Q”−”)+
mod((i −1)/ Q””) +((1−1)XQ”−”+1    (1)但しe 
l ”(S1tsl+”・tsQ)l の添字ex=L
2、・・・、(S/Q)。 div (u/v): u/vの商。 sod (u/v): u/vの余り。 第6図は、22の処理すなわちH(r、 Sq )の処
理の内容をデータフロー図で示したものである。H(r
、 sq )の処理とは、 h (0) 〜h(Q−1
)に対して9桁合わせの処理31と(Q/2)個xp段
のバタフライ演算32を行うことである。それぞれ第5
図における23の処理及び24の処理に対応する6 H(resq)の入力データh (0) 〜h (Q−
1)とN点FFTの原始データx(0)〜x(N−1)
との関係は、以下のようになる。但しN点FFTの原始
データは、既にビットリバース順に並び変えられている
ものとする。 h (k) = x (Q’Xdiv((sq −1)/ Q”−1
))+mod((s q −1)/ Q”−1))+k
XQ”−”)        (2)但し、 h (k
) :小FFTH(r、 sq )のに個目の入力デー
タ。k=0゜ 1、・・・ x(n):N点FFTのn個目の原始データ。n冨0,
1.・・・ div (u/v): u/vの商。 l1od (u/v)  : u/vの余り。 31の桁合わせの処理は、H(r、sq)の入力データ
h (k)に、それぞれの正規化量に従って、定数Dw
  (W =1 e 2 t −+ Q)を乗じること
により行われる。(1)式で導出したQ個の第r段小F
FTにおけるDlは、 H(r、 Sq )での正規化
量をE (r、 sq )とすると9次式から求められ
る。 Dw”:5in(E (r−1,s zL E (r−
1,S zL−・・E (r−1,s e))/ E 
(r−1,s−)   (3)但しg I@In (u
lIuzg”’g uv)  : uLHL12g°°
。 uvの最小値。 すなわち、Q個の小FFTの演算に必要な正規化量は、
いずれもE(r−1* 51)I E (r−1s  
sz) e −E (r−1)  SQ)  と等しく
なる。 32の(2/Q) 個xp段のバタフライ演算の処理は
、Q点FFTの演算とアルゴリズム的に全く同一である
ことから、一般に用いられているFFTの処理アルゴリ
ズムにより実現できる。但し。 各バタフライ演算で乗じる回転因子の値は、Q点FFT
の場合と異なる。 今、第6図上で第0段(u = 1 、2 、− P 
)の(Q/2)個のバタフライ演算の中で、上からVf
hIlll(v=1.2.・・・Q)のバタフライ演算
で用いる回転因子を@Wuvと表す。このW u vは
9次式より導出される。 Wuv =exp(−j(2π/ N) X c )c
−=Ilod((v −1)/ 2 (u”)) X 
Qcr−x>+mod((sq  1)/Q”−”) 
  (4)すなわち32の処理は、処理アルゴリズムと
してFFTアルゴリズムを用い2乗じる回転因子は(5
)式より導出することから実現できる。 以上のように、第r段(r≧2)の小FFTのうち、必
要な正規化量が等しいQ個の小FFTの番号SM  (
q = 1 t 21 ・・・* Q)を(1)式より
導出し、これらの番号の小FFTH(r、s工)。 H(r+  sz) e ・・・* H(r、  sQ
)  を同一プロセッサで処理する。すると、同一プロ
セッサで処理するこれら小FFTの演算に必要な正規化
量が等しくなるので、プロセッサに転送する正規化量の
数を削減できる。あるいはこれらの正規化量は。 同一プロセッサで処理する小FFTと1対1に対応する
ことから、1つの正規化量は、ある1つのプロセッサし
か必要としなくなり、正規化量をプロセッサ間で転送す
る回数を低減できる。よって。 高速なメモリやデータ転送回路が不要になる。あるいは
メモリやデータ転送回路の能力の制限からくるオーバヘ
ッド発生の問題を低減できることから、より高速なFF
Tの演算が可能になる。 以下本発明の第2の実施例について述べる。 第7図は、第2の実施例の構成図である。第7図におい
て、60はデータ転送ユニット、41〜43はプロセッ
サである。データ転送ユニットは。 共有メモリ40とバス44から構成される。共有メモリ
上には、少なくともFFTの原始データ。 中間演算結果、最終演算結果を格納する領域45と、こ
れらデータの正規化量を格納する領域46とを有する。 そしてプロセッサが必要とするデータを、共有メモリか
らバスを介して転送する。 各プロセッサは9局所メモリ47とデータ処理部48.
アドレス発生部49.制御部50から構成される。そし
て、制御部からの指示により、アドレス発生部及びデー
タ処理部が有機的に働き。 共有メモリ上あるいは局所メモリ上のデータに対する処
理を行う。 ところで、共有メモリと各プロセッサ間のデータ転送は
単一のバスにより行うため、複数のプロセッサが同時に
共有メモリをアクセスすると、バス上でデータの衝突が
生じる。この問題は、各プロセッサの制御部により各々
のプロセッサが共有メモリをアクセスするタイミングを
互いに少しずつずらす、あるいはバスアービタを用いる
などの工夫により解決しているものとする。このような
FFT演算装置は2例えば市販されている乗算器やメモ
リなどを組み合わせて、あるいはDSP(ディジタル 
シグナル プロセッサ: pigitalSignal
 Processor)を用いることなどにより実現で
きる。 本実施例によるN点FFTの演算は、先の第1の実施例
で述べたFFT演算方法に基づいて行う。 以下2本実施例によりN点FFTを処理するときのデー
タの流れ及び各部の動作について、第4図及び第5図に
従って述べる。なお、処理開始時点において、FFTの
原始データ(N個)は、既に共有メモリ上に格納されて
いるものとする。 まず、第4図の7の処理を行う。これは2例えば各プロ
セッサが共有メモリ上のN個のFFT原Aとそのビット
リバース位置である範囲Bの原始データをそれぞれ局所
メモリ上に転送する。そして、帰所メモリ上の範囲Aの
データをそのビットリバース位置である共有メモリ上の
範囲Bに9局所メモリ上の範囲Bのデータをそのビット
リバース位置である共有メモリ上の範MAにそれぞれ転
送することにより実現する。 第2に、第4図の8の処理を行う。これは、各プロセッ
サが共有メモリ上のN個のFFT原始データのうち、プ
ロセッサ毎に異なる小FFTの入力データ(Q個)を局
所メモリ上に転送した後。 データ処理部でこの局所メモリ上の入力データに対して
、演算過程で正規化を1回以上行う小FFTの演算を行
い、その結果得られた演算結果(Q個)と正規化量(1
個)を、アドレス発生部を用いて再び共有メモリ上に転
送することにより実現する。演算結果は小FFTの入力
データが格納されていた同一アドレスに、正規化量は処
理した小FFTの番号に対応したアドレスに格゛納され
る。 第3に、第4図の9の処理、すなわち第5図の処理を行
う。なお、第2段以降の小FFTの処理において、各プ
ロセッサで処理すべきQ個の小FFTの番号(sxe 
sz+”’t 1iQ)1の添字iは、予め次のように
決定しておくものとする。すなわち。 プロセッサUで処理すべきQ個の小FFTの番号(51
1521”’psQ)、の添字iは。 u、u+U、u+2U、−、u+zU 但し、z:=div(S/ (QXU))+div(m
ad(S / (Q X U) )/ u )−1とす
る。そしてこれらの値は、プロセッサUに格納しておく
ものとする。 第5図の21の処理は、データ処理部において。 予め与えられているプロセッサUで処理すべきQ個の小
FFTの番号(Sats2*”’+SQ)+の添字iよ
り、この(Szs Sat”’t SQI を(1)式
を用いて導出することにより実現できる。 第5図の23の処理は、以下の手順で行うことができる
。 手順1: 21の処理で得られた小FFTの番号(S□
、s2.・・・、l!Q)lから2桁合わせ、すなわち
(3)式を計算するのに必要なQ個の正規化量(E (
r−1,sz ) s E (r−1゜st) l ・
E (r−1,sQ) )を、共有メモリ上から局所メ
モリ上に転送する。 手順2:   (3)式より2桁合わせに必要な定数り
、(w=1.2.−、Q)をデータ処理部で求め、その
結果を局所メモリ上のE(r−1,s、)  の格納位
置に書き込む。 手順3 :  H(re sq )のQ個の入力データ
を、共有メモリ上から局所メモリ上に転送する。このと
き共有メモリ上の入力データのアドレスは、(2)式を
用いて導出する。 手順4: 局所メモリ上のH(r、 Sq )の入力デ
ータに、データ処理部を用いて手順2で求めた定数り、
を乗じ、その結果を局所メモリ上の同一アドレスに書き
込む。 また第5図の24の処理は、引き続き以下の手順により
行う。 手順5: 手順4で求めた局所メモリ上の桁合わせを終
えたH (re Sq )の入力データに対し、データ
処理部を用いて(2/Q)個×P段のバタフライ演算を
行い、その結果を局所メモリ上の同一アドレスに書き込
む。例えば、処理アルゴリズムとしてIn−Place
型のFFTアルゴリズムを用いる。但し。 (5)式から決定される回転因子を用いるものとする。 手順6: 手順5の結果、得られたH(r、Sq)の演
算結果(Q個)と正規化量(1個)を共有メモリ上に転
送する。演算結果はH(r。 Sq)の入力データが格納されていた同一アドレスに、
正規化量は処理した小FFTの番号sqに対応したアド
レスに格納される。 ここで9手順5においてH(r、sq)の第1段のバタ
フライ演算の入力データを対象に正規化を行う場合、正
規化に必要な各入力データに対する乗算と手順4におけ
る定数Dwの乗算を同時に行うことができる。 第5図の25に条件分岐及び26の処理は、23及び2
4の処理をQ回繰り返すためのものであって、制御部で
のハードウェア的あるいはソフトウェア的なカウンタに
より実現できる。また、Q回繰り返される23の処理の
うち、前記手順1゜手順2については最初の1回だけ実
行するだけでよい。 第5図の27の条件分岐は、予め与えられているプロセ
ッサUで処理すべきQ個の小FFTの番号(”1982
9・・・、5Q)1の添字iと、処理を終えた添字と比
較することにより実現する。 第4に、第4図の10の処理を行う。これは。 最終段(第n段)の8個の小FFTで異なった正規化が
行われ、演算結果の正規化量が小FFT毎に異なるため
に行う6まず、8個の小FFTの正規化量の中から、最
小のものを導出する。これは。 あるプロセッサが全正規化量をサーチすることで可能で
ある。次に各車FFTの演算結果にある一定値を乗じる
。この一定値とは、求めた最小の正規化量を演算結果の
正規化量で除した数である。 これは、各プロセッサが互いに異なる小FFTの演算結
果に対し、上記一定値を乗じることで可能である。 以上のように、第7図に示す構成を用い、且つ必要な正
規化量が等しい小FFTの演算に用いるデータを、同一
のプロセッサに逐次転送して、当該小FFTの演算を行
うことにより、N点FFTを行う。すると、プロセッサ
が必要とする正規化量の数が減少する。よって、共有メ
モリ上の正規化量のアクセス頻度が減少でき、メモリや
データ転送回路の能力の制限からくるオーバヘッドの発
生を低減できる。すなわち、より高速なFFT演算装置
を実現できる。 以下本発明の第3の実施例について述べる。 第8図は、第3の実施例の構成図である。第8図におい
て、70はデータ転送ユニット、71〜73はプロセッ
サである。データ転送ユニットは。 バス74から構成される。プロセッサが必要とするデー
タは、複数のプロセッサからバスを介して転送する。 各プロセッサは9局所メモリ47とデータ処理部48.
アドレス発生部49.制御部50から構成される。そし
て、制御部からの指示により、アドレス発生部及びデー
タ処理部が有機的に働き。 局所メモリ上のデータに対する処理を行う。 本実施例では、各プロセッサの局所メモリ上に。 少なくともFFTの原始データ、中間演算結果。 最終演算結果を格納する領域81と、これらデータの正
規化量を格納する領域82とを有し、これらのデータを
複数のプロセッサに分散して記憶する。 本実施例によるN点FFTの演算は、前記第2の実施例
の場合と同様の手順により実現できる。 但し本実施例では、各プロセッサが処理を行う上で必要
なデータの授受は、データ転送ユニットのバスを介して
、複数の局所メモリを直接アクセスすることにより行う
、すなわち、プロセッサにおける小FFTの演算は、以
下に示すような方法により行う。 方法1゜ 複数のプロセッサの局所“メモリ上にある。予め定5e
れた正規化量を・当該ブト9″′局所8モリに転送した
後、複数のプロセッサの局所メモリ上にある。当該正規
化量を有する小FFTの入力データを、当該プロセッサ
に逐次転送し、前回に、当該プロセッサで行った小FF
Tの演算結果とその正規化量とが参照されたことを検出
した後に、当該小FFTの演算を行い、得られた演算結
果とその正規化量を、当該プロセッサの局所メモリに格
納することをにより行う。ここで各プロセッサは、入力
データとその正規化量の読み出しに対して主導権を有す
る。 方法2゜ 当該プロセッサの局所メモリに、予め定められた正規化
量と当該正規化量を有する小FFTの入力データとが格
納されたことを検出し、当該プロセッサがその局所メモ
リの正規化量と入力データを逐次読み出すことにより、
当該小FFTの演算を行い、得られた演算結果とその正
規化量を、当該演算結果を用いて演算を行うプロセッサ
の局所メモリに転送することにより行う。ここで各プロ
セッサは、演算結果をその正規化量の格納に対して主導
権を有する。 なお、処理開始時点において、FFTの原始データ(N
個)は、既に共有メモリ上に分散して格納されているも
のとする。また、前記第2の実施例の場合と同じように
、小FFTの演算に必要な正規化量は、必要な正規化量
が同じである複数の小FFTの演算当り、1回転送する
だけでよい。 本実施例では、少なくともFFTの原始データ。 中間演算結果、最終演算結果を格納する領域と。 これらデータの正規化量を格納する領域とを、共に各プ
ロセッサの局所メモリ上に分散配置したが。 少なくともFFTの原始データ、中間演算結果。 最終演算結果を格納する領域のみ、あるいは正規化量を
格納する領域のみを9分散配置することも可能である。 以上のように、第8図に示す構成を用い、且つ必要な正
規化量が等しい小FFTの演算に用いるデータを、同一
のプロセッサに逐次転送して、当該小FFTの演算を行
うことにより、N点FFTを行う。すると、1つの正規
化量は、ある1つのプロセッサしか必要としなくなるの
で、正規化量をプロセッサ間で転送する回数を低減でき
る。よって、メモリやデータ転送回路の能力の制限から
くるオーバヘッドの発生を低減でき、より高速なFFT
演算装置を実現できる。
【発明の効果】
本発明によれば、小FFTの入力データの数をQ個とす
ると、プロセッサは、各段階で同一の正規化量を用いて
Q個の小FFTの演算を行うことができるので、プロセ
ッサが必要とする正規化量の数を1/Qに削減できる。 あるいは、1つの正規化量は、ある1つのプロセッサし
か必要としなくなるので、正規化量をプロセッサ間で転
送する回数を1/Qに低減できる。よって、高速なメモ
リやデータ転送回路が不要になる。あるいはメモリやデ
ータ転送回路の能力の制限からくるオーバヘッド発生の
問題を低減できる。すなわち、より高速なFFTの演算
が可能になる。
【図面の簡単な説明】
第1図は64点FFTを小FFTに分割して処理すると
きのデータフロー図、第2図は小FFTのデータフロー
図、第3図はN点FFTと分割した小FFTの関係の概
略を示す図、第4図は本′発明の一実施例であるN点F
FTの処理手順を示すフローチャート、第5図は本発明
の一実施例であるU番目のプロセッサによる第r段小F
FTの処理手順を示すフローチャート、第6図は小FF
Tのデータフロー図、第7図は本発明の一実施例を示す
構成図、第8図は本発明の一実施例を示す構成図である
。 符号の説明 101〜136・・・小FFT、8・・・第1段小FF
Tの演算、9・・・第r段小FFTの演算、21・・・
必要な正規化量が等しい第r段小FFTの番号(Sl。 s2.、”’  5Q)tの導出、22=−H(r、S
q )の処理、23・・・H(r、sq)の入力データ
の桁合わせ、24・・・H(r、s噌)を構成するQ/
2個×P段のバタフライ演算の処理、60.70・・・
データ転送ユニット、41,42,43.71,7゛2
,73・・・プロセッサ、40・・・共有メモリ、44
゜74・・・バス、47・・・局所メモリ4図 晃2図 )のイP!−嘘バタ2〉イ渭1邊[艮し4■VC功遍。 第S図

Claims (1)

  1. 【特許請求の範囲】 1、FFTの演算を複数の小FFTに分割して段階的に
    求め、各段階での小FFTの演算過程で演算精度を維持
    するための正規化を1回以上行う演算方式において、入
    力データの正規化量が等しい小FFTの演算を、同一プ
    ロセッサで行うことを特徴とするFFT演算方式。 2、FFTの一部分である小FFTの演算が可能で、且
    つ演算過程で演算精度を維持するための正規化を1回以
    上行うことが可能な複数のプロセッサと、当該各プロセ
    ッサと接続され、演算に必要なデータの授受が可能なデ
    ータ転送手段とを有することを特徴とするFFT演算装
    置。 3、各プロセッサは、必要な正規化量が等しい小FFT
    の入力データとその正規化量を、データ転送手段を介し
    て獲得した後、当該小FFTの演算を逐次行い、得られ
    た演算結果とその正規化量を、データ転送手段を介して
    転送することを特徴とする請求項2記載のFFT演算装
    置。 4、プロセッサは、少なくともデータ転送手段とデータ
    の授受が可能な局所メモリと、当該局所メモリのデータ
    に対して、演算過程で正規化を1回以上行う小FFTの
    演算が可能なデータ処理手段とを有することを特徴とす
    る上記第3項記載のFFT演算装置。 5、データ転送手段は、少なくともFFTの原始データ
    、中間演算結果、最終演算結果と正規化量とを格納可能
    な共有メモリと、当該共有メモリと各プロセッサとの間
    でデータの授受が可能な手段とを有することを特徴とす
    る上記第4項記載のFFT演算装置。 6、予め定められた正規化量を、共有メモリから適当な
    プロセッサの局所メモリに転送した後、当該正規化量を
    有する小FFTの入力データを、共有メモリから当該プ
    ロセッサに逐次転送することにより、当該小FFTの演
    算を行い、得られた演算結果とその正規化量を、当該プ
    ロセッサから共有メモリに転送することを特徴とする上
    記第5項記載のFFT演算装置。 7、データ転送手段は、少なくともプロセッサ相互間で
    データの授受が可能な手段を有することを特徴とする請
    求項4記載のFFT演算装置。 8、各プロセッサの局所メモリ上には、少なくともFF
    Tの原始データ、中間演算結果、最終演算結果と正規化
    量とを分散して格納し、他のプロセッサ上のデータのア
    クセスは、データ転送手段を介して行うことを特徴とす
    る上記第7項記載のFFT装置。 9、複数のプロセッサの局所メモリ上にある、予め定め
    られた正規化量を、適当なプロセッサの局所メモリに転
    送した後、複数のプロセッサの局所メモリ上にある、当
    該正規化量を有する小FFTの入力データを、当該プロ
    セッサに逐次転送し、前回に、当該プロセッサで行った
    小FFTの演算結果とその正規化量とが参照されたこと
    を検出した後に、当該小FFTの演算を行い、得られた
    演算結果とその正規化量を、当該プロセッサの局所メモ
    リに格納することを特徴とする上記第8項記載のFFT
    演算装置。 10、個々のプロセッサの局所メモリに、予め定められ
    た正規化量と当該正規化量を有する小FFTの入力デー
    タとが格納されたことを検出し、各プロセッサがその局
    所メモリの正規化量と入力データを逐次読み出すことに
    より、当該小FFTの演算を行い、得られた演算結果と
    その正規化量を、当該演算結果を用いて演算を行うプロ
    セッサの局所メモリに転送することを特徴とする上記第
    8項記載のFFT演算装置。
JP1237029A 1989-09-14 1989-09-14 Fft演算方式及び装置 Pending JPH03100863A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1237029A JPH03100863A (ja) 1989-09-14 1989-09-14 Fft演算方式及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1237029A JPH03100863A (ja) 1989-09-14 1989-09-14 Fft演算方式及び装置

Publications (1)

Publication Number Publication Date
JPH03100863A true JPH03100863A (ja) 1991-04-25

Family

ID=17009339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1237029A Pending JPH03100863A (ja) 1989-09-14 1989-09-14 Fft演算方式及び装置

Country Status (1)

Country Link
JP (1) JPH03100863A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533873A (ja) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド 高速フーリエ変換トゥイドル乗算
US8229014B2 (en) 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533873A (ja) * 2005-03-11 2008-08-21 クゥアルコム・インコーポレイテッド 高速フーリエ変換トゥイドル乗算
US8229014B2 (en) 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system
US8266196B2 (en) 2005-03-11 2012-09-11 Qualcomm Incorporated Fast Fourier transform twiddle multiplication

Similar Documents

Publication Publication Date Title
Burrus et al. An in-place, in-order prime factor FFT algorithm
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
Silverman An introduction to programming the Winograd Fourier transform algorithm (WFTA)
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
US4150434A (en) Matrix arithmetic apparatus
CN117633418A (zh) 基于矩阵运算的多维快速傅立叶变换加速方法
CN108897716A (zh) 通过存储器读写操作来缩减计算量的数据处理装置及方法
CN103034621B (zh) 基2×k并行fft架构的地址映射方法及系统
US3584781A (en) Fft method and apparatus for real valued inputs
JPH036546B2 (ja)
US6704834B1 (en) Memory with vectorial access
US7870177B2 (en) Method and system for multi-processor FFT/IFFT with minimum inter-processor data communication
US6728742B1 (en) Data storage patterns for fast fourier transforms
JPH03100863A (ja) Fft演算方式及び装置
US7847349B2 (en) Single-cycle FFT butterfly calculator
CN119356733B (zh) 执行fft的方法、处理器和计算设备
US6023719A (en) Signal processor and method for fast Fourier transformation
JP3709291B2 (ja) 高速複素フーリエ変換方法及び装置
CN114510217A (zh) 处理数据的方法、装置和设备
US6438568B1 (en) Method and apparatus for optimizing conversion of input data to output data
US6772183B1 (en) Device for converting input data to output data using plural converters
CN118796132B (zh) 一种数论变换加速方法、装置、介质及芯片
JP3278441B2 (ja) ベクトル処理装置
JP3872724B2 (ja) 高速フーリエ変換のための回転因子表およびそれを用いた高速フーリエ変換装置
JP2605792B2 (ja) 演算処理装置