Geskep op Woensdag 8 Oktober, 2008 20:04 Laas Opdateer op Donderdag, Maart 14, 2013 01:29 Geskryf deur Batuhan Osmanoglu Hits: 38878 bewegende gemiddelde In Matlab myself dikwels ek 'n behoefte aan die gemiddeld van die data wat ek het om die geraas 'n bietjie te verminder bietjie. Ek het n paar funksies te doen presies wat ek wil hê, maar matlabs gebou in filter funksie werk redelik goed sowel. Hier Siek skryf oor 1D en 2D gemiddeld van data. 1D filter kan verwesenlik word deur die filter funksie. Die filter funksie vereis ten minste drie insette parameters: die teller koëffisiënt vir die filter (b), die deler koëffisiënt vir die filter (a), en die data (X) natuurlik. 'N loop gemiddelde filter kan gedefinieer word deur eenvoudig: Vir 2D data kan ons die Matlabs filter2 funksie gebruik. Vir meer inligting oor hoe die filter werk, kan jy tik: Hier is 'n vinnige en vuil implementering van 'n 16 deur 16 bewegende gemiddelde filter. Eerstens moet ons die filter te definieer. Aangesien al ons wil hê, is gelyk bydrae van alle bure kan ons net gebruik om die kinders funksie. Ons verdeel alles met 256 (1616), aangesien ons nie wil hê dat die algemene vlak (amplitude) van die sein verander. Om die filter kan ons net die volgende Hier sê van toepassing is die resultate vir fase van 'n Kong interferogram. In hierdie geval Range is in Y-as en Azimuth is gekarteer op X-as. Die filter was 4 pixels wyd in Range en 16 pixels wyd in Azimuth. Teken SearchMoving-Gemiddelde Filter van Verkeer Data Hierdie voorbeeld wys hoe om verkeersvloei data glad met behulp van 'n bewegende gemiddelde filter met 'n 4-uur gly venster. Die volgende verskilvergelyking beskryf 'n filter wat gemiddeldes die huidige uur en die drie vorige uur van data. Voer die verkeer data en die eerste kolom van die voertuig tel toewys aan die vektor x. Skep die filter koëffisiënt vektore. Bereken die 4-uur bewegende gemiddelde van die data, en plot beide die oorspronklike data en die gefilterde inligting. MATLAB en Simulink is geregistreerde handelsmerke van The MathWorks, Inc. Sien www. mathworks / handelsmerke vir 'n lys van ander handelsmerke in besit van die MathWorks, Inc. Ander produk of handelsmerk name is handelsmerke of geregistreerde handelsmerke van hul onderskeie eienaars. Kies jou CountryDocumentation Hierdie voorbeeld wys hoe om te gebruik bewegende gemiddelde filters en hermonstering om die effek van periodieke komponente van die tyd van die dag op uurlikse temperatuurlesings, isoleer asook verwyder ongewenste lyn geraas van 'n oop-lus spanning meting. Die voorbeeld toon ook hoe om die vlakke van 'n kloksein glad terwyl die behoud van die kante deur die gebruik van 'n mediaan filter. Die voorbeeld toon ook hoe om 'n Hampel filter gebruik om groot uitskieters verwyder. Motivering Smoothing is hoe ons ontdek belangrik patrone in ons data, terwyl die verlaat uit dinge wat onbelangrik (bv geraas) is. Ons gebruik filter om hierdie smoothing voer. Die doel van smoothing is om stadige veranderinge in waarde te produseer sodat sy makliker om tendense in ons data te sien. Soms wanneer jy insette data te ondersoek wat jy kan wens om die data te stryk ten einde 'n tendens in die sein te sien. In ons voorbeeld het ons 'n stel van temperatuurlesings in Celsius geneem elke uur by die Logan-lughawe vir die hele maand van Januarie 2011. Let daarop dat ons visueel die effek wat die tyd van die dag het aan die temperatuurlesings kan sien. As jy in die daaglikse temperatuur variasie oor die maand net belangstel, die uurlikse skommelinge net bydra geraas, wat die daaglikse variasies moeilik om te onderskei kan maak. Om die effek van die tyd van die dag verwyder, sou ons nou graag ons data glad met behulp van 'n bewegende gemiddelde filter. 'N bewegende gemiddelde filter in sy eenvoudigste vorm, 'n bewegende gemiddelde filter van lengte N neem die gemiddelde van elke N agtereenvolgende monsters van die golfvorm. Om 'n bewegende gemiddelde filter aan elke datapunt toepassing, bou ons koëffisiënte van ons filter sodat elke punt ewe is geweeg en dra 24/01 tot die totale gemiddelde. Dit gee ons die gemiddelde temperatuur oor elke tydperk van 24 uur. Filter Vertraging Let daarop dat die gefilterde uitset vertraag met sowat twaalf ure. Dit is te danke aan die feit dat ons bewegende gemiddelde filter het 'n vertraging. Enige simmetriese filter van lengte N sal 'n vertraging van (N-1) / 2 monsters het. Ons kan rekening vir die vertraging met die hand. Uittreksels van Gemiddeld Verskille Alternatiewelik, kan ons ook die bewegende gemiddelde filter gebruik om 'n beter skatting van hoe die tyd van die dag beïnvloed die algehele temperatuur verkry. Om dit te doen, in die eerste, trek die stryk data van die uurlikse temperatuur metings. Dan segment die differenced data in dae en neem die gemiddelde oor die hele 31 dae in die maand. Uittreksels van Peak Envelope Soms het ons ook graag 'n vlot wisselende skatting van hoe die hoogte - en laagtepunte van ons temperatuur sein verander daagliks. Om dit te doen, kan ons die koevert funksie gebruik om die uiterste hoogtepunte en laagtepunte bespeur oor 'n subset van die tydperk van 24 uur aan te sluit. In hierdie voorbeeld, verseker ons daar ten minste 16 uur tussen elke uiterste hoë en uiterste lae. Ons kan ook 'n gevoel van hoe die hoogte - en laagtepunte is trending deur die gemiddeld tussen die twee uiterstes kry. Geweegde Moving Gemiddelde filters Ander vorme van bewegende gemiddelde filters doen elke monster nie ewe gewig. Nog 'n algemene filter volg die binomiale uitbreiding van (1 / 2,1 / 2) n Hierdie tipe filter by benadering 'n normale kurwe vir groot waardes van n. Dit is nuttig vir die filter van hoë frekwensie geraas vir klein N. Om die koëffisiënte vind vir die binomiale filter, oprollen 1/2 1/2 met homself en dan iteratief oprollen die uitset met 1/2 1/2 'n voorgeskrewe aantal kere. In hierdie voorbeeld gebruik vyf totale iterasies. Nog 'n filter ietwat soortgelyk aan die Gaussiese uitbreiding filter is die eksponensiële bewegende gemiddelde filter. Hierdie tipe geweeg bewegende gemiddelde filter is maklik om op te rig en nie 'n groot venster grootte vereis. Jy pas 'n eksponensieel geweeg bewegende gemiddelde filter deur 'n alfa parameter tussen nul en een. 'N Hoër waarde van alfa sal minder glad nie. Zoom in op die lesings vir een dag. Kies jou CountryI is nuut in Simulink. Ek wil gemiddeld van die inkomende data (wat kom na 'n paar tussenposes) van een blok te doen. Byvoorbeeld, Deurlopende geraamde data van 42 monsters is uit een blok. Saam met die geraamde data daar is nog 'n uitset (tag) wat vertel dat hierdie raam / monsters behoort aan watter kategorie. Tags is getalle 1-6. Die uitset is onvoorspelbaar. Ek wil dieselfde kategorie data gemiddelde. Soos die eerste raam is van cat1, dan na 4 rame cat1 raam kom weer. Nou hoe moet ek gemiddeld hierdie nuwe raam met die vorige een wil ek om dit te doen vir al die kategorieë. Help my asseblief om in hierdie. gevra 26 Maart 14 aan 13:35 'N vinnige en vuil oplossing sou wees om 'n Array List vir elke kategorie te implementeer. Inisialiseer die lys met Nans en hou 'n toonbank vir die laaste monster van elke kategorie. Die gebruik van die gemiddelde funksie kan jy die gemiddeld van al metings te kry. As jy net wil die gemiddelde van die huidige raam en vorige raam, kan jy eenvoudig beteken (cat1 (N1) cat1 (N11)) waar cat1 is die Array List vir rame van kategorie 1 en N1 is die indeks van die vorige raam in cat1 . As jy 'n geweegde bewegende gemiddelde vir 'n real time uitvoering wil, skep 'n gemiddelde veranderlike vir elke kategorie (noem dit AV1, av2, ens) en bereken AV1 alphaav1 (1-alfa) cat1 (N11) (waar Alpha is die gewig toegeken met die vorige gemiddelde (alphalt1) en cat1 (N11) is die nuwe meting) wanneer 'n cat1 raam inkom. antwoord 26 Maart 14 aan 17: 39How kan ek 'n gemiddelde waarde van 'n deurlopende sein in Simulink Die antwoord op hierdie vraag is, afhangende van jou skakel frekwensie of rimpel frekwensie te meet. Jy kan die bogenoemde metodes gebruik, op voorwaarde dat jy weet wat die frekwensie van die rimpeleffek. Selfs 'n eenvoudige laagdeurlaatfilter kan net so goed werk. Maar as jy te doen het met 'n veranderlike skakel frekwensie (dergelike histerese huidige beheer), dan kan jy 'n aangepaste filter nodig. Probeer om sleutelwoorde soos adaptive bewegende gemiddelde filter en veranderlike frekwensie soek. Jafar Sadeghi middot Universiteit van Sistan en Baluchestan integreer net deur 1 / s blok en dan verdeel sein tyd (horlosie) met behulp van 'n afdeling blok. Het jy 'n vraag wat jy hoef vinnig antwoord
No comments:
Post a Comment