Numerically-controlled oscillator
|
A numerically controlled oscillator or digitally controlled oscillator (DCO) is an electronic system for synthesizing a range of frequencies from a fixed timebase. Unlike a phase-locked loop-based analog frequency synthesiser, it is capable of synthesizing a very wide range of precise frequency ratios. However, it is limited to producing frequencies that are less than half the timebase frequency, due to Nyquist's theorem. The name is by analogy with "voltage-controlled oscillator".
Note: the term "digitally controlled oscillator" has also been used to describe the combination of a voltage-controlled oscillator driven by a control signal from a digital-to-analog converter. This article is about the more recent design.
A DCO generally consists of a digital waveform generator that increments a phase counter by a per-sample increment. This phase is then looked up in a waveform table to create a sine waveform. If an analog output is desired, this waveform is sent to a digital-to-analog converter to produce an analog waveform, and then filtered by an analog filter to remove aliasing and DAC artefacts. Alternatively, the digital waveform may be used directly as an input for further digital signal processing.
In this way, the frequency ratios that can be produced are limited only to the precision of the arithmetic used to compute the phase. At the same time, DCOs are phase- and frequency-agile, and can trivially be modified to produce phase-modulated or frequency-modulated outputs, or quadrature outputs.
Note: the design as laid out here is simplified for clarity, and can be improved in several ways, including the use of better digital filters and digital waveform generators.