JPS6255727A - 信号処理用乗算器 - Google Patents

信号処理用乗算器

Info

Publication number
JPS6255727A
JPS6255727A JP60195256A JP19525685A JPS6255727A JP S6255727 A JPS6255727 A JP S6255727A JP 60195256 A JP60195256 A JP 60195256A JP 19525685 A JP19525685 A JP 19525685A JP S6255727 A JPS6255727 A JP S6255727A
Authority
JP
Japan
Prior art keywords
overflow
multiplier
bits
output
bit
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
Application number
JP60195256A
Other languages
English (en)
Inventor
Takao Nishitani
隆夫 西谷
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP60195256A priority Critical patent/JPS6255727A/ja
Publication of JPS6255727A publication Critical patent/JPS6255727A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 〔従来技術とその問題点〕 ディジタル信号処理の利点としてはアナログ技術では実
現できない様な高精度もしくは高安定性の保証されtフ
ィルタや変復調装置が実現できること、ま友アナログ信
号処理では考えられなかっt時変適応フィルタ等が容易
vc実現できることなどが挙げられる。さらに詳しいデ
ィジタル信号処理の利点等については電子通儒学会誌1
2/・82゜Vo165. No、 12 の1280
頁から1284頁「ディジタル信号処理〔l〕」に記載
されている。
この様に多くの利点を有するディジタル信号処理もハー
ドウェアサイズ及び消費電力の点ではアナログ技術に劣
ることが多く、ディジタル信号処理が実用に供される様
になって来たのは、急速に発展して来たディジタルL8
I回路が利用できる様になっ友ごく最近のことでToL
特にシグナルプロセッサと呼ばれるディジタル信号処理
用マイクロプロセッサが出現して来てからである。
この様なシグナルプロセッサは、ハードウェア規模を小
さくしながらアナログ回路で実現する微分、積分演算を
ディジタル領域で実現せねばならないために高速算術演
算能力が要求され、いわゆる汎用コンビ為−夕や汎用マ
イクロプロセッサとは異なつt発展を遂げている。詳し
くは情報処理学会発行の情報処理Vot24.No、7
(1983年7月)の862頁から869頁「ディジタ
ル信号処理LSIプロセッサ」に記載されている。以下
現状のシグナルプロセッサの特徴について述べる。
シグナルプロセッサでは高速算術演算能力上手さなハー
ドウェアで実現するために、数値表現は原則として固定
小数点表示で、かつ2の補数表現を用いることが多い。
まt1シグナルプロセッサで扱う対象はA/D変換され
九アナログ信号であり、A/D変換器の許容最大撮幅を
基準にしてディジタル表現するのが便利である友め最大
振幅値を1.0とする。つまシ、2の補数表現で固定小
数点の位置を示すと、最上位ビットと次のビットの間に
固定小数点を置き、−1から+1までの数値として扱う
この様な形式を用いる場合の乗算回路の入力方形式とし
てはアイ イー イー イー・ジャーナル0オブ・ソリ
ッド・ステート・サーキッツ(IEEE  Journ
al of 5olid 5tate C1rcuit
s)第5C−16巻4号(1981年8月)の372頁
から376頁に掲載され之「シグナルプロセッサの第2
図」に示す様に、Nビット2の補数表現固定小数点デー
タ間の積は(2N−1)ビットで得られ、固定小数点位
置は依然として最上位ビットと次のビットの間にある形
式を用いるのが一般的である。
このため乗算器出力は信号データと同じ形式にな−る様
に上位Nビット’l取り出せば信号のダイナミックレン
ジを一定に保てる。
一方、信号データは−1から+1までの範囲の値を取る
ものの、多段接続され友ディジタルフィルタ間において
ダイナミックレンジtp整するスケーリング係数やアダ
プティブディジタルフィルタの係数修正の友めには−1
から+1までの範囲に収まらない係数もあり、小数点以
上数ピットの桁を必要とする数値の係数を乗する必要が
発生する。この様な乗算を必要とするものも、乗算結果
は平均的に−lから+1の正規の信号変動領域になるこ
とが多い。つtシ、この様な乗算が必要となるのは乗算
器入力信号レベルが小さいため、この信号レベルを拡大
するかもしくは正規化する目的で行なわれる。
この様な乗算を前述したシグナルプロセッサなどに備え
つけられた乗算器を用いて実行するには次の様に行なえ
ばよい。
乗算器としては、−1から+1までの範囲vcあるNビ
ット入力データに対しく2N−1)ビット出力するので
2組の入力データが の様に入力データXが小数点以上にビット、入力データ
Yが小数点以上Lビットの2の補数表示されている時1
乗算器入力として を入力し、出力として 2=8−y=X−Y−z ’訊)−1,−0(3)t(
2N−1)ビットで出力する。この出力zf多多桁アフ
タ(K十L)ビット上位方向にシフトすることで z == z、 2 (x+t、)=X @Y    
  町、、 (1)となり正しい積zを得ることがわか
