Digital Signal Processing Laboratory
Menu: Course View Options
|AB1||LAB||1430 - 1620||T||5072 ECE Building||Raymond Yeh
|AB2||LAB||1400 - 1550||W||5072 ECE Building||Trong Nguyen
|AB3||LAB||0900 - 1050||W||5072 ECE Building||Raymond Yeh
|AL1||LEC||1400 - 1450||M||4070 ECE Building||Stephen Levinson
|Official Description||Development of real-time digital signal processing (DSP) systems using a DSP microprocessor; several structured laboratory exercises, such as sampling and digital filtering; followed by an extensive DSP project of the student's choice. Course Information: 2 undergraduate hours. 2 graduate hours. Prerequisite: ECE 310.|
|Subject Area||Signal Processing|
|Course Prerequisites||Credit in ECE 310|
Minh N Do
|Detailed Description and Outline
To familiarize students with the fundamentals of operating and analyzing real time digital signal processing systems, including the required theory, the hardware used to sample and process the signals, and real time software development environments. An extensive project emphasis develops system-level design skills in a complex, unstructured problem context.
IBM-PC with Windows NT DSP 56300 microprocessor systems Software: Matlab DSP 56300 development tools
A DSP Laboratory using the TMS320 CS49, on-line.
Conference papers describing the ECE 420 course design, goals, methods, and philosophies have been published in:
1. D.L. Jones, "Effective DSP Laboratory Course Design," DSPSFest'99, Houston, Texas, August 4-6, 1999.
2. M.L. Kramer, M. Haun, S. Appadwedula, D.L. Sachs, and D.L. Jones, "Effective Use of Projects in DSP Laboratory Instruction," Proceedings of the First IEEE Signal Processing Education Workshop, Hunt, Texas, October 15-18, 2000.
Assignments and materials for the current semester can be found at the ECE 420 Web site.
Engineering Design: 2 hours
ECE 420 serves several primary and a number of secondary educational goals. Primary goals include:
1. developing a thorough understanding of the central elements of digital signal processing theory (including sampling theory, FIR and IIR filter theory, and spectral analysis) and the ability to apply this theory to real-world signal processing applications,
2. learning real-time signal processing implementation relevant to current industrial practice, and
3. obtaining a significant open-ended engineering design experience through learning, applying, and implementing advanced signal processing methods.
Secondary goals include learning or additional experience in
1. advanced signal processing methods and applications,
2. microprocessor systems and assembly-language programming,
3. software design and development,
4. design project organization and management,
5. oral and written presentation,
6. teamwork, and
The course can be divided roughly into two halves (a uniform component with weekly laboratory exercises and oral examinations, and a design project phase) each of which addresses somewhat different subsets of primary and secondary course goals.
By the completion of the uniform weekly laboratory assignments (after about eight weeks), the students should be able to do the following:
1. Use a modern real-time DSP hardware system and development environment to implement, debug, and test real-time signal processing algorithms. (a,k)
2. Understand basic DSP microprocessor architecture. (k)
3. Program a DSP microprocessor in assembly language. (a,k)
4. Understand and explain sampling and filter theory, including basic multirate theory, and recognize and analyze artifacts such as aliasing. (a,g,m)
5. Design and implement real-time FIR filters using several different methods, and explain the advantages and disadvantages of the various approaches. (a,c,g,k)
6. Design and implement real-time, fixed-point IIR filters with minimal quantization error and appropriate scaling to prevent saturation and overflow. (a,c,k)
7. Implement a real-time FFT-based spectrum analyzer and identify, understand, and explain the various artifacts introduced by such an implementation. (a,c,g,k,m)
8. Perform basic optimization of handcrafted real-time DSP code. (a,k)
9. Work with, and move seamlessly between, signal processing theory, a high-level signal processing design and simulation environment (e.g., Matlab, high-level language implementations), and a real-time signal processor system (e.g., a TMS320C549 EVM and its accompanying development environment). (b,c,k,m)
10. Work jointly with peers in developing, debugging, and testing code and in completing laboratory assignments. (d)
11. Orally explain technical concepts and observations to other engineers. (g)
By the completion of the course, students should in addition be able to do the following:
1. Use multiple technical information resources (including library resources such as the research literature, the World Wide Web, and consultation with local experts) to independently learn about advanced topics. (e,i,j)
2. Learn and explain key methods and ideas in a signal processing application area. (g,i,j)
3. Develop, refine, defend, implement, and test a significant design for a real-time signal processing application. (a,b,c,d,e,g,k,m)
4. Recognize and evaluate design tradeoffs. (c,e)
5. Professonally present, explain, justify, and defend a proposed design at a formal design review. (f,g)
6. Practice and apply good multi-level software development processes. (k)
7. Complete and demonstrate a successful implementation of a signal processing design project. (c,f,g)
8. Document a signal processing design project, including the principles, procedure, implementation, and testing. (b,f,g)