JP2910937B2 - Sin/cos発生器 - Google Patents

Sin/cos発生器

Info

Publication number
JP2910937B2
JP2910937B2 JP3514485A JP51448591A JP2910937B2 JP 2910937 B2 JP2910937 B2 JP 2910937B2 JP 3514485 A JP3514485 A JP 3514485A JP 51448591 A JP51448591 A JP 51448591A JP 2910937 B2 JP2910937 B2 JP 2910937B2
Authority
JP
Japan
Prior art keywords
sin
sinx
cosx
complement
cos
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
JP3514485A
Other languages
English (en)
Other versions
JPH05509429A (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.)
Harris Corp
Original Assignee
Harris 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 Harris Corp filed Critical Harris Corp
Publication of JPH05509429A publication Critical patent/JPH05509429A/ja
Application granted granted Critical
Publication of JP2910937B2 publication Critical patent/JP2910937B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/04Trigonometric functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 技術分野 この発明は関数発生器に関し、より詳しくは、改良さ
れたsin/cos発生器に関する。
背景技術 sinおよびcos発生器のための集積回路において要求さ
れる記憶量を減少するために、表1に示すような小さな
角度の場合の近似を使用した符号の法則を使用すること
が提案されている。
表1 sin(X+Y)=sinXcosY+sinYcosX sinX+YcosX cos(X+Y)=cosXcosY−sinXsinY cosX−YsinX また、記憶された値の量は、1象限だけの値を記憶
し、表2に示すように、その値を補数を取ることによっ
て減少される。
この方法の実施方法は、マッコーリスタ等(McCallis
ter,et al.)の米国特許4,486,846号に記載されてい
る。4個のROM(リード・オンリー・メモリー)が備え
られ、粗sinROM(sinX)と粗cosROM(cosX)と微小sinR
OM(YsinX)と微小cosROM(YcosX)とを含んでいる。加
算器とマルチプレクサと制御ロジックが、これらの値を
結合して適宜な象限についてのsinとcosの値を生成する
ために使用される。負の値は適宜なバイアスが加えられ
て対応する反転によって生成される。この方法は、必要
とされるROMの記憶容量を実質的に減少したけれども、
誤差の減少に加えて、ROM容量のさらなる改良が必要と
される。
発明の開示 そこで、この発明の目的は、ROM容量と誤差を減少し
た改良されたsinおよびcos発生器を提供することであ
る。
これらおよび他の目的は、sinX,cosXおよびsinYにつ
いての値を蓄え、上記sinXおよびcosXをsinYと乗算して
部分積(−sinYsinX)と部分積sinYcosXを生成し、sin
(X+Y)を生成するために、sinXに部分積sinYcosXを
加え、また、cos(X+Y)を生成するために、cosXに
部分積sinYsinXを加えることによって、達成される。上
記sinXおよびcosXの値は符号の指定を行うことなく、1
つの象限についてだけ蓄えられ、象限の制御は、加算と
乗算を行う前に、sinXとcosXの固有の値を反転するため
に行なわれる。負の値は、1の補数を生成し、最下位の
ビットに1を加えることによって形成される。
乗算器は、複数の部分積を生成するために、sinYと共
に、上記sinXおよびcosXの最上位ビット部を使用する。
補数化されて、シフトされあるいはシフトされないsinX
あるいはcosXおよび0の値など、マルチプレクサである
乗算器のための制御値を生成するために、sinY値デコー
ダが設けられる。上記制御はビット対の再符号を使用す
る補数に加えて1のシフトを含んでいる。デコーダはロ
ジックに対する格納装置である。加算器は和と桁上げを
生成するウォーレス(Wallace)の木であり、最終段の
加算器はウォーレスの木の和と桁上げを加えるために設
けられている。また、1が丸めのために加算器の適宜な
ビット位置に加算される。
第1、第2マルチプレクサは夫々、sinおよびcos格納
装置に連結された入力端子を持っており、それらの出力
端子の各々は夫々乗算器と加算器に連結されている。上
記乗算器は、上記sinとcosを夫々生成するために第1と
第2の乗算器と各第1および第2の加算器を含んでい
る。上記第1マルチプレクサは上記第1加算器と第2乗
算器に連結された出力端子を有し、上記第2マルチプレ
クサは上記第2加算器と第1乗算器に連結された出力端
子を有する。sinYの再符号化された値のただ1つの値が
上記第1と第2の乗算器両方に与えられる。制御反転ゲ
ートが上記第1および第2のマルチプレクサの出力側に
設けられており、上記第2乗算器に与えられる上記第1
マルチプレクサの出力が、上記第1マルチプレクサが第
1加算器に与える値の反転であるように、上記第1マル
チプレクサの反転出力が上記第2乗算器の入力に入力さ
れている。
図面の簡単な説明 図1は本発明の原理を含んだsin/cos発生器のブロッ
ク図である。
図2は加算器アレイにおける種々の部分の配列を示し
た図である。
図3は図1のsin/cos発生器の変形例で、単一のsin/c
os格納器を用いたもののブロック図である。
発明を実施するための最適モード 図1は16ビット出力用のsin/cos発生器を示してい
る。入力は20ビット語で、そのうち2ビットは象限Q
を、10ビットは位相角Xを、そして8ビットはより小さ
い位相角Yを表す。上記象限Qはデコーダ22によって、
表3に示すように、補数制御信号C1とC2とマルチプレク
サ選択信号SELにデコードされる。
角Xのための10ビットは、sinROM24とcosROM26のアド
レスである。sinとcosに対する値は上記sinROM24とcosR
OM26に17ビット語として格納される。これに代えて、初
めの0〜16ビットをsin、そして終わりの17〜33ビット
をcosとする34ビットの長い語を有する1つのROMを用い
てもよい。こうすれば、1つのアドレスで両方の値が発
生する。これらは符号ビットを含まない。なぜならば、
全てのsinとcosは正の数として格納され、それらの数は
交互に制御信号C1,C2とデコーダ22によって制御される
からである。17ビットのsin値とcos値は、16ビットの精
度を有する出力を得るために使用される。上記sinX ROM
24の出力はマルチプレクサ(MUX)30の0−入力とマル
チプレクサ(MUX)32の1−入力に与えられる。cosX RO
M26の出力は、マルチプレクサ30の1−入力とマルチプ
レクサ32のO−入力に与えられる。デコーダ22からの選
択信号SELはマルチプレクサ30,32に接続されて、上記マ
ルチプレクサの出力が0−入力または1−入力となり、
したがって一方が出力としてsin値を有し、他方が出力
としてcos値を有する。
マルチプレクサ30,32の出力は、それぞれ、ゲート・
インバータ34と36を介してレジスタ38と40に接続されて
いる。上記インバータ34と36は、それぞれのマルチプレ
クサ40,32からの出力と補数演算制御信号C2,C1を受け取
る排他的ORゲートとして示されている。また、上記制御
信号C2は上記レジスタ38に、また制御信号C1はレジスタ
40に、符号ビットとして与えられる。
レジスタ38内の17ビットは、ウォーレスの木として示
される加算器46に直接与えられて、レジスタ38から最上
位ビットとして送られてくる符号ビットと組み合わせら
れる。以下に詳しく説明したように、上記符号ビット
は、最下位ビットにも加算される。もし、制御ビットC2
が1であれば、2の補数を形成するために、符号ビット
1が1の補数に加算される。また、丸めビットが上記加
算器46において適宜な位置に加算される。レジスタ38の
反転出力から出力されたレジスタ38内の値である最上位
9ビットと符号ビットを足したものがマルチプレクサ44
に与えられる。
同様に、制御信号C1はマルチプレクサ32の出力を、直
接あるいは1の補数として、排他的ORゲート36を介して
レジスタ40に送る。レジスタ40の17ビットの値は、ウォ
ーレスの木として示される加算器48に直接に与えられ、
C1からの符号ビットと組み合わせられる。C1は、また、
2の補数を形成するために、適当な補数の桁上りを提供
するために使用される。また、丸めビットが上記加算器
48の適当なビット位置に加算される。レジスタ40内の最
上位9ビットは符号ビットと組み合わされて、マルチプ
レクサ(MUX)42に送られる。
上記加算器46と48はウォーレスの木として説明してい
るが、他のいかなる加算器アレイを用いることができ
る。
角Yを表す8ビットは、sinYの再符号化された値を格
納するsinY ROM28におけるアドレスとして使用される。
アドレス指定された再符号化された値sinYは、これは13
ビットであるが、レジスタ50に格納される。レジスタ50
の出力はマルチプレクサ42,44に接続され、上記マルチ
プレクサのための制御信号として働き、上記再符号化さ
れたsinYにレジスタ38,40からのsinXならびにcosXを掛
けたものである複数の部分積を生成する。
ROM28は再符号化されたsinYの値を、実際のsinYの値
の代わりに格納している。Yの代わりにsinYを取ると、
1つの近似を無くす。cosYはいまも1とみなされてい
る。この結果、表1と表2は次の表1Aと表2Aに示すよう
に修正されることになる。
表1A Sin(X+Y)=SinXCosY+SinYCosX SinX+SinYCosX Cos(X+Y)=CosXCosY−SinXSinY CosX−SinYSinX 以下に詳しく述べるように、sinYは非常に小さいの
で、上記部分積の上位10ビットのみが上記加算器46と48
に与えられる。また、sinXまたはcosXの1の補数と再符
号化されたsinYとの部分積には、補数用桁上りは与えら
れる必要はない。というのは、補数用桁上りは範囲外に
あるからである。
加算器46,48の出力は桁上り信号Cと和信号Sで、そ
れらは最終段の加算器52,54にそれぞれ送られる。最終
段の加算器52の出力は16ビットのsin(X+Y)であ
り、最終段の加算器54の出力は16ビットのcos(X+
Y)である。
ウォーレスの木内での、上記部分積、符号ビット、補
数桁上り、および丸めビットの相対位置は図2に示され
ている。sinXあるいはcosXは18ビット語で、sinX/cosX
メモリからの17ビットと、20の位置にある符号ビットと
を含む。マルチプレクサ42,44からの出力、すなわちsin
YcosXあるいはsinYsinXも、符号ビットを含む18ビット
語となるであろう。角度Yの範囲は、角度Xの1つの最
小の8の分解能であるので、積sinYcosXあるいはsinYsi
nXは、sinXあるいはcosXの値の最小値に対して9ビット
変位させられる。
図1の補数演方法は、レジスタ38,40に続く排他的OR
ゲート34,36によって1の補数を形成し、次に、最下位
ビットつまりウォーレスの木46,48内の第2-17ビットに
それぞれ1を加える。上記ウォーレスの木46,48を用い
ることにより、sinYcosXとsinYsinXが適当な箇所に与え
られ、上記マルチプレクサ42,44とウォーレスの木46,48
は先導部のゼロを格納する必要がない。
丸め補正の1が第2-16ビットの値に加えられ、その結
果、符号ビットを含む16ビット値であるsinとcosが出力
される。
図1と表3を参照すると、第1の象限Q1では、信号SE
L,C1,C2はすべてゼロ(0)である。したがって、マル
チプレクサ30,32は、それぞれ、sinXとcosXを、反転す
ることなく、つまり、1の補数演算をすることなく、レ
ジスタ38,40に与える。レジスタ38はsinXの値をウォー
レスの木46に与えると共に、sinXの値の反転したものを
マルチプレクサ44に供給する。マルチプレクサ44では、
その反転したsinXは再符号化されたsinYの値を乗じられ
て、ウォーレスの木48で加算される部分積−sinYsinXを
生成する。上記レジスタ40は、cosXを直接ウォーレスの
木48に与えて、cosXが上記−sinYsinXと組み合わされる
ようにすると共に、cosXをマルチプレクサ42に与えて、
cosXにsinYが乗じられ、その部分積がウォーレスの木46
内でsinXに加算されるようにする。象限1に対しては、
ウォーレスの木46,48内の符号ビットはゼロで、補数演
算用の1は加えられない。加算器46と最終段の加算器52
の出力はsinX+sinYcosXであり、加算器48と最終段の加
算器54の出力はcosX−sinYsinXである。
第2の象限Q2においては、SEL=1、C1=1そしてC2
=0である。これによって、マルチプレクサ30,32は1
−入力を選択するので、マルチプレクサ30がcosXを出力
し、マルチプレクサ32がsinXを出力する。C1が1なの
で、マルチプレクサ32の出力sinXは排他的ORゲート36に
よって反転され、1の補数としてレジスタ40に格納され
る。C2がゼロなので、マルチプレクサ30の出力cosXは補
数演算されることなくレジスタ38に格納される。レジス
タ38はcosXを直接加算器46に送ると共に、cosXの反転値
をマルチプレクサ44に送る。レジスタ40は、sinXの1の
補数を、C1の値からの符号ビットと共に、直接に加算器
48とマルチプレクサ42に供給する。C1はまた、加算器48
の最下位ビットに与えられて、2の補数を完全化する。
加算器46と加算器52の出力はcosX−sinYsinXであり、加
算器48と最終段加算器54の出力は−sinX−sinYcosXであ
る。
第3の象限Q3においては、SEL=0、C1=1そしてC2
=1である。マルチプレクサ30,32はsinXとcosXをそれ
ぞれ出力し、これらの両方の値は排他的ORゲート34,36
によって反転され、1の補数としてレジスタ38,40に格
納される。レジスタ38はsinXの1の補数の値をその符号
ビット1と共に加算器46に与えると共に、sinXの値を出
力する。このsinXの値はマルチプレクサ44への出力で補
数演算し直される。レジスタ40は、cosXの1の補数の値
をその符号ビット1と共に、加算器48とマルチプレクサ
42に出力する。加算器46,48に直接供給されたsinXとcos
Xは両方とも負であるから、1の補数の桁上りC1,C2は両
加算器アレイにおいて最下位ビットに与えられる。加算
器46と最終段加算器52の出力は、−sinX−sinYcosXであ
り、加算器48と最終段加算器54の出力は、−cosX+sinY
sinXである。
なお、排他的ORゲート34によるsinXの反転と、正のsi
nXとしてマルチプレクサ44に与えられるためにレジスタ
38の出力での再反転は、補数演算の複雑化を減少させ
る。なぜならば、全変換つまり2の補数への補数演算の
代わりに、1だけの補数演算が既に2回行なわれてしま
っているからである。したがって、桁上りの1を、レジ
スタ38,40の出力側よりも加算器46,48において補数に加
えると、スピードを向上させることができると共に、マ
トリックスの数字の数を減らすことができる。
第4の象限Q4では、SEL=1、C1=0そしてC2=1で
ある。したがって、マルチプレクサ手段30はcosXを出力
し、このcosXは排他的ORゲート34によって反転されてレ
ジスタ38に送られる。マルチプレクサ32はsinXをレジス
タ40に出力する。反転されたcosXはレジスタ38から加算
器46に供給される一方、再度反転されて、マルチプレク
サ44に送られる。レジスタ40のsinXは加算器48とマルチ
プレクサ42に出力される。C2はまた、加算器46内の最下
位ビットに与えられ、2の補数を完全にする。加算器46
と最終段加算器52の出力は、−cosX+sinYsinXであり、
加算器48と最終段加算器54の出力は、sinX+sinYcosXで
ある。
レジスタ50内の再符号化されたsinYは、制御信号を乗
算器として機能するマルチプレクサ42,44に供給する。
2進乗算において、上記再符号化されたsinYは乗数であ
って、適宜な信号をマルチプレクサに送って、複数の部
分積を生成する。最も簡単な形態では、再符号化された
sinYの各ビットは0または1のいずれかをマルチプレク
サに与え、マルチプレクサはウォーレスの木アレイ46,4
8で加えられる部分積を生成するであろう。この部分積
は、乗数のビット位置に依存したその適宜なビット位置
に置かれるであろう。
これに代えて、アレイ46,48の大きさは、たとえばブ
ース(Booth)演算あるいは修正ブース演算を含めた種
々の方法を用いて、縮減することができる。これは、部
分積の数を少なくとも半分は減らすことができる。使用
するアルゴリズムは、1989年11月13日に、「複数ビット
再符号化用乗数(PLURAL BIT RECODING MULTIPLIER)」
に対してタブリュー・アール・ヤング(W.R.Young)お
よびシー・タブリュー・マリノフスキ(C.W.Malinowsk
i)によって提出された米国出願第434,790号に開示され
たものが好ましい。その出願は参照用にここに組み込ま
れている。上記再符号化されたsinYは、複数ビットから
なる適当な制御信号内に記録された乗数sinYである。上
記ヤング/マリノフスキの出願の2ビット符号化アルゴ
リズムを用いれば、マルチプレクサ44のための制御信号
はゼロ、1、シフト1および−1であろう。制御信号の
−1は1の補数をマルチプレクサの出力に供給する。ウ
ォーレスの木における先行する1の補数には補数演算用
の桁上りは供給されない。なぜならは、それは全く範囲
外にあるからである。マルチプレクサ42,44は、sinXとc
osXと再符号化されたsinYの符号を用いて符号のエクス
テンションを生成するために適宜なロジックを含んでい
る。
sinYの範囲と値は知られているから、sinY ROM28は、
sinYを格納する代わりに、使用されるアルゴリズムに依
存するマルチプレクサ制御信号を格納するであろう。こ
れによって、sinYをマルチプレクサ制御信号に再符号化
するために必要とされるロジックの量が減少する。
なお、レジスタ38,40,50は、スループットを高く、た
とえば40MHzに保つための管路を供給するために使用さ
れる。余分の出力ビットを要求するであろう+1の出力
を無くすために、sinXとcosXの値は、ROMの生成時にお
いて、たとえば によってスケールすることができる。
必要なROMの量をさらに減らすために、sinXとcosXを
同じROMから得ることができる。これは2つのアクセス
(読み出し)を要求するであろう。sinの1つの象限を
格納し、sinXに対してはXでアドレス指定をし、cosXに
対してはXの補数でアドレス指定をすることができる。
レジスタ38,40に値を与える図1の回路の変形を図3に
示す。
値Xが制御可能な補数演算器60に入力される。この補
数演算器60の出力はROM24に接続されている。ROM24の出
力は、ゲート・インバータ36を介してレジスタ38,40に
接続されている。デコーダ22の選択出力SELは排他的NOR
ゲート62により上記補数演算器60に接続されている。上
記排他的NORゲート62のもう1つの入力はクロック信号C
LKであるCLKが1でSELが0である第1の半サイクルの
間、上記補数演算器60はディスエーブルとなるため、値
Xをそのまま出力してROM24のアドレスを指定する。そ
して、ROM24はsinXを出力する。CLKが0であり、SELも
0である第2の半サイクルの間、補数演算器60はROM24
のアドレスを指定する補数Xを出力する。そして、ROM2
4はcosXを出力する。SEL=1に対しては、補数演算器60
は、第1の半サイクルにおいて、Xの補数を出力してco
sXを指定し、第2の半サイクルにおいては、Xを出力し
てsinXを指定する。補数演算器60を簡単にするため、排
他的ORゲートを用いた1の補数演算器とすることができ
る。象限に対する最小角および最大角は、最下位ビット
の1/2だけオフセットされるであろう。
デコーダ22の補数制御出力C1,C2は、クロック信号CLK
62によって制御されるマルチプレクサ64を介してインバ
ータ36に接続されている。CLKが1である第1の半サイ
クルの間、マルチプレクサ30はC2をインバータ36に与え
るとともに、CLKが0である第2の半サイクルの間、上
記マルチプレクサ30はC1をインバータ36に与える。クロ
ック信号CLKはレジスタ40のクロック入力およびレジス
タ38の反転クロック入力に接続されている。したがっ
て、第1の半サイクルと第2の半サイクルとの間の1か
ら0へ移る時に、レジスタ38がインバータ36からロード
されるとと共に、第2の半サイクルと第1の半サイクル
との間の0から1へ移る時に、レジスタ40がインバータ
36からロードされる。
SEL信号がsinとcosのアドレス指定順序を制御する一
方、信号C1とC2がsinXとcosXの反転を制御する。選択信
号SELが0となる第1および第3象限では、第1の半サ
イクルの間、ROM24からの出力sinXがレジスタ38に与え
られる一方、第2の半サイクルの間、cosXがレジスタ40
に与えられる。選択信号SELが1となる第2および第4
象限に対しては、第1の半サイクルの間、ROM24の出力s
inXがレジスタ40に与えられる一方、第2の半サイクル
の間、cosXがレジスタ38に与えられる。図1の回路の残
りのものは、前述のように動作する。
図1は2つの乗算器を用いてsin(X+Y)とcos(X
+Y)を並行して生成するものを示したが、同じ原理を
使用して、sin(X+Y)とcos(X+Y)を直列に生成
することもできる。こうすれば、マルチプレクサ44、ウ
ォーレスの木48および最終段の加算器54を省略すること
ができる。マルチプレクサ30,32、排他的OR34,36への制
御信号は表2Aに示した結果を生じさせるように変えられ
る。
図示しないがさらに上述のものに代わるものとして、
上記レジスタ38,40は、マルチプレクサ30,32にそれぞれ
接続されるさらに2つの排他的NORゲート34′,36′に置
き換えてもよい。これらの排他的NORゲート34′,36′
は、時間を余分にかけることなく、排他的ORゲート34,3
6の出力の補数値を供給することができる。上記非他的O
Rゲート34,36と排他的NORゲート34′,36′の出力はそれ
ぞれウォーレスの木46,48に直接に接続されると共に、
マルチプレクサ44,42にそれぞれ接続される。
丸め切り捨てによる誤差を表4に示す。
シミュレーションによれば、sin(X+Y)とcos(X
+Y)におけるピーク誤差は−92.6dbに等しく、誤差ベ
クトルの大きさは、誤差ベクトルが であれば、最大値−90.2dbとなる。
以上、本発明を詳しく説明し、図示したが、それは単
に一例としてのものであって、限定するためのものでは
ないことは、はっきりと理解できよう。本発明の精神と
範囲は請求の範囲によってのみ限定されるべきである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ファース、デニス・ダブリュー アメリカ合衆国、32904、フロリダ、ウ エスト・メルボルン、マーニィ・サーク ル 564番 (56)参考文献 特開 昭56−40931(JP,A) 特開 昭58−3038(JP,A) 特開 平1−170105(JP,A) 実開 昭63−72646(JP,U) 米国特許4809205(US,A) (58)調査した分野(Int.Cl.6,DB名) G06F 7/548

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】等式sin(X+Y)=sinX+sinYcosX,cos
    (X+Y)=cosX−sinYsinXに従って略正弦波形の信号
    を発生する関数発生器であって、 sinXの値を格納する第1sin格納手段と、 cosXの値を格納するcos格納手段と、 sinYの値を格納する第2sin格納手段と、 上記第1および第2sin格納手段からのsinXおよびsinY、
    並びに、上記cos格納手段からのcosXを受けて、積(−s
    inYsinX)と積sinYcosXを生成する乗算手段と、 sinXに上記積sinYcosXを加えると共に、cosXに上記積
    (−sinYsinX)を加えて、sin(X+Y)とcos(X+
    Y)を生成する加算手段とを備え、 上記sinXおよびcosXは夫々Nビットを有し、上記乗算手
    段はsinXおよびcosXの最上位Mビットを使用し、MはN
    より小さいことを特徴とする関数発生器。
  2. 【請求項2】請求項1による関数発生器において、Mは
    Nよりかなり小さいことを特徴とする関数発生器。
  3. 【請求項3】請求項2による関数発生器において、 上記加算手段の出力は、(N+P)ビットを有し、上記
    加算手段は、誤差を四捨五入するために、上記sin(X
    +Y)またはcos(X+Y)に1を加える丸め手段を含
    み、 また,上記第1格納手段および第2sin格納手段およびco
    s格納手段は、符号ビットを含まない(N−1)ビット
    のsinXおよびcosXを記憶することを特徴とする関数発生
    器。
  4. 【請求項4】請求項1乃至3のいずれか1つによる関数
    発生器において、 上記乗算手段は、上記第1sin格納手段およびcos格納手
    段と上記加算手段との間に、上記sinXおよびcosXの補数
    を形成するための補数手段を含み、 上記第1sin格納手段およびcos格納手段はsinXおよびcos
    Xの1つの象限を夫々蓄えており、 さらに、象限信号を受けて、上記象限信号の1つの関数
    として上記乗算手段と補数手段とを制御するための象限
    手段を含むことを特徴とする関数発生器。
  5. 【請求項5】請求項4による関数発生器において、 上記第1sin格納手段およびcos格納手段は、符号ビット
    なしで、上記sinXおよびcosXを夫々格納し、かつ、上記
    象限手段は上記象限信号の1つの関数として上記加算手
    段の最上位ビットに符号ビットを与え、 上記補数手段は1の補数を形成し、上記加算手段は、si
    nXおよびcosXの1の補数の最下位ビットに符号ビットの
    1を加算する手段を含むことを特徴とする関数発生器。
  6. 【請求項6】請求項1乃至5のいずれか1つによる関数
    発生器において、 上記第1sin格納手段およびcos格納手段は、符号ビット
    なしで、sinXおよびcosXの1つの象限を夫々記憶し、 また、象限手段を含み、この象限手段は、象限信号を受
    け、上記乗算手段を上記象限信号の関数として制御し、
    上記象限信号の関数として上記加算手段の最上位ビット
    に符号ビットを与え、 上記乗算手段は、上記象限手段の制御の下にsinXおよび
    cosXの1の補数を形成するための補数手段を含み、上記
    符号ビットは、2の補数を形成するために、上記加算手
    段の最下位ビットにも加算されることを特徴とする関数
    発生器。
  7. 【請求項7】請求項1乃至6のいずれか1つによる関数
    発生器において、 上記乗算手段は、上記第1sin格納手段およびcos格納手
    段に連結された入力端子と上記加算手段に連結された出
    力端子を持つ第1マルチプレクサ手段と、上記第1sin格
    納手段およびcos格納手段に連結された入力端子と上記
    加算手段に連結された出力端子を持つ第2マルチプレク
    サ手段と、上記第1および第2マルチプレクサ手段を制
    御する制御手段とを含み、 また、上記関数発生器は、上記sinXおよびcosXの補数を
    形成するために、上記第1および第2マルチプレクサ手
    段と上記乗算および加算手段との間に補数手段を含み、 上記第1sin格納手段およびcos格納手段はそれぞれ上記s
    inXおよびcosXの1つの象限を記憶し、 上記制御手段は、象限信号を受けて上記第1および第2
    マルチプレクサ手段と上記補数手段とを上記象限信号の
    1つの関数として制御するための象限手段を含むことを
    特徴とする関数発生器。
  8. 【請求項8】請求項1乃至7のいずれか1つによる関数
    発生器において、 上記乗算手段は、sinYをMUX制御信号に再符号化する再
    符号化手段と、sinXとcosXを受けて上記MUX制御信号に
    応じて、sinXとcosXと零値のシフトされ、あるいは、シ
    フトされなかった値として、複数の部分積を生成するマ
    ルチプレクサ手段とを含み、 上記再符号化手段は、sinYをMUX制御信号である零、非
    シフト、シフト1信号およびビット対に対する補数に再
    符号化し、 上記再符号化手段は第2sin格納手段であり、Yによって
    アドレス指定されて再符号化されたsinYの関数として、
    上記MUX制御信号を格納し、 上記加算手段は和と桁上げを生成するウォーレスの木
    と、sin(X+Y)とcos(X+Y)を生成するために、
    上記和と桁上げを加算する最終段の加算器を含むことを
    特徴とする関数発生器。
  9. 【請求項9】請求項8による関数発生器において、 上記マルチプレクサ手段は第1および第2マルチプレク
    サ手段を含み、上記加算手段は、上記第1および第2マ
    ルチプレクサ手段から入力を夫々受けてsin(X+Y)
    およびcos(X+Y)をそれぞれ出力する第1及び第2
    加算手段を含み、 上記再符号化手段は上記第1および第2マルチプレクサ
    手段に共通MUX制御信号を与えることを特徴とする関数
    発生器。
  10. 【請求項10】請求項1乃至9による関数発生器におい
    て、 上記乗算手段は第1および第2乗算手段を含み、 上記加算手段は、上記第1および第2乗算手段から入力
    を夫々受けて、sin(X+Y)およびcos(X+Y)の出
    力を夫々与える第1および第2加算手段を含み、 また、上記乗算手段は、上記第1sinおよびcos格納手段
    に連結された入力端子と上記第2乗算手段の入力端子と
    上記第1加算手段の入力端子に連結された出力端子とを
    有する第1マルチプレクサ手段を含み、 また、上記乗算手段は、上記第1sinおよびcos格納手段
    に連結された入力端子と、上記第1乗算手段の入力端子
    および上記第2加算手段の入力端子に連結された出力端
    子とを有する上記第2マルチプレクサ手段を含み、 上記乗算手段は、上記第1および第2マルチプレクサ手
    段を制御する制御手段を含み、 上記乗算手段は、上記sinXおよびcosXの補数を形成する
    ために、上記第1および第2マルチプレクサ手段と上記
    第1、第2加算手段との間に、補数手段を含み、 上記第1sinおよびcos格納手段は上記sinXおよびcosXの
    1つの象限を夫々記憶し、 上記制御手段は、象限信号を受けて上記第1および第2
    マルチプレクサ手段と上記補数手段とを上記象限信号の
    関数として制御する象限手段を含むことを特徴とする関
    数発生器。
  11. 【請求項11】請求項10による関数発生器において、上
    記補数手段は、上記第1および第2マルチプレクサ手段
    の出力に連結され、上記制御手段によって制御される第
    1および第2補数手段と、常に補数演算を行うために、
    上記第1補数手段と、上記第2乗算手段または第1加算
    手段の一方との間に連結された第3補数手段とを含み、 上記第1、第2および第3補数手段は1の補数を形成
    し、そして、上記第1および第2加算手段は、補数化さ
    れたsinXまたはcosXの最下位ビットに1を加えるための
    手段を含むことを特徴とする関数発生器。
  12. 【請求項12】請求項1乃至11のいずれか1つによる関
    数において、 上記第2sin格納手段は、再符号化されたsinYをMUX制御
    信号として記憶し、 上記乗算手段は、sinXおよびcosXを受けて、上記MUX制
    御信号に応じて、sinXとcosXと零のシフトされ、あるい
    は、シフトされない値として複数の部分積を生成するマ
    ルチプレクサ手段を含み、 上記第2sin格納手段は、YとしてsinYの値を格納し、 上記第1sinおよびcos格納手段は、sinXの値の1つの象
    限を蓄えるための共通sin格納手段と、cosXのために、
    上記共通sin格納手段のsinXの値をアドレス指定するた
    めのXを補数化するための入力補数手段と、各Xについ
    て1つのワードとして、sinXおよびcosXの1つの象限を
    蓄えるための共通格納手段とを含むことを特徴とする関
    数発生器。
