Warum überschreitet der dB-Wert der FFT-Plots 96 dB für diese Signale, die von einem 16-Bit-ADC abgetastet werden?

Es gibt eine 16-Bit-Datenerfassungskarte und unten ist die Aufzeichnung von 120 Sekunden Spannungseingang bei einer Abtastrate von 500 Hz. Der blaue Plot entspricht der Eingangsspannung Vin und der grüne Plot der Ausgangsspannung Vout ist nach dem 6-Hz-Digitalfilter in der Zeitreihe:

Geben Sie hier die Bildbeschreibung ein

Und hier unten ist die FFT von Eingangs- und Ausgangssignalen:

Geben Sie hier die Bildbeschreibung ein

Grundsätzlich habe ich den folgenden Code in Python verwendet, um die FFT-Diagramme zu erhalten:

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')

Hier meine Frage:

Der Dynamikbereich eines 16-Bit-Systems beträgt 96 dB. Dies bedeutet, dass das maximale zu minimale Leistungsverhältnis 96 dB oder das minimale zu maximale Verhältnis -96 dB beträgt.

Wie kommt es dann, dass in meinen Plots die 96dB überschritten werden? Ich habe versucht herauszufinden, aber konnte den Grund nicht finden.

Die 16-Bit-Auflösung wird bei 7,16 VDC +0,06/-0,10 V für viel weniger Bits des Dynamikbereichs verschwendet

Antworten (3)

Der Dynamikbereich von (ungefähr) 96 dB bedeutet, dass das Verhältnis eines Vollaussteuerungssignals (FSD) zur Gesamtleistung des Quantisierungsrauschens ungefähr 96 dB beträgt. Oder die Gesamtrauschleistung beträgt etwa -96 dBFSD.

Wenn das Rauschen jedoch durch eine DFT in diskrete Frequenzbins analysiert wird, wird diese Rauschleistung auf die vielen Bins aufgeteilt. Eine andere Möglichkeit, dies zu berücksichtigen, besteht darin, dass die Rauschbandbreite jedes Frequenzbins eher kleiner als die Nyquist-Bandbreite ist und daher weniger Rauschleistung enthalten kann als die gesamte Bandbreite.

Tatsächlich besteht eine Möglichkeit, Rauschen von Störsignalen zu unterscheiden, darin, die DFT-Auflösungsbandbreite zu ändern. Die Rauschleistung sinkt, kohärente Störsignale nicht.

Gibt es eine Möglichkeit, dies so zu normalisieren, dass die Mindestleistung im Diagramm -96 dB und die Höchstleistung 0 dB beträgt? Dh die korrekte Darstellung des 16-Bit-Systems.
@ user1234: Was Sie sehen, IST die korrekte Darstellung.

Ich denke, die Frage könnte in etwa so umschrieben werden: -

Können Sie bei einem auf 16 Bit (96 dB) beschränkten Zeitbereichssignal die Datenproben so analysieren, dass Sie eine tiefere Auflösung erhalten?

Und die Antwort ist ja. Eine Fourier-Analyse analysiert alle Zeitbereichspunkte und ermittelt einen RMS-Wert für eine bestimmte Frequenz, und die erreichbare Auflösung kann mit dem verglichen werden, was passiert, wenn ein Signal gedithert wird.

Betrachten Sie einen verrauschten Steady-State-Wert. Sofortige Samples werden sowohl durch die ADC-Auflösung begrenzt als auch aufgrund des Rauschens ein zufälliges Element aufweisen. Wenn Sie jedoch 4 Stichproben gemittelt und mit vier weiteren Stichproben verglichen haben, ist die Differenz zwischen den beiden gemittelten Werten nicht so zufällig wie beim Vergleich einzelner Stichproben. Zusätzlich enthalten 4 gemittelte Samples 1 Bit mehr Auflösung. Siehe diesen Artikel von ADI zu diesem Thema : -

Geben Sie hier die Bildbeschreibung ein

Um dies weiter auszudehnen: Sie haben buchstäblich Hunderte, wenn nicht Tausende oder Zehntausende von Samples in Ihrem Zeitbereichsdiagramm. 16 gemittelte Samples ergeben 2 Bit mehr Auflösung. 64 Samples ergeben 3 Bit mehr, 256 Samples ergeben 5 Bit mehr, was einer Auflösung von 21 Bit entspricht.

21 Bit (256 Samples gemittelt) bedeutet, dass Sie einen Bereich von 126 dB auflösen können.

Beide FFTs zeigen ungefähr das gleiche dynamische Quantisierungsrauschen von 30+ dB in benachbarten Bins von 60.000 Samples und eine Eingangsauflösung von ungefähr -30 dB unter der DC-Spannung von 7 V. (Europäische Sommerzeit.)

Dies trägt zu der 10-Log-Anzahl von 50.000 Abtastungen des Rauschens und der Steigung des Filters bei, die weitere 30 dB Rauschleistungsfilterung bei max f bereitstellt, was meiner Schätzung eines gesamten FFT-Dynamikbereichs von 90 + dB entspricht

Viel sauberere FFT-Ergebnisse würden durch AC-Kopplungseingang und 40 dB Spannungsverstärkung oder durch Verwendung eines Sigma-Delta-ADC mit besserer Auflösung erzielt.

Die lange Abtastdauer von 2 Minuten fügt den Ergebnissen aufgrund des Quantisierungsrauschens nicht viel Information hinzu, obwohl sie bei 30 Hz eine schöne Subharmonische zeigt? (mit Breitband-PWM-Phasenrauschen) am DC-Ausgang mit einer etwas kleineren reinen Grundwelle bei Netzfrequenz.