Digital Signal Processing and Applications with the TMS320C6713 and TMS320C6416 DSK, 2nd EditionISBN: 978-0-470-13866-3
Hardcover
608 pages
April 2008, Wiley-IEEE Press
This is a Print-on-Demand title. It will be printed specifically to fill your order. Please allow an additional 15-20 days delivery time. The book is not returnable.
|
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 C-Callable 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 Floating-Point 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 z-Transform 146
4.1.1 Mapping from s-Plane to z-Plane 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 Radix-2 256
6.3 Decimation-in-Frequency FFT Algorithm with Radix-2 257
6.4 Decimation-in-Time FFT Algorithm with Radix-2 263
6.5 Bit Reversal for Unscrambling 268
6.6 Development of the FFT Algorithm with Radix-4 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 Radix-4 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 KeyingBPSK Encoding and Decoding with PLL 454
10.11 Binary Phase Shift Keying 468
10.12 Modulation SchemesPAM 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 u-Law for Speech Companding 500
10.18 SB-ADPCM Encoder/Decoder: Implementation of G.722 Audio Coding 501
10.19 Encryption Using the Data Encryption Standard Algorithm 503
10.20 Phase-Locked Loop 506
10.21 Miscellaneous Projects 508
Acknowledgments 522
References 523
Appendix A TMS320C6x Instruction Set 528
A.1 Instructions for Fixed- and Floating-Point Operations 528
A.2 Instructions for Floating-Point Operations 528
References 528
Appendix B Registers for Circular Addressing and Interrupts 530
Reference 530
Appendix C Fixed-Point Considerations 533
C.1 Binary and Two’s-Complement Representation 533
C.2 Fractional Fixed-Point 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