EE445S Real-Time Digital Signal Processing Laboratory - Overview

Prof. Brian L. Evans

This undergraduate elective is an introduction to the analysis, design, and implementation of embedded real-time digital signal processing systems. "Real-time" means guaranteed delivery of data by a certain time. "Embedded" means that the subsystem performs behind-the-scenes tasks within a larger system. These tasks are often tailored to an application, e.g. speech compression/decompression for a cell phone.

Traditionally, users do not directly interact with the embedded systems in a product. For example, a modern cell phone contains several embedded systems, including processors, memory systems, and input/output systems, but the user interacts with the cell phone through the touchscreen and/or voice commands. As another example, a PC contains several embedded digital systems, including the disk drive, CD/DVD player, video processor, and wireless LAN system. Embedded systems range from a system-on-chip to a board to a rack of computing engines to a distributed network of computing engines.

The application space for embedded systems includes control, communication, networking, signal processing, and instrumentation. High-volume products in units shipped worldwide in 2012 include

High-end cars now have more than 150 embedded processors in them. More than two billion products are sold each year with multiple embedded digital signal processing systems in them. In fact, there are more embedded programmable processors in the world than people.

Texas is a worldwide epicenter for microprocessors for control, signal processing, and communication systems. In 2007, Texas Instruments (Dallas, TX) and Freescale (Austin, TX) have 64% and 12%, respectively, of the $8B embedded programmable digital signal processor market. Their digital signal processors were developed, and are still being developed, in Texas. Near three-fourths of all digital signal processors are used in wireless systems for both cellular and data networks. Texas Instruments and Freescale are also market leaders in the embedded programmable microcontroller market, esp. for the automotive sector. In addition, Qualcomm and Cirrus Logic have developed several generations of programmable digital signal processors in Austin, Texas, for cell phones and audio systems, respectively. To boot, Austin is a worldwide leader in ARM-based digital VLSI design centers.

Through this undergraduate elective, I hope that students gain an intuitive feel for basic discrete-time signal processing concepts and how to translate these concepts into real-time software using digital signal processor technology. The course will review some of the mathematical foundations of the course material, but emphasize the qualitative concepts. The qualitative concepts are reinforced by hands-on laboratory work and homework assignments.

In the laboratory and lecture, the course will cover

In particular, we will discuss design tradeoffs between implementation complexity and signal quality/communication performance.

In the laboratory component, students implement transceiver subsystems in C on a Texas Instruments TMS320C6748 floating-point dual-core programmable digital signal processor. The C6000 family is used in DSL modems, wireless LAN modems, mobile wireless basestations, and video conferencing systems. For professional audio systems, the C6700 floating-point sub-family empowers guitar effects and intelligent mixing boards. Students test their implementations using rack equipment, Texas Instruments Code Composer Studio software, and National Instruments LabVIEW software. A voiceband transceiver reference design and simulation is available in LabVIEW.

In addition to learning about transceiver design in the lab and lecture, students will also learn in lecture about the design of modern analog-to-digital and digital-to-analog converters, which employ oversampling, filtering, and dithering to obtain high resolution. Whereas the voiceband modem is a single carrier system, lectures will also cover modern multicarrier modulation systems, esp. asymmetric digital subscriber line (ADSL) and wireless LAN systems. In particular, we discuss the data transmission subsystems in ADSL and wireless LAN transceivers. Last, we spend several lectures on digital signal processor architectures, esp. the architectural features adopted to accelerate digital signal processing algorithms.

For the lab component, I chose a floating-point DSP over a fixed-point DSP. The primary reason was to avoid overwhelming the students with the severe fixed-point precision effects so that the students could focus on the design and implementation of real-time digital communications systems. That said, floating-point DSPs are used in industry to prototype algorithms, e.g. to see if real-time performance can be met. If the prototype is successful, then it might be modified for low-volume applications or it might be mapped onto a fixed-point DSP for high-volume applications (where the engineering time for the mapping can potentially be recovered).

From Fall 1997 to Spring 2002, the course used the TMS320C3x family of floating-point DSPs. At that time, some companies were actively using this DSP family. For example, Southwestern Research Institute in San Antonio, TX, under contract from SAIC, built a VME card cage containing a single processor, military specification TMS320C30 for the infrared satellite imaging subsystem. As another example, Dr. Thomas P. Barnwell (Atlanta Signal Processors Inc., Atlanta, GA, now part of Polycom) prototyped a DirectTV decoder on a TI TMS320C31 floating-point DSP before it was implemented on a fixed-point processor.

A UT undergraduate ECE student who took the real-time DSP laboratory course in Fall 1999 and graduated in May of 2000 wrote the following about the course in August 2000:

"... keep that real-time DSP lab as good as it was when I took it. I have to say, that lab was the best class I took at UT. It is close enough to the cutting edge of technology that you can hold a conversation with someone from industry and actually contribute useful ideas. 345L is a close second. Good work."

A UT undergraduate BME student who took the real-time DSP laboratory course in Spring 2009 wrote the following about the course in June 2009:

"I wanted to thank you for teaching the EE 445S course this last spring semester (Spring 09). I got my summer internship based on my experience in the EE 445S lab and the whole course. I am told that [Company X] has never hired any Biomedical Engineering student before, but because of this course I got the opportunity to be the first BME student in this company."


Last updated 08/12/13. Send comments to (Mailbox)