You are on page 1of 2

FAKULTI KEJURUTERAAN

UNIVERSITI KEBANGSAAN MALAYSIA


KL3063: Digital Signal Processing

Problem Based Learning 1

Instruction: Answer all these questions and submit your answers in a report form along with the printouts of MATLAB
script and plots.
DEADLINE: 5pm, Tuesday 15 April 2008. No excuse.

Project 1: FIR Filter Design Using Window Functions

1. Design a length-23 linear-phase FIR low-pass filter with a band edge of ω0 = 0.3π using the following windows:

a. Rectangular
b. Triangular or Bartlett
c. Hanning
d. Hamming
e. Blackman

Plot the impulse response, amplitude response, and zero locations of the four filters. Compare the characteristics of the
amplitude response of the five filters. Do this in terms of the squared error, the Chebyshev error, and the transition
bandwidth. Compare them to an optimal Chebyshev filter designed with a transition band and the least-squared-error filter
designed with a spline transition function. How do you choose a transition bandwidth for a meaningful comparison?

2. Kaiser window is given by:

 I  β 1 − [ 2( n − M ) / ( L −1) ] 2 
 0
W ( n) =   
(1)
 I 0 ( β )

where β is a parameter to adjust the width and shape of the window

An empirical formula for β is:

0.1102( A − 8.7)  for 50 < A



β = 0.5842( A − 21) 0.4 + 0.07886( A − 21)  for 21< A < 50 (2)
0  for A < 21

A = − 20 log10 δ

∆ = ωs −ω p

A−8
L −1= With δ being the maximum ripple in the passband and stopband.
2.285 ∆

Plot the relationship in (2) to see the usual range for β. Why is β = 0 for A < 21?

Design a length-23 filter using the same specifications as the linear phase FIR low-pass filter in part 1, but using a Kaiser
window with β = 4, 6, and 9. Plot the impulse response, amplitude response, and zero locations of the three filters.
Compare them with each other and with the results of part 1. How does the trade-off of transition bandwidth and
overshoot vary with β?

KL3063 Iskandar Yahya [Iskandar@vlsi.eng.ukm.my]


Page 1
3. Design a length-31 band-pass filter with transition bands. Set the lower stopband as {0<= ω <= 0.08π}, the
passband as {0.1π <= ω <= 0.4π}, and the upper stopband as {0.4π <= ω <= π. Apply all the five windows as in
part 1 to this filter. Apply the Kaiser window with the three values of β given in part 2 to this band-pass filter.
Analyze the amplitude response and compare with the results between the Kaiser window and all five other
windows.

4. Set specifications of a length-23 low-pass FIR filter with passband in the range {0 <= ω <= 0.3π} and stopband in
the range {0.35π <= ω <= π}. Design a set of filters using the Kaiser window with a variety of values for β.
Calculate the Chebyshev error over the passband and stopband using the max command in MATLAB. Plot this
Chebyshev error versus β and find the minimum. Compare with the value given by the empirical formula in (2).

Repeat this but now use the squared error calculated only over the passband and stopband rather than the total
{0 <= ω <= π}. Run an experiment over various lengths and transition bandwidths to determine an empirical
formula for β that minimizes the squared error.

Project 2: Using the Bilinear Transformation

1. Plot the relationship between the analog frequency Ω and the digital frequency ω specified by them bilinear
transformation. Use several values for (2/T) and plot the curves together. If an analogue prototype has a cutoff
frequency at Ωc = 1, how will the digital cutoff frequency changes as T increases?

2. A fourth-order low-pass discrete-time Butterworth filter with a sampling frequency of 40 kHz is to be designed for a
band edge of 8 kHz. What is the prewarped analogue band edge?

3. Find the Laplace transform continuous-time transfer function for the fourth-order Butterworth filter in part 2 using
the prewarped band edge. Do this by hand or use the MATLAB but tap, giving a u nity band edge.

4. Find the z-transform discrete-time transfer function from the continuous-time transfer function in part 3 using the
bilinear transform. Do this by hand or use the MATLAB b i l i near command. Compare this with the design done
directly by MATLAB using butter.

KL3063 Iskandar Yahya [Iskandar@vlsi.eng.ukm.my]


Page 2

You might also like