JP2002207718A - 高速fft演算処理方法 - Google Patents

高速fft演算処理方法

Info

Publication number
JP2002207718A
JP2002207718A JP2001002029A JP2001002029A JP2002207718A JP 2002207718 A JP2002207718 A JP 2002207718A JP 2001002029 A JP2001002029 A JP 2001002029A JP 2001002029 A JP2001002029 A JP 2001002029A JP 2002207718 A JP2002207718 A JP 2002207718A
Authority
JP
Japan
Prior art keywords
data
fft
memory
fft operation
speed
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
JP2001002029A
Other languages
English (en)
Inventor
Masaharu Tauchi
正治 田内
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.)
Ando Electric Co Ltd
Original Assignee
Ando Electric Co 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 Ando Electric Co Ltd filed Critical Ando Electric Co Ltd
Priority to JP2001002029A priority Critical patent/JP2002207718A/ja
Priority to DE10200687A priority patent/DE10200687A1/de
Priority to US10/043,598 priority patent/US20020156822A1/en
Publication of JP2002207718A publication Critical patent/JP2002207718A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 FFT演算にともなって生じる、メモリから
演算レジスタへの演算毎のデータの転送時間を短縮する
ことにより、FFT演算全体の処理時間を短縮すること
である。 【解決手段】 多数の被FFTデータをFFT演算する
高速FFT演算処理方法において、前記多数の被FFT
データ(N)を、FFT演算処理手段内のメモリのアク
セスに適したブロックに分割するステップ(a)と、前記
メモリに対して、前記ブロックに分割されたデータを順
次転送するステップ(b)と、前記メモリに転送されたF
FTデータによるFFT演算処理を実行するステップ
(c)と、前記ステップ(c)及びステップ(c)を、全ての分
割されたブロックについて繰り返すステップ(d)と、を
有することを特徴とする高速FFT演算処理方法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、FFT(高速フー
リエ変換)演算に適用する高速FFT演算処理方法に関
する。
【0002】
【従来の技術】信号処理においてFFT(高速フーリエ
変換)、IFFT(逆フーリエ変換処理)は、例えばD
SP(デジタル信号プロセッサ)等の演算デバイスの性
能向上により高速に処理できるため、大容量データの解
析が実用レベルで可能になった。 FFT(以降、フー
リエ変換も逆フーリエ変換もFFTとして扱う)では、
周波数間引き、時間間引きによらず全てのデータを使用
して演算するので、実部、虚部のデータ分の記憶デバイ
ス(以降メモリ)が必要である。
【0003】FFT演算処理はメモリに格納されている
実部、虚部データを演算デバイスのレジスタへ転送し、
そこで回転子との演算(乗算・加算)を行い、演算結果
をメモリへ格納する。演算式、式1は、図1中に式1F
FT算出式として示されている。(FFT演算は既知の
手法でるので、説明は省略する。) この演算を全てのデータに対して繰り返し行う。
【0004】実際に、演算デバイスで処理する場合、演
算の度に、データを演算デバイス内レジスタへ転送して
から演算している。よって、転送時間の短縮、すなわち
メモリへのアクセス時間の短縮はFFT演算処理の高速
化につながる。
【0005】例えば、16個のデータを使用した周波数
間引き方式のFFT演算で説明する。周波数間引きの場
合、上記、式1の周波数間引き法を使用する。それぞれ
の扱うデータは、図2−1従来処理のように、入力デー
タの並び替え後、第一段で入力データX0と入力データ
X8に対して式1の計算をする。これを全ての入力デー
タに対して図2−1のように演算すると第1段の演算が
終了する。
【0006】次に第2段として第一段の入力データX0
とX8の結果と、X4とX12の演算結果に対して同様
の演算をする。この演算を同様の方法で処理し、第2段
の演算を処理していき、これを第3段、第4段と進めて
いくと、最終的にY0からY15までの出力結果を得る
ことができる。
【0007】図2−2に太線で示すように、Y0のデー
タを求めるためにはX0〜X15まで全てのデータを使
用することになる。したがって、入力データX0〜X1
5までの全てのデータをメモリに記憶しておき、演算毎
にメモリから演算デバイスへ必要なデータを転送して演
算が行われていた。
【0008】パソコンなどでFFT演算する場合、デー
タは、例えばSDRAM上にデータを配置される場合が
多い。このSDRAMは、同じバンク、同じローアドレ
ス以内のデータを扱う場合には、カラムアドレスの変更
だけでよいため、データ毎のバンクまたは、ローアドレ
スの再設定が不要であるが、バンク、またはローアドレ
スの範囲を超えるデータを扱う場合には、バンク又はロ
ーアドレスの再設定が必要になる。同一ローアドレスで
指定できない容量のFFT演算の場合(図3参照)、例
えば、第3段のX0とX1が異なるローアドレスに割り
当てられたとする。
【0009】この場合の第1のケースとして、図5−1
の様に、ローアドレスの設定のためにACTコマンドを
送信し、Readコマンドによってデータを読み込むメ
モリアクセス方式(アクセス方式A)であれば、X0と
X1のデータを読み込む場合に、それぞれ5clkを要
する。(SDRAMなどに相当する方式)
【0010】また、第2のケースとして、図5−3の様
に、ローアドレスを設定し、カラムアドレスを設定する
ようなメモリアクセス方式(アクセス方式B)であれ
ば、X0とX1のデータを読み込むために、それぞれ5
クロック(clk)を要する。(EDO DRAMなど
に相当する方式)
【0011】また、第3のケースとして、CPU、DS
P等の演算デバイスとして、アドレス指定方式にページ
方式(絶対アドレスを指定する場合、ローアドレス命令
後、カラムアドレスを指定して読み込む命令体系)を採
用しているデバイスの場合には、X0とX1のデータを
読み込む場合、最低でも2命令×2データ=4命令の実
行が必要である。
【0012】上記の処理はデータを読み込む毎、書き込
む毎に発生する。さらに、バンクによってコマンドを設
定しなければならないメモリアクセス方式の場合には、
さらにバンク設定コマンドを送信しなければならない。
例えば、X0とX1の演算において、X0とX1と回転
子が、それぞれ違うバンクに配置されている場合には、
先ず、X0のバンクアドレスの設定+ローアドレスの設
定後、カラムアドレス設定によりデータ(X0)を読み
出す。次に、X1のバンクアドレスの設定+ローアドレ
スの設定後、カラムアドレス設定によりデータ(X1)
を読み出す。さらに、回転子のバンクアドレスの設定+
ローアドレスの設定後、カラムアドレス設定によりデー
タ(回転子)を読み出した後、(前記式1)の積和演算
を実行する。その後、X0のバンクアドレスの設定+ロ
ーアドレスの設定後、カラムアドレス設定によりデータ
(X0)を書き込み、さらに、X1のバンクアドレスの
設定+ローアドレスの設定後、カラムアドレス設定によ
りデータ(X1)を書き込む必要がある。
【0013】上記の如く、メモリへのデータの読み込み
及び書込みに要する時間(クロック数)の大小は、演算
処理に大きく影響する。図1及び図2に示すような、1
6個のFFT演算では、この影響はそれ程ではない。し
かし、実用レベルの、例えば16384個のFFT演算
の場合、浮動小数点演算で1データが4バイトであるた
め、65536バイトのデータ格納容量が実部、虚部に
必要であり、上記のデータの読み出し、書込みに要する
時間の影響が大きい。また、例えば回転子をテーブルで
持つと32768バイトの格納エリアが必要であるの
で、複数のローアドレス領域にまたがってデータを読み
込んで演算することになる。この場合、例えば、X0と
X8192番目・・・・・X1とX8193の演算をす
るなどローアドレスの再設定が頻繁に発生することにな
り、アドレスの再設定の時間は無視できない値になって
くる。
【0014】
【発明が解決しようとする課題】本発明の目的は、FF
T演算にともなって生じる、メモリから演算レジスタへ
の演算毎のデータの転送時間を短縮することにより、F
FT演算全体の処理時間を短縮することである。本発明
は、大容量のデータのFFT演算において、FFTデー
タを分割して演算することによって、処理時間の短縮を
実現できる。
【0015】
【課題を解決するための手段】上記課題を解決するため
に、多数の被FFTデータをFFT演算する高速FFT
演算処理方法において、前記多数の被FFTデータ
(N)を、FFT演算処理に用いるメモリのアクセスに
適したブロックに分割するステップ(a)と、前記メモリ
に対して、前記ブロックに分割されたデータを順次転送
するステップ(b)と、前記メモリに転送されたFFTデ
ータによるFFT演算処理を実行するステップ(c)と、
前記ステップ(c)及びステップ(c)を、全ての分割された
ブロックについて繰り返すステップ(d)とで、高速FF
T演算処理を実行することにより、FFT演算にともな
って生じる、メモリから演算レジスタへの演算毎のデー
タの転送時間を短縮することにより、FFT演算全体の
処理時間を短縮することができる。(請求項1)
【0016】また、前記多数の被FFTデータのFFT
演算処理を複数のステージに分割し、各ステージ間で、
被FFTデータの並び替えを実行するステップを有する
ことにより、より少ないメモリでFFT演算が可能にな
る。(請求項2) また、前記ステップ(a)における被FFTデータの分割
は、前記メモリアクセスに際して、メモリを構成するバ
ンクの再設定が不要なデータ範囲内になるように行うこ
とにより、バンク構成のメモリの場合に、バンクの再設
定なしにデータのアクセスが可能になるので、メモリか
ら演算レジスタへの演算毎のデータの転送時間を短縮す
ることにより、FFT演算全体の処理時間を短縮するこ
とができる。(請求項3) また、前記ステップ(a)における被FFTデータの分割
は、前記メモリアクセスに際して、ローアドレス又はカ
ラムアドレスの再設定が不要なデータ範囲内になるよう
に行うことにより、一度設定した、ローアドレス又はカ
ラムアドレスの再設定なしに、データのアクセスが可能
になるので、メモリから演算レジスタへの演算毎のデー
タの転送時間を短縮することにより、FFT演算全体の
処理時間を短縮することができる。(請求項4)
【0017】また、前記被FFTデータは、それぞれ実
数部及び虚数部からなり、回転子との間でFFT演算処
理される。(請求項5) また、前記回転子が前記ブロックに対応して予めテーブ
ルに保管されていることにより、より高速なFFT演算
処理が可能になる。(請求項6)
【0018】また、前記被FFTデータの内の虚数部デ
ータの演算を省略する。(請求項7) また、前記FFT演算において、回転子の実数部又は虚
数部のいずれか一方がゼロの場合には、乗算を省略する
ことにより、更に高速のFFT演算処理が可能になる。
(請求項8) この場合、現実的な信号解析において、サンプリングし
たデータの周波数解析を行う場合、虚数データの演算を
省略するとか、回転子の値が実部=1,虚部=0、また
は、実部=0、虚部=1であることにより乗算を省略す
る事ができるとか、等の既知の高速化手法を反映させや
すい事を特徴とする。
【0019】
【発明の実施の形態】以下、従来と同じハードウェア構
成の場合でも、高速にFFT演算処理をすることが可能
な、本発明のFFT高速アルゴリズムの原理を説明す
る。従来技術の技術では、図3、図5−1、図5−3を
用いて説明したように、メモリから演算デバイスのレジ
スタへのデータの転送時間が(例えば)5クロック(c
lk)必要である。しかし、同1ブロックで処理できる
データを同一のローアドレスになるようなワークエリア
に転送した後、当該ブロック内でのFFT演算を実行す
る。このようにすると、データ転送においては、メモリ
アクセス方式Aの場合、最初は4クロックは必要である
が、最初の設定さえしてしまえば、その後は、1クロッ
ク(clk)でデータのreadが可能である。(図5
−2参照) また、メモリアクセス方式Bにおいても同様のことがい
える。(図5−4参照)
【0020】データ数が多ければ、この最初の設定の4
クロック(clk)は、ほぼ無視できる値になり、アク
セス時間は1/5に短縮されたことになる。また、CP
Uのアドレッシングによる命令数は1命令×2データ=
2命令と1/2にすることが可能である。データのRe
ad,Write毎に転送は必要であるためFFT演算
処理全体に占める転送時間の割合は大きい。
【0021】262144点の入力データをFFT演算
する場合について説明する。この場合、262144点
の実部・虚部のデータと131072点の回転子の実部
・虚部の係数が、複数のローアドレスエリアにまたがっ
て配置されているとする。先ず、FFT演算の総データ
をブロックに分ける。同一ローアドレスエリアに512
点の実部、虚部、回転子を格納できるとすると1ブロッ
クのデータ数は512となり、512個のブロックがで
きる。512点(A)のFFT演算を512回繰り返す
ことになる。
【0022】周波数間引きで処理をする場合、まずビッ
トリバースによる並び替えをする(FFT演算の一般的
な並び替えである)。並び替え後、実部[0]〜[26
2143]、虚部[0]〜[262143]を[0]番
目から512個、512点の実部、虚部データをワーク
エリアへ転送する。この場合、FFT演算処理するた
め、ブロック数は2のm乗であることが必要である。回
転子のデータもワークエリアへ転送することで更に高速
化が可能になる。
【0023】第1ステージで、9段のFFT演算(バタ
フライ演算:図1の式1参照、2の9乗=512)を行
い、再び、元の記憶エリアへ戻す。次に実部、虚部のデ
ータ[512]から512点のデータをワークエリアに
転送し、再びFFT演算を実行する。同様の処理を51
2個のブロックについてFFT演算を繰り返す。(図6
−1の1stステージ処理)
【0024】1stステージ終了後、2ndステージで使用
する演算データの抽出のため実部、虚部データ[0]か
ら512点毎にデータをワークエリアへ512個のデー
タを転送し、FFT演算を行う。FFT演算後、また元
の記憶エリアへ転送する。同様の処理を512個のブロ
ックについてFFT演算を繰り返す。(図6−1の2nd
ステージ処理)
【0025】このように、FFT演算処理に伴うデータ
の転送において、ローアドレスが異なるためアクセス時
間が掛かるが、本発明では、ローアドレスの設定は1回
だけである。従来の場合、残りのFFT演算処理9段
分、すなわち9倍の演算時毎にコマンドの再設定、ロー
アドレスの設定が必要であった。
【0026】上記1stステージ及び2ndステージの処理
をフローチャートを図6−1示す。また、分割された各
ブロックの演算順序を図6−2に示す。この処理によ
り、FFT演算において、データの実部、虚部、回転子
の実部、虚部のデータの、演算器(レジスタ)とメモリ
間のデータ転送時間を従来にくらべて、大幅に短縮させ
ることによりFFT演算全体の高速化を図っている。上
記の如く、本発明のメモリに対するデータアクセスは、
図4に示すように、演算デバイスのメモリには、同一ロ
ーアドレスでアクセス可能な範囲のデータをブロックと
して記憶しておくことに特徴である。
【0027】上記の如き、262144点のデータによ
るFFT演算では、全てのデータを図示するのが困難で
あるので、図1では、16点のデータによるFFT演算
において、ブロックへの分割、並び替え、複数ステージ
処理の採用による、本発明のFFT演算高速アルゴリズ
ムの概念図を図1に示す。
【0028】図1における、並び替え1では、第1ステ
ージ後のFFT演算(図1では第2ステージのこと)で
は、使用データが前記第1ステージで使用したブロック
とは別のブロックにまたがるので、データ選択(並び替
え)によって使用データを選び直している。図1では第
3段、第4段に使用するデータをこの並び替え1で選び
直している。
【0029】並び替え1以降は、再び、選び出した使用
データ毎に演算ブロックを構成し、ブロック毎に転送
し、FFT演算処理する。上記の処理を、全てのブロッ
クで繰り返すことによって、全てのFFT処理を完結さ
せる。この並び替えにより複数のステージを構成するこ
とで、同一のローアドレスエリア内にデータを配置し
て、FFT演算処理することが可能となる。
【0030】次に、回転子係数の選択であるが、周波数
間引きによるFFT演算の場合、図9の表1の様な回転
子を使用する。回転子を入力データと掛け合わせて演算
結果を得るため、回転子の係数もメモリからレジスタへ
転送して演算される。ということは、回転子の場合も、
上記データ同様に、同一のローアドレスエリアに転送し
て演算することで転送時間の短縮が可能となる。
【0031】しかし、図9の表1のように、各段で使用
する回転子は各ブロックで違うため、各ブロックの各ス
テージで使用する回転子係数を使用する順に並べて高速
メモリへ転送して使用することで、回転子の違いを意識
して使用する必要が無くなる。各ブロックでは、図9の
表2のように、テーブルの上から順に回転子を抽出して
演算をすることにより、共通の演算ルーチンを組むこと
が可能になる。この場合、回転子係数の抽出はテーブル
の上から順に参照するという簡単な方法で実現可能であ
るため処理の高速化も容易に実現できる。第2ステージ
でも同様に必要な回転子係数を抽出し、同一ローアドレ
スエリアへ転送することで高速化を図ることができる。
【0032】また、現実的には、サンプリングしたデー
タのFFT周波数解析を行う場合、FFT演算の入力で
ある実数部と虚数部データは、実数部にサンプリングデ
ータを、虚数部に「0」を格納して演算する。虚数部が
「0」であれば虚数データの演算を省略することができ
る。(図8の:第1段の演算をを変更することにより
実現でき、第1ステージの各ブロックで共通に使用する
ことが可能)
【0033】実際には、X0〜X15及びY0〜Y15
のデータと回転子は、例えば、 X1=Xr1(実部)+jXi1(虚部)、 X2=Xr2(実部)+jXi2(虚部)、 Y1=Yr1(実部)+jYi1(虚部)、 Y2=Yr2(実部)+jYi2(虚部)、 W =Wr (実部)+jWi (虚部)の複素数で表される。 よって、周波数間引き法における前記演算式1は、 Y1=X1+X2=(Xr1+jXi1)+(Xr2+jXi2) =(Xr1+Xr2)+j(Xi1+Xi2)・・・・・・・・・・・(1-1) Y2=(X1-X2)W={(Xr1+jXi1)−(Xr2+jXi2)}(Wr+jW
i)={(Xr1-Xr2)+j(Xi1-Xi2)}(Wr+jWi) XR=Xr1-Xr2,XI=Xi1-Xi2とすると Y2=(XR+jXI)(Wr+jWi)=(XR・Wr-XI・Wi)+j(XR・Wi+XI・Wr)・・(1-2) (1-1)より、 Yr1(実部)=Xr1+Xr2 Yi1(虚部)=Xi1+Xi2 (1-2)より、 Yr2(実部)=XR・Wr-XI・Wi Yi2(虚部)=XR・Wi+XI・Wr 実部、虚部に対して上記の演算を実行する。ここで、サ
ンプリングデータとして実部のデータのみが与えられる
と、虚部が「0」で演算されるため、 Yr1(実部)=Xr1+Xr2 Yi1(虚部)=Xi1+Xi2=0+0 Yr2(実部)=XR・Wr-XI・Wi=XR・Wr Yi2(虚部)=XR・Wi+XI・Wr=XR・Wi になる。これは、一段目に限ってであり、二段目以降は
虚部のデータが存在するので、正規の演算が必要にな
る。
【0034】また、回転子の値が実部=1,虚部=0、
または、実部=0、虚部=1であることにより回転子と
演算データの乗算を省略する事ができる(図8の:第
3段、第4段の演算を変更することにより実現でき、第
2ステージで使用する回転子が同じなので処理ルーチン
を共通に使用することが可能)とか、等の既知の高速化
手法を反映させることが容易であり、これにより更に高
速化が可能になる。 例えば、回転子W=(Wr,Wi)=(1,0)の場合、 Yr2(実部)=XR・Wr-XI・Wi=XR Yi2(虚部)=XR・Wi+XI・Wr=XI また、回転子W=(Wr,Wi)=(0,j)の場合、 Yr2(実部)=XR・Wr-XI・Wi=−XI Yi2(虚部)=XR・Wi+XI・Wr=XR として、演算を省略することが可能である。
【0035】ペンティアム(登録商標)CPUを使った
一般的なパーソナルコンピュータを使用して26214
4点のFFTを行った場合、本発明を適用しない場合に
比べ、本発明を適用することでFFTの演算時間を数分
の1に縮める事が可能である。また、本発明における処
理は、厳密にローアドレスエリア内に設定する必要もな
い。262144点FFT演算に対して、十分小さい5
12点とか、1024点のブロックに分割することで、
ローアドレスの再設定とか、バンクの再設定の頻度が減
るため高速に処理可能となる。また、第1ステージ,第
2ステージのFFT演算データ数は同じにする必要はな
く、2のm乗、2のk乗と、FFT演算可能な数にまと
まっていればよい。ステージも、2分割するのでなく、
ステージ数を3又は4とする事もできる。
【0036】
【発明の効果】請求項1に記載の発明では、多数の被F
FTデータをFFT演算する高速FFT演算処理方法に
おいて、前記多数の被FFTデータ(N)を、FFT演
算処理に用いるメモリのアクセスに適したブロックに分
割するステップ(a)と、前記メモリに対して、前記ブロ
ックに分割されたデータを順次転送するステップ(b)
と、前記メモリに転送されたFFTデータによるFFT
演算処理を実行するステップ(c)と、前記ステップ(c)及
びステップ(c)を、全ての分割されたブロックについて
繰り返すステップ(d)とで、高速FFT演算処理を実行
することにより、FFT演算にともなって生じる、メモ
リから演算レジスタへの演算毎のデータの転送時間を短
縮することにより、FFT演算全体の処理時間を短縮す
ることができる。
【0037】また、請求項2に記載の発明では、前記多
数の被FFTデータのFFT演算処理を複数のステージ
に分割し、各ステージ間で、被FFTデータの並び替え
を実行するステップを有することにより、より少ないメ
モリでFFT演算が可能になる。また、請求項3に記載
の発明では、前記ステップ(a)における被FFTデータ
の分割は、前記メモリアクセスに際して、メモリを構成
するバンクの再設定が不要なデータ範囲内になるように
行うことにより、バンク構成のメモリの場合に、バンク
の再設定なしにデータのアクセスが可能になるので、メ
モリから演算レジスタへの演算毎のデータの転送時間を
短縮することにより、FFT演算全体の処理時間を短縮
することができる。また、請求項4に記載の発明では、
前記ステップ(a)における被FFTデータの分割は、前
記メモリアクセスに際して、ローアドレス又はカラムア
ドレスの再設定が不要なデータ範囲内になるように行う
ことにより、一度設定した、ローアドレス又はカラムア
ドレスの再設定なしに、データのアクセスが可能になる
ので、メモリから演算レジスタへの演算毎のデータの転
送時間を短縮することにより、FFT演算全体の処理時
間を短縮することができる。
【0038】また、請求項5に記載の発明では、前記被
FFTデータは、それぞれ実数部及び虚数部からなり、
回転子との間でFFT演算処理される。また、請求項6
に記載の発明では、前記回転子が前記ブロックに対応し
て予めテーブルに保管されていることにより、より高速
なFFT演算処理が可能になる。
【0039】また、請求項7に記載の発明では、前記被
FFTデータの内の虚数部データの演算を省略する。ま
た、請求項8に記載の発明では、前記FFT演算におい
て、回転子の実数部又は虚数部のいずれか一方がゼロの
場合には、乗算を省略することにより、更に高速のFF
T演算処理が可能になる。この場合、現実的な信号解析
において、サンプリングしたデータの周波数解析を行う
場合、虚数データの演算を省略するとか、回転子の値が
実部=1,虚部=0、または、実部=0、虚部=1であ
ることにより乗算を省略する事ができるとか、等の既知
の高速化手法を反映させやすい事を特徴とする。
【図面の簡単な説明】
【図1】本発明の概念を示すブロック図である。
【図2】従来FFT演算処理を示す図である。
【図3】従来のデータアクセスの概略図である。
【図4】本発明によるデータアクセスの概略図である。
【図5】メモリアクセス方式のリードタイミングを示す
図である
【図6】本発明のフローチャート及びブロックの処理順
を示す図である。
【図7】本発明の、FFT回転子の選択を示した図であ
【図8】既知の高速手法を取り入れた高速処理概略図
【図9】本発明の、FFT回転子の選択及びテーブルを
示した表である
【符号の説明】
なし
【手続補正書】
【提出日】平成13年1月11日(2001.1.1
1)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図3】
【図4】
【図7】
【図2】
【図5】
【図6】
【図8】
【図9】

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 多数の被FFTデータをFFT演算する
    高速FFT演算処理方法において、 前記多数の被FFTデータ(N)を、FFT演算処理に
    用いるメモリのアクセスに適したブロックに分割するス
    テップ(a)と、 前記メモリに対して、前記ブロックに分割されたデータ
    を順次転送するステップ(b)と、 前記メモリに転送されたFFTデータに基づくFFT演
    算処理を実行するステップ(c)と、 前記ステップ(c)及びステップ(c)を、全ての分割された
    ブロックについて繰り返すステップ(d)と、を有するこ
    とを特徴とする高速FFT演算処理方法。
  2. 【請求項2】 前記多数の被FFTデータのFFT演算
    処理を複数のステージに分割し、各ステージ間で、被F
    FTデータの並び替えを実行するステップを有すること
    を特徴とする請求項1に記載の高速FFT演算処理方
    法。
  3. 【請求項3】 前記ステップ(a)における被FFTデー
    タの分割は、前記メモリアクセスに際して、メモリを構
    成するバンクの再設定が不要なデータ範囲内になるよう
    に行われることを特徴とする請求項1又は2に記載の高
    速FFT演算処理方法。
  4. 【請求項4】 前記ステップ(a)における被FFTデー
    タの分割は、前記メモリアクセスに際して、ローアドレ
    ス又はカラムアドレスの再設定が不要なデータ範囲内に
    なるように行われることを特徴とする請求項1又は2に
    記載の高速FFT演算処理方法。
  5. 【請求項5】 前記被FFTデータは、それぞれ実数部
    及び虚数部からなり、回転子との間でFFT演算処理さ
    れることを特徴とする請求項1〜4のいずれか1項に記
    載の高速FFT演算処理方法。
  6. 【請求項6】 前記回転子が前記ブロックに対応して予
    めテーブルに保管されていることを特徴とする請求項1
    〜5のいずれか1項に記載の高速FFT演算処理方法。
  7. 【請求項7】 前記被FFTデータの内の虚数部データ
    の演算を省略することを特徴とする請求項1〜6のいず
    れか1項に記載の高速FFT演算処理方法。
  8. 【請求項8】前記FFT演算において、回転子の実数部
    又は虚数部のいずれか一方がゼロの場合には、乗算を省
    略することを特徴とする請求項1〜7のいずれか1項に
    記載の高速FFT演算処理方法。
JP2001002029A 2001-01-10 2001-01-10 高速fft演算処理方法 Pending JP2002207718A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001002029A JP2002207718A (ja) 2001-01-10 2001-01-10 高速fft演算処理方法
DE10200687A DE10200687A1 (de) 2001-01-10 2002-01-10 Verfahren und System zur Hochgeschwindigkeits-FFT-Verarbeitung
US10/043,598 US20020156822A1 (en) 2001-01-10 2002-01-10 High-speed FFT processing method and FFT processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001002029A JP2002207718A (ja) 2001-01-10 2001-01-10 高速fft演算処理方法

Publications (1)

Publication Number Publication Date
JP2002207718A true JP2002207718A (ja) 2002-07-26

Family

ID=18870596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001002029A Pending JP2002207718A (ja) 2001-01-10 2001-01-10 高速fft演算処理方法

Country Status (1)

Country Link
JP (1) JP2002207718A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012160092A (ja) * 2011-02-01 2012-08-23 Fujitsu Advanced Engineering Ltd 演算装置、演算方法およびプログラム
JP2020194287A (ja) * 2019-05-27 2020-12-03 三菱電機株式会社 データ管理装置
JP7527460B2 (ja) 2023-11-22 2024-08-02 三菱電機株式会社 託送料金計算システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012160092A (ja) * 2011-02-01 2012-08-23 Fujitsu Advanced Engineering Ltd 演算装置、演算方法およびプログラム
JP2020194287A (ja) * 2019-05-27 2020-12-03 三菱電機株式会社 データ管理装置
JP7421275B2 (ja) 2019-05-27 2024-01-24 三菱電機株式会社 データ管理装置
JP7527460B2 (ja) 2023-11-22 2024-08-02 三菱電機株式会社 託送料金計算システム

