JP3218486B2 - 正弦波発生装置 - Google Patents

正弦波発生装置

Info

Publication number
JP3218486B2
JP3218486B2 JP00887793A JP887793A JP3218486B2 JP 3218486 B2 JP3218486 B2 JP 3218486B2 JP 00887793 A JP00887793 A JP 00887793A JP 887793 A JP887793 A JP 887793A JP 3218486 B2 JP3218486 B2 JP 3218486B2
Authority
JP
Japan
Prior art keywords
value
sin
cos
sine
exp
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
JP00887793A
Other languages
English (en)
Other versions
JPH06224639A (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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP00887793A priority Critical patent/JP3218486B2/ja
Publication of JPH06224639A publication Critical patent/JPH06224639A/ja
Application granted granted Critical
Publication of JP3218486B2 publication Critical patent/JP3218486B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、直交位相振幅変調、復
調、PLL(位相保持回路)等に使用される正弦波発生
装置の改良に関する。
【0002】
【従来の技術】コンピュータを使用した従来のテーブル
参照式の正弦波発生装置は、角度π/256rad毎の
256個のsinの値をROM内のテーブルに記憶させ
ておき、これを参照することによって正弦波を発生する
ようになっている。しかし、大きなROM容量を必要と
する他、π/256rad毎の値しか記憶されていない
ので誤差が大きい等の問題があった。一方、回転演算に
よる正弦波発生装置では、 exp(jθ0 )=cosθ0 +jsinθ0 に、 exp(jθ)=cosθ+jsinθを次々に乗じる
ことによって(なお、以下θ0 =0として説明す
る)、 exp(j0)×exp(jθ)=cosθ+jsinθ exp(jθ)×exp(jθ)=cos2θ+jsin2θ exp(j2θ)×exp(jθ)=cos3θ+jsin3θ − − − − − − − − − − − − − − − − − − − − − − − − − − exp{j(n−1)θ}×exp(jθ)=cosnθ+ jsinnθ(n=1,2,3・・・) のように、回転角度θ毎のcosとsinの値を求める
ことが出来るので、大きなROM容量を必要とせず、ま
た、θを選ぶことによってより細かい角度毎のcosと
sinの値を求めることが出来るが、実際の演算に当た
っては、プログラムによって、図2に示すようなアルゴ
リズムを実行して、 cosnθ =cos(n−1)θ×cosθ−sin(n−1)θ×sinθ sinnθ =cos(n−1)θ×sinθ+sin(n−1)θ×cosθ 〔∵cosnθ+jsinnθ =exp{j(n−1)θ}×exp(jθ) ={cos(n−1)θ+jsin(n−1)θ} ×(cosθ+jsinθ) =cos(n−1)θ×cosθ−sin(n−1)θ×sinθ +j{cos(n−1)θ×sinθ +sin(n−1)θ×cosθ}〕 を演算していた。
【0003】ここで、図2のアルゴリズムについて説明
する。まず、レジスタ10、11に各々cos0=1、
sin0=0を入力する。
【0004】次のステップでは、cos0=1とsin
0=0は、各々cとsとして出力される。また、同時に
cos0=1は乗算演算子13でレジスタ12からのK
c=cosθと乗算されcosθとなると共に、乗算演
算子17でレジスタ15からのKs=sinθと乗算さ
れsinθとなる。一方、sin0=0も乗算演算子1
4でレジスタ12からのKc=cosθと乗算され0と
なると共に、乗算演算子16でレジスタ15からのKs
=sinθと乗算され0となる。次のステップでは、加
減算演算子18で、乗算演算子13からのcosθが乗
算演算子16からの0で減算されてcosθとなり、一
方、加算演算子19で、乗算演算子17からのsinθ
と乗算演算子14からの0が加算されてsinθとな
る。次のステップでは、加減算演算子18からのcos
θがレジスタ10に入力される一方、加算演算子19か
らのsinθがレジスタ11に入力される。そうして、
上記を繰返し、n−1回繰り返した後は以下のようにな
る。
【0005】まず、cos(n−1)θとsin(n−
1)θは、各々cとsとして出力される。また、同時に
cos(n−1)θは乗算演算子13でレジスタ12か
らのKc=cosθと乗算されcos(n−1)θ×c
osθとなると共に、乗算演算子17でレジスタ15か
らのKs=sinθと乗算され cos(n−1)θ×
sinθとなる。一方、sin(n−1)θも乗算演算
子14でレジスタ12からのKc=cosθと乗算され
sin(n−1)θ×cosθとなると共に、乗算演算
子16でレジスタ15からのKs=sinθと乗算され
sin(n−1)θ×sinθとなる。次のステップ
では、加減算演算子18で、乗算演算子13からの cos(n−1)θ×cosθが乗算演算子16からの
sin(n−1)θ×sinθで減算されて cos(n−1)θ×cosθ−sin(n−1)θ×
sinθ となり、一方、加算演算子19で、乗算演算子17から
の cos(n−1)θ×sinθと、乗算演算子14から
のsin(n−1)θ×cosθが加算されて cos(n−1)θ×sinθ+sin(n−1)θ×
cosθ となる。その次のステップでは、加減算演算子18から
のcos(n−1)θ×cosθ−sin(n−1)θ
×sinθがレジスタ10に入力されて、 cosnθ=cos(n−1)θ×cosθ−sin
(n−1)θ×sinθとなる一方、加算演算子19か
らのcos(n−1)θ×sinθ+sin(n−1)
θ×cosθがレジスタ11に入力されて、sinnθ
=cos(n−1)θ×sinθ+sin(n−1)θ
×cosθとなる。ところが、上記のように cosnθ=cos(n−1)θ×cosθ−sin
(n−1)θ×sinθsinnθ=cos(n−1)
θ×sinθ+sin−1)θ×cosθ(n=1,
2,3,・・・・)を繰返し演算すると、1回の乗算e
xp{j(n−1)θ}×exp(jθ)当たりεの誤
差(例えば、演算に使用するレジスタが16ビットであ
れば、10進数にすると高々5桁の演算である。)が生
じるとすると、n回の乗算を実行した後では>nεの誤
差が生じることになり、1回の乗算当たりの誤差εが微
小で無視出来ても、乗算を繰り返す内に無視出来なくな
る問題があった。
【0006】
【発明が解決しようとする課題】本発明は上記事情に鑑
みてなされたものであり、乗算exp〔j{θ0 +
(n−1)θ}〕×exp(jθ)(n=1,2,3・
・・)を繰り返しても、誤差が大きくならない、回転演
算による正弦波発生装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成する為に
提案される、請求項1に記載の本発明による正弦波発生
装置は、コンピュータを使用して、exp〔j{θ0
+(n−1)θ}〕×exp(jθ)(ここに、n=
1,2,3・・・)を演算して、正弦値:s=sin
(θ0+nθ)、余弦値:c=cos(θ0+nθ)を
順次デジタル値として算出して、正弦波及び余弦波を得
る回転演算による正弦波発生装置において、上記正弦
値:s=sin(θ0+nθ),上記余弦値:c=co
s(θ0+nθ)とを所定桁のデジタル値として算出す
る毎に、算出した正弦値と余弦値の2乗和と、1との大
小を比較判別し、算出された正弦値と余弦値の2乗和が
1より大きいときには、|s|、|c|のいずれか大きい
方の値の最小桁から1を減じる補正を行う一方、算出さ
れた正弦値と余弦値の2乗和が1より小さいときには、
|s|、|c|のいずれか大きい方の値の最小桁に1を加
算する補正を行う、補正処理手段を設けたことを特徴と
する。また、請求項2に記載の本発明の正弦波発生装置
では、算出した正弦値と余弦値の2乗和と、1との大小
を比較判別する際に、所定の許容誤差が加味されて、補
正がなされるようにしている。
【作用】本発明の正弦波発生装置では、exp〔j{θ
0 +(n−1)θ}〕×exp(jθ)(ここに、n
=1,2,3・・・)を演算して、正弦値:s=sin
(θ0+nθ)、余弦値:c=cos(θ0+nθ)を
順次デジタル値として算出して、正弦波及び余弦波を得
る回転演算による正弦波発生装置において、sin(θ
0 +nθ)=s、cos(θ0 +nθ)=cの値をデ
ジタル値として算出する毎に、算出した正弦値と余弦値
の2乗和と、1との大小を比較判別し、その2乗和が1
より大きいときには、|s|、|c|のいずれか大きい方
の値の最小桁の値に1を減じるように、s、cをデジタ
ル値に補正する一方、その2乗和が1より小さいときに
は、|s|、|c|のいずれか大きい方の値の最小桁の値
に1を加算した値になるように、s、cを補正するの
で、乗算exp〔j{θ0 +(n−1)θ}〕×ex
p(jθ)(n=1,2,3・・・)を繰り返しても、
誤差が大きくならず、正確な正弦波と余弦波を得ること
が出来る。
【0008】
【実施例】以下に、添付図を参照して本発明の実施例に
ついて説明する。
【0009】図1は、本発明による正弦波発生装置のア
ルゴリズムの例を示した図である。図において図2と異
なるのは、乗算exp〔j{θ0 +(n−1)θ}〕
×exp(jθ)(n=1,2,3・・・)が1回終了
して、sinとcosの値を得る毎に、補正手段1によ
ってsinとcosの値を補正する点である。その他の
乗算exp〔j{θ0 +(n−1)θ}〕×exp
(jθ)の各ステップは、上記の従来例と同様なので、
説明を省略する。なお、以下、従来例と同様θ0=0と
する。補正手段1では、プログラム処理を実行してお
り、sin(θ0 +nθ)=s、cos(θ0 +n
θ)=cの値を算出する毎に、算出した正弦値と余弦値
の2乗和と、1との大小が比較判別される。すなわち、
実際の演算では、 s2+c2>1+p、s2+c2<1−pが判別され、(こ
こに、pは許容誤差)比較判別結果がs2+c2>1+p
のときには、|s|、|c|のいずれか大きい方の値に対
応させたデジタル値の最小桁の値に1を減じるようにし
て、s、cを補正する。しかし、比較判別結果がs2
2<1−pのときには、|s|、|c|のいずれか大き
い方の値に対応させたデジタル値の最小桁の値に1を加
算するようにして、s、cをデジタル値に補正する。以
上を更に具体的に説明すると、乗算exp{j(n−
1)θ}×exp(jθ)(n=1,2,3・・・)が
1回終了して、 c=cosnθ =cos(n−1)θ×cosθ−sin(n−1)θ ×sinθ s=sinnθ =cos(n−1)θ×sinθ+sin(n−1)θ ×cosθ (n=1,2,3,・・・・) が算出されると、補正手段1では、s2+c2との大小が
比較判別され、その結果、s2+c2>1+p(但し、p
=許容誤差)のときには、|s|、|c|のいずれか大き
い方の値に対応させたデジタル値の最小桁の値に1を減
じるようにして、s、cを補正する。一方、s2+c2
1−p(但し、p=許容誤差)のときには、|s|、|c
|のいずれか大きい方の値に対応させたデジタル値の最
小桁の値に1を加算するようにして、s、cを補正す
る。こうして、得たデジタル値をcosnθ、sinn
θの値として出力すると共に、この値に基づいて、更に
乗算exp(jnθ)×exp(jθ)(n=1,2,
3・・・)を実行し、 c=cos(n+1)θ =cosnθ×cosθ−sinnθ×sinθ s=sin(n+1)θ =cosnθ×sinθ+sinnθ×cosθ (n=1,2,3,・・・・) を算出すると、これらを補正手段1において、上記と同
様な補正処理を実行して、c、sを補正し、以下、同様
な演算結果について、同様な比較判別と、補正処理が繰
り返し行われて、所望のθを満たす、c=cosnθ、
s=sinnθが補正される。
【0010】
【発明の効果】請求項1、2に記載された本発明の正弦
波発生装置では、回転演算による正弦波発生装置におい
て、乗算exp〔j{θ0 +(n−1)θ}〕×ex
p(jθ)(n=1,2,3・・・)を繰り返しても、
誤差が大きくならず、正確な正弦波と余弦波の両方を得
ることが出来る。
【0011】また、補正演算が極めて簡易であり、大き
なROM容量を必要としない。更に、正弦波発生途中で
あってもθを変えることにより、周波数を変化させるこ
とが可能である。更に、θを選ぶ(小さくする)ことに
よって、より精度の高い正弦波と余弦波を得ることが出
来る。
【図面の簡単な説明】
【図1】本発明による正弦波発生装置の一実施例のアル
ゴリズムの例を示す図である。
【図2】従来の回転演算による正弦波発生装置のアルゴ
リズムの一例を示す図である。
【符号の説明】
1・・・補正手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−112227(JP,A) 特開 昭64−78323(JP,A) 特開 昭59−168546(JP,A) 米国特許4888719(US,A) 米国特許4577287(US,A) 「CORDIC形ディジタル正弦波対 発振器に対する誤差フィードバックの適 応」,中静 真 他,電子情報通信学会 技術研究報告,vol.90,no.180 (DSP90 52−62),pp43−48, 1990 ”A Normalization Scheme to Reduce N umerical Errors in Inverse Tangent C omputations on a F ixed−point CORDIC Processor”,Kishore Kota et al.,IEEE International Symp osium Circuits Sys tems,1992,vol.1,pp244 −247 (58)調査した分野(Int.Cl.7,DB名) H03B 28/00 G06F 7/548

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータを使用して、exp〔j{θ
    0 +(n−1)θ}〕×exp(jθ)(ここに、n
    =1,2,3・・・)を演算して、 正弦値:s=sin(θ0+nθ)、余弦値:c=co
    s(θ0+nθ)を順次デジタル値として算出して、正
    弦波及び余弦波を得る回転演算による正弦波発生装置に
    おいて、 上記正弦値:s=sin(θ0+nθ),上記余弦値:
    c=cos(θ0+nθ)とを所定桁のデジタル値とし
    て算出する毎に、 上記算出された正弦値と余弦値の2乗和と、1との大小
    を比較判別し、 正弦値と余弦値の2乗和が1より大きいときには、 |s|、|c|のいずれか大きい方の値の最小桁から1を
    減じる補正を行う一方、正弦値と余弦値の2乗和が1よ
    り小さいときには、 |s|、|c|のいずれか大きい方の値の最小桁に1を加
    算する補正を行う、補正処理手段を設けたことを特徴と
    する正弦波発生装置。
  2. 【請求項2】請求項1において、 上記算出された正弦値と余弦値の2乗和と、1との大小
    の比較判別が、所定の許容誤差を加味して行われるよう
    にしている正弦波発生装置。
