The learning objectives for the Real-Time Digital Signal Processing Lab course are to
What changes across applications in how one measures the quality of the signal. When humans are the ultimate consumer of the information, speech and audio quality is about the perceived auditory quality. Likewise, image and video quality is about the perceived visual quality. When machine interpretation of the data is ultimate consumer, the signal quality relates to the accuracy and precision of the machine interpretation.
The second objective relates to the critical thinking via deductive reasoning in designing signal processing algorithms. Each algorithm can achieve a certain signal quality but at a certain implementation cost. For implementation cost, this course focuses on how fast the algorithm executes or runs on the input data to produce output data, which is called run-time complexity. For a given application, students would evaluate multiple algorithms to pick the one with the best tradeoff. This is a critical thinking exercise.
The second objective introduces students to the design and implementation of signal processing systems. This introduction will help them in the two-semester senior design sequence, for which the Real-Time Digital Signal Processing Lab course is one of seven lab course pre-requisites. The introduction will also help them in courses across several application spaces, including ECE 360K Digital Communications, ECE 371Q Digital Image Processing, and ECE 374K Biomedical Instrumentation, as well as courses in system design and implementation, such as ECE 445M Embedded and Real-Time Systems.
As shown below, students will use mathematical theory to model applications. From those models, they will design algorithms, simulate them in MATLAB, and map them to embedded software in C. They will quantify tradeoffs in signal quality vs. run-time complexity in the algorithms. Students will connect the application theory from their signals and systems course (ECE 313/BME 343) and the implementation skills from their courses in programming (ECE 312) and embedded systems (ECE 319K). After the 50% point in the semester, students will begin using concepts from probability (ECE 351K) to model thermal noise, quantization error, and other statistical phenomenon in applications.
The specific topics in this course follow:
In the lab and lecture, the course will cover
In the lab component, students implement transceiver subsystems in C on a STM32H735G Discovery Kit board which uses a floating-point ARM Cortex M7 processor. The ARM core is ubiquitious in embedded systems across a wide range of applications from cloud computing, GPUs, audio systems, automated driver assistance systems, and smart phones. In particular, floating-point processors are useful in professional audio systems, e.g. to empower guitar effects and intelligent mixing boards. Students test their implementations using the STMCubeIDE integrated development environment and rack equipment. Prior to Fall 2021, the lab was based on TI floating-point digital signal processors 1997-2020, and MATLAB simulation 2020-2021 due to the COVID-19 pandemic.
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).
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 the audio playback subsystem (audio data converter and audio digital signal processor chipsets) and microphone subsystems for the iPhone in Austin. Apple designs its application processors for the iPhone in Austin. To boot, Austin is a worldwide leader in ARM-based digital VLSI design centers.