JPH0228187B2 - Kosokufuuriehenkannoenzansochi - Google Patents

Kosokufuuriehenkannoenzansochi

Info

Publication number
JPH0228187B2
JPH0228187B2 JP58078823A JP7882383A JPH0228187B2 JP H0228187 B2 JPH0228187 B2 JP H0228187B2 JP 58078823 A JP58078823 A JP 58078823A JP 7882383 A JP7882383 A JP 7882383A JP H0228187 B2 JPH0228187 B2 JP H0228187B2
Authority
JP
Japan
Prior art keywords
data
value
phase rotation
calculation
real part
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
JP58078823A
Other languages
English (en)
Other versions
JPS59205669A (ja
Inventor
Yoshiaki Tanaka
Mamoru Inami
Yoshiki Ootsuki
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan 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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP58078823A priority Critical patent/JPH0228187B2/ja
Priority to GB08411261A priority patent/GB2140600B/en
Priority to DE19843416536 priority patent/DE3416536A1/de
Priority to FR8407007A priority patent/FR2545629B1/fr
Publication of JPS59205669A publication Critical patent/JPS59205669A/ja
Publication of JPH0228187B2 publication Critical patent/JPH0228187B2/ja
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
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

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

Description

【発明の詳細な説明】
産業上の利用分野 本発明は高速フーリエ変換の演算装置に係り、
高速フーリエ変換(FFT)の演算を高速で行な
う演算装置に関する。 従来技術 周知のように、アナログ信号波形の周波数スペ
クトルは、このアナログ信号波形をフーリエ変換
することによつて求められるから、このようなフ
ーリエ変換並びにその逆変換を電子計算機により
行なうことにより、アナログ信号の周波数分析等
ができ、またフーリエ変換出力にフイルタの伝達
関数を乗算し、それをフーリエ逆変換することに
より信号の波もできることが従来より知られて
いた。しかし、電子計算機を用いても上記のフー
リエ変換等に長時間の演算時間を必要とすること
が少なくなかつたが、1965年にクーリー
(Cooley)とチユーキー(Tukey)によつて発表
された高速フーリエ変換(FFT:フアースト・
フーリエ・トランスフオーム)により大幅な演算
時間の短縮化ができることが示されて以来、この
FFTは現在では音声信号等の周波数分析、認識、
合成や、デイジタルフイルタ、画像データ処理、
医療用断層写真、光計測などの多数の技術分野に
亘つて使用されていることは周知の通りである。 FFTに関しては多くの文献(例えば、E.O.
BRIGHAM著、宮川、今井共訳「高速フーリエ
変換」、科学技術出版社、’74、166頁〜182頁)
に記載されており、公知であるのでその詳細な説
明は省略するが、その原理は離散的フーリエ変換
(DET:デイスクリート・フーリエ・トランスフ
オーム)とその逆変換(IDFT:インバース・デ
イスクリート・フーリエ・トランスフオーム)定
義する次式 DFT:XkN-1p=0 xp・Wpk (1) IDFT:xp=1/NN-1k=0 Xk・W-pk (2) ここで W=exp{(−j2π)/N} (3) の計算で、同じ乗算を何回も繰り返すことがない
ように、長い数列のDFTを少数個毎に分割して
何回にも分けて行なうことにより、乗算回数を減
らして演算時間を短縮したアルゴリズムである。
なお、(1)式及び(2)式中、xpは時間関数のサンプ
ル値系列で、Xkは周波数スペクトルのサンプル
値系列で、またp及びkは夫々OからN―1まで
の範囲の正の整数を示す。また(1)〜(3)式中、pk
をsとおくと、Wpkは Wpk=Ws cos{(2πs)/N} −j sin{(2πs)/N} (4) で示される。このWsは位相回転因子と呼ばれる
変数である。 (1)式を直接的に計算する場合はWは複素数であ
るし、xpも複素数であつてもよいので、N2回の
複素数の乗算と、N(N−1)回の複素数の加算
とを必要とするのに対しFFTによれば入力デー
タ列のデータ数Nの半数であるN/2と、ステー
ジ数(計算例の列数)であるlog2Nとの積で表わ
される乗算回数と、その2倍の複素数の加算を要
する。従つて、演算時間が乗算回数に比例すると
仮定すると、FFTは上記直接的な計算方法に比
し大幅に演算時間を短縮することができる。 発明が解決しようとする問題点 しかるに、上記のFFTにより演算時間が大幅
に短縮されたといつても、実際にFFTの演算結
果に基づいて得られたデータによる画像をデイス
プレイ装置に表示するにあたり、視覚的に実時間
であると見倣せるほど演算時間を速くすることは
困難であるという問題点があつた。 そこで、本発明は位相回転因子を乗算する必要
のない2つのタイプと乗算する必要のある2つの
タイプとに分類し、かつ、それらの位相回転因子
の周期的出現に着目して次々の位相回転因子を予
測して、効率良くバタフライ演算することによ
り、乗算回数を従来のFFT演算装置よりも減少
し得、もつて視覚的に実時間であると見倣せるほ
どに演算時間を短縮し得る高速フーリエ変換の演
算装置を提供することを目的とする。 問題点を解決するための手段 本発明は、入力データに対し位相回転因子を用
いたバタフライ演算を順次行なつて高速フーリエ
変換されたデータ列を得る演算装置であつて、入
力データ列をバタフライ演算されるべき上記位相
回転因子の値に応じて振分けて出力する第1の切
換出力手段と、上記位相回転因子の値が1、−j
であるときに該位相回転因子とバタフライ演算さ
れるべきデータが該第1の切換出力手段より印加
される第1、第2の演算ユニツトと、実数部の絶
対値と虚数部の絶対値とが夫々等しい値の位相回
転因子とバタフライ演算されるべきデータが該第
1の切換出力手段より印加される第3の演算ユニ
ツトと、上記値以外の値の位相回転因子とバタフ
ライ演算されるべきデータが該第1の切換出力手
段より印加される第4の演算ユニツトと、予め記
憶されている乗算係数を定められた順序で該第4
の演算ユニツトに印加する手段と、該第1乃至第
4の演算ユニツトの出力データを一定の順序で、
かつ、実数部と虚数部とに夫々分けて出力する第
2の切換出力手段とより構成したものであり、以
下その一実施例について図面と共に説明する。 実施例 本発明はFFTの信号流れ図上の変数である位
相回転因子Wsを乗算する必要のない2つのタイ
プ(タイプ、タイプ)と、乗算する必要のあ
る2つのタイプ、タイプ)に分類し、かつ、
それらのタイプの周期的出現に着目して効率良く
バタフライ演算するよう構成したものであり、ま
ずその原理について説明する。 FFTアルゴリズムに必要な計算は、第1図に
示す如き信号流れ図により簡潔に表現することが
できる。第1図は前記(1)式の時間関数のサンプル
値系列xpのデータNが「8」の場合の信号流れ
図で、xo〜x7よりなるデータ列は左端の節点列
で示され、2番目、3番目及び4番目の節点列は
計算列と呼ばれるが、ここではステージ1、ステ
ージ2及びステージ3ともいうものとする。信号
流れ図における計算列(ステージ)の各節点に
は、前の節点から伝達路を表わす2本の実線が入
る。伝達路は一つ前の列の節点から出力される数
値に位相回転因子Wsを掛けて、その結果を次の
列の節点に伝達する。すなわち、第1図に示す各
節点のうち相隣る4つの節点についてみると、第
2図に示す如く、2つの節点の1対の入力データ
A及びBは、次の節点にデータC,Dとして伝達
されるが、この場合、出力データCはA+BWs
の演算結果によるデータであり、出力データDは
A−BWsの演算結果によるデータであり、これ
らの基本演算をバタフライ演算と呼ぶことは周知
の通りである。バタフライ演算はステージ1→ス
テージ2→ステージ3の順序で行なわれる。 上記のバタフライ演算の回数は入力データの半
数であるN/2とステージ数(計算列数)である
log2Nとの積であり、第1図の例ではN=8であ
るから12回である。ここで、第1図からわかるよ
うに、どのステージにも、前のステージの同じ1
対の節点から出た伝達路が入る二つの節点があり
(この二つの節点を双対節点対という)、ステージ
lにおける双対節点対間の間隔はN/2lである。
一般に、一つの節点における位相回転因子と、そ
の双対節点における位相回転因子とは夫々絶対値
が同じで、符号が異なるだけであるから、双対節
点対の値を計算するために必要な複素数の乗算は
1回で良いことが知られている。 また一つの節点において、1つ前の列の節点の
データに乗算する位相回転因子Wsのsの値は、
データxo〜x7の添字「0」〜「7」を引数と呼
ぶものとすると、各列の節点は引数で表わされ、
引数の最大値を表わせる最小のビツト数rの2進
数で各引数を表わし、この2進数をrからステー
ジ数lだけ差し引いた値だけ右へビツトシフト
し、左側のr―lビツトに「0」を補い、更にそ
の2進数のビツト順序を逆転することにより得ら
れる。このように、sの値を求めるためには、引
数を示すrビツトの2進数右へr−lビツトずら
す必要があるが、演算処理においてこれを実行す
るためには、引数(これをnとする)を2r-lで除
したときの整数部(これをpで表わすものとす
る)に対し、ビツト順序逆転を行なわねばならな
いことが知られている。従つて、第1図の例で
は、sの値は「0」,「2」,「1」,「3」のいずれ
かとなる。 以上より、上記の引数、ステージ数及び整数部
Pの各値の関係は第1図の場合を例にとると、第
3図に示す如き図表で表わすことができる。第3
図において、X印は前記した双対節点対を構成す
る2つの節点のうち、乗算が不要な他方の節点を
示す。またステージ数と引数とによつて表わされ
る値は、前記整数部Pの値を示し、例えばステー
ジ数が「1」で、引数が「0」〜「3」の各場合
の整数部Pは、lが1、rが3、nが0〜3であ
るから、「0」となる。また、ステージ数が2で、
引数が「4」又は「5」のいずれかである場合の
整数部Pは、lが2、rが3、nが4又は5であ
るから、「2」となる。 また、上記整数部Pの値と、位相回転因子Ws
における角度θ(ただし、θは(4)式中の2πs/N)
との関係は、第4図に示す如くになる。第1図の
場合、整数部Pは第3図からもわかるように、
「0」,「2」,「4」,「6」のいずれかとなるが、
Pが「0」のときにはθは0゜であり、「2」のと
きはθ2(=90゜)、「4」のときはθ4(=45゜)、「
6」
ときはθ6(=135゜)となる。 また一例として入力データ列のデータ数が256
(=28)の場合の引数256、ステージ数8(=
log2256)、及び整数部Pの各値の関係は、第3図
に示す方法と同様の方法で図示すると、第5図に
示す如くになる。この場合は、整数部Pの値は上
記「0」,「2」,「4」,「6」の他に、「8」以上
で「254」以下の偶数をとる。また、整数部Pが
「8」,「10」,「12」,「14」である場合の前記角度
θは、第4図に8,10,12、及び14で示す実線と
0で示す実線とがなす角度で表わされる。 ところで、前記第2図に示した入力データA,
Bを夫々 A=AR+jAI B=BR+jBI (5) で表わすものとすると、(4)式及び(5)式から C=A+BWs =(AR+BR・cosθ+BIsinθ) +j(AI+BIcosθ−BRsinθ) =AR+TR+j(AI+TI) (6) D=A−Bs =AR−TR+j(AI−TI) (7) となる。(6)式からわかるように、TRを求めるた
めには2回の乗算が必要であり、TIを求めるた
めにはやはり2回の乗算が必要であり、結局、C
を求める場合には計4回の乗算が必要となる(D
も同様)。なお、TR,TIはCを求めた時にメモリ
に記憶しておくことにより、Dを求めるときに再
度計算することなく使用することができる。 しかして、第4図からわかるように、整数部P
の値が「0」のときは、θが0°であり、cos=1,
sinθ=0であるから、(4)式からWsは「1」とな
り、よつて(6)及び(7)式からC=A+B、D=A−
Bとなり、C及びDは加減算のみのバタフライ演
算によつて生成することができる。しかも、ステ
ージ1でのバタフライ演算においては、入力デー
タは実数部のみで虚数部は0であるから、整数部
Pの値が「0」のときは(5)式中AI=BI=0であ
るから、CはAR+BRとなり、かつ、DはAR−BR
となり、実数部のみの演算によつて出力データも
実数部のみとなる。これにより、整数部Pが
「0」である場合は、ステージ2以降においても
バタフライ演算されるべき入力データと位相回転
因子とは夫々共に実数部のみからなるため、虚数
部の演算は不要となる。また、整数部Pの値が
「2」のときは、θが90゜であるからWsは−jと
なり、この場合は出力データには実数部と虚数部
とが存在するが、C及びDは加減算のみによつて
生成することができる。 また、整数部Pの値が「4」又は「6」のとき
は、第4図からわかるように、θが45゜,135゜で
あるから、いずれの場合も となるから、Ws
【式】又は
【式】となる。従つて、Ws
【式】のとき(θ=45゜のとき)には、 (4)式及び(6)式から となる。よつてCを求めるには、
【式】と
【式】とを 夫々算出するために計2回の乗算が必要となる
(Dも同様)。これはθ=135゜の場合も同様であ
る。しかし、この場合は従来の(6),(7)式に示す計
4回の乗算回数に比し、半分の乗算回数で済むこ
とがわかる。更に、整数部Pの値が「8」以上の
ときは、(6)式及び(7)式に基づいて計4回の乗算を
伴うバタフライ演算が行なわれる。 そこで、本発明は、整数部Pが「0」であるタ
イプの場合と、Pが「2」であるタイプの場
合はWsを乗算する必要がなく、Pが「4」又は
「6」であるタイプの場合は乗算は必要である
が乗算回数を従来に比し半減でき、更にPが
「8」以上の値であるタイプの場合は従来と同
様に4回の乗算が必要であることに鑑み、タイプ
ととをタイプととは区別し、所定の演算
ユニツトを構成してそれらの所要の加減算のみを
行ない、タイプ,の場合も夫々所定の演算ユ
ニツトを構成して所要のバタフライ演算を行なう
ことにより、従来のFFTの乗算回数に比し少な
い乗算回数でバタフライ演算をするようにした点
に特徴を有する。 第6図は上記の原理に基づいて構成した本発明
装置の一実施例のブロツク系統図を示す。同図に
おいて、図示を省略したメモリには、N個の入力
データの夫々の実数部が記憶されており、この記
憶されている実数部データが順次に入力端子1,
3を介してマルチプレクサ5に印加される。い
ま、N=8の場合を例にとると、メモリから読み
出されたデータxoの実数部が入力端子1に入来
し、データx4の実数部が入力端子3に入来する。
マルチプレクサ5は第3図からもわかるようにス
テージ1では整数部Pが「0」であるバタフライ
演算を行なうことが予め判つているので、コント
ロール部11の出力によつて上記の入力データを
夫々演算ユニツト6に選択出力する。演算ユニツ
ト6は第7図Aに示す如き構成とされており、入
力端子1の入力実数部データARと、入力端子3
の入力実数部データBRとを夫々加算する加算器
20と、減算する減算器21とからなり、出力端
子22に出力データCの実数部データCRを出力
し、出力端子23に出力データDの実数部データ
DRを出力する構成とされている。この演算ユニ
ツト6により整数部Pが「0」であるときのバタ
フライ演算が行なわれる。 演算ユニツト6より取り出された2つの実数部
データは、コントロール部11の出力によつて制
御されるマルチプレクサ13により、出力端子1
4,16へ夫々選択出力される。出力端子14に
は上記実数部データCRが取り出されて、このデ
ータCRは図示を省略した前記メモリのデータxo
の実数部が記憶されていた第1のアドレスに書き
込まれる。また出力端子16には上記実数部デー
タDRが取り出され、このデータDRは上記メモリ
のデータx4の実数部が記憶されていた第5のアド
レスに書き込まれる。 次に上記メモリに記憶されていたデータx1の実
数部データと、データx5の実数部データとが夫々
読み出され、入力端子1,3、マルチプレクサ5
を通して演算ユニツト6に供給され、ここで前記
したバタフライ演算が行なわれた後マルチプレク
サ13を通して出力端子14,16へ出力され
る。出力端子14より取り出された実数部データ
CRはメモリの上記データx1の実数部がそれまで
記憶されていた第2のアドレスに書き込まれ、か
つ、出力端子16により取り出された実数部デー
タDRはメモリの上記データx5の実数部が記憶さ
れていた第6のアドレスに書き込まれる。以下上
記と同様の動作がデータx2とx6,x3とx7との間で
順次に行なわれてステージ1のバタフライ演算が
終了し、メモリの第3、第4、第7及び第8のア
ドレスにそれらの演算の結果である実数部データ
が書き込まれる。 次に上記のメモリの第1のアドレスと第3のア
ドレスに記憶された実数部データが夫々読み出さ
れて、第6図に示す入力端子1,3を介してマル
チプレクサ5に供給される。ここで、第1図及び
第3図からもわかるように、ステージ2では引数
0と2、1と3の両データについて整数部Pが
「0」であるバタフライ演算がまず行なわれ、次
に引数4と6、5と7の各データ間で整数部Pが
「2」であるバタフライ演算が行なわれることが
予め判つているので、コントロール部11は入力
端子1,3に上記の実数部データが入来したとき
は、これらの実数部データをマルチプレクサ5を
制御して演算ユニツト6へ選択出力せしめる。演
算ユニツト6より取り出された2つの実数部デー
タCR,DRはマルチプレクサ13、出力端子14,
16を介して前記メモリの第1のアドレスと第3
のアドレスに夫々書き込まれる。同様にして第2
のアドレスと第4のアドレスから読み出された実
数部データは演算ユニツト6によりバタフライ演
算された後、第2、第4の各アドレスに書き込ま
れる。 次に、前記メモリの第5、第7の各アドレスか
ら読み出された実数部データは入力端子1,3と
マルチプレクサ5とを夫々介して演算ユニツト7
へ選択出力される。演算ユニツト7は第7図Bに
示す如く、加算器24,26、減算器25,27
からなり、出力端子28,29に第1の出力デー
タCの実数部データCRと虚数部データCIとを夫々
出力し、出力端子30,31に第2の出力データ
Dの実数部データDRと虚数部データDIとを夫々
出力する構成とされている。この演算ユニツト7
により、2つの入力データA,Bは前記整数部P
が「2」であるときのバタフライ演算が行なわれ
る。この演算ユニツト7から読み出された各デー
タCR,CI,DR及びDIはマルチプレクサ13を介
して出力端子14,15,16及び17に夫々選
択出力される。出力端子14,16から取り出さ
れた実数部データCR,DRは前記メモリの第5、
第7のアドレスに夫々書き込まれ、他方、出力端
子15,17から取り出された虚数部データCI
DIは上記メモリの例えば第13、第15のアドレス
に新たに書き込まれる。 同様にして、次に上記メモリの第6、第8の各
アドレスから読み出された実数部データが演算ユ
ニツト7によりバタフライ演算されて、それらの
実数部データCR,DRが上記の第6、第8のアド
レスに書き込まれ、虚数部データCI,DIが上記の
メモリの第14、第16のアドレスに新たに書き込ま
れる。これにより、ステージ2のバタフライ演算
が終了する。なお、演算ユニツト7の4つの入力
端子のうち虚数部データAI,BIは常にゼロであ
るので第7図B図示の構成の代りに、第9図Bに
示す構成のものを使用することができる。第9図
Bの説明は図から明らかなので省略する。 次にステージ3のバタフライ演算が、第1図、
第3図からもわかるように、引数0と1のデータ
間で演算ユニツト6による整数部Pが「0」であ
るバタフライ演算、引数2と3のデータ間で演算
ユニツト7による整数部Pが「2」であるバタフ
ライ演算、引数4と5のデータ間で演算ユニツト
8による整数部Pが「4」であるバタフライ演算
の順序で順次に行なわれ、最後に引数6と7のデ
ータ間で演算ユニツト9による整数部Pが「6」
であるバタフライ演算が行なわれ、得られた実数
部データCR,DRは出力端子14,16より取り
出され、虚数部データCI,DIは出力端子15,1
7より取り出される。 演算ユニツト8は第7図Cに示す如く、加算器
32,33,34、減算器36,38,39及び
乗算器35,37よりなり、乗算器35からは第
2の入力データBR,BIの和のデータに√2/2なる 係数が乗算されたデータが取り出され、乗算器3
7からは虚数部データBIから実数部データBR
差し引いたデータに、
【式】なる係数が乗算され たデータが取り出される。演算ユニツト8の出力
端子40,41には(8)式で示される実数部データ
CRと虚数部データCIとが夫々取り出され、出力端
子42,43には(9)式で示される実数部データ
DRと虚数部データDIとが夫々出力される。 一方、演算ユニツト9は第7図Dに示す如く、
加算器44,45,48,51、減算器46,5
0、乗算器47及び49から構成されており、乗
算器47からは減算器46の出力データ(BI
BR)に係数
【式】を乗算して得られたデータが 取り出され、他方、乗算器49からは加算器48
の出力データ(BI+BR)に係数
【式】を乗算し て得られたデータが取り出される。この演算ユニ
ツト9の出力端子52,53,54及び55から
は、位相回転因子Ws
【式】である ときの、(6)及び(7)式によるバタフライ演算によつ
て得られた実数部データCR、虚数部データCI、実
数部データDR及び虚数部データDIが夫々出力さ
れる。 上記の場合は、Nが8であるのでバタフライ演
算は3つのステージで終了するため、整数部Pが
「8」以上であるバタフライ演算は行なわれない。
しかし、Nが16以上であるときは、ステージ数が
4以上となるから、整数部Pが「8」以上のバタ
フライ演算が必要となる。第6図に示す演算ユニ
ツト10は上記の整数部Pが「8」以上であるバ
タフライ演算をするためのユニツトで、従来と同
様に(6),(7)式で示されるバタフライ演算を行な
う。その場合は、位相回転因子Wsの値に応じた
係数が、コントロール部11の出力によつて係数
メモリ12の所定のアドレスから読み出されて演
算ユニツト10に供給される。 このように、本実施例によれば、演算ユニツト
6は前記タイプの加減算を行ない、演算ユニツ
トはタイプの加減算を行ない、また演算ユニツ
ト8及び9は夫々タイプの演算を行ない、更に
演算ユニツト10はタイプの演算を行なうの
で、従来のFFTに比し、乗算回数を低減するこ
とができる。すなわち、タイプ及びは前記し
た如く乗算は不要であり、また、タイプの乗算
回数は従来のFFTに比し半減する。ここで、各
タイプの出現回数は第3図、第5図から類推する
ことができるように、一般にタイプがN―1
回、タイプが(N/2)−1回、タイプが
(N/2)−2回である。従つて、本発明による乗
算回数は (N/2)log2N−〔(N−1) +{(N/2)−1}+{(N/4)−1}〕 =(N/2)log2N−(7N/4)+3 となる。 上式で表わされる本発明による乗算回数は、入
力データ数Nとの関係では第8図にIで示す如く
になり、これは同図にで示す従来のFFTの乗
算回数に比し、(7N/4)−3回だけ少ないこと
がわかる。 なお、第6図と同様構成の演算を電子計算機の
内部で行なうこともできる。また、(2)式による逆
変換の場合、虚数部は必ずしもゼロでないので、
演算ユニツト6としては第9図Aに示す構成の演
算ユニツトを使用するが、演算アルゴリズムその
ものは前期説明と全く同様なのでその説明は省略
する。 効 果 上述の如く、本発明によれば、信号流れ図を複
雑とすることなく従来のFFTと同一の信号流れ
図に従つて、位相回転因子の値が乗算する必要の
ない値であるときは夫々の専用の第1、第2の演
算ユニツトで乗算を行なうことなく加減算だけで
演算ができ、また位相回転因子の実数部の絶対値
と虚数部の絶対値とが夫々等しい場合には専用の
第3の演算ユニツトで最少の乗算回数で所要の演
算ができ、以上より従来のFFTの乗算回数
(N/2)log2Nよりも{(N/2)log2N−(7/
4)N+3)}なる式で表わされる小なる乗算回
数で所要のFFT演算ができ、乗算回数の低減化
は演算時間の短縮化に密接に関連しているから、
例えばサンプル数Nが256である場合にも、視覚
的に実時間であると見做せる程度の60msという
短い演算時間とすることができ、よつて例えば発
音されている音声信号を発音と同時にリアルタイ
ムで音符表示するが如き用途などに供することが
でき、また乗算回数を減らしているのでFFTよ
りも演算精度を向上することができる等の特長を
有するものである。
【図面の簡単な説明】
第1図はFFTにおける信号流れ図の一例を示
す図、第2図はバタフライ演算を説明する図、第
3図及び第5図は夫々引数、ステージ数及び整数
部の各値の関係の各例を示す図表、第4図は整数
部の値と位相回転因子における角度との関係を示
す図、第6図は本発明装置の一実施例を示すブロ
ツク系統図、第7図A〜Dは夫々第6図の各要部
の構成を示すブロツク系統図、第8図はサンプル
数に対する従来のFFTにおける乗算回数と本発
明装置の乗算回数とを夫々対比して示す図、第9
図A,Bは夫々第7図A,Bの他の例を示すブロ
ツク系統図である。 1〜4……データ入力端子、5,13……マル
チプレクサ、6〜10……演算ユニツト、11…
…コントロール部、12……係数メモリ、14〜
17……データ出力端子、35,37,47,4
9……乗算器。

Claims (1)

    【特許請求の範囲】
  1. 1 入力データに対し位相回転因子を用いたバタ
    フライ演算を順次行なつて高速フーリエ変換され
    たデータ列を得る演算装置であつて、入力データ
    列をバタフライ演算されるべき上記位相回転因子
    の値に応じて振分けて出力する第1の切換出力手
    段と、上記位相回転因子の値が1、−jであると
    きに該位相回転因子とバタフライ演算されるべき
    データが該第1の切換出力手段より印加される第
    1、第2の演算ユニツトと、実数部の絶対値と虚
    数部の絶対値とが夫々等しい値の位相回転因子と
    バタフライ演算されるべきデータが該第1の切換
    出力手段より印加される第3の演算ユニツトと、
    上記値以外の値の位相回転因子とバタフライ演算
    されるべきデータが該第1の切換出力手段より印
    加される第4の演算ユニツトと、予め記憶されて
    いる乗算係数を定められた順序で該第4の演算ユ
    ニツトに印加する手段と、該第1乃至第4の演算
    ユニツトの出力データを一定の順序で、かつ、実
    数部と虚数部とに夫々分けて出力する第2の切換
    出力手段とより構成したことを特徴とする高速フ
    ーリエ変換の演算装置。
JP58078823A 1983-05-04 1983-05-04 Kosokufuuriehenkannoenzansochi Expired - Lifetime JPH0228187B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58078823A JPH0228187B2 (ja) 1983-05-04 1983-05-04 Kosokufuuriehenkannoenzansochi
GB08411261A GB2140600B (en) 1983-05-04 1984-05-02 Computing device for fast fourier transform
DE19843416536 DE3416536A1 (de) 1983-05-04 1984-05-04 Recheneinrichtung zur schnellen fourier-transformation
FR8407007A FR2545629B1 (fr) 1983-05-04 1984-05-04 Dispositif de calcul pour transformation de fourier rapide

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58078823A JPH0228187B2 (ja) 1983-05-04 1983-05-04 Kosokufuuriehenkannoenzansochi

