Saturday 14 October 2017

Eksponensiell Bevegelig Gjennomsnitt Filter Utforming


Eksponentielt filter Denne siden beskriver eksponensiell filtrering, det enkleste og mest populære filteret. Dette er en del av avsnittet Filtrering som er en del av En veiledning til feilsøking og diagnose. Oversikt, tidskonstant og analoge ekvivalenter Det enkleste filteret er eksponensielt filter. Den har bare en innstillingsparameter (annet enn prøveintervallet). Det krever lagring av bare én variabel - den forrige utgangen. Det er et IIR (autoregressivt) filter - virkningene av en inngangsendring forfall eksponentielt inntil grensene for skjermer eller dataregning skjuler det. I ulike discipliner benyttes også dette filteret som 8220exponential smoothing8221. I noen disipliner som investeringsanalyse kalles eksponentielt filter en 8220Exponentielt vektet bevegelig gjennomsnittlig8221 (EWMA), eller bare 8220Exponential Moving Average8221 (EMA). Dette misbruker den tradisjonelle ARMA 8220moving average8221 terminologien av tidsserieanalyse, siden det ikke er noen innloggingshistorikk som brukes - bare gjeldende inngang. Det er den diskrete tidsekvivalenten til 8220 første orden lag8221 som vanligvis brukes i analog modellering av kontinuerlig kontrollsystemer. I elektriske kretser er et RC-filter (filter med en motstand og en kondensator) en førsteordringsforsinkelse. Når man understreker analogien til analoge kretser, er single tuning parameteren 8220time constant8221, vanligvis skrevet som små bokstaver gresk bokstav Tau (). Faktisk stemmer verdiene på de diskrete prøvetidene nøyaktig overens med ekvivalent kontinuerlig tidsforsinkelse med samme tidskonstant. Forholdet mellom digital implementering og tidskonstanten er vist i ligningene under. Eksponentielle filterligninger og initialisering Det eksponensielle filteret er en vektet kombinasjon av det forrige estimatet (utgang) med de nyeste inntastingsdataene, med summen av vektene lik 1 slik at utgangen stemmer overens med inngangen ved steady state. Følgende filternotasjon er allerede innført: y (k) ay (k-1) (1-a) x (k) hvor x (k) er den råinngangen på tidspunktet trinn ky (k) er den filtrerte utgangen på tidspunktet trinn ka er en konstant mellom 0 og 1, vanligvis mellom 0,8 og 0,99. (a-1) eller a kalles noen ganger 8220smoothing constant8221. For systemer med et fast tidssteg T mellom prøver blir konstanten 8220a8221 beregnet og lagret for enkelhets skyld bare når applikasjonsutvikleren spesifiserer en ny verdi av ønsket tidskonstant. For systemer med datasampling i uregelmessige intervaller, må den eksponensielle funksjonen ovenfor brukes med hvert trinn, hvor T er tiden siden forrige prøve. Filterutgangen blir vanligvis initialisert for å matche den første inngangen. Når tidskonstanten nærmer seg 0, går a til null, så det er ingen filtrering 8211 utgangen er lik den nye inngangen. Som tidskonsentrasjonen blir veldig stor, en tilnærming 1, slik at ny inngang nesten ignoreres 8211 veldig tung filtrering. Filter-ligningen ovenfor kan omarrangeres til følgende prediktor-korrigerende ekvivalent: Dette skjemaet gjør det mer tydelig at variabelestimatet (utgang av filteret) er forutsatt som uendret fra forrige estimat y (k-1) pluss en korreksjonsperiode basert på den uventede 8220innovation8221 - forskjellen mellom den nye inngangen x (k) og prediksjonen y (k-1). Dette skjemaet er også et resultat av å avlede det eksponensielle filteret som et enkelt spesielt tilfelle av et Kalman-filter. som er den optimale løsningen på et estimeringsproblem med et bestemt sett av antagelser. Trinnrespons En måte å visualisere driften av eksponensielt filter på er å plotte sitt svar over tid til en trinninngang. Det vil si, med utgangspunkt i filterinngang og - utgang ved 0, endres inngangsverdien plutselig til 1. De resulterende verdiene er plottet under: I det ovennevnte tegnet deles tiden med filtertidskonstanten tau, slik at du lettere kan forutsi Resultatene for en hvilken som helst tidsperiode, for en hvilken som helst verdi av filtertidskonstanten. Etter en tid som er lik tidskonstanten, øker filterutgangen til 63,21 av den endelige verdien. Etter en tid lik 2 tidskonstanter, øker verdien til 86,47 av sin endelige verdi. Utgangene etter tidene lik 3,4 og 5 tidskonstanter er henholdsvis 95,02, 98,17 og 99,33 av sluttverdien. Siden filteret er lineært betyr dette at disse prosentene kan brukes til hvilken som helst størrelsesorden av trinnendringen, ikke bare for verdien av 1 som brukes her. Selv om trinnresponsen i teorien tar en uendelig tid, tenker det fra det praktiske synspunkt på det eksponensielle filteret som 98 til 99 8220done8221 som svarer etter en tid lik 4 til 5 filtertidskonstanter. Variasjoner på det eksponensielle filteret Det er en variasjon av det eksponensielle filteret som kalles et 8220 ikke-lineært eksponensielt filter8221 Weber, 1980. ment å sterkt filtrere støy innenfor en bestemt 8220typical8221 amplitude, men deretter reagere raskere på større endringer. Copyright 2010 - 2013, Greg Stanley Del denne siden: Et brukervennlig digitalt filter Det eksponentielle glidende gjennomsnittet (EMA) er en type uendelig impulsrespons (IIR) filter som kan brukes i mange innebygde DSP-applikasjoner. Det krever bare en liten mengde RAM og databehandlingskraft. Hva er et filter filtre kommer i både analog og digital form og eksisterer for å fjerne bestemte frekvenser fra et signal. Et vanlig analogfilter er lavpasfilteret RC vist nedenfor. Analogfiltre kjennetegnes av deres frekvensrespons, det er hvor mye frekvensene blir dempet (størrelsesrespons) og skiftet (fasespons). Frekvensresponsen kan analyseres ved hjelp av en Laplace-transformasjon som definerer en overføringsfunksjon i S-domene. For den ovennevnte kretsen er overføringsfunksjonen gitt av: For R er 1 kilo-ohm og C er lik ett mikrofarad, vises størrelsesresponsen nedenfor. Merk at x-aksen er logaritmisk (hvert kryssmerke er 10 ganger større enn det siste). Y-aksen er i desibel (som er en logaritmisk funksjon av utgangen). Klippfrekvensen for dette filteret er 1000 rad eller 160 Hz. Dette er punktet hvor mindre enn halvparten av effekten ved en gitt frekvens overføres fra inngangen til filterets utgang. Analog filtre må brukes i innebygde konstruksjoner når du sampler et signal ved hjelp av en analog til digital omformer (ADC). ADC tar bare inn frekvenser som er opptil halvparten av samplingsfrekvensen. For eksempel, hvis ADC kjøper 320 prøver per sekund, er filteret over (med en cutofffrekvens på 160Hz) plassert mellom signalet og ADC-inngangen for å forhindre aliasing (hvilket er et fenomen der høyere frekvenser dukker opp i det samplede signalet som lavere frekvenser). Digitale filtre Digitale filtre demper frekvenser i programvare i stedet for å bruke analoge komponenter. Deres implementering inkluderer prøvetaking av analoge signaler med en ADC og deretter applikasjon av en programvarealgoritme. To vanlige designtilnærminger til digital filtrering er FIR-filtre og IIR-filtre. FIR-filtre Finite Impulse Response (FIR) filtre bruker et begrenset antall prøver for å generere utgangen. Et enkelt glidende gjennomsnitt er et eksempel på et lavpass FIR-filter. Høyere frekvenser blir dempet fordi gjennomsnittet utjevner signalet. Filteret er begrenset fordi filterets utgang bestemmes av et begrenset antall inngangsprøver. Som et eksempel, legger et 12 punkts glidende gjennomsnittlig filter opp de 12 siste prøvene, og deler deretter med 12. Utgangen av IIR-filtre bestemmes av (opp til) et uendelig antall inngangssampler. IIR-filtre Infinite Impulse Response (IIR) - filtre er en type digitalt filter hvor produksjonen er inifinetelyin teorien, noe som påvirkes av en inngang. Det eksponentielle glidende gjennomsnittet er et eksempel på et lavpass IIR filter. Eksponentiell flytende gjennomsnittsfilter Et eksponentielt glidende gjennomsnitt (EMA) bruker eksponentielle vekter til hver prøve for å beregne et gjennomsnitt. Selv om dette virker komplisert, er ekvivalent i digital filtreringsparlance som forskjellsligningen for å beregne utdataene enkel. I ligningen nedenfor er y utgangen x er inngangen og alfa er en konstant som setter cutofffrekvensen. For å analysere hvordan dette filteret påvirker frekvensen av utgangen, brukes Z-domeneoverføringsfunksjonen. Størrelsesresponsen er vist nedenfor for alfa lik 0,5. Y-aksen er igjen vist i desibel. X-aksen er logaritmisk fra 0,001 til pi. Den virkelige verdenskortet til x-aksen med null er likspenningen og pi tilsvarer halvparten av samplingsfrekvensen. Eventuelle frekvenser som er større enn halvparten av samplingsfrekvensen blir aliasert. Som nevnt kan et analogt filter sikre nesten alle frekvenser i det digitale signalet er under halvparten av samplingsfrekvensen. EMA-filteret er fordelaktig i innebygde design av to grunner. For det første er det enkelt å justere cutoff frekvensen. Redusering av verdien av alfa vil senke cutofffrekvensen til filteret som illustrert ved å sammenligne ovennevnte alfa 0,5 plot til nedenstående plot hvor alfa 0,1. For det andre er EMA enkelt å kode og krever bare en liten mengde datakraft og minne. Kodeimplementeringen av filteret bruker forskjellligningen. Det er to multipliseringsoperasjoner, og en tilleggsoperasjon for hver output ignorerer operasjonene som kreves for avrunding av fast punktmatematikk. Bare den nyeste prøven må lagres i RAM. Dette er vesentlig mindre enn å bruke et enkelt bevegelig gjennomsnittsfilter med N poeng som krever N multipliserings - og tilleggsoperasjoner samt N prøver som skal lagres i RAM. Følgende kode implementerer EMA-filteret ved hjelp av 32-bit fastpunktmatematikk. Koden nedenfor er et eksempel på hvordan du bruker funksjonen ovenfor. Konklusjon Filter, både analog og digital, er en viktig del av innebygde design. De tillater utviklere å kvitte seg med uønskede frekvenser når de analyserer sensorinngang. For at digitale filtre skal være nyttige, må analogfiltre fjerne alle frekvenser over halvparten av samplingsfrekvensen. Digitale IIR-filtre kan være kraftige verktøy i innebygd design der ressursene er begrensede. Det eksponentielle glidende gjennomsnittet (EMA) er et eksempel på et slikt filter som fungerer godt i innebygde konstruksjoner på grunn av de lave minne - og datakraftkravene. Frequency Response of the Running Average Filter Frekvensresponsen til et LTI-system er impulsens DTFT respons, Impulsresponsen av et L-prøveeksempel glidende gjennomsnitt er Siden det bevegelige gjennomsnittlige filteret er FIR, reduserer frekvensresponsen til den endelige summen. Vi kan bruke den svært nyttige identiteten til å skrive frekvensresponsen som hvor vi har sluppet minus jomega. N 0 og M L minus 1. Vi kan være interessert i størrelsen på denne funksjonen for å avgjøre hvilke frekvenser som kommer gjennom filteret som ikke er overvåket og som er dempet. Nedenfor er et plott av størrelsen på denne funksjonen for L 4 (rød), 8 (grønn) og 16 (blå). Den horisontale aksen varierer fra null til pi radianer per prøve. Legg merke til at frekvensresponsen i alle tre tilfeller har en lowpass-karakteristikk. En konstant komponent (nullfrekvens) i inngangen passerer gjennom filteret uopprettholdt. Visse høyere frekvenser, som pi 2, elimineres helt av filteret. Men hvis hensikten var å designe et lavpassfilter, har vi ikke gjort det veldig bra. Noen av de høyere frekvensene dempes bare med en faktor på ca 110 (for 16 poeng glidende gjennomsnitt) eller 13 (for firepunkts glidende gjennomsnitt). Vi kan gjøre mye bedre enn det. Ovennevnte tegning ble opprettet av følgende Matlab-kode: omega 0: pi400: pi H4 (14) (1-exp (-iomega4)). (1-exp (-iomega)) H8 (18) iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)) (1-exp (-iomega)) plot (omega, abs (H4) abs H16)) akse (0, pi, 0, 1) Opphavsretts kopi 2000- - University of California, Berkeley

No comments:

Post a Comment