Friday 27 October 2017

Painotettu Liukuva Keskiarvo Suodatin


FIR-suodattimet, IIR-suodattimet ja lineaarinen vakiokertoimen erotusyhtälö Kausaalisen liikkuvan keskiarvon (FIR) suodattimet Weve keskustelivat järjestelmistä, joissa jokaisen tuotosnäytteen painotettu summa on (tietyt) syötteen näytteistä. Otetaan kausaalipainotettu summausjärjestelmä, jossa kausaalivälineet, jotka tietyn otosnäytteen riippuvat vain nykyisestä ottotäytteestä ja muista aiemmin sekvenssin aikaisemmista panoksista. Sekä lineaariset järjestelmät yleensä että lopulliset impulssijärjestelmät eivät erityisesti ole syy-seurauksia. Kuitenkin syy-yhteys sopii eräänlaiseen analyysiin, joka aikoi tutkia pian. Jos symbolit syötteet vektorin x arvoina. ja tulokset vastaavat vektorin y arvoja. niin tällainen järjestelmä voidaan kirjoittaa sellaiseksi, että b-arvot ovat nykyisen ja aikaisempien ottotäytteiden kohdat, joita käytetään nykyisen näytteen ottamiseksi. Voimme ajatella ilmaisua yhtälöksi, jossa yhtäläinen merkin merkitys on sama tai prosessuaalinen käsky, jossa yhtäläinen merkki merkitsee merkitystä. Antaa kirjoittaa jokaiselle lähdönäytteelle lausekkeen MATLAB-silmukkana, jossa x on tulonäytteiden N-pituinen vektori ja b on painojen M-pituinen vektori. Jotta voidaan käsitellä erityistä tapausta alussa, upotamme x pitemmälle vektori xhat, joiden ensimmäinen M-1 näytteet ovat nolla. Kirjoitamme painotetun yhteenvedon jokaiselle y (n): ksi sisemmäksi tuotteeksi ja tekemme joitakin manipulointeja tuloista (kuten kääntöpuolella b) tähän tarkoitukseen. Tällaista järjestelmää kutsutaan usein liikkuvaksi keskimääräiseksi suodattimeksi, ilmeisistä syistä. Aikaisemmista keskusteluistamme on ilmeistä, että tällainen järjestelmä on lineaarinen ja shift-invariantti. Tietenkin olisi paljon nopeampaa käyttää MATLAB-konvoluutiofunktion conv () mafiltin () sijaan. Sen sijaan, että otettaisiin ensimmäiset M-1-näytteet syötteeltä nollaksi, voisimme katsoa, ​​että ne ovat samoja kuin viimeiset M-1-näytteet. Tämä on sama kuin tulon käsitteleminen määräajoin. Käytä cmafilt () funktion nimeä, pienempää modifikaatiota aiemmasta mafilt () - funktiosta. Järjestelmän impulssivasteen määrittämisessä näiden kahden välillä ei yleensä ole eroa, koska kaikki syöttöön liittyvät ei-alkuperäiset näytteet ovat nolla: Koska tällainen järjestelmä on lineaarinen ja shift-invariantti, tiedämme, että sen vaikutus mihin tahansa sinimuotoinen on vain skaalaus ja siirto. Tässä on tärkeää, että käytämme pyöreää versiota Pyöreän konvoluutioisen version siirretään ja skaalataan hieman, kun taas versiossa tavallinen konvoluutio on vääristynyt alussa. Katsotaan, mitä tarkka skaalaus ja siirto on käyttämällä fft: Sekä panos-ja lähtö on amplitudi vain taajuuksilla 1 ja -1, joka on niin kuin pitäisi olla, koska panos oli sinikäyrä ja järjestelmä oli lineaarinen. Lähtöarvot ovat suuremmat suhteessa 10.62518 1.3281. Tämä on järjestelmän voitto. Entä vaiheessa Meidän on vain tarkasteltava, missä amplitudi on ei-nolla: tulolla on pi2-vaihe, kuten pyysimme. Lähtövaihetta siirretään ylimääräisellä 1.0594 (negatiivisella taajuudella vastakkaisella merkillä) tai noin 16 sykliä oikealla, kuten käyrässä on nähtävissä. Nyt kokeilee sinimuotoista samaa taajuutta (1), mutta amplitudin 1 ja vaiheen pi2 sijasta yritetään amplitudi 1.5 ja vaihe 0. Tiedämme, että vain taajuudella 1 ja -1 on ei-nollan amplitudi, Heille: Jälleen amplitudiosuhde (15.937712.0000) on 1.3281 - ja vaiheen kohdalla taas siirretään 1.0594 Jos nämä esimerkit ovat tyypillisiä, voimme ennakoida järjestelmän vaikutusta (impulssivaste .1 .2 .3 .5 .5) millä tahansa sinimuotoisella taajuudella 1 - amplitudi kasvaa kertoimella 1.3281 ja (positiivisen taajuuden) vaihetta siirretään 1,0594: lla. Voisimme jatkaa tämän järjestelmän vaikutusta muiden taajuuksien sinusoideihin samoilla menetelmillä. Mutta on paljon yksinkertaisempi tapa, ja joka luo yleisen näkökohdan. Koska (pyöreä) konvoluution aikatasossa tarkoitetaan lisääntymistä taajuusalueella, siitä seuraa, että impulssi vaste DFT on toisin sanoen tuotoksen DFT: n suhde tulon DFT: hen. Tässä suhteessa DFT-kertoimet ovat monimutkaisia ​​lukuja. Koska abs (c1c2) abs (c1) abs (c2) kaikissa kompleksisissa numeroissa c1, c2, tämä yhtälö kertoo, että impulssivasteen amplitudispektri on aina tuotoksen amplitudispektrin suhde tulon . Vaihtospektrin tapauksessa kulma (c1c2) kulma (c1) - kulma (c2) kaikille c1, c2: lle (edellyttäen, että n2pi: n eroavat vaiheet katsotaan yhtä suuriksi). Siksi impulssi-vasteen vaihe-spektri on aina eroa lähtöteoksen ja tulon vaihepektrien välillä (kaikki korjaukset 2pi: lla tarvitaan pitämään tulos - pi ja pi) välillä. Voimme nähdä vaihevaikutukset selvemmin, jos avaamme vaiheen esityksen, ts. Jos lisäämme eri 2pi-kerrannaisia ​​tarpeen mukaan, jotta minimoimme kulmat, jotka syntyvät kulman () funktion jaksollisen luonteen vuoksi. Vaikka amplitudi ja vaihe käytetään yleensä graafiseen ja jopa taulukkomuotoon, koska ne ovat intuitiivinen tapa miettiä järjestelmän vaikutuksia sen tulon eri taajuuskomponentteihin, monimutkaiset Fourier-kertoimet ovat hyödyllisempää algebrallisesti, koska ne sallivat suhde yksinkertainen ilmentymä Yleinen lähestymistapa, jonka olemme nähneet, toimii mielivaltaisilla suodattimilla, jotka on piirretty tyypillisesti, jolloin kukin tuotosnäyte on painotettu summa eräiden tulonäytteiden joukosta. Kuten aiemmin mainittiin, näitä usein kutsutaan Finite Impulse Response - suodattimiksi, koska impulssivaste on äärellinen koko tai joskus Moving Average - suodattimet. Voimme määrittää tällaisen suodattimen taajuusvasteominaisuudet impulssivasteen FFT: stä ja voimme myös suunnitella IFFT: n mukaiset uudet suodattimet halutulla ominaisuudella taajuusvasteen spesifikaatiosta. Autoregressiivisten suodattimien suodattimet FIR-suodattimien nimien puuttuminen olisi vähäpätöinen, ellei olisi eroa toisistaan, jotta heidät voitaisiin erottaa toisistaan, joten pragmatiikan opiskelijat eivät ole yllättyneitä siitä, että heillä on todellakin toinen merkittävä tyyppi lineaarisen aikamuuttujan suodattimesta. Näitä suodattimia kutsutaan toisinaan rekursiiviseksi, koska aikaisempien lähdöiden arvo (samoin kuin aiemmat panokset) ovat tärkeitä, vaikka algoritmit yleensä kirjoitetaan käyttäen iteratiivisia rakenteita. Niitä kutsutaan myös Infinite Impulse Response (IIR) - suodattimiksi, koska yleensä niiden vastaus impulssille jatkuu ikuisesti. Niitä kutsutaan myös joskus autoregressiivisiksi suodattimiksi, koska kertoimia voidaan ajatella lineaarisen regressiotuloksen tuloksena signaalien arvojen ilmaisemiseksi aikaisempien signaalien arvojen funktiona. FIR - ja IIR-suodattimien suhde voidaan nähdä selvästi lineaarisessa vakio-kerroin-erojen yhtälössä, eli asettamalla painotettu tulojen summa, joka vastaa panosten painotettua summaa. Tämä on kuin yhtälö, jonka annimme aikaisemmin kausaaliselle FIR-suodattimelle, paitsi että panosten painotetun summan lisäksi meillä on myös painotettu tuotosmäärä. Jos haluamme ajatella tätä prosessina tuotosnäytteiden tuottamiseksi, meidän on järjestettävä yhtälö uudelleen saadakseen lausekkeen nykyiselle otosnäytteelle y (n). Hyväksymällä yleissopimus, että (1) 1 (esim. Skaalaamalla ja bs) voimme päästä eroon 1a (1) termistä: y (n) b (1) x (n) b (2) x (n-1). b (Nbl) x (n-nb) - a (2) y (n-1) -. - a (Na1) y (n-na) Jos kaikki a (n) muut kuin (1) ovat nolla, tämä vähentää vanhalle ystävällemme kausaalisen FIR-suodattimen. Tämä on yleinen tapaus (kausaalinen) LTI-suodatin, ja se toteutetaan MATLAB - funktiosuodattimella. Tarkastellaan tapausta, jossa b-kertoimet, lukuun ottamatta b (1), ovat nollaa (FIR-tapauksen sijasta, jossa a (n) on nolla): Tässä tapauksessa nykyinen tulostotesti y (n) (n) ja edellisten lähtönäytteiden y (n-1), y (n-2) jne. painotettu yhdistelmä jne. Jotta käsitys siitä, mitä tällaisilla suodattimilla tapahtuu, alkaa tapauksesta, jossa: Toisin sanoen nykyinen lähdön näyte on nykyisen tulonäytteen summa ja puolet edellisestä otosnäytteestä. Ottakaa sitten käyttöön impulssit muutaman askeleen kautta, yksi kerrallaan. Tässä vaiheessa pitäisi olla selvää, että voimme helposti kirjoittaa lausekkeen n: nnen ulostulonäytteen arvolle: se on vain (jos MATLAB lasketaan 0: sta, se olisi yksinkertaisesti .5n). Koska laskemme on järjestelmän impulssivaste, olemme osoittaneet esimerkin avulla, että impulssivasteella voi todellakin olla äärettömän paljon nollasta poikkeavia näytteitä. Tämän triviaalin ensimmäisen järjestyksen suodattimen toteuttamiseksi MATLABissa voisimme käyttää suodatinta. Puhelu näyttää näin: ja tulos on: Onko tämä liike todella edelleen lineaarinen Voimme tarkastella tätä empiirisesti: Yleisemmälle lähestymistavalle kannattaa tarkastella tuotosnäytteen y (n) arvoa. Toiselta vaihtoehdolta voisimme kirjoittaa tämän seuraavasti: Tämä on kuin vanha ystäväni FIR-suodattimen konvoluutio summamuoto, jossa ilmaus .5k tarjoaa impulssivasteen. ja impulssivasteen pituus on ääretön. Täten nyt sovelletaan samoja argumentteja, joiden avulla FIR-suodattimet olivat lineaarisia. Toistaiseksi tämä voi tuntua paljon runsaasti noin paljon. Mikä tämä koko tutkinto on hyvä? Vastaa tähän kysymykseen vaiheittain, alkaen esimerkistä. Sen ei ole suuri yllätys, että voimme laskea otokseen eksponentiaalisesti rekursiivisen kertolasku. Tarkastellaan rekursiivista suodatinta, joka tekee jotain vähemmän ilmeistä. Tällä kertaa hyvin tehdä se toisen kertaluvun suodattimen niin, että suodatinpyyntö on muotoa. Määritä toinen lähtökerroin a2 - -2cos (2pi40) ja kolmas ulostulokerroin a3 - 1 ja tarkastella impulssia vastaus. Ei varsin hyödyllinen suodattimena, mutta se tuottaa näytteistetyn siniaallon (impulssista), jossa on kolme kerta-lisäystä näytettä kohti. Jotta ymmärtäisivät, miten ja miksi se tekee, ja miten rekursiiviset suodattimet voidaan suunnitella ja analysoida yleisempi tapaus, meidän on palattava ja tarkasteltava joitain muita kompleksiluvun ominaisuuksia, matkalla ymmärtämään z-muunnosta. Mitkä ovat liikkuvan keskimääräisen suodattimen haitat käytettäessä sitä aikasarjatiedoilla? Heres a MATLAB Esimerkki nähdäksesi kulkuvälineiden vaikutuksen. Esimerkkinä, suodattimen käyttäminen signaaliin, jonka pituus on noin 10.09082, poistaa kokonaan tämän signaalin. Lisäksi, koska taajuusvasteen suuruus on kompleksin taajuusvasteen absoluuttinen, magnitudivaste on todella negatiivinen välillä 0,3633 ja välillä 0,4546 ja Nyquist-taajuus. Kaikkien näiden välein olevien taajuuksien signaalikomponentit peilataan t-akselilla. Esimerkkinä yritämme silmän aallon, jonka pituus on 7 0000, esim. taajuus n. 0,1429, joka on ensimmäisellä aikavälillä negatiivisen magnitudivasteen kanssa: t (1: 100) x10 2sin (2pit7) b10 (11) 11 m10 pituus (b10) y10 - suodatin (b10,1, x10 (m10-1) 2,1) y10 (end1: endm10-1,1) nollat ​​(m10-1,1) juoni (t, x10, t, y10) ) Tässä on suodattimen amplitudivaste, jossa on nollat ​​ja leikkaus: h, w freqz (b10, l, 512) f 1w (2pi) suuruus abs (h) juonta (f, suuruus) amplitudi vähentää esim noin 80, mutta myös muuttunut merkki kuten voit nähdä tontin. Tiettyjen taajuuksien poistaminen ja signaalin kääntäminen on tärkeä seuraus tulkittaessa syy-yhteyttä maatutkimuksissa. Nämä suodattimet, vaikka niitä tarjotaan vakiona laskentataulukon ohjelmissa tasoittamiseksi, olisi siksi vältettävä kokonaan. Vaihtoehtona olisi käytettävä suodattimia, joilla on tietty taajuusvaste, kuten Butterworth-alipäästösuodatin. Suosittele 2 suositusta Philippe de Peretti middot Universit Pariisi 1 Panthon-Sorbonne, Pariisi, Ranska Käytä rakennemallista aikasarjaa, ja siinä on paikallinen lineaarinen trendimalli, joka on pohjimmiltaan IMA-malli. Ehdotan, että tarkastelette Durbinia ja Koopmania (2001) Kalmanin suodatusmenetelmistä. Kalman-suodattimen käyttö on mielestäni optimaalista. Suosittele 1 Suositus Hei Bilal Esmael, liikkuvan keskimääräisen suodattimen painotoiminnon tulisi olla symmetrinen. Muussa tapauksessa suodatetut arvot siirretään vaiheessa: painotoiminnon rakenteen mukaan vaiheviive voi saavuttaa puolet painotoiminnon pituudesta. Esimerkiksi: yksipuolinen Kalman-suodatin on asymmetrinen painotoiminto. Lisäksi on varovainen tulkitessaan suodatettuja arvoja aikasarjan molemmissa päissä, heillä on aina rakenteellinen vaiheviive. Ystävällisin terveisin, Michael Heinert Seuraavassa on kova koodattu 3-pisteen painotettu symmetrinen liikkuva keskimääräinen suodatin: Joten oletukset n-pisteen painotetun symmetrisen liikkuvan keskiarvosuodattimen toiminnasta ovat seuraavat: Lopullisena tavoitteena on luoda painotettu symmetrinen liikkuva keskiarvo suodatin, jolla on modulaarinen määrä pistettä, jonka yli se voi olla keskimäärin. Osa, joka todella saa minut, on itse painotus, ja vaikka olen varma, että nested for loop jonkinlainen tekisi tempun, en voi nähdä, miten voisin edes aloittaa jotain sellaista. Kiitos, kun otit aikaa tarkastella kysymystäni, minkä tahansa palautteen arvostaisi. Valitse oma maaDokumentaatio Tässä esimerkissä näytetään, miten liikkuvaa keskimääräistä suodatinta ja resamplinga voidaan käyttää erottamaan kellonajan jaksoittaisten komponenttien vaikutus tuntilämpötilan lukemiin sekä poistamaan ei-toivottua linjamelua avoimen silmukan jännitteen mittauksesta. Esimerkissä on myös esimerkki siitä, miten kellosignaalin tasot tasoitetaan ja reunat säilytetään käyttämällä mediaanisuodatinta. Esimerkki osoittaa myös, kuinka Hampelin suodatinta käytetään suurien poikkeamien poistamiseksi. Motivaation tasoittaminen on, kuinka löydämme tärkeitä kuvioita tietomme jättäessä pois asioita, jotka ovat merkityksettömiä (eli melua). Käytämme suodatusta tämän tasoituksen suorittamiseen. Tasoituksen tavoite on tuottaa hitaita arvonmuutoksia niin, että sen tietomuutokset ovat helpommin nähtävissä. Joskus tarkastellessasi sisääntulotietoja, saatat haluta suoda dataa, jotta signaali voi kehittyä. Esimerkissämme meillä on lämpötilalukema Celsiuksessa joka tunti Loganin lentokentällä koko tammikuun 2011 ajan. Huomaa, että voimme nähdä visuaalisesti sen vaikutelman, että kellonaika on lämpötilan lukemissa. Jos olet kiinnostunut vain päivittäisestä lämpötilan vaihtelusta kuukauden aikana, tuntivaihtelut aiheuttavat vain melua, jolloin päivittäiset vaihtelut ovat vaikeasti havaittavissa. Jos haluat poistaa päivän vaikutuksen, haluamme nyt tasoittaa tietoja käyttämällä liikkuvaa keskimääräistä suodatinta. Siirrettävä keskimääräinen suodatin Yksinkertaisimmalla muodollaan pituussuunnassa N liikkuva keskimääräinen suodatin ottaa jokaisen N peräkkäisen aaltomuodon näytteen keskiarvon. Jokaisen datapisteen liukuvan keskimääräisen suodattimen käyttämiseksi rakennamme suodattimemme kertoimet siten, että jokainen piste on yhtä painotettu ja vastaa 124: tä keskimääräiseen keskiarvoon. Tämä antaa meille keskimääräisen lämpötilan 24 tunnin aikana. Suodinviive Huomaa, että suodatettu lähtö viivästyy noin kaksitoista tuntia. Tämä johtuu siitä, että liikkuvan keskimääräisen suodattimemme on viivästynyt. Jokaisella N-pituisella symmetrisellä suodattimella on viive (N-1) 2 näytettä. Voimme ottaa huomioon tämän viiveen manuaalisesti. Keskimääräisten erotusten erottaminen Vaihtoehtoisesti voimme käyttää myös liukuvaa keskimääräistä suodatinta saadaksesi paremman arvion siitä, miten kellonaika vaikuttaa yleiseen lämpötilaan. Tätä varten vähennetään ensin tasoitetut tiedot tuntilämpötilan mittauksista. Sitten segmentoi eriytetyt tiedot päiviin ja kestää keskimäärin kuukauden kaikkien 31 päivän aikana. Peak-kirjekuoren purkaminen Joskus haluamme myös olla sujuvasti vaihteleva arvio siitä, miten lämpötilasignaalin nousu ja lasku muuttuvat päivittäin. Tätä varten voimme käyttää kirjekuoritoimintoa ääri - ja alamomenttien yhdistämiseen yli 24 tunnin jakson osajoukossa. Tässä esimerkissä varmistetaan, että kunkin äärimmäisen korkean ja äärimmäisen alhaisen välillä on vähintään 16 tuntia. Voimme myös saada tunteen siitä, kuinka korkeimmat ja alhaiset ovat kehittymässä ottamalla keskiarvon kahden ääripään välillä. Painotetut keskimääräiset suodattimet Muiden liikkuvien keskimääräisten suotimien paino ei näytä yhtä painoa. Toinen yleinen suodatin seuraa (12,12): n binomiomaista laajentamista. Tämän tyyppinen suodatin lähentää normaalia käyrää n suurille arvoille. Se on hyödyllistä suodattaa suurtaajuusmelu pienelle n: lle. Binomi-suodattimen kertoimien löytämiseksi konvolvoidaan 12 12 itsensä kanssa ja sitten iteratiivisesti konvolvoidaan ulostulo 12 12: llä määrätyllä määrällä kertaa. Tässä esimerkissä käytä viittä täydellistä iteraatiota. Toinen suodatin, joka on hieman samanlainen kuin Gaussian laajennussuodatin, on eksponentiaalinen liukuva keskimääräinen suodatin. Tämäntyyppinen painotettu liikkuva keskimääräinen suodatin on helppo rakentaa eikä vaadi suurta ikkunan kokoa. Säädä eksponentiaalisesti painotettua liikkuvaa keskimääräistä suodatinta alfa-parametrilla nollan ja yhden välillä. Alfa-arvon suurempi arvo on vähemmän tasoittava. Suurenna lukemaa yhden päivän ajan. Valitse maasi

No comments:

Post a Comment