Documente Academic
Documente Profesional
Documente Cultură
Silviu Ciochin
Fereastra Blackman
Ideea ce st la baza ferestrelor Hamming, de a realiza o fereastr cu tranziii
mai lente n timp, avnd ca rezultat un spectru cu lobi secundari mai mici, dar i o
lime mai mare a lobului principal, se poate n continuare extinde n generarea
altor
ferestre.
Un
exemplu
este
fereastra
Blackman
definit
prin:
1
1
2
4
0,42 0,5 cos n + + 0,08 cos n + , n 0, N 1
wB (n ) =
2
2
N
N
0
,
in rest
(2.95)
Analiza spectrului acestor ferestre se poate face urmnd aceeai cale ca n
cazul ferestrelor Hamming, cu urmtoarele concluzii:
Limea lobului principal este de 3 ori mai mare ca n cazul ferestrei
12
dreptunghiulare
;
N
Amplitudinile lobilor secundari nu depesc 58 dB din lobul principal. n
consecin, ondulaiile caracteristicii amplitudine frecven nu depesc
74 dB din amplitudinea saltului.
Fereastra Bartlett
Este o fereastr triunghiular, definit prin:
1
N 1
2
,
0n
N n + 2
2
2
1
1
N
wBT (n ) = 2 n + ,
n N 1
2
2
N
0
,
in rest
(2.96)
Silviu Ciochin
Fereastra Kaiser
Este definit prin:
2
I 1 2 n + 1 1
0
2
N
(2.97)
wK (n ) =
, n 0, N 1
I 0 ( )
0
,
in rest
( )
( )
(e ), k = 0,..., N 1
(2.98)
H e j k = H d j k
Aceasta implic:
2
jk 2 N 1
jkn
N , k = 0,..., N 1
(2.99)
H d e N = h(n ) e
n =0
invers:
jk 2
h(n ) = TFDI H d e N
2
(n ) , n = 0,..., N 1
(2.101)
Silviu Ciochin
deci
jk 2 jkn 2
(2.102)
H d e N e N , n = 0,..., N 1
k =0
N 1
prin:
H (z ) =
N 1
h(n ) z
n =0
N 1
1
=
n =0 N
jk 2
H d e N
k =0
N 1
jkn 2
e N z n =
(2.103)
n
2 N 1
2
jk
jk
1
= H d e N e N z 1
n =0
N k =0
jk N
N
1
1 z N
e
z N
1
e
=
=
z
2
2
jk
jk
n=0
1
1 e N z
1 e N z 1
aa nct se obine n final
N 1
jk
2
N
H (z ) =
1 z N N 1
N
k =0
jk 2
H d e N
1 e
jk
2
N
(2.104)
(2.105)
z 1
jk
2
N
z 1
s
rezulte ondulaii att n banda
1
H d (e )
de trecere ct i n banda de
oprire (Fig. 23). Amplitudinea
ondulaiilor poate fi mare, dac,
aa cum rezult din acest
exemplu, se impune o band de
tranziie foarte mic
(n
2 exemplul de fa mai mic dect
0 1 2 3 4 5 6 7
N 2
).
N
Fig. 23
Silviu Ciochin
N
N ,
(2.106)
Hd e
= Hd e
k = 0,..., N 1
( )
H 0 e j =
N 1
2
a' (n )cos n
(2.107)
n=0
( )
H 0 e j =
N
2
b' (n )cos n 2
(2.108)
Se poate arta c prin transformri trigonometrice simple, ultima relaie se
poate pune sub forma:
n =1
( )
H 0 e j = cos
N
1
2
b(n )cos n
(2.109)
n general, se poate demonstra c pentru oricare dintre cele 4 tipuri de filtre
cu faz liniar, funcia de faz nul poate fi pus sub forma:
n=0
( ) ( ) ( )
H 0 e j = Q e j P e j
unde
( ) = (n)cos n
Pe
iar Q(e
r 1
n=0
(2.110)
(2.111)
( )
Q e j
Silviu Ciochin
tipul1
1,
cos , tipul 2
2
=
sin , tipul 3
sin , tipul 4
( )
( )[ ( )
( )
( )]
E e j = W e j H d 0 e j H 0 e j
(2.112)
este o funcie pondere real, cu valori mai mari n acele domenii de
( )
( )
( ) [ ( ) ( ) ( )]
( ) [ ( ) ( )]
E e j = W e j H d 0 e j Q e j P e j = W e j H d 0 e j P e j
(2.113)
unde s-au notat:
( ) ( ) ( )
H (e )
H (e ) =
Q (e )
not
W e j = W e j Q e j
j
not
d0
d0
(2.114)
cu forma specificat mai
Ne punem problema s gsim funcia P e
nainte, deci s determinm coeficienii (n ) astfel nct s fie minimizate
maximele funciei de frecven E (e j ), adic s realizm:
( )
j
( )
min max E e j
(n )
A
(2.115)
( )
r 1
P e j = (n ) cos n
(2,116)
realizeaz cea mai bun aproximare n sens Cebev a unei funcii continue
H d 0 e j ntr-un domeniu compact A [0, ) dac i numai dac funcia eroare
n =0
( )
( )
un
( ) ( )
E (e ) = max{ E (e ) },
set
Silviu Ciochin
de
frecvene
E e j i = E e j i +1 , i = 0,1, L , r 1
j i
distincte
(2.117)
i = 0,1, L , r
1
1 cos cos 2 K cos(r 1)
(1) H d e j1
1
1
1
j
=
W e 1
M
M
M
M
M
O
M
M
r
e j r
H
(
)
1
We
( ) [ ( ) ( )]
( )
( )
( )
( )
( )
( )
( )
( )
Silviu Ciochin
De exemplu, n cazul unui FTJ, gabaritul caracteristicii amplitudinefrecvent este descris prin t , b , t , b (Fig.24). Dac N este impus, nu se mai
pot impune att b ct i t . Se poate ns impune raportul lor prin intermediul
( )
( )
We
= t
1
; [0, t ]
(2.119)
; [ b , ]
1+ t
1
1 t
b
t
Fig. 24
Astfel, eroarea n banda de oprire va rezulta b = , iar banda de trecere
t
. Dac dorim s impunem toi cei 4 parametri, atunci trebuie ales un N
b
suficient de mare. Exist formule empirice pentru o evaluare aproximativ a lui N.
t =
( )
( )
( )
( )
Silviu Ciochin
( )
( )[ ( )
( )]
ek = E e jk = W e jk H d 0 e j k H 0 e jk , k = 1,L, M
( )
(2.121)
(2.122)
i eroarea ptratic:
M
E = ek2 = eT e
(2.123)
k =1
sau
E=
[W (e ) [H (e ) H (e )]]
M
j k
d0
k =1
j k
j k
H0
Definim vectorii:
n =0
(2.124)
prin coeficienii a,
cos n
(2.125)
a = [a0 , a1 ,L, a P ]T
s k = [1, cos k ,L, cos P k ]T
aa nct
i
(e ) = a'
j k
(2.126)
H 0 e jk = s Tk a
(2.127)
ek = d k W e j k s Tk a unde d k = W e j k H d 0 e j k .
Vom introduce n continuare vectorul d :
d = [d1 , d 2 , K , d M ]T
[ ( ) ( )
W = diag W e j1 ,W e j 2 ,K ,W e j M
)]
(2.128)
(2.129)
(2.130)
(2.131)
Rezult
e = d WS T a
(2.132)
X = WS T
(2.133)
Vom nota
Silviu Ciochin
i deci
e = d Xa .
Problema se reduce la minimizarea formei ptratice
E = e T e = d Xa
(2.134)
(2.135)
a P
Pentru simplificarea scrierii vom nota:
R = XT X
(2.137)
r = XT d
R este o matrice simetric de dimensiuni (P + 1) (P + 1) i se verific uor c este
pozitiv semidefinit. r este un vector (P + 1) 1 . E devine deci:
E = d T d + a T Ra a T r r T a
S evalum derivatele termenilor ce compun expresia:
P
P
P
T
P P
a Ra =
2
a
R
a
a
R
a
R
=
+
=
i ij j j kj i ik ai Rik
a k
a k i =0 j =0
i =0
i =0
j =0
aa nct
a a T Ra = 2Ra
Apoi,
T
P
T
ai ri = rk
a r =
r a =
a k
a k
a k i =0
deci
( )
( )
(2.138)
(2.139)
(2.140)
(2.141)
( )
Silviu Ciochin
( )
(2.142)
a aT r = a r T a = r
Condiia a E = 0 se reduce deci la
(2.143)
Ra = r
numit i ecuaia normal, cu soluia
(2.144)
a = R 1r
Aceast valoare a lui a conduce realmente la un minim al formei ptratice E
deoarece Hessianul transformrii este 2 E = 2R , matrice pozitiv semidefinit.
Vectorul a se mai scrie
a = XT X
Matricea
XT d .
(2.145)
X + = XT X XT
(2.146)
este pseudoinversa matricei dreptunghiulare X i soluia problemei se poate
scrie:
a = X+d
(2.147)
Cele M frecvene pot fi eventual luate echidistante,
2
k = (k 1)
, k = 1,..., M
(2.148)
M
n cazul M = N se obine, ca un caz particular, metoda eantionrii n
frecven. Metoda aceasta poate fi privit deci ca o generalizare a metodei
eantionrii n frecven.
2.1.4 Funcii pentru proiectarea filtrelor FIR n MATLAB
Mediul MATLAB conine n directorul SIGNAL o serie de funcii destinate
proiectrii filtrelor FIR. Exist o serie de particulariti i de diferene fa de
notaiile i formulele prezentate pn acum, care vor fi succint trecute n revist.
Mai nti dou diferene generale:
- Frecvena de normare n MATLAB este FS 2 (unde FS este frecvena de
eantionare) n loc de FS , aa cum se lucreaz n teorie.
- Cu N se notez ordinul filtrului (i nu lungimea).
Proiectare cu metoda Remez
Exist dou funcii care realizeaz acest algoritm. Prima este o funcie
ajuttoare, care determin ordinul i pregtete parametrii necesari pentru sinteza
propriu zis. Ea are structura:
[N,Fo,Mo,W] = remezord(F,M,DEV,Fs)
n argumentele (parametrii de intrare) ai funciei se utilizeaz frecvene
nenormate. Fs este frecvena de eantionare. F,M i DEV sunt vectori prin care se
precizeaz caracteristica de amplitudine. Filtrul generat este de faz liniar. F este
10
Silviu Ciochin
M(1)
M(3)
M(2)=0
M(4)=0
FS 2
Fig. 2.25
. Deoarece fiecare band de trecere sau de oprire este specificat prin dou
frecvene, iar frecvenele 0 i FS 2 sunt implicite, rezult urmtoarea relaie ntre
dimensiunile vectorilor:
length(F)=2length(M)-2
length(M)=length(DEV)
Parametrii de ieire sunt:
- N ordinul minim al filtrului ce ndeplinete relaiile de gabarit impuse. Se
estimeaz cu ajutorul unor relaii empirice. Este posibil ca uneori acest ordin s
nu fie suficient. Este necesar ca dup sintez s se verifice realizarea condiiilor
de proiectare i, dac nu sunt ndeplinite, s se mreasc ordinul.
Fo vector al frecvenelor normate ce reprezint extremitile benzilor de
trecere sau de oprire. Primul element este obligatoriu 0 iar ultimul 1 (datorit
normrii la FS 2 ).
- Mo vector al amplitudinilor la frecvenele respective.
- W vectorul ce conine valorile funciei pondere pentru fiecare band.
11
Silviu Ciochin
Mo(1) Mo(2)
Mo(5) Mo(6)
Mo(3) Mo(4)
Fo(1)=0
Fo(3) Fo(4)
Fo(2)
Mo(7)
Fo(6)
Fo(5)
Mo(8)
Fo(8)=1
Fo(7)
Fig. 2.26
Evident, exist relaiile ntre dimensiunile vectorilor:
length(Fo)=length(Mo)= length(M)=length(W)
Sinteza propriu zis se realizeaz cu funcia:
B=remez(N,Fo,Mo,W)
unde N,Fo,Mo,W au semnificaiile precizate mai nainte i pot fi calculate cu
funcia remezord. Putem utiliza direct remez, dac ordinul filtrului este impus,
caz n care nu mai putem impune i valorile deviaiilor n toate benzile, ci doar
rapoartele lor, prin funcia de pondere W. n general, funcia genereaz un filtru
FIR de tipul 1 sau 2, n funcie de paritatea lui N. Se pot sintetiza i filtre cu
funcie pondere antisimetric, specificnd n lista de argumente hilbert sau
differentiator.
Exemplu
Dorim realizarea unui FTJ cu frecvena limit superioar a benzii de trecere
Ft = 1000 Hz , frecvena limit inferioar a benzii de oprire Fb = 2000 Hz , frecvena
de eantionare FS = 8000 Hz , eroarea maxim n banda de trecere de t = 20dB ,
atenuarea minim n banda de oprire de b = 40dB .
Se apeleaz mai nti funcia remezord.
[N,Fo,Mo,W] = remezord([1000,2000],[1,0],[0.1,0.01],8000)
care returneaz:
N=9
12
Silviu Ciochin
Fo=[0,0.25,0.5,1]
Mo=[1,1,0,0]
W=[1,10]
Se apeleaz apoi:
B=remez(N,Fo,Mo,W)
Vizualiznd cu freqz caracteristicile se constat c totui nu se obin n
totalitate erorile impuse. Majornd ordinul cu 2 uniti, se obine o ncadrare
corect n gabarit.
Caracteristica obinut cu ordinul sugerat de MATLAB:
M a g n it u d e (d B )
20
0
-2 0
-4 0
-6 0
-8 0
0 .1
0 .2
0 .3
0 .4
0 .5
P h a s e (d e g re e s )
N o r m a li z e d F r e q u e n c y
0 .6
0 .7
0 .8
0 .9
0 .8
0 .9
0.8
0.9
0.8
0.9
( ra d / s a m p le )
0
-1 0 0
-2 0 0
-3 0 0
-4 0 0
-5 0 0
0 .1
0 .2
0 .3
0 .4
0 .5
N o r m a li z e d F r e q u e n c y
0 .6
0 .7
( ra d / s a m p le )
50
0
-5 0
-1 0 0
-1 5 0
0.1
0.2
0.3
0.4
0.5
N o r m a liz e d F re q u e n c y
0.6
0.7
( ra d / s a m p le )
P h a s e (d e g re e s )
-2 0 0
-4 0 0
-6 0 0
0.1
0.2
0.3
0.4
0.5
N o r m a liz e d F re q u e n c y
0.6
0.7
( ra d / s a m p le )
Silviu Ciochin
B=fir1(N,F)
N este ordinul filtrului, F frecvena normat de tiere iar B este un vector cu
N + 1 elemente ce reprezint coeficienii filtrului.
Pentru FTS:
B=fir1(N,F,high)
Pentru FTB:
B=fir1(N,[F1,F2])
unde F1 i F2 delimiteaz banda de trecere.
Pentru FOB:
B=fir1(N,[F1,F2],stop)
Se poate sintetiza i un filtru multiband, dac F este un vector. Filtrele sunt
n general de tip 1 sau 2 (n funcie de N). Fereastra utilizat implicit este
Hamming propriu zis. Se pot ns utiliza i alte ferestre, preciznd acest lucru n
lista de argumente. n plus, coeficienii filtrului sunt normai n aa fel nct n
centrul benzii de trecere s se obin amplitudinea 1.
fir2 genereaz filtre cu o caracteristic de amplitudine poligonal
(constituit din segmente de dreapt), specificarea acesteia fiind identic celei de
la funcia remez.
B=fir2(N,Fo,Mo)
De aceea, pentru generarea parametrilor de intrare, inclusiv pentru
estimarea ordinului N, se poate utiliza ntr-o prim etap funcia remezord.
n ceea ce privete tipul de filtru i tipul ferestrei rmn valabile precizrile
fcute pentru fir1.
firls genereaz filtre pe baza minimizrii erorii n sensul celor mai
mici ptrate. Sinteza este:
B=firls(N,Fo,Mo,W)
n care parametrii au aceeai semnificaie ca n cazul funciei remez i n
consecin pot fi pregtii cu funcia remezord.
Probleme
1
Demonstrai c funcia de faz nul a unui filtru RFI cu faz liniar de tipul
3 este de forma
H 0 (e
unde
14
Silviu Ciochin
2.
Demonstrai c funcia de faz nul a unui filtru RFI cu faz liniar de tipul
4 este de forma
P
1
H 0 (e j ) = d ' (n) sin(n )
2
n =1
unde
d ' (n) = 2h( P n), n = 1,..., P
3.
Se tie c funcia de faz nul pentru un filtru RFI cu faz liniar de tipul 2
i lungime N = 2 P poate fi scris sub forma
P
1
H 0 (e j ) = b' (n) cos(n )
2
n =1
unde
b' (n) = 2h( P n),
n = 1,..., P
Demonstrai c ea mai poate fi pus i sub forma
( )
H 0 e j = cos
P 1
b(n )cos n
2 n=0
4.
Un filtru RFI cu faz liniar i coeficieni reali are un nul la z 0 = 0,5e i
un ctig de 0 dB la frecvena 0. Deducei funcia de pondere a filtrului de lungime
minim ce ndeplinete aceste condiii i reprezentai diagrama zerourilor. Evaluai
ctigul filtrului la frecvena Fs 2 unde Fs este frecvena de eantionare.
5.
Un filtru RFI cu faz liniar i coeficieni reali rejecteaz frecvenele 1kHz,
2kHz i 4kHz i are timp de ntrziere de grup minim. Frecvena de eantionare
este 8kHz, iar la frecvene joase, introduce o atenuare de 6 dB. Calculai funcia de
pondere a filtrului.
6.
Deducei expresiile coeficienilor h(n) pentru un filtru cu faz liniar de tipul
trece jos, cu frecvena de tiere Ft i frecvena de eantionare Fs, utiliznd fereastra
dreptunghiular. Care din cele patru tipuri de filtre pot fi utilizate? n care caz este
asigurat rejecia total a frecvenei Fs/2?
7.
Deducei expresiile coeficienilor h(n) pentru un filtru cu faz liniar de tipul
trece sus, cu frecvena de tiere Ft i frecvena de eantionare Fs, utiliznd fereastra
dreptunghiular n ipotezele:
15
Silviu Ciochin
f
2 a2
M
M
f M aM
Prima coloan reprezint frecvena, iar a doua, modulul funciei de transfer la
frecvena respectiv, f1 = 0, f M = 0,5 . ntre dou puncte succesive, caracteristica
este dreapta ce unete cele dou puncte.
12. S se proiecteze un filtru trece jos cu faz liniar de tipul 1, utiliznd fereastra
dreptunghiular, cu frecvena normat de tiere 0,05. Ct trebuie s fie ales ordinul
filtrului, aa nct s se rein:
a) numai lobul principal al funciei de pondere;
b) lobul principal i o pereche de lobi secundari;
c) lobul principal i primele dou perechi de lobi secundari.lobul principal i
primele trei perechi de lobi secundari.
Cum se modific rezultatele de mai sus dac se dubleaz frecvena de tiere?
Proiectai n Matlab filtrul n ipotezele a, b, c i d. Reprezentai coeficienii i
caracteristicile amplitudine-frecven n cele trei situaii. Ce concluzii rezult?
13. Exprimai funcia de faz nul corespunztoare unei ferestre Blackman n
funcie de aceea a unei ferestre dreptunghiulare i reprezentai-o grafic.
16
Silviu Ciochin
j
He
k=4
= x,
0, k = 5,6,7
Se vor considera mai nti cazurile x=0 i x=1. Determinai utiliznd mediul Matlab:
( )
17
Silviu Ciochin
18