F
FPGA
Guest
Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
VHDL?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Use a look-up table.Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
A very common technique is a look-up table.Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
Could you please explain in more detailFPGA schrieb:
Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
A very common technique is a look-up table.
Ralf
Could you please explain in more detail
You can build a numerical oscillator:Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
library IEEE;Can anyone give guidelines on how to generate sine and cosine wave in
VHDL?
If you slightly modify the iteration, like this:On 14 Jan., 16:36, FPGA <FPGA.unkn...@gmail.com> wrote:
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
Thanks all for your help.comp.arch.fpga wrote:
On 14 Jan., 16:36, FPGA <FPGA.unkn...@gmail.com> wrote:
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
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 -