Können wir einen digitalen Anti-Aliasing-Filter haben?


12

Ich arbeite an einer Karte ohne Antialisierungsfilter am Eingang des ADC. Ich habe die Möglichkeit, meinen eigenen Filter mithilfe der RC + Opamp-Schaltung zu implementieren. Ist es aber auch möglich, einen Anti-Aliasing-Filter nach dem Abtasten durch ADC und der Verarbeitung im digitalen Bereich zu implementieren: einem digitalen Anti-Aliasing-Filter?

Antworten:


10

Nur um Matts Antwort zu unterstützen und ein paar weitere Details zu liefern:

Die meisten modernen ADCs erledigen den größten Teil der harten Antialiasing-Arbeit im digitalen Bereich. Grund dafür ist, dass digitale Filter tendenziell weniger Nebenprodukte zu wesentlich geringeren Kosten produzieren. Die eigentliche Kette ist:

  • Analoger Eingang.
  • Analoger Anti-Aliasing-Filter.
  • Überabtastung (zB bei 8x).
  • Digitaler Anti-Aliasing-Filter.
  • Dezimieren (Reduktion auf 1x).
  • Digitaler Ausgang.

Zur weiteren Veranschaulichung gilt Folgendes:

  • Das Audio wird mit 44100 Hz abgetastet.
  • Dies liefert eine Nyquist-Frequenz von 22050 Hz.
  • Alle Frequenzen über 24100 Hz werden auf den hörbaren Bereich (unter 20 kHz) zurückgeführt.
  • 20000Hz bis 24100 sind ungefähr eine Vierteloktave.
  • Selbst mit einem steilen 80dB / 8ve-Filter reduzieren Sie die Aliasing-Frequenzen nur um 20dB.

Aber mit 8x Oversampling:

  • Das Audio wird mit 352,8 kHz (44,1 kHz x 8) abgetastet.
  • Nyquist ist 176,4 kHz.
  • Nur Frequenzen über 332,8 kHz spiegeln den hörbaren Bereich wider.
  • Das sind ungefähr 4 Oktaven.
  • Sie können also einen analogen 24-dB / 8-V-Filter anwenden, um die Aliasing-Frequenzen um 96 dB zu reduzieren.
  • Dann Oversample.
  • Wenden Sie dann ein digitales Linearphasenfilter zwischen 20 kHz und 24,1 kHz an

Das folgende Buch ist eine ausgezeichnete, klare Ressource für diese Art von Dingen.


1
Was Sie sagen, gilt sicherlich für Audioanwendungen (bei denen gebrauchsfertige, integrierte Codec-Chips vor langer Zeit ADC / DAC ersetzten) - aber es gibt viele technische Bereiche, in denen die Erfassung noch von Vanille-SAR-ADCs (als Standalone) erfolgt Chips oder in Mikrocontroller eingebaut) - und mit diesen muss man die harte Arbeit machen!
Pichenettes

Das ist ein großartiger Kommentar. Ich glaube jedoch, dass die Antwort immer noch besteht - wenn Sie es sich leisten können, bringen digitale Anti-Aliasing-Filter viele Vorteile.
Izhaki

Ich wollte nur wissen, ob dies der Weg ist, um sicherzustellen, dass die analogen Filter eine geringe Geometrie und ein geringes Gewicht haben.
Gpuguy

1
Wenn ich die Frage richtig verstehe, dann ja - die Verwendung eines digitalen Filters bedeutet einen viel einfacheren analogen Fiter (insbesondere wenn die Qualität berücksichtigt werden soll).
Izhaki

Meinen Sie "dezimieren" im vorletzten Schritt des Oversampling-Workflows?
Nick T

15

Ich stimme der Antwort von Pichenettes zu, möchte aber hinzufügen, dass es ziemlich üblich ist, einen einfachen, kostengünstigen analogen Anti-Aliasing-Filter niedriger Ordnung zu verwenden und den Rest der Anti-Aliasing-Filterung im digitalen Bereich durchzuführen. Dies bedeutet natürlich, dass Sie nicht mit maximaler Abtastrate verarbeiten, sondern dass Sie nach dem digitalen Anti-Aliasing-Filter ein Downsample durchführen. Zusammenfassend:

  1. Natürlich benötigen Sie einen analogen Anti-Aliasing-Filter.

  2. Der analoge Filter kann sehr einfach gehalten werden, wenn Sie Ihr Signal heruntertasten können. In diesem Fall können Sie mehr Aliasing in der digitalen Domäne entfernen (vor dem Downsampling).


14

Nein, das macht keinen Sinn. Angenommen, Ihre ADC-Abtastrate beträgt 1 kHz. Eine 100-Hz-Sinuswelle und eine 900-Hz-Sinuswelle liefern genau die gleiche Folge digitaler Abtastwerte, sobald sie in Ihren ADC eingespeist werden. Sie möchten jedoch die erstere passieren und die spätere abschwächen. Wie erwarten Sie, dass Ihr digitaler Filter unterschiedliche Ausgänge erzeugt, wenn er denselben Eingang speist?

Das Einzige, was funktionieren könnte, wäre, das Eingangssignal so schnell abzutasten, wie es Ihr ADC zulässt, und es dann im digitalen Bereich auf Ihre Zielabtastrate herunterzusampeln. Wenn Sie jedoch keine CPU-Zyklen verschwenden müssen, sollten Sie ein analoges verwenden Filter stromaufwärts.


1
"Eine 100-Hz-Sinuswelle und eine 900-Hz-Sinuswelle ergeben genau die gleiche Folge digitaler Abtastwerte." Dies ist im Allgemeinen nicht wahr (obwohl ich verstehe, was Sie meinen).
Niaren

3
Okay, dies erfordert eine bestimmte Bedingung in ihren Phasen, um zu funktionieren, aber das ist nicht der Punkt! Der Punkt ist, dass Ihre digitalen Samples möglicherweise so aussehen, als stammten sie von einer 100-Hz-Sinuswelle, während dieselbe Datensequenz von einer 900-Hz-Sinuswelle erzeugt worden sein könnte.
Pichenettes

Kannst du sagen, was diese Bedingung ist (um genau zu halten)?
Niaren

1
π

Ihre Antwort enthält einen Fehler. 100 Hz und 900 Hz haben nicht den gleichen Abtastausgang. Tatsächlich ist es [100 +/- k * 1000], was die gleichen Proben ergibt. -900, 1100, 2100 usw. sind also die Alias-Frequenzen, die 100 Hz entsprechen. Tatsächlich sind 900 Hz negativ von der 100-Hz-Welle.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.