JP2907045B2 - 正弦波発生回路 - Google Patents
正弦波発生回路Info
- Publication number
- JP2907045B2 JP2907045B2 JP7016453A JP1645395A JP2907045B2 JP 2907045 B2 JP2907045 B2 JP 2907045B2 JP 7016453 A JP7016453 A JP 7016453A JP 1645395 A JP1645395 A JP 1645395A JP 2907045 B2 JP2907045 B2 JP 2907045B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- sine wave
- sin
- read
- phase
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/035—Reduction of table size
- G06F1/0353—Reduction of table size by using symmetrical properties of the function, e.g. using most significant bits for quadrant control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2101/00—Indexing scheme relating to the type of digital function generated
- G06F2101/04—Trigonometric functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Description
したメモリを用い、位相データを入力して正弦波データ
を発生させる正弦波発生回路に関する。
Mを用いて、位相データを入力して正弦波(あるいは余
弦波)を発生させる正弦波発生回路が知られている。こ
の種の正弦波発生回路では通常、ROMの記憶容量を節
約するため、0〜2πの全位相範囲にわたる正弦波デー
タを記憶することなく、例えば0〜π/2の位相範囲の
正弦波データのみ記憶することが行われる。
3π/2、3π/2〜2πの4つの位相領域に分けて考
えると、これらの位相領域の正弦波は同じ曲率を持った
曲線で表される。従って、0〜π/2の正弦波データの
みROMに記憶しておけば、それ以外の位相領域の正弦
波データは、読み出すアドレス及び読み出された正弦波
データの正負を変えることにより求められる。
て重み付けがなされた2の補数データとして表される。
入力位相データのうち下位所定ビットがアドレスデータ
して用いられる。残りの上位ビットは、正弦波/余弦波
指定データと共に、位相領域に応じてアドレスデータに
よるデータ読出し順序の正逆を指定するために、またR
OMからの読出しデータの位相を調整するために用いら
れる。
正弦波データを、sin(nπ/256)(但し、n:
0〜127の整数)とすると、読み出される正弦波デー
タが正しい正弦波波形にならない。これは、一回転分の
位相(2n)が均等に等分されない結果である。即ち正
弦波波形が、 (0〜π/2) f(n)=ROM[n]=sin( nπ/256) ( π/2〜π) f(n′)=ROM[127- n′] =sin{(127-n′) π/256} ( π〜 3π/2) f(n′′)=-ROM[n′′] =-sin(n′′π/256) (3π/2〜 2π) f(n′′′)=-ROM[127-n′′′] =-sin {(127- n′′′) π/256} となり、(π/2〜π)のときのn=127と、(π〜
3π/2)のときのn=0で同じ位相を表してしまう。
(0〜π/2)のときのn=0と、(3π/2〜2π)
のときのn=127も同じである。そこで正しい正弦波
波形を出力するためには、サンプリング位相にオフセッ
トを与えて、ROMに書き込む0〜π/2の正弦波デー
タを、sin{(n+0.5)π/256}とすること
が行われる。
正弦波波形出力を得るためにROMに書き込む正弦波デ
ータにオフセットを与えると、このオフセット分は当然
に出力データの誤差となる。ROMの出力データと真の
正弦波との誤差は、上の例においては理論上、正側の最
大誤差がsin(0.5π/256)、負側の最大誤差
が−sin(0.5π/256)であり非常に小さい。
位相誤差dも、−0.5π/256≦d≦0.5π/2
56であって、その絶対値は1に比べて小さい。しかし
実際には、上の例で言えば、(0〜π/2)を128に
分割しているので、アドレス分解能によって誤差が決定
されるよりことになり、(0〜π/2)の位相範囲での
入力位相データの間隔を大きくする程、誤差が大きくな
る。また、n=0のときに、本来ROM出力が0になる
べきところ、sin(0.5π/256)が出力されて
しまう。
ので、アドレスの分解能不足に拘らず、高いデータ精度
をもって正しい正弦波波形データを出力する事を可能と
した正弦波発生回路を提供することを目的としている。
生回路は、所定位相範囲の正弦波データを記憶すると共
に、入力位相データAをアドレスデータBとしてアクセ
スした際に、sin(B+π/N)が読み出されるよう
に前記正弦波データに波形調整のためのオフセットπ/
Nを付与してなるメモリと、前記アドレスデータBを用
いて前記メモリから読み出されたデータに基づいて前記
オフセットによって生じる誤差を補正する補正演算手段
とを有することを特徴としている。
演算手段は好ましくは、前記入力位相データをA、その
うち前記アドレスデータに相当する部分をB、切り捨て
られるデータをC(=A−B)、アドレスオフセットを
π/Nとしたとき、前記アドレスデータAにより前記メ
モリから読み出されるsin(B+π/N)及びcos
(B+π/N)に基づいて、(a)sinAを読み出し
たいときは、sin(B+π/N)+(C−π/N)c
os(B+π/N)なる補正演算を行い、(b)cos
Aを読み出したいときは、cos(B+π/N)−(C
−π/N)sin(B+π/N)なる補正演算を行うも
のであることを特徴とする。
〜π/2の位相範囲の正弦波データを記憶したものであ
る場合に、前記入力位相データの上位ビットに基づい
て、前記アドレスデータによるデータ読出し順序の正逆
を指定する手段と、前記入力位相データの上位ビットに
基づいて、前記メモリからの読出しデータの位相を調整
する手段とを有するのとする。
ドレスデータとして用いられずに切り捨てられる部分の
データCを用いて、メモリの出力部で所定の補正演算を
行うことにより、アドレス分解能が制限され、また正し
い正弦波出力を得る為にオフセットを与えた結果生じる
誤差を補償することができる。即ちアドレスの分解能不
足に拘らず、高いデータ精度をもって正しい正弦波波形
データを出力することが可能となる。
説明する。図1は、この発明の一実施例に係る正弦波発
生回路の構成である。ROM1はこの実施例では、0〜
π/2の正弦波データを記憶したものとする。入力位相
データは、2の補数データであって、図2に示すように
各ビットに重み付けがなされた(M−1)から(LS
B)までの7ビットで表される。例えば、“11101
10”→1×π+1×π/2+1×π/4+0×π/8
+1×π/16+1×π/32+0×π/64=118
π/64である。
合、(M−3)から(LSB)までの下位5ビット分が
アドレスデータとして用いられる。アドレスデータと対
応する位相及び出力正弦波データの関係は、例えば次の
表1のようになる。
データは、ある位相の範囲においてデータを共有する。
例えば、位相「3π/64〜π/16」の範囲では、そ
のいずれの位相であっても、アドレスは03(5ビット
では「00011」)であり、出力データはsin(7
π/128)である。
ROM1から、0〜2πまでの正弦波及び余弦波を出力
するためには、位相領域に応じて、データ読出し順序や
出力の正負を指定することが必要になる。これを図3を
参照しながら説明する。図3に示すように、0〜2πの
位相を4分割する。これら4つの位相領域a,b,c,
dは、図3に判定条件を示したように、π及びπ/2の
“1”,“0”の組み合わせにより指定できる。
序を示している。例えば、sin波を出力する場合であ
って、π/2〜πの位相領域bの出力を得るには、0〜
π/2のデータの読出し順序を逆にする。π〜3π/2
の位相領域cの出力を得るには、0〜π/2のデータに
“−1”を乗算して正負を逆転させる。3π/2〜2π
の位相領域dの出力を得るには、読出し順序の逆転と正
負反転を共に行う。cos波を出力する場合には、上の
sin波出力データに対して、π/2位相が進むように
すればよい。
π/2の“1”,“0”の組み合わせが用いられるが、
これは図1に示すように、入力位相データのうち上位2
ビット(M−1),(M−2)の組み合わせということ
になる。また、sin波を出力するか、cos波を出力
するかを指定するデータSが位相データと別に入力され
る。S=“1”がsin波指定を意味し、S=“0”が
con波指定を意味する。
ータ(M−1),(M−2)とsin/cos指定デー
タSの論理をとるために、2系統のANDゲート列G
1,G2が設けられている。即ち、2ビットデータ(M
−1),(M−2)とsin/cos指定データSのラ
イン、及びその反転データのラインとANDゲート入力
ラインの交点のうち、丸印で示す交点の入力データのA
NDがとられるようになっている。ANDゲート列G1
の出力N1が、ROM1の読出しアドレス順序の指定デ
ータとなり、これが読出し順序指定回路2に入る。ま
た、ANDゲート列G2の出力N2が“−1”の乗算を
指定するデータとなり、これがROM1の出力に設けら
れた乗算回路3に入る。
出力を例にとって説明する。このとき、入力位相データ
のうち、(M−1),(M−2)が共に“0”であり、
指定データSが“1”である。このとき、図1の論理で
は、ANDゲート列G1,G2に出力“1”となるもの
はなく、出力N1,N2ともに“0”である。従ってア
ドレス読出し順序は正方向であり、ROM出力もそのま
ま、即ち“−1”の乗算なしに出力される。
は、 sin波指定で且つ、π=0,π/2=1の場合、 sin波指定で且つ、π=1,π/2=1の場合、 cos波指定で且つ、π=0,π/2=0の場合、 cos波指定で且つ、π=1,π/2=0の場合 である。これらの時、出力N1が“1”になり、順序指
定回路2によりアドレス読出し順序が逆になる。
は、 sin波指定で且つ、π=1の場合、 cos波指定で且つ、π=0,π/2=1の場合、 cos波指定で且つ、π=1,π/2=0の場合 である。これらの時、出力N2が“1”になり、乗算回
路3によりROM1の出力データに“−1”が乗算され
る。
調整のためにオフセットが与えられる。そしてその結果
として、出力データに誤差が含まれることになるから、
この実施例ではこの誤差を補償するために、図1に示す
ようにROM1の出力部に補正演算回路5が設けられ
る。この補正演算回路5では後述するように、ROM1
の二つの出力データを用いて所定の補正演算が行われる
ことになる。そのため補正演算回路5の前にデータラッ
チ回路4が設けられている。
のようになる。入力位相データをAとし、この位相デー
タAのうち、アドレスデータとして用いられる部分をB
とすると、ROM1からは、sinAを読み出したいと
ころ、実際には、sin(B+π/N)を読み出してい
ることになる。π/Nがオフセットデータである。
らオフセット分を除去し、更にAとBの差分C(=A−
B))を加えればよい。即ち B+π/N−π/N+C=A となる。これをsinAに代入すると、下記数1のよう
になる。
られる。
N)cos(B+π/N)
os(B+π/N)は、ROM1から読み出すことがで
きるデータである。これらのデータを用いて数2の演算
を行うのが、補正演算回路5である。即ち、sin(B
+π/N)及びcos(B+π/N)を順次ROM1か
ら読み出して、先に読み出した方をデータラッチ4に保
持し、この保持データと後に読み出したデータを用い
て、補正演算回路5により数2の演算を行う。これによ
って、記憶データにオフセットを与え、且つ入力位相デ
ータのうち一部しかアドレスデータとして用いないため
に生じる出力誤差が補正されることになる。
回路5で同様の原理に基づく演算を行えばよい。このと
き、数1に対応する式は、下記の数3となる。
/N)〜1、及びsin(C−π/N)〜C−π/Nな
る近似を数3に代入すると、下記数4が得られる。
N)sin(B+π/N)
正演算回路5において、ROM1から読み出されるデー
タcos(B+π/N)とsin(B+π/N)を用
い、数4の演算を行うことにより、同様の誤差補正が可
能になる。
アトラッキングに適用することができる。モデムのキャ
リアトラッキングでは、送信側と受信側のキャリア周波
数のズレを補正することが必要である。従来は、キャリ
アトラッキングの位相補正量がゼロになっても、正弦波
発生用ROMがオフセットを有するためにゼロになら
ず、誤差を発生するという問題があった。この発明を適
用すれば、キャリアトラッキングの位相補正量がゼロに
なったとき、補正後のROM出力データはゼロとなり、
高いデータ精度が得られる。
発生回路では、入力位相データのうちアドレスデータと
して用いられずに切り捨てられる部分のデータを用い
て、メモリの出力部で所定の補正演算を行うことによ
り、正しい正弦波出力を得る為にオフセットを与えた結
果生じる誤差を補償することができ、従ってアドレスの
分解能不足に拘らず、高いデータ精度をもって正しい正
弦波波形データを出力することが可能となる。
示す。
す。
る図である。
路、4…データラッチ回路、5…補正演算回路、(M−
1)〜(LSB)…入力位相データ、S…sin/co
s指定データ。
Claims (3)
- 【請求項1】 所定位相範囲の正弦波データを記憶する
と共に、入力位相データAをアドレスデータBとしてア
クセスした際に、sin(B+π/N)が読み出される
ように前記正弦波データに波形調整のためのオフセット
π/Nを付与してなるメモリと、前記アドレスデータBを用いて前記メモリから読み出さ
れたデータに基づいて前記オフセットによって生じる誤
差を補正する 補正演算手段とを有することを特徴とする
正弦波発生回路。 - 【請求項2】 前記補正演算手段は、前記入力位相デー
タAを前記アドレスデータBに変換することにより切り
捨てられるデータをC(=A−B)としたとき、前記ア
ドレスデータにより前記メモリから読み出されるsin
(B+π/N)及びcos(B+π/N)に基づいて、
(a)sinAを読み出したいときは、sin(B+π
/N)+(C−π/N)cos(B+π/N)なる補正
演算を行い、(b)cosAを読み出したいときは、c
os(B+π/N)−(C−π/N)sin(B+π/
N)なる補正演算を行うものであることを特徴とする請
求項1記載の正弦波発生回路。 - 【請求項3】 前記メモリが0〜π/2の位相範囲の正
弦波データを記憶したものであり、 前記入力位相データの上位ビットに基づいて、前記アド
レスデータによるデータ読出し順序の正逆を指定する手
段と、 前記入力位相データの上位ビットに基づいて、前記メモ
リからの読出しデータの位相を調整する手段とを有する
ことを特徴とする請求項1記載の正弦波発生回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7016453A JP2907045B2 (ja) | 1995-01-06 | 1995-01-06 | 正弦波発生回路 |
US08/582,671 US5631586A (en) | 1995-01-06 | 1996-01-04 | Sine-wave generator circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7016453A JP2907045B2 (ja) | 1995-01-06 | 1995-01-06 | 正弦波発生回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08191217A JPH08191217A (ja) | 1996-07-23 |
JP2907045B2 true JP2907045B2 (ja) | 1999-06-21 |
Family
ID=11916677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7016453A Expired - Fee Related JP2907045B2 (ja) | 1995-01-06 | 1995-01-06 | 正弦波発生回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5631586A (ja) |
JP (1) | JP2907045B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2741173B1 (fr) * | 1995-11-10 | 1997-12-05 | Sextant Avionique | Multiplieur rapide pour multiplier un signal numerique par un signal periodique |
KR100202956B1 (ko) * | 1996-12-26 | 1999-06-15 | 전주범 | 디지털 신호 처리 시스템에서의 삼각 합수 룩업 테이블 액세스 방법 및 장치 |
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 |
US6892213B2 (en) | 2000-09-28 | 2005-05-10 | Seagate Technology Llc | Digital sine/cosine wave generator |
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 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486846A (en) * | 1982-06-28 | 1984-12-04 | Motorola Inc. | Numerically controlled oscillator using quadrant replication and function decomposition |
JPS59162794A (ja) * | 1983-03-03 | 1984-09-13 | Fanuc Ltd | 同期モ−タの制御方式 |
US4752902A (en) * | 1985-07-08 | 1988-06-21 | Sciteq Electronics, Inc. | Digital frequency synthesizer |
US5039872A (en) * | 1989-09-28 | 1991-08-13 | The United States Of America As Represented By The Secretary Of Commerce | Digitally synthesized audio frequency voltage source |
JP2853230B2 (ja) * | 1990-01-31 | 1999-02-03 | 日本電気株式会社 | ディジタルフィルタ装置 |
US5126960A (en) * | 1990-06-21 | 1992-06-30 | Tektronix, Inc. | Generation of phase related waveforms |
US5113361A (en) * | 1990-08-02 | 1992-05-12 | Harris Corporation | Sin/cos generator implementation |
US5187677A (en) * | 1991-08-23 | 1993-02-16 | Hewlett-Packard Company | Waveform synthesizer through simulating multiplication |
US5469479A (en) * | 1992-02-27 | 1995-11-21 | Texas Instruments Incorporated | Digital chirp synthesizer |
US5406584A (en) * | 1992-09-01 | 1995-04-11 | X-Com, Inc. | Time shift keying digital communications system |
FR2696605B1 (fr) * | 1992-10-02 | 1994-12-30 | Suisse Electronique Microtech | Modulateur de signaux binaires par déplacement de fréquence. |
US5467294A (en) * | 1994-03-09 | 1995-11-14 | Hu; Vince | High speed, low power direct digital synthesizer |
-
1995
- 1995-01-06 JP JP7016453A patent/JP2907045B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-04 US US08/582,671 patent/US5631586A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5631586A (en) | 1997-05-20 |
JPH08191217A (ja) | 1996-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4905177A (en) | High resolution phase to sine amplitude conversion | |
US5954787A (en) | Method of generating sine/cosine function and apparatus using the same for use in digital signal processor | |
JP2853230B2 (ja) | ディジタルフィルタ装置 | |
US5737253A (en) | Method and apparatus for direct digital frequency synthesizer | |
US4718030A (en) | Interpolated value computing device for a waveform generated in an electronic device | |
JPH0229821A (ja) | Cordic複素数乗算器 | |
US7440987B1 (en) | 16 bit quadrature direct digital frequency synthesizer using interpolative angle rotation | |
JP2907045B2 (ja) | 正弦波発生回路 | |
US3735110A (en) | Digital sine/cosine generator | |
US6640237B1 (en) | Method and system for generating a trigonometric function | |
WO1992002872A1 (en) | Sin/cos generator implementation | |
US6263356B1 (en) | Fast fourier transform calculating apparatus and fast fourier transform calculating method | |
US4888719A (en) | Sampled-data sine wave and cosine wave generation by accumulation | |
US6320431B1 (en) | Apparatus and method of generating numerically controlled oscillator signals | |
US4855946A (en) | Reduced size phase-to-amplitude converter in a numerically controlled oscillator | |
US11689191B2 (en) | High frequency resolution digital sinusoid generator | |
JPH0136638B2 (ja) | ||
US6470367B1 (en) | Apparatus and method for implementing an inverse arctangent function using piecewise linear theorem to simplify | |
US5517156A (en) | Digital phase shifter | |
JP2998684B2 (ja) | 数値制御発振器 | |
Chen et al. | A Quarter-ROM DDS Using Phase Accumulator with Subtraction | |
JP2815342B2 (ja) | 直交関数発生回路 | |
JPS6347181B2 (ja) | ||
JP2940581B2 (ja) | Fm復調器 | |
JPS6123886B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |