ECE 421  Introduction to Signal Processing
Spring 2021
Instructor:
Dr. Dror Baron,
Email: barondror AT ncsu DOT edu
Office hour: on Zoom, Mondays and Wednesdays, 11:45 AM  1:00 PM
Teaching assistant:
Hangjin Liu, Email: hliu25 AT ncsu DOT edu
Office hour: on Zoom, Tuesday 3  4 PM
Classroom:
Classes will be recorded in modules on Zoom. Office hours
will be held on Zoom, Mondays and Wednesdays, 11:45 AM  1:00 PM.
Announcements

May 8, 2021:
Test 5 and its
solution.

April 26, 2021:
Learning objectives
for Test 5.

April 25, 2021:
Module 65 has been recorded.

April 24, 2021:
Modules 63 and 64 have been recorded; and
updated schedule.

April 23, 2021:
Module 62 has been recorded.

April 19, 2021:
Test 4 and its
solution.

April 15, 2021:
Modules 60 and 61 have been recorded; and
Slides #6 have been updated.

April 12, 2021:
Modules 58 and 59 have been recorded.

April 11, 2021:
Module 57 has been recorded.

April 8, 2021:
Modules 55 and 56 have been recorded.

April 6, 2021:
Modules 53 and 54 have been recorded;
Test 3; and its
solution.

April 3, 2021:
Modules 51 and 52 have been recorded;
Slides #5 have been updated; and
updated schedule.

April 2, 2021:
Modules 49 and 50 have been recorded.

April 1, 2021:
Modules 47 and 48 have been recorded.

March 28, 2021:
Modules 44, 45, and 46 have been recorded.

March 26, 2021:
Project 5.

March 24, 2021:
Learning objectives
for Test 3; and edited the mathematical part of
Project 4.

March 16, 2021:
Updated due dates for homeworks:
HW7, March 29; HW8 March 31; HW9 April 5; HW10, April 12; HW11, April 19; and HW12, April 21.
This information is reflected in our
updated schedule;

March 16, 2021:
Modules 41, 42, and 43 have been recorded;
Slides #4 have been updated;
updated schedule;
Test 2; and its
solution.

March 10, 2021:
Learning objectives
for Test 2.

March 7, 2021:
Modules 39 and 40 have been recorded.

March 6, 2021:
Module 38 has been recorded.

March 4, 2021:
Module 37 has been recorded.
Updated schedule
adds an extra wellness day, removes Project 6,
postpones Projects 35 to March 17,
April 5, and April 26, respectively,
and revises the homework schedule.

March 3, 2021:
Project 3
has been revised; the hint for part 5 of the mathematical
Question 2 has been removed, as it was misleading.

March 2, 2021:
Typo on page 47 of
Slides #2 has been corrected;
the corresponding slides for module 22 have been updated; and
modules 35 and 36 have been recorded.

March 1, 2021:
Updated project slides.

February 27, 2021:
Modules 33 and 34 have been recorded;
Slides #3 have been updated; and
updated schedule.

February 25, 2021:
Module 32 has been recorded;
Test 1; and its
solution.

February 23, 2021:
Project 4 is due on March 29; and
example solution.

February 21, 2021:
Modules 30 and 31 have been recorded.

February 18, 2021:
Modules 27, 28, and 29 have been recorded.

February 17, 2021:
Format for tests; and
learning objectives
for Test 1.

February 16, 2021:
Project 3
has been revised (see the red text on page 6); our
updated syllabus
(see the red text on pages 2 and 3)
specifies that individual submission of projects (starting from P2)
will be penalized by 10%; and
module 26 has been recorded.

February 15, 2021:
Modules 24 and 25 have been recorded.

February 13, 2021:
Updated schedule; and
module 23 has been recorded.

February 12, 2021:
Module 22 has been recorded; updated
Slides #2.

February 11, 2021:
Module 21 has been recorded.

February 10, 2021:
Module 20 has been recorded;
updated project slides
describe
Project 3.

February 9, 2021:
Modules 18 and 19 have been recorded.

February 8, 2021:
Today's discussion has been posted to our shared drive;
Project 3 is due on March 8; and
data for working through it.

February 7, 2021:
Modules 16 and 17 have been recorded.

February 6, 2021:
Background module 3 on linear algebra; and
background slides.

February 5, 2021:
Background module 2 on complex numbers and trigonometric functions.

February 4, 2021:
Background module 1 on arithmetic and geometric series has been recorded.

February 3, 2021:
Module 15 has been recorded;
example solution for Project1; and
example solution for Project2.

February 2, 2021:
Module 14 has been recorded.

February 1, 2021:
Updated
project slides and
Slides #1.

