This book is, as the title says, a collection of DSP exercises. What little mention there is of theory, is basically mere keywords and hints to more theoretical textbooks. The student is also expected to have a working knowledge of MATLAB. The focus of the book is getting hands-on experience with DSP, using MATLAB as a very convenient tool to this end. The authors mention that the intended audience is senior undergraduates and first-year graduate students. I'm not sure if I understand the American educational system, but I think that means the audience of this book is expected to have at least two semesters of basic DSP training. The book is organized in 12 chapters. The chapters are divided into sections that treat more detailed issues. The chapter and section headings are:
1 Basic Signals and Systems
- Signals
- Difference Equations
- Fourier Transform: DTFT
- Group Delay
- Basic Sampling Theory
- Zero-Phase IIR Filtering
2 Discrete Fourier Transform
- DFT Properties
- DFT as a Matrix
- Convolution: Circular and Block
- Related Transforms
3 Spectrum Analysis
- Spectral Windows
- Sliding-Window DFT
- Narrowband Signals
4 Multirate Processing
- Bandlimited Interpolation
- Zoom Transform
- Rate Changing
5 Systems and Structures
- Systems and Structures
6 Stochastic Signals
- Stochastic Signals
- FFT Spectrum Estimation
- Modern Spectrum Estimation
7 Wordlength Effects
- Wordlength Effects
8 Discrete-Time Filter Design
- Discrete Design of FIR Filters
- Least-Squares Design of FIR Filters
- Chebychev Design of FIR Filters
- Design of IIR Filters
9 DFT and FFT Algorithms
- Direct Calculation of the DFT
- The Cooley-Tukey FFT
- Prime Factor FFTs
- General-Length FFTs
10 Applications
- Radar Simulation
- Introduction to Speech Processing
- Speech Modeling
- Speech Quantization
11 Signal Modeling
- Linear Prediction
- Linear Prediction of Speech
- Exponential Modeling
- Signal Estimation
- Least-Squares Inversion
12 Appendix A: Software and Programming Notes
Each section is divided into a number of projects which, in turn, are divided into a number of exercises.
To get an impression of the level these exercises hold, consider the section "Least-Squares Design of FIR Filters" in chapter 8. The section is divided in the projects
Project 1: FIR Filter Design by Least Integral Squared Error
Approximation
Project 2: Design of High-Pass, Band-Pass and Band-Reject
Least-Squared-Error FIR Filters
Project 3: FIR Filter Design Using Window Functions
The two first exercises of project 3 are (p 269):
=====================================================
Exercise 3.1: Design a Low-Pass Filter Using Windows
Design a length-23 linear-phase FIR low-pass filter
with a band edge of w0 = 0.3pi 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(sic!) filters. Compare the
charactersitics of the amplitude response of the five
filters. Do this in terms of the squared error, the
Chebychev error and the transition bandwidth. Compare
them to an optimal Chebychev 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
comparision?
==================================================
Exercise 3.2: Design a Band-Pass Filter Using Windows
Take the band-pass filter designed in exercise 2.5
and apply the five windows. Analyze the amplitude
response.
====================================================
Hardly newbie material, in my opinion. The student really needs to know the material (Ex. 3.1) and has to be able to generate useful answers from a very generic job assignment (Ex. 3.2).
These are exactly the reasons why I find this type of exercises attractive (and perhaps why others may be repelled by them). The focus is consistently on what the authors call "learning by discovery" (which probably has little to do with the TV channel...): The student has to find the theory, implement and test most functions himself and has to process synthetic and real data (data and some auxillary functions are available via the www from MathWorks), and also evaluate the results of his efforts. This is exactly the kind of hands-on experience most DSP courses (and perhaps even DSP training programs) lack these days, and what makes this book so very useful.
Some conclusions based on a couple of hours browsing:
- This is NOT a textbook for learning neither DSP
nor MATLAB.
- The reader is expected to have working knowledge
of MATLAB and a firm theoretical basis in DSP.
- This book provides some badly needed hands-on
traning programs.
- The book consistently aims for building insight
and intuition.
- The book is perhaps too tuned towards use in a
class with an instructor.