Estaba desarrollando un modulador BPSK con un AD9852. Como AD no parece ofrecer ninguna forma de simular funcionalmente sus IC de DDS, de repente me veo en la necesidad de cambiar para una arquitectura FPGA. No he trabajado con un FPGA o VHDL todavía. Después de investigar un poco, se me ocurrieron un par de preguntas (más bien, muchas) con respecto a las arquitecturas FPGA y DDS:
1) ¿Qué tan rápido puede ir el reloj de referencia interno en el FPGA? ¿Se puede dividir internamente para obtener un reloj de referencia más alto?
2) ¿Es posible hacer un DAC interno en el FPGA?
En caso de que no lo sea, ¿se puede enviar el reloj de referencia interno a un DAC externo? ¿Cómo se puede arreglar el retraso de la tubería en este caso?
En caso de que ambos sean posibles, ¿cuál sería recomendado?
3) En varios proyectos con FPGA, el modulador se simplifica utilizando el DDS para generar la frecuencia portadora, luego multiplexarlo con su complemento y la entrada de datos binarios. En los esquemas tradicionales, la modulación de fase se realiza a la salida del acumulador de fase, antes de la LUT. ¿Cómo se puede hacer esto de manera práctica? (Por lo que puedo ver con las herramientas FPGA, la mayoría de estos bloques ya están disponibles).
Además, la LUT se puede reducir al explotar la simetría de onda sinusoidal hasta un cuarto o simplemente eliminarlo y aplicar el algoritmo CORDIC. ¿Cómo se puede realizar este truncamiento de fase? en el caso de CORDIC, ¿existe un bloque CORDIC implementado para esto?
Por cierto, pregunta tonta. ¿Deben calcularse los valores de LUT para cada palabra de sintonización de frecuencia en el acumulador de fase o solo depende del reloj de referencia (en cuyo caso debería calcularse para una frecuencia de referencia específica)?
4) ¿Es posible realizar cálculos de punto flotante DSP en FPGA? Soy consciente de que hay algunos tableros incrustados con ARM Cortex.
Finalmente, ¿qué modelos / tableros de FPGA recomendarías para esta aplicación en particular (también teniendo en cuenta que tengo un presupuesto)?
Soy consciente de que estas son muchas preguntas, pero se agradecería cualquier ayuda sobre estos temas
Gracias de antemano