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