Matlab Simulink Vektet Moving Average
Vektet Moving Average (Obsolete) Merk: Vektet Flytende Gjennomsnittlig blokk er foreldet. Denne blokken ble fjernet fra diskret biblioteket i R2008a og erstattet med Discrete FIR Filter-blokken. Eksisterende modeller som inneholder den vektede Flytte gjennomsnittlige blokken fortsetter imidlertid å fungere for bakoverkompatibilitet. Bruk Discrete FIR-filterblokken i nye modeller. Vurder bruk av slupdate-funksjonen for å erstatte vektet flytte gjennomsnitt med diskret FIR-filter i eksisterende modeller. Vektet Flytende Gjennomsnittlig blokkprøver og holder N de nyeste inngangene, multipliserer hver inngang med en spesifisert verdi (gitt av vektarparameteren), og stabler dem i en vektor. Denne blokken støtter både single-inputsingle-output (SISO) og single-inputmulti-output (SIMO) moduser. For SISO-modusen er parameteren Vekter spesifisert som en radvektor. For SIMO-modusen er vektene angitt som en matrise hvor hver rad tilsvarer en separat utgang. Du kan velge om du vil spesifisere datatypen og skaleringen av vektene i dialogboksen med parameteren Gain data type. Den innledende tilstandsparameteren gir startverdiene for alle tider som går før starttiden. Du angir tidsintervallet mellom prøvene med prøvetidsparameteren. Vektet Flytende Gjennomsnittlig blokk multiplicerer først sine innganger med vekten-parameteren, konverterer disse resultatene til utdatatypen med de angitte avrundings - og overløpsmodiene, og utfører deretter summeringen. Datatype-støtte Den veide Flytte Gjennomsnittlig blokk støtter alle numeriske datatyper som Simulink x00AE støtter, inkludert fastpunktdatatyper. Parametre Angi vekter av den bevegelige gjennomsnittlige en rad per utgang. Vektparameteren konverteres fra dobler til den angitte datatypen offline, ved hjelp av runde til nærmeste og metning. Angi innledende verdier for alle tidspunkter før starttidspunktet. Parameteren for innledende tilstand konverteres fra dobler til inngangsdata typen offline ved hjelp av runde til nærmeste og metning. Angi tidsintervallet mellom prøvene. For å arve prøvetiden, sett denne parameteren til -1. Se Angi prøvetid i online dokumentasjonen for mer informasjon. Utdata datatype Angi utdatatype. Du kan sette den til: En regel som arver en datatype, for eksempel, erverve: Arve gjennom tilbaketransplantasjon Navnet på en datatypeobjekt, for eksempel et Simulink. NumericType-objekt Et uttrykk som evaluerer til en datatype, for eksempel , fixdt (1,16,0) Klikk på knappen Vis datatype assistent for å vise datatypeassistenten. som hjelper deg med å angi parameteren Output data type. Lås utdata skalering mot endringer av autoskalingsverktøyet Velg for å låse skalering av utganger mot endringer ved hjelp av fastpunktsverktøyet. Integer avrundingsmodus Avrundingsmodus for fastpunktsutgang. For mer informasjon, se Avrunding. Metning til maks eller min når overfylling oppstår. Hvis det er valgt, metter overflaten med faste punkter. Ellers brytes de inn. Angi datatypen for vekten-parameteren. Du kan sette den til: En regel som arver en datatype, for eksempel Arve: Arve via intern regel Navnet på en datatypeobjekt, for eksempel et Simulink. NumericType-objekt Et uttrykk som evaluerer til en datatype, for eksempel , fixdt (1,16,0) Klikk på knappen Vis datatype assistent for å vise datatypeassistenten. som hjelper deg å sette parameteren Gain data type. (Se Angi datatyper ved hjelp av datatypeassistent for mer informasjon.) Anta at du vil konfigurere denne blokken for to utganger (SIMO-modus) der den første utgangen er gitt av y 1 (k) a 1 x22C5 u (k) b 1 x22C5 u (k x2212 1) c 1 x22C5 u (k x2212 2) den andre utgangen er gitt av y 2 (k) en 2 x22C5 u (k) b 2 x22C5 u (k x2212 1) og de opprinnelige verdiene til u - 1) og u (k - 2) er gitt av ic1 og ic2. henholdsvis. For å konfigurere Vektet Flytende Gjennomsnitt blokk for denne saken, må du angi vekten parameteren som a1 b1 c1 a2 b2 c2 der c2 0, og den innledende tilstand parameter som ic1 ic2. EgenskaperDokumentering Flytende gjennomsnittsmetode 8212 Gjennomsnittlig metode Glidende vindu (standard) Eksponentiell vekting Glidebryter 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. Eksponensiell 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 Jeg er ny til Simulink. Jeg vil gjøre gjennomsnittet av innkommende data (som kommer etter noen intervaller) fra ett blokk. For eksempel er kontinuerlig innrammet data på 42 prøver ut fra en blokk. Sammen med de innrammede dataene er det en annen utgang (tag) som forteller at disse rammemonstrene tilhører hvilken kategori. Etiketter er tall fra 1-6. Utgangen er tilfeldig. Jeg vil gjennomsnittlig de samme kategoridataene. Som den første rammen er av cat1, kommer etter 4 rammer cat1 ramme igjen. Nå hvordan skal jeg gjennomsnittlig denne nye rammen med den forrige jeg vil gjøre dette for alle kategoriene. Vennligst hjelp meg ut i dette. spurte Mar 26 14 kl 13:35 En rask og skitten løsning ville være å implementere en arraylist for hver kategori. Initialiser listen med NaNs og hold en teller for den siste prøven fra hver kategori. Ved hjelp av middelfunksjonen kan du få gjennomsnittet av alle målinger. Hvis du bare vil ha gjennomsnittet for gjeldende ramme og forrige ramme, kan du bare bety (cat1 (n1) cat1 (n11)) der cat1 er arraylisten for rammer fra kategori 1 og n1 er indeksen for den forrige rammen i cat1 . Hvis du vil ha et vektet glidende gjennomsnitt for en real-time-implementering, opprett en gjennomsnittlig variabel for hver kategori (kall det av1, av2, etc.) og beregne av1 alphaav1 (1-alfa) cat1 (n11) (hvor alfa er vekten tildelt til forrige gjennomsnitt (alfalt1) og cat1 (n11) er den nye måling) når en cat1-ramme kommer inn. svarte mar 26 14 kl 17:39
Comments
Post a Comment