JPH08137832A - バタフライ演算回路および同回路を用いた高速フーリエ変換装置 - Google Patents

バタフライ演算回路および同回路を用いた高速フーリエ変換装置

Info

Publication number
JPH08137832A
JPH08137832A JP6272742A JP27274294A JPH08137832A JP H08137832 A JPH08137832 A JP H08137832A JP 6272742 A JP6272742 A JP 6272742A JP 27274294 A JP27274294 A JP 27274294A JP H08137832 A JPH08137832 A JP H08137832A
Authority
JP
Japan
Prior art keywords
circuit
data
butterfly operation
output
fast fourier
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.)
Withdrawn
Application number
JP6272742A
Other languages
English (en)
Inventor
Noboru Morita
昇 森田
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 JP6272742A priority Critical patent/JPH08137832A/ja
Publication of JPH08137832A publication Critical patent/JPH08137832A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 本発明は、FFTを利用した演算を行なう際
に必要となるバタフライ演算回路、及び、その回路を用
いて構成されるFFT装置に関し、バタフライ演算出力
のX側,Y側を簡素な構成で任意に切替可能にし、FF
T出力として所望する側の周波数成分を容易に得られる
ようにして、多点でのFFT結果に対する相関処理を確
実に行なうことを目的とする。 【構成】 FFT装置を構成するバタフライ演算回路1
を、入力データyに回転因子Wk を乗算する乗算回路2
と、その乗算結果Wk ・yと入力データxとについての
加算処理又は減算処理のいずれか一方を行なう一対の加
減算回路3A,3Bと、これらの一対の加減算回路3
A,3Bのうち加算処理を行なうものと減算処理を行な
うものとを選択的に切り替えうる切替回路4とをそなえ
て構成する。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術(図24〜図29) 発明が解決しようとする課題(図24,図25,図2
9) 課題を解決するための手段(図1) 作用(図1) 実施例 (a)第1実施例の説明(図2〜図4) (b)第2実施例の説明(図5,図6) (c)第3実施例の説明(図7) (d)第4実施例の説明(図8,図9) (e)第5実施例の説明(図10〜図23) 発明の効果
【0002】
【産業上の利用分野】本発明は、高速フーリエ変換〔以
下、FFT(Fast Fourier Transform)という〕を利用
した演算を行なう際に必要となるバタフライ演算回路、
および、そのバタフライ演算回路を用いて構成される高
速フーリエ変換装置に関する。この種の装置によれば、
通常の離散的フーリエ変換のアルゴリズムが採用された
装置に比して計算量を大幅に減少でき、従って、信号処
理システム,データ解析システム,線型システムなどに
おける処理を著しく高速化することが可能になる。
【0003】
【従来の技術】FFTは、本来、離散的フーリエ変換
(DFT)とその逆変換(IDFT)とに要する膨大な
乗算および加減算の回数を減少させるために数学的に改
良された手法である。近年、ディジタル計算機(DS
P)の高速化やマイクロプロセッサの普及が進み、音
声,画像,電波等の解析処理分野において、ディジタル
信号解析の主流であるFFTを行なうための様々な手法
および装置が提案されている。
【0004】一般的に、FFTは、バタフライ演算を基
本演算として、これを繰り返し行なうことによって行な
うことができる。また、このFFTを実現するためのハ
ードウエアとしては、バタフライ演算回路とデータ並替
回路とからなる基本ステージを1段として、この基本ス
テージを、所定の関連で適当な段数だけ直列に接続した
直列(パイプライン)型(図24〜図27にて後述)
や、前記直列型の前段部と並列型の後段部とを組み合わ
せた構成のもの(図28,図29にて後述)などが知ら
れている。
【0005】直列型のFFT装置として、例えば、基数
r=2のFFTで、サンプル値データ数(FFT点数)
N=8である場合の一例を図24に示す。この場合、図
24に示すように、3段の基本ステージ(基本回路)1
6−1,16−2,16−3が直列に接続されている。
ここで、基本ステージ段数Mは、基数rおよびFFT点
数Nに基づいて、M= logr N=log28=3として与え
られる。
【0006】各基本ステージ16−1,16−2,16
−3は、図25に示すように、データ並替回路10とバ
タフライ演算回路11とから構成されている。データ並
替回路10は、外部から入力されるデータを演算に応じ
た順序に従って適宜並べ替えてバタフライ演算回路11
へ2個単位で出力するものである。また、バタフライ演
算回路11は、捻り係数乗算部12,加算回路13およ
び減算回路14から構成されている。捻り係数乗算部1
2は、データ並替回路10からの一方のデータに捻り係
数(回転因子)Wk を乗算するもので、その乗算処理を
行なう乗算回路12aと、この乗算回路12aに与える
捻り係数(回転因子)Wk を記憶する捻り係数メモリ1
2bとから構成されている。
【0007】そして、例えば図26に示すような連続時
間信号を所定サンプル間隔でサンプリングし、そのデー
タA0,A1,A2,…を、シングルストリームのデー
タ列として第1段の基本ステージ16−1に入力する。
このとき、サンプリングするデータの数は、N=8の8
点FFTではA0〜A7の8個となる。図27は、図2
4,図25に示す8点のFFT装置によるFFTのアル
ゴリズムを説明するためのもので、この図27に示すよ
うに、第1段の基本ステージ16−1においては、A0
〜A7の8個のうちの2個のデータ組(A0,A4),
(A1,A5),(A2,A6),(A3,A7)がデ
ータ並替回路10により並べ替えられてバタフライ演算
回路11に(x,y)として入力される。
【0008】このバタフライ演算回路11では、入力デ
ータ(x,y)に対するバタフライ演算(たすき掛け演
算)が行なわれる。つまり、乗算部12によりデータy
毎に適当な捻り係数(回転因子)Wk を乗算し、加算回
路13により入力データxに乗算部12からの乗算結果
k ・yを加算した結果をデータX(=x+Wk ・y)
として出力するとともに、減算回路14により入力デー
タxに乗算部12からの乗算結果Wk ・yを減算した結
果をデータY(=x−Wk ・y)として出力する。
【0009】このようにして算出された第1段の基本ス
テージ16−1からの演算結果A10(=A0+Wk ・A
4),A11(=A1+Wk ・A5),…,A14(=A0
−W k ・A4),A15(=A1−Wk ・A5),…,A
17(=A3−Wk ・A7)は、第2段の基本ステージ1
6−2に入力される。この第2段の基本ステージ16−
2においては、A10〜A17のうちの2個のデータ組(A
10,A12),(A11,A13),(A14,A16),(A
15,A17)がデータ並替回路10により並べ替えられて
バタフライ演算回路11に入力され、上述と同様のバタ
フライ演算が行なわれ、その演算結果A20〜A27が第3
段の基本ステージ16−3に入力される。
【0010】さらに、第3段の基本ステージ16−3に
おいては、A20〜A27のうちの2個のデータ組(A20,
21),(A22,A23),(A24,A25),(A26,A
27)がデータ並替回路10により並べ替えられてバタフ
ライ演算回路11に入力され、上述と同様のバタフライ
演算が行なわれ、その演算結果A30〜A37がFFT結果
として出力される。なお、データを示す符号“A”の右
下に添えた数字1〜3は、そのデータが何段目の基本ス
テージからの出力であるかを示すものである。
【0011】つまり、各データ組は、基本ステージ16
−1,16−2,16−3の順でN/2,N/22 ,N
/23 ずつ離れたデータを対として選択されている。上
述した例は8点FFTであるので、基本ステージの段数
は3段であるが、FFT点数Nが2m であれば、1つ離
れたデータどうしがデータ組として選択されるまでバタ
フライ演算を行なう、即ちm(=log2m )段のバタフ
ライ演算を行なうことにより、N点のFFT結果が得ら
れる。
【0012】次に、直列型の前段部と並列型の後段部と
を組み合わせたFFT装置の一例を図28により説明す
る。この図28に示すFFT装置は、前段の直列型FF
T回路51Aと後段の並列型FFT回路51Bとから構
成され、基数r=2,FFT点数N=32のFFTを行
なうものである。そして、直列型FFT回路51Aは、
図24と同様に3段の基本ステージ16−1〜16−3
を直列に接続した4組の直列回路52−1〜52−4を
並列に配置した構成になっている。つまり、各直列回路
52−1〜52−4は、図24に示したFFT装置と同
様に、基数r=2,FFT点数N=8のFFTを行なう
構成になっている。なお、各基本ステージ16−1〜1
6−3は、図25により前述したものと同一の構成にな
っている。
【0013】また、並列型FFT回路51Bは、2組の
並列回路53A,53Bを並列に配置されるとともに、
4個のセレクタ(データ選択部)56−1〜56−4を
そなえて構成されている。並列回路53Aは、直列型F
FT回路51Aの各直列回路52−1〜52−4からの
X出力を入力されて基数r=2,FFT点数N=4のF
FTを行なうもので、図25により前述したバタフライ
演算回路11と同一構成の4個のバタフライ演算回路5
4−1,54−2,55−1,55−2を2行2列の形
式で配置されて構成されている。第4段のバタフライ演
算回路54−1からのX出力,Y出力はそれぞれ第5段
の2つのバタフライ演算回路55−1,55−2に入力
されるとともに、第4段のバタフライ演算回路54−2
からのX出力,Y出力もそれぞれ第5段の2つのバタフ
ライ演算回路55−1,55−2に入力されるようにな
っている。
【0014】並列回路53Bは、直列型FFT回路51
Aの各直列回路52−1〜52−4からのY出力を入力
されて基数r=2,FFT点数N=4のFFTを行なう
もので、4個のバタフライ演算回路54−3,54−
4,55−3,55−4を2行2列の形式で配置されて
構成されている。これらのバタフライ演算回路54−
3,54−4,55−3,55−4も、前述した並列回
路53Aのバタフライ演算回路54−1,54−2,5
5−1,55−2と同様に接続されている。
【0015】そして、第5段のバタフライ演算回路55
−1〜55−4からのX出力もしくはY出力のいずれか
一方が、セレクタ(データ選択部)56−1〜56−4
により選択されてFFT結果として出力されるようにな
っている。このような構成のFFT装置により、シング
ルストリームの32点のデータA00,A01,…,A31に
ついてFFTを行なう場合には、まず、これらのデータ
を4つの8点のデータグループA00,A04,A08,…,
A28;A01,A05,A09,…,A29;A02,A06,A1
0,…,A30;A03,A07,A11,…,A31に分け、各
データグループに対して、それぞれ前段の直列型FFT
回路51Aの各直列回路52−1〜52−4(3段の基
本ステージ16−1〜16−3)により8点のFFTを
行なう。
【0016】この後、直列回路52−1の基本ステージ
16−3からのX出力グループA300,A308,A316,A324
と直列回路52−3の基本ステージ16−3からのX出
力グループA302,A310,A318,A326とが、並列回路53
Aのバタフライ演算回路54−1に入力され、直列回路
52−2の基本ステージ16−3からのX出力グループ
A301,A309,A317,A325と直列回路52−4の基本ステ
ージ16−3からのX出力グループA303,A311,A319,
A327とが、並列回路53Aのバタフライ演算回路54−
2に入力される。
【0017】同様に、直列回路52−1の基本ステージ
16−3からのY出力グループA304,A312,A320,A328
と直列回路52−3の基本ステージ16−3からのY出
力グループA306,A314,A322,A330とが、並列回路53
Bのバタフライ演算回路54−3に入力され、直列回路
52−2の基本ステージ16−3からのY出力グループ
A305,A313,A321,A329と直列回路52−4の基本ステ
ージ16−3からのY出力グループA307,A315,A323,
A331とが、並列回路53Bのバタフライ演算回路54−
4に入力される。
【0018】そして、これらの並列回路53A,53B
により4点のFFTを行ない、セレクタ56−1〜56
−4により、例えば、第5段のバタフライ演算回路55
−1〜55−4のX出力を選択することで、FFT出力
の下半分側(周波数インデックスで0〜N/2-1)つまりA5
00,A508,A516,A524;A502,A510,A518,A526;A50
4,A512,A520,A528;A506,A514,A522,A530が、最
終的なFFT結果として出力される。ここで、データを
示す符号Aの右下に添えた数字3,5等は、そのデータ
が何段目の出力(基本ステージもしくはバタフライ演算
回路)であるかを示すものである。また、符号Aの右下
添字の後に付される数字は、データサンプリング順序を
示すシーケンシャルナンバーである。
【0019】このように、直列型FFT回路51Aと並
列型FFT回路1Bとを組み合わせることにより、フー
リエ変換の並列度を入力データの点数Nと処理速度との
関係において柔軟に定めることが可能になり、従って、
処理の高速性を確保しながら、その処理に必要なハード
ウエアの規模を縮小することができる。なお、上述した
例では、シングルストリームの32点データの場合につ
いて説明したが、マルチストリームモード(2,4,
8,16ストリームモード)の32点データについても
同様にしてFFTを行なうことができるが、その場合、
ストリーム数をIとすると、〔5−log2I〕段の基本ス
テージ16−1〜16−3,バタフライ演算回路54−
1〜54−4,55−1〜55−4を用いてFFTを行
ない、後段側の回路はデータをバイパス(スルー)して
FFT結果を出力する。
【0020】例えば、8ストリームモードの場合を図2
9に示す。この場合、〔5−log28〕=2であるので、
FFTは、最初の2段、つまり各直列回路52−1〜5
2−4における基本ステージ16−1,16−2を用い
て行ない、それ以降の基本ステージ16−3およびバタ
フライ演算回路54−1〜54−4,55−1〜55−
4では、FFTを行なわずにデータを通過させる。図2
9において、基本ステージ16−3およびバタフライ演
算回路54−1〜54−4,55−1〜55−4のブロ
ック中に記載された“====”がスルー動作状態にな
っていることを示している。
【0021】これにより、8ストリームモードの32点
データについて各ストリーム毎に4点FFTが施される
ことになる。このような機能を実現するために、各基本
ステージ16−1〜16−3,バタフライ演算回路54
−1〜54−4,55−1〜55−4には、通常、デー
タをバイパスさせるための機能もそなえられている。こ
こで、図29に示す例では、2ストリーム分のデータA
0〜A3;E0〜E3が直列回路52−1に入力され、
2ストリーム分のデータB0〜B3;F0〜F3が直列
回路52−2に入力され、2ストリーム分のデータC0
〜C3;G0〜G3が直列回路52−3に入力され、2
ストリーム分のデータD0〜D3;H0〜H3が直列回
路52−4に入力されている。なお、同一のアルファベ
ットで示されるデータは同一ストリームのデータである
ことを示し、各アルファベットの後の数字は、同一スト
リーム内でのデータ順序を示している。
【0022】そして、各直列回路52−1〜52−4の
最初の2段の基本ステージ16−1,16−2により、
各ストリーム毎に4点FFTが施される。基本ステージ
16−2からの出力A20〜A23;E20〜E23;B20〜B
23;F20〜F23;C20〜C23;G20〜G23;D20〜D
23;H20〜H23は、FFT結果として、後段の基本ステ
ージ16−3およびバタフライ演算回路54−1〜54
−4,55−1〜55−4を通過し、セレクタ56−1
〜56−4から出力される。
【0023】図29では、セレクタ56−1,56−2
はバタフライ演算回路55−1,55−2のX出力を選
択することで、符号“A”,“E”,“C”,“G”で
示すストリームデータについては、FFT出力の下半分
側(周波数インデックスで0〜N/2-1)つまりA20,A
22;E20,E22;C20,C22;G20,G22が、最終的な
FFT結果として出力される。
【0024】また、セレクタ56−3,56−4はバタ
フライ演算回路55−3,55−4のY出力を選択する
ことで、符号“B”,“F”,“D”,“H”で示すス
トリームデータについては、FFT出力の上半分側(周
波数インデックスでN/2 〜N-1)つまりB21,B23;F
21,F23;D21,D23;H21,H23が、最終的なFFT
結果として出力される。
【0025】ここで、データを示す各符号A〜Hの右下
に添えた数字2は、そのデータが第2段の基本ステージ
16−2からの出力であることを示している。また、各
符号A〜Hの右下添字の後に付される数字は、データサ
ンプリング順序を示すシーケンシャルナンバーである。
【0026】
【発明が解決しようとする課題】ところで、地球上の複
数箇所から同一天体(電波源)の観測を電波望遠鏡を行
なった場合には、各電波望遠鏡の受信機でサンプルした
信号をFFTした後、その複数箇所での観測結果(FF
T結果)について相関処理を施し、観測対象の電波源に
ついての情報を明確化することが行なわれている。この
とき、相関すべき対になる相手の周波数が互いに一致し
ている必要がある。
【0027】また、一般に、FFTを図24のような直
列型(パイプライン型)で構成した場合、FFTの最終
ステージからのX出力およびY出力からは、それぞれF
FT出力の下半分側(周波数インデックスで0〜N/2-
1)、または、上半分側(周波数インデックスでN/2 〜N-
1)に分離された状態で各周波数成分が取り出される。し
かし、同じ電波源を観測して得られたデータにおいて
も、各電波望遠鏡の受信機の局部発振の各周波数とアン
チ・エイリアシング・フィルタ(anti-aliasingfilter)
の通過帯域とによって、FFT出力の周波数成分のうち
下半分側が有効か上半分側が有効かは異なってくる。
【0028】これらのデータをFFTした後に相関処理
するためには、互いにFFT出力の下半分側か上半分側
からのどちらか有効な側の周波数成分を選択して取り出
し相関処理を行なう必要がある。このため、FFT装置
を図25に示す従来のバタフライ演算回路を用いてパイ
プライン型で構成した場合には、FFT後にデータ選択
回路を別にそなえる必要があった。
【0029】また、従来のバタフライ演算回路を用い
て、図29に示すように、前段の直列型FFT回路51
Aと後段の並列型FFT回路1BとからFFT装置を構
成し、入力としてマルチ・ストリーム形式のデータを扱
う場合には、最終段の各バタフライ演算回路55−1〜
55−4のX出力およびY出力から、周波数の同じ側
〔X出力が下半分側(図29に示すインデックス値でい
うと偶数)であれば、Y出力も下半分側〕が出力されて
しまう。
【0030】これでは、例えばストリームA,Bで両方
のFFT出力の下半分側を必要とするような場合、セレ
クタ56−1ではいずれか一方側だけしか出力できず、
一方のストリームについてのFFT結果が得られなくな
ってしまう。これを解決するためには、FFT後(最終
段のバタフライ演算回路55−1〜55−4と各セレク
タ56−1〜56−4との間)に複雑なハードウエア構
成のデータ選択部をそなえる必要があった。
【0031】なお、上述のような電波望遠鏡についての
相関処理と同様の処理は、***衝撃波の多点観測による
地中埋設物(石油,鉱脈,化石等)の位置割り出し等に
際しても用いられるものである。本発明は、このような
課題に鑑み創案されたもので、バタフライ演算出力のX
側,Y側を簡素な構成で任意に切替可能にし、直列型の
構成であっても、あるいは、前段直列型と後段並列型と
を組み合わせた構成であっても、FFT出力として所望
する側の周波数成分を容易に得られるようにして、多点
でのFFT結果に対する相関処理を行なう場合に極めて
有効な、バタフライ演算回路および同回路を用いた高速
フーリエ変換装置を提供することを目的とする。
【0032】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1は第1発明のバタフラ
イ演算回路で、このバタフライ演算回路1は、乗算回路
2,一対の加減算回路3A,3Bおよび切替回路4から
構成されている。ここで、乗算回路2は、2個の入力デ
ータの一方yに回転因子Wk を乗算するものであり、一
対の加減算回路3A,3Bは、乗算回路2からの乗算結
果Wk ・yと2個の入力データの他方xとについての加
算処理もしくは減算処理のいずれか一方を行ない、それ
ぞれ出力データX,Yとして出力するものである。ま
た、切替回路4は、一対の加減算回路3A,3Bのうち
加算処理を行なうものと減算処理を行なうものとを選択
的に切り替えるためのものである(請求項1)。
【0033】このとき、切替回路4の切替動作を指示す
る制御フラグを記憶する記憶回路をそなえ、各処理サイ
クル毎に、その記憶回路から制御フラグを読み出し、切
替回路4により制御フラグに応じた切替動作を行なうよ
うに構成してもよい(請求項2)。そして、本発明(第
2〜第5発明)の高速フーリエ変換装置は、上述したバ
タフライ演算回路1を用いて構成されている。
【0034】つまり、第2発明の高速フーリエ変換装置
は、入力データに対し基数2の高速フーリエ変換を行な
うべく、入力データを演算に応じた順序に従って適宜並
べ替え2個単位で出力するデータ並替回路とこのデータ
並替回路からの2個の入力データに対してバタフライ演
算を行なうバタフライ演算回路とからなる基本ステージ
を、入力データ数に応じて設定される段数だけ直列に接
続して構成され、少なくとも最終段の基本ステージのバ
タフライ演算回路を、図1により上述したバタフライ演
算回路1として構成している(請求項3)。
【0035】また、第3発明の高速フーリエ変換装置
は、多重化された複数のデータ列を入力データとして入
力され各データ列毎に基数2の高速フーリエ変換を行な
うべく、入力データを演算に応じた順序に従って適宜並
べ替え2個単位で出力するデータ並替回路とこのデータ
並替回路からの2個の入力データに対してバタフライ演
算を行なうバタフライ演算回路とこれらのデータ並替回
路およびバタフライ演算回路をバイパスして入力データ
をそのまま出力しうるバイパス回路とからなる基本ステ
ージを、入力データ数に応じて設定される段数だけ直列
に接続して構成され、複数のデータ列に対する高速フー
リエ変換のためのバタフライ演算を行なう基本ステージ
以外の基本ステージではバイパス回路を動作させるとと
もに、少なくとも最終のバタフライ演算を行なう基本ス
テージのバタフライ演算回路を、図1により上述したバ
タフライ演算回路1として構成している(請求項4)。
【0036】さらに、第4発明の高速フーリエ変換装置
は、入力データに対し基数2の高速フーリエ変換を行な
うべく、前記第2発明と同様の基本ステージを所定段数
だけ直列接続した直列回路が複数組並列に配置された直
列型高速フーリエ変換回路と、複数のバタフライ演算回
路を行列形式で配置・接続した並列回路を並列に一対そ
なえ各直列回路の2個の出力データをそれぞれ一対の並
列回路に入力される並列型高速フーリエ変換回路とから
構成され、少なくとも並列型高速フーリエ変換回路にお
ける最終段のバタフライ演算回路を、図1により上述し
たバタフライ演算回路1として構成している(請求項
5)。
【0037】またさらに、第5発明の高速フーリエ変換
装置は、多重化された複数のデータ列を入力データとし
て入力され各データ列毎に基数2の高速フーリエ変換を
行なうべく、前記第3発明と同様の基本ステージを所定
段数だけ直列接続した直列回路が複数組並列に配置され
た直列型高速フーリエ変換回路と、バイパス機能を有す
る複数のバタフライ演算回路を行列形式で配置・接続し
た並列回路を並列に一対そなえ各直列回路の2個の出力
データをそれぞれ一対の並列回路に入力される並列型高
速フーリエ変換回路とから構成され、バタフライ演算を
行なう直列型高速フーリエ変換回路における基本ステー
ジ以外の基本ステージではバイパス回路を動作させると
ともに、バタフライ演算を行なう並列型高速フーリエ変
換回路におけるバタフライ演算回路以外のバタフライ演
算回路ではバイパス機能を動作させ、少なくとも、最終
のバタフライ演算を行なう直列型高速フーリエ変換回路
における基本ステージのバタフライ演算回路、もしく
は、最終のバタフライ演算を行なう並列型高速フーリエ
変換回路におけるバタフライ演算回路を、図1により上
述したバタフライ演算回路1として構成している(請求
項6)。
【0038】なお、最終段の各バタフライ演算回路の後
段に、当該バタフライ演算回路からの2個の出力データ
のうちのいずれか一方を選択して出力するデータ選択部
をそなえる場合、複数のデータ列に対応して、データ選
択部の選択すべき出力データを予め設定しておいてもよ
い(請求項7)。また、上述した各高速フーリエ変換装
置において、各バタフライ演算回路1の切替回路4の切
替動作指示用の制御フラグを記憶する記憶回路をそな
え、各処理サイクル毎に、記憶回路から制御フラグを読
み出し、切替回路4により制御フラグに応じた切替動作
を行なうように構成してもよい(請求項8)。
【0039】
【作用】上述した第1発明のバタフライ演算回路では、
乗算回路2により入力データyに回転因子Wk を乗算し
て中間結果Wk ・yを出力し、一対の加減算回路3A,
3Bにより、乗算回路2からの乗算結果Wk ・yと入力
データxとについての加算処理もしくは減算処理のいず
れか一方を行ない、各処理結果をそれぞれ出力データ
X,Yとして出力する。
【0040】このとき、切替回路4により、加減算回路
3Aにて加算処理を、加減算回路3Bにて減算処理を行
なうように切り替えた場合には、加減算回路3Aからの
出力データX=x+Wk ・y,加減算回路3Bからの出
力データY=x−Wk ・yとなる一方、切替回路4によ
り、加減算回路3Aにて減算処理を、加減算回路3Bに
て加算処理を行なうように切り替えた場合には、加減算
回路3Aからの出力データX=x−Wk ・y,加減算回
路3Bからの出力データY=x+Wk ・yとなる。
【0041】つまり、切替回路4による切替動作に応じ
て、バタフライ演算回路1からのX出力およびY出力
を、x+Wk ・yまたはx−Wk ・yのいずれか一方に
任意に切り替えることができる(請求項1)。このと
き、切替回路4の切替動作を指示する制御フラグを記憶
回路に予め格納しておき、各処理サイクル毎に記憶回路
から制御フラグを順次取り出し、切替回路4にて制御フ
ラグに応じた切替動作を行なうことにより、加減算回路
3A,3Bで行なわれる演算をダイナミックに切り替え
ることができる(請求項2)。
【0042】上述した第2発明の高速フーリエ変換装置
では、データ並替回路およびバタフライ演算回路からな
る基本ステージが所定段数だけ直列に接続され、これら
の基本ステージにより入力データに対し基数2の高速フ
ーリエ変換が施される。このとき、最終段の基本ステー
ジのバタフライ演算回路1からのX出力およびY出力を
前述のように任意に切り替えることができるので、その
X出力およびY出力から、高速フーリエ変換した結果の
周波数成分のうち所望する側〔周波数インデックスで0
〜N/2-1 またはN/2 〜N-1(Nは2の巾乗数のデータ
数)〕の周波数成分を取り出すことができる(請求項
3)。
【0043】上述した第3発明の高速フーリエ変換装置
では、入力データとして多重化された複数のデータ列
(マルチストリーム形式のデータ)を取り扱う場合にお
いて、データ並替回路,バタフライ演算回路およびバイ
パス回路からなる基本ステージが所定段数だけ直列に接
続され、これらの基本ステージにより、データ列の多重
化数に応じた所定段数のバタフライ演算を行なうととも
に、バタフライ演算を行なう必要のない基本ステージで
はバイパス回路を動作させて入力データをそのまま通過
させることにより、各データ列毎に基数2の高速フーリ
エ変換が施される。このとき、最終のバタフライ演算を
行なう基本ステージのバタフライ演算回路1からのX出
力およびY出力を前述のように任意に切り替えることが
できるので、そのX出力およびY出力から、高速フーリ
エ変換した結果の周波数成分のうち所望する側(周波数
インデックスで0〜N/2-1 またはN/2 〜N-1)の周波数成
分を取り出すことができる(請求項4)。
【0044】上述した第4発明の高速フーリエ変換装置
では、前段の直列型高速フーリエ変換回路および後段の
並列型高速フーリエ変換回路により入力データに対し基
数2の高速フーリエ変換が施される。このとき、最終段
の基本ステージのバタフライ演算回路1からのX出力お
よびY出力を前述のように任意に切り替えることができ
るので、そのX出力およびY出力から、高速フーリエ変
換した結果の周波数成分のうち所望する側(周波数イン
デックスで0〜N/2-1 またはN/2 〜N-1)の周波数成分を
取り出すことができる(請求項5)。
【0045】上述した第5発明の高速フーリエ変換装置
では、入力データとして多重化された複数のデータ列
(マルチストリーム形式のデータ)を取り扱う場合にお
いて、バイパス機能を有する前段の直列型高速フーリエ
変換回路および後段の並列型高速フーリエ変換回路によ
り、データ列の多重化数に応じた所定段数のバタフライ
演算を行なうとともに、バタフライ演算を行なう必要の
ない基本ステージ,バタフライ演算回路ではバイパス機
能を動作させて入力データをそのまま通過させることに
より、各データ列毎に基数2の高速フーリエ変換が施さ
れる。このとき、最終のバタフライ演算を行なう直列型
高速フーリエ変換回路における基本ステージのバタフラ
イ演算回路1、もしくは、最終のバタフライ演算を行な
う並列型高速フーリエ変換回路におけるバタフライ演算
回路1からのX出力およびY出力を前述のように任意に
切り替えることができるので、そのX出力およびY出力
から、高速フーリエ変換した結果の周波数成分のうち所
望する側(周波数インデックスで0〜N/2-1 またはN/2
〜N-1)の周波数成分を取り出すことができる(請求項
6)。
【0046】なお、最終段の各バタフライ演算回路の後
段にデータ選択部をそなえる場合、複数のデータ列に対
応して、データ選択部の選択すべき出力データ(X出力
もしくはY出力)を予め設定しておくことにより、各々
のデータ列(ストリーム)について所望する側(周波数
インデックスで0〜N/2-1 またはN/2 〜N-1)の周波数成
分を取り出すことができる(請求項7)。
【0047】また、上述した各高速フーリエ変換装置に
おいても、各処理サイクル毎に記憶回路から制御フラグ
を順次取り出し、切替回路4にて制御フラグに応じた切
替動作を行なうことにより、最終ステージからの出力デ
ータの周波数成分を、所望する側にダイナミックに切り
替えることができる(請求項8)。
【0048】
【実施例】以下、図面を参照して本発明の実施例を説明
する。 (a)第1実施例の説明 まず、図2により、後述する本発明の各実施例の高速フ
ーリエ変換装置において用いられるバタフライ演算回路
の構成について説明する。
【0049】図2において、21は本実施例のバタフラ
イ演算回路で、このバタフライ演算回路21は、乗算回
路22,一対のCLA(Carry Lookahead Adder;加減算
回路)23A,23Bおよび切替回路24から構成され
ている。ここで、乗算回路22は、2個の入力データ
x,yの一方yに回転因子(捻り係数)Wk を乗算する
もので、回転因子Wk は図示しないメモリ(例えば図2
5の符号12b参照)から供給され、入力データyに応
じた回転因子Wk が、適宜、乗算回路21により入力デ
ータyに乗算されるようになっている。
【0050】また、一対のCLA23A,23Bは、後
述する切替回路24の機能と相まって、乗算回路22か
らの乗算結果Wk ・yと2個の入力データx,yの他方
xとについての加算処理もしくは減算処理のいずれか一
方を行ない、それぞれ出力データX,Yとして出力する
ものである。そして、切替回路24は、外部から供給さ
れるバタフライモード切替信号(1ビット信号)BMに
応じて一対のCLA23A,23Bのうち加算処理を行
なうものと減算処理を行なうものとを選択的に切り替え
るためのもので、インバータ回路25および一対の排他
的論理和回路(EOR)26A,26Bから構成されて
いる。
【0051】インバータ回路25は、CLA23Bのキ
ャリーイン端子Cinおよび排他的論理和回路26Bへの
入力ライン上に介設されており、外部からの切替信号B
Mが、CLA23Aのキャリーイン端子Cinに直接入力
されるとともに、インバータ回路25により反転されて
からCLA23Bのキャリーイン端子Cinに入力される
ようになっている。
【0052】排他的論理和回路26Aは、外部からの切
替信号BMと乗算回路22からの乗算結果Wk ・y(複
数ビット信号)との排他的論理和を算出して、CLA2
3Aのデータ入力端子Bへ出力するものであり、排他的
論理和回路26Bは、インバータ回路25により反転さ
れた切替信号BMと乗算回路22からの乗算結果Wk
y(複数ビット信号)との排他的論理和を算出して、C
LA23Bのデータ入力端子Bへ出力するものである。
【0053】なお、各CLA23A,23Bのデータ入
力端子Aには、入力データxが直接入力されている。ま
た、図2において、27は切替回路24の切替動作を指
示するための複数の制御フラグBFを設定・記憶する記
憶回路、28は記憶回路27から制御フラグBFを順次
取り出し前記切替信号BMとしてバタフライ演算回路2
1へ出力するマルチプレクサで、このマルチプレクサ2
8により、バタフライ演算時に、各処理サイクル毎に記
憶回路27から制御フラグBFを順次取り出して切替信
号BMとして各バタフライ演算回路21に与えること
で、CLA23A,23Bで行なわれる演算をダイナミ
ックに切り替えることが可能になっている。なお、これ
らの記憶回路27およびマルチプレクサ28による機能
は、後述するマルチストリームモード時に有効になる。
【0054】上述のごとく構成されているバタフライ演
算回路21の動作についてより詳細に説明すると、切替
信号BM=0である場合、CLA23Aのキャリーイン
端子Cinおよび排他的論理和回路26Aに“0”が入力
されるため、排他的論理和回路26Aからは乗算回路2
2による乗算結果Wk ・yがそのままCLA23Aへ出
力される。そして、CLA23Aにおいて、データ入力
端子Aから入力されたデータxと、データ入力端子Bか
ら入力されたデータWk ・yとが加算され、その加算結
果x+Wk ・yが出力データXとして出力される。
【0055】また、切替信号BM=0である場合、この
切替信号BMはインバータ回路25により反転され、C
LA23Bのキャリーイン端子Cinおよび排他的論理和
回路26Bには“1”が入力されるため、排他的論理和
回路26Bからは乗算回路22による乗算結果Wk ・y
が反転され、この乗算結果Wk ・yについての2の補数
がCLA23Bへ出力される。そして、CLA23Bに
おいて、キャリーイン端子Cinに入力された“1”と、
データ入力端子Aから入力されたデータxと、データ入
力端子Bから入力されたデータWk ・yついての2の補
数とを加算することにより、データxからデータWk
yを減算する減算処理が行なわれ、その減算結果x−W
k ・yが出力データYとして出力される。
【0056】逆に、切替信号BM=1である場合、CL
A23Aのキャリーイン端子Cinおよび排他的論理和回
路26Aに“1”が入力されるため、排他的論理和回路
26Aからは乗算回路22による乗算結果Wk ・yが反
転され、この乗算結果Wk ・yについての2の補数がC
LA23Aへ出力される。そして、CLA23Aにおい
て、キャリーイン端子Cinに入力された“1”と、デー
タ入力端子Aから入力されたデータxと、データ入力端
子Bから入力されたデータWk ・yついての2の補数と
を加算することにより、データxからデータWk ・yを
減算する減算処理が行なわれ、その減算結果x−Wk
yが出力データXとして出力される。
【0057】また、切替信号BM=1である場合、この
切替信号BMはインバータ回路25により反転され、C
LA23Bのキャリーイン端子Cinおよび排他的論理和
回路26Bには“0”が入力されるため、排他的論理和
回路26Bからは乗算回路22による乗算結果Wk ・y
がそのままCLA23Bへ出力される。そして、CLA
23Bにおいて、データ入力端子Aから入力されたデー
タxと、データ入力端子Bから入力されたデータWk
yとが加算され、その加算結果x+Wk ・yが出力デー
タYとして出力される。
【0058】このように、バタフライモード切替信号B
Mを“0”とすることにより、CLA23Aは加算器と
して機能するとともにCLA23Bは減算器として機能
する一方、バタフライモード切替信号BMを“1”とす
ることにより、CLA23Aは減算器として機能すると
ともにCLA23Bは加算器として機能することがで
き、切替信号BMの設定によって、一対のCLA23
A,23Bのうち加算処理を行なうものと減算処理を行
なうものとを選択的に切り替えることができるようにな
っている。
【0059】図3は本発明の第1実施例としての高速フ
ーリエ変換装置を示すブロック図である。この第1実施
例では、FFT装置が直列型であり、基数r=2とし、
サンプル値データ数(FFT点数)N=2M のシングル
ストリーム形式のデータに対してFFTを施す場合につ
いて説明する。この場合、図3に示すように、M段の基
本ステージ30−1,30−2,…,30−Mが直列に
接続されている。ここで、基本ステージ段数Mは、基数
rおよびFFT点数Nに基づいて、M= logr N=log2
M =Mとして与えられる。
【0060】各基本ステージ30−1〜30−Mは、図
4に示すように、データ並替回路31と、図2より前述
したバタフライ演算回路21とから構成されている。な
お、データ並替回路31は、図25に示した従来のもの
と同様に、外部から入力されるデータx,yを演算に応
じた順序に従って適宜並べ替えてバタフライ演算回路2
1へ2個単位で出力するものである。
【0061】上述の構成により、各基本ステージ30−
1〜30−Mにおいて、従来と同様に、データ並替回路
31によりデータの並替を行ないながら、バタフライ演
算回路21によるバタフライ演算を行なうことで、N
(=2M )個の入力データに対して基数2のFFTが施
される。このとき、本実施例では、最終段の基本ステー
ジ30−Mのバタフライ演算回路21からのX出力およ
びY出力を、バタフライモード切替信号BMの設定に応
じて切り替えることができる。つまり、切替信号BMを
“0”に設定すれば、最終段のバタフライ演算回路21
からのX出力およびY出力は従来通りになるが、切替信
号BMを“1”に設定すると、最終段のバタフライ演算
回路21からのX出力およびY出力は、従来とは逆のも
のになる。
【0062】従って、直列型のFFT装置において、最
終段のバタフライ演算回路21のX出力およびY出力か
ら、FFT結果の周波数成分のうち所望する側(周波数
インデックスで0〜N/2-1 またはN/2 〜N-1)の周波数成
分を容易に取り出すことができるので、多点でのFFT
結果に対する相関処理を確実かつ有効に行なうことがで
きる。
【0063】なお、上述した第1実施例では、基本ステ
ージ30−1〜30−Mにおけるバタフライ演算回路2
1を全て図2に示すような構成のものとしたが、少なく
とも最終段の基本ステージ30−Mにおけるバタフライ
演算回路21のみを図2に示すような構成とし、他の基
本ステージ30−1〜30−(M−1)におけるバタフ
ライ演算回路は図25に示す従来のもと同様構成として
もよく、この場合も、上述した実施例と同様の作用効果
を得ることができる。
【0064】(b)第2実施例の説明 図5は本発明の第2実施例としての高速フーリエ変換装
置を示すブロック図である。この第2実施例では、FF
T装置が直列型であり、基数r=2とし、サンプル値デ
ータ数(FFT点数)N=2M ,マルチストリーム形式
のデータ(多重化された複数のデータ列)に対してFF
Tを施す場合について説明する。ここでは、マルチスト
リーム数(多重化されたデータ列の数)をI(2の巾乗
数)とする。
【0065】この場合も、図5に示すように、第1実施
例と同様に、M段の基本ステージ30−1,30−2,
…,30−Mが直列に接続されているが、この第2実施
例の基本ステージ30−1〜30−Mには、図6に示す
ように、前述と同様のデータ並替回路31および図2に
示したバタフライ演算回路21のほかに、これらのデー
タ並替回路31およびバタフライ演算回路21をバイパ
スして入力データをそのまま出力しうる一対のバイパス
回路32A,32Bがそなえられている。
【0066】各バイパス回路32A,32Bは、それぞ
れ、バイパスライン33A,33Bおよびマルチプレク
サ34A,34Bから構成されている。ここで、バイパ
スライン33A,33Bは、それぞれ、入力データx,
yについてデータ並替回路31およびバタフライ演算回
路21を迂回させるためのものである。
【0067】また、マルチプレクサ34Aは、バタフラ
イ演算回路21からのX出力とバイパスライン33Aか
らの入力データxとを入力され、いずれか一方を選択的
に切り替えて出力するものであり、同様に、マルチプレ
クサ34Bは、バタフライ演算回路21からのY出力と
バイパスライン33Bからの入力データyとを入力さ
れ、いずれか一方を選択的に切り替えて出力するもの
で、これらのマルチプレクサ34A,34Bによる切替
動作は、外部からの制御信号により制御されるようにな
っている。
【0068】つまり、マルチプレクサ34A,34Bに
より、バタフライ演算回路21からのX出力,Y出力を
選択して出力することで、通常のバタフライ演算結果が
次段の基本ステージへ出力される一方、入力データx,
yを選択して出力することで、入力データx,yは、デ
ータ並替回路31およびバタフライ演算回路21による
処理を施されることなく、そのまま各基本ステージ30
−1〜30−Mを通過(スルー動作)することになる。
【0069】上述の構成により、マルチストリームモー
ド(2,4,8,16,…ストリームモード)のN点デ
ータについて、各データ列毎に以下のようにして基数2
のFFTが施される。Iマルチストリーム形式の場合、
基本ステージ30−1〜30−〔M−log2I〕により実
際のバタフライ演算を行なう一方、それよりも後段側の
log2I段分の基本ステージ30−〔(M−log2I)+
1〕〜30−Mについては、前述したバイパス回路32
A,32Bを動作させ、マルチプレクサ34A,34B
によりバイパスライン33A,33Bからの入力データ
x,yを選択することで、バタフライ演算を行なわない
スルー動作状態に切り替える。
【0070】また、最終のバタフライ演算を行なう基本
ステージ30−〔M−log2I〕に対しての制御フラグB
Fをストリーム数分のI個だけ記憶回路27に予め設定
しておき、バタフライ演算時には、マルチプレクサ28
により制御フラグBFを切替信号BMとして順次取り出
し、基本ステージ30−〔M−log2I〕のバタフライ演
算回路21における切替回路24に与えることで、第1
実施例と同様にして、基本ステージ30−〔M−log
2I〕からの出力データの周波数成分を、ストリーム
(データ列)毎に所望する側にダイナミックに切り替え
ることができる。
【0071】基本ステージ30−〔M−log2I〕からの
X出力,Y出力は、基本ステージ30−〔(M−log
2I)+1〕〜30−Mがスルー動作状態であるので、
そのまま各ステージを通過し、最終段の基本ステージ3
0−MのX出力,Y出力(FFT結果)として出力され
る。このように、本発明の第2実施例によれば、直列型
のFFT装置において、マルチストリーム形式のデータ
に対し基数2のFFT処理を行ないながら、最終のバタ
フライ演算を行なう基本ステージ30−〔M−log2I〕
のバタフライ演算回路21のX出力およびY出力から、
データ列毎にFFT結果の周波数成分のうち所望する側
(周波数インデックスで0〜N/2-1 またはN/2 〜N-1)の
周波数成分を容易に取り出すことができ、多点でのFF
T結果に対する相関処理を確実かつ有効に行なうことが
できる。
【0072】なお、上述した第2実施例では、マルチス
トリーム形式のデータに対してFFT処理を行なう場合
について説明したが、図5に示す本実施例のFFT装置
においても、バイパス回路32A,32Bを動作させず
全段の基本ステージ30−1〜30−Mによりバタフラ
イ演算を行なうことで、シングルストリーム形式のN点
のデータに対するFFTも、第1実施例と同様に行なう
ことができる。
【0073】また、上述した第2実施例では、基本ステ
ージ30−1〜30−Mにおけるバタフライ演算回路2
1を全て図2に示すような構成のものとしたが、少なく
とも最終のバタフライ演算を行なう基本ステージ30−
〔M−log2I〕におけるバタフライ演算回路21のみを
図2に示すような構成とし、他の基本ステージにおける
バタフライ演算回路は図25に示す従来のもと同様構成
としてもよく、この場合も、上述した実施例と同様の作
用効果を得ることができる。
【0074】さらに、上述した第2実施例では、基本ス
テージ30−1〜30−Mを全て図6に示すような構成
のものとしたが、少なくも基本ステージ30−〔(M−
log2I)+1〕〜30−Mにバイパス回路32A,32
Bをそなえ、他の基本ステージ30−1〜30−〔M−
log2I〕についてはバイパス回路32A,32Bを省略
してもよく、この場合も、上述した実施例と同様の作用
効果を得ることができる。
【0075】(c)第3実施例の説明 図7は本発明の第3実施例としての高速フーリエ変換装
置を示すブロック図である。この第3実施例では、FF
T装置が直列型の前段部と並列型の後段部とを組み合わ
せたものであり、基数r=2とし、サンプル値データ数
(FFT点数)N=2M のシングルストリーム形式のデ
ータに対してFFTを施す場合について説明する。
【0076】図7に示すように、第3実施例のFFT装
置は、前段の直列型FFT回路35と後段の並列型FF
T回路36とから構成されている。ここで、直列型FF
T回路35は、図4に示したものと同様構成のk段の基
本ステージ30−1〜30−kを直列に接続したn組の
直列回路37−1〜37−nを並列に配置した構成にな
っている。つまり、各直列回路37−1〜37−nは、
基数r=2,FFT点数N=2k のFFTを行なう構成
になっている。ここで、nは各FFTステージ段のバタ
フライ演算の並列度数である。
【0077】また、並列型FFT回路36は、2組の並
列回路38A,38Bを並列に配置されて構成されてい
る。並列回路38Aは、直列型FFT回路35の各直列
回路37−1〜37−nからのX出力を入力されて基数
r=2,FFT点数N=2M-k のFFTを行なうもの
で、図2により前述したものと同一構成のバタフライ演
算回路21を(n/2)行(M−k)列の形式で配置さ
れて構成されている。
【0078】並列回路38Bは、直列型FFT回路35
の各直列回路37−1〜37−nからのY出力を入力さ
れて基数r=2,FFT点数N=2M-k のFFTを行な
うもので、並列回路38Aと同様に図2により前述した
ものと同一構成のバタフライ演算回路21を(n/2)
行(M−k)列の形式で配置されて構成されている。こ
れらの並列回路38A,38Bでは、各バタフライ演算
回路21を行列配置して各段相互で入力ポートと出力ポ
ートを適宜接続するハードウエア構成に従って、データ
の並替が行なわれるようになっている。
【0079】そして、最終段のバタフライ演算回路21
からのX出力,Y出力がFFT結果として出力されるよ
うになっている。上述の構成により、直列型FFT回路
35および並列型FFT回路36において、基本的には
図28にて示した従来のものと同様にして、N個の入力
データに対する基数2のFFT処理が行なわれる。
【0080】このとき、本実施例でも、並列型FFT回
路36における最終段のn個のバタフライ演算回路21
からのX出力およびY出力を、バタフライモード切替信
号BMの設定に応じて切り替えることができる。つま
り、切替信号BMを“0”に設定すれば、最終段の各バ
タフライ演算回路21からのX出力およびY出力は従来
通りになるが、切替信号BMを“1”に設定すると、最
終段の各バタフライ演算回路21からのX出力およびY
出力は、従来とは逆のものになる。
【0081】従って、直列型の前段部と並列型の後段部
とを組み合わせたFFT装置において、最終段の各バタ
フライ演算回路21のX出力およびY出力から、FFT
結果の周波数成分のうち所望する側(周波数インデック
スで0〜N/2-1 またはN/2 〜N-1)の周波数成分を容易に
取り出すことができるので、多点でのFFT結果に対す
る相関処理を確実かつ有効に行なうことができる。
【0082】なお、上述した第3実施例では、FFT装
置を構成する全てのバタフライ演算回路21を全て図2
に示すような構成のものとしたが、少なくとも最終段の
バタフライ演算回路21のみを図2に示すような構成と
し、他のバタフライ演算回路は図25に示す従来のもと
同様構成としてもよく、この場合も、上述した実施例と
同様の作用効果を得ることができる。
【0083】(d)第4実施例の説明 図8は本発明の第4実施例としての高速フーリエ変換装
置を示すブロック図である。FFT装置が直列型の前段
部と並列型の後段部とを組み合わせたものであり、基数
r=2とし、第2実施例と同様に、サンプル値データ数
(FFT点数)N=2M ,マルチストリーム形式のデー
タに対してFFTを施す場合について説明する。ここで
は、マルチストリーム数をIとする。
【0084】本実施例のFFT装置は、図8に示すよう
に、第3実施例とほぼ同様に構成されているが、この第
4実施例では、直列型FFT回路35を構成する基本ス
テージ30−1〜30−kとしては、第2実施例におい
て図6により前述したものと同様、バイパス回路32
A,32Bを有するものが用いられるほか、並列型FF
T回路36を構成する各バタフライ演算回路21として
は、図9に示すようにバイパス回路39A,39Bを付
加されたものが用いられている。
【0085】図9に示すように、各バイパス回路39
A,39Bは、それぞれ、バイパスライン40A,40
Bおよびマルチプレクサ41A,41Bから構成されて
いる。ここで、バイパスライン40A,40Bは、それ
ぞれ、入力データx,yについてバタフライ演算回路2
1を迂回させるためのものである。また、マルチプレク
サ41Aは、バタフライ演算回路21からのX出力とバ
イパスライン40Aからの入力データxとを入力され、
いずれか一方を選択的に切り替えて出力するものであ
り、同様に、マルチプレクサ41Bは、バタフライ演算
回路21からのY出力とバイパスライン40Bからの入
力データyとを入力され、いずれか一方を選択的に切り
替えて出力するもので、これらのマルチプレクサ41
A,41Bによる切替動作は、外部からの制御信号によ
り制御されるようになっている。
【0086】つまり、マルチプレクサ41A,41Bに
より、バタフライ演算回路21からのX出力,Y出力を
選択して出力することで、通常のバタフライ演算結果が
次段のバタフライ演算回路21へ出力される一方、入力
データx,yを選択して出力することで、入力データ
x,yは、バタフライ演算回路21による処理を施され
ず、各バタフライ演算回路21を迂回(スルー動作)す
ることになる。
【0087】上述の構成により、マルチストリームモー
ド(2,4,8,16,…ストリームモード)のN点デ
ータについて、各データ列毎に以下のようにして基数2
のFFTが施される。Iマルチストリーム形式の場合、
〔M−log2I〕段の直列型FFT回路35における基本
ステージおよび並列型FFT回路36におけるバタフラ
イ演算回路21を用いてバタフライ演算が行なわれる。
なお、図8では、〔M−log2I〕段のバタフライ演算処
理が直列型FFT回路35内で終了する場合つまり〔M
−log2I〕<kの場合について説明する。
【0088】この場合、直列型FFT回路35内の各直
列回路37−1〜37−nにおける〔M−log2I〕段の
基本ステージ30−1〜30−〔M−log2I〕により実
際のバタフライ演算を行なう一方、それよりも後段側の
log2I段分の基本ステージ30−〔(M−log2I)+
1〕〜30−kおよび並列型FFT回路36内のバタフ
ライ演算回路21については、前述したバイパス回路3
2A,32Bおよび39A,39Bを動作させ、マルチ
プレクサ34A,34B,41A,41Bによりバイパ
スライン33A,33B,40A,40Bからの入力デ
ータx,yを選択することで、バタフライ演算を行なわ
ないスルー動作状態に切り替える。
【0089】また、第2実施例と同様に、最終のバタフ
ライ演算を行なう基本ステージ30−〔M−log2I〕に
対しての制御フラグBFをI/n(nは各FFTステー
ジ段のバタフライ演算の並列度数)個だけ記憶回路27
に予め設定しておき、バタフライ演算時には、マルチプ
レクサ28により制御フラグBFを切替信号BMとして
順次取り出し、各直列回路37−1〜37−nにおける
基本ステージ30−〔M−log2I〕のバタフライ演算回
路21における切替回路24に与えることで、第1,第
3実施例と同様にして、基本ステージ30−〔M−log2
I〕からの出力データの周波数成分を、ストリーム(デ
ータ列)毎に所望する側にダイナミックに切り替えるこ
とができる。
【0090】各直列回路37−1〜37−nにおける基
本ステージ30−〔M−log2I〕からのX出力,Y出力
は、直列型FFT回路35の基本ステージ30−〔(M
−log2I)+1〕〜30−kおよび並列型FFT回路3
6のバタフライ演算回路21がスルー動作状態であるの
で、そのまま各ステージを通過し、最終段のn個のバタ
フライ演算回路21のX出力,Y出力(FFT結果)と
して出力される。
【0091】このように、本発明の第4実施例によれ
ば、直列型の前段部と並列型の後段部とを組み合わせた
FFT装置において、マルチストリーム形式のデータに
対し基数2のFFT処理を行ないながら、最終のバタフ
ライ演算を行なうバタフライ演算回路21のX出力およ
びY出力から、データ列毎にFFT結果の周波数成分の
うち所望する側(周波数インデックスで0〜N/2-1 また
はN/2 〜N-1)の周波数成分を容易に取り出すことがで
き、多点でのFFT結果に対する相関処理を確実かつ有
効に行なうことができる。
【0092】なお、上述した第4実施例では、マルチス
トリーム形式のデータに対してFFT処理を行なう場合
について説明したが、図8に示す本実施例のFFT装置
においても、バイパス回路32A,32B,39A,3
9Bを動作させず全段のバタフライ演算回路21により
バタフライ演算を行なうことで、シングルストリーム形
式のN点のデータに対するFFTも第3実施例と同様に
行なうことができる。
【0093】(e)第5実施例の説明 図10は本発明の第5実施例としての高速フーリエ変換
装置を示すブロック図である。この第5実施例のFFT
装置は、図10に示すように、図8に示した第4実施例
のFFT装置と全く同様の構成のものに、セレクタ42
−1〜42−nからなるデータ選択部43を付加したも
のである。
【0094】このデータ選択部43を構成する各セレク
タ42−1〜42−nは、それぞれ、最終段の各バタフ
ライ演算回路21の後段に配置され、各バタフライ演算
回路21からの2個の出力データX,Yのうちのいずれ
か一方を選択して出力するものであり、本実施例では、
各データ列に対応して、各セレクタ42−1〜42−n
の選択すべき出力データが予め設定され、各々のデータ
列(ストリーム)について所望する側の周波数成分を取
り出すことができるようになっている。
【0095】次に、図11〜図23を参照しながら、よ
り具体的なFFT装置の動作について説明する。まず、
図11によりその具体的なFFT装置の構成を説明する
と、この図11に示すFFT装置では、直列型FFT回
路35は、バタフライ演算の並列度数n=4で、3段の
基本ステージ30−1〜30−3を直列に接続した4組
の直列回路37−1〜37−4を並列に配置した構成に
なっている。つまり、各直列回路37−1〜37−4
は、基数r=2,FFT点数N=8のFFTを行なう構
成になっている。なお、各基本ステージ30−1〜30
−3は、図6により前述したものと同一の構成になって
いる。
【0096】また、並列型FFT回路36は、図28,
図29に示したものと同様、2組の並列回路38A,3
8Bを並列に配置されるとともに、4個のセレクタ42
−1〜42−4からなるデータ選択部43をそなえて構
成されている。並列回路38Aは、直列型FFT回路3
5の各直列回路37−1〜37−4からのX出力を入力
されて基数r=2,FFT点数N=4のFFTを行なう
もので、図2により前述したバタフライ演算回路21と
同一構成で且つ図9により前述したバイパス回路39
A,39Bを有する4個のバタフライ演算回路44−
1,44−2,45−1,45−2を2行2列の形式で
配置されて構成されている。第4段のバタフライ演算回
路44−1からのX出力,Y出力はそれぞれ第5段の2
つのバタフライ演算回路45−1,45−2に入力され
るとともに、第4段のバタフライ演算回路44−2から
のX出力,Y出力もそれぞれ第5段の2つのバタフライ
演算回路45−1,45−2に入力されるようになって
いる。
【0097】並列回路38Bは、直列型FFT回路35
の各直列回路37−1〜37−4からのY出力を入力さ
れて基数r=2,FFT点数N=4のFFTを行なうも
ので、4個のバタフライ演算回路44−3,44−4,
45−3,45−4を2行2列の形式で配置されて構成
されている。これらのバタフライ演算回路44−3,4
4−4,45−3,45−4も、図2により前述したバ
タフライ演算回路21と同一構成で且つ図9により前述
したバイパス回路39A,39Bを有して構成されてお
り、前述した並列回路38Aのバタフライ演算回路44
−1,44−2,45−1,45−2と同様に接続され
ている。
【0098】これらの並列回路38A,38Bでは、各
バタフライ演算回路44−1〜44−4,45−1〜4
5−4を行列配置して各段相互で入力ポートと出力ポー
トを適宜接続するハードウエア構成に従って、データの
並替が行なわれ、FFT点数N=4のFFTが行なわれ
るようになっている。そして、第5段のバタフライ演算
回路45−1〜45−4からのX出力もしくはY出力の
いずれか一方が、データ選択部43のセレクタ42−1
〜42−4により選択されてFFT結果として出力され
るようになっている。
【0099】(e1)1ストリームモード時の動作の説
明 このように構成されたFFT装置により1ストリームモ
ードつまりシングルストリームモードの32点データデ
ータA00,A01,…,A31に対してFFT処理を行なう
場合について、図12により説明する。この場合、図2
8に示した従来の場合と同様に、まず、これらのデータ
を4つの8点のデータグループA00,A04,A08,…,
A28;A01,A05,A09,…,A29;A02,A06,A1
0,…,A30;A03,A07,A11,…,A31に分け、各
データグループに対して、それぞれ前段の直列型FFT
回路35の各直列回路37−1〜37−4(3段の基本
ステージ30−1〜30−3)により8点のFFTを行
なう。
【0100】この後、直列回路37−1の基本ステージ
30−3からのX出力グループA300,A308,A316,A324
と直列回路37−3の基本ステージ30−3からのX出
力グループA302,A310,A318,A326とが、並列回路38
Aのバタフライ演算回路44−1に入力され、直列回路
37−2の基本ステージ30−3からのX出力グループ
A301,A309,A317,A325と直列回路37−4の基本ステ
ージ30−3からのX出力グループA303,A311,A319,
A327とが、並列回路38Aのバタフライ演算回路44−
2に入力される。
【0101】同様に、直列回路37−1の基本ステージ
30−3からのY出力グループA304,A312,A320,A328
と直列回路37−3の基本ステージ30−3からのY出
力グループA306,A314,A322,A330とが、並列回路38
Bのバタフライ演算回路44−3に入力され、直列回路
37−2の基本ステージ30−3からのY出力グループ
A305,A313,A321,A329と直列回路37−4の基本ステ
ージ30−3からのY出力グループA307,A315,A323,
A331とが、並列回路53Bのバタフライ演算回路44−
4に入力される。
【0102】これらの並列回路38A,38Bにより4
点のFFTを行なうが、図12に示す例では、最終段の
バタフライ演算回路45−1〜45−4に対してバタフ
ライモード切替信号BMとして全て“0”が与えられて
いるので、X出力,Y出力の入替え(反転)は行なわれ
ず、従来通りにデータが出力されている。そして、セレ
クタ42−1〜42−4により、例えば、第5段のバタ
フライ演算回路55−1〜55−4のX出力を選択する
ことで、FFT出力の下半分側(周波数インデックスで
0〜N/2-1)つまりA500,A508,A516,A524;A502,A51
0,A518,A526;A504,A512,A520,A528;A506,A51
4,A522,A530が、最終的なFFT結果として出力され
る。
【0103】ここで、データを示す符号Aの右下に添え
た数字3,5等は、そのデータが何段目の出力(基本ス
テージもしくはバタフライ演算回路)であるかを示すも
のである。また、符号Aの右下添字の後に付される数字
は、データサンプリング順序を示すシーケンシャルナン
バーである。このような添字等についての規則は、図1
3〜図17による各ストリームモード時の動作の説明に
おいて共通のものとする。
【0104】(e2)2ストリームモード時の動作の説
明 次に、2ストリームモード(それぞれ符号A,Bで示す
データ列)の32点データデータA00,A01,…,A1
5;B00,B01,…,B15に対してFFT処理を行なう
場合について、図13により説明する。この場合、ま
ず、これらのデータを4つの8点のデータグループA0
0,A04,A08,…,A14;B00,B04,B08,…,B1
4;A01,A05,A09,…,A15;B01,B05,B09,
…,B15に分け、各データグループに対して、それぞれ
前段の直列型FFT回路35の各直列回路37−1〜3
7−4により8点のFFTを行なう。
【0105】このとき、ストリーム数は2であるので、
〔5−log22〕=4段の基本ステージ30−1〜30−
3,バタフライ演算回路44−1〜44−4を用いてF
FTを行ない、後段側のバタフライ演算回路45−1〜
45−4においては、バイパス回路39A,39Bを動
作させ、入力データをバイパス(スルー動作状態)して
いる。図13において、バタフライ演算回路45−1〜
45−4のブロック中に記載された“====”がスル
ー動作状態になっていることを示している。
【0106】これにより、2ストリームモードの32点
データについて各ストリーム毎に16点FFTが施され
ることになる。そして、各直列回路37−1〜37−4
の3段の基本ステージ30−1〜30−3により、まず
各ストリーム毎に8点FFTが施される。この後、直列
回路37−1の基本ステージ30−3からのX出力グル
ープA300,A304,A308,A312と直列回路37−3の基本
ステージ30−3からのX出力グループA301,A305,A3
09,A313とが、並列回路38Aのバタフライ演算回路4
4−1に入力され、直列回路37−2の基本ステージ3
0−3からのX出力グループB300,B304,B308,B312と
直列回路37−4の基本ステージ30−3からのX出力
グループB301,B305,B309,B313とが、並列回路38A
のバタフライ演算回路44−2に入力される。
【0107】同様に、直列回路37−1の基本ステージ
30−3からのY出力グループA302,A306,A310,A314
と直列回路37−3の基本ステージ30−3からのY出
力グループA303,A307,A311,A315とが、並列回路38
Bのバタフライ演算回路44−3に入力され、直列回路
37−2の基本ステージ30−3からのY出力グループ
B302,B306,B310,B314と直列回路37−4の基本ステ
ージ30−3からのY出力グループB303,B307,B311,
B315とが、並列回路53Bのバタフライ演算回路44−
4に入力される。
【0108】これらの並列回路38A,38Bの1段目
(つまり4段目)のバタフライ演算回路44−1〜44
−4により2点のFFTが行なわれ、これらのバタフラ
イ演算回路44−1〜44−4からのX出力,Y出力
が、そのまま2ストリームモードのFFT結果として、
5段目のバタフライ演算回路45−1〜45−4を通過
して出力される。ただし、図13に示す例では、最終の
バタフライ演算を行なう4段目のバタフライ演算回路4
4−1〜44−4のうち、バタフライ演算回路44−
1,44−3に対しては切替信号BMとして“0”を与
えるが、バタフライ演算回路44−2,44−4に対し
ては切替信号BMとして“1”を与えているので、バタ
フライ演算回路44−2,44−4のX出力,Y出力に
ついてはデータの入替え(反転)が行なわれている。な
お、図13中には、データの入替え(反転)を行なわな
い場合のデータ出力状態が( )付きの符号で示されて
いる。
【0109】従って、5段目のバタフライ演算回路45
−1のX出力グループ,Y出力グループはそれぞれA40
0,A404,A408,A412;B401,B405,B409,B413とな
り、5段目のバタフライ演算回路45−2のX出力グル
ープ,Y出力グループはそれぞれA401,A405,A409,A4
13;B400,B404,B408,B412となり、5段目のバタフラ
イ演算回路45−3のX出力グループ,Y出力グループ
はそれぞれA402,A406,A412,A414;B403,B407,B41
1,B415となり、5段目のバタフライ演算回路45−4
のX出力グループ,Y出力グループはそれぞれA403,A4
07,A411,A415;B402,B406,B410,B414となってい
る。
【0110】そして、図13に示す例では、セレクタ4
2−1〜42−4により、バタフライ演算回路45−
1,45−3についてはX出力を選択し、バタフライ演
算回路45−2,45−4についてはY出力を選択する
ことで、FFT出力の下半分側(周波数インデックスで
0〜N/2-1)つまりA400,A404,A408,A412;B400,B40
4,B408,B412;A402,A406,A412,A414;B402,B40
6,B410,B414が、最終的なFFT結果として出力され
る。
【0111】(e3)4ストリームモード時の動作の説
明 次に、4ストリームモード(それぞれ符号A,B,C,
Dで示すデータ列)の32点データデータA0,A1,
…,A8;B0,B1,…,B8;C0,C1,…,C
8;D0,D1,…,D8に対してFFT処理を行なう
場合について、図14により説明する。この場合、ま
ず、これら各8点のデータ列に対して、それぞれ前段の
直列型FFT回路35の各直列回路37−1〜37−4
により8点のFFTを行なう。
【0112】このとき、ストリーム数は4であるので、
〔5−log24〕=3段の基本ステージ30−1〜30−
3を用いてFFTを行ない、後段側の並列型FFT回路
36のバタフライ演算回路44−1〜44−4,44−
1〜45−4においては、バイパス回路39A,39B
を動作させ、入力データをバイパス(スルー動作状態)
している。
【0113】これにより、各直列回路37−1〜37−
4の3段の基本ステージ30−1〜30−3にて、4ス
トリームモードの32点データについて各ストリーム毎
に8点FFTが施され、3段目の基本ステージ30−3
からのX出力,Y出力が、そのまま4ストリームモード
のFFT結果として、4段目,5段目のバタフライ演算
回路44−1〜44−4,45−1〜45−4を通過し
て出力される。
【0114】ただし、図14に示す例では、最終のバタ
フライ演算を行なう3段目の基本ステージ30−3のバ
タフライ演算回路21のうち、直列回路37−1,37
−3のバタフライ演算回路21に対しては切替信号BM
として“0”を与えるが、直列回路37−2,37−4
のバタフライ演算回路21に対しては切替信号BMとし
て“1”を与えているので、そのバタフライ演算回路2
1のX出力,Y出力についてはデータの入替え(反転)
が行なわれている。
【0115】従って、5段目のバタフライ演算回路45
−1のX出力グループ,Y出力グループはそれぞれA
30,A32,A34,A36;B31,B33,B35,B37とな
り、5段目のバタフライ演算回路45−2のX出力グル
ープ,Y出力グループはそれぞれC30,C32,C34,C3
6;D31,D33,D35,D37となり、5段目のバタフラ
イ演算回路45−3のX出力グループ,Y出力グループ
はそれぞれA31,A33,A35,A37;B30,B32,B
34,B36となり、5段目のバタフライ演算回路45−
4のX出力グループ,Y出力グループはそれぞれC31,
C33,C35,C37;D30,D32,D34,D36となってい
る。
【0116】そして、図14に示す例では、セレクタ4
2−1〜42−4により、バタフライ演算回路45−
1,45−2についてはX出力を選択し、バタフライ演
算回路45−3,45−4についてはY出力を選択する
ことで、符号A,C,B,Dで示すデータ列についての
FFT出力の下半分側(周波数インデックスで0〜N/2-
1)つまりA30,A32,A34,A36;C30,C32,C34,
C36;B30,B32,B34,B36;D30,D32,D34,D3
6が、最終的なFFT結果として出力される。
【0117】(e4)8ストリームモード時の動作の説
明 次に、8ストリームモード(それぞれ符号A〜Hで示す
データ列)の32点データデータA0〜A3;B0〜B
3;C0〜C3;D0〜D3;E0〜E3;F0〜F
3;G0〜G3;H0〜H3に対してFFT処理を行な
う場合について、図15および図16により説明する。
【0118】図15および図16に示す例では、いずれ
も、2ストリーム分のデータA0〜A3;E0〜E3が
直列回路37−1に入力され、2ストリーム分のデータ
B0〜B3;F0〜F3が直列回路37−2に入力さ
れ、2ストリーム分のデータC0〜C3;G0〜G3が
直列回路37−3に入力され、2ストリーム分のデータ
D0〜D3;H0〜H3が直列回路37−4に入力さ
れ、これら各4点のデータ列に対して、それぞれ直列型
FFT回路35の各直列回路37−1〜37−4により
4点のFFTを行なう。
【0119】このとき、ストリーム数は8であるので、
〔5−log28〕=2段の基本ステージ30−1,30−
2を用いてFFTを行ない、各直列回路37−1〜37
−4の3段目の基本ステージ30−3および並列型FF
T回路36のバタフライ演算回路44−1〜44−4,
44−1〜45−4においては、バイパス回路32A,
32B,39A,39Bを動作させ、入力データをバイ
パス(スルー動作状態)している。
【0120】これにより、各直列回路37−1〜37−
4の2段の基本ステージ30−1,30−2にて、8ス
トリームモードの32点データについて各ストリーム毎
に4点FFTが施され、2段目の基本ステージ30−2
からのX出力,Y出力が、そのまま8ストリームモード
のFFT結果として、3段目の基本ステージ30−3お
よび4段目,5段目のバタフライ演算回路44−1〜4
4−4,45−1〜45−4を通過して出力される。
【0121】ただし、図15に示す例では、最終のバタ
フライ演算を行なう2段目の基本ステージ30−2のバ
タフライ演算回路21のうち、直列回路37−1,37
−3のバタフライ演算回路21に対しては切替信号BM
として“0”を与えるが、直列回路37−2,37−4
のバタフライ演算回路21に対しては切替信号BMとし
て“1”を与えているので、そのバタフライ演算回路2
1のX出力,Y出力についてはデータの入替え(反転)
が行なわれている。
【0122】従って、5段目のバタフライ演算回路45
−1のX出力グループ,Y出力グループはそれぞれA
20,E20 ,A22,E22 ;B21 ,F21,B23 ,F23とな
り、5段目のバタフライ演算回路45−2のX出力グル
ープ,Y出力グループはそれぞれC20 ,G20,C22 ,G2
2;D21,H21,D23,H23となり、5段目のバタフラ
イ演算回路45−3のX出力グループ,Y出力グループ
はそれぞれA21,E21 ,A23,E23 ;B20 ,F20,B22
,F22となり、5段目のバタフライ演算回路45−4
のX出力グループ,Y出力グループはそれぞれC21 ,G2
1,C23 ,G23;D20,H20,D22,H22となってい
る。
【0123】そして、図15に示す例では、セレクタ4
2−1〜42−4により、バタフライ演算回路45−
1,45−2についてはX出力を選択し、バタフライ演
算回路45−3,45−4についてはY出力を選択する
ことで、符号A〜Hで示す全てのデータ列についてのF
FT出力の下半分側(周波数インデックスで0〜N/2-1)
つまりA20,E20 ,A22,E22 ;C20 ,G20,C22 ,G2
2;B20 ,F20,B22 ,F22;D20,H20,D22,H2
が、最終的なFFT結果として出力される。
【0124】なお、図15に示す例では、最終のバタフ
ライ演算回路21毎にデータ入替え(反転)を設定して
いるが、最終のバタフライ演算を行なう2段目の基本ス
テージ30−3のバタフライ演算回路21でX出力,Y
出力のデータ入替え(反転)は、データ列(ストリー
ム)毎に行なってもよく、そのような制御を行なった例
を図16に示す。
【0125】この図16に示す例では、各データ列毎
に、最終のバタフライ演算を行なう2段目の基本ステー
ジ30−3のバタフライ演算回路21でX出力,Y出力
のデータ入替え(反転)を行なっている。つまり、直列
回路37−1の基本ステージ30−2のバタフライ演算
回路21に対しては、データ列Aについて切替信号BM
を“0”としデータ列Eについて切替信号BMを“1”
とすることで、データ列Eについてのみバタフライ演算
回路21のX出力,Y出力のデータ入替え(反転)を行
なっている。
【0126】同様に、直列回路37−2の基本ステージ
30−2のバタフライ演算回路21に対しては、データ
列Bについて切替信号BMを“0”としデータ列Eにつ
いて切替信号BMを“1”とすることで、データ列Fに
ついてのみバタフライ演算回路21のX出力,Y出力の
データ入替え(反転)を行なっている。また、直列回路
37−3の基本ステージ30−2のバタフライ演算回路
21に対しては、データ列Cについて切替信号BMを
“1”としデータ列Gについて切替信号BMを“0”と
することで、データ列Cについてのみバタフライ演算回
路21のX出力,Y出力のデータ入替え(反転)を行な
っている。
【0127】同様に、直列回路37−4の基本ステージ
30−2のバタフライ演算回路21に対しては、データ
列Dについて切替信号BMを“1”としデータ列Hにつ
いても切替信号BMを“1”とすることで、データ列
D,Hの両方ともバタフライ演算回路21のX出力,Y
出力のデータ入替え(反転)を行なっている。従って、
5段目のバタフライ演算回路45−1のX出力グルー
プ,Y出力グループはそれぞれA20,E21,A22,E
23;B20,F21,B22,F23となり、5段目のバタフ
ライ演算回路45−2のX出力グループ,Y出力グルー
プはそれぞれC21,G20,C23,G22;D21,H21,D2
3,H23となり、5段目のバタフライ演算回路45−3
のX出力グループ,Y出力グループはそれぞれA21,E2
0,A23,E22;B21,F20,B23,F22となり、5段
目のバタフライ演算回路45−4のX出力グループ,Y
出力グループはそれぞれC20,G21,C22,G23;D
20,H20,D22,H22となっている。
【0128】そして、図15に示す例では、セレクタ4
2−1〜42−4により、バタフライ演算回路45−
1,45−2についてはX出力を選択し、バタフライ演
算回路45−3,45−4についてはY出力を選択する
ことで、符号A,D,F,G,Hで示すデータ列につい
てのFFT出力の下半分側(周波数インデックスで0〜
N/2-1)と符号B,C,Eで示すデータ列についてのFF
T出力の上半分側(周波数インデックスでN/2 〜N-1)と
が、つまりA20,E21,A22,E23;C21,G20,C
23,G22;B21,F20,B23,F22;D20,H20,D2
2,H22が、最終的なFFT結果として出力される。
【0129】(e5)16ストリームモード時の動作の
説明 次に、16ストリームモード(それぞれ符号A〜Pで示
すデータ列)の32点データデータA0,A1;B0,
B1;C0,C1;…;P0,P1に対してFFT処理
を行なう場合について、図17により説明する。図17
に示す例では、4ストリーム分のデータA0,A1;E
0,E1;I0,I1;M0,M1が直列回路37−1
に入力され、4ストリーム分のデータB0,B1;F
0,F1;J0,J1;N0,N1が直列回路37−2
に入力され、4ストリーム分のデータC0,C1;G
0,G1;K0,K1;O0,O1が直列回路37−3
に入力され、4ストリーム分のデータD0,D1;H
0,H1;L0,L1;P0,P1が直列回路37−4
に入力され、これら各2点のデータ列に対して、それぞ
れ直列型FFT回路35の各直列回路37−1〜37−
4により2点のFFTを行なう。
【0130】このとき、ストリーム数は16であるの
で、〔5−log216〕=1段の基本ステージ30−1を
用いてFFTを行ない、各直列回路37−1〜37−4
の2段目,3段目の基本ステージ30−2,30−3お
よび並列型FFT回路36のバタフライ演算回路44−
1〜44−4,44−1〜45−4においては、バイパ
ス回路32A,32B,39A,39Bを動作させ、入
力データをバイパス(スルー動作状態)している。
【0131】これにより、各直列回路37−1〜37−
4の1段目の基本ステージ30−1にて、16ストリー
ムモードの32点データについて各ストリーム毎に2点
FFTが施され、1段目の基本ステージ30−1からの
X出力,Y出力が、そのまま16ストリームモードのF
FT結果として、2段目,3段目の基本ステージ30−
2,30−3および4段目,5段目のバタフライ演算回
路44−1〜44−4,45−1〜45−4を通過して
出力される。
【0132】ただし、図17に示す例では、最終のバタ
フライ演算を行なう1段目の基本ステージ30−1のバ
タフライ演算回路21のうち、直列回路37−1,37
−3のバタフライ演算回路21に対しては切替信号BM
として“0”を与えるが、直列回路37−2,37−4
のバタフライ演算回路21に対しては切替信号BMとし
て“1”を与えているので、そのバタフライ演算回路2
1のX出力,Y出力についてはデータの入替え(反転)
が行なわれている。
【0133】従って、5段目のバタフライ演算回路45
−1のX出力グループ,Y出力グループはそれぞれA
10,E10 ,I10,M10;B11 ,F11,J11,N11とな
り、5段目のバタフライ演算回路45−2のX出力グル
ープ,Y出力グループはそれぞれC10 ,G10,K10,O1
0;D11,H11,L11,P11となり、5段目のバタフラ
イ演算回路45−3のX出力グループ,Y出力グループ
はそれぞれA11,E11 ,I11,M11;B10 ,F10,J
10,N10となり、5段目のバタフライ演算回路45−
4のX出力グループ,Y出力グループはそれぞれC11 ,
G11,K11,O11;D10,H10,L10,P10となってい
る。
【0134】そして、図15に示す例では、セレクタ4
2−1〜42−4により、バタフライ演算回路45−
1,45−2についてはX出力を選択し、バタフライ演
算回路45−3,45−4についてはY出力を選択する
ことで、符号A〜Hで示す全てのデータ列についてのF
FT出力の下半分側(周波数インデックスで0〜N/2-1)
つまりA10,E10 ,I10,M10;C10 ,G10,K10,O1
0;B10 ,F10,J10,N10;D10,H10,L10,P1
が、最終的なFFT結果として出力される。
【0135】なお、この16ストリームモードの場合
も、図16により8ストリームモードの場合について前
述したように、1段目の基本ステージ30−1のバタフ
ライ演算回路21において、各データ列(ストリーム)
毎に、データ入替え(反転)を行なってもよい。 (e6)FFTデータストリーム構成の具体例の説明 次に、図18〜図23に、図12〜図17にて前述した
各ストリームモード時における具体的なFFTデータ・
ストリーム形式およびセレクタによる選択状態を示す。
FFT処理を施した後のデータ列をFFTデータストリ
ームと呼ぶが、このFFTデータストリームは、図12
〜図17で示した各制御モードと以下に示すセグメント
サイズとの組合せにより構成される。セグメントサイズ
は、ストリーム毎の相関処理を行なう単位、即ちFFT
点数で、例えば32から16384(16K)までのサ
イズがある。
【0136】なお、図18〜図23はそれぞれ図12〜
図17に対応しており、図18〜図23において、アル
ファベットの符号はそれぞれ多重化されたデータ列(ス
トリームネーム)を示し、各アルファベットの左上に添
えられた数字はセグメントナンバーであり、各アルファ
ベットの右下に添えられた数字はシーケンシャルナンバ
ーである。
【0137】また、図18〜図23において、最上段の
列が図11に示したFFT装置におけるバタフライ演算
回路45−1のX出力、上から2段目の列がバタフライ
演算回路45−1のY出力であり、同様に、上から3段
目,4段目の列はそれぞれバタフライ演算回路45−2
のX出力,Y出力であり、上から5段目,6段目の列が
それぞれバタフライ演算回路45−3のX出力,Y出力
であり、上から7段目,8段目の列がそれぞれバタフラ
イ演算回路45−4のX出力,Y出力である。
【0138】さらに、図18〜図23において、最終段
のバタフライ演算回路45−1〜45−4の後段におけ
るセレクタ42−1〜42−4により各バタフライ演算
回路45−1〜45−4のX出力,Y出力のいずれを選
択したかを、各図中、“*”にて示している。上述した
本実施例のFFT装置は、電波望遠鏡による観測結果に
ついて相関処理を施す前のFFT処理(この場合ストリ
ームモードは観測周波数帯域あるいはアンテナ毎の観測
データ列の種類となる)に用いられるほか、ソナーブイ
を用いた水中反射音の観測による水中対象物の位置割り
出しや***衝撃波の多点観測による地中埋設物(石油,
鉱脈,化石等)の位置割り出し等に際して相関処理を施
す前のFFT処理にも用いられ、FFT結果の周波数成
分のうち所望する側の周波数成分を容易に得ることがで
きるので、有効な成分のみを取り出して、多点でのFF
T結果に対する相関処理を確実に行なえるのである。
【0139】
【発明の効果】以上詳述したように、本発明のバタフラ
イ演算回路によれば、切替回路により一対の加減算回路
の加算処理,減算処理を切り替えることで、X出力およ
びY出力を任意に切り替えることができるので、高速フ
ーリエ変換を行なう場合に所望する周波数成分を取り出
すことが可能になる(請求項1,2)。
【0140】また、本発明のバタフライ演算回路を用い
た高速フーリエ変換装置によれば、シングルストリーム
形式のデータ,マルチストリーム形式のデータのいずれ
の場合でも、最終ステージのバタフライ演算回路からの
X出力およびY出力を任意に切り替えることができるの
で、そのX出力およびY出力から、高速フーリエ変換し
た結果の周波数成分のうち所望する側の周波数成分を容
易に得ることができ、多点での高速フーリエ変換結果に
対する相関処理を確実かつ有効に行なえる効果がある
(請求項3〜8)。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の各実施例の高速フーリエ変換装置にお
いて用いられるバタフライ演算回路の構成を示すブロッ
ク図である。
【図3】本発明の第1実施例としての高速フーリエ変換
装置を示すブロック図である。
【図4】第1実施例の基本ステージの構成を示すブロッ
ク図である。
【図5】本発明の第2実施例としての高速フーリエ変換
装置を示すブロック図である。
【図6】第2実施例の基本ステージの構成を示すブロッ
ク図である。
【図7】本発明の第3実施例としての高速フーリエ変換
装置を示すブロック図である。
【図8】本発明の第4実施例としての高速フーリエ変換
装置を示すブロック図である。
【図9】第4実施例のバイパス機能を有するバタフライ
演算回路を示すブロック図である。
【図10】本発明の第5実施例としての高速フーリエ変
換装置を示すブロック図である。
【図11】第5実施例としての高速フーリエ変換装置の
具体的構成を示すブロック図である。
【図12】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図13】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図14】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図15】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図16】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図17】第5実施例の動作(FFTデータの流れ)を
説明するためのブロック図である。
【図18】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図19】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図20】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図21】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図22】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図23】第5実施例におけるFFTデータ・ストリー
ム形式およびセレクタによる選択状態を示す図である。
【図24】従来の直列型の高速フーリエ変換装置を示す
ブロック図である。
【図25】従来の基本ステージ(基本回路)の構成を示
すブロック図である。
【図26】一般的なシングルストリームのデータ列の生
成動作を説明するための図である。
【図27】一般的な高速フーリエ変換のアルゴリズムを
説明するための図である。
【図28】直列型の前段部と並列型の後段部とを組み合
わせた従来の高速フーリエ変換装置を示すブロック図で
ある。
【図29】図28に示す高速フーリエ変換装置の動作を
説明するためのブロック図である。
【符号の説明】
1 バタフライ演算回路 2 乗算回路 3A,3B 加減算回路 4 切替回路 21 バタフライ演算回路 22 乗算回路 23A,23B CLA(加減算回路) 24 切替回路 25 インバータ回路 26A,26B 排他的論理和回路(EOR) 27 記憶回路 28 マルチプレクサ 30−1〜30−M 基本ステージ 31 データ並替回路 32A,32B バイパス回路 33A,33B バイパスライン 34A,34B マルチプレクサ 35 直列型FFT回路 36 並列型FFT回路 37−1〜37−n 直列回路 38A,38B 並列回路 39A,39B バイパス回路 40A,40B バイパスライン 41A,41B マルチプレクサ 42−1〜42−n セレクタ 43 データ選択部 44−1〜44−4,45−1〜45−4 バタフライ
演算回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 2個の入力データの一方に回転因子を乗
    算する乗算回路と、 該乗算回路からの乗算結果と該2個の入力データの他方
    とについての加算処理もしくは減算処理のいずれか一方
    を行なう一対の加減算回路と、 該一対の加減算回路のうち加算処理を行なうものと減算
    処理を行なうものとを選択的に切り替えうる切替回路と
    をそなえたことを特徴とする、バタフライ演算回路。
  2. 【請求項2】 該切替回路の切替動作を指示する制御フ
    ラグを記憶する記憶回路をそなえ、 各処理サイクル毎に、該記憶回路から制御フラグを読み
    出し、該切替回路により該制御フラグに応じた切替動作
    を行なうことを特徴とする、請求項1記載のバタフライ
    演算回路。
  3. 【請求項3】 入力データに対し基数2の高速フーリエ
    変換を行なうべく、入力データを演算に応じた順序に従
    って適宜並べ替え2個単位で出力するデータ並替回路と
    該データ並替回路からの2個の入力データに対してバタ
    フライ演算を行なうバタフライ演算回路とからなる基本
    ステージを、入力データ数に応じて設定される段数だけ
    直列に接続して構成され、 少なくとも最終段の前記基本ステージの該バタフライ演
    算回路が、 2個の入力データの一方に回転因子を乗算する乗算回路
    と、 該乗算回路からの乗算結果と該2個の入力データの他方
    とについての加算処理もしくは減算処理のいずれか一方
    を行なう一対の加減算回路と、 該一対の加減算回路のうち加算処理を行なうものと減算
    処理を行なうものとを選択的に切り替えうる切替回路と
    をそなえて構成されていることを特徴とする、バタフラ
    イ演算回路を用いた高速フーリエ変換装置。
  4. 【請求項4】 多重化された複数のデータ列を入力デー
    タとして入力され、各データ列毎に基数2の高速フーリ
    エ変換を行なうべく、 入力データを演算に応じた順序に従って適宜並べ替え2
    個単位で出力するデータ並替回路と、該データ並替回路
    からの2個の入力データに対してバタフライ演算を行な
    うバタフライ演算回路と、これらのデータ並替回路およ
    びバタフライ演算回路をバイパスして入力データをその
    まま出力しうるバイパス回路とからなる基本ステージ
    を、入力データ数に応じて設定される段数だけ直列に接
    続して構成され、 前記複数のデータ列に対する高速フーリエ変換のための
    バタフライ演算を行なう基本ステージ以外の基本ステー
    ジでは該バイパス回路を動作させるとともに、 少なくとも最終のバタフライ演算を行なう基本ステージ
    の該バタフライ演算回路が、 2個の入力データの一方に回転因子を乗算する乗算回路
    と、 該乗算回路からの乗算結果と該2個の入力データの他方
    とについての加算処理もしくは減算処理のいずれか一方
    を行なう一対の加減算回路と、 該一対の加減算回路のうち加算処理を行なうものと減算
    処理を行なうものとを選択的に切り替えうる切替回路と
    をそなえて構成されていることを特徴とする、バタフラ
    イ演算回路を用いた高速フーリエ変換装置。
  5. 【請求項5】 入力データに対し基数2の高速フーリエ
    変換を行なうべく、 入力データを演算に応じた順序に従って適宜並べ替え2
    個単位で出力するデータ並替回路と該データ並替回路か
    らの2個の入力データに対してバタフライ演算を行なう
    バタフライ演算回路とからなる基本ステージを所定段数
    だけ直列接続した直列回路が複数組並列に配置された直
    列型高速フーリエ変換回路と、 複数のバタフライ演算回路を行列形式で配置・接続した
    並列回路を並列に一対そなえ、該直列型高速フーリエ変
    換回路における各直列回路の2個の出力データをそれぞ
    れ該一対の並列回路に入力される並列型高速フーリエ変
    換回路とから構成され、 少なくとも該並列型高速フーリエ変換回路における最終
    段の該バタフライ演算回路が、 2個の入力データの一方に回転因子を乗算する乗算回路
    と、 該乗算回路からの乗算結果と該2個の入力データの他方
    とについての加算処理もしくは減算処理のいずれか一方
    を行なう一対の加減算回路と、 該一対の加減算回路のうち加算処理を行なうものと減算
    処理を行なうものとを選択的に切り替えうる切替回路と
    をそなえて構成されていることを特徴とする、バタフラ
    イ演算回路を用いた高速フーリエ変換装置。
  6. 【請求項6】 多重化された複数のデータ列を入力デー
    タとして入力され、各データ列毎に基数2の高速フーリ
    エ変換を行なうべく、 入力データを演算に応じた順序に従って適宜並べ替え2
    個単位で出力するデータ並替回路と、該データ並替回路
    からの2個の入力データに対してバタフライ演算を行な
    うバタフライ演算回路と、これらのデータ並替回路およ
    びバタフライ演算回路をバイパスして入力データをその
    まま出力しうるバイパス回路とからなる基本ステージを
    所定段数だけ直列接続した直列回路が複数組並列に配置
    された直列型高速フーリエ変換回路と、 バイパス機能を有する複数のバタフライ演算回路を行列
    形式で配置・接続した並列回路を並列に一対そなえ、該
    直列型高速フーリエ変換回路における各直列回路の2個
    の出力データをそれぞれ該一対の並列回路に入力される
    並列型高速フーリエ変換回路とから構成され、 前記複数のデータ列に対する高速フーリエ変換のための
    バタフライ演算を行なう該直列型高速フーリエ変換回路
    における基本ステージ以外の基本ステージでは該バイパ
    ス回路を動作させるとともに、前記複数のデータ列に対
    する高速フーリエ変換のためのバタフライ演算を行なう
    該並列型高速フーリエ変換回路におけるバタフライ演算
    回路以外のバタフライ演算回路では該バイパス機能を動
    作させ、 少なくとも、最終のバタフライ演算を行なう該直列型高
    速フーリエ変換回路における基本ステージの該バタフラ
    イ演算回路、もしくは、最終のバタフライ演算を行なう
    該並列型高速フーリエ変換回路における該バタフライ演
    算回路が、 2個の入力データの一方に回転因子を乗算する乗算回路
    と、 該乗算回路からの乗算結果と該2個の入力データの他方
    とについての加算処理もしくは減算処理のいずれか一方
    を行なう一対の加減算回路と、 該一対の加減算回路のうち加算処理を行なうものと減算
    処理を行なうものとを選択的に切り替えうる切替回路と
    をそなえて構成されていることを特徴とする、バタフラ
    イ演算回路を用いた高速フーリエ変換装置。
  7. 【請求項7】 最終段の各バタフライ演算回路の後段
    に、当該バタフライ演算回路からの2個の出力データの
    うちのいずれか一方を選択して出力するデータ選択部を
    そなえる場合、前記複数のデータ列に対応して、該デー
    タ選択部の選択すべき出力データを予め設定しておくこ
    とを特徴とする、請求項4または請求項6に記載のバタ
    フライ演算回路を用いた高速フーリエ変換装置。
  8. 【請求項8】 該バタフライ演算回路における該切替回
    路の切替動作を指示する制御フラグを記憶する記憶回路
    をそなえ、 各処理サイクル毎に、該記憶回路から制御フラグを読み
    出し、該切替回路により該制御フラグに応じた切替動作
    を行なうことを特徴とする、請求項3〜7のいずれかに
    記載のバタフライ演算回路を用いた高速フーリエ変換装
    置。
