In der sich schnell entwickelnden Welt der IoT-Geräte ist eine effiziente Signalverarbeitung unerlässlich. Filter mit niedriger Ordnung für unendliche Impulsantwort (IIR) sind aufgrund ihrer Einfachheit und Recheneffizienz beliebte Wahl. Dieser Artikel bietet einen umfassenden Leitfaden für die Gestaltung dieser Filter, der Theorie, praktische Umsetzung und bewährte Verfahren zur Verbesserung der Leistung von IoT-Geräten abdeckt.

Verständnis von IIR-Filtern niedriger Ordnung

IIR-Filter sind digitale Filter, die durch Rückkopplung gekennzeichnet sind, d. h. ihre Ausgabe hängt sowohl von den aktuellen als auch von den vergangenen Eingängen als auch von den vergangenen Ausgängen ab. Der Begriff "niedrige Ordnung" bezieht sich typischerweise auf Filter mit einem oder zwei Polen und einer oder zwei Nullen - Filter erster Ordnung oder zweiter Ordnung. Diese Filter eignen sich besonders für ressourcenbeschränkte IoT-Geräte, da sie weniger multiakkumulierte Operationen und weniger Speicher erfordern als Äquivalente höherer Ordnung oder FIR-Filter mit ähnlicher Leistung.

Ein IIR-Filter erster Ordnung hat eine Übertragungsfunktion des Formulars:

Ein IIR-Filter zweiter Ordnung (oft als Biquad bezeichnet) hat die Form:

Die Koeffizienten b0, b1, b2 (für die zweite Ordnung) bestimmen die Nullen (Feedforward), während a1, a2 die Pole (Feedback) bestimmen.

IIR-Filter niedriger Ordnung zeichnen sich durch Aufgaben wie Rauschunterdrückung, Signalglättung und Frequenzauswahl aus. Beispielsweise kann ein Tiefpassfilter hochfrequentes Rauschen von einem Temperatursensor entfernen, während ein Hochpassfilter die DC-Drift in einem Beschleunigungssensorsignal entfernen kann. Ihre rekursive Natur ermöglicht ein scharfes Abrollen mit sehr wenigen Koeffizienten, wodurch sie ideal für batteriebetriebene Geräte sind, bei denen jeder Mikroampere Strom und jedes Byte Speicher zählt.

Designprinzipien

Wählen Sie den Filtertyp

Die Wahl des Filterprototyps (analog oder digital) definiert die Kompromisse zwischen Durchlassflachheit, Stoppbanddämpfung und Phasenlinearität.

  • Butterworth: Bietet ein maximal flaches Durchlassband ohne Ripple. Es bietet ein monotones Roll-off, erfordert aber eine höhere Ordnung, um eine gegebene Stoppbanddämpfung im Vergleich zu Chebyshev-Filtern zu erreichen. Oft bevorzugt für die Sensorsignalkonditionierung, bei der die Amplitudengenauigkeit entscheidend ist.
  • Chebyshev: Ermöglicht Ripple im Durchlassband (Typ I) oder Stopband (Typ II). Im Austausch für eine kleine Menge an Durchlassrippel liefern Chebyshev-Filter ein schärferes Übergangsband für eine gegebene Filterreihenfolge. Nützlich, wenn die Stopband-Dämpfungsanforderung dominiert.
  • Bessel: Optimiert für lineares Phasenverhalten (konstante Gruppenverzögerung), die Form des Signals im Zeitbereich beibehalten. Bessel-Filter haben jedoch einen langsameren Roll-Off. Ideal für Anwendungen, bei denen Überschwingen und Klingeln minimiert werden müssen, wie z. B. in Regelschleifen oder Audio-Crossovers.
  • Elliptic (Cauer): Bietet den steilsten Roll-off für eine gegebene Ordnung, indem es Ripple sowohl im Durchlass- als auch im Stoppband ermöglicht. Selten für IoT-Designs niedriger Ordnung verwendet, da die verbesserte Leistung oft Gleitkommagenauigkeit und sorgfältige Koeffizientenquantisierung erfordert.

Für die meisten niederwertigen IoT-Anwendungen bieten Butterworth- und Chebyshev-Filter erster Ordnung eine gute Balance. Das Filterdesign wird oft in der kontinuierlichen Zeit-S-Domäne mit normalisierten Prototyp-Tabellen durchgeführt und dann über die bilineare Transformation (mit Pre-Warping) oder die Impulsinvarianzmethode in die zeitdiskrete Z-Domäne transformiert.

Wesentliche Gestaltungsparameter

  • Cutoff Frequency (fc): Die Frequenz, bei der die Größe des Filters um 3 dB abfällt (für Tiefpass/Hochpass). Muss relativ zur Abtastfrequenz (fs) gewählt werden.
  • Filterreihenfolge (N): Für Filter niedriger Ordnung ist N 1 oder 2. Höhere Ordnungen können durch Kaskadierung mehrerer Biquad-Abschnitte realisiert werden, aber der Artikel konzentriert sich auf Einzelabschnittsdesigns.
  • Passband-Ripple und Stopband-Abschwächung: Kritisch für Chebyshev- und Elliptic-Filter. Eine gemeinsame Durchlass-Ripple von 0,5 dB ist in vielen IoT-Sensoranwendungen akzeptabel. Eine Stopband-Abschwächung von 20-40 dB reicht oft aus, um typische Rauschquellen zu entfernen.
  • Stabilitätsspannen: Mit Fixpunktarithmetik kann Koeffizientenrundung Pole außerhalb des Einheitskreises drücken.

Trade-offs im Low-Order Design

Die primäre Einschränkung von IIR-Filtern niedriger Ordnung ist der allmähliche Roll-off (Steigung) und ein breiteres Übergangsband im Vergleich zu Filtern höherer Ordnung. Ein Tiefpassfilter erster Ordnung dämpft nur 20 dB pro Jahrzehnt, während ein Filter zweiter Ordnung 40 dB pro Jahrzehnt liefert. Für viele IoT-Anwendungen wie das Filtern von 50/60 Hz-Netzbrummen aus einem niederfrequenten Sensorsignal erfüllt ein Filter zweiter Ordnung oft die Anforderungen, ohne die CPU zu überlasten. Wenn schärfere Abschaltungen erforderlich sind, müssen Entwickler entweder höhere Filterreihenfolge (und ihre Rechenkosten) akzeptieren oder auf FIR-Filter umstellen, die lineare Phase auf Kosten des Speichers bieten können.

Der Designprozess

Die Gestaltung eines IIR-Filters niedriger Ordnung für ein IoT-Gerät umfasst mehrere systematische Schritte. Wir illustrieren einen typischen Workflow am Beispiel eines Tiefpassfilters zweiter Ordnung.

Schritt 1: Spezifikationen definieren

Bestimmen Sie die Frequenz der Durchlassflanke (fp), die Frequenz der Stoppflanke (fs), die Durchlassrippe (Ap) und die Stoppdämpfung (As). Beispielsweise möchten wir ein Tiefpassfilter mit einer 3-dB-Grenze bei 10 Hz, eine Stoppflanke bei 30 Hz mit einer Dämpfung von mindestens 20 dB und einer Abtastrate von 100 Hz. Die normierten digitalen Frequenzen sind: ωp = 2π * (10/100) = 0,628 rad/sample, ωs = 2π * (30/100) = 1,885 rad/sample.

Schritt 2: Wählen Sie Prototyp und Bestellung

Wählen Sie einen Filtertyp und finden Sie die gewünschte Reihenfolge mit Hilfe von Diagrammen oder Formeln.

In unserem Beispiel ergibt ein Butterworth erster Ordnung bei As = 20 dB, Ap = 3 dB (eigentlich ist die Referenz oft der 3-dB-Punkt), nur etwa 7 dB bei 30 Hz (20 dB/Dekade Steigung, Verhältnis 3:1 ergibt ~ 11 dB Dämpfung, nicht genug). Butterworth zweiter Ordnung gibt 40 dB/Dekade, also bei 30 Hz (3x Cutoff) erhalten wir etwa 40 * log10 (3) ≈ 19 dB - fast 20 dB. So ist ein Filter zweiter Ordnung angemessen.

Schritt 3: Bestimmen Sie analoge Prototypenpole und Nullen

Für einen Butterworth-Tiefpass zweiter Ordnung sind die normalisierten Analogpole bei s = -0,7071 ± j0,7071 (für einen Cut-off von 1 rad/s). Verwenden Sie Vorwarping, wenn Sie über eine bilineare Transformation entwerfen: Vorwarped Critical Frequency ωa = (2/T) * tan(ωd*T/2), wobei T = 1/fs. Für fs = 100 Hz, T = 0,01 s. Vorwarped ωa = (2/0,01) * tan (1,885 * 0,01/2) ≈ 200 * tan(0.009425) ≈ 200 * 0,009425 ≈ 1,885 rad/s (eigentlich für niedrige Frequenzen ist Vorwarping vernachlässigbar). Viele Designer überspringen Vorwarping für Tiefpassfilter unter 0,2 fs, aber es ist eine gute Praxis.

Schritt 4: Bilineare Transformation zu Digital

Die Substitution s = (2/T) * (z-1)/(z+1) wird für eine analoge Übertragungsfunktion zweiter Ordnung durch algebraische Manipulationen mit digitalen Koeffizienten berechnet. Alternativ können bekannte Formeln oder Designtabellen verwendet werden.











Für unsere 10 Hz-Grenze bei 100 Hz Abtastung, theta = 0,628, sin(theta) = 0,588. Plugging-Zahlen ergeben Koeffizienten, die Stabilität gewährleisten. Tools wie Analog Devices Filter Wizard oder TI FilterPro automatisieren diesen Schritt.

Schritt 5: Quantisieren von Koeffizienten für Fix-Point

IoT-Mikrocontroller haben oft keine Hardware-Fließkommaeinheiten. Konvertieren von Gleitkommakoeffizienten in Festkommadarstellung, wie z. B. Q15-Format (16-Bit-signiert mit 15 gebrochenen Bits). Quantisierung führt einen Rundungsfehler ein; überprüfen Sie, ob die quantisierten Koeffizienten keine Instabilität verursachen. Für einen Filter zweiter Ordnung ist selbst eine 16-Bit-Quantisierung in der Regel ausreichend, wenn die Polstellen nicht extrem nahe am Einheitskreis liegen (d. h. niedrige Q-Faktoren).

Schritt 6: Implementieren Sie die Differenzgleichung

Die direktform I oder II transponierte Struktur ist für niederwertige IIR üblich, die direktform II transponierte Struktur wird für reduziertes Quantisierungsrauschen und Überlaufverhinderung empfohlen. Die Differenzgleichung für ein Filter zweiter Ordnung ist:

Für Fixpunkte sollten Sättigungsarithmetik- oder Doppel-Breitakkumulatoren verwendet werden, falls verfügbar (z. B. 32-Bit-Akkumulator für 16-Bit-Koeffizienten und Daten). Viele Hersteller von Mikrocontrollern bieten optimierte DSP-Bibliotheken wie ARM CMSIS-DSP, die Biquad-Filterfunktionen mit richtig skalierten Koeffizienten enthalten.

Implementierung in IoT-Geräte

Die Implementierung von IIR-Filtern niedriger Ordnung auf Mikrocontrollern erfordert die Aufmerksamkeit auf Speicherlayout, Unterbrechungslatenz und Stromverbrauch.

Fixed-Point-Arithmetik-Strategien

Die meisten ARM Cortex-M0/M4-Mikrocontroller unterstützen 32-Bit-Operationen. Ein gängiger Ansatz ist es, Koeffizienten und Daten als 16-Bit-signierte Ganzzahlen im Q15-Format zu speichern (Bereich -1,0 bis 0,9999). Multiplikationen erzeugen 32-Bit-Ergebnisse; für ein Biquad verwenden Sie einen Doppelakkumulator, verschieben und sättigen sich dann auf 16 Bit. Dies vermeidet Gleitkomma-Overhead und reduziert den Stromverbrauch. Bibliotheken wie CMSIS-DSP Biquad-Funktionen behandeln diese Details effizient.

Minimierung von Speicher und Codegröße

Ein einzelnes Biquad erfordert die Speicherung von 5 Koeffizienten und 2 Zustandsvariablen (für transponierte Direktform II), das sind etwa 7-10 16-Bit-Wörter - bei jeder modernen MCU vernachlässigbar. Die Filterschleife kann in drei oder vier Zeilen C-Code geschrieben werden. Für mehrere Kanäle (z. B. Stereo-Audio oder Multisensor) teilen sich die gleichen Koeffizienten, behalten aber pro-Kanal-Zustände bei. Dieser Ansatz skaliert linear, ohne Speicher zu durchbrennen.

