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.

## Liigitus

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. 

## Disainimine
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. 

## Töötamise loogika
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.

## Eelised
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. 

## Digitaalsete filtrite näiteid
**Lihtsakoeline võimendusfilter:** 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 y_n = x_{n-1}

See filter lisab igale diskreedile viivituse *h*. Väljundväärtus ajahetkel t = nh on sisendsignaal ajal t = (n-1)h.
Seega tulevad esimesed paar väljundit:
* y_0 = x_{-1}
* y_1 = x_0
* y_2 = x_1
* 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}

See filter töötab analoogselt diferentsvõimendiga andes väljundiks sisendsignaalide muutuse diskreetimisintervalli *h* jooksul.
Väljundväärtus ajahetkel t = nh kujutab endast hetke sisendi x_n ja eelneva sisendi x_{n-1} vahet.
Seega tulevad esimesed paar väljundit:
* y_0 = x_0 - x_{-1}
* y_1 = x_1 - x_0
* y_2 = x_2 - x_1
* y_3 = x_3 - x_2

**Kahejärguline keskmistav filter:** 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 ja eelneva sisendi x_{n-1} aritmeetilist keskmist.
Seega tulevad esimesed paar väljundit:
* y_0 = \frac{x_0 + x_{-1}}{2}
* y_1 = \frac{x_1 + x_0}{2}
* y_2 = \frac{x_2 + x_1}{2}
* y_3 = \frac{x_3 + x_2}{2}
Diskreetimise alguse aja kohta kehtib samasugune eeldus nagu viivisfiltri korral.

**Keskne erinevusfilter:** 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 = nh kujutab endast hetke sisendi x_n ja üle-eelneva sisendi x_{n-2} vahe aritmeetilist keskmist.
Seega tulevad esimesed paar väljundit:
* y_0 = \frac{x_0 - x_{-2}}{2}
* y_1 = \frac{x_1 - x_{-1}}{2}
* y_2 = \frac{x_2 - x_{0}}{2}
* y_3 = \frac{x_3 - x_{1}}{2}
Diskreetimise alguse aja kohta kehtib samasugune eeldus nagu viivisfiltri korral.

## Viited