Rulph Chassaing, Donald Reay
Digital Signal Processing and Applications with the Tms320c6713 and Tms320c6416 Dsk
Rulph Chassaing, Donald Reay
Digital Signal Processing and Applications with the Tms320c6713 and Tms320c6416 Dsk
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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…mehr
Andere Kunden interessierten sich auch für
- Donald ReayDigital Signal Processing and Applications with the OMAP - L138 eXperimenter165,99 €
- Mohsen GuizaniNetwork Modeling and Simulation108,99 €
- Algirdas Pakstas / Ryoichi Komiya (Hgg.)Virtual Reality Technologies for Future Telecommunications Systems160,99 €
- Tamás Roska / Ángel Rodríguez-Vázquez (Hgg.)Towards the Visual Microprocessor301,99 €
- Parag KulkarniReinforcement & Systemic Mchin153,99 €
- Saeed V. VaseghiAdvanced Digital Signal Processing and Noise Reduction191,99 €
- Evolving Intelligent Systems178,99 €
-
-
-
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.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Topics in Digital Signal Processing Vol.1
- Verlag: Wiley & Sons
- 2. Aufl.
- Seitenzahl: 608
- Erscheinungstermin: 1. April 2008
- Englisch
- Abmessung: 252mm x 184mm x 33mm
- Gewicht: 1180g
- ISBN-13: 9780470138663
- ISBN-10: 0470138661
- Artikelnr.: 23158013
- Topics in Digital Signal Processing Vol.1
- Verlag: Wiley & Sons
- 2. Aufl.
- Seitenzahl: 608
- Erscheinungstermin: 1. April 2008
- Englisch
- Abmessung: 252mm x 184mm x 33mm
- Gewicht: 1180g
- ISBN-13: 9780470138663
- ISBN-10: 0470138661
- Artikelnr.: 23158013
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.
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 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 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
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 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 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
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 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 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
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 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 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