From personal music players to anti-lock brakes and advanced digital flight controllers, the demand for real-time digital signal processing (DSP) continues to grow. Mastering real-time DSP is one of the most challenging and time-consuming pursuits in the field, exacerbated by the lack of a resource that solidly bridges the gap between theory and practice. Recognizing that there is a better way forward, accomplished experts Welch, Wright, and Morrow offer Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSK. This book collects all of the necessary tools in a single, field-tested source of unrivaled authority. The authors seamlessly integrate theory with easy-to-use, inexpensive hardware and software tools in an approachable and hands-on manner. Using abundant examples and exercises in a step-by-step approach, they work from familiar interfaces such as MATLAB(R) to running algorithms in real-time on industry-standard DSP hardware.
For each concept, the book uses a four-step methodology: a brief review of relevant theory; demonstration of the concept in winDSK6, an easy-to-use software tool; explanation and demonstration of MATLAB techniques for implementation; and explanation of the necessary C code to implement the algorithms in real time. Covering a broad spectrum of topics in a hands-on, concise, and approachable way, Real-Time Digital Signal Processing from MATLAB to C with the TMS320C6x DSK paves the way toward mastery of real-time DSP. Essential source code is available for download.
Table of Contents:
Section I: Enduring Fundamentals
Introduction and Organization
Why Do You Need This Book?
Real-Time DSP
How to Use This Book
Get Started
Sampling and Reconstruction
Theory
winDSK Demonstration
Talk-Through Using Windows
Talk-Through Using MATLAB and Windows
DSK Implementation in C
FIR Digital Filters
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
IIR Digital Filters
Theory
winDSK Demonstration: Notch Filter Application
MATLAB Implementation
DSK Implementation in C
Periodic Signal Generation
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Pseudonoise Sequences
Frame-Based DSP
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Summary of Frame-Based Processing
Digital Filters Using Frames
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
The Fast Fourier Transform
Theory
winDSK Demonstration
MATLAB Implementation
Implementation in C
Spectral Analysis and Windowing
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Conclusion
Section II: Projects
Project 1: Guitar Special Effects
Introduction to Projects
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 2: Graphic Equalizer
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 3: Peak Program Meter
Theory
winDSK Demonstration: commDSK
MATLAB Implementation
DSK Implementation in C
Project 4: AM Transmitters
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 5: AM Receivers
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 6: Phase-Locked Loop
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 7: BPSK Digital Transmitters
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 8: BPSK Digital Receivers
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Project 9: MPSK and QAM Digital Transmitters
Theory
winDSK Demonstration
MATLAB Implementation
DSK Implementation in C
Higher-Order Modulation Schemes
Project 10: QPSK Digital Receivers
Theory
winDSK8 Demonstration
MATLAB Implementation
DSK Implementation in C
Follow-On Challenges
Section III: Appendices
Code Composer Studio: An Overview
Introduction
Starting Code Composer Studio
Conclusion
DSP/BIOS
Introduction
DSP/BIOS Sample Projects
Numeric Representations
Endianness
Integer Representations
Integer Division and Rounding
Floating-Point Representations
Fixed-Point Representations
Summary of Numeric Representations
TMS320C6x Architecture
Computer Architecture Basics
TMS320C671x Architecture
TMS320C674x Architecture
Related Tools for DSKs
Introduction
Windows Control Applications
MATLAB Exports
MATLAB Real-Time Interface
Programming Perils and Pitfalls
Debug versus Release Builds
The Volatile Keyword
Function Prototypes and Return Types
Arithmetic Issues
Controlling the Location of Variables in Memory
Real-Time Schedule Failures
Variable Initialization
Integer Data Sizes
Abbreviations, Acronyms, and Symbols
References
Index
Review :
This book has taken a bold step forward. It not only presents the theory, it reinforces it with simulations, and then it shows us how to actually use the results in real-time applications. This last step is not a trivial step, and that is why so many books and courses present only theory and simulations. With the combined expertise of the three authors … the reader can step into the real-time world of applications with a text that presents an accessible path.
—From the Foreword by Delores M. Etter, Texas Instruments Distinguished Chair in Electrical Engineering and Executive Director, Caruth Institute for Engineering Education, Southern Methodist University, Dallas, Texas, USA