¿Los resultados de FFT a voltaje ADC?

0

Supongamos que tiene un ADC de N bits con un voltaje de referencia de +/- 0.5V, le proporciona valores binarios formateados de complemento a 2. Realiza una FFT de punto M en las muestras y extrae los resultados del espectro. Todos los contenedores son completamente 0 excepto uno (sé que esto no es realista, pero solo por el bien de las matemáticas).

¿Cuáles son los pasos / funciones correctos para convertir el valor complejo de ese contenedor de nuevo en la amplitud, en voltios, de la sinusoide original según lo muestreado por el ADC. Esto supone que se sabía que se introdujo una onda sinusoidal pura de frecuencia y amplitud constantes en el ADC.

    
pregunta user2913869

1 respuesta

1

Obviamente, solo puedes hacer el IFFT.

Si su pregunta es, en cambio, "qué forma de onda representa el i'th bin en la salida de FFT", eso depende de la versión particular de FFT que usó. La respuesta segura es buscar la documentación de su FFT. Por ejemplo, una FFT normal frente a una FFT real son dos cosas diferentes. También está el problema de la ordenación (¿frecuencia cero al principio o en cero?) Y el factor de escala general. Hay formas estándar de hacer esto, pero algunas bibliotecas de propósito especial pueden hacer elecciones no estándar, por ejemplo, si su único propósito es trazar una densidad espectral.

La FFT "regular" más común en realidad nunca producirá el resultado que sugirió, ya que las formas de onda básicas son complejas y su entrada tiene un valor real. Por ejemplo, la forma de onda: (1/8) * cos(2*pi*x*4/16) para x = 0..15 (un coseno con exactamente 4 ciclos en 16 muestras), tendrá una FFT de [0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0] . Por otro lado, la FFT real tendrá el resultado: [0,0,0,0,1,0,0,0,0] (solo 9 elementos).

La forma general es que una RFF de N puntos con un '1' en el índice F representa una forma de onda ADC: (2/N) * cos(2*pi*F*x/N) .

De nuevo, realmente tiene que revisar la documentación para la función que está usando. Lo que he descrito es la definición más estándar de la FFT. Por ejemplo, aquí está la documentación para numpy y scipy:

enlace

    
respondido por el Evan

Lea otras preguntas en las etiquetas