Bibliographic record and links to related information available from the Library of Congress catalog

Information from electronic data provided by the publisher. May be incomplete or contain other coding.

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.

Library of Congress subject headings for this publication:

Signal processing -- Digital techniques.

Texas Instruments TMS320 series microprocessors -- Programming.