Skip to:Content
|
Bottom
Cover image for Digital signal processing and applications with the C6713 and C6416 DSK
Title:
Digital signal processing and applications with the C6713 and C6416 DSK
Personal Author:
Series:
Topics in digital signal processing
Publication Information:
Hoboken, NJ : Wiley-Interscience, 2004
Physical Description:
1v + 1 CD-ROM
ISBN:
9780471690078
General Note:
Accompanied by compact disc : CP 7378

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010148759 TK5102.9 C424 2005 Open Access Book Book
Searching...
Searching...
30000003594250 TK5102.9 C424 2005 Open Access Book Book
Searching...

On Order

Summary

Summary

This book is a tutorial on digital techniques for waveform generation, digital filters, and digital signal processing tools and techniques The typical chapter begins with some theoretical material followed by working examples and experiments using the TMS320C6713-based DSPStarter Kit (DSK) The C6713 DSK is TI's newest signal processor based on the C6x processor (replacing the C6711 DSK)


Author Notes

RULPH CHASSAING, PhD, teaches Real-Time DSP at Worcester Polytechnic Institute (WPI). In addition to offering many DSP training workshops and seminars, he has 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 the TMS320C25, all published by Wiley.


Table of Contents

Prefacep. xiii
List of Examplesp. xvii
Programs/Files on Accompanying CDp. xxi
1 DSP Development Systemp. 1
1.1 Introductionp. 1
1.2 DSK Support Toolsp. 2
1.2.1 DSK Boardp. 3
1.2.2 TMS320C6713 Digital Signal Processorp. 5
1.3 Code Composer Studiop. 5
1.3.1 CCS Installation and Supportp. 6
1.3.2 Useful Types of Filesp. 7
1.4 Quick Test of DSKp. 7
1.5 Support Filesp. 8
1.6 Programming Examples to Test the DSK Toolsp. 9
1.7 Support Programs/Files Considerationsp. 27
1.7.1 Initialization/Communication Filep. 27
1.7.2 Vector Filep. 30
1.7.3 Linker Command Filep. 32
1.8 Compiler/Assembler/Linker Shellp. 33
1.8.1 Compilerp. 33
1.8.2 Assemblerp. 34
1.8.3 Linkerp. 34
1.9 Assignmentsp. 35
Referencesp. 36
2 Input and Output with the DSKp. 39
2.1 Introductionp. 39
2.2 TLV320AIC23 (AIC23) Onboard Stereo Codec for Input and Outputp. 40
2.3 Programming Examples Using C Codep. 42
2.4 Assignmentsp. 71
Referencesp. 72
3 Architecture and Instruction Set of the C6x Processorp. 73
3.1 Introductionp. 73
3.2 TMS320C6x Architecturep. 75
3.3 Functional Unitsp. 76
3.4 Fetch and Execute Packetsp. 79
3.5 Pipeliningp. 79
3.6 Registersp. 81
3.7 Linear and Circular Addressing Modesp. 82
3.7.1 Indirect Addressingp. 82
3.7.2 Circular Addressingp. 82
3.8 TMS320C6x Instruction Setp. 84
3.8.1 Assembly Code Formatp. 84
3.8.2 Types of Instructionsp. 85
3.9 Assembler Directivesp. 86
3.10 Linear Assemblyp. 87
3.11 ASM Statement within Cp. 88
3.12 C-Callable Assembly Functionp. 89
3.13 Timersp. 89
3.14 Interruptsp. 89
3.14.1 Interrupt Control Registersp. 90
3.14.2 Interrupt Acknowledgmentp. 91
3.15 Multichannel Buffered Serial Portsp. 92
3.16 Direct Memory Accessp. 92
3.17 Memory Considerationsp. 93
3.17.1 Data Allocationp. 93
3.17.2 Data Alignmentp. 94
3.17.3 Pragma Directivesp. 94
3.17.4 Memory Modelsp. 95
3.18 Fixed- and Floating-Point Formatp. 95
3.18.1 Data Typesp. 95
3.18.2 Floating-Point Formatp. 96
3.18.3 Divisionp. 97
3.19 Code Improvementp. 97
3.19.1 Intrinsicsp. 97
3.19.2 Trip Directive for Loop Countp. 98
3.19.3 Cross-Pathsp. 98
3.19.4 Software Pipeliningp. 98
3.20 Constraintsp. 99
3.20.1 Memory Constraintsp. 99
3.20.2 Cross-Path Constraintsp. 99
3.20.3 Load/Store Constraintsp. 100
3.20.4 Pipelining Effects with More Than One EP within an FPp. 100
3.21 Programming Examples Using C, Assembly, and Linear Assemblyp. 101
3.22 Assignmentsp. 115
Referencesp. 117
4 Finite Impulse Response Filtersp. 119
4.1 Introduction to the z-Transformp. 119
4.1.1 Mapping from s-Plane to z-Planep. 122
4.1.2 Difference Equationsp. 123
4.2 Discrete Signalsp. 124
4.3 FIR Filtersp. 125
4.4 FIR Lattice Structurep. 127
4.5 FIR Implementation Using Fourier Seriesp. 131
4.6 Window Functionsp. 135
4.6.1 Hamming Windowp. 136
4.6.2 Hanning Windowp. 136
4.6.3 Blackman Windowp. 136
4.6.4 Kaiser Windowp. 137
4.6.5 Computer-Aided Approximationp. 137
4.7 Programming Examples Using C and ASM Codep. 137
4.8 Assignmentsp. 173
Referencesp. 174
5 Infinite Impulse Response Filtersp. 177
5.1 Introductionp. 177
5.2 IIR Filter Structuresp. 178
5.2.1 Direct Form I Structurep. 178
5.2.2 Direct Form II Structurep. 179
5.2.3 Direct Form II Transposep. 181
5.2.4 Cascade Structurep. 182
5.2.5 Parallel Form Structurep. 183
5.2.6 Lattice Structurep. 185
5.3 Bilinear Transformationp. 190
5.3.1 BLT Design Procedurep. 191
5.4 Programming Examples Using C and ASM Codep. 192
5.5 Assignmentsp. 205
Referencesp. 206
6 Fast Fourier Transformp. 208
6.1 Introductionp. 208
6.2 Development of the FFT Algorithm with Radix-2p. 209
6.3 Decimation-in-Frequency FFT Algorithm with Radix-2p. 210
6.4 Decimation-in-Time FFT Algorithm with Radix-2p. 217
6.5 Bit Reversal for Unscramblingp. 221
6.6 Development of the FFT Algorithm with Radix-4p. 221
6.7 Inverse Fast Fourier Transformp. 224
6.8 Programming Examplesp. 225
6.8.1 Fast Convolutionp. 237
6.9 Assignmentsp. 245
Referencesp. 247
7 Adaptive Filtersp. 249
7.1 Introductionp. 249
7.2 Adaptive Structuresp. 251
7.3 Adaptive Linear Combinerp. 254
7.4 Performance Functionp. 257
7.5 Searching for the Minimump. 259
7.6 Programming Examples for Noise Cancellation and System Identificationp. 262
Referencesp. 282
8 Code Optimizationp. 284
8.1 Introductionp. 284
8.2 Optimization Stepsp. 285
8.2.1 Compiler Optionsp. 285
8.2.2 Intrinsic C Functionsp. 286
8.3 Procedure for Code Optimizationp. 286
8.4 Programming Examples Using Code Optimization Techniquesp. 286
8.5 Software Pipelining for Code Optimizationp. 293
8.5.1 Procedure for Hand-Coded Software Pipeliningp. 293
8.5.2 Dependency Graphp. 294
8.5.3 Scheduling Tablep. 295
8.6 Execution Cycles for Different Optimization Schemesp. 302
Referencesp. 303
9 DSP/BIOS and RTDX Using MATLAB, Visual C++, Visual Basic, and LabVIEWp. 304
9.1 Introduction to DSP/BIOSp. 306
9.2 RTDX Using MATLAB to Provide Interface Between PC and DSKp. 311
9.3 RTDX Using Visual C++ to Interface with DSKp. 321
9.4 RTDX Using Visual Basic to Provide Interface Between PC and DSKp. 332
9.5 RTDX Using LabVIEW to Provide Interface Between PC and DSKp. 335
Acknowledgmentsp. 342
Referencesp. 342
10 DSP Applications and Student Projectsp. 343
10.1 DTMF Detection Using Correlation, FFT, and Goertzel Algorithmp. 343
10.1.1 Using a Correlation Scheme and Onboard LEDs for Verifying Detectionp. 345
10.1.2 Using RTDX with Visual C++ to Display Detected DTMF Signals on the PCp. 348
10.1.3 Using FFT and Onboard LEDs for Verifying Detectionp. 350
10.1.4 Using Goertzel Algorithmp. 350
10.2 Beat Detection Using Onboard LEDsp. 352
10.3 FIR with RTDX Using Visual C++ for Transfer of Filter Coefficientsp. 355
10.4 Radix-4 FFT with Frequency Domain Filteringp. 357
10.5 Radix-4 FFT with RTDX Using Visual C++ and MATLAB for Plottingp. 357
10.6 Spectrum Display Through EMIF Using a Bank of 32 LEDsp. 360
10.7 Spectrum Display Through EMIF Using LCDsp. 364
10.8 Time-Frequency Analysis of Signals with Spectrogramp. 368
10.8.1 Simulation Using MATLABp. 368
10.8.2 Spectrogram with RTDX Using MATLABp. 370
10.8.3 Spectrogram with RTDX Using Visual C++p. 372
10.9 Audio Effects (Echo and Reverb, Harmonics, and Distortion)p. 373
10.10 Voice Detection and Reverse Playbackp. 375
10.11 Phase Shift Keying-BPSK Encoding and Decoding with PLLp. 377
10.11.1 BPSK Single-Board Transmitter/Receiver Simulationp. 377
10.11.2 BPSK Transmitter/Voice Encoder with Real-Time Inputp. 381
10.11.3 Phase-Locked Loopp. 383
10.11.4 BPSK Transmitter and Receiver with PLLp. 386
10.12 Binary Phase Shift Keyingp. 390
10.13 Modulation Schemes-PAM and PSKp. 393
10.13.1 Pulse Amplitude Modulationp. 393
10.13.2 Phase-Shift Keyingp. 396
10.14 Selectable IIR Filter and Scrambling Scheme Using Onboard Switchesp. 401
10.15 Convolutional Encoding and Viterbi Decodingp. 404
10.16 Speech Synthesis Using Linear Prediction of Speech Signalsp. 414
10.17 Automatic Speaker Recognitionp. 418
10.18 [mu]-Law for Speech Compandingp. 422
10.19 Voice Scrambler Using DMA and User Switchesp. 423
10.20 SB-ADPCM Encoder/Decoder: Implementation of G.722 Audio Codingp. 423
10.21 Encryption Using the Data Encryption Standard Algorithmp. 425
10.22 Phase-Locked Loopp. 429
10.23 Miscellaneous Projectsp. 430
10.23.1 Multirate Filterp. 431
10.23.2 Acoustic Direction Trackerp. 436
10.23.3 Neural Network for Signal Recognitionp. 437
10.23.4 Adaptive Temporal Attenuatorp. 441
10.23.5 FSK Modemp. 442
10.23.6 Image Processingp. 443
10.23.7 Filter Design and Implementation Using a Modified Prony's Methodp. 444
10.23.8 PID Controllerp. 444
10.23.9 Four-Channel Multiplexer for Fast Data Acquisitionp. 444
10.23.10 Video Line Rate Analysisp. 444
Acknowledgmentsp. 444
Referencesp. 445
Appendix A TMS320C6x Instruction Setp. 450
A.1 Instructions for Fixed- and Floating-Point Operationsp. 450
A.2 Instructions for Floating-Point Operationsp. 450
Referencesp. 450
Appendix B Registers for Circular Addressing and Interruptsp. 452
Referencep. 452
Appendix C Fixed-Point Considerationsp. 455
C.1 Binary and Two's-Complement Representationp. 455
C.2 Fractional Fixed-Point Representationp. 458
C.3 Multiplicationp. 458
Referencep. 461
Appendix D MATLAB Support Toolsp. 462
D.1 SPTool and FDATool for FIR Filter Designp. 462
D.2 SPTool and FDATool for IIR Filter Designp. 465
D.3 MATLAB for FIR Filter Design Using the Student Versionp. 468
D.4 MATLAB for IIR Filter Design Using the Student Versionp. 470
D.5 BLT Using MATLAB and Support Programs on CDp. 471
D.6 FFT and IFFTp. 477
Referencesp. 478
Appendix E Additional Support Toolsp. 479
E.1 Goldwave Shareware Utility as a Virtual Instrumentp. 479
E.2 Filter Design Using DigiFilterp. 480
E.2.1 FIR Filter Designp. 480
E.2.2 IIR Filter Designp. 481
E.3 FIR Filter Design Using a Filter Development Packagep. 482
E.3.1 Kaiser Windowp. 482
E.3.2 Hamming Windowp. 484
E.4 Visual Application Builder and LabVIEWp. 485
E.5 Alternative Input/Outputp. 485
Referencesp. 485
Appendix F Fast Hartley Transformp. 486
Referencesp. 492
Appendix G Goertzel Algorithmp. 493
G.1 Design Considerationsp. 493
Referencesp. 496
Appendix H TMS320C6416 DSKp. 497
H.1 TMS320C64x Processorp. 497
H.2 Programming Examples Using the C6416 DSKp. 498
Referencesp. 502
Appendix I TMS320C6711 DSKp. 503
Referencep. 503
Indexp. 505
Go to:Top of Page