Welcome to ECE 420: Mobile Application DSP Lab


Syllabus

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 mobile 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

9/14/2024

8/26/2024

Course Schedule

Lecture
  • Location: ECEB 3015

  • Time: Monday, 2:00-2:50 PM

Labs
  • Location: ECEB 5072

  • Time

    • AB1: Tuesday, 2:30-4:20 PM

    • AB2: Wednesday, 2:00-3:50 PM

    • AB3: Wednesday, 9:00-10:50 PM

    • AB4: Friday, 3:00-4:50 PM

The lecture topics are subject to change.

Week of Topic Lab Due(in lab)
08/26Lec 1 - Course Overview, slideLab 1 - Build your first Android AppMock Quiz (extra credit)
09/02No Lecture (Labor day)No LabsN/A
09/09Lec 2 - Audio Processing, slide, kahootLab 2 - Real-time Audio FilteringPrelab 2, Demo(lab1) and Quiz 1
09/16Lec 3 - Short-time Specgtral Analysis, slide, kahootLab 3 - SpectrogramPrelab 3, Demo(lab2) and Quiz 2
09/23Lec 4 -Correlation Analysis Lab 4 - Pitch DetectionPrelab 4, Demo(lab3), Quiz 3 and
Early prototype proposal due
09/30Lec 5 -Pitch Modification Lab 5 - Pitch SynthesisPrelab 5, Demo(lab4) and Quiz 4
10/07Lec 6 -Overview of 2D Image ProcessingLab 6 - Image ProcessingPrelab 6, Demo(lab5) and Quiz 5
10/14Lec 7 -Video tracking, KCFLab 7 - Video ProcessingPrelab 7, Demo(lab6), Quiz 6, and
Prototype proposal due
10/21Lec 8 -Handwritten digit recognition: Part 1PrototypeDemo(lab7) and Quiz 7
10/28Lec 9 -Handwritten digit recognition: Part 2PrototypeN/A
11/04Special topicPrototype demo and presentationPresentation File, prototype code, and
Final proposal due
11/11Special topicFinal ProjectN/A
11/18Special topicFinal ProjectMilestone 1
11/25No Lecture (TG break)N/AN/A
12/02Special topicFinal ProjectMilestone 2
12/09Special topicFinal demo and presentationFinal Project Report, Presentation File and Source Code due

Labs

In-lab Quizzes

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. AB1 quiz opens 2:30-2:45, 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).

Groups

Students will be working in groups to complete all labs and final project. Typically, groups of two are strongly preferred, 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 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.

Note
Prelabs and Quizzes are strictly individual works. Group works are not allowed.

Submission, Grades, and discussion

All pre-lab, lab work, and project-related documents must be submitted via Gradescope. Grades will also be published on Gradescope once they are ready.

Grading Breakdown

G = Group work, I = Individual work

  • Structured Labs: 40%

    • Prelabs (I): 10%

    • Labs (G): 20%

    • Lab quizzes (I): 10%

    • Extra-credit lab 8 (I): 5% = prelab 2% + lab 3%

  • Prototype: 20%

    • Early prototype proposal (I): 2%

    • Prototype proposal (G): 8%

    • Prototype demo (G): 5%

    • Prototype presentation (G): 5%

  • Final project: 35%

    • Final project proposal (G): 8%

    • Milestone 1 & 2 (G): 2.5% + 2.5%

    • Final demo (G): 7%

    • Final presentation (G): 8%

    • Final report (G): 7%

  • Lecture participation (I): 5%

The structured laboratory segment will count for 40% (10% for prelab, 10% for quiz, and 20% for lab) 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 prototype (based on the student's chosen DSP paper) will account for 20% of the total grade, with 3 % on the early prototype proposal, 7% on the prototype proposal, 5% on the demo, and 5% on the oral presentation.

The final project will count for 35% of the total grade, with 7% on the project proposal, 5% for demonstrations of 2 project milestones, 7% for the final demo, 8% for the oral presentation, and 8% on the final report.

The final 5% of the total course grade comes from lecture participation.

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.

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.

Course Project

Refer to the Early prototype proposal, Prototype, and Final Project pages.

Office Hours

Instructor Contact Information

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 allow 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.

More Course Policy

Refer to the more course policy page here.

CC BY-SA 4.0 Thomas Moon. Last modified: September 16, 2024. Website built with Franklin.jl and the Julia programming language.