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 even 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.
J. H. McC
R. W. S.
M. A. Y.