Kryentech Logo Elektrotechnik Bericht

Digitale Filter berechnen – von Grenzfrequenz zu Koeffizienten (IIR / Biquad)

Wie du aus \(f_c\), \(f_s\) und \(Q\) direkt \(b_0, b_1, b_2, a_1, a_2\) erhältst und im Code verwendest

Theorie & Herleitung: Herleitung eines digitalen Tiefpasses 2. Ordnung (analoges \(G(s)\), bilineare Transformation, \(H(z)\) und Differenzgleichung).

Schema: digitaler IIR-Biquad-Filter – von Grenzfrequenz und Abtastrate zu den Koeffizienten b0 bis b2 und a1, a2
Von den Entwurfsparametern \(f_c\), \(f_s\) und \(Q\) zu den Biquad-Koeffizienten und der Rekursion im Zeitbereich.

Wie berechnet man digitale Filter aus Grenzfrequenz und Abtastrate?

Diese Frage gehört zu den häufigsten in der Signalverarbeitung, Audioentwicklung und Embedded-Programmierung.

In diesem Artikel zeigen wir Schritt für Schritt:

  • wie du aus Grenzfrequenz \(f_c\) und Abtastrate \(f_s\) (und Güte \(Q\)) die Filterkoeffizienten \(b_0, b_1, b_2, a_1, a_2\) berechnest
  • und diese sofort in der Rekursion (C, DSP, Echtzeit) verwenden kannst

Ziel: vom Wunschfilter zur fertigen Implementierung.

Was bedeutet „digitale Filter berechnen“?

Ein digitaler Filter wird intern nicht mit Frequenzen beschrieben, sondern mit einer Differenzgleichung:

\[ y[k] = b_0 x[k] + b_1 x[k-1] + b_2 x[k-2] - a_1 y[k-1] - a_2 y[k-2] \]

Damit der Filter das gewünschte Frequenzverhalten hat (z. B. Tiefpass bei 1 kHz), müssen \(b_i\) und \(a_i\) passend zu \(f_c\), \(f_s\) und \(Q\) berechnet werden.

Eingabeparameter

Für einen typischen IIR-Tiefpass 2. Ordnung brauchst du:

  • Grenzfrequenz \(f_c\) (z. B. 1000 Hz)
  • Abtastrate \(f_s\) (z. B. 48 000 Hz)
  • Güte \(Q\) (z. B. \(1/\sqrt{2} \approx 0{,}707\) für Butterworth)

In der Praxis reicht das für viele Standard-Tiefpässe aus.

Schritt 1: Normierte Kreisfrequenz

Die normierte Kreisfrequenz beschreibt, wie nahe die Grenzfrequenz an der halben Abtastrate liegt. Sie ist die zentrale Verbindung zwischen analoger Vorstellung (Hz) und digitalem System (Samples).

\[ \omega = 2\pi \frac{f_c}{f_s} \]

Schritt 2: Bilineare Transformation (Prewarp)

Die bilineare Transformation verzerrt Frequenzen nichtlinear. Ohne Korrektur würde der Filter nicht exakt bei der gewünschten Grenzfrequenz arbeiten.

Mit dem sogenannten Prewarping wird diese Verzerrung kompensiert. Der Tangens-Term sorgt dafür, dass die Grenzfrequenz im digitalen Filter exakt stimmt.

\[ K = \tan\left(\frac{\omega}{2}\right) \]

Schritt 3: Koeffizienten (Tiefpass 2. Ordnung)

Die Koeffizienten haben eine klare Struktur:

  • b0, b1, b2 bestimmen den Einfluss des Eingangssignals (Feedforward)
  • a1, a2 bestimmen die Rückkopplung (Feedback)

Ein Tiefpass entsteht dadurch, dass schnelle Änderungen (hohe Frequenzen) durch die Rückkopplung gedämpft werden.

\[ \mathrm{norm} = \frac{1}{1 + \frac{K}{Q} + K^2} \]

\[ b_0 = K^2 \cdot \mathrm{norm},\quad b_1 = 2 b_0,\quad b_2 = b_0 \]

\[ a_1 = 2(K^2 - 1)\cdot \mathrm{norm},\quad a_2 = \left(1 - \frac{K}{Q} + K^2\right)\cdot \mathrm{norm} \]

Diese Werte können direkt in die Rekursion eingehen (siehe unten).

Beispiel (gerundet)

\(f_c = 1000\) Hz, \(f_s = 48\,000\) Hz, \(Q = 0{,}707\):

  • \(b_0 \approx 0{,}0039\), \(b_1 \approx 0{,}0078\), \(b_2 \approx 0{,}0039\)
  • \(a_1 \approx -1{,}8153\), \(a_2 \approx 0{,}8310\)

Dieser Rechner übersetzt eine gewünschte Grenzfrequenz in konkrete Filterkoeffizienten. Das bedeutet: Du gibst vor, welche Frequenzen durchgelassen werden sollen – und erhältst die Zahlen, die dein Mikrocontroller oder DSP direkt verwenden kann.

Interaktiver Rechner: Digitaler Tiefpass (Biquad)

Koeffizienten eines digitalen IIR-Tiefpassfilters 2. Ordnung aus Grenzfrequenz, Abtastrate und Güte \(Q\). Eingaben werden bei Änderung automatisch neu berechnet; du kannst die Werte auch in die Zwischenablage kopieren.

Hinweis: Du kannst die Koeffizienten direkt in deinen Code übernehmen. Achte darauf, dass dein Filter mit normalisierten Koeffizienten arbeitet (a0 = 1).

Python-Code zur Berechnung

import math

def lowpass(fc, fs, Q=0.707):
    omega = 2 * math.pi * fc / fs
    K = math.tan(omega / 2)

    norm = 1 / (1 + K / Q + K * K)

    b0 = K * K * norm
    b1 = 2 * b0
    b2 = b0

    a1 = 2 * (K * K - 1) * norm
    a2 = (1 - K / Q + K * K) * norm

    return b0, b1, b2, a1, a2

Verwendung in der Rekursion (C / Embedded)

y = b0*x + b1*x1 + b2*x2
  - a1*y1 - a2*y2;

Das entspricht dem üblichen Muster auf Mikrocontrollern, Audio-DSP und in Echtzeitsystemen (Zustände \(x_1,x_2,y_1,y_2\) wie im Tiefpass-Bericht beschrieben).

Einfluss der Güte \(Q\)

Die Güte bestimmt Form und Schärfe der Übertragungsfunktion:

\(Q\) Verhalten
\(0{,}5\) stärker gedämpft
\(0{,}707\) Butterworth (häufiger Standard)
\(> 1\) Resonanz / Peak nahe \(f_c\)

Viele Suchanfragen laufen auf Begriffe wie „Q-Faktor Filter Bedeutung“ – gemeint ist genau diese Rolle von \(Q\) im Entwurf.

Typische Fehler

  • Grenzfrequenz oberhalb der Nyquist-Grenze \(f_s/2\)
  • falsche Vorzeichen bei \(a_1, a_2\) in der Implementierung (Vergleich mit der Standard-Differenzgleichung)
  • keine Frequenzvorverzerrung → falsche effektive Grenzfrequenz (hier durch \(K=\tan(\omega/2)\) abgedeckt)
  • sehr hohe \(Q\)-Werte: numerische Empfindlichkeit und mögliche Instabilität bei falschen Parametern

Warum diese Methode Standard ist

Die Kombination aus bilinearer Transformation und Biquad-Struktur ist weit verbreitet, weil sie stabil, effizient und direkt implementierbar ist. Typische Einsatzgebiete: Audio-Equalizer, DSP-Systeme, Regelungen und Embedded-Geräte.

Fazit

Mit wenigen Parametern erhältst du: Grenzfrequenz → Koeffizienten → fertige Rekursion. IIR-Biquad-Tiefpässe gehören damit zu den wichtigsten Werkzeugen der digitalen Signalverarbeitung – ergänzend zur theoretischen Herleitung über \(H(z)\).

Autor: Ruedi von Kryentech

Erstellt am: 06.04.2026 · Zuletzt aktualisiert: 06.04.2026

Fachlicher Stand zum Zeitpunkt der letzten Aktualisierung.