Obținerea răspunsului în frecvență al filtrului din răspunsul la impuls. Filtru de răspuns la impuls finit

Prelegerea #10

„Filtre digitale cu răspuns la impuls finit”

Funcția de transmisie filtrul digital implementat fizic cu un răspuns la impuls finit (filtru FIR) poate fi reprezentat ca

(10.1).

La înlocuirea în expresia (10.1), obținem răspunsul în frecvență al filtrului FIR sub formă

(10.2),

Unde - caracteristică amplitudine-frecvență (AFC) filtru,

- caracteristică fază-frecvență (PFC) filtru.

Întârziere de fază filtrul este definit ca

(10.3).

întârziere de grup filtrul este definit ca

(10.4).

O trăsătură distinctivă a filtrelor FIR este posibilitatea de a implementa în ele întârzieri constante de fază și grup, de exemplu. răspuns de fază liniară

(10.5),

unde un - constant. În această condiție, semnalul care trece prin filtru nu distorsionează forma acestuia.

Pentru a obține condiții care oferă un răspuns liniar de fază, scriem răspunsul în frecvență al filtrului FIR, ținând cont de (10.5)

(10.6).

Echivalând părțile reale și imaginare ale acestei egalități, obținem

(10.7).

Împărțind a doua ecuație la prima, obținem

(10.8).

În sfârșit, poți scrie

(10.9).

Această ecuație are două soluții. Mai întâi la A =0 corespunde ecuației

(10.10).

Această ecuație are o soluție unică corespunzătoare unui arbitrar h(0)(sin(0)=0) și h(n)=0 pentru n >0. Această soluție corespunde unui filtru al cărui răspuns la impuls are o singură probă diferită de zero la momentul inițial. Un astfel de filtru nu este de interes practic.

Să găsim o altă soluție pentru . În același timp, după înmulțirea încrucișată a numărătorilor și numitorilor din (10.8), obținem

(10.11).

Prin urmare avem

(10.12).

Deoarece această ecuație are forma unei serii Fourier, soluția ei, dacă există, este unică.

Este ușor de observat că soluția acestei ecuații trebuie să îndeplinească condițiile

(10.13),

(10.14).

Din condiția (10.13) rezultă că pentru fiecare ordine a filtrului N există o singură întârziere de fază A , la care se poate obține liniaritatea strictă a PFC. Din condiția (10.14) rezultă că răspunsul la impuls al filtrului trebuie să fie simetric față de punctul pentru impar N , și relativ la punctul de mijloc al intervalului (Fig. 10.1).



Răspunsul în frecvență al unui astfel de filtru (pentru un ciudat N ) poate fi scris ca

(10.15).

Efectuarea înlocuirii în a doua sumă m = N -1- n , obținem

(10.16).

Deoarece h (n)= h (N -1- n ), atunci cele două sume pot fi combinate


(10.17).

Înlocuind, obținem

(10.18).

Dacă desemnăm

(10.19),

apoi putem scrie în sfârșit

(10.20).

Astfel, pentru un filtru cu un răspuns de fază liniară, avem

(10.21).

Pentru cazul chiar N la fel vom avea

(10.22).

Făcând o înlocuire în a doua sumă, obținem

(10.23).

Făcând înlocuirea, obținem

(10.24).

Denotand

(10.25),

vom avea in sfarsit

(10.26).

Astfel, pentru un filtru FIR cu răspuns de fază liniară și chiar ordine N poate fi scris

(10.27).

În cele ce urmează, pentru simplitate, vom lua în considerare doar filtrele cu o ordine ciudată.

La sintetizarea funcției de transfer al filtrului, parametrii inițiali sunt, de regulă, cerințele pentru răspunsul în frecvență. Există multe tehnici de sinteză a filtrelor FIR. Să luăm în considerare unele dintre ele.

Deoarece răspunsul în frecvență al oricărui filtru digital este o funcție periodică a frecvenței, acesta poate fi reprezentat ca o serie Fourier

(10.28),

unde sunt coeficienții seriei Fourier

(10.29).

Se poate observa că coeficienții seriei Fourier h(n ) coincid cu coeficienţii răspuns la impuls filtru. Prin urmare, dacă descrierea analitică a răspunsului de frecvență necesar al filtrului este cunoscută, atunci poate fi utilizată pentru a determina cu ușurință coeficienții răspunsului la impuls și din aceștia funcția de transfer a filtrului. Cu toate acestea, acest lucru nu este fezabil în practică, deoarece răspunsul la impuls al unui astfel de filtru are o lungime infinită. În plus, un astfel de filtru nu este realizabil fizic, deoarece răspunsul la impuls începe la -¥ , și nicio întârziere finită nu va face acest filtru realizabil fizic.

O metodă posibilă pentru obținerea unui filtru FIR care aproximează un răspuns de frecvență dat este trunchierea seriei infinite Fourier și răspunsul la impuls al filtrului, presupunând că h(n)=0 pentru . Apoi

(10.30).

Realizarea fizică a funcției de transfer H(z ) se poate realiza prin înmulțire H (z) pe .

(10.31),

Unde

(10.32).

Cu această modificare a funcției de transfer, caracteristica de amplitudine a filtrului nu se modifică, iar întârzierea grupului crește cu o valoare constantă.

Ca exemplu, calculăm un filtru FIR trece-jos cu un răspuns în frecvență de formă

(10.33).

În conformitate cu (10.29), coeficienții de răspuns la impulsul filtrului sunt descriși prin expresie

(10.34).

Acum din (10.31) putem obține expresia funcției de transfer

(10.35),

Unde

(10.36).

Caracteristicile de amplitudine ale filtrului calculat pentru diverse N prezentate în Figura 10.2.

Fig.10.2

Ondularea în banda de trecere și banda de oprire apare din cauza convergenței lente a seriei Fourier, care, la rândul său, se datorează prezenței unei discontinuități în funcție la frecvența de tăiere a benzii de trecere. Aceste pulsații sunt cunoscute ca Pulsațiile Gibbs.

Din fig. 10.2 se poate observa că cu o creștere N frecvența pulsației crește, iar amplitudinea scade atât la nivelul inferior cât și la frecvențe superioare. Cu toate acestea, amplitudinea ultimei ondulații din banda de trecere și a primei ondulații din banda de oprire rămân practic neschimbate. În practică, astfel de efecte sunt adesea nedorite, ceea ce necesită găsirea unor modalități de a reduce ondulațiile Gibbs.

Răspuns la impuls trunchiat h(n ) poate fi reprezentat ca produsul răspunsului la impuls infinit necesar și unele funcțiile ferestrei w (n) de lungime n (Fig. 10.3).

(10.37).



În cazul considerat al unei trunchieri simple a seriei Fourier, folosim fereastră dreptunghiulară

(10.38).

În acest caz, răspunsul în frecvență al filtrului poate fi reprezentat ca o convoluție complexă

(10.39).

Aceasta înseamnă că va fi o versiune „încețoșată” a caracteristicii necesare.

Problema se reduce la găsirea de funcții de fereastră care fac posibilă reducerea ondulațiilor Gibbs pentru aceeași selectivitate a filtrului. Pentru a face acest lucru, trebuie mai întâi să studiați proprietățile funcției ferestre folosind exemplul unei ferestre dreptunghiulare.

Spectrul funcției ferestre dreptunghiulare poate fi scris ca

(10.40).

Spectrul funcției ferestre dreptunghiulare este prezentat în Fig. 10.4.

Fig.10.4

Deoarece la , atunci lățimea lobului principal al spectrului este egală cu .

Prezența lobilor laterali în spectrul funcției ferestrei duce la o creștere a ondulației Gibbs în răspunsul în frecvență al filtrului. Pentru a obține o ondulație mică în banda de trecere și o atenuare mare în banda de oprire, este necesar ca aria delimitată de lobii laterali să fie o mică fracțiune din aria delimitată de lobul principal.

La rândul său, lățimea lobului principal determină lățimea zonei de tranziție a filtrului rezultat. Pentru o selectivitate mare a filtrului, lățimea lobului principal ar trebui să fie cât mai mică posibil. După cum se poate observa din cele de mai sus, lățimea lobului principal scade odată cu creșterea ordinii filtrului.

Astfel, proprietățile funcțiilor de fereastră adecvate pot fi formulate după cum urmează:

- funcția ferestrei trebuie limitată în timp;

- spectrul funcției de fereastră ar trebui să aproximeze cel mai bine funcția cu frecvență limitată, adică au un minim de energie în afara lobului principal;

- lățimea lobului principal al spectrului funcției ferestrei ar trebui să fie cât mai mică posibil.

Cele mai frecvent utilizate funcții ale ferestrei sunt:

1. Fereastra dreptunghiulara. Considerat mai sus.

2. Fereastra Hamming.

(10.41),

Unde .

Când această fereastră se numește fereastra Hann ( hanning).

3. Fereastra Blackman.


(10.42).

4. Fereastra Bartlett.

(10.43).

Indicatorii filtrelor construite folosind funcțiile ferestrei specificate sunt rezumați în Tabelul 10.1.

Fereastră

Lățimea lobului principal

factor de pulsație, %

N=11

N=21

N=31

Dreptunghiular

22.34

21.89

21.80

Hanning

2.62

2.67

2.67

Hamming

1.47

0.93

0.82

Om negru

0.08

0.12

0.12

Factorul de ondulare este definit ca raportul dintre amplitudinea maximă a lobului lateral și amplitudinea lobului principal în spectrul funcției ferestrei.

Datele din Tabelul 10.2 pot fi folosite pentru a selecta ordinea de filtrare necesară și cea mai potrivită funcție de fereastră atunci când se proiectează filtre reale.

tranzitorie

denivelări

transmisie (dB)

Decăderea în

baraj (dB)

Dreptunghiular

Hanning

Hamming

Om negru

După cum se poate observa din Tabelul 10.1, există o relație clară între factorul de ondulare și lățimea lobului principal în spectrul funcției ferestrei. Cu cât coeficientul de ondulare este mai mic, cu atât lățimea lobului principal este mai mare și, prin urmare, zona de tranziție în răspunsul în frecvență al filtrului. Pentru a asigura o ondulație scăzută în banda de trecere, este necesar să alegeți o fereastră cu un factor de ondulare adecvat și să asigurați lățimea necesară a zonei de tranziție cu o ordine de filtru crescută N .

Această problemă poate fi rezolvată folosind fereastra propusă de Kaiser. Funcția de fereastră Kaiser are forma

(10.44),

unde a este un parametru independent, , I 0 este funcția Bessel de ordinul zero de primul fel, definită prin expresie

(10.45).

O proprietate atractivă a ferestrei Kaiser este capacitatea de a modifica fără probleme coeficientul de ondulare de la valori mici la valori mari, atunci când este modificat doar un parametru a. În acest caz, ca și în cazul altor funcții de fereastră, lățimea lobului principal poate fi controlată prin ordinea de filtrare N .

Principalii parametri stabiliți la dezvoltarea unui filtru real sunt:

Lățimea de bandă - w p ;

Bariera - w a ;

Valoarea maximă admisă în banda de trecere - A p ;

Atenuare minimă în banda de oprire - A a ;

-frecvența de eșantionare - w s .

Acești parametri sunt ilustrați în Figura 10.5. În acest caz, ondulația maximă în banda de trecere este definită ca

(10.46),

iar atenuarea minimă în banda de oprire ca

O procedură relativ simplă pentru calcularea unui filtru cu o fereastră Kaiser include următorii pași:

1. Se determină răspunsul la impuls al filtrului h (n), cu condiția ca răspunsul în frecvență să fie ideal

(10.48),

unde (10.49).

2. Parametrul d este ales ca

(10.50),

Unde (10.51).

3. Valoarea adevărată a lui A a și A p se calculează după formulele (10.46), (10.47).

4. Parametrul a este selectat ca

(10.52).

5. Parametrul D este selectat ca

(10.53).

6. Cea mai mică valoare impară a ordinii de filtrare este selectată din condiție

(10.54),

(10.57)

urmează că

Deoarece eșantioanele răspunsului la impuls al filtrului sunt coeficienții funcției sale de transfer, condiția (10.59) înseamnă că codurile tuturor coeficienților filtrului conțin doar o parte fracțională și un bit de semn și nu conțin o parte întreagă.

Numărul de cifre ale părții fracționale a coeficienților filtrului este determinat din condiția îndeplinirii funcției de transfer a filtrului cu coeficienți cuantificați, cerințele specificate pentru abordarea funcției de transfer de referință cu valori exacte ale coeficienților.

Valorile absolute ale eșantioanelor de intrare ale filtrului sunt de obicei normalizate astfel încât

Dacă analiza este efectuată pentru un filtru FIR cu un răspuns de fază liniară, atunci algoritmul pentru calcularea semnalului său de ieșire poate fi următorul

unde sunt coeficienții filtrului rotunjiți la s k.

Acest algoritm corespunde schema structurala filtrul prezentat în Figura 10.5.



Există două moduri de a implementa acest algoritm. În primul caz, toate operațiile de înmulțire sunt efectuate exact și nu există rotunjire a produselor. În acest caz, capacitatea produselor este s în +s k , unde s in este capacitatea semnal de intrare, iar s k este capacitatea coeficienților de filtru. În acest caz, schema bloc a filtrului prezentată în Fig. 10.5 corespunde exact filtrului real.

În a doua modalitate de implementare a algoritmului (10.61), fiecare rezultat al operației de înmulțire este rotunjit, adică. produsele sunt calculate cu o oarecare eroare. În acest caz, este necesară modificarea algoritmului (10.61) astfel încât să se țină cont de eroarea introdusă prin rotunjirea produselor

Dacă valorile eșantionului semnalului de ieșire al filtrului sunt calculate prin prima metodă (cu valori exacte ale produselor), atunci varianța zgomotului de ieșire este definită ca

(10.66),

acestea. depinde de variația zgomotului de rotunjire a semnalului de intrare și de valorile coeficienților de filtru. De aici puteți găsi numărul necesar de biți ai semnalului de intrare ca

(10.67).

Din valorile cunoscute ale s in și s k, se poate determina numărul de biți necesari pentru partea fracțională a codului semnalului de ieșire ca

Dacă valorile eșantioanelor semnalului de ieșire sunt calculate conform celei de-a doua metode, când fiecare produs este rotunjit la s d biți, atunci varianța zgomotului de rotunjire creat de fiecare dintre multiplicatori poate fi exprimată în termeni de lungimea cuvântului produsului ca

DR in și raportul semnal-zgomot la ieșirea filtrului SNR out . Valoarea intervalului dinamic al semnalului de intrare în decibeli este definită ca

(10.74),

unde A max și A min sunt amplitudinile maxime și minime ale semnalului de intrare al filtrului.

Raportul semnal-zgomot la ieșirea filtrului, exprimat în decibeli, este definit ca

(10.75),

determină valoarea medie pătrată a puterii semnalului sinusoidal de ieșire al filtrului cu amplitudinea A min și

(10.77)

determină puterea de zgomot la ieșirea filtrului. Din (10.75) și (10.76) cu A max =1 obținem o expresie pentru varianța zgomotului de ieșire al filtrului

(10.78).

Această valoare a variației zgomotului de ieșire a filtrului poate fi utilizată pentru a calcula lățimile semnalului de intrare și de ieșire a filtrului.

Să luăm în considerare cele mai simple filtre digitale - filtre cu parametri constanți.

Un semnal de intrare este aplicat la intrarea filtrului digital sub forma unei secvențe de valori numerice care urmează cu un interval (Fig. 4.1, a). Când fiecare valoare de semnal următoare ajunge în filtrul digital, se calculează următoarea valoare a semnalului de ieșire.Algoritmii de calcul pot fi foarte diverși; în timpul calculului, cu excepția ultimei valori a semnalului de intrare poate fi utilizată

valorile anterioare ale semnalelor de intrare și ieșire: Semnalul la ieșirea filtrului digital este, de asemenea, o succesiune de valori numerice care urmează cu un interval de . Acest interval este același pentru întregul dispozitiv de procesare a semnalului digital.

Orez. 4.1. Semnal la intrarea și ieșirea filtrului digital

Prin urmare, dacă la intrarea filtrului digital se aplică cel mai simplu semnal sub forma unui singur impuls (Fig. 4.2, a)

apoi la ieșire vom primi un semnal sub forma unei secvențe discrete de valori numerice care urmează cu un interval

Prin analogie cu circuitele analogice convenționale, să numim acest semnal de răspuns răspunsul la impuls al filtrului (Fig. 4.2, b). Spre deosebire de răspunsul la impuls al unui circuit analogic, funcția este adimensională.

Orez. 4.2. Impulsul unității și răspunsul la impulsul filtrului digital

Să introducem o intrare de filtru arbitrară semnal discret orez. 4.1, a), care este un set de valori discrete

Sub acțiunea primului element, la ieșirea filtrului, se formează o secvență înmulțită cu, sub acțiune, o secvență înmulțită cu și deplasată la dreapta cu o valoare etc. Ca rezultat, obținem o secvență la ieșirea cu

Astfel, semnalul de ieșire este definit ca convoluția discretă a semnalului de intrare și răspunsul la impuls. În acest sens, filtrele digitale sunt similare cu circuitele convenționale, unde semnalul de ieșire este egal cu convoluția semnalului de intrare și răspunsul la impuls.

Formula (4.1) este un algoritm filtrare digitală. Dacă răspunsul la impuls al filtrului este descris de o secvență cu un număr finit de termeni, atunci filtrul poate fi implementat sub forma circuitului prezentat în Fig. 4.3. Aici, litera denotă elementele întârzierii semnalului pentru timp (pe celulă); -elemente care înmulţesc semnalul cu coeficientul corespunzător.

Schema prezentată în fig. 4.3 nu este un circuit de filtru digital; această schemă este imagine grafică algoritm de filtrare digitală și arată succesiunea operațiilor aritmetice efectuate în timpul procesării semnalului.

Orez. 4.3. Circuit de filtru digital nerecursiv

Pentru filtrele digitale care procesează semnale sub formă de secvențe numerice abstracte, conceptul de „întârziere” nu este în întregime corect. Prin urmare, elementele care întârzie semnalul cu o celulă sunt de obicei marcate pe circuitele de filtru digital cu un simbol care denotă întârzierea semnalului în limbajul -transformărilor. În cele ce urmează, vom adera la această notație.

Să revenim la circuitul de filtru digital prezentat în Fig. 4.3, Astfel de filtre, în care doar valorile semnalului de intrare sunt utilizate pentru calcul, sunt numite simple sau nerecursive.

Algoritmul de filtru non-recursiv este ușor de scris dacă răspunsul la impuls al filtrului este cunoscut. Pentru implementare practică algoritmul necesită ca răspunsul la impuls să conţină un număr finit de termeni. Dacă răspunsul la impuls conține un număr infinit de termeni, dar aceștia scad rapid în magnitudine, atunci vă puteți limita la un număr finit de termeni, renunțând pe cei ale căror valori sunt mici. Dacă elementele răspunsului la impuls nu scad în magnitudine, algoritmul de filtru nerecursiv se dovedește a fi irealizabil.

Orez. 4.4. -lanţ

Ca exemplu, luați în considerare cel mai simplu filtru digital, similar cu circuitul - (Fig. 4.4). Răspunsul la impuls al circuitului - are forma

Pentru a scrie răspunsul la impuls al filtrului digital corespunzător, expresia trebuie înlocuită cu. Cu toate acestea, răspunsul la impuls al unui circuit are o dimensiune, iar răspunsul la impuls al unui filtru digital trebuie să fie fără dimensiune. Prin urmare, omitem factorul în expresia (4.2) și scriem răspunsul la impuls al filtrului digital sub forma

Un astfel de răspuns la impuls conține infinit de mulți termeni, dar amploarea lor scade exponențial și ne putem limita la termeni, alegând astfel încât

Acum puteți scrie o expresie pentru semnal la ieșirea filtrului

Această expresie este, de asemenea, un algoritm de filtru digital. Schema acestui filtru este prezentată în fig. 4.5.

A doua abordare a analizei proceselor din filtrele digitale este similară cu metoda operatorului de analiză a circuitelor analogice convenționale, dar în locul transformării Laplace se folosește transformarea -.

Orez. 4.5. Schema unui filtru digital nerecursiv similar cu -circuit

Să definim un parametru de filtru digital similar cu funcția de transfer circuit electric. Pentru a face acest lucru, aplicați transformarea - răspunsului la impuls al filtrului digital:

Funcția se numește funcție de filtrare a sistemului.

În conformitate cu expresia (4.1), semnalul la ieșirea filtrului digital este egal cu convoluția discretă a semnalului de intrare și răspunsul la impuls al filtrului. Aplicând teorema de convoluție -transformă acestei expresii, obținem că -transformarea semnalului de ieșire este egală cu -transformarea semnalului de intrare, înmulțită cu funcția de filtru de sistem:

Astfel, funcția de sistem joacă rolul funcției de transfer a filtrului digital.

Ca exemplu, să găsim funcția de sistem a unui filtru digital de ordinul întâi, similar cu un lanț:

A treia metodă de analiză a trecerii semnalelor prin filtre digitale este similară cu metoda clasică a ecuațiilor diferențiale. Să luăm în considerare această metodă folosind lanțurile de ordine ca exemplu.

Cel mai simplu circuit analogic de ordinul I este circuitul -(vezi Fig. 4.4), trecerea semnalelor prin care este descrisă de ecuația diferențială

Pentru un circuit discret, în loc de ecuația diferențială (4.8), trebuie scrisă o ecuație a diferenței, în care semnalele de intrare și de ieșire sunt date pentru timpi discreti, iar în loc de derivată, ar trebui să apară diferența valorilor semnalului învecinat. Pentru un circuit discret de ordinul I, ecuația diferenței poate fi scrisă într-o formă destul de generală

Să aplicăm ecuației -transformare

unde găsim funcția de filtrare a sistemului

Formula (4.10) este o expresie destul de generală pentru functia sistemului Filtru digital de primă ordine. Pentru , coincide cu expresia obținută anterior (4.7) pentru funcția de sistem a unui filtru digital echivalent cu un -circuit.

Să găsim algoritmul de filtrare digitală corespunzător funcției de sistem (4.10). Pentru a face acest lucru, rezolvăm ecuația (4.9) cu privire la

Circuitul echivalent al acestui algoritm este prezentat în fig. 4.6. În comparație cu filtrul nerecursiv (vezi Fig. 4.5), aici a fost adăugat un fel de „buclă de feedback”, ceea ce înseamnă că valorile semnalului de ieșire sunt utilizate în următoarele

Orez. 4.6. Schema unui filtru digital recursiv similar cu -circuit

calculele. Filtrele de acest tip se numesc recursive.

Algoritmul (4.11) corespunde unui filtru care este complet echivalent cu filtrul nerecursiv considerat mai devreme. Dar pentru a determina o valoare a semnalului de ieșire folosind algoritmul de filtru nerecursiv (4.4), este necesar să se efectueze operații, iar când se folosește algoritmul de filtru recursiv (4.11), sunt necesare doar două operații. Acesta este principalul avantaj al filtrelor recursive. În plus, filtrele recursive vă permit să procesați semnalul cu o precizie mai mare, deoarece vă permit să implementați mai corect răspunsul la impuls fără a-i elimina „coada”. Filtrele recursive vă permit să implementați algoritmi care sunt în general irealizabili folosind filtre nerecursive. De exemplu, pentru un filtru care funcționează conform schemei din Fig. 4.6 este, în esență, un integrator de stocare ideal și are un răspuns la impuls de forma Un filtru cu o astfel de caracteristică nu poate fi implementat într-o schemă nerecursivă.

Exemplele luate în considerare arată că nu are sens să folosiți algoritmi nerecursivi pentru a crea filtre digitale cu un răspuns lung la impuls. În aceste cazuri, este mai potrivit să folosiți filtre recursive.

Domeniul de aplicare al algoritmilor nerecursivi este implementarea de filtre digitale cu un răspuns la impuls care conține un număr mic de termeni. Un exemplu este cel mai simplu diferențietor, al cărui semnal de ieșire este egal cu creșterea semnalului de intrare:

Schema unui astfel de filtru digital este prezentată în Fig. 4.7.

Orez. 4.7. Schema celui mai simplu diferențiator digital

Luați în considerare acum un filtru digital general, care este descris de ecuație

Această ecuație poate fi considerată atât ca o ecuație de ordin al diferenței, cât și ca un algoritm de filtrare digitală, dacă este rescrisă într-un mod diferit, și anume

Orez. 4.8. Schema unui filtru recursiv de ordine digitală

Algoritmul (4.13) corespunde circuitului prezentat în fig. 4.8. Să găsim funcția de sistem a unui astfel de filtru. Pentru a face acest lucru, aplicați la ecuația -transformare:

Expresia (4.14) face posibilă stabilirea unei legături între măturarea elementelor circuitului de filtrare și funcția sistemului. Coeficienții din numărătorul funcției de sistem determină valorile coeficienților la

(în partea nerecursivă a filtrului), iar coeficienții din numitor determină partea recursivă a filtrului.

Filtru de răspuns la impuls finit (Filtru non-recursiv, Filtru FIR) sau filtru FIR (FIR prescurtare pentru răspuns la impuls finit - răspuns la impuls finit) - unul dintre tipurile de filtre digitale liniare, o trăsătură caracteristică a căruia este timpul limitat al răspunsului său la impuls (de la un moment dat devine exact zero) . Un astfel de filtru este numit și non-recursiv din cauza lipsei de feedback. Numitorul funcției de transfer a unui astfel de filtru este o anumită constantă.

Caracteristici dinamice

unde este funcția delta. Apoi răspunsul la impuls al filtrului FIR poate fi scris ca:

#define N 100 // ordine de filtrare plutitor h[N] = ( #include „f1.h” ); //inserați fișierul cu coeficienți de filtru cunoscuți float x[N] ; float y[N] ; short my_FIR(short sample_data) ( rezultat flotant = 0 ; pentru ( int i = N - 2 ; i >= 0 ; i-- ) ( x[ i + 1 ] = x[ i] ; y[ i + 1 ] = y[ i] ; ) x[ 0 ] = (float ) eșantion_date; pentru (int k = 0; k< N; k++ ) { result = result + x[ k] * h[ k] ; } y[ 0 ] = result; return ((short ) result) ; }

Vezi si

Legături

  • Calculul unui filtru FIR cu un răspuns de fază liniară utilizând metoda de eșantionare în frecvență

Fundația Wikimedia. 2010 .

  • Romodin, Vladimir Alexandrovici
  • Vokhma (râu)

Vedeți ce este „Filtrul de răspuns la impuls finit” în alte dicționare:

    Filtru - obțineți un cod promoțional BeTechno valid la Akademika sau cumpărați un filtru cu reducere la reducere la BeTechno

    filtru de răspuns la impuls finit- - Subiecte de telecomunicații, concepte de bază EN răspuns la impuls finit (filtru) FIR ... Manualul Traducătorului Tehnic

    Filtru de răspuns la impuls infinit- (Filtru recursiv, filtru IIR) sau filtru IIR (IIR prescurtare pentru răspuns la impuls infinit, răspuns la impuls infinit) un filtru electronic liniar care utilizează una sau mai multe dintre ieșirile sale ca intrare, adică ... ... Wikipedia

    Filtru FIR

    Filtru non-recursiv- Un filtru cu răspuns la impuls finit (filtru non-recursiv, filtru FIR, filtru FIR) este unul dintre tipurile de filtre electronice liniare, a cărui caracteristică este limitarea în timp a răspunsului său la impuls (din care ... Wikipedia

    Filtru recursiv- Filtrul cu răspuns la impuls infinit (filtru recursiv, filtru IIR) este un filtru electronic liniar care utilizează una sau mai multe dintre ieșirile sale ca intrare, adică formează părere. Proprietatea principală a unor astfel de filtre este... Wikipedia

    filtru digital- Filtru digital în electronică, orice filtru care prelucrează un semnal digital pentru a evidenția și/sau suprima anumite frecvențe ale acestui semnal. Spre deosebire de digital, un filtru analogic se ocupă cu un semnal analogic, cu proprietățile sale ...... Wikipedia

    filtru discret- Filtru digital în electronică, orice filtru care prelucrează un semnal digital pentru a evidenția și/sau suprima anumite frecvențe ale acestui semnal. Spre deosebire de un filtru analog digital, acesta se ocupă de un semnal analogic, proprietățile sale sunt nediscrete, ... ... Wikipedia

    Filtru de linie- Filtrul liniar este un sistem dinamic care folosește un anumit operator liniar la semnalul de intrare pentru a accentua sau suprima anumite frecvențe ale semnalului și alte funcții pentru procesarea semnalului de intrare. Filtrele liniare sunt utilizate pe scară largă în ... ... Wikipedia

    Media mobilă (filtru)- Acest termen are alte semnificații, vezi Media mobilă (dezambiguare). Diagrama bloc a unui filtru FIR simplu de ordinul doi care implementează o medie mobilă Media mobilă, media mobilă este un fel de filtru digital cu ... ... Wikipedia

    Media mobilă (valori)- Media mobilă, medie mobilă (ing. medie mobilă): Media mobilă a unei familii de funcții, a căror valoare în fiecare punct de definiție este egală cu valoarea medie a funcției inițiale pentru perioada anterioară. Media mobilă ...... Wikipedia

  • 7 Informații generale despre semnale. Clasificarea semnalelor.
  • 8 Forme de reprezentare a semnalelor. Semnale analogice, discrete, digitale.
  • 9 Semnale deterministe și aleatorii: periodice, aproape periodice, tranzitorii, staționare, ergodice, nestaționare.
  • 10 Calculul caracteristicilor numerice ale semnalelor
  • 11 Parametri care caracterizează forma de undă
  • 12 Integrarea semnalelor poliarmonice în domeniul frecvenței
  • 13 Formarea semnalelor periodice. mod tabelar.
  • 14 Formarea semnalelor poliarmonice.
  • 15 Un singur impuls. Reprezentarea semnalelor discrete.
  • 16 Discretizarea semnalelor continue. Teorema lui Kotelnikov. frecvența Nyquist.
  • 17 Sisteme liniare invariante la deplasare.
  • 18 Răspunsul la impuls al sistemelor liniare. Stabilitate și fezabilitate fizică.
  • 19 Seria Fourier și transformata Fourier integrală. Seria Fourier în formă complexă.
  • 20 Transformată Fourier pentru un impuls dreptunghiular.
  • 21 Reprezentarea unei secvențe periodice de impulsuri individuale în domeniul frecvenței.
  • 23 Transformată Fourier rapidă. Algoritm cu subțierea în timp. (tsos_materials_of lectures 24-30)
  • 24 Algoritm de inversare binar. Operare de bază FFT. (26-30)
  • 25 Utilizarea FFT pentru a procesa secvențe reale. (tsos_materials_of lectures 29-31)
  • 26 Conceptul de sistem//metodă liniar discret 8.1
  • 27 Răspunsul la impuls al sistemelor liniare. Reziliență și fizică
  • 28. Convoluția digitală a semnalelor.
  • 29 Ecuații cu diferențe liniare cu coeficienți constanți.
  • 30 Z-transform: implementare, proprietăți, aplicare.
  • 32 Transformări z tipice. Transformarea Z a unei unități digitale hop.
  • 33 Transformări z tipice. Transformarea Z a exponentului discret descrescător.
  • 34 Transformarea z inversă. Metode de calcul.
  • 35 Funcția de transfer a unui sistem discret liniar. Definirea răspunsului la impuls. (Vezi întrebarea)
  • 36 Funcția de transfer a unui sistem discret liniar. Definiție prin ecuație de diferență. Zerouri și poli.
  • 37 Funcția de transfer a legăturii de primă comandă.
  • 38 Funcția de transfer a legăturii de ordinul doi.
  • 39 Răspunsul în frecvență al unui sistem liniar discret.
  • 40 Calculul răspunsului în frecvență și al răspunsului de fază prin funcție de transfer.
  • 41 Calculul răspunsului în frecvență și al răspunsului de fază al legăturii de ordinul întâi.
  • 42 Calculul răspunsului în frecvență și al răspunsului de fază al legăturii de ordinul doi.
  • 43. Conceptul de filtru digital.
  • 44 de etape ale proiectării filtrelor digitale.
  • 45 Asigurarea liniarității răspunsului de fază al filtrului digital.
  • 46 Filtre digitale cu răspuns la impuls infinit. Metoda z-transformă biliniară pentru calcularea bifiltrelor de joasă frecvență.
  • 47 Filtre digitale cu răspuns la impuls infinit. Metoda z-transformă biliniară pentru calcularea bifiltrelor de înaltă frecvență.
  • 48 Filtre digitale cu răspuns la impuls finit. Calculul filtrelor FIR.
  • 49 Netezirea datelor. Media mobilă.
  • 50 Netezirea datelor. Netezire cu parabole.
  • 51 Netezirea datelor. Spencer netezind.
  • 52 Netezirea datelor. filtrare mediană.
  • 53 Determinarea parametrilor de tendință prin metoda celor mai mici pătrate.
  • 54 Conceptul de transformată wavelet, diferența față de transformata Fourier.
  • 55 Descrierea matematică a funcțiilor wavelet.
  • 56 Calculul undeletelor discrete.
  • 48 Filtre digitale cu răspuns la impuls finit. Calculul filtrelor FIR.

    Filtru de răspuns la impuls finit (Filtru non-recursiv, Filtru FIR) sau filtru FIR (FIR prescurtare pentru răspuns la impuls finit - răspuns la impuls finit) - unul dintre tipurile de filtre digitale liniare, o trăsătură caracteristică a căruia este timpul limitat al răspunsului său la impuls (de la un moment dat devine exact egal cu zero ). Un astfel de filtru este numit și non-recursiv din cauza lipsei de feedback. Numitorul funcției de transfer a unui astfel de filtru este o anumită constantă.

    Ecuația diferențelor care descrie relația dintre semnalele de intrare și de ieșire ale filtrului: unde P- ordinea filtrului, X(n) - semnal de intrare, y(n) este semnalul de ieșire și b i- coeficienții de filtrare. Cu alte cuvinte, valoarea oricărui eșantion de ieșire este determinată de suma valorilor scalate P numărări anterioare. Poate fi pus diferit: valoarea ieșirii filtrului în orice moment este valoarea răspunsului la valoarea instantanee a intrării și suma tuturor răspunsurilor care se deteriorează treptat P mostre de semnal anterioare care încă afectează ieșirea (după P-contează, funcția de tranziție a impulsului devine egală cu zero, așa cum sa menționat deja, deci toți termenii de după P va deveni, de asemenea, zero). Să scriem ecuația anterioară într-o formă mai încăpătoare:

    Pentru a găsi nucleul de filtru pe care l-am setat

    X(n) = δ( n)

    unde δ( n) este o funcție delta. Apoi răspunsul la impuls al filtrului FIR poate fi scris ca:

    Transformarea z a răspunsului la impuls ne oferă funcția de transfer a filtrului FIR:

    ]Proprietăți

    Filtrul FIR are o serie de proprietăți utile care îl fac uneori preferabil să fie utilizat în detrimentul filtrului IIR. Aici sunt câțiva dintre ei:

      Filtrele FIR sunt robuste.

      Filtrele FIR nu necesită feedback atunci când sunt implementate.

      Faza filtrelor FIR poate fi liniară

    Filtru FIR cu formă directă

    Filtrele FIR pot fi implementate folosind trei elemente: un multiplicator, un sumator și un bloc de întârziere. Opțiunea prezentată în figură este o implementare directă a filtrelor FIR de tip 1.

    Implementarea unui filtru FIR de formă directă

    Exemplu de program

    Următorul este un exemplu de program de filtru FIR scris în C:

    /* Filtru FIR cu 128 de rotiri */

    float fir_filter(intrare float)

    eșantion static flotant;

    acc = 0,0f; /* Baterie */

    /* Înmulțire cu acumulare */

    pentru (i = 0; i< 128; i++) {

    acc += (h[i] * eșantion[i]);

    /* Ieșire */

    /* Compensați semnalul întârziat */

    pentru (i = 127; i > 0; i--)

    eșantion[i] = eșantion;

    49 Netezirea datelor. Media mobilă.

    50 Netezirea datelor. Netezire cu parabole.

    51 Netezirea datelor. Spencer netezind.

    52 Netezirea datelor. filtrare mediană.

    Medie mobilă, netezire parabolică, netezire Spencer, filtrare mediană

    Atunci când se dezvoltă metode de determinare a parametrilor proceselor fizice care se modifică lent în timp, o sarcină importantă este eliminarea influenței efectelor de zgomot sau a interferențelor aleatorii care sunt suprapuse semnalului procesat obținut la ieșirea convertorului primar.

    Pentru a elimina acest efect, puteți aplica netezirea datelor. Una dintre cele mai simple moduri de astfel de netezire este media aritmetică. Când este aplicat, fiecare -a valoare a funcției discrete (matrice de date procesate) este calculată în conformitate cu expresia:

    unde este numărul de puncte pentru medierea aritmetică (întreg impar);

    Valoarea funcției înainte de procesare;

    Există și alte metode destul de eficiente de netezire, de exemplu, prin parabole de gradul doi în cinci, șapte, nouă și unsprezece puncte, în conformitate cu expresiile:

    sau parabole de gradul al patrulea în șapte, nouă, unsprezece și treisprezece puncte:

    În aplicațiile practice, alte metode eficiente dau rezultate bune, de exemplu, netezirea Spencer în 15 puncte:

    Înlocuind în aceste expresii exponentul complex , unde, putem determina funcția de transfer a transformării corespunzătoare.

    Pentru media aritmetică

    Expresia dintre paranteze este o progresie geometrică cu un numitor, deci această expresie poate fi scrisă ca:

    .

    Această formulă este caracteristica de transfer a filtrului trece-jos și din aceasta se poate observa că cu cât sunt mai mulți termeni implicați în mediere, cu atât este mai mare suprimarea componentelor de zgomot de înaltă frecvență din semnal (vezi Figura 6.1).

    Totuși, conceptul semantic de frecvență în procesarea tendințelor temporale diferă de cel în procesarea semnalului. Acest lucru se explică prin faptul că, atunci când se studiază tendințele de timp, nu compoziția lor de frecvență interesează, ci tipul de schimbare (creștere, scădere, constanță, ciclicitate etc.).

    Utilizarea așa-numiților algoritmi euristici este, de asemenea, destul de eficientă pentru netezirea datelor.

    Una dintre ele este filtrarea mediană. În cursul implementării sale într-o fereastră de timp glisante de dimensiune, unde este un întreg impar, elementul central este înlocuit cu elementul din mijloc al secvenței, care sunt ordonate, în ordine crescătoare a valorilor, elementele matricei de date ale semnal netezit care a căzut în fereastra de timp. Avantajul filtrării mediane este capacitatea de a elimina zgomotul de impuls, a cărui durată nu depășește, practic fără distorsiuni ale semnalelor care variază ușor. Această metodă de suprimare a zgomotului nu are o justificare matematică riguroasă, totuși, simplitatea calculelor și eficiența rezultatelor obținute au dus la utilizarea pe scară largă a acesteia.

    Figura 6.1 - Grafice ale caracteristicii de transfer

    operații de mediere aritmetică pentru m=5, 7, 9, 11

    Un alt algoritm de netezire interesant este mediana medie. Esența sa este următoarea. Într-o fereastră de timp glisantă, dimensiune (- întreg impar), elementele matricei de date sunt sortate în ordine crescătoare, iar apoi primul și ultimul element sunt eliminate din secvența ordonată (<). Центральный элемент временного окна из последовательности сглаживаемых данных заменяется значением, вычисляемым как

    Această metodă vă permite să suprimați interferențele de impuls și frecvență radio, precum și să obțineți o netezire bună a semnalului.

    "

    Totul a început când un prieten al unui prieten al unui prieten de-al meu a avut nevoie de ajutor cu aceleași filtre. Prin căi Jedi, zvonuri despre asta au ajuns la mine, m-am dezabonat în comentariile postării de pe link. Se pare că a ajutat. Ei bine, sper.

    Această poveste mi-a trezit amintiri despre a treia, sau ceva, bineînțeles, când eu însumi am trecut de DSP și m-a determinat să scriu un articol pentru toți cei care sunt interesați de modul în care funcționează filtrele digitale, dar cărora le este firesc frică de atrăgătoare. formule și desene psihedelice în (eu deja nu vorbesc despre manuale.

    În general, din experiența mea, situația cu manualele este descrisă de cunoscuta frază despre faptul că nu poți vedea pădurea din spatele copacilor. Și apoi să spunem, când încep imediat să te sperie cu transformarea Z și cu formulele cu împărțirea polinoamelor, care sunt adesea mai lungi de două plăci, interesul pentru subiect dispare extrem de repede. Vom începe cu unul simplu, deoarece nu este necesar să scriem expresii lungi și complexe pentru a înțelege ce se întâmplă.

    Deci, pentru început, câteva concepte de bază simple.

    1. Răspuns la impuls.

    Să presupunem că avem o cutie cu patru fire. Habar nu avem ce este înăuntru, dar știm sigur că cele două concluzii din stânga sunt intrarea, iar cele două din dreapta sunt ieșirea. Să încercăm să-i aplicăm un impuls foarte scurt de o amplitudine foarte mare și să vedem ce se întâmplă la ieșire. Ei bine, de ce, este la fel ce se află în interiorul acestui cvadripol - nu este clar, pentru că nu este clar cum să-l descriem, dar vom vedea măcar ceva.

    Aici trebuie spus că un impuls scurt (în general vorbind, infinit scurt) de amplitudine mare (în general vorbind, infinită) în teorie se numește funcție delta. Apropo, amuzant este că integrala acestui lucru fără sfârşit funcția este egală cu unu. Așa este normalizarea.

    Deci, ceea ce am văzut la ieșirea cvadripolului, după ce a aplicat funcția delta la intrare, se numește răspuns la impuls acest patrupol. Până acum, însă, nu este clar cu ce ne va ajuta, dar acum să ne amintim doar de rezultatul obținut și să trecem la următorul concept interesant.

    2. Convoluție.

    Pe scurt, convoluția este o operație matematică care se rezumă la integrarea produsului funcțiilor:

    Notat, după cum puteți vedea, cu un asterisc. De asemenea, se poate observa că în timpul convoluției, o funcție este luată în ordinea ei „directă”, iar pe a doua o trecem „înapoi în față”. Desigur, în cazul discret mai valoros pentru umanitate, convoluția, ca orice integrală, intră în însumare:

    S-ar părea că o abstractizare matematică plictisitoare. Cu toate acestea, de fapt, convoluția este poate cel mai magic fenomen al acestei lumi, surprinzător de inferior doar nașterii unei persoane, singura diferență fiind că de unde provin copiii, majoritatea oamenilor vor ști cel puțin până la vârsta de optsprezece, în timp ce despre ce este o convoluție și de ce este utilă și uimitoare, o mare parte a populației lumii habar nu are toată viața.

    Deci, puterea acestei operații constă în faptul că, dacă f este orice semnal de intrare arbitrar și g este răspunsul la impuls al cvadripolului, atunci rezultatul convoluției acestor două funcții va fi similar cu ceea ce am obține prin trecerea semnalul f prin acest cvadripol.

    Adică, răspunsul la impuls este o distribuție completă a tuturor proprietăților cvadripolului în raport cu acțiunea de intrare, iar convoluția semnalului de intrare cu acesta vă permite să restabiliți semnalul de ieșire corespunzător. În ceea ce mă privește, este pur și simplu uimitor!

    3. Filtre.

    Puteți face o mulțime de lucruri interesante cu răspuns la impuls și convoluție. De exemplu, dacă semnalul este audio, puteți organiza reverb, ecou, ​​chorus, flanger și multe, multe altele; poți să diferențiezi și să integrezi... În general, creează orice. Pentru noi acum, cel mai important lucru este că, desigur, cu ajutorul convoluției, filtrele se obțin ușor.

    Filtrul digital real este convoluția semnalului de intrare cu un răspuns la impuls corespunzător filtrului dorit.

    Dar, desigur, răspunsul la impuls trebuie obținut cumva. Desigur, ne-am dat deja seama cum să-l măsurăm mai sus, dar într-o astfel de sarcină nu are niciun sens în acest sens - dacă am asamblat deja un filtru, de ce să măsurăm altceva, îl puteți folosi așa cum este. Și, în plus, cea mai importantă valoare a filtrelor digitale este că pot avea caracteristici de neatins (sau foarte greu de realizat) în realitate - de exemplu, o fază liniară. Deci nu există nicio modalitate de a măsura, trebuie doar să numărați.

    4. Obținerea răspunsului la impuls.

    În acest moment, în majoritatea publicațiilor pe această temă, autorii încep să arunce pe cititor munți de transformări Z și fracții din polinoame, derutându-l complet. Nu o voi face, voi explica doar pe scurt la ce sunt toate acestea și de ce în practică nu este foarte necesar pentru publicul progresist.

    Să presupunem că am decis ce vrem de la filtru și am făcut o ecuație care îl descrie. În plus, pentru a găsi răspunsul la impuls, puteți înlocui funcția delta în ecuația derivată și puteți obține cea dorită. Singura problemă este cum se face, deoarece delta funcționează în timp O Regiunea este stabilită de un sistem viclean și, în general, există tot felul de infinitate. Deci, în această etapă, totul se dovedește a fi teribil de dificil.

    Aici, se întâmplă, și își amintesc că există un astfel de lucru precum transformarea Laplace. În sine, nu este un kilogram de stafide. Singurul motiv pentru care este tolerat în ingineria radio este tocmai faptul că în spațiul argumentului la care această transformare este o tranziție, unele lucruri devin cu adevărat mai simple. În special, aceeași funcție delta care ne-a dat atât de multe probleme în domeniul timpului este foarte ușor de exprimat - aici este doar una!

    Transformarea Z (alias transformată Laurent) este o versiune a transformării Laplace pentru sisteme discrete.

    Adică, aplicând transformarea Laplace (sau transformarea Z, dacă este necesar) funcției care descrie filtrul dorit, înlocuind unitatea în cel rezultat și conversia înapoi, obținem răspunsul la impuls. Sună ușor, oricine îl poate încerca. Nu voi risca, pentru că, așa cum am menționat deja, transformarea Laplace este un lucru dur, mai ales invers. Să o lăsăm ca ultimă soluție și noi înșine vom căuta câteva modalități mai simple de a obține ceea ce căutăm. Sunt mai multe dintre ele.

    În primul rând, ne putem aminti un alt fapt uimitor al naturii - răspunsurile amplitudine-frecvență și impuls sunt interconectate printr-o transformată Fourier bună și familiară. Aceasta înseamnă că putem atrage orice răspuns în frecvență pe gustul nostru, să luăm transformarea Fourier inversă din ea (fie continuă sau discretă) și să obținem răspunsul la impuls al sistemului care o implementează. Este pur și simplu uimitor!

    Aici, însă, nu se va descurca fără probleme. În primul rând, răspunsul la impuls pe care îl primim este probabil să fie infinit (nu voi intra în explicații de ce; așa funcționează lumea), așa că va trebui să-l întrerupem în mod voluntar la un moment dat (prin stabilirea lui la zero după aceea. punct). Dar acest lucru nu se va întâmpla chiar așa - ca urmare, așa cum era de așteptat, vor exista distorsiuni în răspunsul în frecvență al filtrului calculat - va deveni ondulat, iar tăierea frecvenței va fi neclară.

    Pentru a minimiza aceste efecte, se aplică diferite funcții ale ferestrei de netezire răspunsului la impuls scurt. Ca urmare, răspunsul în frecvență este de obicei neclar și mai mult, dar oscilațiile neplăcute (mai ales în banda de trecere) dispar.

    De fapt, după o astfel de procesare, obținem un răspuns la impuls de lucru și putem construi un filtru digital.

    A doua metodă de calcul este și mai simplă - răspunsurile la impuls ale celor mai populare filtre au fost de multă vreme exprimate într-o formă analitică pentru noi. Rămâne doar să vă înlocuiți valorile și să aplicați funcția fereastră rezultatului după gust. Deci nici măcar nu puteți număra orice transformări.

    Și, desigur, dacă scopul este de a emula comportamentul unui anumit circuit, puteți obține răspunsul său la impuls în simulator:

    Aici, am aplicat un impuls de 1 µs de 100500 volți (da, 100,5 kV) la intrarea circuitului RC și am primit răspunsul la impuls. Este clar că în realitate acest lucru nu se poate face, dar în simulator această metodă, după cum puteți vedea, funcționează excelent.

    5. Note.

    Cele de mai sus despre scurtarea răspunsului la impuls s-au referit, desigur, la așa-numitul. filtre cu răspuns la impuls finit (filtre FIR / FIR). Au o grămadă de proprietăți valoroase, inclusiv o fază liniară (în anumite condiții pentru construirea unui răspuns la impuls), care nu oferă nicio distorsiune a semnalului în timpul filtrării, precum și stabilitate absolută. Există filtre cu răspuns la impuls infinit (filtre IIR / IIR). Sunt mai puțin consumatoare de resurse în ceea ce privește calculele, dar nu mai au avantajele enumerate.

    În articolul următor, sper să analizez un exemplu simplu de implementare practică a unui filtru digital.



    Se încarcă...
    Top