JPH04307B2 - - Google Patents

Info

Publication number
JPH04307B2
JPH04307B2 JP61016697A JP1669786A JPH04307B2 JP H04307 B2 JPH04307 B2 JP H04307B2 JP 61016697 A JP61016697 A JP 61016697A JP 1669786 A JP1669786 A JP 1669786A JP H04307 B2 JPH04307 B2 JP H04307B2
Authority
JP
Japan
Prior art keywords
data
register
double
sets
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP61016697A
Other languages
English (en)
Other versions
JPS62175866A (ja
Inventor
Takao Nishitani
Juichi Kawakami
Hideo Tanaka
Ichiro Kuroda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP61016697A priority Critical patent/JPS62175866A/ja
Priority to US07/008,684 priority patent/US4899301A/en
Priority to EP19870101216 priority patent/EP0238807A3/en
Publication of JPS62175866A publication Critical patent/JPS62175866A/ja
Publication of JPH04307B2 publication Critical patent/JPH04307B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は高速フーリエ変換やデイジタルフイル
タ等のデイジタル信号処理をソフトウエアで実現
する実時間信号処理プロセツサに関する。
〔従来の技術〕
実時間デイジタル信号処理の利点はアナログ技
術では実現できない様な高精度もしくは高安定性
の保障されたフイルタや変復調装置が実現できる
こと、さらに、アナログ信号処理では考えられな
かつた時変適応フイルタ等が容易に実現できるこ
となどが挙げられる。さらに詳しいデイジタル信
号処理の利点等については電子通信学会誌1982年
12月号の1280頁より1284頁に記載されている。
この様に多くの利点を持つデイジタル信号処理
も、その反面莫大な演算量を必要とする欠点を持
つている。つまり、実時間信号処理を行なうに
は、標本化された入力信号1標本当り標本化周期
以内に与えられたデイジタル信号処理を行なわな
くてはならず、例えば電話音声(8kHz標本化)
に対し4次の巡回形デイジタルフイルタ処理を施
す場合、125マイクロ秒の間に乗算8回,加算8
回の演算を必要とする。アナログ技術によるフイ
ルタの実現は抵抗やコンデンサ等のアナログ素子
を用いて低消費電力かつ小型のものが容易に得ら
れるため、上述した莫大な演算量を1チツプで実
行する様なデイジタルプロセツサが存在しない限
りデイジタル信号処理技術がアナログ信号処理技
術を完全に置換することはできない。このために
登場したものがシグナルプロセツサと称せられる
デイジタル信号処理用マイクロプロセツサであ
る。
従来のシグナルプロセツサとしては、例えば、
アイイーイーイー・ジヤーナル・オブ・ソリツド
ステート・サーキツツ(IEEE Journal of Solid
State Circuits)等SC−16巻4号(1981年8月)
の372頁より376頁に掲載されたμPD7720シグナル
プロセツサや、エレクトロニクス(Electronics)
誌1982年、2月24日号の105頁より110頁に掲載さ
れたTMS320シグナルプロセツサがあるが、これ
等には、 (1) 大量のデータを実時間処理する必要性から、
汎用コンピユータや汎用マイクロコンピユータ
と異なりビツトパラレル乗算器を内蔵し、乗算
器出力の累算を効率的に行なうため、乗算器と
累算器を直列接続した形式を採つている、 (2) 内部メモリのアナログ指定は、バスに接続さ
れたカウンタやレジスタにより行ない、特にカ
ウンタをアドレス指定に用いることにより連続
したアナログに格納されたデータを効率的に読
み出すことが可能となる様に工夫している、 (3) 演算形式は固定小数点で最上位ビツトが極性
符号を、最上位ビツトと次のビツトの間に小数
点を有する2の補数表現のデータを取り扱つて
いる、 などの共通点があつた。
この様な共通点により、デイジタルフイルタ、
とりわけ、処理すべきデータがメモリ内部の連続
アナログに格納されており、 Yooi=1 aixo-i (1) ただしai:i=1,2,…N 係数 Xo:時刻nの入力信号で メモリ内部に蓄えられる という演算が指定されるFIRフイルタなどは効率
的に処理できた。
〔発明が解決しようとする問題点〕
しかしながら、従来方式のシグナルプロセツサ
ではデイジタル信号処理の他の基本的演算である
FFT(フアストフーリエ変換)などには効率的な
処理ができなかつた。この理由は以下に示す通
り、FFTでは演算を受けるデータの格納アドレ
スが連続的でなく、このため、演算に先立つて複
雑なアナログ操作が必要となるためである。以
下、FFTの詳細を必要な範囲で述べる。
FFTの詳細は例えば1975年プレンテイス・ホ
ール(Prentice Hall)発行のデイジタル・シグ
ナル・プロセツシング(Digital Signal
Processing)の290頁〜320頁に詳しいが、8点
FFTについて以下に述べる。
入力信号{X(i):i=0,1,…7}のFFT
スペクトルを{X(k):k=0,1,…7}とする
と、 X(k)=7i=1 x(i)exp{−jik/2πN} (2) として求めるものである。ここで exp{−jik/2πN} はひねり因子と呼ばれ、 WN=exp{−j1/2πN} (3) とおけば、式(2)は、 X(k)=7i=1 x(i)WN ik (4) となる。
この式(4)をすべてのkについて求める信号のフ
ローは、各演算の途中結果を各々利用しあうこと
で乗算量を低減でき、第2図に示す通りである。
第2図において{x(i):i=0,1,…7}は入
力信号のサンプル値であり、メモリに蓄えられる
ことを前提として左端にアナログを示した。ま
た、{X(i):i=0,1,…7}がフーリエ変換
されたサンプル値があり、ひねり因子がシグナル
フローの一部に乗ぜられている様子が理解されよ
う。なお、入力信号はアドレス番号のビツト逆順
に並べられている。第2図は3段の処理から構成
され、各段では、例えばy0′とy2′よりz0′とz2′を計
算するバタフライと呼ばれる演算が基本となつて
おり、このバタフライ演算は第3図に示す通りで
ある。第3図は複素乗算器100,複素加算器1
01,複素減算器102より成つており、2つの
複素信号yiとyjより zi=yi+Wyj zj=yi+Wyj (5) という演算を行なう回路である。まずyjにひねり
因子Wを複素乗算器100で乗じ、複素加算器1
01にてyiとWyjを加算する。また複素減算器1
02ではyiからWyjを減算し、式(5)を求めてい
る。
FFTは複素入出力演算であるため、式(5)は実
数演算で述べると Re{Zi}=Re{yi}+Re{W}Re{yj}−Im{W}Im
{yj} Re{Zi}=Re{yi}+Re{W}Re{yj}−Im{W}Im
{yj} Im{Zi}=Im{yi}+Re{W}Im{yj}+Im{W}Re{
yj} Re{Zi}=Re{yi}+Re{W}Re{yj}−Im{W}Im
{yj} Im{Zi}=Im{yi}+Re{W}Im{yj}+Im{W}Re{
yj} Re{Zj}=Re{yi}−Re{W}Re{yj}+Im{W}Im{
yj} Re{Zi}=Re{yi}+Re{W}Re{yj}−Im{W}Im
{yj} Im{Zi}=Im{yi}+Re{W}Im{yj}+Im{W}Re{
yj} Re{Zj}=Re{yi}−Re{W}Re{yj}+Im{W}Im{
yj} Im{Zi}=Im{yi}−Re{W}Im{yj}−Im{W}Re{
yj}(6) となる。一般的にFFTを扱う場合は式(5)を用い
て説明した方が簡単であるため、明細書の詳細部
では式(6)を用いて説明するが、しばらくは式(5)を
中心に述べる。
第2図で示されるFFTからも最初の段は互い
に隣り合つたデータ毎のバタフライ演算となる
が、2段目ではバタフライ演算は2番地ずつ離れ
たアドレスの内容が、さらに3段目では4番地ず
つ離れたアドレスの内容が必要となる。また、ひ
ねり因子も第1段ではWN 0のみが必要であるが、
第2段目ではWN 0とWN 2が、さらに、第3段目で
はWN 0,WN 1,WN 2,WN 3が必要となり、メモリ
に{WN 0,WN 1,WN 2}を格納していても連続し
たアドレスの内容が次々と必要となるのは最終段
だけであることが理解されよう。
この様にFFT演算では離散的なアドレス指定、
特に2の巾乗ずつ異なるアドレスの指定が必要と
なり、従来のシグナルプロセツサでは効率的なプ
ログラムが組めなかつた。
本発明の目的は、上述のような問題点を解決し
たシグナルプロセツサを提供することにある。
〔発明の構成〕
本発明のシグナルプロセツサは、各々に2組の
±1歩進可能なレジスタが設けられ、前記2組の
レジスタのどちらか一方の播容もしくは前記2組
のレジスタの加算内容でアドレス指定でき、前記
加算内容を前記2組のレジスタのうちの一方のレ
ジスタに格納できる第1及び第2のメモリよりな
る2組のメモリと、 前記2組のメモリの各々の出力を被乗数及び乗
数入力端子に接続し、被乗数及び乗数データの語
長の倍語長の乗算結果を出力する乗算器と、 前記2組組のメモリの各々にデータを供給ある
いは前記2組のメモリの各々からデータを供給す
るデータバスと、 前記2組のメモリの出力の各々の最下位ビツト
以下に複数のゼロビツトを付加して倍語長とした
データ,前記データバス上のデータの最下位ビツ
ト以下に複数のゼロビツトを付加した倍語長とし
たデータ,前記乗算器の倍語長データ,及び後記
倍語長演算バス上のデータのうちいずれか1つを
選択する選択回路と、 前記選択回路の倍語長出力に対し多ビツト桁シ
フトを行なうシフタと、 前記シフタの内容と後記レジスタ群の出力に対
し倍語長の算術論理演算を行なう演算回路と、 前記演算回路の倍語長出力を一時記憶するレジ
スタ群と、 前記レジスタ群の出力を前記選択回路へ伝える
倍語長演算バスと、 前記倍語長演算バスの下位複数ビツトの順番を
ビツトの重みが逆となるデータと前記倍語長演算
バスの内容データとのいずれか一方を選択して前
記演算回路へ伝えるビツト位置回路と、 前記倍語長演算バスの上位語長分のデータもし
くは下位語長分のデータのいずれか一方を前記デ
ータバスへ伝える切出回路と、 ±1及び2の巾乗歩進できるレジスタによりア
ドレス指定され、前記データバスを介して前記乗
算器にデータを供給する第3のメモリと、 を備えることを特徴としている。
〔作用〕
まず、第2図のFFTの流れ図からも理解され
る様にFFTの入力データの並びはビツト逆順に
並べ換えられる。このため、メモリアドレスとし
て通常カウンタのビツト逆順データをロードする
必要がある。汎用性を失うことなくこの様な機能
を実現するためには、算術論理演算回路(ALU)
からの出力をビツト逆順でメモリアドレスレジス
タに転送できれば良い。このビツト逆順はFFT
の最大処理データ数を2nとするとALUからの下
位nビツトのみを配線でビツト逆順してバスへ接
続するパスを用意すれば2n以下のビツト逆順も容
易に実現できる。例えば10ビツト分ビツト逆順と
した場合に2ビツトのビツト逆順を行なう場合、
ALUでは28を累算できる様にすれば、 1回累算ALU:0000000000 メモリレジスタ:0000000000 2回累算ALU:0100000000 メモリレジスタ:0000000010 3回累算ALU:1000000000 メモリレジスタ:0000000001 4回累算ALU:1100000000 メモリレジスタ:0000000011 となり、メモリレジスタには下位2ビツトのビツ
ト逆順が行なえる。
第2図で示されるFFTの流れ図を第3図で示
されるバタフライ処理を中心にながめると、バタ
フライの組が次の様にグループ分けできる。バタ
フライに入力される2組のデータのアドレスの間
に他のバタフライに入力されるデータのアドレス
を含んでいるバタフライの集合をバタフライグル
ープと呼ぶことにする。このバタフライグループ
の個数は1段目は4個、2段目は2個、3段目は
1個のバタフライグループに分割される。
さらに、同一バタフライグループでは第3図の
yiに相当するバタフライ入力データの格納アドレ
スは1ずつ異なり、第3図のyjに相当するバタフ
ライ入力データの格納アドレスは2の巾乗分異な
る。また、1つのバタフライグループのyiに相当
するデータのアドレスのうち最も大きいものと、
次のバタフライグループのyiに相当するデータの
アドレスのうち最も小さいものとの差は、2つの
バタフライ入力データ間隔と等しい2の巾乗とさ
らに1だけ異なる。この様子を示したのが第4図
であり、第4図では第2図の2段目に対応するバ
タフライグループと最初のバタフライが記されて
おり、最初のバタフライへの入力データのアドレ
スAとBの差は22である。第1バタフライグルー
プに属する2番目のバタフライへの入力データア
ドレスは各々1番目のバタフライへの入力データ
アドレスを+1ずつインクリメントしたものとな
つている。また、この第1バタフライグループの
最後のバタフライはアドレスCの内容を用いたも
のであり、次の第2バタフライグループの最初の
バタフライの入力アドレスA′とCの差は22+1だ
け離れている。
この様なアドレス生成を容易にするためには、
アドレス指定用に2つのレジスタI,Bを用意
し、レジスタIに第3図のバタフライのyiに対応
するアドレスデータを、レジスタBに2の巾乗
(この場合は22)を用意し、第3図のyiのデータ
を読み出すにはレジスタIで、yjのデータを読み
出すにはレジスタIとBの和でメモリをアクセス
し同一バタフライグループ内の次のバタフライの
入力アドレスを設定するにはレジスタIをインク
リメントすると良い。また、新しいバタフライグ
ループに移る場合はレジスタIをインクリメント
するとともに、インクリメントしたレジスタIの
値とレジスタBの値の和をレジスタIへ格納する
機能があれば効率良くアドレス発生が行なえる。
ここで重要なことは、FFTの信号は複素デー
タであるため、実部と虚部を持つており、実部と
虚部のデータを効率良く得るためには前述した2
組のレジスタI,Bによりアクセスできるメモリ
を実部用と虚部用別々に必要となる点である。
FFT演算の他の特徴は同一バタフライグルー
プではバタフライ入力側にかかるひねり因子が
exp{−1/2πN}の2の巾乗ずつ増加していく
ことで、第2図の2段目では21乗ずつ、3段目で
は20乗ずつ増加している。バタフライの加減算は
オペランドの双方とも入力データであるが、乗算
はひねり因子とデータの積を得るために必要であ
る。このため加減算に関しては実数部と虚数部を
分割して2組のメモリに記憶させ、同時に2つの
メモリをアクセスする必要があつたが、ひねり因
子は固定係数であるため、読出専用メモリ1組に
実数部と虚数部を蓄えていても、データを格納す
るメモリからの読出データとひねり因子とが乗算
されるため効率は落ちない。そこで1組の読出専
用メモリと、このメモリをアクセスするレジスタ
として±1及び2n歩進が可能なものを用意すれ
ば、ひねり因子の読出しが第5図の様に行なえ
る。ここで第5図は読出専用メモリのアドレスと
内容を示しており、偶数番地にひねり因子の実数
部が、奇数番地にひねり因子の虚数部が格納され
ており、アドレス2iにはひねり因子のi乗の実数
部、アドレス2i+1にはひねり因子のi乗の虚数
部が蓄えられている。このメモリをアクセスする
のに±1歩進できるレジスタを用いるのが便利な
のは次の理由による。いま、データyjとひねり因
子WN nの積を考えると、 WN n・yj=〔Re{WN n}+jIm{WN n}〕×{Re{yj}+jI
m{yj〕=〔Re{yj}Re{WN n}−Im{yj}Im{WN n} +jRe{yj}Im{WN n}+jIm{yj}Re{WN n} (7) となる。よつて、この積を求めるにはひねり因子
を Re{WN n},Im{WN n},Im{WN n},Re{WN n}の
順に読み出す必要がり、Re{WN n}からIm{WN n
へは+1、Im{WN n}からRe{WN n}へは−1、
アドレス指定レジスタを操作する必要がある。次
のバタフライに進むにはひねり因子がWNの2の
巾乗ずつ増加するため、+2nの操作が望まれる。
また、演算回路では式(5)を実行することになる
が、式(5)における積は式(7)の様に与えられるた
め、実数部/虚数部とも3項の積和演算となる
(式(6)参照)。この積和演算の演算精度を高く保つ
ためには、連続加算によるオーバーフローの問題
と単精度乗算結果が倍精度データとなり、これを
単精度に丸めるための丸め雑音の問題がある。こ
れを汎用性を失うことなく実現するには、乗算結
果を倍精度のまま2ビツトシフトダウンし、3項
の累算を倍精度で行ない、演算結果を1ビツトシ
フトアツプした後、単精度に丸めると良い。乗算
結果を2ビツトシフトダウンしたことで、データ
の値は1/4に減少し、3回加算を行なつても途中
でオーバーフローは発生しない。また、ひねり因
子の絶対値は1であるから、3項の累算結果は最
大1ビツト増加している可能性があり、2ビツト
シフトアツプするとオーバーフローを発生するが
1ビツトシフトアツプでは問題ない。この結果、
1バタフライ毎に1/2ずつダイナミツクレンジは
小さくなるが、これはアルゴリズム的に保証され
たダイナミツクレンジの縮小で、FFTの定義式
には初めからこのスケーリングを含めたものもあ
り、問題とはならない。この場合FFTの式(2)を、 X(k)=1/87i=1 x(i)exp{−jik/2πN} (8) と定義を変えたことになる。1ビツトシフトアツ
プした後、単精度の丸めを行なえば丸めの回数は
1バタフライ当り1回となり高精度な演算が保証
される。
〔実施例〕
第1図は本発明の一実施例であり、乗算器入力
レジスタ1,2、乗算器3、選択回路4、バレル
シフタ5、算術論理部6、レジスタフイルタ7、
ビツト位置回路8、ビツト切出回路9、データメ
モリ10,20、ベースレジスタ11,21、イ
ンデツクスレジスタ12,22、加算器13,2
3、読出専用メモリ30、ポインタ31、入出力
ポート40、データバス50、演算バス60から
構成されている。
ここでレジスタ1,2、ベースレジスタ11,
21は1985年テキサスインスツルメンツ社発行の
“ALS/AGロジツク・サーキツツ・データ・ブ
ツク{Logic Circuits Data Book)”の4−321
頁より4−326頁記載のICが、また、選択回路4
は同文献の4−123頁〜4−126頁記載のICが、
算術論理部6、加算器13,23は同文献の4−
175頁〜4−185頁記載のICが、インデツクスレ
ジスタ12,22は同文献の4−139頁〜(−148
頁記載のICが、レジスタフアイル7は同文献の
4−621頁〜4−625頁記載のICが利用できる。
また、バレルシフタ5は1977年AMD社発行の
“シヨツトキー・アンド・ローパワー・シヨツト
キー・データ・ブツク・インクルーデイング・デ
ジタル・シグナル・プロセツシング・ハンドブツ
ク(Schottky and low−power Schottky Data
Book Including Digital Signal Processing
Handbook”の4−33頁〜4−36頁記載のICが、
乗算器3は同文献の4−3頁〜4−8頁記載の
ICが、入出力ポート40は同文献の4−123頁〜
4−129頁記載のICが利用できる。また、データ
メモリ10,20は1982年NEC Electronics U.
S.A.Inc発行の1982CATALOG75頁〜78頁記載の
ICが、読出専用メモリ30は同文献の137〜139
頁記載のICが利用できる。ビツト位置回路8、
ビツト切出回路9、ポインタ31については後述
する。
第1図の詳細を説明するため、第2図で示した
8点FFTを実行する場合について以下に各ステ
ツプ毎に説明する。
第1ステツプでは、まず入出力ポート40から
8点入力データが入力され、ビツト逆順にデータ
メモリ10,20に各々8点入力データの実数部
及び虚数部を並べるところから説明する。まず、
ビツト位置回路8はレジスタフアイル7の下位10
ビツトをビツト逆順にするモードに固定し、ビツ
ト切出回路9はビツト位置回路8の出力の下位単
精度データをデータバス50に載せるモードに固
定する。バレルシフタ5はシフト量0のモードに
設定し、選択回路4はレジスタフアイル7の内容
を選択する様にしておく。データメモリ10,2
0は各々インデツクスレジスタ12,22でアク
セスされるモードとする。また、レジスタフアイ
ル7内の2つのレジスタの一方にゼロ、他方に
128をロードしておく。
入出力ポート40に最初の実数部データRe{x
(0)}が入力されるとレジスタフアイル7内のゼ
ロを蓄えているレジスタの出力が演算バス60を
介してビツト位置回路8に供給され、ビツト位置
回路8で下位10ビツトのビツト逆順操作が行われ
るが、この場合ゼロとなり、次いでビツト位置回
路9で下位単精度分のビツトの内容がデータバス
50を介してインデツクスレジスタ12へ転送さ
れる。この場合インデツクスレジスタ12はゼロ
である。
第2ステツプでは、入出力ポート40のデータ
Re{x(0)}がデータメモリ10に転送されるた
め、データメモリ10のアドレス0にRe{x
(0)}が格納され、第2図のx(0)のポジシヨ
ンが得られる。
第3ステツプでは、次に入出力ポート40に虚
数部データIm{x(0)}が入力されると、インデ
ツクスレジスタ12のゼロの値がデータバス50
を介しインデツクスレジスタ22へ転送される。
第4ステツプでは、次いで、入出力ポート40
に蓄えられたIm{x(0)}がインデツクスレジス
タ22でアクセスされたデータメモリ20のアド
レス0に格納され、第2図のx(0)の虚数部が
用意できる。
第2のデータ入力以降基本的には前述した4つ
のステツプで実行できる。つまり、入出力ポート
40に第2のデータx(1)の実数部Re{x(1)}が入
力されると、レジスタフアイル7のゼロを保持し
ているレジスタに他の128を保持しているレジス
タの内容が演算バス60,選択回路4,バレルシ
フタ5を介して算術論理部6で加算され128を保
持する結果となり、この結果はビツト位置回路8
で下位10ビツトが、“0010000000”から
“0000000100”となり、ビツト切出回路9により
データバス50上へ4(=“0000000100”)として
伝えられ、インデツクスレジスタ12へ格納され
る。入出力ポート40内のRe{x(1)}はデータバ
ス50を介しデータメモリ10へ格納されるた
め、データメモリ10のアドレス4にRe{x(1)}
が格納され、第2図のx(1)のポジシヨンと同一と
なる。
入出力ポート40に第2のデータx(1)の虚数部
Im{x(1)}が入力されるとインデツクスレジスタ
12の内容はデータバス50を介してインデツク
スレジスタ22へ転送される。入出力ポート40
内のデータIm{x(1)}はデータバス50を介して
データメモリ20に格納されるため、データメモ
リ20のアドレス4にはIm{x(1)}が格納され、
第2図のx(1)の虚数部が用意される。
同様に順次レジスタフアイル7内の128を格納
しているレジスタの内容を演算バス60,選択回
路4,バレルシフタ5,算術論理部6を介して他
のレジスタに累算し、この累算結果をビツト位置
回路8,ビツト切出回路9を介してインデツクス
レジスタ12へ転送し、このインデツクスレジス
タ12の示すデータメモリ10のアドレス位置に
入出力ポート40の内容を書き込むことにより実
数部データのビツト逆順並びに換えが、また、イ
ンデツクスレジスタ12の内容を他のインデツク
スレジスタ22へ転送することにより、インデツ
クスレジスタ22の示すデータメモリ20のアド
レス位置に入出力ポート40の内容を書き込むこ
とにより虚数部データのビツト逆順並び換えが合
計4ステツプずつの動作で実現できる。
次にFFT演算を第2段目の最初のバタフライ
ループの最初のバタフライ演算について詳述す
る。これに先立ち、ビツト位置回路8はビツト逆
順を行わない通常モードに設定し、ビツト切出回
路9は上位単精度分のビツト数をデータバス50
に転送できる様にする。また、ポインタ31は0
を保持するとともに、±1の歩進とともに+22
歩進ができるモードとし、インデツクスレジスタ
12,22の内容はゼロに、ベースレジスタ1
1,21の内容は2に設定しておくものとする。
第2図により、第2段目の最初のバタフライに必
要なデータのアドレスは0と2であり、アドレス
2のデータにWN 0を乗ずる必要があることが理解
されよう。このため、このバタフライ演算は以下
の様に実行される。
まず、データメモリ10をインデツクスレジス
タ12の内容0とベースレジスタ11の内容2と
を加算器13で加算して値2でアクセスし、デー
タメモリ10のアドレス2に蓄えられている実数
部データRe{y2′}をデータバス50を介さずに直
接レジスタ1へ転送するバスを介して転送する。
同時に、ポインタ31は読出専用メモリ30のア
ドレス0に格納されているRe{WN 0}(第4図参
照)が読み出されデータバス50を介してレジス
タ2へ転送される。この後ポインタ31は+1さ
れIm{WN 0}を読出専用メモリ30から読み出す
用意をする。以上で第1ステツプが終了する。
第2ステツプでは乗算器3はレジスタ1の内容
Re{y2′}とレジスタ2の内容Re{WN 0}の倍長ビ
ツト分の積を出力し、選択回路4を介しバレルシ
フタ5により2ビツト分シフトダウンした結果、
1/4Re{WN 0}Re{y2′}を算術論理部6を介して
レジスタフアイル7内の実数部累算用レジスタに
蓄える。これと同時に、ポインタ31の内容で読
出専用メモリ30をアクセスし、前述した様に
Im{WN 0}をデータバス50を介してレジスタ1
へ転送し、またインデツクスレジスタ22に蓄え
られた0とベースレジスタ21に蓄えられた2が
加算器23により加算されデータメモリ20をア
クセスするため、データメモリ20のアドレス2
に格納されているIm{y2′}が読み出されデータバ
ス50を介さない専用パスでレジスタ2へ転送さ
れる。以上で第2ステツプが終了する。
第3ステツプでは第2ステツプでレジスタ1及
び2に格納されたIm{WN 0}とIm{y2′}の積が乗
算器3により倍長ビツト数として得られ、選択回
路4を介し、バレルシフタ5により2ビツト分シ
フトダウンされ、この結果1/4Im{WN 0}Im{y2′}
をレジスタフアイル7内の実数部累算用レジスタ
に格納されている1/4Re{WN 0}Re{y2′}より算
術論理部6で引き去り、前期レジスタフアイル7
内の実数部累算用レジスタに蓄える。つまり1/4
〔Re{WN 0}Re{y2′}−Im{WN 0}Im{y2′}〕が得ら
れ、これはy2′にWN 0を乗じた正しい実数部とな
つている。また、これと同時に、ポインタ31で
示された読出専用メモリ30の内容つまり第2ス
テツプと同様Im{WN 0}がデータバス50を介し
てレジスタ2へ転送され、また、インデツクスレ
ジスタ12とベースレジスタ11との加算器13
による和である2でデータメモリ10をアクセス
し、第1ステツプと同様Im{WN 0}を読み出し、
専用パスを介してレジスタ1へ転送する。この後
ポインタ31を−1して読出専用メモリ30から
Re{WN 0}を読み出す準備をする。
第4ステツプではレジスタ1及び2に蓄えられ
たIm{WN 0}とRe{y2′}の積が乗算器3により倍
長ビツト数で得られ、この結果は選択回路4を介
してバレルシフタ5により2ビツトシフトダウン
され、この結果1/4Re{y2′}Im{WN 0}が算術論
理部6を介してレジスタフアイル7の虚数部累算
用レジスタに格納される。これと同時にポインタ
31によつてアクセスされる読出専用メモリ30
は第3ステツプで述べた様にRe{WN 0}を出力
し、データバス50を介してレジスタ1に転送さ
れ、また、インデツクスレジスタ22とベースレ
ジスタ21との加算器23による和である2でデ
ータメモリ20をアクセスし、出力Im{y2′}を専
用パスを介してレジスタ2へ転送する。
第5ステツプではレジスタ1,2に蓄えられた
Re{WN 0}とIm{y2′}が乗算器3により倍長ビツ
トの積を出力し、これを選択回路4を介し、バレ
ルシフタ5により2ビツトシフトダウンされ、こ
の結果1/4Im{y2′}Re{WN 0}はステツプ4で述
べたレジスタフアイル7内の虚数部累算レジスタ
の内容と算術論理部6で加算され、虚数部累算レ
ジスタに格納される。よつてレジスタフアイル7
内の虚数部累算レジスタには、 1/4Im{WN 0}Re{y2′}+1/4Re{WN 0}Im{y2′} が得られ、1/4倍されているもののデータy2′とひ
ねり因子WN 0の積の虚数部が正しく計算されてい
る。
第6ステツプではインデツクスレジスタ12の
内容(この場合0)でアクセスされたデータメモ
リ10の出力Re{y0′}は専用パスを介して選択回
路4を介して、下位ビツトとして0を追加して倍
長データとした後、バレルシフタ5により2ビツ
トシフトダウンし、1/4Re{y2′}とした後、算術
論理部6ではレジスタフアイル7内の実数累算レ
ジスタ内の 1/4〔Re{y2′}Re{WN 0}−Im{y2′}Im{WN 0}〕 と加算してレジスタフアイル7内の第3のレジス
タに格納する。この結果レジスタフアイル7内の
第3レジスタには 1/4〔Re{y0′}+Re{y2′}Re{WN 0} −Im{y2′}Im{WN 0}〕 が格納されており、1/4倍を除けば正しい0番地
のバタフライの出力つまり式(6)の第1式が計算さ
れていることとなる。
第7ステツプではインデツクスレジスタ22の
内容(この場合0)でアクセスされたデータメモ
リ20の出力Im{y2′}は専用パスを介して選択回
路4を介し、下位ビツトとして0を追加して倍長
データとした後、バレルシフタ5により2ビツト
シフトダウンし、1/4Im{y2′}とした後、算術論
理部6ではレジスタフアイル7内の虚数部累算レ
ジスタ内の 1/4〔Im{y2′}Re{WN 0}+Re{y2′}Im{WN 0}〕 と加算してレジスタフアイル7内の第4のレジス
タに格納する。この結果レジスタフアイル7内の
第4のレジスタには 1/4〔Im{y0′}+Im{y2′}Re{WN 0} +Re{y2′}Im{WN 0}〕 が格納されており、1/4倍を除けば正しい0番地
のバタフライの出力つまり、式(6)の第2式が計算
されている。
第8ステツプでは第6ステツプと同様インデツ
クスレジスタ12の内容(この場合0)でアクセ
スされたデータメモリ10の出力Re{y0′}は専用
パスを介して選択回路4を介し、下位ビツトとし
て0を追加して倍長データとした後、バレルシフ
タ5により2ビツトシフトダウンし、1/4Re{y0′}
とした後、算術論理部6ではレジスタフアイル内
の実数部累算レジスタ内の 1/4〔Re{y2′}Re{WN 0}−Im{y2′}{WN 0}〕 を減算してレジスタフアイル7内の第5のレジス
タに格納する。この結果第5のレジスタには 1/4〔Re{y0′}−(Re{y2′}Re{WN 0} −Im{y2′}Re{WN 0}〕 が格納され、1/4倍を除けば正しい2番地のバタ
フライ出力つまり式(6)の第3式が計算されてい
る。
第9ステツプでは第7ステツプと同様インデツ
クスレジスタ22の内容(この場合0)でアクセ
スされたデータメモリ20の出力Im{y0′}は専用
パスを介して選択回路4を介し、下位ビツトとし
て0を追加して倍長データとした後、バレルシフ
タ5により2ビツトシフトダウンし、1/4Im{y0′}
とした後、算術論理部6ではレジスタフアイル7
内の虚数部累算レジスタ内の 1/4〔Im{y2′}Re{WN 0}+Re{y2′}Im{WN 0}〕 を減算し、レジスタフアイル7内の第6のレジス
タに格納する。この結果第6のレジスタには 1/4〔Im{y0′}−(Im{y2′}Re{WN 0} +Re{y2′}Im{WN 0})〕 が格納されており、1/4をのぞけば正しい2番地
のバタフライの内容つまり式(6)の第4式が計算さ
れている。
引きつづくステツプ10,11,12,13は、各々、
ステツプ6,7,8,9で得られたレジスタフア
イル7内の各々のデータを演算バス60,選択回
路4を介し、バレルシフタ5により1ビツトシフ
トアツプし、算術論理部6を介して各々のレジス
タフアイル7内のレジスタに格納する。この結果
ステツプ6,7,8,9で得られた1/4倍された
答は各々1/2倍された答となり、スケーリングを
含んだFFTの正しい答となつている。
引きつづくステツプ14,15,16,17ではステツ
プ10,11,12,13で得られた各々の結果を演算バ
ス60,ビツト位置回路8,ビツト切出回路9を
介してデータバス50に載せ、各々、インデツク
スレジスタ12でアクセスされるデータメモリ1
0、インデツクスレジスタ22でアクセスされる
データメモリ20、インデツクスレジスタ12と
ベースレジスタ11の内容を加算器13で加算し
た結果でアクセスしたデータメモリ10、インデ
ツクスレジスタ22とベースレジスタ21の内容
を加算器23で加算した結果でアクセスしたデー
タメモリ20の各々に転送することで完了する。
第2図のFFTフローにおける2段目の第1バ
タフライグループ中の第2のバタフライの演算を
行なうには、上記ステツプ1よりステツプ17と本
質点に同じ演算を行うが、ひねり因子がWN 0より
WN 2へ、またバタフライの入出力アドレスが各々
1ずつ加わるため、ステツプ1に先立ち、次のス
テツプを追加する必要がある。
追加ステツプ:インデツクスレジスタ12,2
2を各々+1行い、ポインタ31を+22歩進行
う。
このステツプを追加したことにより、インデツ
クスレジスタ12,22でアクセスされるデータ
メモリ10,20のアドレスは各々1であり、ま
た、インデツクスレジスタ12,22とベースレ
ジスタ11,21の内容を加算器13,23で加
算して得られるデータメモリ10,20のアドレ
スは各々3となり、正しいバタフライの入出力ア
ドレスを与えている。
また、ひねり因子はWN 0よりWN 2へ変るが、最
初のバタフライの計算時のステツプ3でポインタ
31の値は読出専用メモリ30に蓄えられたRe
{WN 0}をアクセスすべく0となつており、WN 2
の実数部のアドレスは第5図より明らかな様に4
番地となるので、ポインタ31の2つの巾乗歩進
機能を用いて+22歩進し、正しい4番地のアドレ
スを生成している。
以下、前述したバタフライのステツプ1よりス
テツプ17はメモリアドレスが全てレジスタ11,
12,21,22,31による間接アドレス指定
で実行されるため、正しい第2バタフライの演算
が実行できる。
第2図のFFTフローにおける2段目の第1バ
タフライグループの第2バタフライ演算が終了し
た後、第2バタフライグループの第1バタフライ
演算を行うためには、基本的には第1バタフライ
グループの第1バタフライを実行するステツプ1
よりステツプ17までと同一であるが、ひねり因子
がWN 0へ戻ること、及び、バタフライ入出力アド
レスが3ずつ増加するため、次の2つのステツプ
を第1バタフライグループの第1バタフライ演算
のためのステツプ1より17までに先立つて必要と
する。
追加ステツプ1:インデツクスレジスタ12及び
22の内容(この場合各々1)とベースレジス
タ11及び21の内容(この場合は2)を加算
器13及び23で各々加算を行い、加算結果を
インデツクスレジスタ12及び22へ格納する
とともにポインタ31にゼロをセツトする。
追加ステツプ2:インデツクスレジスタ12及び
22を+1ずつインクリメントする。
以上の追加ステツプによりインデツクスレジス
タ12及び22の値は4となり、第2バタフライ
グループの最初のバタフライの正しい入出力デー
タアドレスを示す。また、ポインタ31もゼロに
セツトされるため、読出専用メモリ30の出力も
正しいひねり因子WN 0を発生する。
このため、これ等の追加ステツプ以降第1バタ
フライグループの計算と同一のステツプをくり返
せば良い。
第2のFFTフローの第2段目が終了して第3
段目に移るときは、2つのバタフライ入出力アド
レスの差が2より4に変わりひねり因子もWN 0
WN 2だけでなくWN 0,WN 1,WN 2,WN 3が必要と
なる。このため、第2段目の最終バタフライグル
ープの最終バタフライ演算が終つた時点で、第3
段目バタフライグループの最初のバタフライ演算
を始める前に次の追加ステツプを設ければよい。
追加ステツプ1:インデツクスレジスタ12,2
2にゼロをロードする。
追加ステツプ2:ベースレジスタ11,21に4
をロードする。
追加ステツプ3:ポインタ31の2の巾乗歩進機
能を21に設定する。
追加ステツプ1,2により第3段目の最初のバ
タフライの入出力アドレスが設定され、追加ステ
ツプ3によりひねり因子の増分が設定できたた
め、以降のステツプは第2図の第2段目の第1バ
タフライグループの処理と同一である。ただし、
第3段目はバタフライグループが1個で4バタフ
ライあるため、連続する4個のバタフライは第2
段目の第1バタフライグループのバタフライ演算
を4回連続して行なうだけで良い。
なお、バタフライ演算のステツプの説明におい
て、ステツプ6,7,8,9は算術論理部にオー
バーフロー発生時にオーバーフローした極性方向
の最大値に置き換えるサチユレーシヨンロジツク
が設けられている場合には不要となり、その代わ
りにバレルシフタのシフト量を最初から1ビツト
シフトダウンとしておけば良い。またステツプ
10,11,12,13は単なるデータ転送だけであるた
め、バタフライグループからバタフライグループ
への移動に伴う追加ステツプをこれ等のステツプ
に埋めむことも可能である。
第6図は第1図のビツト位置回路8の一例であ
る。このビツト位置回路は双方向ドライバ20
0、単方向ドライバ201、選択回路202、イ
ンバータ203、入出力方向指示端子204、ビ
ツト逆順指定端子205、結合端子210〜21
7,220〜227から構成されており、端子2
20より227までの8本の端子に8ビツトで示
されるデータの各々のビツト情報が加えられ、下
位4ビツトをビツト逆順に並べ換え、端子210
より端子217までに伝えるもので、端子210
〜217までのデータを端子204に加えられる
信号により端子220〜227へ伝えることがで
きる様になつている。また、第6図の双方向ドラ
イバ200及び単方向ドライバ201は1985年テ
キサスインスツルメンツ社発行の“ザ・バイポー
ラ・デジタル・インテグレーテツド・サーキツ
ツ・データ・ブツク・TTL/インターフエー
ス・サーキツツ(The Bipolar Digital
Integrated Circuits Data Book TTL/
Interface Circuits)”の7−330頁〜7−331頁記
載のICが、選択回路202は同文献の7−162頁
〜7−166頁記載のICが、インバータ203は同
文献の6−2頁〜6−3頁記載のICが利用でき
る。
以下図面を参照しながら第6図を説明する。端
子220から227に加えられたデータをビツト
反転せずに端子210から端子217へ伝えるに
は端子204に“L”を加え、端子205に
“L”を加える。この時端子224から端子22
7までの信号は双方向ドライバ200を介して
各々端子214より端子217に伝えられ、ま
た、端子220より端子223までの信号は選択
回路202によりそのままの順で端子210より
端子213に伝わる。この時端子204からの信
号はインバータ203により“L”を伝え単方向
ドライバ201は出力を禁止している。
次に端子205に“H”を加えた場合を説明す
る。この時、端子224より端子227までの信
号は前充した様に双方向ドライバ200を介して
端子214より端子217へ伝えられる。一方端
子210より端子213までの信号は選択回路2
02の入力側で端子213からの信号をLSBに
くる様ビツト順反転して接続されており、端子2
05が“H”であるためにビツト反転した入力側
が選ばれ端子210より端子213には端子22
0より端子223までの信号がビツト反転して伝
えられる。さらに端子204を“H”にするとイ
ンバータ203により選択回路202は出力を禁
止され、双方向ドライバ200,単方向ドライバ
201共に端子220〜227方向に開かれるた
め、端子210より217までの信号が端子22
0より227へ伝えられる。
第7図は第1図のビツト切出回路9の一例であ
る。このビツト切出回路は、選択回路300,3
01、切出力指定端子302、挿入指定端子30
3、切出/挿入端子304、インバータ305、
端子310〜313、端子320〜327から構
成される。選択回路300,301は第6図の選
択回路202と同じICが利用できる。
まず、端子320より端子327に加えられた
8ビツトデータの上位8ビツトを端子310より
端子313に伝える場合を考える。この時、端子
304より加えられた“1”信号により選択回路
301は出力を禁止され、かつ、端子304より
加えられた“L”信号インバータ305により
“H”に変えられて選択回路300に伝えられ、
出力を許可される。この時端子302に“H”が
加えられると、端子324より327までの信号
が端子310より313に伝えられる。
端子304に加えられた信号をそのままにして
おき、端子302に加えられる信号を“L”とす
ると、端子320より323までの信号が選択回
路300により選択され、端子310より313
へ伝えられる。
次に端子304に“H”を加えるとインバータ
305により選択回路300には“L”が伝えら
れ出力を禁止される。反対に、選択回路301に
は“H”が伝えられるため出力が許可される。
いま、端子303に“H”を加えると選択回路
301は端子310より313までの信号の下位
4ビツトにゼロを加えた入力を選択するため、端
子320よる323まではゼロが、端子324よ
り327までの端子310より313までの信号
が伝わる。
次に端子303に“L”を加えると選択回路3
01は他方の入力信号を選択するため、端子32
0より323までの端子310より313までの
信号が、端子324より327まではゼロが伝わ
る。
第8図は第1図のポインタ31の一例である。
このポインタは出力レジスタ400,加算器40
1,選択回路402,レジスタ403,アンドゲ
ート404,出力端子410,バス接続端子42
0,データロード端子405から構成されてい
る。レジスタ400,403は第1図のレジスタ
1,2と同じICが、また加算器401は第1図
の加算器13と同じICが、選択回路402は第
1図の選択回路4と同じICが利用できる。
まず、ポインタにバスの内容をロードする時は
選択回路402はバス接続端子420からの信号
を選択し加算器401に伝える。この時端子40
5は“L”となつており、アンドゲート404は
閉となつており、このため、加算器401は選択
回路402の出力とアンドゲート404の出力
“0”を加算してレジスタ400に伝える。よつ
て出力端子410にはバス接続端子420の値が
現れる。
次に+1演算について述べる。この時端子40
5は“H”となり加算器401にはレジスタ40
0の値が伝えられる。また選択回路402は+1
入力を選択しており、この結果、加算器401は
レジスタ400の値に+1した値を出力し、これ
がレジスタ400に加えられるため、レジスタ4
00の出力は先程までの値に+1されたものが出
力される。
次に−1歩進について述べる。この時もアンド
ゲート404は開となつており加算器401にレ
ジスタ400の値を伝えている。また選択回路4
02は−1を選択し、加算器401に伝えている
ため加算器401の出力は先程までのレジスタ4
00の値に−1された値となり、これが新しくレ
ジスタ400にセツトされ、端子410より出力
される。
次に2の巾乗歩進について述べる。この時まず
始めに2の巾乗の値をまずバスより端子420を
介してレジスタ403に設定しておく。この値は
今2nとすると、選択回路402はレジスタ403
の内容2nを選択し、加算器401に伝える。アン
ドゲート404はこの場合も開であり、レジスタ
400の値を加算器401に伝えている。このた
め、加算器401は先程までのレジスタ400の
値に2nを加えた値を出力し、これが新しくレジス
タ400にセツトされ、端子410より出力され
る。
〔発明の効果〕
以上の様に本発明に従えば、FFTのデータに
対するアドレス演算とひねり因子に対するアドレ
ス演算を連続的に発生できるだけでなく、倍長デ
ータでの演算を行うために高精度な処理が可能と
なる。
特に信号処理においてはデータ長が24ビツトな
いし32ビツトで必要なものも多く、これ対し、メ
モリ容量は1チツプLSI化を考えると高々1024語
程度であるから、アドレス生成用に用いる分散さ
れた加算器も小さくて良く小型低消費電力シグナ
ルプロセツサを実現することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は
信号処理の一例を示す図、第3図は第2図の一部
を説明するための図、第4図は第2図の他の一部
を説明するための図、第5図は読出専用メモリの
アドレスと内容を示す図、第6図は第1図のビツ
ト位置回路の一例を示す図、第7図は第1図のビ
ツト切出回路の一例を示す図、第8図は第1図の
ポインタの一例を示す図である。 1,2……レジスタ、3……乗算器、4……選
択回路、5……バレルシフタ、6……算術論理
部、7……レジスタフアイル、8……ビツト位置
回路、9……ビツト切出回路、10,20……デ
ータメモリ、11,21……ベースレジスタ、1
2,22……インデツクスレジスタ、13,23
……加算器、30……読出専用メモリ、31……
ポインタ、40……入出力ポート、50……デー
タバス、60……演算バス。

Claims (1)

  1. 【特許請求の範囲】 1 各々に2組の±1歩進可能なレジスタが設け
    られ、前記2組のレジスタのどちらか一方の内容
    もしくは前記2組のレジスタの加算内容でアドレ
    ス指定でき、前記加算内容を前記2組のレジスタ
    のうちの一方のレジスタに格納できる第1及び第
    2のメモリよりなる2組のメモリと、 前記2組のメモリの各々の出力を被乗数及び乗
    数入力端子に接続し、被乗数及び乗数データの語
    長の倍語長の乗算結果を出力する乗算器と、 前記2組のメモリの各々にデータを供給あるい
    は前記2組のメモリの各々からデータを供給する
    データバスと、 前記2組のメモリの出力の各々の最下位ビツト
    以下に複数のゼロビツトを付加して倍語長とした
    データ,前記データバス上のデータの最下位ビツ
    ト以下に複数のゼロビツトを付加して倍語長とし
    たデータ,前記乗算器の倍語長データ,及び後記
    倍語長演算バス上のデータのうちいずれか1つを
    選択する選択回路と、 前記選択回路の倍語長出力に対し多ビツト桁シ
    フトを行うシフタと、 前記シフタの内容と後記レジスタ群の出力に対
    し倍語長の算術論理演算を行う演算回路と、 前記演算回路の倍語長出力を一時記憶するレジ
    スタ群と、 前記レジスタ群の出力を前記選択回路へ伝える
    倍語長演算バスと、 前記倍語長演算バスの下位複数ビツトの順番を
    ビツトの重みが逆となるデータと前記倍語長演算
    バスの内容データとのいずれか一方を選択して前
    記演算回路へ伝えるビツト位置回路と、 前記倍語長演算バスの上位語長分のデータもし
    くは下位語長分のデータのいずれか一方を前記デ
    ータバスへ伝える切出回路と、 ±1及び2の巾乗歩進できるレジスタによりア
    ドレス指定され、前記データバスを介して前記乗
    算器にデータを供給する第3のメモリと、 を備えることを特徴とするシグナルプロセツサ。 2 特許請求の範囲第1項に記載のシグナルプロ
    セツサにおいて、前記2組のメモリに各々設けら
    れた前記2組のレジスタのうち、いずれか一方を
    下位複数ビツトだけを歩進できる様にしたことを
    特徴とするシグナルプロセツサ。 3 特許請求の範囲第1項または第2項に記載の
    シグナルプロセツサにおいて、全体が1チツプ大
    規模集積回路で構成されていることを特徴とする
    シグナルプロセツサ。
JP61016697A 1986-01-30 1986-01-30 シグナルプロセツサ Granted JPS62175866A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP61016697A JPS62175866A (ja) 1986-01-30 1986-01-30 シグナルプロセツサ
US07/008,684 US4899301A (en) 1986-01-30 1987-01-29 Signal processor for rapidly calculating a predetermined calculation a plurality of times to typically carrying out FFT or inverse FFT
EP19870101216 EP0238807A3 (en) 1986-01-30 1987-01-29 Signal processor for rapidly executing a predetermined calculation a plurality of times for typically carrying out fft or inverse fft

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61016697A JPS62175866A (ja) 1986-01-30 1986-01-30 シグナルプロセツサ

Publications (2)

Publication Number Publication Date
JPS62175866A JPS62175866A (ja) 1987-08-01
JPH04307B2 true JPH04307B2 (ja) 1992-01-07

Family

ID=11923487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61016697A Granted JPS62175866A (ja) 1986-01-30 1986-01-30 シグナルプロセツサ

Country Status (3)

Country Link
US (1) US4899301A (ja)
EP (1) EP0238807A3 (ja)
JP (1) JPS62175866A (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE131948T1 (de) * 1987-08-21 1996-01-15 Commw Scient Ind Res Org Transformationsverarbeitungsschaltung
US5093801A (en) * 1990-07-06 1992-03-03 Rockwell International Corporation Arrayable modular FFT processor
US5038311A (en) * 1990-08-10 1991-08-06 General Electric Company Pipelined fast fourier transform processor
JPH05158967A (ja) * 1991-12-05 1993-06-25 Nec Corp 計算機システム
US5845093A (en) * 1992-05-01 1998-12-01 Sharp Microelectronics Technology, Inc. Multi-port digital signal processor
JPH0620034A (ja) * 1992-07-02 1994-01-28 Nec Corp 画像処理用アドレス生成回路
SE507529C2 (sv) * 1996-10-21 1998-06-15 Ericsson Telefon Ab L M Anordning och förfarande vid beräkning av FFT
DE69837299T2 (de) 1997-01-22 2007-06-28 Matsushita Electric Industrial Co., Ltd., Kadoma System und Verfahren zur schnellen Fourier-Transformation
US6477554B1 (en) 1999-09-17 2002-11-05 Globespanvirata, Inc. Circuit and method for computing a fast fourier transform
US6557096B1 (en) 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
US6760741B1 (en) * 2000-06-05 2004-07-06 Corage Ltd. FFT pointer mechanism for FFT memory management
EP1162547A3 (en) * 2000-06-05 2003-09-03 DSP Group Ltd. In-Place Memory Management for FFT
US7062523B1 (en) * 2000-08-01 2006-06-13 Analog Devices, Inc. Method for efficiently computing a fast fourier transform
US20030212721A1 (en) * 2002-05-07 2003-11-13 Infineon Technologies Aktiengesellschaft Architecture for performing fast fourier transforms and inverse fast fourier transforms
KR100518797B1 (ko) * 2004-01-07 2005-10-05 삼성전자주식회사 처리속도가 향상된 고속 퓨리에 변환 장치 및 그의 처리방법
KR100762281B1 (ko) * 2005-12-08 2007-10-01 한국전자통신연구원 고속 푸리에 변환 시스템의 메모리 주소 생성 방법 및 그를이용한 트위들 팩터 생성 장치
US20080071848A1 (en) * 2006-09-14 2008-03-20 Texas Instruments Incorporated In-Place Radix-2 Butterfly Processor and Method
US8200729B2 (en) * 2006-10-25 2012-06-12 Agilent Technologies, Inc. Efficient implementation of filters for MIMO fading
US20090172062A1 (en) * 2007-12-31 2009-07-02 Broadcom Corporation Efficient fixed-point implementation of an fft
US8572149B2 (en) * 2009-03-28 2013-10-29 Qualcomm Incorporated Apparatus and methods for dynamic data-based scaling of data such as staged fast fourier transform (FFT) while enhancing performance
CN114585997A (zh) * 2019-10-25 2022-06-03 株式会社半导体能源研究所 运算电路、半导体装置及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075630A (en) * 1976-09-01 1978-02-21 Raytheon Company Signal processor
US4138730A (en) * 1977-11-07 1979-02-06 Communications Satellite Corporation High speed FFT processor
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
US4266279A (en) * 1979-03-29 1981-05-05 Motorola, Inc. Memory system for a Doppler radar incorporating a fast Fourier transform computer
GB2084362B (en) * 1980-09-19 1984-07-11 Solartron Electronic Group Apparatus for performing the discrete fourier transform
US4587626A (en) * 1981-10-13 1986-05-06 Trw Inc. Sum and difference conjugate discrete Fourier transform
JPS59103169A (ja) * 1982-12-03 1984-06-14 Matsushita Electric Ind Co Ltd デジタル信号処理装置

Also Published As

Publication number Publication date
JPS62175866A (ja) 1987-08-01
US4899301A (en) 1990-02-06
EP0238807A3 (en) 1991-03-20
EP0238807A2 (en) 1987-09-30

Similar Documents

Publication Publication Date Title
JPH04307B2 (ja)
US20110264719A1 (en) High radix digital multiplier
EP0042452A1 (en) Signal processor computing arrangement and method of operating said arrangement
JPS60229140A (ja) 倍精度乗算器
JP3938238B2 (ja) 高速フーリエ変換処理装置
US6101521A (en) Data processing method and apparatus operable on an irrational mathematical value
Nishitani et al. Advanced single-chip signal processor
US5400271A (en) Apparatus for and method of calculating sum of products
KR100229851B1 (ko) 승산기 및 디지탈 필터
CN115705674A (zh) 一种灰度图图像均值预处理的优化方法
JPS5968058A (ja) フロ−テイング乗算器
CN1330089C (zh) 有限脉冲响应滤波与欠采样相结合的方法
Jones Efficient computation of time-varying and adaptive filters
JP2006155102A (ja) 演算処理装置
JPS61262925A (ja) 演算回路
US6308194B1 (en) Discrete cosine transform circuit and operation method thereof
KR940004476B1 (ko) 디지탈 필터의 연산 처리 회로
JPS61213926A (ja) Dsp演算処理方式
JPH074658Y2 (ja) 対数変換回路
Smith et al. Advanced serial-data computation
JP2000010763A (ja) 除算回路
JPS59197936A (ja) デイジタル信号処理方式
JPH0215089B2 (ja)
JPH026089B2 (ja)
JP2004013811A (ja) 高速フーリエ変換のための回転因子表およびそれを用いた高速フーリエ変換装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term