Student Edition | Instructor Edition | Information Center | Home
Digital Signal Processing, 3/e
Information Center
Table of Contents
About the Author
Book Preface
Errata
Engineering Catalog

Feedback
Help Center




Book Preface

The field of digital signal processing (DSP) has seen explosive growth during the past four decades, as phenomenal advances both in research and application have been made. Fueling this growth have been the advances in digital computer technology and software development. Almost every electrical and computer engineering department in this country and abroad now offers one or more courses in digital signal processing, with the first course usually being offered at the senior level. This book is intended for a two-semester course on digital signal processing for seniors or first-year graduate students. It is also written at a level suitable for self-study by the practicing engineer or scientist.

Even though the second edition of this book was published barely three years ago, based on the feedback received from professors who adopted this book for their courses and many readers, it became evident that a new edition was needed to incorporate the suggested changes to the contents. Three types of changes were made to the manuscript: inclusion of a number of new topics, elimination of some topics, and a major reorganization of the materials. We believe the materials in each chapter are now organized more logically. In addition more worked-out examples have been included to explain new and difficult concepts.

One major change occurring in the third edition is the splitting of the chapter on transform-domain representations of discrete-time signals and systems into three chapters: one chapter on the discrete-time Fourier transform (DTFT) representation, a second one on the discrete Fourier transform (DFT) representation, and the third one on the z-transform representation. The chapter on discrete-time Fourier transform representation also includes a brief review of the continuous-time Fourier transform (CTFT) representation of continuous-time signals and systems to point out the basic similarities and differences between the two transforms. The concept of the frequency response of a linear, time-invariant discrete-time system and its properties are discussed in this chapter. The chapter containing a discussion of the DFT includes a review of two other finite-length discrete transforms, namely, the discrete cosine transform (DCT) and the Haar transform. These two latter transforms are often used in signal compression. The concept of the transfer function of a linear, time-invariant discrete-time system is reviewed in the chapter on the z-transform representation.

The second major change implemented in this edition is to cover the design of infinite impulse response (IIR) and finite impulse response (FIR) digital filters in two separate chapters. The third major change involves the splitting of the chapter on multirate digital signal processing into two chapters. The first chapter covers a discussion on fundamental concepts of multirate digital signal processing, while the second chapter includes a discussion on filter banks and discrete wavelet transform. Finally, relevant materials on discrete-time random signals are included as an appendix.

The new topics included in the third edition are continuous-time Fourier transform (Section 3.1), unwrapped phase function (Section 3.7), phase and group delays (Section 3.9), Fourier-domain filtering (Section 5.8), discrete cosine transform (Section 5.11), Haar transform (Section 5.12), energy compaction properties of the finite-length discrete transforms (Section 5.13), transfer function classification based on magnitude and phase characteristics (Sections 7.1 and 7.2), minimum-phase FIR filter design (Section 10.4), spectral factorization (Section 10.4), computationally efficient FIR filter design (Section 10.6), fast discrete Fourier transform computation using index mapping (Section 11.4), sliding discrete Fourier transform (Section 11.6), discrete Fourier transform computation over a narrow frequency band (Section 11.7), spline interpolation (Section 13.5), discrete-wavelet transform (Section 14.6), digital music synthesis (Section 15.7), and wavelet-based signal compression (Section 15.9).

A key feature of this book is the extensive use of Matlab R -based1 examples that illustrate the program’s powerful capability to solve signal processing problems. The book uses a three-stage pedagogical structure designed to take full advantage of Matlab and to avoid the pitfalls of a "cookbook" approach to problem solving. First, each chapter begins by developing the essential theory and algorithms. Second, the material is illustrated with examples solved by hand calculation. And third, solutions are derived using Matlab. From the beginning, Matlab codes are provided with enough details to permit the students to repeat the examples on their computers. In addition to conventional theoretical problems requiring analytical solutions, each chapter also includes a large number of problems requiring solution via Matlab. This book requires a minimal knowledge of Matlab. We believe students learn the intricacies of problem solving with Matlab faster by using tested, complete programs and then writing simple programs to solve specific problems that are included at the ends of Chapters 2 to 15.

