FilterLab šum a odhad stavu

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

IIR: Butterworth a bilineární transformace

FIR potřebuje na strmý přechod desítky až stovky koeficientů. IIR filtr téhož řádu strmosti dosáhne za jednotky koeficientů, protože si pomáhá vlastními minulými výstupy. Zaplatí se to fází, která už není lineární.

Odkud se ten filtr bere

Butterworthův filtr se navrhuje spojitě — jeho póly leží rovnoměrně na jednotkové kružnici v levé polorovině — a pak se převede do diskrétního světa bilineární transformací. Ta zobrazí celou nekonečnou osu spojitých frekvencí do konečného rozsahu do Nyquista, a proto se frekvence u meze musí předzkreslit:

Ω = tan(π f/fs)předzkreslení: bez něj mez nesedí

Bez předzkreslení vyjde mez při fc = fs/10 o 3 % níž, než sis přál, a se zvyšujícím se poměrem fc/fs to rychle roste. S ním sedí přesně, a to je kontrolovatelné: charakteristika hotového filtru musí splňovat

|H(f)|² = 1 / (1 + (tan(πf/fs) / tan(πfc/fs))2n)přesně, ne přibližně
0.501.02.05.0102050-75-50-250.0−3 dBfcfrekvence [Hz]dBzvolený řádprvní řád pro srovnání
Řád 2: na trojnásobku meze -22,6 dB (teoreticky −19,1 dB), zpoždění při nízké frekvenci 27,6 ms, šum × 0,416.
Mez −3 dB vyšla 8,000 Hz proti zadaným 8 Hz — sedí, protože se frekvence před bilineární transformací předzkresluje. Bez toho by při fc = 10 Hz a fs = 100 Hz vyšla mez o 3 % níž a nikdo by nevěděl proč.
Táhni řádem nahoru. Strmost roste o 20 dB na dekádu na každý řád — a zpoždění roste s ním. Filtr, který v regulační smyčce zabral šum, ji umí sám rozkmitat; proč, je v ControlLabu.
Táhni řádem. Za mezí přibude 20 dB na dekádu na každý řád — a zpoždění roste s ním. Zkontroluj v odečtu, že mez −3 dB opravdu sedí tam, kam byla zadaná.

Řád: co se kupuje a čím se platí

Řád n dá za mezí strmost 20·n dB na dekádu. Zároveň ale roste skupinové zpoždění, a to hlavně kolem meze, kde je charakteristika nejzakřivenější. Butterworth je z klasických aproximací ta nejmírnější — má maximálně plochou propustnou oblast a nemá zvlnění. Čebyševův filtr je strmější za cenu zvlnění a horší fáze; eliptický ještě strmější a ještě horší.

Proč se to skládá z biquadů. Filtr osmého řádu napsaný jako jedna rovnice s devíti koeficienty je numericky nepoužitelný — koeficienty se liší o řády a v plovoucí čárce se póly rozjedou. Kaskáda čtyř sekcí druhého řádu má tentýž přenos a chová se slušně. Proto solver vrací sekce, ne jeden polynom.

IIR nemá lineární fázi. Nikdy. Různé frekvence se zpozdí různě, takže se tvar signálu zdeformuje — a to je zásadní, když z něj chceš odečítat časy, třebas okamžik nárazu nebo průchod nulou. Když na tvaru záleží, patří tam FIR.

Vzorce v této kapitole

Ω — předzkreslení frekvence
Ω = tan(π f/f_s) [—] bilineární transformace
|H| — Butterworthova magnituda
|H|² = 1/(1 + (Ω/Ω_c)^{2n}) [—] maximálně plochá
Q — činitel jakosti sekce
Q_i = −1/(2·cos θ_i), θ_i = π(2i+n+1)/(2n) [—] rozložení pólů