Forum: Mikrocontroller und Digitale Elektronik Anti-Aliasing


von Loomit (Gast)


Lesenswert?

Hallo Leute,

ich habe hier den Chip von TI ADS1298 und möchte nun den Anti-Aliasing 
Filter dafür entwerfen.

Das Frequenzspektrum welches mich interessiert geht bis fb=150Hz.
Da der Chip einen Delta-Sigma ADC besitzt werde ich mir das Oversampling 
zu nutzen machen und höher abtasten damit ich einen einfacheren 
Anti-Aliasing Filter brauche.

Wenn ich das Signal jetzt mit fs=2kHz abtaste habe ich 13,33-faches 
Oversampling.
Da reicht doch ein einfacher RC-Tiefpass am Eingang aus oder?
Die Cut-off Frequenz definiere ich doch trotzdem mit 150 Hz oder etwa 
bei der halben Abtastfrequenz (fs/2 = 1kHz) wie es oft beschrieben 
steht?

Grüße

Loomit

von Fritz (Gast)


Lesenswert?

Ich würde einen einfachen Tiefpass so tief wie es deine Anwendung 
erlaubt legen (also 150 Hz).

Zu AA-Filter generell:
Der ist prinzipiell nur notwendig, wenn du in deinem zu messenden Signal 
Frequenzanteile oberhalb der halben Samplerate hast, die so groß sind, 
dass sie durch das Aliasing störende Fehler im Nutzsignal verursachen.

Z.B. ein Signal aus einer Temperaturmessung wird normalerweise so 
langsam sein, dass man da eigentlich keinen AA-Filter benötigt und es 
sonst keine Störsignale gibt.

Also erst einmal deine Anforderungen bezüglich Genauigkeit festlegen, 
dann weiter untersuchen.

Was willst du eigentlich mit dieser hohen Auflösung (ADS1298) messen?

von Kevin K. (nemon) Benutzerseite


Lesenswert?

ein TP 1. Ordnung (RC-Tiefpass) senkt bei seiner Grenzfrequenz den Pegel 
bereits um -3dB ab.

von Loomit (Gast)


Lesenswert?

Ich möchte ein EKG-Signal messen und habe die hohe Abtastrate gewählt um 
einen einfacheren analogen AA-Filter nutzen zu können. Die weitere 
Filterung werde ich dann digital machen (Dezimierung,50-Hz-Filterung, 
Baseline Removing,...)

Fritz schrieb:
Zu AA-Filter generell:
Der ist prinzipiell nur notwendig, wenn du in deinem zu messenden Signal
Frequenzanteile oberhalb der halben Samplerate hast, die so groß sind,
dass sie durch das Aliasing störende Fehler im Nutzsignal verursachen.

Also das EKG-Signal hat ja nur ein Frequenzspektrum des EKG-Signals 
beträgt ja ca.0,05Hz - 150Hz. Wenn ich also z.B. nur mit 500Hz abtaste 
ist die halbe Abtastfrequenz 250Hz. Also bräuchte ich nicht unbedingt 
einen Anti-Aliasing Filter??

Allerdings einen TP 1. Ordnung mit Grenzfrequenz um die 150Hz ist nicht 
möglich da er wie Kevin K. schon gesagt hat, bereits bei der 
Grenzfrequenz -3dB dämpft und das würde das EKG-Signal ja bereits 
abschwächen.

von dr (Gast)


Lesenswert?

guckst du MAX7400 - MAX7407 oder aehnliche. Konnte ich frueher bei maxim 
samplen.

niedrige frequenzen zu filtern mit einen RC tp ist ein bisschen doof. Da 
kriegst du entweder einen grossen widerstand (das rauscht schoen), oder 
eine grosse kapazitaet oder beides.

Alternativ einen op nehmen und als aktive filterung schalten. Beim 
googlen habe ich viele beispiele gefunden: google -> "aktive filter op"

Bis dann.

von Fritz (Gast)


Lesenswert?

Loomit schrieb:
> Die weitere
> Filterung werde ich dann digital machen (Dezimierung,50-Hz-Filterung,
> Baseline Removing,...)

Jetzt kommen wir der Sache schon ein bißchen näher!

Welche Ausgangsabtastrate nach Dezimierung möchtest du eigentlich 
erreichen?
Danach richtet sich alles. Soll dies größer als 100Abt/sec sein, dann 
muß dein 50-Hz Filter eine schmale Bandsperre sein, sonst macht eine 
höhere Abtastrate keinen Sinn. Oder willst du eine sehr steilen 
digitalen Tiefpass knapp vor 50Hz legen?

Loomit schrieb:
> Allerdings einen TP 1. Ordnung mit Grenzfrequenz um die 150Hz ist nicht
> möglich da er wie Kevin K. schon gesagt hat, bereits bei der
> Grenzfrequenz -3dB dämpft und das würde das EKG-Signal ja bereits
> abschwächen.

