Răspuns la impuls finit - Finite impulse response
În procesarea semnalului , un filtru de răspuns la impuls finit ( FIR ) este un filtru al cărui răspuns de impuls (sau răspuns la orice intrare de lungime finită) are o durată finită , deoarece se stabilește la zero în timp finit. Acest lucru este în contrast cu filtrele de răspuns la impuls infinit (IIR), care pot avea feedback intern și pot continua să răspundă la nesfârșit (de obicei în descompunere).
Răspunsul la impuls (adică, de ieșire ca răspuns la o delta Kronecker de intrare) a unui N - lea -Ordinul timp discret filtru FIR durează exact probe ( de la primul element de nenul prin ultimul element de nenul) înainte de a se așeza apoi la zero.
Filtrele FIR pot fi în timp discret sau în timp continuu și digitale sau analogice .
Definiție
Pentru un filtru FIR cauzal în timp discret de ordinul N , fiecare valoare a secvenței de ieșire este o sumă ponderată a celor mai recente valori de intrare :
unde :
- este semnalul de intrare,
- este semnalul de ieșire,
- este ordinea filtrului; un th filtru -Ordinul are termeni pe partea dreaptă
- este valoarea răspunsului la impuls la I“ th instant pentru a unui filtru FIR -Ordinul. Dacă filtrul este un filtru FIR de formă directă, atunci este și un coeficient al filtrului.
Acest calcul este, de asemenea, cunoscut sub numele de convoluție discretă .
În acești termeni sunt denumiți în mod obișnuit tap s, bazat pe structura uneilinii de întârziere exploatatecare în multe implementări sau diagrame bloc oferă intrările întârziate pentru operațiile de multiplicare. De exemplu, se poate vorbi despre unfiltru de ordinul 5/6atingeri.
Răspunsul la impuls al filtrului, așa cum este definit, este diferit de zero pe o durată finită. Inclusiv zerouri, răspunsul la impuls este secvența infinită :
Dacă un filtru FIR nu este cauzal, gama valorilor diferite de zero în răspunsul său de impuls poate începe înainte , cu formula de definire generalizată în mod corespunzător.
Proprietăți
Un filtru FIR are o serie de proprietăți utile care uneori îl fac preferabil unui filtru de răspuns la impuls infinit (IIR). Filtre FIR:
- Nu solicitați feedback. Aceasta înseamnă că orice erori de rotunjire nu sunt agravate de iterații însumate. Aceeași eroare relativă apare în fiecare calcul. Acest lucru simplifică și implementarea.
- Sunt inerent stabile , deoarece ieșirea este o sumă a unui număr finit de multipli finiti ai valorilor de intrare, deci nu poate fi mai mare de ori cea mai mare valoare care apare în intrare.
- Poate fi proiectat cu ușurință pentru a fi fază liniară, făcând coeficientul de simetrie simetric. Această proprietate este uneori dorită pentru aplicații sensibile la fază, de exemplu comunicații de date, seismologie , filtre încrucișate și masterizare .
Principalul dezavantaj al filtrelor FIR este că este necesară o putere de calcul considerabil mai mare într-un procesor de uz general în comparație cu un filtru IIR cu claritate sau selectivitate similară , mai ales atunci când sunt necesare limite de frecvență redusă (în raport cu rata de eșantionare). Cu toate acestea, multe procesoare digitale de semnal oferă caracteristici hardware specializate pentru a face filtrele FIR aproximativ la fel de eficiente ca IIR pentru multe aplicații.
Răspunsul în frecvență
Efectul filtrului asupra secvenței este descris în domeniul frecvenței prin teorema convoluției :
- și
unde operatorii și respectiv denotă transformata Fourier în timp discret (DTFT) și inversul acesteia. Prin urmare, funcția multiplicativă cu valoare complexă este răspunsul în frecvență al filtrului . Este definit de o serie Fourier :
unde indicele adăugat denotă 2π-periodicitate. Aici reprezintă frecvența în unități normalizate ( radiani / eșantion ). Înlocuirea favorizată de multe programe de proiectare a filtrelor, schimbă unitățile de frecvență în cicluri / eșantion și periodicitatea în 1. Când secvența x [n] are o rată de eșantionare cunoscută, eșantioane / secundă , înlocuirea schimbă unitățile de frecvență în cicluri / secundă ( hertz ) și periodicitatea la Valoarea corespunde unei frecvențe de Hz cicluri / probă , care este frecvența Nyquist .
poate fi, de asemenea, exprimată în termeni de transformare Z a răspunsului la impulsul filtrului:
Design filtru
Un filtru FIR este proiectat prin găsirea coeficienților și a ordinii filtrelor care îndeplinesc anumite specificații, care pot fi în domeniul timpului (de exemplu, un filtru asortat ) și / sau domeniul frecvenței (cel mai frecvent). Filtrele potrivite realizează o corelație încrucișată între semnalul de intrare și o formă de impuls cunoscută. Convoluția FIR este o corelație încrucișată între semnalul de intrare și o copie inversată în timp a răspunsului la impuls. Prin urmare, răspunsul la impuls al filtrului potrivit este „proiectat” prin eșantionarea formei de impuls cunoscute și folosirea probelor respective în ordine inversă ca coeficienți ai filtrului.
Când se dorește un anumit răspuns de frecvență, sunt comune mai multe metode de proiectare diferite:
- Metoda de proiectare a ferestrelor
- Metoda de eșantionare în frecvență
- Metoda minimă MSE (eroare pătrată medie)
- Metoda Parks – McClellan (cunoscută și sub numele de metoda echiripple, optimă sau minimax). Algoritmul de schimb Remez este frecvent utilizat pentru a găsi un set optim equiripple de coeficienți. Aici utilizatorul specifică un răspuns dorit de frecvență, o funcție de ponderare pentru erori de acest răspuns, și un ordin de filtru N . Algoritmul găsește apoi setul de coeficienți care minimizează abaterea maximă de la ideal. Intuitiv, acesta găsește filtrul care este cât mai aproape de răspunsul dorit, dat fiind că pot fi utilizați doar coeficienți. Această metodă este deosebit de ușoară în practică, deoarece cel puțin un text include un program care ia filtrul dorit și N și returnează coeficienții optimi.
- Filtrele FIR Equiripple pot fi proiectate folosind și algoritmii DFT. Algoritmul este de natură iterativă. DFT-ul unui filtru inițial este calculat utilizând algoritmul FFT (dacă nu este disponibilă o estimare inițială, se poate utiliza h [n] = delta [n]). În domeniul Fourier sau domeniul DFT, răspunsul în frecvență este corectat în conformitate cu specificațiile dorite, iar DFT invers este apoi calculat. În domeniul timpului, se păstrează doar primii N coeficienți (ceilalți coeficienți sunt setați la zero). Procesul este apoi repetat iterativ: DFT este calculat încă o dată, corecția aplicată în domeniul frecvenței și așa mai departe.
Pachetele software precum MATLAB , GNU Octave , Scilab și SciPy oferă modalități convenabile de a aplica aceste metode diferite.
Metoda de proiectare a ferestrelor
În metoda de proiectare a ferestrei, se proiectează mai întâi un filtru IIR ideal și apoi trunchiază răspunsul la impuls infinit înmulțindu-l cu o funcție de fereastră cu lungime finită . Rezultatul este un filtru de răspuns la impuls finit al cărui răspuns de frecvență este modificat de la cel al filtrului IIR. Inmultind impulsul infinit prin funcția fereastră în domeniul timp rezultatele în răspunsul de frecvență al IIR fiind convolved cu transformata Fourier (sau DTFT) a funcției fereastră. Dacă lobul principal al ferestrei este îngust, răspunsul de frecvență compozit rămâne aproape de cel al filtrului IIR ideal.
Răspunsul ideal este adesea dreptunghiular, iar IIR corespunzător este o funcție sinc . Rezultatul convoluției domeniului de frecvență este că marginile dreptunghiului sunt conice, iar ondulațiile apar în banda de trecere și banda de oprire. Lucrând înapoi, se poate specifica panta (sau lățimea) regiunii conice ( banda de tranziție ) și înălțimea undelor, și astfel se pot obține parametrii domeniului de frecvență al unei funcții corespunzătoare a ferestrei. Continuarea înapoi la un răspuns de impuls se poate face prin iterarea unui program de proiectare a filtrului pentru a găsi ordinea minimă a filtrului. O altă metodă este de a restrânge soluția setată la familia parametrică a ferestrelor Kaiser , care oferă relații de formă închise între domeniul timpului și parametrii domeniului de frecvență. În general, această metodă nu va atinge ordinea minimă de filtrare posibilă, dar este deosebit de convenabilă pentru aplicațiile automate care necesită proiectarea dinamică a filtrului din mers.
Metoda de proiectare a ferestrelor este, de asemenea, avantajoasă pentru crearea de filtre cu jumătate de bandă eficiente , deoarece funcția sinc corespunzătoare este zero la orice alt punct de eșantionare (cu excepția celui central). Produsul cu funcția fereastră nu modifică zerourile, deci aproape jumătate din coeficienții răspunsului la impuls final sunt zero. O implementare adecvată a calculelor FIR poate exploata acea proprietate pentru a dubla eficiența filtrului.
Metoda minimă medie de eroare pătrată (MSE)
Poartă:
- Pentru a proiecta filtrul FIR în sensul MSE, minimizăm eroarea pătrată medie dintre filtrul obținut și filtrul dorit.
- , unde este frecvența de eșantionare, este spectrul filtrului pe care l-am obținut și este spectrul filtrului dorit.
Metodă:
- Având un filtru FIR N- point și .
- Pasul 1: Să presupunem chiar simetric. Apoi, transformarea Fourier a timpului discret este definită ca
- Pasul 2: calculați eroarea pătrată medie.
- Prin urmare,
- Pasul 3: Minimizați eroarea pătrată medie făcând o derivată parțială a MSE față de
- După organizare, avem
- Pasul 4: Reveniți la prezentarea
- și
În plus, putem trata importanța benzii de trecere și a benzii de oprire în mod diferit în funcție de nevoile noastre prin adăugarea unei funcții ponderate. Apoi, eroarea MSE devine
Exemplu mediu mobil
Un filtru mediu mobil este un filtru FIR foarte simplu. Uneori se numește filtru pentru vagon , mai ales atunci când este urmat de decimare . Coeficienții filtrului ,, se găsesc prin următoarea ecuație:
Pentru a oferi un exemplu mai specific, selectăm ordinea de filtrare:
Răspunsul la impuls al filtrului rezultat este :
Diagrama bloc din dreapta arată filtrul cu medie mobilă de ordinul doi, discutat mai jos. Funcția de transfer este :
Figura următoare prezintă diagrama pol-zero corespunzătoare . Frecvența zero (DC) corespunde (1, 0), frecvențelor pozitive care avansează în sens invers acelor de ceasornic în jurul cercului la frecvența Nyquist la (−1, 0). Doi poli sunt situate la origine, și două zerouri sunt situate la , .
Răspunsul în frecvență, în termeni de frecvență normalizată ω , este :
Mărimea și componentele fazei sunt reprezentate grafic în figură. Dar comploturi ca acestea pot fi generate și făcând o transformată Fourier discretă (DFT) a răspunsului la impuls. Și din cauza simetriei, proiectarea filtrelor sau software-ul de vizualizare afișează adesea doar regiunea [0, π]. Graficul de mărime indică faptul că filtrul cu medie mobilă trece frecvențe joase cu un câștig de aproape 1 și atenuează frecvențele înalte și, prin urmare, este un filtru brut de trecere joasă . Diagrama fazelor este liniară, cu excepția discontinuităților la cele două frecvențe în care magnitudinea merge la zero. Mărimea discontinuităților este π, reprezentând o inversare a semnelor. Ele nu afectează proprietatea fazei liniare, așa cum este ilustrat în figura finală.
Vezi si
- Filtru electronic
- Filtru (procesare semnal)
- Filtru de răspuns la impuls infinit (IIR)
- Transformarea Z (în mod specific ecuația liniară a diferenței coeficientului constant )
- Funcția de transfer FIR
- Design filtru
- Integrator în cascadă - filtru de pieptene
- Suport compact
Note
Referințe
- ^ Oppenheim, Alan V., Willsky, Alan S. și Young, Ian T., 1983: Signals and Systems, p. 256 (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN 0-13-809731-3
- ^ Rabiner, Lawrence R. și Gold, Bernard, 1975: Teoria și aplicația procesării digitale a semnalului (Englewood Cliffs, New Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4
- ^ AE Cetin, ON Gerek, Y. Yardimci, "Equiripple FIR filter design by the FFT algorithm", IEEE Signal Processing Magazine, pp. 60-64, martie 1997.