JP6272742A 1994-11-07 1994-11-07 バタフライ演算回路および同回路を用いた高速フーリエ変換装置 Withdrawn JPH08137832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6272742A JPH08137832A (ja) 1994-11-07 1994-11-07 バタフライ演算回路および同回路を用いた高速フーリエ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6272742A JPH08137832A (ja) 1994-11-07 1994-11-07 バタフライ演算回路および同回路を用いた高速フーリエ変換装置

Publications (1)

Publication Number Publication Date
JPH08137832A true JPH08137832A (ja) 1996-05-31

Family

ID=17518143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6272742A Withdrawn JPH08137832A (ja) 1994-11-07 1994-11-07 バタフライ演算回路および同回路を用いた高速フーリエ変換装置

Country Status (1)

Country Link
JP (1) JPH08137832A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148623A (ja) * 2005-11-25 2007-06-14 Matsushita Electric Ind Co Ltd 高速フーリエ変換回路
JP2012089053A (ja) * 2010-10-22 2012-05-10 Raytron:Kk フーリエ変換処理装置
US9785614B2 (en) 2013-01-23 2017-10-10 Nec Corporation Fast Fourier transform device, fast Fourier transform method, and recording medium storing fast Fourier transform program
US9934199B2 (en) 2013-07-23 2018-04-03 Nec Corporation Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
US9952648B2 (en) 2013-09-24 2018-04-24 Nec Corporation Digital filtering device, digital filtering method, and storage media storing program
WO2019031418A1 (ja) 2017-08-07 2019-02-14 日本電気株式会社 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム記録媒体
US10853445B2 (en) 2016-04-19 2020-12-01 Nec Corporation Digital filter device, digital filtering method, and program recording medium
WO2021193947A1 (ja) * 2020-03-26 2021-09-30 日本電気株式会社 デジタルフィルタ装置
US11604852B2 (en) 2017-12-27 2023-03-14 Nec Corporation Signal processing apparatus, method, program, and recording medium
US12019700B2 (en) 2018-05-22 2024-06-25 Nec Corporation Signal processing apparatus, method, program, and recording medium

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148623A (ja) * 2005-11-25 2007-06-14 Matsushita Electric Ind Co Ltd 高速フーリエ変換回路
JP2012089053A (ja) * 2010-10-22 2012-05-10 Raytron:Kk フーリエ変換処理装置
US9785614B2 (en) 2013-01-23 2017-10-10 Nec Corporation Fast Fourier transform device, fast Fourier transform method, and recording medium storing fast Fourier transform program
US9934199B2 (en) 2013-07-23 2018-04-03 Nec Corporation Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
US9952648B2 (en) 2013-09-24 2018-04-24 Nec Corporation Digital filtering device, digital filtering method, and storage media storing program
US10853445B2 (en) 2016-04-19 2020-12-01 Nec Corporation Digital filter device, digital filtering method, and program recording medium
WO2019031418A1 (ja) 2017-08-07 2019-02-14 日本電気株式会社 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム記録媒体
US11604852B2 (en) 2017-12-27 2023-03-14 Nec Corporation Signal processing apparatus, method, program, and recording medium
US12019700B2 (en) 2018-05-22 2024-06-25 Nec Corporation Signal processing apparatus, method, program, and recording medium
WO2021193947A1 (ja) * 2020-03-26 2021-09-30 日本電気株式会社 デジタルフィルタ装置

Similar Documents

Publication Publication Date Title
US5471412A (en) Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
JP3749022B2 (ja) 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム
US5669010A (en) Cascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US4821224A (en) Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
AU610934B2 (en) A transform processing circuit
JP2950703B2 (ja) 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法
WO1998043180A1 (en) Memory address generator for an fft
US5038311A (en) Pipelined fast fourier transform processor
US5270953A (en) Fast convolution multiplier
JP3938238B2 (ja) 高速フーリエ変換処理装置
US5034910A (en) Systolic fast Fourier transform method and apparatus
EP0128298A2 (en) Orthogonal transformer and apparatus operational thereby
JPH08137832A (ja) バタフライ演算回路および同回路を用いた高速フーリエ変換装置
US6189021B1 (en) Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations
EP0953175B1 (en) Method and apparatus for fft computation
WO1999010818A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
US9002919B2 (en) Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method
US6209012B1 (en) System and method using mode bits to support multiple coding standards
JPH08320858A (ja) フーリエ変換演算装置および方法
EP0080266B1 (en) Discrete fourier transform circuit
USH570H (en) Fast Fourier transform data address pre-scrambler circuit
US6202148B1 (en) Commutator circuit
JP3088472B2 (ja) フーリエ変換装置
Minasyan et al. On unified architectures for synthesizing and implementation of fast parametric transforms
US5987486A (en) Apparatus and method for data processing

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020115