JP3514485A 1990-08-02 1991-07-30 Sin/cos発生器 Expired - Fee Related JP2910937B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US561,821 1990-08-02
US07/561,821 US5113361A (en) 1990-08-02 1990-08-02 Sin/cos generator implementation
PCT/US1991/005402 WO1992002872A1 (en) 1990-08-02 1991-07-30 Sin/cos generator implementation

Publications (2)

Publication Number Publication Date
JPH05509429A JPH05509429A (ja) 1993-12-22
JP2910937B2 true JP2910937B2 (ja) 1999-06-23

Family

ID=24243615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3514485A Expired - Fee Related JP2910937B2 (ja) 1990-08-02 1991-07-30 Sin/cos発生器

Country Status (6)

Country Link
US (1) US5113361A (ja)
EP (1) EP0541707B1 (ja)
JP (1) JP2910937B2 (ja)
DE (1) DE69103757T2 (ja)
IE (1) IE67648B1 (ja)
WO (1) WO1992002872A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276633A (en) * 1992-08-14 1994-01-04 Harris Corporation Sine/cosine generator and method
US5467294A (en) * 1994-03-09 1995-11-14 Hu; Vince High speed, low power direct digital synthesizer
US5615139A (en) * 1994-03-23 1997-03-25 Advanced Micro Devices, Inc. Apparatus and method for synthesizing a sinusoidal signal
DE69534097T2 (de) * 1994-12-21 2006-02-09 Koninklijke Philips Electronics N.V. Booth-Multiplizierer für trigonometrische Funktionen
JP2907045B2 (ja) * 1995-01-06 1999-06-21 ヤマハ株式会社 正弦波発生回路
DE19738357B4 (de) * 1997-09-02 2005-01-05 Rohde & Schwarz Gmbh & Co. Kg Verfahren zum Betrieb eines digitalen Sinus-Generators
US6661852B1 (en) 1999-07-21 2003-12-09 Raytheon Company Apparatus and method for quadrature tuner error correction
US6640237B1 (en) * 1999-07-27 2003-10-28 Raytheon Company Method and system for generating a trigonometric function
IL132161A (en) 1999-09-30 2002-09-12 Netmor Ltd Digital coherent envelope demodulation of fdma signals
US6320431B1 (en) * 1999-10-08 2001-11-20 National Semiconductor Corporation Apparatus and method of generating numerically controlled oscillator signals
US6373316B1 (en) * 2000-01-18 2002-04-16 International Business Machines Corporation Digital cosine and sine multiplication circuits
US6590948B1 (en) 2000-03-17 2003-07-08 Raytheon Company Parallel asynchronous sample rate reducer
US6647075B1 (en) 2000-03-17 2003-11-11 Raytheon Company Digital tuner with optimized clock frequency and integrated parallel CIC filter and local oscillator
US6931082B2 (en) 2001-04-10 2005-08-16 Netmor Ltd. Digital phase locked loop
GB0112639D0 (en) * 2001-05-23 2001-07-18 Lucas Industries Ltd Sinusoid synthesis
DE10129628A1 (de) * 2001-06-20 2003-01-02 Juergen Kaesser Verfahren und Schaltung zur Erzeugung von sinusartigen Signalen und Taktsignalen für Frequenzen eines Rasters und ihre Anwendung in Funkgeräten
US7580964B2 (en) * 2006-01-25 2009-08-25 Teledyne Technologies Incorporated Hardware-efficient phase-to-amplitude mapping design for direct digital frequency synthesizers
US8200728B2 (en) * 2008-05-29 2012-06-12 Harris Corporation Sine/cosine generator
US8195118B2 (en) * 2008-07-15 2012-06-05 Linear Signal, Inc. Apparatus, system, and method for integrated phase shifting and amplitude control of phased array signals
US8872719B2 (en) * 2009-11-09 2014-10-28 Linear Signal, Inc. Apparatus, system, and method for integrated modular phased array tile configuration
EP3101618A4 (en) * 2014-06-20 2017-05-10 Panasonic Healthcare Holdings Co., Ltd. Drug prescription assistance method, computer program for drug prescription assistance, and drug prescription assistance device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3813528A (en) * 1972-06-02 1974-05-28 Singer Co High-speed function generator
US4077063A (en) * 1976-08-11 1978-02-28 The Singer Company Apparatus for rapidly determining the trigonometric functions of an input angle
DE2701859B1 (de) * 1977-01-18 1978-06-15 Siemens Ag Verfahren und digitaler Generator zur direkten Synthese von Sinusschwingungen
US4159526A (en) * 1977-08-08 1979-06-26 Ncr Corporation Digitally controlled variable frequency oscillator
AU529276B2 (en) * 1978-11-23 1983-06-02 General Electric Company Limited, The A.c. generator
US4342245A (en) * 1979-10-26 1982-08-03 Norlin Industries, Inc. Complex waveform generator for musical instrument
US4486846A (en) * 1982-06-28 1984-12-04 Motorola Inc. Numerically controlled oscillator using quadrant replication and function decomposition
US4809205A (en) * 1986-11-19 1989-02-28 Rockwell International Corporation Digital sine conversion circuit for use in direct digital synthesizers
US4888719A (en) * 1988-07-21 1989-12-19 General Electric Company Sampled-data sine wave and cosine wave generation by accumulation