る。
上記の上位方向シフトにおいて、通常はこの入力信号と
係数の乗算が行なわれることにより、乗算結果が−1と
+1の範囲に来る様に係数が選ばれているため、出力を
上位方向に桁シフトしてもオーバーフローは発生せず、
1fc、乗算器は入力データ長をそれぞれNビットとす
れば、  (2N−1)ビット出力を得ているから、上
位方向にビットシフトし友のち上位Nビットを切り出す
ことにより、正規の信号レベルを有する乗ぜられt信号
が得られることになる。前述し九7グナルプロセソサで
は乗算結果はへビットごとの2語として扱われるため、
倍長演算シフト(2Nビツトのシフト)機能を用いて上
位方向のビットシフト2実行することとなる。
しかしながら従来の乗算手法に従えば、上位3ビット方
回に桁シフトする時にオーバーフローを発生しないとい
う前提に立って行なうものであり、係数が平均的な信号
エネルギーより定められることが多いため、瞬時的には
入力信号と係数の積が定められ7t−1から+1の区間
をオーバーする場合も生じてい九。この友め、上記の乗
算結果を上位方向に7フトし友時点でオーバーフローが
発生し、出力信号が正から負にもしくは負から正に反転
する結果となっていた。この様なオーバーフローが発生
すると、多段ディジタルフィルタのスケールファクタの
場合は大振幅インパルスノイズとして、まtアダプティ
ブフィルタでは制御信号自身にノイズが加算されるため
、ある場合にはアダプティブフィルタ自身を不安定とす
ることも多かつた。
従来この様な不都合をなくすためには、上位方向シフト
に対してソフトウェアでオーバーフローのチェックを行
ないながらオーバーフロー発生時にはオーバーフロー訂
正を行なうことも考えられるものの、多音の算術演算の
実時間処理を必要とするディジタル信号処理では係数の
方の選択時に小さめの値を設定し、感度を下げることに
より上位方向シフトにおけるオーバーフローの発生t−
制限することが多かっtl この定め従来の演算回路では実現するディジタル信号処
理の内容の感度を高めるとノイズが増加し、ノイズを少
なくするには感度を下げなくては−ならないという不都
合があった。
〔発明の目的〕
本発明の目的は、入力データの範囲を−1から+1まで
としt固定乗算器にこの範囲よりも大きな信号が入力さ
れてもオーバーフローの影#1′(+−最小限に留める
ディジタル償号処理用乗算器會提供することにある。
本発明の他の目的はディジタル信号処理における乗算時
オーバーフローを考慮せずrc実行できるディジタル信
号処理用固定小数点乗算器を提供することにある。
〔発明の構成〕
本発明の信号処理用乗算器は、2つの単精度桁固足小数
点データの積を倍精度桁固定小数点データとして出力す
る乗算器と、前記乗算器出力を外部から与えられ友桁数
分上位方向にシフトするバレルシフタと、前記バレルシ
フタによる上位方向シフトによジオ−バーフローが発生
し友か否かを検出する検出回路と、前記オーバーフロー
検出回路がオーバーフロー検出時にはオーバーフローの
方向(正または負)の最大値を出力し、オーバーフロー
非検出時には前記バレルシフタの出力の上位単精度桁数
分のデータを出力する選択回路を含んで構成されている
[7v発明の原理〕 本発明の原理は、式(1)で与えられた2の補数表示で
は積である式(3)を式(4)の様vc(K+L)ビッ
ト上位にシフトしてもオーバーフローしない条件は積の
上位CK+L+1)ビットが同じ値′f!r:待つこと
を利用してオーバーフローを検出し、オーバーフロー検
出時はオーバーフロ一方向の最大値を乗算器の出力とし
て与えてオーバーフローの影響を最小限に抑えることで
ある。
つまり、式(yにおいて上位(K+L+t)ビットが同
一の値を持つ場合を考えると、 として、上位(K+L+1)ビットが“0#の時であり
、ビットOからビットCK十L)までは無いのと同じで
、このためビット位置’k(K十L)ビット上位にシフ
トしたのち上位(K+L)ビット全省略すると :Z@Z・・・・・・(t) を与える。ま友、(K+1.+t)ビットが@1”の時
には となシ、やはりビットOからビット(K十L)までは無
いのと同じで、(K十L)ビット上位シフトしたのち上
位(K十L)ビットを省略してもZ = z・2″1 
        ・・・・・・(9)となり、いずれの