Because computer verification enhances the understanding of the underlying theories, as in the first two editions, a large library of worked-out Matlab programs are included in the third edition. The original Matlab programs of the second edition have been updated to run on the newer versions of Matlab and the Signal Processing Toolbox. In addition, new Matlab programs and code fragments have been added in this edition. All Matlab programs are included in the CD accompanying this text. The reader can run these programs to verify the results included in the book. All Matlab programs and code fragments in the text have been tested under version 7 (Release 14) of Matlab and version 6.2 of the Signal Processing Toolbox. Some of the programs listed in this book are not necessarily the fastest with regard to their execution speeds, nor are they the shortest. They have been written for maximum clarity without detailed explanations.

A second attractive feature of this book is the inclusion of extensive simple, but practical, examples that expose the reader to real-life signal processing problems, which has been made possible by the use of computers in solving practical design problems. This book also covers many topics of current interest not normally found in an upper-division text. Additional topics are also introduced to the reader through problems at the end of Chapters 2 through 14. Finally, the book concludes with a chapter that focuses on several important, practical applications of digital signal processing. These applications are easy to follow and do not require knowledge of other advanced-level courses.

The CD accompanying the book also contains several other useful materials, such as files of real signals, review materials, additional examples, frequently asked questions (FAQs), and a short tutorial on Matlab. Where possible, pointers in the text with CD symbols have been used to direct the reader to relevant materials in the CD. From the feedback we hope to receive from the readers of the third edition, we hope to improve the contents on the CD for future editions.

The prerequisite for this book is a junior-level course in linear continuous-time and discrete-time systems, which is usually required in most universities. A minimal review of linear systems and transforms is provided in the text, and basic materials from linear system theory are included, with important materials summarized in tables. This approach permits the inclusion of more advanced materials without significantly increasing the length of the book.

The book is divided into 15 chapters and an appendix. Chapter 1 presents an introduction to the field of signal processing and provides an overview of signals and signal processing methods.

Chapter 2 discusses the time-domain representations of discrete-time signals and discrete-time systems as sequences of numbers and describes classes of such signals and systems commonly encountered. Several basic discrete-time signals that play important roles in the time-domain characterization of arbitrary discrete-time signals and discrete-time systems are then introduced. Next, a number of basic operations to generate other sequences from one or more sequences are described. A combination of these operations is also used in developing a discrete-time system. The problem of representing a continuous-time signal by a discrete-time sequence is examined for a simple case.

Chapter 3 is devoted to the discrete-time Fourier transform (DTFT) representations of discrete-time sequences. It starts with a short review of the continuous-time Fourier transform (CTFT) representations of continuous-time signals and systems. The DTFT and its inverse are introduced, along with a discussion of the convergence of the DTFT. Properties of the DTFT are next reviewed, and the unwrapping of the phase function to remove certain discontinues in the DTFT is discussed. The concept of the frequency response of a linear, time-invariant (LTI) discrete-time system is then introduced, followed by a careful examination of the difference between phase and group delays associated with the frequency response.

Chapter 4 is concerned primarily with the discrete-time processing of continuous-time signals. The conditions for discrete-time representation of a band-limited continuous-time signal under ideal sampling and its exact recovery from the sampled version are first derived. Several interface circuits are used for the discrete-time processing of continuous-time signals. Two of these circuits are the anti-aliasing filter and the reconstruction filter, which are analog lowpass filters. As a result, a brief review of the basic theory behind some commonly used analog filter design methods is included, and their use is illustrated with Matlab. Other interface circuits discussed in this chapter are the sample-and-hold circuit, the analog-to-digital converter, and the digital-to-analog converter.

The major part of Chapter 5 is concerned with the discrete Fourier transform (DFT), which plays an important role in some digital signal processing applications as it can be used to implement linear convolution efficiently using fast algorithm for its computation. The DFT and its inverse are introduced, along with a discussion of their properties. This chapter also includes a review of the discrete cosine transform (DCT) and the Haar transform. All three transforms discussed in this chapter are examples of orthogonal transforms of a finite-length sequence.

Chapter 6 is devoted to a discussion of z-transform. The transform and its inverse are introduced, along with a discussion of their properties. The convergence condition of the z-transform is examined in details. It also includes a discussion of the concept of the transfer function of a LTI discrete-time system and its relation to the frequency response of the system.

This book concentrates almost exclusively on the linear time-invariant discrete-time systems, and Chapter 7 discusses their transform-domain representations. Specific properties of such transform-domain representations are investigated, and several simple applications are considered.

A structural representation using interconnected basic building blocks is the first step in the hardware or software implementation of an LTI digital filter. The structural representation provides the relations between some pertinent internal variables with the input and the output, which, in turn, provides the keys to the implementation. There are various forms of the structural representation of a digital filter, and two such representations are reviewed in Chapter 8, followed by a discussion of some popular schemes for the realization of real causal IIR and FIR digital filters. In addition, it describes a method for the realization of IIR digital filter structures that can be used for the generation of a pair of orthogonal sinusoidal sequences.

Chapter 9 considers the IIR digital filter design problem. First, it discusses the issues associated with the filter design problem. Then, it describes the most popular approach to IIR filter design, based on the conversion of a prototype analog transfer function to a digital transfer function. The spectral transformation of one type of IIR transfer function into another type is discussed. The use of Matlab in IIR digital filter design is illustrated.

Chapter 10 is concerned with the FIR digital filter design problem. A very simple approach to FIR filter design is described, followed by a discussion of a popular algorithm for the computer-aided design of equiripple linear-phase FIR digital filters. The use of Matlab in FIR digital filter design is illustrated.

Chapter 11 is concerned with the implementation aspects of DSP algorithms. Two major issues concerning implementation are discussed first. The software implementations of digital filtering and DFT algorithms on a computer using Matlab are reviewed to illustrate the main points. This is followed by a discussion of various schemes for the representation of number and signal variables on digital machines, which is basic to the development of methods for the analysis of finite wordlength effects considered in Chapter 12. Algorithms used to implement addition and multiplication, the two key arithmetic operations in digital signal processing, are reviewed next, along with operations developed to handle overflow. Finally, the chapter outlines two general methods for the design and implementation of tunable digital filters, followed by a discussion of algorithms for the approximation of certain special functions.

Chapter 12 is devoted to analysis of the effects of the various sources of quantization errors; it describes structures that are less sensitive to these effects. Included here are discussions on the effect of coefficient quantization.

Chapters 13 and 14 discuss multirate discrete-time systems with unequal sampling rates at various parts. The chapter includes a review of the basic concepts and properties of sampling rate alteration, design of decimation and interpolation digital filters, and multirate filter bank design.

The final chapter, Chapter 15, reviews a few simple practical applications of digital signal processing to provide a glimpse of its potential.

The materials in this book have been used in a two-quarter course sequence on digital signal processing at the University of California, Santa Barbara, and have been extensively tested in the classroom for over 12 years. Basically, Chapters 2 through 8 form the basis of an upper-division course, while Chapters 8 through 15 form the basis of a graduate-level course.

This text contains 352 examples, 163 Matlab programs and code fragments, 783 problems, and 158 Matlab exercises.

Every attempt has been made to ensure the accuracy of all materials in this book, including the Matlab programs. I would, however, appreciate readers bringing to my attention any errors that may appear in the printed version for reasons beyond my control and that of the publisher. These errors and any other comments can be communicated to me by e-mail addressed to mitra@ece.ucsb.edu.

Finally, I have been particularly fortunate to have had the opportunity to work with outstanding students who were in my research group during my teaching career, which spans over 40 years. I have benefited immensely, and continue to do so, both professionally and personally, from my friendship and association with them, and to them I dedicate this book.

Sanjit K. Mitra

Acknowledgments

The preliminary versions of the complete manuscript for the first edition were reviewed by Dr. Hrvojc Babic of University of Zagreb, Croatia; Dr. James F. Kaiser of Duke University; Dr. Wolfgang F. G. Mecklenbräuker of Technical University of Vienna, Austria; and Dr. P. P. Vaidyanathan of California Institute of Technology. A later version was reviewed by Dr. Roberto H. Bambmerger of Microsoft; Dr. Charles Boumann of Purdue University; Dr. Kevin Buckley of University of Minnesota; Dr. John A. Flemming of Texas A & M University; Dr. Jerry D. Gibson of Southern Methodist University; Dr. John Gowdy of Clemson University; Drs. James Harris and Mahmood Nahvi of California Polytechnic University, San Louis Obispo; Dr.Yih-Chyun Jenq of Portland State University; Dr. Troung Q. Ngyuen of University of California, San Diego; and Dr. Andreas Spanias of Arizona State University. Various parts of the manuscript of the first edition were reviewed by Dr. C. Sidney Burrus of Rice University; Dr. Richard V. Cox of AT&T Laboratories; Dr. Ian Galton of University of California, San Diego; Dr. Nikil S. Jayant of Georgia Institute of Technology; Dr. Tor Ramstad of Norwegian University of Science and Technology, Trondheim, Norway; Dr. B. Ananth Shenoi of Wright State University; Dr. HansW. Schüssler of University of Erlangen-Nuremberg, Germany; Dr. Richard Schreier of Analog Devices and Dr. Gabor C. Temes of Oregon State University.

