5 Punkts Moving Average Filter Matlab


Jeg må beregne et glidende gjennomsnitt over en dataserie, innenfor en for-løkke. Jeg må få glidende gjennomsnitt over N9 dager. Array Im computing in er 4 serier av 365 verdier (M), som i seg selv er gjennomsnittsverdier for et annet sett med data. Jeg vil plotte gjennomsnittverdiene av dataene mine med det bevegelige gjennomsnittet i en tomt. Jeg googled litt om å flytte gjennomsnitt og conv kommandoen og fant noe som jeg prøvde å implementere i min kode .: Så i utgangspunktet beregner jeg mitt gjennomsnitt og plotter det med et (feil) glidende gjennomsnitt. Jeg plukket wts verdien rett utenfor mathworks nettstedet, så det er feil. (kilde: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mitt problem er imidlertid at jeg ikke forstår hva dette wts er. Kan noen forklare om det har noe å gjøre med verdiene i vektene: det er ugyldig i dette tilfellet. Alle verdier er vektet det samme. Og hvis jeg gjør dette helt feil, kan jeg få litt hjelp med det Min oppriktige takk. spurte 23 september klokken 19:05 Bruk av conv er en utmerket måte å implementere et bevegelig gjennomsnitt på. I koden du bruker, er wts hvor mye du veier hver verdi (som du gjettet). summen av den vektoren skal alltid være lik en. Hvis du vil vektere hver verdi jevnt og gjøre et N-bevegelig filter, så vil du gjøre det. Ved å bruke det gyldige argumentet i conv, vil det føre til at du har færre verdier i Ms enn du har i M. Bruk det samme hvis du ikke har noe imot effekten av null polstring. Hvis du har signalbehandlingsverktøyskassen, kan du bruke cconv hvis du vil prøve et sirkulært glidende gjennomsnitt. Noe som Du burde lese conv and cconv dokumentasjonen for mer informasjon hvis du ikke allerede har funnet. Frequency Response of the Running Average Filter Frekvensresponsen av et LTI-system er DTFT av impulsresponset, impulsresponsen av et L-eksempels glidende gjennomsnitt er Siden det bevegelige gjennomsnittlige filteret er FIR, reduserer frekvensresponsen til den endelige summen. Vi kan bruke den svært nyttige identiteten til å skrive frekvensresponsen som hvor vi har sluppet minus jomega. N 0 og M L minus 1. Vi kan være interessert i størrelsen på denne funksjonen for å avgjøre hvilke frekvenser som kommer gjennom filteret som ikke er overvåket og som er dempet. Nedenfor er et plott av størrelsen på denne funksjonen for L 4 (rød), 8 (grønn) og 16 (blå). Den horisontale aksen varierer fra null til pi radianer per prøve. Legg merke til at frekvensresponsen i alle tre tilfeller har en lowpass-karakteristikk. En konstant komponent (nullfrekvens) i inngangen passerer gjennom filteret uopprettholdt. Visse høyere frekvenser, som pi 2, elimineres helt av filteret. Men hvis hensikten var å designe et lavpassfilter, har vi ikke gjort det veldig bra. Noen av de høyere frekvensene dempes bare med en faktor på ca 110 (for 16 poeng glidende gjennomsnitt) eller 13 (for firepunkts glidende gjennomsnitt). Vi kan gjøre mye bedre enn det. Ovennevnte tegning ble opprettet av følgende Matlab-kode: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)). (1-exp (-iomega)) H8 (18) iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)) (1-exp (-iomega)) plot (omega, abs (H4) abs H16)) akse (0, pi, 0, 1) Opphavsretts kopi 2000- - University of California, BerkeleyAs navnet antyder, går det bevegelige gjennomsnittlige filteret ved å beregne et antall punkter fra inngangssignalet for å produsere hvert punkt i utgangssignalet . I ligningsform er dette skrevet: Hvor x er inngangssignalet, er y utgangssignalet, og M er antall poeng i gjennomsnittet. For eksempel, i et 5 punkts glidende gjennomsnittlig filter, er punkt 80 i utgangssignalet gitt av: Figur 15-1 viser et eksempel på hvordan dette virker. Signalet i (a) er en puls begravet i tilfeldig støy. I (b) og (c) reduserer utjevningsvirkningen av det bevegelige gjennomsnittlige filter amplitude av tilfeldig støy (god), men reduserer også skarpheten av kantene (dårlig). Av alle mulige lineære filtre som kan brukes, gir det bevegelige gjennomsnitt den laveste støyen for en gitt kantskarphet. Mengden støyreduksjon er lik kvadratroten av antall poeng i gjennomsnittet. For eksempel reduserer et 100 punkts glidende gjennomsnittsfilter støyen med en faktor på 10. For å forstå hvorfor det glidende gjennomsnittet hvis den beste løsningen, tenk vi ønsker å designe et filter med fast kantskarphet. For eksempel antar let8217s at vi fikser kantskarpheten ved å spesifisere at det er elleve poeng i stigningen av trinnresponsen. Dette krever at filterkjernen har elleve poeng. Optimeringsspørsmålet er: Hvordan velger vi de elleve verdiene i filterkjernen for å minimere støyen på utgangssignalet Siden støyen vi prøver å redusere er tilfeldig, er ingen av inngangspunktene spesielle hver er like støyende som naboen . Derfor er det ubrukelig å gi fortrinnsbehandling til et hvilket som helst av inngangspunktene ved å tilordne det en større koeffisient i filterkjernen. Den laveste støyen oppnås når alle inngangsprøver blir behandlet likt, dvs. det bevegelige gjennomsnittsfilter. (Senere i dette kapitlet viser vi at andre filtre egentlig er like gode. Poenget er at ingen filter er bedre enn det enkle glidende gjennomsnittet). Følgende er et hardkodet 3-punktsvektet symmetrisk glidende gjennomsnittlig filter: Så mine forutsetninger for hvordan et n-punktsvektet symmetrisk glidende gjennomsnittfilter ville fungere som følger: Mitt endelige mål er å skape et vektet symmetrisk glidende gjennomsnittlig filter som har et modulært antall poeng over hvilke det kan gjennomsnittlig. Den delen som virkelig får meg, er vektingen selv, og mens jeg er sikker på at en nestet sløyfe av noe slag ville gjøre kunsten, kan jeg ikke se hvordan jeg selv ville starte noe slikt. Takk for at du tok deg tid til å inspisere spørsmålet mitt, noen tilbakemeldinger vil bli verdsatt. Velg ditt land

Comments