JP3499481B2 - データ乗算装置 - Google Patents

データ乗算装置

Info

Publication number
JP3499481B2
JP3499481B2 JP34560999A JP34560999A JP3499481B2 JP 3499481 B2 JP3499481 B2 JP 3499481B2 JP 34560999 A JP34560999 A JP 34560999A JP 34560999 A JP34560999 A JP 34560999A JP 3499481 B2 JP3499481 B2 JP 3499481B2
Authority
JP
Japan
Prior art keywords
data
bits
output
multiplier
multiplication
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
JP34560999A
Other languages
English (en)
Other versions
JP2001166919A (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.)
Kenwood KK
Original Assignee
Kenwood KK
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 Kenwood KK filed Critical Kenwood KK
Priority to JP34560999A priority Critical patent/JP3499481B2/ja
Publication of JP2001166919A publication Critical patent/JP2001166919A/ja
Application granted granted Critical
Publication of JP3499481B2 publication Critical patent/JP3499481B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は信号発生装置に利用
することができるデータ乗算装置に関する。
【0002】
【従来の技術】従来から、例えば正弦波信号をデジタル
変換した波形データが格納された波形データROMから
波形データを読み出し、読み出した波形データに所定の
倍率を乗数として乗算し、予め定めたビット数の乗算出
力を得て、乗算出力をデジタル増幅器に供給して、デジ
タル増幅器の試験を行うための信号発生器がある。
【0003】所定の乗数を乗算するこの種の従来のデー
タ乗算装置は、図4に示すように、例えば正弦波信号を
16ビットのデジタルデータに変換した波形データが格
納された波形データROM1から、波形データが読み出
される。この読み出された波形データと波形データのレ
ベルを設定するための乗数データの設定器であるレベル
設定器62から出力される16ビットの乗数値との両者
を乗算器63にて乗算し、乗算結果の上位側から16ビ
ットを取り出し、それ以下のビットを切り捨てることに
よって乗算が行われている。各データは2の補数による
符号付き2進数表示である。
【0004】ここで、例えば−96dBの入力において
もデジタル増幅器が正常に作用するかを試験したい場合
がある。このような場合に乗算装置によって、例えば、
8000(H)の波形データ(0dBの正弦波の負側最
大値)に0001(H)すなわち−96dBの乗数を乗
算する。このときにおける乗算結果は00008000
(H)の32ビットとなり、上位側16ビットが取られ
て、0000(H)が乗算出力値として送出される。こ
こで(H)は16進数であることを示す(以下、同
様)。
【0005】しかるに、この計算結果には1/2ビット
の誤差を生じ、本来0.5(10進数)は四捨五入で1
でなければならないのに、0になってしまっている。し
たがって、出力波形信号レベルが−96dBの場合、す
なわち−96dBの入力でデジタル増幅器を試験したい
場合に、波形信号の最大値は0になってしまって、不都
合である。
【0006】ここで、上記において乗数が0001
(H)となるのは次の演算による。8000(H)を0
dBとして計算すると、乗数−96dBは、 10(−96/20)×8000(H)=10(−96/20)×32768 =0.000015849×32768 =0.519337801 …(1) であって、四捨五入すると1となり、上記の乗数は00
01(H)となる。
【0007】7FFF(H)(0dBの正弦波の正側最
大値)に0001(H)すなわち−96dBの乗数を乗
算する例の場合は、 7FFF(H)×0001(H)=00007FFF
(H) となり、乗算結果のMSB側16ビットを取ると000
0(H)になる。
【0008】ここで、上記において乗数が0001
(H)になるのは次の演算による。7FFF(H)を0
dBとして計算すると、乗数−96dBは 7FFF(H)×10(−96/20)=32767×
10(−96/20) =32767×0.000015
849=0.519321952 であって、四捨五入すると1となり、この場合も乗数は
0001(H)となる。
【0009】
【発明が解決しようとする課題】上記したように、従来
のデータ乗算装置によるときは、四捨五入が行われない
ために、演算結果が不都合なものになるという問題点が
あった。
【0010】本発明は、簡単な構成で四捨五入を行った
乗算結果を得ることができる、信号発生装置に使用する
データ乗算装置を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明にかかる請求項1
記載のデータ乗算装置は、信号発生装置に使用するデー
タ乗算装置であって、アナログ波形をデジタル変換した
2の補数による符号付き2進数表示の波形データが格納
された波形データROMと、サインビットを含み波形デ
ータROMに格納された波形データのビット数よりも少
なくとも1ビット多いビット数の乗数値が設定されるレ
ベル設定器と、波形データROMから読み出された波形
データとレベル設定器に設定された乗数値と乗算する乗
算器と、乗算器による乗算結果のサインビットに基づき
四捨五入をするためのデータが置数された第1および第
2レジスタと、乗算結果のサインビットに基づき第1ま
たは第2レジスタの置数を選択するセレクタとを備え、
セレクタからのデータを出力する加算データ設定回路
と、加算データ設定回路から出力されるデータを加算値
として乗算結果に加算する加算器とを備え、加算出力中
から上位所定ビット数の出力データを送出することを特
徴とする。
【0012】本発明にかかる請求項1記載のデータ乗算
装置によれば、波形データROMから読み出された波形
データとレベル設定器に設定された乗数値とが乗算器に
よって乗算され、乗算器による乗算結果のサインビット
に基づき第1または第2レジスタの置数がセレクタによ
って選択されて、セレクタから出力される加算値が加算
器において乗算結果に加算されて、加算出力中の上位所
定ビット数の出力データが送出される。この出力には四
捨五入のための加算値が加算されていて、出力は四捨五
入されたデータとなっている。
【0013】本発明にかかる請求項2記載のデータ乗算
装置は、請求項1記載のデータ乗算装置において、加算
データ設定回路は、レベル設定器に波形データROMに
格納された波形データをそのまま出力させるための乗数
値が設定されているときセレクタからの出力に変わって
実質的に数値0の加算値を送出する手段を備えたことを
特徴とする。
【0014】本発明にかかる請求項2記載のデータ乗算
装置によれば、レベル設定器に波形データROMに格納
された波形データをそのまま出力させるための乗数値が
設定されているときには、実質的に数値0の加算値が加
算器によって加算されて、四捨五入が行われない。
【0015】本発明にかかる請求項3記載のデータ乗算
装置は、出力データのビット数が24ビットと16ビッ
トの何れかを選択可能な信号発生装置に使用するデータ
乗算装置であって、アナログ波形をデジタル変換した2
の補数による符号付き2進数表示の24ビットの波形デ
ータが格納された波形データROMと、サインビットを
含み波形データROMに格納された波形データのビット
数よりも少なくとも1ビット多いビット数の乗数値が設
定されるレベル設定器と、波形データROMから読み出
された波形データとレベル設定器に設定された乗数値と
乗算する乗算器と、出力データのビット数が24ビット
のとき乗算器による乗算結果のサインビットに基づき四
捨五入をするためのデータが置数された第1および第2
レジスタと、出力データのビット数が16ビットのとき
乗算器による乗算結果のサインビットに基づき四捨五入
をするためのデータが置数された第3および第4レジス
タと、出力データのビット数が24ビットのとき乗算結
果のサインビットに基づき第1または第2レジスタの置
数を選択する第1セレクタと、出力データのビット数が
16ビットのとき乗算結果のサインビットに基づき第3
または第4レジスタの置数を選択する第2セレクタと、
出力データのビット数が24ビットのとき第1セレクタ
からの出力を選択し、かつ出力データのビット数が16
ビットのとき第2セレクタからの出力を選択する第3セ
レクタとを備え、第3セレクタからのデータを出力する
加算データ設定回路と、加算データ設定回路から出力さ
れるデータを加算値として乗算結果に加算する加算器と
を備え、24ビットと16ビットとの出力ビット数に基
づいて、加算出力中から所定の上位24ビットまたは上
位16ビットの出力データを送出することを特徴とす
る。
【0016】本発明にかかる請求項3記載のデータ乗算
装置によれば、波形データROMから読み出された波形
データとレベル設定器に設定された乗数値とが乗算器に
よって乗算され、出力データのビット数が24ビットの
ときには乗算器による乗算結果のサインビットに基づき
第1または第2レジスタの置数が第1セレクタによって
選択され、出力データのビット数が16ビットのときに
は乗算器による乗算結果のサインビットに基づき第3ま
たは第4レジスタの置数が第2セレクタによって選択さ
れ、出力データのビット数に基づき第1または第2セレ
クタの出力が第3セレクタによって選択され、第3セレ
クタから出力される加算値が加算器において乗算結果に
加算されて、加算出力中の上位所定ビット数の出力デー
タが送出される。この出力には四捨五入のための加算値
が加算されていて、出力は四捨五入されたデータとなっ
ている。
【0017】本発明にかかる請求項4記載のデータ乗算
装置は、請求項3記載のデータ乗算装置において、加算
データ設定回路は、出力データのビット数が24ビット
のときにレベル設定器に波形データROMに格納された
波形データをそのまま出力させるための乗数値が設定さ
れているとき、または出力ビット数が16ビットのとき
であって乗算結果の所定の上位16ビットが7FFF
(H)または8000(H)のとき第3セレクタからの
出力に変わって実質的に数値0の加算値を送出する手段
を備えたことを特徴とする。
【0018】本発明にかかる請求項4記載のデータ乗算
装置によれば、出力ビット数が24ビットのときにレベ
ル設定器に波形データROMに格納された波形データを
そのまま出力させるための乗数値が設定されていると
き、出力ビット数が16ビットのときであって乗算結果
の所定の上位16ビットが7FFF(H)または800
0(H)のときは、波形データROMに格納されている
波形データをそのまま出力するときであって、実質的に
数値0の加算値が加算器によって加算されて、四捨五入
が行われない。
【0019】
【発明の実施の形態】以下、本発明にかかるデータ乗算
装置を実施の形態によって説明する。
【0020】図1は本発明の実施の一形態にかかるデー
タ乗算装置の構成を示すブロック図である。
【0021】本発明の実施の一形態にかかるデータ乗算
装置31は、24ビット出力の場合を例示している。
【0022】本発明の実施の一形態にかかるデータ乗算
装置31は、図1に示すように、例えば正弦波信号をデ
ジタル変換したサインビットを含む24ビットの波形デ
ータが格納された波形データROM1と、サインビット
(サインビットは常に0に設定されている)を含む、波
形データのレベルを設定するための26ビットの乗数デ
ータが設定されるレベル設定器2と、波形データROM
1から読み出された波形データとレベル設定器2から出
力される乗数データと乗算する乗算器3と、乗算器3に
よる乗算結果に四捨五入を行うための加算データ設定回
路5からの出力を加算数として加算する加算器4を備
え、加算器14から上位24ビットの出力を取り出す。
【0023】さらに、加算データ設定回路5は、000
0003(H)が置数されたレジスタ6と、00000
01(H)が置数されたレジスタ7と、乗算結果のサイ
ンビットが0の場合にレジスタ6の置数を選択し、かつ
乗算結果のサインビットが1の場合にレジスタ7の置数
を選択するセレクタ8と、0000000(H)が置数
されたレジスタ9と、レベル設定器2に設定された乗数
データが0dB(=×1)でない場合にセレクタ8の出
力を選択し、かつ乗数データが0dBの場合にレジスタ
9の置数を選択するセレクタ10とを備えて、セレクタ
10の出力を加算数として加算器4に供給して乗算結果
と加算する。
【0024】ここで、レジスタ9とセレクタ10とを設
けて、乗数データが0dBのときセレクタ10を介して
レジスタ9の置数0000000(H)を乗算器3から
出力される乗算出力と加算するのは、乗数データが0d
Bの場合は波形データROM1に格納されている波形デ
ータをそのまま出力する場合であり、四捨五入をする必
要がないためである。
【0025】乗算結果のサインビットに基づき選択され
るレジスタ6および7には、乗算結果の出力中の上位2
4ビットを10進数で表したときに、最後の桁を四捨五
入するためのデータ0000003(H)、00000
01(H)が置数してある。
【0026】上記のように構成されたデータ乗算装置3
1において、波形データROM1に格納された波形デー
タとレベル設定器2に設定された乗数データとが乗算器
3にて乗算されて、乗算出力の有効ビットが加算器4へ
送出され、加算器4においてデータ発生器5から出力さ
れた加算数と加算される。
【0027】ここで、波形データROM1に格納された
波形データは24ビットであって、例えば800000
(H)、レベル設定器2に設定された乗数データは26
ビット(=サインビット1+有効ビット25)であっ
て、例えば000010A(H)、乗算器3による乗算
結果は50ビットであって、例えば3FFFF7B00
0000(H)であり、その内のビット47〜ビット2
2までの26ビットFFFF7B0(H)が有効ビット
として抽出されて加算器4に送出される。
【0028】加算データ設定回路5から出力される加算
数は26ビットであって、例えば0007FC(H)、
加算器14による加算結果は26ビットであって、例え
ばFFFFFAC(H)であり、加算出力として上位2
4ビットのFFFFFA(H)が抽出される。
【0029】ここで、乗数データは28ビット中の下位
26ビットであるが判りやすくするために28ビットで
表した。有効ビット、加算数、加算結果を28ビットで
表したのも判りやすくするためであって、実際は上位2
6ビットが演算に使用される。
【0030】次に加算データ設定回路5から出力される
加算数について説明する。乗算結果が10進数で0.5
になる乗数データは、次の(2)式で求まる。
【0031】 20×log(0.5/800000(H)) =20×log(0.5/8388608) =−144.49dB …(2) したがって、乗数データ(レベルdB)が−144.4
dBのとき四捨五入後の値が000001(H)および
FFFFF(H)となり、−144.5dBのとき四捨
五入後の値が000000(H)してとなるように四捨
五入のための加算数を決める必要がある。ここで、−1
44.49dBに対して、−144.4dBと−14
4.5dBとしたのはレベル設定器2による乗数データ
がdB表示で小数点以下1桁までの設定を可能としたた
めである。
【0032】したがって、波形データの最大値(7FF
FFF(H))と最小値(800000(H))に対
し、乗数データが−144.4dBのとき、乗算結果は
式(3)、式(4)に示すようになる。
【0033】 7FFFFF(H)×0000001(H) =00000007FFFFF(H) …(3) 800000(H)×0000001(H) =3FFFFFF800000(H) …(4) ここで、乗数データ0000001(H)は−144.
4dBのときの乗数データである。
【0034】次に上位24ビットを取ったときそれぞれ
000001(H)、FFFFFF(H)になる値を4
8ビットで表したときの最小値00000100000
0(H)、FFFFFFFFFFFF(H)からそれぞ
れ式(3)、式(4)の値から上位4ビットを削除した
値を減算した値である下記の式(5)、式(6)の値に
基づく値が加算数となる。
【0035】 000001000000(H)−0000007FFFFF(H) =000000800001(H) …(5) FFFFFFFFFFFF(H)−FFFFFF800000(H) =0000007FFFFF(H) …(6) となり、サインビットが0のときは加算数は00000
0800001(H)以上、000001800001
(H)未満でなければならず、サインビットが1のとき
は加算数は0000007FFFFF(H)以下でなけ
ればならない。
【0036】上記の値は48ビットでの値であり、26
ビットで条件を満たすためには、サインビットが0の場
合は、 000001000000(H)の上位26ビット 0000 0000 0000 0000 0000 0001 00(B) から0000007FFFFF(H)の上位26ビット 0000 0000 0000 0000 0000 0000 01(B) を減算した値 0000 0000 0000 0000 0000 0000 11(B) となる。これを下位ビットから16進数で示せば000
0003(H)となり、これがサインビット0の場合の
加算数となる。これがレジスタ6に置数されている。
【0037】同様にサインビットが1の場合は、 FFFFFFFFFFFF(H)の上位26ビット 1111 1111 1111 1111 1111 1111 11(B) からFFFFFF800000(H)の上位26ビット 1111 1111 1111 1111 1111 1111 10(B) を減算した値 0000 0000 0000 0000 0000 0000 01(B) となる。これを下位ビットから16進数で示せば000
0001(H)となり、これがサインビット1の場合の
加算数となる。これがレジスタ7に置数されている。
【0038】したがって、乗算結果のサインビットに基
づいてレジスタ6またはレジスタ7の置数がセレクタに
よって選択され、加算器4において乗算出力と加算さ
れ、加算出力の上位24ビットが取り出されることによ
り四捨五入されたデータが得られる。また、乗算データ
が0dBのときにはレジスタ9の置数が選択されて、乗
算結果のがそのまま上位24ビットが出力される。
【0039】なお上記したデータ乗算装置31におい
て、レベル設定器2にサインビットを含む26ビットの
乗数データが設定される場合を例示したが、レベル設定
器2にサインビットを含む25ビットの乗数データを設
定するようにしても差し支えない。
【0040】次に本発明の実施の一形態にかかるデータ
乗算装置の第1変形例について説明する。
【0041】図2は本発明の実施の一形態にかかるデー
タ乗算装置の第1変形例の構成を示すブロック図であ
る。
【0042】本発明の実施の一形態にかかるデータ乗算
装置の第1変形例は、16ビット出力の場合を例示して
いる。
【0043】本第1変形例のデータ乗算装置32は、図
2に示すように、例えば正弦波信号をデジタル変換した
サインビットを含む16ビットの波形データが格納され
た波形データROM11と、サインビット(サインビッ
トは常に0に設定されている)を含む、波形データのレ
ベルを設定するための18ビットの乗数データが設定さ
れるレベル設定器12と、波形データROM11から読
み出された波形データとレベル設定器12から出力され
る乗数データと乗算する乗算器13と、乗算器13によ
る乗算結果に四捨五入を行うための加算データ設定回路
15からの出力を加算数として加算する加算器14を備
え、加算器14から上位16ビットの出力を取り出す。
【0044】さらに、加算データ設定回路15は、00
003(H)が置数されたレジスタ16と、00001
(H)が置数されたレジスタ17と、乗算結果のサイン
ビットが0の場合にレジスタ16の置数を選択し、かつ
乗算結果のサインビットが1の場合にレジスタ17の置
数を選択するセレクタ18と、000000(H)が置
数されたレジスタ19と、レベル設定器12に設定され
た乗数データが0dB(=×1)でない場合にセレクタ
18の出力を選択し、かつ乗数データが0dBの場合に
レジスタ19の置数を選択するセレクタ20とを備え
て、セレクタ20の出力を加算数として加算器14に供
給して乗算結果と加算する。
【0045】ここで、レジスタ19とセレクタ20とを
設けて、乗数データが0dBのときセレクタ20を介し
てレジスタ19の置数000000(H)を乗算器13
から出力される乗算出力と加算するのは、乗数データが
0dBの場合は波形データROM11に格納されている
波形データそのまま出力する場合であり、四捨五入をす
る必要がないためである。
【0046】乗算結果のサインビットに基づき選択され
るレジスタ16および17には、乗算結果の出力中の上
位16ビットを10進数で表したときに、最後の桁を四
捨五入するためのデータ00003(H)、00001
(H)が置数してある。
【0047】上記のように構成されたデータ乗算装置3
2において、波形データROM11に格納された波形デ
ータとレベル設定器12に設定された乗数データとが乗
算器13にて乗算されて、乗算出力の有効ビットが加算
器14へ送出され、加算器14においてデータ発生器1
5から出力された加算数と加算される。
【0048】上記したデータ乗算装置32におけるレジ
スタ16および17に置数される値は、24ビット出力
の場合と同様にして求められる。
【0049】この結果、乗算結果のサインビットに基づ
いてレジスタ16またはレジスタ17の置数がセレクタ
18によって選択され、加算器14において乗算出力と
加算され、加算出力の上位16ビットが取り出されるこ
とにより四捨五入されたデータが得られる。また、乗算
データが0dBのときにはレジスタ19の置数が選択さ
れて、乗算結果のがそのまま上位16ビットが出力され
る。
【0050】なお上記したデータ乗算装置32におい
て、レベル設定器12にサインビットを含む18ビット
の乗数データが設定される場合を例示したが、レベル設
定器12にサインビットを含む17ビットの乗数データ
を設定するようにしても差し支えない。
【0051】次に、本発明の実施の一形態にかかるデー
タ乗算装置の第2変形例について説明する。
【0052】図3は本発明の実施の一形態にかかるデー
タ乗算装置の第2変形例の構成を示すブロック図であ
る。
【0053】本発明の実施の一形態にかかるデータ乗算
装置の第2変形例は、24ビット出力と16ビット出力
とを選択して出力可能にした場合を例示している。
【0054】本第2変形例のデータ乗算装置33は、図
3に示すように、例えば正弦波信号をデジタル変換した
サインビットを含む24ビットの波形データが格納され
た波形データROM1と、サインビット(サインビット
は常に0に設定されている)を含む、波形データのレベ
ルを設定するための26ビットの乗数データが設定され
るレベル設定器2と、波形データROM1から読み出さ
れた波形データとレベル設定器2から出力される乗数デ
ータと乗算する乗算器3と、乗算器3による乗算結果に
四捨五入を行うための加算データ設定回路30からの出
力を加算数として加算する加算器4と、加算器4の出力
中の上位24ビット、上位16ビットを選択して出力す
るセレクタ29を備え、セレクタ29から24ビットの
出力、または16ビットの出力を取り出す。
【0055】加算データ設定回路30は、000000
3(H)が置数されたレジスタ6と、0000001
(H)が置数されたレジスタ7と、乗算結果のサインビ
ットが0の場合にレジスタ6の置数を選択し、かつ乗算
結果のサインビットが1の場合にレジスタ7の置数を選
択するセレクタ8と、0000200(H)が置数され
たレジスタ22、00001FF(H)が置数されたレ
ジスタ23と、乗算結果のサインビットが0の場合にレ
ジスタ22の置数を選択し、かつ乗算結果のサインビッ
トが1の場合にレジスタ23の置数を選択するセレクタ
24と、24ビット出力選択のときはセレクタ8の出力
を選択し、かつ16ビット出力選択のときはセレクタ2
4の出力を選択するセレクタ25とを備えている。
【0056】加算データ設定回路30は、さらに、00
00000(H)が置数されたレジスタ26と、16ビ
ット出力が選択されているときであって乗算器3から出
力される乗算結果の上位が8000(H)または7FF
F(H)と一致したことを検出して出力を発生する比較
器27と、比較器27から出力が発生しているときか、
または24ビット出力が選択されてかつレベル設定器2
において設定された乗算データが0dBのときレジスタ
26の置数を選択し、それ以外のときにはセレクタ25
の出力を選択するセレクタ28とを備えて、セレクタ2
8の出力を加算数として加算器4に供給して乗算結果と
加算する。
【0057】ここで、比較器27とレジスタ26とセレ
クタ28とを設けて、24ビット出力が選択されかつ乗
数データが0dBのときセレクタ28を介してレジスタ
26の置数0000000(H)を乗算器3から出力さ
れる乗算結果と加算するのは、24ビット出力が選択さ
れかつ乗数データが0dBの場合は波形データROM1
に格納されている波形データをそのまま出力する場合で
あり、四捨五入をする必要はなく、乗算出力をそのまま
出力させるためである。
【0058】さらに、16ビット出力が選択されている
ときであって乗算器3から出力される乗算結果の上位が
8000(H)または7FFF(H)と一致したときは
16ビット出力の最大値または最小値の場合であって、
これを比較器27で検出し、このときはレジスタ26の
置数を選択するのは、16ビット出力選択のときにおい
て乗算結果が16ビット出力の最大値または最小値のと
きは四捨五入する必要はなく、乗算出力をそのまま出力
させるためである。
【0059】乗算結果のサインビットに基づき選択され
るレジスタ6および7には、乗算結果の出力中の上位2
4ビットを10進数で表したときに、最後の桁を四捨五
入するためのデータ0000003(H)、00000
01(H)が置数してある。これはデータ乗算装置31
の場合と同様である。
【0060】乗算結果のサインビットに基づき選択され
るレジスタ22および23には、乗算結果の出力中の上
位16ビットを10進数で表したときに、最後の桁を四
捨五入するためのデータ0000200(H)、000
01FF(H)が置数してある。この値は16ビット出
力の場合であるデータ乗算装置32の場合のレジスタ1
6および17の置数とは異なっている。これは波形デー
タROM1には24ビットの波形データが格納されて2
4ビットの波形データに基づいて演算し、出力を16ビ
ット出力としているためである。
【0061】上記のように構成されたデータ乗算装置3
3において、波形データROM1に格納された波形デー
タとレベル設定器2に設定された乗数データとが乗算器
3にて乗算されて、乗算出力の有効ビットが加算器4へ
送出され、加算器4においてデータ発生器5から出力さ
れた加算数と加算され、加算結果の上位24ビットまた
は上位16ビットが選択して出力される。
【0062】次に、セレクタ29において24ビットの
出力が選択されたときに選択されるレジスタ6および7
の置数についてはデータ乗算装置31の場合と同様であ
りその説明は省略する。セレクタ29において16ビッ
トの出力が選択されたときに選択されるレジスタ22お
よび23の置数ついて説明する。
【0063】セレクタ29において16ビットの出力が
選択される場合においても、波形データROM1に格納
された波形データは24ビットであって、例えば800
000(H)、レベル設定器2に設定された乗数データ
は26ビット(=サインビット1+有効ビット25)で
あって、例えば000010A(H)、乗算器3による
乗算結果は50ビットであって、例えば3FFFF7B
000000(H)であり、その内のビット47〜ビッ
ト22までの26ビットFFFF7B0(H)が有効ビ
ットとして抽出されて加算器4に送出される。
【0064】加算データ設定回路5から出力される加算
数は26ビットであって、例えば0007FC(H)、
加算器14による加算結果は26ビットであって、例え
ばFFFFFAC(H)であり、加算出力として上位2
4ビットのFFFFFA(H)が抽出される。
【0065】ここで、乗数データは28ビット中の下位
26ビットであるが判りやすくするために28ビットで
表した。有効ビット、加算数、加算結果を28ビットで
表したのも判りやすくするためであって、実際は上位2
6ビットが演算に使用される。
【0066】次にセレクタ29において16ビットの出
力データが選択されたときに加算データ設定回路30か
ら出力される加算数、すなわち、レジスタ22および2
3の置数について説明する。乗算結果が10進数で0.
5になる乗数データは、次の(7)式で求まる。
【0067】 20×log(0.5/8000(H)) =20×log(0.5/32768) =−96.33dB …(7) したがって、乗数データ(レベルdB)が−96.3d
Bのとき四捨五入後の値が0001(H)およびFFF
F(H)となり、−96.4dBのとき四捨五入後の値
が0000(H)となるように四捨五入のための加算数
を求める必要がある。ここで、−96.33dBに対し
て、−96.3dBと−96.4dBとしたのはレベル
設定器2による乗数データがdB表示で小数点以下1桁
までの設定を可能としたためである。
【0068】したがって、波形データの最大値(7FF
FFF(H))と最小値(800000(H))に対
し、乗数データが−96.33dBのとき、乗算結果は
式(8)、式(9)に示すようになる。
【0069】 7FFFFF(H)×0000100(H) =000007FFFFF00(H) …(8) 800000(H)×0000100(H) =3FFFF80000000(H) …(9) ここで、乗数データ0000100(H)は−96.3
3dBのときの乗数データである。
【0070】次に上位16ビットを取ったときそれぞれ
0001(H)、FFFF(H)になる値を48ビット
で表したときの最小値000100000000
(H)、FFFFFFFFFFFF(H)からそれぞれ
式(8)、式(9)の値から上位4ビットを削除した値
を減算した値である下記の式(10)、式(11)の値
に基づく値が加算数となる。
【0071】 000100000000(H)−00007FFFFF00(H) =000080000100(H) …(10) FFFFFFFFFFFF(H)−FFFF80000000(H) =00007FFFFFFF(H) …(11) となり、サインビットが0のときは加算数は00008
0000100(H)以上、000180000100
(H)未満でなければならず、サインビットが1のとき
は加算数は00007FFFFFFF(H)以下でなけ
ればならない。
【0072】上記の値は48ビットでの値であり、26
ビットで条件を満たすためには、サインビットが0の場
合は、 000100000000(H)の上位26ビット 0000 0000 0000 0001 0000 0000 00(B) から00007FFFFFFF(H)の上位26ビット 0000 0000 0000 0000 0111 1111 11(B) を減算した値 0000 0000 0000 0000 1000 0000 00(B) となる。これを下位ビットから16進数で示せば000
0200(H)となり、これがサインビット0の場合の
加算数となる。これがレジスタ22に置数されている。
【0073】同様にサインビットが1の場合は、 FFFFFFFFFFFF(H)の上位26ビット 1111 1111 1111 1111 1111 1111 11(B) からFFFF80000000(H)の上位26ビット 1111 1111 1111 1111 1111 1111 11(B) を減算した値 0000 0000 0000 0000 0111 1111 11(B) となる。これを下位ビットから16進数で示せば000
01FF(H)となり、これがサインビット1の場合の
加算数となる。これがレジスタ23に置数されている。
【0074】したがって、セレクタ29によって24ビ
ットとの出力が選択され、かつレベル設定器2にて設定
された乗算データが0dBでないときには、乗算器3の
乗算結果のサインビットに基づいてレジスタ6またはレ
ジスタ7の置数がセレクタ8によって選択され、セレク
タ25および28を介して加算器4に供給されて、加算
器4において乗算出力と加算され、加算出力の上位24
ビットが取り出されることにより四捨五入されたデータ
が得られる。
【0075】また、セレクタ29によって24ビットと
の出力が選択され、かつレベル設定器2にて設定された
乗算データが0dBのときにはレジスタ26の置数がセ
レクタ28によって選択されて加算器4に供給され、加
算器4において乗算出力と加算され、加算出力の上位2
4ビットが取り出されることにより、波形データROM
1のデータがそのまま出力される。
【0076】セレクタ29によって16ビットとの出力
が選択され、かつ比較器27によって乗算器3の出力の
上位ビットが8000(H)、または7FFF(H)で
ないと検出されたときには、乗算器3の乗算結果のサイ
ンビットに基づいてレジスタ22またはレジスタ23の
置数がセレクタ24によって選択され、セレクタ25お
よび28を介して加算器4に供給されて、加算器4にお
いて乗算出力と加算され、加算出力の上位16ビットが
取り出されることにより四捨五入されたデータが得られ
る。
【0077】また、セレクタ29によって16ビットと
の出力が選択され、かつ比較器27によって乗算器3の
出力の上位ビットが8000(H)、または7FFF
(H)であると検出されたときには、レジスタ26の置
数がセレクタ28によって選択されて加算器4に供給さ
れ、加算器4において乗算出力と加算され、加算出力の
上位16ビットが取り出されることにより、波形データ
ROM1のデータがそのまま出力される。
【0078】なお上記したデータ乗算装置33におい
て、レベル設定器2にサインビットを含む26ビットの
乗数データが設定される場合を例示したが、レベル設定
器2にサインビットを含む25ビットの乗数データを設
定するようにしても差し支えない。
【0079】
【発明の効果】以上説明したように本発明にかかるデー
タ乗算装置によれば、簡単な構成で出力データが16ビ
ットの場合および24ビットの場合に四捨五入を行った
乗算結果を得ることができるという効果が得られる。ま
た、本発明にかかるデータ乗算装置によれば、切り捨て
た場合よりも正確な演算結果を得ることができる。ま
た、本発明にかかるデータ乗算装置において出力データ
として24ビットと16ビットを選択可能にしたとき
は、出力データに16ビットが必要なときにおいても2
4ビットで乗算されるために、演算誤差を小さくするこ
とができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態にかかるデータ乗算装置
の構成を示すブロック図である。
【図2】本発明の実施の一形態にかかるデータ乗算装置
の第1変形例の構成を示すブロック図である。
【図3】本発明の実施の一形態にかかるデータ乗算装置
の第2変形例の構成を示すブロック図である。
【図4】従来のデータ乗算装置の構成を示すブロック図
である。
【符号の説明】
1および11 波形データROM 2および12 レベル設定器 3および13 乗算器 4および14 加算器 5、15および30 加算データ設定回路 6、7、9、10、16、17、19、22、23およ
び26 レジスタ 8、10、18、20、24、25および28 セレク
タ 31、32および33 データ乗算装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/38 G06F 7/00

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】信号発生装置に使用するデータ乗算装置で
    あって、 アナログ波形をデジタル変換した2の補数による符号付
    き2進数表示の波形データが格納された波形データRO
    Mと、 サインビットを含み波形データROMに格納された波形
    データのビット数よりも少なくとも1ビット多いビット
    数の乗数値が設定されるレベル設定器と、 波形データROMから読み出された波形データとレベル
    設定器に設定された乗数値と乗算する乗算器と、 乗算器による乗算結果のサインビットに基づき四捨五入
    をするためのデータが置数された第1および第2レジス
    タと、乗算結果のサインビットに基づき第1または第2
    レジスタの置数を選択するセレクタとを備え、セレクタ
    からのデータを出力する加算データ設定回路と、 加算データ設定回路から出力されるデータを加算値とし
    て乗算結果に加算する加算器とを備え、加算出力中から
    上位所定ビット数の出力データを送出することを特徴と
    するデータ乗算装置。
  2. 【請求項2】請求項1記載のデータ乗算装置において、
    加算データ設定回路は、レベル設定器に波形データRO
    Mに格納された波形データをそのまま出力させるための
    乗数値が設定されているときセレクタからの出力に変わ
    って実質的に数値0の加算値を送出する手段を備えたこ
    とを特徴とするデータ乗算装置。
  3. 【請求項3】出力データのビット数が24ビットと16
    ビットの何れかを選択可能な信号発生装置に使用する
    ータ乗算装置であって、 アナログ波形をデジタル変換した2の補数による符号付
    き2進数表示の24ビットの波形データが格納された波
    形データROMと、 サインビットを含み波形データROMに格納された波形
    データのビット数よりも少なくとも1ビット多いビット
    数の乗数値が設定されるレベル設定器と、 波形データROMから読み出された波形データとレベル
    設定器に設定された乗数値と乗算する乗算器と、 出力データのビット数が24ビットのとき乗算器による
    乗算結果のサインビットに基づき四捨五入をするための
    データが置数された第1および第2レジスタと、出力デ
    ータのビット数が16ビットのとき乗算器による乗算結
    果のサインビットに基づき四捨五入をするためのデータ
    が置数された第3および第4レジスタと、出力データの
    ビット数が24ビットのとき乗算結果のサインビットに
    基づき第1または第2レジスタの置数を選択する第1セ
    レクタと、出力データのビット数が16ビットのとき乗
    算結果のサインビットに基づき第3または第4レジスタ
    の置数を選択する第2セレクタと、出力データのビット
    数が24ビットのとき第1セレクタからの出力を選択
    し、かつ出力データのビット数が16ビットのとき第2
    セレクタからの出力を選択する第3セレクタとを備え、
    第3セレクタからのデータを出力する加算データ設定回
    路と、 加算データ設定回路から出力されるデータを加算値とし
    て乗算結果に加算する加算器と を備え、24ビットと16ビットとの出力ビット数に基
    づいて、加算出力中から所定の上位24ビットまたは上
    位16ビットの出力データを送出することを特徴とする
    データ乗算装置。
  4. 【請求項4】請求項3記載のデータ乗算装置において、
    加算データ設定回路は、出力データのビット数が24ビ
    ットのときにレベル設定器に波形データROMに格納さ
    れた波形データをそのまま出力させるための乗数値が設
    定されているとき、または出力データのビット数が16
    ビットのときであって乗算結果の所定の上位16ビット
    が7FFF(H)または8000(H)のとき第3セレ
    クタからの出力に変わって実質的に数値0の加算値を送
    出する手段を備えたことを特徴とするデータ乗算装置。