January 31, 2021:
Module 13 has been recorded.

January 30, 2021:
Modules 11 and 12 have been recorded; and
updated schedule.

January 28, 2021:
Project 2 is due on February 22.

January 26, 2021:
Modules 9 and 10 have been recorded.

January 25, 2021:
Today's discussion has been posted to our
Google drive;
modules 7 and 8 have been recorded; and
Project 1 is due on February 8.

January 23, 2021:
Module 6 has been recorded.

January 22, 2021:
Modules 4 and 5 have been recorded.

January 21, 2021:
Module 3 has been recorded.

January 20, 2021:
Homework 1 (HW1) is available;
there will no longer be quizzes, resulting in homeworks being worth 10%; and
quiz changes are reflected in an
updated syllabus.
Finally, you may use Python in your projects, but basic Matlab proficiency
will be expected in tests.

January 19, 2021:
Modules 12 have been recorded.

January 18, 2021:
Piazza.

January 17, 2021:
Syllabus;
Hangjin's office hours will be Tuesday 3  4 PM; and
updated schedule.

January 16, 2021:
Welcome to ECE 421! The course resources are
going online.
Moodle;
continuty plan; and
tentative schedule.
Useful Links
About this Course
Prerequisites
ECE 301 (linear systems) and familiarity with Matlab (download it
here; a
Matlab tutorial; and
another one).
Purpose
ECE 421 will familiarize students with the basic elements of signal processing.
It will teach you key concepts in discrete and continuoustime signals and
systems including frequency domain analysis, linear time invariant systems,
Fourier transforms, and filtering. You will also learn how to sample analog
signals and later reconstruct them. Finally, you will learn to solve signal
processing problems numerically using the Matlab software package, and in
particular you will be able to apply a methodology to signal processing
problems that involves looking at the problem, translating it to mathematics,
proposing an algorithm, and implementing it in Matlab.
Course Syllabus and Outline
Here is a description of the
grand scheme
of the course and
syllabus.
We expect to loosely following the following
(tentative) schedule.
The course will proceed as follows:
 Introduction and Review.
DiscreteTime Signals and Systems and ZTransform. (Chapters 13.)

Fourier transforms; frequency Analysis of Signals and Systems. (Chapters 4, 5.)

Sampling and Reconstruction of Signals. (Chapter 6.)

Some topics in modern signal processing.

The Discrete Fourier Transform (DFT). (Chapter 7.)
(Chapter 8 and the fast Fourier transform will only be covered in passing.)

Filter design. (Chapter 10.)
Course Materials
Textbook
The textbook used in this course is Digital Signal Processing  Principles, Algorithms, and Applications
by Proakis and Manolakis. Changes between editions have been minor, and any relatively
recent edition should be fine.
Matlab
Students are encouraged to use Matlab, and we expect to have some computer
homework questions. Matlab can be downloaded
here.
(Here's a
Matlab tutorial; and
another one.)
Note that you may use Python in your projects, but basic Matlab proficiency
will be expected in tests.
Slides / Modules / Handouts
Material will be organized in slides. Each set of slides will cover a few
weeks of material. Within each set of slides, hand written handouts
will cover the material in greater detail. And supplements covering
examples, useful links, Matlab demos, and so are intended to help
students deepen their understanding.
The presentations will revolve around chunks of material organized into modules.
The most detailed presentation of
the material appears in the course textbook.
It will probably help you utilize your time effectively if you
glance through the slides and handouts 12 classes ahead of where we are,
listen to the modules, attend our discussions,
and wait to read through the details in the textbook until after they've covered.

Background material 
For students' convenience, several modules containing mathematical background
were recorded.
 Background module 1 covers arithmetic and geometric series (pages 17).
 Background module 2 covers complex numbers (pages 815).
 Background module 3 linear algebra (pages 1620).

Slides #1 
introduction, signals & systems, periodicity, A/D and D/A conversion,
discrete time signals & systems, and correlation (Chapters 12).