Reviews for the second edition were provided by Dr. Winser E. Alexander of North Carolina State University; Dr. Sohail A. Dianat of Rochester Institute of Technology; Dr. Suhash Dutta Roy of Indian Institute of Technology, New Delhi; Dr. David C. Farden of North Dakota State University; Dr. Abdulnasir Y. Hossein of Sultan Qaboos University, Sultanate of Omman; Dr. James F. Kaiser of Duke University; Dr. Ramakrishna Kakarala of Agilent Laboratories; Dr. Wolfgang F. G. Mecklenbräuker of Technical University of Vienna, Austria; Dr. Antonio Ortega of University of Southern California; Dr. Stanley J. Reeves ofAuburn University; Dr. George Symos of University of Maryland, College Park; and Dr. Gregory A.Wornell of Massachusetts Institute of Technology. Various parts of the manuscript for the second edition were reviewed by Dr. Dimitris Anastassiou of Columbia University; Dr. Rajendra K. Arora of Florida State University; Dr. Ramdas Kumaresan of University of Rhode Island; Dr. Upamanyu Madhow of University of California, Santa Barbara; Dr. Urbashi Mitra of University of Southern California; Dr. Randolph Moses of Ohio State University; Dr. Ivan Selesnick of Polytechnic University, Brooklyn, NewYork; and Dr. Gabor C. Temes of Oregon State University.

Reviews for the third edition were provided by Dr. Donald G. Bailey of Massey University, New Zealand; Dr. Marco Carli of University of Rome ’TRE’, Italy; Dr. Emad S. Ebbini of University of Minnesota; Dr. Chandrakanth H. Gowda of Tuskegee University; Dr. Robert W. Heath, Jr., of University of Texas at Austin; Dr. Hongbin Li of Stevens Institute of Technology; Dr. Ping Liang of University of California, Riverside; Dr. Luca Lucchese of Oregon State University; Dr. Kamal Premaratne of University of Miami; Dr. Lawrence R. Rabiner of Rutgers University; Dr. Ali M. Reza of University of Wisconsin- Milwaukee; Dr. Terry E. Riemer of University of New Orleans; Dr. Erchin Serepdin of Texas A&M University; and Dr. Okechukwu C. Ugweje of University of Akron. Various parts of the manuscript for the third edition were reviewed by Dr. Shivkumar Chandrasekaran of University of California, Santa Barbara; Dr. Charles D. Creusere of New Mexico State University at Las Cruces; Dr.Yong-Ching Lim of Nanyang Technological University, Singapore; Mr. Ricardo Losada of MathWorks Inc.; Dr. Kai-Kwang Ma of Nanyang Technological University, Singapore; Dr. Julius O. Smith of Stanford University and Dr. Truong Ngyuen of University of California, San Diego.

I thank all of them for their valuable comments, which have improved the book tremendously.

Many of my former and present research students reviewed various portions of the manuscript of all editions and tested a number of the Matlab programs. In particular, I would like to thank Drs. Charles D. Creusere, Rajeev Gandhi, Gabriel Gomes, Serkan Hatipoglu, Zhihai He, Michael Lightstone, Ing-Song Lin, Luca Lucchese, Michael Moore, Debargha Mukherjee, Norbert Strobel, and Stefan Thurnhofer, and Mylene Queiroz de Farias, and Messrs. Hsin-Han Ho and Eric Leipnik. I am also indebted to all former students in my ECE 158 and ECE 258A classes at the University of California, Santa Barbara, for their feedback over the years, which helped refine the book.

I thank Goutam K. Mitra and Alicia Rodriguez for the cover design of the book. Finally, I thank Patricia Monohon for her outstanding assistance in the preparation of the LaTeX files of the third edition.

Supplements

All Matlab programs included in this book are in the CD accompanying this book and are also available via anonymous file transfer protocol (FTP) from the Internet site iplserv.ece.ucsb.edu in the directory/pub/mitra/Book_3e.

A solutions manual prepared by Chowdary Adsumilli, Chin-chaye Koh, Gabriel Gomes, Hsin-Han Ho, and Mylene Queiroz de Farias and containing the solutions to all problems and Matlab exercises is available to instructors from the publisher. PowerPoint slides of most materials of this book are available to instructors from the author.

A companion book Digital Signal Processing Laboratory UsingMATLAB by the author is also available from McGraw-Hill.