Digitaalne filter

Digitaalne filter (inglise keeles digital filter) ehk digitaalfilter on signaalitöötluses süsteem, mis rakendab diskreeditud signaalile matemaatilisi operatsioone eesmärgiga summutada või võimendada signaali erineva sagedusega osi. Digitaalseid filtreid kasutatakse üldiselt samadel eesmärkidel kui analoogsignaale töötlevaid analoogfiltreid, seega signaali teatud sageduspiirkondade tõkestamiseks või läbilaskmiseks, samuti liitsignaalide lahutamiseks ja mingil moel moonutatud signaalide taastamiseks. Kuigi nendeks toiminguteks saab kasutada ka analoogfiltreid, annavad digitaalfiltrid enamasti paremaid tulemusi. Digitaalsed filtrid liigitatakse peamiselt disainitüüpide järgi kahte gruppi: lõpliku siirdega filter (inglise keeles finite-duration impulse response filter (FIR), mille impulsskoste on null ainult lõpliku arvu diskreetide korral, ning piiramatu kestusega impulsskoste filter (inglise keeles infinite-duration impulse response (IIR), mille puhul on impulsskostes lõputult mittenulldiskreete. Diskreetse signaaliga tegeleva filtri topoloogias esinev tagasiside tekitab üldjuhul piiramatu kestusega impulsskoste (IIR). IIR-filtri z-domeeni ülekandefunktsioon sisaldab tagasisideahelat kirjeldavat nimetajat (mittenull). Samas FIR-filtri ülekandefunktsioonis, nagu allpool näha, on vaid nimetaja. Kõik tagasiside kirjeldavat koefitsiendid on nullid ja filtril lõplikke pooluseid ei ole. Võrreldes FIR-filtritega saab IIR-filtritega soovitud disaininõuetele vastata väiksema sammude arvuga, seeläbi on vaja arvutada ja talletada vähemaid muutujaid. See võib viia madalama disaini ja implementeerimise keerukuseni. Digitaalseid filtreid iseloomustab ainulaadselt nende sageduskoste sagedusruumis, mis kujutab endast ajadomeeni diskreetset Fourier' teisendust. Kindla ülesande lahendamiseks filtrit disainides oodatakse alati tulemuseks väga sagedustundlikku filtrit, millel on ideaalselt terav ning kitsas üleminekuriba. Siiski ei saa seda praktikas realiseerida, kuna ideaalselt terav üleminekuriba vastab matemaatikas katkestuspunktile (ebapidevusele). Seetõttu otsitakse ideaalse filtri disainimisel sellist filtrit, mida on võimalik realiseerida ning mille sageduskoste (täpsemalt amplituudi-sageduse karakteristik) ja faasikoste (faasi-sageduse karakteristik) on parimad lähendused soovitud funktsionaalsusele. Enamikus filtri disainimise olukordades tuleb teha kompromisse erinevate parameetrite osas. Analoogsignaali digitaalselt filtreerimiseks saab kasutada integraalskeemi, mis koosneb digitaal-analoogmuundurist, protsessorist ja analoog-digitaalmuundurist. Kõigepealt tuleb analoogsignaal diskreetida ja digiteerida analoog-digitaalmuunduri abil. Sealt saadud kahendsüsteemis arvud, mis esindavad sisendsignaali diskreetväärtusi, saadetakse protsessorisse, mis teostab nende peal matemaatilisi operatsioone. Need operatsioonid kujutavad endast enamjaolt sisendväärtuste korrutamist konstantidega ning tulemuste kokku liitmist. Tulemuseks saadud filtreeritud signaali väärtused saab nüüd vajadusel saata digitaal-analoogmuundurisse, mis muundab signaali digitaalselt kujult tagasi analoogkujule. Välja tasub tuua, et digitaalfiltris on signaal esitatud numbrilisel kujul, mitte pinge või voolutugevusena. Järgnevalt on välja toodud digitaalse filtri peamised eelised analoogfiltri ees: Digitaalne filter on programmeeritav, st selle töötamise loogika määrab ära protsessori mällu talletatud eeskiri. Seekaudu saab digitaalset filtrit hõlpsalt muuta ilma riistvaralisi muudatusi tegemata. Analoogfiltri töötamise loogikat saab muuta ainult vastava integraalskeemi riistvara muutes. Digitaalsed filtrid on hõlpsalt disainitavad, testitavad ja implementeeritavad ka üldkasutatava arvuti abil. Analoogfiltriga integraalskeemide, eriti aktiivkomponente sisaldavate skeemide, omadused on muutlikud ning olenevad temperatuurist. Digitaalse filtri omadused ei ole nende probleemide poolt piiratud, misläbi on nad oluliselt stabiilsemad nii aja kui ka temperatuuri mõttes. Erinevalt analoogfiltritest suudavad digitaalsed filtrid madala sagedusega signaale täpselt töödelda. Signaalitöötluse tehnoloogia arenedes kasvab signaalide töötlemise kiirus ning digitaalseid filtreid hakatakse rakendama ka kõrgsageduslikele signaalidele raadiolainete domeenis, mis varem oli eksklusiivselt analoogtehnoloogia ülesanne. Digitaalsed filtrid on oluliselt mitmekülgsemad signaalide eri viisidel töötlemises, sh on mõeldud mõne digitaalse filtri võimekust kohaneda signaali omadustega. Kiired digitaalse signaalitöötluse protsessorid saavad hakkama eri filtrite keeruliste kombinatsioonidega (jadamisi ja paralleelselt), tehes selliselt töötlemise eelduseks olevad riistvaralised nõuded suhteliselt lihtsakoeliseks ja kompaktseks võrreldes analoogsüsteemidega. Lihtsakoeline võimendusfilter: y n = K x n {\displaystyle y_{n}=Kx_{n}} See filter võimendab iga diskreedi väärtust eelnevalt defineeritud konstandiga (K). Olukorras, kui K > 1 on tegemist signaali võimendamisega 0 < K < 1 puhul on tegemist summutamisega K < 0 kujutab endast inverteerivat võimendamist. Ülaltoodud näide (1) on eriolukord, kus K = 1. Viivisfilter: y n = x n − 1 {\displaystyle y_{n}=x_{n-1}} See filter lisab igale diskreedile viivituse h. Väljundväärtus ajahetkel t = n h {\displaystyle t=nh} on sisendsignaal ajal t = ( n − 1 ) h {\displaystyle t=(n-1)h} . Seega tulevad esimesed paar väljundit: y 0 = x − 1 {\displaystyle y_{0}=x_{-1}} y 1 = x 0 {\displaystyle y_{1}=x_{0}} y 2 = x 1 {\displaystyle y_{2}=x_{1}} y 3 = x 2 {\displaystyle y_{3}=x_{2}} Eeldusel, et diskreetimine algas ajahetkel t = 0, tasub välja tuua, et y0 korral on sisendväärtus x-1 määratlemata. Tavaliselt eeldatakse sellises olukorras, et kõik sisendsignaali väärtused enne ajahetke t = 0 on nullid. Kahejärguline erinevusfilter: y n = x n − x n − 1 {\displaystyle y_{n}=x_{n}-x_{n-1}} See filter töötab analoogselt diferentsvõimendiga andes väljundiks sisendsignaalide muutuse diskreetimisintervalli h jooksul. Väljundväärtus ajahetkel t = n h {\displaystyle t=nh} kujutab endast hetke sisendi x n {\displaystyle x_{n}} ja eelneva sisendi x n − 1 {\displaystyle x_{n-1}} vahet. Seega tulevad esimesed paar väljundit: y 0 = x 0 − x − 1 {\displaystyle y_{0}=x_{0}-x_{-1}} y 1 = x 1 − x 0 {\displaystyle y_{1}=x_{1}-x_{0}} y 2 = x 2 − x 1 {\displaystyle y_{2}=x_{2}-x_{1}} y 3 = x 3 − x 2 {\displaystyle y_{3}=x_{3}-x_{2}} Kahejärguline keskmistav filter: y n = x n + x n − 1 2 {\displaystyle y_{n}={\frac {x_{n}+x_{n-1}}{2}}} See filter kujutab endast lihtsakoelist madalpääsfiltri tüüpi, kuna ühtlustab kõrgsageduslike variatsioonide mõju signaalis. Väljundväärtus on hetke sisendi x n {\displaystyle x_{n}} ja eelneva sisendi x n − 1 {\displaystyle x_{n-1}} aritmeetilist keskmist. Seega tulevad esimesed paar väljundit: y 0 = x 0 + x − 1 2 {\displaystyle y_{0}={\frac {x_{0}+x_{-1}}{2}}} y 1 = x 1 + x 0 2 {\displaystyle y_{1}={\frac {x_{1}+x_{0}}{2}}} y 2 = x 2 + x 1 2 {\displaystyle y_{2}={\frac {x_{2}+x_{1}}{2}}} y 3 = x 3 + x 2 2 {\displaystyle y_{3}={\frac {x_{3}+x_{2}}{2}}} Diskreetimise alguse aja kohta kehtib samasugune eeldus nagu viivisfiltri korral. Keskne erinevusfilter: y n = x n − x n − 2 2 {\displaystyle y_{n}={\frac {x_{n}-x_{n-2}}{2}}} Selle filtri rakendamisel saadud tulemus sarnaneb kahejärgulise erinevusfiltri tulemusega. Väljundiks on pool sisendsignaalide muutusest kahe eelneva diskreetimisintervalli h jooksul. Väljundväärtus ajahetkel t = n h {\displaystyle t=nh} kujutab endast hetke sisendi x n {\displaystyle x_{n}} ja üle-eelneva sisendi x n − 2 {\displaystyle x_{n-2}} vahe aritmeetilist keskmist. Seega tulevad esimesed paar väljundit: y 0 = x 0 − x − 2 2 {\displaystyle y_{0}={\frac {x_{0}-x_{-2}}{2}}} y 1 = x 1 − x − 1 2 {\displaystyle y_{1}={\frac {x_{1}-x_{-1}}{2}}} y 2 = x 2 − x 0 2 {\displaystyle y_{2}={\frac {x_{2}-x_{0}}{2}}} y 3 = x 3 − x 1 2 {\displaystyle y_{3}={\frac {x_{3}-x_{1}}{2}}} Diskreetimise alguse aja kohta kehtib samasugune eeldus nagu viivisfiltri korral. S. E. Smith. "The Scientist and Engineer's Guide to Digital Signal Processing, Chapter 14: Introduction to Digital Filters" (Inglise). Vaadatud 30.05.2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link) V. Madisetti. "Digital Signal Processing Fundamentals" (Inglise). Vaadatud 30.05.2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link) V. Giurgiutiu. "Structural Health Monitoring with Piezoelectric Wafer Active Sensors (Second Edition)" (Inglise). Vaadatud 30.05.2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link) T. Tyson. "Introduction to Digital Filters" (PDF) (Inglise). Vaadatud 30.05.2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)