DIGITAL SIGNAL PROCESSING: CONCEPTS AND APPLICATIONS (SECOND EDITION)
MATLAB 5/6 SOFTWARE FOR ANIMATIONS AND DEMONSTRATIONS
Introduction
MATLAB
source code is provided to assist with
the presentation of the material to students.
In general the source code provides a computer animation
of some of the figures in the
book.
For example the m-file "fig1_4.m" contains MATLAB code
which produces an animation of the complex phasor
of Figure 1.4.
Thus it is envisaged that a tutor/lecturer may
use "fig1_4.m" in the lecture environment
in introducing or discussing complex phasors.
Because the software is available on an open access basis
the students can then re-run
the m-file after the lecture to re-enforce the concept.
The code has been written using MATLAB 5 with the Signal
Processing toolbox on a PC. It has also been tested with
MATLAB 6 and should run without any problems on that platform.
All code is provided free for educational purposes
and it is not supported.
The authors are, however,
happy to receive comments, criticisms and suggestions
addressed to
B.Mulgrew@ee.ed.ac.uk
Copyright
This software, and the comments, are the property of the authors
and must only be used for educational purposes.
Date
24th August 2002
Contents

-
Figure 1.3
One period of a square wave and its Fourier series approximation.

-
Figure 1.4
A sinewave as the projection of a complex phasor onto the imaginary axis

-
Figure 1.9(a)
and
Figure 1.9(b)
Laplace basis functions.


-
Figure 3.2
3D plot of transfer function magnitude.


-
Figure 3.11
Impulse response for various pole positions in the s-plane.




-
Figure 5.3
Frequency responses and phase responses of Butterworth filters.
-
Figure 5.4
Frequency responses and phase responses of Chebyshev filters.
-
Figure 5.12
Frequency responses of 2nd order analogue and digital Butterworth filters.
-
Figure 5.13
Phase responses of 2nd order analogue and digital Butterworth filters.
-
Figure 5.14
Frequency responses of IIR filters based on Butterworth prototypes
and bilinear z-transform design.
-
Figure 5.15
Butterworth bandpass filter design.
-
Figure 5.16
Lowpass, bandpass and highpass filter designs using a Chebychev prototype filter.

-
Figure 6.8
Effect of filter length on frequency response of low-pass filter
design with a rectangular weighting function.
-
Figure 6.10
Effect of window on frequency response for a 21-coefficient
design.
-
Figure 6.12
Comparison of Remez exchange algorithm filter design with a Hanning window design.
-
Figure 6.16
Comparison of a filter frequency response with infinite/16/12/8-bit precision.

-
Figure 7.10
Several representations of a uniform white random sequence.
-
Figure 7.13
Amplitude and phase responses of minimum, mixed and maximum phase
filters.


-
Figure 8.11
Method of steepest: convergence for EVR of 2 and 4.
-
Figure 8.13
Convergence plots for a 16-tap adaptive filter performing
system identification.
Additional m-files required:
chan.m
- FIR filter to control EVR;
sys.m
- system to be identified;
lms.m
- LMS algorithm;
rls.m
- RLS algorithm.

-
Figure 9.9
128-point DFT of two phasors with integer number of cycles
in the block length.
-
Figure 9.10 & 9.11
DFT of two phasors with non-integer number of cycles
in the block length (with and without zero-padding).
-
Figure 9.13a
DFT of two phasors with non-integer number of cycles
in the block length (with and without zero-padding)
- Hanning window.
-
Figure 9.13b
DFT of two phasors with non-integer number of cycles
in the block length (with and without zero-padding)
- Hamming window.
-
Figure 9.14
DFT of two phasors with non-integer number of cycles
in the block length (with and without zero-padding)
- Dolph-Chebyshev window.
-
Figure 9.20
Comparison of spectral estimates.
Additional m-file required:
arspe.m
- covariance-form AR spectral estimate.
-
Figure 10.7
Complexity comparison of the DFT and FFT operations.
-
Figure 10.10
Comparison of a 64-point FFT with/without zero padding and a 256-point FFT.
-
mfiles.zip
contains all the above m-files packaged and compressed using
the utility
zip
which is available under many operating
systems.