Tuesday 12 September 2017

Liukuva Keskiarvo Suodatin With Matlab


Lataa movAv m katso myös movAv2 - päivitetty versio, joka mahdollistaa painotuksen. Matlab sisältää toimintoja nimeltä movavg ja tsmovavg aikasarjan liukuva keskiarvo Financial Toolboxissa, movAv on suunniteltu kopioimaan niiden perustoiminnot. Täällä on hyvä esimerkki hallinnoinnista Indeksejä sisältäen silmukoita, jotka voivat olla hämmentäviä aluksi Olen tietoisesti säilyttänyt koodin lyhyt ja yksinkertainen pitämään tämän prosessin clear. movAv suorittaa yksinkertaisen liukuvan keskiarvon, jota voidaan käyttää palauttamaan meluisa data joissakin tilanteissa Se toimii ottaen keskiarvo , Jonka koko määritellään n: lla. Suurempi n on sitä suurempi, että n: n vaikutus tasoitetaan suhteessa sisääntulovektorin y pituuteen ja tehokkaasti. alipäästösuodatin - katso esimerkkien ja huomioiden osa. Koska kunkin n: n arvon tarjoama tasoitusmäärä on suhteessa syöttövektorin pituuteen, se kannattaa aina testaa eri arvoja nähdäksesi mitä sopivaa Muista myös, että n pistettä katoaa jokaisesta keskiarvosta, jos n on 100, tulovektorin ensimmäiset 99 pistettä eivät sisällä tarpeeksi tietoa 100 prosenttiyksikköä varten. Tätä voidaan välttää jonkin verran keskittämällä pinoja Esimerkki alla olevasta koodista ja kaaviosta vertaa useita eri pituusikkunan keskiarvoja. Huomaa, miten sujuvaa 10 10pt - arvoa verrataan yhteen 20pt-keskiarvoon. Kummassakin tapauksessa 20 tietokokonaa menetetään kokonaisuudessaan. Luo xaxis x 1 0 01 5 Luo melukohinaa 4 kohinaa, 1 melutasoa, kohinaa 1 kohinaa, kohinaa, kohinaa 1 kohinaa, 1 kohinaa kohinaa kohinaa 1 x pituus x x keskiarvoista y2 movAv y, 10 10 pt y3 movAv y2, 10 10 10 pt y4 movAv y, 20 20 pt y5 movAv y, 40 40 pt y6 movAv y, 100 100 pt Plot kuva tontti x, y, y2, y3, y4, y5, y6 legenda data, 10pt liikkuva keskiarvo, 10 10pt, 20pt, 40pt, 100pt xlabel x ylabel y title Liikkuvien keskiarvojen vertailu. movAv m-koodin läpivientifunktion lähtö movAv y, n Ensimmäinen rivi määrittää toiminnon nimen, tulot ja lähdöt Tulo x pitäisi olla datan vektori keskimäärän suorittamiseksi, n on pistemäärä, joka suorittaa keskimääräisen tuloksen, sisältää funktion palauttavan keskiarvon. Preallocate-ulostulon tuotto NaN 1, numel y Etsi keskipiste n keskipisteen kierroksella n 2 Toiminnon päätehtävä tehdään silmukan silmukalle, mutta ennen kuin aloitetaan kaksi asiaa, valmistellaan Fir että tuotos on ennalta kohdistettu NaN: nä, tämä palvelee kahta tarkoitusta varten Ensinnäkin esivalinta on yleisesti hyvää käytäntöä, koska se vähentää Matlabin tekemien muistijongleerausten tekemistä. Toiseksi, on helppoa sijoittaa keskimääräinen data tulosteen koon mukaan tulovektori Tämä tarkoittaa, että samaa xaxia voidaan käyttää myöhemmin molempia varten, mikä on kätevää piirtää, vaihtoehtoisesti NaN: t voidaan poistaa myöhemmin yhdellä koodin ulostulon rivillä. Muuttujaa midPointia käytetään datan kohdistamiseksi lähtövektoriin Jos n 10, 10 pistettä menetetään, koska tulovektorin ensimmäisten 9 pisteen kohdalla ei ole tarpeeksi tietoa kymmenen pisteen keskiarvon ottamiseksi. Koska lähtö on lyhyempi kuin syöttö, se on kohdistettava oikein. Midpoint käytetään siten, että yhtä suuri määrä tietoja menetetään alussa ja lopussa, ja tulo pidetään kohdistettuna lähtöön, jonka NaN-puskureita luodaan, kun esivalinta tuottaa. 1-pituiseksi y - n Etsi indeksialue keskimäärin laskettuna. Laske keskiarvo a keskipisteen keskiarvo yab-pää Itsessään itse silmukalle syötetään keskiarvo kullekin tulolähteen kullekin segmentille Silmukka ajetaan sille, joka on määritelty 1: ksi tulon y pituuden mukaan, miinus menetettävän datan mukaan n Jos tulo on 100 pisteen pituinen ja n on 10, silmukka ajaa 1: stä 90: een. Tämä tarkoittaa, että segmentin ensimmäinen indeksi keskiarvoidaan. Toinen indeksi b on yksinkertaisesti n-1. Joten ensimmäisellä iteroinnilla, a 1 n 10 niin b 11-1 10 Ensimmäinen keskiarvo otetaan yab: n tai x 1: n mukaan 10 Tämän segmentin keskiarvo, joka on yksittäinen arvo, tallennetaan lähtöön indeksissä a midpoint tai 1 5 6. Toisessa iteraatiossa , a 2 b 2 10-1 11 niin, että keskiarvo otetaan x 2 11: n kohdalta ja tallennetaan lähtöön 7 Silmukan viimeinen iterointi tulon 100 pituudelle, 91 b 90 10-1 100, joten keskiarvo otetaan yli x 91 100 ja tallennetaan lähtöön 95 Tämä jättää tuotoksen yhteensä n 10 NaN-arvoa indeksillä 1 5 ja 96 100.Esimerkkejä ja huomioita Liikkuvat keskiarvot ovat hyödyllisiä joissakin tilanteissa, mutta ne ei ole aina paras valinta Tässä on kaksi esimerkkiä, joissa ne eivät välttämättä ole optimaalisia. Mikrofoni kalibrointi Tämä datayhdistelmä edustaa kunkin kaiuttimen tuottaman taajuuden tasoa ja tallennetaan mikrofonilla, jolla on tunnettu lineaarinen vaste Kaiuttimen lähtö vaihtelee taajuus, mutta voimme korjata tämän vaihtelun kalibrointidatalla - lähtö voidaan säätää tasolle kalibroinnin vaihtelujen huomioon ottamiseksi. Huomaa, että raakatiedot ovat meluisat - tämä tarkoittaa, että pieni taajuuden muutos näyttää vaatineen suuri, epätäsmällinen muutos tason huomioon ottaminen Onko tämä realistinen vai onko tämä tallennusympäristön tuote? Tässä tapauksessa on järkevää soveltaa liikkuvan keskiarvon, joka tasoittaa tason taajuuskäyrän, jotta saadaan kalibrointikäyrä, joka on hieman epätäsmällisempi Mutta miksi tämä esimerkki ei ole optimaalinen. Edellinen data olisi parempi - useat kalibroinnit keskimäärin yhdessä tuhoaisivat melun järjestelmässä niin kauan kuin se toimi dom ja antaa käyrän vähemmän hienovaraisia ​​yksityiskohtia menettänyt Liikkuva keskiarvo voi vain lähentää tätä, ja voi poistaa joitakin korkeampia taajuus dips ja huiput kaarteesta, että todella olemassa. Sina aallot Liikkuva keskiarvo siniaallot korostaa kaksi pistettä. kysymys kohtuullisen määrän pistettä suorittaa keskimääräinen over. It s yksinkertainen, mutta on olemassa tehokkaampia menetelmiä signaalin analyysiin keskiarvon värähteleviä signaaleja aika-alalla. Tässä kaaviossa alkuperäinen siniaalto on piirretty sinisellä Noise on lisätty ja piirretty oranssina käyränä Liikkuva keskiarvo suoritetaan eri pisteissä, jotta voidaan nähdä, voidaanko alkuperäinen aalto saada takaisin 5 ja 10 pistettä tuottavat kohtuullisia tuloksia, mutta eivät poista melua kokonaan, kun enemmän pisteitä alkaa menetetään amplitudin yksityiskohtia, kun keskiarvo ulottuu eri vaiheiden välillä, muistaa aalto värähtää noin nollaan ja keskiarvo -1 1. Vaihtoehtoinen lähestymistapa olisi rakentaa alipäästösuodatin, jota voidaan käyttää jota sovelletaan taajuusalueella olevaan signaaliin, en aio mennä yksityiskohtiin, koska se ylittää tämän artikkelin soveltamisalan, mutta koska kohina on huomattavasti korkeampi kuin aaltojen perustaajuus, tässä tapauksessa olisi melko helppoa rakentaa alipäästösuodatin kuin poistaa korkeataajuisen melun. Luotu keskiviikkona 08 lokakuu 2008 20 04 Viimeksi päivitetty torstaina, 14. maaliskuuta 2013 01 29 Kirjoittanut Batuhan Osmanoglu Hits 41578.Moving Keskimäärin Matlab. On usein minusta tarvitsen keskimäärin tiedot minulla on vähentää melua vähän kirjoitin pari toimintoja tehdä täsmälleen mitä haluan, mutta matlab s rakennettu suodatin toimii melko hyvä myös Täällä ll ll kirjoittaa noin 1D ja 2D keskimäärin data.1D suodatin voidaan toteutettu suodatustoiminnon avulla Suodatustoiminto vaatii vähintään kolme tuloparametriä suodattimen b indeksin kertoimen, suodattimen a nimittäjäkertoimen ja datan X. Kurssin keskimääräinen suodatin voidaan määrittää D yksinkertaisesti by. For 2D tiedot voimme käyttää Matlab s filter2 - toiminto Lisätietoja suodattimen toimivuudesta, voit kirjoittaa. Here on nopea ja likainen täytäntöönpano 16: n 16 liukuvan keskimääräisen suodattimen Ensin on määriteltävä suodatin Koska kaikki haluamme on kaikkien naapureiden tasainen panos, voimme käyttää vain niitä toimintoja. Jaamme kaikki 256 16 16: lla, koska emme halua muuttaa signaalin yleistason amplitudia. Suodattimen käyttämiseksi voimme yksinkertaisesti sanoa seuraavaksi. Alla on tuloksia SAR-interferogrammin vaiheessa. Tässä tapauksessa alue on Y-akselilla ja Asemuutti on kartoitettu X-akselilla. Suodatin oli 4 pikseliä leveä ja 16 pikseliä leveä Azimutissa. Siirtyminen keskimääräiseen funktioon. hämärä, vaihtoehto laskee datamatriisitiedon keskitetyn liukuvan keskiarvon ikkunassa, joka on määritetty ikkunassa dim dimensioissa käyttäen vaihtoehtoa Dim ja lisävarusteena määritettyä algoritmia, ovat valinnaisia ​​tuloja ja oletusarvoisesti 1.Dim ja option valinnainen syöttö voidaan ohittaaYhdistää tai voidaan korvata esim. Liikkuvaa datatietoa käyttäen, ikkuna antaa samat tulokset kuin liikkuva datan tiedot, ikkuna, 1,1 tai liikkuva datatiedot, ikkuna, 1. Sisääntulotietomatriisin koko ja ulottuvuus rajoittavat vain enimmäismatriisin koko Sinun alustasi Ikkunan on oltava kokonaisluku ja sen pitäisi olla outoa Jos ikkuna on silloin, se pyöristetään seuraavaan alempaan parittomaan numeroon. Funktio laskee liukuvan keskiarvon, joka sisältää keskipisteen ja ikkunan 1 2 elementit ennen ja jälkeen määrätyn ulottuvuuden Matriisin reunoilla elementtien lukumäärä alennetaan ennen tai jälkeen, jolloin todellinen ikkuna on pienempi kuin määritetty ikkuna. Toiminto on jaettu kahteen osaan, 1d-2d-algoritmiin ja 3d-algoritmiin. Tämä suoritettiin optimoimalla ratkaisunopeus, etenkin pienemmissä matriiseissa i e.1000 x 1 Lisäksi on olemassa useita erilaisia ​​algoritmeja 1d-2d - ja 3d-ongelmaan, kuten tietyissä tapauksissa oletusalgoritmi ei ole nopein Tämä tapahtuu tyypillisesti, kun matriisi on hyvin laaja Eli 100 x 100000 tai 10 x 1000 x 1000 ja liikkuva keskiarvo lasketaan lyhyemmässä mittauksessa. Koko, jonka oletusalgoritmi on hitaampi, riippuu tietokoneesta. MATLAB 7 8 R2009a. Tämän tiedoston tunnisteet Ole hyvä ja kirjaudu tiedostojen tunnistamiseen. Ole hyvä ja kirjaudu sisään lisätäksesi kommentin tai arvosanat ja arvosanat 8. Toiminto käsittelee loppua leikkaamalla ikkunan alareunan tai johtavan osan ja siirtymällä johtavaan tai jälkikäteen liikkuvaksi keskiarvoksi keskitetyn sijasta. Kommentoikaa, jos ikkunan koko on 3 sitten keskellä 1 funktion keskiarvot pisteistä 1 ja 2 keskiarvon 2 pisteen 1, 2 ja 3 keskiarvon keskiarvo 9 pistettä 8, 9 ja 10 keskiarvoa ja 10: n keskellä oletetaan, että vektorilla on 10 merkintäpistettä 9 ja 10 keskiarvoa. Miten liikemassa käsitellään päistä Onko se alkamassa ikkunakokoa, joka kattaa vain pisteen 1 kohdassa 1, sitten 3 pistettä kohdassa 2, ikkunan kokoon, kunnes ikkunan koko on määritetty että funktio panos Thanks. Nice ja yksinkertainen Kiitos. Hyvä työ Erittäin hyödyllinen kuten Stephan Wolf sanoi. Vain, mitä olin etsiä Centered liikkuva keskiarvo, joka pystyy työskentelemään tontin koko leveys, ei tarvitse etsiä ikkunan koko suodattimen ja siirtymisen alussa Great. Accelerating vauhtia tekniikan ja tieteen. MathWorks on johtava kehittäjä matemaattisten tietojenkäsittelyohjelmien insinööreille ja tutkijoille.

No comments:

Post a Comment