A numerically controlled oscillator (NCO) is a digital signal generator, which synthesizes a discrete-time, discrete-valued representation of a sinusoidal waveform. You can typically use NCOs in communication systems. In such systems, they are used as quadrature carrier generators in I-Q mixers, in which baseband data is modulated onto the orthogonal carriers in one of a variety of ways (see Figure 1).
You can also use NCOs in all-digital phase-locked loops (PLLs) for carrier synchronization in communications receivers, or as standalone frequency shift keying (FSK) or phase shift keying (PSK) modulators. In these applications, the phase or the frequency of the output waveform varies directly according to an input data stream.
The NCO MegaCore® function supports the following multiple NCO architectures:
The NCO MegaCore function includes dual-output oscillator and quaternary frequency shift keying (QFSK) modulator example designs and generates a fully parameterizable discrete-valued representation of a sinusoidal waveform, allowing you to set the following parameters:
The NCO MegaCore function is optimized for all Intel® FPGA device families and generates the following simulation testbenches: