ECE 420
ECE 420 - Embedded DSP Laboratory
Fall 2024
Title | Rubric | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|---|
Embedded DSP Laboratory | ECE420 | AB1 | 31821 | LAB | 0 | 1430 - 1620 | T | 5072 Electrical & Computer Eng Bldg | Thomas Moon Jorge Chavez, Jr |
Embedded DSP Laboratory | ECE420 | AB2 | 31826 | LAB | 0 | 1400 - 1550 | W | 5072 Electrical & Computer Eng Bldg | Thomas Moon Dimitrios Stavros Gotsis |
Embedded DSP Laboratory | ECE420 | AB3 | 31829 | LAB | 0 | 0900 - 1050 | W | 5072 Electrical & Computer Eng Bldg | Thomas Moon Dimitrios Stavros Gotsis Jorge Chavez, Jr |
Embedded DSP Laboratory | ECE420 | AB4 | 31833 | LAB | 0 | 1500 - 1640 | F | 5072 Electrical & Computer Eng Bldg | Thomas Moon Dimitrios Stavros Gotsis |
Embedded DSP Laboratory | ECE420 | AL1 | 31840 | LEC | 2 | 1400 - 1450 | M | 3015 Electrical & Computer Eng Bldg | Thomas Moon |
See full schedule from Course Explorer
Official Description
Subject Area
- Signal Processing
Course Director
Description
Development of real-time digital signal processing (DSP) systems using a DSP microprocessor. Several structured laboratory exercises, such as sampling, digital filtering, and modulation, followed by an extensive DSP project of the student's choice.
Goals
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.
Topics
- Using DSP microprocessor development system
- Embedded programming of DSP microprocessor
- Audio-rate sampling of analog signals
- Design and implementation of FIR filters
- Design and implementation of IIR filters
- Digital modulation for communications
- Digital processing of audio, image, and video signals
- Application of the discrete Fourier transform
- Projects
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.
Topics:
- Using DSP microprocessor development system
- Embedded programming of DSP microprocessor
- Developing DSP applications on embedded and mobile devices
- Audio-rate sampling of analog signals
- Design and implementation of FIR filters
- Design and implementation of IIR filters
- Digital modulation for communications
- Digital processing of audio, image, and video signals
- Application of the discrete Fourier transform
- Projects
Computer Usage
PC with Code Composer Studio, Android Studio, and Python development tools.
Lab Equipment
- TMS320C5510 development boards
- Function generators
- Oscilloscopes
- Android tablets
Topical Prerequisites
- Digital signal processing
- Embedded language programming
Texts
A DSP Laboratory using the TMS320 CS49, on-line.
Latest tutorial papers on Signal Processing Methods and Applications.
References
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.
3. D. Jun, D. L. Jones, M. N. Do, "From fixed-point processors to android: A hybrid course for real-time DSP laboratory," IEEE Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE), Aug. 2013.
Assignments and materials for the current semester can be found at the ECE 420 Web site.
ABET Category
Engineering Design: 2 hours
Course Goals
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 embedded programming,
3. software design and development,
4. design project organization and management,
5. oral and written presentation,
6. teamwork, and
7. professionalism
Instructional Objectives
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. (1, 2, 6)
2. Understand basic DSP microprocessor architecture. (1, 6)
3. Program a DSP microprocessor in embedded language. (1, 6)
4. Understand and explain sampling and filter theory, including basic multirate theory, and recognize and analyze artifacts such as aliasing. (1, 3)
5. Design and implement real-time FIR filters using several different methods, and explain the advantages and disadvantages of the various approaches. (1, 2, 3)
6. Design and implement real-time, fixed-point IIR filters with minimal quantization error and appropriate scaling to prevent saturation and overflow. (1, 2, 6)
7. Implement a real-time FFT-based spectrum analyzer and identify, understand, and explain the various artifacts introduced by such an implementation. (1, 2, 3, 6)
8. Perform basic optimization of handcrafted real-time DSP code. (1)
9. Work with, and move seamlessly between, signal processing theory, a high-level signal processing design and simulation environment (e.g., Python, high-level language implementations), and a real-time signal processor system (e.g., a TMS320C549 EVM and its accompanying development environment). (1, 2, 6)
10. Work jointly with peers in developing, debugging, and testing code and in completing laboratory assignments. (5)
11. Orally explain technical concepts and observations to other engineers. (3)
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. (7)
2. Learn and explain key methods and ideas in a signal processing application area. (3, 7)
3. Develop, refine, defend, implement, and test a significant design for a real-time signal processing application. (1, 2, 3, 6)
4. Recognize and evaluate design tradeoffs. (2, 6)
5. Professonally present, explain, justify, and defend a proposed design at a formal design review. (3, 4)
6. Practice and apply good multi-level software development processes. (6)
7. Complete and demonstrate a successful implementation of a signal processing design project. (2, 3, 4)
8. Document a signal processing design project, including the principles, procedure, implementation, and testing. (3, 4, 6)