| |
| |
Preface | |
| |
| |
List of Examples | |
| |
| |
Programs/Files on Accompanying CD | |
| |
| |
| |
DSP Development System | |
| |
| |
| |
Introduction | |
| |
| |
| |
DSK Support Tools | |
| |
| |
| |
DSK Board | |
| |
| |
| |
TMS320C6713 Digital Signal Processor | |
| |
| |
| |
Code Composer Studio | |
| |
| |
| |
CCS Installation and Support | |
| |
| |
| |
Useful Types of Files | |
| |
| |
| |
Quick Test of DSK | |
| |
| |
| |
Support Files | |
| |
| |
| |
Programming Examples to Test the DSK Tools | |
| |
| |
| |
Support Programs/Files Considerations | |
| |
| |
| |
Initialization/Communication File | |
| |
| |
| |
Vector File | |
| |
| |
| |
Linker Command File | |
| |
| |
| |
Compiler/Assembler/Linker Shell | |
| |
| |
| |
Compiler | |
| |
| |
| |
Assembler | |
| |
| |
| |
Linker | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Input and Output with the DSK | |
| |
| |
| |
Introduction | |
| |
| |
| |
TLV320AIC23 (AIC23) Onboard Stereo Codec for Input and Output | |
| |
| |
| |
Programming Examples Using C Code | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Architecture and Instruction Set of the C6x Processor | |
| |
| |
| |
Introduction | |
| |
| |
| |
TMS320C6x Architecture | |
| |
| |
| |
Functional Units | |
| |
| |
| |
Fetch and Execute Packets | |
| |
| |
| |
Pipelining | |
| |
| |
| |
Registers | |
| |
| |
| |
Linear and Circular Addressing Modes | |
| |
| |
| |
Indirect Addressing | |
| |
| |
| |
Circular Addressing | |
| |
| |
| |
TMS320C6x Instruction Set | |
| |
| |
| |
Assembly Code Format | |
| |
| |
| |
Types of Instructions | |
| |
| |
| |
Assembler Directives | |
| |
| |
| |
Linear Assembly | |
| |
| |
| |
ASM Statement within C | |
| |
| |
| |
C-Callable Assembly Function | |
| |
| |
| |
Timers | |
| |
| |
| |
Interrupts | |
| |
| |
| |
Interrupt Control Registers | |
| |
| |
| |
Interrupt Acknowledgment | |
| |
| |
| |
Multichannel Buffered Serial Ports | |
| |
| |
| |
Direct Memory Access | |
| |
| |
| |
Memory Considerations | |
| |
| |
| |
Data Allocation | |
| |
| |
| |
Data Alignment | |
| |
| |
| |
Pragma Directives | |
| |
| |
| |
Memory Models | |
| |
| |
| |
Fixed- and Floating-Point Format | |
| |
| |
| |
Data Types | |
| |
| |
| |
Floating-Point Format | |
| |
| |
| |
Division | |
| |
| |
| |
Code Improvement | |
| |
| |
| |
Intrinsics | |
| |
| |
| |
Trip Directive for Loop Count | |
| |
| |
| |
Cross-Paths | |
| |
| |
| |
Software Pipelining | |
| |
| |
| |
Constraints | |
| |
| |
| |
Memory Constraints | |
| |
| |
| |
Cross-Path Constraints | |
| |
| |
| |
Load/Store Constraints | |
| |
| |
| |
Pipelining Effects with More Than One EP within an FP | |
| |
| |
| |
Programming Examples Using C, Assembly, and Linear Assembly | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Finite Impulse Response Filters | |
| |
| |
| |
Introduction to the z-Transform | |
| |
| |
| |
Mapping from s-Plane to z-Plane | |
| |
| |
| |
Difference Equations | |
| |
| |
| |
Discrete Signals | |
| |
| |
| |
FIR Filters | |
| |
| |
| |
FIR Lattice Structure | |
| |
| |
| |
FIR Implementation Using Fourier Series | |
| |
| |
| |
Window Functions | |
| |
| |
| |
Hamming Window | |
| |
| |
| |
Hanning Window | |
| |
| |
| |
Blackman Window | |
| |
| |
| |
Kaiser Window | |
| |
| |
| |
Computer-Aided Approximation | |
| |
| |
| |
Programming Examples Using C and ASM Code | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Infinite Impulse Response Filters | |
| |
| |
| |
Introduction | |
| |
| |
| |
IIR Filter Structures | |
| |
| |
| |
Direct Form I Structure | |
| |
| |
| |
Direct Form II Structure | |
| |
| |
| |
Direct Form II Transpose | |
| |
| |
| |
Cascade Structure | |
| |
| |
| |
Parallel Form Structure | |
| |
| |
| |
Lattice Structure | |
| |
| |
| |
Bilinear Transformation | |
| |
| |
| |
BLT Design Procedure | |
| |
| |
| |
Programming Examples Using C and ASM Code | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Fast Fourier Transform | |
| |
| |
| |
Introduction | |
| |
| |
| |
Development of the FFT Algorithm with Radix-2 | |
| |
| |
| |
Decimation-in-Frequency FFT Algorithm with Radix-2 | |
| |
| |
| |
Decimation-in-Time FFT Algorithm with Radix-2 | |
| |
| |
| |
Bit Reversal for Unscrambling | |
| |
| |
| |
Development of the FFT Algorithm with Radix-4 | |
| |
| |
| |
Inverse Fast Fourier Transform | |
| |
| |
| |
Programming Examples | |
| |
| |
| |
Fast Convolution | |
| |
| |
| |
Assignments | |
| |
| |
References | |
| |
| |
| |
Adaptive Filters | |
| |
| |
| |
Introduction | |
| |
| |
| |
Adaptive Structures | |
| |
| |
| |
Adaptive Linear Combiner | |
| |
| |
| |
Performance Function | |
| |
| |
| |
Searching for the Minimum | |
| |
| |
| |
Programming Examples for Noise Cancellation and System Identification | |
| |
| |
References | |
| |
| |
| |
Code Optimization | |
| |
| |
| |
Introduction | |
| |
| |
| |
Optimization Steps | |
| |
| |
| |
Compiler Options | |
| |
| |
| |
Intrinsic C Functions | |
| |
| |
| |
Procedure for Code Optimization | |
| |
| |
| |
Programming Examples Using Code Optimization Techniques | |
| |
| |
| |
Software Pipelining for Code Optimization | |
| |
| |
| |
Procedure for Hand-Coded Software Pipelining | |
| |
| |
| |
Dependency Graph | |
| |
| |
| |
Scheduling Table | |
| |
| |
| |
Execution Cycles for Different Optimization Schemes | |
| |
| |
References | |
| |
| |
| |
DSP/BIOS and RTDX Using MATLAB, Visual C++, Visual Basic, and LabVIEW | |
| |
| |
| |
Introduction to DSP/BIOS | |
| |
| |
| |
RTDX Using MATLAB to Provide Interface Between PC and DSK | |
| |
| |
| |
RTDX Using Visual C++ to Interface with DSK | |
| |
| |
| |
RTDX Using Visual Basic to Provide Interface Between PC and DSK | |
| |
| |
| |
RTDX Using LabVIEW to Provide Interface Between PC and DSK | |
| |
| |
Acknowledgments | |
| |
| |
References | |
| |
| |
| |
DSP Applications and Student Projects | |
| |
| |
| |
DTMF Detection Using Correlation, FFT, and Goertzel Algorithm | |
| |
| |
| |
Using a Correlation Scheme and Onboard LEDs for Verifying Detection | |
| |
| |
| |
Using RTDX with Visual C++ to Display Detected DTMF Signals on the PC | |
| |
| |
| |
Using FFT and Onboard LEDs for Verifying Detection | |
| |
| |
| |
Using Goertzel Algorithm | |
| |
| |
| |
Beat Detection Using Onboard LEDs | |
| |
| |
| |
FIR with RTDX Using Visual C++ for Transfer of Filter Coefficients | |
| |
| |
| |
Radix-4 FFT with Frequency Domain Filtering | |
| |
| |
| |
Radix-4 FFT with RTDX Using Visual C++ and MATLAB for Plotting | |
| |
| |
| |
Spectrum Display Through EMIF Using a Bank of 32 LEDs | |
| |
| |
| |
Spectrum Display Through EMIF Using LCDs | |
| |
| |
| |
Time-Frequency Analysis of Signals with Spectrogram | |
| |
| |
| |
Simulation Using MATLAB | |
| |
| |
| |
Spectrogram with RTDX Using MATLAB | |
| |
| |
| |
Spectrogram with RTDX Using Visual C++ | |
| |
| |
| |
Audio Effects (Echo and Reverb, Harmonics, and Distortion) | |
| |
| |
| |
Voice Detection and Reverse Playback | |
| |
| |
| |
Phase Shift Keying-BPSK Encoding and Decoding with PLL | |
| |
| |
| |
BPSK Single-Board Transmitter/Receiver Simulation | |
| |
| |
| |
BPSK Transmitter/Voice Encoder with Real-Time Input | |
| |
| |
| |
Phase-Locked Loop | |
| |
| |
| |
BPSK Transmitter and Receiver with PLL | |
| |
| |
| |
Binary Phase Shift Keying | |
| |
| |
| |
Modulation Schemes-PAM and PSK | |
| |
| |
| |
Pulse Amplitude Modulation | |
| |
| |
| |
Phase-Shift Keying | |
| |
| |
| |
Selectable IIR Filter and Scrambling Scheme Using Onboard Switches | |
| |
| |
| |
Convolutional Encoding and Viterbi Decoding | |
| |
| |
| |
Speech Synthesis Using Linear Prediction of Speech Signals | |
| |
| |
| |
Automatic Speaker Recognition | |
| |
| |
| |
[mu]-Law for Speech Companding | |
| |
| |
| |
Voice Scrambler Using DMA and User Switches | |
| |
| |
| |
SB-ADPCM Encoder/Decoder: Implementation of G.722 Audio Coding | |
| |
| |
| |
Encryption Using the Data Encryption Standard Algorithm | |
| |
| |
| |
Phase-Locked Loop | |
| |
| |
| |
Miscellaneous Projects | |
| |
| |
| |
Multirate Filter | |
| |
| |
| |
Acoustic Direction Tracker | |
| |
| |
| |
Neural Network for Signal Recognition | |
| |
| |
| |
Adaptive Temporal Attenuator | |
| |
| |
| |
FSK Modem | |
| |
| |
| |
Image Processing | |
| |
| |
| |
Filter Design and Implementation Using a Modified Prony's Method | |
| |
| |
| |
PID Controller | |
| |
| |
| |
Four-Channel Multiplexer for Fast Data Acquisition | |
| |
| |
| |
Video Line Rate Analysis | |
| |
| |
Acknowledgments | |
| |
| |
References | |
| |
| |
| |
TMS320C6x Instruction Set | |
| |
| |
| |
Instructions for Fixed- and Floating-Point Operations | |
| |
| |
| |
Instructions for Floating-Point Operations | |
| |
| |
References | |
| |
| |
| |
Registers for Circular Addressing and Interrupts | |
| |
| |
Reference | |
| |
| |
| |
Fixed-Point Considerations | |
| |
| |
| |
Binary and Two's-Complement Representation | |
| |
| |
| |
Fractional Fixed-Point Representation | |
| |
| |
| |
Multiplication | |
| |
| |
Reference | |
| |
| |
| |
MATLAB Support Tools | |
| |
| |
| |
SPTool and FDATool for FIR Filter Design | |
| |
| |
| |
SPTool and FDATool for IIR Filter Design | |
| |
| |
| |
MATLAB for FIR Filter Design Using the Student Version | |
| |
| |
| |
MATLAB for IIR Filter Design Using the Student Version | |
| |
| |
| |
BLT Using MATLAB and Support Programs on CD | |
| |
| |
| |
FFT and IFFT | |
| |
| |
References | |
| |
| |
| |
Additional Support Tools | |
| |
| |
| |
Goldwave Shareware Utility as a Virtual Instrument | |
| |
| |
| |
Filter Design Using DigiFilter | |
| |
| |
| |
FIR Filter Design | |
| |
| |
| |
IIR Filter Design | |
| |
| |
| |
FIR Filter Design Using a Filter Development Package | |
| |
| |
| |
Kaiser Window | |
| |
| |
| |
Hamming Window | |
| |
| |
| |
Visual Application Builder and LabVIEW | |
| |
| |
| |
Alternative Input/Output | |
| |
| |
References | |
| |
| |
| |
Fast Hartley Transform | |
| |
| |
References | |
| |
| |
| |
Goertzel Algorithm | |
| |
| |
| |
Design Considerations | |
| |
| |
References | |
| |
| |
| |
TMS320C6416 DSK | |
| |
| |
| |
TMS320C64x Processor | |
| |
| |
| |
Programming Examples Using the C6416 DSK | |
| |
| |
References | |
| |
| |
| |
TMS320C6711 DSK | |
| |
| |
Reference | |
| |
| |
Index | |