If you are a student - steer clear!
Review written by: Charity Sipe From State College
This was probably written to be a lab manual for a class. I bought it as a professional to polish up on my DSP. It contains "hands on" exercises in Matlab to demonstrate DSP principles. My two main gripes are the same with this book as most other engineering books and are as follows: (1) it is not written to it's intended audience - the student. It is written for the professor (ie the authors colleagues) and (2) it contains no solutions (as a previous reviewer stated). I would also like to point out that Matlab 5 is "old" now and some of the functions used in this book have been renamed in the later version of Matlab. DO NOT WASTE YOUR MONEY ON THIS BOOK.
A collection of DSP exercises, NOT a textbook
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.
Evaluation depends on individual needs and wants
My evaluation for this book, 2 stars, is based on my specific needs and wants that were the motivation for my purchasing this book, and resulted in disappointment.
I'm a first-semester graduate student in electrical engineering, and wanted to self-learn a lot of MATLAB and its uses with DSP, so that I could get a head's start in gaining the background I would later need for my research in DSP. I knew this book was a collection of exercises in which you create MATLAB programs (.m files) to solve DSP problems and explore various DSP topics. However, I also expected the book to give full solutions to the problems, working through the MATLAB scripts for you so that you could learn the DSP applications of MATLAB through practice.
Unfortunately, I was wrong... The book is divided into a series of projects, and with each project there is a brief explanation of the related theory, and then several problems which tell you to program MATLAB to do so and so, sometimes along with a few hints.... and NO SOLUTIONS ARE GIVEN. In fact, it's basically just a collection of problems. I think it's meant more for TEACHERS... to assign the problems in the book as homework for students in their DSP classes. In that respect, it is natural that there are no solutions included in the book.
In summary, this is not a book you want to buy if you're looking for something you can use to STUDY and LEARN how to apply MATLAB to DSP. It is essentially just a list of DSP problems which require you to use MATLAB. I'm sure the problems themselves are beautifully-crafted problems that would give you lots of insight and grasp of concepts once you have given lots of effort into them and then saw the solutions.... As just a book of problems, I'm sure it would be a top-quality book worthy of 5 stars (after all, look at its authors). But if nobody gives you the solutions, you can't learn a great deal from just the problems and briefly-explained theory.
Just make sure you know what this book is about and whether it really is what you're looking for before you purchase it. I'm planning on returning mine.
Excellent Applications Book
Review written by: Javier Medina From CA United States
I have the previous edition of the book (Using Matlab 4) and this review is on that version... I find this book to be an excellent APPLICATIONS book. It is not intended to be a Matlab Primer; you are supposed to know Matlab programming already. It is also not intended to be a DSP Primer. This book takes the basic DSP knowledge you already have and allows you to expand on it by applying it to a variety of real problems, like radar ranging or speech processing or filtering. It also deepens your knowledge by giving you drill problems that go deep into the workings of the DFT and other basic DSP tools. I had the good luck of taking a couple of DSP courses with McClellan and Schafer when they were writing this book and they used to hand problems from the book as special homework after they had taught the underlying material. Doing these exercises after you know the basics is an excellent way to cement that knowlege and become more proficient both in matlab and in problem solving.
Empty Promises
Review written by: nhirsh@sprynet.com From Maryland
This Schaums Outline-type manual apparently had been issued with an earlier text of McClellan's. It is made up of lecture-type problems too brief to understand without a closely keyed text. I'm returning the book. Hope you don't get fooled.