Anti-Aliasing Filter für 14Bit bei 5Msps

OP Persönliche Seite #5996378
Lesenswert?

Moin,

Ich möchte den Stromanstieg und Abfall in einer Spule bei 20kHz PWM 
auswerten. Dafür will ich möglichst schnell Abtasten und aus den Samples 
mit Linearer Regession die Steigung des Stroms in den verschiedenen 
Phasen des PWM Zykluses erfassen. (Induktivität usw. berechnen) Dafür 
plane ich eine Auflösung von 10mA bei 100A Messbereich.

Dafür will ich den ADC eines STM32H750 mit einem Differenziellen Signal 
versorgen. Der ADC soll mit 5Msps bei 14Bit laufen.

Datenblatt Angaben dazu:
ENOB Effective number of bits
Single ended - 12.2 -
Bits
Differential - 13.2 -
SINAD Signal-to-noise and
distortion ratio
Single ended - 75.2 -
dB
Differential - 81.2 -
SNR Signal-to-noise ratio
Single ended - 77.0 -
Differential - 81.0 -

Meine Signal Quelle ist ein Shunt mit MAX40056. Als Diff-Signal wollte 
ich den Out und die interne REF des MAX nutzen. Der MAX40056 hat eine 
Bandbreite 300kHz und scheint dann mit ca. 20db/Dekade zu fallen.

Wenn ich jetzt keine Auflösung verschenken möchte dann muss ich bei 
2,5MHz bei ca. -80db sein? Oder reicht auch weniger? Die Auflösung von 
effektiv 10000 Schritten würde ich gern erreichen. Immer voraus gesetzt 
der ADC kann das wirklich was im dB steht aber das werde ich dann sehen.

Würde also ein Diff OP wie der MCP6D11 als Filter 3. Ordnung mit 
fc=200kHz zwischen Stromverstärker und ADC ausreichen? Ich würde gern 
mit einem OP in dem Filter auskommen.

Ich dachte an die angehängte Schaltung aus Seite 22 von: 
https://www.ti.com/lit/an/sloa054e/sloa054e.pdf
Angehängte Dateien:
#5996692
Lesenswert?

Alexander B. schrieb:
> Wenn ich jetzt keine Auflösung verschenken möchte dann muss ich bei
> 2,5MHz bei ca. -80db sein? Oder reicht auch weniger?

Wie aggressiv das Antialiasfilter ausgelegt werden muss hängt letztlich 
davon ab, wie das Spektrum oberhalb der halben Samplingfrequenz (2,5MHz) 
aussieht. Je weniger dort los ist (i.e. Noisefloor/SINAD) umso weniger 
agressiv muss es ausfallen.

Wenn z.B. der Signal- oder Rauschpegel oberhalb von 2.5MHz -60 dBFS 
nicht überschreitet, dann reichen -20 dB Absenkung bereits aus. Wenn ich 
nicht weiss, wie das Spektrum aussieht, muss ich halt auf "Nummer 
Sicher" gehen.

Spannend ist in diesem Zusammenhang die Frage, wie sauber die analogen 
Eingänge der ST32H750 ADCs gegen Feedthrough von digitalen Signalen 
isoliert sind?

BTW: Laut Datenblatt (S. 158) sind ENOB/SINAD für die 16bit 
Konfiguration und 2MSPs/s spezifiziert. Ich würde erwarten, dass bei 5 
MSPs/s diese Werte deutlich niedriger ausfallen.
OP Persönliche Seite #5996726
Lesenswert?

Burkhard K. schrieb:
> Wie aggressiv das Antialiasfilter ausgelegt werden muss hängt letztlich
> davon ab, wie das Spektrum oberhalb der halben Samplingfrequenz (2,5MHz)
> aussieht. Je weniger dort los ist (i.e. Noisefloor/SINAD) umso weniger
> agressiv muss es ausfallen.
>
> Wenn z.B. der Signal- oder Rauschpegel oberhalb von 2.5MHz -60 dBFS
> nicht überschreitet, dann reichen -20 dB Absenkung bereits aus. Wenn ich
> nicht weiss, wie das Spektrum aussieht, muss ich halt auf "Nummer
> Sicher" gehen.

