Monday 16 October 2017

Labview Eksponentiell Moving Average


Beregning av flytende gjennomsnitt Denne VI beregner og viser det bevegelige gjennomsnittet, ved hjelp av et forhåndsvalgt nummer. For det første initierer VI to skiftregister. Toppskiftregisteret initialiseres med ett element, og legger kontinuerlig den forrige verdien med den nye verdien. Dette skiftregisteret beholder summen av de siste x-målingene. Etter å ha delt resultatene av add-funksjonen med den forvalgte verdien, beregner VI VI den bevegelige gjennomsnittsverdien. Bunnskiftregisteret inneholder en matrise med dimensjonen Gjennomsnitt. Dette skiftregisteret holder alle verdier av målingen. Byttefunksjonen erstatter den nye verdien etter hver løkke. Denne VI er veldig effektiv og rask fordi den bruker erstatningselementfunksjonen i løpet av mens sløyfen, og den initialiserer oppstillingen før den går inn i sløyfen. Denne VI ble opprettet i LabVIEW 6.1. Bookmark amp ShareMoving gjennomsnittlige og eksponentielle utjevningsmodeller Som et første skritt i å bevege seg utover gjennomsnittlige modeller, kan tilfeldige gange modeller, og lineære trendmodeller, nonseasonal mønstre og trender ekstrapoleres ved hjelp av en glidende eller utjevningsmodell. Den grunnleggende forutsetningen bak gjennomsnittlige og utjevningsmodeller er at tidsseriene er lokalt stasjonære med et sakte varierende middel. Derfor tar vi et flytende (lokalt) gjennomsnitt for å anslå dagens verdi av gjennomsnittet, og deretter bruke det som prognosen for nær fremtid. Dette kan betraktes som et kompromiss mellom den gjennomsnittlige modellen og den tilfeldige-walk-uten-drift-modellen. Den samme strategien kan brukes til å estimere og ekstrapolere en lokal trend. Et glidende gjennomsnitt kalles ofte en quotsmoothedquot-versjon av den opprinnelige serien, fordi kortsiktig gjennomsnittsverdi medfører utjevning av støtene i den opprinnelige serien. Ved å justere graden av utjevning (bredden på det bevegelige gjennomsnittet), kan vi håpe å finne en slags optimal balanse mellom ytelsen til de gjennomsnittlige og tilfeldige turmodellene. Den enkleste typen gjennomsnittlig modell er. Enkel (likevektet) Flytende gjennomsnitt: Værvarselet for verdien av Y på tidspunktet t1 som er laget på tidspunktet t, er det enkle gjennomsnittet av de nyeste m-observasjonene: (Her og andre steder vil jeg bruke symbolet 8220Y-hat8221 til å stå for en prognose av tidsserien Y som ble gjort så tidlig som mulig ved en gitt modell.) Dette gjennomsnittet er sentrert ved period-t (m1) 2, noe som innebærer at estimatet av det lokale middel vil ha en tendens til å ligge bak den sanne verdien av det lokale gjennomsnittet med ca. (m1) 2 perioder. Således sier vi at gjennomsnittsalderen for dataene i det enkle glidende gjennomsnittet er (m1) 2 i forhold til perioden for prognosen beregnes. Dette er hvor lang tid det vil være å prognostisere prognoser bak vendepunkter i dataene . For eksempel, hvis du er i gjennomsnitt de siste 5 verdiene, vil prognosene være omtrent 3 perioder sent i å svare på vendepunkter. Merk at hvis m1, den enkle glidende gjennomsnittlige (SMA) modellen er lik den tilfeldige turmodellen (uten vekst). Hvis m er veldig stor (sammenlignbar med lengden på estimeringsperioden), svarer SMA-modellen til den gjennomsnittlige modellen. Som med hvilken som helst parameter i en prognosemodell, er det vanlig å justere verdien av k for å oppnå den beste kvote kvoten 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 kan vi prøve å passe den med en tilfeldig walk-modell, noe som tilsvarer et enkelt bevegelige gjennomsnitt på 1 sikt: Den tilfeldige turmodellen reagerer veldig raskt på endringer i serien, men i så måte velger den mye av kvotenivået i data (tilfeldige svingninger) samt quotsignalquot (det lokale gjennomsnittet). Hvis vi i stedet prøver et enkelt glidende gjennomsnitt på 5 termer, får vi et smidigere sett med prognoser: Det 5-tiden enkle glidende gjennomsnittet gir betydelig mindre feil enn den tilfeldige turmodellen i dette tilfellet. Gjennomsnittsalderen for dataene i denne prognosen er 3 ((51) 2), slik at den har en tendens til å ligge bak vendepunktene med tre perioder. (For eksempel ser det ut til at en nedtur har skjedd i perioden 21, men prognosene vender seg ikke til flere perioder senere.) Legg merke til at de langsiktige prognosene fra SMA-modellen er en horisontal rettlinje, akkurat som i tilfeldig gang modell. 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, er prognosene fra SMA-modellen lik et veid gjennomsnitt av de siste verdiene. De konfidensgrenser som beregnes av Statgraphics for de langsiktige prognosene for det enkle glidende gjennomsnittet, blir ikke større da prognoseperioden øker. Dette er åpenbart ikke riktig. Dessverre er det ingen underliggende statistisk teori som forteller oss hvordan konfidensintervallene skal utvide seg for denne modellen. Det er imidlertid ikke så vanskelig å beregne empiriske estimater av konfidensgrensene for lengre horisontprognoser. For eksempel kan du sette opp et regneark der SMA-modellen skulle brukes til å prognose 2 trinn foran, 3 trinn fremover, etc. i den historiske dataprøven. Du kan deretter beregne utvalgsstandardavvikene til feilene i hver prognosehorisont, og deretter konstruere konfidensintervaller for langsiktige prognoser ved å legge til og trekke ut multipler av riktig standardavvik. Hvis vi prøver et 9-sikt enkelt glidende gjennomsnitt, får vi enda jevnere prognoser og mer av en bremseeffekt: Gjennomsnittsalderen er nå 5 perioder (91) 2). Hvis vi tar et 19-årig glidende gjennomsnitt, øker gjennomsnittsalderen til 10: Legg merke til at prognosene nå faller bakom vendepunkter med ca 10 perioder. Hvilken mengde utjevning er best for denne serien Her er et bord som sammenligner feilstatistikken sin, også et gjennomsnitt på tre sikt: Modell C, 5-års glidende gjennomsnitt, gir den laveste verdien av RMSE med en liten margin over 3 term og 9-sikt gjennomsnitt, 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.) Browns Simple Exponential Smoothing (eksponentielt vektet glidende gjennomsnitt) Den enkle glidende 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 mer gradvis måte - for eksempel bør den siste 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 945 betegne en quotsmoothing constantquot (et tall mellom 0 og 1). En måte å skrive modellen på er å definere en serie L som representerer dagens nivå (dvs. lokal middelverdi) av serien som estimert fra data til nå. Verdien av L ved tid t beregnes rekursivt fra sin egen tidligere verdi slik: Således er den nåværende glattede verdien en interpolering mellom den forrige glattede verdien og den nåværende observasjonen, hvor 945 styrer nærheten til den interpolerte verdien til den nyeste observasjon. Forventningen for neste periode er bare den nåværende glatte verdien: Tilsvarende kan vi uttrykke neste prognose direkte i forhold til tidligere prognoser og tidligere observasjoner, i en hvilken som helst av de tilsvarende versjoner. I den første versjonen er prognosen en interpolasjon mellom forrige prognose og tidligere observasjon: I den andre versjonen blir neste prognose oppnådd ved å justere forrige prognose i retning av den forrige feilen med en brøkdel av 945. Er feilen gjort ved tid t. I den tredje versjonen er prognosen et eksponentielt vektet (dvs. nedsatt) glidende gjennomsnitt med rabattfaktor 1-945: Interpolasjonsversjonen av prognoseformelen er den enkleste å bruke hvis du implementerer modellen på et regneark: det passer inn i en enkeltcelle og inneholder cellehenvisninger som peker på forrige prognose, forrige observasjon og cellen der verdien av 945 er lagret. Merk at hvis 945 1 er SES-modellen tilsvarer en tilfeldig turmodell (uten vekst). Hvis 945 0 er SES-modellen ekvivalent med den gjennomsnittlige modellen, forutsatt at den første glattede verdien er satt lik gjennomsnittet. (Gå tilbake til toppen av siden.) Gjennomsnittsalderen for dataene i prognosen for enkel eksponensiell utjevning er 1 945 i forhold til perioden for prognosen beregnes. (Dette skal ikke være åpenbart, men det kan enkelt vises ved å vurdere en uendelig serie.) Derfor har den enkle, glidende gjennomsnittlige prognosen en tendens til å ligge bak vendepunktene med rundt 1 945 perioder. For eksempel, når 945 0,5 lag er 2 perioder når 945 0.2 lag er 5 perioder når 945 0,1 lag er 10 perioder, og så videre. For en gitt gjennomsnittlig alder (det vil si mengden lag), er prognosen for enkel eksponensiell utjevning (SES) noe bedre enn SMA-prognosen (Simple Moving Average) fordi den legger relativt mer vekt på den siste observasjonen - dvs. det er litt mer quotresponsivequot for endringer som oppstod i den siste tiden. For eksempel har en SMA-modell med 9 vilkår og en SES-modell med 945 0,2 begge en gjennomsnittlig alder på 5 for dataene i prognosene, men SES-modellen legger mer vekt på de siste 3 verdiene enn SMA-modellen og ved Samtidig er det ikke 8220forget8221 om verdier som er mer enn 9 år 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 lett kan optimaliseres ved å bruke en quotsolverquot-algoritme for å minimere den gjennomsnittlige kvadratfeilen. Den optimale verdien av 945 i SES-modellen for denne serien viser seg å være 0,2961, som vist her: Gjennomsnittsalderen for dataene i denne prognosen er 10,2961 3,4 perioder, noe som ligner på et 6-sikt enkelt glidende gjennomsnitt. De langsiktige prognosene fra SES-modellen er en horisontal rett linje. 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 konfidensintervallene for den tilfeldige turmodellen. SES-modellen antar at serien er noe mer forutsigbar enn den tilfeldige turmodellen. En SES-modell er faktisk et spesielt tilfelle av en ARIMA-modell. slik at den statistiske teorien om ARIMA-modeller gir et solid grunnlag for beregning av konfidensintervall for SES-modellen. Spesielt er en SES-modell en ARIMA-modell med en ikke-sesongforskjell, en MA (1) og ikke en konstant periode. ellers kjent som en quotARIMA (0,1,1) modell uten constantquot. MA (1) - koeffisienten i ARIMA-modellen tilsvarer mengden 1-945 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 er nesten nøyaktig en minus 0,2961. Det er mulig å legge til antagelsen om en konstant lineær trend uten null som en SES-modell. For å gjøre dette oppgir du bare en ARIMA-modell med en ikke-sesongforskjell og en MA (1) - sikt med en konstant, dvs. en ARIMA-modell (0,1,1) med konstant. De langsiktige prognosene vil da ha 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 langsiktig eksponensiell trend for en enkel eksponensiell utjevningsmodell (med eller uten sesongjustering) ved å bruke inflasjonsjusteringsalternativet i prognoseprosedyren. Den aktuelle kvoteringskvoten (prosentvekst) per periode kan estimeres som hellingskoeffisienten i en lineær trendmodell som er montert på dataene i forbindelse med en naturlig logaritme transformasjon, eller det kan være basert på annen uavhengig informasjon om langsiktige vekstutsikter . (Tilbake til toppen av siden.) Browns Lineær (dvs. dobbel) Eksponensiell utjevning SMA-modellene og SES-modellene antar at det ikke er noen trend av noe slag i dataene (som vanligvis er OK eller i det minste ikke altfor dårlig for 1- trinnvise prognoser når dataene er relativt støyende), og de kan modifiseres for å inkorporere en konstant lineær trend som vist ovenfor. Hva med kortsiktige trender Hvis en serie viser en varierende vekstnivå eller et syklisk mønster som skiller seg tydelig ut mot støyen, og hvis det er behov for å prognose mer enn 1 periode 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 (LES) modell som beregner lokale estimater av både nivå og trend. Den enkleste tidsvarierende trendmodellen er Browns 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, Holt8217s, blir diskutert nedenfor.) Den algebraiske form av Brown8217s lineær eksponensiell utjevningsmodell, som den enkle eksponensielle utjevningsmodellen, kan uttrykkes i en rekke forskjellige, men liknende former. Denne standardmodellen er vanligvis uttrykt som følger: La S betegne den enkeltglattede serien som er oppnådd ved å anvende enkel eksponensiell utjevning til serie Y. Dvs. verdien av S ved period t er gitt av: (Husk at, under enkle eksponensiell utjevning, dette ville være prognosen for Y ved periode t1.) Lad deretter Squot betegne den dobbeltslettede serien oppnådd ved å anvende enkel eksponensiell utjevning (ved hjelp av samme 945) til serie S: Endelig prognosen for Y tk. for noe kgt1, er gitt av: Dette gir e 1 0 (det vil si lure litt, og la den første prognosen være den samme første observasjonen) og e 2 Y 2 8211 Y 1. hvoretter prognosene genereres ved å bruke ligningen ovenfor. 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. Holt8217s Lineær eksponensiell utjevning Brown8217s LES-modell 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 den kan passe: nivået og trenden er ikke tillatt å variere til uavhengige priser. Holt8217s LES-modellen løser dette problemet ved å inkludere to utjevningskonstanter, en for nivået og en for trenden. Til enhver tid t, som i Brown8217s 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 L t82091 og T t-1. henholdsvis, da var prognosen for Y tshy som ville vært gjort på tidspunktet t-1, lik L t-1 T t-1. Når den faktiske verdien er observert, beregnes det oppdaterte estimatet av nivået rekursivt ved å interpolere mellom Y tshy og dens prognose, L t-1 T t 1, med vekt på 945 og 1- 945. Forandringen i estimert nivå, nemlig L t 8209 L t82091. kan tolkes som en støyende måling av trenden på tidspunktet t. Det oppdaterte estimatet av trenden beregnes deretter rekursivt ved å interpolere mellom L t 8209 L t82091 og det forrige estimatet av trenden, T t-1. ved bruk av vekter av 946 og 1-946: Fortolkningen av trend-utjevningskonstanten 946 er analog med den for nivåutjevningskonstanten 945. Modeller med små verdier på 946 antar at trenden bare endrer seg veldig sakte over tid, mens modeller med større 946 antar at det endrer seg raskere. En modell med en stor 946 mener at den fjerne fremtiden er veldig usikker, fordi feil i trendberegning blir ganske viktig når det regnes med mer enn en periode framover. (Tilbake til toppen av siden.) Utjevningskonstantene 945 og 946 kan estimeres på vanlig måte ved å minimere gjennomsnittlig kvadratfeil i de 1-trinns prognosene. Når dette gjøres i Statgraphics, viser estimatene seg å være 945 0.3048 og 946 0.008. Den svært små verdien av 946 betyr at modellen tar 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 å estimere det lokale nivået i serien, er gjennomsnittsalderen for dataene som brukes til estimering av lokal trenden, proporsjonal med 1 946, men ikke akkurat lik den . I dette tilfellet viser det seg å være 10 006 125. Dette er et svært nøyaktig tall, forutsatt at nøyaktigheten av estimatet av 946 er virkelig 3 desimaler, men det er av samme generelle størrelsesorden som prøvestørrelsen på 100, så denne modellen er i gjennomsnitt over ganske mye historie i estimering av trenden. Prognoseplanet nedenfor viser at LES-modellen anslår en litt større lokal trend i slutten av serien enn den konstante trenden som er estimert i SEStrend-modellen. Også den estimerte verdien på 945 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 8220eyeball8221 ser dette, ser det ut som om den lokale trenden har vendt nedover på slutten av serien. Hva har skjedd Parametrene til denne modellen har blitt estimert ved å minimere den kvadriske feilen på 1-trinns prognoser, ikke langsiktige prognoser, i hvilket tilfelle trenden gjør ikke en stor forskjell. Hvis alt du ser på er 1-trinns 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 øyehals ekstrapoleringen av dataene, kan vi manuelt justere trendutjevningskonstanten slik at den bruker en kortere basislinje for trendestimering. Hvis vi for eksempel velger å sette 946 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å. Here8217s hva prognosen tomten ser ut hvis vi setter 946 0,1 mens du holder 945 0.3. Dette ser intuitivt fornuftig ut på denne serien, selv om det er sannsynlig farlig å ekstrapolere denne trenden mer enn 10 perioder i fremtiden. Hva med feilstatistikken Her er en modell sammenligning for de to modellene vist ovenfor, samt tre SES-modeller. Den optimale verdien av 945. For SES-modellen er ca. 0,3, men tilsvarende resultater (med henholdsvis litt mer responstid) oppnås med 0,5 og 0,2. (A) Holts lineær eksp. utjevning med alfa 0,3048 og beta 0,008 (B) Holts lineær eksp. 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 Deres statistikk er nesten identisk, slik at vi virkelig 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 på hva som har skjedd i løpet av de siste 20 perioder eller så, kan vi gjøre en sak for LES-modellen med 945 0,3 og 946 0,1. Hvis vi ønsker å være agnostiker om det er en lokal trend, kan en av SES-modellene være enklere å forklare, og vil også gi mer mid-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 Empirisk bevis tyder på at hvis dataene allerede er justert (om nødvendig) for inflasjon, kan det være uhensiktsmessig å ekstrapolere kortsiktig lineær 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. Av denne grunn utfører enkel eksponensiell utjevning ofte bedre ut av prøven enn det ellers kunne forventes, til tross for sin kvadratiske kvadratiske horisontal trend-ekstrapolering. Dampede trendmodifikasjoner av den lineære eksponensielle utjevningsmodellen brukes også i praksis til å introdusere en konservatismeddel i sine trendprognoser. Den demonstrede LES-modellen kan implementeres som et spesielt tilfelle av en ARIMA-modell, spesielt en ARIMA-modell (1,1,2). Det er mulig å beregne konfidensintervall rundt langsiktige prognoser produsert av eksponentielle utjevningsmodeller, ved å betrakte dem som spesielle tilfeller av ARIMA-modeller. (Pass på: ikke alle programmer beregner konfidensintervaller for disse modellene riktig.) Bredden på konfidensintervaller avhenger av (i) RMS-feilen i modellen, (ii) type utjevning (enkel eller lineær) (iii) verdien (e) av utjevningskonstanten (e) og (iv) antall perioder fremover du forutsetter. Generelt sprer intervallene raskere da 945 blir større i SES-modellen, og de sprer seg mye raskere når lineær snarere enn enkel utjevning brukes. Dette emnet blir diskutert videre i ARIMA-modellene i notatene. (Tilbake til toppen av siden.) Exponentia l glidende gjennomsnittlig trinnsvar fpga Jeg har et problem med filteret mitt, det eksponentielle vektede glidende gjennomsnittlige filteret (IIR 1.st-ordre). Fra boken: Forståelse av digital signalbehandling (Lyons Richard) Jeg har følgende formel som beregner 3dB-frekvensen (fc) fra alfa. Alpha er parameteren for å styre filteret. Forskjellige ekvivalenter av filter: ynxnalpha (1-alfa) yn-1 Forholdet mellom fc og alpha: alpha cos (2fcfs) - 1 sqrtcos (2fcfs) - 4cos (2fcfs) 3 Hvis jeg nå velger en 3dB-frekvens på 0,0794Hz konstant (TC) 2s) alpha 0,00169621. (fs94Hz) For et IIR-filter 1ste ordre er stigningstiden (ta) av trinnresponsen (fra 10 til 90): ta2,2TC som resulterer i ta 4,4s. Men hvis jeg simulerer trinnsvaret, er min stigningstid ca 3 ganger av denne verdien på 14-årene. Jeg kan ikke forklare hvorfor trinnresponsen på filteret min varierer så mye. For mitt Moving Average-filter er den beregnede og simulerte stigeriden lik. Jeg har vi som utføres på FPGA vedlagt. Kanskje kan noen finne en feil. (se også alfa-filter eller RC-filter) Er samplingsfrekvensen (fs) riktig Hvis sløyfetidspunktet ikke samsvarer, ville det forklare det. Datatyper ser bra ut (for å få alfa innen 1). Men jeg vil foreslå en mindre endring i implementeringen. Som det står, er det litt utsatt for avrunding, fordi (1-alfa) gjentas ganger multipliseres med yn-1. En litt mer pålitelig metode er å si yn-1 (alfa (xn - yn-1)). Forskjellen er subtil, men gir meg bedre resultater mange ganger. Og det eliminerer en multiplikasjon. Forresten, tolk nummer 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 sløyfer. Involver det timing på den måten (jeg antok at det ikke ville, så aldri brukt det jeg bruker Loop Timer i stedet.) CLD Bruker siden rev 8.6. Melding 2 av 13 (1,057 Visninger) Re: exponentia l flytte gjennomsnittlig trinnsvar fpga 10-01-2015 02:05 - rediger 10-01-2015 02:17 takk for svaret ditt. 1, jeg beviser min prøvetakingsfrekvens med sløyfetimeren. Min inngang er 425.532 ticks som er lik 94 Hz. Denne tickrate er bekreftet av flått EWMA. --gt Kanskje noen kan teste koden og fortelle meg 2, jeg fant din tilnærming i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden å drive litt, jeg er ganske ny på dette området. Er det en ytterligere fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen den 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 ticks en gang. Så med en frekvens på 94Hz beregnes en verdi av koden, da koden inne i den tidsbestemte sløyfen bare trenger en iterasjon. Eller misforstår jeg spørsmålet ditt Jeg er ikke sikker på hvilke ytterligere opplysninger du trenger. Jeg prøver å sammenligne trinnresponsen til 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 av trinnresponsen fra 10 til 90 av den endelige verdien er forskjellig fra teorien. Stigningstiden skal være 4,4s med tidskonstanten 2s, men jeg får nesten 14s hvis jeg kjører koden min på FPGA. Jeg bekreftet at med alpha 0,00169 tar min kode 1297samples for å komme fra 0,1 til 0,9 (sluttverdien er 1, start verdi 0). Som du kan se i koden, kontrollerer jeg sløyfetiden med indikatoren ticks ewma for å bekrefte samplingsfrekvensen til SCTL. Kan noen andre bekrefte de 1297samplene 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. Melding 5 av 13 (1,007 Visninger) Re: exponentia l flytte gjennomsnittlig trinnsvar fpga 10-01-2015 08:13 - rediger 10-01-2015 08:15 1, jeg beviser min prøvetakingsfrekvens med loop-timeren. Min inngang er 425.532 ticks som er lik 94 Hz. Denne tickrate er bekreftet av flått EWMA. --gt Kanskje noen kan teste koden og fortelle meg 2, jeg fant din tilnærming i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden å drive litt, jeg er ganske ny på dette området. Er det en ytterligere fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen den 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 ticks en gang. Så med en frekvens på 94Hz beregnes en verdi av koden, da koden inne i den tidsbestemte sløyfen bare trenger en iterasjon. Eller misforstår jeg spørsmålet ditt Jeg brukte et regneark til å simulere, og få nesten nøyaktig samme svar (1299 sykluser å gå fra 0,1 til 0,9). Regneark gjør et praktisk verktøy for å teste beregninger. 1. Okay. Ive har aldri brukt single-cycle-timed-Loop (SCTL) med T skrevet til stoppet. Det ville tvinge matematikkfunksjonene til å være single-cycle, men jeg er ikke sikker på om det er noen fordel. Jeg ville bare sørge for at tiden ble bekreftet, og det er. 2. Den avrundede driften vil sannsynligvis ikke oppstå med mindre inntaket er lite (mindre enn 0,1). Jeg ser nå at du har 40 biter (39 høyre for desimal) for tilbakemeldingen. Det tar ganske mye FPGA å multiplisere, men vil ikke ha avrundede problemer. Andre deler hadde bare 18 biter (17 desimalhøyde), så alpha (0.00169 - .000007) ganger ville en inngang på 0,1 ha vært 0.000169 - 0.000007, eller 7 feil). Men det multipliserer er også 40 bit, så du bør ikke se noen problemer. Utgående yn har vanligvis færre biter, og vil avrunde ved siste bit. Men fordi det er i en sløyfe som multipliseres med 1-alfa hver gang, samles avrundingen noen ganger i hver sløyfe til den er stor nok til å påvirke resultatene. Det er vanskelig å forklare, men min generelle tommelfingerregel er at jeg forventer en feil som er lik den minste delen divisjonert med alfa, ved hjelp av den opprinnelige metoden, eller om lag halvparten som utelukker en-multiplikasjonsmetoden. Svarene vil være nesten identiske, bortsett fra en liten forskjell. Den største fordelen er å lagre FPGA-plass (og kompilere tid). Og du kan redusere antall biter ganske mye for å spare enda mer. 3. De er i utgangspunktet identiske. Og begge metodene er gratis i FPGA. Bittene arent endret, så ingen logikk er nødvendig, de er bare relabeled. 4. Jeg tror du svarte det bra. Vanligvis vil jeg på dette tidspunktet justere alfa til resultatene mine stemmer overens med det jeg ønsket, og fortsett. Jeg hater ikke å forstå en mismatch, men har vanligvis ikke tid til å dykke inn i den. Men, for vitenskapens skyld, kan vi vurdere at formelen din kan være feil. Jeg tror du kan bruke en formel for en kontinuerlig eksponensiell forfall (e-ttau), ikke for et diskret eksponensielt forfall ((1-alfa) i). Det er lettere å se på dette som en trinnfunksjon fra 1 til 0. I så fall er yn (for ngt0) yn (1-alfa) (n). Vi finner n for yn 0,9, som nlog1-alpha (0.9) 62, og n for yn 0,1, som 1361, for en forskjell på 1299. CLD Bruker siden rev 8.6. takk for ditt detaljerte svar. Når det gjelder problemet med stigningstiden, tror jeg jeg fant feilen. Det kan hende du har det riktig at formelen ikke er riktig, eller hva som mer sannsynligvis misforstås av meg og sett i feil sammenheng. Da jeg syklet hjem fra jobb, husket jeg en praktisk funksjon av labview: utjevning av filterkoeffisienter. vi Her må du bare sette tauTC og fs og det beregner nominator og nevner for eksponentielt glidende gjennomsnitt og glidende gjennomsnitt. Som nominatoren er alfa, kan jeg sammenligne resultatet med formelen jeg brukte, og det var ganske forskjell. Labview bruker følgende formel: alpha1-exp (-1 (fsTC)). Med denne formelen er TC2s lik alpha0,0053. Og med dette alfaet jobber min simulering Risetime 4,4s Sitere deg: Generelt, på dette tidspunktet ville jeg justere alfa til resultatene mine stemmer overens med hva jeg ønsket, og fortsett. Jeg vil gjerne gjøre det samme, men da dette er min masteroppgave, må jeg løse slike ting. Nå tilbake til avrundingsproblemer. Jeg forstår at små verdier er et større problem. Siden dette filteret brukes i Lock In, vil verdiene bli REALLY små. Men jeg har allerede testet det på vår måleenhet og det fungerer, derfor skal jeg teste din versjon også, men hvis jeg ikke får problemer, antar jeg at jeg holder den på 40bit. Simulering av følgende oppsett forårsaket en feil på 2.3. Ved å bruke 57 bits reduserte feilen til under 1. Jeg tror 40bits skal være nok. Og om ressursene har jeg ingen bekymringer. Selv om jeg bruker en myrio til slutt, har jeg fortsatt mange DSP-skiver for multiplikasjon og 10 gratis FlipFlops. Så jeg antar at dette emnet er løst. Takk for din gode hjelp og interessante tanker. Cool Im glad det jobber, nå. Jeg vokste opp i epoken uten DSP-skiver i FPGA, og mindre celle-teller, så fortsatt en tendens til å tenke i disse termer. Jeg foretrekker fortsatt å bruke 25 minutter programmering for å få min kompilere ganger nede, skjønt. Ive hadde tilfeller der jeg kuttet kompileringstid fra 90 minutter til 45 minutter ved å optimalisere ganske mye. Med en kraftig server for kompilering, det er mindre viktig. En av disse optimaliseringene er å redusere bittall hvor jeg kan, spesielt for multiplikasjoner. For eksempel er alfa 160, og for 0.0053, kan du også bruke 12-4 (negativt heltalltall). Du kan også være i stand til å eliminere mange øvre biter fra innspillet. 5 minutter å velge den minste bittellingen kan enkelt lagre 2-10 minutter for hver kompilering. Min andre optimalisering er å redusere multiplikasjoner, men med et DSP-stykke er det ikke så viktig. Jeg kan ikke finne god dokumentasjon om DSP-stykkene (hvis du har noen, vennligst legg inn linker), men som jeg forstår det, hvis du multipliserer større tall (bittall), trenger det flere skiver, og kanskje tid til å kombinere resultatene. Og enda et knep: velg en alfa med en enkel binær verdi, som 1256 (du valgte om 1189), og bytt fs til du får den utjevning du vil ha. Bruk deretter en konstant for alfa. Multiplikasjon med en konstant 1256 er ledig i FPGA (den bare skifter biter). For det saks skyld kan alfa-konstant optimalisere multipliseringen ganske mye. Avhengig av optimeringens smarts kan det endres til et sett med adders i stedet. Frontpanelinngangene er gode for å få ting til jobb, men konstanter optimaliserer mye bedre. CLD Bruker siden rev 8.6. Hvis du gjennomsnittlig 16 ganger så mange prøver (fx 16x hva det var), bør du inkludere 4 flere biter i tilbakemeldingen din. Du har allerede pleanty, så det kan ikke være viktig med mindre du går mye raskere. Ellers er økende fs trolig bra. Hvis inngangen har lavfrekvent støy, hjelper ikke over prøvetaking eliminere det i det hele tatt. Høyfrekvent støy reduserer imidlertid med over-prøvetaking. Hvis for eksempel lyden over 10Hz er -5dB (det er 10-5 ganger amplituden til signalet du liker), og du prøver på 20S, vil du sannsynligvis plukke opp -5dB i de første lesningene. Hvis din -3dB (fc) også er 10Hz, vil du ende opp med rundt -8dB støy igjen i signalet ditt. Hvis du i stedet tar 200S, gjennomsnittlig gruppe på 10, deretter passerer disse gjennomsnittene til filteret, vil du ikke hjelpe støy ved 10Hz (du måler 10Hz-lyd uten prøvetakseffekter), men vil redusere støy over 100Hz med en faktor nær ved (men egentlig ikke) 10. Det er hele semesterklasser som diskuterer hvorfor, hvordan osv. Den korte versjonen er dette: Hver prøve er summen av signalet du vil ha og støy. Hvis du legger til 10 prøver, får du 10x signalet du vil ha, og summen av 10 støy. Støys natur bestemmer hva du får når du legger til 10 støyprøver. Gaussisk støy legger til en vei (noe som helst: hvis 83 av prøvene er under X, summen har 83 summer under 1.1X, eller noe sånt). Linjær støy legger til en annen måte. Og gjentatte mønstre legger til en annen måte. Så uten å vite nøyaktig hva støyen er, kan ingen svare deg med sikkerhet, bortsett fra at gjennomsnittlig flere prøver sannsynligvis hjelper, og nesten aldri gjør vondt. Det er også spørsmålet om aliasing. Hvis du har en sinusinterferans på 60Hz, ved -3dB, og du prøver på 10.001S (alltid antar at klokkene ikke samsvarer presist), vil du få noe som 0,006Hz ved -3dB lagt til signalet ditt, og filteret vil ikke fjerne det . Men bumping samplingsfrekvensen til 100.001Ss, vil forstyrre på 40Hz, slik at filteret ditt skal eliminere det. Gjennomsnittlig 10 prøver om gangen er en type filter (boks). Hvis du ser på det i et frekvensdomene, kan du se at noen høyere frekvenser blir skiftet til lavere frekvenser på en merkelig måte, og ikke alle er redusert. Hvis du gjennomsnittlig 4000 Ss, 100 om gangen, får du et gjennomsnitt 40 ganger per sekund. Med 60Hz interferens vil du få omtrent 13 så mye støy, skiftet til 20Hz, som vil ikke filter så vel som 60Hz ville ha. Så det ville være bedre å bruke EWMA-filteret ved høyere samplingsfrekvens. enn til gjennomsnittlige blokker av innganger, så filtrer det. Og gjennomsnittlig er (sannsynligvis) bedre enn bare å bruke en langsommere samplingsfrekvens. Hvis du har en inngangskort med innebygde elektroniske filtre, det er enda bedre, og det er ikke nødvendig å prøve mer enn 2X filtrefrekvensen. CLD-bruker siden rev 8.6.Updated 12. mars 2013 Hva er RC-filtrering og eksponentiell gjennomsnittsverdi og hvordan de adskiller Svaret på den andre delen av spørsmålet er at de er samme prosess Hvis en kommer fra en elektronikkbakgrunn, så RC-filtrering (eller RC Smoothing) er det vanlige uttrykket. På den annen side har en tilnærming basert på tidsseriestatistikk navnet Exponential Averaging, eller for å bruke fullt navn Eksponentielt vektet Moving Average. Dette er også kjent som EWMA eller EMA. En viktig fordel ved metoden er enkelheten i formelen for beregning av neste utgang. Det tar en brøkdel av forrige utgang, og en minus denne brøkdel ganger gjeldende inngang. Algebraisk ved tid k er det utjevnet utgang y k gitt av Som vist senere understreker denne enkle formelen nylige hendelser, jevner ut høyfrekvensvarianter og avslører langsiktige trender. Merk at det er to former for eksponentiell gjennomsnittlig ligning, den ene over og en variant begge er riktige. Se notatene i slutten av artikkelen for mer informasjon. I denne diskusjonen vil vi bare bruke ligning (1). Ovennevnte formel er noen ganger skrevet på mer begrenset måte. Hvordan er denne formelen avledet og hva er dens tolkning Et sentralt punkt er hvordan vi velger. For å se på denne enkle måten, er å vurdere et RC-lavpasfilter. Nå er et RC lavpasfilter bare en seriemotstand R og en parallell kondensator C som illustrert nedenfor. Tidsserier ligningen for denne kretsen er Produktet RC har tidsenheter og er kjent som tidskonstanten, T. for kretsen. Anta at vi representerer ovenstående ligning i sin digitale form for en tidsserie som har data tatt hvert sekund. Vi har Dette er nøyaktig det samme som forrige ligning. Sammenligning av de to relasjonene for en vi har som reduserer til det svært enkle forholdet Derfor er valget av N styrt av hvilken tidskonstant vi valgte. Nå kan ligning (1) bli gjenkjent som et lavpassfilter, og tidskonstanten karakteriserer filterets oppførsel. For å se betydningen av Time Constant må vi se på frekvensegenskapene til dette lavpas-RC-filteret. I sin generelle form er dette Expressing i modul og fasform vi har hvor fasevinkelen er. Frekvensen kalles den nominelle kuttfrekvensen. Fysisk kan det bli vist at ved denne frekvensen er effekten i signalet redusert med en halv og amplituden reduseres av faktoren. I dB-termer er denne frekvensen hvor amplituden er redusert med 3dB. Klart som tidskonsentrasjonen T øker, så reduserer kuttfrekvensen, og vi bruker mer utjevning til dataene, det er at vi eliminerer høyere frekvenser. Det er viktig å merke seg at frekvensresponsen uttrykkes i radiansekunden. Det er at det er en faktor involvert. For eksempel å velge en tidskonstant på 5 sekunder gir en effektiv kuttfrekvens på. En populær bruk av RC-utjevning er å simulere virkningen av en måler som brukes i et lydnivåmåler. Disse er vanligvis typifisert av deres tidskonstant som 1 sekund for S-typer og 0,125 sekunder for F-typer. For disse 2 tilfellene er de effektive kuttfrekvensene henholdsvis 0,16Hz og 1,27Hz. Egentlig er det ikke den tidskonstanten vi vanligvis ønsker å velge, men de perioder vi ønsker å inkludere. Anta at vi har et signal der vi ønsker å inkludere funksjoner med en P-periode. Nå er en periode P en frekvens. Vi kunne da velge en tidskonstant T gitt av. Vi vet imidlertid at vi har mistet omtrent 30 av produksjonen (-3dB) på. Derfor er det ikke den beste ordningen å velge en tidskonstant som nøyaktig tilsvarer periodicitetene vi ønsker å beholde. Det er vanligvis bedre å velge en litt høyere kuttfrekvens, si. Tidskonstanten er da som praktisk sett ligner på. Dette reduserer tapet til rundt 15 på denne periodiciteten. Derfor i praksis å beholde hendelser med en periodighet eller større, velg deretter en tidskonstant av. Dette vil inkludere effektene av periodiciteter av ned til ca. For eksempel hvis vi ønsker å inkludere virkningen av hendelser som skjer med si en 8 sekunders periode (0.125Hz), velg en tidskonstant på 0,8 sekunder. Dette gir en kuttfrekvens på ca. 0,2 Hz, slik at vår 8 sekunders periode er godt i filterets hovedpassbånd. Hvis vi prøvde dataene ved 20 timessecond (h 0,05), er verdien av N (0,80,05) 16 og. Dette gir litt innsikt i hvordan du setter inn. I utgangspunktet for en kjent samplingsfrekvens, karakteriserer den gjennomsnittsperioden og velger hvilke høyfrekvente svingninger som vil bli ignorert. Ved å se på utvidelsen av algoritmen kan vi se at den favoriserer de nyeste verdiene, og også hvorfor det blir referert til som eksponentiell vekting. Vi har erstattet y k-1 gir Gjenta denne prosessen flere ganger fører til Fordi er i intervallet, blir det klart at vilkårene til høyre blir mindre og oppfører seg som en nedbrytende eksponensiell. Det er den nåværende produksjonen er partisk mot de nyere hendelsene, men jo større velger vi T, desto mindre forspenning. I sammendraget ser vi at den enkle formelen understreker nylige hendelser, jevner ut høyfrekvens (kort periode) hendelser avslører langsiktige trender Tillegg 1 8211 Alternative former for ligningen Forsiktig Det er to former for eksponensiell gjennomsnittlig ligning som vises i litteraturen. Begge er korrekte og likeverdige. Den første form som vist ovenfor er (A1) Den alternative form er 8230 (A2) Merk bruken av i den første ligningen og i den andre ligningen. I begge ligninger og er verdier mellom null og enhet. Tidligere ble definert som Nå å velge å definere Dermed er den alternative form for eksponentiell gjennomsnittlig ligning Fysisk sett betyr det at valget av form en bruker avhenger av hvordan man vil tenke på enten å ta som tilbakebetegnelsesfraksjonen (A1) eller som brøkdel av inngangsligningen (A2). Det første skjemaet er litt mindre besværlig når det gjelder å vise RC-filterforholdet, og fører til en enklere forståelse i filterbetingelser. Chief Signal Processing Analyst hos Prosig Dr Colin Mercer var tidligere ved Institute of Sound and Vibration Research (ISVR), University of Southampton hvor han grunnla Data Analysis Center. Han fortsatte med å finne Prosig i 1977. Colin pensjonerte som Chief Signal Processing Analyst hos Prosig i desember 2016. Han er en Chartered Engineer og en stipendiat fra British Computer Society. Jeg tror du vil endre 8216p8217 til symbolet for pi. Marco, takk for at du peker på det. Jeg tror dette er en av våre eldre artikler som er overført fra et gammelt tekstbehandlingsdokument. Åpenbart har redaktøren (meg) ikke funnet ut at pi ikke hadde blitt transkribert riktig. Det vil bli korrigert snart. it8217s en veldig god artikkelforklaring om eksponentiell gjennomsnittsverdi Jeg tror det er en feil i formelen for T. Det skal være T h (N-1), ikke T (N-1) h. Mike, takk for at du skjønner det. Jeg har nettopp sjekket tilbake til Dr Mercer8217s originale tekniske notat i vårt arkiv, og det virker som om det var feil ved overføring av ligningene til bloggen. Vi vil rette opp innlegget. Takk for at du har fortalt oss takk takk takk. Du kan lese 100 DSP tekster uten å finne noe som sier at et eksponentielt gjennomsnittlig filter er ekvivalent med et R-C filter. hmm, har du ligningen for et EMA-filter, er det ikke Yk aXk (1-a) Yk-1 i stedet for Yk aYk-1 (1-a) Xk Alan, begge formene av ligningen vises i litteraturen, og begge skjemaene er riktige som jeg vil vise nedenfor. Poenget du gjør er viktig, fordi det å bruke alternativt skjema betyr at det fysiske forholdet med et RC-filter er mindre tydelig, og det er heller ikke hensiktsmessig å tolke betydningen av en som er vist i artikkelen. La oss først vise at begge skjemaene er riktige. Formen av ligningen som jeg har brukt er, og den alternative form som vises i mange tekster, er Note i det ovennevnte jeg har brukt latex 1latex i den første ligningen og latex 2latex i den andre ligningen. Likningen av begge former av ligningen er vist matematisk under det å ta enkle trinn om gangen. Hva som ikke er det samme er verdien som brukes til latex latex i hver ligning. I begge former er latex latex en verdi mellom null og enhet. Første omskrivningsligning (1) erstatter latex 1latex med latex latex. Dette gir latexyk y (1 - beta) xklatex 8230 (1A) Definer nå latexbeta (1 - 2) latex og så har vi også latex 2 (1 - beta) latex. Ved å erstatte disse i ligning (1A) gir latexyk (1-2) y 2xklatex 8230 (1B) og til slutt re-arrangere gir. Denne ligningen er identisk med den alternative form som er gitt i ligning (2). Sett enklere latex 2 (1 - 1) latex. Fysisk sett betyr det at valg av form en bruker avhenger av hvordan man ønsker å tenke på enten å ta latexalalateks som tilbakebetegnelsesligningen (1) eller som brøkdel av inngangsligningen (2). Som nevnt ovenfor har jeg brukt det første skjemaet, da det er litt mindre besværlig å vise RC-filterforholdet, og fører til enklere forståelse i filterbetingelser. Men å unnlate det ovenstående er, etter min mening, en mangel i artikkelen som andre mennesker kan gjøre feil feil, så en revidert versjon vises snart. I8217ve lurte alltid på dette, takk for å beskrive det så klart. Jeg tror en annen grunn den første formuleringen er fin er alfa kart til 8216smoothness8217: et høyere valg av alpha betyr en 8216more smooth8217 utgang. Michael Takk for observasjon 8211 Jeg vil legge til artikkelen noe på disse linjene som det alltid er bedre i min mening å forholde seg til fysiske aspekter. Dr Mercer, Utmerket artikkel, takk. Jeg har et spørsmål angående tidskonstanten når den brukes med en rms detektor som i et lydnivåmålere som du refererer til i artikkelen. Hvis jeg bruker likningene dine til å modellere et eksponensielt filter med Time Constant 125ms og bruke et input-trinns signal, får jeg faktisk en utgang som etter 125ms er 63,2 av sluttverdien. Men hvis jeg kvitterer inngangssignalet og legger dette gjennom filteret, ser jeg at jeg må doble tidskonstanten for at signalet skal nå 63,2 av sin endelige verdi i 125ms. Kan du fortelle meg om dette er forventet. Mange takk. Ian Ian, Hvis du kvitterer et signal som en sinusbølge, så dobler du i utgangspunktet frekvensen av dens grunnleggende, så vel som introduserer mange andre frekvenser. Fordi frekvensen har blitt doblet, blir den 8216reduced8217 av en større mengde av lavpasfilteret. Følgelig tar det lengre tid å nå samme amplitude. Kvadratoperasjonen er en ikke-lineær drift, så jeg tror ikke det vil alltid doble nøyaktig i alle tilfeller, men det vil pleie å doble hvis vi har en dominerende lavfrekvens. Vær også oppmerksom på at differansen av et kvadratisk signal er to ganger differensialet av 8220un-squared8221-signalet. Jeg mistenker at du kanskje prøver å få en form for middels kvadratutjevning, som er helt greit og gyldig. Det kan være bedre å bruke filteret og deretter firkant som du vet den effektive cutoff. Men hvis alt du har er det kvadratiske signalet, så bruker du en faktor på 2 for å endre filteret ditt, vil alfa-verdien omtrentlig få deg tilbake til den opprinnelige kuttefrekvensen, eller sette den litt enklere, definer cutofffrekvensen ved to ganger originalen. Takk for ditt svar Dr Mercer. Spørsmålet mitt var virkelig å prøve å få det som faktisk gjøres i en rms detektor på en lydnivåmåler. Hvis tidskonstanten er satt til 8216fast8217 (125ms), ville jeg ha trodd at intuitivt du ville forvente et sinusformet inngangssignal for å produsere en utgang på 63,2 av den endelige verdien etter 125ms, men siden signalet blir kvadret før det kommer til 8216mean8217 deteksjon, det vil faktisk ta dobbelt så lenge du forklarte. Hovedprinsippet med artikkelen er å vise ekvivalensen til RC-filtrering og eksponentiell gjennomsnittsverdi. Hvis vi diskuterer integrasjonstiden som er ekvivalent med en ekte rektangulær integrator, er du korrekt at det er to faktorer involvert. I utgangspunktet hvis vi har en ekte rektangulær integrator som integreres i ti sekunder, er den tilsvarende RC integatortiden for å oppnå det samme resultatet 2RC sekunder. Ti er forskjellig fra RC 8216time constant8217 T som er RC. Dermed hvis vi har en 8216Fast8217 tidskonstant på 125 msek, det er RC 125 msek da det tilsvarer en sann integrasjonstid på 250 msek. Takk for artikkelen, det var veldig nyttig. Det er noen nyere papirer i nevrovitenskap som bruker en kombinasjon av EMA-filtre (short-windowed EMA 8211 long-windowed EMA) som et bandpassfilter for sanntidsanalyse. Jeg vil gjerne søke dem, men jeg sliter med vindustørrelsene som ulike forskergrupper har brukt og korrespondansen med cutofffrekvensen. Let8217s sier at jeg vil beholde alle frekvensene under 0,5Hz (aprox), og at jeg får 10 prøver på andre. Dette betyr at fp 0.5Hz P 2s T P100.2 h 1fs0.1 Derfor bør vindustørrelsen jeg bruker skal være N3. Er denne begrunnelsen riktig Før du svarer på spørsmålet ditt, må jeg kommentere bruken av to høypasningsfiltre for å danne et bandpassfilter. Formentlig fungerer de som to separate strømmer, så et resultat er innholdet fra si latexf latex til halv prøvefrekvens og den andre er innholdet fra si latexf latex til halv prøvefrekvens. Hvis alt som blir gjort, er forskjellen i gjennomsnittlige firkantnivåer som indikerer kraften i bandet fra latexf latex til latexf latex så kan det være rimelig hvis de to kuttfrekvensene er tilstrekkelig langt fra hverandre, men jeg forventer at folkene som bruker denne teknikken prøver å simulere et smalere bandfilter. Etter min mening ville det være upålitelig for seriøst arbeid, og det ville være en kilde til bekymring. Bare for referanse er et båndpasfilter en kombinasjon av et lavfrekvent høypassfilter for å fjerne de lave frekvensene og et høyfrekvent lavpassfilter for å fjerne de høye frekvensene. Det er selvsagt en lavpasningsform av et RC-filter, og dermed en tilsvarende EMA. Kanskje selv om dommen min er overkritisk uten å kjenne alle fakta. Så kan du sende meg noen referanser til studiene du nevnte, så jeg kan kritisere etter behov. Kanskje bruker de lavpas og høypassfilter. Nå snu til ditt faktiske spørsmål om hvordan du bestemmer N for en gitt målkuttfrekvens. Jeg synes det er best å bruke grunnverdien T (N-1) h. Diskusjonen om perioder var rettet mot å gi folk en følelse av hva som foregikk. Så vennligst se avledningen nedenfor. Vi har forholdet latexT (N-1) hlatex og latexT12 latex hvor latexfclatex er den notional cut-off frekvensen og h er tiden mellom prøver, klart latexh 1 latex hvor latexfslatex er samplingsfrekvensen i samplessec. Omarrangering av T (N-1) h til en egnet form for å inkludere avskjæringsfrekvensen, latexfclatex og prøvefrekvensen, latexfslatex, er vist nedenfor. Så bruker latexfc 0.5Hz latex og latexfs 10latex samplessec slik at latex (fcfs) 0.05latex gir så det nærmeste heltall er 4. Re-arrangere det ovenfor vi har Så med N4 har vi latexfc 0.5307 Hzlatex. Bruk av N3 gir en latexfclatex på 0,318 Hz. Merk med N1 vi har en komplett kopi uten filtrering.

No comments:

Post a Comment