Welcome to ECE 420 Embedded DSP Laboratory

Course Description

The first seven weeks of the course will be structured labs based on fundamental digital signal processing (DSP) concepts from ECE 310. The next two weeks will be on the implementation and simulation of a fundamental DSP algorithm of a student's choosing from a set of seminal DSP papers (such as adaptive filtering, pitch detection, edge-aware filtering, motion tracking, pattern recognition, etc). The remaining six weeks in the course will revolve around the development, testing, and documentation of a DSP project of the student's choice (subject to instructor approval).

Course Goals

Students will learn to prototype, implement, and analyze real-time DSP systems. Students will both broaden and deepen their understanding of basic DSP theory and techniques and learn to relate this understanding to real-world observations and applications. Students will learn industrially-relevant skills such as rapid design prototyping in Python, and Android development of DSP applications in C++/Java for computationally-constrained mobile devices. Other significant educational experiences include open-ended design, oral, and written communication, and team projects.

Course Announcement


  • Tablet loans: Please read the following link carefully and request a tablet per student. An Android device is required for this course. If you are willing to use your own Android device, then you do not need to request. Please keep all packaging for the return shipment! https://ece.illinois.edu/academics/ugrad/lab-kits

Course Schedule

Lectures are once a week on Monday from 2:00-2:50pm via Zoom meeting. The lecture topics are subject to change.

  • You can look up Zoom meeting passwords here (NetID log-in required).
  • Video recordings are available here (NetID log-in required).

Week of Lecture Topic Lab Due (in lab)
01/25 Course Overview [slides] Lab 1 - IMU Pedometer Mock Quiz (extra credit)
02/01 Audio Processing Lab 2 - Real-time Audio Filtering Prelab 2, Demo(lab1) and Quiz 1
02/08 Short-time Spectral Analysis Lab 3 - Spectrogram Prelab 3, Demo(lab1(extended)) and Quiz 2
02/15 Correlation Analysis Lab 4 - Pitch Detection Prelab 4, Demo(lab2(extended) and lab3) and Quiz 3
02/22 Pitch Modification Lab 5 - Pitch Synthesis Prelab 5, Demo(lab4) and Quiz 4
03/01 Overview of 2D Image Processing Lab 6 - Image Processing Prelab 6, Demo(lab5) and Quiz 5
03/08 Video Kalman Filter Lab 7 - Video Processing Prelab 7, Demo(lab6) and Quiz 6
03/15 Special Topics - Team Project Preview Assigned Project Lab Demo(lab7) and Quiz 7, Assigned Lab Project Proposal due by 03/22 @ 11:59 PM
03/22 Special Topics Assigned Project Lab N/A
03/29 Special Topics Design Review Presentation + Assigned Project Demo Final Project Proposal, Presentation File, and Assigned Lab code due by 04/05 @ 11:59PM
04/05 Special Topics Final Project - Start up N/A
04/12 Special Topics Final Project - Milestone 1 Work Upload Milestone 1 clip(less than 5min) by 04/16 @ 11:59 PM
04/19 Special Topics Final Project - Milestone 2 Work Upload Milestone 2 clip(less than 5min) by 04/23 @ 11:59 PM
04/26 Special Topics Final Project - Demo Final Project Demo and Presentation.
05/03 No lecture Final Week Final Project Report, Presentation File, Source Code and Video due by 05/07 @ 11:59 PM


Schedule and Location

Labs are held by Zoom meeting.


There are seven 15-minute quizzes (plus one mock quiz) throughout the semester. They are open-book individual assessments taken at Prairielearn . Each quiz starts at the beginning of each lab section and ends after 15 minutes (e.g. ABA quiz opens 2:00-2:15, every Tuesday). Students MUST take the quiz at their registered lab section. There is no makeup for missed quizzes. An absence letter from the Dean of Students is required to waive a missed quiz due to acute medical condition. Discussion of the quiz is NOT allowed until all sections have completed the quiz. The grading will be published every Friday evening. You will earn extra credit for the mock quiz (make-up for lost points in the quizzes).

