EE445S Real-Time Digital Signal Processing Laboratory - Overview

Prof. Brian L. Evans

This undergraduate course provides theory, design and practical insights into waveform generation and filtering, system training and calibration, and communication transmission and reception. Other applications include audio, biomedical and image processing. This course emphasizes tradeoffs in signal quality vs. implementation complexity in algorithm design, and is accessible by first-semester third-year undergraduates.

In the course, students use signal processing theory to derive signal processing algorithms, convert signal processing algorithms to desktop simulations in Matlab, and map the algorithms onto embedded real-time software in C running on a Texas Instruments digital signal processor board. Students test their embedded implementations using rack equipment and Texas Instruments Code Composer Studio software.

This undergraduate course 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 mobile phone.

Traditionally, users do not directly interact with the embedded systems in a product. For example, a smart phone contains several embedded systems, including processors, memory systems, and input/output systems, but the user interacts with the smart phone through the touchscreen, voice commands or gestures. Many Apps interact with the embedded systems on the smart phone, and there is also separate embedded software (firmware) in each embedded system. As another example, a PC contains several embedded digital systems, including the disk drive, 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. Here are the units shipped worldwide in 2016 for several consumer electronics products and products with consumer electronics products inside:

In 2014, 1.2B smart phones were sold. It was the first year that more than 1B smart phones were sold.

High-end cars now have more than 150 embedded processors in them. More than 2.5B 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. Texas Instruments (Dallas, TX) and NXP (Austin, TX) are market leaders in the embedded programmable microcontroller market, esp. for the automotive sector. Texas Instruments and NXP design their microcontrollers and digital signal processors in Texas. Qualcomm designs their Snapdragon processors in Austin, Texas, among other places. Cirrus Logic designs their audio data converter and audio digital signal processor chipsets for the iPhone in Austin. 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, cellular 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, as used in cellular LTE communications and Wi-Fi systems. 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).


Last updated 01/05/18. Send comments to (Mailbox)