Forskaren och ingenjörens guide till digital signalbehandling av Steven W Smith, Ph D. Chapter 19 Rekursiva filter. Det finns tre typer av fasrespons att ett filter kan ha en nollfas linjär fas och en icke-linjär fas. Ett exempel på var och en av dessa visas i Figur 19-7 Som visas i a, kännetecknas nollfasfiltret av ett impulsrespons som är symmetriskt kring provnoll. Den faktiska formen spelar ingen roll för att endast de negativa numrerade proven är en spegelbild av de positiva numrerade proven. När Fouriertransformen tas från denna symmetriska vågform, fasen kommer att vara helt noll, såsom visas i b. Nackdelen med nollfasfilteret är att det kräver användning av negativa index, vilket kan vara obekvämt att arbeta med. Det linjära fasfiltret är ett sätt runt detta Impulssvaret i d är identiskt med det som visas i a, förutom att det har skiftats för att endast använda positiva numrerade prover. Impulsresponsen är fortfarande symmetrisk mellan vänster och höger Placeringen av symmetri har dock skiftats från noll. Detta skift resulterar i fasen, e, är en rak linje som räknar med namnet linjär fas. Höjden av denna raka linje är direkt proportionell mot skiftets mängd. Eftersom skiftet i Impulssvaret ger inget annat än ett identiskt skift i utsignalen, det linjära fasfiltret är ekvivalent med nollfasfilteret för de flesta ändamål. Figur g visar ett impulsrespons som inte är symmetriskt mellan vänster och höger , är inte en rak linje Med andra ord har den en linjär fas Don t förvirrar termen olinjär och linjär fas med begreppet systemlinjäritet som diskuteras i kapitel 5. Även om båda använder ordet linjär är de inte relaterade. Varför bry sig någon om fasen är linjär eller ej Figurerna c, f, och jag visar svaret Dessa är pulsresponserna hos vart och ett av de tre filtren. Pulssvaret är inget annat än ett positivt steg-stegsvar wed vid ett negativt steg response Pulssvaret används här eftersom det visar vad som händer med både stigande och fallande kanter i en signal. Här är den viktiga delen noll och linjära fasfilter har vänster och högra kanter som ser likadant ut medan olinjär fas Filter har vänster och högra kanter som ser annorlunda ut Många applikationer kan inte tolerera de vänstra och högra kanterna som ser annorlunda ut Ett exempel är visning av ett oscilloskop där denna skillnad kan misstolkas som en egenskap av signalen som mäts. Ett annat exempel är videobehandling Du föreställer dig att du slår på din TV för att hitta vänster öra av din favoritskådespelare som ser annorlunda ut än hans högra öra. Det är enkelt att göra ett FIR-finitivt impulsresponsfilter har en linjär fas. Detta beror på att impulsresponsfilterkärnan är direkt specificerad i designprocess Att göra filterkärnan har vänster-höger symmetri är allt som krävs Detta är inte fallet med IIR-rekursiva filter, eftersom th E rekursionskoefficienter är det som anges, inte impulssvaret. Impulsresponsen hos ett rekursivt filter är inte symmetriskt mellan vänster och höger och har därför en icke-linjär fas. Analoga elektroniska kretsar har samma problem med fasresponsen. Föreställ dig en krets komponerad Av motstånd och kondensatorer som sitter på skrivbordet Om ingången alltid har varit noll, kommer utmatningen alltid alltid att vara noll. När en impuls appliceras på ingången laddas kondensatorerna snabbt till något värde och börjar sedan exponentiellt sönder genom motstånden The Impulsrespons, dvs utsignalen är en kombination av dessa olika sönderfallande exponentialer. Impulsresponsen kan inte vara symmetrisk, eftersom utsignalen var noll före impulsen och exponentiell sönderfall når aldrig helt nollvärde. Analoga filterdesigners angriper detta problem med Bessel filter som presenteras i kapitel 3 Bessel-filtret är konstruerat för att ha så linjär fas som möjligt men det är jag s långt under utförandet av digitala filter Möjligheten att tillhandahålla en exakt linjär fas är en klar fördel med digitala filter. Lyckligtvis finns det ett enkelt sätt att modifiera rekursiva filter för att erhålla en nollfas Figur 19-8 visar ett exempel på hur detta verk Ingångssignalen som ska filtreras visas i en Figur b visar signalen efter att den har filtrerats av ett enkelspoligt lågpassfilter Eftersom detta är ett icke-linjärt fasfilter ser inte vänster och höger kanter på samma sätt som de är inverterade versioner av varandra Som tidigare beskrivits implementeras detta rekursiva filter genom att börja vid prov 0 och arbeta mot prov 150, beräkna varje prov längs vägen. Nu antar att istället för att flytta från prov 0 mot prov 150 börjar vi vid prov 150 och rör sig mot prov 0 Med andra ord beräknas varje prov i utsignalen från inmatnings - och utgångsprover till höger om provet som bearbetas. Det betyder att rekursionsekvationen, Eq 19-1, ändras till. Figur ec visar resultatet av denna omvänd filtrering Detta är analogt med att man överför en analog signal via en elektronisk RC-krets medan körtiden går bakåt, och det går inte att ge den i sig filtrerade filtret. Signalen har fortfarande vänster och högra kanter som inte ser lika ut. Magiken händer när framåt och bakåtfiltrering kombineras. Figur d resultat av att filtrera signalen i framåtriktningen och sedan filtrera igen i omvänd riktning Voila. Detta ger ett recidivt filter i nollfas Faktum är att ett rekursivt filter kan omvandlas till nollfas med denna dubbelriktad filtreringsteknik. Det enda straffet för denna förbättrade prestanda är en faktor av två i körningstid och programkomplexitet. Hur hittar du impuls - och frekvensresponserna hos det totala filtret Storleken av frekvensresponsen är densamma för varje riktning, medan faserna är motsatta i teckenfönstret När de två riktningarna satser kombineras, storleken blir kvadrerad medan fasen avbryts till noll. I tidsdomänen motsvarar detta att det ursprungliga impulssvaret kopplas samman med en vänster-till-höger omvänd version av sig. Till exempel impulssvaret hos en enda polig låg - Passfiltret är en ensidig exponentiell Impulsresponsen hos det motsvarande dubbelriktningsfiltret är en ensidig exponentiell som faller till höger, förknippad med en ensidig exponentiell som faller till vänster. Genom att gå igenom matematiken visar detta sig vara en dubbelsidig exponentiell som sönderdelas både till vänster och höger, med samma förfallskonstant som det ursprungliga filtret. Vissa applikationer har bara en del av signalen i datorn vid en viss tid, såsom system som växelvis matar in och utdata fortlöpande Tvåriktad filtrering kan användas i dessa fall genom att kombinera den med överlappningsmetoden som beskrivs i det sista kapitlet När du kommer till frågan om hur länge impulserna e-svaret är inte oändligt Om du gör det måste du padda varje signalsegment med ett oändligt antal nollor. Kom ihåg att impulsresponsen kan stympas när den har förfallit under den avrundade brusnivån, dvs cirka 15 till 20 tidskonstanter Varje segment måste polstras med nollor både på vänster och höger för att möjliggöra expansion under dubbelriktad filtrering. Detta exempel visar hur man använder rörliga genomsnittsfilter och resampling för att isolera effekten av periodiska komponenter vid tiden för dag vid timme temperaturavläsningar samt avlägsna oönskat linjeljud från en spänningsmätning med öppen slinga. Exemplet visar också hur man mäter nivåerna på en klocksignal medan du håller kanterna genom att använda ett medianfilter. Exemplet visar också hur man använder en Hampel filter för att ta bort stora outliers. Smoothing är hur vi upptäcker viktiga mönster i våra data medan du lämnar ut saker som är oväsentliga, dvs brus Vi använder filtrering för att utföra denna utjämning. ing är att producera långsamma värdeförändringar så att det är lättare att se trender i våra data. Ibland när du granskar inmatningsdata kan du önska att jämna data för att se en trend i signalen. I vårt exempel har vi en uppsättning Temperaturavläsningar i Celsius tas varje timme på Logans flygplats för hela januari månad 2011. Notera att vi visuellt kan se vilken effekt dagtid har på temperaturavläsningarna. Om du bara är intresserad av den dagliga temperaturvariationen under månaden den timliga fluktuationen bidrar bara till buller, vilket kan göra det svårt att skilja de dagliga variationerna. För att ta bort effekten av tiden på dagen skulle vi nu vilja släta ut våra data med hjälp av ett glidande medelfilter. Flyttande medelfilter. I sin enklaste form tar ett glidande medelfilter av längd N medeltalet av varje N på varandra följande prover av vågformen. Till tillämpa ett glidande medelfilter på varje datapunkt konstruerar vi våra koefficienter i vårt filter så att varje punkt är lika väga d och bidrar med 1 24 till det totala genomsnittet. Detta ger oss medeltemperaturen över varje 24-timmarsperiod. Filtrera fördröjning. Notera att den filtrerade utsignalen är försenad med cirka tolv timmar. Detta beror på att vårt glidande medelfilter har en fördröjning. Varje symmetriskt filter med längd N kommer att ha en fördröjning av N-1 2-prov. Vi kan redovisa denna fördröjning manuellt. Utdragande medelskillnader. Alternativt kan vi också använda det glidande medelfiltret för att få en bättre uppskattning av hur dags tid påverkar Den totala temperaturen För att göra detta, dras först av de jämnda data från timme temperaturmätningarna. Därefter segmentera de olika uppgifterna i dagar och ta medeltalet över alla 31 dagar i månaden. Utdragning av toppkuvert. Ibland vill vi också ha en jämnt varierande uppskattning av hur höga och låga värdena på vår temperatursignal ändras dagligen För att göra detta kan vi använda kuvertfunktionen för att ansluta extrema höjder och lågor som detekteras över en delmängd av 24-timmarsperioden. I denna exa Mple vi ser till att det finns minst 16 timmar mellan varje extremt hög och extremt låg. Vi kan också få en känsla av hur höga och låga trender är genom att ta medeltalet mellan de två ytterligheterna. Vägtryckande genomsnittliga filter. Övriga typer av glidande medelvärden Filter viktar inte varje prov lika. Ett annat vanligt filter följer binomial expansion. Denna typ av filter approximerar en normal kurva för stora värden på n. Det är användbart för att filtrera ut högfrekventa ljud för små. N För att hitta koefficienterna för binomialfiltret, Convolve med sig själv och sedan iterativt convolve utmatningen med ett föreskrivet antal gånger I det här exemplet använder du fem totala iterationer. Ett annat filter som liknar det gaussiska expansionsfiltret är det exponentiella glidande medelfiltret. Denna typ av viktat glidande medelfilter är lätt att konstruera och kräver inte ett stort fönsterstorlek. Du justerar ett exponentiellt vägt glidande medelfilter med en alfaparameter mellan noll och en A highe r-värdet på alfabetet kommer att ha mindre utjämning. Vill in på avläsningarna för en dag. Välj ditt land. Gd, w grpdelay b, a returnerar gruppfördröjningsresponsen, gd av det diskreta tidsfiltret som specificeras av ingångsvektorerna, b och a Inmatningsvektorerna är koefficienterna för täljare, b och nämnare, ett polynom i z -1 Z-transformen av det diskreta tidsfiltret är H z B z A zl 0 N 1 bl 1 zll 0 M 1 al 1 z l. Filterets gruppfördröjningsrespons utvärderas vid 512 lika åtskilda punkter i intervallet 0, på Enhetscirkeln Utvärderingspunkterna på enhetscirkeln returneras i w. Gd, w grpdelay b, a, n returnerar gruppfördröjningsreaktionen hos det diskreta tidsfiltret utvärderat vid n lika åtskilda punkter på enhetscirkeln i intervallet 0, n är ett positivt heltal För bästa resultat sätter n till ett värde som är större Än filterordningen. gd, w grpdelay sos, n returnerar gruppfördröjningsreaktionen för den andra ordningens sektionsmatris, sos sos är en K-by-6 matris, där antalet sektioner, K måste vara större än eller lika med 2 Om antalet sektioner är mindre än 2, grpdelay anser att ingången är täljarvektorn, b Varje rad av sos motsvarar koefficienterna för ett andra ordningens biquadfilter Den i rad av sosmatrisen motsvarar bi 1 bi 2 bi 3 ai 1 ai 2 ai 3. gd, w grpdelay d, n returnerar gruppfördröjningsreaktionen för det digitala filtret, d Använd designfilt för att generera d baserat på frekvensresponsspecifikationer. gd, f grpdelay n, fs anger en positiv samplingsfrekvens fs i hertz. Den returnerar en längd-vektor, f som innehåller frekvenspunkterna i hertz vid vilken gruppfördröjningsreaktionen utvärderas f innehåller n-punkter mellan 0 och fs 2. gd, W grpdelay n, hel och gd, f grpdelay n, hel, fs använd n poäng runt hela enheten cirkel från 0 till 2 eller från 0 till fs. gd grpdelay w och gd grpdelay f, fs returnera gruppfördröjningsresponsen utvärderad vid Vinkelfrekvenser i w i radianprov eller i f i cyklustidenhetstid, där fs är samplingsfrekvensen w och f är vektorer med åtminstone två element. grpdelay utan utgångsargument avbildar gruppfördröjningsresponsen mot frekvens. grpdelay arbetar för både reella och komplexa filter. Notera Om ingången till grpdelay är enkel precision, beräknas gruppfördröjningen med enkelräkningsräkning. Utgången, gd är enkel precision. Välj ditt land.
Comments
Post a Comment