場合も上位(K十L)ビットを無視しても式(4)が正
しく得られる。
しかしながら上位(K+L)ビットがすべて@0”もし
くはすべて@1”でない場合は省略すべきビット内の情
報が意味を持ち、省略できなくなる。つまり、オーバー
フローを示す。
オーバーフローはこの定め上位(K十L )ビットがす
べて同一か否かを調べれば良く、オーバーフローが検出
され几場合、オーバーフローの方向、つまり2  倍す
る前の積の正負情報は式(5)の積の最上位ビットが持
っておりhZo”Oの時は正。
zo=1の時は負を表わす。したがってオーバーフロー
発生時1c 26 = Qであれば正の最大値、つまシ
が最大であるから2進数で1011・・・・・・・・・
1m′It1また、!o=1であれば が最小であるから2進数で1100・・・・・・Omを
積として出力する様にすれば、ディジタル信号処理用固
定小数点乗算器で入力範囲が−1から+1までとした固
定乗算器を用いても、後続するバレル7フタとオーバー
フロー検出、訂正を行なうことに−より、固定小数点演
算のダイナミックレンジ不足に起因するノイズ(誤計算
)を軽減できる。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の信号処理用乗算器の一実施例を示すブ
ロック図で、乗数入力端子l、被被乗数入力端子2 乗算器5.バレルシフタ6、シフト量入力端子7。
正の最大値入力端子8.負の最大値入力端子9。
オーバーフロー検出器10.選択回路11,出力端子1
2とから横取されている。ここで乗数.被乗数レジスタ
3.4は1985年テキサスインスッルメンツ社発行の
ザ・バイポーラ・ディジタル拳インテグレーテッド・サ
ーキッッ・データ・ブッ頁に記載のICが利用でき、乗
算器5は1984年TRW社発行のデバイスカタログT
MC2110に記載され友ものが利用できる。また、バ
レルシフタ6としては1977年AMD社発行のショッ
トキー・アンド龜ローパワー・シ璽ットΦ−拳データ・
ブック・インクルーディング・ディジタル・シグナル・
プロセッシング・ハンドブック(8chottkyan
d Low−power 5chottky Data
 Book IncludingDigital Si
gnal Processing Hand Book
 )の4−37頁から4−46頁記載のICが利用でき
る。
17t、オーバーフロー検出器10vcつぃては後に詳
述する.さらに選択回路11は前記TI社文献の7−1
46頁から7−151頁記載のICが利用できる。なお
、乗数.被乗数レジスタ3.4はそれぞれNビットレジ
スタとし、乗算器5は2個のNビット入力から(2N−
1)ビット積を得るものとし、バレルシフタ6はシフト
量入力端子7から入力されたビット数だけ乗算器5出力
を上位方向シフトし,かつオーバーフローした桁を除い
定格の上位からNビラトラ出方するものとする。
続いて乗数入力端子IK−は式(1)の入力データXで
示され定数値が、ま九被乗数入力端子2vcは式a)の
入力データYで示された数値が、さらにシフト量入力端
子7vcは(K十L)が入力されているものとして本実
施例の動作について説明する。
乗数入力端子11C入力される値Xけ式(1)で示す様
vcNビット中小数点位猿が最上位ビットからにビット
と(K+1)ビット目にあシ、被乗数入力端子2に入力
される値Yはへビット中最上位ビットからLビットと(
L+1)ビット目に小数点があるものとするa該乗数及
び被乗数入力端子l及び2から加えられ九人カデータX
及びYはそれぞれ乗数レジスタ3及び被乗数レジスタ4
1C転送される。
乗数レジスタ3及び被乗数レジスタ4の出力は乗3よシ
入カデータXの数値t−にビット下位方向にシフトしt
値、つまシ式C)の入力Xとして受は取シ、ま几被乗数
レジスタ4からは入力データYの値?Lビット下位方向
にシフトした値、つまシ式(2)の入力yとして受は取
る。このため乗算器5は積として式(5)で与えられる
(2N−1)ビットの値を出力する。バレルシフタ6は
乗算器5の出力をシフト量入力端子7から加えられ比値
(K+L)だけ上位方向にシフトする。バレルシフタ6
の出力はバレルシフタ6への入力の纂(K+L+1)ビ
ット目から(K+L十N+1)ビット目のNビットを出
力する。オーバーフロー検出器10は乗算器5の出力の
上位(K+L+1)ビラトラチェックし、全ビット”Q
”もしくは全ビット′″1”の場合、オーバーフロー発
生がないため選択回路11に対しバレルシフタ6の出力
ft甲方力端子2へ伝える様指令する。オーバーフロー
検出器lOは乗3!を器5の出力の上位(K+L+1)
ビットをチェックし、全ビットが同一の値を持っていな
い時、オーバーフローが発生しているため乗算器5の最
上位ビットが“1′の時は前述した様に負側のオーバー
フローであるから負の最大値入力端子9から加えられた
負の最大値が、また乗算器5の最上位ビットが0#の時
は同じく前述した様に正側のオーバーフローであるから
正の最大値入力端子8から即見られた正の最大値を出力
端子12から出力する様選択回路11に指示する。
このtめ、オーバーフロー検出器lOが選択1叶路11
にバレルシフタ6の出力を出力端子12へ伝えている時
、つま9オーバーフロー検出器10がオーバーフローで
ないことを示している時は、出力端子12から得られる
データは乗算器5の出力′fr、(K+1.)ビット上
位方向にシフトし、かフォーバフロー検出器10は前述
した様に乗算器5の出力の上位(L十に+1)  ビッ
トが全ビット同じ値を示しているため、式(9)で示す
様に正しい積Z:X−Yの値を出力している。一方、オ
ーバーフロー検出器10がオーバーフロー発生を示し、
かつ乗算器5の最上位出力ビットが@1mの時は乗算器
5出力は負であり、バレルシフタ6により上位(K+L
 )ビット無視された値はオーバーフローしている定め