Publications (2)

Publication Number Publication Date
JPS59205669A JPS59205669A (ja) 1984-11-21
JPH0228187B2 true JPH0228187B2 (ja) 1990-06-21

Family

ID=13672548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58078823A Expired - Lifetime JPH0228187B2 (ja) 1983-05-04 1983-05-04 Kosokufuuriehenkannoenzansochi

Country Status (1)

Country Link
JP (1) JPH0228187B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109496306B (zh) 2016-07-13 2023-08-29 莫鲁米有限公司 多功能运算装置及快速傅里叶变换运算装置

Also Published As

Publication number Publication date
JPS59205669A (ja) 1984-11-21

Similar Documents

Publication Publication Date Title
Loeffler et al. Practical fast 1-D DCT algorithms with 11 multiplications
US3633018A (en) Digital division by reciprocal conversion technique
US6792441B2 (en) Parallel multiprocessing for the fast fourier transform with pipeline architecture
KR20060061796A (ko) 리코드 radix-2 파이프라인 FFT 프로세서
US6993547B2 (en) Address generator for fast fourier transform processor
EP0128298A2 (en) Orthogonal transformer and apparatus operational thereby
US3721812A (en) Fast fourier transform computer and method for simultaneously processing two independent sets of data
GB1281730A (en) Fourier transform computer
JP2012502379A (ja) 離散フーリェ変換(dft)係数についての行列を演算するための方法および装置
US3662161A (en) Global highly parallel fast fourier transform processor
US3584782A (en) Fast fourier transform method and apparatus
Hartwell A procedure for implementing the fast Fourier transform on small computers
JPH06149861A (ja) Dct及び逆dct演算装置並びにその演算方法
US6343304B1 (en) Apparatus with selective fixed-coefficient filter for performing recursive discrete cosine transforms
JPH0228187B2 (ja) Kosokufuuriehenkannoenzansochi
JPH0228188B2 (ja) Kosokufuuriehenkannoenzansochi
Thyagarajan et al. Fast Fourier Transform
CN103870437A (zh) 数字信号处理装置及其处理方法
JP2529229B2 (ja) コサイン変換装置
US20180373676A1 (en) Apparatus and Methods of Providing an Efficient Radix-R Fast Fourier Transform
Wu et al. Novel concurrent architecture to implement the discrete cosine transform based on index partitions
KR100193385B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 dct/dst/dht의 수행 방법 및 그 장치
Zhang et al. Interpolatory filter banks and interpolatory wavelet packets
US6564236B1 (en) Device and associated method for calculating the direct or inverse fourier transform of the product of a complex symbol times a complex sinusoidal waveform
EP0213212B1 (en) Fourier transformer