Welcome to the home page for ECE4703 "Real-Time Digital Signal Processing" for B-term 2010.
announcements and lecture slides
- [09-Dec-2010] Added a Matlab cheatsheet to the links and files page.
- [09-Dec-2010] Example Matlab code that you can use to perform system identification using the brute-force correlation and matrix inversion method.
- [06-Dec-2009] Example Matlab code showing different ways of performing quadratic interpolation. Also, example Matlab code demonstrating the concept of gradient descent and LMS for unknown system identification
- [02-Dec-2010] Matlab demo showing complexity trends of the FFT and DFT. This demo needs the support function dft.m. Also, slides for the complexity analysis of the FFT and FFT butterfly diagrams from the Thad Welch textbook.
- [22-Nov-2010] Schedule tables for lecture 7.
- [17-Nov-2010] Slides for lectures 6 and 7 (pdf).
- [11-Nov-2010] Added some links to websites with white-noise signal generators to the links and files page.
- [01-Nov-2008] Lecture 2 slides (pdf) and some aliasing and quantization examples.
- [28-Oct-2008] Lecture 1 slides (pdf).
- [27-Oct-2010] First lab session orientation presentation (pdf).
- [27-Oct-2010] An email was sent to the class mailing alias ece4703@ece.wpi.edu today. If you did not receive this email, please contact Prof. Brown.
general
The required course textbook is Real-Time Digital Signal Processing: Based on the TMS320C6000 by Nasser Kehtarnavaz.
The course syllabus (pdf) including expected course outcomes, grading information, and late policies.
ECE4703 academic honesty policies.
ECE4703 students with disabilities statement.
links and files
Some useful links and files. Please contact Prof. Brown if you find any broken links.
laboratory assignments
General report and project code submission guidelines (pdf).
lab 1: familiarization with ccs and the dsk
Assignment (pdf) and grade sheet. Project code and report due by 3:00pm on 04-Nov-2008.
Here is good vectors.asm file for part 3 of the assignment. Note that this file has the directive ".sect .vectors" at the top. You should make sure your linker command file has an appropriate section called ".vectors" in the correct memory location from addresses 0x00000000-0x0000021F. You may also want to edit this file if your ISR is not called "serialPortRcvISR".
lab 2: real-time floating-point filtering
Assignment (pdf) and grade sheet. Project code and report due by 3:00pm on 11-Nov-2010.
lab 3: real-time fixed-point filtering
Assignment (pdf) and grade sheet. Project code and report due by 3:00pm on 18-Nov-2010.
lab 4: hand-optimized assembly language programming
Assignment (pdf) and grade sheet. Project code and report due by 3:00pm on 02-Dec-2010.
Here is an example project that has all four versions of the single-precision floating-point dot product described in Chapter 5 of the Programmer's Guide. Careful study of the optimization tricks used in each successive dot product function should be helpful towards optimizing your code in the Laboratory 4 assignment.
lab 5: accurate frequency estimation
Assignment (pdf) and grade sheet. Project code and report due by 3:00pm on 09-Dec-2010.
Here are the TI files needed for the radix-2 FFT: cfftr2_dit.sa, bitrev.sa, and digitrev_index.c. Here also is some example code from the Chassaing textbook and an example project that I wrote for the cycle-accurate simulator that shows how to correctly use TI's optimized FFT code. Careful study of this example project should be helpful in the Laboratory 5 assignment.
lab 6: adaptive filtering
Assignment (pdf) and grade sheet. Useful files for testing your code: lab6part1.zip (three unknown systems to identify) and lab6part2.wav (noise cancellation). The song in part 2 is "Pigs on the Wing: Part 1" by Pink Floyd. Project code and report due by 3:00pm on 16-Dec-2009. Due to grading constraints, no late submissions can be accepted.
examinations
The midterm examination is scheduled for 18-Nov-2010. The mean was 164/200 with a standard deviation of about 29 points.
The final examination is scheduled for 16-Dec-2010.
homework
No homework is assigned in this course.