Sinc Filter

Sinc-filter on signaalitöötluses idealiseeritud filter, mis eemaldab kõik sageduskomponendid üle antud võrreldava sageduse, mõjutamata madalamaid sagedusi. Filtri sisend sinusoidi faasi ja väljundi suhe on lineaarne (ehk faasikoste). Antud filtri impulsskoste on sinc-funktsioon ajadomeenis ja selle sageduskoste on kast funktsioon. Sageduse vaatenurgast on tegemist "ideaalse" madalpääsfiltriga, ideaalselt lastes läbi madalad sagedused. Seda võib nimetada ka brick-wall filtriks. Reaalajas filtrid saavad sellele ideaalile ainult läheneda, sest ideaalne sinc-filter on mittepõhjuslik filter ja omab lõpmatut viivitust. Tavaliselt leidub selliseid filtreid põhimõttelistel demonstratsioonidel või tõestustes nagu näiteks sämplimisteoreemis ja Whittakeri-Shannoni interpolatsioonivalemis. Soovitud sageduskoste matemaatiliselt on kastfunktsioon: H ( f ) = rect ⁡ ( f 2 B ) = { 0 , if  | f | > B , 1 2 , if  | f | = B , 1 , if  | f | < B , {\displaystyle H(f)=\operatorname {rect} \left({\frac {f}{2B}}\right)={\begin{cases}0,&{\text{if }}|f|>B,\\{\frac {1}{2}},&{\text{if }}|f|=B,\\1,&{\text{if }}|f|<B,\end{cases}}} kus B {\displaystyle B\,} on juhuslik mahalõikesagedus (ingl. k. cutoff frequency, fc). Antud filtri impulsskoste on antud pööratud Fourier' teisendusega sageduskostest: h ( t ) = F − 1 { H ( f ) } = ∫ − B B exp ⁡ ( 2 π i f t ) d f = 2 B sinc ⁡ ( 2 B t ) {\displaystyle {\begin{aligned}h(t)={\mathcal {F}}^{-1}\{H(f)\}&=\int _{-B}^{B}\exp(2\pi ift)\,df\\&=2B\operatorname {sinc} (2Bt)\end{aligned}}} , kus sinc on normaliseeritud sinc-funktsioon. Kuna sinc-filtril on lõpmatu impulsskoste nii positiivses kui negatiivses suunas ajateljel, peab seda lähendama päris maailma (mitteabstraktsete) kasutuste jaoks. Tihtipeale kasutatakse tihti hoopis windowed-sinc (akendatud sinc) filtrit. Akendamine ja sinc-filtri (konvolutsiooni) kerneli kärpimine pärismaailma praktilistes rakendustes kasutamiseks, vähendab selle ideaalseid omadusi. Akendatud sinc-filtreid kasutatakse digitaalses signaalitöötluses selleks, et eraldada üks kogumik sagedusi ülejäänutest. Nad on väga stabiilsed ja töökindlad. Need head sagedusruumi omadused on saadud tänu kehvale toimimisele ajadomeenis, sealhulgas liigne virvendus ja üleulatus sammvastes. Kui sooritada läbi standardse konvolutsiooni, on akendatud sinc-filtrid kergelt programmeeritavad, kuid teostamisel ajakulukad. Kasutades Fourier' teisendust, on võimalik nende filtrite arvutuskiirust oluliselt tõsta. Brick-wall filter on disainitud nii järsu mahalõike langusega, et graafik meenutab telliskivi seina. Tegemist on idealiseeritud elektroonilise filtriga, millel on täis edastus läbipääsualal, täielik nõrgenemine lõpualal ja järsud muutused üleminekul. Seda tüüpi filtreid kasutatakse tihti anti-aliasing filtritena analoog-digitaalmuundurites. Audio andmetel antud filtrite kasutamisel võib osutada problemaatiliseks – filtreerimata audiol võib esineda faasinihkeid ja mittelineaarsust mahalõikepunkti läheduses. Sinc-filter on brick-wall madalpääsfilter, millest on lihtne konstrueerida brick-wall ribapääsfiltreid (ingl. k. band-pass filter) ja kõrgpääsfiltreid. Brick-wall madalpääsfiltri äralõike sagedusega kohal BL on impulsskoste ja teisendusfunktsioon järgmiselt: h L P F ( t ) = 2 B L sinc ⁡ ( 2 B L t ) {\displaystyle h_{LPF}(t)=2B_{L}\operatorname {sinc} \left(2B_{L}t\right)} H L P F ( f ) = rect ⁡ ( f 2 B L ) . {\displaystyle H_{LPF}(f)=\operatorname {rect} \left({\frac {f}{2B_{L}}}\right).} Ribapääsufilter, alumise riba servaga BL ja ülemise riba servaga BH, on lihtsalt kahe taolise sinc-filtri erinevus (kuna filtrid on null faasiga, siis nende magnituud vastused lahutatakse otse): h B P F ( t ) = 2 B H sinc ⁡ ( 2 B H t ) − 2 B L sinc ⁡ ( 2 B L t ) {\displaystyle h_{BPF}(t)=2B_{H}\operatorname {sinc} \left(2B_{H}t\right)-2B_{L}\operatorname {sinc} \left(2B_{L}t\right)} H B P F ( f ) = rect ⁡ ( f 2 B H ) − rect ⁡ ( f 2 B L ) . {\displaystyle H_{BPF}(f)=\operatorname {rect} \left({\frac {f}{2B_{H}}}\right)-\operatorname {rect} \left({\frac {f}{2B_{L}}}\right).} Kõrgpääsfilter, alumise riba servaga, BH on lihtsalt läbipaistev filter (ingl. k. transparent filter) miinus sinc-filter. Sellest järeldub, et Dirac delta funktsioon piirab ajas kitsast sinc-filtrit: h H P F ( t ) = δ ( t ) − 2 B H sinc ⁡ ( 2 B H t ) {\displaystyle h_{HPF}(t)=\delta (t)-2B_{H}\operatorname {sinc} \left(2B_{H}t\right)} H H P F ( f ) = 1 − rect ⁡ ( f 2 B H ) . {\displaystyle H_{HPF}(f)=1-\operatorname {rect} \left({\frac {f}{2B_{H}}}\right).} Reaalajas kasutatavad brick-wall filtrid ei ole füüsiliselt realiseeritavad, sest neil on lõpmatu latentsus ja lõpmatu järk (ehk vastet ei saa väljendada lineaarse diferentsiaalvõrrandina lõpliku summaga). Kuid umbkaudsed teostused on siiski teinekord kasutusel ja neid kutsutakse sageli brick-wall filtriteks. Sagedusruumi sinc CIC (Cascaded integrator–comb) filtrit, lisaks paljudele teistele kasutusaladele, kasutatakse laialdaselt delta-sigma analoog-digitaalmuundurites allasämplimiseks (ingl. k. downsampling). Seda seetõttu, et selliseid filtreid on lihtne rakendada ja nad on peaaegu optimaalsed antud kasutuseks. Sagedusruumis sinc-filtri kõige lihtsakoelisem rakendus on grupi-keskmistamise filter (ehk kogu-ja-viskaära filter). Selle filtri abil saab ka andmeedastuskiirust vähendada. Grupi keskmistamise filter kogub N andmepunkti, koondab need ja annab koondaja väärtused väljundisse. Seega antud filtri allasämplimise tegur on N. Seda saab modelleerida ka kui lõpliku siirdega filtrit (FIR), kui lugeda kõik N kordajad võrdseks, millele järgneb N-aja alla sämplimise sektsioon. Filtri lihtsus seisneb selles, et ta vajab ainult koondajat keskse andmetöötlusblokina. Grupi keskmistamise filter, mis töötleb N andmepunkti omab N/2 edastus nulle. Sinc-filter ei ole seotud-sisend-seotud-väljund stabiilne. See tähendab, et seotud sisend võib produtseerida sidumata väljundi, sest sinc-funktsiooni absoluutväärtuse integraal on lõpmatu väärtusega. Seotud sisend, mis toodab sidumata väljundi on sgn(sinc(t)). Lisaks veel on ka sin(2πBt)u(t), sinusoidne signaal algpunktiga ajahetkel 0, mahalõikesagedusel. Digitaalses signaalitöötluses on sinc-filter kasutusel reaalsetel juhtudel akendatud kujul. Selleks, et antud filtrit saada võetakse ideaalsest kastsignaalist sagedusruumis pöörd Fourier' teisendus ja saadakse ideaalse filtri kernel. Saadud tulemuse üldnimetus on sinc-funktsioon (ajadomeenis). Sisendsignaali konvoleerides antud filtri kerneliga annab "ideaalse" madalpääsfiltri. Probleem seisneb selles, et sinc-funktsioon väärtused ulatuvad jätkuvalt negatiivsest lõpmatusest positiivse lõpmatuseni, ilma et jõuaksid null amplituudi. Kuigi see lõputu pikkus ei ole matemaatikas probleem, osutub see probleemiks arvutitele. Selleks, et see probleem lahendada kõigepealt kärbime sinc-filtri kernelit M + 1 punktini, kus M on paarisarvuline andmepunktide hulk, mis on valitud sümmeetriliselt ümber peamise nuki. Kõik sämplid väljaspool M + 1 punkti määratakse nulliks või lihtsalt ignoreeritakse. Seejärel kogu jada nihutatakse paremale, et see jookseks nullist kuni M-ini. See võimaldab filtri kernelit esitada kasutades ainult positiivseid indekseid. Kuigi paljud programmeerimiskeeled lubavad negatiivseid indekseid, on neid neid keeruline kasutada. Antud filtri kerneli M/2 nihke suurim efekt on väljundsignaali võrdne nihutus. Kuna muudetud filtri kernel on ideaalse filtri umbkaudne hinnang, ei oma too ideaalset sageduskostet. Selleks, et leida omandatud sageduskostet saab võtta signaalist Fourier' teisenduse, mille tulemuseks on joonisel "Akendatud sinc-filtri kerneli leidmine" graafik d). Tulemus ei saa siiski stabiilne, läbilaske alal on liiga palju virvendust ning lõpualal on kehv nõrgenemine. Kerneli pikkuse muutmine ei vähenda probleemi, pidevusetud on liiga suured, ükskõik kui suur ka M väärtus ei ole. Korrutades kärbitud sinc-funktsiooni sujuvalt kitseneva kõrveraga '"Blackmani aken", saame tulemuseks akendatud sinc-funktsiooni kerneli (joonisel graafik f). Viies tulemuse sagedusruumi näeme, et läbipääsuala on nüüd sirge ja lõpuala sumbumine on nii hea, et seda antud juhul pole nähagi. Kasutada on võimalik mitmeid erinevaid aknaid, kuid parimad selleks lahenduseks on "Hammingu aken" ja "Blackmani aken". Hammingu aken: w [ i ] = 0.54 − 0.46 cos ⁡ ( 2 π i / M ) {\displaystyle w[i]=0.54-0.46\cos(2\pi i/M)} Blackmani aken: w [ i ] = 0.42 − 0.5 cos ⁡ ( 2 π i / M ) + 0.08 cos ⁡ ( 4 π i / M ) {\displaystyle w[i]=0.42-0.5\cos(2\pi i/M)+0.08\cos(4\pi i/M)} , kus M on sämplite arv. Aladiskreetimine Sinc-funktsioon Steven W. Smith (1997–2011). The Scientist and Engineer's Guide to Digital Signal Processing (inglise). California Technical Publishing. Lk peatükk 16.{{raamatuviide}}: CS1 hooldus: kuupäeva vorming (link) Dan Banquer (30.08.2004). "Brick Wall Digital Filters and Phase Deviations". audioholics.com (inglise). Vaadatud 15.04.2022. Mark Owen (2007). Practical signal processing (inglise). Cambridge University Press. Lk 81. ISBN 978-0-521-85478-8. The Scientist and Engineer's Guide to Digital Signal Processing, Chapter 16-Windowed-Sinc Filters, Steven W. Smith, Ph.D. The Scientist and Engineer's Guide to Digital Signal Processing, Chapter 11-Fourier Transform Pairs, Steven W. Smith, Ph.D. Brickwall Filter en.wikipedia.org artikkel "Sinc filter" Sinc function, youtube.com video Sinc Function in Signal Processing