DSP 20 Chapter 1
DSP 20 Chapter 1
The main concept in this field is a signal. Essentially, a signal is just a mathematical function.
However, the definition found in digital signal processing has a more physical flavor. For
example, Rao and Swamy [RS18] define a signal in a very elegant and concise way as any
physical quantity that varies with time, space, or any independent variable or variables. This is
the definition to be adopted in this course. Both the world of science and engineering are replete
with signals of all kinds: images of all types —medical images, video images—, radar and sonar
echoes, speech signals, voltages generated by the human body activity (from the heart, brain or
other organs), GPS signals, just to name but a few. A signal is thought to carry some kind of
information of interest. Signal processing is the study of theory and methods for extraction
and processing of information in the signal. At a finer level of detail, signal processing is
concerned with representing those signal mathematically and designing algorithms to extract
the information present in the signal. Since most signals are taken from the real world, they are
analog in nature, i.e., they are continuous in time and amplitude. Here time is the word
used in Signal Processing to refer to the independent variable and amplitude to the dependent
variable. Therefore, for the signals to be treated algorithmically they have to be digitized
first. Hence, digital signal processing is the subfield of signal processing concerned with the
1
2 Digital Signal Processing
representation and algorithmic processing of the signal once it is digitized. From now on, we
will abbreviate it to DPS.
In Figure 1.2 the block diagram of a typical real-time digital signal processing system
is depicted. As said before, the system takes some physical quantity varying over time as
analog input. Prior to its processing, the signal can undergo some kind of processing in the
analog domain (noise reduction, for example), which is called filtering. The analog signal is
then converted into a digital sign (ADC). This process implies a discretization of the signal.
We are not in the continuous world anymore —the world of analog signals— but in the discrete
world—the world of digital signals —. This implies a change of conceptual paradigm as many
concepts and techniques are not common to both worlds. After this step, the processing of the
digital signal comes, with all their power and flexibility. Once this is done, there is a way back
to the analog world, which starts o↵ with a conversion of the digital signal to the analog signal
(DAC) and follows with some final processing of this signal, the output filter.
DSP has become very popular over the past few decades to the point that it has surpassed
analog processing in practice. Let’s list a few advantages and disadvantages of DSP.
There are several advantages of digital signal processing over analog signal processing. The
most important among them are the following:
• Flexibility. It is conspicuous the enormous flexibility that DSP possess when it comes
down to designing algorithms and data structures. New DSP operations can be defined
by simply re-writing a piece of software.
• Accuracy. Analog devices have limits in their accuracy, while digital devices can provide
a considerable accuracy by simply increasing the number of bits involved in the signal
representation.
• Easy storage. Digital signals can be saved on better and safer storage than analog
signals.
1.2. Areas of Application of Digital Signal Processing 3
• Processing. DSP allows for the implementation of more sophisticated signal processors
than its analog counterparts do.
However, digital signal processing has also some disadvantages over analog signal processing.
• Finite word length. Some practical applications require a high number of bits. Due to
cost considerations, that limit cannot always be reached. Thus, a lower number of bits
has to be used, which may result in a certain degradation in system performance.
• System Complexity Some techniques in DSP are quite complex. Moreover, in order to
process a digital signal ADC, DAC devices are needed as well as their associated filters.
• Speed Limitation For certain signals having extremely wide bandwidths, fast digital
processors are required. However, there are limits in the speed of operation for those
processors.
Problem 1.2.1 The student is going to write this section. Look up applications of the DSP.
Prepare a 5-minute oral presentation with no more than eight slides. Cite your sources at all
times. Bring a little report on your search. You are not allowed to read your notes literally
during the presentation, but you may briefly check them. The presentation has to be done in
English.
(1) Digital signal processing: an introduction to DSP and its main basic concepts .
(2) Discrete-Time Signals and Systems: Basic concepts and algorithms for discrete-time
signals and systems.
(4) The discrete Fourier transform: Mathematical definition and algorithms for the dis-
crete Fourier transform.
(5) The fast Fourier transform: Optimization of performance for the Fourier transform.
In this section we are going to justify the importance of DSP through the Computer Sci-
ence Curricula 2013 [ACM13] (CS2013 from now on), the report that periodically publishes
the ACM, the Association for Computer Machinery, the American computer science associa-
tion. The ACM is the most prestigious professional association and their recommendations
are followed to the letter by many universities. In that report, the authors aim to identify
the fundamental skills and knowledge that all computer science graduates should possess while
providing the greatest flexibility in selecting topics. To this end, in the report three levels of
knowledge description are introduced: Tier-1 Core, Tier-2 Core, and Elective. On page 30 of
the report, we read the definitions of those terms:
• A curriculum should include all topics in the Tier-1 core and ensure that all students
cover this material.
• A curriculum should include all or almost all topics in the Tier-2 core and ensure that all
students encounter the vast majority of this material.
• A curriculum should include significant elective material: Covering only “Core” topics is
insufficient for a complete curriculum.
The knowledge associated to DSP is mainly in Tier-1 Core and then appears in some elective
knowledge (as Multimedia Systems or Computer Vision). Much of the content of this course is
based on the recommendation of the CS2013 report.
There is a third point of view, regardless of the ACM recommendations and the applications of
DSP, that provides cogent and compelling reasons for the teaching of digital signal processing
in the degree of Computer Science, namely: higher-order thinking skills (HOTS). By skills
we mean cognitive skills, that is, skills associated to learning and problem solving. Skills
are usually classified into lower-order thinking skills (LOTS) and higher-order thinking
skills. The former require little mental energy and in general a memory or procedural learning.
Examples of LOTS are memorizing, understanding and application. Here by understand
we mean the grasping of an easy concept, without much integration into a wider conceptual
system. In order to acquire HOTS, LOTS have to be developed first. A great deal of the
1.5. Skills Associated with the Learning of Digital Signal Processing 5
content taught during primary and secondary school is based on LOTS (unfortunately, it is
also the case in higher education). HOTS comprise, among others, the following: analyzing,
synthesizing, problem solving, writing, reading comprehension, critical assessing,
abstraction, interpretation of facts, deep understanding, logic and reasoning, and
creativity. Teaching HOTS requires quality time, a high level of feedback from the teacher
and perseverance over time. In Figure 1.2 a mind map showing a few HOTS is shown.
The CS2013 report speaks of “mathematical maturity” (pages 50–51) as a goal to be instilled
by all mathematics courses taught in a college degree.
More generally, we believe that a CS program must provide students with a level of
“mathematical maturity.” For example, an understanding of arithmetic manipula-
tions, including simple summations and series is needed for analyzing algorithmic
efficiency, but giving the detailed specifications of the basic arithmetic necessary for
college-level coursework in computing is beyond the scope of CS2013. To wit, some
programs use calculus requirements not as a means for domain knowledge, but more
as a method for helping develop such mathematical maturity and clarity of math-
ematical thinking early in a college-level education. Thus, while we do not specify
such requirements, we note that undergraduate CS students need enough mathe-
matical maturity to have the basis on which to then build CS-specific mathematics
(for example, as specified in the Discrete Structures Knowledge Area), which, impor-
tantly, does not explicitly require any significant college-level coursework in calculus,
di↵erential equations, or linear algebra.
That mathematical maturity comprises the HOTS we described above. In this course we
will develop and hone them. As it can easily be noticed, HOTS are closely intertwined. Some
skills are more essential than others in the sense that they are the foundation other skills are