Echtzeitbetrieb

IoT-Geräte nehmen Sensoren oft mit niedrigen Raten (1 Hz bis 1 kHz) auf. Ein einziges Biquad-Filter verbraucht nur wenige Mikrosekunden CPU-Zeit pro Sample, so dass genügend Zeit für andere Aufgaben bleibt. Für kontinuierliche Datenströme ist das Filter in einer Interrupt-Service-Routine (ISR) oder über einen dedizierten DMA-Rundpuffer zu implementieren. Filterkoeffizienten können on-the-fly geändert werden, wenn das Gerät sich an unterschiedliche Rauschbedingungen anpassen muss, aber stellen Sie sicher, dass der Schalter durchgeführt wird, während der Filterzustand zurückgesetzt wird, um Transienten zu verhindern.

Leistungsoptimierung

Der Stromverbrauch ist ein Hauptanliegen für batteriebetriebene IoT-Knoten. Der Filter selbst trägt sehr wenig zur Gesamtleistung bei – oft weniger als 0,1 % der MCU-Energie bei niedrigen Taktfrequenzen. Der Filter kann es dem MCU jedoch ermöglichen, niedrigere Abtastraten zu verwenden oder zwischen den Proben länger zu schlafen. Durch die Entfernung von Rauschen vor der Schwellenerkennung kann das Gerät weniger häufig auslösen. Außerdem sollte vor der Probenahme ein analoges Anti-Aliasing-Filter verwendet werden, um die Anforderungen an digitale Filter zu lockern und die Rechenlast zu reduzieren.

Vorteile und Kompromisse von Low-Order IIR Filtern

Vorteile

  • Geringe Rechenkomplexität : Typischerweise 5 Multiplikationsadditionen pro Sample für zweite Ordnung, verglichen mit Dutzenden oder Hunderten für einen FIR-Filter.
  • Schnelle Verarbeitung: Geeignet für Echtzeitanwendungen mit hohen Abtastraten (z. B. Audio bis 48 kHz).
  • Minimalspeicheranforderungen: Nur wenige Zustandsvariablen und Koeffizienten, kein Tap-Puffer erforderlich.
  • Ease of implementation: Bereit verfügbar in MCU DSP Bibliotheken; Code ist kurz und leicht zu verifizieren.
  • Gute Stoppbanddämpfung pro Auftrag: Ein IIR zweiter Ordnung kann eine FIR höherer Ordnung übertreffen, wenn keine lineare Phase erforderlich ist.

Trade-offs und Limitationen

  • Nichtlineares Phasenverhalten: IIR-Filter haben eine frequenzabhängige Gruppenverzögerung, die die Signalformen verzerren kann.
  • Potenzielle Instabilität: Koeffiziente Quantisierung, insbesondere in Fixpunkten, kann Pole außerhalb des Einheitskreises drücken.
  • Begrenzte Roll-Off-Steilheit: Für eine gegebene Reihenfolge ist das Übergangsband breiter als eine äquivalente FIR mit vielen Abgriffen. Wenn Sie einen sehr scharfen Cutoff benötigen, müssen Sie mehrere Biquads kaskadieren, was die Komplexität erhöht.
  • Keine lineare Phase: FIR-Filter können eine lineare Phase genau erreichen, wodurch sie für bestimmte Datenkommunikationen und Bildverarbeitung bevorzugt werden.
  • Empfindlichkeit gegenüber Koeffizientenrundung : Elliptische Filter und High-Q-Designs leiden unter großen Koeffizientenänderungen aufgrund von Quantisierung, die eine höhere Präzision erfordern (z. B. 32-Bit-Festpunkt oder Gleitkomma).

Trotz dieser Kompromisse kann die Mehrheit der IoT-Sensorfilteraufgaben (Temperatur, Feuchtigkeit, Druck, Vibration, einfaches Audio) durch gut konzipierte IIR-Filter niedriger Ordnung angemessen bedient werden.

Praktische Anwendungen und Beispiele

Lärmreduzierung in Temperatursensoren

