Guten Abend, ich habe ein Problem mit meinem Antialiasing Filter, und
zwar geht es um Folgendes:
Mein Frequenzspektrum des Messignals sieht wie folgt aus (s. Abbildung
1). Dieses soll über einen 500 kSps ADC gesampelt werden. Bedeutet,
Signale über >=250 kHz können nicht erfasst werden. Aus diesem Grund
würde ich gerne die Frequenzanteile >250 kHz rausfiltern, damit diese
keine Geistersignale erzeugen.
1. Frage: Wie würdet ihr das angehen? Welchen Filter würdet ihr
entsprechend der Pegel der Frequenzen empfehlen?
Um die Frequenzanteile unter 250 kHz möglichst ungedämpft, darüber aber
möglichst stark zu dämpfen habe ich einen Filter 10. Ordnung
(https://www.analog.com/media/en/technical-documentation/data-sheets/15697fs.pdf)
getestet und wie in Abbildung 2 beschaltet und auf meine Platine mit GND
Plane aufgelötet. Das Problem mit diesem ist nun allerdings, dass dieser
das Signal heruntersetzt (s. Abbildung 3, Eingangssignal und s.
Abbildung 4, Ausgangssignal). Das Eingangssignal ist ein +/-1 V
Wechselsignal mit einem Offset von 2,048 V
2. Frage: Ist der Filter etwas zu "anspruchsvoll"? Meine
Versorgungsspannung kommt aus einem DCDC-Wandler
(https://assets.tracopower.com/20191025120425/TVN3/documents/tvn3-datasheet.pdf).
Oder wie ist dieser ungewollte Offset zu erklären?
Heinrich Heine schrieb:> Oder wie ist dieser ungewollte Offset zu erklären?
Nun, ganz einfach: normalerweise interessieren sich Filter einen großen
Scheiß für die DC-Komponente.
Ich würde mal stark vermuten, dass ein von DC befreites Eingangssignal
(also per Kondensator angekoppelt) bei diesem Filter genau dieselbe
Ausgabe erzeugen würde...
Heinrich Heine schrieb:> Das Problem mit diesem ist nun allerdings, dass dieser> das Signal heruntersetzt (s. Abbildung 3, Eingangssignal und s.> Abbildung 4, Ausgangssignal). Das Eingangssignal ist ein +/-1 V> Wechselsignal mit einem Offset von 2,048 V
Verstehe das Problem nicht.
Das Ausgangssignal hat doch den gleichen Offset und Pegel.
Heinrich Heine schrieb:> Das Problem mit diesem ist nun allerdings, dass dieser> das Signal heruntersetzt
Was verstehst du unter "heruntersetzen"?
Es gibt Dinge wie "Offset" oder "Verstärkung" ...
In deinen Oszibildern sehe ich eine Invertierung, was aber bei einem
periodischen Signal einfach an der Triggereinstellung liegen wird.
Zeichne beide Signale (Eingang + Ausgang) gleichzeitig mit zwei Kanälen
auf, wobei du auf identische bzw. klare Offset- und
Empfindlichkeitseinstellung achten solltest. Außerdem schreibe klar, auf
welchem Kanal(Farbe) welches Signal liegt.
Ich kriegs kotzen bei dem Filter...
ich habe mal ein ein reines +/- 1 V Signal ohne DC-Anteil durch den
Filter geschickt (s. Abbildung 5). Gelb ist das Eingangssignal, Blau das
Ausgangssignal.
Das Signal kommt mir ziemlich verrauscht vor. Ich hab die Vermutung,
dass der Filter mein GND versaut.
Die Abbildung 6 Zeigt einmal eine Messung des ADC mit Filters mit und
einmal ohne Filter. Man sieht, dass das Signal ohne Filter deutlich
sauberer ist. Ich kanns leider nicht auf dem Oszi zeigen, da der Filter
ja bereits verlötet ist.
Ich habe die Vermutung, dass der Fall (s. Abbildung 7) eintritt.
Hallo,
ich wage zu bezweifeln, dass es sinnvoll ist, ein abtastendes Filter als
Anti-Aliasingfilter zu nutzen, vgl. Datenblatt S. 10, 1. Abs.:
"Input signals with frequencies near 2 • fCLK± fCUTOFF will be
aliased to the passband of the filter and appear at the output
unattenuated."
Also vielleicht solltest Du Deinem Anti-Aliasingfilter ein
Anti-Aliasingfilter spendieren?
Grüßle
Volker
Hallo Volker, vielen Dank für die Mühe, das hatte ich vorher gar nicht
so gesehen, danke dir !
Volker B. schrieb:> "Input signals with frequencies near 2 • fCLK± fCUTOFF will be> aliased to the passband of the filter and appear at the output> unattenuated."
So verrauscht ist das Eingangssignal ja eignentlich nicht, erst durch
das Filter wird es mit einem Rauschen überlagert. Aber vermutlich liegt
da genau der Hund begraben.
Wie würde man denn sowas üblicherweise lösen? Ich spiele mit dem
Gedanken den Filter ganz weg zu lassen bzw. eine einfaches RC-Glied zu
nehmen. Dieses Filtert zwar nicht ganz so satrk, ist aber in jedem Fall
besser als der hier verwendete Filter...
Die Pegel der Frequenzanteile >250 kHz sind ja noch recht überschaubar.
Am Ausgang eines SC-Filters sind auch immer Spikes vom Taktsignal des
Filters. Deshalb sollte man ein analoges Filter anhängen. Mit dem wird
dann das Taktsignal unterdrückt.
Die Frage wäre halt: was willst du erreichen.
Mir erschließt sich der Zusammenhang zwischen dem dargestellten Spektrum
und dem Sinus mit schätzungsweise 1 KHz nicht.
Um was für ein Signal handelt es sich denn genau, und warum ist es so
wichtig, Oberwellen so stark zu dämpfen? Für Audioanwendungen kommt man
üblicherweise mit einem einfachen RC TP aus, wenn's mehr sein soll
könnte man über einen aktiven (analogen) Filter mit höherer Ordnung und
trotzdem noch akzeptabler Welligkeit nachdenken. Aber sicher nicht 10.
Ordnung...
Joe F. schrieb:> Die Frage wäre halt: was willst du erreichen.
Abbildung 1 zeigt eine Messung einer Induktionsspannung mit einem
Herkömmlichen Oszi. Diese möchte ich anstelle des Oszi von einem ADC
aufgezeichnet werden. Natürlich wäre es schöner, wenn der ADC schneller
sampeln könnte, die 500 kSps sind aber leider gesetzt.
Den Sinus, den ich auf dem Oszi abgebildet habe, nehme ich nur deshalb
um die Probleme, die der Filter verursacht besser darstellen zu können.
Die beiden Signale haben also keinen direkten Bezug. Das
Frequenzspektrum aus Abbilung 1 zeigt lediglich warum ich gerne so stark
zwischen f_cut und f_stop filtern möchte.
Joe F. schrieb:> Oberwellen so stark zu dämpfen?
Aufgrund fs >= F_max/2. Ich bin mir aber wie gesagt nicht sicher ob das
bei dem Signal aus Abbildung 1 wirklich sinnvoll ist.
Heinrich Heine schrieb:> Abbildung 1 zeigt eine Messung einer Induktionsspannung mit einem> Herkömmlichen Oszi.
Ein Sägezahn?
Heinrich Heine schrieb:> Diese möchte ich anstelle des Oszi von einem ADC> aufgezeichnet werden.
Die Frage geht eher in die Richtung, was soll mit dem Signal nach dem
Aufzeichnen passieren?
Ist dir z.B. die exakte Amplitude der 1. u. 2. Oberwelle noch besonders
wichtig?
Ansonsten könntest du die Grenzfrequenz eines Filters niedrigerer
Ordnung auch weit unterhalb von fs/2 ansetzen und erreichst damit eine
gute Dämpfung.
Auch die Wahl des ADC spielt dabei eine Rolle. Ein Delta-Sigma Wandler
hat weniger hohen Anspruch an den Eingangsfilter (-> Oversampling).
Joe F. schrieb:> Ein Sägezahn?
Nein, das ist nicht Signalverlauf, sondern das Frequenzspektrum.
Joe F. schrieb:> Die Frage geht eher in die Richtung, was soll mit dem Signal nach dem> Aufzeichnen passieren?
Aus der Spannung wird aus weiteren Werten im späteren eine
Hysteresekurve errechnet.Je besser dabei die Spannung erfasst wird,
desto genauer sind natürlich die Ergebnisse.
Wie es mir scheint habe ich 2 Möglichkeiten:
1. Ich lasse den Filter ganz weg und nehme die Frequenzen über f_s/2 als
geringeres Übel mit
2. Ich Filtere ab einem einfachen RC-Glied mit 10uF und 60 Ohm, müsste
auf f_g=265 kHz dann kommen. Auch wenn die Pegel höheren Frequenzen
dabei kaum gedämpft werden.
Heinrich Heine schrieb:> Joe F. schrieb:>> Ein Sägezahn?>> Nein, das ist nicht Signalverlauf, sondern das Frequenzspektrum.
Schon klar, die Halbierung der jeweiligen Oberwellenamplituden sieht
halt nach Spektrum eines Sägezahnes aus. Egal.
Heinrich Heine schrieb:> Ich Filtere ab einem einfachen RC-Glied mit 10uF und 60 Ohm, müsste> auf f_g=265 kHz dann kommen.
60R und 10uF gibt f_g=265Hz (nicht KHz).
60R und 10nF wäre es dann.
Du kannst ja noch einen 6R + 100nF davor setzen, dann hast du so ca. 2.
Ordnung.
Oder 600R + 1nF dahinter.
Heinrich Heine schrieb:> 1. Ich lasse den Filter ganz weg und nehme die Frequenzen über f_s/2 als> geringeres Übel mit
Das geringe Übel wird sein das deine Messung im schlimmsten Fall
absoluter Mist ist. Du kannst den Filter nicht einfach so weglassen.
So ein Abtastender Filter ist für diese Anwendung absolut nicht
geeignet, da er selbst Alias Effekte erzeugt. Verabschiede dich davon
das du 250Khz als Grenzfrequenz nehmen kannst. Theoretisch stimmt das
mit der halben Abtastfrequenz aber in der Realität geht man eher um den
Faktor 5 oder mehr runter. Wenn du wirklich die 250KHz sauber messen
willst wirst du einen schnelleren ADC brauchen oder erheblichen Aufwand
bei deinem ANALOGEN Filter betreiben müssen.
Heinrich Heine schrieb:> Wie es mir scheint habe ich 2 Möglichkeiten:> 1. Ich lasse den Filter ganz weg und nehme die Frequenzen über f_s/2 als> geringeres Übel mit>> 2. Ich Filtere ab einem einfachen RC-Glied mit 10uF und 60 Ohm, müsste> auf f_g=265 kHz dann kommen. Auch wenn die Pegel höheren Frequenzen> dabei kaum gedämpft werden.
Oder 3. Ein klassisches aktives Filter. In meinem uralten Tietze/Schenk
(9. Auflage) findet sich dazu ein Filterkatalog und eine schöne
Anleitung.
Grüßle
Volker
Joe F. schrieb:> Schon klar, die Halbierung der jeweiligen Oberwellenamplituden sieht> halt nach Spektrum eines Sägezahnes aus. Egal.
Achso, tut mir Leid, sollte nicht blöd rüber kommen.
Guest schrieb:> Das geringe Übel wird sein das deine Messung im schlimmsten Fall> absoluter Mist ist. Du kannst den Filter nicht einfach so weglassen.
In wie fern, für den Fall dass höhere Frequenzanteile im Signal sind?
Das ist fast ausgeschlossen, da es sich hier schon um eine Messung mit
"extremen" Betriebsparametern handelt.
Guest schrieb:> Wenn du wirklich die 250KHz sauber messen> willst wirst du einen schnelleren ADC brauchen oder erheblichen Aufwand> bei deinem ANALOGEN Filter betreiben müssen.
Ja wie gesagt, wäre der ADC schneller hätte ich vermutlich diesen Thread
nicht aufmachen müssen und hätte eine menge Nerven gespart.
Das blöde ist nur, dass ich eine Platine mit den Pads für das Filter
angefertigt habe. Ich schätze ich werde dann ein RC-Glied mit einer,
vielleicht 2 Ornung daran löten. Einen aktiven Filter mit OpAmp zu
realisieren ist da nicht so ganz einfach.
Heinrich Heine schrieb:> Das blöde ist nur, dass ich eine Platine mit den Pads für das Filter> angefertigt habe. Ich schätze ich werde dann ein RC-Glied mit einer,> vielleicht 2 Ornung daran löten. Einen aktiven Filter mit OpAmp zu> realisieren ist da nicht so ganz einfach.
Wenn die dritte Dimension noch frei ist: ein kleines
Huckepack-Platinchen, evtl. auch senkrecht stehend? So ein Doppel-OP im
SO8-Gehäuse und ein bisschen 0603-Hühnerfutter benötigen nicht viel
Platz.
Grüßle
Volker
Was grad noch interessant sein könnte, zwischen Filter und ADC habe ich
einen Spannungsfolger zwischengeschaltet. Diesen müsste ich recht leicht
dafür verwenden. Vielleiche ein Sallenkey oder ähnliches ...
Dir ist aber bewusst das du mit 500KHz abtastrate niemals ein 250khz
Signal rekonstruiert bekommst? Im Anhang habe ich mal ein Bild mit der
Diskretisierung eines 100KHz und 200KHz Sinus mit 500KHz Abtastrate.
Das Teil arbeitet intern mit Eimerkettenspeichern, Z- Transformation als
Stichwort. Anwendungsfall als Filter fuer Digitalsignale. Der Takt ist
nicht angegeben. Vermutlich liegt der bei 5...20x der
Filtergrenzfrequenz. Dh es muss vor den Eingang ein Tiefpass als
Aliasfilter zu dem Takt und am Ausgang ebenfalls. Der staerkere Tiefpass
muss am Eingang sein.
Guest schrieb:> Im Anhang habe ich mal ein Bild mit der> Diskretisierung eines 100KHz und 200KHz Sinus mit 500KHz Abtastrate.
Da fehlt noch das passende Rekonstruktionsfilter.
Wolfgang schrieb:> Da fehlt noch das passende Rekonstruktionsfilter.
Das ist mir bewusst ich habe diese Frequenzen gewählt weil man bei genau
250KHz kein Ergebnis erhält...
Dennoch wird man nicht sinnvoll 250Khz rekonstruieren können und man
muss eben auch bei niedrigeren Frequenzen entsprechen die Daten
Rekonstruieren können. Das ist alles was ich damit zeigen wollte.
Wenn man wirklich bis 250 kHz Messen will / muss, sollte man einen
Schnelleren ADC wählen, so dass man das AA Filter einfacher Auslegen
kann. 250 kHz ist ein einem Bereich wohl ein aktives Filter mit OPs
schon anspruchsvoll wird (relativ hohe Frequenz dafür) aber eine
passives LC-Filter nicht nicht so einfach (Spulen relativ groß). Mit
etwas größeren Spulen dürfte ein LC Filter noch recht gut gehen. Das
Getaktete Filter ist nicht passend.
Wenn man mutig ist, und sehr gut in digitaler Signalverarbeitung könnte
man theoretisch das Signalspektrum ausnutzen und die Abtastrate passend
wählen dass die Frequenzen über 250 kHz in die Lücken im Signal fallen.
Da könnte man sie dann digital unterdrücken oder ggf. sogar noch mit
erfassen.
Die Amplitude nimmt zu hohen Frequenzen schon von sich aus ab, das
reduziert die Anforderungen an das AA filter.
Nabend Zusammen,
der Filter läuft nun ganz gut und Funktioniert auch soweit bis auf eine
kleinigkeit. Wie im Datenblatt erwähnt, erzeigt der Filter am Ausgang
ein negatives Offset von eta -29mV. Da ich das Signal im Nachgang
verstärken mächte (unter anderem um Faktor 10 - 100), wird der Offset
natürlich mitverstärkt. Das ganze Signal rutscht mir also weg.
Habt ihr eine Idee wie ich diesen Offset vermeiden kann ?
Also der ADC ist vorgegeben. Dieser Sampelt mit 500 kSps je Kanal. Das
Signal könnte theoretisch Frequenzbereiche von 50 Hz bis 380 kHz
enthalten. Es ist okay wenn Frequenzen über dem doppelten der Abtastrate
herausgefiltert werden. Um somit also das Signal mit einer hohen Güte zu
filtern wird eben auch der Filter 10 Ordnung verwendet.
Ich hatte überlegt einen 100nF Kerko mit einem 100 k-1 MOhm Widerstand
Hals Hochpass-Filter zu wählen. Ich möchte mir nämlich ungern ein
mögliches 50 Hz Messignal dämpfen.
Heinrich Heine schrieb:> Ich hatte überlegt einen 100nF Kerko mit einem 100 k-1 MOhm Widerstand> Hals Hochpass-Filter zu wählen. Ich möchte mir nämlich ungern ein> mögliches 50 Hz Messignal dämpfen.
Grenzfrequenz (-3dB) wäre dabei ca. 15 Hz, 50 Hz werden noch um ca.
-0.4dB abgeschwächt.
Ich würde das Filter nicht unnötig hochohmig machen (unnötiges
Widerstandsrauschen, wenig Impedanz für nachfolgende Stufe) und 5 Hz
Grenzfrequenz ist auch kein großes Problem (-0.04dB bei 50 Hz).
Kerkos haben Mikrofonie-Effekte (ausser du nimmst C0G), hier wäre ein
Folienkondensator besser, oder auch ein Elko.
Mit 3,3uF/10K kommst du auf eine Grenzfrequenz von ca. 4,8 Hz.
Unabhängig vom Ersteller des Threads würde mich interessieren wo der
Unterschied folgender Hochpassfilter liegt:
R = 1 MOhm
C = 10 nF
und
R = 10 kOhm
C = 1 uF
Sofern ein Spannungsfolger geschaltet wird, ist das doch fast egal weil
der Eingang ohnehin hochohmig ist. Oder woran entscheidet man die Größe
des Kondensators bzw. Widerstandes?
Heinrich Heine schrieb:> Das Signal kommt mir ziemlich verrauscht vor. Ich hab die Vermutung,> dass der Filter mein GND versaut.
Die einlaufenden hohen Frequenzen werden schon zum GND abgeleitet, das
ist ja normal. Der muss das aber abkönnen. Bei dem was du sonst noch
schreibst, glaube ich, dass du einfach unglücklich gebaut hast.
Ich verstehe es nicht.
Ich habe eben folgende Tiefpasskombinationen getestet:
R: 10 kOhm ; C=3,3 uF (Elko)
R: 10 kOhm ; C=10 uF (Kerko)
R: 100 kOhm ; C=100 nF (Kerko)
was tut sich? Nix ... Ich habe nach wie vor das Offset auf dem Signal.
Rolf S. schrieb:> Bei dem was du sonst noch> schreibst, glaube ich, dass du einfach unglücklich gebaut hast.
Ich habe mal den relevanten Abschnitt aus dem Datenblatt in Abbilung 9
angefügt. Demnach ist der Offset "normal". Die Platine hat eine eigene
GND-Plane und alle Versogungsspins sind mit 100nF Abblockkondensatoren
versehen, sollte also auch nicht daran liegen.
Wisst ihr vielleicht woran es liegen kann, dass der Offset nach wie vor
vorhanden ist ?