Saturday, October 1, 2016

Bewegende Gemiddelde Filter Afsnyfrekwensie

Frekwensie van die lopende gemiddeld Filter Die frekwensieweergawe van 'n LTI stelsel is die DTFT van die impulsrespons, Die impulsrespons van 'n L - sample bewegende gemiddelde is sedert die bewegende gemiddelde filter is FIR, die frekwensieweergawe verminder om die eindige som Ons kan die baie nuttig identiteit gebruik om die frekwensie reaksie as waar ons toelaat dat AE minus jomega skryf. N 0, en M L minus 1. Ons kan belangstel in die omvang van hierdie funksie word ten einde te bepaal watter frekwensies te kry deur middel van die filter unattenuated en wat verswakte. Hier is 'n plot van die omvang van hierdie funksie lyk, vir L 4 (rooi), 8 (groen) en 16 (blou). Die horisontale as wissel van nul tot pi radiale per monster. Let daarop dat in al drie gevalle, die frekwensieweergawe het 'n laagdeurlaat kenmerk. 'N konstante komponent (nul frekwensie) in die insette gaan deur die filter unattenuated. Sekere hoër frekwensies, soos pi / 2, is heeltemal uitgeskakel word deur die filter. Maar, as die bedoeling was om 'n laagdeurlaatfilter ontwerp, dan het ons nie baie goed gedoen. Sommige van die hoër frekwensies is verswakte net met 'n faktor van ongeveer 1/10 (vir die 16 punt bewegende gemiddelde) of 1/3 (vir die vier punt bewegende gemiddelde). Ons kan baie beter as dit doen. Bogenoemde plot is geskep deur die volgende Matlab kode: omega 0: pi / 400: pi H4 (1/4) (1-exp (-iomega4)) ./ (1-exp (-iomega)) H8 (1/8 ) (1-exp (-iomega8)) ./ (1-exp (-iomega)) H16 (1/16) (1-exp (-iomega16)) ./ (1-exp (-iomega)) plot (omega , ABS (H4) ABS (H8) ABS (H16)) as (0, PI, 0, 1) Kopiereg kopie 2000- - Universiteit van Kalifornië, BerkeleyLow-pass filter Dit is in die eerste plek daarop dit sal nie volledig wees in enige sin. Dit bestaan ​​om fragmente van nuttige inligting bevat. Pseudokode Die eksponensieel geweeg bewegende gemiddelde (EWMA) is die naam vir wat is waarskynlik die maklikste digitale, tyd-domein verwesenliking van die (eerste-orde) laagdeurlaat op diskrete data. Dit filter glad met behulp van 'n bewegende plaaslike gemiddelde, wat dit 'n trae navolger van die insetsein maak. Intuïtief, sal dit stadig reageer op die vinnige veranderinge (die hoë-frekwensie-inhoud), terwyl hy nog as gevolg van die algehele neiging van die sein (die lae-frekwensie-inhoud). Dit is geweeg met 'n veranderlike (sien x3b1) in staat wees om sy sensitiwiteit wissel. In aansoeke daardie monster op 'n gereelde interval (bv klank) kan jy betrekking x3b1 om frekwensie inhoud. In sulke gevalle dikwels wil hê jy moet 'n gefilterde uitset reeks te bereken vir 'n inset-reeks, deur herhaling deur middel van 'n lys so iets te doen: of die ekwivalent: Laasgenoemde vorm kan meer intuïtief / insiggewende voel: die verandering in die gefilterde uitset is eweredig aan die bedrag van verandering en geweeg deur die filter sterkte x3b1. Beide kan help kyk hoe die gebruik van die onlangse gefiltreer uitset gee die stelsel traagheid: 'n Kleiner x3b1 (groter 1-x3b1 in die voormalige) (maak ook vir 'n groter RC) beteken die uitset sal meer traag pas, en moet minder geraas wys (sedert die afsnyfrekwensie is laer (verifieer)). 'N Groter x3b1 (kleiner 1-x3b1) (kleiner RC) beteken dat die uitset vinniger (minder traagheid) gevalle sal pas, maar wees meer sensitief vir geraas (sedert die afsnyfrekwensie is hoër (verifieer)) Sedert die berekening is plaaslike, waar jy net die nuutste waarde kan voorkom stoor 'n groot verskeidenheid van die volgende te doen vir elke nuwe monster (dikwels 'n klomp van die tye in 'n ry, om seker te maak ons ​​pas genoeg). In gevalle van nie-so-gereelde monsterneming x3b1 is meer verwant aan spoed van aanpassing as om frekwensie inhoud. Dit is nog steeds relevant, maar die notas op frekwensie inhoud van toepassing minder streng. Jy wil tipies implementeer die skikking / geheue as dryf - selfs as jy SY terugkeer - om probleme wat veroorsaak word deur afrondingsfoute te vermy. Die meeste van die probleem: wanneer alphadifference (self 'n drywende vermenigvuldiging) minder as 1 is, word dit 0 in 'n (truncatng) gooi 'n heelgetal. Byvoorbeeld, wanneer Alpha is 0,01, dan sein verskille kleiner as 100 sal maak vir 'n aanpassing van 0 (via heelgetal afkorting), sodat die filter sal nooit aan te pas by die werklike ADC waarde. EWMA het die woord eksponensiële daarin, want elke nuwe gefiltreer uitset effektief gebruik al die waardes voordat dit, en effektief met eksponensieel verrottende gewigte. Sien die Wikipedia skakels vir meer bespreking. 'N Grafiese voorbeeld: 'n kiekie van arduinoscope - 'n bewegende grafiek, met die nuutste monsters aan die linkerkant. Die rou sein op die top is 'n paar SECONDSs waarde van 'n ADC monsterneming van 'n drywende pen, met 'n vinger raak dit elke nou en dan. Die ander is lowpassed weergawes daarvan, op die verhoging van sterkpunte. Sommige dinge om op te let daaroor: die slowish eksponensiële aanpassing te stap-agtige reaksies (amper soos 'n heffing kapasitor - vinnig aanvanklik, dan stadiger en stadiger) die onderdrukking van enkele groot spykers / afwykings. dat sy beslis moontlik om te hard te filtreer (alhoewel dit reg hang baie af van die monsterneming spoed en die aanpassing / inhoud / frekwensies jou doel behoeftes). in die tweede beeld, die die volle omvang ossillasie kom uit halfpad nie soseer as gevolg van filter, maar ook grootliks omdat die meeste rou monsters om daar versadig aan beide kante van die ADC wissel. Op x3b1, x3c4, en die afsnyfrekwensie Hierdie artikel / artikel is 'n saadjie x2014 waarskynlik 'n hopie van 'n halwe gesorteer notas, is nie goed gekontroleer so kan verkeerde stukkies het. (Voel vry om te ignoreer, op te los, of vir my sê) x3b1 is die smoothing faktor, teoreties tussen 0,0 en 1,0, in die praktyk gewoonlik lt0.2 en dikwels lt0.1 of kleiner, want behalwe dit is jy skaars doen enige filter. In DSP is dit dikwels gebaseer op: x394 t. gereeld geskryf dt. die tyd interval tussen monsters (resiprook van sampling rate) 'n keuse van tydkonstante x3c4 (TLU), ook bekend as RC (laasgenoemde 'n verwysing na 'n resistor-plus-kapasitor stroombaan wat ook nie laagdeurlaat lyk. Spesifiek, RC gee die tyd waarin die kapasitor laai na as jy kies 'n RC naby youll dt kry Alfa's hoër as 0,5, en ook 'n afsnyfrekwensie wat naby die Nyquist frekwensie (gebeur op 0,666 (verifieer)), wat so min dat dit die filter redelik filters uit nutteloos. In die praktyk sal jy dikwels kies 'n RC wat ten minste 'n paar veelvoude van dt, wat beteken dat x3b1 is op die einde van 0,1 of minder. Wanneer die monsterneming gebeur streng gereeld, want dit is vir 'n goeie en baie ander DSP aansoeke, .. die afsnyfrekwensie aka knie frekwensie is goed-gedefinieerde, naamlik: byvoorbeeld, wanneer RC0.002sec, die donker is by op 200Hz, 2000Hz, en 20000Hz monsterneming, dit maak vir Alfa's van 0,7, 0,2, en 0,024 onderskeidelik. (op dieselfde monsterneming spoed: die laer Alpha is, hoe stadiger sal die aanpassing by nuwe waardes en hoe laer die effektiewe afsnyfrekwensie) (kontroleer) vir 'n eerste-orde laagdeurlaat: teen laer frekwensies, die reaksie is byna heeltemal plat, op hierdie frekwensie die reaksie is -3dB (begin daal in 'n sagte draai / knie) by 'n hoër frekwensies dit dit druppels op 6db / oktaaf ​​(20dB / dekade) hoër-orde variasies afval vinniger en het 'n harder knie. Let daar sal ook 'n faseverskuiwing, wat agter bly die insette wees. Dit hang af van die frekwensie dit begin vroeër as die amplitude falloff, en sal wees -45 grade by die knie frekwensie (verifieer). Arduino voorbeeld Hierdie artikel / artikel is 'n saadjie x2014 waarskynlik 'n hopie van 'n halwe gesorteer notas, is nie goed gekontroleer so kan verkeerde stukkies het. (Voel vry om te ignoreer, op te los, of vertel my) Dit is 'n enkel-stuk-of-geheue weergawe, want as jy belangstel om net in die (jongste) produksie waarde. Semi-sortedI nodig om 'n bewegende gemiddelde filter wat 'n afsnyfrekwensie van 7.8 Hz het ontwerp. Ek het gebruik voordat bewegende gemiddelde filters, maar so ver as Im bewus, die enigste parameter wat in gevoer kan word is die aantal punte wat gemiddeld. Hoe kan dit met 'n afsnyfrekwensie Die omgekeerde van 7.8 Hz is 130 ms, en Im werk met data wat getoets by 1000 Hz. Impliseer dit dat ek dit behoort te word met behulp van 'n bewegende gemiddelde filter venster grootte van 130 monsters, of is daar iets anders wat Im hier vermis gevra 18 Julie 13 aan 09:52 Die bewegende gemiddelde filter is die filter gebruik word in die tydgebied te verwyder die geraas bygevoeg en ook vir glad doel, maar as jy dieselfde bewegende gemiddelde filter gebruik in die frekwensiedomein vir frekwensie skeiding dan prestasie sal ergste wees. so in daardie geval gebruik frekwensiedomein filters uitvoering maak user19373 3 Februarie by 05:53 Die bewegende gemiddelde filter (soms omgangstaal bekend as 'n wagon filter) het 'n vierkantige impulsrespons: Of, anders gestel: Onthou dat 'n diskretetyd-stelsels frekwensieweergawe is gelyk aan die diskrete-tyd Fourier-transform van sy impulsrespons, kan ons dit soos volg bereken: Wat was die meeste belangstelling in jou geval is die grootte van die filter, H (omega). Met behulp van 'n paar eenvoudige manipulasies, kan ons kry dat in 'n makliker om te begryp vorm: Dit kan nie makliker om te verstaan ​​kyk. As gevolg van Eulers identiteit. onthou dat: Daarom kan ons skryf die bogenoemde as: Soos ek al voorheen gesê, wat jy regtig bekommerd oor die omvang van die frekwensieweergawe. Dus, kan ons die grootte van die bogenoemde te neem om dit verder te vereenvoudig: Let wel: Ons is in staat om die eksponensiële terme uit te laat val, omdat hulle dit nie invloed op die grootte van die resultaat e 1 vir alle waardes van omega. Sedert xy xy vir enige twee eindige komplekse getalle x en y, kan ons aflei dat die teenwoordigheid van die eksponensiële terme dont raak die algehele omvang reaksie (in plaas daarvan, hulle invloed op die stelsels fase reaksie). Die gevolglike funksie binne die omvang hakies is 'n vorm van 'n Dirichlet kern. Dit is soms 'n periodieke sed funksie, want dit lyk soos die sinc funksie ietwat in voorkoms, maar is periodieke plaas. In elk geval, sedert die definisie van afsnyfrekwensie ietwat is underspecified (-3 dB punt -6 dB punt eerste sidelobe nul), kan jy die bostaande vergelyking gebruik om op te los vir alles wat jy nodig het. Stel H (omega) ter waarde wat ooreenstem met die filter reaksie wat jy wil by die afsnyfrekwensie: spesifiek, kan jy die volgende doen. Stel omega gelyk aan die afsnyfrekwensie. Om 'n deurlopende-time frekwensie om die diskrete-tyd domein karteer, onthou dat omega 2pi frac waar FS is jou monster tempo. Vind die waarde van N wat gee jou die beste ooreenkoms tussen die linker - en regterkante van die vergelyking. Dit moet die lengte van jou bewegende gemiddelde wees. As N is die lengte van die bewegende gemiddelde, dan 'n geskatte afsnyfrekwensie F (geldig vir N GT 2) in genormaliseer frekwensie Ff / fs is: Die omgekeerde hiervan is Hierdie formule is asimptoties korrekte vir groot N, en het ongeveer 2 fout vir N2, en minder as 0,5 vir N4. P. s. Na twee jaar, hier uiteindelik wat die benadering gevolg. Die gevolg is gebaseer op ongeveer dieselfde MA amplitude spektrum rondom f0 as 'n parabool (2 orde Series) volgens MA (Omega) ongeveer 1 (frac - frac) Omega2 wat meer presiese naby die nul kruising van MA (Omega) gemaak kan word - frac deur te vermenigvuldig Omega deur 'n koëffisiënt verkryging MA (Omega) ongeveer 10,907523 (frac - frac) Omega2 die oplossing van MA (Omega) - frac 0 gee die resultate hierbo, waar 2pi F Omega. Al die bogenoemde het betrekking op die -3dB afsny frekwensie, die onderwerp van hierdie post. Soms al is dit interessant om 'n verswakking profiel in stop-orkes wat vergelykbaar is met dié van 'n 1 Om IIR laaglaatfilter verkry (enkele paal LPF) met 'n gegewe -3dB afsny frekwensie (so 'n LPF is ook bekend as lekkende integreerder, 'n paal nie presies by DC, maar naby aan dit). Om die waarheid te beide die MA en die 1ste orde IIR LPF het -20dB / dekade helling in die stop-band ( 'n mens moet 'n groter N as die een wat in die figuur, N32, om dit te sien), maar terwyl MA het spektrale nulls by Fk / n en 'n 1 / f evelope, die IIR filter het slegs 'n 1 / f profiel. As 'n mens wil 'n MA filter met 'n soortgelyke geraas filter vermoëns as hierdie IIR filter verkry, en ooreenstem met die 3dB afgesny frekwensies om dieselfde te wees, op die vergelyking van die twee spektra, sou hy besef dat die stop orkes rimpeleffek van die MA filter beland 3dB laer as dié van die IIR filter. Met die oog op dieselfde stop-orkes rimpeleffek (maw dieselfde geraas krag verswakking) as die IIR kry filtreer die formules kan soos volg gewysig word: ek het terug die Mathematica script waar ek bereken die uitroei vir 'n paar filters, insluitend die MA een. Die gevolg is gebaseer op ongeveer dieselfde MA spektrum rondom f0 as 'n parabool volgens MA (Omega) Sonde (OmegaN / 2) / Sonde (Omega / 2) Omega 2piF MA (F) ongeveer N1 / 6F2 (N-N3) pi2. En die afleiding van die kruising met 1 / sqrt van daar af. â € Massimo 17 Januarie by 2: 08It kan wissel van 'n eenvoudige gemiddelde van N waardes om 'n eksponensiële gemiddelde filter om 'n meer gesofistikeerde filter wat werk op frekwensies. Meer gesofistikeerde weergawes van lae slaag filters kan geskep word deur die omskakeling van elektroniese laagdeurlaat filters gebruik in digitale seinverwerking (soos Butterworth filter, ens) het ek hierdie webwerf is 'n baie van die hulpbronne bevat oor Digitale seinverwerking, (Die wetenskaplike en Engineer039s Guide om Digital Signal Processing). Eerste voorbeeld is van 'n bewegende gemiddelde filter, volgende is 'n rekursiewe filter gevolg deur 'n voorbeeld van hoe om 'n laaglaatfilter met 'n afsnyfrekwensie te skep, kry 'n sampling rate en 'n filter konstante RC, gemotiveer deur die lae slaagsyfer gedrag of RC stroombaan . Onthou net: Tyd domein gemiddelde wil mors met die frekwensiedomein verteenwoordiging, en frekwensiegebied filter wil mors met die tydgebied verteenwoordiging. So, het 'n filter wat werk betyds domein sal in nie meer bruikbaar frekwensieweergawe lei sedert die filter039s besit 039signal039 is gekronkelde met die werklike sein. Aan die ander kant, as jy 'n hoë frekwensie geraas te verwyder in frekwensiedomein, moenie verwag om 'n gladde sein in die tyd domein sien. PS: albei doen nooit. Nooit ooit doen frekwensie donker gevolg deur gemiddeld in die tyd domein (of andersom), tensy. daar is geen ander opsie (wat daar gewoonlik is) 9.7k Views middot View upvotes middot Nie vir ReproductionThe Scientist en Ingenieurs Guide to Digital Signal Processing Deur Steven W. Smith, Ph. D. Hoofstuk 19: Rekursiewe Comments Enkelpool Rekursiewe Comments Figuur 19-2 toon 'n voorbeeld van wat 'n enkele paal laaglaatfilter genoem. Dit rekursiewe filter gebruik net twee koëffisiënte, 'n 0 0,15 en b 1 0.85. Vir hierdie voorbeeld, die insetsein is 'n stap funksie. As jy kan verwag om 'n laaglaatfilter, die produksie is 'n gladde aanleiding gee tot die bestendige toestand vlak. Hierdie figuur toon ook iets wat bande in jou kennis van elektronika. Hierdie lae-pass rekursiewe filter is heeltemal analoog aan 'n elektroniese laaglaatfilter bestaan ​​uit 'n enkele weerstand en kapasitor. Die skoonheid van die rekursiewe metode is in sy vermoë om 'n wye verskeidenheid van reaksies te skep deur die verandering van slegs 'n paar parameters. Byvoorbeeld, Fig. 19-3 toon 'n filter met drie koëffisiënte: 'n 0 0.93, 'n 1 -0,93 en b 1 0.86. Soos blyk uit die soortgelyke stap antwoorde, hierdie digitale filter boots 'n elektroniese RC hoë-pass filter. Hierdie enkele paal rekursiewe filters is beslis iets wat jy wil in jou DSP toolbox te hou. Jy kan dit gebruik om digitale seine te verwerk net soos jy RC netwerke sal gebruik om analoog elektroniese seine te verwerk. Dit sluit in alles wat jy sou verwag: DC verwydering, hoë-frekwensie geraas onderdrukking, golf vorming, glad, ens Hulle is maklik om te program, vinnig uit te voer, en produseer paar verrassings. Die koëffisiënte gevind van hierdie eenvoudige vergelykings: Die eienskappe van hierdie filters word beheer deur die parameter, x. 'n waarde tussen nul en een. Fisies, x is die bedrag van verval tussen aangrensende monsters. Byvoorbeeld, x is 0.86 in Fig. 19-3, wat beteken dat die waarde van elke monster in die uitsetsein is 0.86 die waarde van die monster voor dit. Hoe hoër die waarde van x. hoe stadiger sal die verval. Let daarop dat die filter word onstabiel as x groter as een gemaak. Dit wil sê, 'n nie-nul waarde op die insette sal die uitset verhoog maak tot 'n oorloop voorkom. Die waarde vir x kan direk gespesifiseer, of gevind van die gewenste tydkonstante van die filter. Net soos R tye C is die aantal sekondes wat dit neem 'n RC stroombaan te verval tot 36.8 van sy finale waarde, d is die aantal monsters wat dit neem vir 'n rekursiewe filter te verval om dieselfde vlak: Byvoorbeeld, 'n monster-om - sample verval van ooreenstem met 'n tydkonstante van monsters (soos getoon in Fig 19-3). Daar is ook 'n vaste verhouding tussen x en die -3dB afsnyfrekwensie. f C. van die digitale filter: Dit bied drie maniere om die A - en B-koëffisiënte vind, wat begin met die tydkonstante, die afsnyfrekwensie, of net direk pluk x. Figuur 19-4 toon 'n voorbeeld van die gebruik van enkele paal rekursiewe filters. In (a), die oorspronklike sein is 'n gladde kurwe, behalwe 'n sarsie van 'n hoë frekwensie sinusgolf. Figuur (b) toon die sein nadat dit deur 'n lae-pass en 'n hoë-pass filters. Die seine is redelik goed geskei, maar nie perfek nie, net asof eenvoudige RC stroombane gebruik op 'n analoog sein. Figuur 19-5 toon die frekwensie reaksie van verskeie enkele paal rekursiewe filters. Hierdie kurwes is behaal deur 'n delta-funksie deur die filter om die filters vind impulsrespons. Die FFT word dan gebruik om die impulsrespons in die frekwensieweergawe omskep. In beginsel is die impulsrespons is oneindig lang Maar dit verval onder die enkele presisie ronde-off geraas na ongeveer 15 tot 20 keer konstantes. Byvoorbeeld, wanneer die tydkonstante van die filter is monsters, die impulsrespons kan vervat word in ongeveer 128 monsters. Die sleutel kenmerk in Fig. 19-5 is dat enkele paal rekursiewe filters het min vermoë om een ​​band van frekwensies te skei van mekaar. Met ander woorde, hulle goed presteer in die tydgebied en swak in die frekwensiedomein. Die frekwensieweergawe kan effens verbeter word deur waterval verskeie stadiums. Dit kan bereik word op twee maniere. In die eerste plek kan die sein geslaag deur die filter 'n paar keer. In die tweede plek kan die z-transform gebruik word om die rekursie koëffisiënte dat die waterval te kombineer in 'n enkele stadium vind. Beide maniere te werk en word algemeen gebruik. Figuur (c) toon die frekwensieweergawe van 'n waterval van vier lae-pass filters. Hoewel die stopband verswakking aansienlik verbeter, die roll-off is nog verskriklik. As jy 'n beter prestasie moet in die frekwensiedomein, kyk na die Chebyshev filters van die volgende hoofstuk. Die vier stadium laaglaatfilter is vergelykbaar met die Blackman en Gaussiese filters (familie van die bewegende gemiddelde, Hoofstuk 15), maar met 'n baie vinniger uitvoering spoed. Die ontwerp vergelykings vir 'n vier stadium laaglaatfilter is:


No comments:

Post a Comment