JP00887793A 1993-01-22 1993-01-22 正弦波発生装置 Expired - Fee Related JP3218486B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00887793A JP3218486B2 (ja) 1993-01-22 1993-01-22 正弦波発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00887793A JP3218486B2 (ja) 1993-01-22 1993-01-22 正弦波発生装置

Publications (2)

Publication Number Publication Date
JPH06224639A JPH06224639A (ja) 1994-08-12
JP3218486B2 true JP3218486B2 (ja) 2001-10-15

Family

ID=11704913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00887793A Expired - Fee Related JP3218486B2 (ja) 1993-01-22 1993-01-22 正弦波発生装置

Country Status (1)

Country Link
JP (1) JP3218486B2 (ja)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A Normalization Scheme to Reduce Numerical Errors in Inverse Tangent Computations on a Fixed−point CORDIC Processor",Kishore Kota et al.,IEEE International Symposium Circuits Systems,1992,vol.1,pp244−247
「CORDIC形ディジタル正弦波対発振器に対する誤差フィードバックの適応」,中静 真 他,電子情報通信学会技術研究報告,vol.90,no.180(DSP90 52−62),pp43−48,1990

Also Published As

Publication number Publication date
JPH06224639A (ja) 1994-08-12

Similar Documents

Publication Publication Date Title
US9813224B2 (en) Digital processor having instruction set with complex angle function
EP0351242B1 (en) Floating point arithmetic units
US4285044A (en) Digital generator for producing a sinewave
US7539716B2 (en) Method and apparatus for improved direct digital frequency synthesizer
US4945505A (en) Cordic apparatus and method for approximating the magnitude and phase of a complex number
JP3638585B2 (ja) 変調システムにおいて信号振幅をクリッピングする方法
US20060059215A1 (en) Cordic unit
US5521559A (en) Signal oscillator, FM modulation circuit using the same, and FM modulation method
JP3218486B2 (ja) 正弦波発生装置
Nahm et al. VLSI design of a CORDIC-based derotator
CN111666064B (zh) 基于cordic的三角函数循环迭代求解方法和装置
Kong et al. A rounding method to reduce the required multiplier precision for Goldschmidt division
Bangqiang et al. Base-N logarithm implementation on FPGA for the data with random decimal point positions
Das et al. Implementation of four common functions on an LNS co-processor
US11182126B2 (en) Computationally efficient mixed precision floating point waveform generation
Palomaki et al. Methods to improve the performance of quadrature phase-to-amplitude conversion based on Taylor series approximation
EP0795161B1 (en) Signal processor with reduced complexity, and receiver comprising such a signal processor
Mandal et al. FPGA implementation of pipelined CORDIC for digital demodulation in FMCW radar
US6011448A (en) Method and apparatus for frequency modulation synthesis
Mandal et al. Design and implementation of digital demodulator for frequency modulated cw radar
US7707235B2 (en) Free-running numerically-controlled oscillator using complex multiplication with compensation for amplitude variation due to cumulative round-off errors
JPH05180932A (ja) モノパルスレーダ装置
KR20000031136A (ko) 직접 디지털 주파수 합성기
Curticapean et al. An improved digital quadrature frequency down-converter architecture
Mandal et al. Implementation of coordinate rotation algorithm for Digital Phase Locked Loop system in in-phase and quadrature channel signal processing

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010703

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees