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.


Useful Links

About this Course


ECE 301 (linear systems) and familiarity with Matlab (download it here; a Matlab tutorial; and another one).


ECE 421 will familiarize students with the basic elements of signal processing. It will teach you key concepts in discrete- and continuous-time 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:

Course Materials


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.


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 1-2 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.

More Learning Materials

Below are additional learning materials.



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 WeBWork-based homework assignments almost every week with 3-5 questions per assignment. The submission will be electronic. The day that a homework is due, there will be a corresponding WeBWork-based quiz in class. Here are some solutions for WebWorK problems:


We expect 5-6 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 non-adaptive 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" hand-written quizzes, which will be graded manually.


    We typically have 1-2 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).


    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; 5-6 projects expected
    Tests: 50% 5 tests are expected


    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!