FIR- ltre · FIR Lavpass Filter Avhengig av symmetrien og om orden på lteret M er et partall eller...
Transcript of FIR- ltre · FIR Lavpass Filter Avhengig av symmetrien og om orden på lteret M er et partall eller...
FIR-�ltre
Jan Egil Kirkebø
Universitetet i Oslo
janki@i�.uio.no
4. november 2019
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 1 / 29
Filtre
LTI-system: Lineart og tidsinvariantsystem.
Filter: LTI-system som forandrer etinputsignal på en bestemt måte.
Frekvensselektivt �lter:Frekvensspekteret til et inputsignalformes slik at noenfrekvenskomponenter passerer mensandre undertrykkes.
FIR: Finite impulse response (endeligimpulsrespons).
IIR: In�nite impulse response (uendeligimpulsrespons).
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 2 / 29
Filterdesign (fra boken)
1 Speci�cation: Specify the desired frequency response function
characteristics to address the needs of a speci�c application.
2 Approximation: Approximate the desired frequency response function by
the frequency response of a �lter with a polynomial or a rational system
function. The goal is to meet the speci�cations with minimum complexity,
that is, by using the �lter with the lowest number of coe�cients.
3 Quantization: Quantize the �lter coe�cients at the required �xed-point arith-
metic representation. Quantization of �lter coe�cients and its implications for
performance are discussed in Chapter 15.
4 Veri�cation: Check whether the �lter satis�es the performance
requirements by simulation or testing with real data. If the �lter does not
satisfy the requirements, return to Stage 2, or reduce the performance
requirements and repeat Stage 4.
5 Implementation: Implement the system obtained in hardware, software, or
both. Structures for the realization of discrete-time systems have been discus-
sed in Chapter 9.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 3 / 29
Filterspesi�kasjon
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 4 / 29
Approksimeringsfeil
Vil �nne en H(z) slik at��H �e j!��� eller \H �e j!� tilnærmer en ideell
�lterrespons Hd
�e j!�(f.eks. over et frekvensintervall av interesse B,
vanligvis unionen av passbånd og stoppbånd).
Minste kvadraters tilnærming: Energien i feilen:
E2 =
�1
2�
ZB
��Hd
�e j!�� H
�e j!���2 d!
�1=2
:
Minimax (Chebyshev) tilnærming: Maksimal feil:
E1 = max!2B
��Hd
�e j!�� H
�e j!��� :
Taylorrekke tilnærming: Maksimal �at respons. Ønsker at
funksjonen A(!) =��H �e j!���2 skal være veldig lik funksjonen
Ad(!) =��Hd
�e j!���2 ved frekvensen ! = !0. Setter A(!0) = Ad(!0)
og approksimerer ved å la de m � 1 deriverte være like.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 5 / 29
Ideelt lineær-fase �lter
Fra kapittel 5.3 har vi at et LTI-system bevarer �formen� på et signaldersom
y [n] = Gx [n � k]; G > 0;
hvor G og k er konstanter. Fouriertransformen (se Tabell 4.4, tidsskift gir
x [n � k]DTFT ��! e�j!kX (e j!)) gir at
Y�e j!�= Ge�j!kX
�e j!�:
Frekvensresponsen blir
H�e j!�=
Y�e j!�
X (e j!)= Ge�j!k :
Dermed må ��H �e j!��� = G og \H�e j!�= �!k:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 6 / 29
Ideelt Lavpass�lter
Et ideelt lavpass�lter med lineær fase har frekvensresponsen
Hlp
�e j!�=
�e�j�!; j!j < !c
0; !c < j!j � �
Impulsresponsen blir
hlp[n] =sin(!c(n � �))
�(n � �):
Vi får impulsresponsen hlp[n] ved å sample impulsresponsen til etkontinuerlig-tid ideelt lavpass�lter med kuttfrekvens c = !c=T ogsampling t = nT .
Dersom vi skal aproksimere et ideelt lavpass�lter hlp[n] med et �lter avlengde M, minimeres minste kvadraters feils dersom vi simpelthentrunkerer hlp[n].
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 7 / 29
FIR Lavpass Filter
Avhengig av symmetrien og om orden på �lteret M er et partall elleroddetall, �nnes det �re typer FIR �ltre med lineær fase:
h[n] = �h[M � n]; M er partall eller oddetall.
Vi ser på et kontinuerlig-tid lavpass�lter med !c = 0:4� medforsinkelser på � = 6, 6:5 og 6:25, og dets trunkerte ideelle FIRlavpass�lter med M = 12, M = 13 og M = 13.
Dersom 2� ikke er et heltall ser vi at faseresponsen er ikke-lineær og
at gruppeforsinkelsen �gd = �d(e j!)
d! ikke er konstant.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 8 / 29
Fire typer FIR-�ltre
Type I: Symmetrisk impulsrespons (h[n] = h[M � n]) og orden M eret partall:
H�e j!�=
0@M=2X
k=0
a[k] cos(!k)
1A e�j!M=2
= A�e j!�e�j!M=2:
Type II: Symmetrisk impulsrespons og orden M er et oddetall:
H�e j!�=
0@(M+1)=2X
k=1
b[k] cos
�!
�k �
1
2
��1A e�j!M=2
= A�e j!�e�j!M=2:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 9 / 29
Fire typer FIR-�ltre (forts.)
Type III: Antisymmetrisk impulsrespons (h[n] = �h[M � n]) og ordenM er et partall:
H�e j!�=
0@M=2X
k=1
c[k] sin(!k)
1A e�j!M=2
= jA�e j!�e�j!M=2:
Type IV: Antisymmetrisk impulsrespons og orden M er et oddetall:
H�e j!�=
0@(M+1)=2X
k=1
d [k] sin
�!
�k �
1
2
��1A e�j!M=2
= jA�e j!�e�j!M=2:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 10 / 29
Amplituderespons til FIR-�ltre med Lineær Fase
Frekvenseresponsen til type I-IV FIR-�ltre med lineær fase kan skrives påformen:
H�e j!�= A
�e j!�e(e
j!):
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 11 / 29
Valg av type FIR-�lter med Lineær Fase
Amplitudefunksjonen til et FIR-�lter med lineær fase kan skrives på formen:
A�e j!�= Q
�e j!�P�e j!�:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 12 / 29
Trunkering i Frekvensdomenet
Trunkering av et ideelt lavpass�lter medlineær fase kan uttrykkes ved
h[n] = hlp[n]w [n];
hvor
w [n] =
�1; 0 � n � M0; ellers.
Vindusteoremet for DTFT gir at
H�e j!�=
1
2�
Z �
��Hlp
�e j��W�e j(!��)
�;
hvor
W�e j!�=
sin(!(M + 1)=2)
sin(!=2)e j!M=2:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 13 / 29
Rektangulært vindu
Gitt ved
w [n] =
�1; 0 � n � M0; ellers.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 14 / 29
Vindustyper
Bartlett (triangulært): Matlab-funksjon bartlett:
w [n] =
8<:
2n=M; 0 � n � M=22� 2n=M; M=2 < n � M0; ellers
Hann: Matlab-funksjon hann:
w [n] =
�0:5� 0:5 cos(2�n=M); 0 � n � M0; ellers
Hamming: Matlab-funksjon hamming:
w [n] =
�0:54� 0:46 cos(2�n=M); 0 � n � M0; ellers
Blackman: Matlab-funksjon blackman:
w [n] =
�0:42� 0:5 cos(2�n=M) + 0:08 cos(4�n=M); 0 � n � M0; ellers
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 15 / 29
Vindustyper (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 16 / 29
Vindustyper (forts.)
Ikke-rektangulære vinduer gir en glattere trunkering avimpulsresponsen.
Svingninger i pass- og stoppbåndet reduseres på bekostning avbredden av transisjonsbåndet.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 17 / 29
Vindustyper (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 18 / 29
FIR-�lter Design med Vinduer
1 Beregn �p og �s og sett � = minf�p; �sg.
2 Bestem !c = (!p + !s)=2.
3 Regn ut A = �20 log10 � og �! = !s � !p.
4 Velg vindusfunksjonen i tabellen for vindustyper som har minstestoppbånd undertrykking større enn A. Finn M = L� 1 for dennevindusfunksjonen ved å velge �eksakt� �!. Hvis M er et oddetall kanverdien økes med én for å kunne velge et type I �lter.
5 Bestem
hlp[n] =sin(!c(n �M=2))
�(n �M=2):
6 Beregn h[n] = hlp[n]w [n] for valgte vindusfunksjon.
7 Sjekk om designet �lter tilfredsstiller spesi�kasjonene, hvis ikke økesM og prosessen gjentas fra Steg 5.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 19 / 29
Eksempel 10.2
wp = 0.25 � p i ; ws = 0.35 � p i ; Ap = 0 . 1 ; As = 50 ;d e l t a p = (10^(Ap / 20) � 1) / (10^(Ap / 20) + 1) ;d e l t a s = (1 + de l t a p ) / (10^(As / 20) ) ;d e l t a = min ( de l t ap , d e l t a s ) ; A = �20 � l og10 ( d e l t a ) ;Deltaw = ws � wp ; wc = (ws + wp) / 2 ;L = c e i l ( 6 . 6 � p i / Deltaw ) + 1 ; % Vindus l engdeM = L � 1 ; % F i l t e r o r d e nn = 0 : M; hd = i d e a l l p (wc , M) ; % L a v p a s s f i l t e rh = hd .� hamming (M) ' ; % Hamming�v induw = l i n s p a c e (�pi , p i , 1024) ; % Rad i an f r e k v en sH = f f t s h i f t ( f f t ( h , l e n g t h (w) ) ) ; % F r ek v en s r e s pon sp l o t (w, 20 � l og10 ( abs (H) ) , ' L ineWidth ' , 2) ;x t i c k s ( [ 0 , p i / 4 , p i / 2 , 3 � p i / 4 , p i ] ) ;x t i c k l a b e l s ({ ' 0 ' , ' \ p i / 4 ' , ' \ p i / 2 ' , ' 3 \ p i / 4 ' , ' \ p i ' }) ;a x i s ( [ 0 , p i , �90, 5 ] ) ;g r i d on ;x l a b e l ( ' Rad i a n f r e k v en s ' ) ;y l a b e l ( ' Ampl i tude [ dB ] ' ) ;
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 20 / 29
Eksempel 10.2 (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 21 / 29
Eksempel 10.2 (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 22 / 29
Matlab � Filter Designer (fdatool)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 23 / 29
Kaiser-vindu
For tidligere vinduer er transisjonsbåndet �! omvendt proporsjonaltmed M. For et gitt vindu er pass- og stoppbåndet er konstant.
Kaiser-vinduet har en parameter � som påvirker transisjonsbåndetsamt pass- og stoppbåndet (Matlab-funksjoner kaiser ogkaiserord).
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 24 / 29
Kaiser-vindu (forts.)
Det er hovedsaklig � som avgjør sidelobeundertrykkelsen.
Ved � = 0 får vi et rektangulært vindu.
Vi har �p � �s , og setter � = maxf�p; �sg.
For å designe et �lter med et gitt sidelobenivå kan vi bruke følgendeempiriske sammenheng:
� =
8<:
0; A < 210:5842(A� 21)0:4 + 0:07886(A� 21); 21 � A � 500:1102(A� 8:7); A > 50;
hvor A = �20 log10 �.
Orden M for å oppnå spesi�kasjonene A og �! er gitt ved uttrykket
M =A� 8
2:285�!:
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 25 / 29
Eksempel 10.3
wp = 0.25 � p i ; ws = 0.35 � p i ; A = 50 ;Deltaw = ws � wp ; wc = (ws + wp) / 2 ;beta = 0.5842 � (A � 21) ^(0 . 4 ) . . .
+ 0.07886 � (A � 21) ; % Ka i s e r betaM = c e i l ( (A � 8) / (2 . 285 � Deltaw ) ) + 1 ; % Window l e ng t hn = 0 : M; hd = i d e a l l p (wc , M) ; % L a v p a s s f i l t e rh = hd .� k a i s e r (M, beta ) ' ; % Hamming�v induw = l i n s p a c e (�pi , p i , 1024) ; % Rad i an f r e k v en sH = f f t s h i f t ( f f t ( h , l e n g t h (w) ) ) ; % F r e k v en s r e s pon sp l o t (w, 20 � l og10 ( abs (H) ) , ' L ineWidth ' , 2) ;x t i c k s ( [ 0 , p i / 4 , p i / 2 , 3 � p i / 4 , p i ] ) ;x t i c k l a b e l s ({ ' 0 ' , ' \ p i / 4 ' , ' \ p i / 2 ' , ' 3 \ p i / 4 ' , ' \ p i ' }) ;a x i s ( [ 0 , p i , �90, 5 ] ) ;g r i d on ;x l a b e l ( ' Rad i a n f r e k v en s ' ) ;y l a b e l ( ' Ampl i tude [ dB ] ' ) ;
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 26 / 29
Eksempel 10.3 (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 27 / 29
Eksempel 10.3 (forts.)
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 28 / 29
Diskret-tid Derivasjon
Ideell kontinuerlig-tid derivasjon er gitt ved
yc(t) =dxc(t)
dt; hvor Hc(j) =
�j; jj < �=T0; j!j � �=T :
Diskret-tid derivasjon med lineær fase kan de�neres ved
H�e j!�= (j!)e j!�; j!j < �;
som har impulsresponsen
h[n] =cos(�(n � �))
n � ��
sin(�(n � �))
�(n � �)2:
For diskret-tid derivasjon kan vi bruke type III eller IV lineær-fasesystem.
Jan Egil Kirkebø (Inst. for Inf.) IN3190/IN4190 4. november 2019 29 / 29