Similar Documents

Publication Publication Date Title
US20080208944A1 (en) Digital signal processor structure for performing length-scalable fast fourier transformation
US7024443B2 (en) Method and system for performing a fast-Fourier transform
JPS58169675A (ja) モノリシツク型高速フ−リエ変換回路
JPH02101574A (ja) 大容量高速フーリエ変換装置
CN112528219A (zh) 存储器装置及其运算方法、计算设备
US9582474B2 (en) Method and apparatus for performing a FFT computation
CN104050148B (zh) 快速傅里叶变换加速器
JP2662124B2 (ja) 高速フーリエ変換における信号シーケンス発生方法、装置およびシステム並びに高速フーリエ変換処理装置
US9268744B2 (en) Parallel bit reversal devices and methods
JP2002207718A (ja) 高速fft演算処理方法
JP2002032358A (ja) 2サイクル高速フーリエ変換
WO2021082723A1 (zh) 运算装置
US20020156822A1 (en) High-speed FFT processing method and FFT processing system
JP2012160092A (ja) 演算装置、演算方法およびプログラム
JP3709291B2 (ja) 高速複素フーリエ変換方法及び装置
JP2002207717A (ja) Fft演算装置
TWI402695B (zh) ***基數-2/8快速傅立葉轉換裝置及方法
JP2006331186A (ja) Fft演算装置及びfft演算方法
CN112149049A (zh) 用于变换矩阵的装置和方法、数据处理***
US6438568B1 (en) Method and apparatus for optimizing conversion of input data to output data
CN104572578B (zh) 用于显著改进微控制器中fft性能的新颖方法
JP2002169792A (ja) Fft演算装置
JP2002542529A (ja) Fftまたはifftのような離散直交変換を計算するための方法及び装置
JPS6151268A (ja) デ−タ処理装置
TW200411408A (en) Data processing structure and method for Fast Fourier transformation/Inverse Fast Fourier Transformation