JP34560999A 1999-12-06 1999-12-06 データ乗算装置 Expired - Fee Related JP3499481B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34560999A JP3499481B2 (ja) 1999-12-06 1999-12-06 データ乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34560999A JP3499481B2 (ja) 1999-12-06 1999-12-06 データ乗算装置

Publications (2)

Publication Number Publication Date
JP2001166919A JP2001166919A (ja) 2001-06-22
JP3499481B2 true JP3499481B2 (ja) 2004-02-23

Family

ID=18377762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34560999A Expired - Fee Related JP3499481B2 (ja) 1999-12-06 1999-12-06 データ乗算装置

Country Status (1)

Country Link
JP (1) JP3499481B2 (ja)

Also Published As

Publication number Publication date
JP2001166919A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
EP1094401A1 (en) Data calculating device
JP3499481B2 (ja) データ乗算装置
JPH0145078B2 (ja)
JPH0114610B2 (ja)
JPH0566921A (ja) データシフト回路
US7558811B2 (en) Electronic control apparatus and memory apparatus for electronic control apparatus
JPH0746959Y2 (ja) 音源装置
JP2803506B2 (ja) 除算器
JP2822577B2 (ja) 平方根演算装置
JPH09152870A (ja) 電子楽器のデジタルフィルタ装置
JPH043556B2 (ja)
CN116865763A (zh) 高线性度边沿斜波的产生装置及方法
JPH0782047B2 (ja) 複素電気信号の位相角決定方法及び回路
US5412155A (en) Envelope generator for electronic musical instrument
JP2820701B2 (ja) 2進数への変換方法
JP2713283B2 (ja) データ処理装置
JP3078696B2 (ja) 逆数演算装置
JP2600266B2 (ja) アドレス生成装置
JPH07212246A (ja) 高速crcチェック方式
JP2008070408A (ja) タッチレスポンス検出装置および電子楽器
JP2606580B2 (ja) 数値データ演算方法
JP2578827B2 (ja) 正規化乗算器
JPS6126135A (ja) 浮動小数点デ−タ変換回路
JP2000081968A (ja) 逆数演算装置
JP3551992B2 (ja) 電子楽器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees