For introductory courses (freshman and sophomore courses) in Digital Signal Processing and Signals and Systems. Text may be used before the student has taken a course in circuits.

DSP First and it's accompanying digital assets are the result of more than 20 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of electrical and computer engineering. The "DSP First" approach introduces the use of mathematics as the language for thinking about engineering problems, lays the groundwork for subsequent courses, and gives students hands-on experiences with MATLAB.

The Second Edition features three new chapters on the Fourier Series, Discrete-Time Fourier Transform, and the The Discrete Fourier Transform as well as updated labs, visual demos, an update to the existing chapters, and hundreds of new homework problems and solutions.

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.

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 (freshman and sophomore courses) in Digital Signal Processing and Signals and Systems. Text may be used before the student has taken a course in circuits.and it's accompanying digital assets are the result of more than 20 years of work that originated from, and was guided by, the premise that signal processing is the best starting point for the study of electrical and computer engineering. The "DSP First" approach introduces the use of mathematics as the language for thinking about engineering problems, lays the groundwork for subsequent courses, and gives students hands-on experiences with MATLAB.DSP FirstThe

Second Editionfeatures three new chapters on the Fourier Series, Discrete-Time Fourier Transform, and the The Discrete Fourier Transform as well as updated labs, visual demos, an update to the existing chapters, and hundreds of new homework problems and solutions.## 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

Introduction1-1 Mathematical Representation of Signals

1-2 Mathematical Representation of Systems

1-3 Systems as Building Blocks

1-4 The Next Step

Sinusoids2-1 Tuning Fork Experiment

2-2 Review of Sine and Cosine Functions

2-3 Sinusoidal Signals

2-3.1 Relation of Frequency to Period

2-3.2 Phase and Time Shift

2-4 Sampling and Plotting Sinusoids

2-5 Complex Exponentials and Phasors

2-5.1 Review of Complex Numbers

2-5.2 Complex Exponential Signals

2-5.3 The Rotating Phasor Interpretation

2-5.4 Inverse Euler Formulas Phasor Addition

2-6 Phasor Addition

2-6.1 Addition of Complex Numbers

2-6.2 Phasor Addition Rule

2-6.3 Phasor Addition Rule: Example

2-6.4 MATLAB Demo of Phasors

2-6.5 Summary of the Phasor Addition Rule Physics of the Tuning Fork

2-7.1 Equations from Laws of Physics

2-7.2 General Solution to the Differential Equation

2-7.3 Listening to Tones

2-8 Time Signals: More Than Formulas

Summary and Links

Problems

Spectrum Representation3-1 The Spectrum of a Sum of Sinusoids

3-1.1 Notation Change

3-1.2 Graphical Plot of the Spectrum

3-1.3 Analysis vs. Synthesis

Sinusoidal Amplitude Modulation3-2.1 Multiplication of Sinusoids

3-2.2 Beat Note Waveform

3-2.3 Amplitude Modulation

3-2.4 AM Spectrum

3-2.5 The Concept of Bandwidth

Operations on the Spectrum3-3.1 Scaling or Adding a Constant

3-3.2 Adding Signals

3-3.3 Time-Shifting x.t/ Multiplies ak by a Complex Exponential

3-3.4 Differentiating x.t/ Multiplies ak by .j 2nfk/

3-3.5 Frequency Shifting

Periodic Waveforms3-4.1 Synthetic Vowel

3-4.3 Example of a Non-periodic Signal

Fourier Series3-5.1 Fourier Series: Analysis

3-5.2 Analysis of a Full-Wave Rectified Sine Wave

3-5.3 Spectrum of the FWRS Fourier Series

3-5.3.1 DC Value of Fourier Series

3-5.3.2 Finite Synthesis of a Full-Wave Rectified Sine

Time–Frequency Spectrum3-6.1 Stepped Frequency

3-6.2 Spectrogram Analysis

Frequency Modulation: Chirp Signals3-7.1 Chirp or Linearly Swept Frequency

3-7.2 A Closer Look at Instantaneous Frequency

Summary and Links

Problems

Fourier SeriesFourier Series Derivation4-1.1 Fourier Integral Derivation

Examples of Fourier Analysis4-2.1 The Pulse Wave

4-2.1.1 Spectrum of a Pulse Wave

4-2.1.2 Finite Synthesis of a Pulse Wave

4-2.2 Triangle Wave

4-2.2.1 Spectrum of a Triangle Wave

4-2.2.2 Finite Synthesis of a Triangle Wave

4-2.3 Half-Wave Rectified Sine

4-2.3.1 Finite Synthesis of a Half-Wave Rectified Sine

Operations on Fourier Series4-3.1 Scaling or Adding a Constant

4-3.2 Adding Signals

4-3.3 Time-Scaling

4-3.4 Time-Shifting x.t/ Multiplies ak by a Complex Exponential

4-3.5 Differentiating x.t/ Multiplies ak by .j!0k/

4-3.6 Multiply x.t/ by Sinusoid

Average Power, Convergence, and Optimality4-4.1 Derivation of Parseval’s Theorem

4-4.2 Convergence of Fourier Synthesis

4-4.3 Minimum Mean-Square Approximation

Pulsed-Doppler Radar Waveform4-5.1 Measuring Range and Velocity

Problems

Sampling and AliasingSampling5-1.1 Sampling Sinusoidal Signals

5-1.2 The Concept of Aliasing

5-1.3 Spectrum of a Discrete-Time Signal

5-1.4 The Sampling Theorem

5-1.5 Ideal Reconstruction

Spectrum View of Sampling and Reconstruction5-2.1 Spectrum of a Discrete-Time Signal Obtained by Sampling

5-2.2 Over-Sampling

5-2.3 Aliasing Due to Under-Sampling

5-2.4 Folding Due to Under-Sampling

5-2.5 Maximum Reconstructed Frequency

Strobe Demonstration5-3.1 Spectrum Interpretation

Discrete-to-Continuous Conversion5-4.1 Interpolation with Pulses

5-4.2 Zero-Order Hold Interpolation

5-4.3 Linear Interpolation

5-4.4 Cubic Spline Interpolation

5-4.5 Over-Sampling Aids Interpolation

5-4.6 Ideal Bandlimited Interpolation

The Sampling Theorem

Summary and Links

Problems

FIR Filters6-1 Discrete-Time Systems

6-2 The Running-Average Filter

6-3 The General FIR Filter

6-3.1 An Illustration of FIR Filtering

The Unit Impulse Response and Convolution6-4.1 Unit Impulse Sequence

6-4.2 Unit Impulse Response Sequence

6-4.2.1 The Unit-Delay System

6-4.3 FIR Filters and Convolution

6-4.3.1 Computing the Output of a Convolution

6-4.3.2 The Length of a Convolution

6-4.3.3 Convolution in MATLAB

6-4.3.4 Polynomial Multiplication in MATLAB

6-4.3.5 Filtering the Unit-Step Signal

6-4.3.6 Convolution is Commutative

6-4.3.7 MATLAB GUI for Convolution

Implementation of FIR Filters6-5.1 Building Blocks

6-5.1.1 Multiplier

6-5.1.2 Adder

6-5.1.3 Unit Delay

6-5.2 Block Diagrams

6-5.2.1 Other Block Diagrams

6-5.2.2 Internal Hardware Details

Linear Time-Invariant (LTI) Systems6-6.1 Time Invariance

6-6.2 Linearity

6-6.3 The FIR Case

Convolution and LTI Systems

6-7.1 Derivation of the Convolution Sum

6-7.2 Some Properties of LTI Systems

Cascaded LTI Systems

Example of FIR Filtering

Summary and Links

ProblemsFrequency Response of FIR Filters7-1 Sinusoidal Response of FIR Systems

7-2 Superposition and the Frequency Response

7-3 Steady-State and Transient Response

7-4 Properties of the Frequency Response

7-4.1 Relation to Impulse Response and Difference Equation

7-4.2 Periodicity of H.ej !O /

7-4.3 Conjugate Symmetry Graphical Representation of the Frequency Response

7-5.1 Delay System

7-5.2 First-Difference System

7-5.3 A Simple Lowpass Filter Cascaded LTI Systems

Running-Sum Filtering7-7.1 Plotting the Frequency Response

7-7.2 Cascade of Magnitude and Phase

7-7.3 Frequency Response of Running Averager

7-7.4 Experiment: Smoothing an Image

Filtering Sampled Continuous-Time Signals7-8.1 Example: Lowpass Averager

7-8.2 Interpretation of Delay

Summary and Links

Problems

The Discrete-Time Fourier TransformDTFT: Discrete-Time Fourier Transform8-1.1 The Discrete-Time Fourier Transform

8-1.1.1 DTFT of a Shifted Impulse Sequence

8-1.1.2 Linearity of the DTFT

8-1.1.3 Uniqueness of the DTFT

8-1.1.4 DTFT of a Pulse

8-1.1.5 DTFT of a Right-Sided Exponential Sequence

8-1.1.6 Existence of the DTFT

8-1.2 The Inverse DTFT

8-1.2.1 Bandlimited DTFT

8-1.2.2 Inverse DTFT for the Right-Sided Exponential

8-1.3 The DTFT is the Spectrum

Properties of the DTFT8-2.1 The Linearity Property

8-2.2 The Time-Delay Property

8-2.3 The Frequency-Shift Property

8-2.3.1 DTFT of a Complex Exponential

8-2.3.2 DTFT of a Real Cosine Signal

8-2.4 Convolution and the DTFT

8-2.4.1 Filtering is Convolution

8-2.5 Energy Spectrum and the Autocorrelation Function

8-2.5.1 Autocorrelation Function

Ideal Filters8-3.1 Ideal Lowpass Filter

8-3.2 Ideal Highpass Filter

8-3.3 Ideal Bandpass Filter

Practical FIR Filters8-4.1 Windowing

8-4.2 Filter Design

8-4.2.1 Window the Ideal Impulse Response

8-4.2.2 Frequency Response of Practical Filters

8-4.2.3 Passband Defined for the Frequency Response

8-4.2.4 Stopband Defined for the Frequency Response

8-4.2.5 Transition Zone of the LPF

8-4.2.6 Summary of Filter Specifications

8-4.3 GUI for Filter Design

Table of Fourier Transform Properties and Pairs

Summary and Links

Problems

The Discrete Fourier TransformDiscrete Fourier Transform (DFT)9-1.1 The Inverse DFT

9-1.2 DFT Pairs from the DTFT

9-1.2.1 DFT of Shifted Impulse

9-1.2.2 DFT of Complex Exponential

9-1.3 Computing the DFT

9-1.4 Matrix Form of the DFT and IDFT

Properties of the DFT9-2.1 DFT Periodicity for XŒk]

9-2.2 Negative Frequencies and the DFT

9-2.3 Conjugate Symmetry of the DFT

9-2.3.1 Ambiguity at XŒN=2]

9-2.4 Frequency Domain Sampling and Interpolation

9-2.5 DFT of a Real Cosine Signal

Inherent Periodicity of xŒn] in the DFT9-3.1 DFT Periodicity for xŒn]

9-3.2 The Time Delay Property for the DFT

9-3.2.1 Zero Padding

9-3.3 The Convolution Property for the DFT

Table of Discrete Fourier Transform Properties and Pairs

Spectrum Analysis of Discrete Periodic Signals9-5.1 Periodic Discrete-time Signal: Fourier Series

9-5.2 Sampling Bandlimited Periodic Signals

9-5.3 Spectrum Analysis of Periodic Signals

Windows9-6.0.1 DTFT of Windows

The Spectrogram9-7.1 An Illustrative Example

9-7.2 Time-Dependent DFT

9-7.3 The Spectrogram Display

9-7.4 Interpretation of the Spectrogram

9-7.4.1 Frequency Resolution

9-7.5 Spectrograms in MATLAB

The Fast Fourier Transform (FFT)9-8.1 Derivation of the FFT

9-8.1.1 FFT Operation Count

Summary and Links

Problems

z-Transforms

Definition of the z-Transform

Basic z-Transform Properties

10-2.1 Linearity Property of the z-Transform

10-2.2 Time-Delay Property of the z-Transform

10-2.3 A General z-Transform Formula

The z-Transform and Linear Systems

10-3.1 Unit-Delay System

10-3.2 z-1 Notation in Block Diagrams

10-3.3 The z-Transform of an FIR Filter

10-3.4 z-Transform of the Impulse Response

10-3.5 Roots of a z-transform Polynomial

Convolution and the z-Transform10-4.1 Cascading Systems

10-4.2 Factoring z-Polynomials

10-4.3 Deconvolution

Relationship Between the z-Domain and the !O -Domain10-5.1 The z-Plane and the Unit Circle

The Zeros and Poles of H.z/10-6.1 Pole-Zero Plot

10-6.2 Significance of the Zeros of H.z/

10-6.3 Nulling Filters

10-6.4 Graphical Relation Between z and !O

10-6.5 Three-Domain Movies

Simple Filters10-7.1 Generalize the L-Point Running-Sum Filter

10-7.2 A Complex Bandpass Filter

10-7.3 A Bandpass Filter with Real Coefficients

Practical Bandpass Filter DesignProperties of Linear-Phase Filters10-9.1 The Linear-Phase Condition

10-9.2 Locations of the Zeros of FIR Linear-Phase Systems

Summary and Links

Problems

IIR Filters

The General IIR Difference EquationTime-Domain Response11-2.1 Linearity and Time Invariance of IIR Filters

11-2.2 Impulse Response of a First-Order IIR System

11-2.3 Response to Finite-Length Inputs

11-2.4 Step Response of a First-Order Recursive System

System Function of an IIR Filter11-3.1 The General First-Order Case

11-3.2 H.z/ from the Impulse Response

11-3.3 The z-Transform Method

The System Function and Block-Diagram Structures

11-4.1 Direct Form I Structure

11-4.2 Direct Form II Structure

11-4.3 The Transposed Form Structure

Poles and Zeros11-5.1 Roots in MATLAB

11-5.2 Poles or Zeros at z D 0 or 1

11-5.3 Output Response from Pole Location

Stability of IIR Systems11-6.1 The Region of Convergence and Stability

Frequency Response of an IIR Filter

11-7.1 Frequency Response using MATLAB

11-7.2 Three-Dimensional Plot of a System Function

Three DomainsThe Inverse z-Transform and Some Applications11-9.1 Revisiting the Step Response of a First-Order System

11-9.2 A General Procedure for Inverse z-Transformation

Steady-State Response and StabilitySecond-Order Filters11-11.1 z-Transform of Second-Order Filters

11-11.2 Structures for Second-Order IIR Systems

11-11.3 Poles and Zeros

11-11.4 Impulse Response of a Second-Order IIR System

11-11.4.1 Distinct Real Poles

11-11.5 Complex Poles

Frequency Response of Second-Order IIR Filter11-12.1 Frequency Response via MATLAB

11-12.23-dB Bandwidth

11-12.3 Three-Dimensional Plot of System Functions

Example of an IIR Lowpass Filter

Summary and Links

Problems

## 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.