DSP-CIS Chapter-4: FIR & IIR Filter Design Marc Moonen Dept. E.E./ESAT, KU Leuven [email protected]
DSP 6 - FIR Filter Design
-
Upload
jehan-zeb-bhatti -
Category
Documents
-
view
155 -
download
6
Transcript of DSP 6 - FIR Filter Design
© 2010 Trity Technologies Sdn Bhd. All Rights Reserved
6-1
Practical Signal Processing Concepts and Algorithms using MATLAB
FIR Filter Design
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-2
Section Outline
• FIR design methods• Windowing• Standard band filters• Arbitrary response filters• Multiband filters• Raised cosine filters• Frequency domain filtering
I II III IV
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-3
FIR Filter Design
FIR filters have the following advantages:
• 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
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-4
FIR Methods
Filter Method Description Filter Functions
Windowing Apply window to truncated inverse Fourier transform of desired filter
fir1, fir2, kaiserord
Multiband with Transition Bands
Equiripple or least squares approach over frequency sub-bands
firls, firpm, firpmord
Constrained Least Squares
Minimize squared integral error over entire frequency range subject to maximum error constraints
fircls, fircls1
Arbitrary Response
Arbitrary responses, including nonlinear phase and complex filters
cfirpm
Raised Cosine Lowpass response with smooth, sinusoidal transition
firrcos
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-5
Method Description Functions
WindowingApply window to truncated inverse Fourier transform of desired "brick wall" filter
fir1, fir2, kaiserord
Multiband with Transition Bands
Equiripple or least squares approach over sub-bands of the frequency range
firls, remez, remezord
Constrained Least Squares
Minimize squared integral error over entire frequency range subject to maximum error constraints
fircls, fircls1
Arbitrary Response
Arbitrary responses, including nonlinear phase and complex filters
cremez
Raised Cosine Lowpass response with smooth, sinusoidal transition
firrcos
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-6
Impulse Response Revisited
M
mm mnxbny
0
)()(FIR filter:
>> b = [b0 b1 … bM]; a = 1; no need to specify
stem(b) impz(b,1)
FIR filter coefficients give the impulse response
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-7
Linear Phase Filters
Impulse response is symmetric about its midpoint:
Except for cfirpm, all of the FIR filter design functions in the Signal Processing Toolbox design linear phase filters only.
constant phase delay constant group delay
no phase distortion
–φ(ω)/ω –dφ(ω)/dω
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-8
FIR Filter Types
Filter Type
Filter Order
Symmetry Response H(0) Response H(1)(Nyquist)
Type I Even No restriction No restriction
Type II Odd No restriction H(1) = 0
Type III Even H(0) = 0 H(1) = 0
Type IV Odd H(0) = 0 No restriction
1,...,1),2()( nkknbkb
1,...,1),2()( nkknbkb
fir1,fir2,firls,firpm,fircls,fircls1,firrcos
No highpass or bandstop filters
odd length,even symmetry
even length,even symmetry
odd length,odd symmetry
even length,odd symmetry
I II III IV
length of impulse response - 1
1,...,1),2()( nkknbkb
1,...,1),2()( nkknbkb
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-9
Digital filters with finite-duration impulse response (all-zero, or FIR filters) have both advantages and disadvantages compared to infinite-duration impulse response (IIR) filters.
FIR filters have the following primary advantages:
• They can have exactly linear phase.
• They are always stable.
• The design methods are generally linear.
• They can be realized efficiently in hardware.
• The filter startup transients have finite duration.
The primary disadvantage of FIR filters is that they often require a much higher filter order than IIR filters to achieve a given level of performance. Correspondingly, the delay of these filters is often much greater than for an equal performance IIR filter.
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-10
• Example 1Example 1
Design a 48th-order FIR bandpass filter with passband 0.35 0.65:
• SolutionSolution>>b = fir1(48,[0.35 0.65]);
>>freqz(b,1,512)
• Example 2Example 2::
Design a lowpass filter with the following specifications using the optimal design method :
>>rp = 0.01; % Passband ripple
>>rs = 0.1; % Stopband ripple
>>fs = 8000; % Sampling frequency
>>f = [1500 2000]; % Cutoff frequencies
>>a = [1 0]; % Desired amplitudes
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-11
• SolutionSolution
>>[n,fo,ao,w] = remezord(f,a,dev,fs);
>> dev=[0.01 0.1]
>>[n,fo,ao,w]=remezord([1500 2000],[1 0],dev,8000);
% approximate order, normalized frequency band edges, frequency band amplitudes, and weights that meet input specifications f, a, and dev.%
>>b=remez(n,fo,ao,w);
%use n, fo, ao and w to design the filter b which approximately meets the specifications given by remezord input parameters f, a, and dev.%
>>freqz(b,1,1024,8000);
>>title('Lowpass Filter Designed to Specifications');
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-12
Window-Based Design
fft
ifft
H(f) h(n)
hw(n)HW(f)
h.*w
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-13
Windowing Functions
bartlett, barthannwin, blackman, blackmanharris, bohmanwin, chebwin, flattopwin, gausswin, hamming, hann, kaiser, parsenwin, rectwin, triang, tukeywin
.* =
W = gausswin(2*length(y),3);w = W(length(y)+1:end);
y = sin(n); wy = w'.*y;
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-14
Windowing and Spectra
Truncated Signal and DFT:
Truncated, Windowed Signal and DFT
wider main lobe
lower side lobes>> windft
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-15
Window Visualization Tool
>> wvtool(kaiser(32,1),kaiser(32,5),kaiser(32,10))
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-16
Window Design and Analysis Tool
>> wintool
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-17
Example: Lowpass Filter
)(sinc2
1)(
2
1)( 000
0
ndedeHnh njnj
>> b = ...0.4*sinc(...0.4*(-25:25));>> fvtool(b,1)
>> bw = ...b.*hamming(51)';>> fvtool(bw,1)
Right click on the y-axis label in FVTool and choose Magnitude squared
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-18
Standard Band FIR Design
>> b = fir1(n,Wn,'stop',kaiser(n+1,beta));
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-19
Arbitrary Response FIR Filters
>> b = fir2(n,f,m,window);
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-20
Multiband Filters
>> b = firls(n,f,a)
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-21
Raised Cosine Filters
>> b = firrcos(n,F0,df,fs);
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-22
Frequency Domain Filtering
y(n) long x(n)
finite buffer
Overlap-add method (fftfilt):
• Partion x(n) into data blocks
• FFT to the frequency domain
• Convolve blocks efficiently with b using multiplication
• IFFT back to the time domain
• Assemble shifted partial convolutions using superposition
b
FIR Filter Design© 2010 Trity Technologies Sdn Bhd. All Rights
Reserved6-23
Section Summary
• FIR design methods• Windowing• Standard band filters• Arbitrary response filters• Multiband filters• Raised cosine filters• Frequency domain filtering
I II III IV