Android Tablet

Students are individually required an Android device for lab. Due to COVID-19, we suggest the following options to acquire the device.
  • Students can request a tablet to be shipped to their address and get them returned after semester (International shipping may not be available depending on the location).
  • Students can either use their own Android device (recommended powerful enough to NVIDIA SHIELD Tablets) or purchase one (recommended Lenovo Tab M10 FHD Plus as NVIDIA SHIELD tablet is discontinued).

Students are responsible for the safety of their tablet. Tablet check out and return should be well documented by the check out sheets in the lab folder. Please notify the TAs when you no longer want to be recorded on the check out sheet.

Refer to the NVIDIA SHIELD Tablet page under Resources for more information.


Students will be working in groups to complete all labs and final project. Typically, groups of two are strongly prefered, group of more or less is allowed only on rare occasions.

For structured labs (lab 1 ~ lab 7), groups will be formed randomly and differently for each lab, so that students could have the chance to work with different partners.

For assigned project labs and final project labs, students are expected to form their own groups. Feel free to form groups as large as you want; however we do expect more work for larger groups. Feel free to form groups across different sections; if you plan to do so, make sure the entire group can attend one of the sections because you will need to do presentations and demos as a whole.


Refer to the submission instructions page for more information.


Grades can be found on Gradescope.

Brief Grading Breakdown

  • Structured Labs - 40%
    • 10% for the prelab
    • 20% for the demo
    • 10% for the quiz
  • Assigned Project Lab - 10%
    • 5% for the project proposal
    • 5% for the assigned project demo
  • Final Project - 45%
    • 5% for design review presentation
    • 10% for the final project proposal
    • 5% for the completion of two milestones
    • 15% for the final demo
    • 10% for the final report
    • Extra credit for the final video (Up to 2%)
  • Lecture participation - 5%

Detailed Grading Breakdown

The structured laboratory segment will count for 40% (10% for prelab, 10% for quiz, and 20% for demo and oral quiz) of the total grade, based on completion of, and oral examination over, the weekly laboratory assignments, including the underlying theory, details of the implementation and code, and the observed behavior of the system. We emphasize that your grade is based heavily on your understanding and demonstration of the course material, not just on submitting working code.

The assigned project lab (based on the student's chosen DSP paper) will account for 10% of the total grade.

The final project will count for 45% of the total grade, with 5% on the design review presentation, 10% on the project proposal, 5% for demonstrations of 2 project milestones, 15% for the final demo and oral presentations, and 10% on the final report.

The final 5% of the total course grade comes from lecture participation by joining the zoom lecture or submitting the summary of the lecture (within a week).

It is expected that each student will attend and participate in scheduled class and laboratory meetings, or will make prior alternate arrangements with the instructor. The final grade may be penalized if this does not occur.

All assignments other than the lecture quiz, final project proposal, and final project report are due during the scheduled laboratory meeting. A late penalty of 50% will be assessed for assignments less than a week late; assignments more than a week late will receive no credit. However, all graded assignments must be submitted to receive a passing grade in the course.

Project Details

Refer to the Assigned Project Lab and Final Project pages.

Academic Integrity Policy

Printed and online sources are allowed with proper citation. Please direct your question to Google or the course staff before you ask your classmates. Given the range of the material for this course, we encourage you to refer to any online source, but do not directly copy and paste.

We do not allow inter-group cooperation for the final project. If there is a sign of cooperation between groups, those groups will be treated as a big group, and the grade will be divided accordingly.

More information: Student Code.

Office Hours / Course Administrivia

  • Prof. Thomas Moon: By appointment.
  • TA Dimitrios Gotsis: Wednesday 12-2PM
  • TA Francis Edward Roxas:: Monday 11AM-1PM
If you have questions, post them on Piazza.

Instructor Contact Information

  • Prof. Thomas Moon: tmoon@illinois.edu
  • TA Dimitrios Gotsis: gotsis2@illinois.edu
  • TA Francis Edward Roxas: roxas2@illinois.edu