F
FPGA
Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
VHDL?
Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
FPGA said:Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
A very common technique is a look-up table.
Ralf
Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
FPGA said:Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
comp.arch.fpga said:Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
You can build a numerical oscillator:
Initialization:
sin[0] = 1;
cos[0] = 0;
Iteration:
sin[t] = sin[t-1]-cos[t-1]*k;
cos[t] = cos[t-1]+sin[t-1]*k;
The Frequency depends on k. If k is 1/2**k you do not even net a
multiplier.
This only works for a continues sequence of values. If you need values
in random
order you must use a lookup table or CORDIC. Both are available as
cores in ISE.
Kolja Sulimma
cronologic ohg
You can build a numerical oscillator:Initialization:
sin[0] = 1;
cos[0] = 0;Iteration:
sin[t] = sin[t-1]-cos[t-1]*k;
cos[t] = cos[t-1]+sin[t-1]*k;The Frequency depends on k. If k is 1/2**k you do not even net a
multiplier.This only works for a continues sequence of values. If you need values
in random
order you must use a lookup table or CORDIC. Both are available as
cores in ISE.Kolja Sulimma
cronologic ohg
If you slightly modify the iteration, like this:
sin[t] = sin[t-1] - cos[t-1] * k;
cos[t] = cos[t-1] + sin[t] * k;
then the solution doesn't suffer from accumulating rounding errors, at
the cost of some distortion.- Hide quoted text -
- Show quoted text -
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.