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 xv
Preface to the First Edition xvii
List of Examples xxi
Programs/Files on Accompanying CD xxvii
1 DSP Development System 1
1.1 Introduction 1
1.2 DSK Support Tools 3
1.3 Code Composer Studio 6
1.4 Quick Tests of the DSK (On Power On and Using CCS) 7
1.5 Programming Examples to Test the DSK Tools 9
1.6 Support Files 30
1.7 Assignments 38
References 41
2 Input and Output with the DSK 45
2.1 Introduction 45
2.2 TLV320AIC23 (AIC23) Onboard Stereo Codec for Input and Output 46
2.3 Programming Examples Using C Code 48
2.4 Assignments 101
References 101
3 Architecture and Instruction Set of the C6x Processor 102
3.1 Introduction 102
3.2 TMS320C6x Architecture 104
3.3 Functional Units 105
3.4 Fetch and Execute Packets 106
3.5 Pipelining 108
3.6 Registers 110
3.7 Linear and Circular Addressing Modes 110
3.8 TMS320C6x Instruction Set 112
3.9 Assembler Directives 115
3.10 Linear Assembly 116
3.11 ASM Statement Within C 117
3.12 CCallable Assembly Function 117
3.13 Timers 118
3.14 Interrupts 118
3.15 Multichannel Buffered Serial Ports 121
3.16 Direct Memory Access 122
3.17 Memory Considerations 122
3.18 Fixed and FloatingPoint Format 124
3.19 Code Improvement 126
3.20 Constraints 128
3.21 Programming Examples Using C, Assembly, and Linear Assembly 130
3.22 Assignments 142
References 145
4 Finite Impulse Response Filters 146
4.1 Introduction to the zTransform 146
4.1.1 Mapping from sPlane to zPlane 149
4.1.2 Difference Equations 150
4.2 Discrete Signals 151
4.3 FIR Filters 152
4.4 FIR Lattice Structure 154
4.5 FIR Implementation Using Fourier Series 158
4.6 Window Functions 162
4.7 Programming Examples Using C and ASM Code 165
4.8 Assignments 207
References 207
5 Infinite Impulse Response Filters 210
5.1 Introduction 210
5.2 IIR Filter Structures 211
5.3 Bilinear Transformation 217
5.4 Programming Examples Using C and ASM Code 220
5.5 Assignments 252
References 253
6 Fast Fourier Transform 255
6.1 Introduction 255
6.2 Development of the FFT Algorithm with Radix2 256
6.3 DecimationinFrequency FFT Algorithm with Radix2 257
6.4 DecimationinTime FFT Algorithm with Radix2 263
6.5 Bit Reversal for Unscrambling 268
6.6 Development of the FFT Algorithm with Radix4 269
6.7 Inverse Fast Fourier Transform 272
6.8 Programming Examples 273
References 318
7 Adaptive Filters 319
7.1 Introduction 319
7.2 Adaptive Structures 321
7.3 Adaptive Linear Combiner 324
7.4 Performance Function 327
7.5 Searching for the Minimum 329
7.6 Programming Examples for Noise Cancellation and System Identification 332
References 352
8 Code Optimization 354
8.1 Introduction 354
8.2 Optimization Steps 355
8.3 Procedure for Code Optimization 356
8.4 Programming Examples Using Code Optimization Techniques 356
8.5 Software Pipelining for Code Optimization 363
8.6 Execution Cycles for Different Optimization Schemes 372
References 373
9 DSP/BIOS and RTDX Using MATLAB, Visual C++, Visual Basic, and LabVIEW 374
9.1 Introduction to DSP/BIOS 374
9.2 RTDX Using MATLAB to Provide Interface Between PC and DSK 386
9.3 RTDX Using Visual C++ to Interface with DSK 400
9.4 RTDX Using Visual Basic to Provide Interface Between PC and DSK 411
9.5 RTDX Using LabVIEW to Provide Interface Between PC and DSK 415
Acknowledgments 421
References 421
10 DSP Applications and Student Projects 422
10.1 DTMF Signal Detection Using Correlation, FFT, and Goertzel Algorithm 422
10.2 Beat Detection Using Onboard LEDs 429
10.3 FIR with RTDX Using Visual C++ for Transfer of Filter Coefficients 434
10.4 Radix4 FFT with RTDX Using Visual C++ and MATLAB for Plotting 435
10.5 Spectrum Display Through EMIF Using a Bank of 32 LEDs 438
10.6 Spectrum Display Through EMIF Using LCDs 440
10.7 Time–Frequency Analysis of Signals with Spectrogram 445
10.8 Audio Effects (Echo and Reverb, Harmonics, and Distortion) 451
10.9 Voice Detection and Reverse Playback 453
10.10 Phase Shift Keying—BPSK Encoding and Decoding with PLL 454
10.11 Binary Phase Shift Keying 468
10.12 Modulation Schemes—PAM and PSK 470
10.13 Selectable IIR Filter and Scrambling Scheme Using Onboard Switches 479
10.14 Convolutional Encoding and Viterbi Decoding 482
10.15 Speech Synthesis Using Linear Prediction of Speech Signals 493
10.16 Automatic Speaker Recognition 496
10.17 uLaw for Speech Companding 500
10.18 SBADPCM Encoder/Decoder: Implementation of G.722 Audio Coding 501
10.19 Encryption Using the Data Encryption Standard Algorithm 503
10.20 PhaseLocked Loop 506
10.21 Miscellaneous Projects 508
Acknowledgments 522
References 523
Appendix A TMS320C6x Instruction Set 528
A.1 Instructions for Fixed and FloatingPoint Operations 528
A.2 Instructions for FloatingPoint Operations 528
References 528
Appendix B Registers for Circular Addressing and Interrupts 530
Reference 530
Appendix C FixedPoint Considerations 533
C.1 Binary and Two’sComplement Representation 533
C.2 Fractional FixedPoint Representation 536
C.3 Multiplication 536
Reference 539
Appendix D MATLAB and Goldwave Support Tools 540
D.1 fdatool for FIR Filter Design 540
D.2 fdatool for IIR Filter Design 542
D.3 MATLAB for FIR Filter Design Using the Student Version 544
D.4 MATLAB for IIR Filter Design Using the Student Version 546
D.5 Using the Goldwave Shareware Utility as a Virtual Instrument 548
References 549
Appendix E Fast Hartley Transform 550
References 556
Appendix F Goertzel Algorithm 557
F.1 Design Considerations 557
References 560
Appendix G TMS320C6416 DSK 561
G.1 TMS320C64x Processor 561
G.2 Programming Examples Using the C6416 DSK 562
References 566
Index 567
Donald Reay, PhD, is a Lecturer in the School of Engineering and Physical Sciences at HeriotWatt University in Edinburgh, Scotland.