Ein Temperatursensorausgang enthält oft hochfrequentes Rauschen aus der ADC-Quantisierung und elektromagnetischen Interferenzen. Ein Tiefpassfilter erster Ordnung mit einem Cut-off von 0,1 Hz (bei Abtastung mit 1 Hz) glättet den Messwert, ohne dass eine signifikante Verzögerung hinzukommt. Die Koeffizienten für ein solches Filter sind extrem einfach — oft eine einzelne Konstante Alpha, bei der y[n] = alpha * x[n] + (1-alpha) * y[n-1]. Dies ist der klassische exponentielle gleitende Durchschnitt, der ein IIR erster Ordnung ist. Er kann in einer Zeile C-Code ohne Multiplikator implementiert werden, wenn Alpha eine Zweierpotenz ist (z. B. 1/4 = 0,25). Dies macht es zu einem Favoriten für Low-End-Mikrocontroller mit 8 Bit.

DC Offset-Entfernung in Beschleunigungsmessern

Beschleunigungsmesser, die bei der Aktivitätsverfolgung oder Vibrationsüberwachung eingesetzt werden, weisen häufig einen DC-Anteil auf, der auf die Schwerkraft zurückzuführen ist. Ein Hochpassfilter mit einem sehr niedrigen Grenzwert (z. B. 0,5 Hz) kann diesen Versatz beim Durchleiten dynamischer Signale entfernen. Ein Butterworth-Hochpass zweiter Ordnung bietet ein scharfes Abrollen, um sich nach der Initialisierung schnell zu beruhigen. Die Koeffizienten werden aus dem Tiefpassprototyp abgeleitet, indem s durch 1/s im analogen Bereich ersetzt wird.

Audio-Vorverarbeitung für Sprachbefehle

IoT-Geräte mit Mikrofonen verwenden IIR-Filter niedriger Ordnung als Teil einer Sprachaktivitätserkennungskette (VAD). Ein Bandpassfilter (Kaskade aus Tiefpass und Hochpass), das auf den Sprachfrequenzbereich (300-3400 Hz) zentriert ist, reduziert Hintergrundgeräusche, bevor es in einen Wake-word-Detektor eingespeist wird. Die Filter müssen sorgfältig ausgelegt sein, um Phasenverzerrungen zu vermeiden, die die Konsistenz der Audiofunktionen beeinträchtigen könnten. Hier werden Bessel-Filter manchmal gegenüber Butterworth bevorzugt.

Abweisung des Stromleitungsgeräuschs

Für Sensoren, die Signale mit niedrigem Pegel nahe dem Wechselstromnetz messen, ist ein Notchfilter (Bandstop) bei 50/60 Hz wesentlich. Ein IIR-Notchfilter zweiter Ordnung kann mit einer sehr schmalen Kerbe ausgelegt werden. Die Übertragungsfunktion setzt Nullen auf den Einheitskreis mit der Kerbfrequenz. Das Filter erfordert hohe Präzisionskoeffizienten, da die Nullen genau auf dem Einheitskreis liegen; die Umsetzung des Fixpunktes muss sorgfältig behandelt werden, was oft 32-Bit-Arithmetik erfordert.

Schlussfolgerung

Die Entwicklung von IIR-Filtern niedriger Ordnung für IoT-Geräte ist eine praktische Balance zwischen Signalqualität und Ressourcenschonung. Durch die Auswahl des geeigneten Filtertyps und die sorgfältige Quantisierung von Koeffizienten können Entwickler eine effektive Rauschentfernung und Frequenzauswahl mit minimalem CPU- und Speicher-Fußabdruck erreichen. Die Einfachheit von Filtern erster und zweiter Ordnung macht sie ideal für batteriebetriebene Sensoren, tragbare Gesundheitsmonitore und Smart-Home-Geräte. Überprüfen Sie immer die Stabilität nach der Koeffizientenquantisierung und berücksichtigen Sie die Auswirkungen der nichtlinearen Phase auf Ihre spezifische Anwendung. Mit dem richtigen Design-Workflow - von der Spezifikation bis zur Fixpunktimplementierung - bleiben IIR-Filter niedriger Ordnung ein leistungsfähiges Werkzeug in der IoT-Signalverarbeitungs-Toolbox.