For introductory courses (sophomore/junior) in Digital Signal Processing and Signals and Systems. Text is useful as a self-teaching tool for anyone eager to discover more about DSP applications, multi-media signals, and MATLAB.

This text is derived from DSP First: A Multimedia Approach, published in 1997, which filled an emerging need for a new entry-level course not centered on analog circuits in the ECE curriculum. It was also successfully used in 80 universities as a core text for linear systems and beginning signal processing courses. This derivative product,Signal Processing First [SPF] contains similar content and presentation style, but focuses on analog signal processing. Note: DSP First: A Multimedia Approach remains in print for those who choose a digital emphasis for their introductory course.

Dr. James H. McClellan received the B.S. degree in Electrical Engineering from Louisiana State University in 1969 and the M.S. and Ph.D. degrees from Rice University in 1972 and 1973, respectively. During 1973-4 he was a member of the research staff at M.I.T.'s Lincoln Laboratory. He then became a professor in the Electrical Engineering and Computer Science Department at M.I.T. In 1982, he joined Schlumberger Well Services where he worked on the application of 2-D spectral estimation to the processing of dispersive sonic waves, and the implementation of signal processing algorithms for dedicated high-speed array processors. He has been at Georgia Tech since 1987. Prof. McClellan is a Fellow of the IEEE and he received the ASSP Technical Achievement Award in 1987, and then the Signal Processing Society Award in 1996.

Ronald W. Schafer is an electrical engineer notable for his contributions to digital signal processing. After receiving his Ph.D. degree at MIT in 1968, he joined the Acoustics Research Department at Bell Laboratories, where he did research on digital signal processing and digital speech coding. He came to the Georgia Institute of Technology in 1974, where he stayed until joining Hewlett Packard in March 2005. He has served as Associate Editor of IEEE Transactions on Acoustics, Speech, and Signal Processing and as Vice-President and President of the IEEE Signal Processing Society. He is a Life Fellow of the IEEE and a Fellow of the Acoustical Society of America. He has received the IEEE Region 3 Outstanding Engineer Award, the 1980 IEEE Emanuel R. Piore Award, the Distinguished Professor Award at the Georgia Institute of Technology, the 1992 IEEE Education Medal and the 2010 IEEE Jack S. Kilby Signal Processing Medal.

This book and its accompanying CD-ROM are the result of almost 10 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of both electrical engineering and computer engineering. In the summer of 1993, two of us (J. H. McC and R. W. S) began to develop a one-quarter course that was to become the first course for Georgia Tech computer engineering students, who were at that time following an overlapping, but separate, curriculum track from the electrical engineering students in the School of ECE. We argued that the subject of digital signal processing (DSP) had everything we wanted in a first course for computer engineers: it introduced the students to the use of mathematics as a language for thinking about engineering problems; it laid useful groundwork for subsequent courses; it made a strong connection to digital computation as a means for implementing systems; and it offered the possibility of interesting applications to motivate beginning engineers to do the hard work of connecting mathematics and computation to problem solving.

We were not the first to have this idea. In particular, two books by Professor Ken Steiglitz of Princeton University had a major impact on our thinking. The major reasons that it was feasible in 1993 to experiment with what came to be known at Georgia Tech as the "DSP First" approach were: (1) the easy accessibility of increasingly powerful personal computers and (2) the availability of MATLAB, a powerful and easy-to-use software environment for numerical computation. Indeed, Steiglitz's 1972 book was well ahead of its time, since DSP had few practical applications, andeven simple simulations on then-available batch processing computers required significant programming effort. By the early 1990s, however, DSP applications such as CD audio, high-speed modems, and cell phones were widespread due to the availability of lowcost "DSP chips" that could perform extensive computation in "real time:" Thus, integrated circuit technology was the driving force that simultaneously provided the wherewithal both for a convenient PC-based laboratory experience for learning DSP and for creating a climate of applications that provided motivation for that study.

From the beginning, we believed that "hands-on" experience with real signals was crucial. This is provided by a "laboratory" based on MATLAB running on PCs. In the laboratory assignments, students gain direct reinforcement from hearing and seeing the effects of filtering operations that they have implemented on sound and image signals. They synthesize music from sinusoids, and they see that those same sinusoids are the basis for the data modems that they use routinely to access the Internet. We also found that MATLAB made it possible to quickly develop demonstration programs for visualizing and clarifying complicated mathematical concepts. By 1995, we had written notes covering the topics in our course, and we had amassed a large amount of computer-based supporting material. Mark Yoder, while on sabbatical leave from Rose-Hulman, had the idea to put all of this material in a form that other teachers (and students) could access easily. That idea led to a CDROM that captured the entire contents of our course web site. It included demonstrations and animations used in classes, laboratory assignments, and solved homework problems. As teachers, this material has changed the way we present ideas, because it offers new ways to visualize a concept "beyond the equations:" Over the years, our web site has continued to grow. We anticipate that this growth will continue, and that users of this material will see new ideas take shape in the form of additional demos and labs. In 1998, all of this material was packaged together in a textbook/CD-ROM, and we gave it the descriptive title DSP First: A Multimedia Approach.

No sooner had we finished DSP First, then Georgia Tech switched from a quarterly system to semesters, and our expanded course became "Signal Processing First," the first course for computer engineers and electrical engineers. However, we found ourselves with a textbook that only covered two-thirds of the material that we needed to include for the semester-long, required signals and systems core course in our semester curriculum. 2 This led to another four years of development that included four new chapters on continuous-time signal processing and the Fourier transform; many new laboratory assignments in areas such as filtering, Fourier series, and analog and digital communications; many new demos and visualizations; hundreds of new homework problems and solutions; and updates of many of our original computer demos.

The present text is our effort to implement an expanded version of our basic philosophy. It is a conventional book, although, as our title Signal Processing First suggests, the distinguishing feature of the text (and the accompanying CD-ROM) is that it presents signal processing at a level consistent with an introductory ECE course, i.e., the sophomore level in a typical U.S. university. The list of topics in the book is not surprising, but since we must combine signal processing concepts with some introductory ideas, the progression of topics may strike some teachers as unconventional. Part of the reason for this is that in the electrical engineering curriculum, signals and systems and DSP typically have been treated as junior- and senior-level courses, for which a traditional background of linear circuits and linear systems is assumed. We continue to believe strongly that there are compelling reasons for turning this order around, since the early study of signal processing affords a perfect opportunity to show electrical and computer engineering students that mathematics and digital computation can be the key to understanding familiar engineering applications. Furthermore, this approach makes the subject much more accessible to students in other majors such as computer science and other engineering fields. This point is increasingly important because nonspecialists are beginning to use DSP techniques routinely in many areas of science and technology.

Signal Processing First is organized to move from simple continuous-time sinusoidal signals, to discrete-time signals and systems, then back to continuous-time, and finally, the discrete and continuous are mixed together as they often are in real engineering systems. A look at the table of contents shows that the book begins very simply (Chapter 2) with a detailed discussion of continuous-time sinusoidal signals and their representation by complex exponentials. This is a topic traditionally introduced in a linear circuits course. We then proceed to introduce the spectrum concept (Chapter 3) by considering sums of sinusoidal signals with a brief introduction to Fourier series. At this point we make the transition to discrete-time signals by considering sampled sinusoidal signals (Chapter 4). This allows us to introduce the important issues in sampling without the additional complexity of Fourier transforms. Up to this point in the text, we have only relied on the simple mathematics of sine and cosine functions. The basic linear system concepts are then introduced with simple FIR filters (Chapter 5). The key concept of frequency response is derived and interpreted for FIR filters (Chapter 6), and then we introduce z-transforms (Chapter 7) and IIR systems (Chapter 8). The first eight chapters are very similar to the those of DSP First. At this point, we return to continuous-time signals and systems with the introduction of convolution integrals (Chapter 9) and then frequency response for continuous-time systems (Chapter 10). This leads naturally to a discussion of the Fourier transform as a general representation of continuous-time signals (Chapter 11). The last two chapters of the book cap off the text with discussions of applications of the concepts discussed in the early chapters. At this stage, a student who has faithfully read the text, worked homework problems, and done the laboratory assignments related to the early chapters will be rewarded with the ability to understand applications involving linear filtering, amplitude modulation, the sampling theorem and discrete-time filtering, and spectrum analysis.

At Georgia Tech, our sophomore-level, 15-week course covers most of the content of Chapters 2-12 in a format involving two one-hour lectures, one' 1.5 hour recitation, and one 1.5 hour laboratory period per week. As mentioned previously, we place considerable emphasis on the lab because we believe that it is essential for motivating our students to learn the mathematics of signal processing, and because it introduces our students to the use of powerful software in engineering analysis and design. At Rose-Hulman, we use Signal Processing First in a junior-level, 10-week course that covers Chapters 4-13. The Rose format is four one-hour lectures per week. The students use MATLAB throughout the course, but do not have a separate laboratory period.

As can be seen from the previous discussion, Signal Processing First is not a conventional signals and systems book. One difference is the inclusion of a significant amount of material on sinusoids and complex phasor representations. In a traditional electrical engineering curriculum, these basic notions are covered under the umbrella of linear circuits taken before studying signals and systems. Indeed, our choice of title for this book and its ancestor is designed to emphasize this departure from tradition. An important point is that teaching signal processing first also opens up new approaches to teaching linear circuits, since there is much to build upon that will allow redirected emphasis in the circuits course. At Georgia Tech, we use the fact that students have already seen phasors and sinusoidal steady-state response to move more quickly from resistive circuits to AC circuits. Furthermore, students have also seen the important concepts of frequency response and poles and zeros before studying linear circuits. This allows more emphasis on circuits as linear systems. For example, the Laplace transform is used in the circuits course as a tool for solving the particular systems problems associated with linear circuits. This has resulted in a new textbook with accompanying CD-ROM co-authored by Professors Russell Mersereau and Joel Jackson.

A second difference from conventional signals and systems texts is that Signal Processing First emphasizes topics that rely on "frequency domain" concepts. This means that topics like Laplace transforms, state space, and feedback control, are absent. At Georgia Tech, these topics are covered in the required linear circuits course and in a junior-level "tier two" course on control systems. Although our text has clearly been shaped by a specific point of view, this does not mean that it and the associated CD-ROM can only be used in the way that they are used at Georgia Tech. For example, at Rose-Hulman the material on sinusoids and phasors is skipped in a junior-level course because students have already had this material in a circuits course. This allows us to cover the latter part of the text in one quarter. Indeed, by appropriate selection of topics, our text can be used for either a one-quarter or one-semester signals and systems course that emphasizes communications and signal processing applications from the frequency domain point of view. For most electrical engineering curricula, the control-oriented topics would have to be covered elsewhere. In other curricula, such as computer science and computer engineering, Signal Processing First emphasizes those topics that are most relevant to multimedia computing, and the control-oriented topics are generally not a required part of the curriculum. This is also likely to be true in other engineering fields where data acquisition and frequency domain analysis is assuming a prominent role in engineering analysis and design.

The CD-ROM that accompanies the present text contains all of the material that we currently use in teaching our one-semester first course for sophomore electrical and computer engineering students. This type of material has become a common supplement for lecturing in an age where "computers in education" is the buzz word. These new forms of computer-Leased media provide powerful ways to express ideas that motivate our students in their engineering education. As authors, we continue to experiment with different modes of presentation, such as the narrations and movies on the accompanying CD-ROM, along with the huge archive of solved problems. In the original DSP First CDROM we noticed that finding material was a challenge, so we have provided a search engine on this CD-ROM in order to make is easy to find relevant material from keywords searches. Now, for example, if you want to know why firfilt.m is in the SP-First Toolbox, you can just search for firfilt.m and see all the labs and homework that use it.

This text and its associated CD-ROM represents an untold amount of work by the three authors and many students and colleagues. Fortunately, we have been able to motivate a number of extremely talented students to contribute to this project. Of the many participants, five students who served as award-winning teaching assistants over many terms provided essential material to the CD-ROM. Jeff Schodorf developed the original abasing and reconstruction demos for Chapter 4, and did much of the early organization of all the DSP First CD-ROM demos along with Mark Yoder. David Anderson apprenticed with Jeff and then took over the course as its primary TA. David contributed new labs and redesigned the DSP First lab format so that the CD-ROM version would be easy to use. Jordan Rosenthal developed a consistent way to write GUIs that has now been used in all of our demonstrations. Many other students have benefited from his extraordinary MATLAB expertise. Greg Krudysz wrote the CON2DIS demo and has now taken over the primary role in developing GUIs.

In addition, many undergraduates have implemented MATLAB programs, graphical user interfaces (GUIs), and demos that are an important part of this CD-ROM. Most notably, Craig Ulmer developed PeZ as a multiyear undergraduate research project and contributed some of the other GUIs used in the labs. Koon Kong overhauled PeZ for later versions of MATLAB. Joseph Stanley made our first movie, the tuning fork movie. Amer Abufadel developed the image filtering demo for Chapter 6. Emily Eaton wrote the Music GUI and provided many of the musical scores and piano performances needed for the songs in the labs. Rajbabu Velmurugan improved the Music GUI and provided last minute updates for all the GUIs labs. Janak Patel wrote most of help files for the GUIs. Greg Slabaugh wrote the Fourier series demo as a JAVA applet, and Mustayeen Nayeem converted it into the MATLAB Fourier series demo. Budyanto Junus wrote the first LTI demo. Mehdi Javaramand developed parts of the Phasor Races GUI. Sam Li has participated in the development of many parts of the labs. He, Arthur Hinson, and Ghassan AI-Regib also developed many questions for the pre-labs and warm-ups in the labs. Kathy Harrington created lists of keywords for searching homework problems and edited an extensive set of frequently asked questions for the labs. Bob Paterno recorded a large number of tutorial movies about MATLAB.

During the past few years many professors have participated in the sophomore course ECE-2025 at Georgia Tech as lecturers and recitation instructors. Many of them have also written problem solutions that are included on this CD-ROM. We an indebted to the following for permitting us to include their solutions: Randy Abler, Yucel Altunbasak, John Bordelon, Giorgio Casinovi, Russ Callen, Kate Cummings, Richard Dansereau, Steve DeWeerth, Michael Fan, Bruno Frazier, Faramarz Fekri, Elias Glytsis, Monty Hayes, Bonnie Heck, Mary Ann Ingram, Paul Hasler, Chuanyi Ji, Aaron Lanterman, Russell Mersereau, Geofferey Li, Steve McLaughlin, Mohamed Moad, Bill Sayle, Mark Smith, Whit Smith, David Taylor, Erik Verriest, Doug Williams, Tony Yezzi, and Tong Zhou.

We are also indebted to Wayne Padgett and Bruce Black, who have taught ECE-280 at Rose-Hulman and have contributed many good ideas.

We also want to acknowledge the contributions or our Publisher, Tom Robbins at Pearson Prentice Hall. Very early on, he bought into the concept of DSP First and supported and encouraged us at every step in that project and its continuation. He also arranged for reviews of the text and the CD-ROM by some very thoughtful and careful reviewers, including Filson Glantz, S. Hossein Mousavinezhad, Geoffrey Orsak, Mitch Wilkes, Robert Strum, James Kaiser, Victor DeBrunner, Timothy Schultz, and Anna Baraniecki.

Finally, we want to recognize the understanding and support of our wives (Carolyn McClellan, Dorothy Schafer, and Sarah Yoder). Carolyn's photo of the cat Percy appears on the cover after undergoing some DSP. They have patiently supported us as this seemingly never-ending project continued to consume energy and time. Indeed, this project will continue on beyond the present text and CD-ROM since there are just too many ideas yet to explore. That is the appeal of the computer-based and Web-based approach. It can easily grow to incorporate the innovative visualizations and experiments that others will provide.

Mathematical Representation of Signals. Mathematical Representation of Systems. Thinking about Systems.

2. Sinusoids.

Tuning Fork Experiment. Review of Sine and Cosine Functions. Sinusoidal Signals. Sampling and Plotting Sinusoids. Complex Exponentials and Phasors. Phasor Addition. Physics of the Tuning Fork. Time Signals: More Than Formulas.

3. Spectrum Representation.

The Spectrum of a Sum of Sinusoids. Beat Notes. Periodic Waveforms. More Periodic Signals. Fourier Series Analysis and Synthesis. Time-Frequency Spectrum. Frequency Modulation: Chirp Signals.

4. Sampling and Aliasing.

Sampling. Spectrum View of Sampling and Reconstruction. Strobe Demonstration. Discrete-to-Continuous Conversion. The Sampling Theorem.

5. FIR Filters.

Discrete-Time Systems. The Running Average Filter. The General FIR Filter. Implementation of FIR Filters. Linear Time-Invariant (LTI) Systems. Convolution and LTI Systems. Cascaded LTI Systems. Example of FIR Filtering.

