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

5/1/2020

  1. Submit the final report via Gradescope by 05/08 @11:59 PM (details on report here )
  2. Submit all source code via Gradescope by 05/08 @11:59 PM
  3. (Extra credit) Upload a final video in the milestone box folder or submit Youtube link by 05/08 @11:59 PM

4/20/2020

  1. Upload your milestone2 clip by 04/24@ 11:59 PM
  2. Final Project Demo next week (10-15min including Android demo)
    • Schedule your demo day here
    • Prepare slides! (don’t dive into Android code)
    • You can reuse your old slides for introduction/algorithm (don't repeat too much detail)
    • Please include the following in your presentation
      • summary of milestone 1 and 2
      • new challenges on Android implementation and how you solved them
      • evaluate your algorithm if you can (eg. able to detect upto 3 persons, or found the right song with 75% rate)
    • And Practice/prepare your live demo! (try your best)

Course Schedule

Lectures are once a week on Monday from 2:00-2:50pm in 4070 ECEB. The lecture topics are subject to change.

Week of Lecture Topic Lab Due (in lab)
01/20 No Lecture - MLK Day Lab 1 - IMU Pedometer None
01/27 Course Overview + Audio Processing [Slides] Lab 2 - Real-time Audio Filtering Prelab 2, Demo and Quiz 1
02/03 Short-time Spectral Analysis [Slides] Lab 3 - Spectrogram Prelab 3, Demo and Quiz 2
02/10 Correlation Analysis [Slides] Lab 4 - Pitch Detection Prelab 4, Demo and Quiz 3
02/17 Pitch Modification [Slides] Lab 5 - Pitch Synthesis Prelab 5, Demo and Quiz 4
02/24 Overview of 2D Image Processing [Slides] Lab 6 - Image Processing Prelab 6, Demo and Quiz 5
03/02 Video Kalman Filter [Slides] Lab 7 - Video Processing Prelab 7, Demo and Quiz 6, Assigned Lab Project Proposal due by 03/9 @ 2:00 PM
03/09 Guest Lecture by Jeffrey Brokish [Slides] Assigned Project Lab Demo and Quiz 7
03/16 No lecture - Spring Break N/A N/A
03/23 Special Topics - Acoustic Localization [Slides] Assigned Project Lab Final Project Proposal due by 03/30 @ 11:59 PM
03/30 Special Topics - Acoustic Localization-continued Assigned Project Demo + Final Project Design Review Revised Project Proposal, Assigned Lab code due by 04/06 @ 2:00 PM
04/06 Guest Lecture by Jounsup Park - VR/AR Video Streaming Systems [Slides] Final Project - Milestone 1 Work Revised Project Proposal, Assigned Lab code due by 04/10 @ 11:59 PM
04/13 Guest Lecture by Spencer Markowitz - FMCW Radar? Never Heard of it [Slides] Final Project - Milestone 2 Work Milestone 1 Demo At Beginning of Lab Upload Milestone 1 clip(<5min) by 04/17 @ 11:59 PM
04/20 Guest Lecture by Suraj Jog - Wireless Localization Final Project - Wrap up Milestone 2 Demo At Beginning of Lab Upload Milestone 2 clip(<5min) by 04/24@ 11:59 PM
04/27 Guest Lecture by Dimitrios Gotsis - An Introduction to GANs and Image Deblurring Applications[Slides] Final Project - Demo Final Project Demo and Presentation.
05/04 Course Review. In-class Quiz No lecture Final Week Final Project Report and Video due by 05/08 @ 11:59 PM

Labs

Schedule and Location

Labs are held in Room 5072 ECEB.

  • Section ABA meets Tuesday, 2:00-3:50 PM.
  • Section ABC meets Wednesday, 2:00-3:50 PM.
  • Section ABD meets Thursday, 2:00-3:50 PM.
  • Section ABE meets Friday, 2:00-3:50 PM.

The lab is available at all times except University holiday weekends and ECE 420 class times.

Students are expected to be in the lab for their two-hour assigned lab period. In addition, students can access the lab at any time (subject to departmental rules for normal lab privileges) using their I-card. It is expected that students will require additional lab time to complete their assignments. ECE 420 students having difficulty with their I-card access should notify one of the teaching assistants.

Basic rules of courtesy and professional behavior are expected in the lab. Please do not remove any lab equipment, books, or manuals from the lab at any time. If you would like to listen to music as you work, please use headphones.

Android Tablet

NVIDIA SHIELD Tablets along with charger and cable will be distributed as the labs contain significant portion of Android development. Students are responsible for the safety of their group's 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.

Groups

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.

Submissions

Refer to the submission instructions page for more information.

Grades

Grades can be found on Gradescope.

Brief Grading Breakdown

  • Structured Labs - 40%
    • 2 points for the prelab
    • 4 points for the demo
    • 2 points 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
    • 5% for the revised project proposal
    • 5% for the completion of two milestones
    • 15% for the final demo
    • 15% for the final report
    • Extra credit for the final video (Up to 3%)
  • Final Lecture Quiz - 5% Online lecture participation - 5%

Detailed Grading Breakdown

The structured laboratory segment will count for 40% 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.

Each lab is worth 8 points, usually with 4 point for prelab and written quiz, and the remaining 4 points for demo and oral quiz. 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, 5% on the project proposal, 15% for demonstrations of 3 project milestones, 10% for the final demo and oral presentations, and 10% on the final report.

The final 5% of the total course grade comes from a written quiz over the lecture material.

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

  • Dr. Thomas Moon: by email appointments only.
  • TA Dimitrios Gotsis: Thursday 1-2pm, Friday 11am-2pm.
  • TA Spencer Markowitz: TBD
If you have questions, post them on Piazza.

Instructor Contact Information

  • Dr. Thomas Moon: tmoon@illinois.edu
  • TA Dimitrios Gotsis: gotsis2@illinois.edu
  • TA Spencer Markowitz: samarko2@illinois.edu