dear sir,
Here we are trying to do a digital sine wave generator using vhdl. we are getting problem with floating point multiplier. we found lot of disadvantages in look up table method. for low frequency signals the output is highly distorted. so we use digital signal processing method to generte sine waves. a simple simulation in c coding works well. the system has 16 bit out put. the problem is repeated multiplication causes truncation or round off. some times this makes all the bits to go to zero. as a result the system output is damping with time. but low phase and frequench distortion while comparing it with lookup table method. and it has high amplitude distortion.
the systme has 3 multipliers
the simple mathematics of the system is given here.
using complex exponentials
ejnө =cos nө+jsin nө=(x+jy)n
for the first time assign a value to x and y that will be the frequency(n=1).
ejө =cosө + jsinө = (x+jy) for n=1
ej2ө =cos2ө + jsin2ө = (x+jy)2 for n=2
so repeated multiplication will give the result .the real part as cos wave and imaginary part as sine wave.
how we can eliminate the trunction or rounding off problem (multiplier length should be a matter)