、選択回路11vcよシ負の最大値入力端子9に加えら
れ九負の最大値を出力端子12へ出力する。同機に、オ
ーバーフロー検出器10がオーバーフロー発生を示し、
かつ乗算器5の最上位出力ビットが10′の時は乗算!
a5出力は正であシ、バレルシフタ6により上位(K+
L)ヒツト無視された値はオーバーフローしているため
、選択回路11によシ正の最大値入力端子8に加えられ
た正の最大値を出力端子12へ出力する。
次に、wIJ2図はIEI図vcおけるオーバーフロー
、検出器の一回?8例金示す回路図で、積出力が5ビツ
トの場合を示している。
それぞれ積出力zo* zl、 z2+ Z3.z4の
入力端子100,101,102,103,104と、
排他的論理ノアゲー)110.Ill、112゜113
と、論理オアゲート120,121,122゜123+
!:、アンドゲート130と読出し専用メモリ(以下R
OM)150  と、シフト量入力端子7と、オーバー
フロー検出端子160と、オーバーフロ一方向端子17
0とから構成される。ここでROM150はアドレスに
シフト量入力端子7が接続され第1夢に示されるデータ
を格納している。
第1表 つまシ、第1表はシフト量入力端子7から加えられるシ
フト量(K+L ) IC従って最上位ビット方向から
論理@O”の連が続くものである。
いま、2ビツトシフト指定がシフト量入力端子7から入
力され、積出力”Om ”1+ ”1a ”Bo z4
がそれぞれ1,1,1.0.1として入力端子100゜
101,102,103.1041C加わったとすると
、排他的論理ノアゲート110,111,112゜11
3からはそれぞれ1.l、0.0が出力される。この時
のROM150の出力は第1表より0゜0.1.1であ
り、RO?lsO出力と排他的論理ノアゲー)110,
111,112.113の出力が論理オアゲート120
,121,122゜123でオアを取られる。比較すべ
き上位2ビツト以下はROMI 50出力が@″ビであ
るため論理オアゲート120,121,122,123
の出力はすべて1”となる。この定め、アンドゲート1
30は“1#をオーバーフロー検出端子160vc出力
し、オーバーフローが無かったこと、換言すれば入力端
子100,101.102に加えられた積出力zOs 
Zl、乙2が同一内容であることを示している。
一方、同じ2ビツトシフト指定がシフト量入力端子7か
ら入力され、積出力”Os ”in ZL z3+ z
4がそれぞれ1,1.0.0.1として入力端子100
゜101.102,103.104に加わったとすると
、排他的論理ノアゲート110. 111,112゜1
13からはそれぞれ1,0,1.Oが出力される。この
結果論理オアゲート120. 121.123には1.
0.1.1が得られ、論理オアゲート121が′0”を
出力するためアントゲ−)130はオーバーフロー検出
端子160に対し′″O”を出力し、オーバーフローが
発生することを示す。この時のオーバーフローの方向は
入力端子100から加えられた積出力の最上位ビットが
オーバーフロ一方向端子170に現われ、この場合は@
1mであるから2ビツトシフトにより負方向のオーバー
フローが発生することが検出できる。正方向のオーバー
フローの検出も同様である。
〔発明の効果〕
以上説明した様に本発明は、入力信号の変動範囲t−−
1から+1までと固定した乗算回路にバレルシフタとオ
ーバーフロー検出器及びオーバーフロー訂正器を設ける
ことによシ、入力信号の変動範囲を上記変動範囲を越え
t信号に対してもオーバーフローの心配なく精度よく計
算できる効果がある。1一本発明によればオーバーフロ
ーの影響を最小限に抑えられるので、アダグチイブフィ
ルタ等での応用では安全なシステムが実現できる効果が
ある。
【図面の簡単な説明】
第1図は本発明の信号処理用乗算器の一笑施例を示すブ
ロック図、第2図は第1図におけるオーバーフロー検出
器の一回路例を示す回路囚である。 1・・・・・・乗数入力端子、2・・・・・・被乗数入
力端子、3・・・・・・乗数レジスタ、4・・・・・・
被乗数レジスタ、5・・・・・・乗X器、6・・・・・
・バレルシフタ、7・・・・・・シフト量入力端子、8
・・・・・・正の最大値入力端子、9・・・・・・負の
最大値入力端子、10・・・・・・オーバーフロー検出
器、11・・・・・・選択回路、12・・・・・・出力
端子。

