Sine generator on FPGA-The Direct Digital Synthesizer
“I need a sine generator for my module. How do I generate sine/cosine signals, when the module has to be implemented in hardware?”.
The interesting question was asked by a student who was pursuing masters in VLSI design. She was trying to build a demodulator module for Binary Phase shift Keyed (BFSK) signals on the FPGA. Here is the blog post that gives a detail description of sine/cosine generators, that can be implemented on the FPGA.
Sine generators are one of the important components in many of the DSP applications. They are used in modulators, demodulators, up converters, down converters, etc.
The output of the sine/cosine wave is defined as: O(t) = sin((2pifrequency*t) + Phase) where the ‘frequency’ represents the desired output frequency of a sine wave in Hertz and Phase represents a phase offset in radians per second. A common method for digitally generating a sine/cosine wave is to employ a look up table scheme. The look up table stores samples of a sine wave. A digital integrator is used to generate a suitable phase argument that is mapped by the look up table to generate the output waveform.