design of filters ppt
TRANSCRIPT
Presentation onDesign of Digital Filter using MATLAB
By Imtiyaz Mohiuddin
10361A0434
In chargeDr.M.Narayana
Electronics and Communications Engineering
SECTION OUTLINE:Introduction to Digital filter designIntroduction to FIR FilterDesign of FIR Filter using WINDOW
Techniques Introduction to IIR FilterDesign of IIR Filter using Approximation
MethodMATLAB Code of Designed Filters
Introduction:A digital filter is a system that performs
mathematical operations on a sampled, discrete-time signal to reduce or enhance certain aspects of that signal.
In digital signal processing, there are two important types of systems:Digital filters: perform signal filtering in the
time domainSpectrum analyzers: provide signal
representation in the frequency domain
Digital Filter:
xn yn
Digital Filter
Samplingfrequency
fS
ADC
DAC
x(t) y(t)Analog
anti-aliasing
filter
Analogsmoothing
filter
Preliminaries:The design of a digital filter is carried out in
three steps:Specifications: they are determined by the applicationsApproximations: once the specification are defined, we
use various concepts and mathematics that we studied so far to come up with a filter description that approximates the given set of specifications. (in detail)
Implementation: The product of the above step is a filter description in the form of either a difference equation, or a system function H(z), or an impulse response h(n). From this description we implement the filter in hardware or through software on a computer.
Classification:Digital filters are classified into one of two
basic forms, according to how they respond to a unit impulse:
Finite impulse response Infinite impulse response
Finite Impulse Response:In signal processing, a finite impulse
response (FIR) filter is a filter whose impulse response is of finite duration, because it settles to zero in finite time.
FIR digital filters use only current and past input samples, and none of the filter's previous output samples, to obtain a current output sample value
The transfer function is given by
The length of Impulse Response is NAll poles are at Z=0. . Zeros can be placed anywhere on the
z-plane
1
0).()(
N
n
nznhzH
Filter Design by Windowing
Simplest way of designing FIR filters
Start with ideal frequency response
Choose ideal frequency response as desired response Most ideal impulse responses are of infinite length
n
njd
jd enheH
deeH21nh njj
dd
else0Mn0nhnh d
Rectangular:
Bartlett:
Hamming:
Blackman:
Kaiser:
21 NnN
n21
Nn2cos1
Nn2cos46.054.0
Nn
Nn 4cos08.02cos5.042.0
)(1
21 0
2
0 JNnJ
Commonly used windows
Kaiser windowKaiser window
β Transition width (Hz)
Min. stop attn dB
2.12 1.5/N 30
4.54 2.9/N 50
6.76 4.3/N 70
8.96 5.7/N 90
Rectangular Window
else0Mn01nw
Narrowest main lob– 4/(M+1)– Sharpest transitions at
discontinuities in frequency
Large side lobs– Large oscillation around
discontinuities– -13 dB
Simplest window possible
Hamming Window
else0
Mn0Mn2cos46.054.0nw
Medium main lob– 8/M
Good side lobs– -41 dB– Simpler than
Blackman
Kaiser Window Parameterized equation forming a set of
windows
Parameter to change main-lob width and side-lob area trade-off
I0(.) represents zeroth-order modified Bessel function of 1st kind
else0Mn0I
2/M2/Mn1I
nw0
2
0
MATLAB CODE: %Design of LPF&HPF using rectangular,hamming and kaiser windows clc;clear all;close all; rp=input('enter attenuation in pass band'); rs=input('enter attenuation in stop band'); fp=input('enter pass band frequency'); fs=input('enter stop band frequency'); Fs=input('enter sampling frequency'); wp=2*pi*fp/Fs; ws=2*pi*fs/Fs; %formula for FIR filter num=-20*log10(sqrt(rp*rs))-13; den=14.6*(fs-fp)/Fs; n=ceil(num/den); disp('order of filter is \n'); disp(n); disp('press any key to continue'); pause; n1=n+1; %For even order if(rem(n,2)~=0) n1=n; end %LPF
%LPF s1=input('enter the value for window 0-rectangularLPF 1-kaiserLPF 2-hammingLPF 3-
rectangularHPF 4-kaiserHPF 5-hammingHPF'); switch(s1); case 0 y=rectwin(n1); [b,a]=fir1(n,wp,'low',y); freqz(b,a,512); case 1 y=kaiser(n1); [b,a]=fir1(n,wp,'low',y); freqz(b,a,512); case 2 y=hamming(n1); [b,a]=fir1(n,wp,'low',y); freqz(b,a,512); case 3 y=rectwin(n1); [b,a]=fir1(n,wp,'high',y); freqz(b,a,512); case 4 y=kaiser(n1); [b,a]=fir1(n,wp,'high',y); freqz(b,a,512); case 5 y=hamming(n1); [b,a]=fir1(n,wp,'high',y); freqz(b,a,512); end
Pros & Cons:FIR filters have the followingadvantages:
Exactly linear phase is possible
Always stable, even when quantized
Design methods are generally linear
Efficient hardware realizations
Startup transients have finite duration
FIR filters have the following disadvantages: • Higher filter order than IIR
filters• Corresponding greater
delays
Infinite Impulse Response Filter:IIR systems have an impulse
response function that is non-zero over an infinite length of time. This is in contrast to finite impulse response (FIR) filters, which have fixed-duration impulse responses
IIR filters may be implemented as either analog or digital filters
Cont..While designing a digital IIR filter , an analog
filter (e.g. Chebyshev filter, Butterworth filter) is first designed and then is converted to a digital filter by applying discretization techniques such as Bilinear transform or Impulse invariance.
Discretization techniques
Chebyshev Filter:Chebyshev filters are analog or digital
filters having a steeper roll-off and more passband ripple (type I) or stopband ripple (type II)
Chebyshev filters have the property that they minimize the error between the idealized and the actual filter characteristic over the range of the filter, but with ripples in the passband
Cont..Type-1 Chebyshev Filter
Type-2 Chebyshev Filter:
Butterworth filterThe Butterworth filter is a type of signal
processing filter designed to have as flat a frequency response as possible in the pass band. It is also referred to as a maximally flat magnitude filter
MATLAB Prototype Filter Design Commands
[B,A] = BUTTER(N,Wn) [B,A] = CHEBY1(N,R,Wn) [B,A] = CHEBY2(N,R,Wn) [B,A] = ELLIP(N,Rp,Rs,Wn)
– N = filter order– R = pass band ripple (cheby1) or stop-band ripple (cheby2) in
dB. (Rp and Rs respectively for the elliptic filter)– Wn = cut-off frequency (radians/sec for analog filters or
normalized digital frequencies for digital filters)– [B,A] = filter coefficients, s-domain (analog filter) or z-domain
(digital filter)
Design Example Filter Specifications:
Butterworth response Pass-band edges = 400 Hz and 600 Hz Stop-band edges = 300 Hz and 700 Hz Pass-band ripple = 1 dB Stop-band attenuation = -20 dB Sampling Frequency = 2000 Hz
Design Example Results
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.90
0.2
0.4
0.6
0.8
1
1.2
1.4
Frequency (kHz)
Mag
nitu
de
Magnitude Response
Band Edges (-1dB and -20 dB)
Design ExampleChebyshev II High-Pass Filter Filter specifications:
Chebyshev II response (stop-band ripple) Pass-band edge = 1000 Hz Stop-band edge = 900 Hz Pass-band ripple = 1 dB Stop-band attenuation = -40 dB Sampling frequency = 8 kHz
MATLAB Code for Design Example>> fs=8000;>> Wp=[2*1000/fs]; % Pass-band edge normalized digital frequency>> Ws=[2*900/fs]; % Stop-band edge normalized digital frequency>> [N,Wn]=cheb2ord(Wp,Ws,1,40); % The “order” command>> [B,A]=cheby2(N,40,Wn,'high'); % cheby2 is the “filter” command. In this command % the syntax requires the stop-band attenuation % as the second parameter>> fvtool(B,A)
Design Example Results
0 0.5 1 1.5 2 2.5 3 3.5-100
-80
-60
-40
-20
0
20
Frequency (kHz)
Mag
nitu
de (d
B)
Magnitude Response (dB)
MATLAB CODE: %Design of IIR filters fp1=input('enter pass band frequency'); fs1=input('enter stop band frequency'); Fs1=input('enter sampling frequency'); wp1=fp1/Fs1; ws1=fs1/Fs1; [n1,wn1]=buttord(wp1,ws1,2,60); [x,y]=butter(n1,wn1,'low'); figure; freqz(x,y,512); [n1,wn1]=buttord(wp1,ws1,2,60); [x,y]=butter(n1,wn1,'high'); figure; freqz(x,y,512); [n1,wn1]=cheb1ord(wp1,ws1,2,60); [x,y]=cheby1(n1,3,wn1,'low'); figure; freqz(x,y,512); [n1,wn1]=cheb1ord(wp1,ws1,2,60); [x,y]=cheby1(n1,3,wn1,'high'); figure; freqz(x,y,512);
Summary of IIR Filter:
IIR filters can be design by pole-zero location– Digital oscillators: poles on the unit circle– Notch filters: zeros on the unit circle with nearby poles to
control notch width Classic analog filters can be designed using the
bilinear transformation IIR filters have the advantage of smaller filter order for
a given frequency response. IIR filters have the disadvantages of possible instability
due to coefficient quantization effects and non-linear phase response.
References:“Design of IIR Filter” by K.S Chandra, M.Tech, IIT-Bombay,
Jan-2006“Digital Filter Design” by Prof. A.G. Constantinides,
University of Auckland, 2006“FIR Filter Design”, Gao Xinbo,School of E.E.,
Xidian Univ. [email protected]“FIR Filter by Windowing”- The lab Book Pages.com“Digital Signal Processing”, Prof.Ramesh Babu,
Pondicherry Govt. College, TataMcgraw-Hill publication.Wikipedia.org