Klouzavý průměr a exponenciální filtr
Dva nejjednodušší filtry, jaké existují, a v praxi dvě nejčastěji použité věci vůbec. Stojí za to je znát pořádně, protože většina úloh na nic složitějšího nedojde.
Klouzavý průměr
Šum nezávislých vzorků klesne √N×, zpoždění je (N−1)/2 vzorku a je na každé frekvenci stejné — filtr má lineární fázi, takže tvar signálu nezkresluje, jen ho posune. To je vlastnost, kterou žádný IIR filtr nemá a která se v měřicí technice cení.
Jeho frekvenční charakteristika je Dirichletovo jádro:
Má hluboké zářezy na násobcích fs/N — a toho se dá schválně využít: průměr přes přesně jednu periodu síťového brumu ho vyřízne úplně. Zato postranní laloky jsou jen −13 dB pod propustným pásmem a víc vzorků je nezlepší.
Exponenciální filtr
Nejlevnější filtr, jaký jde napsat: jedna proměnná, žádné pole. Váhy klesají geometricky, takže si „pamatuje" nekonečně dlouho, ale čím dál slaběji.
Exponenciální τ = 80 ms (α = 0,1175): šum × 0,250, zpoždění 75,1 ms, mez −3 dB 1,99 Hz.
Nastav je na stejnou mez −3 dB a porovnej zbytek. Průměr má hlubší první zářez, ale za ním se vrací nahoru — jeho postranní laloky jsou jen −13 dB. Exponenciální filtr klesá pomalu, zato monotónně a stojí jedno násobení a jednu paměťovou buňku.
Past: α z časové konstanty se počítá dvěma způsoby
A nedávají totéž:
První je přesná v tom smyslu, že se odezva shoduje se spojitým článkem prvního řádu ve vzorkovacích okamžicích. Druhá je z bilineární náhrady a je to ta, kterou najdeš všude. Při Δt = τ/10 se liší o víc než 3 % a při Δt = τ/2 už výrazně. Není to chyba — jsou to dva různé filtry se stejným jménem. Vědět, který se používá, je důležité v okamžiku, kdy někdo mění vzorkovací frekvenci a diví se, že se chování změnilo.
Který z těch dvou zvolit? Klouzavý průměr, když jde o měření a záleží na tom, aby se tvar nezkreslil, nebo když chceš zářez na známé frekvenci. Exponenciální všude, kde je málo paměti a nezáleží na fázi. V regulační smyčce ani jeden bez rozmyslu — kapitola 7 říká proč.