Also Published As

Publication number Publication date
EP0541707A1 (en) 1993-05-19
WO1992002872A1 (en) 1992-02-20
JPH05509429A (ja) 1993-12-22
DE69103757D1 (de) 1994-10-06
US5113361A (en) 1992-05-12
EP0541707B1 (en) 1994-08-31
IE912726A1 (en) 1992-02-12
IE67648B1 (en) 1996-04-17
DE69103757T2 (de) 1994-12-22

Similar Documents

Publication Publication Date Title
JP2910937B2 (ja) Sin/cos発生器
US4736333A (en) Electronic musical instrument
US5737253A (en) Method and apparatus for direct digital frequency synthesizer
US4823301A (en) Method and circuit for computing reciprocals
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPS60229140A (ja) 倍精度乗算器
US5224064A (en) Transcendental function approximation apparatus and method
JPH06348455A (ja) 乗算における丸め込み方法及び乗算回路
JPS63184832A (ja) 複素数の大きさを近似する装置及び方法
US6065031A (en) Log converter utilizing offset and method of use thereof
JP2009507413A (ja) 全加算器モジュールおよび該全加算器モジュールを用いる乗算器デバイス
JP2000347835A (ja) 自乗計算方法及び自乗計算装置
JPH07121507A (ja) 離散コサイン変換装置
JP3228753B2 (ja) 楽音を合成する際に異なる波形を生成するための方法および装置
US5847980A (en) Product-summing arithmetic circuit
EP1504335A2 (en) Fast multiplication circuits
US4584561A (en) Method of residue to analog conversion
JP2991788B2 (ja) 復号器
WO2004088586A1 (ja) ルックアップテーブル装置及び画像生成装置
JPH0645947A (ja) 直交変換装置及び逆直交変換装置
JP3197186B2 (ja) 半導体メモリを用いた乗算装置
JP2005227811A (ja) 近似回路
KR0182169B1 (ko) 로그값 계산회로
KR100228576B1 (ko) 어레이형 고속 좌표 회전 디지틀 컴퓨터 회로
JPS63623A (ja) 乗算器

Legal Events

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