Lõplik impulsskoste filter

Lõpliku impulsskoste filter (inglise keeles finite impulse response ehk FIR-filter) on signaalitöötluses kasutatav filter, mille kasutades esineb signaali lõplik siirdumine null väärtusele. Erinedes lõpmatu impulsskostega filtritest (inglise keeles infinite impulse response ehk IIR-filter), mis võivad sisaldada sisemist tagasisidet ning kesta igavesti (üldiselt kahanevas suunas). Tänu piiratud sisendandmete hulgale ei saa lõpliku impulsskostega filtri tulemus muutuda ebastabiilseks ehk lõppsignaal pole võimeline iseseisvalt ostsilleeruma. Selle filtri N {\displaystyle N} -pikkusega impulskoste kestab diskreetses ajaruumis täpselt N + 1 {\displaystyle N+1} ajahetke. Alates esimesest nullist erinevast impulsist kuni viimase nullist erineva impulsini, taandudes lõpuks tagasi null väärtusele. Diskreetses ajaruumis on tegemist sisendsignaali- ja filtri-elementide korrutamisega ning tulemuste summeerimisega. y [ n ] = b 0 ⋅ x [ n ] + b 1 ⋅ x [ n − 1 ] + . . . + b N ⋅ x [ n − N ] = ∑ i = 0 N b i ⋅ x [ n − i ] {\displaystyle y[n]=b_{0}\cdot x[n]+b_{1}\cdot x[n-1]+...+b_{N}\cdot x[n-N]=\sum _{i=0}^{N}b_{i}\cdot x[n-i]} kus x [ n ] {\displaystyle x[n]} on sisendsignaal indeksiga kohal n {\displaystyle n} N {\displaystyle N} on filtri pikkus b i {\displaystyle b_{i}} on filtri impulsskoste väärtus indeksil i {\displaystyle i} , kus 0 ≤ i ≤ N {\displaystyle 0\leq i\leq N} y [ n ] {\displaystyle y[n]} on lõppväljund Märkame, et tegemist on konvolutsiooni valemiga. y [ n ] = h 0 ⋅ x [ n ] + h 1 ⋅ x [ n − 1 ] + . . . + h N ⋅ x [ n − N ] = ∑ i = 0 N h i ⋅ x [ n − i ] {\displaystyle y[n]=h_{0}\cdot x[n]+h_{1}\cdot x[n-1]+...+h_{N}\cdot x[n-N]=\sum _{i=0}^{N}h_{i}\cdot x[n-i]} kus x [ n ] {\displaystyle x[n]} on sisendsignaal indeksiga kohal n {\displaystyle n} N {\displaystyle N} on filtri pikkus h i {\displaystyle h_{i}} on filtri impulsskoste väärtus indeksil i {\displaystyle i} , kus 0 ≤ i ≤ N {\displaystyle 0\leq i\leq N} y [ n ] {\displaystyle y[n]} on lõppväljund Filtri impulsskoste väärtus on määratletud kui nullist suurem väärtus vaadeldavas vahemikus. FIR filtri rakendamisel on mitmeid eeliseid IIR filtri üle, näiteks: FIR filtrid on enamasti mitte korduvad filtrid ehk neil puuduvad tagasiside ahelad, kuid mõned variatsioonid võivad sisaldada ka tagasisidet. Tagasiside puudumisel on iteratsioonidel tekkinud ümardamisvead. Kuna lõpptulemus koosneb määratud hulga elementide ja nende kordajate summast, on tulemus alati stabiilne. Kus kõige suurem tulemus on alati ∑ | b i | {\displaystyle \sum |b_{i}|} korda kõige suurem impulss signaalis. Filtrit on kerge vaevaga võimalik luua lineaarkujule. Miinuseks võib lugeda suure arvutusvõimekuse vajaduse, mis tuleb rohkem ette madalate sageduste töötlemisel (olenedes diskreetimissagedusest). Olles nõudlikumad kui IIR filtrid, võib FIR filtri rakendamine tunduda ebavajalik. Kuid tänu mitmele digitaal signaalitöötlus protsessorile, mis sisaldavad spetsiifilist riistvara, on võimalik kasutada FIR filtreid peaaegu sama efektiivselt kui sarnaseid IIR filtreid. FIR filtreid kasutatakse nii analoog- kui digitaalruumis. Analoogselt FIR filtri rakendamine on harvem levinud nähtus, peamiselt tulemuse madala täpsuse tõttu. Digitaalkujul signaalitöötluses FIR filtrite rakendamine on rohkem levinud: Madalpääsfilter ehk LPF (inglise keeles Low Pass Filter) laseb läbi mahalõikesagedusest madalamad sagedused ning kõrgemad signaalid tõrjutakse. Kõrgpääsfilter ehk HPF (inglise keeles High Pass Filter) laseb läbi mahalõikesagedusest kõrgemad sagedused ning madalamad signaalid tõrjutakse. BPF (inglise keeles Berkley Packet Filter) kasutatakse kindlates operatsioonisüsteemides näiteks võrgu paketianalüüsis. Ribatõkkefilter ehk BSF (inglise k. Band-stop Filter) blokeerib kindla sagedusvahemiku signaalid, kuid jätab ülejäänud signaalid puutumata. Filter on kasutatav nii ajadomeenis kui ka sagedusruumis. Liikuva keskmise filter on üks kasutajasõbralikumaid filtreid, mida kasutatakse tihtipeale andmete silumisel. Lihtsalt lahtiseletatuna on LKF akna suuruse jagu andmepunktide summeerimine ning hiljem läbi jagamine akna suurusega. Valemina näeks filter välja järgmine: y [ n ] = 1 M ∑ m = 0 M − 1 x [ n − m ] {\displaystyle y[n]={\frac {1}{M}}\textstyle \sum _{m=0}^{M-1}\displaystyle x[n-m]} y [ n ] {\displaystyle y[n]} on väljundsignaal indeksiga kohal n {\displaystyle n} M {\displaystyle M} on akna suurus x [ n ] {\displaystyle x[n]} on sisendsignaal indeksiga kohal n {\displaystyle n} m {\displaystyle m} on eelmise elemendi indeks Võttes aluseks näiteks 7 päeva andmed elektrihindade kohta, kus iga tund on hind uuendatud, võib vaadeldav graafik esitatud olla järskude muutustega. Selle järgi on raske hinnata, mis oli näiteks päeva keskmine elektrihind. Rakendades LKF filtrit aknasuurusega 24 (kuna päevas on 24 tundi), saame silutud graafikul ülevaate kuidas hind muutus päevast päeva mugavamalt, kui käsitsi arvutades. Filtri kuju z {\displaystyle z} domeenis näeks välja järgmine: T ( z ) = ( 1 + 1 z + 1 z 2 + 1 z 3 + . . . + 1 z M ) M + 1 {\displaystyle T(z)={\frac {(1+{\frac {1}{z}}+{\frac {1}{z^{2}}}+{\frac {1}{z^{3}}}+...+{\frac {1}{z^{M}}})}{M+1}}} Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008 Robert Oshana, in DSP Software Development Techniques for Embedded and Real-Time Systems, 2006 Saeid Mokhatab, William A. Poe, in Handbook of Natural Gas Transmission and Processing, 2012 George Ellis, in Control System Design Guide (Fourth Edition), 2012