JP4520586B2 - Frequency synthesizer and Gaussian noise generator - Google Patents
Frequency synthesizer and Gaussian noise generator Download PDFInfo
- Publication number
- JP4520586B2 JP4520586B2 JP2000186138A JP2000186138A JP4520586B2 JP 4520586 B2 JP4520586 B2 JP 4520586B2 JP 2000186138 A JP2000186138 A JP 2000186138A JP 2000186138 A JP2000186138 A JP 2000186138A JP 4520586 B2 JP4520586 B2 JP 4520586B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- frequency
- bits
- bit
- output
- 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
Images
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、広帯域で高い周波数分解能を有する周波数シンセサイザおよびこれを用いたガウス雑音発生装置に関する。
【0002】
【従来の技術】
周波数が安定した周期関数信号を発生できる周波数シンセサイザとして、従来からDDS(ダイレクトディジタルシンセサイザ)が用いられている。
【0003】
図14はこのDDS10の構成を示すものであり、波形メモリ11には、周期関数(例えば正弦波関数)の振幅データがLビットのアドレス信号で指定可能な記憶領域に1周期分記憶されており、アドレス信号で指定されたアドレスに記憶されている振幅データを順次出力する。
【0004】
周波数設定手段12は、波形メモリ11から振幅データを読み出すアドレス間隔(位相間隔)を指定するための周波数データAを設定する。
【0005】
加算器13は、周波数設定手段12によって設定された周波数データAと、ラッチ回路14の出力とを加算し、その加算結果をラッチ回路14へ出力する。ラッチ回路14は、クロック信号CKを受ける毎に加算器13の出力をラッチし、このラッチ出力を位相を指定するデータとして加算器13および波形メモリ11へ出力する。
【0006】
D/A変換器15は、波形メモリ11から出力される振幅データをアナログ信号に変換して出力する。
【0007】
このように構成されたDDS10では、波形メモリ11に対するアドレス信号が、クロック信号CKに同期してA、2A、3A、…というようにA間隔で増加し、波形メモリ11からは、各アドレスに対応する振幅データD(A)、D(2A)、D(3A)、…が順番に読み出されてアナログ信号に変換されて周期関数信号が連続して出力される。
【0008】
ここで、周波数設定手段12から設定される周波数データAのビット数Mをアドレス信号のビット数Lと等しいとすると、出力周波数Fはfc・A/2Lとなり、発生できる周波数はfc・1/2L〜fc・2L−1/2Lまでの2L−1通りとなる。
【0009】
しかし、この方式では出力できる周波数の設定分解能が波形メモリ11のアドレスのビット数Lで制限されてしまうという問題がある。
【0010】
このため、より高い設定分解能が要求されるDDSでは、Mビットの周波数データAをLビットの整数部とmビットの小数部とで構成し、加算器13およびラッチ回路14をL+mビットの加算およびラッチが可能となるように構成するとともに、ラッチ回路14のL+mビットの出力の上位Lビットをアドレス信号として波形メモリ11に出力して、波形メモリ11のアドレスビット数Lに制限されない周波数分解能で信号を発生できるようにしていた。
【0011】
【発明が解決しようとする課題】
ところが、上記DDS10を用いて、例えば周波数精度が10−15の水素メーザ発振器の出力(例えば100MHz)を基準のクロック信号CKとして任意の周波数の信号を発生させようとすると、DDS10には16桁以上の周波数分解能が要求される。
【0012】
この場合、log21016はほぼ254であるから、加算器13として54ビットの2進加算器を用いる必要がある。
【0013】
しかしながら、このようにビット数が多い加算処理を行うと、加算器13の桁上げ処理による遅延時間がクロック信号CKの周期を超えてしまい、実用にならない。
【0014】
即ち、加算器13の1ビット当たりのキャリー伝搬遅延時間をTaとすると、加算器13全体の最大遅延時間は(L−1)Taとなり、この最大遅延時間がクロック信号の周期1/fcより短いことが要求されるが、現状の加算器では、このようにビット数の多い加算処理を、高いクロック周波数(100MHz)で行うことはできず、結局、クロック周波数を下げて、発生できる周波数の上限を下げざるを得なかった。
【0015】
本発明は、この問題を解決し、広帯域で高い周波数分解能が得られる周波数シンセサイザおよびこれを用いたガウス雑音発生装置を提供することを目的としている。
【0016】
【課題を解決するための手段】
前記目的を達成するために、本発明の請求項1の周波数シンセサイザは、
Lビットのデータを受け、該データで指定される位相の所定周期関数の振幅データを出力する振幅データ出力手段と、
所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、
前記クロック信号を計数するKビットのカウンタと、
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを前記振幅データ出力手段に出力するシフト加算回路とを備えている。
【0017】
また、本発明の請求項2の周波数シンセサイザは、
Lビットのデータを受け、該データで指定される位相の所定周期関数の振幅データを出力する振幅データ出力手段と、
所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、
前記クロック信号を計数するKビットのカウンタと、
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを出力するシフト加算回路と、
前記振幅データ出力手段に入力されるLビットのデータをラッチ信号を受ける毎にラッチするラッチ回路と、
前記シフト加算回路の出力と前記ラッチ回路の出力とを加算し、該加算結果の下位Lビットを前記振幅データ出力手段に出力する加算回路と、
前記周波数設定手段によって設定される周波数データが変更される毎に、前記カウンタを値1またはその近傍値に初期化するとともに、該初期化した値に対応するLビットのデータが前記シフト加算器から出力されるタイミングに合わせて前記ラッチ回路にラッチ信号を出力して、前記振幅データ出力手段から出力される振幅データの周波数変更直前の位相値と周波数変更直後の位相値とをほぼ連続させる制御回路とを備えている。
また、本発明の請求項3の周波数シンセサイザは、請求項1または請求項2記載の周波数シンセサイザにおいて、
前記シフト加算回路は、
前記総数データを複数組に分け、各組毎のシフト加算を並行して行う並列処理と、該並列処理に対するシフト加算処理をカスケードに行う直列処理とを組合せて、前記各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを得ることを特徴とする。
【0018】
また、本発明の請求項4のガウス雑音発生装置は、
周波数が異なる複数の正弦波を生成する正弦波生成部を有し、該正弦波生成部が生成した複数の正弦波を加算合成してガウス性の雑音信号を発生するガウス雑音発生装置において、
前記正弦波生成部は、
Lビットのデータを受け、該データで指定される位相の正弦波関数の振幅データを出力する振幅データ出力手段と、
前記正弦波の数より大きい整数uについてのu次代数的整数を公比とする等比級数のなかから選択した周波数を所定のクロック信号の周波数で除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、
前記クロック信号を計数するKビットのカウンタと、
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを前記振幅データ出力手段に出力するシフト加算回路とを含み、
前記u次代数的整数を公比とする等比級数のなかから重複せずに選択した複数の周波数の正弦波を発生するように構成されていることを特徴とする。
また、本発明の請求項5のガウス雑音発生装置は、請求項4記載のガウス雑音発生装置において、
前記シフト加算回路は、
前記総数データを複数組に分け、各組毎のシフト加算を並行して行う並列処理と、該並列処理に対するシフト加算処理をカスケードに行う直列処理とを組合せて、前記各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを得ることを特徴とする。
【0019】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施形態の周波数シンセサイザ20の構成を示している。
【0020】
この周波数シンセサイザ20の振幅データ出力手段としての波形メモリ21には、任意の周期関数、例えば正弦波関数の振幅データがLビットのアドレス信号で指定可能な領域に1周期分アドレス順に記憶されており、アドレス信号で指定されたアドレス(位相)に記憶されている振幅データを出力する。
【0021】
D/A変換器22は、波形メモリ21から出力される振幅データをアナログの電圧信号に順次変換して出力する。なお、シンセサイザ出力としてアナログ信号が要求されない場合には、D/A変換器22を省略して波形メモリ21からの振幅データをそのままシンセサイザ出力としてもよい。
【0022】
周波数設定手段23は、所望の出力周波数Fをクロック信号CKの周波数fcで除算して得られるK+L−1ビットのデータ(クロック周波数で正規化した所望周波数データ)を周波数データBとして後述する乗算量子化回路25へ設定する。
【0023】
カウンタ24は、クロック信号CKを計数するための2K進のカウンタであり、Kビットの計数出力Nを乗算量子化回路25へ出力する。
【0024】
乗算量子化回路25は、カウンタ24のKビットの計数出力Nと、周波数設定手段23から設定されたK+L−1ビットの周波数データBとの乗算を行い、その乗算結果をLビットのアドレス信号に量子化してメモリ21に出力する。
【0025】
ここで、この乗算量子化の原理について説明する。
カウンタ24のKビットの計数出力Nをビットデータで示すと、
N=〔n0,n1,n2,…,nK−2,nK−1〕MSB
となり、その値(標本番号)は次の通りである。
【0026】
N=p=0ΣK−1(np2p)
ただし、記号X=CΣDは、X=CからX=Dまでの総和を示す(以下同様)。
【0027】
また、クロック周波数で正規化した周波数データBをビットデータで示すと、
B=〔b1,b2,b3,…,bK+L−3,bK+L−2,bK+L−1〕LSB
となり、その値は2進数の小数表示で表せば、次のようになる。
B=i=1ΣK+L−1(bi2−i)
【0028】
よって、周波数データBと計数出力Nの積Qは、
Q=p=0ΣK−1(np2p)・i=1ΣK+L−1(bi2−i)
となる。
【0029】
ここで、上式の2p・i=1ΣK+L−1(bi2−i)の部分は、次のように整数部と小数部との和で表すことができる。
i=0Σp−1(bp−i2i)+i=1ΣK+L−1(bp+i2−i)
【0030】
したがって、積Qは、
Q=p=0ΣK−1np〔i=0Σp−1(bp−i2i)+i=1ΣK+L−1(bp+i2−i)〕
={i=0Σp−12i p=0ΣK−1npbp−i}
+{i=1ΣK+L−12−i p=0ΣK−1npbp+i}……(1)
となる。
【0031】
ここで、上式(1)の第1項は、不要な整数項(オーバーフロー成分)であり、必要とする小数項の第2項に2Lを乗じて、Lビットの整数項を含む式で表すと、次のようになる。
Q′=i=1ΣK+L−12L−i p=0ΣK−1npbp+i
【0032】
このデータQ′の上位Lビットの整数項が量子化されたデータとなる。
ここで、j=L−iとおけば、Q′の整数項はjが0〜L−1の範囲の値となる。よって、周波数データBと計数出力Nの積をLビットに量子化して得られる量子化データqは、
q=j=0ΣL−1(2jvj)…(2)
ただし、vj=p=0ΣK−1(npbp+L−j)
と表される。
【0033】
上式(2)の各vjの値は、p=0ΣK−1(npbp+L−j)の積和演算を各jの値毎に行うことで得ることができるが、これら各vjの値は、周波数設定手段23からの(K+L−1)ビットの周波数データBを先頭ビットが1ビットずつずれたL組のKビットデータに分け、各組のKビットデータとカウンタ24のKビットの計数出力Nとのビット単位の論理積の演算結果が1となるビットの総数をそれぞれ示している。
【0034】
また、量子化データqは、これらの積和演算によって得られた各vjにそれぞれ2jを乗算して加算する、即ち図2に示すように、各総数データvjをそれぞれjビットずつ上位側にシフトして加算し、その加算結果の下位側のLビットデータを抽出することによって得ることができる。
【0035】
実施形態の乗算量子化回路25は上記原理に基づいて構成されたものであり、図1に示しているように、L個の積和演算回路26(1)〜26(L)と、シフト加算回路30によって構成されている。
【0036】
各積和演算回路26(1)〜26(L)は、図2に示しているように、K個のアンド回路27と加算器28とによって構成されており、周波数設定手段23からの(K+L−1)ビットの周波数データBを、先頭データが互いに1ビットずつずれたL組のKビットデータ(b1〜bK)、(b2〜bK+1)、…、(bL−1〜bL+K−2)、(bL〜bL+K−1)に分けて、これらのKビットデータとカウンタ24のKビットの計数出力Nとのビット単位の論理積をアンド回路27によって演算し、その演算結果が1となるビットの総数vjを加算器28によって各組毎にそれぞれ求めている。
【0037】
各積和演算回路26(1)〜26(L)によって得られる総数データvjのビット数Hは、2HがK以上となる最小の値であり、周波数データBのビット数K+L−1に比べて格段に少なくて済むので、この加算による遅延は問題とならない。例えばK=62、L=16の場合、総数データvjのビット数Hは6となり、周波数データBのビット数K+L−1=77に比べて非常に小さい。
【0038】
各積和演算回路26(1)〜26(L)によって得られた各総数データvjは、シフト加算回路30によって1ビットずつシフトされて加算される。
【0039】
このシフト加算回路30は、例えば図4に示すように、L個のシフト加算器31(1)〜31(L)を用いて構成することができる。なお、シフト加算器31(1)〜31(L)におけるデータのシフト処理とは、単にデータをその桁をずらして入力させ、ずらした桁分だけ下位側に0を付加しているだけであり、その処理時間はかからない。また、図4および後述する図5、図6において、Sの値がシフトするビット数を示している。
【0040】
シフト加算器31(1)は、総数データv0と、総数データv1を1ビット上位側にシフトしたデータ(下位に0を1ビット付加したデータ)とを加算し、シフト加算器31(2)は、シフト加算器31(1)の出力と、総数データv2を2ビット上位側にシフトしたデータ(下位に0を2ビット付加したデータ)とを加算する。
【0041】
以下同様に、総数データvjのシフト加算を行い、最終段のシフト加算器31(L)からLビットに量子化された量子化データqを出力する。
【0042】
ただし、実際にシフト加算回路30を構成する場合には、図4のようにL個Kシフト加算器31(1)〜31(L)を単純にカスケード接続すると、加算段数がL段となって速度の点で不利になるので、後述するシフト加算回路30のように、並列にシフト加算処理を行うことが望ましい。
【0043】
即ち、前記量子化データqの式(2)は次のように展開できる。
(Lが偶数のとき)
q=(v0+2v1)+22(v2+2v3)+24(v4+2v5)
+…+2L−4(vL−4+2vL−3)+2L−2(vL−2+2vL−1)…(2)
【0044】
(Lが奇数のとき)
q=(v0+2v1)+22(v2+2v3)+24(v4+2v5)
+…+2L−3(vL−3+2vL−2)+2L−1vL−1…(3)
【0045】
上式(2)、(3)は、さらに2Xでまとめることができるが、ここでは、一例として式(2)に対応したシフト加算回路30を図5に示す。
【0046】
図5のシフト加算回路30では、L/2個のシフト加算器31(1)〜31(R)(R=L/2)によって、総数データvを2組ずつシフト加算し、それらの出力をR−1個のシフト加算器31(R+1)〜31(2R−1)によってシフト加算して、Lビットの量子化データqを得るようにしている。
【0047】
このように並列処理を含めることで、加算段数を図4の場合の半分に減らすことができ、高速処理が可能となる。なお、前記したように、式(2)または式(3)をさらに2Xでまとめることで、さらに加算段数を減らすことができるが、これについては次の実際の動作説明の項で説明する。
【0048】
次に、この実施形態の動作を例えばK=62、L=16の場合で説明する。
周波数設定手段23から77ビットの周波数データB(b1〜b77)が設定されると、各積和演算回路26(1)〜26(16)は、カウンタ24の62ビットの計数出力N(n0〜n61)に対して、
v0=p=0Σ61(npbp+16)
v1=p=0Σ61(npbp+15)
v2=p=0Σ61(npbp+14)
……
v15=p=0Σ61(npbp+1)
の演算を行い、各総数データv0〜v15を求めて、シフト加算回路30へ出力する。なお、この場合、前記したように、各総数データv0〜v15のビット数Hは6ビットである。
【0049】
シフト加算回路30は、総数データv0〜v15に対するシフト加算処理を次の式に基づいて行う。
q=〔v0+2v1+22v2+…+214v14+215v15〕mod16
=〔v0+2v1+22v2+…+210v10〕mod16
+〔211v11〕mod16+〔212v12〕mod16
+〔213v13〕mod16+〔214v14〕mod16
+〔215v15〕mod16
ただし、括弧記号〔Y〕mod16は、データYを16ビット化したデータを示す。
【0050】
ここで、6ビットのデータvjを11ビットシフト(下位側に0を11ビット付ける)して下位側の16ビットを取って生成したデータは、元の6ビットデータvjの下位の5ビットのデータVjを11ビットシフトしたものと等しい。
【0051】
したがって、v11の下位5ビットをV11、v12の下位4ビットをV12、v13の下位3ビットをV13、v14の下位2ビットをV14、v15の下位1ビット(LSB)をV15とすると、量子化データqは、
q=〔v0+2v1+22v2+…+210v10〕mod16
+〔211V11〕mod16+〔212V12〕mod16
+〔213V13〕mod16+〔214V14〕mod16
+〔215V15〕mod16
=〔{(v0+2v1)+22(v2+2v3)}
+24{(v4+2v5)+22(v6+2v7)}
+28{(v8+2v9)+22v10}〕mod16
+〔211{(V11+2V12)
+22(V13+2V14)+24V15}〕mod16
となる。
【0052】
シフト加算回路30は、この演算を図6に示すように15個のシフト加算器31(1)〜31(15)によって行う。
【0053】
このシフト加算回路30の加算段数は最大で5段で済み、また各シフト加算器31も最大で16ビットの加算処理しか行わない。
【0054】
また、クロック信号CKを計数するカウンタ24の速度も、従来のMビット加算器等と比べてはるかに高速なので、クロック周波数が例えば100MHzと高い場合でも、77ビットの分解能で周波数設定が行え、広帯域で高い周波数分解能を実現できる。
【0055】
このように、実施形態の周波数シンセサイザ20は、広帯域で高い周波数分解能を有しているため、一般的な信号発生装置の信号源として利用でき、また、前記したように、周波数精度が10−15の水素メーザ発振器の出力(例えば100MHz)を基準のクロック信号CKとして任意の周波数の信号を発生させる場合のように、16桁以上の周波数分解能が要求される場合でも問題なく使用できる。
【0056】
また、この周波数シンセサイザ20は周波数設定分解能が非常に高いので、振幅分布がガウス分布に高い精度で近似するガウス性雑音を発生する場合の正弦波発生部として使用することができる。
【0057】
次に、この周波数シンセサイザを用いてガウス性の雑音信号を発生するガウス雑音発生装置について説明する。
【0058】
なお、以下に説明するガウス雑音発生装置は、複数の正弦波の各周波数が、その正弦波の数より大きい整数uについてのu次代数的整数を公比とする等比数列のなかから重複せずに選出されているとき、その複数の正弦波を合成した合成波の標本値の分布がガウス分布に近づくという知見に基づいたものである(この証明方法については詳述しない)。
【0059】
ここで、u次代数的整数とは、次の多項式U(x)、
U(x)=xu+mu−1xu−1+…+m1x+m0
(係数m0〜mu−1は整数)
の根であって、U(x)は整数係数の範囲で既約、即ちU(x)が因数分解できないとする。
【0060】
例えば、値E1/uが上記多項式U(x)の根、即ち、u次代数的整数であれば、この値E1/uを公比とする等比数列
E1/u/G,E2/u/G,E3/u/G,…,E(u−1)/u/G
(Gは1以上の整数)
のなかから、各正弦波の周波数を重複せずに選ぶことにより、ガウス性の雑音信号を得ることができる。
【0061】
図7は、前記した周波数シンセサイザ20の波形メモリ21、周波数設定手段23および乗算量子化回路25を複数用いて周波数が異なる複数の正弦波を並列に発生する正弦波発生部を構成し、これらの複数の正弦波を加算合成してガウス性の雑音信号を発生する雑音信号発生装置50を示している。
【0062】
この雑音発生装置50には振幅データ出力手段としてW個(Wは1以上u未満の整数)の波形メモリ21(1)〜21(W)が設けられており、各波形メモリ21(1)〜21(W)には、同一の正弦波形データが1周期分Lビットのアドレス信号で指定可能な領域に予め記憶されている。
【0063】
この正弦波データは、アドレスを指定するLビットの量子化データをqとすると、
cos(2πq/2L)
と表される(sin(2πq/2L)としてもよい)。
【0064】
各周波数設定手段23(1)〜23(W)は、前記したu次代数的整数を公比とする等比数列のなかから重複せずに選出された周波数に対応する周波数データB1〜BWをそれぞれ乗算量子化回路25(1)〜25(W)に設定する。
【0065】
例えば上限周波数fa、下限周波数fbの帯域内にスペクトラムが分布する雑音信号を発生させる場合には、クロック周波数fcで正規化した周波数fa/fc、fa/fcの範囲内で、各周波数データB1〜BWを、以下のように設定する。
【0066】
B1=E1/u/G
B2=E2/u/G
B3=E3/u/G
……
BW=EW/u/G
【0067】
各乗算量子化回路25(1)〜25(W)は、周波数設定手段23(1)〜23(W)からそれぞれ設定された周波データB1〜BWとカウンタ24の計数出力Nとを前記同様に乗算してLビットに量子化し、その量子化データq1〜qWをそれぞれの波形メモリ21(1)〜21(W)へアドレス信号として出力する。
【0068】
乗算器51(1)〜51(W)は、各波形メモリ21(1)〜21(W)から出力される振幅データD1〜DWに対して、振幅設定手段52から設定された振幅係数S1〜SWをそれぞれ乗算し、その乗算結果を合成回路53へ出力する。
【0069】
合成回路53は、各乗算器51(1)〜51(W)の出力を加算合成し、その加算結果を雑音信号Ngとして出力する。
【0070】
なお、アナログの雑音信号を必要とする場合には、合成回路53のディジタル出力をD/A変換器(図示せず)によってアナログ信号に変換して出力する。
【0071】
このように構成されたガウス雑音発生装置50では、前記同様に各乗算量子化回路25(1)〜25(W)によって、K+L−1ビットの周波数データB1〜BWとカウンタ24のKビットの計数出力Nとの乗算および量子化がなされ、Lビットの量子化データq1〜qWが各波形メモリ21(1)〜21(W)に出力される。
【0072】
このため、各波形メモリ21(1)〜21(W)からは、
D1=cos(2πq1/2L)
D2=cos(2πq2/2L)
D3=cos(2πq3/2L)
……
DW=cos(2πqW/2L)
の振幅データD1〜DWが1クロック毎に並列出力される。
【0073】
そして、これらの振幅データD1〜DWに振幅係数S1〜SWが乗算され、その乗算結果
D1′=S1cos(2πq1/2L)
D2′=S2cos(2πq2/2L)
D3′=S3cos(2πq3/2L)
……
DW′=SWcos(2πqW/2L)
が合成回路53に出力され、これらの乗算結果を加算合成したデータが雑音データ信号Ngとして出力される。
【0074】
ここで、振幅設定手段52によって、例えば全ての振幅係数S1〜SWを等しい値に設定すれば、図8の(a)に示すように、設定した周波数範囲fa〜fbでほぼ一様にスペクトラムが分布する白色ガウス性雑音を得ることができる。
【0075】
また、振幅設定手段52によって、例えば周波数fa〜f1の範囲で周波数に反比例して振幅係数が減少し、周波数f1〜f2の範囲では振幅係数が一定で、周波数f2〜fbの範囲で周波数に比例して振幅係数が増加するように設定すれば、図8の(b)に示すようにスペクトラムの分布が一様でない有色ガウス性雑音を得ることができる。
【0076】
前記したガウス雑音発生装置50は、前記した周波数シンセサイザを用いて複数の正弦波を並列に生成して合成しているため、動作速度が高く、高周波帯までガウス雑音を発生することができる。
【0077】
前記したガウス雑音発生装置50は、正弦波の数に応じて回路規模が大きくなるので、正弦波の数が少なくてよい場合、例えば比較的狭帯域で高い周波数帯のガウス雑音信号を発生する場合に有利であるが、正弦波の数が多い場合には、図9に示すガウス雑音発生装置60のように、一組の周波数シンセサイザで周波数データと係数とを高速に切り換えるようにすれば、簡単な回路構成で広帯域なガウス雑音を発生することができる。
【0078】
このガウス雑音発生装置60は、前記した複数の正弦波の周波数データB1〜BW(K+L−1ビット)をアドレス順に予め記憶している周波数データメモリ61と、係数S1〜SWをアドレス順に予め記憶している係数データメモリ62と、これらのメモリからデータを順番に読み出すためのアドレスカウンタ63とを有している。
【0079】
アドレスカウンタ63は(W+1)進のカウンタであり、前記したクロック周波数fcの(W+1)倍の周波数のクロック信号CK′を計数し、クロック信号CK′が1〜Wクロック入力されるまでの計数出力で周波数データメモリ61と係数データメモリ62のアドレスを指定して、周波数データB1〜BWおよび係数S1〜SWをクロック信号CK′に同期して一つずつ読み出し、W+1クロック目が入力されたときにカウンタ24へクロック信号CKを1クロック出力する。なお、このクロック信号CKは後述するラッチ回路65へのリセット信号としても用いられる。
【0080】
カウンタ24はアドレスカウンタ63からのクロック信号CKを計数し、そのKビットの計数出力Nを、前記同様に乗算量子化回路25に入力する。
【0081】
乗算量子化回路25は、カウンタ24の計数出力Nと、周波数データメモリ61から順次出力されるK+L−1ビットの周波数データB1〜BWとの乗算および量子化を行い、同一の計数出力NについてLビットの量子化データq1〜qWをアドレス信号として波形メモリ21に順次出力する。
【0082】
波形メモリ21は、各量子化データq1〜qWで指定されたアドレスの振幅データD1〜DWを乗算器51へ順次出力する。
【0083】
乗算器51は、クロック信号CK′に同期して波形メモリ21から順次読み出される各振幅データD1〜DWに、クロック信号CK′に同期して係数データメモリ62から順次読み出される係数S1〜SWをそれぞれ乗算し、その乗算結果S1・D1〜SW・DWを加算器64へ順次出力する。
【0084】
加算器64は、乗算器51の出力とラッチ回路65の出力とを加算し、その加算結果をラッチ回路65に入力する。
【0085】
ラッチ回路65は、加算器64の出力をクロック信号CK′を受ける毎にラッチして、そのラッチ出力を加算器64に入力している。
【0086】
このため、アドレスカウンタ63の計数結果がWに達したとき、ラッチ回路65には、カウンタ24の計数結果Nの一つについて得られた各周波数の乗算結果S1・D1〜SW・DWの総和が記憶されることになる。
【0087】
なお、このラッチ回路65は、クロック信号CKをリセット信号として受けて記憶内容を0に戻す。
【0088】
ラッチ回路66は、クロック信号CKを受けたときにラッチ回路65にラッチされていたデータをラッチして、これを雑音信号データNgとして出力する。
【0089】
このように構成されたガウス雑音発生装置60では、アドレスカウンタ63の計数値が1つ歩進する毎に一つの周波数の振幅データが生成され、計数値がW歩進して周波数が異なるW種類の振幅データが1つずつ得られた後に、それらを加算した雑音信号データが出力されるとともに、カウンタ24の計数出力Nが1つ歩進するという動作が繰り返されて、前記ガウス雑音発生装置50と同様のガウス性雑音信号を発生する。
【0090】
このガウス雑音発生装置60では、カウンタ24が1つ歩進する間に、周波数データB1〜BWと係数S1〜SWと順番に切り換えて、各周波数毎の雑音信号データを生成しているので、正弦波の周波数が多い場合でも構成が簡単で済む。
【0091】
また、アドレスカウンタ63やラッチ回路65、66としては非常に高速なデバイスが実現されており、また、加算器64のビット数は、出力する雑音信号データの振幅分解能で決まり、一般的には20ビット以下なので、その遅延は問題とならない。
【0092】
また、前記したガウス雑音発生装置50、70を組み合わせて、ガウス雑音発生装置50より回路規模が小さく、ガウス雑音発生装置70より高速動作が可能なガウス雑音発生装置を構成することも可能である。
【0093】
例えば、Wが偶数の場合、図10に示すガウス雑音発生装置70のように、波形メモリ21、乗算量子化回25および乗算器51を例えば2組(3組や4組でもよい)設ける。
【0094】
そして、周波数データメモリ61′には、1つのアドレス指定で2つの周波数データを出力できるように記憶しておき、係数データメモリ62′にも、1つのアドレス指定で周波数データメモリ61から出力される2つの周波数データにそれぞれ対応する2つの係数を出力できるように記憶しておく。
【0095】
例えば、周波数データメモリ61′から、一方の乗算量子化回路25(1)には周波数データB1〜BW/2を順番に出力し、他方の乗算量子化回路25(2)には周波数データB1+W/2〜BWを順番に出力させる。
【0096】
また、同様に係数データメモリ62′から、一方の乗算器51(1)には計数S1〜SW/2を順番に出力し、他方の乗算器51(2)には係数S1+W/2〜SWを順番に出力させる。
【0097】
なお、クロック信号CK′の周波数は(1+W/2)fcとし、アドレスカウンタ63′は、このクロック信号CK′が1〜W/2クロック入力されるまでの間は、その計数出力で周波数データメモリ61′、係数データメモリ62′のアドレスを指定し、1+W/2クロック目にカウンタ24へクロック信号CKを出力する。
【0098】
また、乗算器51(1)、51(2)の出力は、一旦加算器71によって加算され、その加算結果が加算器64に出力される。
【0099】
このように構成されたガウス雑音発生装置70では、アドレスカウンタ63′の計数値が1つ歩進する毎に2つの異なる周波数の振幅データが生成され、計数値がW/2まで歩進して周波数が異なるW種類の振幅データが1つずつ得られた後に、それらを加算した雑音信号データが出力されるとともに、カウンタ24の計数出力が1つ歩進するという動作が繰り返されて、前記同様のガウス性雑音信号を発生する。
【0100】
したがって、このガウス雑音発生装置70は、前記ガウス雑音発生装置60のほぼ2倍の速度で動作可能となり、また、ガウス雑音発生装置50に比べて構成が簡単である。
【0101】
上記実施の形態では、Lビットのデータで指定される位相の正弦波を含む周期関数の振幅データを出力する振幅データ出力手段として、振幅データを予め記憶している波形メモリ21を用いていたが、これは、本発明を限定するものでなく、Lビットのデータに対して所定の近似演算を行って周期関数の振幅データを出力するようにしてもよい。
【0102】
例えば、波形精度の高さが要求されない高い周波数帯の正弦波信号を出力するような場合には、正弦波を台形波や三角波で近似した関数の演算によって振幅データを出力する。
【0103】
即ち、三角波で近似する場合、Lビットのデータqが0〜(2L/4)−1の範囲では、入力されたデータqをそのまま振幅データとして出力し、Lビットのデータqが(2L/4)〜(2L/2)−1の範囲では、(2L/2)−1から入力されたデータqを減じた値を振幅データとして出力し、Lビットのデータqが(2L/2)〜(3・2L/4)−1の範囲では、(2L/2)から入力されたデータqを減じた値を振幅データとして出力し、Lビットのデータqが(3・2L/4)〜(2L−1)の範囲では、入力されたデータqから2Lを減じた値を振幅データとして出力する。
【0104】
また、台形波で近似する場合には、前記した三角波の振幅データのうち、Lビットのデータqが(2L/4)−1の前後の所定範囲および(3・2L/4)−1の前後の所定範囲で、固定の振幅データを出力するようにする。
【0105】
このように三角波や台形波等で近似した振幅データを演算出力する振幅データ出力手段では、その演算処理が非常に簡単なので極めて高速に周期関数信号を出力できる。なお、この近似信号に対してフィルタを用いて帯域制限すれば、出力波形を正弦波にすることができる。
【0106】
一方、周波数が低くても波形精度の高さが要求されるような場合には、以下のような近似式の演算を行う。
【0107】
即ち、aの絶対値が1/4以下の範囲で例えば正弦関数sin(2πa)に対し、2×10−4の精度を持つ近似式は、
f(a)=2πa〔1−0.16605(2πa)2+0.00761(2πa)4〕
ただし、a=q/(2L−1)
と表される。
【0108】
したがって、Lビットのデータqが0〜(2L/4)−1の範囲では、
f(q/2L)×(2L−1−1)
の演算結果を整数化して得られる振幅データを出力する。
【0109】
また、Lビットのデータqが(2L/4)〜(3・2L/4)−1の範囲では、
f(1/2−q/2L)×(2L−1−1)
の演算結果を整数化して得られる振幅データを出力する。
【0110】
また、Lビットのデータqが(3・2L/4)〜(2L−1)の範囲では、
f(q/2L−1)×(2L−1−1)
の演算結果を整数化して得られる振幅データを出力する。
【0111】
なお、上記したガウス雑音発生装置70は、前記周波数シンセサイザ20を周波数固定の信号源として用いてものであるが、周波数シンセサイザの使用形態として、周波数掃引あるいは手動操作で出力信号の周波数を頻繁に変更する場合もある。
【0112】
このように出力信号の周波数を頻繁に変更する周波数シンセサイザでは、周波数変更時の位相不連続による雑音の発生が問題となる。
【0113】
図11は、この位相不連続による雑音の発生を抑えることができる周波数シンセサイザ80の構成を示している。
【0114】
この周波数シンセサイザ80は、前記周波数シンセサイザ20と同様に、振幅データ出力手段としての波形メモリ21、周波数設定手段23、カウンタ24および乗算量子化回路25を有しており、乗算量子化回路25のシフト加算回路30と波形メモリ21との間にLビットの加算回路81が設けられ、この加算回路81から波形メモリ21に入力されるLビットのデータを、ラッチ回路82がラッチ信号LHを受けてラッチし、そのラッチ出力Rを加算回路81に入力するように構成されている。
【0115】
また、制御回路83は、周波数設定手段23によって周波数データが変更される毎に、カウンタ24にセット信号SETを出力してカウンタ24の計数出力Nを値1(またはその近傍値)に初期化するとともに、この初期化されたカウンタ24の出力に対応したLビットデータがシフト加算回路30から出力されるタイミングに合わせてラッチ回路82にラッチ信号LHを出力して、波形メモリ21から出力される振幅データの周波数変更直前の位相値と周波数変更直後の位相値とをほぼ連続させる。
【0116】
このように構成された周波数シンセサイザ80では、図12の(a)に示すクロック信号CKが入力される毎に、カウンタ24の計数出力Nが図12の(b)のように1ずつ増加し、その計数出力Nと周波数設定手段23からの周波数データBとの積和演算が前記同様に積和演算回路26(1)〜26(L)によってなされて各総数データvjが求められ、この総数データvjに対するシフト加算処理が前記したようにシフト加算回路30によって行われ、図12の(d)に示すように、シフト加算回路30の加算段数に応じたクロック数分(この例では5クロック分)だけ遅れて、計数出力Nに対する量子化データq(N,B)が出力される。
【0117】
この量子化データq(N,B)は、図12の(f)のようにラッチ回路82にラッチされているラッチ出力R(j)とともに加算回路81に入力され、その加算結果の下位Lビットのデータr(N,B)が図12の(g)のように波形メモリ21に出力され、波形メモリ21からはデータr(N,B)で指定されるアドレス(位相)の振幅データD(r)が出力される。
【0118】
上記動作は周波数データBが変更されるまで繰り返され、図13に示すように、クロック信号CKが1クロック入力される毎に、波形メモリ21に入力されるLビットのデータr(N,B)が、周波数データBによって決まる所定の間隔Δφずつ更新され、そのデータr(N,B)で指定されたアドレス(位相)の振幅データD(r)が順次出力される。
【0119】
ここで、カウンタ24の計数出力Nがiの時刻t0に、周波数設定手段23によって周波数データが例えばBより小さいB′に変更されると、図12の(c)に示すように、制御回路83から次のクロック入力時t1にカウンタ24に対してセット信号SETが出力され、カウンタ24の計数結果Nが図12の(b)のように1に初期化される。
【0120】
このため、この計数結果1に対する量子化データq(1,B′)が、図12の(d)のように、その前段階の量子化データq(i,B)に続いて前記した加算段数に応じたクロック数分遅れたt2時にシフト加算回路30から出力される。
【0121】
また、このt2時には、制御回路83から図12の(e)に示すようにラッチ信号LHがラッチ回路82に出力され、ラッチ回路82の出力R(j+1)は、その前段階に波形メモリ21に入力されていたLビットのデータr(i,B)と等しい値に更新される。
【0122】
このため、加算回路81からは、図12の(g)に示すように、r(i,B)+q(1,B′)の下位Lビットのデータr(1,B′)が出力されることになり、以後クロック信号CKが1クロック入力される毎に、r(i,B)+q(2,B′)、r(i,B)+q(3,B′)、……の下位Lビットのデータr(2,B′)、r(3,B′)、……が出力される。
【0123】
ここで、周波数データB′についての最初のデータr(1,B′)は、周波数データBについての最終のデータr(i,B)に量子化データq(1,B′)を加算してLビット化したものであり、量子化データq(1,B′)は、周波数データB′で振幅データを読み出すためのアドレス間隔Δφ′を示している。
【0124】
したがって、図13に示しているように、周波数データB′についての振幅データの位相は、周波数データBで出力される振幅データの最終位相r(i,B)を初期位相として間隔Δφ′ずつ増加していくことになり、周波数データの変更による位相の不連続は発生せず、この位相不連続による雑音も発生しない。
【0125】
また、前記周波数シンセサイザ20と同様に、設定する周波数データのビット数が多い場合でも、従来のDDS方式のものに比べて、少ない遅延時間で振幅データの位相の指定が行え、クロック周波数を下げることなく、高い周波数分解能を実現できる。
【0126】
なお、ここではカウンタ24を1に初期化していたが、カウンタ24を1の近傍値に初期化した場合でも、位相不連続によって発生する雑音のレベルを低減することができる。
【0127】
例えばカウンタ24の計数出力Nを0に初期化した場合には、周波数データB′について最初に得られる量子化データq(0,B′)が0となり、加算回路81の出力が前段階の出力値と等しくなるため、図13でJaに示すように、同一の振幅データが2回連続で出力されることになる。また、カウンタ24の計数出力Nを2に初期化した場合には、周波数データB′について最初に得られる量子化データがq(2,B′)となるため、図13でJbに示すように、周波数データBの最終の振幅データの位相に対して周波数データB′の最初の振幅データが2Δφ′増加する。
【0128】
このように、初期化する値を1の近傍値に設定した場合には、位相の完全な連続性は失われるが、その位相差が少ないので発生する雑音のレベルが小さくて済む。なお、この初期値の範囲は、波形メモリ21の入力ビット数Lに対する割合で限定する必要がある。初期値がKよりも十分小さければ、発生する雑音は十分小さい。例えば初期値を2L′としたとき、発生する雑音のピーク値は、初期値を1にしたときよりも6L′dB劣化する。
【0129】
また、この周波数シンセサイザ80の場合でも、前記周波数シンセサイザ20で説明したように、波形メモリ21の代わりにLビットのデータに対して所定の近似演算を行って周期関数の振幅データを出力する振幅データ出力手段を用いてもよい。
【0130】
【発明の効果】
以上説明したように、本発明の請求項1の周波数シンセサイザは、Lビットのデータで指定された位相の所定周期関数の振幅データを出力する振幅データ出力手段と、所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、クロック信号を計数するKビットのカウンタと、周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、カウンタのKビットの計数出力とビット単位の論理積を演算し、その演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、L組の積和演算回路によって求められた各総数データを、ビットシフトして加算し、その加算結果の下位Lビットを振幅データ出力手段に出力するシフト加算回路とを備えている。
【0131】
このため、設定する周波数データのビット数が多い場合でも、従来のDDS方式のものに比べて、少ない遅延時間で振幅データの位相の指定が行え、クロック周波数を下げることなく、高い周波数分解能を実現できる。
【0132】
また、本発明の請求項2の周波数シンセサイザは、
Lビットのデータを受け、該データで指定される位相の所定周期関数の振幅データを出力する振幅データ出力手段と、所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、クロック信号を計数するKビットのカウンタと、周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、L組の積和演算回路によって求められた各総数データを、ビットシフトして加算し、該加算結果の下位Lビットを出力するシフト加算回路と、振幅データ出力手段に入力されるLビットのデータをラッチ信号を受ける毎にラッチするラッチ回路と、シフト加算回路の出力とラッチ回路の出力とを加算し、該加算結果の下位Lビットを振幅データ出力手段に出力する加算回路と、周波数設定手段によって設定される周波数データが変更される毎に、カウンタを値1またはその近傍値に初期化するとともに、該初期化した値に対応するLビットのデータがシフト加算器から出力されるタイミングに合わせてラッチ回路にラッチ信号を出力して、振幅データ出力手段から出力される振幅データの周波数変更直前の位相値と周波数変更直後の位相値とをほぼ連続させる制御回路とを備えている。
【0133】
このため、設定する周波数データのビット数が多い場合でも、従来のDDS方式のものに比べて、少ない遅延時間で振幅データの位相の指定が行え、クロック周波数を下げることなく、高い周波数分解能を実現でき、しかも周波数変更時の位相不連続による雑音の発生を抑制できる。
【0134】
また、本発明の請求項3のガウス雑音発生装置は、周波数が異なる複数の正弦波を生成する正弦波生成部を有し、この正弦波生成部が生成した複数の正弦波を加算合成してガウス性の雑音信号を発生するガウス雑音発生装置において、正弦波生成部は、Lビットのデータで指定された位相の正弦波関数の振幅データを出力する振幅データ出力手段と、正弦波の数より大きい整数uについてのu次代数的整数を公比とする等比級数のなかから選択した周波数を所定のクロック信号の周波数で除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、クロック信号を計数するKビットのカウンタと、周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、カウンタのKビットの計数出力とビット単位の論理積を演算し、その演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、L組の積和演算回路によって求められた各総数データを、ビットシフトして加算し、その加算結果の下位Lビットを振幅データ出力手段に出力するシフト加算回路とを含み、u次代数的整数を公比とする等比級数のなかから重複せずに選択した複数の周波数の正弦波を発生するように構成されている。
【0135】
このため、振幅がガウス分布に極めて近似した高精度なガウス雑音信号を発生することができる。
【図面の簡単な説明】
【図1】本発明の周波数シンセサイザの実施の形態の構成を示すブロック図
【図2】本発明の要部の動作原理を説明するための図
【図3】実施形態の要部の回路構成例を示す図
【図4】実施形態の要部の回路構成例を示す図
【図5】実施形態の要部の回路構成例を示す図
【図6】実施形態の要部の回路構成例を示す図
【図7】本発明のガウス雑音発生装置の実施の形態の構成を示すブロック図
【図8】実施形態のガウス雑音発生装置の出力のスペクトラムの例を示す図
【図9】本発明のガウス雑音発生装置の他の実施の形態の構成を示すブロック図
【図10】本発明のガウス雑音発生装置の他の実施の形態の構成を示すブロック図
【図11】本発明の周波数シンセサイザの他の実施の形態の構成を示すブロック図
【図12】図11の実施の形態の動作を説明するためのタイミング図
【図13】図11の実施の形態の動作を説明するための図
【図14】従来装置の構成を示すブロック図
【符号の説明】
20、80 周波数シンセサイザ
21 波形メモリ
22 D/A変換器
23 周波数設定手段
24 カウンタ
25 乗算量子化回路
26 積和演算回路
27 アンド回路
28 加算器
30 シフト加算回路
31 シフト加算器
50、60、70 ガウス雑音発生装置
51 乗算器
52 係数設定手段
53 合成回路
61、61′ 周波数データメモリ
62、62′ 係数データメモリ
63、63′ アドレスカウンタ
64 加算器
65、66 ラッチ回路
71 加算器
81 加算回路
82 ラッチ回路
83 制御回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a frequency synthesizer having a wide frequency range and high frequency resolution, and a Gaussian noise generator using the same.
[0002]
[Prior art]
Conventionally, a DDS (Direct Digital Synthesizer) has been used as a frequency synthesizer capable of generating a periodic function signal having a stable frequency.
[0003]
FIG. 14 shows the configuration of the
[0004]
The
[0005]
The
[0006]
The D /
[0007]
In the
[0008]
Here, if the bit number M of the frequency data A set from the frequency setting means 12 is equal to the bit number L of the address signal, the output frequency F is fc · A / 2.LThe frequency that can be generated is fc · 1/2L~ Fc ・ 2L-1/ 2LUntil 2L-1It becomes street.
[0009]
However, this method has a problem that the setting resolution of the frequency that can be output is limited by the number of bits L of the address of the
[0010]
For this reason, in a DDS that requires a higher setting resolution, the M-bit frequency data A is composed of an L-bit integer part and an m-bit fractional part, and the
[0011]
[Problems to be solved by the invention]
However, using the
[0012]
In this case,
[0013]
However, when addition processing with a large number of bits is performed as described above, the delay time due to the carry processing of the
[0014]
That is, if the carry propagation delay time per bit of the
[0015]
An object of the present invention is to solve this problem and to provide a frequency synthesizer that can obtain a high frequency resolution in a wide band and a Gaussian noise generator using the same.
[0016]
[Means for Solving the Problems]
In order to achieve the object, the frequency synthesizer of
Amplitude data output means for receiving L-bit data and outputting amplitude data of a predetermined periodic function having a phase specified by the data;
Frequency setting means for setting (K + L-1) -bit data obtained by dividing a desired output frequency by a predetermined clock signal frequency as frequency data;
A K-bit counter for counting the clock signal;
The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
Each total number data obtained by the L sets of product-sum operation circuitsVj (j = 0 to L-1) to the upper side by j bits eachShift and addYuiAnd a shift addition circuit for outputting the lower L bits of the result to the amplitude data output means.
[0017]
The frequency synthesizer according to
Amplitude data output means for receiving L-bit data and outputting amplitude data of a predetermined periodic function having a phase specified by the data;
Frequency setting means for setting (K + L-1) -bit data obtained by dividing a desired output frequency by a predetermined clock signal frequency as frequency data;
A K-bit counter for counting the clock signal;
The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
Each total number data obtained by the L sets of product-sum operation circuitsVj (j = 0 to L-1) to the upper side by j bits eachShift and addYuiA shift addition circuit for outputting the lower L bits of the result;
A latch circuit that latches L-bit data input to the amplitude data output means each time a latch signal is received;
An addition circuit for adding the output of the shift addition circuit and the output of the latch circuit, and outputting the lower L bits of the addition result to the amplitude data output means;
Each time the frequency data set by the frequency setting means is changed, the counter is initialized to a value of 1 or a value close thereto, and L-bit data corresponding to the initialized value is received from the shift adder. A control circuit that outputs a latch signal to the latch circuit in accordance with the output timing, and makes the phase value immediately before the frequency change and the phase value immediately after the frequency change of the amplitude data output from the amplitude data output means substantially continuous And.
A frequency synthesizer according to
The shift addition circuit includes:
The total data is divided into a plurality of sets, and parallel processing for performing shift addition for each set in parallel and serial processing for performing serial shift addition processing for the parallel processing in combination are combined to generate the total data Vj (j = 0 to L-1) are shifted to the upper side by j bits, and the lower L bits are obtained as a result of addition.
[0018]
Further, the claims of the present invention4The Gaussian noise generator of
In a Gaussian noise generator that has a sine wave generator that generates a plurality of sine waves with different frequencies, and generates a Gaussian noise signal by adding and synthesizing a plurality of sine waves generated by the sine wave generator,
The sine wave generator is
Amplitude data output means for receiving L-bit data and outputting amplitude data of a sinusoidal function having a phase specified by the data;
(K + L−1) bits obtained by dividing a frequency selected from a geometric series having a u-order algebraic integer as a common ratio for an integer u larger than the number of sine waves by the frequency of a predetermined clock signal. Frequency setting means for setting data as frequency data;
A K-bit counter for counting the clock signal;
The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
Each total number data obtained by the L sets of product-sum operation circuitsVj (j = 0 to L−1) is shifted by j bits to the upper side and added.A shift addition circuit for outputting the lower L bits of the result to the amplitude data output means,
A sine wave of a plurality of frequencies selected without overlapping from the geometric series having the u-order algebraic integer as a common ratio is generated.
The Gaussian noise generator according to
The shift addition circuit includes:
The total data is divided into a plurality of sets, and parallel processing for performing shift addition for each set in parallel and serial processing for performing serial shift addition processing for the parallel processing in combination are combined to generate the total data Vj (j = 0 to L-1) are shifted to the upper side by j bits, and the lower L bits are obtained as a result of addition.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a
[0020]
In the
[0021]
The D /
[0022]
The frequency setting means 23 uses a multiplication quantum, which will be described later, as K + L−1 bit data (desired frequency data normalized by the clock frequency) obtained by dividing the desired output frequency F by the frequency fc of the clock signal CK as frequency data B. To the
[0023]
The
[0024]
The
[0025]
Here, the principle of this multiplication quantization will be described.
When the K bit count output N of the
N = [n0, N1, N2, ..., nK-2, NK-1]MSB
The value (sample number) is as follows.
[0026]
N =p = 0ΣK-1(Np2p)
However, the symbolX = CΣDIndicates the total from X = C to X = D (the same applies hereinafter).
[0027]
Further, when the frequency data B normalized by the clock frequency is represented by bit data,
B = [b1, B2, B3, ..., bK + L-3, BK + L-2, BK + L-1]LSB
The value can be expressed in binary decimal notation as follows.
B =i = 1ΣK + L-1(Bi2-I)
[0028]
Therefore, the product Q of the frequency data B and the count output N is
Q =p = 0ΣK-1(Np2p) ・i = 1ΣK + L-1(Bi2-I)
It becomes.
[0029]
Where 2 in the above equationp・i = 1ΣK + L-1(Bi2-I) Can be expressed as the sum of an integer part and a decimal part as follows.
i = 0Σp-1(Bpi2i) +i = 1ΣK + L-1(Bp + i2-I)
[0030]
Therefore, the product Q is
Q =p = 0ΣK-1np[i = 0Σp-1(Bpi2i) +i = 1ΣK + L-1(Bp + i2-I)]
= {i = 0
+ {i = 1
It becomes.
[0031]
Here, the first term of the above formula (1) is an unnecessary integer term (overflow component), and the second term of the required decimal term is 2LIs represented by an expression including an L-bit integer term as follows.
Q '=i = 1
[0032]
The upper L-bit integer term of the data Q ′ is quantized data.
Here, if j = L−i, the integer term of Q ′ becomes a value in the range of j = 0 to L−1. Therefore, the quantized data q obtained by quantizing the product of the frequency data B and the count output N into L bits is:
q =j = 0ΣL-1(2jvj) ... (2)
However, vj=p = 0ΣK-1(Npbp + L-j)
It is expressed.
[0033]
Each v of the above formula (2)jThe value ofp = 0ΣK-1(Npbp + L-j) Product sum operation for each value of j.jIs divided into (K + L−1) -bit frequency data B from the frequency setting means 23 into L sets of K-bit data whose leading bits are shifted by 1 bit, and each set of K-bit data and the K bits of the
[0034]
Also, the quantized data q is represented by each v obtained by the product-sum operation.j2 eachjAre multiplied and added, that is, as shown in FIG.jCan be obtained by shifting to the upper side by j bits and adding L bits data on the lower side of the addition result.
[0035]
The
[0036]
As shown in FIG. 2, each product-sum operation circuit 26 (1) to 26 (L) is composed of K AND
[0037]
Total number data v obtained by each product-sum operation circuit 26 (1) to 26 (L)jThe number of bits H is 2HIs a minimum value equal to or greater than K, which is much smaller than the number of bits K + L−1 of the frequency data B, so that the delay due to this addition does not cause a problem. For example, when K = 62 and L = 16, the total number data vjThe number of bits H is 6 and is very small compared to the number of bits of frequency data B K + L-1 = 77.
[0038]
Each total number data v obtained by each product-sum operation circuit 26 (1) -26 (L)jAre shifted one bit at a time by the
[0039]
For example, as shown in FIG. 4, the
[0040]
The shift adder 31 (1) calculates the total number data v0And total data v1Is added to the data shifted by 1 bit higher (data with 0 added to the lower bit), and the shift adder 31 (2) outputs the output of the shift adder 31 (1) and the total data v2Is added to the data shifted to the upper side by 2 bits (data in which 0 is added to the lower side by 2 bits).
[0041]
Similarly, total data vjAnd the quantized data q quantized to L bits is output from the shift adder 31 (L) at the final stage.
[0042]
However, when the
[0043]
That is, the expression (2) of the quantized data q can be expanded as follows.
(When L is an even number)
q = (v0+ 2v1+22(V2+ 2v3+24(V4+ 2v5)
+ ... + 2L-4(VL-4+ 2vL-3+2L-2(VL-2+ 2vL-1) ... (2)
[0044]
(When L is an odd number)
q = (v0+ 2v1+22(V2+ 2v3+24(V4+ 2v5)
+ ... + 2L-3(VL-3+ 2vL-2+2L-1vL-1... (3)
[0045]
The above formulas (2) and (3)XHere, as an example, a
[0046]
In the
[0047]
By including parallel processing in this way, the number of addition stages can be reduced to half that in the case of FIG. 4, and high-speed processing is possible. As described above, the formula (2) or the formula (3) is further changed to 2XIn summary, the number of addition stages can be further reduced. This will be described in the following section on actual operation.
[0048]
Next, the operation of this embodiment will be described in the case of K = 62 and L = 16, for example.
77-bit frequency data B (b from the frequency setting means 231~ B77) Is set, each of the product-sum operation circuits 26 (1) to 26 (16) outputs the 62-bit count output N (n0~ N61)
v0=p = 0Σ61(Npbp + 16)
v1=p = 0Σ61(Npbp + 15)
v2=p = 0Σ61(Npbp + 14)
......
v15=p = 0Σ61(Npbp + 1)
The total number of data v0~ V15Is output to the
[0049]
The
q = [v0+ 2v1+22v2+ ... + 214v14+215v15]mod16
= [V0+ 2v1+22v2+ ... + 210v10]mod16
+ [211v11]mod16+ [212v12]mod16
+ [213v13]mod16+ [214v14]mod16
+ [215v15]mod16
However, bracket sign [Y]mod16Indicates data obtained by converting data Y into 16 bits.
[0050]
Here, 6-bit data vjThe data generated by shifting 11 bits (adding 11 bits of 0 to the lower side) and taking the lower 16 bits is the original 6-bit data vjLower 5 bits of data VjIs equivalent to 11 bits shifted.
[0051]
Therefore, v11Lower 5 bits of V11, V12Lower 4 bits of V12, V13Lower 3 bits of V13, V14Lower 2 bits of V14, V15Lower 1 bit (LSB) of V15Then, the quantized data q is
q = [v0+ 2v1+22v2+ ... + 210v10]mod16
+ [211V11]mod16+ [212V12]mod16
+ [213V13]mod16+ [214V14]mod16
+ [215V15]mod16
= [{(V0+ 2v1+22(V2+ 2v3)}
+24{(V4+ 2v5+22(V6+ 2v7)}
+28{(V8+ 2v9+22v10}]mod16
+ [211{(V11+ 2V12)
+22(V13+ 2V14+24V15}]mod16
It becomes.
[0052]
The
[0053]
The number of addition stages of the
[0054]
In addition, the speed of the
[0055]
Thus, since the
[0056]
Further, since the
[0057]
Next, a Gaussian noise generator that generates a Gaussian noise signal using this frequency synthesizer will be described.
[0058]
In the Gaussian noise generator described below, each frequency of a plurality of sine waves is duplicated in a geometric sequence having a u-order algebraic integer as a common ratio for an integer u larger than the number of the sine waves. This is based on the knowledge that the distribution of the sample values of the synthesized wave obtained by synthesizing the plurality of sine waves approaches a Gaussian distribution (this proof method will not be described in detail).
[0059]
Here, the u-order algebraic integer is the following polynomial U (x),
U (x) = xu+ Mu-1xu-1+ ... + m1x + m0
(Coefficient m0~ Mu-1Is an integer)
Suppose that U (x) is irreducible in the range of integer coefficients, that is, U (x) cannot be factored.
[0060]
For example, the value E1 / uIs the root of the above polynomial U (x), that is, u-algebraic integer, this value E1 / uGeometric sequence with a common ratio
E1 / u/ G, E2 / u/ G, E3 / u/G,...,E(U-1) / u/ G
(G is an integer of 1 or more)
Thus, a Gaussian noise signal can be obtained by selecting the frequency of each sine wave without overlapping.
[0061]
FIG. 7 shows a sine wave generator that generates a plurality of sine waves having different frequencies in parallel by using a plurality of
[0062]
The
[0063]
The sine wave data is represented by q, where L-bit quantized data for designating an address is q.
cos (2πq / 2L)
(Sin (2πq / 2L).
[0064]
Each of the frequency setting means 23 (1) to 23 (W) is a frequency data B corresponding to a frequency selected without duplication from the geometric sequence having a common ratio of the u-th order algebraic integer.1~ BWAre set in the multiplication and quantization circuits 25 (1) to 25 (W), respectively.
[0065]
For example, when generating a noise signal having a spectrum distributed in the band of the upper limit frequency fa and the lower limit frequency fb, each frequency data B within the range of the frequencies fa / fc and fa / fc normalized by the clock frequency fc.1~ BWIs set as follows.
[0066]
B1= E1 / u/ G
B2= E2 / u/ G
B3= E3 / u/ G
......
BW= EW / u/ G
[0067]
Each multiplication quantization circuit 25 (1) to 25 (W) has frequency data B set by frequency setting means 23 (1) to 23 (W), respectively.1~ BWAnd the count output N of the
[0068]
The multipliers 51 (1) to 51 (W) are amplitude data D output from the waveform memories 21 (1) to 21 (W).1~ DWIn contrast, the amplitude coefficient S set by the amplitude setting means 521~ SWAnd the multiplication result is output to the
[0069]
The
[0070]
When an analog noise signal is required, the digital output of the
[0071]
In the
[0072]
For this reason, from each waveform memory 21 (1) to 21 (W),
D1= Cos (2πq1/ 2L)
D2= Cos (2πq2/ 2L)
D3= Cos (2πq3/ 2L)
......
DW= Cos (2πqW/ 2L)
Amplitude data D1~ DWAre output in parallel every clock.
[0073]
These amplitude data D1~ DWAmplitude coefficient S1~ SWIs multiplied and the multiplication result
D1'= S1cos (2πq1/ 2L)
D2'= S2cos (2πq2/ 2L)
D3'= S3cos (2πq3/ 2L)
......
DW'= SWcos (2πqW/ 2L)
Is output to the
[0074]
Here, the amplitude setting means 52 causes, for example, all the amplitude coefficients S1~ SWIs set to an equal value, white Gaussian noise in which the spectrum is distributed almost uniformly in the set frequency range fa to fb can be obtained as shown in FIG.
[0075]
Further, the amplitude coefficient decreases by the amplitude setting means 52 in inverse proportion to the frequency in the range of frequencies fa to f1, for example, the amplitude coefficient is constant in the range of frequencies f1 to f2, and proportional to the frequency in the range of frequencies f2 to fb. If the amplitude coefficient is set to increase, colored Gaussian noise with a nonuniform spectrum distribution can be obtained as shown in FIG.
[0076]
The
[0077]
The Gaussian
[0078]
The Gaussian
[0079]
The
[0080]
The counter 24 counts the clock signal CK from the
[0081]
The
[0082]
The
[0083]
The
[0084]
The
[0085]
The
[0086]
For this reason, when the count result of the
[0087]
The
[0088]
The
[0089]
In the
[0090]
In this
[0091]
Further, a very high speed device is realized as the
[0092]
It is also possible to configure a Gaussian noise generator that is smaller in circuit scale than the
[0093]
For example, when W is an even number, as in the
[0094]
The
[0095]
For example, the frequency data B from the
[0096]
Similarly, from the coefficient data memory 62 ', one multiplier 51 (1) receives the count S.1~ SW / 2Are sequentially output, and the other multiplier 51 (2) has a coefficient S1 + W / 2~ SWAre output in order.
[0097]
Note that the frequency of the clock signal CK ′ is (1 + W / 2) fc, and the
[0098]
The outputs of the multipliers 51 (1) and 51 (2) are once added by the
[0099]
In the
[0100]
Therefore, the
[0101]
In the above embodiment, the
[0102]
For example, when outputting a sine wave signal in a high frequency band that does not require high waveform accuracy, amplitude data is output by calculating a function that approximates a sine wave with a trapezoidal wave or a triangular wave.
[0103]
That is, when approximated by a triangular wave, the L-bit data q is 0 to (2LIn the range of / 4) -1, the input data q is output as amplitude data as it is, and the L-bit data q is (2L/ 4) to (2L/ 2) -1, the range is (2L/ 2) A value obtained by subtracting the data q input from −1 is output as amplitude data, and the L-bit data q is (2L/ 2) to (3.2LIn the range of / 4) -1, (2L/ 2), the value obtained by subtracting the input data q is output as amplitude data, and the L-bit data q is (3.2).L/ 4) to (2L-1), the input data q to 2LThe value obtained by subtracting is output as amplitude data.
[0104]
Further, in the case of approximating with a trapezoidal wave, the L-bit data q is (2L/ 4) -1 predetermined range before and after (3.2)L/ 4) Fixed amplitude data is output within a predetermined range before and after -1.
[0105]
As described above, the amplitude data output means for calculating and outputting the amplitude data approximated by a triangular wave, a trapezoidal wave or the like can output a periodic function signal at a very high speed because the calculation process is very simple. Note that the output waveform can be made a sine wave by band limiting the approximate signal using a filter.
[0106]
On the other hand, when a high waveform accuracy is required even when the frequency is low, the following approximate expression is calculated.
[0107]
That is, 2 × 10 for the sine function sin (2πa) in the range where the absolute value of a is ¼ or less.-4An approximate expression with the accuracy of
f (a) = 2πa [1−0.16605 (2πa)2+0.00761 (2πa)4]
However, a = q / (2L-1)
It is expressed.
[0108]
Therefore, L-bit data q is 0 to (2L/ 4) -1 range,
f (q / 2L) X (2L-1-1)
The amplitude data obtained by converting the result of the calculation into an integer is output.
[0109]
Also, the L-bit data q is (2L/ 4) to (3.2)L/ 4) -1 range,
f (1 / 2-q / 2L) X (2L-1-1)
The amplitude data obtained by converting the result of the calculation into an integer is output.
[0110]
The L-bit data q is (3.2)L/ 4) to (2LIn the range of -1)
f (q / 2L-1) x (2L-1-1)
The amplitude data obtained by converting the result of the calculation into an integer is output.
[0111]
The
[0112]
As described above, in the frequency synthesizer that frequently changes the frequency of the output signal, the generation of noise due to phase discontinuity when the frequency is changed becomes a problem.
[0113]
FIG. 11 shows the configuration of a
[0114]
Similar to the
[0115]
The
[0116]
In the
[0117]
The quantized data q (N, B) is input to the
[0118]
The above operation is repeated until the frequency data B is changed. As shown in FIG. 13, every time one clock signal CK is input, L-bit data r (N, B) input to the
[0119]
Here, when the frequency data is changed to B ′ smaller than B, for example, by the frequency setting means 23 at time t0 when the count output N of the
[0120]
Therefore, the quantized data q (1, B ′) corresponding to the
[0121]
At t2, the latch signal LH is output from the
[0122]
For this reason, as shown in FIG. 12G, the
[0123]
Here, the first data r (1, B ′) for the frequency data B ′ is obtained by adding the quantized data q (1, B ′) to the final data r (i, B) for the frequency data B. Quantized data q (1, B ′) indicates an address interval Δφ ′ for reading amplitude data with frequency data B ′.
[0124]
Therefore, as shown in FIG. 13, the phase of the amplitude data for the frequency data B ′ increases by an interval Δφ ′ with the final phase r (i, B) of the amplitude data output as the frequency data B as the initial phase. Therefore, phase discontinuity due to the change of frequency data does not occur, and noise due to this phase discontinuity does not occur.
[0125]
Similarly to the
[0126]
Here, the
[0127]
For example, when the count output N of the
[0128]
Thus, when the value to be initialized is set to a value close to 1, the complete continuity of the phase is lost, but since the phase difference is small, the level of generated noise can be small. Note that the range of the initial value needs to be limited by a ratio to the number L of input bits of the
[0129]
Even in the case of the
[0130]
【The invention's effect】
As described above, the frequency synthesizer according to
[0131]
Therefore, even when the number of bits of frequency data to be set is large, the phase of the amplitude data can be specified with a small delay time compared to the conventional DDS method, and high frequency resolution is achieved without lowering the clock frequency it can.
[0132]
The frequency synthesizer according to
An amplitude data output means for receiving L-bit data and outputting amplitude data of a predetermined periodic function having a phase specified by the data, and a desired output frequency divided by a predetermined clock signal frequency (K + L−) 1) A frequency setting means for setting bit data as frequency data, a K-bit counter for counting clock signals, and (K + L-1) -bit frequency data from the frequency setting means for each bit at the head bit Dividing into L sets of shifted K bit data, calculating the K bit count output of the counter and the logical product in units of bits, and obtaining the total number of bits for which the calculation result is 1 for each set of L sets of products The total number of data obtained by the sum operation circuit and the L sets of product-sum operation circuits are bit-shifted and added, and the lower L bits of the addition result are output. A latch circuit that latches L-bit data input to the amplitude data output means every time a latch signal is received, and the output of the shift adder circuit and the output of the latch circuit are added, and the lower L bits of the addition result are Each time the frequency data set by the adding circuit that outputs to the amplitude data output means and the frequency setting means is changed, the counter is initialized to the
[0133]
Therefore, even when the number of bits of frequency data to be set is large, the phase of the amplitude data can be specified with a small delay time compared to the conventional DDS method, and high frequency resolution is achieved without lowering the clock frequency In addition, the generation of noise due to phase discontinuity when changing the frequency can be suppressed.
[0134]
The Gaussian noise generator according to
[0135]
Therefore, it is possible to generate a highly accurate Gaussian noise signal whose amplitude is very close to a Gaussian distribution.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of a frequency synthesizer of the present invention.
FIG. 2 is a diagram for explaining the operation principle of the main part of the present invention.
FIG. 3 is a diagram illustrating a circuit configuration example of a main part of the embodiment.
FIG. 4 is a diagram showing a circuit configuration example of a main part of the embodiment.
FIG. 5 is a diagram showing a circuit configuration example of a main part of the embodiment.
FIG. 6 is a diagram showing a circuit configuration example of a main part of the embodiment.
FIG. 7 is a block diagram showing a configuration of an embodiment of a Gaussian noise generator according to the present invention.
FIG. 8 is a diagram illustrating an example of an output spectrum of the Gaussian noise generator according to the embodiment;
FIG. 9 is a block diagram showing the configuration of another embodiment of the Gaussian noise generator of the present invention.
FIG. 10 is a block diagram showing the configuration of another embodiment of the Gaussian noise generator of the present invention.
FIG. 11 is a block diagram showing the configuration of another embodiment of the frequency synthesizer of the present invention.
12 is a timing chart for explaining the operation of the embodiment of FIG.
13 is a diagram for explaining the operation of the embodiment of FIG. 11;
FIG. 14 is a block diagram showing a configuration of a conventional apparatus.
[Explanation of symbols]
20, 80 frequency synthesizer
21 Waveform memory
22 D / A converter
23 Frequency setting means
24 counter
25 Multiplication quantization circuit
26 Product-sum operation circuit
27 AND circuit
28 Adder
30 shift adder circuit
31 shift adder
50, 60, 70 Gaussian noise generator
51 multiplier
52 Coefficient setting means
53 Synthesis Circuit
61, 61 'Frequency data memory
62, 62 'coefficient data memory
63, 63 'address counter
64 adder
65, 66 Latch circuit
71 adder
81 Adder circuit
82 Latch circuit
83 Control circuit
Claims (5)
所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、
前記クロック信号を計数するKビットのカウンタと、
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを前記振幅データ出力手段に出力するシフト加算回路とを備えた周波数シンセサイザ。Amplitude data output means for receiving L-bit data and outputting amplitude data of a predetermined periodic function having a phase specified by the data;
Frequency setting means for setting (K + L-1) -bit data obtained by dividing a desired output frequency by a predetermined clock signal frequency as frequency data;
A K-bit counter for counting the clock signal;
The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
The L sets of each total number data Vj obtained by the product sum operation circuit (j = 0~L-1), said lower L bits of the result obtained by adding a shift to the higher side by j bits each amplitude data A frequency synthesizer comprising a shift addition circuit for outputting to an output means.
所定のクロック信号の周波数で所望の出力周波数を除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、
前記クロック信号を計数するKビットのカウンタと、
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを出力するシフト加算回路と、
前記振幅データ出力手段に入力されるLビットのデータをラッチ信号を受ける毎にラッチするラッチ回路と、
前記シフト加算回路の出力と前記ラッチ回路の出力とを加算し、該加算結果の下位Lビットを前記振幅データ出力手段に出力する加算回路と、
前記周波数設定手段によって設定される周波数データが変更される毎に、前記カウンタを値1またはその近傍値に初期化するとともに、該初期化した値に対応するLビットのデータが前記シフト加算器から出力されるタイミングに合わせて前記ラッチ回路にラッチ信号を出力して、前記振幅データ出力手段から出力される振幅データの周波数変更直前の位相値と周波数変更直後の位相値とをほぼ連続させる制御回路とを備えた周波数シンセサイザ。Amplitude data output means for receiving L-bit data and outputting amplitude data of a predetermined periodic function having a phase specified by the data;
Frequency setting means for setting (K + L-1) -bit data obtained by dividing a desired output frequency by a predetermined clock signal frequency as frequency data;
A K-bit counter for counting the clock signal;
The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
Shift for outputting the lower L bits of the result of the L sets of the total number of data obtained by the product sum operation circuits Vj (j = 0~L-1) , obtained by adding a shift to the higher side by j bits, respectively An adder circuit;
A latch circuit that latches L-bit data input to the amplitude data output means each time a latch signal is received;
An addition circuit for adding the output of the shift addition circuit and the output of the latch circuit, and outputting the lower L bits of the addition result to the amplitude data output means;
Each time the frequency data set by the frequency setting means is changed, the counter is initialized to a value of 1 or a value close thereto, and L-bit data corresponding to the initialized value is received from the shift adder. A control circuit that outputs a latch signal to the latch circuit in accordance with the output timing, and makes the phase value immediately before the frequency change and the phase value immediately after the frequency change of the amplitude data output from the amplitude data output means substantially continuous And a frequency synthesizer.
前記総数データを複数組に分け、各組毎のシフト加算を並行して行う並列処理と、該並列処理に対するシフト加算処理をカスケードに行う直列処理とを組合せて、前記各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを得ることを特徴とする請求項1または請求項2記載の周波数シンセサイザ。The total data is divided into a plurality of sets, and parallel processing for performing the shift addition for each set in parallel and serial processing for performing the shift addition processing for the parallel processing in cascade are combined to generate the total data Vj (j = 3. The frequency synthesizer according to claim 1, wherein lower L bits are obtained as a result of shifting and adding 0 to L-1) to the upper side by j bits.
前記正弦波生成部は、The sine wave generator is
Lビットのデータを受け、該データで指定される位相の正弦波関数の振幅データを出力する振幅データ出力手段と、Amplitude data output means for receiving L-bit data and outputting amplitude data of a sinusoidal function having a phase specified by the data;
前記正弦波の数より大きい整数uについてのu次代数的整数を公比とする等比級数のなかから選択した周波数を所定のクロック信号の周波数で除算して得られる(K+L−1)ビットのデータを周波数データとして設定するための周波数設定手段と、(K + L−1) bits obtained by dividing a frequency selected from a geometric series having a u-order algebraic integer as a common ratio for an integer u larger than the number of sine waves by the frequency of a predetermined clock signal. Frequency setting means for setting data as frequency data;
前記クロック信号を計数するKビットのカウンタと、A K-bit counter for counting the clock signal;
前記周波数設定手段からの(K+L−1)ビットの周波数データを先頭ビットが1ビットずつずれたL組のKビットデータに分けて、前記カウンタのKビットの計数出力とビット単位の論理積を演算し、該演算結果が1となるビットの総数を各組毎にそれぞれ求めるL組の積和演算回路と、The frequency data of (K + L-1) bits from the frequency setting means is divided into L sets of K bit data whose leading bits are shifted by 1 bit, and the K bit count output of the counter and the logical product in units of bits are calculated. And L sets of product-sum calculation circuits for obtaining the total number of bits for which the calculation result is 1 for each set,
前記L組の積和演算回路によって求められた各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを前記振幅データ出力手段に出力するシフト加算回路とを含み、The amplitude data output means outputs the lower L bits of the total number data Vj (j = 0 to L−1) obtained by the L sets of product-sum operation circuits as a result of shifting and adding j bits to the upper side. And a shift addition circuit that outputs to
前記u次代数的整数を公比とする等比級数のなかから重複せずに選択した複数の周波数の正弦波を発生するように構成されていることを特徴とするガウス雑音発生装置。A Gaussian noise generator configured to generate a sine wave having a plurality of frequencies selected without overlapping from a geometric series having a u-algebraic integer as a common ratio.
前記総数データを複数組に分け、各組毎のシフト加算を並行して行う並列処理と、該並列処理に対するシフト加算処理をカスケードに行う直列処理とを組合せて、前記各総数データVj(j=0〜L−1)を、それぞれjビットずつ上位側にシフトして加算した結果の下位Lビットを得ることを特徴とする請求項4記載のガウス雑音発生装置。The total data is divided into a plurality of sets, and parallel processing for performing the shift addition for each set in parallel and serial processing for performing the shift addition processing for the parallel processing in cascade are combined to generate the total data Vj (j = 5. The Gaussian noise generating apparatus according to claim 4, wherein lower L bits are obtained as a result of shifting and adding 0 to L-1) by j bits to the upper side.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000186138A JP4520586B2 (en) | 2000-02-10 | 2000-06-21 | Frequency synthesizer and Gaussian noise generator |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000033493 | 2000-02-10 | ||
JP2000-33493 | 2000-02-10 | ||
JP2000186138A JP4520586B2 (en) | 2000-02-10 | 2000-06-21 | Frequency synthesizer and Gaussian noise generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001298327A JP2001298327A (en) | 2001-10-26 |
JP4520586B2 true JP4520586B2 (en) | 2010-08-04 |
Family
ID=26585198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000186138A Expired - Fee Related JP4520586B2 (en) | 2000-02-10 | 2000-06-21 | Frequency synthesizer and Gaussian noise generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4520586B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9036390B2 (en) | 2010-06-29 | 2015-05-19 | Nec Corporation | Frequency converter that suppresses crosstalk that occurs between a local oscillation signal and a received signal, and receiver that uses the frequency converter |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4835721A (en) * | 1984-09-28 | 1989-05-30 | Rockwell International Corporation | Frequency synthesizer |
US5179348A (en) * | 1991-08-22 | 1993-01-12 | Interstate Electronics Corporation | Progression of states numerically controlled oscillator |
US5430764A (en) * | 1993-09-01 | 1995-07-04 | Grand Valley State University | Direct digital frequency synthesizer |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5073869A (en) * | 1989-08-25 | 1991-12-17 | Titan Linkabit Corporation | Suppression of spurious frequency components in direct digital frequency synthesizer |
JP2907108B2 (en) * | 1996-03-19 | 1999-06-21 | 日本電気株式会社 | Frequency synthesis circuit |
-
2000
- 2000-06-21 JP JP2000186138A patent/JP4520586B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4835721A (en) * | 1984-09-28 | 1989-05-30 | Rockwell International Corporation | Frequency synthesizer |
US5179348A (en) * | 1991-08-22 | 1993-01-12 | Interstate Electronics Corporation | Progression of states numerically controlled oscillator |
US5430764A (en) * | 1993-09-01 | 1995-07-04 | Grand Valley State University | Direct digital frequency synthesizer |
Also Published As
Publication number | Publication date |
---|---|
JP2001298327A (en) | 2001-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7173554B2 (en) | Method and a digital-to-analog converter for converting a time varying digital input signal | |
JP2768778B2 (en) | High resolution phase for sine amplitude conversion | |
US4482974A (en) | Apparatus and method of phase-to-amplitude conversion in a sine function generator | |
EP1873612A1 (en) | Phase-coherent signal generator | |
JPH03253108A (en) | Direct digital synthesizer and signal generation | |
JPS5923614A (en) | Dimension filter circuit | |
US9824673B2 (en) | Apparatus for tracking the fundamental frequency of a signal with harmonic components stronger than the fundamental | |
JPH0350280B2 (en) | ||
JPS6055840B2 (en) | Tone generator for multitone synthesizer | |
JP3179527B2 (en) | Digital signal synthesis method and apparatus | |
US9685964B1 (en) | Fast-locking frequency synthesizer | |
JPH04229703A (en) | Method for generating phase correlation waveform | |
EP0782062A1 (en) | Reducing noise in digital frequency synthesizers | |
TW507424B (en) | Direct digital synthesizer | |
JP4520586B2 (en) | Frequency synthesizer and Gaussian noise generator | |
EP1126359B1 (en) | Frequency synthesizer and gaussian noise generator using the same | |
Sodagar et al. | A novel architecture for ROM-less sine-output direct digital, frequency synthesizers by using the 2/sup nd/-order parabolic approximation | |
US11303289B2 (en) | Frequency-multiplying direct digital synthesizer | |
RU2149503C1 (en) | Digital frequency synthesizer | |
Ashrafi et al. | A novel ROM-less direct digital frequency synthesizer based on Chebyshev polynomial interpolation | |
Alkurwy et al. | Implementation of low power compressed ROM for direct digital frequency synthesizer | |
GB2167888A (en) | Electronic musical instrument | |
KR20060027163A (en) | Device for digital frequency synthesizing using a phase accumulator | |
Omran et al. | FPGA-Based implementation of a new phase-to-sine amplitude conversion architecture | |
KR100656318B1 (en) | Numerically controlled oscillating method and apparatus for generating a digital sine waveform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100511 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100521 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |