¿Por qué los dB de los gráficos FFT superan los 96 dB para estas señales muestreadas por un ADC de 16 bits?

Hay una placa de adquisición de datos de 16 bits y debajo está el registro de 120 segundos de entrada de voltaje a una frecuencia de muestreo de 500 Hz. El diagrama azul corresponde al voltaje de entrada Vin y el voltaje de salida del diagrama verde Vout es después del filtro digital de 6 Hz en series de tiempo:

ingrese la descripción de la imagen aquí

Y aquí debajo está la FFT de las señales de entrada y salida:

ingrese la descripción de la imagen aquí

Básicamente, utilicé el siguiente código en Python para obtener los gráficos de FFT:

plt.figure()
y = v_in
T = 1/sampling_rate
N = len(y)
yf = scipy.fftpack.fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)
amplitude = 2.0/N * np.abs(yf[:N//2])
pow = (N/sampling_rate)*amplitude*amplitude/2
plt.semilogx(xf, 20*np.log10(amplitude),'-b',  label="$Vin$")

y = v_out
T = 1/sampling_rate
N = len(y)
yf = scipy.fftpack.fft(y)
xf = np.linspace(0.0, 1.0/(2.0*T), N//2)
amplitude = 2.0/N * np.abs(yf[:N//2])
pow = (N/sampling_rate)*amplitude*amplitude/2
plt.semilogx(xf, 20*np.log10(amplitude), '-g',  label="$Vout$")
plt.legend(loc='upper right')

Aquí está mi pregunta:

El rango dinámico de un sistema de 16 bits es de 96dB. Esto significa que la relación de potencia máxima a mínima es 96dB o la relación mínima a máxima es -96dB.

¿Cómo es que entonces en mis parcelas se superan los 96dB? Traté de averiguar pero no pude encontrar la razón.

La resolución de 16 bits se desperdicia en 7,16 V CC +0,06/-0,10 V a muchos menos bits de rango dinámico.

Respuestas (3)

El rango dinámico de (aproximadamente) 96dB significa que la relación entre una señal de escala completa (FSD) y la potencia total del ruido de cuantificación es de aproximadamente 96dB. O la potencia de ruido total es de aproximadamente -96dBFSD.

Sin embargo, cuando el ruido se analiza en contenedores de frecuencia discretos mediante una DFT, esa potencia de ruido se divide entre los muchos contenedores. Otra forma de considerarlo es que el ancho de banda de ruido de cada intervalo de frecuencia es bastante menor que el ancho de banda de Nyquist, por lo que puede contener menos potencia de ruido que todo el ancho de banda.

De hecho, una forma de distinguir el ruido de la señal espuria es cambiar el ancho de banda de la resolución DFT. La potencia del ruido disminuirá, pero no las señales espurias coherentes.

¿Hay alguna manera de normalizar esto para que la potencia mínima en la gráfica sea -96dB y la máxima sea 0dB? Es decir, dar la representación correcta del sistema de 16 bits.
@ user1234: Lo que ves ES la representación correcta.

Creo que la pregunta podría parafrasearse a algo como esto: -

Con una señal en el dominio del tiempo restringida a 16 bits (96 dB), ¿puede analizar las muestras de datos de tal manera que obtenga una mayor profundidad de resolución?

Y la respuesta es sí. Un análisis de Fourier analizará todos los puntos en el dominio del tiempo y generará un valor RMS para una frecuencia en particular y la resolución alcanzable se puede comparar con lo que sucede cuando una señal se altera.

Considere un valor de estado estable ruidoso. Las muestras instantáneas estarán limitadas por la resolución del ADC y tendrán un elemento aleatorio debido al ruido. Sin embargo, si promedió 4 muestras y las comparó con otras cuatro muestras, la diferencia entre los dos valores promediados no será tan aleatoria como la comparación de muestras individuales. Además, 4 muestras promediadas contienen 1 bit más de resolución. Vea este artículo de ADI sobre el tema : -

ingrese la descripción de la imagen aquí

Ampliando esto aún más: tiene literalmente cientos, si no miles o decenas de miles de muestras en su gráfico de dominio de tiempo. 16 muestras promediadas dan 2 bits más de resolución. 64 muestras dan 3 bits más, 256 muestras dan 5 bits más equivalentes a una resolución de 21 bits.

21 bits (256 muestras promediadas) significa que puede resolver en un rango de 126 dB.

Ambos FFT muestran aproximadamente el mismo ruido de cuantificación dinámica de más de 30 dB en contenedores adyacentes de 60k muestras y una resolución de entrada de aproximadamente -30 dB por debajo del voltaje de CC de 7V. (est.)

Esto contribuye al número de registro 10 de 50k muestras del ruido y la pendiente del filtro que proporciona otros 30 dB de filtrado de potencia de ruido a f máxima dando mi estimación de un rango dinámico FFT total de 90+dB

Se obtendrían resultados de FFT mucho más limpios mediante la entrada de acoplamiento de CA y una ganancia de voltaje de 40 dB o mediante el uso de un ADC sigma delta con mejor resolución.

La larga duración del muestreo de 2 minutos no agrega mucha información a los resultados debido al ruido de cuantificación, a pesar de que muestra un buen subarmónico a 30 Hz. (con ruido de fase PWM de banda ancha) en la salida de CC. Con un fundamental puro ligeramente más pequeño en la frecuencia de línea.