Glidande Medelvärde Gaussisk Fönster


Forskaren och ingenjörens guide till digital signalbehandling av Steven W Smith, Ph D. Chapter 15 Flytta genomsnittliga filter. Relativa rörelserna för det rörliga genomsnittliga filtret. I en perfekt värld skulle filterdesigners bara behöva hantera tidsdomän eller frekvensdomän som kodas information, men aldrig en blandning av de två i samma signal Tyvärr finns det vissa applikationer där båda domänerna är samtidigt viktiga. Till exempel faller televisionssignaler i denna otäcka kategori. Videoinformationen kodas i tidsdomänen, det vill säga formen på vågformen motsvarar ljusstyrkets mönster i bilden Under överföringen behandlas videosignalen enligt sin frekvenskomposition, såsom dess totala bandbredd, hur bärvågorna för ljudfärg läggs till, elimineringsåterställning av DC-komponenten osv. Som ett annat exempel förstås elektromagnetisk interferens bäst i frekvensdomänen, även om signalen s-information kodas i tidsdomänen Ain Exempelvis kan temperaturmonitorn i ett vetenskapligt experiment kontamineras med 60 hertz från kraftledningarna, 30 kHz från en växelströmsförsörjning eller 1320 kHz från en lokal AM-radiostation. Relationer till det glidande medelfiltret har bättre frekvensdomänprestanda , och kan vara användbar vid dessa blandade domänapplikationer. Multiple-pass glidande medelfilter inbegriper att passera ingångssignalen genom ett glidande medelfilter två eller flera gånger. Figur 15-3a visar den totala filterkärnan som härrör från en, två och fyra pass motsvarar att använda en triangulär filterkärna en rektangulär filterkärna sammanfogad med sig. Efter fyra eller fler passerar den ekvivalenta filterkärnan ut som en Gaussian återkallar den centrala gränsteorem. Såsom visas i b ger flera passeringar ett s-format stegsvar, jämfört med till raklinjen i enkla passet Frekvenssvaren i c och d ges av Eq 15-2 multiplicerat med sig själv för varje pass. Det är varje gång gör Huvudkvolution resulterar i en multiplicering av frekvensspektra. Figur 15-4 visar frekvenssvaret hos två andra släktingar i det glidande medelfiltret. När en ren Gaussian används som en filterkärna är frekvenssvaret också en Gaussian, som diskuteras i Kapitel 11 Gaussianen är viktig eftersom det är impulssvaret hos många naturliga och konstgjorda system. Till exempel kommer en kort puls av ljus in i en lång fiberoptisk transmissionsledning att gå ut som en Gaussisk puls på grund av de olika vägarna som fotonerna tar i sig Fibern Den gaussiska filterkärnan används också i stor utsträckning vid bildbehandling eftersom den har unika egenskaper som möjliggör snabba tvådimensionella omvälvningar se kapitel 24 Det andra frekvenssvaret i Fig 15-4 motsvarar att använda ett Blackman-fönster som en filterkärna Termen fönster har ingen betydelse här det är helt enkelt en del av det accepterade namnet på denna kurva Den exakta formen av Blackman-fönstret ges i kapitel 16 Eq 16-2, fig 16-2, Det ser ut som en Gaussian. Hur är dessa släktingar i det glidande medelfiltret bättre än det glidande medelfiltret självt Tre sätt Först och främst, dessa filter har bättre dämpningsdämpning än det glidande genomsnittliga filtret För det andra tappar filterkärnorna till en mindre amplitud nära ändarna Minns att varje punkt i utsignalen är en viktad summa av en grupp av prover från ingången. Om filterkärnan försvinner, får prover i ingångssignalen som ligger längre bort ges mindre vikt än de som ligger nära Tredje, Stegsvaren är släta kurvor, snarare än den plötsliga raka linjen i det glidande medlet. Dessa två är vanligtvis av begränsad nytta, även om du kanske hittar applikationer där de är genuina fördelar. Det rörliga genomsnittliga filtret och dess släktingar handlar om samma vid reducerar slumpmässigt buller samtidigt som ett skarpt stegsvar upprätthålls. Otydigheten ligger i hur stegtidens stegtid mäts. Om risetiden mäts från 0 till 1 00 av steget är det glidande medelfiltret det bästa du kan göra, som tidigare visat. I jämförelse mäter risetiden från 10 till 90 Blackman-fönstret bättre än det glidande medelfiltret. Poänget är, det här är bara teoretisk kvävning betrakta dessa filter är lika med den här parametern. Den största skillnaden i dessa filter är exekveringshastigheten Med hjälp av en rekursiv algoritm som beskrivs nedan kommer det glidande medelfiltret att springa som blixt i datorn. Det är faktiskt det snabbaste digitala filtret tillgängligt. Flera pass av det glidande medelvärdet kommer att motsvarande långsammare, men ändå väldigt snabbt. Jämfört är de gaussiska och blackmanfiltren oerhört långsamma, eftersom de måste använda faltning. Tänk en faktor tio gånger antalet punkter i filterkärnan baserat på multiplikation är ca 10 gånger långsammare än tillsats För Exempel, förvänta dig att en 100-punkts Gaussian ska vara 1000 gånger långsammare än ett glidande medel med recursion. This HTML version of is provided for con vänskap, men det är inte det bästa formatet för boken. Speciellt är några av symbolerna inte gjorda korrekt. Du kanske föredrar att läsa PDF-versionen. Kapitel 8 Filtrering och konvolution. I detta kapitel presenterar jag en av de viktigaste och Användbara idéer relaterade till signalbehandling av konvolutionsteorem Men innan vi kan förstå konvolutionsteoret, måste vi förstå konvolvering. Jag ska börja med ett enkelt exempel, utjämning och vi ska gå därifrån. Koden för detta kapitel är i vilken är förvaret för den här boken se Avsnitt 0 2 Du kan också visa den at.8 1 Smoothing. Figure 8 1 Dagligt stängningskurs på Facebook-lager och ett 30-dagars glidande medel. Modellering är en operation som försöker ta bort kortvariga variationer från en signal för att avslöja långsiktiga trender Om du till exempel ser dagliga förändringar i priset på ett lager, så ser det ut som det är bullrigt. En utjämningsoperatör kan göra det enklare att se om priset i allmänhet gick upp och ner över tiden. En vanlig smoot Hing-algoritmen är ett glidande medelvärde, som beräknar medelvärdet av de tidigare n-värdena, för något värde av n. Exempelvis visar Figur 8 1 den dagliga stängningskursen för Facebook från 17 maj 2012 till 8 december 2015 Den grå linjen är Rådata, den mörkare raden visar 30-dagars glidande medelutjämning. Avlägsnar de mest extrema förändringarna och gör det lättare att se långsiktiga trender. Möjningsoperationer gäller även ljudsignaler. Exempelvis börjar jag med en kvadratvåg vid 440 Hz Som vi såg i avsnitt 2 2 faller harmonierna i en kvadratvåg långsamt, så den innehåller många högfrekventa komponenter. Först ska jag konstruera signalen och två waves. wave är en 1 sekunders segment av signalsegmentet En kortare bit som jag ska använda för att plotta. För att beräkna det rörliga genomsnittsvärdet för den här signalen använder jag ett fönster som liknar dem i avsnitt 3 7 Tidigare använde vi ett Hamming-fönster för att undvika spektral läckage orsakad av diskontinuitet i början och slutet av en signal Mer generellt kan vi använda Windows för att beräkna den vägda summan av prover i en våg. Till exempel för att beräkna ett glidande medelvärde ska jag skapa ett fönster med 11 element och normalisera det så att elementen lägger till 1. Nu kan jag beräkna medelvärdet av de första 11 elementen genom att multiplicera fönstret av vågmatrisen. padded är en version av fönstret med nollor som läggs till slutet så det är samma längd som att lägga till nollor så här kallas padding. prod är fönstret och vågsällskapets summa. Summan av elementprodukter är medelvärdet av de första 11 elementen i matrisen Eftersom dessa element är alla -1 är deras medelvärde -1.Figure 8 2 En fyrkantig signal vid 400 Hz grå och ett 11 elementets glidande medelvärde. För att beräkna nästa element Av det glidande medlet rullar vi fönstret, vilket skiftar dem till höger och sveper ett av nollorna från slutet runt till början. När vi multiplicerar det rullade fönstret och våganordningen får vi genomsnittsvärdet för de kommande 11 Element i vågmatrisen, börjar med den andra. Resultatet är -1 igen. W E kan beräkna resten av elementen på samma sätt Följande funktion wraps koden vi hittills har sett i en slinga och lagrar resultaten i en array. smoothed är den matris som kommer att innehålla resultaten vadderade är en matris som innehåller fönstret och tillräckligt med nollor att ha längd N och rullas är en kopia av vadderade som flyttas till höger av ett element varje gång genom loopen. Inuti slingan multiplicerar vi ys genom att rulla för att välja 11 element och lägga till dem. Figur 8 2 visar resultatet för en kvadratvåg Den grå linjen är den ursprungliga signalen den mörkare linjen är den släta signalen Den släta signalen börjar rampas upp när framkanten av fönstret når den första övergången och nivåerna av när fönstret passerar övergången As Resultatet är att övergångarna är mindre abrupta och hörnen är mindre skarpa. Om du lyssnar på den släta signalen, låter den mindre buzzy och lite muffled.8 2 Convolution. The operation som vi just utförde tillämpar en fönsterfunktion på varje överlappande se Våg av en våg kallas convolution. Convolution det är en sådan gemensam operation som NumPy ger en implementering som är enklare och snabbare än min version. Beräknar vikten av vågmatrisen och fönstret Giltigt flagggiltigt indikerar att det endast ska beräkna värden när fönstret och vågmatrisen överlappar helt, så att den slutar när den högra kanten av fönstret når slutet av vågmatrisen annat än så är resultatet detsamma som i figur 8. 2.Actually det finns en annan skillnad Slingan i föregående avsnitt beräknar faktiskt korskorrelation. Smoderingen gör övergångarna i en fyrkantig signal mindre abrupt och gör ljudet lite dämpat Låt s se vilken effekt denna operation har på spektrumet. Först kommer jag att plotta spektrumet hos den ursprungliga vågen. Då den släta vågen. Modusflaggan samma indikerar att resultatet ska ha samma längd som ingången. I det här exemplet kommer det att innefatta en några värden som slingras runt, men det är ok för nu. Figur 8 3 visar resultatet Grundfrekvensen är nästan oförändrad. De första harmonerna dämpas och de högre övertonerna är nästan eliminerade. Så smoothin G har effekten av ett lågpassfilter som vi såg i avsnitt 1 5 och 4 § 4. För att se hur mycket varje komponent har dämpats kan vi beräkna förhållandet mellan de två spektrumerna. Ratio är amplitudförhållandet Före och efter utjämning När ampere är små kan detta förhållande vara stort och bullrigt, så för enkelhet ställer jag förhållandet till 0 utom där harmonikorna är. Figur 8 4 Förhållandet mellan spektrum för kvadratvåg, före och efter utjämning. Figur 8 4 visar resultatet Som förväntat är förhållandet högt för låga frekvenser och faller av vid en avstängningsfrekvens nära 4000 Hz Men det finns en annan egenskap som vi inte förväntade oss över cutoff, studsningsförhållandet ligger mellan 0 och 0 2 Vad är det med that.8 4 Convolution Theorem. Figure 8 5 Förhållandet mellan spektrum för kvadratvåg, före och efter utjämning, tillsammans med DFT i utjämningsfönstret. Svaret är konvolutionsteoretiskt angivet matematiskt. DFT fg DFT f DFT g. where f är en vågmatris och g är ett fönster I ord är konvolutionen T Heorem säger att om vi convolve f och g och sedan beräkna DFT, får vi samma svar som att beräkna DFT av f och g och multiplicera resultaten element-wise. When vi tillämpar en operation som konvolution till en våg en våg, Vi säger att vi arbetar i tidsdomänen eftersom vågan är en funktion av tiden När vi tillämpar en operation som multiplikation till DFT arbetar vi i frekvensdomänen eftersom DFT är en funktion av frekvens. Med dessa termer kan vi Konvolutionsteoremanget är mer konkret. Konvolution i tidsdomänen motsvarar multiplicering i frekvensdomänen. Och det förklarar Figur 8 4 eftersom när vi sammanfaller en våg och ett fönster multiplicerar vi vågens spektrum med fönstret vid To se hur det fungerar kan vi beräkna DFT i fönstret. padded innehåller utjämningsfönstret, vadderat med nollor att vara lika långa som våg dftwindow innehåller DFT av padded. Figure 8 5 visar resultatet tillsammans med de räkningar vi beräknat i den föregående sektionen Ratioerna är exakt amplituderna i dftwindow Matematiskt. abs DFT fg abs DFT f abs DFT g. I det här sammanhanget kallas DFT i ett fönster för ett fönstret i tidsdomänen, ett motsvarande filter i frekvensdomänen och för alla filter som kan uttryckas genom elementvis multiplikation i frekvensdomänen finns ett motsvarande fönster.8 5 Gaussian filter. In avsnitt 8 2 presenterade jag definitioner av korskorrelation och konvolvering, och vi såg Att de är nästan desamma, förutom att i falsning är fönstret omvänd. Nu när vi har en effektiv algoritm för konvolvering kan vi också använda den för att beräkna korskorrelationer och autokorrelationer. Med hjälp av data från föregående avsnitt kan vi beräkna autokorrelation Facebook aktiekurser. Med samma läge har resultatet samma längd som nära motsvarande lags från N 2 till N 2 1 Den grå linjen i Figur 8 8 visar resultatet Utöver lag 0 är det inga toppar, så Det finns inget tydligt periodiskt beteende i denna signal. Autokorrelationsfunktionen faller emellertid långsamt av, vilket tyder på att denna signal liknar rosa brus, som vi såg i avsnitt 5 3. För att beräkna autokorrelation med användning av konvolvering måste vi nollstänga signalen för att dubbla Längden Detta trick är nödvändigt eftersom FFT bygger på antagandet att signalen är periodisk, dvs att den sveper runt från slutet till början. Med tidsseriedata som denna är antagandet ogiltigt. Lägger till nollor och sedan trimmar resultaten, tar bort de falska värdena. Också, kom ihåg att konvolutionen vrider fönsters riktning För att avbryta den effekten vrider vi omriktningen av fönstret innan vi ringer fftconvolve med vilken vippar en NumPy-array. Resultatet är en vy av matrisen , Inte en kopia, så denna operation är snabb. Resultatet från fftconvolve har längd 2 N Av de är de första och sista N 2 giltiga resten är resultatet av nollpolning För att välja det giltiga elementet r Resultaten och välj den första N som motsvarar lags från N 2 till N 2 1. Som visas i Figur 8 8 är resultaten från fftautocorr och identiska med ca 9 siffror precision. Notice att korrelationerna i Figur 8 8 är stora tal Vi kunde normalisera dem mellan -1 och 1 som visas i avsnitt 5 6. Den strategi som vi använde här för automatisk korrelation fungerar också för korskorrelation. Igen måste du förbereda signalerna genom att bläddra i en och vaddera, och då har du Att trimma de ogiltiga delarna av resultatet. Detta polstring och trimning är en olägenhet, men det är därför bibliotek som NumPy ger funktioner för att göra det åt dig.8 8 övningar. Upplösningar till dessa övningar är in. Övning 1 Anteckningsboken för detta kapitel är Läs igenom det och kör koden. Den innehåller en interaktiv widget som låter dig experimentera med parametrarna i Gaussian-fönstret för att se vilken effekt de har på cutoff-frekvensen. Vad går fel när du ökar Gaussens bredd, std, utan ökar t Han antal element i fönstret, M. Exercise 2 I detta kapitel hävdade jag att Fourier-omvandlingen av en Gaussisk kurva också är en Gaussisk kurva för diskreta Fourier-transformer. Det här förhållandet är ungefär sant. Testa det för några exempel. Vad händer till Fourier-transformen när du varierar std. Exercise 3 Om du gjorde övningarna i kapitel 3 såg du effekten av Hamming-fönstret och några av de andra windows som tillhandahålls av NumPy på spektralläckage Vi kan få lite inblick i effekten av dessa fönster genom att titta på deras DFT. Förutom det gaussiska fönstret som vi använde i det här kapitlet, skapa ett Hamming-fönster med samma storlek. Nollstäng Windows och plot deras DFT. Vilket fönster fungerar som ett bättre lågpassfilter. Tycker att det är användbart att plotta DFT-enheterna på en logg-skala. Experiment med några olika fönster och några olika storlekar. Om du använder en av våra böcker i en klass. Vi vill veta om det. Var god överväga att fylla i den här korta survey. Variations on the Mo Ving Average. The rörliga genomsnittliga filtret är mer eller mindre perfekt för utjämning av data i närvaro av brus, om den användbara informationen i dina data är helt i tidsdomänen. I det fallet bryr du dig inte om dess ganska dåliga prestanda i frekvensdomän Figur 1 visar impuls-, steg - och frekvensresponserna för det grundläggande glidande medelfilteret med tre extraprover på båda sidor som inte ingår i impuls - och stegsvaren, för tydlighet. Figur 1 Impuls kvar, steg mitt och frekvensreaktiva svar för det rörliga genomsnittet. Ibland måste du dock arbeta med data för vilka båda domänerna är viktiga. I dessa fall finns det viktade versioner av det glidande medlet som är mer eller mindre likvärdiga i tidsdomänen, men det har mycket bättre prestanda i frekvensdomänen. Repeated Moving Average. Det första som du kan göra för att förbättra frekvensresponsen för det rörliga genomsnittet är att applicera det flera gånger Efter två repetitioner uppgår detta till en triangulär viktning av koefficienterna Figur 2 Eftersom samma filter två gånger dubblerar sin effekt är den första sidokroppen av frekvensresponsen bara hälften så hög som den i Figur 1 Anledningen till den triangulära formen är att det rörliga medlet är ett konvolvering med en rektangulär puls Att applicera det två gånger orsakar en konvolvering av denna rektangulära puls med sig själv vilket resulterar i ett triangulärt fönster för det kombinerade filtret Observera att jag har tagit samma filterlängd i Figur 2 som i Figur 1, varigenom den första nollpunkten av frekvensreaktionen En sann konvolvering av det ursprungliga rektangulära filtret skulle ha resulterat i ett längre filter och skulle ha hållit nollorna på exakt samma plats, givetvis. Faktur 2 Impulse vänster, steg mitt och frekvens höger svar för det trekantiga fönstret. Om det rörliga genomsnittsfiltret upprepas flera gånger, konvergerar konvergenserna till ett Gaussian fönster Figur 3 på grund av centralgränssatsen Naturligtvis är en faktisk Gauss ian sträcker sig oändligt i båda riktningarna, så det finns inget annat alternativ än att klippa av den vid någon tidpunkt eller kanske multiplicera den med ett andra fönster. Dessutom måste Gaussiens standardavvikelse väljas. För denna illustration och för genomförandet av Filter Designer, jag har antagit standardinställningarna för MATLAB. Figure 3 Impulse vänster, steg mitten och frekvens höger svar på Gaussian window. In praktiken kan du helt enkelt helt enkelt tillämpa det glidande medlet istället för att tillämpa ett Gaussian fönster När det implementeras rekursivt , det glidande medlet är mycket effektivt medan Gaussian-fönstret måste implementeras genom convolution. Blackman Window. Another möjlighet är att välja en av de klassiska fönsterfunktionerna som används för windowed-sinc-filter och använda det som en filterkärna se det utmärkta Wikipedia-sida om fönsterfunktioner Som exempel har jag valt Blackman-fönstret Figur 4 Detta förbättrar stoppbandets dämpning ännu längre, medan s tills det visar ett smidigt domänrespons utan att ringa eller överskridas. Figur 4 Impulse vänster - och frekvensreaktioner för Blackman-fönstret. Sammanfattningsvis, om du behöver släta data men behöver en bättre frekvensprestanda än det grundläggande glidande genomsnittet har att erbjuda, flera alternativ finns tillgängliga. Filterverktyg. Denna artikel kompletteras med ett filterdesignverktyg Experimentera med olika fönsterfunktioner och längden på filtret och se effekten på frekvensresponsen. Prova nu.

Comments

Popular posts from this blog

Glidande Medelvärde Filter I C

Jam Buka Pasar Handels Forex