Handout #1  intro and motivation; and a
Matlab example.
 Module 1: What is ECE421 about? (Slides #1, pages 18.)
 Module 2: Motivation. (Slides #1, pages 913.)

Handout #2A  signals & systems; periodicity and sinusoids;
visual illustration of
aliasing;
another cool video showing "stationary"
helicopter blades;
and
supplemental
material about aliasing and problem 1.2.
 Module 3: Signals and systems. (Slides #1, pages 1922.)
 Module 4: Frequencies and periodicity. (Slides #1, pages 2329.)

Handout #2B  A/D and D/A conversion, and
HW2 example.
 Module 5: A/D and D/A conversion. (Slides #1, pages 3035.)
 Module 6: The sampling theorem. (Slides #1, pages 3638.)

Handout #3  discrete time signals and systems;
supplement containing various examples;
and another
supplement about phases of sampled signals.
 Module 7: Discrete time signals and systems. (Slides #1, pages 3947.)
 Module 8: Properties of discrete time systems. (Slides #1, pages 4851.)
 Module 9: Stable discrete time systems. (Slides #1, pages 5256.)
 Module 10: Linear time invariant discrete time systems. (Slides #1, pages 5762.)
 Module 11: Implementing discrete time systems. (Slides #1, pages 6366.)

Handout #4  correlation.
And a
supplement
on active learning exercise on page 8;
Matlab example
that visualizes correlation and shows how to compute crosscorrelation;
another
Matlab supplement
for the extended example on radar;
HW3 example; and
HW3 Problem 2 example.
 Module 12: Motivation for correlation. (Slides #1, pages 6770.)
 Module 13: Correlation and its properties. (Slides #1, pages 7178.)
 Module 14: Radar example. (Slides #1, pages 7982.)

Slides #2 
z transforms (Chapter 3).

Handout #5;
Handout #5B; supplements on
the bigger picture and
active learning;
detailed example
from the homework; and
more examples.
 Module 15: Overview of Chapter 3. (Slides #2, pages 16.)
 Module 16: The ztransform. (Slides #2, pages 710.)
 Module 17: More about the ROC. (Slides #2, pages 1116.)
 Module 18: Properties of ztransform. (Slides #2, pages 1722.)
 Module 19: Transfer functions. (Slides #2, pages 2326.)
 Module 20: Rational ztransforms. (Slides #2, pages 2734.)

Handout #6;
Handout #6B; and supplements on
one sided z examples,
Matlab
script for computing the Fibonacci series,
active learning example (page 9), and a
Webwork example.
 Module 21: LTI systems in zdomain. (Slides #2, pages 3543.)
 Module 22: One sided ztransform. (Slides #2, pages 4449.)
 Module 23: Solving difference equations. (Slides #2, pages 5057.)

Slides #3 
Fourier transforms (Chapter 4).

Handout #7;
Handout #7b;
example problems from book; and
Webwork examples.
 Module 24: Fourier transforms  big picture. (Slides #3, pages 14.)
 Module 25: Continuous time periodic signals. (Slides #3, pages 59.)
 Module 26: Continuous time aperiodic signals. (Slides #3, pages 1015.)
 Module 27: Fourier for discrete time signals. (Slides #3, pages 1621.)
 Module 28: More Fourier for discrete time signals. (Slides #3, pages 2226.)
 Module 29: Discrete time aperiodic signals. (Slides #3, pages 2729.)

Handout #8 and
Matlab code for visualizing the Gibbs phenomenon.
 Module 30: Existence of Fourier transform. (Slides #3, pages 3035.)
 Module 31: Fourier for finite energy signals. (Slides #3, pages 3642.)

Handout #9;
Handout #10;
example
(discusses pages 45 of Handout 10);
problems from the book;
Webwork example; and
HW7 Problems 23.
 Module 32: Time and frequency analogies. (Slides #3, pages 4349.)
 Module 33: Properties of Fourier transform. (Slides #3, pages 5059.)
 Module 34: Other properties. (Slides #3, pages 6064.)

Slides #4 
Frequencydomain analysis of LTI systems (Chapter 5).

Handout #11; and
supplement
on Example 5.1.2 on pages 67.
 Module 35: LTI systems as filters of sinusoids. (Slides #4, pages 111.)
 Module 36: Beyond superposition of sinusoids. (Slides #4, pages 1221.)

Handout #12;
video
explaining graphical interpretation of phase and magnitude (details on pages 78); and
Webwork example.
 Module 37: Transient and steady state response of LTI systems. (Slides #4, pages 2225.)
 Module 38: Frequency response of rational systems. (Slides #4, pages 2635.)

Handout #13; details about
active learning part (pages 1415); and
examples.
 Module 39: Filters. (Slides #4, pages 3644.)
 Module 40: Filter design. (Slides #4, pages 4554.)

Handout #14; and
examples.
 Module 41: From lowpass to other filters. (Slides #4, pages 5560.)
 Module 42: Application to AM demodulation. (Slides #4, pages 6167.)
 Module 43: More filters and deconvolution. (Slides #4, pages 6873.)

Slides #5 
Sampling, reconstruction, and endtoend system design (Chapter 6).

Handout #15; and
active learning on pages 67.
 Module 44: Sampling. (Slides #5, pages 110.)
 Module 45: Aliasing. (Slides #5, pages 1119.)
 Module 46: Reconstruction. (Slides #5, pages 2027.)

Handout #16; and
examples.
 Module 47: Endtoend system design. (Slides #5, pages 2834.)
 Module 48: A/D and D/A conversion. (Slides #5, pages 3544.)

Handout #17; and material about
denoising.
 Module 49: Sampling bandpass signals. (Slides #5, pages 4549.)
 Module 50: Transforms. (Slides #5, pages 5055.)
 Module 51: Compressed sensing. (Slides #5, pages 5666.)
 Module 52: Denoising. (Slides #5, pages 6771.)

Slides #6 
Discrete Fourier transform (DFT; Chapter 7).

Handout #18.
 Module 53: Frequency sampling. (Slides #6, pages 113.)
 Module 54: Frequency interpolation. (Slides #6, pages 1418.)
 Module 55: The discrete Fourier transform. (Slides #6, pages 1922.)

Handout #19 and
supplement
about active learning on pages 45.
 Module 56: DFT as a transform. (Slides #6, pages 2331.)
 Module 57: Circular convolution. (Slides #6, pages 3237.)

Handout #20;
supplement about DFT properties;
Matlab for convolution with zero padding; and
Matlab for linear convolution using the DFT.
 Module 58: More properties of DFT. (Slides #6, pages 3841.)
 Module 59: Linear filters using DFT. (Slides #6, pages 4247.)
 Module 60: Filtering long sequences. (Slides #6, pages 4851.)

Handout #21 and
examples.
 Module 61: Frequency analysis using DFT. (Slides #6, pages 5261.)

Slides #7 
Fast Fourier transform (FFT; Chapter 8).

Slides #8 
Digital fiter design (Chapter 10).

Handout #24  FIR filter design.
 Module 63: Linear phase. (Slides #8, pages 111.)
 Module 64: FIR design with windowing. (Slides #8, pages 1222.)

Handout #25  IIR filter design.
 Module 65: FIR design with windowing. (Slides #8, pages 2330.)
More Learning Materials
Below are additional learning materials.
 Notation.
(If you encounter any notation that isn't defined, please inform the
instructor and we will update this resource accordingly.)

Solutions to
active learning examples.
Assignments
Homework
Simpler "training" homework questions will be automated
using WebWorK software (accessible from
Moodle).
Here is an explanation about
WebWork basics, and
please read through our
instructions
for getting started with your WebWorK account, and
it might help to keep in mind some of
these points
about the software platform.
(Note that the software compares your numerical answers to its answes,
and being you should make sure that your answers are
sufficiently accurate.)
There will be WeBWorkbased homework assignments almost every week
with 35 questions per assignment. The submission will be electronic.
The day that a homework is due, there will be a corresponding
WeBWorkbased quiz in class.
Here are some solutions for WebWorK problems:
Projects
We expect 56 projects during the semester. Projects will combine deriving some
math, working out some Matlab solutions, and possibly looking at data.
Each project will involve some application, and we hope that you will be able to
appreciate better how signal processing is useful in plenty of problems around us.
An overview of the projects appears in these
slides.
Project 1 is due on February 8;
here is an
example solution.
Project 2 is due on February 22;
here is an
example solution.
Project 3 is now due on March 17; and
data for working through it.
Note that the project was revised on February 16; see the red text on page 6.
We want you to solve the nonadaptive part for each student in your team.
Project 4 is now due on April 5; and
example solution.
Project 5;
example solutions are included.
Quizzes
We plan to have many quizzes during the semester roughly corresponding to the
homeworks (in class on the day that the homework is due).
The WebWorK software will be used for quizzes;
please bring a computer (laptop, tablet, even a smartphone) to class.
There might also be "traditional" handwritten quizzes, which will be graded manually.
Tests
We typically have 12 midterms and a final exam.
In 2021, for the online format we have 5 tests.
Below are tentative (will depend on progress made in class) learning objectives for
the various tests, and old practice tests (there was only one midterm some years).
Grading
Grades sum up to 80%, owing to Midterm2 being canceled.
All grades will be normalized (divided by 0.8) accordingly.
The final's weight may decrease to 20%, depending on its format.
Assignment 
% of Grade 
Due Date 
Homework (WebWork): 
10% 
Throughout course; 12 homeworks expected 
Quizzes (WebWork): 
0% 
No quizzes this semester 
Projects: 
40% 
Throughout course; 56 projects expected 
Tests: 
50% 
5 tests are expected 
Feedback
Students are encouraged to provide feedback by
emailing the course staff, chatting after class or during office hours, etc.
We will do our best to incorporate your comments, thanks!