Convertir salida FFT real e imaginaria a frecuencia y amplitud

Estoy diseñando un analizador de audio en tiempo real para integrarlo en un chip FPGA. El sistema terminado leerá en una transmisión de audio en vivo y emitirá pares de frecuencia y amplitud de salida para las X frecuencias más frecuentes.

He logrado implementar la FFT hasta ahora, pero su salida actual es solo las partes reales e imaginarias de cada ventana, y lo que quiero saber es, ¿cómo convierto esto en los pares de frecuencia y amplitud?

¡He estado leyendo un poco sobre el FFT, y veo cómo pueden convertirse en una relación de magnitud y fase, pero necesito un formato que alguien sin un conocimiento de matemáticas complejas pueda leer!

Gracia

Gracias por estas respuestas rápidas!

La salida de la FFT que obtengo en este momento es un flujo continuo de pares reales e imaginarios. No estoy seguro de dividirlos en paquetes del mismo tamaño que mis paquetes de entrada (64 valores), y tratarlos como una matriz, o tratarlos individualmente.

La frecuencia de muestreo, no tengo ningún problema. Cuando configuré el FFT, sé que se está ejecutando fuera del reloj global de 50MHz. En cuanto al índice de matriz (si la salida es una matriz, por supuesto ...), no tengo idea.

Si decimos que la salida es una serie de matrices unidimensionales de 64 valores complejos:

1) ¿Cómo encuentro el índice de matriz [i]?

2) ¿Cada matriz devolverá una sola parte de frecuencia, o varias?

¡Muchas gracias por toda su ayuda! Estaría perdido sin él.

Respuestas a la pregunta(4)

Su respuesta a la pregunta