This analog synthesizer contains multiple VCO and NCO circuits.
I still remember being 10 years old and receiving a synthesizer for Christmas. I had hours of fun playing with the different settings and trying to understand how turning a simple knob would produce such a broad range of sounds. Little did I know, some fundamental oscillator circuits were responsible for this tone generation, and these frequency synthesis methods have found a home in communications systems, modulators, mixers, and other important applications.
Choosing between a VCO vs. NCO depends on what type of oscillation you are trying to achieve and what you are using as the input. In either case, the goal is to create a highly stable waveform for use in a variety of analog applications.
What is the Difference Between a VCO vs. NCO?
In the simplest sense, both types of circuits are analog and digital versions of the same device. A VCO is an analog frequency generator, where the output frequency can be adjusted by choosing values of passives in a circuit. VCOs can be constructed from op-amps, varactor diodes, transistors, or as a simple LC oscillator. VCOs can output a square wave, sine wave, sawtooth wave, or other waveform after some signal conditioning. The output frequency is proportional frequency to the DC magnitude at the input. An NCO produces a highly stable discretized oscillation from a noisy input oscillation. This is quite important in applications requiring stable oscillations during their signal processing.
Voltage-Controlled Oscillator (VCO)
A simple implementation of a VCO is to use a pair of op-amps with an RC circuit, where a varactor diode is used instead of a standard fixed capacitor. In a varactor diode, the capacitance is a function of the voltage drop across the diode. This is what allows the output frequency to be varied as a function of the input voltage. An example is shown in the circuit below, where two op-amps are used with a MOSFET. In this circuit, the output from the first op-amp switches between a positive and negative voltage whenever the MOSFET switches. The rate at which the MOSFET switches depends on the rate at which the varactor diode capacitance charges or discharges.
Example VCO circuit with two op-amps
Here, you can access two possible outputs; a triangular wave (Output 1) and a square wave (Output 2). In this circuit, the second op-amp functions as a Schmitt trigger, and it converts the triangle wave to a square wave. The hysteresis (duty cycle) in the Schmitt trigger is chosen by selecting appropriate values for R6 and R7. Note that a VCO can also be implemented as a Colpitts or Clapp oscillator, or as an LC oscillator in the above circuit, which will produce a sinusoidal output.
Numerically Controlled Oscillator (NCO)
An NCO is a digital frequency generator that can be used to clean up a noisy input oscillator signal. A microcontroller or FPGA is used to measure the speed of the rising edge of a clock pulse and determine the input frequency. This is then matched to a reference frequency value using a lookup table, and discrete values of the corresponding sine wave. The output is a discretized sine wave, which can then be run through a DAC to generate a very accurate clock frequency. The device can effectively take a noisy sinusoidal signal from a low-quality oscillator and produce a clean version of the oscillating signal at the intended frequency.
When the output digital signal is sent to the DAC, truncation causes spurious sideband frequencies to be seen around the desired output signal in a power spectrum. This is shown in the figure below. This is due to leveling off in the output when the temporal resolution in the digitized signal is too low. The same applies when the vertical (signal level quantization) resolution is too low. You can smooth out the signal with a very narrow (higher order) bandpass filter with center frequency equal to the desired output frequency.
Spurious sideband generation in the output from an NCO due to truncation and quantization.
Note that some NCO ICs will produce a triangular wave as well as a sinusoidal wave; the triangular wave can then be converted to a square wave with a Schmitt trigger. The RMS jitter provided by an NCO circuit can reach below 1 ps, making the output from these circuits an extremely stable reference sinusoid. This output can then be used in applications such as modulation/demodulation, digital PLLs, clock recovery, precision mixers, and any application that requires extremely precise time measurements. A great example is in time-to-digital conversion in LiDAR systems, where a small level of jitter will translate to a huge error in a rangefinding measurement.
Voltage-Controlled Crystal Oscillator (VCXO)
A related circuit is a VCXO, which is used for frequency pulling. In other words, this is used to correct the frequency of a clock signal that is output from a piezoelectric crystal. Typically, the output frequency can be tuned by ~100 ppm over a wide range of input voltage values. This type of tuning is required when a crystal is being used as a stable reference oscillator that must match a specific frequency very precisely. This is also important when a crystal oscillator is used as a system clock for clock synchronization of other oscillator circuits (i.e., in a PLL).
Modeling VCO and NCO Circuits and Systems
There are some important analyses that you should perform when designing a VCO or NCO. As an NCO is defined in terms of software rather than hardware, the simulations involved require simulating the desired sinusoid in your particular application. This means you can simply generate the desired sinusoidal signal you want to use in your circuit and vary the circuit with parameter sweeps, Monte Carlo analysis, or temperature sweeps.
The primary concerns in VCO design are linearity. The frequency of the signal output from an ideal VCO is a linear function of the input voltage. You should check that the output frequency is indeed a linear function of the input voltage by running DC sweeps. Eventually, the op-amps, MOSFET, varactor diode, or other components in your VCO will saturate if the DC input is too high. This can cause the output frequency and amplitude to no longer be a linear function of the input voltage (see the graph below for an example).
Example linear range for the output from a VCO
A VCO could have some level of harmonic distortion in the output if used to produce a sinusoidal signal, and you should check the output from the VCO using an FFT or by looking at the power spectrum. Harmonic distortion is manifested in the frequency domain as harmonic generation, where integer multiples of the desired output frequency are generated by the nonlinear components in the VCO.
When you’re working with ultra-precise timing and synthesis applications requiring a VCO vs. NCO, you can simulate each type of circuit and your entire system when you work with the right PCB design and analysis software. The simulation tools in PSpice Simulator for OrCAD and the full suite of analysis tools from Cadence are ideal for analyzing the behavior of your VCO or NCO circuit. You’ll also have access to manufacturer part search tools as you prepare to source components for your system if you want to build these circuits in your PCB layout from discrete components.
If you’re looking to learn more about how Cadence has the solution for you, talk to us and our team of experts.