Wednesday 22 November 2017

Labview Eksponentiell Moving Average


Filter Express VI. Specifies følgende typer filtre for å bruke lowpass, highpass, bandpass, bandstop eller utjevning Standard er Lowpass. Contains the following options. Cutoff Frekvens Hz Angir filterets cutofffrekvens Dette alternativet er bare tilgjengelig når du velger Lowpass eller Highpass fra rullegardinmenyen Filtreringstype Standard er 100.Low cutoff frekvens Hz Angir filterets lave cutofffrekvens Lav cutoff frekvens Hz må være mindre enn High cutoff frekvens Hz og observere Nyquist kriteriet Standard er 100 Dette Alternativet er bare tilgjengelig når du velger Bandpass eller Bandstop fra rullegardinmenyen Filtreringstype. High cutoff frekvens Hz Angir filterets høye cutofffrekvens. High cutoff frekvens Hz må være større enn Low cutoff frekvens Hz og observere Nyquist kriteriet. er 400 Dette alternativet er bare tilgjengelig når du velger Bandpass eller Bandstop fra rullegardinmenyen Filtreringstype. Finitt impulsrespons FIR filter C reagerer på et FIR-filter som bare avhenger av de nåværende og tidligere inngangene. Fordi filteret ikke er avhengig av tidligere utganger, vil impulsresponsen redusere til null i en fin tid. Fordi FIR-filtre returnerer en lineær faserespons, bruk FIR-filtre for applikasjoner som krever lineære fase respons. Taps Angir totalt antall FIR-koeffisienter, som må være større enn null Standard er 29 Dette alternativet er bare tilgjengelig når du velger FIT-filteralternativet Finite-impulsrespons. Øk verdien av kraner forårsaker overgangen mellom passbåndet og stoppbåndet blir brattere. Da verdien av Taps øker, blir prosesseringshastigheten langsommere. Infinitivt impulsrespons IIR-filter Oppretter et IIR-filter som er et digitalt filter med impulsrespons som teoretisk kan være uendelig i lengde eller varighet. Topologi bestemmer filterets designtype Du kan opprette enten en Butterworth-, Chebyshev-, Inverse Chebyshev-, Elliptic - eller Bessel-filterdesign Dette alternativet er bare tilgjengelig når du velger alternativet for uendelig impulsrespons IIR-filteret Standard er Butterworth. Order Bestilling av IIR-filteret, som må være større enn null Dette alternativet er bare tilgjengelig når du velger alternativet for uendelig impulsrespons IIR-filteret Standard er 3 Øke verdien av ordre forårsaker overgangen mellom passbåndet og stoppbåndet til å bli brattere. Når verdien av Ordre øker, blir behandlingshastigheten langsommere, og antallet forvrengte punkter ved signalets begynnelse øker. Gjennomsnittlig gjennomsnitt Gir fremover-bare FIR-koeffisienter Dette alternativet er bare tilgjengelig når du velger Utjevning fra rullegardinmenyen Filtreringstype. Rektangulær Angir at alle prøver i vinduet med glidende gjennomsnitt veies likt når du beregner hver glatt utgangsprøve. Dette alternativet er bare tilgjengelig når velger du Utjevning fra rullegardinmenyen Filtreringstype og alternativet Flytende gjennomsnitt. Triangulær Angir at den bevegelige vekten Inngangsvinduet på prøvene er trekantet med toppet midt i vinduet og rager ned symmetrisk på begge sider av midtprøven. Dette alternativet er kun tilgjengelig når du velger Utjevning fra rullegardinmenyen Filtreringstype og Flytende gjennomsnitt alternativ. Half-bredde av bevegelige gjennomsnitt Angir halvbredden til det bevegelige gjennomsnittsvinduet i prøver Standardinnstillingen er 1 For en halv bredde av bevegelige gjennomsnitt på M er den fullbredde av det bevegelige gjennomsnittsvinduet N 1 2M prøver Derfor er den fulle bredden N alltid et merkelig antall prøver Dette alternativet er bare tilgjengelig når du velger Utjevning fra rullegardinmenyen Filtreringstype og alternativet Flytende gjennomsnitt. Eksponentiell Gir første ordens IIR-koeffisienter Dette alternativet er bare tilgjengelig når du velg Utjevning fra rullegardinmenyen Filtreringstype. Tidskonstant av eksponentiell gjennomsnitt Angir tidskonstanten for eksponentiell vekting filteret på sekunder Standard er 0 001 Dette alternativet er kun tilgjengelig når velger du Utjevning fra rullegardinmenyen Filtreringstype og Exponential-alternativet. Viser inngangssignalet Hvis du leder data til Express VI og kjører det, viser inngangssignal ekte data. Hvis du lukker og gjenåpner Express VI, viser inngangssignal prøve data til du kjører Express VI igjen. Viser en forhåndsvisning av måling Resultatforhåndsfortegnelsen viser verdien av den valgte målen med en prikket linje. Hvis du leder data til Express VI og kjører VI, viser resultatforhåndsvisning ekte data. Hvis du lukk og gjenåpne Express VI, Resultatoversikt viser prøvedata til du kjører VI igjen Hvis cutoff-frekvensverdiene er ugyldige, viser Resultatforhåndsvisning ikke gyldige data. Oppbevar følgende alternativer. Merknad Endre alternativene i visningsmodus-delen påvirke oppførselen til Filter Express VI Bruk visningsmodus-alternativene for å visualisere hva filteret gjør for signalet LabVIEW lagrer ikke disse alternativene når du lukker konfigurasjonsdialogboksen. ls Viser filterresponsen som ekte signaler. Show som spektrum Angir om de reelle signalene til filterresponset skal vises som et frekvensspekter eller å forlate displayet som en tidsbasert visning. Frekvensdisplayet er nyttig for å se hvordan filteret påvirker forskjellige frekvenskomponenter av signalet Standardinnstillingen er å vise filterresponsen som en tidsbasert skjerm. Dette alternativet er bare tilgjengelig når du velger Signaler-alternativet. Transfers-funksjon Viser filterresponsen som en overføringsfunksjon. Oppbevar følgende alternativer. Magnetikk i dB Angir størrelsesresponsen til filteret i desibel. Frekvens i logg Angir frekvensresponsen til filteret i en logaritmisk skala. Viser størrelsesresponsen til filteret Denne skjermen er kun tilgjengelig når du stiller visningsmodus til overføringsfunksjon. Viser fasen svar på filteret Denne skjermen er bare tilgjengelig når du stiller visningsmodus til overføring-funksjon. Gjennomføring av gjennomsnittlig og eksponensiell utjevningsmodell s. Som et første skritt i å bevege seg utover gjennomsnittlige modeller, kan tilfeldige gangmodeller og lineære trendmodeller, ikke-sesongsmønstre og trender ekstrapoleres ved hjelp av en gjennomsnittlig eller utjevningsmodell. Den grunnleggende forutsetningen bak gjennomsnittlig og utjevningsmodell er at tidsserien er lokalt stasjonær med et sakte varierende gjennomsnitt. Derfor tar vi et lokalt lokalt gjennomsnitt for å estimere nåverdien av gjennomsnittet, og deretter bruke det som prognosen for nær fremtid. Dette kan betraktes som et kompromiss mellom gjennomsnittlig modell og tilfeldig tur Den samme strategien kan brukes til å estimere og ekstrapolere en lokal trend. Et glidende gjennomsnitt kalles ofte en glatt versjon av den opprinnelige serien, fordi kortsiktig gjennomsnittsverdi gir utjevning av støtene i den originale serien Av justere graden av utjevning av bredde av det bevegelige gjennomsnittet, kan vi håpe å finne en slags optimal balanse mellom ytelsen til gjennomsnittlige og tilfeldige gangmodeller. Den enkleste typen av eraging model er. Simple likevektet Moving Average. Forecasten for verdien av Y på tidspunktet t 1 som er laget på tid t, er lik det enkle gjennomsnittet av de nyeste m-observasjonene. Her og andre steder vil jeg bruke symbolet Y-hatten til å utgjøre en prognose av tidsserien Y laget så tidlig som mulig før en bestemt modell. Dette gjennomsnittet er sentrert i perioden t-m 1 2, noe som innebærer at estimatet av det lokale gjennomsnittet vil ha en tendens til å ligge bak den sanne verdien av det lokale gjennomsnittet med ca. m 1 2 perioder. Således sier vi at gjennomsnittsalderen for dataene i det enkle glidende gjennomsnittet er m 1 2 i forhold til perioden for prognosen beregnes dette er hvor lang tid prognosene vil ha til å ligge bak vendepunkter i dataene. For eksempel, hvis du er gjennomsnittlig de siste 5 verdiene, vil prognosene være ca 3 perioder sent i å svare på vendepunkt. Merk at hvis m 1, Den enkle glidende SMA-modellen er ekvivalent med den tilfeldige turmodellen uten vekst Hvis m er veldig stor i forhold til lengden av estimeringsperioden, er SMA-modellen tilsvarlig for den gjennomsnittlige modellen. Som med hvilken som helst parameter i en prognosemodell, er det vanlig å justere verdien av ki n for å få den beste pasienten til dataene, dvs. de minste prognosefeilene i gjennomsnitt. Her er et eksempel på en serie som ser ut til å vise tilfeldige svingninger rundt et sakte varierende middel. Først må vi prøve å passe den med en tilfeldig spasertur modellen, noe som tilsvarer et enkelt bevegelige gjennomsnitt på 1 term. Den tilfeldige turmodellen reagerer veldig raskt på endringer i serien, men i så måte velger den mye av støyen i dataene de tilfeldige svingninger samt signalet den lokale mener Hvis vi i stedet prøver et enkelt glidende gjennomsnitt på 5 vilkår, får vi et smidigere sett med prognoser. Det 5-termens enkle glidende gjennomsnittet gir betydelig mindre feil enn den tilfeldige turmodellen i dette tilfellet Gjennomsnittsalderen for dataene i dette prognosen er 3 5 1 2, slik at den har en tendens til å ligge bak vendepunkter med om lag tre perioder. For eksempel synes det å ha oppstått en nedgang i perioden 21, men prognosene vender seg ikke til flere perioder senere. langsiktige prognoser fra SMA mod el er en horisontal rett linje, akkurat som i den tilfeldige turmodellen. Således antar SMA-modellen at det ikke er noen trend i dataene. Mens prognosene fra den tilfeldige turmodellen ganske enkelt er lik den siste observerte verdien, vil prognosene fra SMA-modellen er lik et vektet gjennomsnitt av de siste verdiene. Forsikringsgrensene beregnes av Statgraphics for de langsiktige prognosene for det enkle glidende gjennomsnittet, blir ikke større enn forventningshorisonten øker. Dette er åpenbart ikke riktig. Dessverre er det ingen underliggende statistisk teori som forteller oss hvordan konfidensintervallene skal utvides for denne modellen. Det er imidlertid ikke så vanskelig å beregne empiriske estimater av konfidensgrensene for lengre horisont-prognoser. For eksempel kan du sette opp et regneark der SMA-modellen vil bli brukt til å prognose 2 trinn foran, 3 trinn foran osv. i den historiske dataprøven. Du kan deretter beregne utvalgsstandardavvikene til feilene ved hver prognose h orizon, og deretter konstruere konfidensintervaller for langsiktige prognoser ved å legge til og trekke ut multipler av passende standardavvik. Hvis vi prøver et 9-glatt simpelt glidende gjennomsnitt, får vi enda jevnere prognoser og mer av en slående effekt. Gjennomsnittsalderen er nå 5 perioder 9 1 2 Hvis vi tar et 19-årig glidende gjennomsnitt, øker gjennomsnittsalderen til 10. Merk at prognosene nå ligger nede etter vendepunkter med ca 10 perioder. Hvor mye utjevning er best for denne serien Her er et bord som sammenligner deres feilstatistikk, også inkludert et 3-årig gjennomsnitt. Modell C, det 5-årige glidende gjennomsnittet, gir den laveste verdien av RMSE med en liten margin over 3 og 9-siktene, og deres andre statistikker er nesten identiske Så, blant modeller med svært like feilstatistikk, kan vi velge om vi foretrekker litt mer respons eller litt mer glatt i prognosene. Tilbake til toppen av siden. Bronse s Enkel eksponensiell utjevning eksponentielt vektet glidende gjennomsnitt. Den enkle bevegelige gjennomsnittsmodellen beskrevet ovenfor har den uønskede egenskapen som den behandler de siste k-observasjonene, like og fullstendig ignorerer alle foregående observasjoner. Intuitivt bør tidligere data diskonteres på en gradvis måte - for eksempel bør den nyeste observasjonen få litt mer vekt enn 2. siste, og den 2. siste skal få litt mer vekt enn den 3. siste, og så videre. Den enkle eksponensielle utjevning SES-modellen oppnår dette. La oss angi en utjevningskonstant et tall mellom 0 og 1 En måte å skrive modellen på er å definere en serie L som representerer det nåværende nivået, dvs. lokal middelverdi av serien som estimert fra data til nåtid. Verdien av L til tid t beregnes rekursivt fra sin egen tidligere verdi som dette. Den nåværende glatteverdien er således en interpolasjon mellom den forrige glattede verdien og den nåværende observasjonen, hvor kontrollen av nærheten til den interpolerte verdien til de mest re cent observasjon Prognosen for neste periode er bare den nåværende glatteverdien. Tilsvarende kan vi uttrykke neste prognose direkte i forhold til tidligere prognoser og tidligere observasjoner, i en hvilken som helst av følgende ekvivalente versjoner. I den første versjonen er prognosen en interpolering mellom forrige prognose og forrige observasjon. I den andre versjonen blir neste prognose oppnådd ved å justere forrige prognose i retning av den forrige feilen med en brøkdel. erroren til tid t I den tredje versjonen er prognosen en eksponentielt vektet dvs. nedsatt glidende gjennomsnitt med rabattfaktor 1.Interpoleringsversjonen av prognoseformelen er den enkleste å bruke hvis du implementerer modellen på et regneark det passer i en enkelt celle og inneholder cellehenvisninger som peker på forrige prognose, den forrige observasjon, og cellen der verdien av er lagret. Merk at hvis 1, SES-modellen er ekvivalent med en tilfeldig turmodell med trevekst Hvis 0 er SES-modellen ekvivalent med middelmodellen, forutsatt at den første glattede verdien er satt lik gjennomsnittet Tilbake til toppen av siden. Gjennomsnittsalderen for dataene i den enkle eksponensielle utjevningsprognosen er 1 relativ til den perioden som prognosen beregnes for. Dette er ikke ment å være åpenbart, men det kan enkelt vises ved å evaluere en uendelig serie. Derfor har den enkle glidende gjennomsnittlige prognosen en tendens til å ligge bak vendepunkter med ca. 1 perioder. For eksempel når 0 5 Laget er 2 perioder når 0 2 Laget er 5 perioder når 0 1 Laget er 10 perioder, og så videre. For en gitt gjennomsnittsalder, dvs. mengdeforsinkelse, er den enkle eksponensielle utjevning SES-prognosen noe bedre enn den enkle bevegelsen gjennomsnittlig SMA-prognose fordi den plasserer relativt mer vekt på den siste observasjonen - det er litt mer lydhør overfor endringer som skjedde i nyere tid. For eksempel har en SMA-modell med 9 vilkår og en SES-modell med 0 2 begge en gjennomsnittlig alder av 5 for da ta i sine prognoser, men SES-modellen legger mer vekt på de siste 3 verdiene enn SMA-modellen, og samtidig gliser den ikke helt over verdier som er mer enn 9 perioder gamle, som vist i dette diagrammet. En annen viktig fordel ved SES-modellen over SMA-modellen er at SES-modellen bruker en utjevningsparameter som er kontinuerlig variabel, slik at den enkelt kan optimaliseres ved å bruke en solveralgoritme for å minimere gjennomsnittlig kvadratfeil. Den optimale verdien av SES-modellen for denne serien viser seg å være 0 2961, som vist her. Gjennomsnittlig alder av dataene i denne prognosen er 1 0 2961 3 4 perioder, noe som ligner på et 6-rent simpelt gjennomsnitt. De langsiktige prognosene fra SES-modellen er en horisontal rettlinje som i SMA-modellen og den tilfeldige turmodellen uten vekst. Vær imidlertid oppmerksom på at konfidensintervallene som beregnes av Statgraphics, divergerer nå på en rimelig måte, og at de er vesentlig smalere enn konfidensintervaller for rand om gangmodellen SES-modellen antar at serien er noe mer forutsigbar enn den tilfeldige turmodellen. En SES-modell er egentlig et spesielt tilfelle av en ARIMA-modell, slik at den statistiske teorien om ARIMA-modeller gir et godt grunnlag for å beregne konfidensintervall for SES-modell Spesielt er en SES-modell en ARIMA-modell med en ikke-sesongforskjell, en MA 1-term, og ingen konstant term, ellers kjent som en ARIMA 0,1,1-modell uten konstant. MA 1-koeffisienten i ARIMA-modellen tilsvarer kvantum 1 i SES-modellen For eksempel, hvis du passer på en ARIMA 0,1,1 modell uten konstant til serien analysert her, viser den estimerte MA 1-koeffisienten seg å være 0 7029, som nesten er nesten en minus 0 2961. Det er mulig å legge til grunn for en ikke-null konstant lineær trend på en SES-modell. For å gjøre dette, bare angi en ARIMA-modell med en ikke-soneforskjell og en MA 1-term med en konstant, dvs. en ARIMA 0,1,1 modell med konstant De langsiktige prognosene vil da har en trend som er lik den gjennomsnittlige trenden observert over hele estimeringsperioden. Du kan ikke gjøre dette i forbindelse med sesongjustering, fordi sesongjusteringsalternativene er deaktivert når modelltypen er satt til ARIMA. Du kan imidlertid legge til en konstant lang langsiktig eksponensiell trend til en enkel eksponensiell utjevningsmodell med eller uten sesongjustering ved å benytte inflasjonsjusteringsalternativet i prospektprosedyren. Den aktuelle inflasjonsprosentveksten per periode kan estimeres som hellingskoeffisienten i en lineær trendmodell som er montert på dataene i sammen med en naturlig logaritme transformasjon, eller det kan være basert på annen uavhengig informasjon om langsiktige vekstutsikter. Tilbake til toppen av siden. Brett s Lineær, dvs. dobbel eksponensiell utjevning. SMA-modellene og SES-modellene antar at det ikke er noen trend av noe som helst i dataene som vanligvis er OK eller i det minste ikke for dårlig for 1-trinns prognoser når dataene er relativt nei sy, og de kan endres for å inkorporere en konstant lineær trend som vist over. Hva med kortsiktige trender Hvis en serie viser en varierende veksthastighet eller et syklisk mønster som skiller seg klart ut mot støyen, og hvis det er behov for å prognose mer enn 1 år framover, kan estimering av en lokal trend også være et problem. Den enkle eksponensielle utjevningsmodellen kan generaliseres for å oppnå en lineær eksponensiell utjevning av LES-modell som beregner lokale estimater av både nivå og trend. Den enkleste tidsvarierende trenden modellen er Brown s lineær eksponensiell utjevningsmodell, som bruker to forskjellige glatte serier som er sentrert på forskjellige tidspunkter. Forutsigelsesformelen er basert på en ekstrapolering av en linje gjennom de to sentrene. En mer sofistikert versjon av denne modellen, Holt s, er diskuteres nedenfor. Den algebraiske formen av Browns lineære eksponensielle utjevningsmodell, som for den enkle eksponensielle utjevningsmodellen, kan uttrykkes i en rekke forskjellige, men e kvivalente former Standardformen til denne modellen uttrykkes vanligvis som følger. La S betegne den enkeltglattede serien som er oppnådd ved å anvende enkel eksponensiell utjevning til serie Y Det er verdien av S ved period t gitt av. Husk at under enkel eksponensiell utjevning ville dette være prognosen for Y ved periode t 1 Så la S betegne den dobbeltslettede serien oppnådd ved å anvende enkel eksponensiell utjevning ved å bruke det samme til serie S. Til slutt er prognosen for Y tk for noen k 1, gis av. Dette gir e 1 0, dvs lurer litt, og la den første prognosen ligne den faktiske første observasjonen, og e 2 Y 2 Y 1 hvoretter prognosene genereres ved hjelp av ligningen over. Dette gir de samme monterte verdiene som formelen basert på S og S dersom sistnevnte ble startet med S 1 S 1 Y 1 Denne versjonen av modellen brukes på neste side som illustrerer en kombinasjon av eksponensiell utjevning med sesongjustering. Helt s lineær eksponensiell utjevning. s LES-modellen beregner lokale estimater av nivå og trend ved å utjevne de siste dataene, men det faktum at det gjør det med en enkelt utjevningsparameter, stiller en begrensning på datamønstrene som det er i stand til å passe nivået og trenden, ikke tillates å variere ved uavhengige priser Holt s LES-modellen løser dette problemet ved å inkludere to utjevningskonstanter, en for nivået og en for trenden. På et hvilket som helst tidspunkt t, som i Browns modell, er det et estimat L t på lokalt nivå og et estimat T t av den lokale trenden Her beregnes de rekursivt fra verdien av Y observert ved tid t og de forrige estimatene av nivået og trenden ved to likninger som gjelder eksponensiell utjevning til dem separat. Hvis estimert nivå og trend ved tid t-1 er henholdsvis L t 1 og T t 1, vil prognosen for Y t som ville vært blitt gjort på tidspunktet t-1 være lik L t-1 T t 1 Når den virkelige verdien observeres, vil det oppdaterte estimatet av nivå beregnes rekursivt ved å interpolere mellom Y t og dets prognose, L t-1 T t-1, med vekt på og 1. Forandringen i estimert nivå, nemlig L t L t 1, kan tolkes som en støyende måling av trend på tiden t Det oppdaterte estimatet av trenden beregnes deretter rekursivt ved å interpolere mellom L t L t 1 og det forrige estimatet av trenden, T t-1 ved bruk av vekt og 1.Tolkningen av trend-utjevningskonstanten er analog med den for nivåutjevningskonstanten. Modeller med små verdier antar at trenden endrer seg bare veldig sakte over tid, mens modeller med større antar at det endrer seg raskere. En modell med en stor mener at den fjerne fremtiden er veldig usikker, fordi feil i trendestimering blir ganske viktig når prognose mer enn en periode fremover. Tilbake til toppen av side. Utjevningskonstantene og kan estimeres på vanlig måte ved å minimere den gjennomsnittlige kvadriske feilen i 1-trinns prognosene. Når dette gjøres i Statgraphics, viser estimatene seg å være 0 3048 og 0 008. Den svært små verdien av betyr at modellen antar svært liten endring i trenden fra en periode til den neste. Så i utgangspunktet prøver denne modellen å estimere en langsiktig trend. I analogi med begrepet gjennomsnittlig alder av dataene som brukes til estimering av t Han lokale nivå av serien, er gjennomsnittsalderen for dataene som brukes til å estimere den lokale trenden, proporsjonal med 1, men ikke akkurat lik den. I dette tilfellet viser det sig å være 1 0 006 125 Dette er ikke veldig presis tall forutsatt at nøyaktigheten av estimatet ikke er virkelig 3 desimaler, men det er av samme generelle størrelsesorden som prøvestørrelsen på 100, så denne modellen er gjennomsnittlig over ganske mye historie i estimering av trenden. Prognosen nedenfor viser at LES-modellen anslår en litt større lokal trend på slutten av serien enn den konstante trenden som er estimert i SES-trendmodellen. Den estimerte verdien er nesten identisk med den som oppnås ved å montere SES-modellen med eller uten trend , så dette er nesten den samme modellen. Nå ser disse ut som rimelige prognoser for en modell som skal estimere en lokal trend. Hvis du eyeball denne plottet, ser det ut som om den lokale trenden har vendt nedover på slutten av serie Wh ved har skjedd Parametrene til denne modellen har blitt estimert ved å minimere den kvadratiske feilen i 1-trinns prognoser, ikke langsiktige prognoser, i hvilket tilfelle trenden ikke gjør stor forskjell. Hvis alt du ser på er 1 Forsinkede feil ser du ikke det større bildet av trender over si 10 eller 20 perioder. For å få denne modellen mer i tråd med vår øyeeball-ekstrapolering av dataene, kan vi manuelt justere trend-utjevningskonstanten slik at den bruker en kortere basislinje for trendestimering. For eksempel, hvis vi velger å angi 0 1, er gjennomsnittsalderen for dataene som brukes til å estimere den lokale trenden 10 perioder, noe som betyr at vi gjennomsnittsverdi trenden over de siste 20 perioder eller så Her ser prognoseplottet ut om vi stiller 0 1 mens du holder 0 3 Dette ser intuitivt rimelig ut på denne serien, selv om det er sannsynligvis farlig å ekstrapolere denne trenden mer enn 10 perioder i fremtiden. Hva med feilstatistikken Her er en modell sammenligning f eller de to modellene som er vist ovenfor, samt tre SES-modeller. Den optimale verdien av SES-modellen er ca. 0 3, men tilsvarende resultater med litt mer eller mindre respons er henholdsvis oppnådd med 0 5 og 0 2. En Holt s lineær utglatting med alfa 0 3048 og beta 0 008. B Holt s lineær utjevning med alfa 0 3 og beta 0 1. C Enkel eksponensiell utjevning med alfa 0 5. D Enkel eksponensiell utjevning med alfa 0 3. E Enkel eksponensiell utjevning med alfa 0 2.De statistikkene er nesten identiske, slik at vi virkelig ikke kan velge på grunnlag av 1-trinns prognosefeil i dataprøven. Vi må falle tilbake på andre hensyn. Hvis vi sterkt tror at det er fornuftig å basere dagens trendoverslag over hva som har skjedd i løpet av de siste 20 perioder, kan vi gjøre et tilfelle for LES-modellen med 0 3 og 0 1 Hvis vi vil være agnostiker om det er en lokal trend, kan en av SES-modellene være enklere å forklare og vil også gi mer middl e-of-the-road prognoser for de neste 5 eller 10 periodene. Tilbake til toppen av siden. Hvilken type trend-ekstrapolering er best horisontal eller lineær? Empiriske bevis tyder på at hvis dataene allerede er justert om nødvendig for inflasjon, så Det kan være uhensiktsmessig å ekstrapolere kortsiktige lineære trender veldig langt inn i fremtiden. Trender som tyder på i dag, kan løsne seg i fremtiden på grunn av ulike årsaker som forverring av produkt, økt konkurranse og konjunkturnedganger eller oppgang i en bransje. Derfor er enkel eksponensiell utjevning utføres ofte bedre ut av prøven enn det ellers kunne forventes, til tross for den naive horisontale trendenes ekstrapolering. Dampede trendmodifikasjoner av den lineære eksponensielle utjevningsmodellen brukes også i praksis til å introdusere en konservatismeddel i dens trendfremskrivninger. Den dempede trenden LES-modellen kan implementeres som et spesielt tilfelle av en ARIMA-modell, spesielt en ARIMA 1,1,2-modell. Det er mulig å beregne konfidensintervall arou nd langsiktige prognoser produsert av eksponentielle utjevningsmodeller, ved å betrakte dem som spesielle tilfeller av ARIMA-modeller Pass på at ikke alle programmer beregner konfidensintervall for disse modellene riktig. Bredden på konfidensintervaller avhenger av RMS-feilen i modellen, ii typen av utjevning enkel eller lineær iii verdien av utjevningskonstanten s og iv antall perioder fremover du progniserer Generelt sprer intervallene raskere som blir større i SES-modellen, og de sprer seg mye raskere når de er lineære i stedet for enkle utjevning er brukt Dette emnet blir diskutert videre i ARIMA-modellene i notatene. Gå tilbake til toppen av siden. exponentia l flytte gjennomsnittlig trinnrespons fpga. Jeg har et problem med filteret mitt, det eksponentielle vektede glidende gjennomsnittlige filteret IIR-ordren. Fra boken Forståelse digital signalbehandling Lyons Richard Jeg har følgende formel som beregner 3dB-frekvensen fc fra alpha Alpha er parameteren for å styre filteret. fferential ligning for filter ynxn alfa 1 - alfa y n-1.Relasjon mellom fc og alfa alfa cos 2fc fs - 1 sqrt cos 2fc fs - 4 cos 2fc fs 3.Hvis jeg nå velger en 3dB-frekvens på 0,0794Hz tidskonstant TC 2s alpha 0,00169621 fs 94Hz. For et IIR-filter 1ste ordre er stigningstiden for trinnresponsen fra 10 til 90 ta 2,2 TC som resulterer i ta 4,4. Men hvis jeg simulerer trinnsvaret mitt, stiger min stigning tiden er omtrent 3 ganger av denne verdien ved 14 år. Jeg kan ikke forklare hvorfor trinnresponsen av filteret varierer så mye. For mitt bevegelige gjennomsnittsfilter er den beregnede og simulerte stigeriden lik. Jeg har vi som utføres på FPGA vedlagt kanskje noen kan finne en feil. se også alfa-filter eller RC-filter. Er samplingsfrekvensen fs riktig Hvis sløyfetidspunktet ikke stemmer overens, ville det forklare det. Din datatyper ser bra ut til å få alfa innen 1 Men jeg vil foreslå en mindre endring i gjennomføringen Som det står , er det litt utsatt for avrunding, fordi 1-alfa blir gjentatte ganger multiplisert med y n-1 En litt mer pålitelig metode er å si ny n-1 alfa xn - y n-1 Forskjellen er subtil, men gir meg bedre resultater mange ganger Og det eliminerer en multiplikasjon. Forresten, tolk nummeret gjør det samme som konverteringen fra FXP til bool da tilbake. Det er litt mindre forvirrende, skjønt. Jeg er litt forvirret av den tidsbestemte sløyfen som aldri looper Betyr det timing på den måten jeg antok det ville ikke, så aldri brukt det jeg bruker Loop Timer i stedet. CLD Bruker siden rev 8 6.Message 2 of 13 1.087 Views. Re exponentia l beveger gjennomsnittlig trinnrespons fpga. 10-01-2015 02 05 - redigert 10-01-2015 02 17 AM. thanks for your answer.1, jeg beviser min prøvetakingsfrekvens med sløyfetimeren Min inngang er 425 532 ticks som er lik.94 Hz Dette kryssfrekvensen er bekreftet av flått EWMA. - Kanskje noen kan teste koden og fortelle meg.2, jeg fant tilnærmingen din i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden å drive litt Jeg er ganske ny i dette området. Er det en ny fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen samme.3. Hvis jeg bare bithift, er jeg snill en vant til denne metoden. Ikke sikker på om reinterprate-funksjonen bruker mindre ressurser. Men takk for at du noterte det.4. Den tidsbestemte sløyfen detererer hver 425 532 flått én gang. Med en frekvens på 94Hz beregnes en verdi av koden, da koden inne i den tidsbestemte sløyfen bare trenger en iterasjon. Eller Jeg misforstår spørsmålet ditt. Jeg er ikke sikker på hvilke ytterligere opplysninger du trenger, jeg prøver å sammenligne trinnresponsen av et bevegelige gjennomsnitt med et eksponentielt glidende gjennomsnitt EWMA Egentlig vil jeg bare bekrefte teorien Som nevnt ovenfor for å få en tidskonstant på 2s ved en samplingsfrekvens på 94Hz, må alfa være 0,00169 Stigningen Tidspunktet for trinnresponsen fra 10 til 90 av den endelige verdien avviker fra teorienes stigningstid skal være 4,4s med tidskonstant 2s, men jeg får nesten 14s hvis jeg kjører koden min på FPGA. Jeg bekreftet at med alpha 0,00169 , koden min tar 1297samples for å komme fra 0,1 til 0,9 endelige verdien er 1, start verdi 0. Som du kan se i koden, sjekker jeg looptiden med indikatoren ticks ewma for å bekrefte samplingsfrekvensen til SCTL. Kan noen andre bekrefte de 1297samplesene som trengs for alpha 0,00169 Fordi jeg tror at jeg trenger for mange prøver for å nå 0,9-verdien. Jeg har allerede implementert den foreslåtte EWMA-versjonen fra det første svaret. Det samme problemet her. Les mer 5. av 13 1.037 Views. Re exponentia l beveger gjennomsnittlig trinnrespons fpga. 10-01-2015 08 13:00 - redigert 10-01-2015 08 15 AM.1, jeg beviser min prøvetakingsfrekvens med sløyfetimeren Min inngang er 425 532 ticks som er lik 94,4 Hz Dette kryssfrekvensen er bekreftet av flått EWMA ... Kanskje noen kan teste koden og fortelle meg.2, jeg fant tilnærmingen din i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden kjører litt, jeg er ganske ny i dette området. Er det en ny fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen samme.3. Hvis jeg bare bithift, er jeg snill en vant til denne metoden. Ikke sikker på om reinterprate-funksjonen bruker mindre ressources But thanks for noting it.4, The timed loop iterates every 425 532 ticks one time So with a frequency of 94Hz a value is computed by the code as the code inside of the timed loop only needs one iteration Or am I missunderstanding your question. I used a spreadsheet to simulate, and get almost exactly the same response 12 99 cycles to go from 0 1 to 0 9 Spreadsheets make a handy tool for testing calculations.1 Okay I ve never used the Single-Cycle-Timed-Loop SCTL with the T written to the stop It would force the math functions to be single-cycle, but I m not sure if that is any advantage I just wanted to make sure the time was confirmed, and it is.2 The round-off drifting probably won t show up unless your input is small less than 0 1 I see now that you have 40 bits 39 right of the decimal for the feedback That takes quite a bit of FPGA to multiply, but won t have round-off issues Other parts only had 18 bits 17 right of the decimal , so alpha 0 00169 - 000007 times an input of 0 1 would have been 0 000169 - 0 000007, or 7 error But that multiply is also 40 bit, so you shouldn t see any problems. Typically, the output y n has fewer bits, and will round off at the last bit But because it is in a loop multiplying by 1-alpha each time, the round-off is sometimes accumulates each loop untill it is large enou gh to affect the add s results It s hard to explain, but my general rule of thumb is that I expect an error equal to the smallest bit divided by alpha, using the original method, or about half that usint the one-multiply method. The responses will be almost identical, except for a small difference The biggest advantage is saving FPGA space and compile time And you can reduce your number of bits quite a bit to save even more.3 They are basically identical And both methods are free in FPGA The bits aren t changed, so no logic is needed they are simply relabeled.4 I think you answered it well. Generally, at this point, I would adjust alpha till my results matched what I wanted, and move on I hate not understanding a mismatch, but don t usually have time to dive into it. But, for the sake of science, let s consider that your formula may be flawed I think you may be using a formula for a continuous exponential decay e - t tau , not for a discrete exponential decay 1-alpha i It s easier to look at this as a step function from 1 to 0 In that case, y n for n 0 is y n 1-alpha n We can find n for y n 0 9, as n log 1-alpha 0 9 62, and n for y n 0 1, as 1361, for a difference of 1299. CLD User since rev 8 6.thank you for your detailed answer. Concerning the issue with the rise time, I think I found the error You might be right that the formula is not correct, or what is more probably misunderstood by me and set in the wrong context. When I was cycling home from work I remembered a handy function of labview smoothing filter Here you only have to set tau TC and fs and it calculates nominator and denominator for exponential moving average and moving average As the nominator is alpha I could compare the result to the formula I used and there was quite a difference Labview uses the following formula alpha 1-exp -1 fs TC With this formula TC 2s is equal to alpha 0,0053.And with this alpha my simulation works Risetime 4,4s. Quoting you Generally, at this point, I would adjust alpha till my r esults matched what I wanted, and move on I would love to do the same, but as this is my master thesis I have to solve such things. Now back to the rounding issues I understand, that small values are a bigger problem As this filter is used in a Lock In, the values are going to be REALLY small But I already tested it on our measuring device and it works, therefor I am going to test your version as well, but if I dont get problems, I guess I keep it at 40bits Simulating the following setup caused an error of 2 3 Using 57 bits reduced the error to under 1 I think 40bits should be enough. And regarding the ressources I have no worries Although using a myrio in the end I still have a lot of DSP Slices for the multiplication and 10 free FlipFlops. So I guess this topic is solved Thanks for your great help and interesting thoughts. Cool I m glad it s working, now. I grew up in the era with no DSP slices in FPGAs, and smaller cell counts, so still tend to think in those terms I still prefer to spen d 25 minutes programming to get my compile times down, though I ve had cases where I cut compile time from 90 minutes to 45 minutes by optimizing quite a bit With a powerful server for compiling, that s less important. One of those optimizations is to reduce bit counts where I can, especially for multiplies For example, alpha is 16 0, and for 0 0053, you could also use 12 -4 negative integer count You may also be able to eliminate a lot of upper bits from your input 5 minutes to pick the smallest bit-count can easily save 2-10 minutes for every compile. My second optimization is to reduce multiplies, but with a DSP slice, that s not that important I can t find good documentation about the DSP slices if you have some, please post links , but as I understand it, if you multiply larger numbers bit counts , it needs multiple slices, and maybe time to combine the results. And one more trick pick an alpha with a simple binary value, like 1 256 you picked about 1 189 , and change fs until you ge t the smoothing you want Then use a constant for alpha Multiply by a constant 1 256 is free in the FPGA it just shifts the bits. For that matter, making alpha constant may optimize the multiplies quite a bit Depending on the smarts of the optimizer, it may change it to a set of adders instead Front panel inputs are great for getting things to work, but constants optimize MUCH better. CLD User since rev 8 6.If you average 16 times as many samples fs 16x what it was , you should include 4 more bits in your feedback You already have pleanty, so that may not be important unless you go much faster Otherwise, increasing fs is probably good. If the input has low-frequency noise, over sampling doesn t help eliminate that at all High-frequency noise, though, does reduce with over-sampling If, for example, the noise above 10Hz is -5dB that is 10 - 5 times the amplitude of the signal you like , and you sample at 20S s, you will probably pick up -5dB in your initial readings If your -3dB fc is also 10Hz, then you ll end up with around -8dB noise left in your signal If you instead take 200S s, average groups of 10, then pass those averages to the filter, you won t help noise at 10Hz you were measuring 10Hz noise with no sampling effects , but will reduce noise above 100Hz by about a factor of close to but not really 10.There are entire semester-long classes that discuss why, how , etc The short version is this Each sample is the sum of the signal you want and noise If you add 10 samples, you get 10x the signal you want, and the sum of 10 noise The nature of the noise determines what you get when you add the 10 samples of noise Gaussian noise adds one way something like if 83 of samples are below X, the sum has 83 sums below 1 1X, or something like that Linear noise adds another way And repeating patterns add another way So, without knowing exactly what the noise is, no one can answer you with certainty, except that averaging multiple samples probably helps, and almost never hurts. There is also the issue of aliasing If you have a sine interferance of 60Hz, at -3dB, and you sample at 10 001S s always assume the clocks wont match presicely , you will get something like 0 006Hz at -3dB added to your signal, and your filter won t remove it But bumping your sample rate to 100 001S s, will put the interference at about 40Hz, so your filter should eliminate it. Averagi ng 10 samples at a time is a type of filter box If you look at it in a frequency domain, you can see that some higher frequencies get shifted to lower frequencies in an odd way, and not all are reduced If you average 4000 S s, 100 at a time, you ll get an average 40 times per second With 60Hz interference, you will get about 1 3 as much noise, shifted to 20Hz, which won t filter as well as 60Hz would have. So, it would be better to use the EWMA filter at the higher sample rate than to average blocks of inputs, then filter that And averaging is probably better than just using a slower sample rate. If you have an input adapter with built-in electronic filters, that s even better, and there is no need to sample more than 2X the filter s frequency. CLD User since rev 8 6.

No comments:

Post a Comment