Real-Time Digital Signal Processing Design Projects in an Undergraduate DSP Course and Laboratory
Mahmood Nahvi, Professor Electrical Engineering Department Cal Poly State University San Luis Obispo, CA 93407
Abstract- The undergraduate DSP course offered as a senior technical elective to electrical and computer engineering students at Cal Poly State University employs design/build projects as a vehicles for learning. In parallel with theory and experiments, teams of two or three students propose, design and implement a DSP project and demonstrate the product. The effort and time that is required to complete a project is comparable to three or four experiments. Interested students pursue further DSP work as a senior project, which is a two quarter activity equivalent to 5 quarter units. More DSP design may be carried out under the category of individual-study. The present paper analyzes the experience with undergraduate DSP projects, describes some examples, and draws conclusions. Some projects are innovative, sophisticated, and worthy of industrial consideration. Laboratory facilities and students’ facility with the hardware and programming and advanced use of computers are discussed .The overall conclusion is that the project is an important component of a comprehensive learning experience in DSP.
The Digital Signal Processing (DSP) Laboratory, developed and improved during the last seven years, at Cal Poly State University offers students an environment for learning DSP by doing DSP. This is realized through several channels. Each year about 70 Electrical Engineering (EE) and Computer Engineering (CPE) students take an undergraduate integrated DSP course and laboratory [1,2]. One component of these courses is project-oriented synthesis and design. In addition, interested students can do their senior projects on a DSP design. The senior project at Cal Poly’s EE Department is a required part of the curriculum and aims at designing, building and testing a product. DSP provides an exciting subject for the senior project. Students with deeper interest can also carry out
individual studies or projects in this area. The laboratory facilities, students’ background, organization of the course, its theoretical and experimental content, and the role of the project have been described elsewhere [1-6,11] and will not be summarized here. Interested readers may contact the author for details. The present paper concentrates on the DSP projects carried out in the DSP environment at Cal Poly during the last seven years.
Synthesis or Design?
Projects, whether limited to synthesis or including design, provide important vehicles for learning DSP. In this paper synthesis projects are distinguished from design projects. By synthesis it is meant “the putting of two or more things together in order to form a whole: as opposed to analysis” . There is a fine distinction between a DSP design project and one that is mostly synthesis. To some degree, and from experience, synthesis projects are precursors to DSP design projects . The projects listed in this paper are divided into two classes. The first class includes projects for the DSP courses. The majority of the projects in this class are of the synthesis type. The second class includes senior projects, master’s theses, and results of individual studies. These are almost all design projects with occasional studies of state-of-the-art DSP, practicing with available development tools and techniques, and their application.
DSP Course Projects
Projects are a required component of the course. They are intended to provide students with a comprehensive experience. The projects are carried out by groups of two or three students. Each group has its own project. The ideas for the projects and the plans to carry them out come from students and are to be approved by the instructor. The effort and time that is required to complete a project iscomparable to three or four experiments. However, in contrast to the experiments that are structured, and therefore easier to carry out, the students are responsible for all stages of their projects. Many students indicate that the time and effort put into their projects is considerably more than initially anticipated. This is an expression of the extent of the questions and issues they face, for the first time, during the course of the project. In terms of their complexity, novelty, challenge and relation to real- world applications, the projects vary. Some are done minimally to satisfy the course requirement at the passing level. Some are innovative and sophisticated, indicating students’ facility with the hardware, programming and advanced use of computers.
This class of projects has at its core mostly filter design, simulations, signal detection and recognition. The projects are done using analytical techniques and make use of software packages such as DaDisp or Matlab for design, computation and simulation. The majority of the designs are tested in real-time using the EVM board or the PC. The C source code to program the board is the same that students use during the experiments, but is modified by them for their projects. Some projects use the CPU of the PC for the real-time operation of their design, using Visual C++, Windows programming and the sound card in the computer. The signals are within the audio frequency range and can be run in real-time on a Pentium-based personal computer. Projects done in this class cover the following topics:
• Filter Design and Operation on the EVM • Signal Detection and Recognition • Digital Filtering for Noise Reduction in a Motor
V ehicle • MusicLab • Simulation of Channel Noise in CDMA Spread
Spectrum • Note Detection and Extraction from a Musical
Cord Using EVM • Sub-Band Coding and Quadrature Mirror Filters • Real-time Signal Processing and Recognition by a
PC • Detection of Touch-tone Dialing Signals • Dual-Tone Multiple Frequency (DTMF) Decoding
by the EVM
• Implementation of an Adaptive Filter by Linear Predictive Coding
• Sample Filtering Using the PC Soundcard DSP Design Projects
This class includes projects carried out during the course of senior projects, master’s theses and individual studies. Such projects involve more time. The senior project is a two-quarter individual activity and is a required part of the EE and CPE curriculum. Therefore, it is a more extensive activity for the student. An individual study lasts for one or two quarters (about two to three units per quarter). Individual studies are often continuations and expansions of smaller class projects carried out by the student in EE 419/459 . The master’s thesis is a 12 to 14 unit requirement that provides a vehicle for individual research and design activity.
The projects in this class, therefore, are design- oriented. Many of them lead to a final tested product. DSP projects in this class, carried out during the last seven years at Cal Poly, can be grouped into the following four categories (with examples listed under each):
a) DSP Boards and Systems
• A High Speed Data Acquisition System • The TMS320C25/C26 Digital Signal
Processing Board  • A Digital Signal Processing System based on
the TMS320C25  • The TI TMS320C31 DSP Card  • The TMS320C31-27 based on an IBM PC/AT
DSP Board 
b) DSP Applications in Communication and Control
• Digital Signal Processing: Evaluation and Applications
• Digital PID Controllers • Development and Implementation of a UART
Transmitter Routine for the TMS320 C30 • Sound Effects Utilizing the TMS320C30-
based EVM DSP Board • Digital Filter Design with the TMS320C50
Starter Kit • Using the TI TMS320C30 EVM • Programmable Digital Delay Effects Processor
using the TI TMS320C30 EVM
• Digital Signal Processor: A PID Controller System Design
• Digital Filter Design and Signal Analysis on the Motorola Application Development System
• Software Development with DaDisp for Digital Signal Processing Implementation
• Common Digital Signal Processing Algorithms in C/C++
• Audio Effects Processor with the Texas Instruments TMS320C30 Evaluation Module
• Configuring the Texas Instruments TLC32044 • Analog Interface Controller • Digital PID Controller on the EVM • FIR/IIR Filter Design and Adaptive Filtering
using the EVM • Real-time Detection of Spread Spectrum
Signals • X Files
c) Speech and Music
• Computer Speech Recognition • A DSP System for the Analysis of
Instrumental Music • Pitch to MIDI Conversion using the TI
TMS320 C30 Evaluation Module • Speech Recognition sing the TI TMS320 C30
and EVM • Vowel Recognition with Beysian Classifier • Computer Speech Recognition and Linear
d) Image Processing
• Image Compression System: Design, Implementation, and Evaluation
• Image processing Structure for the EVM Application of Optical Systems and DSP to Improve Electronic Manufacturing Process
• Depth from Focusing Discussion and Conclusions
Learning takes place best when done within a real- life environment associated with motivation. When such an environment is not available or is costly, we resort to simulation. Classrooms are good examples of poor simulations for a real-world engineering learning environment. Laboratories and individual
projects are means to improve that simulated learning environment. In the DSP course, we attempt to improve students’ learning of the principles behind DSP by doing DSP. This is realizable because of the subject matter, abundance of real-life topics, and availability of tools. The wide range of projects and their extent provides a good match between the student’s resources and his/her project. The low prices of general purpose high-speed personal computers and DSP boards (so-called “starter kits”) make it possible for students to implement many DSP projects in real-time and observe the results themselves. This feature is very desirable, as it greatly increases students’ interest and captures their attention. It also captures the attention and interest of employers. Students’ ability to program a PC or a DSP board for real-time DSP, is a very desirable qualification for industry-level work. A DSP course and laboratory that integrates theory and lab experiments with projects, appears to be a better approach to learning and teaching DSP than one which is mostly focused on classroom theory. In this approach, projects play a role equal to those given to theory and experiments.
 Nahvi, M., “EE 419/459 Lab Manual,” EE Department, Cal Poly, San Luis Obispo, 1999.
 Nahvi, M., “Lecture and Course Notes on Digital Signal Processing,” 1999.
 Nahvi, M., “Integration of DSP Theory, Experiments, and Design: Report of a 7-Year Experience with an Undergraduate Course,” Session 2632, 1999 ASEE Annual Conference, Charlotte NC. June 20-23 1999.
 Nahvi, M., “DSP Does It,” Paper 1526 PS/18, 1998 ASEE Annual Conference, Seattle Washington, June 1998.
 Nahvi, M., “Transfer of State-of-the-Art DSP Technology to Undergraduate Electrical and Computer Engineering Education: Attractions, Promises and Pitfalls,” presented at “Technology 2006: The Seventh National Technology Transfer Conference and Exposition,” October 29-31, 1996, Anaheim, California.
 Nahvi, M., “Design-Oriented DSP Courseware: Hardware, Software, and Simulation,” IEEE Signal Processing Magazine, Special Issue on
