Forum Discussion
Altera_Forum
Honored Contributor
14 years agoPhase must be continuous and can be done as follows (DDS structure):
LUT to contain one full cycle: data=round(32767*sin(2*pi*(0:255)/256)); --for 256 points, 16 bits signed or data = round(32767*exp(j*2*pi*(0:255)/256))); --for sin/cos then you address the LUT with 8 MSB of large n bit accumulator then the increment value decides the frequency: incr = 2^n *f/125,000,000 As such you keep phase continuity even when you change frequencies.