JPH11203272A - 高速フーリエ変換処理装置、高速フーリエ変換処理システムおよび高速フーリエ変換処理方法 - Google Patents
高速フーリエ変換処理装置、高速フーリエ変換処理システムおよび高速フーリエ変換処理方法Info
- Publication number
- JPH11203272A JPH11203272A JP10015971A JP1597198A JPH11203272A JP H11203272 A JPH11203272 A JP H11203272A JP 10015971 A JP10015971 A JP 10015971A JP 1597198 A JP1597198 A JP 1597198A JP H11203272 A JPH11203272 A JP H11203272A
- Authority
- JP
- Japan
- Prior art keywords
- data
- result
- fast fourier
- fourier transform
- complex
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast 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)
Abstract
速で行う。 【解決手段】 サンプル点数が4n ×2個または4n 個
の複素数データをA〜Dに4分割した後でA〜Dのi番
目の複素数データAi ,Bi ,Ci ,Di とひねり係数
Wi1,Wi2,Wi3,Wi4を用いたバタフライ演算ai =
{(Ai +Ci )+(Bi +Di )}×Wi1、ci =
{(Ai +Ci )−(Bi +Di )}×Wi3、bi =
{(Ai −Ci )−j(Bi −Di )}×Wi2、di =
{(Ai −Ci)+j(Bi −Di )}×Wi4を行う演
算処理をn回繰り返した後、サンプル点数が4n ×2個
の場合にはバタフライ演算ai =Ai +Bi 、bi =A
i −Bi、ci =Ci +Di 、di =Ci −Di を1回
行う。
Description
等の信号解析やデジタル伝送の変復調処理に使用する高
速フーリエ変換処理に関するものであり、より詳細に
は、離散的な複素数入力信号の系列に対して可変サンプ
ル点の高速フーリエ変換処理またはその逆変換処理を実
行する高速フーリエ変換処理に関するものである。
タル伝送の変復調処理等において、高速フーリエ変換処
理装置が使用されている。かかる高速フーリエ変換処理
装置としては、例えば、“ISSCC89,Digest,pp166-167,3
27,THPM12.5:A200MIPS Single-Chip 1K FFT Processor
”に記載されたものが知られている。
理装置では、2ポートRAM、ひねり係数ROM、複数
の演算器からなるデータパスを用いて演算処理を行う構
成となっている。また、この装置では、複数のデータパ
スを備えており、並列処理を行うことによって内部演算
のスループットを向上させている。
レジスタファイルで挟んでなるパイプライン構成を備え
ており、入力された複素数データを時間領域から周波数
領域へ変換するフーリエ変換や、周波数領域から時間領
域に変換するフーリエ逆変換を、パイプライン処理によ
って実行する。
1024点の場合、256点の場合、64点の場合につ
いて、基数4のアルゴリズムに基づく高速フーリエ変換
を実行する。
るような従来の高速フーリエ変換処理装置は、データパ
スアーキテクチャが基数4の高速フーリエ変換アルゴリ
ズム用のものであるため、高速フーリエ変換のサンプル
点数が4のべき乗であるときは高速の処理が可能である
ものの、それ以外の数値である場合には処理効率が非常
に悪くなってしまうという欠点があった。例えば、サン
プル点数が512(44 ×2)点の場合や128(43
×2)点の場合は、高速フーリエ変換処理を行うこと自
体は可能であるものの、非常に効率が悪い処理を行わな
ければならないので、処理速度が遅くなる。
は、内部ワーキングメモリが不足する場合には複数個の
装置を並列接続して処理を行うことができるが、この処
理を行う場合には外付部品として複素加減算器、複素乗
算器、作業用メモリ等を新たに追加してシステムの構築
を行わなければならず、装置規模が非常に大きくなって
しまうという欠点があった。例えば、上述の文献に開示
されている高速フーリエ変換処理装置では、単一の装置
では1024点を越えるサンプル点数の高速フーリエ変
換を行うことができないため、例えばサンプル点数が2
048点の場合や4096点の場合には、上述のような
新たなシステムを構築しなければならない。
2のいずれの高速フーリエ変換アルゴリズムにも対応す
ることができ、また、サンプル点数を2倍に拡張する場
合に外付部品を用いることなく単に複数個のチップを接
続するだけでよい高速フーリエ変換処理装置の登場が嘱
望されていた。
高速フーリエ変換処理装置は、離散値の複素数データを
入力して、可変サンプル点数の高速フーリエ変換演算を
基数4または基数2のアルゴリズムで実行する高速フー
リエ変換処理装置に関するものである。
4n 個(nは自然数)の複素数データを外部から入力し
て1つのグループとして一時的に記憶する作業用記憶手
段と、この作業用記憶手段に記憶された複素数データの
各グループを計算列とサンプル点番号とにしたがって4
個のグループA,B,C,Dに分割し、分割後の各グル
ープA,B,C,Dに属するi番目の複素数データA
i ,Bi ,Ci ,Di とひねり係数Wi1,Wi2,Wi3,
Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段に複素数デー
タAi ,Bi ,Ci ,Di としてそれぞれ記憶する一連
の演算処理をn回繰り返し、サンプル点数が4n ×2個
の場合にはさらにこの演算処理によって得られた複素数
データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段にそれぞれ記
憶する演算処理を1回行う演算手段とを備える。
処理装置は、離散値の複素数データを入力して、可変サ
ンプル点数の高速フーリエ変換演算を基数4または基数
2のアルゴリズムで実行する高速フーリエ変換処理装置
に関するものである。
4n 個(nは自然数)の複素数データを外部から入力し
て1つのグループとして一時的に記憶する作業用記憶手
段と、この作業用記憶手段に記憶された複素数データの
各グループを計算列とサンプル点番号とにしたがって1
6個のグループAG1,BG1,CG1,DG1,AG2,BG2,
CG2,DG2,AG3,BG3,CG3,DG3,AG4,BG4,C
G4,DG4に分割し、分割後の各グループの組合せ
{AG1,BG1,CG1,DG1},{AG2,BG2,CG2,D
G2},{AG3,BG3,CG3,DG3},{AG4,BG4,C
G4,DG4}のそれぞれについて、各組合わせの各グルー
プに属するi番目の複素数データAi ,Bi ,Ci ,D
i とひねり係数Wi1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) を実行する第1の演算手段と、この第1の演算手段の演
算結果ai ,bi ,ci,di を4個ずつ取り込んで4
行4列の行列を形成した後でこの行列を転置し、これに
より得られた転置行列を構成する複素数データを1列ず
つ出力する転置手段と、この転置手段から入力した複素
数データをAi ,Bi ,Ci ,Di として演算(1)〜
(4)を順次行うとともにその結果であるai ,bi ,
ci ,diを作業用記憶手段にグループの組合せ
{AG1,AG2,AG3,AG4},{BG1,BG2,BG3,B
G4},{CG1,CG2,CG3,CG4},{DG1,DG2,D
G3,DG4}に順次記憶させる第2の演算手段とを備え
る。
処理装置は、離散値の複素数データを入力して、可変サ
ンプル点数の高速フーリエ変換演算を基数4または基数
2のアルゴリズムで実行する高速フーリエ変換処理装置
に関するものである。
2または4n ;nは自然数)個の複素数データを外部か
ら入力して1つのグループとして一時的に記憶する作業
用記憶手段と、この作業用記憶手段に記憶された複素数
データの各グループを計算列とサンプル点番号とにした
がって8個のグループA1 ,B1 ,C1 ,D1 ,A2,
B2 ,C2 ,D2 に分割し、分割後の各グループA1 ,
B1 ,C1 ,D1 ,A2 ,B2 ,C2 ,D2 に属するi
番目の複素数データA1i,B1i,C1i,D1i,A2i,B
2i,C2i,D2iとひねり係数W1i1 ,W1i2 ,W1i3 ,
W1i4 ,W2i1,W2i2 ,W2i3 ,W2i4 を用いた演算 a1i={(A1i+C1i)+(B1i+D1i)}×W1i1 ・・・(1) c1i={(A1i+C1i)−(B1i+D1i)}×W1i3 ・・・(2) b1i={(A1i−C1i)−j(B1i−D1i)}×W1i2 ・・・(3) d1i={(A1i−C1i)+j(B1i−D1i)}×W1i4 ・・・(4) a2i={(A2i+C2i)+(B2i+D2i)}×W2i1 ・・・(5) c2i={(A2i+C2i)−(B2i+D2i)}×W2i3 ・・・(6) b2i={(A2i−C2i)−j(B2i−D2i)}×W2i2 ・・・(7) d2i={(A2i−C2i)+j(B2i−D2i)}×W2i4 ・・・(8) をすべてのiについて実行するとともにその結果である
a1i,b1i,c1i,d1i,a2i,b2i,c2i,d2iを作
業用記憶手段に複素数データA1i,B1i,C1i,D1i,
A2i,B2i,C2i,D2iとしてそれぞれ記憶する一連の
演算処理を1回行った後、作業記憶手段に記憶された複
素数データを計算列とサンプル点番号とにしたがって4
個のグループに分割する処理を1回行い、さらに、これ
らの各グループを計算列とサンプル点番号とにしたがっ
て4個のグループA,B,C,Dに分割し、分割後の各
グループA,B,C,Dに属するi番目の複素数データ
Ai,Bi ,Ci ,Di とひねり係数Wi1,Wi2,
Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(9) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(10) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(11) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(12) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段に複素数デー
タAi ,Bi ,Ci ,Di としてそれぞれ記憶する一連
の演算処理をn−1回繰り返し、N=4n ×2の場合に
はさらにこの演算処理によって得られた複素数データA
i ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(13) bi =Ai −Bi ・・・(14) ci =Ci +Di ・・・(15) di =Ci −Di ・・・(16) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段にそれぞれ記
憶する演算処理を1回行う演算手段とを備える。
処理システムは、離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
装置であって、サンプル点数が4n ×2個または4n 個
(nは自然数)の複素数データを外部から入力して1つ
のグループとして一時的に記憶する作業用記憶手段と、
この作業用記憶手段に記憶された複素数データの各グル
ープを計算列とサンプル点番号とにしたがって4個のグ
ループA,B,C,Dに分割し、分割後の各グループ
A,B,C,Dに属するi番目の複素数データAi ,B
i ,Ci ,Di とひねり係数Wi1,Wi2,Wi3,Wi4を
用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段に複素数デー
タAi ,Bi ,Ci ,Di としてそれぞれ記憶する一連
の演算処理をn回繰り返し、サンプル点数が4n ×2個
の場合にはさらにこの演算処理によって得られた複素数
データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段にそれぞれ記
憶する演算処理を1回行う演算手段とを備えた高速フー
リエ変換処理装置の複数個と、これらの高速フーリエ変
換処理装置が、それぞれ、選択的に複素数データを入力
するための入力データ選択回路と、且つ、複数個の高速
フーリエ変換処理装置から選択的に演算処理後の複素数
データを出力させる出力データ選択回路とを備える。
処理システムは、離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
装置であって、サンプル点数が4n ×2個または4n 個
(nは自然数)の複素数データを外部から入力して1つ
のグループとして一時的に記憶する作業用記憶手段と、
この作業用記憶手段に記憶された複素数データの各グル
ープを計算列とサンプル点番号とにしたがって4個のグ
ループA,B,C,Dに分割し、分割後の各グループ
A,B,C,Dに属するi番目の複素数データAi ,B
i ,Ci ,Di とひねり係数Wi1,Wi2,Wi3,Wi4を
用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段に複素数デー
タAi ,Bi ,Ci ,Di としてそれぞれ記憶する一連
の演算処理をn回繰り返し、サンプル点数が4n ×2個
の場合にはさらにこの演算処理によって得られた複素数
データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段にそれぞれ記
憶する演算処理を1回行う演算手段とを備えた高速フー
リエ変換処理装置の複数個と、外部からの複素数データ
または他の高速フーリエ変換処理装置の出力した複素数
データを選択的に入力させるために、高速フーリエ変換
処理装置ごとに設けられた入力データ選択回路と、それ
ぞれの高速フーリエ変換処理装置から選択的に演算処理
後の複素数データを出力させる出力データ選択回路とを
備える。
処理方法は、離散値の複素数データを入力して、可変サ
ンプル点数の高速フーリエ変換演算を基数4または基数
2のアルゴリズムで実行する高速フーリエ変換処理方法
に関するものである。
4n 個(nは自然数)の複素数データを外部から入力し
て1つのグループとして一時的に記憶する第1の処理過
程と、一時的に記憶された複素数データの各グループを
計算列とサンプル点番号とにしたがって4個のグループ
A,B,C,Dに分割し、分割後の各グループA,B,
C,Dに属するi番目の複素数データAi ,Bi ,C
i ,Di とひねり係数W i1,Wi2,Wi3,Wi4を用いた
演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにai ,bi ,c
i ,di をAi ,Bi ,Ci ,Di に代入する一連の演
算処理をn回繰り返し、サンプル点数が4n ×2個の場
合にはさらにこの演算処理によって得られた複素数デー
タAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをそれぞれAi ,Bi ,Ci ,
Di に代入する演算処理を1回行う第2の処理過程とを
備える。
処理方法は、離散値の複素数データを入力して、可変サ
ンプル点数の高速フーリエ変換演算を基数4または基数
2のアルゴリズムで実行する高速フーリエ変換処理方法
に関する。
4n 個(nは自然数)の複素数データを外部から入力し
て1つのグループとして一時的に記憶する第1の処理過
程と、一時的に記憶された複素数データの各グループを
計算列とサンプル点番号とにしたがって16個のグルー
プAG1,BG1,CG1,DG1,AG2,BG2,CG2,DG2,
AG3,BG3,CG3,DG3,AG4,BG4,CG4,DG4に分
割する第1の演算ステップと、分割後の各グループの組
合せ{AG1,BG1,CG1,DG1},{AG2,BG2,
CG2,DG2},{AG3,BG3,CG3,DG3},{AG4,
BG4,CG4,DG4}のそれぞれについて、各組合わせの
各グループに属するi番目の複素数データA i ,Bi ,
Ci ,Di とひねり係数Wi1,Wi2,Wi3,Wi4を用い
た演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行する第2の演算ステップと、
この第2の演算ステップの演算結果ai ,bi ,ci ,
di を4個ずつ取り込んで4行4列の行列を形成した後
でこの行列を転置し、これにより得られた転置行列を構
成する複素数データを1列ずつ出力する第3の演算ステ
ップと、これらの複素数データをAi ,Bi ,Ci ,D
i として演算(1)〜(4)をすべてのiについて順次
実行するとともにai ,bi ,ci ,di をグループの
組合せ{AG1,AG2,AG3,AG4},{BG1,BG2,B
G3,BG4},{CG1,CG2,CG3,,CG4},{DG1,
DG2,DG3,DG4}の各複素数データAi ,Bi ,C
i ,Di に順次代入する第4の演算ステップとからなる
一連の演算処理を演算(1)〜(4)の実行回数が合計
n回となるまで繰り返し、サンプル点数が4n ×2個の
場合にはさらにこの演算処理によって得られた複素数デ
ータAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをそれぞれAi ,Bi ,Ci ,
Di に代入する演算処理を1回行う第2の処理過程とを
備える。
処理方法は、離散値の複素数データを入力して、可変サ
ンプル点数の高速フーリエ変換演算を基数4または基数
2のアルゴリズムで実行する高速フーリエ変換処理方法
に関するものである。
2または4n ;nは自然数)個の複素数データを外部か
ら入力して1つのグループとして一時的に記憶する第1
の処理過程と、一時的に記憶された複素数データの各グ
ループを計算列とサンプル点番号とにしたがって8個の
グループA1 ,B1 ,C1 ,D1 ,A2 ,B2 ,C2,
D2 に分割し、分割後の各グループA1 ,B1 ,C1 ,
D1 ,A2 ,B2 ,C2 ,D2 に属するi番目の複素数
データA1i,B1i,C1i,D1i,A2i,B2i,C2i,D
2iとひねり係数W1i1 ,W1i2 ,W1i3 ,W1i4 ,W
2i1 ,W2i2 ,W2i3 ,W2i4 を用いた演算 a1i={(A1i+C1i)+(B1i+D1i)}×W1i1 ・・・(1) c1i={(A1i+C1i)−(B1i+D1i)}×W1i3 ・・・(2) b1i={(A1i−C1i)−j(B1i−D1i)}×W1i2 ・・・(3) d1i={(A1i−C1i)+j(B1i−D1i)}×W1i4 ・・・(4) a2i={(A2i+C2i)+(B2i+D2i)}×W2i1 ・・・(5) c2i={(A2i+C2i)−(B2i+D2i)}×W2i3 ・・・(6) b2i={(A2i−C2i)−j(B2i−D2i)}×W2i2 ・・・(7) d2i={(A2i−C2i)+j(B2i−D2i)}×W2i4 ・・・(8) をすべてのiについて実行するとともにその結果である
a1i,b1i,c1i,d1i,a2i,b2i,c2i,d2iをA
1i,B1i,C1i,D1i,A2i,B2i,C2i,D2iに代入
する一連の演算処理を1回行った後、作業記憶手段に記
憶された複素数データを計算列とサンプル点番号とにし
たがって4個のグループに分割する処理を1回行い、さ
らに、これらの各グループを計算列とサンプル点番号と
にしたがってさらに4個のグループA,B,C,Dに分
割し、分割後の各グループA,B,C,Dに属するi番
目の複素数データAi ,Bi ,Ci ,Di とひねり係数
Wi1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(9) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(10) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(11) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(12) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをAi ,Bi ,Ci ,Di に代
入する一連の演算処理をn−1回繰り返し、N=4n ×
2の場合にはさらにこの演算処理によって得られた複素
数データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(17) bi =Ai −Bi ・・・(18) ci =Ci +Di ・・・(19) di =Ci −Di ・・・(20) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをAi ,Bi ,Ci ,Di に代
入する演算処理を1回行う第2の処理過程とを備える。
処理方法は、離散値の複素数データを入力して、サンプ
ル点数がN個の高速フーリエ変換演算を基数4または基
数2のアルゴリズムで実行する第1の高速フーリエ変換
処理装置および第2の高速フーリエ変換処理装置を設け
てなる高速フーリエ変換処理システムを用いて、サンプ
ル点数が2N個の高速フーリエ変換処理を行なう高速フ
ーリエ変換処理方法に関するものである。
4n ×2個または4n 個;nは自然数)の複素数データ
を、サンプル点番号にしたがってN/4個ずつ第1の高
速フーリエ変換処理装置および第2の高速フーリエ変換
処理装置の各作業用記憶手段にそれぞれ交互に格納する
ことにより、これらの作業用記憶手段に複素数データを
それぞれ1グループとして記憶させる第1の処理過程
と、第1の高速フーリエ変換処理装置および第2の高速
フーリエ変換処理装置の作業用記憶手段に記憶された複
素数データの各グループを計算列とサンプル点番号とに
従って4個のグループA,B,C,Dにそれぞれ分割
し、分割後の各グループA,B,C,Dに属するi番目
の複素数データAi ,Bi ,Ci ,Di とひねり係数W
i1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段に複素数デー
タAi ,Bi ,Ci ,Di としてそれぞれ記憶し、さら
に、第1の高速フーリエ変換処理装置のグループC,D
に属する複素数データと第2の高速フーリエ変換処理装
置のグループA,Bに属する複素数データとをそれぞれ
入れ替えたのち、第1の高速フーリエ変換処理装置およ
び第2の高速フーリエ変換処理装置のそれぞれについて
グループBに属する複素数データとグループCに属する
複素数データを入れ替える第2の処理過程と、第1の高
速フーリエ変換処理装置および第2の高速フーリエ変換
処理装置の作業用記憶手段に記憶された複素数データの
各グループを計算列とサンプル点番号とに従ってさらに
4個のグループA,B,C,Dにそれぞれ分割し、分割
後の各グループA,B,C,Dに属するi番目の複素数
データAi ,Bi ,Ci ,Di とひねり係数Wi1,
Wi2,Wi3,Wi4を用いて演算(1)〜(4)をすべて
のiについて実行するとともにその結果であるai ,b
i ,ci ,di を作業用記憶手段に複素数データAi ,
Bi ,Ci ,Di としてそれぞれ記憶する一連の演算処
理をn−1回繰り返し、サンプル点数が4n ×2個の場
合にはさらにこの演算処理によって得られた複素数デー
タAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを作業用記憶手段にAi ,B
i ,Ci ,Di としてそれぞれ記憶する演算処理を1回
行う第3の処理過程とを備える。
いて、図面を用いて説明する。なお、図中、各構成成分
の大きさ、形状および配置関係は、この発明が理解でき
る程度に概略的に示してあるにすぎず、また、以下に説
明する数値的条件は単なる例示にすぎないことを理解さ
れたい。
3を用いて説明する。なお、この実施の形態では、サン
プル点数が2048点の場合を例にとって説明する。
エ変換処理装置の構成を概略的に示すブロック図であ
る。
を入力する入力端子101と虚数部を入力する入力端子
102とは、それぞれ、レジスタ103,104の入力
端に接続されている。そして、これらのレジスタ10
3,104の出力端は、セレクタ105,106の一方
の入力端に接続されている。また、セレクタ105,1
06の出力データは、作業用RAM107に取り込まれ
る。
ッファ部107aと、実数データ記憶部107bと、虚
数データ記憶部107cと、データ出力バッファ部10
7dとを備えている。この作業用RAM107には、2
048点の複素数データを格納することができる。
は、第1のデータパス108および第2のデータパス1
09に入力される。また、sin/cos係数用ROM
110はひねり係数を記憶している。そして、このsi
n/cos係数用ROM110から出力されたひねり係
数も、第1のデータパス108および第2のデータパス
109に入力される。
タパス109は、入力データおよびひねり係数を用いて
後述するような演算処理を行い、演算結果を示すデータ
を出力する。そして、この出力データは、作業用RAM
107に、セレクタ105,106を介して入力され
る。続いて、この作業用RAM107の出力信号が、そ
れぞれ、セレクタ111,112に入力される。そし
て、これらのセレクタ111,112の出力信号は、レ
ジスタ113,114を介して、実数部用の出力端子1
15および虚数部用の出力端子116に供給される。
ータパス108,109の出力信号の他、作業用RAM
107の出力信号およびsin/cos係数用ROM1
10の出力信号も入力される。そして、後述するシーケ
ンス制御部119の制御によって選択された信号を、レ
ジスタ113,114を介して、出力端子115,11
6に供給する。
たシステムクロック信号SCLKを変換して、メモリア
ドレス発生部118およびシーケンス制御部119に供
給する。
生成部117から入力されたクロック信号のタイミング
にしたがってアドレス信号を発生させ、作業用RAM1
07およびsin/cos係数用ROM110に供給す
る。
された状態制御信号およびクロック生成部117から入
力されたクロック信号にしたがって、作業用RAM10
7、データパス108,109およびsin/cos係
数用ROM110の動作を制御するとともに、セレクタ
105,106,111,112の出力信号を選択す
る。また、外部に対して、状態表示信号を出力すること
もできる。
パス108および第2のデータパス109の内部構造を
概念的に示したものである。
108,109は、一段目の演算器として、加算器20
1,202と、減算器203と、複素減算器204とを
備えている。そして、加算器201は演算Ai +C
i を、加算器202は演算Bi +Di を、減算器203
は演算Ai −Ci を、複素減算器204は演算j(Bi
−Di )を行う。また、これらの4個の演算器201〜
204は、それぞれバイパス211〜214を有してお
り、これらの演算を行うことなく、データAi ,Bi ,
Ci ,Di をそのまま二段目の演算器221〜224に
転送することもできる。なお、一段目の演算器201〜
204での演算を行うのか或いはバイパス211〜21
4を用いてデータをそのまま転送するのかの制御は、シ
ーケンス制御部119が行う。
(A)に示したように、加算器221,223および減
算器222,224が設けられている。そして、加算器
221は一段目の加算器201,202の出力値(また
はバイパス211,212から取り込まれたデータ)の
加算を行い、減算器222は一段目の加算器201,2
02の出力値(またはバイパス211,212から取り
込まれたデータ)の減算を行い、加算器223は一段目
の減算器203の出力値と複素減算器204の出力値と
(またはバイパス213,214から取り込まれたデー
タ)の加算を行い、減算器224は一段目の減算器20
3の出力値と複素減算器204の出力値と(またはバイ
パス213,214から取り込まれたデータ)の減算を
行う。
(A)に示したように、乗算器231,232,23
3,234が設けられている。そして、乗算器231は
二段目の加算器221の出力値に対してsin/cos
係数用ROM110から入力されたひねり係数W1 また
は「1」(同図では信号S1 )を掛けた数ai を出力
し、乗算器232は減算器222の出力値に対してひね
り係数W3 または「1」(同図では信号S2 )を掛けた
数ci を出力し、乗算器233は加算器223の出力値
に対してひねり係数W2 または「1」(同図では信号S
3 )を掛けた数bi を出力し、乗算器234は減算器2
24の出力値に対してひねり係数W4 または「1」(同
図では信号S4 )を掛けた数di を出力する。なお、こ
れらの乗算器231〜234で二段目の演算器221〜
224の出力値にsin/cos係数用ROM110か
ら入力されたひねり係数を掛けるか「1」を掛けるかの
制御は、シーケンス制御部119が行う。
数が4の演算処理を行う場合には、一段目の各演算器2
01〜204による演算を行い(すなわちバイパス21
1〜214を使用せず)、且つ、三段目の各演算器23
1〜234ではひねり係数を掛ける。このときの第1の
データパス108および第2のデータパス109の等価
回路を図2(B)に示す。
は、一段目はバイパス211〜214を使用してデータ
の転送のみを行い(すなわち演算器201〜204によ
る演算は行わず)、且つ、三段目の各演算器231〜2
34では「1」を掛ける。このときの第1のデータパス
および第2のデータパス109の等価回路を図2(C)
に示す。
理演算の演算式は周知であるが、例としてサンプル点数
が2048の場合を、表1、表2に示す。
内部構造について、図3を用いて説明する。
07は、情報を記憶するためのメモリアレイ部301〜
304と、これらのメモリアレイ部301〜304に書
き込むデータを一時的に保持するための書き込みデータ
レジスタ311〜314と、書き込みデータあるいは読
み出しデータの番地を指定する際にアドレスデータを一
時的に保持するためのアドレスレジスタ321〜324
と、このメモリアレイ部301〜304から出力データ
を選択するための出力セレクタ331と、4個の出力セ
レクタから出力されたデータを一時的に保持するための
出力レジスタ332とを備えている。
タを4個づつに分離した構成を採用したが、この構成は
必須ではない。但し、リード/ライトを同時に行うため
には、2個以上に分離するか、または、マルチポートの
メモリアレイを用いた方がよい。
装置の動作について説明する。
と虚数部とに分けられて、入力端子101,102から
装置内に入力される。このとき、セレクタ105,10
6では、シーケンス制御部119によって、レジスタ1
03,104からの入力が選択されている。このため、
被処理データのうち、実数部は作業用RAM107の実
数データ記憶部107bに、虚数部は同RAM107の
虚数データ記憶部107cに、それぞれ格納される。こ
のようにして、2048点分の複素数データが、順次、
作業用RAM107に格納される。
納が終了すると、続いて、これらの被処理データを用い
て高速フーリエ変換処理を行う。
2048(45 ×2)としているので、以下に説明する
ように、基数4の演算処理を5回繰り返した後、基数2
の演算処理を1回行う。
て説明する。
お、各ステージはこの発明の「計算列」に相当する)に
示したように、作業用RAM107に格納された複素数
データを、格納されたアドレス(この発明の「サンプル
点番号」と一致する)にしたがって4個のグループに分
けて扱う。すなわち、0番地から511番地までに格納
された複素数データをグループA、512番地から10
23番地までに格納された複素数データをグループB、
1024番地から1535番地までに格納された複素数
データをグループC、1536番地から2047番地ま
でに格納された複素数データをグループDとする。
A,B,C,Dのそれぞれ最初の複素数データ(すなわ
ち、0番地、512番地、1024番地および1536
番地の複素数データ)を出力する。そして、これらの4
個の複素数データは、それぞれ、第1のデータパス10
8および第2のデータパス109に入力される。また、
これと同時に、sin/cos係数用ROM110が、
0番地、512番地、1024番地および1536番地
に対応するひねり係数W1 ,W2 ,W3 ,W4を出力す
る。そして、ひねり係数W1 ,W3 は第1のデータパス
108に入力され、ひねり係数W2 ,W4 は第2のデー
タパス109に入力される。
(1),(2)の演算を行うことにより、複素数データ
ai ,ci を算出する。
の演算を行うことにより、複素数データbi ,di を算
出する。
Di は、それぞれ作業用RAM107に格納された複素
数データのうち、グループA,B,C,Dの番地に属す
るデータを示している。すなわち、ここでは、0番地、
512番地、1024番地および1536番地の複素数
データを示している。
ライ演算について、図2(B)用いて説明する。
08および第2のデータパス109にAi ,Bi ,
Ci ,Di に相当する複素数データを取り込んで、ま
ず、第1段階として(Ai +Ci ),(Bi +Di ),
(Ai −Ci ),j(Bi −Di )を算出し、次に、こ
れらの算出値を用いて第2段階で(Ai +Ci )+(B
i +Di ),(Ai +Ci )−(Bi +Di ),(Ai
−Ci )−j(Bi −Di ),(Ai −Ci )+j(B
i −Di )を算出し、さらに、これらの算出値を用いて
第3段階で{(Ai +Ci )+(Bi +Di )}×W
1 ,{(Ai +Ci )−(Bi +Di )}×W3 ,
{(Ai −Ci )−j(Bi −Di )}×W2 ,{(A
i −Ci )+j(Bi −Di )}×W4 を算出して、そ
れぞれを演算結果ai,ci ,bi ,di として出力す
る。
09から、この演算結果ai ,bi,ci ,di が出力
される。このとき、シーケンス制御部119の制御によ
り、セレクタ105,106は、データパス108,1
09からの入力を選択する。そして、データパス10
8,109の出力データが、作業用RAM107に格納
される。このとき、グループAに属する番地(ここでは
0番地)には式(1)の演算結果ai が、グループBに
属する番地(ここでは512番地)には式(3)の演算
結果bi が、グループCに属する番地(ここでは102
4番地)には式(2)の演算結果ci が、グループDに
属する番地(ここでは1536番地)には式(4)の演
算結果di が、それぞれ格納される。なお、複素数デー
タai ,bi ,ci ,di の格納場所は、シーケンス制
御部119がメモリアドレス発生部118を制御するこ
とによって決定する。
地および1537番地の複素数データを用いて同様の演
算処理を行ない、以下同様にしてすべての番地の複素数
データについて順次演算処理を行う。
ると、次に、以下のようにして2回目の演算処理(基数
4)を行う。
に示したように、作業用RAM107の各番地のうち、
0番地〜511番地、512番地〜1023番地、10
24番地〜1535番地および1536番地〜2047
番地を、それぞれ、さらに4個のグループに分割する。
すなわち、この2回目の演算処理では、作業用RAM1
07の各番地を合計16個に分割する。
ち、0番地〜127番地をグループA、128番地〜2
55番地をグループB、156番地〜383番地をグル
ープC、384番地〜511番地をグループDとして、
上述の式(1)〜(4)を用いた演算処理を行う。
156番地および384番地の複素数データを作業用R
AM107から読み出すとともに、これらの番地に対応
するひねり係数をsin/cos係数用ROM110か
ら読み出し、データパス108,109に取り込む。続
いて、0番地の複素数データをAi 、128番地の複素
数データをBi 、156番地の複素数データをCi 、3
84番地の複素数データをDi として、上述の式(1)
〜(4)を実行する。そして、この演算によって得られ
た複素数データai ,bi ,ci ,di を、それぞれ、
作業用RAM107の0番地、128番地、156番地
および384番地に格納する。その後、これと同様にし
て、0番地〜511番地の各複素数データを用いた演算
処理を順次実行する。
数データを用いた演算処理が終了すると、次に、512
番地〜1023番地をグループA,B,C,Dに分割し
て、同様の演算処理を行う。さらに、1024番地〜1
535番地および1536番地〜2047番地の複素数
データについても、同様にして演算処理を行う。
すると、次に、以下のようにして3回目の演算処理(基
数4)を行う。
に示したように、作業用RAM107の各番地のうち、
2回目の演算処理で16分割した番地のそれぞれを、さ
らにグループA〜Dに4分割する。すなわち、この3回
目の演算処理では、作業用RAM107の各番地を合計
64個に分割する。
割した最初の番地群である0番地〜127番地のうち、
0番地〜31番地はグループA、32番地〜63番地は
グループB、64番地〜95番地はグループC、96番
地〜127番地はグループDとなる。
に、0番地、32番地、64番地および96番地の複素
数データを作業用RAM107から読み出すとともに、
これらの番地に対応するひねり係数をsin/cos係
数用ROM110から読み出し、データパス108,1
09に取り込む。続いて、0番地の複素数データを
Ai、32番地の複素数データをBi 、64番地の複素
数データをCi 、96番地の複素数データをDi とし
て、上述の式(1)〜(4)を実行する。そして、この
演算によって得られた複素数データai ,bi ,ci ,
di を、それぞれ、作業用RAM107の0番地、32
番地、64番地および96番地に格納する。その後、こ
れと同様にして、他の番地の各複素数データを用いた演
算処理を順次実行する。
数データを用いた演算処理が終了すると、次に、128
番地〜255番地をグループA,B,C,Dに分割し
て、同様の演算処理を行う。さらに、残りの各番地ブロ
ックの複素数データについても、同様にして演算処理を
行う。
すると、次に、以下のようにして4回目の演算処理(基
数4)を行う。
に示したように、作業用RAM107の各番地のうち、
3回目の演算処理で64分割した番地のそれぞれを、さ
らにグループA〜Dに4分割する。すなわち、この4回
目の演算処理では、作業用RAM107の各番地を合計
256個に分割する。
割した最初の番地ブロックである0番地〜31番地のう
ち、0番地〜7番地はグループA、8番地〜15番地は
グループB、16番地〜23番地はグループC、24番
地〜31番地はグループDとなる。
地および24番地の複素数データを作業用RAM107
から読み出すとともに、これらの番地に対応するひねり
係数をsin/cos係数用ROM110から読み出
し、データパス108,109に取り込む。続いて、0
番地の複素数データをAi 、8番地の複素数データをB
i 、16番地の複素数データをCi 、24番地の複素数
データをDi として、上述の式(1)〜(4)を実行す
る。その後、この演算によって得られた複素数データa
i ,bi ,ci ,di を、それぞれ、作業用RAM10
7の0番地、8番地、16番地および24番地に格納す
る。その後、これと同様にして、他の番地の各複素数デ
ータを用いた演算処理を順次実行する。
データを用いた演算処理が終了すると、次に、32番地
〜63番地をグループA,B,C,Dに分割して、同様
の演算処理を行う。さらに、残りの各番地ブロックの複
素数データについても、同様にして演算処理を行う。
すると、次に、以下のようにして5回目の演算処理(基
数4)を行う。
に示したように、作業用RAM107の各番地のうち、
4回目の演算処理で256分割した番地のそれぞれを、
さらにグループA〜Dに4分割する。すなわち、この4
回目の演算処理では、作業用RAM107の各番地を合
計1024個に分割する。
クである0番地〜7番地のうち、0番地および1番地は
グループA、2番地および3番地はグループB、4番地
および5番地はグループC、6番地および7番地はグル
ープDとなる。
および6番地の複素数データを作業用RAM107から
読み出すとともに、これらの番地に対応するひねり係数
をsin/cos係数用ROM110から読み出し、デ
ータパス108,109に取り込む。続いて、0番地の
複素数データをAi 、2番地の複素数データをBi 、4
番地の複素数データをCi 、6番地の複素数データをD
i として、上述の式(1)〜(4)を実行する。その
後、この演算によって得られた複素数データai,
bi ,ci ,di を、それぞれ、作業用RAM107の
0番地、2番地、4番地および6番地に格納する。その
後、これと同様にして、1番地、3番地、5番地、7番
地の各複素数データを用いた演算処理を実行する。
ータを用いた演算処理が終了すると、次に、8番地〜1
5番地をグループA,B,C,Dに分割して、同様の演
算処理を行う。さらに、残りの各番地ブロックの複素数
データについても、同様にして演算処理を行う。
すると、次に、6回目の演算処理として、基数2の演算
処理を行う。
したように、5回目の演算処理の場合と同様、作業用R
AM107の各番地を合計1024個に分割する。ま
た、この6回目の演算処理では、グループA,Bとグル
ープC,Dとは同じ演算処理を行なう。
ある0番地、1番地および2番目の番地群である2番
地、3番地のうち、0番地はグループA、1番地はグル
ープB、2番地はグループC、3番地はグループDとな
る。
および3番地の複素数データを作業用RAM107から
読み出す。
らの複素数データを用いて次式(5),(6)の演算を
行うことにより、複素数データai ,bi を算出する。
の演算を行うことにより、複素数データci ,di を算
出する。
Di は、それぞれ作業用RAM107に格納された複素
数データのうち、グループA,B,C,Dの番地に属す
るデータを示している。すなわち、ここでは、0番地、
1番地、2番地および3番地の複素数データを示してい
る。
ライ演算について、図2(C)を用いて説明する。
パス108は複素数データAi ,Bi を、データパス1
09は複素数データCi ,Di を、それぞれ取り込む。
そして、第1のデータパス108は、Ai +Bi ,Ai
−Bi を算出し、演算結果a i ,bi を出力する。一
方、第2のデータパス109は、Ci +Di ,Ci −D
i を算出し、演算結果ci ,di を出力する。
i ,ci ,di は、作業用RAM107の0番地、1番
地、2番地および3番地に格納される。
複素数データを用いた演算処理が終了すると、残りの番
地ブロックの各複素数データについても、同様の演算処
理を行なう。
た複素数データが、レジスタ113,114を介して、
出力端子115,116から外部へ出力される。
08,109の他の構成例について、図12を用いて説
明する。同図において、図1と同じ符号を付した構成部
は、それぞれ図1の場合と同じものを示している。
おいて、レジスタ1211は、作業用RAM107から
入力した複素数データAi 〜Di の実数部または虚数部
を、一時的に保持する。
1から入力したデータを用いて、後述のような演算を行
う。
入力したデータまたはレジスタ1211から入力したデ
ータを選択して、レジスタ1214に出力する。
ら入力したデータを、一時的に保持する。
ら入力した複素数データを用いて、後述のような加算ま
たは減算を行う。
1215が出力したデータを、交互に、一時的に保持す
る。
用ROM110(図1参照)から入力したひねり係数W
1 を、一時的に保持する。また、レジスタ1219は、
sin/cos係数用ROM110から入力したひねり
係数W3 を、一時的に保持する。
ら入力したデータに、ひねり係数W1 、実数「1」、ま
たは実数「0」を乗算する。同様に、乗算回路1221
は、レジスタ1217から入力したデータに、ひねり係
数W3 、実数「1」、または実数「0」を乗算する。
出力した演算結果を、一時的に保持する。同様に、レジ
スタ1223は、乗算回路1221が出力した演算結果
を、一時的に保持する。
2,1223から入力したデータを用いて、後述のよう
な加算または減算を行う。
から入力したデータを、一時的の保持する。このレジス
タ1225に保持されたデータは、セレクタ105,1
06を介して、作業用RAM107に格納される。
タ1231は、作業用RAM107から入力した複素数
データAi 〜Di の実数部または虚数部を、一時的に保
持する。
スタ1231から入力したデータを用いて、後述のよう
な演算を行う。
232から入力したデータまたはレジスタ1231から
入力したデータを選択して、レジスタ1234に出力す
る。
ら入力したデータを、一時的に保持する。
ら入力した複素数データを用いて、後述のような加算ま
たは減算を行う。
1235が出力したデータを、交互に、一時的に保持す
る。
用ROM110(図1参照)から入力したひねり係数W
2 を、一時的に保持する。また、レジスタ1239は、
sin/cos係数用ROM110から入力したひねり
係数W4 を、一時的に保持する。
ら入力したデータに、ひねり係数W2 、実数「1」、ま
たは実数「0」を乗算する。同様に、乗算回路1241
は、レジスタ1237から入力したデータに、ひねり係
数W4 、実数「1」、または実数「0」を乗算する。
出力した演算結果を、一時的に保持する。同様に、レジ
スタ1243は、乗算回路1241が出力した演算結果
を、一時的に保持する。
2,1243から入力したデータを用いて、後述のよう
な加算または減算を行う。
から入力したデータを、一時的の保持する。このレジス
タ1245に保持されたデータは、セレクタ105,1
06を介して、作業用RAM107に格納される。
8,109の動作について、図13〜図16を用いて説
明する。
8の動作を説明するためのタイミングチャートである。
7は、システムクロックSCLKの立ち下がりタイミン
グで、複素数データAi ,Ci の実数部(図13ではR
(A),R(C) で表す)、複素数データBi ,Di の実数
部(図13ではR(B) ,R(D) で表す)、複素数データ
Ai ,Ci の虚数部(図13ではI(A) ,I(C) で表
す)、複素数データBi ,Di の虚数部(図13ではI
(B) ,I(D) で表す)を、順次出力する。これらのデー
タR(A) およびR(C) 、R(B) およびR(D) 、I(A) お
よびI(C) 、I(B) およびI(D) は、システムクロック
SCLKの立ち上がりタイミングで、レジスタ1211
に順次格納される。
1からデータR(A) ,R(C) を入力して、演算R(A,C)
=R(A) +R(C) を行う。続いて、同様の演算R(B,D)
=R(B) +R(D) 、I(A,C) =I(A) +I(C) 、I(B,
D) =I(B) +I(D) を、順次実行する。これらの演算
結果R(A,C) 、R(B,D) 、I(A,C) 、I(B,D) は、セレ
クタ1213を介して、レジスタ1214に順次格納さ
れる。
14からデータR(A,C) およびデータR(B,D) を入力し
て演算R(+) =R(A,C) +R(B,D) を行い、続いて、レ
ジスタ1214からデータR(A,C) およびデータR(B,
D) を再び入力して演算R(-)=R(A,C) −R(B,D) を実
行する。さらに、レジスタ1214からデータI(A,C)
およびデータI(B,D) を入力して演算I(+) =I(A,C)
+I(B,D) を行い、続いて、レジスタ1214からデー
タI(A,C) およびデータI(B,D) を再び入力して演算I
(-) =I(A,C) −I(B,D) を実行する。そして、演算結
果R(+) ,I(+) はレジスタ1216に格納され、演算
結果R(-) ,I(-) はレジス1217に格納される。
16から入力したデータR(+) に、レジスタ1218か
ら入力したひねり係数W1 の実数部W1Rを乗算すること
によってR1 を算出し、さらに、データR(+) にひねり
係数W1 の虚数部W1Iを乗算することによってI1 を算
出する。次に、レジスタ1216から入力したデータI
(+) に、ひねり係数W1 の虚数部W1Iを乗算することに
よってR2 を算出した後で、さらに、データI(+) にひ
ねり係数W1 の実数部W1Rを乗算することによってI2
を算出する。これらの演算結果R1 ,I1 ,R2 ,I2
は、レジスタ1222に格納される。
タ1217から入力したデータR(-) に、レジスタ12
19から入力したひねり係数W3 の実数部W3Rを乗算す
ることによってR3 を算出し、さらに、データR(-) に
ひねり係数W3 の虚数部W3Iを乗算することによってI
3 を算出する。次に、レジスタ1217から入力したデ
ータI(-) に、ひねり係数W3 の虚数部W3Iを乗算する
ことによってR4 を算出し、さらに、データI(-) にひ
ねり係数W3 の実数部W3Rを乗算することによってI4
を算出する。これらの演算結果R3 ,I3 ,R4 ,I4
は、レジスタ1223に格納される。
22から読み込んだデータR1 ,R2 を用いてR
(ai )=R1 +R2 を算出し、続いて、レジスタ12
23から読み込んだデータR3 ,R4 を用いてR
(ci )=R3 +R4 を算出する。さらに、レジスタ1
222から読み込んだデータI1 ,I2 を用いてI(a
i )=I1+I2 を算出し、続いて、レジスタ1223
から読み込んだデータI3 ,I4 を用いてI(ci )=
I3 +I4 を算出する。これにより、上式(1)に示し
た複素数データai の実数部R(ai )および虚数部I
(ai )と、上式(2)に示した複素数データci の実
数部R(ci )および虚数部I(ci )とを得ることが
できる。これらの演算結果は、レジスタ1225および
セレクタ105を介して、作業用RAM107に格納さ
れる。
ス109の動作を説明するためのタイミングチャートで
ある。
業用RAM107がデータR(A) ,R(C) 、データR
(B) ,R(D) 、データI(A) ,I(C) 、データI(B) ,
I(D)を順次出力すると、これらのデータはレジスタ1
231にも順次格納される。
スタ1231からデータR(A) ,R(C) を入力して、演
算R(A,C) =R(A) −R(C) を行う。続いて、同様の演
算I(B,D) =j(R(B) −R(D) )、I(A,C) =I(A)
−I(C) 、R(B,D) =j(I(B) −I(D) )を、順次実
行する。これらの演算結果R(A,C) 、I(B,D) 、I(A,
C) 、R(B,D) は、セレクタ1233を介して、レジス
タ1234に順次格納される。
34からデータR(A,C) およびデータI(B,D) を入力し
て演算R(+) =R(A,C) +R(B,D) を行い、続いて、レ
ジスタ1234からデータR(A,C) およびデータR(B,
D) を再び入力して演算R(-)=R(A,C) −R(B,D) を実行
する。さらに、レジスタ1234からデータI(A,C) お
よびデータI(B,D) を入力して演算I(-) =I(A,C) −
I(B,D) を行い、続いて、レジスタ1234からデータ
I(A,C) およびデータI(B,D) を再び入力して演算I
(+) =I(A,C) +I(B,D) を実行する。そして、演算結
果R(+) ,I(-) はレジスタ1236に格納され、演算
結果R(-) ,I(+) はレジスタ1237に格納される。
36から入力したデータR(+) に、レジスタ1218か
ら入力したひねり係数W2 の実数部W2Rを乗算すること
によってR5 を算出し、さらに、データR(+) にひねり
係数W2 の虚数部W2Iを乗算することによってI5 を算
出する。次に、レジスタ1236から入力したデータI
(-) に、ひねり係数W2 の虚数部W2Iを乗算することに
よってR6 を算出した後で、さらに、データI(-) にひ
ねり係数W2 の実数部W2Rを乗算することによってI6
を算出する。これらの演算結果R5 ,I5 ,R6 ,I6
は、レジスタ1242に格納される。
タ1237から入力したデータR(-) に、レジスタ12
39から入力したひねり係数W4 の実数部W4Rを乗算す
ることによってR7 を算出し、さらに、データR(-) に
ひねり係数W4 の虚数部W4Iを乗算することによってI
7 を算出する。次に、レジスタ1236から入力したデ
ータI(+) に、ひねり係数W4 の虚数部W4Iを乗算する
ことによってR8 を算出し、さらに、データI(+) にひ
ねり係数W4 の実数部W4Rを乗算することによってI8
を算出する。これらの演算結果R7 ,I7 ,R8 ,I8
は、レジスタ1243に格納される。
42から読み込んだデータR5 ,R6 を用いてR
(bi )=R5 +R6 を算出し、続いて、レジスタ12
43から読み込んだデータR7 ,R8 を用いてR
(di )=R7 +R8 を算出する。さらに、レジスタ1
242から読み込んだデータI5 ,I6 を用いてI(b
i )=I5+I6 を算出し、続いて、レジスタ1243か
ら読み込んだデータI7 ,I8 を用いてI(di )=I
7 +I8 を算出する。これらの演算結果は、レジスタ1
245およびセレクタ105を介して、作業用RAM1
07に格納される。
08の動作を説明するためのタイミングチャートであ
る。
M107が、基数が4の場合と同様、システムクロック
SCLKの立ち下がりタイミングで、データR(A) ,R
(C)、データR(B) ,R(D) 、データI(A) ,I(C) お
よびデータI(B) ,I(D) を、順次出力すると、これら
のデータのうちR(A) ,R(B) ,I(A) ,I(B) が、シ
ステムクロックSCLKの立ち上がりタイミングで、レ
ジスタ1211に順次格納される。
13は、レジスタ1211から入力したデータを出力す
る。このため、レジスタ1214には、上述のデータR
(A),R(B) ,I(A) ,I(B) が、順次格納される。
14からデータR(A) およびデータR(B) を入力して演
算R(A,B) =R(A) +R(B) を行い、続いて、レジスタ
1214からデータR(A) およびデータR(B) を再び入
力して演算R(A,B) =R(A)−R(B) を実行する。さら
に、レジスタ1214からデータI(A) およびデータI
(B) を入力して演算I(A,B) =I(A) +I(B) を行い、
続いて、レジスタ1214からデータI(A) およびデー
タI(B) を再び入力して演算I(A,B) =I(A)−I(B)
を実行する。そして、演算結果R(A,B) ,I(A,B) はレ
ジスタ1216に格納され、演算結果R(A,B) ,I(A,
B) はレジスタ1217に格納される。
は、ひねり係数としてW=1+j・0を用いる。すなわ
ち、まず、レジスタ1216から入力したデータR(A,
B) に「1」を乗算し、さらに、データR(A,B) に
「0」を乗算する。次に、レジスタ1216から入力し
たデータI(A,B) に「1」乗算し、さらに、データI
(A,B) に「0」を乗算する。これらの演算結果R(A,B)
,0,I(A,B) ,0は、レジスタ1222に格納され
る。
してW=1+j・0を用いる。すなわち、まず、レジス
タ1217から入力したデータR(A,B) に「1」を乗算
し、さらに、データR(A,B) に「0」を乗算する。次
に、レジスタ1217から入力したデータI(A,B) に
「1」を乗算し、さらに、データI(A,B) に「0」を乗
算する。これらの演算結果R(A,B) ,0,I(A,B) ,0
は、レジスタ1223に格納される。
22から読み込んだデータR(A,B),0を用いてR(a
i )=R(A,B) +0を算出し、続いて、レジスタ122
3から読み込んだデータR(A,B) ,0を用いてR
(bi )=R(A,B) +0を算出する。さらに、レジスタ
1222から読み込んだデータI(A,B) ,0を用いてI
(ai )=I(A,B) +0を算出し、続いて、レジスタ1
223から読み込んだデータI(A,B) ,0を用いてI
(bi )=I(A,B) +0を算出する。これらの演算結果
は、レジスタ1225およびセレクタ105を介して、
作業用RAM107に格納される。
09の動作を説明するためのタイミングチャートであ
る。
ず、作業用RAM107がデータR(A) ,R(C) 、デー
タR(B) ,R(D) 、データI(A) ,I(C) およびデータ
I(B) ,I(D) を順次出力すると、これらのデータのう
ちR(C) ,R(D) ,I(C) ,I(D) が、システムクロッ
クSCLKの立ち上がりタイミングで、レジスタ123
1に順次格納される。
231から入力したデータを出力することにより、レジ
スタ1234には上述のデータR(C) ,R(D) ,I(C)
,I(D) が順次格納される。
4に格納されたデータR(C) ,R(D) を用いて、演算R
(C,D) =R(C) +R(D) および演算R(C,D) =R(C) −
R(D) を順次実行する。さらに、レジスタ1234に格
納されたデータI(C) ,I(D) を用いて演算I(C,D) =
I(C) +I(D) および演算I(C,D) =I(C) −I(D)を
実行する。そして、演算結果R(C,D) ,I(C,D) はレジ
スタ1236に格納され、演算結果R(C,D) ,I(C,D)
はレジスタ1237に格納される。
220と同様、ひねり係数としてW=1+j・0を用い
た演算を行い、演算結果R(C,D) ,0,I(C,D) ,0を
レジスタ1242に格納する。
してW=1+j・0を用いて演算処理を行い、演算結果
R(C,D) ,0,I(C,D) ,0をレジスタ1243に格納
する。
42から読み込んだデータR(C,D),0を用いてR(c
i )=R(C,D) +0を算出し、続いて、レジスタ124
3から読み込んだデータR(C,D) ,0を用いてR
(di )=R(C,D) +0を算出する。さらに、レジスタ
1242から読み込んだデータI(C,D) ,0を用いてI
(ci )=I(C,D) +0を算出し、続いて、レジスタ1
243から読み込んだデータI(C,D) ,0を用いてI
(di )=I(C,D) +0を算出する。これらの演算結果
は、レジスタ1245およびセレクタ105を介して、
作業用RAM107に格納される。
109を構成することにより、簡単な回路で効率よく演
算処理を行うことができる。
る高速フーリエ変換処理装置によれば、基数が4の演算
処理であっても基数が2の演算処理であっても高速で実
行することが可能なデータパス108,109を、簡単
な構成によって得ることができる。すなわち、この実施
の形態によれば、基数4または基数2のいずれの高速フ
ーリエ変換アルゴリズムにも対応することができる高速
フーリエ変換処理装置を安価に提供することができる。
いて説明する。なお、この実施の形態に係る高速フーリ
エ変換処理装置は、ブロック浮動小数点演算処理機能を
有する点で、上述の第1の実施の形態と異なる。
48点の場合を例にとって説明する。
エ変換処理装置の構成を概略的に示すブロック図であ
る。
成部は、それぞれ、図1の場合と同じものを示してい
る。
01および第2のデータパス502は、ブロック浮動小
数点演算を行うためのシフト機能を有している点で、図
1に示した各データパス108,109と異なる。な
お、ブロック浮動小数点演算自体は公知の手法であるの
で、この演算で使用するシフト機能の詳細構成について
の説明は省略する。
3は、セレクタ105,106が出力した複素数データ
を取り込んでブロック浮動小数点を検出するとともに、
この検出値を一時的に記憶する。ここで、後述するよう
に、セレクタ105,106から出力されるのは、入力
端子101,102を介して外部から入力された複素数
データ或いはデータパス501,502が出力した複素
数データである。なお、このブロック浮動小数点検出記
憶部503が一時的に記憶したブロック浮動小数点の検
出値は、データパス501,502およびシーケンス制
御部119に転送される。
用RAM107から複素数データを取り込むとともにシ
ーケンス制御部119から浮動小数点指数を取り込む。
そして、この浮動小数点指数の値に基づいて複素数デー
タをシフトさせ、その結果を出力する。
9から浮動小数点指数を入力し、外部に対して出力す
る。
理装置の動作について説明する。
様にして、最初の被処理データが、実数部と虚数部とに
分けられて、入力端子101,102から装置内に入力
され、さらに、作業用RAM107の実数データ記憶部
107bおよび虚数データ記憶部107cにそれぞれ格
納される。このとき、ブロック浮動小数点検出記憶部5
03は、この複素数データをセレクタ105,106か
ら入力して浮動小数点指数を検出し、記憶する。
目の被処理データが入力されて作業用RAMに格納され
るときに、ブロック浮動小数点検出記憶部503は、こ
の被処理データをセレクタ105,106から入力して
浮動小数点指数を検出し、すでに記憶された検出値(こ
こでは1番目の被処理データの浮動小数点指数)と比較
する。そして、既に記憶されている検出値の方が2番目
の検出値よりも小さい場合は、記憶内容を変更すること
なく、既に記憶された検出値をそのまま保持する。一
方、2番目の検出値の方が既に記憶されている検出値よ
りも小さい場合は、ブロック浮動小数点検出記憶部50
3の記憶内容を2番目の検出値に変更する。
ついても、ブロック浮動小数点検出記憶部503で浮動
小数点指数を検出し、これを、このブロック浮動小数点
検出記憶部503内に既に記憶されている検出値と比較
し、そのときの検出値の小さい方を記憶値とする。この
実施の形態では、このような検出動作を、0番地〜51
1番地、512番地〜1023番地、1024番地〜1
535番地および1536番地〜2047番地の4個の
ブロックについて、共通に行う。すなわち、このときの
浮動小数点指数の検出では、後述する1回目の演算処理
の時の各グループA,B,C,Dに対して共通の浮動小
数点指数が決定される。
48個の被処理データの格納が終了した時点では、各ブ
ロックに対して共通に、浮動小数点指数の検出値の中で
もっとも小さいものが、ブロック浮動小数点検出記憶部
503内に記憶されていることになる。
M107に格納する動作が終了すると、続いて、これら
の被処理データを用いて高速フーリエ変換処理を行う。
の実施例の場合と同様、以下のようにして、基数が4の
演算処理を5回繰り返した後、基数が2の演算処理を1
回行う。
ては、作業用RAM107に格納された2048個の複
素数データを、第1の実施の形態の場合と同様の4グル
ープA,B,C,Dに分割する(図4のステージ1参
照)。そして、データパス501,502が、作業用R
AM107の0番地、512番地、1024番地および
1536番地に格納された各複素数データとsin/c
os係数用ROM110に格納されたひねり係数を読み
込むと同時に、ブロック浮動小数点検出記憶部503か
らグループA,B,C,Dに対して共通な浮動小数点指
数の検出値を読み込む。そして、この検出値と上述の式
(1)〜(4)とを用いて、ブロック浮動小数点による
演算処理を行う。
02から演算結果ai ,bi ,ci,di が出力され、
第1の実施の形態の場合と同様にして作業用RAM10
7に格納される。このときブロック浮動小数点検出記憶
部503は、各演算結果ai,bi ,ci ,di に対し
て浮動小数点指数を検出し、これらの検出結果をそのま
ま記憶する。
13番地、1025番地および1537番地の各複素数
データについてもブロック浮動小数点による演算処理を
行い、演算結果ai ,bi ,ci ,di を順次作業用R
AM107に格納する。また、この格納時に、ブロック
浮動小数点検出記憶部503が、これらの演算結果
ai ,bi ,ci ,di の浮動小数点指数を検出し、こ
れらの検出値をそれぞれブロック浮動小数点検出記憶部
503内に記憶された浮動小数点指数と比較する。この
とき、演算結果ai の浮動小数点指数を前回の演算結果
ai の浮動小数点指数と比較し、演算結果bi の浮動小
数点指数を前回の演算結果bi の浮動小数点指数と比較
するというように、それぞれ式(1)〜(4)の内の同
じ式で得られた演算結果どうしで浮動小数点指数を比較
する。そして、既に記憶されている浮動小数点指数が検
出値よりも小さいときは、記憶内容を変更することな
く、既に記憶された検出値をそのまま保持する。一方、
検出値の方が既に記憶されている浮動小数点指数よりも
小さい場合は、ブロック浮動小数点検出記憶部503の
記憶内容をこの検出値に変更する。
いても、ブロック浮動小数点による演算処理を行った
後、演算結果ai ,bi ,ci ,di を作業用RAM1
07に格納する際にブロック浮動小数点検出記憶部50
3で浮動小数点指数を検出し、これを、このブロック浮
動小数点検出記憶部503内に既に記憶されている値と
比較して、そのときの検出値の小さい方を記憶値とす
る。
により、後述する2回目の演算処理の時の浮動小数点指
数が決定される。
数点指数の検出とが終了すると、次に、以下のようにし
て2回目の演算処理(基数4)を行う。
の場合と同様、データRAM107の各番地のうち、0
番地〜511番地、512番地〜1023番地、102
4番地〜1535番地および1536番地〜2047番
地を、それぞれ、さらに4個のグループに分割する。す
なわち、この2回目の演算処理では、データRAM10
7の各番地を合計16個に分割する。
して演算処理を行うとともに、演算結果を作業用RAM
107に格納する際にブロック浮動小数点検出記憶部5
03で浮動小数点指数を検出して、最も小さい検出値を
ブロック浮動小数点検出記憶部503内に記憶する。そ
して、このような検出動作により、後述する三回目の演
算処理の時の各グループA,B,C,Dに対して共通の
浮動小数点指数が決定される。
ついても、上述した1回目および2回目の演算処理と同
様にして、ブロック浮動小数点による演算処理を行う。
を演算処理のときの各グループA,B,C,Dについて
共通としたが、2回目以降の演算処理に用いるブロック
浮動小数点指数を各ステージ毎に全サンプル(この例で
は2048個)に対して共通に持ってもよい。
演算結果を外部に出力する。このときは、まず、シーケ
ンス制御部119がブロック浮動小数点検出記憶部50
3から各サンプルに対する全ステージで用いた浮動小数
点指数の累算値を入力し、出力ビットシフタ504,5
05に送る。そして、出力ビットシフタ504,505
は、この浮動小数点指数に基づいて、作業用RAM10
7から入力した複素数データをシフトさせた後、セレク
タ111,112に対して出力する。これにより、デー
タパス108,109の出力データが、レジスタ11
3,114を介して、出力端子115,116から外部
へ出力される。
04,505によるシフトを行わずに複素数データを出
力端子115,116から出力するとともに、最終的な
浮動小数点指数をレジスタ506から外部に出力するこ
ともできる。
08,109の他の構成例について、図17を用いて説
明する。同図において、図5或いは図12と同じ符号を
付した構成部は、これらの図面と同じものを示してい
る。
は、シフタ1701,1702を備えている点で、図1
2に示したデータパス108,109と異なる。このシ
フタ1701,1702は、ブロック浮動小数点検出記
憶部503から、ブロック小数点指数を入力する。そし
て、このブロック小数点指数に基づいて、レジスタ12
11,1231から取り込んだデータを所定ビットだけ
シフトさせる。これにより、ブロック浮動小数点検出記
憶部503の制御に基づくブロック浮動小数点演算処理
が可能となる。
に示したデータパス108,109と同様であるので、
説明を省略する。
109を構成することにより、簡単な回路で効率よく演
算処理を行うことができる。
る高速フーリエ変換処理装置によれば、浮動小数点によ
るバタフライ演算を行う際に、基数が4の演算処理であ
っても基数が2の演算処理であっても高速で実行するこ
とが可能となる。すなわち、この実施の形態によれば、
基数4または基数2のいずれの高速フーリエ変換アルゴ
リズムにも対応することができる、ブロック浮動小数点
法による高速フーリエ変換処理装置を、安価に提供する
ことができる。
いて説明する。なお、この実施の形態は、第1の実施の
形態にかかる高速フーリエ変換処理装置を2個並列に接
続することによって、処理速度のさらなる向上を図った
ものである。
エ変換処理システムを概念的に示すブロック図である。
は、上述の第1の実施例で示した高速フーリエ変換処理
装置である。かかるプロセッサ601,602の内部構
成において、図1と同じ符号を付した構成成分は、それ
ぞれ、図1の高速フーリエ変換処理装置の場合と同じも
のを示している。
力回路611は、図1のセレクタ111,112、レジ
スタ113,114および出力端子115,116を略
記したものである。そして、この出力回路611は、そ
れぞれ、出力選択回路606に接続されている。また、
プロセッサ601のシーケンス制御部119から出力さ
れる状態表示信号は、NOTバッファ603を介して、
プロセッサ602のシーケンス制御部119に状態制御
信号として入力される。同様に、プロセッサ602のシ
ーケンス制御部119から出力される状態表示信号は、
NOTバッファ604を介して、プロセッサ601のシ
ーケンス制御部119に状態制御信号として入力され
る。また、各プロセッサ601,602のシーケンス制
御部119には、外部からシステム制御信号が入力され
る。
て、セレクタ612は、図1のセレクタ105,10
6、レジスタ103,104および入力端子101,1
02を略記したものである。
理データを入力する。また、データ出力ポート607
は、出力選択回路606から入力された処理後の複素数
データを、外部に出力する。
システムの動作について説明する。
セッサ601を選択した状態で、N個(たとえばN=2
048)の被処理データがデータ入力ポート605に入
力される。これにより、これらのN個の被処理データ
は、プロセッサ601に入力される。次に、外部からの
システム制御信号がプロセッサ602を選択した状態
で、例えばN個の被処理データがデータ入力ポート60
5に入力される。これにより、これらの被処理データ
は、プロセッサ602に入力される。
が、上述の第1の実施の形態の場合と同様の演算処理
を、それぞれ別個に行う。
終了すると、処理後の複素数データが出力選択回路60
6を介して、データ出力ポート607から出力される。
数データを出力してしている最中は、このプロセッサ6
01のシーケンス制御部119が状態表示信号をオンす
る。この信号は、NOTゲート603を介し、状態制御
信号としてプロセッサ602のシーケンス制御部119
に入力される。これにより、データ出力ポート607は
プロセッサ601に占有され、プロセッサ602につい
ては処理後の複素数データの出力が禁止される。そし
て、プロセッサ601による複素数データの出力が終了
すると、このプロセッサ601のシーケンス制御部11
9が出力する状態表示信号(すなわちプロセッサ602
のシーケンス制御部119が入力する状態制御信号)が
オフし、プロセッサ602に対する複素数データ出力の
禁止が解除される。これにより、プロセッサ601が処
理後の複素数データを出力している最中にプロセッサ6
02による複素数データの出力が行われてしまうことを
防止することができる。
ト607を占有させる際の動作も同様である。
エ変換処理システムによれば、この発明に係る高速フー
リエ変換処理装置(すなわちプロセッサ601,60
2)を並列に2個接続して2系統の被処理データ群を同
時に処理することとしたので、フーリエ変換処理の処理
速度をいっそう向上させることができる。
リエ変換処理装置を並列接続することとしたが、3個以
上の高速フーリエ変換処理装置を並列することもできる
ことはもちろんである。この場合には、処理速度のさら
なる向上を図ることができる。
変換処理システムでは、上述の第1の実施の形態に係る
高速フーリエ変換処理装置を接続することとしたが、第
2の実施の形態に係る高速フーリエ変換処理装置を並列
接続してもよいことも、もちろんである。
10を用いて説明する。なお、この実施の形態は、第1
の実施の形態にかかる高速フーリエ変換処理装置であっ
て処理が可能なサンプル点数の最大値がN(この実施の
形態ではN=4096とする)を2個並列に接続するこ
とによって、サンプル点数が2N(すなわち8192)
の高速フーリエ変換処理を行うことができる高速フーリ
エ変換処理システムに関するものである。
エ変換処理システムを概念的に示すブロック図である。
701およびスレーブモード用プロセッサ702は、と
もに、上述の第1の実施例で示した高速フーリエ変換処
理装置からなる。かかるプロセッサ701,702の内
部構成において、図1と同じ符号を付した構成成分は、
それぞれ、図1の高速フーリエ変換処理装置の場合と同
じものを示している。
力回路711は、図1のセレクタ111,112、レジ
スタ113,114および出力端子115,116を略
記したものである。そして、この出力回路711は、そ
れぞれ、出力選択回路706の入力端子に接続されてい
る。
て、セレクタ712は図1のセレクタ105,106、
レジスタ103,104および入力端子101,102
を略記したものである。
タ712は、マスタモード用入力選択回路713の出力
端子に接続されている。そして、このマスタモード用入
力選択回路713の入力端子からは、外部から入力され
た複素数データ或いはスレーブモード用プロセッサ70
2が出力した複素数データが選択的に入力される。
2のセレクタ712は、スレーブモード用入力選択回路
714の出力端子に接続されており、このマスタモード
用入力選択回路714の入力端子からは外部から入力さ
れた複素数データ或いはマスタモード用プロセッサ70
1が出力した複素数データが選択的に入力される。
シーケンス制御部119から出力される状態表示信号
は、NOTバッファ703を介して、スレーブモード用
プロセッサ702のシーケンス制御部119に、状態制
御信号として入力される。同様に、スレーブモード用プ
ロセッサ702のシーケンス制御部119から出力され
る状態表示信号は、NOTバッファ704を介して、マ
スタモード用プロセッサ701のシーケンス制御部11
9に、状態制御信号として入力される。また、各プロセ
ッサ701,702のシーケンス制御部119には、外
部からシステム制御信号が入力される。
理データを入力する。また、データ出力ポート707
は、出力選択回路706から入力された処理後の複素数
データを、外部に出力する。
の内部構成を示すブロック図である。同図において、図
3と同じ符号を付した構成部は、それぞれ図3と同じも
のを示している。図8からわかるように、この作業用R
AM107は、デコーダ333を備えている点で、図3
の場合と異なる。このデコーダ333は、外部から入力
されたアドレスデータの上位2ビットを変換して、4個
のメモリアレイ部301〜304のいずれかを指定する
信号を出力する。
エ変換処理システムの動作について説明する。
最初の1024点が、データ入力ポート705およびマ
スタモード用入力選択回路713を介して、マスタモー
ド用プロセッサ701内に入力される。そして、図9
(A)に示したように、これらの被処理データが、マス
タモード用プロセッサ701の作業用RAM107の0
番地〜1023番地に格納される。続いて、次の102
4点の被処理データが、データ入力ポート705および
スレーブモード用入力選択回路714を介して、スレー
ブモード用プロセッサ702内に入力され、作業用RA
M107の0番地〜1023番地に格納される。以下同
様にして、1024点ずつの被処理データが、各プロセ
ッサ701,702の作業用RAM107に交互に格納
される。そして、これにより、図9(A)に示したよう
な番地割付で、8192点の被処理データを格納するこ
とができる。なお、このような番地割付の各アドレス領
域(すなわち各プロセッサ701,702に設けられた
作業用RAM107の0番地〜1023番地、1024
番地〜2047番地、2048番地〜3071番地およ
び3072番地〜4095番地)は、図8に示した各メ
モリアレイ301〜304に対応している。
ータの格納が終了すると、続いて、これらの複素数デー
タを用いて高速フーリエ変換処理を行う。
が8192(=46 ×2)なので、以下に説明するよう
に、基数が4の演算処理を6回繰り返した後、基数が2
の演算処理を1回行う。
て説明する。
702ごとに、作業用RAM107に格納された複素数
データを、格納されたアドレスにしたがって4個のグル
ープに分けて扱う。ここでは、図9(A)に示したよう
に、マスタモード用プロセッサ701に設けられた作業
用RAM107の0番地から1023番地までに格納さ
れた複素数データ(サンプル点番号では0〜1023)
をグループA1 、1024番地から2047番地までに
格納された複素数データ(サンプル点番号では2048
〜3071)をグループB1 、2048番地から307
1番地までに格納された複素数データ(サンプル点番号
では4096〜5119)をグループC1 、3072番
地から4095番地までに格納された複素数データ(サ
ンプル点番号では6144〜7167)をグループD1
とする。また、スレーブモード用プロセッサ702に設
けられた作業用RAM107の0番地から1023番地
までに格納された複素数データ(サンプル点番号では1
024〜2047)をグループA2 、1024番地から
2047番地までに格納された複素数データ(サンプル
点番号では3072〜4095)をグループB2 、20
48番地から3071番地までに格納された複素数デー
タ(サンプル点番号では5120〜6143)をグルー
プC2 、3072番地から4095番地までに格納され
た複素数データ(サンプル点番号では7168〜819
1)をグループD2 とする。
うに、マスタモード用プロセッサ701の第1のデータ
パス108および第2のデータパス109は、グループ
A1,B1 ,C1 ,D1 のそれぞれ最初の複素数データ
(すなわち、0番地、1024番地、2048番地およ
び3072番地の複素数データ)を作業用RAM107
から取り込み、上述の第1の実施の形態の場合と同様に
して、式(1)〜(4)を用いた演算処理を行い、演算
結果ai ,bi ,ci ,di を得る。続いて、これらの
演算結果ai ,bi ,ci ,di が、データパス10
8,109から出力されて、作業用RAM107に格納
される。このとき、グループAに属する番地(ここでは
0番地)には式(1)の演算結果ai が、グループBに
属する番地(ここでは1024番地)には式(3)の演
算結果bi が、グループCに属する番地(ここでは20
48番地)には式(2)の演算結果ci が、グループD
に属する番地(ここでは3072番地)には式(4)の
演算結果di が、それぞれ格納される。
ロセッサ702の第1のデータパス108および第2の
データパス109は、グループA2 ,B2 ,C2 ,D2
のそれぞれ最初の複素数データ(すなわち、0番地、1
024番地、2048番地および3072番地の複素数
データ)を作業用RAM107から取り込んで式(1)
〜(4)を用いた演算処理を行い、演算結果a,b,
c,dを得る。そして、これらの演算結果が、マスタモ
ード用プロセッサ701の場合と同様にして、スレーブ
モード用プロセッサ702内の作業用RAM107に格
納される。
1番地、1025番地、2049番地および3073番
地の複素数データを用いて同様の演算処理を行ない、以
下同様にしてすべての番地の複素数データについて順次
演算処理を行う。
ると、入力選択回路713,714を用いて、マスタモ
ード用プロセッサ701およびスレーブモード用プロセ
ッサ702の間でデータの入れ替えを行う。すなわち、
図9(A)に示したように、マスタモード用プロセッサ
701に設けられた作業用RAM107の2048番地
から3071番地までに格納された複素数データ(すな
わちマスタモード用プロセッサ701の演算結果ci )
とスレーブモード用プロセッサ702に設けられた作業
用RAM107の0番地から1023番地に格納された
複素数データ(すなわちスレーブモード用プロセッサ7
02の演算結果ai )とを入れ換え、さらに、マスタモ
ード用プロセッサ701に設けられた作業用RAM10
7の3072番地から4095番地までに格納された複
素数データ(すなわちマスタモード用プロセッサ701
の演算結果di )とスレーブモード用プロセッサ702
に設けられた作業用RAM107の1024番地から2
047番地に格納された複素数データ(すなわちスレー
ブモード用プロセッサ702の演算結果bi )とを入れ
換える。なお、このデータの入れ替えは、各プロセッサ
701,702の出力端子115,116から出力され
た複素数データを、入力選択回路714,713を介し
て他方のプロセッサに取り込むことによって行われる。
これにより、図9(B)に示したような、複素数データ
の番地割付を得ることができる。
プロセッサ701,702の作業用RAM107に格納
された複素数データは、サンプル点番号の小さい順には
並んでいない。すなわち、マスタモード用プロセッサ7
01に設けられた作業用RAM107の1024番地〜
2047番地にはサンプル点番号2048〜3071の
複素数データが格納され、作業用RAM107の204
8番地〜3071番地にはサンプル点番号1024〜2
047の複素数データが格納されている。また、スレー
ブモード用プロセッサ702に設けられた作業用RAM
107の1024番地〜2047番地にはサンプル点番
号6144〜7167の複素数データが格納され、作業
用RAM107の2048番地〜3071番地にはサン
プル点番号5120〜6143の複素数データが格納さ
れている。このため、この実施の形態では、各プロセッ
サ701,702の作業用RAM107に格納された複
素数データを、サンプル点番号の小さい順に並べ替え
る。実際には、この実施の形態では、この入れ替えは、
アドレス用のデコーダ333(図8参照)内のデコード
用データの変更によって行なう。すなわち、マスタモー
ド用プロセッサ701に設けられた作業用RAM107
の1024番地〜2047番地と2048番地〜307
1番地でメモリ番地のバイナリーコードの上位2ビット
を入れ替え、同様に、スレーブモード用プロセッサ70
2に設けられた作業用RAM107の1024番地〜2
047番地と2048番地〜3071番地でメモリ番地
のバイナリーコードの上位2ビットを入れ替える。これ
により、データ転送を行わずに、実質的にデータを入れ
換えることができる。したがって、処理時間の高速化を
図ることができる。但し、このようにデコーダ333内
のデコード用データを変更するのではなく、通常のデー
タ転送を行ってもよいことはもちろんである。
を行うことにより、2回目以降の演算処理を、各プロセ
ッサ701,702ごとに別個に行うことができる。
に示したように、各プロセッサ701,702におい
て、データRAM107の各番地を、0番地〜511番
地、512番地〜1023番地、1024番地〜153
5番地および1536番地〜2047番地の組み合わせ
と2048番地〜2559番地、2560番地〜307
1番地、3072番地〜3583番地、3584番地〜
4095番地に分割して演算処理を行う。
ても、図10のステージ3〜ステージ7に示したよう
に、第1の実施の形態の2回目〜6回目の演算処理と同
様の演算処理(但し、サンプル点数は異なる)を行う。
同様にして、演算結果を外部に出力する。
ーリエ変換処理システムでは、この発明に係る高速フー
リエ変換処理装置であってサンプル点数の最大がNのも
のを2個並列に接続することによって、サンプル点数が
2Nの高速フーリエ変換処理を行うことができる。した
がって、処理が可能なサンプル点数の最大値を安価に増
加させることができる。
加によって構築することができるので、システムの規模
を小さくすることができる。
リエ変換処理装置を並列接続することとしたが、4個以
上の高速フーリエ変換処理装置を並列することもできる
ことはもちろんである。この場合には、処理が可能なサ
ンプル点数の最大値をさらに多くすることができる。
用いて説明する。なお、この実施の形態は、処理が可能
なサンプル点数の最大値がN(この実施の形態ではN=
4096とする)を2個並列に接続することによってサ
ンプル点数が2N(すなわち8192点)の高速フーリ
エ変換処理を行うことができる高速フーリエ変換処理シ
ステムに関するものである点では上述の第4の実施の形
態と同様であるが、第2の実施の形態と同様のブロック
浮動小数点演算処理機能を有する点で第4の実施の形態
と異なる。
リエ変換処理システムを概念的に示すブロック図であ
る。
1001およびスレーブモード用プロセッサ1002
は、ともに、上述の第2の実施例で示した高速フーリエ
変換処理装置からなる。かかるプロセッサ1001,1
002の内部構成において、図5と同じ符号を付した構
成成分は、それぞれ、図5の高速フーリエ変換処理装置
の場合と同じものを示している。
て、出力回路1011は図5のセレクタ111,11
2、レジスタ113,114および出力端子115,1
16を略記したものである。そして、この出力回路10
11は、それぞれ、出力選択回路1006の入力端子に
接続されている。
おいて、セレクタ1012は、図5のセレクタ105,
106および入力端子101,102を略記したもので
ある。
クタ1012は、マスタモード用入力選択回路1013
の出力端子に接続されている。また、このマスタモード
用入力選択回路1013の入力端子からは、外部から入
力された複素数データおよびスレーブモード用プロセッ
サ1002が出力した複素数データが入力される。
02のセレクタ1012は、スレーブモード用入力選択
回路1014の出力端子に接続されており、このスレー
ブモード用入力選択回路1014の入力端子からは外部
から入力された複素数データおよびマスタモード用プロ
セッサ1001が出力した複素数データが入力される。
御部119から出力される状態表示信号は、NOTバッ
ファ1003を介して、プロセッサ1002のシーケン
ス制御部119に状態制御信号として入力される。同様
に、プロセッサ1002のシーケンス制御部119から
出力される状態表示信号は、NOTバッファ1004を
介して、プロセッサ1001のシーケンス制御部119
に状態制御信号として入力される。また、各プロセッサ
1001,1002のシーケンス制御部119には、外
部からシステム制御信号が入力される。
処理データを入力する。また、データ出力ポート100
7は、出力選択回路1006から入力された処理後の複
素数データを、外部に出力する。
理システムの動作について説明する。
最初の1024点の被処理データが、データ入力ポート
1005およびマスタモード用入力選択回路1013を
介して、マスタモード用プロセッサ1001内に入力さ
れる。そして、上述の第1の実施例の場合と同様にし
て、これらの複素数データが、マスタモード用プロセッ
サ1001の作業用RAM107に格納される。このと
き、マスタモード用プロセッサ1001のブロック浮動
小数点検出記憶部503は、この複素数データをセレク
タ1012から入力して第2の実施の形態と同様の浮動
小数点指数検出を行い、記憶する。なお、これと同時
に、スレーブモード用プロセッサ1002のブロック浮
動小数点検出記憶部503も自動的に動作して浮動小数
点指数を検出するが、内部への記憶は行わない。
が、データ入力ポート1005およびスレーブモード用
入力選択回路1014を介して、スレーブモード用プロ
セッサ1002内に入力され、作業用RAM107に格
納される。このときも、スレーブモード用プロセッサ1
002のブロック浮動小数点検出記憶部503が、この
複素数データを入力して浮動小数点指数を検出し、記憶
する。なお、上述のマスタモード用プロセッサ1001
の場合と同様に、マスタモード用プロセッサ1001の
ブロック浮動小数点検出記憶部503も浮動小数点指数
を検出するが、内部への記憶は行わない。
ッサ1001,1002に設けられたブロック浮動小数
点検出記憶部503は別個に動作するが、結果としては
整合性のとれた浮動小数点指数の検出を行うことができ
る。
の実施の形態と同様にして、図9に示したような番地割
付で両プロセッサ1001,1002の作業用RAM1
07に格納される。
数データの格納が終了すると、続いて、これらの複素数
データを用いて高速フーリエ変換処理を行う。
算処理を6回繰り返した後、基数が2の演算処理を1回
行う。また、以下に説明するように、演算処理の動作
は、ブロック浮動小数点演算処理以外については、上述
の第4の実施の形態の場合と同じである。
て説明する。
1,1002ごとに、作業用RAM107に格納された
複素数データを、格納されたアドレスにしたがって4個
のグループに分けて扱う。ここでは、図9に示したよう
に、マスタモード用プロセッサ1001に設けられた作
業用RAM107の0番地から1023番地までに格納
された複素数データ(サンプル点番号では0〜102
3)をグループA1 、1024番地から2047番地ま
でに格納された複素数データ(サンプル点番号では20
48〜3071)をグループB1 、2048番地から3
071番地までに格納された複素数データ(サンプル点
番号では4096〜5119)をグループC1 、307
2番地から4095番地までに格納された複素数データ
(サンプル点番号では6114〜7167)をグループ
D1 とする。また、スレーブモード用プロセッサ100
2に設けられた作業用RAM107の0番地から102
3番地までに格納された複素数データ(サンプル点番号
では1024〜2047)をグループA2 、1024番
地から2047番地までに格納された複素数データ(サ
ンプル点番号では3072〜4095)をグループB
2 、2048番地から3071番地までに格納された複
素数データ(サンプル点番号では5120〜6143)
をグループC2 、3072番地から4095番地までに
格納された複素数データ(サンプル点番号では7168
〜8191)をグループD2 とする。
1の第1のデータパス501および第2のデータパス5
02は、グループA1 ,B1 ,C1 ,D1 のそれぞれ最
初の複素数データ(すなわち、0番地、1024番地、
2048番地および3072番地の複素数データ)とs
in/cos係数用ROM110に格納されたひねり係
数を読み込むと同時に、ブロック浮動小数点検出記憶部
503から最初のブロックの浮動小数点指数の検出値を
読み込む。そして、この検出値と上述の式(1)〜
(4)とを用いて、ブロック浮動小数点による演算処理
を行う。続いて、この演算結果ai ,bi ,ci ,di
が、作業用RAM107に格納される。このとき、グル
ープAに属する番地(ここでは0番地)には式(1)の
演算結果aiが、グループBに属する番地(ここでは1
024番地)には式(3)の演算結果bi が、グループ
Cに属する番地(ここでは2048番地)には式(2)
の演算結果ci が、グループDに属する番地(ここでは
3072番地)には式(4)の演算結果di が、それぞ
れ格納される。また、このとき、マスタモード用プロセ
ッサ1001内のブロック浮動小数点検出記憶部503
は、演算結果ai ,biの浮動小数点指数検出のみを行
い、演算結果ci ,di についての浮動小数点指数検出
は行わない。そして、これらの検出結果は、ブロック浮
動小数点検出記憶部503内に、そのまま記憶される。
ロセッサ1002の第1のデータパス108および第2
のデータパス109は、グループA2 ,B2 ,C2 ,D
2 のそれぞれ最初の複素数データ(すなわち、0番地、
1024番地、2048番地および3072番地の複素
数データ)を作業用RAM107から取り込んで式
(1)〜(4)を用いた演算処理を行い、演算結果
ai ,bi ,ci ,di を得る。そして、これらの演算
結果が、マスタモード用プロセッサ1001の場合と同
様にして、スレーブモード用プロセッサ1002内の作
業用RAM107に格納される。このとき、スレーブモ
ード用プロセッサ1002内のブロック浮動小数点検出
記憶部503は、演算結果ci ,di の浮動小数点指数
検出のみを行い、演算結果ai ,bi についての浮動小
数点指数検出は行わない。そして、これらの検出結果
は、ブロック浮動小数点検出記憶部503内に、そのま
ま記憶される。
番地および3073番地の複素数データを用いて同様の
演算処理を行ない、さらに以下同様にしてすべての番地
の複素数データについて順次演算処理を行う。
ると、入力選択回路1013,1014を用いて、マス
タモード用プロセッサ1001およびスレーブモード用
プロセッサ1002の間でデータの入れ替えを行う。す
なわち、マスタモード用プロセッサ1001に設けられ
た作業用RAM107の2048番地から3071番地
までに格納された複素数データ(すなわちマスタモード
用プロセッサ1001の演算結果ci )とスレーブモー
ド用プロセッサ1002に設けられた作業用RAM10
7の0番地から1023番地に格納された複素数データ
(すなわちスレーブモード用プロセッサ1002の演算
結果ai )とを入れ換え、さらに、マスタモード用プロ
セッサ1001に設けられた作業用RAM107の30
72番地から4095番地までに格納された複素数デー
タ(すなわちマスタモード用プロセッサ1001の演算
結果di )とスレーブモード用プロセッサ1002に設
けられた作業用RAM107の1024番地から204
7番地に格納された複素数データ(すなわちスレーブモ
ード用プロセッサ1002の演算結果bi )とを入れ換
える。このとき、この実施の形態では、入れ替えを行う
各複素数データのブロック浮動小数点指数の検出を行
う。これにより、1回目の演算処理で得られた演算結果
のすべてについてのブロック浮動小数点指数検出が行わ
れたことになる。
同様にして、例えば作業用RAMに設けられたアドレス
用デコーダのデコード用データを変更することなどによ
り、各プロセッサ1001、1002内の作業用RAM
の1024番地〜2047番地と2048番地〜307
1番地の入れ換えを行う。
回目の演算処理(基数4)を、各プロセッサ1001,
1002ごとに独立させて行う。
おける1回目の演算処理の場合と同様であり、各プロセ
ッサ1001,1002において、データRAM107
の各番地を、図9に示したような番地割付で4分割して
ブロック浮動小数点による演算処理を行う。
ついても、第2の実施の形態の2回目〜6回目の演算処
理と同様の演算処理を行う。
同様にして、演算結果を外部に出力する。
ーリエ変換処理システムでは、ブロック浮動小数点演算
が可能な高速フーリエ変換処理装置であってサンプル点
数の最大がNのものを2個並列に接続することによっ
て、サンプル点数が2Nの高速フーリエ変換処理を、ブ
ロック浮動小数点法を用いて行うことができる。
上の高速フーリエ変換処理装置を並列することもできる
ことはもちろんである。
のすべての演算処理でブロック浮動小数点法を用いるこ
ととしたが、例えば、1回目の演算処理は固定小数点法
を用いて行い、2回目以降の演算処理をブロック浮動小
数点法で行うこととしてもよい。この場合には、最初に
外部データを読み込む際には各プロセッサ1001,1
002に設けられたブロック浮動小数点検出記憶部50
3の検出動作を停止させ、検出を行わない。そして、1
回目の演算処理は第1の実施の形態と同様の固定小数点
法で行い、演算結果を格納する際および格納後に各プロ
セッサ1001,1002間で複素数データを入れ替え
る際に浮動小数点指数の検出を行う。そして、2回目以
降の演算処理では、第2の実施の形態で説明したような
浮動小数点指数を用いた演算処理を行えばよい。
態に係る高速フーリエ変換処理システムの効果を得るこ
とが可能である。
用いて説明する。なお、この実施の形態に係る高速フー
リエ変換処理装置は、データパスをさらに2個設けた点
と、転置用RAMを設けた点で、上述の第1の実施の形
態と異なる。
48点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
成部は、それぞれ、図1の場合と同じものを示してい
る。
は、図1にセレクタ111,112、レジスタ113,
114および出力端子115,116を略記したもので
ある。さらに、セレクタ1802は、図1のセレクタ1
05,106、レジスタ103,104および入力ポー
ト101,102を略記したものである。
タパス108と同じ内部構造、すなわち図2(A)に示
した構造または図12に示した構造のいずれかを使用す
ることができる。同様に、第4のデータパス1804
は、第2のデータパス109と同じ内部構造、すなわち
図2(A)に示した構造または図12に示した構造のい
ずれかを使用することができる。
ス108および第2のデータパス109で算出された複
素数データai 〜di を順次取り込んで一時的に記憶す
る。そして、後述するようにして、これらの複素数デー
タによって形成される4行4列の行列を転置して1列ず
つ出力する。
処理装置の動作について、図19を用いて説明する。
様にして、2048点の被処理データが、実数部と虚数
部とに分けられて、セレクタ1802から作業用RAM
107に順次格納される。
する動作が終了すると、続いて、これらの被処理データ
を用いて高速フーリエ変換処理を行う。
にして、1回目の演算処理と2回目の演算処理とを同時
に行う。
格納された2048個の複素数データが、第1の実施の
形態の場合と同様の4グループA,B,C,Dに分割さ
れ、さらに、各グループA,B,C,Dがそれぞれ4グ
ループAG1〜AG4,BG1〜BG4,CG1〜CG4,DG1〜D
G4に4分割される。すなわち、この実施の形態では、作
業用RAM107に格納された2048を最初に16分
割しており、この点で上述の各実施の形態と異なる。
2のデータパス109が、作業用RAM107の0番
地、512番地、1024番地および1536番地に格
納された各複素数データ(すなわちグループAG1,
BG1,CG1,DG1の最初の複素数データ)とsin/c
os係数用ROM110に格納されたひねり係数を読み
込む。そして、0番地のデータをAi 、512番地のデ
ータをBi 、1024番地のデータをCi 1536番地
のデータをDi として、上述の式(1)〜(4)の演算
を行う。
8および第2のデータパス109から演算結果a1 ,b
1 ,c1 ,d1 が出力される。この実施の形態では、こ
れらの演算結果は、転置用RAM1805に格納され
る。
2のデータパス109は、作業用RAM107の128
番地、640番地、1152番地および1644番地の
各複素数データ(すなわちグループAG2,BG2,CG2,
DG2の最初の複素数データ)をデータをAi ,Bi ,C
i ,Di として読み込んで、上式(1)〜(4)を用い
た演算を行い、演算結果a2 ,b2 ,c2 ,d2 を転置
用RAM1805に格納する。同様にして、グループA
G3,BG3,CG3,DG3の最初の複素数データおよびグル
ープAG4,BG4,CG4,DG4の最初の複素数データにつ
いても、上式(1)〜(4)を用いた演算を順次行い、
演算結果a3 ,b3 ,c3 ,d3 およびa4 ,b4 ,c
4 ,d4 を順次転置用RAM1805に格納する。
2のデータパス109は、各グループAG1〜AG4,BG1
〜BG4,CG1〜CG4,DG1〜DG4の2番目以降の複素数
データについても、同様の演算を行い、演算結果を順次
転置用RAM1805に格納していく。
ように、これらの演算結果を4行4列の行列に分割し、
これを転置して(すなわち行と列とを入れ替えて)、1
列ずつ出力する。
ータパス1804は、転置用RAM1805から入力し
た複素数データを読み込む。そして、1行目のデータを
Ai2行目のデータをBi 、3行目のデータをCi 4行
目のデータをDi として、上式(1)〜(4)の演算を
行う。例えば、最初の演算の場合であれば、a1 →
Ai ,a2 →Bi ,a3 →Ci ,a4 →Di として、上
式(1)〜(4)の演算を行う。そして、この演算によ
って得られた複素数データai ,bi ,ci ,diが、
作業用RAM107に格納される。このとき、例えば最
初の演算の場合であれば、グループAG1に属する番地
(ここでは0番地)には式(1)の演算結果ai が、グ
ループAG2に属する番地(ここでは128番地)には式
(3)の演算結果bi が、グループAG3に属する番地
(ここでは256番地)には式(2)の演算結果c
i が、グループAG4に属する番地(ここでは384番
地)には式(4)の演算結果di が、それぞれ格納され
る。
4のデータパス1804の2回目の演算では、b1 →A
i ,b2 →Bi ,b3 →Ci ,b4 →Di として上式
(1)〜(4)の演算が行われ、演算結果が作業用RA
M107に格納される。このとき、グループBG1に属す
る番地(ここでは512番地)には式(1)の演算結果
ai が、グループBG2に属する番地(ここでは640番
地)には式(3)の演算結果bi が、グループBG3に属
する番地(ここでは768番地)には式(2)の演算結
果ci が、グループBG4に属する番地(ここでは896
番地)には式(4)の演算結果di が、それぞれ格納さ
れる。
れた複素数データc1 〜c4 ,d1〜d4 についても上
式(1)〜(4)の演算が順次行われ、各演算結果がグ
ループCG1〜CG4,DG1〜DG4の最初の番地に格納され
る。
3および第4のデータパス1804は、転置用RAM1
805から入力したすべての複素数データについての演
算を行い、作業用RAM107に順次格納する。
RAM107を4分割して得られた各グループA,B,
C,Dをさらにそれぞれ4分割してグループAG1〜
AG4,BG1〜BG4,CG1〜CG4,DG1〜DG4を得ること
とし、グループAG1,BG1,CG1,DG1の被処理データ
を用いた演算、グループAG2,BG2,CG2,DG2の被処
理データを用いた演算、グループAG3,BG3,CG3,D
G3の被処理データを用いた演算およびグループAG4,B
G4,CG4,DG4の被処理データを用いた演算を第1のデ
ータパス108および第2のデータパス109で交互に
繰り返して行うことにした。これにより、第3のデータ
パス1803および第4のデータパス1804が転置用
RAM1805の出力をそのまま用いて演算を行えるよ
うになり、従って高速の演算処理を実現することができ
る。
処理が終了すると、次に、以下のようにして3回目およ
び4回目の演算処理(基数4)を同時に行う。
各グループAG1〜AG4,BG1〜BG4,CG1〜CG4,DG1
〜DG4のそれぞれを、さらに16個のグループに分割す
る。すなわち、この演算処理では、データRAM107
の各番地を合計256個に分割する。例えば、グループ
AG1を4分割して得られた各グループをA,B,C,D
とし、さらに各グループをそれぞれ4分割してAG1〜A
G4,BG1〜BG4,CG1〜CG4,DG1〜DG4とする。例え
ば、上述の1回目および2回目の分割におけるグループ
AG1(0番地〜128番地)をさらに16分割した結
果、AG1は0〜7番地、BG1は32〜39番地、CG1は
64〜71番地、DG1は96〜103番地となる。
2のデータパス109が、作業用RAM107の0番
地、32番地、64番地および96番地に格納された各
複素数データとsin/cos係数用ROM110に格
納されたひねり係数とを読み込み、0番地のデータをA
i 、32番地のデータをBi 、64番地のデータをCi
96番地のデータをDi として、上式(1)〜(4)の
演算を行う。そして、この演算によって得られた複素数
データが、転置用RAM1805に格納される。以下、
1回目および2回目の場合と同様にして、第1のデータ
パス108および第2のデータパス109による演算が
繰り返される。
よび2回目の場合と同様にして、演算結果を4行4列の
行列に分割して転置し、一列ずつ出力する動作を繰り返
す。
第4のデータパス1804も、1回目および2回目の場
合と同様にして、転置用RAM1805から取り込んだ
複素数データを用いて上式(1)〜(4)の演算を行
い、演算結果ai ,bi ,ci,di を作業用RAM1
07の所定の番地に格納する。例えば、最初の演算の場
合であれば、ai を0番地に、bi を8番地に、ci を
16番地に、di を24番地に、それぞれ格納する。
処理が終了すると、次に、以下のようにして5回目の演
算処理(基数4)および6回目の演算処理(基数2)を
同時に行う。
回目の演算処理で分割されたデータRAM107の各グ
ループを、4個のグループに分割する。すなわち、この
演算処理では、データRAM107の各番地を合計10
24個に分割する。例えば、上述の3回目および4回目
の分割におけるグループAG1(0番地〜7番地)をさら
に4分割した結果、AG1は0番地および1番地、BG1は
2番地および3番地、CG1は4番地および5番地、DG1
は6番地および7番地となる。なお、この演算処理で1
6分割ではなく4分割することとしたのは、基数2の演
算処理(すなわち6回目の演算処理)では作業用RAM
内の被処理データを4分割する必要がないことに起因す
るものである。
のデータパス109が、作業用RAM107の0番地、
2番地、4番地および6番地に格納された各複素数デー
タとsin/cos係数用ROM110に格納されたひ
ねり係数とを読み込み、0番地のデータをAi 、2番地
のデータをBi 、4番地のデータをCi 6番地のデータ
をDi として、上式(1)〜(4)の演算を行う。そし
て、この演算によって得られた複素数データが、転置用
RAM1805に格納される。以下、1回目および2回
目の場合と同様にして、第1のデータパス108および
第2のデータパス109による演算が繰り返される。
よび2回目の場合と同様にして、演算結果を4行4列の
行列に分割して転置し、一列ずつ出力する動作を繰り返
す。
ータパス1804は、基数2の演算処理を行う。すなわ
ち、これらのデータパス1803,1804は、転置用
RAM1805から取り込んだ複素数データを用いて上
式(5)〜(8)の演算を行い、演算結果ai ,bi ,
ci ,di を作業用RAM107の所定の番地に格納す
る。例えば、最初の演算の場合であれば、ai を0番地
に、bi を1番地に、ci を8番地に、di を9番地
に、それぞれ格納する。
作業用RAM107に順次格納する。
と、最後に、上述の第1の実施の形態と同様にして、演
算結果を外部に出力する。
データパス108および第2のデータパス109の演算
結果ai ,bi ,ci ,di を一旦作業用RAMに格納
する必要が無く、転置用RAM1805で転置してその
まま第3のデータパス1803および第4のデータパス
1804の被処理データとして使用することができるの
で、処理速度を飛躍的に向上させることができる。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
用いて説明する。なお、この実施の形態に係る高速フー
リエ変換処理装置は、ブロック浮動小数点演算処理機能
を有する点で、上述の第6の実施の形態と異なる。
48点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
付した構成部は、それぞれ、これらの図と同じものを示
している。
2001および第2のデータパス2002は、ブロック
浮動小数点演算を行うためのシフト機能を有している点
で、図18に示した各データパス108,109と異な
る。なお、このブロック浮動小数点演算で使用するシフ
ト機能の詳細構成については、説明を省略する。
03は、セレクタ1802が出力した複素数データを取
り込んでブロック浮動小数点を検出するとともに、この
検出値を一時的に記憶する。このブロック浮動小数点検
出記憶部2003が一時的に記憶したブロック浮動小数
点の検出値は、データパス2001,2002およびシ
ーケンス制御部119に転送される。
作業用RAM107から複素数データを取り込むととも
にシーケンス制御部119から浮動小数点指数を取り込
み、この浮動小数点指数の値に基づいて複素数データを
シフトさせて、その結果を出力する。
19から浮動小数点指数の累算値を入力し、外部に対し
て出力する。
処理装置の動作を説明する。
様にして、2048点の被処理データが、実数部と虚数
部とに分けられて、セレクタ1802から作業用RAM
107に順次格納される。このとき、ブロック浮動小数
点検出記憶部2003は、これらの複素数データをセレ
クタ1802から順次入力して浮動小数点指数を検出
し、第2の実施の形態の場合と同様にして浮動小数点指
数を検出する。
する動作が終了すると、続いて、これらの被処理データ
を用いて高速フーリエ変換処理を行う。
にして、1回目の演算処理と2回目の演算処理とを同時
に行う。
格納された2048個の複素数データが、第6の実施の
形態の場合と同様にして、グループAG1〜AG4,BG1〜
BG4,CG1〜CG4,DG1〜DG4に分割される。
第2のデータパス2002が、作業用RAM107の0
番地、512番地、1024番地および1536番地に
格納された各複素数データ(すなわちグループAG1,B
G1,CG1,DG1の最初の複素数データ)とsin/co
s係数用ROM110に格納されたひねり係数を読み込
むと同時に、ブロック浮動小数点検出記憶部2003か
ら、各グループに共通な浮動小数点指数を読み込む。そ
して、この浮動小数点指数と上式(1)〜(4)とを用
いて、ブロック浮動小数点による演算を行う。
01および第2のデータパス2002から演算結果
a1 ,b1 ,c1 ,d1 が出力され、転置用RAM18
05に格納される。
第2のデータパス2002は、第6の実施の形態の場合
と同様にして、他の複素数データを順次作業用RAM1
07から読み出す。そして、ブロック浮動小数点による
演算処理を順次実行し、演算結果を順次転置用RAM1
805に格納していく。
の実施の形態と同様、これらの演算結果を4行4列の行
列に分割し、これを転置して、1列ずつ出力する。
ータパス1804は、転置用RAM1805から入力し
た複素数データを読み込む。そして、a1 →Ai ,a2
→Bi ,a3 →Ci ,a4 →Di として、上式(1)〜
(4)の演算を固定小数点により行う。さらに、この演
算によって得られた複素数データai ,bi ,ci ,d
i を、作業用RAM107に格納する(格納する番地は
第6の実施の形態の場合と同様である)。
2003は、各演算結果ai ,bi,ci ,di を入力
して、これらの演算結果ごとに浮動小数点指数を検出
し、記憶する。
4のデータパス1804が、b1 →Ai ,b2 →Bi ,
b3 →Ci ,b4 →Di として、2回目の演算を固定小
数点により行い、演算結果を作業用RAM107に格納
する(格納する番地は第6の実施の形態の場合と同様で
ある)。
2003は、各演算結果ai ,bi,ci ,di を入力
して浮動小数点指数を検出し、これらの検出値をそれぞ
れブロック浮動小数点検出記憶部2003内に記憶され
た浮動小数点指数と比較する。そして、既に記憶された
浮動小数点指数の方が小さいときは記憶内容を変更せ
ず、今回の検出値の方が小さいときは記憶内容を今回の
検出値に変更する。
3および第4のデータパス1804は、転置用RAM1
805から入力したすべての複素数データについての演
算を行って作業用RAM107に順次格納し、ブロック
浮動小数点検出記憶部2003は、順次計算結果ごとの
浮動小数点検出を行って、この検出値が記憶内容よりも
小さいときは記憶内容を書き換える。
した浮動小数点指数を、後述する3回目の演算処理で使
用する。
処理が終了すると、次に、以下のようにして3回目およ
び4回目の演算処理(基数4)を同時に行う。
合と同様、作業用RAM107の各グループAG1〜
AG4,BG1〜BG4,CG1〜CG4,DG1〜DG4のそれぞれ
を、さらに16個のグループに分割する。
第2のデータパス2002が、作業用RAM107の0
番地、32番地、64番地および96番地に格納された
各複素数データとsin/cos係数用ROM110に
格納されたひねり係数とを読み込むとともに、ブロック
浮動小数点検出記憶部2003から浮動小数点指数を読
み込み、上式(1)〜(4)の演算をブロック浮動小数
点によって実行する。以下、1回目の演算処理の場合と
同様にして、第1のデータパス2001および第2のデ
ータパス2002による演算が繰り返される。
よび2回目の場合と同様にして、演算結果を4行4列の
行列に分割して転置し、一列ずつ出力する動作を繰り返
す。
第4のデータパス1804も、1回目および2回目の場
合と同様にして、転置用RAM1805から取り込んだ
複素数データを用いて上式(1)〜(4)の演算を固定
小数点で行い、演算結果ai,bi ,ci ,di を作業
用RAM107の所定の番地に格納する。このとき、ブ
ロック浮動小数点検出記憶部2003は、2回目の演算
処理の場合と同様にして、計算結果ai ,bi ,ci ,
di ごとの浮動小数点検出を順次行い、この検出値が記
憶内容よりも小さいときは記憶内容を順次書き換える。
は、後述する5回目の演算処理で使用される。
算処理が終了すると、次に、5回目の演算処理(基数
4)および6回目の演算処理(基数2)を同時に行う。
合と同様、上述の3回目および4回目の演算処理で分割
されたデータRAM107の各グループを、4個のグル
ープに分割する。
第2のデータパス2002が、作業用RAM107の0
番地、2番地、4番地および6番地に格納された各複素
数データとsin/cos係数用ROM110に格納さ
れたひねり係数とを読み込み、これと同時にブロック浮
動小数点記憶検出部2003から浮動小数点指数を読み
込んで、上式(1)〜(4)の演算をブロック浮動小数
点により実行する。続いて、この演算によって得られた
複素数データが、転置用RAM1805に格納される。
以下、1回目および3回目の場合と同様にして、第1の
データパス2001および第2のデータパス2002に
よる演算が繰り返される。
よび3回目の場合と同様にして、演算結果を4行4列の
行列に分割して転置し、一列ずつ出力する動作を繰り返
す。
ータパス1804は、基数2の演算処理を行う。すなわ
ち、これらのデータパス1803,1804は、転置用
RAM1805から取り込んだ複素数データを用いて上
式(5)〜(8)の演算を固定小数点で行い、演算結果
ai ,bi ,ci ,di を作業用RAM107の所定の
番地に格納する。このとき、ブロック浮動小数点検出記
憶部2003は、演算結果ai ,bi ,ci ,di ごと
に浮動小数点検出を順次行い、この検出値が記憶内容よ
りも小さいときは記憶内容を順次書き換える。
と、最後に、演算結果を外部に出力する。このときは、
まず、シーケンス制御部119がブロック浮動小数点検
出記憶部2003から各サンプルに対する全ステージで
用いた浮動小数点指数の累算値を入力し、出力ビットシ
フタ2004,2005に送る。そして、出力ビットシ
フタ2004,2005は、この浮動小数点指数に基づ
いて、作業用RAM107から入力した複素数データを
シフトさせた後、出力回路1801に送る。これによ
り、シフト後の複素数データが、出力回路1801から
外部へ出力される。
004,2005によるシフトを行わずに複素数データ
を出力するとともに、最終的な浮動小数点指数の累算値
をレジスタ2006から外部に出力することもできる。
データパス2001および第2のデータパス2002の
演算結果ai ,bi ,ci ,di を一旦作業用RAMに
格納する必要が無く、転置用RAM1805で転置して
そのまま第3のデータパス1803および第4のデータ
パス1804の被処理データとして使用することができ
るので、ブロック浮動小数点法による処理速度を飛躍的
に向上させることができる。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
用いて説明する。なお、この実施の形態に係る高速フー
リエ変換処理装置は、セレクタ2101を設けた点で、
上述の第6の実施の形態と異なる。
24点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
構成部は、それぞれ、図18の場合と同じものを示して
いる。
は、第1、第2ののデータパス108,109の出力ま
たは第3、第4ののデータパス1803,1804の出
力の一方を選択して、セレクタ1802の一方の入力端
子に供給する。この選択は、シーケンス制御部119に
よって行われる。
処理装置の動作を説明する。
ル点数が1024(45 )点であるので、基数が4の演
算処理を5回行う。
作業用RAM107に供給されるように、シーケンス制
御部119がセレクタ1802を設定する。そして、上
述の第1の実施の形態の場合と同様にして、被処理デー
タが、実数部と虚数部とに分けられて、セレクタ180
2から作業用RAM107に順次格納される。
第4のデータパス1803,1804の出力が作業用R
AM107に供給されるように、セレクタ1802,2
101を設定する。
して、1回目および2回目の演算処理を同時に行い、さ
らに、3回目および4回目の演算処理を同時に行う。
次に、シーケンス制御部119は、第1、第2のデータ
パス108,109の出力が作業用RAM107に供給
されるように、セレクタ1802,2101を設定す
る。
処理(基数4)を行う。
よび4回目の演算処理で256分割されたデータRAM
107の各グループを、さらに4個のグループに分割す
る。すなわち、この演算処理では、データRAM107
の各番地を合計1024個に分割する。
のデータパス109が、作業用RAM107の0番地、
1番地、2番地および3番地に格納された各複素数デー
タとsin/cos係数用ROM110に格納されたひ
ねり係数とを読み込み、0番地のデータをAi 、1番地
のデータをBi 、2番地のデータをCi 3番地のデータ
をDi として、上式(1)〜(4)の演算を行う。
データai ,bi ,ci ,di を、セレクタ1802,
2101を介して、作業用RAM107の0番地、1番
地、2番地および3番地に格納する。その後、これと同
様にして、4番地、5番地、6番地および7番地の各複
素数データを用いた演算処理を行う。
を用いた演算を行う。
すると、最後に、上述の各実施の形態と同様にして、演
算結果を外部に出力する。
タ2101を設けたので、演算処理の回数が奇数回の場
合に有効である。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
用いて説明する。この実施の形態は、上述の第8の実施
の形態に示した高速フーリエ変換処理装置にブロック浮
動小数点演算処理機能を設けたものである。
24点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
構成部は、それぞれ、これらの図と同じものを示してい
る。
2201および第2のデータパス2202は、ブロック
浮動小数点演算を行うためのシフト機能を有している点
で、図21に示した各データパス108,109と異な
る。なお、このブロック浮動小数点演算で使用するシフ
ト機能の詳細構成については、説明を省略する。
03は、セレクタ1802が出力した複素数データを取
り込んでブロック浮動小数点を検出するとともに、この
検出値を一時的に記憶する。
作業用RAM107から複素数データを取り込むととも
にシーケンス制御部119から浮動小数点指数の累算値
を取り込み、この浮動小数点指数の値に基づいて複素数
データをシフトさせて、その結果を出力する。
19から浮動小数点指数の累算値を入力し、外部に対し
て出力する。
処理装置の動作を説明する。
作業用RAM107に供給されるように、シーケンス制
御部119がセレクタ1802を設定する。そして、上
述の第8の実施の形態の場合と同様にして、1024点
の被処理データが、実数部と虚数部とに分けられて、セ
レクタ1802から作業用RAM107に順次格納され
る。このとき、ブロック浮動小数点検出記憶部2203
は、これらの複素数データをセレクタ1802から順次
入力して浮動小数点指数を検出し、第2の実施の形態の
場合と同様にして浮動小数点指数を検出する。
第4のデータパス1803,1804の出力が作業用R
AM107に供給されるように、セレクタ1802,2
101を設定する。
して、1回目および2回目の演算処理を同時に行い、さ
らに、3回目および4回目の演算処理を同時に行う。こ
のとき、第1のデータパス2201および第2のデータ
パス2202ではブロック浮動小数点検出記憶部220
3から取り込んだ浮動小数点指数を用いてブロック浮動
小数点による演算を行い、第3のデータパス1803お
よび第4のデータパス1804では固定小数点による演
算を行う。
次に、シーケンス制御部119は、第1、第2のデータ
パス2201,2202の出力が作業用RAM107に
供給されるように、セレクタ1802,2101を設定
する。
処理(基数4)を行う。
よび4回目の演算処理で256分割されたデータRAM
107の各グループを、さらに4個のグループに分割す
る。すなわち、この演算処理では、データRAM107
の各番地を合計1024個に分割する。
2のデータパス2202が、作業用RAM107の0番
地、1番地、2番地および3番地に格納された各複素数
データと、sin/cos係数用ROM110に格納さ
れたひねり係数と、ブロック浮動小数点検出記憶部22
03に格納された浮動小数点指数とを読み込み、0番地
のデータをAi 、1番地のデータをBi 、2番地のデー
タをCi 3番地のデータをDi として、上式(1)〜
(4)の演算をブロック浮動小数点で行う。
データai ,bi ,ci ,di を、セレクタ1802,
2101を介して、作業用RAM107の0番地、1番
地、2番地および3番地に格納する。このとき、ブロッ
ク浮動小数点検出記憶部2203は、浮動小数点指数の
検出を順次行い、この検出値が記憶内容よりも小さいと
きは記憶内容を順次書き換える。
地、6番地および7番地の各複素数データを用いた演算
処理を行う。
すると、最後に、上述の各実施の形態と同様にして、演
算結果を外部に出力する。このときは、まず、シーケン
ス制御部119がブロック浮動小数点検出記憶部220
3から各サンプルに対する全ステージで用いた浮動小数
点指数の累算値を入力し、出力ビットシフタ2204,
2205に送る。そして、出力ビットシフタ2204,
2205は、この浮動小数点指数に基づいて、作業用R
AM107から入力した複素数データをシフトさせた
後、出力回路1801に送る。これにより、シフト後の
複素数データが、出力回路1801から外部へ出力され
る。
204,2205によるシフトを行わずに複素数データ
を出力するとともに、最終的な浮動小数点指数をレジス
タ2206から外部に出力することもできる。
タ2101を設けたので、演算処理の回数が奇数回の場
合でも、ブロック浮動小数点法による高速処理を実現す
ることができる。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
を用いて説明する。なお、この実施の形態に係る高速フ
ーリエ変換処理装置は、セレクタ2301を設けた点
で、上述の第6の実施の形態と異なる。
24点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
構成部は、それぞれ、図18の場合と同じものを示して
いる。
は、作業用RAM107の出力または転置用RAM18
05の出力の一方を選択して、第3のデータパス180
3および第4のデータパス1804に供給する。この選
択は、シーケンス制御部119によって行われる。
処理装置の動作を説明する。
ル点数が1024(45 )点であるので、基数が4の演
算処理を5回行う。
が、実数部と虚数部とに分けられて、セレクタ1802
から作業用RAM107に順次格納される。
RAM1805の出力が第3、第4のデータパス180
3,1804に供給されるように、セレクタ2301を
設定する。
して、1回目および2回目の演算処理を同時に行い、さ
らに、3回目および4回目の演算処理を同時に行う。
次に、シーケンス制御部119は、作業用RAM107
の出力が第3、第4のデータパス1803,1804に
供給されるように、セレクタ2301を設定する。
処理(基数4)を行う。
よび4回目の演算処理で256分割されたデータRAM
107の各グループを、さらに4個のグループに分割す
る。すなわち、この演算処理では、データRAM107
の各番地を合計1024個に分割する。
4のデータパス1804が、作業用RAM107の0番
地、1番地、2番地および3番地に格納された各複素数
データとsin/cos係数用ROM110に格納され
たひねり係数とを読み込み、0番地のデータをAi 、1
番地のデータをBi 、2番地のデータをCi 3番地のデ
ータをDi として、上式(1)〜(4)の演算を行う。
データai ,bi ,ci ,di を、作業用RAM107
の0番地、1番地、2番地および3番地に格納する。そ
の後、これと同様にして、4番地、5番地、6番地およ
び7番地の各複素数データを用いた演算処理を、第3の
データパス1803および第4のデータパス1804が
行う。
を用いた演算を行う。
すると、最後に、上述の各実施の形態と同様にして、演
算結果を外部に出力する。
タ2301を設けたので、演算処理の回数が奇数回の場
合に有効である。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
を用いて説明する。なお、この実施の形態は、上述の第
10の実施の形態に示した高速フーリエ変換処理装置に
ブロック浮動小数点演算処理機構を設けたものである。
24点の場合を例にとって説明する。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
構成部は、それぞれ、図23の場合と同じものを示して
いる。
401および第2のデータパス2402は、ブロック浮
動小数点演算を行うためのシフト機能を有している点
で、図23に示した各データパス108,109と異な
る。また、この実施の形態では、第3のデータパス24
03および第4のデータパス2404も、かかるシフト
機能を有している。なお、ブロック浮動小数点演算で使
用するシフト機能の詳細構成については、説明を省略す
る。
05は、セレクタ1802が出力した複素数データを取
り込んでブロック浮動小数点を検出するとともに、この
検出値を一時的に記憶する。
作業用RAM107から複素数データを取り込むととも
にシーケンス制御部119から浮動小数点指数を取り込
み、この浮動小数点指数の値に基づいて複素数データを
シフトさせて、その結果を出力する。
19から浮動小数点指数を入力し、外部に対して出力す
る。
処理装置の動作を説明する。
ル点数が1024(45 )点であるので、基数が4の演
算処理を5回行う。
が、実数部と虚数部とに分けられて、セレクタ1802
から作業用RAM107に順次格納される。このとき、
ブロック浮動小数点検出記憶部2405は、これらの複
素数データをセレクタ1802から順次入力して浮動小
数点指数を検出し、第2の実施の形態の場合と同様にし
て浮動小数点指数を検出する。
RAM1805の出力が第3、第4のデータパス240
3,2404に供給されるように、セレクタ2301を
設定する。
して、1回目および2回目の演算処理を同時に行い、さ
らに、3回目および4回目の演算処理を同時に行う。こ
のとき、第1のデータパス2401および第2のデータ
パス2402ではブロック浮動小数点検出記憶部240
5から取り込んだ浮動小数点指数を用いてブロック浮動
小数点による演算を行う。また、1回目〜4回目の演算
処理では、第3のデータパス2403および第4のデー
タパス2404は、ブロック浮動小数点ではなく、固定
小数点による演算を行う。
次に、シーケンス制御部119は、作業用RAM107
の出力が第3、第4のデータパス2403,2404に
供給されるように、セレクタ2301を設定する。
処理(基数4)を行う。
よび4回目の演算処理で256分割されたデータRAM
107の各グループを、さらに4個のグループに分割す
る。すなわち、この演算処理では、データRAM107
の各番地を合計1024個に分割する。
4のデータパス2404が、作業用RAM107の0番
地、1番地、2番地および3番地に格納された各複素数
データと、sin/cos係数用ROM110に格納さ
れたひねり係数と、ブロック浮動小数点検出記憶部24
05に格納された浮動小数点指数とを読み込み、0番地
のデータをAi 、1番地のデータをBi 、2番地のデー
タをCi 3番地のデータをDi として、上式(1)〜
(4)の演算を行う。
データai ,bi ,ci ,di を、作業用RAM107
の0番地、1番地、2番地および3番地に格納する。こ
のとき、ブロック小数点検出記憶部2405は、浮動小
数点指数の検出を順次行い、この検出値が記憶内容より
も小さいときは記憶内容を順次書き換える。
地、6番地および7番地の各複素数データを用いた演算
処理を、第3のデータパス2403および第4のデータ
パス2404が行う。
を用いた演算を行う。
すると、最後に、上述の各実施の形態と同様にして、演
算結果を外部に出力する。このときは、まず、シーケン
ス制御部119がブロック浮動小数点検出記憶部240
5から各サンプルに対する第1,第3,第5ステージで
用いた浮動小数点指数の累算値を入力し、出力ビットシ
フタ2406,2407に送る。そして、出力ビットシ
フタ2406,2407は、この浮動小数点指数に基づ
いて、作業用RAM107から入力した複素数データを
シフトさせた後、出力回路1801に送る。これによ
り、シフト後の複素数データが、出力回路1801から
外部へ出力される。
406,2407によるシフトを行わずに複素数データ
を出力するとともに、最終的な浮動小数点指数をレジス
タ2408から外部に出力することもできる。
タ2301を設けたので、演算処理の回数が奇数回の場
合に有効である。
2のデータパス2402だけでなく、第3のデータパス
2403および第4のデータパス2404もブロック浮
動小数点演算を行うことができるように構成したので、
5回目の演算もブロック浮動小数点を用いて行うことが
でき、演算結果の精度を高めることができる。
合を例にとって説明したが、4段以上の複数段して、各
段の間に転置用RAMを設けることとしてもよい。この
場合には、処理速度を一層向上させることができる。
および図26を用いて説明する。
92の高速フーリエ変換を行う場合を例に採って説明す
る。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
成部は、それぞれ、図1の場合と同じものを示してい
る。
は、図1にセレクタ111,112、レジスタ113,
114および出力端子115,116を略記したもので
ある。さらに、セレクタ2502は、図1のセレクタ1
05,106、レジスタ103,104および入力ポー
ト101,102を略記したものである。
ータパス2505としては、上述の第1の実施の形態の
第1のデータパス108と同じ内部構造のもの、すなわ
ち図2(A)に示したものまたは図12に示したものを
使用することができる。
第4のデータパス2506としては、上述の第1の実施
の形態の第2のデータパス109と同じ内部構造のも
の、すなわち図2(A)に示したものまたは図12に示
したもののいずれかを使用することができる。
うに、セレクタ2502から入力した複素数データを作
業用RAM107に格納する際の番地を選択する。な
お、この番地の選択は、シーケンス制御部119の制御
によって行われる。
に、作業用RAM107からデータパス2503〜25
06に複素数データを転送する際に、転送先となるデー
タパスを選択する。この転送先の選択も、シーケンス制
御部119の制御によって行われる。
を説明するための概念図である。なお、同図では、簡単
化のために、セレクタ2502を省略している。
07において、セレクタ2601は、作業用RAM10
7の1024番地〜2047番地の複素数データまたは
4096番地〜5119番地の複素数データを選択し
て、セレクタ2603に出力する。
107の3072番地〜4095番地の複素数データま
たは6144番地〜7167番地の複素数データを選択
して、セレクタ2603に出力する。
の1024番地〜2047番地の複素数データまたは4
096番地〜5119番地の複素数データを選択して、
セレクタ2606に出力する。
の3072番地〜4095番地の複素数データまたは6
144番地〜7167番地の複素数データを選択して、
セレクタ2606に出力する。
の0番地〜1023番地の複素数データ、2048番地
〜3071番地の複素数データ、セレクタ2601から
入力した複素数データまたはセレクタ2602から入力
した複素数データを選択して、第1,第2のデータパス
2503,2504に出力する。
の5120番地〜6143番地の複素数データ、716
8番地〜8191番地の複素数データ、セレクタ260
4から入力した複素数データまたはセレクタ2605か
ら入力した複素数データを選択して、第3,第4のデー
タパス2505,2506に出力する。
ーリエ変換処理装置の動作について説明する。
クタ2502およびデマルチプレクサ2506を介し
て、作業用RAM107に順次格納される。
納が終了すると、続いて、これらの複素数データを用い
て高速フーリエ変換を行う。
が8192(=46 ×2)なので、基数が4の演算処理
を6回繰り返した後、基数が2の演算処理を行う。
いて、説明する。
タ2601が4096番地〜5119番地を、セレクタ
2602が6144番地〜7167番地を、セレクタ2
604が1024番地〜2047番地を、セレクタ26
05が3072番地〜4095番地を選択するように、
これらのセレクタ2601,2602,2604,26
05を設定する。そして、第1のデータパス2503お
よび第2のデータパス2504が、0番地の被処理デー
タをA1 、2048番地の被処理データをB1、409
6番地の被処理データをC1 、6144番地の被処理デ
ータをD1 として作業用RAM107から読み出し、上
式(1)〜(4)の演算処理を行う。また、これと平行
して、第3のデータパス2505および第4のデータパ
ス2506が、1024番地の被処理データをA1 、3
072番地の被処理データをB1、5120番地の被処
理データをC1 、7168番地の被処理データをD1 と
して作業用RAM107から読み出し、上式(1)〜
(4)の演算を行う。
第2のデータパス2504の演算結果である複素数デー
タa1 ,b1 ,c1 ,d1 が、セレクタ2502を介し
てデマルチプレクサ2507に入力され、作業用RAM
107に書き込まれる。ここで、この実施の形態では、
演算結果a1 は0番地に書き込まれ、演算結果b1 は2
048番地に書き込まれ、演算結果c1 は4096番地
に書き込まれ、且つ、演算結果d1 は6144番地に書
き込まれる。
505および第4のデータパス2506の演算結果であ
る複素数データa1 ,b1 ,c1 ,d1 が、セレクタ2
502およびデマルチプレクサ2507を介して、作業
用RAM107の1024番地、3072番地、512
0番地および7168番地に書き込まれる。
2のデータパス2504は、1番地の被処理データをA
1 、2049番地の被処理データをB1 、4097番地
の被処理データをC1 、6145番地の被処理データを
D1 として上式(1)〜(4)の演算処理を行い、ま
た、これと平行して第3のデータパス2505および第
4のデータパス2506が、1025番地の被処理デー
タをA1 、3073番地の被処理データをB1 、512
1番地の被処理データをC1 、7169番地の被処理デ
ータをD1 として上式(1)〜(4)の演算を行う。そ
して、第1のデータパス2503および第2のデータパ
ス2504の演算結果は1番地、2049番地、409
7番地および6145番地に格納され、また、第3のデ
ータパス2505および第4のデータパス2506の演
算結果は1025番地、3073番地、5121番地お
よび7169番地に格納される。
2506は、すべての番地の被処理データについて順次
演算を行い、演算結果を作業用RAM107に書き込
む。
ると、続いて、2回目の演算処理が行われる。
のデータパス2503および第2のデータパス2504
による演算では、被処理データの読み出しおよび演算結
果の書き込みは、作業用RAM107の0番地〜409
5番地のみに対して行われる。同様に、第3のデータパ
ス2505および第4のデータパス2506による演算
では、被処理データの読み出しおよび演算結果の書き込
みは、作業用RAM107の4096番地〜8191番
地のみに対して行われる。
タ2601が1024番地〜2047番地を、セレクタ
2602が3072番地〜4095番地を、セレクタ2
604が4096番地〜5119番地を、セレクタ26
05が6144番地〜7167番地を選択するように、
これらのセレクタ2601,2602,2604,26
05を設定する。そして、第1のデータパス2503お
よび第2のデータパス2504が、0番地の被処理デー
タをA1 、512番地の被処理データをB1 、1024
番地の被処理データをC1 、1536番地の被処理デー
タをD1 として作業用RAM107から読み出し、上式
(1)〜(4)の演算処理を行う。同様に、第3のデー
タパス2505および第4のデータパス2506が、4
096番地の被処理データをA1 、4608番地の被処
理データをB1 、5120番地の被処理データをC1 、
5632番地の被処理データをD1 として作業用RAM
107から読み出し、上式(1)〜(4)の演算を行
う。
第2のデータパス2504の演算結果である複素数デー
タa1 ,b1 ,c1 ,d1 が、セレクタ2502および
デマルチプレクサ2507を介して、0番地、512番
地、1024番地、1536番地に書き込まれる。同様
に、第3のデータパス2505および第4のデータパス
2506の演算結果である複素数データa1 ,b1 ,c
1 ,d1 が、セレクタ2502およびデマルチプレクサ
2507を介して、作業用RAM107の4096番、
4608番地、5120番地および5632番地に書き
込まれる。
2506は、すべての番地の被処理データについて順次
演算を行い、演算結果を作業用RAM107に書き込
む。
3回目〜6回目の演算処理(基数4)を行い、さらに、
7回目の演算処理(基数2)を行う。
フーリエ変換処理装置によれば、4個のデータパスを用
いて2系統の演算処理を平行して行うことができるの
で、処理速度をさらに向上させることができる。また、
デマルチプレクサ2507およびマルチプレクサ250
8を用いて1回目の演算処理後のデータ転送を不要とし
たことによっても、処理速度の向上を図っている。
エ変換処理装置について、図27を用いて説明する。
形態に係る高速フーリエ変換処理装置に、ブロック浮動
小数点演算処理機能を付加したものである。
リエ変換処理装置の構成を概略的に示すブロック図であ
る。
構成部は、それぞれ、図25の場合と同じものを示して
いる。
〜2704は、ブロック浮動小数点演算を行うためのシ
フト機能を有している点で、図25に示した各データパ
ス2503〜2506と異なる。なお、かかるシフト機
能の詳細構成については、説明を省略する。
は、データパス2701〜2704が出力した複素数デ
ータを取り込んでブロック浮動小数点を検出するととも
に、この検出値を一時的に記憶する。このブロック浮動
小数点検出記憶部2705が一時的に記憶したブロック
浮動小数点の検出値は、データパス2701〜2704
およびシーケンス制御部119に転送される。
作業用RAM107から複素数データを取り込むととも
にシーケンス制御部119から浮動小数点指数を取り込
む。そして、この浮動小数点指数の値に基づいて複素数
データをシフトさせ、その結果を出力する。
19から浮動小数点指数の各ステージの累算値を入力
し、外部に対して出力する。
理装置の動作について説明する。なお、この実施の形態
でも、上述の第12の実施の形態と同様、サンプル点数
が8192(=46 ×2)なので、基数が4の演算処理
を6回繰り返した後、基数が2の演算処理を行う。
クタ2502およびデマルチプレクサ2507を介して
作業用RAM107に、順次格納される。このとき、ブ
ロック浮動小数点検出記憶部2705は、これらの被処
理データを順次入力し、第2の実施の形態の場合と同様
にして浮動小数点指数を検出する。
開始される。
06の動作は上述の第12の実施の形態と同様である。
すなわち、この演算処理の最初の演算では、第1のデー
タパス2701および第2のデータパス2702は、0
番地の被処理データをA1 、2048番地の被処理デー
タをB1 、4096番地の被処理データをC1 、614
4番地の被処理データをD1 として作業用RAM107
から読み出し、第3のデータパス2703および第4の
データパス2704は、1024番地の被処理データを
A1 、3072番地の被処理データをB1 、5120番
地の被処理データをC1 、7168番地の被処理データ
をD1 として作業用RAM107から読み出す。そし
て、これらのデータパス2701〜2704により、上
式(1)〜(4)の演算が行われる。このとき、データ
パス2701〜2704は、上述の第2の実施の形態の
場合と同様にして、浮動小数点演算を行う。
第2のデータパス2702の演算結果である複素数デー
タa1 ,b1 ,c1 ,d1 が、セレクタ2502を介し
てデマルチプレクサ2507に入力され、作業用RAM
107の0番地、2048番地、4096番地、614
4番地に書き込まれる。同様に、第3のデータパス27
03および第4のデータパス2704の演算結果である
複素数データa1 ,b1 ,c1 ,d1 は、作業用RAM
107の1024番、3072番地、5120番地およ
び7168番地に書き込まれる。
同様にして、データパス2701〜2704が、以降の
演算を行い、演算結果を作業用RAM107に書き込
む。このとき、ブロック浮動小数点検出記憶部2705
は、これらの演算結果を順次入力し、第2の実施の形態
の場合と同様にして浮動小数点指数を検出する。
ると、続いて、2回目の演算処理が行われる。
の演算処理においては、第1のデータパス2701およ
び第2のデータパス2702による演算では、被処理デ
ータの読み出しおよび演算結果の書き込みは、作業用R
AM107の0番地〜4095番地のみに対して行われ
る。同様に、第3のデータパス2703および第4のデ
ータパス2704による演算では、被処理データの読み
出しおよび演算結果の書き込みは、作業用RAM107
の4096番地〜8191番地のみに対して行われる。
また、それぞれの演算において、データパス2701〜
2704は、上述の第2の実施の形態の場合と同様にし
て、浮動小数点演算を行う。さらに、演算結果を作業用
RAM107に格納する際には、ブロック浮動小数点検
出記憶部2705が、これらの演算結果を順次入力し、
第2の実施の形態の場合と同様にして浮動小数点指数を
検出する。
3回目〜6回目の演算処理(基数4)を行い、さらに、
7回目の演算処理(基数2)を行う。
フーリエ変換処理装置によれば、上述の第12の実施の
形態と同様の高速フーリエ変換処理を、ブロック浮動小
数点法を用いて行うことができる。
係る高速フーリエ変換処理装置および高速フーリエ変換
処理方法によれば、フーリエ変換処理を高速で行うこと
ができ、また、基数4または基数2のいずれの高速フー
リエ変換アルゴリズムにも対応することができる。
理システムによれば、外付部品を少数しか用いないでシ
ステムを構築して、処理が可能なサンプル点数の最大値
を増やすことができる。
装置の構成を概略的に示すブロック図である。
第2のデータパスの内部構造を概念的に示すブロック
図、(B)および(C)は(A)の等価回路である。
に示すブロック図である。
装置の動作を説明するための概念図である。
装置の構成を概略的に示すブロック図である。
システムの構成を概略的に示すブロック図である。
システムの構成を概略的に示すブロック図である。
に示すブロック図である。
装置の動作を説明するための概念図である。
理装置の動作を説明するための概念図である。
理システムの構成を概略的に示すブロック図である。
よび第2のデータパスの他の内部構造例を概念的に示す
ブロック図である。
ときの演算動作を説明するためのタイミングチャートで
ある。
ときの演算動作を説明するためのタイミングチャートで
ある。
ときの演算動作を説明するためのタイミングチャートで
ある。
ときの演算動作を説明するためのタイミングチャートで
ある。
よび第2のデータパスの他の内部構造例を概念的に示す
ブロック図である。
理装置の構成を概略的に示すブロック図である。
動作を説明するための概念図である。
理装置の構成を概略的に示すブロック図である。
理装置の構成を概略的に示すブロック図である。
理装置の構成を概略的に示すブロック図である。
処理装置の構成を概略的に示すブロック図である。
処理装置の構成を概略的に示すブロック図である。
処理装置の構成を概略的に示すブロック図である。
するための概念図である。
処理装置の構成を概略的に示すブロック図である。
Claims (37)
- 【請求項1】 離散値の複素数データを入力して、可変
サンプル点数の高速フーリエ変換演算を基数4または基
数2のアルゴリズムで実行する高速フーリエ変換処理装
置において、 サンプル点数が4n ×2個または4n 個(nは自然数)
の前記複素数データを外部から入力して1つのグループ
として一時的に記憶する作業用記憶手段と、 この作業用記憶手段に記憶された前記複素数データの各
グループを計算列とサンプル点番号とにしたがって4個
のグループA,B,C,Dに分割し、分割後の各グルー
プA,B,C,Dに属するi番目の前記複素数データA
i ,Bi ,Ci,Di とひねり係数Wi1,Wi2,Wi3,
Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記複
素数データAi ,Bi ,Ci ,Di としてそれぞれ記憶
する一連の演算処理をn回繰り返し、前記サンプル点数
が4n ×2個の場合にはさらにこの演算処理によって得
られた複素数データAi ,Bi ,Ci ,Di を用いた演
算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段にそれぞ
れ記憶する演算処理を1回行う演算手段と、 を備えたことを特徴とする高速フーリエ変換処理装置。 - 【請求項2】 前記演算手段が、前記演算(1),
(2),(5),(6)を適宜行なうように構成された
第1のデータパスと、前記演算(3),(4),
(7),(8)を適宜行なうように構成された第2のデ
ータパスとを備えたことを特徴とする請求項1に記載の
高速フーリエ変換処理装置。 - 【請求項3】 前記第1のデータパスが、 前記複素数データAi ,Ci を入力して加算する第1の
加算器と、 前記複素数データAi ,Ci を前記第1の加算器で加算
することなく通過させる第1のバイパスと、 前記複素数データBi ,Di を入力して加算する第2の
加算器と、 前記複素数データBi ,Di を前記第2の加算器で加算
することなく通過させる第2のバイパスと、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して加算する第3の加算器と、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して減算する第1の減算器と、 前記第3の加算器の演算結果に前記ひねり係数Wi1また
は「1」を乗算して、演算結果ai を出力する第1の乗
算器と、 前記第1の減算器の演算結果に前記ひねり係数Wi3また
は「1」を乗算して、演算結果ci を出力する第2の乗
算器と、 を備えたことを特徴とする請求項2に記載の高速フーリ
エ変換処理装置。 - 【請求項4】 前記第2のデータパスが、 前記複素数データAi ,Ci を入力して減算する第2の
減算器と、 前記複素数データAi ,Ci を前記第2の減算器で減算
することなく通過させる第3のバイパスと、 前記複素数データBi ,Di を入力して減算したのちj
を乗算する複素減算器と、 前記複素数データBi ,Di を前記複素減算器で複素減
算することなく通過させる第4のバイパスと、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して加算する第4の加算器と、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して減算する第3の減算器と、 前記第4の加算器の演算結果に前記ひねり係数Wi2また
は「1」を乗算して、演算結果bi を出力する第3の乗
算器と、 前記減算器の演算結果に前記ひねり係数Wi4または
「1」を乗算して、演算結果di を出力する第4の乗算
器と、 を備えたことを特徴とする請求項2または3に記載の高
速フーリエ変換処理装置。 - 【請求項5】 前記第1のデータパスが、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai +Ci ,Bi +D1 を行う第5の加算器と、 前記複素数データAi ,Ci ,Bi ,Di を前記第5の
加算器で演算することなく通過させる第5のバイパス
と、 前記第5の加算器または前記第5のバイパスから複素数
データを2個ずつ取り込んで、両データの加算結果およ
び減算結果を出力する第1の加減算器と、 この第1の加減算器の前記加算結果とひねり係数Wi1ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第5の乗算器と、 前記第1の加減算器の前記減算結果とひねり係数Wi3ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第6の乗算器と、 この第5の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果ai の実数部
および虚数部として出力し、さらに、第6の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果ci の実数部および虚数部として出
力する第2の加減算器と、 を備えたことを特徴とする請求項2に記載の高速フーリ
エ変換処理装置。 - 【請求項6】 前記第2のデータパスが、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai −Ci ,j(Bi −D1 )を行う減算/複素減算
器と、 前記複素数データAi ,Ci ,Bi ,Di を前記減算/
複素減算器で演算することなく通過させる第6のバイパ
スと、 前記減算/複素減算器または前記第6のバイパスから複
素数データを2個ずつ取り込んで、両データの減算結果
および加算結果を出力する第3の加減算器と、 この第3の加減算器の前記減算結果とひねり係数Wi2ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第7の乗算器と、 前記第3の加減算器の前記加算結果とひねり係数Wi4ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第8の乗算器と、 この第7の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果bi の実数部
および虚数部として出力し、さらに、第8の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果di の実数部および虚数部として出
力する第4の加減算器と、 を備えたことを特徴とする請求項2または5に記載の高
速フーリエ変換処理装置。 - 【請求項7】 前記演算手段にブロック浮動小数点演算
法を用いて高速フーリエ変換演算を実行させるためのブ
ロック浮動小数点検出記憶手段を、さらに有することを
特徴とする請求項1〜6のいずれかに記載の高速フーリ
エ変換処理装置。 - 【請求項8】 離散値の複素数データを入力して、可変
サンプル点数の高速フーリエ変換演算を基数4または基
数2のアルゴリズムで実行する高速フーリエ変換処理装
置において、 サンプル点数が4n ×2個または4n 個(nは自然数)
の前記複素数データを外部から入力して1つのグループ
として一時的に記憶する作業用記憶手段と、 この作業用記憶手段に記憶された前記複素数データの各
グループを計算列とサンプル点番号とにしたがって16
個のグループAG1,BG1,CG1,DG1,AG2,BG2,C
G2,DG2,AG3,BG3,CG3,DG3,AG4,BG4,
CG4,DG4に分割し、分割後の各グループの組合せ{A
G1,BG1,CG1,DG1},{AG2,BG2,CG2,
DG2},{AG3,BG3,CG3,DG3},{AG4,BG4,
CG4,DG4}のそれぞれについて、各組合わせの各グル
ープに属するi番目の前記複素数データAi,Bi ,Ci
,Di とひねり係数Wi1,Wi2,Wi3,Wi4を用いた
演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) を実行する第1の演算手段と、 この第1の演算手段の演算結果ai ,bi ,ci ,di
を4個ずつ取り込んで4行4列の行列を形成した後でこ
の行列を転置し、これにより得られた転置行列を構成す
る複素数データを1列ずつ出力する転置手段と、 この転置手段から入力した前記複素数データをAi ,B
i ,Ci ,Di として前記演算(1)〜(4)を順次行
うとともにその結果であるai ,bi ,ci ,di を前
記作業用記憶手段に前記グループの組合せ{AG1,
AG2,AG3,AG4},{BG1,BG2,BG3,BG4},
{CG1,CG2,CG3,CG4},{DG1,DG2,DG3,D
G4}に順次記憶させる第2の演算手段と、 を備えたことを特徴とする高速フーリエ変換処理装置。 - 【請求項9】 前記第1の演算手段または前記第2の演
算手段の一方が、 前記第1の演算手段および前記第2の演算手段による前
記演算(1)〜(4)が合計でn回繰り返された後で、
前記サンプル点数が4n ×2個の場合にはさらにこの演
算処理によって得られた複素数データAi ,Bi ,C
i ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段にそれぞ
れ記憶する演算処理を1回行うように構成されたことを
特徴とする請求項8に記載の高速フーリエ変換処理装
置。 - 【請求項10】 前記第1の演算手段が、前記演算
(1),(2),(5),(6)または前記演算
(1),(2)を適宜行うように構成された第1のデー
タパスと、前記演算(3),(4),(7),(8)ま
たは前記演算(3),(4)を適宜行うように構成され
た第2のデータパスとを備え、且つ、前記第2の演算手
段が、前記演算(1),(2),(5),(6)または
前記演算(1),(2)を適宜行うように構成された第
3のデータパスと、前記演算(3),(4),(7),
(8)または前記演算(3),(4)を適宜行うように
構成された第4のデータパスとを備えたことを特徴とす
る請求項9に記載の高速フーリエ変換処理装置。 - 【請求項11】 前記第1のデータパスまたは前記第3
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci を入力して加算する第1の
加算器と、 前記複素数データAi ,Ci を前記第1の加算器で加算
することなく通過させる第1のバイパスと、 前記複素数データBi ,Di を入力して加算する第2の
加算器と、 前記複素数データBi ,Di を前記第2の加算器で加算
することなく通過させる第2のバイパスと、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して加算する第3の加算器と、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して減算する第1の減算器と、 前記第3の加算器の演算結果に前記ひねり係数Wi1また
は「1」を乗算して、演算結果ai を出力する第1の乗
算器と、 前記第1の減算器の演算結果に前記ひねり係数Wi3また
は「1」を乗算して、演算結果ci を出力する第2の乗
算器と、 を備えたことを特徴とする請求項10に記載の高速フー
リエ変換処理装置。 - 【請求項12】 前記第2のデータパスまたは前記第4
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci を入力して減算する第2の
減算器と、 前記複素数データAi ,Ci を前記第2の減算器で減算
することなく通過させる第3のバイパスと、 前記複素数データBi ,Di を入力して減算したのちj
を乗算する複素減算器と、 前記複素数データBi ,Di を前記複素減算器で複素減
算することなく通過させる第4のバイパスと、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して加算する第4の加算器と、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して減算する第3の減算器と、 前記第4の加算器の演算結果に前記ひねり係数Wi2また
は「1」を乗算して、演算結果bi を出力する第3の乗
算器と、 前記第3の減算器の演算結果に前記ひねり係数Wi4また
は「1」を乗算して、演算結果di を出力する第4の乗
算器と、 を備えたことを特徴とする請求項10または11に記載
の高速フーリエ変換処理装置。 - 【請求項13】 前記第1のデータパスまたは前記第3
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai +Ci ,Bi +D1 を行う第5の加算器と、 前記複素数データAi ,Ci ,Bi ,Di を前記第5の
加算器で演算することなく通過させる第5のバイパス
と、 前記第5の加算器または前記第5のバイパスから複素数
データを2個ずつ取り込んで、両データの加算結果およ
び減算結果を出力する第1の加減算器と、 この第1の加減算器の前記加算結果とひねり係数Wi1ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第5の乗算器と、 前記第1の加減算器の前記減算結果とひねり係数Wi3ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第6の乗算器と、 前記第5の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果ai の実数部
および虚数部として出力し、さらに、第6の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果ci の実数部および虚数部として出
力する第2の加減算器と、 を備えたことを特徴とする請求項10に記載の高速フー
リエ変換処理装置。 - 【請求項14】 前記第2のデータパスまたは前記第4
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai −Ci ,j(Bi −D1 )を行う減算/複素減算
器と、 前記複素数データAi ,Ci ,Bi ,Di を前記減算/
複素減算器で演算することなく通過させる第5のバイパ
スと、 前記減算/複素減算器または前記第6のバイパスから複
素数データを2個ずつ取り込んで、両データの減算結果
および加算結果を出力する第3の加減算器と、 この第3の加減算器の前記減算結果とひねり係数Wi2ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第7の乗算器と、 前記第3の加減算器の前記加算結果とひねり係数Wi4ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第8の乗算器と、 前記第7の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果bi の実数部
および虚数部として出力し、さらに、第8の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果di の実数部および虚数部として出
力する第4の加減算器と、 を備えたことを特徴とする請求項10または13に記載
の高速フーリエ変換処理装置。 - 【請求項15】 前記演算手段にブロック浮動小数点演
算法を用いて高速フーリエ変換演算を実行させるための
ブロック浮動小数点検出記憶手段を、さらに有すること
を特徴とする請求項8〜14のいずれかに記載の高速フ
ーリエ変換処理装置。 - 【請求項16】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
装置において、 サンプル点数が2N(N=4n ×2または4n ;nは自
然数)個の前記複素数データを外部から入力して1つの
グループとして一時的に記憶する作業用記憶手段と、 この作業用記憶手段に記憶された前記複素数データの各
グループを計算列とサンプル点番号とにしたがって8個
のグループA1 ,B1 ,C1 ,D1 ,A2 ,B2 ,
C2 ,D2 に分割し、分割後の各グループA1 ,B1 ,
C1 ,D1 ,A2 ,B2 ,C2 ,D2 に属するi番目の
前記複素数データA1i,B1i,C1i,D1i,A2i,
B2i,C2i,D2iとひねり係数W1i1 ,W1i2 ,
W1i3 ,W1i4 ,W2i1,W2i2 ,W2i3 ,W2i4 を用
いた演算 a1i={(A1i+C1i)+(B1i+D1i)}×W1i1 ・・・(1) c1i={(A1i+C1i)−(B1i+D1i)}×W1i3 ・・・(2) b1i={(A1i−C1i)−j(B1i−D1i)}×W1i2 ・・・(3) d1i={(A1i−C1i)+j(B1i−D1i)}×W1i4 ・・・(4) a2i={(A2i+C2i)+(B2i+D2i)}×W2i1 ・・・(5) c2i={(A2i+C2i)−(B2i+D2i)}×W2i3 ・・・(6) b2i={(A2i−C2i)−j(B2i−D2i)}×W2i2 ・・・(7) d2i={(A2i−C2i)+j(B2i−D2i)}×W2i4 ・・・(8) をすべてのiについて実行するとともにその結果である
a1i,b1i,c1i,d1i,a2i,b2i,c2i,d2iを前
記作業用記憶手段に前記複素数データA1i,B1i,
C1i,D1i,A2i,B2i,C2i,D2iとしてそれぞれ記
憶する一連の演算処理を1回行った後、前記作業記憶手
段に記憶された前記複素数データを計算列とサンプル点
番号とにしたがって4個のグループに分割する処理を1
回行い、さらに、これらの各グループを計算列とサンプ
ル点番号とにしたがって4個のグループA,B,C,D
に分割し、分割後の各グループA,B,C,Dに属する
i番目の前記複素数データAi ,Bi ,Ci ,Di とひ
ねり係数Wi1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(9) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(10) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(11) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(12) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記複
素数データAi ,Bi ,Ci ,Di としてそれぞれ記憶
する一連の演算処理をn−1回繰り返し、N=4n ×2
の場合にはさらにこの演算処理によって得られた前記複
素数データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(13) bi =Ai −Bi ・・・(14) ci =Ci +Di ・・・(15) di =Ci −Di ・・・(16) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段にそれぞ
れ記憶する演算処理を1回行う演算手段と、 を備えたことを特徴とする高速フーリエ変換処理装置。 - 【請求項17】 前記演算手段が、前記演算(1),
(2),(9),(10),(13),(14)を適宜
行うように構成された第1のデータパスと、前記演算
(3),(4),(11),(12),(15),(1
6)を適宜行うように構成された第2のデータパスと、
前記演算(5),(6),(9),(10),(1
3),(14)を適宜行うように構成された第3のデー
タパスと、前記演算(7),(8),(11),(1
2),(15),(16)を適宜行うように構成された
第4のデータパスとを備えたことを特徴とする請求項1
6に記載の高速フーリエ変換処理装置。 - 【請求項18】 前記第1のデータパスが、 複素数データAi ,Ci を入力して加算する第1の加算
器と、 前記複素数データAi ,Ci を前記第1の加算器で加算
することなく通過させる第1のバイパスと、 複素数データBi ,Di を入力して加算する第2の加算
器と、 前記複素数データBi ,Di を前記第2の加算器で加算
することなく通過させる第2のバイパスと、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して加算する第3の加算器と、 前記第1の加算器の出力または前記第1のバイパスの出
力と前記第2の加算器の出力または前記第2のバイパス
の出力とを入力して減算する第1の減算器と、 前記第3の加算器の演算結果に前記ひねり係数Wi1また
は「1」を乗算して、演算結果ai を出力する第1の乗
算器と、 前記第1の減算器の演算結果に前記ひねり係数Wi3また
は「1」を乗算して、演算結果ci を出力する第2の乗
算器と、 を備えたことを特徴とする請求項17に記載の高速フー
リエ変換処理装置。 - 【請求項19】 前記第2のデータパスまたは前記第4
のデータパスの少なくとも一方が、 複素数データAi ,Ci を入力して減算する第2の減算
器と、 前記複素数データAi ,Ci を前記第2の減算器で減算
することなく通過させる第3のバイパスと、 複素数データBi ,Di を入力して減算したのちjを乗
算する複素減算器と、 前記複素数データBi ,Di を前記複素減算器で複素減
算することなく通過させる第4のバイパスと、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して加算する第4の加算器と、 前記第2の減算器の出力または前記第3のバイパスの出
力と前記複素減算器の出力または前記第4のバイパスの
出力とを入力して減算する第3の減算器と、 前記第4の加算器の演算結果に前記ひねり係数Wi2また
は「1」を乗算して、演算結果bi を出力する第3の乗
算器と、 前記第2の減算器の演算結果に前記ひねり係数Wi4また
は「1」を乗算して、演算結果di を出力する第4の乗
算器と、 を備えたことを特徴とする請求項17または18に記載
の高速フーリエ変換処理装置。 - 【請求項20】 前記第1のデータパスまたは前記第3
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai +Ci ,Bi +D1 を行う第5の加算器と、 前記複素数データAi ,Ci ,Bi ,Di を前記第5の
加算器で演算することなく通過させる第5のバイパス
と、 前記第5の加算器または前記第5のバイパスから複素数
データを2個ずつ取り込んで、両データの加算結果およ
び減算結果を出力する第1の加減算器と、 この第1の加減算器の前記加算結果とひねり係数Wi1ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第5の乗算器と、 前記第1の加減算器の前記減算結果とひねり係数Wi3ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第6の乗算器と、 この第5の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果ai の実数部
および虚数部として出力し、さらに、第6の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果ci の実数部および虚数部として出
力する第2の加減算器と、 を備えたことを特徴とする請求項17に記載の高速フー
リエ変換処理装置。 - 【請求項21】 前記第2のデータパスまたは前記第4
のデータパスの少なくとも一方が、 前記複素数データAi ,Ci ,Bi ,Di を入力して演
算Ai −Ci ,j(Bi −D1 )を行う減算/複素減算
器と、 前記複素数データAi ,Ci ,Bi ,Di を前記第5の
加算器で演算することなく通過させる第6のバイパス
と、 前記第5の加算器または前記第6のバイパスから複素数
データを2個ずつ取り込んで、両データの減算結果およ
び加算結果を出力する第3の加減算器と、 この第3の加減算器の前記減算結果とひねり係数Wi2ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第7の乗算器と、 前記第3の加減算器の前記加算結果とひねり係数Wi4ま
たは「1」との、実数部どうしの乗算、実数部と虚数部
との乗算、虚数部どうしの乗算および虚数部と実数部と
の乗算を順次行う第8の乗算器と、 前記第7の乗算器から入力した実数部どうしの乗算結果
から虚数部どうしの乗算結果を減算するとともに、実数
部と虚数部との乗算結果を虚数部と実数部との乗算結果
に加算して、これらの演算結果を演算結果bi の実数部
および虚数部として出力し、さらに、第8の乗算器から
入力した実数部どうしの乗算結果から虚数部どうしの乗
算結果を減算するとともに、実数部と虚数部との乗算結
果を虚数部と実数部との乗算結果に加算して、これらの
演算結果を演算結果di の実数部および虚数部として出
力する第4の加減算器と、 を備えたことを特徴とする請求項17または20に記載
の高速フーリエ変換処理装置。 - 【請求項22】 前記演算手段にブロック浮動小数点演
算法を用いて高速フーリエ変換演算を実行させるための
ブロック浮動小数点検出記憶手段を、さらに有すること
を特徴とする請求項16〜21のいずれかに記載の高速
フーリエ変換処理装置。 - 【請求項23】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
装置であって、サンプル点数が4n ×2個または4n 個
(nは自然数)の前記複素数データを外部から入力して
1つのグループとして一時的に記憶する作業用記憶手段
と、この作業用記憶手段に記憶された前記複素数データ
の各グループを計算列とサンプル点番号とにしたがって
4個のグループA,B,C,Dに分割し、分割後の各グ
ループA,B,C,Dに属するi番目の前記複素数デー
タAi ,Bi ,Ci ,Di とひねり係数Wi1,Wi2,W
i3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記複
素数データAi ,Bi ,Ci ,Di としてそれぞれ記憶
する一連の演算処理をn回繰り返し、前記サンプル点数
が4n ×2個の場合にはさらにこの演算処理によって得
られた複素数データAi ,Bi ,Ci ,Di を用いた演
算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段にそれぞ
れ記憶する演算処理を1回行う演算手段とを備えた高速
フーリエ変換処理装置の複数個と、 これらの高速フーリエ変換処理装置が、それぞれ、選択
的に前記複素数データを入力するための入力データ選択
回路と、 且つ、前記複数個の高速フーリエ変換処理装置から選択
的に演算処理後の複素数データを出力させる出力データ
選択回路と、 を備えたことを特徴とする高速フーリエ変換処理システ
ム。 - 【請求項24】 それぞれの前記高速フーリエ変換処理
装置が、演算式(1),(2),(5),(6)を適宜
行なうように構成された第1のデータパスと、演算式
(3),(4),(7),(8)を適宜行なうように構
成された第2のデータパスとを備えたことを特徴とする
請求項23に記載の高速フーリエ変換処理システム。 - 【請求項25】 それぞれの前記高速フーリエ変換処理
装置に設けられた前記演算手段が、それぞれブロック浮
動小数点演算法を用いて高速フーリエ変換演算を実行す
るためのブロック浮動小数点検出記憶部を有することを
特徴とする請求項23または24に記載の高速フーリエ
変換処理システム。 - 【請求項26】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
装置であって、サンプル点数が4n ×2個または4n 個
(nは自然数)の前記複素数データを外部から入力して
1つのグループとして一時的に記憶する作業用記憶手段
と、この作業用記憶手段に記憶された前記複素数データ
の各グループを計算列とサンプル点番号とにしたがって
4個のグループA,B,C,Dに分割し、分割後の各グ
ループA,B,C,Dに属するi番目の前記複素数デー
タAi ,Bi ,Ci ,Di とひねり係数Wi1,Wi2,W
i3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記複
素数データAi ,Bi ,Ci ,Di としてそれぞれ記憶
する一連の演算処理をn回繰り返し、前記サンプル点数
が4n ×2個の場合にはさらにこの演算処理によって得
られた複素数データAi ,Bi ,Ci ,Di を用いた演
算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段にそれぞ
れ記憶する演算処理を1回行う演算手段とを備えた高速
フーリエ変換処理装置の複数個と、 外部からの前記複素数データまたは他の前記高速フーリ
エ変換処理装置の出力した前記複素数データを選択的に
入力させるために、前記高速フーリエ変換処理装置ごと
に設けられた入力データ選択回路と、 それぞれの前記高速フーリエ変換処理装置から選択的に
演算処理後の複素数データを出力させる出力データ選択
回路と、 を備えたことを特徴とする高速フーリエ変換処理システ
ム。 - 【請求項27】 それぞれの前記高速フーリエ変換処理
装置が、演算式(1),(2),(5),(6)を適宜
行なうように構成された第1のデータパスと、演算式
(3),(4),(7),(8)を適宜行なうように構
成された第2のデータパスとを備えたことを特徴とする
請求項26に記載の高速フーリエ変換処理システム。 - 【請求項28】 それぞれの前記高速フーリエ変換処理
装置に設けられた前記演算手段が、それぞれブロック浮
動小数点演算法を用いて高速フーリエ変換演算を実行す
るためのブロック浮動小数点検出記憶部を有することを
特徴とする請求項26または27に記載の高速フーリエ
変換処理システム。 - 【請求項29】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
方法において、 サンプル点数が4n ×2個または4n 個(nは自然数)
の前記複素数データを外部から入力して1つのグループ
として一時的に記憶する第1の処理過程と、 一時的に記憶された前記複素数データの各グループを計
算列とサンプル点番号とにしたがって4個のグループ
A,B,C,Dに分割し、分割後の各グループA,B,
C,Dに属するi番目の前記複素数データAi ,Bi ,
Ci ,Di とひねり係数Wi1,Wi2,Wi3,Wi4を用い
た演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにai ,bi ,c
i ,di をAi ,Bi ,Ci ,Di に代入する一連の演
算処理をn回繰り返し、前記サンプル点数が4n×2個
の場合にはさらにこの演算処理によって得られた前記複
素数データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをそれぞれAi ,Bi ,Ci ,
Di に代入する演算処理を1回行う第2の処理過程と、 を備えたことを特徴とする高速フーリエ変換処理方法。 - 【請求項30】 前記第2の処理過程がブロック浮動小
数点演算法を用いて高速フーリエ変換演算を実行する過
程であることを特徴とする請求項29に記載の高速フー
リエ変換処理方法。 - 【請求項31】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
方法において、 サンプル点数が4n ×2個または4n 個(nは自然数)
の前記複素数データを外部から入力して1つのグループ
として一時的に記憶する第1の処理過程と、 一時的に記憶された前記複素数データの各グループを計
算列とサンプル点番号とにしたがって16個のグループ
AG1,BG1,CG1,DG1,AG2,BG2,CG2,DG2,A
G3,BG3,CG3,DG3,AG4,BG4,CG4,DG4に分割
する第1の演算ステップと、分割後の各グループの組合
せ{AG1,BG1,CG1,DG1},{AG2,BG2,CG2,
DG2},{AG3,BG3,CG3,DG3},{AG4,BG4,
CG4,DG4}のそれぞれについて、各組合わせの各グル
ープに属するi番目の前記複素数データAi ,Bi ,C
i ,Di とひねり係数Wi1,Wi2,Wi3,Wi4を用いた
演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) を実行する第2の演算ステップと、この第2の演算ステ
ップの演算結果ai ,bi ,ci ,di を4個ずつ取り
込んで4行4列の行列を形成した後でこの行列を転置
し、これにより得られた転置行列を構成する複素数デー
タを1列ずつ出力する第3の演算ステップと、これらの
複素数データをAi ,Bi ,Ci ,Di として前記演算
(1)〜(4)を順次実行するとともにai ,bi ,c
i ,di を前記グループの組合せ{AG1,AG2,AG3,
AG4},{BG1,BG2,BG3,BG4},{CG1,CG2,
CG3,,CG4},{DG1,DG2,DG3,DG4}の各複素
数データAi ,Bi ,Ci ,Di に順次代入する第4の
演算ステップとからなる一連の演算処理を前記演算
(1)〜(4)の実行回数が合計n回となるまで繰り返
し、前記サンプル点数が4n ×2個の場合にはさらにこ
の演算処理によって得られた前記複素数データAi ,B
i ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをそれぞれAi ,Bi ,Ci ,
Di に代入する演算処理を1回行う第2の処理過程と、 を備えたことを特徴とする高速フーリエ変換処理方法。 - 【請求項32】 前記第2の演算ステップまたは前記演
算(5)〜(8)の少なくとも一方がブロック浮動小数
点演算法を用いて高速フーリエ変換演算を実行する過程
であることを特徴とする請求項31に記載の高速フーリ
エ変換処理方法。 - 【請求項33】 離散値の複素数データを入力して、可
変サンプル点数の高速フーリエ変換演算を基数4または
基数2のアルゴリズムで実行する高速フーリエ変換処理
方法において、 サンプル点数が2N(N=4n ×2または4n ;nは自
然数)個の前記複素数データを外部から入力して1つの
グループとして一時的に記憶する第1の処理過程と、 一時的に記憶された前記複素数データの各グループを計
算列とサンプル点番号とにしたがって8個のグループA
1 ,B1 ,C1 ,D1 ,A2 ,B2 ,C2 ,D2 に分割
し、分割後の各グループA1 ,B1 ,C1 ,D1 ,
A2 ,B2 ,C2 ,D2 に属するi番目の前記複素数デ
ータA1i,B1i,C1i,D1i,A2i,B2i,C2i,D2i
とひねり係数W1i1 ,W1i2 ,W1i3 ,W1i4 ,
W2i1 ,W2i2 ,W2i3 ,W2i4 を用いた演算 a1i={(A1i+C1i)+(B1i+D1i)}×W1i1 ・・・(1) c1i={(A1i+C1i)−(B1i+D1i)}×W1i3 ・・・(2) b1i={(A1i−C1i)−j(B1i−D1i)}×W1i2 ・・・(3) d1i={(A1i−C1i)+j(B1i−D1i)}×W1i4 ・・・(4) a2i={(A2i+C2i)+(B2i+D2i)}×W2i1 ・・・(5) c2i={(A2i+C2i)−(B2i+D2i)}×W2i3 ・・・(6) b2i={(A2i−C2i)−j(B2i−D2i)}×W2i2 ・・・(7) d2i={(A2i−C2i)+j(B2i−D2i)}×W2i4 ・・・(8) をすべてのiについて実行するとともにその結果である
a1i,b1i,c1i,d1i,a2i,b2i,c2i,d2iをA
1i,B1i,C1i,D1i,A2i,B2i,C2i,D2iに代入
する一連の演算処理を1回行った後、作業記憶手段に記
憶された複素数データを計算列とサンプル点番号とにし
たがって4個のグループに分割する処理を1回行い、さ
らに、これらの各グループを計算列とサンプル点番号と
にしたがってさらに4個のグループA,B,C,Dに分
割し、分割後の各グループA,B,C,Dに属するi番
目の前記複素数データAi ,Bi ,Ci ,Di とひねり
係数Wi1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(9) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(10) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(11) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(12) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをAi ,Bi ,Ci ,Di に代
入する一連の演算処理をn−1回繰り返し、N=4n ×
2の場合にはさらにこの演算処理によって得られた複素
数データAi ,Bi ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(17) bi =Ai −Bi ・・・(18) ci =Ci +Di ・・・(19) di =Ci −Di ・・・(20) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diをAi ,Bi ,Ci ,Di に代
入する演算処理を1回行う第2の処理過程と、 を備えたことを特徴とする高速フーリエ変換処理方法。 - 【請求項34】 前記第2の処理過程がブロック浮動小
数点演算法を用いて高速フーリエ変換演算を実行する過
程であることを特徴とする請求項33に記載の高速フー
リエ変換処理方法。 - 【請求項35】 離散値の複素数データを入力して、
サンプル点数がN個の高速フーリエ変換演算を基数4ま
たは基数2のアルゴリズムで実行する第1の高速フーリ
エ変換処理装置および第2の高速フーリエ変換処理装置
を設けてなる高速フーリエ変換処理システムを用いて、
サンプル点数が2N個の高速フーリエ変換処理を行なう
高速フーリエ変換処理方法において、 外部から入力された2N個(=4n ×2個または4n
個;nは自然数)の前記複素数データを、サンプル点番
号にしたがってN/4個ずつ前記第1の高速フーリエ変
換処理装置および前記第2の高速フーリエ変換処理装置
の各作業用記憶手段にそれぞれ交互に格納することによ
り、これらの作業用記憶手段に前記複素数データをそれ
ぞれ1グループとして記憶させる第1の処理過程と、 前記第1の高速フーリエ変換処理装置および前記第2の
高速フーリエ変換処理装置の前記作業用記憶手段に記憶
された複素数データの各グループを計算列とサンプル点
番号とに従って4個のグループA,B,C,Dにそれぞ
れ分割し、分割後の各グループA,B,C,Dに属する
i番目の複素数データAi ,Bi ,Ci,Di とひねり
係数Wi1,Wi2,Wi3,Wi4を用いた演算 ai ={(Ai +Ci )+(Bi +Di )}×Wi1 ・・・(1) ci ={(Ai +Ci )−(Bi +Di )}×Wi3 ・・・(2) bi ={(Ai −Ci )−j(Bi −Di )}×Wi2 ・・・(3) di ={(Ai −Ci )+j(Bi −Di )}×Wi4 ・・・(4) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記複
素数データAi ,Bi ,Ci ,Di としてそれぞれ記憶
し、さらに、前記第1の高速フーリエ変換処理装置のグ
ループC,Dに属する前記複素数データと前記第2の高
速フーリエ変換処理装置のグループA,Bに属する前記
複素数データとをそれぞれ入れ替えたのち、前記第1の
高速フーリエ変換処理装置および前記第2の高速フーリ
エ変換処理装置のそれぞれについてグループBに属する
前記複素数データとグループCに属する前記複素数デー
タを入れ替える第2の処理過程と、 前記第1の高速フーリエ変換処理装置および前記第2の
高速フーリエ変換処理装置の前記作業用記憶手段に記憶
された複素数データの各グループを計算列とサンプル点
番号とに従ってさらに4個のグループA,B,C,Dに
それぞれ分割し、分割後の各グループA,B,C,Dに
属するi番目の複素数データAi ,Bi,Ci ,Di と
ひねり係数Wi1,Wi2,Wi3,Wi4を用いて前記演算
(1)〜(4)をすべてのiについて実行するとともに
その結果であるai ,bi ,ci ,di を前記作業用記
憶手段に前記複素数データAi ,Bi ,Ci ,Di とし
てそれぞれ記憶する一連の演算処理をn−1回繰り返
し、前記サンプル点数が4n ×2個の場合にはさらにこ
の演算処理によって得られた前記複素数データAi ,B
i ,Ci ,Di を用いた演算 ai =Ai +Bi ・・・(5) bi =Ai −Bi ・・・(6) ci =Ci +Di ・・・(7) di =Ci −Di ・・・(8) をすべてのiについて実行するとともにその結果である
ai ,bi ,ci ,diを前記作業用記憶手段に前記Ai
,Bi ,Ci ,Di としてそれぞれ記憶する演算処理
を1回行う第3の処理過程と、 を備えたことを特徴とする高速フーリエ変換処理方法。 - 【請求項36】 前記第2の処理過程または前記第3の
処理過程の少なくとも一方がブロック浮動小数点演算法
を用いて高速フーリエ変換演算を実行する過程であるこ
とを特徴とする請求項35に記載の高速フーリエ変換処
理方法。 - 【請求項37】 前記第3の処理過程のうち、演算式
(5),(6),(7),(8)を行う演算処理のみが
ブロック浮動小数点演算法を用いて高速フーリエ変換演
算を実行する過程であることを特徴とする請求項35に
記載の高速フーリエ変換処理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01597198A JP3938238B2 (ja) | 1997-02-04 | 1998-01-28 | 高速フーリエ変換処理装置 |
TW087101271A TW420907B (en) | 1997-02-04 | 1998-02-03 | Fast fourier transform processing device, fast fourier transform processing system, and fast fourier transform processing method |
US09/018,530 US6230176B1 (en) | 1997-02-04 | 1998-02-04 | Fast fourier transform processing device, fast fourier transform processing system, and fast fourier transform processing method |
KR10-1998-0003103A KR100390326B1 (ko) | 1997-02-04 | 1998-02-04 | 고속푸리에변환처리장치,고속푸리에변환처리시스템및고속푸리에변환처리방법 |
EP98101915A EP0856801A1 (en) | 1997-02-04 | 1998-02-04 | Device, system and method for fast fourier transform processing |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2179997 | 1997-02-04 | ||
JP31365997 | 1997-11-14 | ||
JP9-313659 | 1997-11-14 | ||
JP9-21799 | 1997-11-14 | ||
JP01597198A JP3938238B2 (ja) | 1997-02-04 | 1998-01-28 | 高速フーリエ変換処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11203272A true JPH11203272A (ja) | 1999-07-30 |
JP3938238B2 JP3938238B2 (ja) | 2007-06-27 |
Family
ID=27281213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01597198A Expired - Fee Related JP3938238B2 (ja) | 1997-02-04 | 1998-01-28 | 高速フーリエ変換処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6230176B1 (ja) |
EP (1) | EP0856801A1 (ja) |
JP (1) | JP3938238B2 (ja) |
KR (1) | KR100390326B1 (ja) |
TW (1) | TW420907B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001083994A (ja) * | 1999-08-09 | 2001-03-30 | Deutsche Thomson Brandt Gmbh | オーディオ信号のビット伝送速度を節約して符号化する方法及び符号化器 |
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 |
US10855255B2 (en) | 2015-12-02 | 2020-12-01 | Nec Corporation | Digital filter, filter processing method, and recording medium |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167416A (en) * | 1997-09-26 | 2000-12-26 | Xilinx, Inc. | System and method for RAM-partitioning to exploit parallelism of radix-2 elements in FPGAS |
EP0942379A1 (en) * | 1998-03-13 | 1999-09-15 | Alcatel | Pipelined fast fourier transform processor |
DE19930707C2 (de) * | 1999-07-02 | 2003-04-10 | Forschungszentrum Juelich Gmbh | Meßverfahren, Meßvorrichtung sowie Auswerteelektronik |
US6859816B2 (en) * | 2000-07-31 | 2005-02-22 | Sony Corporation | Fast Fourier transform method and inverse fast Fourier transform method |
US6625203B2 (en) * | 2001-04-30 | 2003-09-23 | Interdigital Technology Corporation | Fast joint detection |
US7088791B2 (en) * | 2001-10-19 | 2006-08-08 | Texas Instruments Incorporated | Systems and methods for improving FFT signal-to-noise ratio by identifying stage without bit growth |
ATE433160T1 (de) * | 2002-08-20 | 2009-06-15 | Interdigital Tech Corp | Effiziente gemeinsame detektion |
US7386703B2 (en) * | 2003-11-18 | 2008-06-10 | International Business Machines Corporation | Two dimensional addressing of a matrix-vector register array |
WO2006023770A2 (en) * | 2004-08-18 | 2006-03-02 | Nielsen Media Research, Inc. | Methods and apparatus for generating signatures |
US20060224652A1 (en) * | 2005-04-05 | 2006-10-05 | Nokia Corporation | Instruction set processor enhancement for computing a fast fourier transform |
US8396913B2 (en) | 2005-04-12 | 2013-03-12 | Nxp B.V. | Fast fourier transform architecture |
US8161093B2 (en) * | 2006-12-06 | 2012-04-17 | Samsung Electronics Co., Ltd. | Complex multiplier and twiddle factor generator |
US7675847B2 (en) | 2007-07-10 | 2010-03-09 | Wipro Limited | Hardware implementation of a programmable FFT based on a half length FFT core |
KR101189767B1 (ko) * | 2008-12-17 | 2012-10-10 | 한국전자통신연구원 | 고속 푸리에 변환 장치 및 방법 |
US8370414B2 (en) * | 2009-01-15 | 2013-02-05 | Telefonaktiebolaget L M Ericsson (Publ) | FFT-based parallel system with memory reuse scheme |
US9952831B1 (en) * | 2017-02-16 | 2018-04-24 | Google Llc | Transposing in a matrix-vector processor |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4689762A (en) * | 1984-09-10 | 1987-08-25 | Sanders Associates, Inc. | Dynamically configurable fast Fourier transform butterfly circuit |
US4872132A (en) * | 1987-03-13 | 1989-10-03 | Zoran Corporation | Method and means for block floating point arithmetic |
US5093801A (en) * | 1990-07-06 | 1992-03-03 | Rockwell International Corporation | Arrayable modular FFT processor |
US5293330A (en) * | 1991-11-08 | 1994-03-08 | Communications Satellite Corporation | Pipeline processor for mixed-size FFTs |
JP2950703B2 (ja) * | 1992-04-30 | 1999-09-20 | シャープ株式会社 | 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法 |
FR2709007B1 (fr) * | 1993-08-11 | 1995-09-29 | Joanblanq Christophe | Dispositif électronique de calcul d'une transformée de Fourier et procédé pour minimiser la taille des chemins de données internes d'un tel dispositif. |
US5481488A (en) | 1994-10-21 | 1996-01-02 | United Microelectronics Corporation | Block floating point mechanism for fast Fourier transform processor |
US5717620A (en) * | 1995-10-24 | 1998-02-10 | Airnet Communications Corporation | Improved-accuracy fast-Fourier-transform butterfly circuit |
US5951627A (en) * | 1996-06-03 | 1999-09-14 | Lucent Technologies Inc. | Photonic FFT processor |
-
1998
- 1998-01-28 JP JP01597198A patent/JP3938238B2/ja not_active Expired - Fee Related
- 1998-02-03 TW TW087101271A patent/TW420907B/zh not_active IP Right Cessation
- 1998-02-04 KR KR10-1998-0003103A patent/KR100390326B1/ko not_active IP Right Cessation
- 1998-02-04 EP EP98101915A patent/EP0856801A1/en not_active Withdrawn
- 1998-02-04 US US09/018,530 patent/US6230176B1/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001083994A (ja) * | 1999-08-09 | 2001-03-30 | Deutsche Thomson Brandt Gmbh | オーディオ信号のビット伝送速度を節約して符号化する方法及び符号化器 |
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 |
US10855255B2 (en) | 2015-12-02 | 2020-12-01 | Nec Corporation | Digital filter, filter processing method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP3938238B2 (ja) | 2007-06-27 |
US6230176B1 (en) | 2001-05-08 |
TW420907B (en) | 2001-02-01 |
KR100390326B1 (ko) | 2003-10-30 |
EP0856801A1 (en) | 1998-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11203272A (ja) | 高速フーリエ変換処理装置、高速フーリエ変換処理システムおよび高速フーリエ変換処理方法 | |
US7337205B2 (en) | Matrix multiplication in a vector processing system | |
KR101202445B1 (ko) | 프로세서 | |
US5293330A (en) | Pipeline processor for mixed-size FFTs | |
US4241411A (en) | FFT Parallel processor having mutually connected, multiple identical cards | |
US7043627B2 (en) | SIMD operation system capable of designating plural registers via one register designating field | |
WO2001035224A1 (en) | Bit-serial memory access with wide processing elements for simd arrays | |
KR20030064239A (ko) | 화상을 처리하는 장치 및 방법과 이 장치에 이용되는컴파일러 | |
JPWO2002069182A1 (ja) | フーリェ変換装置 | |
CN110851779A (zh) | 用于稀疏矩阵运算的脉动阵列架构 | |
JP2002351858A (ja) | 処理装置 | |
JP5601327B2 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
JPH06274528A (ja) | ベクトル演算処理装置 | |
JP7038608B2 (ja) | 半導体装置 | |
JPH06282432A (ja) | 演算処理装置 | |
JP4248027B2 (ja) | データ要素の系列を変換する装置 | |
JP3088472B2 (ja) | フーリエ変換装置 | |
JP2580501B2 (ja) | 並列デ−タ処理装置 | |
WO2008124061A1 (en) | System for convolution calculation with multiple computer processors | |
KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
EP0988604A1 (en) | Device for converting series of data elements | |
JPH07210540A (ja) | 情報処理装置 | |
JP2000137703A (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
JP2002117015A (ja) | 高速フーリエ変換回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070320 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100406 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110406 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |