Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
Prelucrarea semnalelor
Capitolul 4: Proiectarea filtrelor
Bogdan Dumitrescu
Facultatea de Automatica si Calculatoare
Universitatea Politehnica Bucuresti
PS cap. 4: Proiectarea filtrelor – p. 1/71
Cuprins
• Descrierea problemei de proiectare• Metoda ferestrei• Proiectarea filtrelor FIR în sens CMMP• Proiectarea filtrelor FIR în sens Chebyshev (minimax)• Proiectarea filtrelor IIR, metode de transformare
PS cap. 4: Proiectarea filtrelor – p. 2/71
Obiective generale ale proiectarii
• Scopul tipic al unui filtru digital este transformarea înfrecventa a semnalului de intrare
• Un interval de frecvente [ω1, ω2] se numeste banda detrecere daca semnalele sinusoidale cu aceste frecventesunt aproape nealterate de filtru (|H(ejω)| ≈ 1, ∀ω ∈ [ω1, ω2])
• Banda de oprire (de taiere, de stop): semnalele cufrecventele respective sunt taiate sau mult atenuate de filtru(|H(ejω)| ≈ 0, ∀ω ∈ [ω1, ω2])
• Faza filtrului poate fi sau nu considerata în proiectare; deobicei, se prefera filtrele cu faza liniara
PS cap. 4: Proiectarea filtrelor – p. 3/71
Filtre ideale
• Filtrele ideale sunt necauzale si au suport infinit• Tipuri: trece-jos, trece-sus, trece-banda, opreste-banda
ω
ωt
π
1
ω
ωt
π
1
ω
ω1
ω2
π
1
ω
ω1
ω2
π
1
PS cap. 4: Proiectarea filtrelor – p. 4/71
Raspuns cu tolerante fixate (1)
• Se impun erori maxime în benzile de trecere si oprire
ω
ωb
ωs
π
1
1+∆b
1−∆b
∆s
PS cap. 4: Proiectarea filtrelor – p. 5/71
Raspuns cu tolerante fixate (2)
• Datele de proiectare sunt (pentru filtru trece-jos): Frecventele ωb, ωs care definesc benzile de trecere si de
oprire; exista si o banda de tranzitie (ωb, ωs), în carevaloarea raspunsului este indiferenta
Tolerantele ∆b în banda de trecere [0, ωb] si ∆s în bandade oprire [ωs, π]
• Ordinul filtrului poate fi precizat de la început sau se poateîncerca gasirea unei solutii de ordin cât mai mic
• Daca ordinul e fixat, este posibil sa nu existe solutie• Dispunând de o metoda de proiectare pentru ordin fixat
(cazul tipic), ordinul minim se gaseste prin încercarisuccesive (bisectie !)
PS cap. 4: Proiectarea filtrelor – p. 6/71
Proiectare prin optimizare
• Se fixeaza ca obiectiv o caracteristica de frecventa, numitaraspuns dorit
• Pentru un filtru trece-jos raspunsul dorit poate fi
D(ω) =
1, pentru ω ∈ [0, ωb]
0, pentru ω ∈ [ωs, π]
• Cautam solutia într-o clasa de filtre de ordin M , notataC(M) (de exemplu, filtre FIR cu faza liniara, cu coeficientisimetrici, deci de tip I sau II)
• Scop: gasirea filtrului al carui raspuns în frecventa H(ω)este cel mai apropiat de D(ω), pe multimea de frecventeF = [0, ωb] ∪ [ωs, π]
PS cap. 4: Proiectarea filtrelor – p. 7/71
Problema de optimizare ın sens minimax (Chebyshev)
• F OPTINF. Dându-se un raspuns dorit D(ω) pe o multime defrecvente F ⊂ [0, π] si o clasa de filtre C(M), sa segaseasca filtrul H(z) din clasa C(M) al carui raspuns înfrecventa H(ω) este cel mai aproape în amplitudine deD(ω), în norma infinit, i.e.
minH∈C(M)
maxω∈F|D(ω)− |H(ω)||
• Se minimizeaza eroarea maxima fata de raspunsul dorit
PS cap. 4: Proiectarea filtrelor – p. 8/71
Raspuns specific al unei solutii minimax
• Eroarea |D(ω)− |H(ω)|| maxima este atinsa pentru maimulte frecvente
• Ondulatiile raspunsului au înaltimi egale în benzile detrecere si de oprire (filtru "equiripple")
ω
ωb
ωs
π
1 ωωb
ωs π
0 dB
PS cap. 4: Proiectarea filtrelor – p. 9/71
Problema de optimizare ın sens CMMP
• F OPT2. Dându-se un raspuns dorit D(ω) pe o multime defrecvente F ⊂ [0, π] si o clasa de filtre C(M), sa segaseasca filtrul H(z) din clasa C(M) al carui raspuns înfrecventa H(ω) este cel mai aproape în amplitudine deD(ω), în norma 2, i.e.
minH∈C(M)
∫
ω∈F[D(ω)− |H(ω)|]2dω
• Se minimizeaza energia erorii fata de raspunsul dorit
PS cap. 4: Proiectarea filtrelor – p. 10/71
Raspuns specific al unei solutii CMMP
• Ondulatiile sunt mai mari în apropierea benzii de tranzitie
ω
ωb
ωs
π
1 ωωb
ωs π
0 dB
PS cap. 4: Proiectarea filtrelor – p. 11/71
Alte moduri de formulare a optimizarii
• Pentru a avea erori mai mici în anumite zone (de exemplu înbanda de oprire), se poate introduce o pondere p(ω) > 0,astfel încât problema de optimizare sa fie
minH∈C(M)
∫
ω∈Fp(ω)[D(ω)− |H(ω)|]2dω
• În problemele F OPT2 si F OPTINF se optimizeaza doaramplitudinea raspunsului în frecventa al filtrului H(z).Pentru a optimiza întregul raspuns, se alege un raspunsdorit Dc(ω) complex:
minH∈C(M)
∫
ω∈F|Dc(ω)−H(ω)|2dω
• Utilizare tipica: filtre IIR cu faza cvasi-liniara
PS cap. 4: Proiectarea filtrelor – p. 12/71
Optimizare pe o multime discreta de frecvente
• Pentru simplificarea calculelor, problemele F OPT2 siF OPTINF pot fi tratate aproximativ
• Multimea continua de frecvente F se înlocuieste cu o griladiscreta de frecvente GL ⊂ F având L puncte (în practica,de ordinul sutelor). De obicei frecventele ωk ∈ GL se alegechidistante.
• F OPT2D. Dându-se un raspuns dorit D(ω), multimea defrecvente discrete GL = ω1, . . . , ωL si o clasa de filtreC(M), sa se rezolve
minH∈C(M)
1
L
L∑
k=1
[D(ωk)− |H(ωk)|]2
PS cap. 4: Proiectarea filtrelor – p. 13/71
Proiectarea filtrelor FIR cu metoda ferestrei
• Metoda foarte simpla, fara optimizare• Idee: modularea în timp a unui raspuns ideal (cu suport
infinit) cu un semnal de tip "fereastra", care are suport finit• Se proiecteaza un filtru FIR
H(z) =M∑
n=0
h[n]z−n
• Date de proiectare: ordinul M al filtrului amplitudinea raspunsului ideal în frecventa care trebuie
aproximat; de exemplu, pentru un filtru trece-jos, seprecizeaza frecventa ωt care delimiteaza benzile detrecere si de oprire
PS cap. 4: Proiectarea filtrelor – p. 14/71
Metoda ferestrei
1. Se ia întârzierea de grup n0 = M/2 si se calculeazaraspunsul la impuls al filtrului ideal. De exemplu, pentru unfiltru trece-jos, raspunsul ideal în frecventa este
Hid(ejω) =
e−jωn0 , daca |ω| ≤ ωt
0, daca ωt < |ω| ≤ π
iar raspunsul la impuls este hid[n] =sin ωt(n− n0)
π(n− n0)
2. Se alege o fereastra f [n] cu suport 0 : M
3. Se calculeaza coeficientii filtrului FIR modulând în timpraspunsul ideal hid[n] cu fereastra f [n], i.e. prin relatia
h[n] = hid[n] · f [n], n = 0 : M
PS cap. 4: Proiectarea filtrelor – p. 15/71
Exemplu
−5 0 5 10 15 20
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
n
hid
[n]
... ...
−5 0 5 10 15 20
0
0.2
0.4
0.6
0.8
1
n
f[n]
... ...
−5 0 5 10 15 20
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
n
h[n]
... ...
PS cap. 4: Proiectarea filtrelor – p. 16/71
Rezultate
• Dupa aplicarea algoritmului se traseaza raspunsul înfrecventa al filtrului FIR obtinut si se verifica daca esteconvenabil
• Daca nu este convenabil, se poate mari ordinul M sau sepoate alege o alta fereastra f [n]
• Raspunsul în frecventa al filtrelor ideale (cu benzi de treceresi de oprire) are faza liniara
• Daca coeficientii ferestrei f [n] sunt simetrici în raport cumijlocul M/2 al suportului 0 : M , atunci H(z) rezulta un filtrucu faza liniara de tip I sau II
• Un filtru cu faza neliniara ar rezulta daca s-ar alege oîntârziere n0 6= M/2
PS cap. 4: Proiectarea filtrelor – p. 17/71
Alegerea ferestrei
• Raspunsul în frecventa al filtrului H(z) poate fi scris înfunctie de raspunsurile în frecventa ale filtrului ideal siferestrei
H(ejω) =1
2π
∫ π
−πHid(e
jθ)F (ej(ω−θ))dθ
• H(ejω) = Hid(ejω) doar daca F (ejω) = 2πδ(ω), adica
(evident!) f [n] = 1
• Raspunsul în frecventa al ferestrei trebuie sa fie oaproximatie cât mai buna a impulsului unitate
• Aceasta cerinta este contradictorie cu suportul finit !!!
PS cap. 4: Proiectarea filtrelor – p. 18/71
Ferestre uzuale (1)
• Fereastra dreptunghiulara
fd[n] =
1, daca 0 ≤ n ≤M
0, altfel
• Trunchierea raspunsului ideal hid[n] da nastere fenomenuluiGibbs, deci |H(ejω)| are oscilatii mari în apropiereafrecventelor de tranzitie
• Ferestrele mai eficiente au valori mai mici la margineasuportului, pentru a preveni fenomenul Gibbs
• Fereastra triunghiulara (Bartlett)
ft[n] =
2n/M, daca 0 ≤ n ≤M/2
2− 2n/M, daca M/2 ≤ n ≤M
0, altfelPS cap. 4: Proiectarea filtrelor – p. 19/71
Ferestre uzuale (2)
•• Fereastra Hanning:
fHann[n] =
0.5− 0.5 cos(2π n+1M+2), daca 0 ≤ n ≤M
0, altfel
• Fereastra Hamming:
fHamm[n] =
0.54− 0.46 cos(2πn/M), daca 0 ≤ n ≤M
0, altfel
• Fereastra Blackman:
fB[n] =
0.42− 0.5 cos(2πnM ) + 0.08 cos(4πn
M ), daca 0 ≤ n ≤M
0, altfel
PS cap. 4: Proiectarea filtrelor – p. 20/71
Ferestre uzuale (3)
• Fereastra Kaiser:
fB [n] =
I0(β√
1− [(n− n0)/n0]2)
I0(β), daca 0 ≤ n ≤M
0, altfel
• I0(·) este functia Bessel de ordinul zero modificata• Parametrul β permite varierea proprietatilor ferestrei• Pentru β = 0 se obtine fereastra dreptunghiulara• Cu cât β este mai mare, cu atât raspunsul în frecventa al
ferestrei are atenuare mai mare, dar tranzitie mai larga
PS cap. 4: Proiectarea filtrelor – p. 21/71
Raspunsuri la impuls ale ferestrelor (1)
• Ferestre dreptunghiulara (stânga), triunghiulara (dreapta)
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
PS cap. 4: Proiectarea filtrelor – p. 22/71
Raspunsuri la impuls ale ferestrelor (2)
• Ferestre Hanning (stânga), Hamming (dreapta)
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
PS cap. 4: Proiectarea filtrelor – p. 23/71
Raspunsuri la impuls ale ferestrelor (3)
• Ferestre Blackman (stânga), Kaiser cu β = 3 (dreapta)
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
−5 0 5 10 15 20−0.2
0
0.2
0.4
0.6
0.8
1
1.2
PS cap. 4: Proiectarea filtrelor – p. 24/71
Caracteristici de frecventa ale ferestrelor (1)
• Ferestre dreptunghiulara (linie întrerupta), Hamming (liniecontinua) si Blackman (linie-punct), pentru M = 16
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−100
−90
−80
−70
−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
PS cap. 4: Proiectarea filtrelor – p. 25/71
Caracteristici de frecventa ale ferestrelor (2)
• Ferestre Kaiser cu β = 1 (linie întrerupta), β = 3 (liniecontinua) si β = 5 (linie-punct), pentru M = 16
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−100
−90
−80
−70
−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
PS cap. 4: Proiectarea filtrelor – p. 26/71
Filtre FIR proiectate cu metoda ferestrei (1)
• Ferestre dreptunghiulara (linie întrerupta), Hamming (liniecontinua) si Blackman (linie-punct)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.2
0.4
0.6
0.8
1
1.2
Frecventa normalizata
Am
plitu
dine
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−100
−90
−80
−70
−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
PS cap. 4: Proiectarea filtrelor – p. 27/71
Filtre FIR proiectate cu metoda ferestrei (2)
• Ferestre Kaiser cu β = 1 (linie întrerupta), β = 2.1 (liniecontinua) si β = 3 (linie-punct)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.2
0.4
0.6
0.8
1
1.2
Frecventa normalizata
Am
plitu
dine
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
PS cap. 4: Proiectarea filtrelor – p. 28/71
Exemplu de proiectare
• Dorim un filtru trece-jos, cu ωb = 0.3π si ωs = 0.5π
• Cu metoda ferestrei, vrem sa proiectam un filtru de ordinM = 16, cu erori cât mai mici în benzile de trecere si oprire
• Luam ωt = 0.4π (empiric !) si încercam mai multe ferestre
drept. Hann. Hamm. Black. Kaiser Kaiser Kaiserβ = 1 β = 2.1 β = 3
∆b 0.057 0.116 0.130 0.194 0.047 0.0336 0.068
∆s 0.103 0.119 0.131 0.197 0.078 0.0336 0.060
• Metoda ferestrei este utila atunci când specificatiile suntvagi iar optimalitatea nu este necesara
PS cap. 4: Proiectarea filtrelor – p. 29/71
Proiectare ın sens CMMP: filtre FIR cu faza neliniara
• Raspunsul dorit Dc(ω) este complex• Criteriul de optimizare este
minH∈C(M)
∫
ω∈F|Dc(ω)−H(ω)|2
• Nu exista nici o restrictie asupra coeficientilor filtrului (e.g.de tip faza liniara): C(M) e multimea filtrelor FIR de ordin M
PS cap. 4: Proiectarea filtrelor – p. 30/71
Transformarea problemei (1)
• Raspunsul în frecventa al filtrului poate fi scris
H(ejω) =
M∑
n=0
h[n]e−jωn = hT e(ω)
• Vectorul coeficientilor filtrului
h = [ h[0] h[1] . . . h[M ] ]T ∈ RM+1
contine variabilele problemei de optimizare• Vectorul
e(ω) = [1 e−jω . . . e−jωM ]T ∈ CM+1
este cunoscut pentru orice frecventa ω
PS cap. 4: Proiectarea filtrelor – p. 31/71
Transformarea problemei (2)
• Patratul erorii poate fi scris în forma
|H(ejω)−Dc(ω)|2 = [hT e(ω)−Dc(ω)][eH(ω)h−D∗c (ω)]
= hT e(ω)eH(ω)h− 2Re[eH(ω)Dc(ω)]h + |Dc(ω)|2
• Matricea
e(ω)eH(ω) =
1 ejω . . . ejωM
e−jω 1. . . ejω(M−1)
. . . . . . . . . . . .
e−jωM . . . . . . 1
= C(ω)+jS(ω)
are structura Toeplitz hermitica
PS cap. 4: Proiectarea filtrelor – p. 32/71
Transformarea problemei (3)
• Partea reala este o matrice Toeplitz simetrica
C(ω) =
1 cos(ω) . . . cos(ωM)
cos(ω) 1. . . cos(ω(M − 1))
. . . . . . . . . . . .
cos(ωM) . . . . . . 1
• Partea imaginara este o matrice Toeplitz antisimetrica
S(ω) =
0 sin(ω) . . . sin(ωM)
− sin(ω) 0. . . sin(ω(M − 1))
. . . . . . . . . . . .
− sin(ωM) . . . . . . 0
PS cap. 4: Proiectarea filtrelor – p. 33/71
Transformarea problemei (4)
• Deoarece S(ω)T = −S(ω), rezulta hT S(ω)h = 0
• Notând gT (ω) = Re[eH(ω)Dc(ω)] putem scrie
|H(ejω)−Dc(ω)|2 = hT C(ω)h− 2gT (ω)h + |Dc(ω)|2
• Notam
P =
∫
ω∈FC(ω)dω, q =
∫
ω∈Fg(ω)dω
• Matricea P este pozitiv definita
PS cap. 4: Proiectarea filtrelor – p. 34/71
Problema de optimizare CMMP
• Criteriul de optimizare în sens CMMP capata forma
minh∈RM+1
hT Ph− 2qT h
• Vectorul coeficientilor filtrului optim este
h = P−1q
• Demonstratie: pentru a minimiza criteriul
V (h) = hT Ph− 2qT h anulam gradientul ∂V (h)∂h = 2Ph− 2q,
de unde rezulta h = P−1q. Acest h corespunde într-adevar
unui punct de minim deoarece Hessianul ∂2V (h)∂h2 = 2P este
pozitiv definit.
PS cap. 4: Proiectarea filtrelor – p. 35/71
Algoritmul de proiectare
0. Date de proiectare: ordinul M al filtrului, raspunsul ideal înfrecventa Dc(ω) (cu valori complexe) care trebuie aproximatsi multimea de frecvente F pe care se face aproximatia
1. Se calculeaza matricea P si vectorul q
P =
∫
ω∈FC(ω)dω, q =
∫
ω∈Fg(ω)dω
2. Se calculeaza h = P−1q
PS cap. 4: Proiectarea filtrelor – p. 36/71
Exemplu de proiectare: filtru FIR trece-jos (1)
• Datele de proiectare sunt ordinul filtrului M , frecventele ωb
si ωs, întârzierea de grup n0 si raspunsul dorit
Dc(ω) =
e−jωn0 , daca |ω| ≤ ωb
0, daca ωs < |ω| ≤ π
• Pentru a construi matricea P , tinem seama ca
∫ ω2
ω1
cos(nω)dω =sin(nω2)
n−sin(nω1)
n= ω2sinc(nω2)−ω1sinc(nω1)
• Deoarece F = [0, ωb] ∪ [ωs, π], elementul de pe diagonala na matricei Toeplitz P este
pn = ωbsinc(nωb)− ωssinc(nωs) + πδ[n]
PS cap. 4: Proiectarea filtrelor – p. 37/71
Exemplu de proiectare: filtru FIR trece-jos (2)
• Elementele vectorului q sunt
qn =
∫
ω∈FRe[ejnωDc(ω)]dω =
∫ ωb
0Re[ej(n−n0)ω]dω
=
∫ ωb
0cos(n− n0)ωdω = ωbsinc(n− n0)ωb
• Programul Matlab:
T = (0:M)’;p = wb*sinc(T*wb) - ws*sinc(T*ws) + eye(size(T));P = toeplitz(p);q = wb*sinc((T-n0)*wb);h = P \ q;
PS cap. 4: Proiectarea filtrelor – p. 38/71
Exemplu de proiectare: filtru FIR trece-jos (3)
• M = 16, ωb = 0.3π, ωs = 0.46π, n0 = 8
• Pentru n0 = M/2 filtrul optim are faza liniara !
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−200
−100
0
100
200
Frecventa normalizata
Faz
a (v
al.p
rinc.
)
PS cap. 4: Proiectarea filtrelor – p. 39/71
Exemplu de proiectare: filtru FIR trece-jos (4)
• M = 16, ωb = 0.3π, ωs = 0.46π, n0 = 5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−200
−100
0
100
200
Frecventa normalizata
Faz
a (v
al.p
rinc.
)
PS cap. 4: Proiectarea filtrelor – p. 40/71
Alte probleme de proiectare CMMP
• Pentru filtre FIR cu faza liniara de ordin M :
H(ejω) = hT c(ω)e−jωM/2
• De exemplu, pentru filtrele de tip I:
h = [ h[M2 ] h[M2 − 1] . . . h[1] h[0] ]T ∈ RM
2+1,
c(ω) = [1 2 cos ω . . . 2 cos(ω(M2 − 1)) 2 cos(ωM
2 ) ]T ∈ RM
2+1
• Problema de optimizare CMMP se formuleaza si se rezolvaasemanator, utilizând doar coeficientii distincti ai filtrului
• Problema F OPT2D: matricea P si vectorul q nu suntcalculate prin integrare, ci printr-o suma finita
• De exemplu P = 1L
∑Lk=1 C(ωk)
PS cap. 4: Proiectarea filtrelor – p. 41/71
Proiectarea filtrelor FIR ın sens Chebyshev
• Ne ocupam doar de filtre FIR cu faza liniara (pentru careproiectarea este mai simpla)
• Problema: F OPTINF
• Algoritm: Parks-McClellan• Discutam doar elementele esentiale ale metodei• Consideram doar filtre de tip I, al caror raspuns în frecventa
are partea reala (K = M/2)
Hr(ω) =K
∑
n=0
gn cos(nω) =K
∑
n=0
fn(cos ω)n
• Algoritmul foloseste notiuni de aproximare polinomiala
PS cap. 4: Proiectarea filtrelor – p. 42/71
Proprietatile filtrului optim
• Eroarea cu care raspunsul filtrului aproximeaza raspunsuldorit este E(ω) = D(ω)−Hr(ω)
• Pentru un filtru optim, functia E(ω) are un numar deextreme locale, toate cu aceeasi amplitudine ∆
• Teorema de alternanta: pentru solutia unei problemeF OPTINF, functia eroare E(ω) are L ≥ K + 2 extreme localeîn frecventele ω1, . . . , ωL, cu aceeasi amplitudine si cusemne alternante, i.e.
E(ωk) = (−1)k∆, k = 1 : L,
unde ∆ este valoarea maxima a erorii (egala cu normainfinit, sau Chebyshev, a functiei E(ω))
PS cap. 4: Proiectarea filtrelor – p. 43/71
Exemplu de filtru optim
• Pentru M = 16, K = 8 un exemplu de Hr(ω) optim este
ω
ωb
ωs
π
1
• Valoarea maxima a erorii este atinsa în K + 2 = 10 puncte
PS cap. 4: Proiectarea filtrelor – p. 44/71
Algoritmul Parks-McClellan (Remez)
1. Se aleg K + 2 frecvente ωk ∈ [0, π], k = 1 : K + 2. Se alegeo toleranta ε.
2. Se rezolva sistemul E(ωk) = (−1)k∆, k = 1 : K + 2,necunoscutele fiind coeficientii f0, . . . , fK si valoarea ∆.
3. Se calculeaza punctele de extrem ω′k ∈ [0, π], k = 1 : L, ale
raspunsului Hr(ω) obtinut, si se retin K + 2 dintre ele, celepentru care eroarea |D(ω′
k)−Hr(ω′k)| are valorile cele mai
mari.
4. Daca |ωk − ω′k| ≤ ε, k = 1 : K + 2, atunci solutia a fost
obtinuta. Altfel, se pune ωk ← ω′k, k = 1 : K + 2, si se reia
de la pasul 2.
PS cap. 4: Proiectarea filtrelor – p. 45/71
Explicatii
• Algoritmul se bazeaza pe "fortari" succesive ale relatieiE(ωk) = (−1)k∆ care caracterizeaza filtrul optim
• Dupa ce la pasul 1 se alege un set arbitrar de frecvente ωk,nu se obtine eroarea ∆ minima
• De aceea, punctele de extrem ω′k, calculate la pasul 3, sunt
diferite de punctele initiale ωk
• Algoritmul converge !• Numeroase detalii de implementare: de exemplu, la
proiectarea unui filtru trece-jos, frecventele ωb si ωs fac parteîntotdeauna din setul de frecvente ωk
PS cap. 4: Proiectarea filtrelor – p. 46/71
Rezolvarea problemei F OPTINFD
• Date fiind o multime discreta de frecvente GL = ω1, . . . , ωLsi un raspuns dorit Dr(ω) real, problema de proiectare aunui filtru FIR cu faza liniara
minh
maxk=1:L
|D(ωk)− cT (ωk)h|
• Vectorul h contine coeficientii distincti ai filtrului, vezi pag. 41• Problema de optimizare se poate transforma într-o
problema de programare liniara• Aceasta se rezolva cu algoritmi standard (de exemplu
functia lp din Matlab)
PS cap. 4: Proiectarea filtrelor – p. 47/71
Transformarea problemei (1)
• Introducem variabila suplimentara
∆ = maxk=1:L
|D(ωk)− cT (ωk)h|
care are semnificatie de eroare maxima de aproximare pemultimea de frecvente GL
• Putem asadar scrie
−∆ ≤ cT (ωk)h−D(ωk) ≤ ∆, k = 1 : L,
sau
D(ωk)−∆ ≤ cT (ωk)h ≤ D(ωk) + ∆, k = 1 : L
PS cap. 4: Proiectarea filtrelor – p. 48/71
Transformarea problemei (2)
• Problema de optimizare capata forma
minh,∆
∆
cu restrictiile cT (ωk)h−∆ ≤ D(ωk), k = 1 : L
−cT (ωk)h−∆ ≤ −D(ωk), k = 1 : L
• Vectorul variabilelor problemei de optimizare este
ξ =
[
h
∆
]
∈ RM ′+1
unde M ′ este numarul de coeficienti distincti ai filtrului
PS cap. 4: Proiectarea filtrelor – p. 49/71
Transformarea problemei (3)
• Notam
Ψ =
cT (ω1) −1...
...cT (ωL) −1
−cT (ω1) −1...
...−cT (ωL) −1
∈ R2L×(M ′+1), β =
D(ω1)...
D(ωL)
−D(ω1)...
−D(ωL)
∈ R2L
γ = [0 . . . 0 1]T ∈ RM ′+1
PS cap. 4: Proiectarea filtrelor – p. 50/71
Programul liniar pentru rezolvarea F OPTINFD
• Problema de optimizare este echivalenta cu programul liniar
minξ∈RM′+1
γT ξ
cu restrictiile Ψξ ≤ β
• Numele de program liniar provine din faptul ca atât criteriulcât si restrictiile sunt liniare în variabila vectoriala ξ
• Notatia Ψξ ≤ β are semnificatia ca fiecare element alvectorului Ψξ este mai mic sau egal cu elementulcorespunzator al vectorului β
• Cu cât L este mai mare (discretizare mai fina), cu atâtsolutia programului este mai aproape de solutia problemeiF OPTINF
PS cap. 4: Proiectarea filtrelor – p. 51/71
Exemplu de proiectare: filtru FIR trece-jos
• M = 16, ωb = 0.3π, ωs = 0.46π, L = 100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−200
−100
0
100
200
Frecventa normalizata
Faz
a (v
al.p
rinc.
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−60
−50
−40
−30
−20
−10
0
10
Frecventa normalizata
Am
plitu
dine
(dB
)
PS cap. 4: Proiectarea filtrelor – p. 52/71
Proiectarea filtrelor IIR prin metode de transformare
• Filtrele analogice au fost primele utilizate în aplicatiipractice, cu decenii bune înaintea celor digitale
• Metodele de proiectare a filtrelor analogice erau deja binedezvoltate atunci când a aparut necesitatea proiectariifiltrelor digitale
• Metoda simpla de proiectare: transformarea (printr-o functieadecvata a) filtrelor analogice în filtre digitale
• Filtrele analogice sunt IIR, deci în mod natural se obtin filtredigitale IIR
• Daca H(s) si G(z) sunt functii de transfer în continuu,respectiv discret, raspunsurile în frecventa sunt H(jΩ),respectiv G(ejω)
• Transformarea continuu-discret este z = f(s). Cu ea setransforma H(s) în H(z)
PS cap. 4: Proiectarea filtrelor – p. 53/71
Schema de proiectare
Specificareperformante
H(z)
H(s)Performantetimp continuu
?
-
Transformare
discret-continuu
discret(digital)
continuu(analogic)
6Transformare
continuu-discret
Proiectare
în continuu
PS cap. 4: Proiectarea filtrelor – p. 54/71
Filtrul Butterworth (analogic)
• Este definit de ordinul sau N si de o frecventa de taiere Ωt
• Raspunsul în frecventa al filtrului este
|H(jΩ)|2 = H(jΩ)H(−jΩ) =1
1 + (Ω/Ωt)2N
• Amplitudinea raspunsului în frecventa al filtrului Butterwortheste descrescatoare
• |H(jΩt)| = 1/√
2, H(0) = 1
• Avantaj pentru proiectare: raspunsul în frecventa are oforma analitica simpla
PS cap. 4: Proiectarea filtrelor – p. 55/71
Caracteristica de frecventa a filtrului Butterworth
Ω
Ωt
|H(jΩ)|
0.707
1
PS cap. 4: Proiectarea filtrelor – p. 56/71
Functia de transfer a filtrului Butterworth
• Functia de transfer se determina punând s = jΩ
H(s)H(−s) =1
1 + (s/jΩt)2N
• Cei 2N poli ai functiei H(s)H(−s) sunt definiti de(−1)1/2N jΩt, deci au forma
sk = Ωtexp(
−jπ
2N(2k − 1 + N)
)
, k = 0 : 2N − 1
• Polii sunt plasati echidistant pe un cerc de raza Ωt centrat înorigine, simetric fata de axa imaginara
• Pentru H(s) se iau polii cu parte reala negativa, astfel încâtH(s) sa fie o functie de transfer stabila
PS cap. 4: Proiectarea filtrelor – p. 57/71
Exemple de poli
• N = 4 (stânga), N = 5 (dreapta)
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Parte reala
Par
te im
agin
ara
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Parte reala
Par
te im
agin
ara
PS cap. 4: Proiectarea filtrelor – p. 58/71
Filtre Chebyshev
• Filtrele Chebyshev de tip I (ordin N )
|H(jΩ)|2 = H(jΩ)H(−jΩ) =1
1 + ǫ2T 2N (Ω/Ωb)
• TN (x) este polinomul Chebyshev de ordinul N
TN (x) =
cos(N cos−1(x)), pentru |x| ≤ 1
cosh(N cosh−1(x)), pentru |x| > 1
• Raspunsul are ondulatii egale în banda de trecere si estedescrescator în banda de oprire
• Parametrul ǫ dicteaza înaltimea ondulatiilor• Filtrul Chebyshev de tipul II se obtine printr-o transformare a
celui de tip I si are ondulatii egale în banda de oprire
PS cap. 4: Proiectarea filtrelor – p. 59/71
Raspunsuri ın frecventa
• Stânga: tip I, N = 4. Dreapta: tip II, N = 6
Ω
Ωb
|H(jΩ)|1Mb
Ω
Ωs
|H(jΩ)|
PS cap. 4: Proiectarea filtrelor – p. 60/71
Filtrul eliptic
• |H(jΩ)|2 = H(jΩ)H(−jΩ) =1
1 + ǫ2U2N (Ω/Ωb)
• UN (·) este functia Jacobi eliptica de ordinul II
• Ondulatii egale în banda de trecere si în cea de oprire• Caracteristica de frecventa pentru N = 4
Ω
Ωb
Ωs
|H(jΩ)|1Mb
PS cap. 4: Proiectarea filtrelor – p. 61/71
Proprietatile unei transformari continuu-discret
• O transformare continuu-discret z = f(s) trebuie sa aibaurmatoarele proprietati: sa fie biunivoca sa transforme semiplanul complex stâng în discul
unitate, astfel încât un filtru analogic stabil sa fietransformat într-un filtru digital stabil si reciproc;
sa transforme axa imaginara în cercul unitate, astfelîncât raspunsul în frecventa H(jΩ) al unui filtru analogicsa-si pastreze alura în transformatul sau digital H(ejω)(notam H(s) filtrul analogic si, cu aceeasi litera,H(z) = H(f(s)) filtrul digital)
PS cap. 4: Proiectarea filtrelor – p. 62/71
Transformarea biliniara (1)
• Transformarea biliniara este definita prin z =1 + s
1− s
• Transformarea inversa este s =z − 1
z + 1=
1− z−1
1 + z−1
• Înlocuind s = jΩ si z = ejω rezulta
ejω =1 + jΩ
1− jΩ
• Transformarea continuu-discret a frecventelor este
ω = 2arctgΩ, Ω = tgω
2
• Transformarea este neliniara
PS cap. 4: Proiectarea filtrelor – p. 63/71
Transformarea biliniara (2)
Ω
ωπ
−π
• Transformarea biliniara transforma semiplanul complexstâng în discul unitate
• Notam s = u + jv. Daca Re(s) = u < 0, atunci(1 + u)2 < (1− u)2 si deci
|z|2 =
∣
∣
∣
∣
1 + s
1− s
∣
∣
∣
∣
2
=(1 + u)2 + v2
(1− u)2 + v2< 1
PS cap. 4: Proiectarea filtrelor – p. 64/71
Filtrul Butterworth discret
• Fiind o functie crescatoare, transformarea în frecventaω = 2arctgΩ pastreaza forma raspunsului în frecventa alunui filtru analogic
• Filtrul Butterworth analogic se transforma în
|H(ejω)|2 =1
1 +(
tg(ω/2)tg(ωt/2)
)2N, ωt = 2arctgΩt
PS cap. 4: Proiectarea filtrelor – p. 65/71
Filtrul Butterworth discret: proiectare
• Date de proiectare: ωb, ωs, ∆b, ∆s
• Etapa 1: transpunem cerintele de proiectare în domeniulcontinuu
Ωb = tgωb
2, Ωs = tg
ωs
2
• Etapa 2: gasim un filtru Butterworth H(s) pentru care
|H(Ωb)| ≥ 1−∆b, |H(Ωs)| ≤ ∆s
• (Detalii în Lab. 6 sau în carte)• Etapa 3: filtrul discret H(z) se obtine aplicând
transformarea biliniara filtrului analogic H(s)
PS cap. 4: Proiectarea filtrelor – p. 66/71
Caracteristici de frecventa
• Filtru Butterworth discret (stânga), analogic (dreapta)(Mb = 1−∆b)
ω
πωb
ωs
1
Mb
∆s Ω
Ωb
Ωs
1
Mb
∆s
PS cap. 4: Proiectarea filtrelor – p. 67/71
Transformari discret-discret ın frecventa
• Filtrele IIR analogice discutate sunt de tip trece-jos, iar printransformarea biliniara se obtin filtre digitale trece-jos
• Pentru a proiecta altfel de filtre digitale (trece-sus,trece-banda etc.), se pot utiliza transformari în frecventa,care obtin filtrul dorit dintr-unul trece-jos
• O astfel de transformare Z = G(z) trebuie sa fie inversabila sa transforme discul unitate în el însusi (sa se conserve
stabilitatea) sa transforme cercul unitate în el însusi
• Toate transformarile de acest tip sunt functii trece-tot !
PS cap. 4: Proiectarea filtrelor – p. 68/71
Transformare trece-jos−→ trece-sus
• Transformarea este trece-tot de ordinul 1
Z−1 = − z−1 − c
1− cz−1, c ∈ R, |c| < 1
• Pe cercul unitate (z = ejω, Z = ejθ):
e−jθ = − e−jω − c
1− ce−jω=
2c− (1 + c2) cos ω + j(c2 − 1) sin ω
1 + c2 − 2c cos ω
• Transformarea în frecventa este
θ = arctg
[
(1− c2) sin ω
2c− (1 + c2) cos ω
]
PS cap. 4: Proiectarea filtrelor – p. 69/71
Graficul transformarii ın frecventa
• c = 0 (linie continua), c = −0.5 (linie-punct), c = 0.5 (linieîntrerupta)
ω
π
πθ
PS cap. 4: Proiectarea filtrelor – p. 70/71
Exemplu de filtre trece-sus
ω
π
1
ω
π
1
• Pentru c = 0, rezulta Z = −z, θ = π − ω
• Raspunsul în frecventa al filtrului trece-sus este obtinut prinoglindire fata de verticala care trece prin π/2
PS cap. 4: Proiectarea filtrelor – p. 71/71