Wie kann ich an eine Abschätzung des Noisefloor ran gehen? Die 
Leistungsbrücke für die PWM liegt auf einem PCB unter dem Board mit dem 
Controller und Filter. Es liegt also mindestens eine GND und Vcc Plane 
zwischen der geschalteten Phase und dem Analog Pfad nach dem MAX40056. 
Die Schaltflanken der PWM würde ich aktuell auf 500V/µs und ich muss max 
mit 1000A/µs rechnen.

Das Signal des MAX liegt bei 1,5Vpp somit ist alles unter -80dB davon 
egal.
Nur wie schätze ich hab welche Störungen von >150µVpp auf dem Signal 
sind.

Burkhard K. schrieb:
> Spannend ist in diesem Zusammenhang die Frage, wie sauber die analogen
> Eingänge der ST32H750 ADCs gegen Feedthrough von digitalen Signalen
> isoliert sind?
>
> BTW: Laut Datenblatt (S. 158) sind ENOB/SINAD für die 16bit
> Konfiguration und 2MSPs/s spezifiziert. Ich würde erwarten, dass bei 5
> MSPs/s diese Werte deutlich niedriger ausfallen.

Guter Punkt das ist mir entgangen. Dann sollte ich also eher gucken das 
ich bei 1MHz genug Dämpfung erreiche. Ich kann dann ja die Verschiedenen 
ADC Konfigurationen ohne HW Änderungen vergleichen.
OP Persönliche Seite #5996749
Lesenswert?

Nur mit einem RC Filter nach dem MAX40056 habe ich bei ähnlichen 
Anwendungen ca. ein Rauschen von 1/1000FS = -60dBFS. Die fc lag bei der 
Anwendung bei ca. 20kHz. Aber der dort verwendete ADC sollte nur 67dB 
SINAD haben. Außerdem war in der Anwendung nur der Strommittelwert 
interessant und somit wurde synchron zur PWM mit 20kHz gesampled. Der 
Filter ist für diese Betrachtung quasi irrelevant?

Mit den Annahmen liegt mein noise floor bei -60dBFS. Ich muss also von 
300kHz auf 1MHz 20dB weg drücken. Das schafft ja schon ein Bessel 
2.Ordnung.
#5997640
Lesenswert?

> Was sagt das V/√Hz aus?

Rauschspannung

en = V/√Hz ist die Rasuchspannung/Wurzel(1Hz), also für 1Hz Bandbreite.

Nachfolgend die Formel, falls en konstant ist über die ganze 
Bandbreite.

Urmsnoise = Wurzel(Bandbreite) * en


Ganz allgemein gilt die nachfolgende Formel für beliebiges en(f).

Urmsnoise = Wurzel( Integral (en(f))^2 df von f1 bis f2 )

Bandbreite = f2-f1
OP Persönliche Seite #5997899
Lesenswert?

Danke für die Erklärung. Ich brauche also erstmal die Bandbreite des 
Signals am Eingang des MAX40056. Da wäre ein differenzieller RC-Tiefpass 
an dem Shunt sinnvoll mit dem ich auf fc=190kHz gehe damit ich ein 
Eingangssignal mit einer effektiven Bandbreite von 190*1,57kHz = 300kHz 
habe. Somit nutze ich de Bandbreite des MAX noch gut aus und habe aber 
eine Begrenzung des Inputnoise.
Ich werde mal ein Schaltplan mit Simulation machen.
OP Persönliche Seite #5998722
Lesenswert?

Laut dem DB des MAX40056 liegt der Input noise bei ca. 160nV/sqrt(Hz) 
bis ca. 300kHz und dann fällt das Rauschen stark ab. Zur Sicherheit 
würde ich aber für die Bandbreite den Korrekturfaktor für die effektive 
Bandbreite eines RC-TP von 1,57 ansetzen. Dann komme ich auf ca. 
110µVrms als Input Noise. Ich wollte den MAX40056 mit einer Verstärkung 
von 50V/V einsetzen. Somit muss ich mit 5,5µVrms am Ausgang des MAX40056 
rechnen. Dazu kommt das Rauschen der internen Referenz des MAX. Laut dem 
Graphen im DB beginnt das Rauschen bei ca. 2,5µV/sqrt(Hz) und fällt dann 
stetig ab. Demnach muss ich die Bandbreite der Referenz soweit wie 
möglich begrenzen. Da die sich eh nicht ändert ist das ja kein Problem.

Schaltplan kommt morgen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren