Preface
xvii
reflects partly a vain hope that we might (improbably) have as much influence as they have. But
more realistically, it reflects a sympathy with their cause. Like us, they faced an identity crisis in
their discipline.
“The computer revolution is a revolution in the way we think and in the way we express
what we think. The essence of this change is what might best be called procedural epis-
temology—the study of the structure of knowledge from an imperative point of view,
as opposed to the more declarative point of view taken by classical mathematical sub-
jects. Mathematics provides a framework for dealing precisely with notions of ‘what
is.’ Computation provides a framework for dealing precisely with notions of ‘how to’.”
We develop two themes. The first theme is the use of sets and functions as a universal language
to describe very diverse signals and systems. Different signals—voice, images, bit sequences—
are represented as functions with an appropriate domain and range. Systems are represented as
functions whose domain and range are themselves sets of signals. Thus, for example, a modem is
represented as a function that maps bit sequences into voice-like signals.
The second theme is that complex systems are constructed by connecting simpler subsystems in
standard ways—cascade, parallel, feedback, etc. The connections determine the description of
the interconnected system from the descriptions of component subsystems. The connections place
consistency requirements on the input and output signals of the systems being connected.
The hard work is to characterize the functional descriptions of signals and systems in ways that
facilitate their analysis and design. Our approach is to develop and relate both the imperative (com-
putational) and declarative (mathematical) descriptions of signals and systems. There is a need for
both views. The declarative view is suited to analysis; the imperative view is suited to implementa-
tion and design.
Introductory courses like the analog circuits course favor analysis and focus almost exclusively
on the declarative view. A modern view of signals and systems has much closer ties to computer
science, and has to complement this declarative view with an imperative one. The mathematical
treatment in the book presents the declarative view. The laboratory component of the text, and the
web content, with its extensive applets illustrating computational concepts, bring out the imperative
view. Both views are essential to a complete study.
An imperative view has another key pedagogical and intellectual advantage. It enables a much
closer connection with “real” signals and systems, which are often too messy for a complete declar-
ative treatment. While a declarative treatment can easily handle a sinusoidal signal, an imperative
treatment can easily handle a voice signal. An important feature of the approach in this text and the
course on which it is based is to illustrate concepts with real signals and systems at every step.
This is quite hard to do in a textbook. The print medium biases authors towards the declarative
view simply because its static nature is better suited to the declarative view than to the imperative
view. Our solution to this problem has been heavily influenced by the excellent and innovative
textbooks by Steiglitz, A Digital Signal Processing Primer—with Applications to Digital Audio
and Computer Music (Addison-Wesley, 1996), and McClellan, Schafer and Yoder, DSP First—A
Multimedia Approach (Prentice-Hall, 1998). Steiglitz leverages natural human interest in music