JPH05174046A - 演算回路 - Google Patents
演算回路Info
- Publication number
- JPH05174046A JPH05174046A JP3337343A JP33734391A JPH05174046A JP H05174046 A JPH05174046 A JP H05174046A JP 3337343 A JP3337343 A JP 3337343A JP 33734391 A JP33734391 A JP 33734391A JP H05174046 A JPH05174046 A JP H05174046A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- input
- output
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】 小規模なハードウエア構成で効率のよいフー
リエ演算を可能にすること。 【構成】 第1,2の複素数の実数部Br,Crと虚数部
Bi,Ciとが切換え手段S1,S2により選択切換えされ
て入力される1つの乗算器41を設け、この乗算器41
出力を累積加算又は減算する第1の加減算器43と、乗
算結果中の実数部を保持する第1のレジスタ45と虚数
部を保持する第2のレジスタ46とを別個に設け、第3
の複素数の実数部Ar とレジスタ45に保持された実数
部出力(B・C)rとの加減算処理を行なう第2の加減算
器47を設け、この第3の複素数の虚数部Ai とレジス
タ46に保持された虚数部出力(B・C)r との加減算処
理を行なう第3の加減算器48とを設けて、高速フーリ
エ変換のバタフライ演算を行なうようにした。
リエ演算を可能にすること。 【構成】 第1,2の複素数の実数部Br,Crと虚数部
Bi,Ciとが切換え手段S1,S2により選択切換えされ
て入力される1つの乗算器41を設け、この乗算器41
出力を累積加算又は減算する第1の加減算器43と、乗
算結果中の実数部を保持する第1のレジスタ45と虚数
部を保持する第2のレジスタ46とを別個に設け、第3
の複素数の実数部Ar とレジスタ45に保持された実数
部出力(B・C)rとの加減算処理を行なう第2の加減算
器47を設け、この第3の複素数の虚数部Ai とレジス
タ46に保持された虚数部出力(B・C)r との加減算処
理を行なう第3の加減算器48とを設けて、高速フーリ
エ変換のバタフライ演算を行なうようにした。
Description
【0001】
【産業上の利用分野】本発明は、高速フーリエ変換、さ
らには、FIRフィルタの演算も可能な演算回路に関す
る。
らには、FIRフィルタの演算も可能な演算回路に関す
る。
【0002】
【従来の技術】一般に、高速フーリエ変換(FFT演
算)は、データ列をビット逆順の並べ換えと称される方
法に従い並べ換えを行ない、並べ換えられたデータ列を
バタフライ演算と称される2点フーリエ変換を繰返すこ
とにより、2のn乗で示されるデータ列のフーリエ変換
を行なうものである。このようなFFT演算は、デジタ
ル信号処理全般、ファクシミリのモデム、音声信号処理
等の分野において、周波数特性を調べる場合や相関演算
を高速に計算する場合などに広く利用される。
算)は、データ列をビット逆順の並べ換えと称される方
法に従い並べ換えを行ない、並べ換えられたデータ列を
バタフライ演算と称される2点フーリエ変換を繰返すこ
とにより、2のn乗で示されるデータ列のフーリエ変換
を行なうものである。このようなFFT演算は、デジタ
ル信号処理全般、ファクシミリのモデム、音声信号処理
等の分野において、周波数特性を調べる場合や相関演算
を高速に計算する場合などに広く利用される。
【0003】ここに、FFT演算を繰返し高速に実行し
たい場合にはプロセッサをパイプライン的に結合するこ
とになる。このような構成を持たせたものとして、例え
ば特開昭60−7575号公報中に示されるような固定
小数点高速フーリエ変換方式がある。図9は固定小数点
演算で高速フーリエ変換のバタフライ演算をパイプライ
ン形式で実行するようにしたシステム構成を示すもの
で、複数のデータバッファ1とFFT演算器2とを順次
パイプライン形式で接続したものである。
たい場合にはプロセッサをパイプライン的に結合するこ
とになる。このような構成を持たせたものとして、例え
ば特開昭60−7575号公報中に示されるような固定
小数点高速フーリエ変換方式がある。図9は固定小数点
演算で高速フーリエ変換のバタフライ演算をパイプライ
ン形式で実行するようにしたシステム構成を示すもの
で、複数のデータバッファ1とFFT演算器2とを順次
パイプライン形式で接続したものである。
【0004】各FFT演算器2は図10に示すように構
成されている。即ち、入力データバッファ3の出力がデ
ータの流れを切換えるスイッチ4により直接、又は、信
号ビットに従ってデータの1ビット右シフトを行なうシ
フタ5を介して間接的に、一方の入力に与えられる乗算
器6が設けられている。この乗算器6の他方の入力とし
てはROM7に格納された定数が与えられる。この乗算
器6の出力側には乗算結果を保持するデータレジスタ8
が設けられ、このデータレジスタ8には加算器9が接続
されている。この加算器9中には加算結果の桁あふれフ
ラグ10が設けられている。また、加算器9の出力側に
は加算結果をデータレジスタ8側にフィードバックさせ
るかレジスタ11側に出力させるかを切換えるスイッチ
12が設けられている。このレジスタ11の出力が出力
データバッファ13を介して出力される。バッファ3,
13間には制御情報を格納したレジスタ14が設けられ
ている。また、各部を制御するコントローラ15が設け
られている。
成されている。即ち、入力データバッファ3の出力がデ
ータの流れを切換えるスイッチ4により直接、又は、信
号ビットに従ってデータの1ビット右シフトを行なうシ
フタ5を介して間接的に、一方の入力に与えられる乗算
器6が設けられている。この乗算器6の他方の入力とし
てはROM7に格納された定数が与えられる。この乗算
器6の出力側には乗算結果を保持するデータレジスタ8
が設けられ、このデータレジスタ8には加算器9が接続
されている。この加算器9中には加算結果の桁あふれフ
ラグ10が設けられている。また、加算器9の出力側に
は加算結果をデータレジスタ8側にフィードバックさせ
るかレジスタ11側に出力させるかを切換えるスイッチ
12が設けられている。このレジスタ11の出力が出力
データバッファ13を介して出力される。バッファ3,
13間には制御情報を格納したレジスタ14が設けられ
ている。また、各部を制御するコントローラ15が設け
られている。
【0005】このような構成により、固定小数点演算時
にオーバフロー(桁あふれ)が発生した場合に、オーバ
フローが発生したことを示す情報をフラグ10により次
段側に出力し、演算結果を1ビットシフトして出力させ
ることで、フーリエ変換の最終結果の出力時に、行なわ
れたビットシフトの回数を同時に知ることができる。こ
の結果、固定小数点演算時のデータ長を最も有効に活用
して演算精度を上げることができるようにしたものであ
る。また、異なる入力データに対するフーリエ変換結果
の間の相対的なスケールの違いも補正し得るものとな
る。
にオーバフロー(桁あふれ)が発生した場合に、オーバ
フローが発生したことを示す情報をフラグ10により次
段側に出力し、演算結果を1ビットシフトして出力させ
ることで、フーリエ変換の最終結果の出力時に、行なわ
れたビットシフトの回数を同時に知ることができる。こ
の結果、固定小数点演算時のデータ長を最も有効に活用
して演算精度を上げることができるようにしたものであ
る。また、異なる入力データに対するフーリエ変換結果
の間の相対的なスケールの違いも補正し得るものとな
る。
【0006】また、特開昭61−101872号公報に
示されるようなFFT演算回路もある。これは、高速フ
ーリエ変換のバタフライ演算を実行する時の複素数の演
算について、実数部の演算と虚数部の演算とを独立して
実行できるように、例えば、図11に示すように、係数
メモリ16,17、乗算器18,19、加減算器20,
21及びデータメモリ22,23等による演算回路を2
系統設けたものである。ここに、各系統毎に3つずつの
レジスタ24〜29が設けられている。
示されるようなFFT演算回路もある。これは、高速フ
ーリエ変換のバタフライ演算を実行する時の複素数の演
算について、実数部の演算と虚数部の演算とを独立して
実行できるように、例えば、図11に示すように、係数
メモリ16,17、乗算器18,19、加減算器20,
21及びデータメモリ22,23等による演算回路を2
系統設けたものである。ここに、各系統毎に3つずつの
レジスタ24〜29が設けられている。
【0007】
【発明が解決しようとする課題】ところが、前者の特開
昭60−7575号公報方式の場合、基本的に固定小数
点演算方式であるため、演算精度に限界がある。また、
パイプライン形式であるため、ハードウエア規模が大き
くなってしまう。
昭60−7575号公報方式の場合、基本的に固定小数
点演算方式であるため、演算精度に限界がある。また、
パイプライン形式であるため、ハードウエア規模が大き
くなってしまう。
【0008】また、後者の特開昭61−101872号
公報方式の場合、乗算器18,19を2個必要とするた
め、ハードウエア規模が大きくなってしまう。また、実
数部用と虚数部用との2系統の演算回路間で交互にデー
タの入出力を行なう必要があり、制御が複雑となってし
まう。
公報方式の場合、乗算器18,19を2個必要とするた
め、ハードウエア規模が大きくなってしまう。また、実
数部用と虚数部用との2系統の演算回路間で交互にデー
タの入出力を行なう必要があり、制御が複雑となってし
まう。
【0009】
【課題を解決するための手段】請求項1記載の発明で
は、第1ないし第3の3つの複素数の内、第1及び第2
の複素数の実数部と虚数部とが切換え手段により選択切
換えされて入力される乗算器と、この乗算器出力を累積
加算又は減算する第1の加減算器と、前記乗算器による
第1及び第2の複素数の乗算結果中の実数部を保持する
第1のレジスタと、この乗算結果中の虚数部を保持する
第2のレジスタと、第3の複素数の実数部と前記第1の
レジスタに保持された実数部出力との加減算処理を行な
う第2の加減算器と、第3の複素数の虚数部と前記第2
のレジスタに保持された虚数部出力との加減算処理を行
なう第3の加減算器とよりなり、高速フーリエ変換のバ
タフライ演算を行なうようにした。
は、第1ないし第3の3つの複素数の内、第1及び第2
の複素数の実数部と虚数部とが切換え手段により選択切
換えされて入力される乗算器と、この乗算器出力を累積
加算又は減算する第1の加減算器と、前記乗算器による
第1及び第2の複素数の乗算結果中の実数部を保持する
第1のレジスタと、この乗算結果中の虚数部を保持する
第2のレジスタと、第3の複素数の実数部と前記第1の
レジスタに保持された実数部出力との加減算処理を行な
う第2の加減算器と、第3の複素数の虚数部と前記第2
のレジスタに保持された虚数部出力との加減算処理を行
なう第3の加減算器とよりなり、高速フーリエ変換のバ
タフライ演算を行なうようにした。
【0010】この際、請求項2記載の発明では、乗算器
及び第1ないし第3の各加減算器を浮動小数点演算を行
なうものとした。
及び第1ないし第3の各加減算器を浮動小数点演算を行
なうものとした。
【0011】また、請求項3記載の発明では、これらの
発明において、第1のレジスタの出力値を選択的に外部
に出力するためのFIR用出力端子を設けて、第1及び
第2の複素数の実数部が乗算器に対する入力となるよう
に切換え手段を固定するとともに、第1の加減算器を加
算モードに設定し、前記乗算器による乗算結果について
この第1の加減算器により累積加算した値を前記第1の
レジスタに一旦保持させた後、前記FIR用出力端子か
ら出力させるようにした。
発明において、第1のレジスタの出力値を選択的に外部
に出力するためのFIR用出力端子を設けて、第1及び
第2の複素数の実数部が乗算器に対する入力となるよう
に切換え手段を固定するとともに、第1の加減算器を加
算モードに設定し、前記乗算器による乗算結果について
この第1の加減算器により累積加算した値を前記第1の
レジスタに一旦保持させた後、前記FIR用出力端子か
ら出力させるようにした。
【0012】請求項4記載の発明では、このような請求
項3記載の発明に加え、第2の加減算器に対して外部か
らの入力値を選択的に入力させるための入力端子とこの
第2の加減算器の出力値を選択的に外部に出力するため
の出力端子とを設けるとともに、この第2の加減算器を
加算モードに設定し、前記入力端子からの入力値と第1
のレジスタからの出力値とをこの第2の加減算器により
累積加算し、その結果を前記出力端子から外部に出力さ
せるようにした。
項3記載の発明に加え、第2の加減算器に対して外部か
らの入力値を選択的に入力させるための入力端子とこの
第2の加減算器の出力値を選択的に外部に出力するため
の出力端子とを設けるとともに、この第2の加減算器を
加算モードに設定し、前記入力端子からの入力値と第1
のレジスタからの出力値とをこの第2の加減算器により
累積加算し、その結果を前記出力端子から外部に出力さ
せるようにした。
【0013】また、請求項5記載の発明では、請求項1
記載の発明に加えて、複素数中の実数部のデータを記憶
するNワードの第1及び第2のメモリと、複素数中の虚
数部のデータを記憶するNワードの第3のメモリと、デ
ータの正負を反転させる符号反転回路とを設け、実数部
のデータを前記第1のメモリと前記第2のメモリとの内
の一方のメモリに入力させて所定データ量に達した後
は、他方のメモリに切換えて入力させ、この他方のメモ
リに所定データ量のデータを入力し終わるまでの期間中
に、データ入力済みの前記一方のメモリ中のデータと前
記第3のメモリ中のデータとを用いてフーリエ変換又は
逆フーリエ変換の演算を行ない、フーリエ変換時にはフ
ーリエ変換後の(N/2−1)ワードの虚数部のデータ
を前記一方のメモリに記憶させる一方、逆フーリエ変換
時には前記一方のメモリ中に記憶された(N/2−1)
ワード分の虚数部のデータを必要に応じて符号反転回路
により符号反転させて乗算器に入力させて演算を行な
い、前記第3のメモリを虚数部用作業領域として用い前
記第1,2のメモリに交互にデータを入力させながらバ
タフライ演算を繰返すようにした。
記載の発明に加えて、複素数中の実数部のデータを記憶
するNワードの第1及び第2のメモリと、複素数中の虚
数部のデータを記憶するNワードの第3のメモリと、デ
ータの正負を反転させる符号反転回路とを設け、実数部
のデータを前記第1のメモリと前記第2のメモリとの内
の一方のメモリに入力させて所定データ量に達した後
は、他方のメモリに切換えて入力させ、この他方のメモ
リに所定データ量のデータを入力し終わるまでの期間中
に、データ入力済みの前記一方のメモリ中のデータと前
記第3のメモリ中のデータとを用いてフーリエ変換又は
逆フーリエ変換の演算を行ない、フーリエ変換時にはフ
ーリエ変換後の(N/2−1)ワードの虚数部のデータ
を前記一方のメモリに記憶させる一方、逆フーリエ変換
時には前記一方のメモリ中に記憶された(N/2−1)
ワード分の虚数部のデータを必要に応じて符号反転回路
により符号反転させて乗算器に入力させて演算を行な
い、前記第3のメモリを虚数部用作業領域として用い前
記第1,2のメモリに交互にデータを入力させながらバ
タフライ演算を繰返すようにした。
【0014】また、請求項6記載の発明では、請求項3
又は4記載の発明に加えて、時系列データによる複素数
中の実数部のデータを記憶するNワードの第1及び第2
のメモリと、FIRフィルタの各タップ係数のデータを
記憶するNワードの第3及び第4のメモリとを設けて、
FIRフィルタ演算を行なうようにした。
又は4記載の発明に加えて、時系列データによる複素数
中の実数部のデータを記憶するNワードの第1及び第2
のメモリと、FIRフィルタの各タップ係数のデータを
記憶するNワードの第3及び第4のメモリとを設けて、
FIRフィルタ演算を行なうようにした。
【0015】さらに、請求項7記載の発明では、乗算器
の出力を入力側に選択的にフィードバックさせる切換え
回路と、窓関数を記憶したメモリとを設け、前記乗算器
により時系列データに前記メモリに記憶された窓関数を
乗算した後で高速フーリエ変換のバタフライ演算を行な
うようにした。
の出力を入力側に選択的にフィードバックさせる切換え
回路と、窓関数を記憶したメモリとを設け、前記乗算器
により時系列データに前記メモリに記憶された窓関数を
乗算した後で高速フーリエ変換のバタフライ演算を行な
うようにした。
【0016】
【作用】請求項1記載の発明によれば、1個の乗算器を
使用し、複素数の乗算結果の実数部と虚数部とを各々独
立して保持する第1,2のレジスタを有し、各々の加減
算を同時に並行して行なうため、小さなハードウエア規
模にして、複素数演算の効率のよいものとなる。
使用し、複素数の乗算結果の実数部と虚数部とを各々独
立して保持する第1,2のレジスタを有し、各々の加減
算を同時に並行して行なうため、小さなハードウエア規
模にして、複素数演算の効率のよいものとなる。
【0017】また、請求項2記載の発明によれば、乗算
器や加減算器として浮動小数点演算によるものを用いて
いるため、固定小数点演算方式によるものに比して演算
精度の高いものとなる。
器や加減算器として浮動小数点演算によるものを用いて
いるため、固定小数点演算方式によるものに比して演算
精度の高いものとなる。
【0018】さらに、請求項3記載の発明によれば、乗
算し加算した結果をFIR用出力端子により外部に出力
し得るので、フーリエ変換だけでなく、FIR(有限イ
ンパルス応答)フィルタ演算を行なうことも可能とな
る。
算し加算した結果をFIR用出力端子により外部に出力
し得るので、フーリエ変換だけでなく、FIR(有限イ
ンパルス応答)フィルタ演算を行なうことも可能とな
る。
【0019】この際、請求項4記載の発明によれば、外
部からの入力値と内部での乗算及び加算結果とを加算
し、この加算結果を外部に出力し得るので、複数の演算
回路を縦列接続して使用できるものとなり、より多くの
タップを持つFIRフィルタを実現できることになる。
部からの入力値と内部での乗算及び加算結果とを加算
し、この加算結果を外部に出力し得るので、複数の演算
回路を縦列接続して使用できるものとなり、より多くの
タップを持つFIRフィルタを実現できることになる。
【0020】また、請求項5記載の発明によれば、フー
リエ変換後の最初の(N/2−1)個の実数部のデータ
と、最初の(N/2−1)個の虚数部のデータとを入出
力するようにしたので、データ転送量が減少するものと
なり、Nワードの実数部用のメモリのみを2個使用し、
虚数部用のメモリとしては1個使用するだけで、リアル
タイム処理が可能となる。
リエ変換後の最初の(N/2−1)個の実数部のデータ
と、最初の(N/2−1)個の虚数部のデータとを入出
力するようにしたので、データ転送量が減少するものと
なり、Nワードの実数部用のメモリのみを2個使用し、
虚数部用のメモリとしては1個使用するだけで、リアル
タイム処理が可能となる。
【0021】さらに、請求項6記載の発明では、フーリ
エ変換用にはNワードのメモリを3個使用するが、FI
Rフィルタ用として使用する時には、Nワードのメモリ
を1個追加しているので、4個のメモリの内、2個を時
系列データ用として用い、残りの2個をFIRフィルタ
係数用に使用すればよく、フーリエ変換とFIRフィル
タ演算とを共用する際に、メモリの使用効率のよいもの
となる。
エ変換用にはNワードのメモリを3個使用するが、FI
Rフィルタ用として使用する時には、Nワードのメモリ
を1個追加しているので、4個のメモリの内、2個を時
系列データ用として用い、残りの2個をFIRフィルタ
係数用に使用すればよく、フーリエ変換とFIRフィル
タ演算とを共用する際に、メモリの使用効率のよいもの
となる。
【0022】また、請求項7記載の発明によれば、乗算
結果をその乗算器の入力側にフィードバックさせるもの
とし、かつ、窓関数用のメモリを有しているので、容易
に窓関数と時系列データとの乗算、即ち、周波数分析時
に必要な窓関数の演算も可能となる。
結果をその乗算器の入力側にフィードバックさせるもの
とし、かつ、窓関数用のメモリを有しているので、容易
に窓関数と時系列データとの乗算、即ち、周波数分析時
に必要な窓関数の演算も可能となる。
【0023】
【実施例】本発明の一実施例を図1ないし図8に基づい
て説明する。本実施例は、高速フーリエ変換を実行する
時に必要なバタフライ演算を行なう演算回路であり、F
IRフィルタ演算をも可能としたものである。
て説明する。本実施例は、高速フーリエ変換を実行する
時に必要なバタフライ演算を行なう演算回路であり、F
IRフィルタ演算をも可能としたものである。
【0024】まず、図2によりバタフライ演算方法の基
本を説明する。図中、A,Bはバタフライ演算の入力
値、Cはフーリエ変換係数、P,Qはバタフライ演算の
出力値である。ここに、BとCとを乗算する乗算器31
と、この乗算結果とAとを加算する加減算器32と、加
算結果とAとを減算する加減算器33とが設けられてい
る。これらのA,B,C,P,Qは全て複素数であり、
各値の関係は、 P=A+B・C ………………………(1) Q=A−B・C ………………………(2) のようになる。
本を説明する。図中、A,Bはバタフライ演算の入力
値、Cはフーリエ変換係数、P,Qはバタフライ演算の
出力値である。ここに、BとCとを乗算する乗算器31
と、この乗算結果とAとを加算する加減算器32と、加
算結果とAとを減算する加減算器33とが設けられてい
る。これらのA,B,C,P,Qは全て複素数であり、
各値の関係は、 P=A+B・C ………………………(1) Q=A−B・C ………………………(2) のようになる。
【0025】ここに、各複素数を実数部と虚数部とに分
けると、 A=Ar +i・Ai …………………(3) B=Br +i・Bi …………………(4) C=Cr +i・Ci …………………(5) P=Pr +i・Pi …………………(6) Q=Qr +i・Qi …………………(7) のように示すことができる。ただし、iは「−1」の平
方根を示すものする。
けると、 A=Ar +i・Ai …………………(3) B=Br +i・Bi …………………(4) C=Cr +i・Ci …………………(5) P=Pr +i・Pi …………………(6) Q=Qr +i・Qi …………………(7) のように示すことができる。ただし、iは「−1」の平
方根を示すものする。
【0026】従って、出力値P,Qの実数部、虚数部
は、各々 Pr =Ar +(Br・Cr−Bi・Ci) ………(8) Pi =Ai +(Bi・Cr+Br・Ci) ………(9) Qr =Ar −(Br・Cr−Bi・Ci) ………(10) Qi =Ai −(Bi・Cr−Br・Ci) ………(11) のように表される。
は、各々 Pr =Ar +(Br・Cr−Bi・Ci) ………(8) Pi =Ai +(Bi・Cr+Br・Ci) ………(9) Qr =Ar −(Br・Cr−Bi・Ci) ………(10) Qi =Ai −(Bi・Cr−Br・Ci) ………(11) のように表される。
【0027】このように、バタフライ演算は、複素数の
積和演算であるため、各複素数の実数部と虚数部とを別
々に計算する必要がある。
積和演算であるため、各複素数の実数部と虚数部とを別
々に計算する必要がある。
【0028】このため、本実施例では、図1に示すよう
な構成でバタフライ演算を行なうための演算ユニット3
4が設けられている。まず、複素数A,B中の実数部A
r,Brを入力するための第1入力端子I1と、複素数
A,B中の虚数部Ai,Biを入力するための第2入力端
子I2と、複素数(フーリエ変換係数)の実数部Cr及び
虚数部Ciを入力するための第3入力端子I3とが設けら
れている。また、バタフライ演算には関係しないが、F
IRフィルタ用の第4入力端子I4 も設けられている。
な構成でバタフライ演算を行なうための演算ユニット3
4が設けられている。まず、複素数A,B中の実数部A
r,Brを入力するための第1入力端子I1と、複素数
A,B中の虚数部Ai,Biを入力するための第2入力端
子I2と、複素数(フーリエ変換係数)の実数部Cr及び
虚数部Ciを入力するための第3入力端子I3とが設けら
れている。また、バタフライ演算には関係しないが、F
IRフィルタ用の第4入力端子I4 も設けられている。
【0029】また、複素数P,Q中の実数部Pr,Qrを
出力するための第1出力端子O1 と、複素数P,Q中の
虚数部Pi,Qiを出力するための第2出力端子O2 とが
設けられている。また、バタフライ演算には関係しない
が、窓関数の乗算結果を出力するための第3出力端子O
3と、FIRフィルタ用の第4出力端子O4 も設けられ
ている。
出力するための第1出力端子O1 と、複素数P,Q中の
虚数部Pi,Qiを出力するための第2出力端子O2 とが
設けられている。また、バタフライ演算には関係しない
が、窓関数の乗算結果を出力するための第3出力端子O
3と、FIRフィルタ用の第4出力端子O4 も設けられ
ている。
【0030】さらに、入力側には6個のレジスタ35〜
40が設けられている。レジスタ35は第1入力端子I
1から入力される実数部Brのデータを保持するものであ
る。レジスタ36は第2入力端子I2から入力される虚
数部Biのデータを保持するものである。レジスタ37
は第3入力端子I3から入力される実数部Crのデータを
保持するものである。レジスタ38は第3入力端子I3
から入力される虚数部Ciのデータを保持するものであ
る。レジスタ39は第1入力端子I1 から入力される実
数部Arのデータを保持するものである。レジスタ40
は第2入力端子I2から入力される虚数部Ai のデータ
を保持するものである。
40が設けられている。レジスタ35は第1入力端子I
1から入力される実数部Brのデータを保持するものであ
る。レジスタ36は第2入力端子I2から入力される虚
数部Biのデータを保持するものである。レジスタ37
は第3入力端子I3から入力される実数部Crのデータを
保持するものである。レジスタ38は第3入力端子I3
から入力される虚数部Ciのデータを保持するものであ
る。レジスタ39は第1入力端子I1 から入力される実
数部Arのデータを保持するものである。レジスタ40
は第2入力端子I2から入力される虚数部Ai のデータ
を保持するものである。
【0031】レジスタ35,36の読出し出力側には切
換え手段となるスイッチS1 が設けられ、同様に、レジ
スタ37,38の読出し出力側にも切換え手段となるス
イッチS2 が設けられ、これらのスイッチS1,S2を介
して乗算器41(乗算器31に相当する)に接続されて
いる。よって、この乗算器41はBr,Bi側のデータと
Cr,Ci側のデータとの間で乗算を行なうものである。
乗算器41の出力側には乗算結果(Br・Cr,Bi・C
i,Bi・Cr,Br・Ci)を一時保存するためのレジス
タ42が設けられている。このレジスタ42の読出し出
力側には前記第3出力端子O3 が接続されている他、第
1の加減算器43の±入力端子に接続されている。この
加減算器43の+入力端子には自己の出力がこれを一時
保持するためのレジスタ44を介して入力されている。
この加減算器43は加算モード又は減算モードに設定自
在なものであり、(Br・Cr−Bi・Ci)なる減算処
理、又は、(Bi・Cr+Br・Ci)なる加算処理を行な
うものである。
換え手段となるスイッチS1 が設けられ、同様に、レジ
スタ37,38の読出し出力側にも切換え手段となるス
イッチS2 が設けられ、これらのスイッチS1,S2を介
して乗算器41(乗算器31に相当する)に接続されて
いる。よって、この乗算器41はBr,Bi側のデータと
Cr,Ci側のデータとの間で乗算を行なうものである。
乗算器41の出力側には乗算結果(Br・Cr,Bi・C
i,Bi・Cr,Br・Ci)を一時保存するためのレジス
タ42が設けられている。このレジスタ42の読出し出
力側には前記第3出力端子O3 が接続されている他、第
1の加減算器43の±入力端子に接続されている。この
加減算器43の+入力端子には自己の出力がこれを一時
保持するためのレジスタ44を介して入力されている。
この加減算器43は加算モード又は減算モードに設定自
在なものであり、(Br・Cr−Bi・Ci)なる減算処
理、又は、(Bi・Cr+Br・Ci)なる加算処理を行な
うものである。
【0032】この加減算器43の出力側には第1,2の
レジスタとなる2つのレジスタ45,46が接続されて
いる。B・Cなる演算結果について、レジスタ45側は
その実数部(Br・Cr−Bi・Ci)のデータを保持し、
レジスタ46側はその虚数部(Bi・Cr+Br・Ci)の
データを保持するものである。
レジスタとなる2つのレジスタ45,46が接続されて
いる。B・Cなる演算結果について、レジスタ45側は
その実数部(Br・Cr−Bi・Ci)のデータを保持し、
レジスタ46側はその虚数部(Bi・Cr+Br・Ci)の
データを保持するものである。
【0033】さらに、レジスタ45の出力側は前記第4
出力端子O4 に接続されているとともに、第2の加減算
器47の±入力端子に入力されている。この加減算器4
7の+入力端子には前記レジスタ39の出力(Ar )が
入力されている(より具体的には、第4入力端子I4も
接続自在であり、スイッチS3が介在されている)。ま
た、レジスタ46の出力側は第3の加減算器48の±入
力端子に入力されている。この加減算器48の+入力端
子には前記レジスタ40の出力(Ai )が入力されてい
る。
出力端子O4 に接続されているとともに、第2の加減算
器47の±入力端子に入力されている。この加減算器4
7の+入力端子には前記レジスタ39の出力(Ar )が
入力されている(より具体的には、第4入力端子I4も
接続自在であり、スイッチS3が介在されている)。ま
た、レジスタ46の出力側は第3の加減算器48の±入
力端子に入力されている。この加減算器48の+入力端
子には前記レジスタ40の出力(Ai )が入力されてい
る。
【0034】ここに、加減算器47,48は何れも加算
モード、減算モードの設定が自在なものであり、 (B・C)r=Br・Cr−Bi・Ci (B・C)i=Bi・Cr+Br・Cr とすると、加減算器47では、Ar+(B・C)rなる加
算処理、又は、Ar−(B・C)rなる減算処理を行ない、
加減算器48では、Ai+(B・C)iなる加算処理、又
は、Ai−(B・C)iなる減算処理を行なうものである。
即ち、加減算器47が実数部用で加減算器32に相当
し、加減算器48が虚数部用で加減算器33に相当す
る。
モード、減算モードの設定が自在なものであり、 (B・C)r=Br・Cr−Bi・Ci (B・C)i=Bi・Cr+Br・Cr とすると、加減算器47では、Ar+(B・C)rなる加
算処理、又は、Ar−(B・C)rなる減算処理を行ない、
加減算器48では、Ai+(B・C)iなる加算処理、又
は、Ai−(B・C)iなる減算処理を行なうものである。
即ち、加減算器47が実数部用で加減算器32に相当
し、加減算器48が虚数部用で加減算器33に相当す
る。
【0035】加減算器47の出力側にはPr又はQrのデ
ータを保持するレジスタ49が接続され、第1出力端子
O1として引出されている。加減算器48の出力側には
Pi又はQiのデータを保持するレジスタ50が接続さ
れ、第2出力端子O2として引出されている。また、前
記レジスタ49の出力はスイッチS4 を介して第4出力
端子O4 にも接続可能とされている。
ータを保持するレジスタ49が接続され、第1出力端子
O1として引出されている。加減算器48の出力側には
Pi又はQiのデータを保持するレジスタ50が接続さ
れ、第2出力端子O2として引出されている。また、前
記レジスタ49の出力はスイッチS4 を介して第4出力
端子O4 にも接続可能とされている。
【0036】なお、乗算器41及び加減算器43,4
5,46は何れも浮動小数点演算を行なうものが用いら
れている。
5,46は何れも浮動小数点演算を行なうものが用いら
れている。
【0037】このような構成の演算ユニット34の動作
について説明する。まず、最初に各レジスタ35〜40
には上述したような各データ(Br,Bi,Cr,Ci,A
r,Ai)を保持させる一方、レジスタ44の内容はクリ
アし、その出力値を0とする。また、加減算器43は減
算モードとして動作するように設定する。そして、スイ
ッチS1,S2により、レジスタ36,38からBiとCi
とを乗算器41に入力し、Bi・Ciなる乗算処理を行な
う。この乗算結果Bi・Ciをレジスタ42に保持する。
そこで、加減算器43で(0−Bi・Ci)なる減算処理
を行ない、この減算結果をレジスタ44に保持する。
について説明する。まず、最初に各レジスタ35〜40
には上述したような各データ(Br,Bi,Cr,Ci,A
r,Ai)を保持させる一方、レジスタ44の内容はクリ
アし、その出力値を0とする。また、加減算器43は減
算モードとして動作するように設定する。そして、スイ
ッチS1,S2により、レジスタ36,38からBiとCi
とを乗算器41に入力し、Bi・Ciなる乗算処理を行な
う。この乗算結果Bi・Ciをレジスタ42に保持する。
そこで、加減算器43で(0−Bi・Ci)なる減算処理
を行ない、この減算結果をレジスタ44に保持する。
【0038】つぎに、スイッチS1,S2を切換え、レジ
スタ35,37からBrとCrとを乗算器41に入力し、
Br・Crなる乗算処理を行なう。この乗算結果Br・Cr
をレジスタ42に保持するとともに、加減算器43を加
算モードとして動作するように切換え、(Br・Cr−B
i・Ci)なる加算処理を行ない、レジスタ45に保持
する。
スタ35,37からBrとCrとを乗算器41に入力し、
Br・Crなる乗算処理を行なう。この乗算結果Br・Cr
をレジスタ42に保持するとともに、加減算器43を加
算モードとして動作するように切換え、(Br・Cr−B
i・Ci)なる加算処理を行ない、レジスタ45に保持
する。
【0039】さらに、スイッチS1,S2によりレジスタ
36,37からBiとCrとを乗算器41に入力し、その
乗算結果Bi・Crをレジスタ42に保持する。また、レ
ジスタ44をクリアしその出力値を0とする。この結
果、加減算器43は(0+Bi・Cr)なる加算結果を出
力し、レジスタ44に保持する。同様に、スイッチ
S1,S2 により、レジスタ35,38からBrとCiと
を乗算器41に入力し、その乗算結果Br・Ciをレジス
タ42に保持する。この結果、加減算器43は(Bi・
Cr+Br・Ci) なる加算結果を出力し、レジスタ46
に保持する。
36,37からBiとCrとを乗算器41に入力し、その
乗算結果Bi・Crをレジスタ42に保持する。また、レ
ジスタ44をクリアしその出力値を0とする。この結
果、加減算器43は(0+Bi・Cr)なる加算結果を出
力し、レジスタ44に保持する。同様に、スイッチ
S1,S2 により、レジスタ35,38からBrとCiと
を乗算器41に入力し、その乗算結果Br・Ciをレジス
タ42に保持する。この結果、加減算器43は(Bi・
Cr+Br・Ci) なる加算結果を出力し、レジスタ46
に保持する。
【0040】その後、加減算器47,48をともに加算
モードに設定すると、加減算器47は{Ar+(Br・C
r−Bi・Ci)} なる加算結果を出力し、一旦、レジス
タ49に保持した後、第1出力端子O1 からPr として
出力する。加減算器48側では、{Ai+(Bi・Cr+
Br・Ci)} なる加算結果を出力し、一旦、レジスタ
50に保持した後、第2出力端子O2 からPi として出
力する。
モードに設定すると、加減算器47は{Ar+(Br・C
r−Bi・Ci)} なる加算結果を出力し、一旦、レジス
タ49に保持した後、第1出力端子O1 からPr として
出力する。加減算器48側では、{Ai+(Bi・Cr+
Br・Ci)} なる加算結果を出力し、一旦、レジスタ
50に保持した後、第2出力端子O2 からPi として出
力する。
【0041】一方、加減算器47,48をともに減算モ
ードに設定すると、加減算器47は{Ar−(Br・Cr
−Bi・Ci)} なる減算結果を出力し、一旦、レジス
タ49に保持した後、第1出力端子O1からQrとして出
力する。加減算器48側では、{Ai−(Bi・Cr+Br
・Ci)} なる減算結果を出力し、一旦、レジスタ50
に保持した後、第2出力端子O2からQiとして出力す
る。
ードに設定すると、加減算器47は{Ar−(Br・Cr
−Bi・Ci)} なる減算結果を出力し、一旦、レジス
タ49に保持した後、第1出力端子O1からQrとして出
力する。加減算器48側では、{Ai−(Bi・Cr+Br
・Ci)} なる減算結果を出力し、一旦、レジスタ50
に保持した後、第2出力端子O2からQiとして出力す
る。
【0042】このようにして、本実施例の演算ユニット
34によれば、入力レジスタ35〜40に3つの複素数
A,B,Cを設定し、1個の乗算器41で4回乗算処理
を行なうことで、B・Cの演算を行ない、その実数部と
虚数部とについてレジスタ45,46により各々独立し
て保持した後、2個の加減算器47,48により、1つ
のバタフライ演算結果の実数部と虚数部とを同時に出力
することになり、請求項1,2記載の発明が構成される
ことになる。
34によれば、入力レジスタ35〜40に3つの複素数
A,B,Cを設定し、1個の乗算器41で4回乗算処理
を行なうことで、B・Cの演算を行ない、その実数部と
虚数部とについてレジスタ45,46により各々独立し
て保持した後、2個の加減算器47,48により、1つ
のバタフライ演算結果の実数部と虚数部とを同時に出力
することになり、請求項1,2記載の発明が構成される
ことになる。
【0043】ところで、図1に示した構成の演算ユニッ
ト34が、FIRフィルタ機能を持つ点について説明す
る。まず、FIRフィルタはデジタルフィルタを構成す
るための一つの手段であり、基本的には、図3に示すよ
うに、時系列データxn と各定数amとの乗算器51nに
よる乗算結果を加算器52により加算するといった、積
和演算で実現できるものである。時系列データxn のラ
インにはDで示す遅延素子53が設けられている。
ト34が、FIRフィルタ機能を持つ点について説明す
る。まず、FIRフィルタはデジタルフィルタを構成す
るための一つの手段であり、基本的には、図3に示すよ
うに、時系列データxn と各定数amとの乗算器51nに
よる乗算結果を加算器52により加算するといった、積
和演算で実現できるものである。時系列データxn のラ
インにはDで示す遅延素子53が設けられている。
【0044】これを図1で考える。まず、初期設定とし
てレジスタ44をクリアしその出力を0とする。また、
スイッチS1,S2はレジスタ35,37からのBr,Cr
が乗算器41に入力されるように設定する。スイッチS
4 はレジスタ45の内容が第4出力端子O4 から出力さ
れるように切換え設定する。加減算器43は加算モード
に設定する。
てレジスタ44をクリアしその出力を0とする。また、
スイッチS1,S2はレジスタ35,37からのBr,Cr
が乗算器41に入力されるように設定する。スイッチS
4 はレジスタ45の内容が第4出力端子O4 から出力さ
れるように切換え設定する。加減算器43は加算モード
に設定する。
【0045】このような初期設定において、第1入力端
子I1から時系列データxn-mを入力し、第3入力端子I
3 からは対応する定数(以下、FIRフィルタ係数とい
う)am を入力し、乗算器41で乗算を行なう。その乗
算結果をレジスタ42により保持することにより、加減
算器43の出力にはam・xn-mが得られる。この加減算
器43の出力をレジスタ44により保持する。次に、時
系列データxn-(m-1)及びFIRフィルタ係数am-1 を
入力し、同様にして、乗算・加算処理を行なった結果で
あるam・xn-m+am-1・xn-(m-1)を加減算器43より
得てレジスタ44に保持する。このような処理を後続の
時系列データ、FIRフィルタ係数についても同様に繰
返し、xn・a0までの演算が終了した時点で、全ての積
和演算結果をレジスタ45により保持した後、スイッチ
S4を介して第4出力端子O4からFIRフィルタ出力y
n を出力する。このようにして、請求項3記載の発明に
いうFIRフィルタ演算機能を併せ持つものとなる。
子I1から時系列データxn-mを入力し、第3入力端子I
3 からは対応する定数(以下、FIRフィルタ係数とい
う)am を入力し、乗算器41で乗算を行なう。その乗
算結果をレジスタ42により保持することにより、加減
算器43の出力にはam・xn-mが得られる。この加減算
器43の出力をレジスタ44により保持する。次に、時
系列データxn-(m-1)及びFIRフィルタ係数am-1 を
入力し、同様にして、乗算・加算処理を行なった結果で
あるam・xn-m+am-1・xn-(m-1)を加減算器43より
得てレジスタ44に保持する。このような処理を後続の
時系列データ、FIRフィルタ係数についても同様に繰
返し、xn・a0までの演算が終了した時点で、全ての積
和演算結果をレジスタ45により保持した後、スイッチ
S4を介して第4出力端子O4からFIRフィルタ出力y
n を出力する。このようにして、請求項3記載の発明に
いうFIRフィルタ演算機能を併せ持つものとなる。
【0046】ところで、図1に示したような演算ユニッ
ト34は図4に示すように複数のメモリ等と組合せられ
て1つの論理回路54として構成される。このような論
理回路54構成により、高速フーリエ変換回路として機
能させ得るが、具体的な構成・動作に先立ち、フーリエ
変換の性質として、フーリエ変換後の各値に対称性があ
る点について説明する。
ト34は図4に示すように複数のメモリ等と組合せられ
て1つの論理回路54として構成される。このような論
理回路54構成により、高速フーリエ変換回路として機
能させ得るが、具体的な構成・動作に先立ち、フーリエ
変換の性質として、フーリエ変換後の各値に対称性があ
る点について説明する。
【0047】まず、フーリエ変換の定義式は(12)式のよ
うに示される。ただし、同式中のWは(13)式のようなも
のとする。
うに示される。ただし、同式中のWは(13)式のようなも
のとする。
【0048】
【数1】
【0049】ここに、k=0,1,…,N-1 であり、x
mとxN-mとの場合について考えると、各々(14)(15)式の
ように表される。
mとxN-mとの場合について考えると、各々(14)(15)式の
ように表される。
【0050】
【数2】
【0051】ここで、(15)式中のW項は各々(16)(17)式
で示されるので、(15)式のxN-m としては(18)式が導か
れる。
で示されるので、(15)式のxN-m としては(18)式が導か
れる。
【0052】
【数3】
【0053】従って、(14)式と(18)式よりxmの実数部
(xm)r、虚数部(xm)iと、xN-mの実数部(xN-m)r、虚
数部(xN-m)iとの間には、(19)(20)式に示すような関係
が成立する。
(xm)r、虚数部(xm)iと、xN-mの実数部(xN-m)r、虚
数部(xN-m)iとの間には、(19)(20)式に示すような関係
が成立する。
【0054】 (xm)r = (xN-m)r ………………(19) (xm)i = −(xN-m)i ………………(20) また、xN/2については、(21)式が成立し、その虚数
部は0となる。x0についても同様である。
部は0となる。x0についても同様である。
【0055】
【数5】
【0056】従って、例えばN=8の場合のフーリエ変
換結果では、実数部・虚数部間には(22)(23)式に示すよ
うな関係 (x1)r= (x7)r,(x2)r= (x6)r,(x3)r= (x5)r, ……(22) (x1)i=−(x7)i,(x2)i=−(x6)i,(x3)i=−(x5)i, ……(23) が成立する。
換結果では、実数部・虚数部間には(22)(23)式に示すよ
うな関係 (x1)r= (x7)r,(x2)r= (x6)r,(x3)r= (x5)r, ……(22) (x1)i=−(x7)i,(x2)i=−(x6)i,(x3)i=−(x5)i, ……(23) が成立する。
【0057】図5はこの様子を模式的に図示したもので
ある。片矢印は、符号が反転することを示し、両矢印は
同じ値であることを示す。従って、実質的には、x0〜
x4の実数部及びx1〜x3の虚数部のデータがあれば十
分といえる。
ある。片矢印は、符号が反転することを示し、両矢印は
同じ値であることを示す。従って、実質的には、x0〜
x4の実数部及びx1〜x3の虚数部のデータがあれば十
分といえる。
【0058】しかして、図4に示す演算回路54ではこ
のような性質に着目し、フーリエ変換の入力データ及び
出力データを記憶するメモリをNワードとし、バタフラ
イ演算を実行する時は、虚数部のデータ領域としてさら
にNワードの1個のメモリを使用し、フーリエ変換の最
終出力結果を演算する時点で、(N/2−1)ワードの
虚数部データを実数部データ領域へ入力させ、フーリエ
変換後のデータ量を半減させるようにしたものである。
さらには、データ入出力用のNワードのメモリのみを2
個使用する一方、虚数部用のメモリは1個使用し、2個
のメモリに交互にデータを入力し、データが一杯になっ
たメモリと虚数部用のメモリとでフーリエ変換を行な
い、リアルタイムでの処理も可能である。
のような性質に着目し、フーリエ変換の入力データ及び
出力データを記憶するメモリをNワードとし、バタフラ
イ演算を実行する時は、虚数部のデータ領域としてさら
にNワードの1個のメモリを使用し、フーリエ変換の最
終出力結果を演算する時点で、(N/2−1)ワードの
虚数部データを実数部データ領域へ入力させ、フーリエ
変換後のデータ量を半減させるようにしたものである。
さらには、データ入出力用のNワードのメモリのみを2
個使用する一方、虚数部用のメモリは1個使用し、2個
のメモリに交互にデータを入力し、データが一杯になっ
たメモリと虚数部用のメモリとでフーリエ変換を行な
い、リアルタイムでの処理も可能である。
【0059】図4において、まず、フーリエ変換後のデ
ータを出力するための第5出力端子O5と、フーリエ変
換する時系列データを入力するための第5入力端子I5
とが設けられている。また、フーリエ変換には関係しな
いが、FIRフィルタ係数を入力するための第6入力端
子I6 も設けられている。さらに、2ポートメモリ構成
のRAMによる2つのデータ入出力用バッファメモリ
(第1,2のメモリ)55,56が設けられ、連動する
スイッチS6,S7を介して端子O5,I5に選択自在に接
続されている。また、フーリエ変換演算時に虚数部デー
タ用の作業領域となる2ポートメモリ構成のRAMによ
るメモリ(第3のメモリ)57が設けられ、さらには、
フーリエ変換時には不使用となる2ポートメモリ構成の
RAMによるメモリ(第4のメモリ)58も設けられ、
スイッチS8を介して第6入力端子I6に接続されてい
る。ここに、メモリ58はFIRフィルタ演算時にはメ
モリ57とともにFIRフィルタ係数を記憶するための
メモリとして使用されるものである。また、メモリ5
5,56の他方には一方を選択するためのスイッチS9
が設けられ、メモリ57,58の他方に対しても一方を
選択するためのスイッチS10が設けられている。
ータを出力するための第5出力端子O5と、フーリエ変
換する時系列データを入力するための第5入力端子I5
とが設けられている。また、フーリエ変換には関係しな
いが、FIRフィルタ係数を入力するための第6入力端
子I6 も設けられている。さらに、2ポートメモリ構成
のRAMによる2つのデータ入出力用バッファメモリ
(第1,2のメモリ)55,56が設けられ、連動する
スイッチS6,S7を介して端子O5,I5に選択自在に接
続されている。また、フーリエ変換演算時に虚数部デー
タ用の作業領域となる2ポートメモリ構成のRAMによ
るメモリ(第3のメモリ)57が設けられ、さらには、
フーリエ変換時には不使用となる2ポートメモリ構成の
RAMによるメモリ(第4のメモリ)58も設けられ、
スイッチS8を介して第6入力端子I6に接続されてい
る。ここに、メモリ58はFIRフィルタ演算時にはメ
モリ57とともにFIRフィルタ係数を記憶するための
メモリとして使用されるものである。また、メモリ5
5,56の他方には一方を選択するためのスイッチS9
が設けられ、メモリ57,58の他方に対しても一方を
選択するためのスイッチS10が設けられている。
【0060】さらに、FFT係数(Wの実数部及び虚数
部)を記憶するROM構成のメモリ59と周波数分析用
の窓関数を記憶するROM構成のメモリ60とが設けら
れている。これらのメモリ59,60はスイッチS11を
介して何れか一方が演算ユニット34の第3入力端子I
3 に入力可能とされている。また、入力データの符号を
反転、即ち、正の値は負に、負の値は正に変換するため
の符号反転回路61も設けられている。
部)を記憶するROM構成のメモリ59と周波数分析用
の窓関数を記憶するROM構成のメモリ60とが設けら
れている。これらのメモリ59,60はスイッチS11を
介して何れか一方が演算ユニット34の第3入力端子I
3 に入力可能とされている。また、入力データの符号を
反転、即ち、正の値は負に、負の値は正に変換するため
の符号反転回路61も設けられている。
【0061】また、前記メモリ55,56はスイッチS
9 を始めとする複数のスイッチを介して演算ユニット3
4の入出力端子や符号反転回路61に接続可能とされて
いる。まず、スイッチS9 に接続されたスイッチS12が
設けられ、そのa端子にはスイッチS13が接続されてい
る。このスイッチS13のa端子側が第1出力端子O1に
接続され、b端子側が第2出力端子O2 側に接続され
ている。また、前記スイッチS12のb端子側にはスイッ
チS14のa端子側が接続されている。このスイッチS14
は第1入力端子I1 及び符号反転回路61に接続された
ものである。また、スイッチS14のb端子側が第3出力
端子O3 に接続されている。
9 を始めとする複数のスイッチを介して演算ユニット3
4の入出力端子や符号反転回路61に接続可能とされて
いる。まず、スイッチS9 に接続されたスイッチS12が
設けられ、そのa端子にはスイッチS13が接続されてい
る。このスイッチS13のa端子側が第1出力端子O1に
接続され、b端子側が第2出力端子O2 側に接続され
ている。また、前記スイッチS12のb端子側にはスイッ
チS14のa端子側が接続されている。このスイッチS14
は第1入力端子I1 及び符号反転回路61に接続された
ものである。また、スイッチS14のb端子側が第3出力
端子O3 に接続されている。
【0062】また、メモリ57,58もスイッチS10を
始めとする複数のスイッチを介して演算ユニット34の
入出力端子に接続可能とされている。まず、スイッチS
10に接続されたスイッチS15が設けられ、そのa端子は
第2出力端子O2 に接続されている。また、b端子には
第2入力端子I2 に接続されたスイッチS16のa端子が
接続されている。このスイッチS16のb端子はスイッチ
S17に接続され、符号反転回路61の出力とこの符号反
転回路61を経ない出力とを選択切換えし得るように構
成されている。
始めとする複数のスイッチを介して演算ユニット34の
入出力端子に接続可能とされている。まず、スイッチS
10に接続されたスイッチS15が設けられ、そのa端子は
第2出力端子O2 に接続されている。また、b端子には
第2入力端子I2 に接続されたスイッチS16のa端子が
接続されている。このスイッチS16のb端子はスイッチ
S17に接続され、符号反転回路61の出力とこの符号反
転回路61を経ない出力とを選択切換えし得るように構
成されている。
【0063】このような構成において、N=8のフーリ
エ変換をする場合を例にとり、図4の動作を説明する。
まず、スイッチS6,S7をb端子側に切換え、メモリ5
5に8個の時系列データを入力する。8個のデータ入力
が終了したら、スイッチS6,S7 をa端子側に切換
え、今度はメモリ56に時系列データを入力する。この
メモリ56に時系列データを格納している間に、メモリ
55に入力された時系列データについてフーリエ変換す
る。
エ変換をする場合を例にとり、図4の動作を説明する。
まず、スイッチS6,S7をb端子側に切換え、メモリ5
5に8個の時系列データを入力する。8個のデータ入力
が終了したら、スイッチS6,S7 をa端子側に切換
え、今度はメモリ56に時系列データを入力する。この
メモリ56に時系列データを格納している間に、メモリ
55に入力された時系列データについてフーリエ変換す
る。
【0064】図6はN=8の場合の高速フーリエ変換の
演算手順を模式的に示すもので、処理は、図中、左側か
ら右側に向い、合計12回のバタフライ演算を演算ユニ
ット34で実行することになる。まず、スイッチS9 を
a端子、スイッチS12をb端子、スイッチS14をa端子
側として、メモリ55に既に格納されたデータを演算ユ
ニット34の第1入力端子I1 から入力させる。また、
スイッチS10,S15,S16を何れもa端子側とする。ス
イッチS11はa端子側とし、FFT係数を第3入力端子
I3 から入力させる。
演算手順を模式的に示すもので、処理は、図中、左側か
ら右側に向い、合計12回のバタフライ演算を演算ユニ
ット34で実行することになる。まず、スイッチS9 を
a端子、スイッチS12をb端子、スイッチS14をa端子
側として、メモリ55に既に格納されたデータを演算ユ
ニット34の第1入力端子I1 から入力させる。また、
スイッチS10,S15,S16を何れもa端子側とする。ス
イッチS11はa端子側とし、FFT係数を第3入力端子
I3 から入力させる。
【0065】ここに、図6中に示す左側のバタフライ演
算においては、虚数部を0として入力する必要があるた
め、図1に示した演算ユニット34内のレジスタ36,
40をクリアして0をセットしてバタフライ演算を実行
する。
算においては、虚数部を0として入力する必要があるた
め、図1に示した演算ユニット34内のレジスタ36,
40をクリアして0をセットしてバタフライ演算を実行
する。
【0066】次に、スイッチS16,S12をa端子側に切
換え、バタフライ演算結果の実数部をメモリ55へ格納
し、虚数部をメモリ57へ格納し、時系列データを書換
える。このようにして、メモリ55,57を使用してバ
タフライ演算を実行していく。
換え、バタフライ演算結果の実数部をメモリ55へ格納
し、虚数部をメモリ57へ格納し、時系列データを書換
える。このようにして、メモリ55,57を使用してバ
タフライ演算を実行していく。
【0067】そして、図6中の右側に示す最終段のバタ
フライ演算を実行する時には、まず、x0とx4が出力さ
れる。この時、虚数部のデータはメモリ57へ入力しな
くてもよいが、実数部のデータ(x0)r,(x4)rはメモリ
55へ格納する。次に、x1とx5 が出力されるが、(x
1)rをメモリ55へ格納した後、(x1)iを(x5)rを入力
すべきアドレスに格納する。この時、スイッチS16をb
端子側に切換え、スイッチS12をa端子側に切換える。
つづいて、x2とx6とが出力される場合も同様であり、
(x2)rをメモリ55へ格納するとともに、(x2)iを
(x6)rのアドレスに格納する。このようなフーリエ変換
の結果、メモリ55に格納されたデータの様子を示す
と、図7のようになる。
フライ演算を実行する時には、まず、x0とx4が出力さ
れる。この時、虚数部のデータはメモリ57へ入力しな
くてもよいが、実数部のデータ(x0)r,(x4)rはメモリ
55へ格納する。次に、x1とx5 が出力されるが、(x
1)rをメモリ55へ格納した後、(x1)iを(x5)rを入力
すべきアドレスに格納する。この時、スイッチS16をb
端子側に切換え、スイッチS12をa端子側に切換える。
つづいて、x2とx6とが出力される場合も同様であり、
(x2)rをメモリ55へ格納するとともに、(x2)iを
(x6)rのアドレスに格納する。このようなフーリエ変換
の結果、メモリ55に格納されたデータの様子を示す
と、図7のようになる。
【0068】フーリエ変換が終了したら、メモリ55の
データを出力する。一方、メモリ56に8個の時系列デ
ータが入力されたら、スイッチS6,S7,S9 を逆端子
側に切換え、上記と逆の処理、即ち、メモリ55に対し
て時系列データの入力を行なうとともに、メモリ56の
データを用いてフーリエ変換を行なう。
データを出力する。一方、メモリ56に8個の時系列デ
ータが入力されたら、スイッチS6,S7,S9 を逆端子
側に切換え、上記と逆の処理、即ち、メモリ55に対し
て時系列データの入力を行なうとともに、メモリ56の
データを用いてフーリエ変換を行なう。
【0069】このように、メモリ55,56に交互に入
力される時系列データを用い、奇数部データ領域として
は1つのメモリ57のみを使用することで、リアルタイ
ムでフーリエ変換できるものとなり、請求項5記載の発
明にいうバタフライ演算機能を持つものとなる。
力される時系列データを用い、奇数部データ領域として
は1つのメモリ57のみを使用することで、リアルタイ
ムでフーリエ変換できるものとなり、請求項5記載の発
明にいうバタフライ演算機能を持つものとなる。
【0070】なお、フーリエ逆変換も同様にして行なえ
るが、図7に示した形式で入力されたN個のデータを、
図5中の右側に示した2N個のデータに変換して演算ユ
ニット34に入力するために、メモリ55,56から出
力したデータの符号を反転する必要がある場合には、符
号反転回路61を経由するようにスイッチが切換えられ
る。
るが、図7に示した形式で入力されたN個のデータを、
図5中の右側に示した2N個のデータに変換して演算ユ
ニット34に入力するために、メモリ55,56から出
力したデータの符号を反転する必要がある場合には、符
号反転回路61を経由するようにスイッチが切換えられ
る。
【0071】ところで、図4に示したような構成の演算
回路54を複数個用意し、図8に示すようにこれらの演
算回路54を縦列接続することにより、FIRフィルタ
のタップ数を増加させることができる。この場合、演算
回路54中のスイッチS14,S16はa端子側とし、スイ
ッチS12,S15はb端子側としておく。また、演算ユニ
ット34については、この演算ユニット34をFIRフ
ィルタ演算に使用するモードに設定しておく。さらに、
スイッチS3 を第4入力端子I4 側に切換え、スイッチ
S4 をレジスタ49の出力側に切換えておき、加減算器
47を加算モードに設定しておく。これが、請求項4記
載の発明の構成に相当する。
回路54を複数個用意し、図8に示すようにこれらの演
算回路54を縦列接続することにより、FIRフィルタ
のタップ数を増加させることができる。この場合、演算
回路54中のスイッチS14,S16はa端子側とし、スイ
ッチS12,S15はb端子側としておく。また、演算ユニ
ット34については、この演算ユニット34をFIRフ
ィルタ演算に使用するモードに設定しておく。さらに、
スイッチS3 を第4入力端子I4 側に切換え、スイッチ
S4 をレジスタ49の出力側に切換えておき、加減算器
47を加算モードに設定しておく。これが、請求項4記
載の発明の構成に相当する。
【0072】このような構成とすることにより、メモリ
55,56に入力された時系列データと、メモリ57,
58に入力されたFIRフィルタ係数との積和演算が行
なわれ、かつ、加減算器47によってその前段側の演算
回路54(図8中、自己より左側のもの)での積和演算
の結果が加算され、さらに、その結果が、後段側の演算
回路54に入力されて同様の加算に供され、次々と加算
が行なわれることになる。そして、最終段の演算回路5
4からFIRフィルタ出力が得られることになる。
55,56に入力された時系列データと、メモリ57,
58に入力されたFIRフィルタ係数との積和演算が行
なわれ、かつ、加減算器47によってその前段側の演算
回路54(図8中、自己より左側のもの)での積和演算
の結果が加算され、さらに、その結果が、後段側の演算
回路54に入力されて同様の加算に供され、次々と加算
が行なわれることになる。そして、最終段の演算回路5
4からFIRフィルタ出力が得られることになる。
【0073】さらに、本実施例の演算回路54が周波数
分析等でよく用いられる窓関数の乗算が可能な点につい
て説明する。まず、フーリエ変換を行なう時の図6中の
左側に示す1段目のバタフライ演算を行なう際に、FF
T係数を入力データに乗算する前に窓関数データをメモ
リ60から出力し、スイッチS11を経て、演算ユニット
34の第3入力端子I3 に入力させる。そして、乗算結
果が保持されたレジスタ42の出力値を第3出力端子O
3 より出力し、図4におけるスイッチS14を介して再び
乗算器41の入力値としてレジスタ35で保持する。そ
の後、FFT係数を入力してバタフライ演算を行なうこ
とで、窓関数の乗算が可能となる。このようにして、請
求項7記載の発明にいう窓関数の乗算処理が可能とな
る。
分析等でよく用いられる窓関数の乗算が可能な点につい
て説明する。まず、フーリエ変換を行なう時の図6中の
左側に示す1段目のバタフライ演算を行なう際に、FF
T係数を入力データに乗算する前に窓関数データをメモ
リ60から出力し、スイッチS11を経て、演算ユニット
34の第3入力端子I3 に入力させる。そして、乗算結
果が保持されたレジスタ42の出力値を第3出力端子O
3 より出力し、図4におけるスイッチS14を介して再び
乗算器41の入力値としてレジスタ35で保持する。そ
の後、FFT係数を入力してバタフライ演算を行なうこ
とで、窓関数の乗算が可能となる。このようにして、請
求項7記載の発明にいう窓関数の乗算処理が可能とな
る。
【0074】
【発明の効果】本発明は、上述したように構成し、請求
項1記載の発明では、第1ないし第3の3つの複素数の
内、第1及び第2の複素数の実数部と虚数部とが切換え
手段により選択切換えされて入力される乗算器と、この
乗算器出力を累積加算又は減算する第1の加減算器と、
前記乗算器による第1及び第2の複素数の乗算結果中の
実数部を保持する第1のレジスタと、この乗算結果中の
虚数部を保持する第2のレジスタと、第3の複素数の実
数部と前記第1のレジスタに保持された実数部出力との
加減算処理を行なう第2の加減算器と、第3の複素数の
虚数部と前記第2のレジスタに保持された虚数部出力と
の加減算処理を行なう第3の加減算器とを設けて、高速
フーリエ変換のバタフライ演算を行なうようにしたの
で、1個の乗算器を使用し、複素数の乗算結果の実数部
と虚数部とを各々独立して保持する第1,2のレジスタ
を有する小さなハードウエア規模にして、各々の加減算
を同時に並行して行なうことができ、効率のよい複素数
演算が可能となる。
項1記載の発明では、第1ないし第3の3つの複素数の
内、第1及び第2の複素数の実数部と虚数部とが切換え
手段により選択切換えされて入力される乗算器と、この
乗算器出力を累積加算又は減算する第1の加減算器と、
前記乗算器による第1及び第2の複素数の乗算結果中の
実数部を保持する第1のレジスタと、この乗算結果中の
虚数部を保持する第2のレジスタと、第3の複素数の実
数部と前記第1のレジスタに保持された実数部出力との
加減算処理を行なう第2の加減算器と、第3の複素数の
虚数部と前記第2のレジスタに保持された虚数部出力と
の加減算処理を行なう第3の加減算器とを設けて、高速
フーリエ変換のバタフライ演算を行なうようにしたの
で、1個の乗算器を使用し、複素数の乗算結果の実数部
と虚数部とを各々独立して保持する第1,2のレジスタ
を有する小さなハードウエア規模にして、各々の加減算
を同時に並行して行なうことができ、効率のよい複素数
演算が可能となる。
【0075】この際、請求項2記載の発明では、乗算器
及び第1ないし第3の各加減算器を浮動小数点演算を行
なうものとしたので、従来の固定小数点演算方式による
ものに比して演算精度の高いものとすることができる。
及び第1ないし第3の各加減算器を浮動小数点演算を行
なうものとしたので、従来の固定小数点演算方式による
ものに比して演算精度の高いものとすることができる。
【0076】また、請求項3記載の発明では、これらの
発明において、第1のレジスタの出力値を選択的に外部
に出力するためのFIR用出力端子を設けて、第1及び
第2の複素数の実数部が乗算器に対する入力となるよう
に切換え手段を固定するとともに、第1の加減算器を加
算モードに設定し、前記乗算器による乗算結果について
この第1の加減算器により累積加算した値を前記第1の
レジスタに一旦保持させた後、前記FIR用出力端子か
ら出力させるようにしたので、乗算し加算した結果をF
IR用出力端子により外部に出力し得るものとなり、フ
ーリエ変換機能だけでなく、FIRフィルタ演算を行な
わせることも可能となる。
発明において、第1のレジスタの出力値を選択的に外部
に出力するためのFIR用出力端子を設けて、第1及び
第2の複素数の実数部が乗算器に対する入力となるよう
に切換え手段を固定するとともに、第1の加減算器を加
算モードに設定し、前記乗算器による乗算結果について
この第1の加減算器により累積加算した値を前記第1の
レジスタに一旦保持させた後、前記FIR用出力端子か
ら出力させるようにしたので、乗算し加算した結果をF
IR用出力端子により外部に出力し得るものとなり、フ
ーリエ変換機能だけでなく、FIRフィルタ演算を行な
わせることも可能となる。
【0077】請求項4記載の発明では、このような請求
項3記載の発明に加え、第2の加減算器に対して外部か
らの入力値を選択的に入力させるための入力端子とこの
第2の加減算器の出力値を選択的に外部に出力するため
の出力端子とを設けて、この第2の加減算器を加算モー
ドに設定し、前記入力端子からの入力値と第1のレジス
タからの出力値とをこの第2の加減算器により累積加算
し、その結果を前記出力端子から外部に出力させるよう
にしたので、外部からの入力値と内部での乗算及び加算
結果とを加算し、この加算結果を外部に出力し得るもの
となり、よって、複数の演算回路を縦列接続して使用す
ることで、より多くのタップ数を持つFIRフィルタを
実現できるものとなる。
項3記載の発明に加え、第2の加減算器に対して外部か
らの入力値を選択的に入力させるための入力端子とこの
第2の加減算器の出力値を選択的に外部に出力するため
の出力端子とを設けて、この第2の加減算器を加算モー
ドに設定し、前記入力端子からの入力値と第1のレジス
タからの出力値とをこの第2の加減算器により累積加算
し、その結果を前記出力端子から外部に出力させるよう
にしたので、外部からの入力値と内部での乗算及び加算
結果とを加算し、この加算結果を外部に出力し得るもの
となり、よって、複数の演算回路を縦列接続して使用す
ることで、より多くのタップ数を持つFIRフィルタを
実現できるものとなる。
【0078】また、請求項5記載の発明では、請求項1
記載の発明に加えて、複素数中の実数部のデータを記憶
するNワードの第1及び第2のメモリと、複素数中の虚
数部のデータを記憶するNワードの第3のメモリと、デ
ータの正負を反転させる符号反転回路とを設けて、実数
部のデータを前記第1のメモリと前記第2のメモリとの
内の一方のメモリに入力させて所定データ量に達した後
は、他方のメモリに切換えて入力させ、この他方のメモ
リに所定データ量のデータを入力し終わるまでの期間中
に、データ入力済みの前記一方のメモリ中のデータと前
記第3のメモリ中のデータとを用いてフーリエ変換又は
逆フーリエ変換の演算を行ない、フーリエ変換時にはフ
ーリエ変換後の(N/2−1)ワードの虚数部のデータ
を前記一方のメモリに記憶させる一方、逆フーリエ変換
時には前記一方のメモリ中に記憶された(N/2−1)
ワード分の虚数部のデータを必要に応じて符号反転回路
により符号反転させて乗算器に入力させて演算を行な
い、前記第3のメモリを虚数部用作業領域として用い前
記第1,2のメモリに交互にデータを入力させながらバ
タフライ演算を繰返すようにしたので、フーリエ変換後
の最初の(N/2−1)個の実数部のデータと、最初の
(N/2−1)個の虚数部のデータとを入出力すればよ
いものとなり、データ転送量を減少させることができ、
Nワードの実数部用のメモリのみを2個使用し、虚数部
用のメモリとしては1個使用するだけで、リアルタイム
処理を可能とすることができる。
記載の発明に加えて、複素数中の実数部のデータを記憶
するNワードの第1及び第2のメモリと、複素数中の虚
数部のデータを記憶するNワードの第3のメモリと、デ
ータの正負を反転させる符号反転回路とを設けて、実数
部のデータを前記第1のメモリと前記第2のメモリとの
内の一方のメモリに入力させて所定データ量に達した後
は、他方のメモリに切換えて入力させ、この他方のメモ
リに所定データ量のデータを入力し終わるまでの期間中
に、データ入力済みの前記一方のメモリ中のデータと前
記第3のメモリ中のデータとを用いてフーリエ変換又は
逆フーリエ変換の演算を行ない、フーリエ変換時にはフ
ーリエ変換後の(N/2−1)ワードの虚数部のデータ
を前記一方のメモリに記憶させる一方、逆フーリエ変換
時には前記一方のメモリ中に記憶された(N/2−1)
ワード分の虚数部のデータを必要に応じて符号反転回路
により符号反転させて乗算器に入力させて演算を行な
い、前記第3のメモリを虚数部用作業領域として用い前
記第1,2のメモリに交互にデータを入力させながらバ
タフライ演算を繰返すようにしたので、フーリエ変換後
の最初の(N/2−1)個の実数部のデータと、最初の
(N/2−1)個の虚数部のデータとを入出力すればよ
いものとなり、データ転送量を減少させることができ、
Nワードの実数部用のメモリのみを2個使用し、虚数部
用のメモリとしては1個使用するだけで、リアルタイム
処理を可能とすることができる。
【0079】また、請求項6記載の発明では、請求項3
又は4記載の発明に加えて、時系列データによる複素数
中の実数部のデータを記憶するNワードの第1及び第2
のメモリと、FIRフィルタの各タップ係数のデータを
記憶するNワードの第3及び第4のメモリとを設けて、
FIRフィルタ演算を行なうようにしたので、フーリエ
変換用にはNワードのメモリを3個使用するが、FIR
フィルタ用として使用する時には、Nワードのメモリを
1個追加しているので、4個のメモリの内、2個を時系
列データ用として用い、残りの2個をFIRフィルタ係
数用に使用すればよいものとなり、フーリエ変換とFI
Rフィルタ演算とを共用する際に、メモリの使用効率の
よいものとなる。
又は4記載の発明に加えて、時系列データによる複素数
中の実数部のデータを記憶するNワードの第1及び第2
のメモリと、FIRフィルタの各タップ係数のデータを
記憶するNワードの第3及び第4のメモリとを設けて、
FIRフィルタ演算を行なうようにしたので、フーリエ
変換用にはNワードのメモリを3個使用するが、FIR
フィルタ用として使用する時には、Nワードのメモリを
1個追加しているので、4個のメモリの内、2個を時系
列データ用として用い、残りの2個をFIRフィルタ係
数用に使用すればよいものとなり、フーリエ変換とFI
Rフィルタ演算とを共用する際に、メモリの使用効率の
よいものとなる。
【0080】さらに、請求項7記載の発明では、乗算器
の出力を入力側に選択的にフィードバックさせる切換え
回路と、窓関数を記憶したメモリとを設けて、前記乗算
器により時系列データに前記メモリに記憶された窓関数
を乗算した後で高速フーリエ変換のバタフライ演算を行
なうようにしたので、容易に窓関数と時系列データとの
乗算、即ち、周波数分析時に必要な窓関数の演算も可能
とするとができる。
の出力を入力側に選択的にフィードバックさせる切換え
回路と、窓関数を記憶したメモリとを設けて、前記乗算
器により時系列データに前記メモリに記憶された窓関数
を乗算した後で高速フーリエ変換のバタフライ演算を行
なうようにしたので、容易に窓関数と時系列データとの
乗算、即ち、周波数分析時に必要な窓関数の演算も可能
とするとができる。
【図1】本発明の一実施例を示す演算ユニット構成のブ
ロック図である。
ロック図である。
【図2】バタフライ演算方法を示す模式図である。
【図3】FIRフィルタ構成の原理を示す模式図であ
る。
る。
【図4】論理回路全体構成を示すブロック図である。
【図5】フーリエ変換の対称性特性を示すための説明図
である。
である。
【図6】FFT演算の一例を示す模式図である。
【図7】フーリエ変換結果の格納状態を示すメモリ模式
図である。
図である。
【図8】縦列接続例を示すブロック図である。
【図9】パイプライン結合方式の従来例を示すブロック
図である。
図である。
【図10】そのFFT回路構成を示すブロック図であ
る。
る。
【図11】異なる従来例を示すブロック図である。
41 乗算器 43 第1の加減算器 45 第1のレジスタ 46 第2のレジスタ 47 第2の加減算器 48 第3の加減算器 55 第1のメモリ 56 第2のメモリ 57 第3のメモリ 58 第4のメモリ 60 窓関数用のメモリ 61 符号反転回路 S1,S2 切換え手段 S11 切換え回路 I4 入力端子 O4 出力端子 A 第3の複素数 B 第1の複素数 C 第2の複素数
Claims (7)
- 【請求項1】 第1ないし第3の3つの複素数の内、第
1及び第2の複素数の実数部と虚数部とが切換え手段に
より選択切換えされて入力される乗算器と、この乗算器
出力を累積加算又は減算する第1の加減算器と、前記乗
算器による第1及び第2の複素数の乗算結果中の実数部
を保持する第1のレジスタと、この乗算結果中の虚数部
を保持する第2のレジスタと、第3の複素数の実数部と
前記第1のレジスタに保持された実数部出力との加減算
処理を行なう第2の加減算器と、第3の複素数の虚数部
と前記第2のレジスタに保持された虚数部出力との加減
算処理を行なう第3の加減算器とよりなることを特徴と
する演算回路。 - 【請求項2】 乗算器及び第1ないし第3の各加減算器
を浮動小数点演算を行なうものとしたことを特徴とする
請求項1記載の演算回路。 - 【請求項3】 第1のレジスタの出力値を選択的に外部
に出力するためのFIR用出力端子を設けたことを特徴
とする請求項1又は2記載の演算回路。 - 【請求項4】 第2の加減算器に対して外部からの入力
値を選択的に入力させるための入力端子とこの第2の加
減算器の出力値を選択的に外部に出力するための出力端
子とを設けたことを特徴とする請求項3記載の演算回
路。 - 【請求項5】 複素数中の実数部のデータを記憶するN
ワードの第1及び第2のメモリと、複素数中の虚数部の
データを記憶するNワードの第3のメモリと、データの
正負を反転させる符号反転回路とを設け、実数部のデー
タを前記第1のメモリと前記第2のメモリとの内の一方
のメモリに入力させて所定データ量に達した後は、他方
のメモリに切換えて入力させ、この他方のメモリに所定
データ量のデータを入力し終わるまでの期間中に、デー
タ入力済みの前記一方のメモリ中のデータと前記第3の
メモリ中のデータとを用いてフーリエ変換又は逆フーリ
エ変換の演算を行ない、フーリエ変換時にはフーリエ変
換後の(N/2−1)ワードの虚数部のデータを前記一
方のメモリに記憶させる一方、逆フーリエ変換時には前
記一方のメモリ中に記憶された(N/2−1)ワード分
の虚数部のデータを必要に応じて符号反転回路により符
号反転させて乗算器に入力させて演算を行ない、前記第
3のメモリを虚数部用作業領域として用い前記第1,2
のメモリに交互にデータを入力させながらバタフライ演
算を繰返すようにしたことを特徴とする請求項1記載の
演算回路。 - 【請求項6】 時系列データによる複素数中の実数部の
データを記憶するNワードの第1及び第2のメモリと、
FIRフィルタの各タップ係数のデータを記憶するNワ
ードの第3及び第4のメモリとを設けたことを特徴とす
る請求項3又は4記載の演算回路。 - 【請求項7】 乗算器の出力を入力側に選択的にフィー
ドバックさせる切換え回路と、窓関数を記憶したメモリ
とを設けたことを特徴とする請求項1記載の演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3337343A JPH05174046A (ja) | 1991-12-20 | 1991-12-20 | 演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3337343A JPH05174046A (ja) | 1991-12-20 | 1991-12-20 | 演算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05174046A true JPH05174046A (ja) | 1993-07-13 |
Family
ID=18307740
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3337343A Pending JPH05174046A (ja) | 1991-12-20 | 1991-12-20 | 演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05174046A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6295547B1 (en) | 1998-03-09 | 2001-09-25 | Sharp Kabushiki Kaisha | Fourier transform apparatus |
| WO2008129665A1 (ja) * | 2007-04-17 | 2008-10-30 | Fujitsu Limited | データ処理回路 |
| WO2012149871A1 (zh) * | 2011-05-05 | 2012-11-08 | 中兴通讯股份有限公司 | 具有fft基2蝶运算处理能力的装置及其实现运算的方法 |
| JP2015518610A (ja) * | 2012-04-20 | 2015-07-02 | 華為技術有限公司Huawei Technologies Co.,Ltd. | デジタルシグナルプロセッサにおける信号処理のためのシステムおよび方法 |
| CN113378108A (zh) * | 2020-02-25 | 2021-09-10 | 珠海市煊扬科技有限公司 | 音频处理装置的快速傅立叶变换电路 |
-
1991
- 1991-12-20 JP JP3337343A patent/JPH05174046A/ja active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6295547B1 (en) | 1998-03-09 | 2001-09-25 | Sharp Kabushiki Kaisha | Fourier transform apparatus |
| WO2008129665A1 (ja) * | 2007-04-17 | 2008-10-30 | Fujitsu Limited | データ処理回路 |
| WO2012149871A1 (zh) * | 2011-05-05 | 2012-11-08 | 中兴通讯股份有限公司 | 具有fft基2蝶运算处理能力的装置及其实现运算的方法 |
| US9213679B2 (en) | 2011-05-05 | 2015-12-15 | Zte Corporation | Device with capability of processing FFT radix 2 butterfly operation and operation method thereof |
| JP2015518610A (ja) * | 2012-04-20 | 2015-07-02 | 華為技術有限公司Huawei Technologies Co.,Ltd. | デジタルシグナルプロセッサにおける信号処理のためのシステムおよび方法 |
| US9274750B2 (en) | 2012-04-20 | 2016-03-01 | Futurewei Technologies, Inc. | System and method for signal processing in digital signal processors |
| CN113378108A (zh) * | 2020-02-25 | 2021-09-10 | 珠海市煊扬科技有限公司 | 音频处理装置的快速傅立叶变换电路 |
| US11630880B2 (en) | 2020-02-25 | 2023-04-18 | XSail Technology Co., Ltd | Fast Fourier transform circuit of audio processing device |
| CN113378108B (zh) * | 2020-02-25 | 2023-04-18 | 珠海市煊扬科技有限公司 | 音频处理装置的快速傅立叶变换电路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2646778B2 (ja) | ディジタル信号処理装置 | |
| US4490807A (en) | Arithmetic device for concurrently summing two series of products from two sets of operands | |
| CN101763338B (zh) | 一种点数可变的混合基fft/ifft实现装置及其方法 | |
| WO2021056711A1 (zh) | 一种用数字电路实现的插值滤波器系统 | |
| JPH0526229B2 (ja) | ||
| JP2003016051A (ja) | 複素ベクトル演算プロセッサ | |
| CN102298570A (zh) | 一种点数可变的混合基 fft/ifft实现装置及其方法 | |
| JPS62175866A (ja) | シグナルプロセツサ | |
| US3721812A (en) | Fast fourier transform computer and method for simultaneously processing two independent sets of data | |
| US6122653A (en) | Block IIR processor utilizing divided ALU operation instructions | |
| JPS6037514B2 (ja) | 2次元離散フ−リエ変換計算装置 | |
| EP0474246A2 (en) | Image signal processor | |
| JPH06149861A (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
| US6023719A (en) | Signal processor and method for fast Fourier transformation | |
| Shilparani et al. | FPGA implementation of FIR filter architecture using MCM technology with pipelining | |
| JPH07200539A (ja) | 二次元dct演算装置 | |
| Lange et al. | Reconfigurable multiply-accumulate-based processing element | |
| EP0588677A2 (en) | Two-dimensional 4x4 descrete cosine transformation system and two-dimensional 4x4 discrete cosine inverse transormation system with simple circuit structure | |
| JPH03256455A (ja) | Idct処理装置 | |
| Van et al. | High-speed area-efficient recursive DFT/IDFT architectures | |
| JP2864597B2 (ja) | ディジタル演算回路 | |
| JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
| JP2953918B2 (ja) | 演算装置 | |
| KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
| KR0140805B1 (ko) | 에프아이알 필터의 비트 직렬 연산장치 |