Wiley-IEEE Press

Home Home About Wiley-IEEE Press Contact Us
Print this page Share

Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd Edition

ISBN: 978-0-470-13866-3
608 pages
April 2008, Wiley-IEEE Press
Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd Edition (0470138661) cover image
Now in a new edition—the most comprehensive, hands-on introduction to digital signal processing

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 hands-on 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, hands-on approach that has made it an instructor's favorite, this new edition also features:

  • Added program examples that illustrate DSP concepts in real-time and in the laboratory

  • Expanded coverage of analog input and output

  • New material on frame-based processing

  • A revised chapter on IIR, which includes a number of floating-point 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 CD-ROM

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.

See More
Preface to second edition.

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 C-Callable 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 Floating-Point Format.

3.18.1 Data Types.

3.18.2 Floating-Point Format.

3.18.3 Division.

3.19 Code Improvement.

3.19.1 Intrinsics.

3.19.2 Trip Directive for Loop Count.

3.19.3 Cross-Paths.

3.19.4 Software Pipelining.

3.20 Constraints.

3.20.1 Memory Constraints.

3.20.2 Cross-Path 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 z-Transform.

4.1.1 Mapping from s-Plane to z-Plane.

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 Computer-Aided 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 Radix-2.

6.3 Decimation-in-Frequency FFT Algorithm with Radix-2.

6.4 Decimation-in-Time FFT Algorithm with Radix-2.

6.5 Bit Reversal for Unscrambling.

6.6 Development of the FFT Algorithm with Radix-4.

6.7 Inverse Fast Fourier Transform.

6.8 Programming Examples.

6.8.1 FRAME-BASED 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 Hand-Coded 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 Real-Time 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 Radix-4 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 Time-Frequency 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 Keying--BPSK Encoding and Decoding with PLL.

10.10.1 BPSK Single-Board Transmitter/Receiver Simulation.

10.10.2 BPSK Transmitter/Voice Encoder with Real-Time Input.

10.10.3 Phase-Locked Loop.

10.10.4 BPSK Transmitter and Receiver with PLL.

10.11 Binary Phase Shift Keying.

10.12 Modulation Schemes--PAM and PSK.

10.12.1 Pulse Amplitude Modulation.

10.12.2 Phase-Shift 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 m-Law for Speech Companding.

10.18 SB-ADPCM Encoder/Decoder: Implementation of G.722 Audio Coding.

10.19 Encryption Using the Data Encryption Standard Algorithm.

10.20 Phase-Locked 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 Four-Channel 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 Floating-Point Operations.

A.2 Instructions for Floating-Point Operations.

References.

Appendix B: Registers for Circular Addressing and Interrupts.

References.

.

Appendix C: Fixed-Point Considerations.

C.1 Binary and Two?s-Complement Representation.

C.2 Fractional Fixed-Point 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.

See More
The late Rulph Chassaing, PhD, taught Real-Time DSP at Worcester Polytechnic Institute. In addition to offering many DSP training workshops and seminars, he authored four other books: DSP Applications Using C and the TMS320C6x DSK; Digital Signal Processing: Laboratory Experiments Using C and the TMS320C31 DSK; Digital Signal Processing with C and the TMS320C30; and Digital Signal Processing with C and the TMS320C25, all published by Wiley.

Donald Reay, PhD, is a Lecturer in the School of Engineering and Physical Sciences at Heriot-Watt University in Edinburgh, Scotland.

See More
"While there are numerous texts on DSP, this one is very useful due to the succinct style of presentation and the inclusion of many illustrative programming examples and student projects. The typesetting and layout are praiseworthy, and the coverage of topics is laudable." (Computing Reviews, October 1, 2008)
See More
Instructors Resources
Wiley Instructor Companion Site
See More
See Less

Related Titles