Sei sulla pagina 1di 41

CHAPTER 7

Digital Filter Design


Wang Weilian
wlwang@ynu.edu.cn
School of Information Science and Technology
Yunnan University


Outline
About Digital Filter Design
Bilinear Transformation Method of IIR Filter Design
Design of Lowpass IIR Digital Filters
Design of Hignpass, Bandpass, and Bandstop IIR Digital
Filter
FIR Filter Design Based on Windowed Fourier Series
Computer-Aided Design of Digital Filters
Digital Filter Design Using MATLAB
FIR Filter Design Based on Windowed
Series
Least Integral-Squared Error Design of FIR Filters
In practical application:the desired frequency
response is piecewise constant with sharp
transitions between bands.
Aim:Find a finite duration impulse response
sequence of the length 2M+1 whose DTFT
approximates the desired DTFT
In some sense.
one commonly used approximation criterion is to
minimize the integral-squared error.



) (
e h
j
d
e
{ } ] [n
h
t
) (
e H
j
t
e
FIR Filter Design Based on Windowed
Series
Integral-squared error





The integral-squared error is minimum when
= for .
e
e e
t
t
t
d
j
d
j
t
e H e H }

= u
) ( ) (
2
2
1
] [ ] [
1
2
1
2
2
2
] [ ] [
] [ ] [
n n
d t
d t
M n
d
M
n
d
M
M n
n
h h
n
h
n
h
n
h
n
h

+ =

= =

=
+ + =
=
| | { } n
h
t
| | { } n
h
d
M n M s s
FIR Filter Design Based on Windowed
Series
Impulse Response of Ideal Filters
Four commonly used frequency selective filters are the
lowpass,highpass,bandpass,bandstop filters.
Example:lowpass filter
zero-phase frequency response


The corresponding impulse response
so the impulse response is doubly infinite,not absolutely
summable,and therefore unrealizable.

s <
s
=
. , 0
, , 1
) (
t e
e
e
e e
c
c
j
LP
e H
n
n
c
LP H
t
e
sin
] [ =
FIR Filter Design Based on Windowed
Series
By setting all impulse response coefficient outside
the range equal to zero,we arrival at a
finite-length noncausal approximation of length
,which when shifted to the right yield
the coeffcients of a causal FIR lowpass filter:
M n M s s
1 2 + = M N
| | 1 0 ,
, 0
) (
)) ( sin(
s s


= N n
otherwise
M n
M n
n
c
LP
h
t
e
FIR Filter Design Based on Windowed
Series
Gibbs phenomenon
The causal FIR filter obtained by simply
truncating the impulse response
coefficients of the ideal filters exhibit an
oscillatory behavior in their respective
magnitude responses.which is more
commonly referred to as the Gibbs
phenomenon.


FIR Filter Design Based on Windowed
Series
Cause of Gibbs phenomenon:
The FIR filter obtained by truncation can be
expressed as:
] [ ] [ ] [ n n n
h h
d t
e =

t
e
t
t
e
d
e e H e H
j j
d
j
t
) ( ) (
2
1
) (
) (

}
=
FIR Filter Design Based on Windowed
Series
Illustration of the effect of the windowing in
frequency domain
FIR Filter Design Based on Windowed
Series
The window used to achieve simple truncation of
the ideal filter is rectangular window:


So two basic reason of the oscillatory behavior:
(1)the impulse response of a ideal filter is infinitely
long and not absolutely summable.
(2)the rectangular window has an abrupt transition
to zero.

s s
=
otherwise
M n
n
R
, 0
0 , 1
] [
e
FIR Filter Design Based on Windowed
Series
How to reduce the Gibbs phenomenon?
(1 )using a window that tapers smoothly to
zero at each end.
(2)providing a smooth transition from the
passband to the stopband.
FIR Filter Design Based on Windowed
Series
Fixed Window Functions
Hann:

Hamming:

Blackman:
M n M
M
n
n w s s
(

+
+ = , )
1 2
2
cos( 1
2
1
] [
t
M n M
M
n
n w s s
+
+ = ),
1 2
2
cos( 46 . 0 54 . 0 ] [
t
)
1 2
2
cos( 5 . 0 42 . 0 ] [
+
+ =
M
n
n w
t
M n M
M
n
s s
+
+ ),
1 2
4
cos( 08 . 0
t
FIR Filter Design Based on Windowed
Series
Two important parameters:
(1)main lobe width.
(2)relative sidelobe level.
The effect of window function on FIR filter design
(1) the window have a small main lobe width will
ensure a fast transition from the passband to the
stopband.
(2)the area under the sidelobes small will reduce
the ripple
FIR Filter Design Based on Windowed
Series
Designing an FIR filter
(1)select a window above mentioned.
(2)get
(3)determine the cutoff frequency by setting:

(4)M is estimated using ,the value
of the constant c is obtain from table given.
| | ] [ ] [ n w n n h
h
d
=
2 / ) (
e e e
s p c
+ =
M
c
~ Ae
FIR Filter Design Based on Windowed
Series
Adjustable Window Functions
Windows have been developed that provide control
over ripple by means of an additional parameter.
(1)Dolph-Chebyshev window


(2)Kaiser window




(

+ +
+
+
=

=
M
k
k
M
nk
M
k
M
n w
T
1
1 2
2
cos )
1 2
cos ( 2
1
1 2
1
] [
t t
|

M n M n w
I
M n
I
s s
)
`


= ,
) (
1
] [
0
2
0
) / (
|
|
FIR Filter Design Based on Windowed
Series
Impulse Response of FIR Filters with a
Smooth Transition
--One way to reduce the Gibbs phenomenon.
The simplest modification to the zero-phase
lowpass filter specification is to provide a
transition band between the passband and
stopband responses and to connect these
two with a first order spline function .
Computer-Aided Design of Digital
Filter
Two specific design approaches based in
iterative potimization techniques.
The aim is to determine iteratively the coefficients
of the digital transfer function so that the
difference between and for all
value of over closed subintervals of
is minimized ,and usually the difference is
specified as a weighted error function given
by:
) (
e
j
H
e
) (
e
j
D
e
t e s s 0
e
) (e c
| | ) ( ) ( ) ( ) (
e e e
j j j
D H W
e e e
e c =
Computer-Aided Design of Digital
Filter
Chebyshev criterion
--to minimize the peak absolute value of the
weighted error

Least-p criterion
--to minimize the integral of pth power of the
weighted error function

) (e c
) ( max e c c
e R e
=
) (e c
{ }
=
=
K
i
p
e
D
e
W
i
j
i
j
1
) ( ) (
e e
c
Computer-Aided Design of Digital
Filter
Design of Equiripple Linear-Phase FIR Filter
The frequency response of a linear-phase FIR filter
is:

The weighted error function in this case involves
the amplitude response and is given by
) ( ) (
2 /
e
| e e
-

= H H
e e e
j jN j
(

=
-
) ( ) ( ) ( ) ( e e e e c D H W
Computer-Aided Design of Digital
Filter
Type 1 linear-phase FIR filter
The amplitude response is :


It can be rewrite using the notation in the
form

Where
) cos(
2
2 ]
2
[ ) (
2 /
1
n n
N
h
N
h H
N
n
e e

=
-
(

+ =
M N 2 =

=
-
=
M
k
k k a H
0
) cos( ] [ ) ( e e
M k k M h k a M h a s s = = 1 ], [ 2 ] [ ], [ ] 0 [
Computer-Aided Design of Digital
Filter
Type 2 linear-phase FIR filter
The amplitude response is :

It can be rewrite in the form:




Where
))
2
1
( cos(
2
1
2 ) (
2 / ) 1 (
1

(


+
=

+
=
-
n n
N
h H
N
n
e e
2
1 2
1 ],
2
1 2
[ 2 ] [
+
s s
+
=
M
k k
M
h k b
) cos( ] [ )
2
cos(
))
2
1
( cos( ] [ ) (
2 / ) 1 2 (
0
2 / ) 1 2 (
0
k k b
k k b H
M
k
M
k
e
e
e e

=
-
+
=
-
=
=
Computer-Aided Design of Digital
Filter
Type 3 linear-phase FIR filter
The amplitude response is :


It can be rewrite in the form:

) sin(
2
2 ) (
2 /
1
n n
N
h H
N
n
e e

=
-
(

=
) cos( ) ( sin
) sin( ] [ ) (
1
0
0
k k c
k k c H
M
k
M
k
e e
e e

=
-
=
-
=
=
Computer-Aided Design of Digital
Filter
Type 4 linear-phase FIR filter
The amplitude response is :

It can be rewrite in the form:




))
2
1
( sin( ]
2
1
[ 2 ) (
2 / ) 1 (
1

+
=

+
=
-
n n
N
h H
N
n
e e
) cos( ] [ )
2
sin(
)
2
1
( sin ] [ ) (
2 / ) 1 2 (
0
2 / ) 1 2 (
1
k k d
k k d H
M
k
M
k
e
e
e e

=
-
+
=
-
=
=
Computer-Aided Design of Digital
Filter
The amplitude response for all four types of
linear-phase FIR filters can be expressed in the
form
Then the we modify the form of the weight
approximation function as:

) ( ) ( ) ( e e e A Q H =
-
| |
(

=
=
) (
) (
) ( ) ( ) (
) ( ) ( ) ( ) ( ) (
w Q
D
A Q W
D A Q W
e
e e e
e e e e e c
Computer-Aided Design of Digital
Filter
Using the notions and
we can rewrite it as:


Then we determine the coefficients to
minimize the peak absolute value of the
weighted approximation error over the specified
frequency bands

) ( ) ( ) ( e e e Q W W =
-
) ( / ) ( ) ( e e e Q D D =
-
(

=
- -
) ( ) ( ) ( ) ( e e e e c D A W
e
] [k a
-
R e e
Computer-Aided Design of Digital
Filter
Alternation Theorem
The amplitude function is the best unique
aproximation of the desired amplitude response
obtained by minimizing the peak absolute valu
of if and only if there exist at least
extremal angular frequencies, ,in a
closed subset R of the frequency range
such that and
with for all in the range

) (e A
) (e c
c
2 + L
e e e
1 1 0
, ,
+

L
t e s s 0
e e e
1 1 0 +
< < <
L
) ( ) (
1
e e
c c
+
=
i i
c c
e
= ) (
i
i
1 0 + s s L i
Digital Filter Design Using Matlab
IIR Digital Filter Design Using Matlab
Steps:(1)determine the filter order N and
the frequency scaling factor Wn .
[N,Wn]=buttord(Wp,Ws,Rp,Rs)
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)
[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)
[N,Wn]=ellipord(Wp,Ws,Rp,Rs)
Where Wp=2Fp/FT and Ws= 2Fs/FT .

Digital Filter Design Using Matlab
(2)determine the coefficients of the
transfer function.
[b,a]=butter(N,Wn)
[b,a]=cheby1(N,Rp,Wn)
[b,a]=cheby2(N,Rs,Wn)
[b,a]=ellip(N,Rp,Rs,Wn)


Digital Filter Design Using Matlab
FIR Digital Filter Design Using Matlab
Steps(1).estimate the filter order from the given
specification.
remezord,kaiserord
(2)determine the coefficient of the transfer
function using the estimated order and the filter
specification.
remez
Digital Filter Design Using Matlab
FIR Digital Filter Order Estimation Using Matlab
[N,fpts,mag,wt]=remezord(fedge,mval,dev)
[N,fpts,mag,wt]=remezord(fedge,mval,dev,FT)
For FIR filter design using the Kaiser window,the
window order should be estimated using
kaiserord
[N,Wn,beta,ftype]=kaiserord(fedge,mval,dev)
[N,Wn,beta,ftype]=kaiserord(fedge,mval,dev,FT)
C=kaiserord(fpts,mval,dev,FT,cell)

Digital Filter Design Using Matlab
Equiripple Linear-phase FIR Design Using Matlab
--emplying the Parks-McClellan algorithm.
b=remez(N,fpts,mag)
b=remez(N,fpts,mag,wt)
b=remez(N,fpts,mag,ftype)
b=remez(N,fpts,mag,wt,ftype)

Digital Filter Design Using Matlab
FIR equiripple lowpass filter of Example 7.27 for
N=28


0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-200
-150
-100
-50
0
50
\omega/pi\
G
a
i
n
,
d
B
Digital Filter Design Using Matlab
Gain response of the FIR equiripple bandpass
filter of Example 7.28.

Digital Filter Design Using Matlab
Window-based FIR Filter Design Using Matlab
Steps:
(1)estimate the order of the FIR filter.
(2)select the type of the window and compute its
coefficient.
(3)compute the desired impluse response of the
ideal filter.

Digital Filter Design Using Matlab
Window Generation
W=blackman(L)
W=hamming(L)
W=hanning(L)
W=chebwin(L,Rs)
W=kaiser(L,beta)
Digital Filter Design Using Matlab
Filter Design
fir1 is used to design conventional lowpass,highpass,
bandpass,bandstop and multiband FIR filter.
b=fir1(N,Wn)
b=fir1(N,Wn,ftype)
b=fir1(N,Wn,window)
b=fir1(N,Wn,ftypewindow)
b=fir1(,noscale)




Digital Filter Design Using Matlab
A example of a conventional lowpass FIR filter
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-300
-250
-200
-150
-100
-50
0
50
\omega/pi\
G
a
i
n
,
d
B
Digital Filter Design Using Matlab
Filter Design
fir2 is employed to design FIR filters with arbitarily
shaped magnitude response.
b=fir2(N,f,m)
b=fir2(N,f,m,window)
b=fir2(N,f,m,npt)
b=fir2(N,f,m,npt,window)
b=fir2(N,f,m,npt,lap,window)
Digital Filter Design Using Matlab
A Examples of multilevel filter
--Magnitude response of the multilevel filter
designed with fir2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
e/pi
m
a
g
n
i
t
u
d
e
Digital Filter Design Using Matlab
Least-squares Error FIR Filter Design Using
Matlab
firls to design any type of multiband linear-phase
FIR filter based on the least-squares method
b=firls(N,fpts,mag)
b=firls(N,fpts,mag,wt)
b=firls(N,fpts,mag,ftype)
b=firls(N,fpts,mag,wt,ftype)



Digital Filter Design Using Matlab
A example of the linear-phase FIR lowpass filter
--Gain response of the linear-phase FIR lowpass
filter
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
20
\omega/pi\
g
a
i
n
,
d
B

Potrebbero piacerti anche