antialiasing filter

Gast #798362
Lesenswert?

Ich möchte mit einem dsPIC ein Audiosignal verarbeiten. Dazu denke ich, 
dass eine Bandbreite von 10kHz und somit 20kHz Abtastrate ausreicht. Nun 
müsste ich dazu ein Antialising Filter bauen, da im Audiosignal 
vermutlich Frequenzen bis etwa 20KHz drin sind. Reicht für meine 
Bastelei nun ein einfaches Filter erster Ordnung? Oder sollte das schon 
eines mit höherer Flankensteilheit sein? Wie kann ich praktisch 
abschäzen, wie sich eine unzureichende Flankensteilheit auf meine 
Abtastwerte auswirkt. Gibt es hier eine "Fausregel" ? Oder brauceh ich 
vielleicht gar kein Filter, da die Anteile im Audiosignal ohnehin gering 
sind?
Gast #798380
Lesenswert?

Hallo

das kommt darauf an, was du mit dem digitalisierten Signal anfangen 
willst. Wenn daraus eine FFT werden soll, gibts halt "falsche" 
Informationen in deiner FFT. Was willst du denn mit den Daten anfangen ?

Gerhard
Gast #798393
Lesenswert?

Ich möchte die Funktionen zur digitalen Filterung ausprobieren, aber 
auch hören, wie es akkustisch wirkt.

Es ist nur Spielerei um den dsPIC kennenzulernen. Das digitale Signal 
möchte ich dann über I²S rückwandeln.
Gast #798402
Lesenswert?

Alle Signalanteile, die nach der Filterung noch oberhalb der halben 
Abtastfrequenz drin sind, spiegeln sich um die halbe Abtastfrequenz nach 
unten. In deinem Beispiel werden 12kHz zu 8kHz, 15 kHz zu 5 kHz. Lästig 
sind z.B. Reste des Stereo-Pilottones (19kHz), der dann auf 1kHz 
gespiegelt wird.

Richtigerweise sollten alle Signale oberhalb der halben Abtastfrequenz 
mindestens um soviel gedämpft sein, wie du mit dem AD-Wandler an S/N 
schaffst. S/N ist ca. 6dB/Bit.
Also: bei 10 Bit Wandler sollten die Frequenzen um ca. 60 dB gedämpft 
sein. Man kann natürlich auch berücksichtigen, dass die Pegel im 
Audiobereich bei natürlichen Signalen (nicht Synthesizer) schon deutlich 
kleinere Pegel als im Bassbereich haben.
Für deine Spielerein kannst du natürlich großzügig sein und ev. eine 
Signalquelle nehmen, die schon vorfiltert, wie z.B. den 
Höhen-Klangregler am Audioverstärker.
Gast #798411
Lesenswert?

Ich täte mal ohne Filter anfangen, um zu "sehen" wie Aliasingeffekt 
klingen. Tatsächlich sind ja die hochfrequenten Anteile in Deinem Signal 
nicht so stark vertreten, wie die niederfrequenten.

Ja nach Wortbreite Deines ADC muss der Tiefpass unterschiedlich steil 
ausgelegt werden. Ich sage jetzt mal vorsichtig, das verhält sich 
proportional zur Wortbreite. Rein theoretisch muss bei Abtastfrequenz/2 
das Signal auf Bitzahl x 6dB abgeschwächt werden. Man braucht also sehr 
schnell sehr steile Filter. Je nach Auslegung wird auch mehr oder 
weniger der Nutzbandbreite beschnitten.

Für "ernsthafte Spielerei" würde ich zumindest ein aktives Filter 2. 
Ordnung vorsehen, das mit Tschebyscheff-Characteristik dimensioniert 
ist: Etwas Welligkeit im Durchlassbreich, aber steiler Abfall im 
Sperrbereich.

Wie ein Filter 1. Ordnung klingen wird, kann ich nicht sagen. Probier's 
einfach aus.
Gast #798416
Lesenswert?

Jo. Ungefähr so wie ein Höhenregler :) Trotzdem kann man sich ja mit der 
Eckfrequenz spielen. In der Tat wäre ich auch zu faul, nur zum Probieren 
hier gross nen Filter zu dimensionieren. Man ist ja kompromissfähig.
Gast #798446
Lesenswert?

Vielen Dank, ich kenn mich nun aus.

Ich werde einfach einen SC Filter von Maxim nehmen, die sind zwar nicht 
ganz billig, aber haben den Vorteil, dass sie mit der Clock 
durchstimmbar sind. Würdet ihr sowas empfehlen? Ich nehme mal an, dass 
ich die Reste der Clock am Ausgang nicht mehr spüren werde.
(Firma: Arbeitslos) #1160480
Lesenswert?

Ich löse es derzeit so das ich ein digitales Signal filtere für eine 
Unterabtastung. Dadurch erhalte z.B. ein Signal mit 48k Messwerten das 
keine Frequenzen größer als meine halbe Unterabtastfrequenz hat.

Weil das Signal aber beschleunigt ist, setze ich jetzt die Abtastwerte 
um!!!! Als hätte ich äquidistant zum beschleunigten Signal 
digitalisiert. Stellt euch eine Welle vor die sich beschleunigt dreht. 
Jeder Messwert ist jetzt auf den Winkel der Welle definiert. Also eine 
gleiche Abtastung pro Winkel, statt wie üblich über die Zeit.

Ich habe genausoviele Stützstellen wie ich das gefilterte Zeitsignal 
hätte unterabtasten können (hab ich ja nicht).

Das Abtasttheorem geht davon aus das man konstant abtastet. Der Filter 
geht auch davon aus das ich konstant abtaste. Das signal war aber nicht 
konstant!!! Durch die Verschiebung habe ich es erst konstant gemacht.

Hab ich gegen das Abtasttheorem verstoßen? Warum funktioniert das? (Das 
ganze heißt nämlich Ordertracking.)


PS: Hier ist das Abtasttheorem definiert:
http://mfb.informatik.uni-tuebingen.de/book/node182.html
den Beweis hab ich verstanden (einigermaßen). Aber wie kann ich beweisen 
das das auch geht in meinem Fall.

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