数値制御発振器
From Wikipedia, the free encyclopedia
数値制御発振器 (すうちせいぎょはっしんき、Numerically controlled oscillator、NCO) は波形(通常は正弦波)の同期(すなわちクロックされた)離散時間離散値表現を生成するデジタルシグナルプロセッサ(DSP)[1]。ダイレクト・デジタル・シンセサイザ(DDS)を作る際に出力でデジタル-アナログ変換回路(DAC)と組み合わせて使われることが多い[3]。
他のタイプの発振器に比べ、機敏性、精度、安定性、信頼性の点で利点を持つ[2]。3G無線およびソフトウェアラジオシステムで使用されるデジタルアップダウン変換器、デジタルPLL、レーダーシステム、光・音響伝送ドライバ、マルチレベルFSK/PSK変調器/復調器など多くの通信システムに使われている。
NCOは一般的に2つの部分からなる。
- 位相アキュムレータ(PA)。各クロックサンプルで周波数制御値を出力で保持している値に加算する。
- 位相振幅変換器(PAC)。フェーズアキュムレータの出力語(位相語)を通常、波形ルックアップテーブルとして使い、対応する振幅サンプルを提供する。ルックアップテーブルとともに補間を用い、精度を向上させ位相誤差ノイズを低減することがある。他の方法にはべき級数のような数学的アルゴリズムを含む位相振幅変換もあり、特にソフトウェアの数値制御発振器で使うことができる。
クロックが入ると位相アキュムレータ(PA)はモジュロ-2N のこぎり波を生成し、次にこれが位相振幅変換器によりサンプリングされた正弦波に変換される。ここでのNは位相アキュムレータで運ばれるビット数である。NはNCO周波数分解能を設定し、 普通はPACルックアップテーブルのメモリ空間を規定するビット数よりもずっと大きい。PACの容量が 2Mの場合、図1に示すようにPAの出力語をMビットにつめる必要がある。ただし切り捨てられたビットは補間に使うことができる。位相出力語の切り捨ては周波数精度に影響はなく、スプリアス産出の主な原因である時変周期的位相誤差を生成する。他のスプリアス生成機構はPAC出力(振幅)語の有限語長効果がある[4]。
クロック周波数に対する周波数精度は位相を計算するために使われる算術の精度によってのみ制限される[4]。NCOは位相および周波数に対し機敏であり、適切なノードを合計することで位相変調または周波数変調出力を生成するように、もしくは図に示すように直交出力を出すように簡単に修正することができる。
位相アキュムレータ
2進法位相アキュムレータは図1に示すようにNビット2進加算器とレジスタにより構成されている。各クロックサイクルは所与の出力周波数に対して一定である周波数制御語(FCW)で合計されたレジスタから得られた前の出力から成る新たなNビットを出力する。結果として得られる出力波形はFCWの整数値であるステップ幅の階段波形である。いくつかの構成では位相出力はレジスタの出力からとられるが、このレジスタは1クロックサイクルのレイテンシを導入するが加算器をより高いクロックレートで動作させることができる。 加算器はそのオペランドの絶対値の合計がその容量(2N−1)を超えるとオーバーフローするように設計されている。オーバーフローのビットは破棄され、出力語幅は常に入力語幅に常に等しくなる。残差と呼ばれる剰余 はレジスタに格納され、サイクルが から始まる時間から繰り返される(図2参照)。位相アキュムレータは有限状態マシンであるため、最終的にいくつかのサンプルの残差Kは初期値に戻らなくてはならない。区間Kはグランド繰り返し数(GRR)と呼ばれ以下の式で与えられる。
GCDは最小公約数を求める関数である。GRRは与えられた の真の周期性を表し、高分解能によりNCOが非常に長くなる可能性がある。通常、われわれは平均オーバーフロー数により決まる動作周波数に興味があり、それは[5]
- (1)
と表される。可能な限り小さい増分変化として定義される周波数分解能は
- (2)
で与えられる。式 (1) は位相アキュムレータが分割比 のプログラム可能な非整数周波数分割器とみなせることを示している。