Eksponentiell Bevegelse Gjennomsnittet Simulink
Dokumentasjon Dette eksemplet viser hvordan du bruker glidende gjennomsnittsfiltre og resampling for å isolere effekten av periodiske komponenter på tidspunktet for klokkeslett på timelastetemperatur, samt fjerne uønsket støy fra en åpen spenningsmåling. Eksemplet viser også hvordan du kan glatte nivået på et klokke signal mens du beholder kantene ved å bruke et medianfilter. Eksemplet viser også hvordan man bruker et Hampel filter for å fjerne store utjevninger. Motivasjonsutjevning er hvordan vi oppdager viktige mønstre i våre data mens du utelater ting som er ubetydelige (dvs. støy). Vi bruker filtrering for å utføre denne utjevningen. Målet med utjevning er å produsere lave verdiendringer, slik at det er enklere å se trender i våre data. Noen ganger når du undersøker inndata, kan det hende du ønsker å glatte dataene for å se en trend i signalet. I vårt eksempel har vi et sett med temperaturmålinger i Celsius tatt hver time på Logan flyplass for hele januar måned 2011. Merk at vi visuelt kan se effekten som tiden på dagen har på temperaturavlesningene. Hvis du bare er interessert i den daglige temperaturvariasjonen i løpet av måneden, bidrar timelengsfluktene bare med støy, noe som kan gjøre det vanskelig å skille dagens variasjoner. For å fjerne effekten av tidspunktet på dagen, vil vi nå glatte ut dataene våre ved å bruke et glidende gjennomsnittsfilter. Et flytende gjennomsnittsfilter I sin enkleste form tar et glidende gjennomsnittlig filter med lengde N gjennomsnittet av hver N påfølgende bølgeform. For å bruke et glidende gjennomsnittsfilter til hvert datapunkt, konstruerer vi våre koeffisienter for filteret vårt slik at hvert punkt er likevektet og bidrar 124 til det totale gjennomsnittet. Dette gir oss gjennomsnittstemperaturen over hver 24-timers periode. Filterforsinkelse Merk at filtrert utgang forsinkes med ca. tolv timer. Dette skyldes det faktum at vårt bevegelige gjennomsnittlige filter har en forsinkelse. Ethvert symmetrisk filter med lengde N vil ha en forsinkelse på (N-1) 2 prøver. Vi kan rapportere denne forsinkelsen manuelt. Utvinning av gjennomsnittlige forskjeller Alternativt kan vi også bruke det bevegelige gjennomsnittlige filteret for å få et bedre estimat av hvordan tidspunktet på dagen påvirker den totale temperaturen. For å gjøre dette, må du først trekke ut glatte data fra timetemperaturmålingene. Deretter segmenter de forskjellige dataene i dager og tar gjennomsnittet over alle 31 dager i måneden. Utvinning av toppkuvert Noen ganger vil vi også ha et jevnt varierende estimat av hvordan høyde og nedturer av temperatursignalet endres daglig. For å gjøre dette kan vi bruke konvoluttfunksjonen til å koble til ekstreme høyder og nedturer oppdaget over en delmengde av 24-timersperioden. I dette eksemplet sikrer vi at det er minst 16 timer mellom hver ekstrem høy og ekstrem lav. Vi kan også få en følelse av hvordan høyder og nedturer er trending ved å ta gjennomsnittet mellom de to ytterpunktene. Veidede Flytte gjennomsnittlige filtre Andre typer bevegelige gjennomsnittlige filtre veier ikke hver prøve like mye. Et annet vanlig filter følger binomial utvidelsen av (12,12) n Denne typen filter tilnærmer en normal kurve for store verdier på n. Det er nyttig for å filtrere ut høyfrekvent støy for små n. For å finne koeffisientene for binomialfilteret, konvolver 12 12 med seg selv og deretter iterativt konvolver utgangen med 12 12 et foreskrevet antall ganger. I dette eksemplet bruker du fem totale iterasjoner. Et annet filter som ligner på det gaussiske ekspansjonsfilteret er eksponentiell glidende gjennomsnittsfilter. Denne typen vektet glidende gjennomsnittsfilter er enkelt å konstruere og krever ikke en stor vindusstørrelse. Du justerer et eksponentielt vektet glidende gjennomsnittlig filter med en alfaparameter mellom null og en. En høyere verdi av alpha vil ha mindre utjevning. Zoom inn på avlesningene i en dag. Velg din CountryDocumentation Moving Average Method 8212 Gjennomsnittlig metode Skyvevindu (standard) Eksponentiell vekting Skyvevindu 8212 Et vindu med lengde Vindulengden beveger seg over inngangsdata langs hver kanal. For hvert eksempel som vinduet beveger seg, beregner blokken gjennomsnittet over dataene i vinduet. Eksponensiell vekting 8212 Blokken multipliserer prøvene med et sett med vektningsfaktorer. Størrelsen på vektningsfaktorene reduseres eksponentielt ettersom datoenes alder øker, når aldri null. For å beregne gjennomsnittet summerer algoritmen vektede data. Angi vinduets lengde 8212 Flagg for å angi vinduets lengde på (standard) av Når du velger denne avmerkingsboksen, er lengden på skyvevinduet lik verdien du angir i Vinduelengde. Når du fjerner denne avmerkingsboksen, er glidevinduets lengde uendelig. I denne modusen beregner blokken gjennomsnittet av gjeldende utvalg og alle tidligere prøver i kanalen. Vindulengde 8212 Glideskjermens lengde 4 (standard) Positivt skalar heltall Vindulengden angir lengden på glidevinduet. Denne parameteren vises når du merker av for Angi vindulengde Angi vindu. Glem faktor 8212 Eksponensiell vektfaktor 0,9 (standard) positiv reell skalar i området (0,1 Denne parameteren gjelder når du setter Metode til eksponentiell vekting. En glem faktor på 0,9 gir større vekt på de eldre dataene enn en glemme faktor på 0,1 . En glemme faktor på 1,0 angir uendelig minne. Alle tidligere eksempler er gitt like vekt. Denne parameteren kan avstemmes. Du kan endre verdien selv under simuleringen. Simulere med å bruke 8212 Type simulering for å kjøre Kodegenerering (standard) Tolket utførelse Simulere modell ved hjelp av generert C-kode. Simulink x00AE første gang du kjører en simulering, genererer C-kode for blokken. C-koden blir gjenbrukt for etterfølgende simuleringer, så lenge modellen ikke endres. Dette alternativet krever ekstra oppstartstid, men gir raskere simuleringshastighet enn tolket utførelse. Simulere modell ved hjelp av MATLAB x00AE tolk. Dette alternativet forkorter oppstartstid, men har langsommere simuleringshastighet enn kode generasjon. Mer om algoritmer Sliding Window Method I glidende vindu metode, er utgangen for hver inngangseksempel gjennomsnittet av den nåværende prøven og Len-1 tidligere prøver. Len er lengden på vinduet. For å beregne de første Len-1-utgangene, når vinduet ikke har nok data ennå, fyller algoritmen vinduet med nuller. Som et eksempel, for å beregne gjennomsnittet når den andre inngangsprøven kommer inn, fyller algoritmen vinduet med Len - 2 nuller. Datavektoren, x. er da de to datasamplene etterfulgt av Len - 2 nuller. Når du angir egenskapen SpecifyWindowLength til feil. algoritmen velger en uendelig vinduslengde. I denne modusen er utgangen det bevegelige gjennomsnittet for gjeldende utvalg og alle de tidligere prøvene i kanalen. Eksponentiell vektingsmetode I eksponentiell vektingsmetode beregnes det bevegelige gjennomsnittet rekursivt ved hjelp av disse formlene: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB (1 w N. x03BB) x N x xAFAF N. x03BB 8212 Flytende gjennomsnitt ved gjeldende utvalg x N 8212 Gjeldende datainngangssprøve x x00AF N x2212 1. x03BB 8212 Flytende gjennomsnitt ved forrige prøve 955 8212 Glemme faktor w N. x03BB 8212 Vektfaktor påført gjeldende dataprøve (1 x 2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Effekt av tidligere data i gjennomsnitt For den første prøven, hvor N 1 velger algoritmen w N. x03BB 1. For den neste prøven oppdateres vektningsfaktoren og brukes til å beregne gjennomsnittet, per rekursiv ligning. Etter hvert som alderen på dataene øker, reduserer størrelsen på vektningsfaktoren eksponentielt og når aldri null. Med andre ord har de siste dataene større innflytelse på nåværende gjennomsnitt enn de eldre dataene. Verdien av den glemme faktoren bestemmer hastigheten på endringen av vektningsfaktorene. En glem faktor på 0,9 gir større vekt på de eldre dataene enn en glemme faktor på 0,1. En glemme faktor på 1,0 indikerer uendelig minne. Alle de foregående prøvene blir gitt like vekt. Systemobjekter Velg ditt CountryDocumentation dsp. MovingAverage Systemobjekt Beskrivelse Dsp. MovingAverage System objectx2122 beregner det bevegelige gjennomsnittet av inngangssignalet langs hver kanal, uavhengig av hverandre. Objektet bruker enten glidervinduet eller eksponentiell vektingsmetode for å beregne glidende gjennomsnitt. I glidervindumetoden flyttes et vindu med spesifisert lengde over dataene, prøven etter prøve, og gjennomsnittet beregnes over dataene i vinduet. I den eksponentielle vektingsmetoden multipliserer objektet datasamplene med et sett av vektningsfaktorer. Gjennomsnittet beregnes ved å summere vektede data. For flere detaljer om disse metodene, se Algoritmer. Objektet aksepterer flerkanalsinnganger, det vil si m-by-n-størrelsesinnganger, hvor m 8805 1 og n gt 1. Objektet aksepterer også variable innganger. Når objektet er låst, kan du endre størrelsen på hver inngangskanal. Antall kanaler kan imidlertid ikke endres. Dette objektet støtter C og C-kodegenerering. For å beregne det bevegelige gjennomsnittet for inngangen: Opprett et dsp. MovingAverage-objekt og sett egenskapene til objektet. Ring trinn for å beregne det bevegelige gjennomsnittet. Merk: Alternativt, i stedet for å bruke trinnmetoden for å utføre operasjonen som er definert av Systemobjektet, kan du ringe objektet med argumenter, som om det var en funksjon. For eksempel utfører y trinn (obj, x) og y obj (x) tilsvarende operasjoner. Konstruksjon movAvg dsp. MovingAverage returnerer et bevegelige gjennomsnittsobjekt, movAvg. bruker standardegenskapene. movAvg dsp. MovingAverage (Len) setter WindowLength-egenskapen til Len. movAvg dsp. MovingAverage (Name, Value) angir flere egenskaper ved å bruke Name, Value pairs. Uspesifiserte egenskaper har standardverdier. Velg din CountryDocumentation Moving Average Method 8212 Gjennomsnittlig metode Skyvevindu (standard) Eksponentiell vekting Skyvevindu 8212 Et vindu med lengde Vindulengden beveger seg over inngangsdata langs hver kanal. For hvert eksempel som vinduet beveger seg, beregner blokken gjennomsnittet over dataene i vinduet. Eksponensiell vekting 8212 Blokken multipliserer prøvene med et sett med vektningsfaktorer. Størrelsen på vektningsfaktorene reduseres eksponentielt ettersom datoenes alder øker, når aldri null. For å beregne gjennomsnittet summerer algoritmen vektede data. Angi vinduets lengde 8212 Flagg for å angi vinduets lengde på (standard) av Når du velger denne avmerkingsboksen, er lengden på skyvevinduet lik verdien du angir i Vinduelengde. Når du fjerner denne avmerkingsboksen, er glidevinduets lengde uendelig. I denne modusen beregner blokken gjennomsnittet av gjeldende utvalg og alle tidligere prøver i kanalen. Vindulengde 8212 Glideskjermens lengde 4 (standard) Positivt skalar heltall Vindulengden angir lengden på glidevinduet. Denne parameteren vises når du merker av for Angi vindulengde Angi vindu. Glem faktor 8212 Eksponensiell vektfaktor 0,9 (standard) positiv reell skalar i området (0,1 Denne parameteren gjelder når du setter Metode til eksponentiell vekting. En glem faktor på 0,9 gir større vekt på de eldre dataene enn en glemme faktor på 0,1 . En glemme faktor på 1,0 angir uendelig minne. Alle tidligere eksempler er gitt like vekt. Denne parameteren kan avstemmes. Du kan endre verdien selv under simuleringen. Simulere med å bruke 8212 Type simulering for å kjøre Kodegenerering (standard) Tolket utførelse Simulere modell ved hjelp av generert C-kode. Simulink x00AE første gang du kjører en simulering, genererer C-kode for blokken. C-koden blir gjenbrukt for etterfølgende simuleringer, så lenge modellen ikke endres. Dette alternativet krever ekstra oppstartstid, men gir raskere simuleringshastighet enn tolket utførelse. Simulere modell ved hjelp av MATLAB x00AE tolk. Dette alternativet forkorter oppstartstid, men har langsommere simuleringshastighet enn kode generasjon. Mer om algoritmer Sliding Window Method I glidende vindu metode, er utgangen for hver inngangseksempel gjennomsnittet av den nåværende prøven og Len-1 tidligere prøver. Len er lengden på vinduet. For å beregne de første Len-1-utgangene, når vinduet ikke har nok data ennå, fyller algoritmen vinduet med nuller. Som et eksempel, for å beregne gjennomsnittet når den andre inngangsprøven kommer inn, fyller algoritmen vinduet med Len - 2 nuller. Datavektoren, x. er da de to datasamplene etterfulgt av Len - 2 nuller. Når du angir egenskapen SpecifyWindowLength til feil. algoritmen velger en uendelig vinduslengde. I denne modusen er utgangen det bevegelige gjennomsnittet for gjeldende utvalg og alle de tidligere prøvene i kanalen. Eksponentiell vektingsmetode I eksponentiell vektingsmetode beregnes det bevegelige gjennomsnittet rekursivt ved hjelp av disse formlene: w N. x03BB x03BB w N x2212 1. x03BB 1. x x00AF N. x03BB (1 x2212 1 w N. x03BB) x x00AF N x2212 1. x03BB (1 w N. x03BB) x N x xAFAF N. x03BB 8212 Flytende gjennomsnitt ved gjeldende utvalg x N 8212 Gjeldende datainngangssprøve x x00AF N x2212 1. x03BB 8212 Flytende gjennomsnitt ved forrige prøve 955 8212 Glemme faktor w N. x03BB 8212 Vektfaktor påført gjeldende dataprøve (1 x 2212 1 w N. x03BB) x x00AF N x2212 1. x03BB 8212 Effekt av tidligere data i gjennomsnitt For den første prøven, hvor N 1 velger algoritmen w N. x03BB 1. For den neste prøven oppdateres vektningsfaktoren og brukes til å beregne gjennomsnittet, per rekursiv ligning. Etter hvert som alderen på dataene øker, reduserer størrelsen på vektningsfaktoren eksponentielt og når aldri null. Med andre ord har de siste dataene større innflytelse på nåværende gjennomsnitt enn de eldre dataene. Verdien av den glemme faktoren bestemmer hastigheten på endringen av vektningsfaktorene. En glem faktor på 0,9 gir større vekt på de eldre dataene enn en glemme faktor på 0,1. En glemme faktor på 1,0 indikerer uendelig minne. Alle de foregående prøvene blir gitt like vekt. Systemobjekter Velg ditt land
Comments
Post a Comment