6. Frequency Response of FIR Filters.

Sinusoidal Response of FIR Systems. Superposition and the Frequency Response. Steady State and Transient Response. Properties of the Frequency Response. Graphical Representation of the Frequency Response. Cascaded LTI Systems. Running-Average Filtering. Filtering Sampled Continuous-Time Signals.

7. z-Transforms.

Definition of the z-Transform. The z-Transform and Linear Systems. Properties of the z-Transform. The z-Transform as an Operator. Convolution and the z-Transform. Relationship between the z -Domain and the <F128>w-Domain. Useful Filters.Practical Bandpass Filter Design. Properties of Linear Phase Filters.

8. IIR Filters.

The General IIR Difference Equation. Time-Domain Response. System Function of an IIR Filter. Poles and Zeros. Frequency Response of an IIR Filter. Three Domains. The Inverse z-Transform and Some Applications. Steady-State Response and Stability. Second-Order Filters. Frequency Response of Second-Order IIR Filter. Example of an IIR Lowpass Filter.

9. Continuous-Time Signals and LTI Systems.

Continuous-Time Signals. The Unit Impulse. Continuous-Time Systems. Linear Time-Invariant Systems. Impulse Responses of Basic LTI Systems. Convolution of Impulses. Evaluating Convolution Integrals. Properties of LTI Systems. Using Convolution to Remove Multipath Distortion.

10. The Frequency Response.

The Frequency Response Function for LTI Systems. Response to Real Sinusoidal Signals. Ideal Filters. Application of Ideal Filters. Time-Domain or Frequency-Domain?

11. Continuous-Time Fourier Transform.

Definition of the Fourier Transform. The Fourier Transform and the Spectrum. Existence and Convergence of the Fourier Transform. Examples of Fourier Transform Pairs. Properties of Fourier Transform Pairs. The Convolution Property. Basic LTI Systems. The Multiplication Property. Table of Fourier Transform Properties and Pairs. Using the Fourier Transform for Multipath Analysis.

12. Filtering, Modulation, and Sampling.

Linear Time-Invariant Systems. Sinewave Amplitude Modulation. Sampling and Reconstruction.

13. Computing the Spectrum.

Finite Fourier Sum. Too Many Fourier Transforms? Time-windowing. Analysis of a Sum of Sinusoids. Discrete Fourier Transform. Spectrum Analysis of Finite-Length Signals. Spectrum Analysis of Periodic Signals. The Spectrogram. The Fast Fourier Transform (FFT).

Appendix A: Complex Numbers.

Notation for Complex Numbers. Euler's Formula. Algebraic Rules for Complex Numbers. Geometric Views of complex Operations. Powers and Roots.

Appendix B: Programming in MATLAB.

MATLAB Help. Matrix Operations and Variables. Plots and Graphics. Programming Constructs. MATLAB Scripts. Writing a MATLAB Function. Programming Tips.

Appendix C: Laboratory Projects.

Introduction to MATLAB. Encoding and Decoding Touch-Tone Signals. Two Convolution GUIs.

This book and its accompanying CD-ROM are the result of almost 10 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of both electrical engineering and computer engineering. In the summer of 1993, two of us (J. H. McC and R. W. S) began to develop a one-quarter course that was to become the first course for Georgia Tech computer engineering students, who were at that time following an overlapping, but separate, curriculum track from the electrical engineering students in the School of ECE. We argued that the subject of digital signal processing (DSP) had everything we wanted in a first course for computer engineers: it introduced the students to the use of mathematics as a language for thinking about engineering problems; it laid useful groundwork for subsequent courses; it made a strong connection to digital computation as a means for implementing systems; and it offered the possibility of interesting applications to motivate beginning engineers to do the hard work of connecting mathematics and computation to problem solving.

We were not the first to have this idea. In particular, two books by Professor Ken Steiglitz of Princeton University had a major impact on our thinking. The major reasons that it was feasible in 1993 to experiment with what came to be known at Georgia Tech as the "DSP First" approach were: (1) the easy accessibility of increasingly powerful personal computers and (2) the availability of MATLAB, a powerful and easy-to-use software environment for numerical computation. Indeed, Steiglitz's 1972 book was well ahead of its time, since DSP had few practical applications, and evensimple simulations on then-available batch processing computers required significant programming effort. By the early 1990s, however, DSP applications such as CD audio, high-speed modems, and cell phones were widespread due to the availability of lowcost "DSP chips" that could perform extensive computation in "real time:" Thus, integrated circuit technology was the driving force that simultaneously provided the wherewithal both for a convenient PC-based laboratory experience for learning DSP and for creating a climate of applications that provided motivation for that study.

From the beginning, we believed that "hands-on" experience with real signals was crucial. This is provided by a "laboratory" based on MATLAB running on PCs. In the laboratory assignments, students gain direct reinforcement from hearing and seeing the effects of filtering operations that they have implemented on sound and image signals. They synthesize music from sinusoids, and they see that those same sinusoids are the basis for the data modems that they use routinely to access the Internet. We also found that MATLAB made it possible to quickly develop demonstration programs for visualizing and clarifying complicated mathematical concepts. By 1995, we had written notes covering the topics in our course, and we had amassed a large amount of computer-based supporting material. Mark Yoder, while on sabbatical leave from Rose-Hulman, had the idea to put all of this material in a form that other teachers (and students) could access easily. That idea led to a CDROM that captured the entire contents of our course web site. It included demonstrations and animations used in classes, laboratory assignments, and solved homework problems. As teachers, this material has changed the way we present ideas, because it offers new ways to visualize a concept "beyond the equations:" Over the years, our web site has continued to grow. We anticipate that this growth will continue, and that users of this material will see new ideas take shape in the form of additional demos and labs. In 1998, all of this material was packaged together in a textbook/CD-ROM, and we gave it the descriptive title DSP First: A Multimedia Approach.

No sooner had we finished DSP First, then Georgia Tech switched from a quarterly system to semesters, and our expanded course became "Signal Processing First," the first course for computer engineers and electrical engineers. However, we found ourselves with a textbook that only covered two-thirds of the material that we needed to include for the semester-long, required signals and systems core course in our semester curriculum. 2 This led to another four years of development that included four new chapters on continuous-time signal processing and the Fourier transform; many new laboratory assignments in areas such as filtering, Fourier series, and analog and digital communications; many new demos and visualizations; hundreds of new homework problems and solutions; and updates of many of our original computer demos.

The present text is our effort to implement an expanded version of our basic philosophy. It is a conventional book, although, as our title Signal Processing First suggests, the distinguishing feature of the text (and the accompanying CD-ROM) is that it presents signal processing at a level consistent with an introductory ECE course, i.e., the sophomore level in a typical U.S. university. The list of topics in the book is not surprising, but since we must combine signal processing concepts with some introductory ideas, the progression of topics may strike some teachers as unconventional. Part of the reason for this is that in the electrical engineering curriculum, signals and systems and DSP typically have been treated as junior- and senior-level courses, for which a traditional background of linear circuits and linear systems is assumed. We continue to believe strongly that there are compelling reasons for turning this order around, since the early study of signal processing affords a perfect opportunity to show electrical and computer engineering students that mathematics and digital computation can be the key to understanding familiar engineering applications. Furthermore, this approach makes the subject much more accessible to students in other majors such as computer science and other engineering fields. This point is increasingly important because nonspecialists are beginning to use DSP techniques routinely in many areas of science and technology.

Signal Processing First is organized to move from simple continuous-time sinusoidal signals, to discrete-time signals and systems, then back to continuous-time, and finally, the discrete and continuous are mixed together as they often are in real engineering systems. A look at the table of contents shows that the book begins very simply (Chapter 2) with a detailed discussion of continuous-time sinusoidal signals and their representation by complex exponentials. This is a topic traditionally introduced in a linear circuits course. We then proceed to introduce the spectrum concept (Chapter 3) by considering sums of sinusoidal signals with a brief introduction to Fourier series. At this point we make the transition to discrete-time signals by considering sampled sinusoidal signals (Chapter 4). This allows us to introduce the important issues in sampling without the additional complexity of Fourier transforms. Up to this point in the text, we have only relied on the simple mathematics of sine and cosine functions. The basic linear system concepts are then introduced with simple FIR filters (Chapter 5). The key concept of frequency response is derived and interpreted for FIR filters (Chapter 6), and then we introduce z-transforms (Chapter 7) and IIR systems (Chapter 8). The first eight chapters are very similar to the those of DSP First. At this point, we return to continuous-time signals and systems with the introduction of convolution integrals (Chapter 9) and then frequency response for continuous-time systems (Chapter 10). This leads naturally to a discussion of the Fourier transform as a general representation of continuous-time signals (Chapter 11). The last two chapters of the book cap off the text with discussions of applications of the concepts discussed in the early chapters. At this stage, a student who has faithfully read the text, worked homework problems, and done the laboratory assignments related to the early chapters will be rewarded with the ability to understand applications involving linear filtering, amplitude modulation, the sampling theorem and discrete-time filtering, and spectrum analysis.

At Georgia Tech, our sophomore-level, 15-week course covers most of the content of Chapters 2-12 in a format involving two one-hour lectures, one' 1.5 hour recitation, and one 1.5 hour laboratory period per week. As mentioned previously, we place considerable emphasis on the lab because we believe that it is essential for motivating our students to learn the mathematics of signal processing, and because it introduces our students to the use of powerful software in engineering analysis and design. At Rose-Hulman, we use Signal Processing First in a junior-level, 10-week course that covers Chapters 4-13. The Rose format is four one-hour lectures per week. The students use MATLAB throughout the course, but do not have a separate laboratory period.

As can be seen from the previous discussion, Signal Processing First is not a conventional signals and systems book. One difference is the inclusion of a significant amount of material on sinusoids and complex phasor representations. In a traditional electrical engineering curriculum, these basic notions are covered under the umbrella of linear circuits taken before studying signals and systems. Indeed, our choice of title for this book and its ancestor is designed to emphasize this departure from tradition. An important point is that teaching signal processing first also opens up new approaches to teaching linear circuits, since there is much to build upon that will allow redirected emphasis in the circuits course. At Georgia Tech, we use the fact that students have already seen phasors and sinusoidal steady-state response to move more quickly from resistive circuits to AC circuits. Furthermore, students have also seen the important concepts of frequency response and poles and zeros before studying linear circuits. This allows more emphasis on circuits as linear systems. For example, the Laplace transform is used in the circuits course as a tool for solving the particular systems problems associated with linear circuits. This has resulted in a new textbook with accompanying CD-ROM co-authored by Professors Russell Mersereau and Joel Jackson.

A second difference from conventional signals and systems texts is that Signal Processing First emphasizes topics that rely on "frequency domain" concepts. This means that topics like Laplace transforms, state space, and feedback control, are absent. At Georgia Tech, these topics are covered in the required linear circuits course and in a junior-level "tier two" course on control systems. Although our text has clearly been shaped by a specific point of view, this does not mean that it and the associated CD-ROM can only be used in the way that they are used at Georgia Tech. For example, at Rose-Hulman the material on sinusoids and phasors is skipped in a junior-level course because students have already had this material in a circuits course. This allows us to cover the latter part of the text in one quarter. Indeed, by appropriate selection of topics, our text can be used for either a one-quarter or one-semester signals and systems course that emphasizes communications and signal processing applications from the frequency domain point of view. For most electrical engineering curricula, the control-oriented topics would have to be covered elsewhere. In other curricula, such as computer science and computer engineering, Signal Processing First emphasizes those topics that are most relevant to multimedia computing, and the control-oriented topics are generally not a required part of the curriculum. This is also likely to be true in other engineering fields where data acquisition and frequency domain analysis is assuming a prominent role in engineering analysis and design.

The CD-ROM that accompanies the present text contains all of the material that we currently use in teaching our one-semester first course for sophomore electrical and computer engineering students. This type of material has become a common supplement for lecturing in an age where "computers in education" is the buzz word. These new forms of computer-Leased media provide powerful ways to express ideas that motivate our students in their engineering education. As authors, we continue to experiment with different modes of presentation, such as the narrations and movies on the accompanying CD-ROM, along with the huge archive of solved problems. In the original DSP First CDROM we noticed that finding material was a challenge, so we have provided a search engine on this CD-ROM in order to make is easy to find relevant material from keywords searches. Now, for example, if you want to know why firfilt.m is in the SP-First Toolbox, you can just search for firfilt.m and see all the labs and homework that use it.

This text and its associated CD-ROM represents an untold amount of work by the three authors and many students and colleagues. Fortunately, we have been able to motivate a number of extremely talented students to contribute to this project. Of the many participants, five students who served as award-winning teaching assistants over many terms provided essential material to the CD-ROM. Jeff Schodorf developed the original abasing and reconstruction demos for Chapter 4, and did much of the early organization of all the DSP First CD-ROM demos along with Mark Yoder. David Anderson apprenticed with Jeff and then took over the course as its primary TA. David contributed new labs and redesigned the DSP First lab format so that the CD-ROM version would be easy to use. Jordan Rosenthal developed a consistent way to write GUIs that has now been used in all of our demonstrations. Many other students have benefited from his extraordinary MATLAB expertise. Greg Krudysz wrote the CON2DIS demo and has now taken over the primary role in developing GUIs.

In addition, many undergraduates have implemented MATLAB programs, graphical user interfaces (GUIs), and demos that are an important part of this CD-ROM. Most notably, Craig Ulmer developed PeZ as a multiyear undergraduate research project and contributed some of the other GUIs used in the labs. Koon Kong overhauled PeZ for later versions of MATLAB. Joseph Stanley made our first movie, the tuning fork movie. Amer Abufadel developed the image filtering demo for Chapter 6. Emily Eaton wrote the Music GUI and provided many of the musical scores and piano performances needed for the songs in the labs. Rajbabu Velmurugan improved the Music GUI and provided last minute updates for all the GUIs labs. Janak Patel wrote most of help files for the GUIs. Greg Slabaugh wrote the Fourier series demo as a JAVA applet, and Mustayeen Nayeem converted it into the MATLAB Fourier series demo. Budyanto Junus wrote the first LTI demo. Mehdi Javaramand developed parts of the Phasor Races GUI. Sam Li has participated in the development of many parts of the labs. He, Arthur Hinson, and Ghassan AI-Regib also developed many questions for the pre-labs and warm-ups in the labs. Kathy Harrington created lists of keywords for searching homework problems and edited an extensive set of frequently asked questions for the labs. Bob Paterno recorded a large number of tutorial movies about MATLAB.

During the past few years many professors have participated in the sophomore course ECE-2025 at Georgia Tech as lecturers and recitation instructors. Many of them have also written problem solutions that are included on this CD-ROM. We an indebted to the following for permitting us to include their solutions: Randy Abler, Yucel Altunbasak, John Bordelon, Giorgio Casinovi, Russ Callen, Kate Cummings, Richard Dansereau, Steve DeWeerth, Michael Fan, Bruno Frazier, Faramarz Fekri, Elias Glytsis, Monty Hayes, Bonnie Heck, Mary Ann Ingram, Paul Hasler, Chuanyi Ji, Aaron Lanterman, Russell Mersereau, Geofferey Li, Steve McLaughlin, Mohamed Moad, Bill Sayle, Mark Smith, Whit Smith, David Taylor, Erik Verriest, Doug Williams, Tony Yezzi, and Tong Zhou.

We are also indebted to Wayne Padgett and Bruce Black, who have taught ECE-280 at Rose-Hulman and have contributed many good ideas.

We also want to acknowledge the contributions or our Publisher, Tom Robbins at Pearson Prentice Hall. Very early on, he bought into the concept of DSP First and supported and encouraged us at every step in that project and its continuation. He also arranged for reviews of the text and the CD-ROM by some very thoughtful and careful reviewers, including Filson Glantz, S. Hossein Mousavinezhad, Geoffrey Orsak, Mitch Wilkes, Robert Strum, James Kaiser, Victor DeBrunner, Timothy Schultz, and Anna Baraniecki.

Finally, we want to recognize the understanding and support of our wives (Carolyn McClellan, Dorothy Schafer, and Sarah Yoder). Carolyn's photo of the cat Percy appears on the cover after undergoing some DSP. They have patiently supported us as this seemingly never-ending project continued to consume energy and time. Indeed, this project will continue on beyond the present text and CD-ROM since there are just too many ideas yet to explore. That is the appeal of the computer-based and Web-based approach. It can easily grow to incorporate the innovative visualizations and experiments that others will provide.

## More About This Textbook

## Overview

For introductory courses (sophomore/junior) in Digital Signal Processing and Signals and Systems. Text is useful as a self-teaching tool for anyone eager to discover more about DSP applications, multi-media signals, and MATLAB.This text is derived from

