数値制御発振器
NCOは一般的に2つの部分からなる。
位相アキュムレータ(PA)。各クロックサンプルで周波数制御値を出力で保持している値に加算する。
位相振幅変換器(PAC)。フェーズアキュムレータの出力語(位相語)を通常、波形ルックアップテーブルとして使い、対応する振幅サンプルを提供する。ルックアップテーブルとともに補間を用い、精度を向上させ位相誤差ノイズを低減することがある。他の方法にはべき級数のような数学的アルゴリズムを含む位相振幅変換もあり、特にソフトウェアの数値制御発振器で使うことができる。
クロックが入ると位相アキュムレータ(PA)はモジュロ-2 のこぎり波を生成し、次にこれが位相振幅変換器によりサンプリングされた正弦波に変換される。ここでのNは位相アキュムレータで運ばれるビット数である。NはNCO周波数分解能を設定し、 普通はPACルックアップテーブルのメモリ空間を規定するビット数よりもずっと大きい。PACの容量が 2の場合、図1に示すようにPAの出力語をMビットにつめる必要がある。ただし切り捨てられたビットは補間に使うことができる。位相出力語の切り捨ては周波数精度に影響はなく、スプリアス産出の主な原因である時変周期的位相誤差を生成する。他のスプリアス生成機構はPAC出力(振幅)語の有限語長効果がある。
クロック周波数に対する周波数精度は位相を計算するために使われる算術の精度によってのみ制限される。NCOは位相および周波数に対し機敏であり、適切なノードを合計することで位相変調または周波数変調出力を生成するように、もしくは図に示すように直交出力を出すように簡単に修正することができる。