DSP Education, pp. 30-35, Vol.9, No.4,
October 1992.  Webster’s New Twentieth Century Unabridged
Dictionary, second edition.  Nahvi, M., Reed, C., Guerrera, E., “Learning
and Teaching Digital Signal Processing by Doing Digitalk Signal Processing: An Undergraduate Experience,” Paper presented at the Third Annual TMS320 Educators Conference, August 11-13, 1993, Texas Instruments, Houston, Texas.
 Nahvi, M., Parada, L.E., “A Dazzling Undergraduate Experience: Design and Construction of a Data Acquisition and Processing Board,” Proceedings of the Second AnnualTMS320 Educators’Conference, August 5-7, 1992, Texas Instruments, Houston, Texas.
 Nahvi, M., Leung, T.S., “Learning Through Synthesis and Design: An Example in Digital Signal Processing Education,” Proceedings of TMS320 Educators Conference July 31- August 2, 1991, Texas Instruments, Houston, T exas.
 T exas Instruments, “Digital Signal Processing Applications with the TMS320 Family,” 3 Volumes, 1992.
 Ho, R., and Yick, K., “Real -Time Signal Processing and Recognition by PC,” EE 419/459 Project, EE Department, Cal Poly, June 1998.
 Karasoff, M., “Voice I.D. System," Senior Project, EE Department, Cal Poly, June, 1999.
The development of the DSP lab was supported in part by the National Science Foundation (grant number DUE/ILI-9550903) and also through the Synthesis Coalition (grant numbers EEC-9625456 and SA1450-21850-NM) and by Cal Poly State University. Donations of DSP boards and chips by Texas Instruments, PC workstations and measurement equipment by Hewlett Packard, and PCs by Intel are acknowledged. DSP Development Corporation donated the full licensed version of DaDisp software to the lab. I would like to thank my colleagues and the students involved in the development of the lab and experiments for their help during the course of the project.
Mahmood Nahvi may be reached at:
Electrical Engineering Department California Polytechnic State University San Luis Obispo, CA 93407 Phone: (805) 756-2308 Fax: (805) 756-1458 email: firstname.lastname@example.org homepage: http://www.ee.calpoly.edu/~mnahvi