DSP First: A Multimedia Approach, published in 1997, which filled an emerging need for a new entry-level course not centered on analog circuits in the ECE curriculum. It was also successfully used in 80 universities as a core text for linear systems and beginning signal processing courses.This derivative product,Signal Processing First[SPF] contains similar content and presentation style, but focuses on analog signal processing.Note:DSP First: A Multimedia Approachremains in print for those who choose a digital emphasis for their introductory course.## Product Details

## Related Subjects

## Meet the Author

Dr. James H. McClellanreceived the B.S. degree in Electrical Engineering from Louisiana State University in 1969 and the M.S. and Ph.D. degrees from Rice University in 1972 and 1973, respectively. During 1973-4 he was a member of the research staff at M.I.T.'s Lincoln Laboratory. He then became a professor in the Electrical Engineering and Computer Science Department at M.I.T. In 1982, he joined Schlumberger Well Services where he worked on the application of 2-D spectral estimation to the processing of dispersive sonic waves, and the implementation of signal processing algorithms for dedicated high-speed array processors. He has been at Georgia Tech since 1987. Prof. McClellan is a Fellow of the IEEE and he received the ASSP Technical Achievement Award in 1987, and then the Signal Processing Society Award in 1996.Ronald W. Schaferis an electrical engineer notable for his contributions to digital signal processing. After receiving his Ph.D. degree at MIT in 1968, he joined the Acoustics Research Department at Bell Laboratories, where he did research on digital signal processing and digital speech coding. He came to the Georgia Institute of Technology in 1974, where he stayed until joining Hewlett Packard in March 2005. He has served as Associate Editor of IEEE Transactions on Acoustics, Speech, and Signal Processing and as Vice-President and President of the IEEE Signal Processing Society. He is a Life Fellow of the IEEE and a Fellow of the Acoustical Society of America. He has received the IEEE Region 3 Outstanding Engineer Award, the 1980 IEEE Emanuel R. Piore Award, the Distinguished Professor Award at the Georgia Institute of Technology, the 1992 IEEE Education Medal and the 2010 IEEE Jack S. Kilby Signal Processing Medal.## Read an Excerpt

This book and its accompanying CD-ROM are the result of almost 10 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of both electrical engineering and computer engineering. In the summer of 1993, two of us (J. H. McC and R. W. S) began to develop a one-quarter course that was to become the first course for Georgia Tech computer engineering students, who were at that time following an overlapping, but separate, curriculum track from the electrical engineering students in the School of ECE. We argued that the subject of digital signal processing (DSP) had everything we wanted in a first course for computer engineers: it introduced the students to the use of mathematics as a language for thinking about engineering problems; it laid useful groundwork for subsequent courses; it made a strong connection to digital computation as a means for implementing systems; and it offered the possibility of interesting applications to motivate beginning engineers to do the hard work of connecting mathematics and computation to problem solving.

We were not the first to have this idea. In particular, two books by Professor Ken Steiglitz of Princeton University had a major impact on our thinking. The major reasons that it was feasible in 1993 to experiment with what came to be known at Georgia Tech as the "DSP First" approach were: (1) the easy accessibility of increasingly powerful personal computers and (2) the availability of MATLAB, a powerful and easy-to-use software environment for numerical computation. Indeed, Steiglitz's 1972 book was well ahead of its time, since DSP had few practical applications, andeven simple simulations on then-available batch processing computers required significant programming effort. By the early 1990s, however, DSP applications such as CD audio, high-speed modems, and cell phones were widespread due to the availability of lowcost "DSP chips" that could perform extensive computation in "real time:" Thus, integrated circuit technology was the driving force that simultaneously provided the wherewithal both for a convenient PC-based laboratory experience for learning DSP and for creating a climate of applications that provided motivation for that study.

From the beginning, we believed that "hands-on" experience with real signals was crucial. This is provided by a "laboratory" based on MATLAB running on PCs. In the laboratory assignments, students gain direct reinforcement from hearing and seeing the effects of filtering operations that they have implemented on sound and image signals. They synthesize music from sinusoids, and they see that those same sinusoids are the basis for the data modems that they use routinely to access the Internet. We also found that MATLAB made it possible to quickly develop demonstration programs for visualizing and clarifying complicated mathematical concepts. By 1995, we had written notes covering the topics in our course, and we had amassed a large amount of computer-based supporting material. Mark Yoder, while on sabbatical leave from Rose-Hulman, had the idea to put all of this material in a form that other teachers (and students) could access easily. That idea led to a CDROM that captured the entire contents of our course web site. It included demonstrations and animations used in classes, laboratory assignments, and solved homework problems. As teachers, this material has changed the way we present ideas, because it offers new ways to visualize a concept "beyond the equations:" Over the years, our web site has continued to grow. We anticipate that this growth will continue, and that users of this material will see new ideas take shape in the form of additional demos and labs. In 1998, all of this material was packaged together in a textbook/CD-ROM, and we gave it the descriptive title

DSP First: A Multimedia Approach.No sooner had we finished DSP First, then Georgia Tech switched from a quarterly system to semesters, and our expanded course became "Signal Processing First," the first course for computer engineers and electrical engineers. However, we found ourselves with a textbook that only covered two-thirds of the material that we needed to include for the semester-long, required signals and systems core course in our semester curriculum. 2 This led to another four years of development that included four new chapters on continuous-time signal processing and the Fourier transform; many new laboratory assignments in areas such as filtering, Fourier series, and analog and digital communications; many new demos and visualizations; hundreds of new homework problems and solutions; and updates of many of our original computer demos.

The present text is our effort to implement an expanded version of our basic philosophy. It is a conventional book, although, as our title

Signal Processing Firstsuggests, the distinguishing feature of the text (and the accompanying CD-ROM) is that it presents signal processing at a level consistent with an introductory ECE course, i.e., the sophomore level in a typical U.S. university. The list of topics in the book is not surprising, but since we must combine signal processing concepts with some introductory ideas, the progression of topics may strike some teachers as unconventional. Part of the reason for this is that in the electrical engineering curriculum, signals and systems and DSP typically have been treated as junior- and senior-level courses, for which a traditional background of linear circuits and linear systems is assumed. We continue to believe strongly that there are compelling reasons for turning this order around, since the early study of signal processing affords a perfect opportunity to show electrical and computer engineering students that mathematics and digital computation can be the key to understanding familiar engineering applications. Furthermore, this approach makes the subject much more accessible to students in other majors such as computer science and other engineering fields. This point is increasingly important because nonspecialists are beginning to use DSP techniques routinely in many areas of science and technology.Signal Processing First is organized to move from simple continuous-time sinusoidal signals, to discrete-time signals and systems, then back to continuous-time, and finally, the discrete and continuous are mixed together as they often are in real engineering systems. A look at the table of contents shows that the book begins very simply (Chapter 2) with a detailed discussion of continuous-time sinusoidal signals and their representation by complex exponentials. This is a topic traditionally introduced in a linear circuits course. We then proceed to introduce the spectrum concept (Chapter 3) by considering sums of sinusoidal signals with a brief introduction to Fourier series. At this point we make the transition to discrete-time signals by considering sampled sinusoidal signals (Chapter 4). This allows us to introduce the important issues in sampling without the additional complexity of Fourier transforms. Up to this point in the text, we have only relied on the simple mathematics of sine and cosine functions. The basic linear system concepts are then introduced with simple FIR filters (Chapter 5). The key concept of frequency response is derived and interpreted for FIR filters (Chapter 6), and then we introduce

z-transforms (Chapter 7) and IIR systems (Chapter 8). The first eight chapters are very similar to the those ofDSP First.At this point, we return to continuous-time signals and systems with the introduction of convolution integrals (Chapter 9) and then frequency response for continuous-time systems (Chapter 10). This leads naturally to a discussion of the Fourier transform as a general representation of continuous-time signals (Chapter 11). The last two chapters of the book cap off the text with discussions of applications of the concepts discussed in the early chapters. At this stage, a student who has faithfully read the text, worked homework problems, and done the laboratory assignments related to the early chapters will be rewarded with the ability to understand applications involving linear filtering, amplitude modulation, the sampling theorem and discrete-time filtering, and spectrum analysis.At Georgia Tech, our sophomore-level, 15-week course covers most of the content of Chapters 2-12 in a format involving two one-hour lectures, one' 1.5 hour recitation, and one 1.5 hour laboratory period per week. As mentioned previously, we place considerable emphasis on the lab because we believe that it is essential for motivating our students to learn the mathematics of signal processing, and because it introduces our students to the use of powerful software in engineering analysis and design. At Rose-Hulman, we use

Signal Processing Firstin a junior-level, 10-week course that covers Chapters 4-13. The Rose format is four one-hour lectures per week. The students use MATLAB throughout the course, but do not have a separate laboratory period.As can be seen from the previous discussion,

Signal Processing Firstis not a conventional signals and systems book. One difference is the inclusion of a significant amount of material on sinusoids and complex phasor representations. In a traditional electrical engineering curriculum, these basic notions are covered under the umbrella of linear circuits taken before studying signals and systems. Indeed, our choice of title for this book and its ancestor is designed to emphasize this departure from tradition. An important point is that teaching signal processing first also opens up new approaches to teaching linear circuits, since there is much to build upon that will allow redirected emphasis in the circuits course. At Georgia Tech, we use the fact that students have already seen phasors and sinusoidal steady-state response to move more quickly from resistive circuits to AC circuits. Furthermore, students have also seen the important concepts of frequency response and poles and zeros before studying linear circuits. This allows more emphasis on circuits as linear systems. For example, the Laplace transform is used in the circuits course as a tool for solving the particular systems problems associated with linear circuits. This has resulted in a new textbook with accompanying CD-ROM co-authored by Professors Russell Mersereau and Joel Jackson.A second difference from conventional signals and systems texts is that

Signal Processing Firstemphasizes topics that rely on "frequency domain" concepts. This means that topics like Laplace transforms, state space, and feedback control, are absent. At Georgia Tech, these topics are covered in the required linear circuits course and in a junior-level "tier two" course on control systems. Although our text has clearly been shaped by a specific point of view, this does not mean that it and the associated CD-ROM can only be used in the way that they are used at Georgia Tech. For example, at Rose-Hulman the material on sinusoids and phasors is skipped in a junior-level course because students have already had this material in a circuits course. This allows us to cover the latter part of the text in one quarter. Indeed, by appropriate selection of topics, our text can be used for either a one-quarter or one-semester signals and systems course that emphasizes communications and signal processing applications from the frequency domain point of view. For most electrical engineering curricula, the control-oriented topics would have to be covered elsewhere. In other curricula, such as computer science and computer engineering,Signal Processing Firstemphasizes those topics that are most relevant to multimedia computing, and the control-oriented topics are generally not a required part of the curriculum. This is also likely to be true in other engineering fields where data acquisition and frequency domain analysis is assuming a prominent role in engineering analysis and design.The CD-ROM that accompanies the present text contains all of the material that we currently use in teaching our one-semester first course for sophomore electrical and computer engineering students. This type of material has become a common supplement for lecturing in an age where "computers in education" is the buzz word. These new forms of computer-Leased media provide powerful ways to express ideas that motivate our students in their engineering education. As authors, we continue to experiment with different modes of presentation, such as the narrations and movies on the accompanying CD-ROM, along with the huge archive of solved problems. In the original

DSP FirstCDROM we noticed that finding material was a challenge, so we have provided a search engine on this CD-ROM in order to make is easy to find relevant material from keywords searches. Now, for example, if you want to know whyfirfilt.mis in theSP-First Toolbox,you can just search forfirfilt.mand see all the labs and homework that use it.This text and its associated CD-ROM represents an untold amount of work by the three authors and many students and colleagues. Fortunately, we have been able to motivate a number of extremely talented students to contribute to this project. Of the many participants, five students who served as award-winning teaching assistants over many terms provided essential material to the CD-ROM. Jeff Schodorf developed the original abasing and reconstruction demos for Chapter 4, and did much of the early organization of all the

DSP FirstCD-ROM demos along with Mark Yoder. David Anderson apprenticed with Jeff and then took over the course as its primary TA. David contributed new labs and redesigned theDSP Firstlab format so that the CD-ROM version would be easy to use. Jordan Rosenthal developed a consistent way to write GUIs that has now been used in all of our demonstrations. Many other students have benefited from his extraordinary MATLAB expertise. Greg Krudysz wrote theCON2DISdemo and has now taken over the primary role in developing GUIs.In addition, many undergraduates have implemented MATLAB programs, graphical user interfaces (GUIs), and demos that are an important part of this CD-ROM. Most notably, Craig Ulmer developed

PeZas a multiyear undergraduate research project and contributed some of the other GUIs used in the labs. Koon Kong overhauledPeZfor later versions of MATLAB. Joseph Stanley made our first movie, the tuning fork movie. Amer Abufadel developed the image filtering demo for Chapter 6. Emily Eaton wrote the Music GUI and provided many of the musical scores and piano performances needed for the songs in the labs. Rajbabu Velmurugan improved the Music GUI and provided last minute updates for all the GUIs labs. Janak Patel wrote most of help files for the GUIs. Greg Slabaugh wrote the Fourier series demo as a JAVA applet, and Mustayeen Nayeem converted it into the MATLAB Fourier series demo. Budyanto Junus wrote the first LTI demo. Mehdi Javaramand developed parts of the Phasor Races GUI. Sam Li has participated in the development of many parts of the labs. He, Arthur Hinson, and Ghassan AI-Regib also developed many questions for the pre-labs and warm-ups in the labs. Kathy Harrington created lists of keywords for searching homework problems and edited an extensive set of frequently asked questions for the labs. Bob Paterno recorded a large number of tutorial movies about MATLAB.During the past few years many professors have participated in the sophomore course ECE-2025 at Georgia Tech as lecturers and recitation instructors. Many of them have also written problem solutions that are included on this CD-ROM. We an indebted to the following for permitting us to include their solutions: Randy Abler, Yucel Altunbasak, John Bordelon, Giorgio Casinovi, Russ Callen, Kate Cummings, Richard Dansereau, Steve DeWeerth, Michael Fan, Bruno Frazier, Faramarz Fekri, Elias Glytsis, Monty Hayes, Bonnie Heck, Mary Ann Ingram, Paul Hasler, Chuanyi Ji, Aaron Lanterman, Russell Mersereau, Geofferey Li, Steve McLaughlin, Mohamed Moad, Bill Sayle, Mark Smith, Whit Smith, David Taylor, Erik Verriest, Doug Williams, Tony Yezzi, and Tong Zhou.

We are also indebted to Wayne Padgett and Bruce Black, who have taught ECE-280 at Rose-Hulman and have contributed many good ideas.

We also want to acknowledge the contributions or our Publisher, Tom Robbins at Pearson Prentice Hall. Very early on, he bought into the concept of

DSP Firstand supported and encouraged us at every step in that project and its continuation. He also arranged for reviews of the text and the CD-ROM by some very thoughtful and careful reviewers, including Filson Glantz, S. Hossein Mousavinezhad, Geoffrey Orsak, Mitch Wilkes, Robert Strum, James Kaiser, Victor DeBrunner, Timothy Schultz, and Anna Baraniecki.Finally, we want to recognize the understanding and support of our wives (Carolyn McClellan, Dorothy Schafer, and Sarah Yoder). Carolyn's photo of the cat Percy appears on the cover after undergoing some DSP. They have patiently supported us as this seemingly never-ending project continued to consume energy and time. Indeed, this project will continue on beyond the present text and CD-ROM since there are just too many ideas yet to explore. That is the appeal of the computer-based and Web-based approach. It can easily grow to incorporate the innovative visualizations and experiments that others will provide.

J. H. McC

R. W. S.

M. A. Y.

## Table of Contents

1. Introduction.

Mathematical Representation of Signals. Mathematical Representation of Systems. Thinking about Systems.

2. Sinusoids.

Tuning Fork Experiment. Review of Sine and Cosine Functions. Sinusoidal Signals. Sampling and Plotting Sinusoids. Complex Exponentials and Phasors. Phasor Addition. Physics of the Tuning Fork. Time Signals: More Than Formulas.

3. Spectrum Representation.

The Spectrum of a Sum of Sinusoids. Beat Notes. Periodic Waveforms. More Periodic Signals. Fourier Series Analysis and Synthesis. Time-Frequency Spectrum. Frequency Modulation: Chirp Signals.

4. Sampling and Aliasing.

Sampling. Spectrum View of Sampling and Reconstruction. Strobe Demonstration. Discrete-to-Continuous Conversion. The Sampling Theorem.

5. FIR Filters.

Discrete-Time Systems. The Running Average Filter. The General FIR Filter. Implementation of FIR Filters. Linear Time-Invariant (LTI) Systems. Convolution and LTI Systems. Cascaded LTI Systems. Example of FIR Filtering.

6. Frequency Response of FIR Filters.

Sinusoidal Response of FIR Systems. Superposition and the Frequency Response. Steady State and Transient Response. Properties of the Frequency Response. Graphical Representation of the Frequency Response. Cascaded LTI Systems. Running-Average Filtering. Filtering Sampled Continuous-Time Signals.

7. z-Transforms.

Definition of the z-Transform. The z-Transform and Linear Systems. Properties of the z-Transform. The z-Transform as an Operator. Convolution and the z-Transform. Relationship between the z -Domain and the <F128>w-Domain. Useful Filters.Practical Bandpass Filter Design. Properties of Linear Phase Filters.

8. IIR Filters.

The General IIR Difference Equation. Time-Domain Response. System Function of an IIR Filter. Poles and Zeros. Frequency Response of an IIR Filter. Three Domains. The Inverse z-Transform and Some Applications. Steady-State Response and Stability. Second-Order Filters. Frequency Response of Second-Order IIR Filter. Example of an IIR Lowpass Filter.

9. Continuous-Time Signals and LTI Systems.

Continuous-Time Signals. The Unit Impulse. Continuous-Time Systems. Linear Time-Invariant Systems. Impulse Responses of Basic LTI Systems. Convolution of Impulses. Evaluating Convolution Integrals. Properties of LTI Systems. Using Convolution to Remove Multipath Distortion.

10. The Frequency Response.

The Frequency Response Function for LTI Systems. Response to Real Sinusoidal Signals. Ideal Filters. Application of Ideal Filters. Time-Domain or Frequency-Domain?

11. Continuous-Time Fourier Transform.

Definition of the Fourier Transform. The Fourier Transform and the Spectrum. Existence and Convergence of the Fourier Transform. Examples of Fourier Transform Pairs. Properties of Fourier Transform Pairs. The Convolution Property. Basic LTI Systems. The Multiplication Property. Table of Fourier Transform Properties and Pairs. Using the Fourier Transform for Multipath Analysis.

12. Filtering, Modulation, and Sampling.

Linear Time-Invariant Systems. Sinewave Amplitude Modulation. Sampling and Reconstruction.

13. Computing the Spectrum.

Finite Fourier Sum. Too Many Fourier Transforms? Time-windowing. Analysis of a Sum of Sinusoids. Discrete Fourier Transform. Spectrum Analysis of Finite-Length Signals. Spectrum Analysis of Periodic Signals. The Spectrogram. The Fast Fourier Transform (FFT).

Appendix A: Complex Numbers.

Notation for Complex Numbers. Euler's Formula. Algebraic Rules for Complex Numbers. Geometric Views of complex Operations. Powers and Roots.

Appendix B: Programming in MATLAB.

MATLAB Help. Matrix Operations and Variables. Plots and Graphics. Programming Constructs. MATLAB Scripts. Writing a MATLAB Function. Programming Tips.

Appendix C: Laboratory Projects.

Introduction to MATLAB. Encoding and Decoding Touch-Tone Signals. Two Convolution GUIs.

Appendix D: CD-ROM Demos.

Index.

## Preface

This book and its accompanying CD-ROM are the result of almost 10 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of both electrical engineering and computer engineering. In the summer of 1993, two of us (J. H. McC and R. W. S) began to develop a one-quarter course that was to become the first course for Georgia Tech computer engineering students, who were at that time following an overlapping, but separate, curriculum track from the electrical engineering students in the School of ECE. We argued that the subject of digital signal processing (DSP) had everything we wanted in a first course for computer engineers: it introduced the students to the use of mathematics as a language for thinking about engineering problems; it laid useful groundwork for subsequent courses; it made a strong connection to digital computation as a means for implementing systems; and it offered the possibility of interesting applications to motivate beginning engineers to do the hard work of connecting mathematics and computation to problem solving.

We were not the first to have this idea. In particular, two books by Professor Ken Steiglitz of Princeton University had a major impact on our thinking. The major reasons that it was feasible in 1993 to experiment with what came to be known at Georgia Tech as the "DSP First" approach were: (1) the easy accessibility of increasingly powerful personal computers and (2) the availability of MATLAB, a powerful and easy-to-use software environment for numerical computation. Indeed, Steiglitz's 1972 book was well ahead of its time, since DSP had few practical applications, and evensimple simulations on then-available batch processing computers required significant programming effort. By the early 1990s, however, DSP applications such as CD audio, high-speed modems, and cell phones were widespread due to the availability of lowcost "DSP chips" that could perform extensive computation in "real time:" Thus, integrated circuit technology was the driving force that simultaneously provided the wherewithal both for a convenient PC-based laboratory experience for learning DSP and for creating a climate of applications that provided motivation for that study.

From the beginning, we believed that "hands-on" experience with real signals was crucial. This is provided by a "laboratory" based on MATLAB running on PCs. In the laboratory assignments, students gain direct reinforcement from hearing and seeing the effects of filtering operations that they have implemented on sound and image signals. They synthesize music from sinusoids, and they see that those same sinusoids are the basis for the data modems that they use routinely to access the Internet. We also found that MATLAB made it possible to quickly develop demonstration programs for visualizing and clarifying complicated mathematical concepts. By 1995, we had written notes covering the topics in our course, and we had amassed a large amount of computer-based supporting material. Mark Yoder, while on sabbatical leave from Rose-Hulman, had the idea to put all of this material in a form that other teachers (and students) could access easily. That idea led to a CDROM that captured the entire contents of our course web site. It included demonstrations and animations used in classes, laboratory assignments, and solved homework problems. As teachers, this material has changed the way we present ideas, because it offers new ways to visualize a concept "beyond the equations:" Over the years, our web site has continued to grow. We anticipate that this growth will continue, and that users of this material will see new ideas take shape in the form of additional demos and labs. In 1998, all of this material was packaged together in a textbook/CD-ROM, and we gave it the descriptive title

DSP First: A Multimedia Approach.No sooner had we finished DSP First, then Georgia Tech switched from a quarterly system to semesters, and our expanded course became "Signal Processing First," the first course for computer engineers and electrical engineers. However, we found ourselves with a textbook that only covered two-thirds of the material that we needed to include for the semester-long, required signals and systems core course in our semester curriculum. 2 This led to another four years of development that included four new chapters on continuous-time signal processing and the Fourier transform; many new laboratory assignments in areas such as filtering, Fourier series, and analog and digital communications; many new demos and visualizations; hundreds of new homework problems and solutions; and updates of many of our original computer demos.

The present text is our effort to implement an expanded version of our basic philosophy. It is a conventional book, although, as our title

Signal Processing Firstsuggests, the distinguishing feature of the text (and the accompanying CD-ROM) is that it presents signal processing at a level consistent with an introductory ECE course, i.e., the sophomore level in a typical U.S. university. The list of topics in the book is not surprising, but since we must combine signal processing concepts with some introductory ideas, the progression of topics may strike some teachers as unconventional. Part of the reason for this is that in the electrical engineering curriculum, signals and systems and DSP typically have been treated as junior- and senior-level courses, for which a traditional background of linear circuits and linear systems is assumed. We continue to believe strongly that there are compelling reasons for turning this order around, since the early study of signal processing affords a perfect opportunity to show electrical and computer engineering students that mathematics and digital computation can be the key to understanding familiar engineering applications. Furthermore, this approach makes the subject much more accessible to students in other majors such as computer science and other engineering fields. This point is increasingly important because nonspecialists are beginning to use DSP techniques routinely in many areas of science and technology.Signal Processing First is organized to move from simple continuous-time sinusoidal signals, to discrete-time signals and systems, then back to continuous-time, and finally, the discrete and continuous are mixed together as they often are in real engineering systems. A look at the table of contents shows that the book begins very simply (Chapter 2) with a detailed discussion of continuous-time sinusoidal signals and their representation by complex exponentials. This is a topic traditionally introduced in a linear circuits course. We then proceed to introduce the spectrum concept (Chapter 3) by considering sums of sinusoidal signals with a brief introduction to Fourier series. At this point we make the transition to discrete-time signals by considering sampled sinusoidal signals (Chapter 4). This allows us to introduce the important issues in sampling without the additional complexity of Fourier transforms. Up to this point in the text, we have only relied on the simple mathematics of sine and cosine functions. The basic linear system concepts are then introduced with simple FIR filters (Chapter 5). The key concept of frequency response is derived and interpreted for FIR filters (Chapter 6), and then we introduce

z-transforms (Chapter 7) and IIR systems (Chapter 8). The first eight chapters are very similar to the those ofDSP First.At this point, we return to continuous-time signals and systems with the introduction of convolution integrals (Chapter 9) and then frequency response for continuous-time systems (Chapter 10). This leads naturally to a discussion of the Fourier transform as a general representation of continuous-time signals (Chapter 11). The last two chapters of the book cap off the text with discussions of applications of the concepts discussed in the early chapters. At this stage, a student who has faithfully read the text, worked homework problems, and done the laboratory assignments related to the early chapters will be rewarded with the ability to understand applications involving linear filtering, amplitude modulation, the sampling theorem and discrete-time filtering, and spectrum analysis.At Georgia Tech, our sophomore-level, 15-week course covers most of the content of Chapters 2-12 in a format involving two one-hour lectures, one' 1.5 hour recitation, and one 1.5 hour laboratory period per week. As mentioned previously, we place considerable emphasis on the lab because we believe that it is essential for motivating our students to learn the mathematics of signal processing, and because it introduces our students to the use of powerful software in engineering analysis and design. At Rose-Hulman, we use

Signal Processing Firstin a junior-level, 10-week course that covers Chapters 4-13. The Rose format is four one-hour lectures per week. The students use MATLAB throughout the course, but do not have a separate laboratory period.As can be seen from the previous discussion,

Signal Processing Firstis not a conventional signals and systems book. One difference is the inclusion of a significant amount of material on sinusoids and complex phasor representations. In a traditional electrical engineering curriculum, these basic notions are covered under the umbrella of linear circuits taken before studying signals and systems. Indeed, our choice of title for this book and its ancestor is designed to emphasize this departure from tradition. An important point is that teaching signal processing first also opens up new approaches to teaching linear circuits, since there is much to build upon that will allow redirected emphasis in the circuits course. At Georgia Tech, we use the fact that students have already seen phasors and sinusoidal steady-state response to move more quickly from resistive circuits to AC circuits. Furthermore, students have also seen the important concepts of frequency response and poles and zeros before studying linear circuits. This allows more emphasis on circuits as linear systems. For example, the Laplace transform is used in the circuits course as a tool for solving the particular systems problems associated with linear circuits. This has resulted in a new textbook with accompanying CD-ROM co-authored by Professors Russell Mersereau and Joel Jackson.A second difference from conventional signals and systems texts is that

Signal Processing Firstemphasizes topics that rely on "frequency domain" concepts. This means that topics like Laplace transforms, state space, and feedback control, are absent. At Georgia Tech, these topics are covered in the required linear circuits course and in a junior-level "tier two" course on control systems. Although our text has clearly been shaped by a specific point of view, this does not mean that it and the associated CD-ROM can only be used in the way that they are used at Georgia Tech. For example, at Rose-Hulman the material on sinusoids and phasors is skipped in a junior-level course because students have already had this material in a circuits course. This allows us to cover the latter part of the text in one quarter. Indeed, by appropriate selection of topics, our text can be used for either a one-quarter or one-semester signals and systems course that emphasizes communications and signal processing applications from the frequency domain point of view. For most electrical engineering curricula, the control-oriented topics would have to be covered elsewhere. In other curricula, such as computer science and computer engineering,Signal Processing Firstemphasizes those topics that are most relevant to multimedia computing, and the control-oriented topics are generally not a required part of the curriculum. This is also likely to be true in other engineering fields where data acquisition and frequency domain analysis is assuming a prominent role in engineering analysis and design.The CD-ROM that accompanies the present text contains all of the material that we currently use in teaching our one-semester first course for sophomore electrical and computer engineering students. This type of material has become a common supplement for lecturing in an age where "computers in education" is the buzz word. These new forms of computer-Leased media provide powerful ways to express ideas that motivate our students in their engineering education. As authors, we continue to experiment with different modes of presentation, such as the narrations and movies on the accompanying CD-ROM, along with the huge archive of solved problems. In the original

DSP FirstCDROM we noticed that finding material was a challenge, so we have provided a search engine on this CD-ROM in order to make is easy to find relevant material from keywords searches. Now, for example, if you want to know whyfirfilt.mis in theSP-First Toolbox,you can just search forfirfilt.mand see all the labs and homework that use it.This text and its associated CD-ROM represents an untold amount of work by the three authors and many students and colleagues. Fortunately, we have been able to motivate a number of extremely talented students to contribute to this project. Of the many participants, five students who served as award-winning teaching assistants over many terms provided essential material to the CD-ROM. Jeff Schodorf developed the original abasing and reconstruction demos for Chapter 4, and did much of the early organization of all the

DSP FirstCD-ROM demos along with Mark Yoder. David Anderson apprenticed with Jeff and then took over the course as its primary TA. David contributed new labs and redesigned theDSP Firstlab format so that the CD-ROM version would be easy to use. Jordan Rosenthal developed a consistent way to write GUIs that has now been used in all of our demonstrations. Many other students have benefited from his extraordinary MATLAB expertise. Greg Krudysz wrote theCON2DISdemo and has now taken over the primary role in developing GUIs.In addition, many undergraduates have implemented MATLAB programs, graphical user interfaces (GUIs), and demos that are an important part of this CD-ROM. Most notably, Craig Ulmer developed

PeZas a multiyear undergraduate research project and contributed some of the other GUIs used in the labs. Koon Kong overhauledPeZfor later versions of MATLAB. Joseph Stanley made our first movie, the tuning fork movie. Amer Abufadel developed the image filtering demo for Chapter 6. Emily Eaton wrote the Music GUI and provided many of the musical scores and piano performances needed for the songs in the labs. Rajbabu Velmurugan improved the Music GUI and provided last minute updates for all the GUIs labs. Janak Patel wrote most of help files for the GUIs. Greg Slabaugh wrote the Fourier series demo as a JAVA applet, and Mustayeen Nayeem converted it into the MATLAB Fourier series demo. Budyanto Junus wrote the first LTI demo. Mehdi Javaramand developed parts of the Phasor Races GUI. Sam Li has participated in the development of many parts of the labs. He, Arthur Hinson, and Ghassan AI-Regib also developed many questions for the pre-labs and warm-ups in the labs. Kathy Harrington created lists of keywords for searching homework problems and edited an extensive set of frequently asked questions for the labs. Bob Paterno recorded a large number of tutorial movies about MATLAB.During the past few years many professors have participated in the sophomore course ECE-2025 at Georgia Tech as lecturers and recitation instructors. Many of them have also written problem solutions that are included on this CD-ROM. We an indebted to the following for permitting us to include their solutions: Randy Abler, Yucel Altunbasak, John Bordelon, Giorgio Casinovi, Russ Callen, Kate Cummings, Richard Dansereau, Steve DeWeerth, Michael Fan, Bruno Frazier, Faramarz Fekri, Elias Glytsis, Monty Hayes, Bonnie Heck, Mary Ann Ingram, Paul Hasler, Chuanyi Ji, Aaron Lanterman, Russell Mersereau, Geofferey Li, Steve McLaughlin, Mohamed Moad, Bill Sayle, Mark Smith, Whit Smith, David Taylor, Erik Verriest, Doug Williams, Tony Yezzi, and Tong Zhou.

We are also indebted to Wayne Padgett and Bruce Black, who have taught ECE-280 at Rose-Hulman and have contributed many good ideas.

We also want to acknowledge the contributions or our Publisher, Tom Robbins at Pearson Prentice Hall. Very early on, he bought into the concept of

DSP Firstand supported and encouraged us at every step in that project and its continuation. He also arranged for reviews of the text and the CD-ROM by some very thoughtful and careful reviewers, including Filson Glantz, S. Hossein Mousavinezhad, Geoffrey Orsak, Mitch Wilkes, Robert Strum, James Kaiser, Victor DeBrunner, Timothy Schultz, and Anna Baraniecki.Finally, we want to recognize the understanding and support of our wives (Carolyn McClellan, Dorothy Schafer, and Sarah Yoder). Carolyn's photo of the cat Percy appears on the cover after undergoing some DSP. They have patiently supported us as this seemingly never-ending project continued to consume energy and time. Indeed, this project will continue on beyond the present text and CD-ROM since there are just too many ideas yet to explore. That is the appeal of the computer-based and Web-based approach. It can easily grow to incorporate the innovative visualizations and experiments that others will provide.

J. H. McC

R. W. S.

M. A. Y.