Welcome to the home page for ECE4703 "Real-Time Digital Signal Processing" for B-term 2019.
announcements and lecture slides
general
Given the new hardware/development platform for this course, the textbook Digital Signal Processing Using the ARM Cortex M4 1st Edition by Donald Reay is highly recommended. In the past, for the TI C6713 platform, we have used Real-Time Digital Signal Processing: Based on the TMS320C6000 by Nasser Kehtarnavaz and Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK by Donald Reay and Rulph Chassaing. Both of these books are good references, but are not required for the course.
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
- Wiley companion website for Digital Signal Processing Using the ARM Cortex M4 1st Edition. From the Resources tab, you can download example code for the Cypress FM4 S66E2CC for use with Keil MDK-ARM. Here locally hosted copy in case something happens to the Wiley site.
- Click here to watch an 11 minute video on how to install, set up, and test the Keil MDK-ARM development environment for use with the Cypress FM4 S6E2CC Pioneer Kit.
- How to set up your Keil MDK-ARM development environment for use with the Cypress FM4 S6E2CC Pioneer Kit.
- How to build and run a "Hello World" project from a project template.
- How to create, build, run, and test a simple interrupt-based stereo loop project on the C6713 DSK in Code Composer Studio v5.
- Here is a three minute screencast showing how to profile code running on the C6713 DSK using breakpoint/stopwatch profiling in CCS v5. This type of profiling is convenient, but is known to be less accurate than using a cycle accurate simulator.
- Here is a seven minute screencast showing how to profile code using the CCS v5 profiling tools on a cycle accurate simulator. This approach tends to give more accurate results than breakpoint/stopwatch profiling, but you have to modify your code or make a new project. The keys here are: (i) remove all calls to BSL library functions, (ii) remove the code that sets up interrupts, change any interrupt service routines to regular functions, and remove vectors.asm, and (iii) change the target configuration to a cycle accurate simulator. Here is the code I used in the screencast: simulatortester.c.
- Here is a five minute screencast showing how to quickly plot the contents of a buffer in CCS and also how to save the contents of a buffer to a separate file for subsequent processing in Matlab or another program.
- Other useful links and files.
laboratory assignments
General report and project code submission guidelines (pdf).
lab 1: familiarization with the hardware and development environment
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 05-Nov-2015.
lab 2: floating-point FIR and IIR filtering
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 12-Nov-2015.
lab 3: fixed-point FIR and IIR filtering
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 19-Nov-2015.
lab 4: hand-optimized assembly language programming
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 03-Dec-2015.
lab 5: fast convolution FIR filtering
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 10-Dec-2015
Here are the TI files needed for the radix-2 FFT: cfftr2_dit.sa, bitrev.sa, and digitrev_index.c. Here also some example main code that shows how to correctly use TI's optimized FFT code (including the critical pragmas to ensure buffer alignment). Careful study of this example project should be helpful in the Laboratory 5 assignment.
lab 6: adaptive filtering
Assignment (pdf) and grade sheet. Project report and CCS files due by 3:00pm on 17-Dec-2015. Due to grading constraints, no late submissions can be accepted.
Useful files for testing your code: lab6part1.zip (three unknown systems to identify) and lab6part2.wav (noise cancellation sound file). The song in part 2 is The Distance by Cake.
examinations
The midterm examination is scheduled for November 19.
The final examination is scheduled for December 17.
homework
No homework is assigned in this course.