JPH07182144A - 位相角発生方法および回路 - Google Patents

位相角発生方法および回路

Info

Publication number
JPH07182144A
JPH07182144A JP32698093A JP32698093A JPH07182144A JP H07182144 A JPH07182144 A JP H07182144A JP 32698093 A JP32698093 A JP 32698093A JP 32698093 A JP32698093 A JP 32698093A JP H07182144 A JPH07182144 A JP H07182144A
Authority
JP
Japan
Prior art keywords
carry
phase
correction
unit
circuit
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
JP32698093A
Other languages
English (en)
Inventor
Masanari Asano
眞成 浅野
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.)
Fujifilm Holdings Corp
Fujifilm Microdevices Co Ltd
Original Assignee
Fujifilm Microdevices Co Ltd
Fuji Photo Film Co 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 Fujifilm Microdevices Co Ltd, Fuji Photo Film Co Ltd filed Critical Fujifilm Microdevices Co Ltd
Priority to JP32698093A priority Critical patent/JPH07182144A/ja
Publication of JPH07182144A publication Critical patent/JPH07182144A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

(57)【要約】 【目的】 所望の位相角を表すディジタル信号を生成出
力する位相角発生方法に関し、少ないビット数のディジ
タル信号処理により、高精度の位相角を得ることができ
る位相角発生方法および回路を提供することを目的とす
る。 【構成】 所定精度の単位位相が累算される回数をカウ
ントする計数手段(6)と、計数手段がカウントした累
算回数に基づいて補正用キャリーを生成する補正用キャ
リー生成手段(5)と、補正用キャリー生成手段により
補正用キャリーが生成された時には補正用キャリーを入
力する単位位相に加算し、加算された補正単位位相を生
成し、補正用キャリーが生成されない時は入力する単位
位相をそのまま出力する加算手段(1)と、加算手段よ
り出力された位相を累算することにより所望の位相角を
生成出力する累算器(2,3)とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、信号処理に関し、特に
所望の位相角を表すディジタル信号を生成出力する位相
角発生方法および回路に関する。
【0002】
【従来の技術】sin関数、cos関数等の三角関数は
連続周期関数であり、位相角に応じてその値が変化す
る。一定の角速度で位相角が変化する時の三角関数の値
が要求される場合がある。この場合、所定のサンプリン
グ周波数fs による等間隔のサンプリングを行い、ディ
ジタル値の三角関数値系列を得る。三角関数値は例えば
メモリにルックアップテーブルとして記憶しておく。
【0003】図8は、sin関数に対して行うサンプリ
ングの例を示す。横軸は時間経過を示し、縦軸は関数値
f(t)を示す。サンプリング周波数fs [Hz]にて
サンプリングを行う場合には、1/fs [s]間隔にお
ける関数値f(t)を得る。関数発生周波数fscは、発
生させる三角関数f(t)の周波数を表し、三角関数f
(t)の1サイクルを発生させる時間が1/fsc[s]
である。
【0004】sin関数は数式1により表され、角周波
数ωは数式2により表され、さらにサンプリング時間t
n は数式3により表される。ただし、nは0以上の整数
である。
【0005】
【数1】 f(t)=sin(ωt) ‥‥‥(1)
【0006】
【数2】 ω=2πfsc ‥‥‥(2)
【0007】
【数3】 tn =n/fs ‥‥‥(3) つまり、数式1は、数式2及び数式3より次式のように
書き換えることができる。
【0008】
【数4】f(tn )=sin(2πnfsc/fs ) ここで、サンプリング周波数に対応する単位位相Δθを
数式5のように定義し、累算位相θn を数式6のように
定義する。
【0009】
【数5】 Δθ=fsc/fs ‥‥‥(5)
【0010】
【数6】 θn =n・Δθ ‥‥‥(6) 数式2及び数式3より、累算位相θn は次式のように表
すことができる。
【0011】
【数7】θn =ωtn /2π つまり、ωtn =2π[rad]の時は、累算位相θn
は1を示す。三角関数の1サイクルを示すωt=0〜2
π[rad]の範囲を指定するには、累算位相θ=0〜
1の範囲を指定することになる。
【0012】図9は、x−y平面における累算位相θn
と単位位相Δθの関係を示す。x−y平面において、点
(x,y)を示す単位円を考える。円周上を点(x,
y)が1周移動すると、累算位相θは0から1まで変化
する。
【0013】例えば、累算位相θ6 を指定する場合に
は、単位位相Δθをn=6倍すればよい。累算位相θを
指定するには、常に単位位相Δθの単位毎となるので、
単位位相Δθの精度(ビット数)が高いほど累算位相の
細かな指定が可能となる。
【0014】図10は、従来技術による累算位相θの演
算を行うブロック回路図である。単位位相Δθは、jビ
ットより構成されるディジタル信号である。単位位相Δ
θは累算用加算回路52に入力され、レジスタ等で構成
される遅延回路53から出力される信号(初期状態では
“0”)と加算される。
【0015】加算回路52から出力された加算信号は、
遅延回路53に入力される。遅延回路53では、z-1
乗じてz変換を行うことにより入力信号系列に対して時
間軸上で1クロックだけ遅延させた信号系列を得る。つ
まり、遅延回路53は、入力される入力信号系列を1ク
ロック分遅延させた信号系列として出力する。回路全体
は同一のクロック信号に応じて動作し、クロック信号に
より時間軸上での信号系列が流れている。
【0016】したがって、加算回路52から出力され、
1クロック遅延された信号系列がフィードバックされ、
加算回路52に入力される。加算回路52は、jビット
で構成される前回の位相信号と、jビットで構成される
単位位相Δθとの加算を行うことにより、時間経過に伴
い順次単位位相Δθ分増加する累算位相を発生させる。
【0017】遅延回路53から出力された累算信号は、
加算回路52へフィードバックされると同時に、丸め回
路54に入力される。丸め回路54は、jビットの累算
信号を受けて、四捨五入等により端数をなくし、必要と
する精度のiビット信号に変換出力する。これにより、
iビットの累算位相θが得られる。
【0018】そして、出力されたiビットの累算位相θ
から、ROM(read onlymemory)等の
記憶素子に記憶された三角関数テーブルを用いて、三角
関数値を得ることができる。
【0019】累算工程において位相をiビットで表現す
ると、単位位相Δθを表すfsc/f s のバイナリ値が、
少ないビット数で正確に表現できる場合は、位相誤差が
発生しない。しかし、一般には、サンプリング周波数f
s と関数発生周波数fscの関係より、必要な単位位相Δ
θが所定のビット数iでは表現できないことが多い。す
なわち、単位位相に誤差が伴う。
【0020】この場合、iビットの単位位相Δθが累算
されて行くにつれて位相誤差が蓄積され次第に大きくな
って行く。このため、累積誤差を低減するため、必要と
する累算位相θのビット数iに対して、単位位相Δθの
構成ビット数jは、相当大きな値を採用し、累算演算を
jビットで行う。ビット数jを大きくするほど、累算位
相θの位相誤差を小さくすることができる。
【0021】単位位相Δθのビット数jを大きくすれ
ば、累算位相θに含まれる位相誤差は小さくなるが、加
算回路52はjビットの加算回路を必要とし、遅延回路
53もjビットの遅延回路を必要とする。そのため、加
算回路52及び遅延回路53は、処理時間が遅くなり、
回路が高価なものとなってしまう。したがって、単位位
相Δθのビット数は小さい方が望ましい。
【0022】
【発明が解決しようとする課題】単位位相Δθのビット
数jを大きくして、単位位相Δθの累算演算を行うこと
により、高精度の累算位相θを求めることができる。し
かし、単位位相Δθのビット数jを大きくすると、累算
演算を行うための加算回路等は大きなビット数jのディ
ジタル信号処理を行わなければならない。これにより、
累算位相を求めるための回路が大型となり、処理時間を
高速にすることが困難となる。
【0023】本発明の目的は、少ないビット数のディジ
タル信号処理により、高精度の位相角を得ることができ
る位相角発生方法および回路を提供することである。
【0024】
【課題を解決するための手段】本発明の位相角発生方法
は、所定精度の単位位相を累算する工程と、累算回路に
基づいて補正用キャリーを発生し、累算結果に加算する
工程とを含む。
【0025】
【作用】精度の低い、例えば構成ビット数の少ない単位
位相を用いると、累算回数の増加と共に誤差が増大す
る。しかし、累算回数に基づいた補正用キャリーを加算
し、加算された補正単位位相について累算演算を行うこ
とにより、ビット数の少ないディジタル信号処理によ
り、累算回数の増加による誤差の増大を防止し、高精度
の演算を行うことができる。
【0026】
【実施例】カラーテレビ信号としてNTSC信号の例を
示す。色副搬送波周波数(関数発生周波数)fscは下記
の数式8の値をとる。そして、それに対するサンプリン
グ周波数fs として下記の数式9の値を用いた場合にお
いて、単位位相は数式5を用いて下記の数式10に示す
バイナリ表現で表すことができる。
【0027】
【数8】 fsc= 3.579545[MHz] ‥‥‥(8)
【0028】
【数9】 fs =12.272727[MHz] ‥‥‥(9)
【0029】
【数10】 fsc/fs =0.0100101010101010・・・ ‥‥‥(10) この場合、単位位相は数式10に示すように8ビット程
度の桁数では正確に表現しきれない。ここで、累算位相
のビット数i=8とし、単位位相のビット数j=17と
する。j=17で表現する単位位相Δθは次式のように
なる。
【0030】
【数11】 Δθ =[fsc/fs 17 =0.0100101010101010 上式の単位位相Δθから、上位(i+1)ビットを抽出
すると、(i+1)ビットの単位位相Δθ’は次式のよ
うに求められる。
【0031】
【数12】 Δθ’=[fsc/fs 9 =0.01001010 この時の単位位相Δθ’は、単位位相Δθに比べて次式
の単位誤差Δεを有する。
【0032】
【数13】 Δε =Δθ−Δθ’ =0.0000000010101010 以上のように単位位相Δθ,Δθ’及び単位誤差Δεが
実数の形式で得られるが、ビット数i及びビット数jを
決定すれば、ディジタル信号処理上では整数形式として
扱うこともできる。
【0033】そこで、単位位相Δθ’を次式のような整
数形式の単位位相δθ’に変換して、加算回路1に入力
する場合について説明する。
【0034】
【数14】 δθ’=Δθ’×28 =1001010 ‥‥‥(14) 単位位相Δθ’を整数形式に変換すると、その時の単位
誤差δεは次式で表される。
【0035】
【数15】 δε=Δε×28 =0.10101010 ‥‥‥(15) 構成ビット数の少ない単位位相δθ’の累算を行うこと
により得られる累算位相は、求めるべき累算位相θよ
り、単位誤差δεが累算された累算誤差ε分小さな値と
なる。
【0036】例えば、単位誤差δε=0.1の場合、2
回の累算により累算誤差ε=1となり、整数部の有効桁
数に影響を与える誤差を生じる。また、単位誤差δε=
0.001の場合、8回の累算により累算誤差ε=1と
なり、整数部の有効桁数に影響を与える誤差を生じる。
つまり、単位誤差δε=2-nであるときには、n回の累
算により累算誤差ε=1となる。これらの誤差を補正す
ることができれば少ないビット数の演算で高精度の累算
結果が得られる。
【0037】図3は、数式11に示す単位位相Δθの場
合の補正方法を示す。図3(A)は、単位位相δθ’と
単位誤差δεを示す。構成ビット数17(=j)ビット
の単位位相Δθを28 倍し、その内、上位9(=i+
1)ビットが数式14に示す単位位相δθ’であり、下
位8(=j−i−1)ビットが数式15に示す単位誤差
δεである。
【0038】図3(B)は、単位位相δθ’を補正する
ための補正用キャリーを示す表である。数式15に示さ
れる単位誤差δεは、次式のように書き換えることがで
きる。
【0039】
【数16】δε=2-1+2-3+2-5+2-7 この時、補正用キャリーCAは以下のように生成され
る。ただし、単位位相δθが累算される回数をnとし、
kは0以上の整数とする。
【0040】累算回数n=21 (=2)×kのときに補
正用キャリーCA=1を加算し、累算回数n=23 (=
8)×kのときには更に補正用キャリーCA=1を加算
し、累算回数n=25 (=32)×kのときには更に補
正用キャリーCA=1を加算し、累算回数n=27 (=
128)×kのときには更に補正用キャリーCA=1を
加算する。
【0041】以上を10進数で表すと、累算回数n=1
28×kのときは補正用キャリーCA=4となり、それ
以外で、累算回数n=32×kのときには補正用キャリ
ーCA=3となり、それ以外で、累算回数n=8×kの
ときには補正用キャリーCA=2となり、それ以外で、
累算回数n=2×kのときには補正用キャリーCA=1
となる。
【0042】補正用キャリーCAの最高値は、累算回数
n=128×kにおけるCA=4である。これは、単位
誤差δεを表すビット中において、1が立っているビッ
ト数に対応する。したがって、補正用キャリーCAを表
現するために、最低3ビットの補正用キャリーを用意す
れば足りる。このような補正により演算の主要部を9ビ
ットで行いつつ、17ビット演算に匹敵する精度を得る
ことができる。
【0043】図1は、本発明の実施例による累算位相演
算回路を示すブロック回路図である。単位位相δθ’
は、(i+1)ビットより構成されるディジタル信号で
あり、累算位相演算回路の出力となる累算位相θのビッ
ト数はiビットである。
【0044】関数発生周波数fscとサンプリング周波数
s が設定されると、数式5により単位位相Δθが求め
られる。単位位相Δθは、ビット数jにより表現される
位相信号である。ビット数jはビット数iよりも相当大
きな値である。
【0045】jビットの単位位相Δθから(i+1)ビ
ットで表現される単位位相δθ’を数式12,14より
求める。単位位相δθ’は単位位相Δθに比べ、表現ビ
ット数が少ないために精度が低くなる。そこで、補正用
キャリー発生器5により単位位相δθ’の補正を行い、
精度の低下を防ぐ。
【0046】(i+1)ビットの単位位相δθ’は、加
算回路1において、補正用キャリー発生器5より供給さ
れる補正用キャリーCAとの加算が行われる。単位位相
δθ’は補正用キャリーCAと加算されることにより、
補正された単位位相δθ”として、加算回路2に入力さ
れる。加算回路2は、初期状態では、補正後の単位位相
δθ”と遅延回路3から出力される信号“0”との加算
を行う。
【0047】加算回路2から出力された加算信号は、遅
延回路3に入力される。遅延回路3では、z-1を乗じて
z変換を行うことにより入力信号系列に対して時間軸上
で1クロックだけ遅延させた信号系列を得る。つまり、
遅延回路3は、入力される入力信号系列を1クロック分
遅延させた信号系列として出力する。回路全体は同一の
クロック信号CLに応じて動作し、クロック信号CLに
より時間軸上での信号系列が流れている。
【0048】したがって、加算回路2から出力され、1
クロック遅延された信号系列がフィードバックされ、加
算回路2に入力される。加算回路2は、(i+1)ビッ
トで構成される前回までの累算位相信号と、(i+1)
ビットで構成される補正後の単位位相δθ”との加算を
行う。加算回路2は時間経過に伴い順次単位位相δθ”
の累算を行う。
【0049】遅延回路3から出力された遅延累算信号
は、加算回路2へフィードバックされると同時に、丸め
回路4に入力される。丸め回路4は、(i+1)ビット
の累算信号を受けて、四捨五入等により誤差を含んだ最
下位ビットの端数をなくし、必要とする精度のiビット
信号に変換出力する。これにより、iビットの累算位相
θが得られる。
【0050】以上のように、累算位相θは、補正された
単位位相δθ”を累算することにより得られる。したが
って、単位位相δθ’が補正用キャリー発生器5により
補正されることなく、累算位相θが単位位相δθ’の累
算により得られるとすれば、単位位相δθ’が含む位相
誤差も同時に累算され、累算された位相誤差が累算位相
θに含まれることとなる。
【0051】累算位相θは、単位位相の累算により得ら
れるので、同時に累算される位相誤差が許容範囲を越え
る大きさになったら、補正を行えばよい。この補正は、
累算演算により生じる位相誤差を補正するものであるか
ら、周期的に補正を行えばよい。
【0052】カウンタ回路6は、クロック信号CLのパ
ルスをカウントする。つまり、所定の累算位相θを演算
出力するために累算演算を開始してから、単位位相δ
θ”が累算された回数をカウントする。
【0053】カウンタ回路6においてカウントされたカ
ウント値は、補正用キャリー発生器5に供給される。補
正用キャリー発生器5は、供給されたカウント値に応じ
て必要な補正用キャリー値を決定し、加算回路1に供給
する。つまり、単位位相δθ”が累算された回数に応じ
て、位相誤差を補正するための補正用キャリーCAを生
成出力する。
【0054】補正用キャリーCAは、加算回路1におい
て単位位相δθ’と加算され、補正された単位位相δ
θ”が生成される。そして、補正後の単位位相δθ”が
加算回路2において累算され、丸め回路4にて丸め処理
が行われた後に累算位相θが出力される。
【0055】次に、上述のNTSC信号の例において、
異なるサンプリング周波数fs を採用する場合について
説明する。関数発生周波数fscは数式8のままとし、サ
ンプリング周波数fs を数式17のように設定する。そ
の時の単位位相Δθは、数式18のようにバイナリ表現
をすることができる。単位位相Δθを表すビット数j=
17とする。
【0056】
【数17】 fs =13.5[MHz] ‥‥‥(17)
【0057】
【数18】 Δθ =[fsc/fs 17 =0.0100001111100000 ‥‥‥(18) 上式より求められた単位位相Δθから、上位(i+1)
ビットを抽出することにより、(i+1)ビットの単位
位相Δθ’は次式のように求められる。ここで、ビット
数i=8とする。
【0058】
【数19】Δθ’=[fsc/fs 9 =0.01000011 この時の単位位相Δθ’は、単位位相Δθに比べて次式
の単位誤差Δεを有する。
【0059】
【数20】Δε =Δθ−Δθ’ =0.0000000011100000 以上のように実数形式で得られたΔθ’を、次式の整数
形式の単位位相δθ’に変換する。
【0060】
【数21】 δθ’=Δθ’×28 =1000011 ‥‥‥(21) 同様に単位誤差Δεを次式の整数形式の単位誤差δεに
変換する。
【0061】
【数22】 δε=Δε×28 =0.11100000 ‥‥‥(22) 図4は、数式18に示す単位位相Δθの場合の上述の解
析に基づく補正方法を示す。図4(A)は、単位位相δ
θ’と単位誤差δεを示す。構成ビット数17(=j)
ビットの単位位相Δθを28 倍し、その内、上位9(=
i+1)ビットが数式21に示す単位位相δθ’であ
り、下位8(=j−i−1)ビットが数式22に示す単
位誤差δεである。
【0062】図4(B)は、図1に示す補正用キャリー
発生器5において生成出力される補正用キャリーCAを
示す。数式22に示される単位誤差δεは、次式のよう
に書き換えることができる。
【0063】
【数23】δε=2-1+2-2+2-3 この時、補正用キャリーCAは以下のように生成され
る。ただし、単位位相δθが累算される回数をnとし、
kは0以上の整数とする。
【0064】累算回数n=21 (=2)×kのときに補
正用キャリーCA=1を加算し、累算回数n=22 (=
4)×kのときには更に補正用キャリーCA=1を加算
し、累算回数n=23 (=8)×kのときには更に補正
用キャリーCA=1を加算する。
【0065】以上を10進数で表すと、累算回数n=8
×kのときは補正用キャリーCA=3となり、それ以外
で、累算回数n=4×kのときには補正用キャリーCA
=2となり、それ以外で、累算回数n=2×kのときに
は補正用キャリーCA=1となる。
【0066】図5は、累算回数と補正用キャリーの関係
を示す。上述の補正用キャリー生成例をキャリー1とし
て示す。初期状態から累算が行われる際に、単位位相δ
θ’は補正用キャリーCA=0との加算が行われる。
【0067】累算回数n=2では補正用キャリーCA=
1となり、累算回数n=3では補正用キャリーCA=0
となり、累算回数n=4では補正用キャリーCA=2と
なり、累算回数n=5では補正用キャリーCA=0とな
り、累算回数n=6では補正用キャリーCA=1とな
り、累算回数n=7では補正用キャリーCA=0とな
り、累算回数n=8では補正用キャリーCA=3とな
る。以後、上述の条件に従い補正用キャリーは生成され
る。
【0068】補正用キャリー発生器が生成する補正用キ
ャリーCAの最高値は、累算回数n=8×kにおけるC
A=3である。したがって、2ビットの補正用キャリー
を用意すれば足りる。
【0069】図7に累算回数と補正用キャリーの関係を
グラフに示す。横軸は累算回数を示し、縦軸は単位位相
δθ’に加算される補正用キャリーの累算値を示す。上
述の補正用キャリー生成例を、キャリー1として○印を
結んだ破線で表す。
【0070】各累算回数における補正用キャリーの累算
値を○印で示す。そして、その○印を破線で結ぶと、破
線で示す凸凹線になることがわかる。これは、累算回数
により、補正用キャリーが0から3までの幅を持ってい
て、単位位相δθ’に0を加算するときと、一回に3を
加算するときがあり、加算値にむらがあるためである。
【0071】この方法によれば、各累算回数における補
正用キャリーの値は容易に演算することができる。次
に、累算回数によるむらのない補正用キャリーの生成方
法について説明する。前述のキャリー1による補正用キ
ャリーの生成では、補正用キャリーが0〜3の場合があ
るので、補正用キャリーが大きいときには、その累算回
数の前後に補正用キャリーの分散を行う。
【0072】図5に累算回数と補正用キャリーの修正し
た関係例をキャリー2として示す。数式18に示す単位
位相Δθにおいては、上述のキャリー1の他にキャリー
2による補正用キャリーの生成方法がある。キャリー1
は、奇数の累算回数においては、すべて補正用キャリー
が0なので、そこを埋めるように補正用キャリーを分散
させるとキャリー2のようになる。
【0073】キャリー2による補正を実現させるため
に、数種類のモード選択スイッチを設ける。モード選択
スイッチは、関数発生周波数fscとサンプリング周波数
s を決定するための選択スイッチである。
【0074】モード選択スイッチを選択すると、単位位
相Δθが決定されると同時に補正用キャリーのためのテ
ーブルが複数個の中から1つ選択される。そして、選択
されたテーブルから表引きを行うことにより、各累算回
数における補正用キャリーが決定される。なお、テーブ
ルの代わりに演算に基づく補正用データ発生手段を設け
てもよい。
【0075】テーブルより決定された補正用キャリー
は、図1に示す補正用キャリー発生器5から出力され
る。出力された補正用キャリーは、加算回路1において
単位位相δθ’との加算が行われる。そして、加算され
た単位位相δθ”の累算が行われ、累算位相θが得られ
る。
【0076】図5のキャリー2の例は、単位補正δεが
大きいために大きな補正を必要とする場合である。その
ため、累算回数n=1を除く累算回数では、すべて補正
を行っていることとなる。しかし、ほとんどの場合、補
正用キャリーを2以上にしなければならないことはな
く、補正用キャリーは0又は1となる。
【0077】補正用キャリーがとる値が0又は1であれ
ば、補正用キャリーは1ビットで足りる。また、図1に
示す加算回路1はインクリメンターとすることができ
る。補正用キャリー発生器5は、カウンタ回路6にてカ
ウントした累算回数に応じて表引きを行い、表引きの値
により単位位相δθ’とのインクリメントを行うか行わ
ないかの判断をする。
【0078】図7に以上のキャリー2の場合の補正用キ
ャリーの生成例を、×印を結んだ実線で示す。各累算回
数における補正用キャリーの累算値を×印で示す。×印
を実線で結ぶと、キャリー1と異なり、平坦な補正が行
われることがわかる。
【0079】以上は、補正用キャリーを加算することに
より、補正する場合について説明した。しかし、数式2
2に示すように単位補正δεが大きい場合には、加算に
より補正を行うよりも、減算により補正を行う方が少な
い補正ですむ。そこで、減算による補正方法について説
明する。
【0080】数式19に示す単位位相Δθ’は、数式1
8により得られた単位位相Δθから、端数を切り捨てる
ことにより算出していた。しかし、今回は、次式のよう
に四捨五入により上位(i+1)ビットの単位位相Δθ
s ’を算出する。ビット数i=8とする。
【0081】
【数24】 Δθs ’=〔fsc/fs 9 =0.01000100 ‥‥‥(24) この時の単位位相Δθs ’は、単位位相Δθに比べて次
式の負の単位誤差−Δεs を有する。つまり、累算の対
象となる単位位相Δθs ’は、単位位相Δθよりも誤差
分大きな値をとる。
【0082】
【数25】 −Δεs =Δθ−Δθs ’ =0.0000000000100000 ‥‥‥(25) 以上のように実数形式で得られたΔθs ’を、次式の整
数形式の単位位相δθ s ’に変換する。
【0083】
【数26】 δθs ’=Δθs ’×28 =1000100 同様に負の単位誤差−Δεs を次式の整数形式の負の単
位誤差−δεs に変換する。
【0084】
【数27】 −δεs =−Δεs ×28 =0.00100000 ‥‥‥(27) 図6は、数式18に示す単位位相Δθの場合の負のキャ
リーによる補正方法を示す。図6(A)は、単位位相Δ
θs ’と負の単位誤差−Δεs を示す。構成ビット数1
7(=j)ビットの単位位相Δθに対して、単位位相Δ
θs ’と負の単位誤差−Δεs は数式25の関係を有す
る。
【0085】図6(B)は、累算回数と負の累算誤差の
関係を示す。単位位相δθs ’の累算を行うと、同時に
負の単位誤差−δεs が累算される。累算回数n=8に
おいて負のキャリーが1となり、それまでは負のキャリ
ーは生じない。つまり、累算回数n=8の時点で、単位
位相δθs ’から1を減算すればよい。
【0086】数式27に示される負の単位誤差−δεs
は、次式のように書き換えることができる。
【0087】
【数28】−δεs =2-3 この時、補正用キャリーは、累算回数n=23 (=8)
×kのときに補正用キャリーCA=1を減算する。ただ
し、kは0以上の整数とする。
【0088】図5に累算回数と負の補正用キャリーの関
係例を負のキャリーとして示す。数式18に示す単位位
相Δθに対して、減算補正のために生成される負のキャ
リーを前述の加算補正のために生成されるキャリー1と
キャリー2の場合と比較して示す。
【0089】累算回数n=1〜7では負のキャリーが0
であり、累算回数n=8では負のキャリーが1である。
つまり、8回の累算を行う間に1回だけ補正用キャリー
を減算するのみであり、キャリー1及びキャリー2の場
合に比較して小さな補正ですむ。
【0090】図7に以上の減算補正によるキャリーの生
成例を、△印を結んだ一点鎖線で示す。各累算回数にお
けるキャリーの累算値を△印で示す。数式24によりΔ
θs’を求める際に、四捨五入を行ったことにより、数
式26のδθs ’は1が繰り上げられた形式となってい
る。
【0091】つまり、端数を切り捨てることにより得ら
れる単位位相δθ’と四捨五入により得られる単位位相
δθs ’とは、次式の関係を有する。
【0092】
【数29】δθs =δθ’+CB ここで、常用キャリーCBは、Δθの四捨五入により繰
り上がりがあれば1となり、繰り上がりがなければ0と
なる。
【0093】累算回数n=1において、常用キャリーC
B=1が加算される。そして、累算回数n=2において
も、常用キャリーCB=1が加算され、キャリー累算値
は2となる。以後、累算回数n=3〜7においても同様
に、各累算回数時に常用キャリーCB=1が加算され、
累算回数nの値とキャリー累算値の値は同じになる。
【0094】したがって、累算回数n=7におけるキャ
リー累算値は7となる。累算回数n=8においては、常
用キャリーCB=1が加算されると共に補正用キャリー
である負のキャリー値の1が減算される。つまり、累算
回数n=8では、キャリー累算値が7となる。
【0095】以上、位相を補正する方法として、キャリ
ーの加算によるものと、キャリーの減算によるものとを
説明した。この両方の方法を実現するための回路を次に
示す。
【0096】図2は、キャリーの加減算補正による累算
位相演算回路を示すブロック回路図である。単位位相δ
θ’は、(i+1)ビットより構成されるディジタル信
号であり、累算位相演算回路の出力となる累算位相θの
ビット数はiビットである。
【0097】関数発生周波数fscとサンプリング周波数
s が設定されると、数式5により単位位相Δθが求め
られる。単位位相Δθは、ビット数jにより表現される
位相信号である。ビット数jはビット数iよりも相当大
きな値である。
【0098】jビットの単位位相Δθから、数式21の
ように端数を切り捨てた(i+1)ビットで表現される
単位位相δθ’を求める。(i+1)ビットの単位位相
δθ’は、加算回路11において、ゲート回路12から
供給される常用キャリーCBと、反転回路14から供給
される補正用キャリーCAとの加算が行われる。単位位
相δθ’はキャリーCA,CBと加算されることによ
り、補正された単位位相δθ”として、加算回路2に入
力される。加算回路2は、初期状態では、補正後の単位
位相δθ”と遅延回路3から出力される信号“0”との
加算を行う。
【0099】加算回路2から出力された加算信号は、遅
延回路3に入力される。遅延回路3では、z-1を乗じて
z変換を行うことにより入力信号系列に対して時間軸上
で1クロックだけ遅延させた信号系列を得る。回路全体
は同一のクロック信号CLに応じて動作し、クロック信
号CLにより時間軸上での信号系列が流れている。
【0100】したがって、加算回路2から出力され、1
クロック遅延された信号系列がフィードバックされ、加
算回路2に入力される。加算回路2は、(i+1)ビッ
トで構成される前回までの累算位相信号と、(i+1)
ビットで構成される補正後の単位位相δθ”との加算を
行う。加算回路2は時間経過に伴い順次単位位相δθ”
の累算を行う。
【0101】遅延回路3から出力された遅延累算信号
は、加算回路2へフィードバックされると同時に、丸め
回路4に入力される。丸め回路4は、(i+1)ビット
の累算信号を受けて、四捨五入等により誤差を含んだ最
下位ビットの端数をなくし、必要とする精度のiビット
信号に変換出力する。これにより、iビットの累算位相
θが得られる。
【0102】カウンタ回路6は、クロック信号CLのパ
ルスをカウントする。つまり、所定の累算位相θを演算
出力するために累算演算を開始してから、単位位相δ
θ”が累算された回数をカウントする。
【0103】カウンタ回路6においてカウントされたカ
ウント値は、補正用キャリー発生器5に供給される。補
正用キャリー発生器5は、供給されたカウント値に応じ
て必要な補正用キャリー値を決定し、加算回路11に供
給する。つまり、単位位相δθ”が累算された回数に応
じて、位相誤差を補正するための補正用キャリーCAを
生成出力する。
【0104】加減算選択信号SELは、ゲート回路12
及び反転回路14に供給される。数式5により求められ
た単位位相Δθの上位から(i+2)ビット目のビット
をチェックする。1であれば減算補正を行うために加減
算選択信号SEL=(減算信号)とし、0であれば加算
補正を行うために加減算選択信号SEL=(加算信号)
とする。
【0105】常用キャリー発生器13は、常用キャリー
CBのための信号“1”を生成し、ゲート回路12に出
力する。ゲート回路12は、入力される加減算選択信号
SELに応じて、常用キャリーCBを出力する。
【0106】加減算選択信号SEL=(減算信号)であ
れば、常用キャリーの加算が必要であるので、常用キャ
リー発生器13から供給された信号を常用キャリーCB
として、加算回路11に供給する。また、加減算選択信
号SEL=(加算信号)であれば、常用キャリーの加算
は必要ないので、常用キャリーCB=0として、加算回
路11に供給する。
【0107】補正用キャリー発生器5において、加算補
正を行う場合には、数式20により単位位相Δθから単
位誤差Δεを求め、減算補正を行う場合には、数式25
により単位位相Δθから負の単位誤差−Δεs を求め
る。
【0108】加算補正の場合には、得られた単位誤差Δ
εからキャリー1又はキャリー2を生成する。減算補正
の場合には、得られた負の単位誤差−Δεs から負のキ
ャリーを生成する。そして、生成されたキャリー1、キ
ャリー2又は負のキャリーを補正用キャリーとして反転
回路14へ出力する。
【0109】反転回路14は、入力される加減算選択信
号SELに応じて補正用キャリー発生器5から供給され
る補正用キャリーの反転を行う。加減算選択信号SEL
=(加算信号)であれば、補正用キャリー発生器5から
供給された信号を反転せずに、そのまま加算回路11に
出力する。また、加減算選択信号SEL=(減算信号)
であれば、補正用キャリー発生器5から供給された信号
をビット反転して、加算回路11に出力する。
【0110】反転回路14に入力された信号のビット反
転を行えば、正負符号が逆になった信号が出力される。
つまり、補正用キャリー発生器5において生成された補
正用キャリーは、加算補正の場合には単位位相δθ’と
の加算が行われ、減算補正の場合には単位位相δθ’と
の減算が行われることになる。
【0111】補正用キャリーCAと常用キャリーCB
は、加算回路11において単位位相δθ’と加算され、
補正された単位位相δθ”が生成される。そして、補正
後の単位位相δθ”が加算回路2において累算され、丸
め回路4にて丸め処理が行われた後に累算位相θが出力
される。
【0112】以上のように、単位位相δθ’のビット数
(i+1)を単位位相Δθのビット数jよりも小さくす
ることにより、加算回路2と遅延回路3は小さなビット
数(i+1)の信号処理ですむ。それにより、高精度の
累算位相θを求める処理時間を短くし、回路規模を小さ
くすることができる。
【0113】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。たとえば、
種々の変更、改良、組合わせ等が可能なことは当業者に
自明であろう。
【0114】
【発明の効果】構成ビットの少ない単位位相に対して補
正が行われた補正単位位相について累算演算を行うこと
により、ビット数の少ないディジタル信号処理により精
度の高い位相角を求めることができる。これにより、高
速な信号処理が可能となる。
【図面の簡単な説明】
【図1】本発明の実施例による累算位相演算回路を示す
ブロック回路図である。
【図2】本発明の他の実施例による累算位相演算回路を
示すブロック回路図である。
【図3】単位位相Δθの補正方法を示す図表である。図
3(A)は、単位位相δθ’と単位誤差δεを示す式で
あり、図3(B)は、累算回数と補正用キャリーの関係
をを示す図表である。
【図4】他の単位位相Δθの補正方法を示す図表であ
る。図4(A)は、単位位相δθ’と単位誤差δεを示
す式であり、図4(B)は、累算回数と補正用キャリー
の関係を示す図表である。
【図5】3種類の補正方法についての累算回数と補正用
キャリーの関係を示す図表である。
【図6】負のキャリーによる補正方法を示す図表であ
る。図6(A)は、単位位相Δθ s ’と負の単位誤差−
Δεs を示す式であり、図6(B)は、累算回数と負の
累算誤差の関係を示す図表である。
【図7】図5に示す3種類の補正方法についての累算回
数と補正用キャリーの関係を示すグラフである。
【図8】sin関数に対して行うサンプリングの例を示
す波形である。
【図9】x−y平面における累算位相θと単位位相Δθ
の関係を示す概略図である。
【図10】従来技術による累算位相演算回路を示すブロ
ック回路図である。
【符号の説明】
1,2,11 加算回路 3 遅延回路 4 丸め回路 5 補正用キャリー発生器 6 カウンタ回路 12 ゲート回路 13 常用キャリー発生器 14 反転回路 CL クロック信号 CA 補正用キャリー CB 常用キャリー SEL 加減算選択信号 θ 位相

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 所定精度の単位位相を累算する工程と、 累算回数に基づいて補正用キャリーを発生し、累算結果
    に加算する工程とを含む位相角発生方法。
  2. 【請求項2】 所定精度の単位位相が累算される回数を
    カウントする計数手段(6)と、 前記計数手段がカウントした累算回数に基づいて補正用
    キャリーを生成する補正用キャリー生成手段(5)と、 前記補正用キャリー生成手段により補正用キャリーが生
    成された時には補正用キャリーを入力する単位位相に加
    算し、加算された補正単位位相を生成し、補正用キャリ
    ーが生成されない時は入力する単位位相をそのまま出力
    する加算手段(1)と、 前記加算手段より出力された位相を累算することにより
    所望の位相角を生成出力する累算器(2,3)とを有す
    る位相角発生回路。
  3. 【請求項3】 前記補正用キャリー生成手段が生成され
    る補正用キャリーの正負符号を選択するための選択手段
    (14)を有する請求項2記載の位相角発生回路。
  4. 【請求項4】 さらに、一定の常用キャリー信号を生成
    する常用キャリー生成手段(12,13)を有し、前記
    加算手段が前記常用キャリー生成手段にて生成された常
    用キャリーと前記補正用キャリーと単位位相を加算する
    請求項2ないし3記載の位相角発生回路。
JP32698093A 1993-12-24 1993-12-24 位相角発生方法および回路 Pending JPH07182144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32698093A JPH07182144A (ja) 1993-12-24 1993-12-24 位相角発生方法および回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32698093A JPH07182144A (ja) 1993-12-24 1993-12-24 位相角発生方法および回路

Publications (1)

Publication Number Publication Date
JPH07182144A true JPH07182144A (ja) 1995-07-21

Family

ID=18193958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32698093A Pending JPH07182144A (ja) 1993-12-24 1993-12-24 位相角発生方法および回路

Country Status (1)

Country Link
JP (1) JPH07182144A (ja)

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
US7173554B2 (en) Method and a digital-to-analog converter for converting a time varying digital input signal
JPS5931897B2 (ja) 周波数合成装置
JPH03253108A (ja) ダイレクト・デジタル・シンセサイザー及び信号発生方法
US10019027B2 (en) Direct digital synthesizing method and direct digital synthesizer
US20080285698A1 (en) Digital forced oscillation by direct digital synthesis
JP3524967B2 (ja) 複数基準発振器用タイミング発生器
JPH0683067B2 (ja) 分周装置
JPH02292911A (ja) パルス発生器
US7209937B2 (en) Method and apparatus for generation of arbitrary mono-cycle waveforms
JPH07182144A (ja) 位相角発生方法および回路
US7072920B2 (en) Method and apparatus for digital frequency conversion
US11092993B2 (en) Digital sinusoid generator
US6681235B2 (en) Frequency synthesizer and Gaussian noise generator using the same
JP2008259110A (ja) 周波数シンセサイザシステム
JP3716150B2 (ja) ダイレクトディジタルシンセサイザ
JPH07301685A (ja) クロック回路
US20050125479A1 (en) Hardware for performing an arithmetic function
JP2002182898A (ja) 積算値及び周期関数の生成方法及び回路
JP2001127636A (ja) Pwm信号発生装置
JP2635616B2 (ja) デジタルサンプルレートコンバータ
JP2001136064A (ja) 周波数信号発生装置
JPH08249161A (ja) 立方根演算装置
JPH05273978A (ja) 波形データ読出し装置
JPS5856181A (ja) 補間演算回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030422