Siehe oben. Auf jeden Fall solltest du aber die Abtastrate des ADC so 
legen, dass Oberschwingen (oder vielleicht schon die 50HZ) auf den 
Nullstellen des eigebauten sinc-Filters des ADC's liegen.

Wenn du sowieso vor hast, digital zu filtern, gibt das dir die 
Möglichkeit, den analogen TP am Eingang zu kompensieren, auch den 
Frequenzgang des SINC-Filters kanns du geradebiegen!

von Harald W. (wilhelms)


Lesenswert?

Loomit schrieb:

> Also das EKG-Signal hat ja nur ein Frequenzspektrum des EKG-Signals
> beträgt ja ca.0,05Hz - 150Hz. Wenn ich also z.B. nur mit 500Hz abtaste
> ist die halbe Abtastfrequenz 250Hz. Also bräuchte ich nicht unbedingt
> einen Anti-Aliasing Filter??

Es geht hier nicht ums Nutzsignal, sondern auch um Störsignale.
Und die kann man nie ganz vermeiden. Ausserdem, handelt es sich
bei den von Dir angegebenen "höchstens 150Hz" denn um Sinussignale?
Bei allen nichtsinusförmigen Signalen hast Du Oberwellen.
Gruss
Harald

von Loomit (Gast)


Lesenswert?

Hallo danke für die Antworten schonmal!

Harald schrieb:

> Es geht hier nicht ums Nutzsignal, sondern auch um Störsignale.
> Und die kann man nie ganz vermeiden. Ausserdem, handelt es sich
> bei den von Dir angegebenen "höchstens 150Hz" denn um Sinussignale?
> Bei allen nichtsinusförmigen Signalen hast Du Oberwellen.

Nein das ist kein Sinussignal und daher habe ich ich auf jeden Fall 
Oberwellen.

Fritz schrieb:

> Welche Ausgangsabtastrate nach Dezimierung möchtest du eigentlich
> erreichen?
> Danach richtet sich alles. Soll dies größer als 100Abt/sec sein, dann
> muß dein 50-Hz Filter eine schmale Bandsperre sein, sonst macht eine
> höhere Abtastrate keinen Sinn. Oder willst du eine sehr steilen
> digitalen Tiefpass knapp vor 50Hz legen?

Eine Ausgangsabtastrate nach Dezimierung von 100Abt/sec würde mir schon 
reichen. Ich hatte aber geplant den 50-Hz Filter in Form einer schmalen 
Bandsperre zu realisieren.

Fritz schrieb:
> Siehe oben. Auf jeden Fall solltest du aber die Abtastrate des ADC so
> legen, dass Oberschwingen (oder vielleicht schon die 50HZ) auf den
> Nullstellen des eigebauten sinc-Filters des ADC's liegen.

> Wenn du sowieso vor hast, digital zu filtern, gibt das dir die
> Möglichkeit, den analogen TP am Eingang zu kompensieren, auch den
> Frequenzgang des SINC-Filters kanns du geradebiegen!

Man kann bei dem ADS1298 im Register die "decimation rate" einstellen 
und das entspricht dann auch der Gesamtabtastrate oder besser 
Ausgangsabtastrate des ADC. Aah jetzt verstehe ich das. Der tastet also 
mit fmod = fclk/4 = 512kHz ab die der Chip hat und man konfiguriert mit 
den Bits des Config Registers also den Dezimierungsfilter, sprich die 
Ausgangsdatenrate.

Aber wie lege ich jetzt die Abtastrate so dass Oberschwingungen oder die 
50Hz auf den Nullstellen des sinc filters liegen??

Gruß

Loomit

von Fritz (Gast)


Lesenswert?

Loomit schrieb:
> Aber wie lege ich jetzt die Abtastrate so dass Oberschwingungen oder die
> 50Hz auf den Nullstellen des sinc filters liegen??

Da hilft halt nur das Studium des Datenblatts.
Auf Seite 27, 28 DIGITAL DECIMATION FILTER (Original TI-Datasheet) ist 
der Filter genau beschrieben.

Bei 50 Hz Datenrate hättest du dann laut Datenblatt 50Hz und alle 
Oberschwingungen zu 100% gedämpft.
Da aber die minimale Datenrate aber 250 ist und man den ADC-Takt laut 
Datenblatt nicht entscheiden ändern kann mußt du in der eigenen Software 
die 50Hz und die restlichen Oberschwingungen unterdrücken.
Sprich: Da dir Datenrate von 100 Hz genügen einen digitalen Tiefpass mit 
einer Grenzfrequenz von ca. 47 Hz basteln und von 250Hz auf 100Hz 
dezimieren. Wie schon von mir erwähnt kannst du auch noch den 
sinc-Filterverlauf im Bereich von 0 - 250 Hz geradebiegen falls 
notwendig.
Oder höhere Datenrate wählen, dann bist du im geraderen Bereich des 
sinc-Filters, aber dein Decimation-Filter wird länger!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.