Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd EditionISBN: 9780470138663
608 pages
April 2008, WileyIEEE Press

The first edition of Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK is widely accepted as the most extensive text available on the handson teaching of Digital Signal Processing (DSP). Now, it has been fully updated in this valuable Second Edition to be compatible with the latest version (3.1) of Texas Instruments Code Composer Studio (CCS) development environment. Maintaining the original's comprehensive, handson approach that has made it an instructor's favorite, this new edition also features:

Added program examples that illustrate DSP concepts in realtime and in the laboratory

Expanded coverage of analog input and output

New material on framebased processing

A revised chapter on IIR, which includes a number of floatingpoint example programs that explore IIR filters more comprehensively

More extensive coverage of DSP/BIOS

All programs listed in the text—plus additional applications—which are available on a companion CDROM
No other book provides such an extensive or comprehensive set of program examples to aid instructors in teaching DSP in a laboratory using audio frequency signals—making this an ideal text for DSP courses at the senior undergraduate and postgraduate levels. It also serves as a valuable resource for researchers, DSP developers, business managers, and technology solution providers who are looking for an overview and examples of DSP algorithms implemented using the TMS320C6713 and TMS320C6416 DSK.
Preface.
List of Examples.
Programs/Files on Accompanying CD.
1. DSP Development System.
1.1 Introduction.
1.2 DSK SUPPORT TOOLS.
1.2.1 C6713 and C6416 DSK Boards.
1.2.2 TMS320C6713 Digital Signal Processor.
1.2.3 TMS320C6416 Digital Signal Processor.
1.3 CODE COMPOSER STUDIO.
1.3.1 CCS version 3.1 Installation and Support.
1.3.2 Installation of Files Supplied with this Book.
1.3.3 File Types.
1.4 QUICK TESTS OF THE DSK (on power on and using CCS).
1.5 PROGRAMMING EXAMPLES TO TEST THE DSK TOOLS.
1.6 SUPPORT FILES.
1.6.1 Initialization/Communication File (c6713dskinit.c).
1.6.2 Header file (c6713dskinit.h).
1.6.3 Vector Files (vectors_intr.asm, vectors_poll.asm).
1.6.4 Linker Command File (c6713dsk.cmd).
1.7 ASSIGNMENTS.
REFERENCES.
2. Input and Output with the DSK.
2.1 INTRODUCTION.
2.2 TLV320AIC23 (AIC23) ONBOARD STEREO CODEC FOR INPUT AND OUTPUT.
2.3 PROGRAMMING EXAMPLES USING C CODE.
2.4 ASSIGNMENTS.
REFERENCES.
3. Architecture and Instruction Set of the C6x Processor.
3.1 Introduction.
3.2 TMS320C6x Architecture.
3.3 Functional Units.
3.4 Fetch and Execute Packets.
3.5 Pipelining.
3.6 Registers.
3.7 Linear and Circular Addressing Modes.
3.7.1 Indirect Addressing.
3.7.2 Circular Addressing.
3.8 TMS320C6x Instruction Set.
3.8.1 Assembly Code Format.
3.8.2 Types of Instructions.
3.9 Assembler Directives.
3.10 Linear Assembly.
3.11 ASM Statement within C.
3.12 CCallable Assembly Function.
3.13 Timers.
3.14 Interrupts.
3.14.1 Interrupt Control Registers.
3.14.2 Interrupt Acknowledgment.
3.15 Multichannel Buffered Serial Ports.
3.16 Direct Memory Access.
3.17 Memory Considerations.
3.17.1 Data Allocation.
3.17.2 Data Alignment.
3.17.3 Pragma Directives.
3.17.4 Memory Models.
3.18 Fixed and FloatingPoint Format.
3.18.1 Data Types.
3.18.2 FloatingPoint Format.
3.18.3 Division.
3.19 Code Improvement.
3.19.1 Intrinsics.
3.19.2 Trip Directive for Loop Count.
3.19.3 CrossPaths.
3.19.4 Software Pipelining.
3.20 Constraints.
3.20.1 Memory Constraints.
3.20.2 CrossPath Constraints.
3.20.3 Load/Store Constraints.
3.20.4 Pipelining Effects with More Than One EP within an FP.
3.21 Programming Examples Using C, Assembly, and Linear Assembly.
3.22 Assignments.
References.
4. Finite Impulse Response Filters.
4.1 Introduction to the zTransform.
4.1.1 Mapping from sPlane to zPlane.
4.1.2 Difference Equations.
4.2 Discrete Signals.
4.3 FIR Filters.
4.4 FIR Lattice Structure.
4.5 FIR Implementation Using Fourier Series.
4.6 Window Functions.
4.6.1 Hamming Window.
4.6.2 Hanning Window.
4.6.3 Blackman Window.
4.6.4 Kaiser Window.
4.6.5 ComputerAided Approximation.
4.7 Programming Examples Using C and ASM Code.
4.8 Assignments.
References.
5. Infinite Impulse Response Filters.
5.1 INTRODUCTION.
5.2 IIR FILTER STRUCTURES.
5.2.1 Direct Form I Structure.
5.2.2 Direct Form II Structure.
5.2.3 Direct Form II Transpose.
5.2.4 Cascade Structure.
5.2.5 Parallel Form Structure.
5.3 BILINEAR TRANSFORMATION.
5.3.1 BLT Design Procedure.
5.4 PROGRAMMING EXAMPLES USING C AND ASM CODE.
5.5 Assignments.
REFERENCES.
6. Fast Fourier Transform.
6.1 Introduction.
6.2 Development of the FFT Algorithm with Radix2.
6.3 DecimationinFrequency FFT Algorithm with Radix2.
6.4 DecimationinTime FFT Algorithm with Radix2.
6.5 Bit Reversal for Unscrambling.
6.6 Development of the FFT Algorithm with Radix4.
6.7 Inverse Fast Fourier Transform.
6.8 Programming Examples.
6.8.1 FRAMEBASED PROCESSING.
6.8.2 Fast Convolution.
References.
7. Adaptive Filters.
7.1 Introduction.
7.2 Adaptive Structures.
7.3 Adaptive Linear Combiner.
7.4 Performance Function.
7.5 Searching for the Minimum.
7.6 Programming Examples for Noise Cancellation and System Identification.
References.
8. Code Optimization.
8.1 Introduction.
8.2 Optimization Steps.
8.2.1 Compiler Options.
8.2.2 Intrinsic C Functions.
8.3 Procedure for Code Optimization.
8.4 Programming Examples Using Code Optimization Techniques.
8.5 Software Pipelining for Code Optimization.
8.5.1 Procedure for HandCoded Software Pipelining.
8.5.2 Dependency Graph.
8.5.3 Scheduling Table.
8.6 Execution Cycles for Different Optimization Schemes.
References.
9. DSP/BIOS and RTDX Using MATLAB, Visual C++, Visual Basic, and LabView.
9.1 INTRODUCTION TO DSP/BIOS.
9.1.1 Periodic Functions.
9.1.2 Hardware Interrupts.
9.1.3 RealTime Analysis with DSP/BIOS.
9.1.4 Software Interrupts.
9.2 RTDX Using MATLAB to Provide Interface Between PC and DSK.
9.3 RTDX Using Visual C++ to Interface with DSK.
9.4 RTDX Using Visual Basic to Provide Interface Between PC and DSK.
9.5 RTDX Using LabVIEW to Provide Interface Between PC and DSK.
Acknowledgments.
References.
10. DSP Applications and Student Projects.
10.1 DTMF Detection Using Correlation, FFT, and Goertzel Algorithm.
10.1.1 Using a Correlation Scheme and Onboard LEDs for Verifying Detection.
10.1.2 Using RTDX with Visual C++ to Display Detected DTMF Signals on the PC.
10.1.3 Using FFT and Onboard LEDs for Verifying Detection.
10.1.4 Using Goertzel Algorithm.
10.2 Beat Detection Using Onboard LEDs.
10.3 FIR with RTDX Using Visual C++ for Transfer of Filter Coefficients.
10.4 Radix4 FFT with RTDX Using Visual C++ and MATLAB for Plotting.
10.5 Spectrum Display Through EMIF Using a Bank of 32 LEDs.
10.6 Spectrum Display Through EMIF Using LCDs.
10.7 TimeFrequency Analysis of Signals with Spectrogram.
10.7.1 Simulation Using MATLAB.
10.7.2 Spectrogram with RTDX Using MATLAB.
10.7.3 Spectrogram with RTDX Using Visual C++.
10.8 Audio Effects (Echo and Reverb, Harmonics, and Distortion).
10.9 Voice Detection and Reverse Playback.
10.10 Phase Shift KeyingBPSK Encoding and Decoding with PLL.
10.10.1 BPSK SingleBoard Transmitter/Receiver Simulation.
10.10.2 BPSK Transmitter/Voice Encoder with RealTime Input.
10.10.3 PhaseLocked Loop.
10.10.4 BPSK Transmitter and Receiver with PLL.
10.11 Binary Phase Shift Keying.
10.12 Modulation SchemesPAM and PSK.
10.12.1 Pulse Amplitude Modulation.
10.12.2 PhaseShift Keying.
10.13 Selectable IIR Filter and Scrambling Scheme Using Onboard Switches.
10.14 Convolutional Encoding and Viterbi Decoding.
10.15 Speech Synthesis Using Linear Prediction of Speech Signals.
10.16 Automatic Speaker Recognition.
10.17 mLaw for Speech Companding.
10.18 SBADPCM Encoder/Decoder: Implementation of G.722 Audio Coding.
10.19 Encryption Using the Data Encryption Standard Algorithm.
10.20 PhaseLocked Loop.
10.21 Miscellaneous Projects.
10.21.1 Multirate Filter.
10.21.2 Acoustic Direction Tracker.
10.21.3 Neural Network for Signal Recognition.
10.21.4 Adaptive Temporal Attenuator.
10.21.5 FSK Modem.
10.21.6 Image Processing.
10.21.7 Filter Design and Implementation Using a Modified Prony’s Method .
10.21.8 PID Controller.
10.21.9 FourChannel Multiplexer for Fast Data Acquisition.
10.21.10 Video Line Rate Analysis.
Acknowledgments.
References.
Appendix A: TMS320C6x Instruction Set.
A.1 Instructions for Fixed and FloatingPoint Operations.
A.2 Instructions for FloatingPoint Operations.
References.
Appendix B: Registers for Circular Addressing and Interrupts.
References.
.
Appendix C: FixedPoint Considerations.
C.1 Binary and Two?sComplement Representation.
C.2 Fractional FixedPoint Representation.
C.3 Multiplication.
References.
Appendix D: MATLAB and Goldwave Support Tools.
D.1 fdatool for FIR Filter Design.
D.2 fdatool for IIR Filter Design.
D.3 MATLAB for FIR Filter Design using the Student Version.
D.4 MATLAB for IIR Filter Design using the Student Version.
D.5 Using the Goldwave Shareware Utility as a Virtual Instrument.
References.
Appendix E: Fast Hartley Transform.
References.
Appendix F: Goertzel Algorithm.
F.1 Design Considerations.
References.
Appendix G: TMS320C6416 DSK.
G.1 TMS320C64x Processor.
G.2 Programming Examples Using the C6416 DSK.
References.
Index.
Donald Reay, PhD, is a Lecturer in the School of Engineering and Physical Sciences at HeriotWatt University in Edinburgh, Scotland.