Sunday 19 November 2017

Simulering Av En M Punkt Moving Average Filteret


Flytende gjennomsnittsfilter (MA filter) Laster inn. Det bevegelige gjennomsnittsfilteret er et enkelt Low Pass FIR-filter (Finite Impulse Response) som vanligvis brukes til å utjevne en rekke samplede datasignaler. Det tar M prøver av inngang av gangen og tar gjennomsnittet av disse M-prøvene og produserer et enkelt utgangspunkt. Det er en veldig enkel LPF-struktur (Low Pass Filter) som er nyttig for forskere og ingeniører å filtrere uønsket støyende komponent fra de tiltenkte dataene. Når filterlengden øker (parameteren M), øker utgangens glatthet, mens de skarpe overgangene i dataene blir stadig stumpere. Dette innebærer at dette filteret har utmerket tidsdomene respons, men en dårlig frekvensrespons. MA-filteret utfører tre viktige funksjoner: 1) Det tar M-inngangspunkter, beregner gjennomsnittet av disse M-punktene og produserer et enkelt utgangspunkt 2) På grunn av beregnede beregninger. filteret introduserer en bestemt mengde forsinkelse 3) Filteret fungerer som et lavpassfilter (med dårlig frekvensdomenerespons og et godt domenerespons). Matlab-kode: Følgende matlab-kode simulerer tidsdomæneresponsen til et M-punkts-flytende gjennomsnittfilter, og viser også frekvensresponsen for forskjellige filterlengder. Time Domain Response: På den første plottet har vi inngangen som går inn i det bevegelige gjennomsnittlige filteret. Inngangen er støyende og målet vårt er å redusere støyen. Neste figur er utgangsresponsen til et 3-punkts Moving Average-filter. Det kan utledes fra figuren at 3-punkts Flytende Gjennomsnitt-filteret ikke har gjort mye for å filtrere ut støyen. Vi øker filterkranene til 51 poeng, og vi kan se at støyen i utgangen har redusert mye, som er avbildet i neste figur. Vi øker kranen videre til 101 og 501, og vi kan observere at selv om støyen er nesten null, blir overgangene slått ut drastisk (observere skråningen på hver side av signalet og sammenligne dem med den ideelle murveggovergangen i vår innsats). Frekvensrespons: Fra frekvensresponsen kan det hevdes at avrullingen er veldig treg og stoppbåndet demper er ikke bra. Gitt dette stoppbåndet demping, klart, det bevegelige gjennomsnittlige filteret kan ikke skille ett bånd med frekvenser fra en annen. Som vi vet at en god ytelse i tidsdomene resulterer i dårlig ytelse i frekvensdomene, og omvendt. Kort sagt, det glidende gjennomsnittet er et usedvanlig godt utjevningsfilter (handlingen i tidsdomene), men et uvanlig dårlig lavpassfilter (handlingen i frekvensdomenet) Eksterne lenker: Anbefalte bøker: Primær sidebarThesystemofeq 213isalsoknown som et bevegelige gjennomsnitt - pointsmoothingFIRplusmnlter. ThesystemofEq. (2.13) er det samme som en glidende gjennomsnittlig flter. Vi illustrerer bruken av dette i tillegg til høyfrekvente komponenter fra et signal som består av summen av flere sinusformede signaler. Denne forhåndsvisningen har forsettlig sløret seksjoner. Registrer deg for å se fullversjonen. 20 Kapittel 2 bull Diskrete tidssystemer i tidsdomeneprogrammet P21 Simulering av et M-punkts flytende gjennomsnittsfilter Generer inngangssignalet n 0: 100 s1 cos (2pi0.05n) En lavfrekvens sinusoid s2 cos (2pi0,47n) A høyfrekvens sinusoid x s1s2 Gjennomføring av det bevegelige gjennomsnittsfilteret M-inngang (rsquoDesired lengde av filteret rsquo) numene (1, M) y filteret (num, 1, x) M Vis inn - og utgangssignalene clf subplot (2,2 , 1) plot (n, s1) akse (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) tittel (rsquoSignal 1rsquo) subplot (2,2,2) plot (n, s2) akse (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) tittel (rsquoSignal 2rsquo) subplot (2,2,3) plot (n, x) akse (0, 100, -2, 2) xlabel (rsquoTime-indeks nrsquo) ylabel (rsquoTime indexnosquo) tittel (rsquoInput Signalrsquo) subplot (2,2,4) plot (n, y) akse (0, 100, -2, 2) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) tittel (rsquoOutput Signalrsquo) akse Spørsmål: Q2.1 Kjør ovenstående program m for M2 å generere utgangssignalet med xn s1n s2n som inngang. Hvilken komponent av inngangen xn er undertrykt av diskret tidssystemet simulert av dette programmet Q2.2 Hvis LTI-systemet endres fra yn 0,5 (xn xn - 1) til yn 0,5 (xn - xn - 1). hva ville være dens effekt på inngangen xn s1n s2n. Q2.3 Kjør program P2 1 for andre verdier av Flter lengde M. og forskjellige verdier av frekvensene til de sinusformede signalene s1n og s2n. Kommentere dine resultater. 2.4 Simulering av diskrete tidssystemer 21 Q2.4 Modifiser Program P2 1 for å bruke et sinusformet signal med svekket frekvens av lengde 101, en minimumsfrekvens 0. og en maksimal frekvens 0,5 som inngangssignal (se Program P1 7) og beregne utgangssignal. Kan du forklare resultatene fra spørsmål Q2.1 og Q2.2 fra responsen til dette systemet til feidfrekvenssignalet. Prosjekt 2.2 Et enkelt, ikke-lineært diskret tidssystem (valgfritt) La y n være et signal som genereres ved å bruke følgende ikke-lineære operasjoner på et signal x n. ynxn 2 minus xn minus 1 xn 1. (2.14) I dette prosjektet vil du generere output yn av det ovennevnte systemet for forskjellige typer inngang xn ved hjelp av Program P2 2. Følgende MATLAB-program kan brukes til å generere et inngangssignal xn sammensatt av en sum av to sinusformede sekvenser og simulere LTI-systemet av Eq. (2.12) for å generere y n. Program P22 Generer et sinusformet inngangssignal clf n 0: 200 x cos (2pi0.05n) Beregn utgangssignalet x1 x 0 0 x1n xn1 x2 0 x 0 x2n xn x3 0 0 x x3n xn-1 y x2.x2 - x1. x3 yy (2: 202) Plot inputs og outputsignals subplot (2,1,1) plot (n, x) xlabel (rsquoTime index nrsquo) ylabel (rsquoAmplitudersquo) tittel (rsquoInput Signalrsquo) subplot (2,1,2) plot (n, y) xlabel (rsquoTime indeks nrsquo) ylabel (rsquoAmplitudersquo) tittel (rsquoOutput signalrsquo) Spørsmål: Q2.5 Bruk sinusformede signaler med forskjellige frekvenser som inngangssignaler og beregne utgangssignalet for hver inngang. Hvordan er utgangssignalene avhengig av frekvensene til inngangssignalet Kan du verifisere observasjonen din matematisk Denne forhåndsvisningen har forsettlig sløret seksjoner. Registrer deg for å se den fullstendige versjonen. Frekvensrespons av det kjørende gjennomsnittsfiltret Frekvensresponsen til et LTI-system er DTFT av impulsresponsen. Impulsresponsen av et L-prøves glidende gjennomsnitt er Siden det bevegelige gjennomsnittlige filteret er FIR, frekvensrespons reduseres 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, Berkeley Jeg må beregne et bevegelige gjennomsnitt over en dataserie, innenfor en for loop. 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. Du kan bruke filter til å finne et løpende gjennomsnitt uten å bruke en forløkke. Dette eksemplet finner det løpende gjennomsnittet av en 16-elementvektor, ved hjelp av en vindustørrelse på 5. 2) Glatt som en del av kurvefiksjonsverktøyskassen (som er tilgjengelig i de fleste tilfeller) glatter du (y) dataene i kolonnevektoren y bruker et glidende gjennomsnittsfilter. Resultatene returneres i kolonnevektoren. Standardspenningen for glidende gjennomsnitt er 5.

No comments:

Post a Comment