.. ECE 4703 .. _syllabus: Syllabus ======== Instructor ^^^^^^^^^^ - Prof. Patrick Schaumont - Office: AK 301 - Office hour: Monday 10AM - 11AM or by appointment - **On 11/4 the office hour is exceptionally scheduled Monday 4PM - 5PM** - Email: pschaumont@wpi.edu - `Discussion forum `_ Graduate Tutor ^^^^^^^^^^^^^^ - Rigved Sanku - Email: rsanku@wpi.edu - Office hour: Tuesday 10AM - 11AM (`Online on Zoom `_) Instructional Format ^^^^^^^^^^^^^^^^^^^^ - This class is organized as a *flipped classroom*. That means that the lecture materials will be posted before the lecture, and the class meeting time will be used for problem solving and clarifications of the course material. Lecture videos and materials will be available by Monday of every week. - The class will meet on Thursdays in **AK 232**, except in Week 6 (Thanksgiving) and Week 8 (final week) when the class will meet on Mondays. - The class has also a lab which meets every Wednesday in **AK227**. Course Websites ^^^^^^^^^^^^^^^ - `canvas.wpi.edu `_ - Grades - Announcements - Discussions - `github.com `_ - Labs - Examples - `schaumont.dyn.wpi.edu `_ - Syllabus - Lecture Materials - Hands-on Problems - Labs - Tecnical documentation Course Description ^^^^^^^^^^^^^^^^^^ This course provides an introduction to the principles of real-time digital signal processing (DSP). The focus of this course is hands-on development of real-time signal processing algorithms using audio-based DSP kits in a laboratory environment. Basic concepts of DSP systems including sampling and quantization of continuous time signals are discussed. Trade-offs between fixed-point and floating-point processing are exposed. Real-time considerations are discussed and efficient programming techniques leveraging the pipelined and parallel processing architecture of modern DSPs are developed. Using the audio-based DSP kits, students will implement real-time algorithms for various filtering structures and compare experimental results to theoretical predictions. Recommended background: ECE 2312, prior experience in C programming. Expected Outcomes ^^^^^^^^^^^^^^^^^ Students who successfully complete this course will be able to: - describe the architecture and basic operation of fixed-point and floating-point DSPs. - perform worst-case timing analysis and measure execution time on real-time DSP systems. - develop and realize computationally efficient algorithms on the DSP platform (e.g. FFT, fast convolution). - optimize DSP code (e.g. software pipelining). - draw block diagrams of FIR and IIR filters under various realization structures and describe the advantages and disadvantages of each realization structure. - realize real-time FIR and IIR filter designs on the DSP platform, compare experimental results to theoretical expectations, and identify the source of performance discrepancies. Expected Background ^^^^^^^^^^^^^^^^^^^ Students taking ECE4703 should have a basic understanding of discrete time signals and systems (ECE2312 or equivalent) including a working knowledge of sampling theory, basic filter design techniques, and frequency domain analysis. Students should also have an understanding of computer architecture as well as basic C programming skills (such as covered in CS2301). Finally, students in ECE4703 are expected to have some experience programming in Matlab and an understanding of basic matrix/vector operations in Matlab. Textbook and References ^^^^^^^^^^^^^^^^^^^^^^^ * *Digital Signal Processing Using the ARM Cortex-M4*, Donald S. Reay (Wiley). While the hardware required for the assignments is not identical to the hardware discussed in this book, the outline of the course will be very similar to the outline of this book. * Refer to the course webpage under *Technical Documentation* for additional reference material. Course Work ^^^^^^^^^^^ The course includes weekly lab assignments and quizzes. The in-class time (on Thursdays) will be used to solve quizzes and answer lab questions. A small portion of your grade is for 'class participation'. That includes any online activity that reflects your participation in the class such as asking questions and posting questions on the bulletin board. +-------------------------------------+-----------------------+ | Course Work | Grade Weight | +=====================================+=======================+ | Lab assignments (report and code) | 50% of the points | +-------------------------------------+-----------------------+ | Weekly Quizzes | 40% of the points | +-------------------------------------+-----------------------+ | Class Participation | 10% of the points | +-------------------------------------+-----------------------+ Grading Policy ^^^^^^^^^^^^^^ Final course grades are based on a student’s performance as follows: +-------------------------------------+-----------------------+ | Letter Grade | Percentage | +=====================================+=======================+ | A | 90 - 100 | +-------------------------------------+-----------------------+ | B | 80 - 90 | +-------------------------------------+-----------------------+ | C | 60 - 80 | +-------------------------------------+-----------------------+ | NR | < 60 | +-------------------------------------+-----------------------+ Course incompletes may be granted if the major part of the course is completed; however, no additional credit can be given for missed class discussions or teamwork beyond the end of the course. In addition, in the case of an incomplete, the student is responsible for handing in the final work within the WPI required timeframe of one (1) year. After this time, an incomplete grade changes to an NR grade. Late Work Policy ^^^^^^^^^^^^^^^^ Knowledge check quizzes and discussion boards will close at the deadline and no late work is accepted. Individual homework problems and team submissions will be closed at the deadline unless an extension has been discussed with the instructor in advance of the deadline and authorized by the instructor in the form of a revised deadline. In other words - if you are late, you have to talk to the instructor. Academic Integrity ^^^^^^^^^^^^^^^^^^ You are expected to be familiar with the `Student Guide to Academic Integrity at WPI `_. Consequences for violating the Academic Honest Policy range from earning a zero on the assignment, failing the course, or being suspended or expelled from WPI. Common examples of violations include: - Copying and pasting text directly from a source without providing appropriately cited credit - Paraphrasing, summarizing, or rephrasing from a source without providing appropriate citations - Collaborating on individual assignments - Turning in work where a good portion of the work is someone else’s, even if properly cited It will be clearly stated for every assignment if group work (teaming) is allowed or not. - Lab assignments are governed by the :ref:`teaming`. - The midterm and exam are individual assignments, and no teamwork is allowed for those assignments. Academic Accomodations ^^^^^^^^^^^^^^^^^^^^^^ Students with approved academic accommodations should plan to submit their accommodation letters through the `Office of Accessibility Services Student Portal `_. Should you have any questions about how accommodations can be implemented in this particular course, please contact me as soon as possible. Students who are not currently registered with the Office of Accessibility Services (OAS) but who would like to find out more information about requesting accommodations, documentation guidelines, and what the accommodated interactive process entails should plan to contact OAS either by email `AccessibilityServices@wpi.edu `_, by phone (508) 831-4908, or by stopping by the office on the 5th floor of Unity Hall. Diversity, Equity and Inclusion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The students and instructor are expected to take Diversity, Equity and Inclusion seriously. The class acknowledges and actively promotes the following: - Individual differences (e.g., personality, learning styles, life experiences) - Group/social differences (e.g., race/ethnicity, class, gender, sexual orientation, country of origin, physical or cognitive abilities, as well as cultural, political, or religious affiliation) - An atmosphere of well-being and inclusion in the classroom - Fair treatment of all classroom participants regardless of their background Tentative Schedule ^^^^^^^^^^^^^^^^^^ +-----------------+----------+----------+-----------------------------------------------------+ | Week | Class | Lab | Topics | +-----------------+----------+----------+-----------------------------------------------------+ | Week 1 | R 10/24 | W 10/23 | * Introduction | | | | | * Real Time DSP Knowledge Domains | | | | | * Lab Kit Handout: W 10/23 | | | | | * Lab 1: Introduction to the Lab Kit (due: 11/1) | +-----------------+----------+----------+-----------------------------------------------------+ | Week 2 | R 10/31 | W 10/30 | * Sampling and Quantization, Reconstruction | | | | | * FIR Implementation Techniques | | | | | * Lab 2: FIR Filtering (due: 11/8) | +-----------------+----------+----------+-----------------------------------------------------+ | Week 3 | R 11/7 | W 11/6 | * IIR Implementation Techniques | | | | | * Lab 3: IIR Filtering (due: 11/15) | +-----------------+----------+----------+-----------------------------------------------------+ | Week 4 | R 11/14 | W 11/13 | * Computing with Fixed Point Precision | | | | | * Lab 4: Fixed Point DSP (due: 11/29) | +-----------------+----------+----------+-----------------------------------------------------+ | Week 5 | R 11/21 | W 11/20 | * Digital Modulation | | | | | * Multirate Filters | | | | | * Lab 5 | +-----------------+----------+----------+-----------------------------------------------------+ | Week 6 | M 11/25 | | * Block Based DSP | | | | | * ARM CMSIS DSP | +-----------------+----------+----------+-----------------------------------------------------+ | Week 7 | R 12/5 | W 12/4 | * Optimizing Performance and Power | | | | | * EnergyTrace | | | | | * Lab 6 | +-----------------+----------+----------+-----------------------------------------------------+ | Week 8 | | W 12/11 | * Fast Fourier Transform | | | | | * Lab Wrap-up and Kit turn-in | +-----------------+----------+----------+-----------------------------------------------------+