Claims (1)

    【特許請求の範囲】
  1. 2つの単精度桁固定小数点データの積を倍精度桁固定小
    数点データとして出力する乗算器と、前記乗算器出力を
    外部から与えられた桁数分上位方向にシフトするバレル
    シフタと、前記バレルシフタによる上位方向シフトによ
    りオーバーフローが発生したか否かを検出する検出回路
    と、前記オーバーフロー検出回路がオーバーフロー検出
    時にはオーバーフローの方向(正または負)の最大値を
    出力し、オーバーフロー非検出時には前記バレルシフタ
    の出力の上位単精度桁数分のデータを出力する選択回路
    を含んで構成されることを特徴とする信号処理用乗算器
JP60195256A 1985-09-03 1985-09-03 信号処理用乗算器 Pending JPS6255727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60195256A JPS6255727A (ja) 1985-09-03 1985-09-03 信号処理用乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60195256A JPS6255727A (ja) 1985-09-03 1985-09-03 信号処理用乗算器

Publications (1)

Publication Number Publication Date
JPS6255727A true JPS6255727A (ja) 1987-03-11

Family

ID=16338107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60195256A Pending JPS6255727A (ja) 1985-09-03 1985-09-03 信号処理用乗算器

Country Status (1)

Country Link
JP (1) JPS6255727A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6298425A (ja) * 1985-10-24 1987-05-07 Oki Electric Ind Co Ltd 算術シフタ回路
JPH03100827A (ja) * 1989-09-14 1991-04-25 Mitsubishi Electric Corp オーバフロー検出回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6298425A (ja) * 1985-10-24 1987-05-07 Oki Electric Ind Co Ltd 算術シフタ回路
JPH03100827A (ja) * 1989-09-14 1991-04-25 Mitsubishi Electric Corp オーバフロー検出回路

Similar Documents

Publication Publication Date Title
EP0127988A1 (en) A normalizing circuit
EP0209049A2 (en) Processing circuit capable of raising throughput of accumulation
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
JPH04307B2 (ja)
KR100302093B1 (ko) 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법
US4750146A (en) Method and apparatus for compensating for the truncation error in a filtered signal by adding the error to the positive part of the signal and subtracting the error from the negative part of the signal
JPS6255727A (ja) 信号処理用乗算器
US5463571A (en) Multi-nary OR logic device
EP0472030A2 (en) Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication
JPS6027024A (ja) 演算装置
JPH0540605A (ja) 浮動小数点乗算装置
JPH067375B2 (ja) 演算回路
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JPS645500B2 (ja)
KR940007927B1 (ko) 디지탈 필터의 곱셈회로
EP0174048A1 (en) Digital root extraction circuit
SU1363192A1 (ru) Суммирующе-вычитающее устройство
JPS6312025A (ja) 加減算装置
US20020093376A1 (en) Frequency-variation type demodulator and demodulating method
Vassiliadis et al. Quasi-universal VLSI multiplier with signed digit arithmetic
CA1245366A (en) Processing circuit capable of raising throughput of accumulation
JPH0269823A (ja) オーバフロー検出回路
JPH01212921A (ja) A/d変換回路
SU1238064A1 (ru) Устройство дл извлечени квадратного корн
WO1996027831A1 (en) Floating point conversion circuit