Generar onda sinusoidal en VHDL, con el uso de DAC de 10 bits [cerrado]

-2

Quiero generar una onda sinusoidal con una frecuencia de 20 MHz, utilizando un FPGA (Cyclone 3 EP3C10E) y un convertidor DAC de 10 bits externo ( enlace ).

Tengo una vaga idea de que el algoritmo DDS o Cordic funcionará, pero no los conozco muy bien. ¿Podría por favor sugerir algunos códigos de ejemplo para ello?

    
pregunta Josh Vo

1 respuesta

3

Puede intentar generar un solo período la onda sinusoidal en matlab primero, extraer las muestras, almacenarlas en la RAM (o BRAM) y dejar que el FPGA lo reproduzca de forma cíclica, enviando los datos al DAC.

En matlab debes hacer

sin(2*pi*F*n*T)

Donde F es la frecuencia sinusoidal requerida, T es el período de tiempo del reloj generador y n puede correr desde 0 hasta el número que le da 2*pi , que es el período sinusoidal completo.

n es básicamente el número de muestras que tiene de la onda sinusoidal requerida con el reloj del generador.

Es posible que debas consultar el teorema de nyquist para comprobar que eres bueno.

    
respondido por el Assaf Malki

Lea otras preguntas en las etiquetas