ECE445S Real-Time Digital Signal Processing Laboratory - Related Courses
In ECE445S, students apply critical thinking to bridge theory and implementation.
Using mathematical and application theory as well as implementation constraints,
they derive signal processing algorithms, simulate them in MATLAB, map
simulations into C code on an embedded ARM-based system, and validate
implementations using rack equipment.
In this design flow, they quantify design tradeoffs in signal quality vs.
run-time implementation complexity for various algorithms and use lessons
learned in the simulation and implementation phases to refine the algorithm
and their knowledge of implementation constraints for use in future algorithms.
Application spaces include audio, communication, image processing, and biomedical systems.
Related Real-Time Embedded Systems Courses
Taking any of the following electives will greatly improve your
understanding of the design and implementation of embedded systems:
In embedded real-time systems, ECE445L and ECE445M complement ECE445S.
Students in all three courses program an embedded ARM processor
in C, albeit using different ARM boards and integrated development
ECE445L and ECE445M have labs that involve analog circuit design,
digital circuit design, ARM processors and sensors and actuators.
ECE445L and ECE445M cover for a wide variety of applications, including
controls, networking, and power systems.
Moreover, ECE445M covers real-time operating systems.
In ECE445S, the embedded implementations are for audio and
- ECE445L Embedded Systems Design Laboratory
computer architecture, interfacing, embedded software, and
- ECE445M Embedded and Real-Time Systems Laboratory
computer architecture, real-time operating systems, and
codesign of embedded software, digital hardware, and analog electronics
- ECE360C Algorithms
efficient data structures and algorithms, and algorithm analysis
- ECE460R Introduction to VLSI Design
synthesis from a logic specification to NAND/NOR gates to
Related Signal Processing and Communication System Courses
ECE445S and ECE351M Digital Signal Processing can be taken in any
order or at the same time.
They have about 20% overlap, and are complementary in depth.
Prof. Evans and Prof. Vikalo have been coordinating content in
ECE445S and ECE351M, respectively, to make sure that each course goes
into depth in different topics.
Here are two examples:
- ECE445S covers discrete-time signal processing concepts and translating
them into real-time software.
The design flow is to combine mathematical theory and application
theory into algorithms, algorithms into MATLAB simulations, and
MATLAB simulations into embedded real-time software.
- Build intuition for signal processing concepts
- Quantify design tradeoffs in signal quality vs. run-time implementation complexity
- ECE351M "provides a thorough treatment of DSP including the
fundamental theorems and properties of discrete-time linear systems,
filtering, sampling, and discrete-time Fourier analysis.
Furthermore, it explores connections between DSP techniques and methods
for learning from data, and introduces fundamental stochastic signal
The emphasis in the class will be on algorithms, their derivations, and
[Fall 2021 EE51M Syllabus]
Programming is in Python.
ECE445S goes deep into the design, simulation, application, and
real-time implementation of digital finite impulse response (FIR)
filters and infinite impulse response (IIR) filters.
The design is entirely in the discrete-time domain.
ECE351M designs digital filters based on well-known continuous-time
- FFTs and Spectrograms.
Another example is that ECE445S uses the discrete Fourier transform (DFT)
and its fast Fourier transform (FFT) implementation, whereas ECE351M
derives the DFT from the discrete-time Fourier transform as well
as the FFT algorithm.
ECE445S also uses the DFT for time-frequency analysis using
spectrograms, whereas ECE351M does not cover time-frequency analysis.
ECE351M uses speech and audio processing to motivate topics, but students
do not use speech or audio processing in assignments.
In ECE445S, students design, simulate, and implement in real-time
audio and communication systems.
They also design filters for a biomedical system on homework and
learn from three in-lecture demos on image processing.
Another related elective is ECE360K Digital Communications.
The pre-requisite for ECE360K is ECE445S or ECE351M.
In fact, ECE360K picks up where ECE445S leaves off.
ECE360K provides a
"strong foundation for further study, research and industry practice in
the area of communication systems. The main objective of the course is
to learn the engineering principles and analytical techniques for the
design of reliable high-speed digital communication systems.
In particular, the focus of this class is the reliable transmission and
reception of finite-alphabet (i.e. digital) symbols over dispersive
linear time-invariant (LTI) channels in the presence of noise.
In particular we consider baseband and passband modulation and demodulation
in additive white Gaussian noise (AWGN), channel equalization,
multicarrier modulation (OFDM), and an introduction to information
theory and channel coding."
[Spring 2022 EE360K Course Syllabus]
Last updated 06/07/22.
Send comments to