JP3064405B2 - 複素数の演算処理方式 - Google Patents

複素数の演算処理方式

Info

Publication number
JP3064405B2
JP3064405B2 JP2321695A JP32169590A JP3064405B2 JP 3064405 B2 JP3064405 B2 JP 3064405B2 JP 2321695 A JP2321695 A JP 2321695A JP 32169590 A JP32169590 A JP 32169590A JP 3064405 B2 JP3064405 B2 JP 3064405B2
Authority
JP
Japan
Prior art keywords
exponent
complex number
mantissa
circuit
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.)
Expired - Fee Related
Application number
JP2321695A
Other languages
English (en)
Other versions
JPH04190453A (ja
Inventor
茂明 奥谷
敏朗 中水流
慎一 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2321695A priority Critical patent/JP3064405B2/ja
Publication of JPH04190453A publication Critical patent/JPH04190453A/ja
Application granted granted Critical
Publication of JP3064405B2 publication Critical patent/JP3064405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔概 要〕 浮動小数点数で表した複素数の演算処理方式に関し, ハードウェア量が少なく簡易な構成で処理の高速化が
可能とすることを目的とし, 第1及び第2の複素数の
各々についての2つの指数の加算を行う1つの指数加算
回路と,第3の複素数の実部及び虚部の各々についての
仮数を求めるための仮数の乗算及び加算を行う第1及び
第2の仮数演算部と,前記第3の複素数の実部及び虚部
の各々を正規化により求める第1及び第2の正規化回路
とを設け,前記指数加算回路が,その実部の指数とその
虚部の指数とが等しい前記第1の複素数の当該指数と,
その実部の指数とその虚部の指数とが等しい前記第2の
複素数の当該指数とを加算し,前記第1及び第2の正規
化回路が前記指数加算回路での加算結果を用いて,前記
第1及び第2の仮数演算部で求めた前記第3の複素数の
実部及び虚部の各々についての仮数についての正規化を
行うように構成する。
〔産業上の利用分野〕
本発明は,複素数の演算処理方式に関し,更に詳しく
は,浮動小数点数で表した複素数の演算処理方式に関す
る。
近年,音声,画像,レーダ等の解析処理の分野におい
て,デジタル信号処理が適用されており,その信号処理
の手法として,高速フーリエ変換(FFT)等が用いられ
る。この過程で,複素数の演算処理が行われる。
〔従来の技術〕
複素数の演算処理は,従来ソフトウェアに依っていた
ため,その高速化には制約があった。また,複素数は,
固定小数点数として表されていたため,最小値から最大
値までの数値の取り扱い範囲を広げる場合,ビット数を
多くしなければならなかった。このため,ハードウェア
の負担が大きかった。
そこで,複素数の浮動小数点数とすることにより,ビ
ット数の増加を抑えながら,数値の取り扱い範囲を広げ
ることが考えられる。また,ビット数の少ないことを利
用して複素数の演算処理の専用ハードウェアを構成する
ことにより,高速化を図ることが考えられる。
第4図は,このような観点から,本発明者の検討した
複素数の演算処理方式を示している。
第1レジスタ1の第1オペランドの複素数(A=Ra+
jIa)と,第2レジスタ2の第2オペランドの複素数
(B=Rb+jIb)との乗算を行い,第3レジスタ3に結
果オペランドの複素数(C=Rc+jIc)を得る。演算回
路27,28,29及び30は,各々,演算FRa×FRb,FIa×FIb,FR
a×FIb及びFIa×FRbを行う。なお,例えば,FRaは,実数
部Raの仮数であることを表す。これらの演算は,指数E
の加算(Ec=Ea+Eb)と仮数Fの乗算によって,実現さ
れる。指数比較回路31及び32での比較結果に基づいて,
指数Eの大きさを同じにする(大きい方に合わせる)た
めに,シフト回路33,34及び35,36において仮数Fを各々
シフトした後,仮数加算回路37及び38において各々加算
する。そして,正規化回路39及び40において,指数比較
回路31及び32からの指数Eと,仮数加算回路37及び38か
らの仮数Fとを用いて正規化を行い,値Rc及びIcを,結
果オペランドの複素数Cの実部及び虚部として,第3レ
ジスタ3内に得る。
〔発明が解決しようとする課題〕
第4図図示の方式によれば,演算回路27,28,29及び30
の各々において,指数Eの加算を行っている。即ち,4つ
の加算回路が存在する。従って,これらの加算回路の数
を減らせば,ハードウェア量を更に少なくできる。
本発明は,ハードウェア量が少なく簡易な構成で処理
の高速化が可能な浮動小数点数で表した複素数の演算処
理方式を提供することを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理構成図であり,本発明によるデ
ータ処理装置を示す。
第1図において,1,2及び3は第1,第2及び第3レジス
タ,4は指数比較回路,5及び6は仮数シフト回路,7はスケ
ーリング指示回路,8は指数加算回路,9は仮数演算部,10
は仮数乗算回路,11は仮数加算回路,12は正規化回路であ
る。
第1図図示のデータ処理装置は,第1レジスタ1の第
1オペランドの第1の複素数と,第2レジスタ2の第2
オペランドの第2の複素数との乗算を行い,第3レジス
タ3に結果オペランドの第3の複素数を得る。
このために,指数加算回路8は,第1及び第2の複素
数の各々について,これらの各々から定まる2つの指数
を加算する。
第1及び第2の仮数演算部9−1及び9−2は,各
々,第3の複素数の実部の仮数及び虚部の仮数を求める
ために,仮数の乗算及び加算を行う。
第1及び第2の正規化回路12−1及び12−2は,各
々,第1及び第2の仮数演算部9−1及び9−2に対応
し,第3の複素数の実部及び虚部を,正規化により求め
る。
〔作 用〕
指数加算回路8は,その実部の指数とその虚部の指数
とが等しい第1の複素数の当該指数と,その実部の指数
とその虚部の指数とが等しい第2の複素数の当該指数と
を加算する。この指数加算回路8は,各複素数において
実部と虚部の指数が等しいので,1つでよい。従って,こ
の分ハードウェア量が少なくできる。
以上により,ハードウェア量を少なくできるのみでな
く,簡易な構成により処理の高速化を図ることができ
る。
〔実施例〕
第2図は,本発明の実施例構成図である。
以下,第1図と対比しつつ,第2図に従って実施例に
ついて説明する。
第1オペランドの第1の複素数は,第1レジスタ1内
において,第2図図示の如く,格納されている。Rは実
部を示し,Iは虚部を示す。Eは指数,Fは仮数,Sは符号で
ある。また,添字aは,第1の複素数であることを示
す。
指数比較回路4−1(4)は,比較器17と選択回路18
とからなる。比較器17でのREaとIEaとの比較結果に基づ
いて,選択回路18は両者の大きい方を選択して出力す
る。仮数シフト回路5−1は,IEaがREaより大きい場合
に,REaと対をなすRFaをシフトする。このシフトの量は,
IEaとREaとの差分に相当する桁数分である。仮数シフト
回路5−2は,REaがIEaより大きい場合に,同様に,IFa
をシフトする。即ち,指数比較回路4−1は,その比較
器17において,実部の指数REaと虚部の指数IEaとを比較
し,その選択回路18により比較の結果に従って大きい方
の指数を共通の指数Eaとする。そして,仮数シフト回路
5−1又は5−2が,指数REa及びIEaが共通の指数Eaと
一致するように,仮数RFa又はIFaをシフトする。
以上により,レジスタ13には,新たに当該第1の複素
数についての指数とされた値がEaとして格納される。Ea
は,選択回路18の出力である。RSa及びISaは,第1レジ
スタ1内の値に等しい。RFa及びIFaは,その一方が所定
桁だけシフトされ,他方が第1レジスタ1内の値に等し
い。
第2オペランドの第2の複素数についても同様の処理
がなされる。添字bは,第2の複素数であることを示
す。
レジスタ13及び14のサイズは,格納すべき指数がEaの
1つだけであるので,その分少なくて済む。即ち,専用
ハードウェアとして設ける場合のハードウェア量が少な
くなる。
以上の処理により,レジスタ13及び14には,各々,そ
の実部の指数とその虚部の指数とが等しい第1の複素
数,及び,その実部の指数との虚部の指数とが等しい第
2の複素数が得られる。
ここで,レジスタ13及び14に得た第1及び第2の複素
数を,前述の演算処理によって得るのではなく,予め,
設定されたものとしてもよい。即ち,第1及び第2の複
素数として,その実部の指数と虚部の指数とが等しいも
のを,直接,レジスタ13及び14に入力するようにしても
よい。この場合,第2図図示のレジスタ13及び14の前段
の回路が不要となるので,更にハードウェア量を少なく
でき,演算処理を高速化できる。
仮数演算部9−1は,2つの仮数乗算回路(乗算器)10
−1及び10−2と,これらの出力をその入力とする1つ
の仮数加(減)算回路(加(減)算器)11−1とからな
る。仮数演算部9−2も,同様の構成を有する。
乗算器10−1,10−2,10−3及び10−4は,各々,RFa×
RFb,IFa×IFb,RFa×IFb及びIFa×RFbなる乗算を行って
部分積を得る。部分積RFa×RFb及びIFa×IFbは,直接,
同一のタイミングで,加(減)算器11−1に入力され,
減算RFa×RFb−IFa×IFbを行う。加算器11−2も,同様
にして,加算RFa×IFb+IFa×RFbを行う。
なお,第3図に,仮数演算部9−1の構成を示す。加
算器11−1は,桁上げ保存加算器11Aと全加算器11Bとか
らなる。乗算器10−1及び10−2で生成された各部分積
は,桁上げ保存加算器11Aに入力され,更に,全加算器1
1Bに入力される。この時,部分積の桁上げ保存加算器11
Aへの入力のタイミングが,前述の如く,2つの部分積で
同一とされる。
ここで,第3図図示の回路を第4図図示のものと比較
すると,仮数の乗算部と仮数加算部との間が,前者では
直接接続されているのに対し,後者ではシフト回路33等
が挿入されている。従って,第4図の場合,乗算の結果
を一時的に保存するレジスタ(第4図では図示していな
い)が必要となる。しかし,第3図の場合,このような
レジスタを設ける必要はなく,この分ハードウェア量を
少なくでき,処理を高速化できる。
仮数演算回路9−1及び9−2(即ち加算器11−1及
び11−2)の出力RFc及びIFcは,レジスタ15に格納され
る。
符号回路16は,レジスタ13及び14のRSa,ISa,RSb及びI
Sbに基づいて,代数的に部分積の各々の符号,及び,演
算結果の符号RSc及びIScを決定する。なお,仮数が
「0」のときは,符号は正とする。添字cは,結果オペ
ランドの第3の複素数(となる数)であることを示す。
加算器11−1及び11−2における演算は,各部分積の符
号を考慮して,実行される。出力RSc及びIScは,レジス
タ15に格納される。
指数加算回路8は,レジスタ13及び14に格納された第
1及び第2の複素数の指数Ea及びEbを加算し,結果とし
て第3の複素数の指数(の基なる数)Ecを得る。出力Ec
は,レジスタ15に格納される。従って,このEcは,仮数
RFc及びIFcに共通の指数である。
ここで,スケーリング指示回路7は,必要に応じて,
指数加算回路8に対し所定の値だけ指数を減算するよう
な指示が設定される。これにより,指数加算回路8は,
加算の結果Ecについて所定の処理を行う。例えば,スケ
ーリング指示回路7は,加算結果Ecを更に−1する(Ec
−1を出力する)旨の指示入力を,指数加算回路8に与
える。これにより,指数加算回路8は,Ec−1をレジス
タ15に出力する。従って,複素数全体としてみれば,演
算結果を1/2スケーリングしたことにより,オーバフロ
ーを防止できる。
以上により,レジスタ15には,第1及び第2の複素数
の乗算の結果が得られる。指数Ecは,実部及び虚部に共
通のものであり1つでよいので,この分レジスタ15のサ
イズを小さくできる。
正規化回路12−1は,減算器21,カウント回路22及び
シフト回路23からなる。カウント回路22は,仮数RFcの
上位桁側に“0"のビットがあるか否かを検出し,その数
をカウントし,その値を出力する。シフト回路23は,カ
ウント値の分のビット数だけ,RFcを上位桁側へシフトす
る。減算器21は,Ecをカウント値の分だけ減算する。
正規化回路12−2についても同様である。
以上により,第3レジスタ3には,結果オペランドと
しての第3の複素数が得られる。即ち,減算器21及び24
の出力が各々実部の指数REc及び虚部の指数IEcとされ
る。シフト回路23及び26の出力が各々実部の仮数RFc及
び虚部の仮数IFcとされる。実部の符号RSc及び虚部の符
号IScは各々レジスタ15の内容が用いられる。正規化に
より,RFc及びIFcの各々の最上位桁には“1"が存在する
ようにされる。また,REcとIEcの大きさは,異なる場合
がある。
この正規化は,REcとIEcとが等しくなるように行うこ
とも可能である。このために,例えば,カウント回路22
及び25の出力を比較し,その小さい方を減算器21,シフ
ト回路23及び26へ送出する。これにより,REc及びIEcの
少なくとも一方の最上位桁に“1"が存在するようにされ
る。この場合,比較器を新たに設ける必要があるもの
の,減算器24は不要となり,第3レジスタ3は小さくで
きる。そして,第3レジスタ3内のデ−タ形式として実
部と虚部とに共通の1つの指数を格納することとなるか
ら,レジスタ13及び14より前段の回路を省略した例と合
わせて,統一的な複素数の取り扱いが可能となる。即
ち,本実施例の如き回路において,複素数をその実部と
虚部の指数が等しい形として取り扱うことによって,ハ
ードウェア量が少なく高速処理に適したものとすること
ができる。
また,指数オーバフローが生じた場合,正規化回路12
が,オーバフローを生じた実部又は虚部を最大値にクリ
ッピングするようにしてもよい。この場合,オーバフロ
ーを生じていない方については最大の指数値を用いて正
しく表現される。
更に,指数アンダフローが生じた場合,正規化回路12
が,実部又は虚部の仮数部の上位桁側に“0"が残ったま
まの非正規化デ−タの形式で表現するようにしてもよ
い。
〔発明の効果〕
以上説明したように,本発明によれば,浮動小数点で
表した複素数の演算処理においおいて,その実部の指数
と虚部の指数とが等しい第1及び第2の複素数を乗算す
ることにより,指数の加算回路のハードウェア量を少な
くすることができ,また,簡易な構成とすることができ
るので,処理の高速化を図ることができる。
【図面の簡単な説明】
第1図は本発明の原理構成図, 第2図は実施例構成図, 第3図は仮数演算回路の構成図, 第4図は本発明者の検討した方式を示す図。 1,2及び3は第1,第2及び第3レジスタ,4は指数比較回
路,5及び6は仮数シフト回路,7はスケーリング指示回
路,8は指数加算回路,9は仮数演算回路,10は仮数乗算回
路,11は仮数加算回路,12は正規化回路である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−223846(JP,A) 特開 平2−240728(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 7/52 JICSTファイル(JOIS) WPI(DIALOG)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】第1及び第2オペランドの第1及び第2の
    複素数の乗算を行い,結果オペランドの第3の複素数を
    得る複素数の演算処理方式において, 前記第1及び第2の複素数の各々についての2つの指数
    の加算を行う1つの指数加算回路(8)と, 前記第3の複素数の実部及び虚部の各々についての仮数
    を求めるための仮数の乗算及び加算を行う第1及び第2
    の仮数演算部(9)と, 前記第3の複素数の実部及び虚部の各々を正規化により
    求める第1及び第2の正規化回路(12)とを設け, 前記指数加算回路(8)が,その実部の指数とその虚部
    の指数とが等しい前記第1の複素数の当該指数と,その
    実部の指数とその虚部の指数とが等しい前記第2の複素
    数の当該指数とを加算し, 前記第1及び第2の正規化回路(12)が,前記指数加算
    回路(8)での加算結果を用いて,前記第1及び第2の
    仮数演算部(9)で求めた前記第3の複素数の実部及び
    虚部の各々についての仮数についての正規化を行う ことを特徴とする複素数の演算処理方式。
  2. 【請求項2】前記第1及び第2の複素数の各々につい
    て,その実部の指数とその虚部の指数とを比較する第1
    及び第2の指数比較回路(4)と, 前記第1及び第2の複素数の実部及び虚部の各々につい
    て,その仮数をシフトする第1乃至第4の仮数シフト回
    路(5)とを設け, 前記第1及び第2の指数比較回路(4)が,前記比較の
    結果,大きい指数を当該複素数についての指数とし, 前記第1乃至第4の仮数シフト回路(5)が,前記第1
    及び第2の複素数の実部及び虚部の各々の指数が当該複
    素数についての指数と一致するように,これらの仮数を
    シフトし, 前記指数加算回路(8)が,当該複素数についての指数
    を加算し, 前記第1及び第2の仮数演算部(9)が,前記シフトさ
    れた仮数を用いて,前記乗算を行う ことを特徴とする請求項(1)記載の複素数の演算処理
    方式。
  3. 【請求項3】前記第1及び第2の複素数として,各々,
    その実部の指数とその虚部の指数とが等しい複素数が,
    予め,設定されている ことを特徴とする請求項(1)記載の複素数の演算処理
    方式。
  4. 【請求項4】前記仮数演算部(9)において,前記第1
    及び第2の複素数の実部及び虚部の仮数の乗算により得
    た部分積を同時に加算器に入力して加算を行う ことを特徴とする請求項(1)乃至(3)のいずれかに
    記載の複素数の演算処理方式。
JP2321695A 1990-11-26 1990-11-26 複素数の演算処理方式 Expired - Fee Related JP3064405B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2321695A JP3064405B2 (ja) 1990-11-26 1990-11-26 複素数の演算処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2321695A JP3064405B2 (ja) 1990-11-26 1990-11-26 複素数の演算処理方式

Publications (2)

Publication Number Publication Date
JPH04190453A JPH04190453A (ja) 1992-07-08
JP3064405B2 true JP3064405B2 (ja) 2000-07-12

Family

ID=18135394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2321695A Expired - Fee Related JP3064405B2 (ja) 1990-11-26 1990-11-26 複素数の演算処理方式

Country Status (1)

Country Link
JP (1) JP3064405B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3642053B2 (ja) * 2002-02-25 2005-04-27 日本電気株式会社 シンボルデータ変換回路
JP2009075676A (ja) * 2007-09-18 2009-04-09 Nec Electronics Corp マイクロプロセッサ
US8601044B2 (en) * 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US9274750B2 (en) 2012-04-20 2016-03-01 Futurewei Technologies, Inc. System and method for signal processing in digital signal processors

Also Published As

Publication number Publication date
JPH04190453A (ja) 1992-07-08

Similar Documents

Publication Publication Date Title
US4999803A (en) Floating point arithmetic system and method
JP3352887B2 (ja) クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法
JP3313560B2 (ja) 浮動小数点演算処理装置
CN113625989B (zh) 数据运算装置、方法、电子设备及存储介质
JPH04332036A (ja) 浮動小数点乗算器とその乗算方式
EP3647939A1 (en) Arithmetic processing apparatus and controlling method therefor
US5177703A (en) Division circuit using higher radices
JPS60140422A (ja) 演算処理装置
JP3064405B2 (ja) 複素数の演算処理方式
US7054898B1 (en) Elimination of end-around-carry critical path in floating point add/subtract execution unit
JPH04355827A (ja) 開平演算装置
JPH0545980B2 (ja)
JPH0540605A (ja) 浮動小数点乗算装置
JPH0540777A (ja) バタフライ演算方式
JPH04172526A (ja) 浮動小数点除算器
JP3495173B2 (ja) 演算処理方法および演算処理装置
Fahmy et al. Improving the effectiveness of floating point arithmetic
KR0176883B1 (ko) 복소수 승산기
JP3517162B2 (ja) 除算・開平演算装置
JP3122622B2 (ja) 除算装置
JP3659408B2 (ja) データ演算処理装置及びデータ演算処理プログラム
JP2518532B2 (ja) 減算シフト型除算器
JPH0540609A (ja) 浮動小数点除算装置
JP2903529B2 (ja) ベクトル演算方式
JPH0540606A (ja) 浮動小数点乗除算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees