Forskeren og ingeniørens veiledning til digital signalbehandling av Steven W Smith, Ph D. Chapter 15 Moving Average Filters. Relatives av Moving Average Filter. I en perfekt verden ville filterdesignere bare måtte takle tidsdomene eller frekvensdomene kodet informasjon, men aldri en blanding av de to i samme signal. Dessverre er det noen applikasjoner der begge domener er samtidig viktige. For eksempel kommer TV-signaler inn i denne ekkelkategorien. Videoinformasjon er kodet i tidsdomene, det vil si formen på bølgeformen korresponderer med lysstyrkenes mønstre i bildet. Under sendingen behandles videosignalet i henhold til frekvenssammenstillingen, for eksempel dens totale båndbredde, hvordan bærebølger for lydfarge blir tilsatt, eliminering av gjenvinning av DC-komponenten osv. Som et annet eksempel forstås elektromagnetisk interferens best i frekvensdomenet, selv om signalinformasjonen er kodet i tiden dom ain For eksempel kan temperaturmonitoren i et vitenskapelig eksperiment bli forurenset med 60 hertz fra kraftledninger, 30 kHz fra en vekslende strømforsyning eller 1320 kHz fra en lokal AM-radiostasjon. Relasjoner på det bevegelige gjennomsnittsfilteret har bedre frekvensdomenerytelse , og kan være nyttig i disse blandede domeneapplikasjoner. Multiple-pass-glidende gjennomsnittlige filtre innebærer å sende inngangssignalet gjennom et bevegelig gjennomsnittlig filter to eller flere ganger Figur 15-3a viser den samlede filterkjernen som resulterer fra en, to og fire passerer To passerer svarer til å bruke en trekantet filterkjerne, en rektangulær filterkjerne som er forbundet med seg selv. Etter fire eller flere passerer, ser den tilsvarende filterkjernen ut som en Gaussisk tilbakekalling av den sentrale grenseetningen. Som vist i b, gir flere passerer et s-formet trinnsvar, sammenlignet med til den rette linjen i enkeltpasset Frekvensresponsene i c og d er gitt av Eq 15-2 multiplisert med seg selv for hvert pass. Det er, hver gang gjør hovedkonvolusjon resulterer i en multiplikasjon av frekvensspektrene. Figur 15-4 viser frekvensresponsen til to andre slektninger av det bevegelige gjennomsnittlige filter. Når en ren Gaussian brukes som en filterkjerne, er frekvensresponsen også en Gauss, som diskutert i Kapittel 11 Gaussian er viktig fordi det er impulsresponsen til mange naturlige og menneskeskapte systemer. For eksempel vil en kort lyspuls inn i en lang fiberoptisk transmisjonslinje gå ut som en Gaussisk puls, på grunn av de forskjellige veiene tatt av fotene i fiberen Den gaussiske filterkjernen brukes også mye i bildebehandlingen fordi den har unike egenskaper som tillater raske todimensjonale konvolutter, se kapittel 24 Det andre frekvensresponset i figur 15-4 tilsvarer bruk av et Blackman-vindu som en filterkjerne. Termvinduet har ingen mening her, det er bare en del av det aksepterte navnet på denne kurven. Den nøyaktige formen til Blackman-vinduet er gitt i kapittel 16 Eq 16-2, figur 16-2, det ser ut som en Gauss. Hvordan er disse slektningene til det bevegelige gjennomsnittlige filteret bedre enn det bevegelige gjennomsnittsfilteret selv Tre måter Først og viktigst, har disse filtrene bedre stoppbånddemping enn det bevegelige gjennomsnittsfilteret For det andre taper filterkjernene til en mindre amplitude i nærheten av enden Husk at hvert punkt i utgangssignalet er en vektet sum av en gruppe prøver fra inngangen Hvis filterkjernen fester, blir prøver i inngangssignalet som er lengre unna gitt mindre vekt enn de som ligger ved tredje, trinnresponsene er glatte kurver, i stedet for den raske rettlinjen til det bevegelige gjennomsnittet. Disse to sistnevnte er vanligvis av begrenset nytte, selv om du kanskje finner applikasjoner der de er ekte fordeler. Det bevegelige gjennomsnittsfilteret og dets slektninger handler om det samme ved reduserer tilfeldig støy samtidig som det opprettholdes et skarp trinnrespons. Uklarheten ligger i hvordan reaksjonstiden for trinnresponsen måles. Hvis reistiden måles fra 0 til 1 00 av trinnet, er det glidende gjennomsnittlige filteret det beste du kan gjøre, som tidligere vist. Til sammenligning måler riddetiden fra 10 til 90 Blackman-vinduet bedre enn det bevegelige gjennomsnittlige filteret. Poenget er, dette er bare teoretisk skurk betraktning disse filtre er like i denne parameteren. Den største forskjellen i disse filtene er gjennomføringshastighet. Ved hjelp av en rekursiv algoritme som beskrives neste, vil det bevegelige gjennomsnittsfilteret løpe som lyn i datamaskinen. Faktisk er det det raskeste digitale filteret tilgjengelig. Flere passerer av det bevegelige gjennomsnittet vil Tilsvarende er det langsommere, men fortsatt veldig raskt. Til sammenligning er de gaussiske og blackman-filtene ubøyelig sakte, fordi de må bruke konvolusjon. Tenk en faktor på ti ganger antall poeng i filterkjernen basert på multiplikasjon er omtrent 10 ganger langsommere enn tillegg. Eksempel, forventer at en 100-punkts Gaussisk skal være 1000 ganger langsommere enn et bevegelige gjennomsnitt ved bruk av rekursjon. Denne HTML-versjonen er gitt for con vennlighet, men det er ikke det beste formatet til boken. Spesielt blir noen av symbolene ikke gjengitt riktig. Du kan foretrekke å lese PDF-versjonen. Kapittel 8 Filtrering og Konvolusjon. I dette kapittelet presenterer jeg en av de viktigste og nyttige ideer knyttet til signalbehandling av konvolutionssetningen Men før vi kan forstå konvulsjonsteoremet, må vi forstå konvolusjonen. Jeg skal begynne med et enkelt eksempel, utjevning, og vi skal gå derfra. Koden for dette kapittelet er i hvilket er i lagringsplassen for denne boken, se Seksjon 0 2 Du kan også se den på.8 1 Smoothing. Figure 8 1 Daglig sluttkurs på Facebook-lager og et 30-dagers glidende gjennomsnitt. Smøring er en operasjon som forsøker å fjerne kortsiktige variasjoner fra et signal for å avdekke langsiktige trender For eksempel, hvis du plotter daglige endringer i prisen på en aksje, ville det se støyende ut, en utjevningsoperatør kan gjøre det lettere å se om prisen generelt gikk opp eller ned over tid. En vanlig smoot hing-algoritmen er et bevegelig gjennomsnitt som beregner gjennomsnittet av de tidligere n-verdiene, for en verdi av n. For eksempel viser figur 8 1 den daglige sluttkursen for Facebook fra 17. mai 2012 til 8. desember 2015 Den grå linjen er Rådataene, den mørkere linjen viser 30-dagers glidende gjennomsnitt. Glatting fjerner de mest ekstreme endringene, og gjør det lettere å se langsiktige trender. Utføringsoperasjoner gjelder også for lydsignaler. Som et eksempel vil jeg starte med en firkantbølge på 440 Hz Som vi så i Seksjon 2 2 faller harmoniene i en firkantbølge sakte, så den inneholder mange høyfrekvente komponenter. Først skal jeg konstruere signalet og to waves. wave er et 1 sekunders segment av signalsegmentet et kortere stykke jeg skal bruke for å plotte. For å beregne det bevegelige gjennomsnittet av dette signalet, vil jeg bruke et vindu som ligner dem i § 3 7 Tidligere brukte vi et Hamming-vindu for å unngå spektrallekkasje forårsaket av diskontinuitet ved begynnelsen og slutten av et signal Mer generelt kan vi bruke Windows til å beregne den veide summen av prøver i en bølge. For eksempel, for å beregne et bevegelige gjennomsnitt, vil jeg lage et vindu med 11 elementer og normalisere det slik at elementene legger opp til 1.Nå kan jeg beregne gjennomsnittet av de første 11 elementene ved å multiplisere vinduet ved wave array. padded er en versjon av vinduet med nuller lagt til slutten, slik at det er samme lengde som å legge til nuller som dette kalles padding. prod er produktet av vinduet og bølgeoppsettet Summen av elementwise produkter er gjennomsnittet av de første 11 elementene i arrayet Siden disse elementene er alle -1, er deres gjennomsnitt -1. Figur 8 2 Et kvadratisk signal ved 400 Hz grått og et 11 element glidende gjennomsnitt. For å beregne det neste elementet av det bevegelige gjennomsnittet ruller vi vinduet, som skifter dem til høyre og bryter inn en av nullene fra slutten rundt til begynnelsen. Når vi multipliserer det rullede vinduet og bølgetallet, får vi gjennomsnittet av de neste 11 elementene i bølgeoppsettet, starter med det andre. Resultatet er -1 igjen. W e kan beregne resten av elementene på samme måte Følgende funksjon bryter koden vi har sett så langt i en loop og lagrer resultatene i en array. smoothed er arrayet som vil inneholde resultatene polstret er en matrise som inneholder vinduet og nok nuller til å ha lengde N og rullet er en kopi av polstret som blir forskjøvet til høyre ved ett element hver gang gjennom løkken. I løpet av sløyfen multiplerer vi ys ved å rulle for å velge 11 elementer og legge dem opp. Figur 8 2 viser resultatet for en firkantbølge Den grå linjen er det opprinnelige signalet, den mørkere linjen er det glatte signalet. Det glatte signalet begynner å rampe opp når fremkanten av vinduet når den første overgangen og nivåer av når vinduet krysser overgangen As et resultat, overgangene er mindre plutselige og hjørnene mindre skarpe. Hvis du lytter til det glatte signalet, høres det mindre buzzy og litt duffet.8 2 Konvolusjon. Operasjonen vi nettopp har utført, bruker en vindusfunksjon til hver overlappende se Vekt av en bølge kalles convolution. Convolution det er en så vanlig operasjon at NumPy gir en implementering som er enklere og raskere enn min versjon. beregner konvolusjonen av bølgeoppsettet og vinduet. Gyldighetsmodusverdien indikerer at det bare skal beregne verdier når vinduet og bølgearrangementet overlapper helt, slik at det stopper når den høyre kanten av vinduet når slutten av bølgearrangementet Annet enn at resultatet er det samme som i figur 8 2.Actually, det er en annen forskjell. Sløyfen i det forrige avsnitt beregner faktisk krysskorrelasjon. Modellering gjør overgangene i et firkantet signal mindre plutselige og gjør lyden litt dimmet La s se hvilken effekt denne operasjonen har på spekteret Først vil jeg plotte spekteret av den opprinnelige bølgen. Den glatte bølgen. Modusflaggen samme indikerer at resultatet skal ha samme lengde som inngangen. I dette eksemplet vil det inkludere en få verdier som vikler rundt, men det er ok for nå. Figur 8 3 viser resultatet Den grunnleggende frekvensen er nesten uendret. De første harmonene er dempet, og de høyere harmoniene er nesten eliminert. Så glatt g har effekten av et lavpasfilter som vi så i Seksjon 1 5 og 4 § 4. For å se hvor mye hver komponent har blitt dempet, kan vi beregne forholdet mellom de to spektrumene. ratio er forholdet mellom amplitude før og etter utjevning Når forsterkerne er små, kan dette forholdet være stort og støyende, så for enkelhets skyld setter jeg forholdet til 0 unntatt hvor harmoniene er. Figur 8 4 Forholdet mellom spektrumene for kvadratbølgen, før og etter utjevningen. Figur 8 4 viser resultatet Som forventet er forholdet høyt for lave frekvenser og faller av ved en cutoff-frekvens nær 4000 Hz. Men det er en annen funksjon vi ikke hadde forventet over cutoff, forholdet spretter rundt mellom 0 og 0 2 Hva skjer med that.8 4 Convolution Theorem. Figure 8 5 Forholdet mellom spektrumene for firkantbølgen, før og etter utjevning, sammen med DFT i utjevningsvinduet. Svaret er Konvolutionsteorien angitt matematisk. DFT fg DFT f DFT g. where f er et bølgeoppsett og g er et vindu i ord, konvolutionen T heorem sier at hvis vi samler f og g og beregner DFT, får vi det samme svaret som å beregne DFT av f og g og deretter multiplisere resultatene elementvis. Når vi bruker en operasjon som konvolusjon til en bølge en bølge, vi sier at vi jobber i tidsdomenet fordi bølgen er en funksjon av tid Når vi bruker en operasjon som multiplikasjon til DFT, jobber vi i frekvensdomenet fordi DFT er en funksjon av frekvens. Ved hjelp av disse vilkårene kan vi Oppgi konvolutionsteorem mer konsistent. Konvolusjon i tidsdomene tilsvarer multiplikasjon i frekvensdomene. Og det forklarer figur 8 4 fordi når vi samler en bølge og et vindu, multipliserer vi bølgespektret med spektrumet til vinduet til se hvordan det fungerer, kan vi beregne DFT i vinduet. padded inneholder utjevningsvinduet, polstret med nuller for å være i samme lengde som bølge dftwindow inneholder DFT av polstret. Figur 8 5 viser resultatet sammen med forholdene vi har beregnet i den forrige delen Forholdene er nøyaktig amplituder i dftwindow Matematisk. abs DFT fg abs DFT f abs DFT g. I denne sammenhengen kalles DFT for et vindu for et filter for et konvoluttvindu i tidsdomene, er det et tilsvarende filter i frekvensdomenet Og for et hvilket som helst filter som kan uttrykkes med elementvis multiplikasjon i frekvensdomenet, er det et tilsvarende vindu.8.8 Gaussisk filter. I del 8 2 presenterte jeg definisjoner av krysskorrelasjon og konvolusjon, og vi så at de er nesten det samme, bortsett fra at i konvolusjonen vender vinduet om. Da vi har en effektiv algoritme for konvolusjon, kan vi også bruke den til å beregne krysskorrelasjoner og autokorrelasjoner. Ved å bruke dataene fra foregående avsnitt kan vi beregne autokorrelasjon Facebook aksjekurser. Med samme modus har resultatet samme lengde som nær svarende til lags fra N 2 til N 2 1 Den grå linjen i figur 8 8 viser resultatet Bortsett fra lag 0 er det ingen topper, så Det er ingen tilsynelatende periodisk oppførsel i dette signalet. Autokorrelasjonsfunksjonen faller imidlertid sakte ned, noe som tyder på at dette signalet ligner rosa støy, slik vi så i avsnitt 5 3. For å beregne autokorrelasjon ved hjelp av konvolusjon, må vi nullstille signalet for å doble lengden Dette trikset er nødvendig fordi FFT er basert på antagelsen om at signalet er periodisk, det vil si at det brytes rundt fra ende til begynnelse. Med tidsseriedata som dette, er denne antakelsen ugyldig. Legge til nuller, og deretter trimme Resultatene fjerner de falske verdiene. Også husk at konvolusjonen reverserer vinduets retning. For å avbryte den effekten, reverserer vi retningen til vinduet før du ringer fftconvolve ved hjelp av hvilken vippes en NumPy-array. Resultatet er en visning av matrisen , ikke en kopi, så denne operasjonen er rask. Resultatet fra fftconvolve har lengde 2 N Av de er de første og siste N 2 gyldige resten er resultatet av nullpoldering For å velge det gyldige elementet, r fyll resultatene og velg den første N som svarer til lags fra N 2 til N 2 1. Som vist i figur 8 8 er resultatene fra fftautocorr og identiske med ca. 9 siffer av presisjon. Merk at sammenhengen i figur 8 8 er store tall vi kunne normalisere dem mellom -1 og 1 som vist i seksjon 5. 6. Strategien vi brukte her for automatisk korrelasjon virker også for korskorrelasjon Igjen må du forberede signaler ved å bla en og polstring begge, og da har du å trimme de ugyldige delene av resultatet Denne polstring og trimming er et ordensforstyrrelser, men det er derfor biblioteker som NumPy gir funksjoner for å gjøre det for deg.8 8 Øvelser. Oppløsninger til disse oppgavene er i. Øvelse 1 Notisboken for dette kapittelet er Les gjennom det og kjør koden. Den inneholder en interaktiv widget som lar deg eksperimentere med parameterne i Gaussian-vinduet for å se hvilken effekt de har på cutoff-frekvensen. Hva går galt når du øker bredden på Gaussisk, std, uten øker t han antall elementer i vinduet, M. Exercise 2 I dette kapittelet hevdet jeg at Fourier-transformasjonen av en Gaussisk kurve også er en Gaussisk kurve for diskrete Fourier-transformer. Dette forholdet er omtrent sant. Prøv det for noen få eksempler. Hva skjer til Fourier-transformasjonen som du varierer. Øvelse 3 Hvis du gjorde øvelsene i kapittel 3, så du effekten av Hamming-vinduet, og noen av de andre vinduene som leveres av NumPy, på spektrallekkasje. Vi kan få litt innsikt i effekten av disse vinduene ved å se på deres DFT. I tillegg til Gaussian-vinduet vi brukte i dette kapittelet, lag et Hamming-vindu med samme størrelse Nullstille vinduene og plott deres DFT-vinduer. Hvilket vindu fungerer som et bedre lavpassfilter. finn det nyttig å plotte DFTs på en log-skala. Eksperiment med noen forskjellige vinduer og noen forskjellige størrelser. Bruker du en av våre bøker i en klasse. Vi vil gjerne vite om det. Vær så snill å fylle ut denne korte undersøkelse. Variasjoner på Mo ving Average. The flytende gjennomsnitt filter er mer eller mindre perfekt for utjevning av data i nærvær av støy, hvis den nyttige informasjonen i dataene dine er helt i tidsdomene. I så fall bryr du deg ikke om dens ganske dårlige ytelse i Frekvensdomene Figur 1 viser impuls-, trinn - og frekvensresponsene til det grunnleggende bevegelige gjennomsnittsfilteret med tre ekstraprøver på begge sider som ikke er en del av impuls - og trinnresponsene, for klarhet. Figur 1 Impuls venstre, trinn midt og frekvensreaktive svar for det bevegelige gjennomsnittet. Noen ganger må du imidlertid jobbe med data som begge domener er viktige. For de tilfellene er det vektede versjoner av det bevegelige gjennomsnittet som er mer eller mindre likeverdige i tidsdomene, men det har mye bedre ytelse i frekvenstomenet. Repeated Moving Average. Det første du kan gjøre for å forbedre frekvensresponsen av det bevegelige gjennomsnittet, er å bruke det flere ganger. Etter to repetisjoner, utgjør dette en trekantet vekting av koeffisientene Figur 2 Siden det samme filteret to ganger dobler sin effekt, er den første sidelaggen til frekvensresponsen bare halvparten så høy som den i figur 1 Årsaken til den trekantede formen er at det bevegelige gjennomsnittet er en Konvolusjon med en rektangulær puls Ved å bruke den to ganger, forårsaker en konvolusjon av denne rektangulære puls med seg selv, noe som resulterer i et trekantet vindu for det kombinerte filteret. Merk at jeg har tatt samme filterlengde i figur 2 som i figur 1, og derved skifter den første null av frekvensresponsen En ekte konvolusjon av det originale rektangulære filteret ville ha resultert i et lengre filter og ville ha holdt nuller på nøyaktig samme sted, selvfølgelig. Figur 2 Impuls venstre, trinn midt og frekvens høyre svar på det trekantede vinduet. Hvis det bevegelige gjennomsnittsfilteret gjentas flere ganger, konvergerer koeffisientene til et Gaussian vindu Figur 3 på grunn av sentrale grense teorem Selvfølgelig er en faktisk Gauss Ian strekker seg uendelig i begge retninger, så det er ikke annet valg enn å kutte det på et eller annet tidspunkt, eller kanskje multiplisere det med et annet vindu. I tillegg må standardavviket til Gausserne velges. For denne illustrasjonen og for implementeringen av Filter Designer, Jeg har vedtatt standardinnstillingene til MATLAB. Figure 3 Impulse venstre, trinn midt og frekvens høyre svar på Gaussian vinduet. I praksis vil du kanskje bare gjentatte ganger bruke glidende gjennomsnitt i stedet for å bruke et Gaussian vindu Når implementert rekursivt , det bevegelige gjennomsnittet er svært effektivt, mens det gaussiske vinduet må implementeres gjennom convolution. Blackman Window. Another mulighet er å velge en av de klassiske vindusfunksjonene som brukes til vinduer med synkronisering, og bruk det som en filterkjerne, se utmerket Wikipedia-siden på vindusfunksjoner Som et eksempel, har jeg valgt Blackman-vinduet Figur 4 Dette forbedrer stoppbånddempingen enda lenger, mens s til å vise et jevnt tidsdomene svar uten ringing eller overshoot. Figure 4 Impulse venstre og frekvens høyre svar på Blackman vinduet. Til slutt, hvis du trenger å glatte data, men trenger en bedre frekvens ytelse enn det grunnleggende glidende gjennomsnittet har å tilby, Flere alternativer er tilgjengelige. Filterverktøy. Denne artikkelen er supplert med et filterdesignverktøy. Eksperiment med de forskjellige vindufunksjonene og lengden på filteret, og se effekten på frekvensresponsen Prøv det nå.
Jeg har også valgt megleren fra vennen som introduserer, de introduserer meg og gjør beviset for meg at megleren virkelig fungerer bra for dem, så jeg vil følge dem og gå inn i megleren som de snakker. Opprinnelig skrevet av lovemoon2011: Hei hver og en Hvordan velger du din megler forex. Svar på dette spørsmålet er forskjellig fra næringsdrivende til næringsdrivende, men jeg tror det er regler som ikke varierer av hver handelsmann i velg meglerforexen som. 1- Troverdighet til selskapet 2- Selskaps tilbud 3- Utmerket teknisk støtte 4- Tilgangstypene for innskudd og uttak av penger 5- Kommisjonen og innbetalingshastigheten og uttak Jeg merker alltid at nybegynnere Fokuserer på tilbudene de skal være forsiktige Og nå Jeg spør deg Hvordan velger du meglerforexen jeg fant min elskede megler instaforex veldig enkelt. En av vennene mine har konto i det, og han sier hvordan man åpner en konto og gjør det. selv om min første konto er i insta, kan jeg ikke like megler enn instaforex, selv om de...
Comments
Post a Comment