搜索附件  
头雁微网 附件中心 技术应用 情报信息 【应求发布】Real.Time.Digital.Signal.Processing.Implementations.and.Applications: Real.Time.Digital.Signal.Processing.Implementations.and.Applications.Jun.2006.part2.rar
板块导航
附件中心&附件聚合2.0
For Discuz! X3.5 © hgcad.com

【应求发布】Real.Time.Digital.Signal.Processing.Implementations.and.Applications: Real.Time.Digital.Signal.Processing.Implementations.and.Applications.Jun.2006.part2.rar

 

【应求发布】Real.Time.Digital.Signal.Processing.Implementations.and.Applications:
Real.Time.Digital.Signal.Processing.Implementations.and.Applications.Jun.2006.pdf



Real-Time Digital
Signal Processing
Implementations and Applications
Second Edition
Sen M Kuo
Northern Illinois University, USA
Bob H Lee
Ingenient Technologies Inc., USA
Wenshun Tian
UTStarcom Inc., USA
Copyright C 2006 John Wiley & Sons Ltd,
The Atrium, Southern Gate, Chichester,
West Sussex PO19 8SQ, England
Telephone (+44) 1243 779777
Email (for orders and customer service enquiries): cs-books@wiley.co.uk
Visit our Home Page on www.wileyeurope.com
All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in
any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under
the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright
Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the
Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd,
The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to permreq@wiley.co.uk, or
faxed to (+44) 1243 770620.
Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and
product names used in this book are trade names, service marks, trademarks or registered trademarks of their
respective owners. The Publisher is not associated with any product or vendor mentioned in this book.
This publication is designed to provide accurate and authoritative information in regard to the subject matter
covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If
professional advice or other expert assistance is required, the services of a competent professional should be sought.
Other Wiley Editorial Offices
John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA
Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA
Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany
John Wiley & Sons Australia Ltd, 42 McDougall Street, Milton, Queensland 4064, Australia
John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809
John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1
Wiley also publishes its books in a variety of electronic formats. Some content that appears
in print may not be available in electronic books.
Library of Congress Cataloging-in-Publication Data
Kuo, Sen M. (Sen-Maw)
Real-time digital signal processing : implementations, applications and experiments with the
TMS320C55X / Sen M Kuo, Bob H Lee, Wenshun Tian. – 2nd ed.
p. cm.
Includes bibliographical references and index.
ISBN 0-470-01495-4 (cloth)
1. Signal processing–Digital techniques. 2. Texas Instruments TMS320 series microprocessors.
I. Lee, Bob H. II. Tian, Wenshun. III. Title.
TK5102 .9 .K86 2006
621.3822-dc22 2005036660
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library
ISBN-13 978-0-470-01495-0
ISBN-10 0-470-01495-4
Typeset in 9/11pt Times by TechBooks, New Delhi, India
Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire
This book is printed on acid-free paper responsibly manufactured from sustainable forestry
in which at least two trees are planted for each one used for paper production.
Contents
Preface xv
1 Introduction to Real-Time Digital Signal Processing 1
1.1 Basic Elements of Real-Time DSP Systems 2
1.2 Analog Interface 3
1.2.1 Sampling 3
1.2.2 Quantization and Encoding 7
1.2.3 Smoothing Filters 8
1.2.4 Data Converters 9
1.3 DSP Hardware 10
1.3.1 DSP Hardware Options 10
1.3.2 DSP Processors 13
1.3.3 Fixed- and Floating-Point Processors 15
1.3.4 Real-Time Constraints 16
1.4 DSP System Design 17
1.4.1 Algorithm Development 18
1.4.2 Selection of DSP Processors 19
1.4.3 Software Development 20
1.4.4 High-Level Software Development Tools 21
1.5 Introduction to DSP Development Tools 22
1.5.1 C Compiler 22
1.5.2 Assembler 23
1.5.3 Linker 24
1.5.4 Other Development Tools 25
1.6 Experiments and Program Examples 25
1.6.1 Experiments of Using CCS and DSK 26
1.6.2 Debugging Program Using CCS and DSK 29
1.6.3 File I/O Using Probe Point 32
1.6.4 File I/O Using C File System Functions 35
1.6.5 Code Efficiency Analysis Using Profiler 37
1.6.6 Real-Time Experiments Using DSK 39
1.6.7 Sampling Theory 42
1.6.8 Quantization in ADCs 44
References 45
Exercises 45
vi CONTENTS
2 Introduction to TMS320C55x Digital Signal Processor 49
2.1 Introduction 49
2.2 TMS320C55x Architecture 50
2.2.1 Architecture Overview 50
2.2.2 Buses 53
2.2.3 On-Chip Memories 53
2.2.4 Memory-Mapped Registers 55
2.2.5 Interrupts and Interrupt Vector 55
2.3 TMS320C55x Peripherals 58
2.3.1 External Memory Interface 60
2.3.2 Direct Memory Access 60
2.3.3 Enhanced Host-Port Interface 61
2.3.4 Multi-Channel Buffered Serial Ports 62
2.3.5 Clock Generator and Timers 65
2.3.6 General Purpose Input/Output Port 65
2.4 TMS320C55x Addressing Modes 65
2.4.1 Direct Addressing Modes 66
2.4.2 Indirect Addressing Modes 68
2.4.3 Absolute Addressing Modes 70
2.4.4 Memory-Mapped Register Addressing Mode 70
2.4.5 Register Bits Addressing Mode 71
2.4.6 Circular Addressing Mode 72
2.5 Pipeline and Parallelism 73
2.5.1 TMS320C55x Pipeline 73
2.5.2 Parallel Execution 74
2.6 TMS320C55x Instruction Set 76
2.6.1 Arithmetic Instructions 76
2.6.2 Logic and Bit Manipulation Instructions 77
2.6.3 Move Instruction 78
2.6.4 Program Flow Control Instructions 78
2.7 TMS320C55x Assembly Language Programming 82
2.7.1 Assembly Directives 82
2.7.2 Assembly Statement Syntax 84
2.8 C Language Programming for TMS320C55x 86
2.8.1 Data Types 86
2.8.2 Assembly Code Generation by C Compiler 87
2.8.3 Compiler Keywords and Pragma Directives 89
2.9 Mixed C-and-Assembly Language Programming 90
2.10 Experiments and Program Examples 93
2.10.1 Interfacing C with Assembly Code 93
2.10.2 Addressing Modes Using Assembly Programming 94
2.10.3 Phase-Locked Loop and Timers 97
2.10.4 EMIF Configuration for Using SDRAM 103
2.10.5 Programming Flash Memory Devices 105
2.10.6 Using McBSP 106
2.10.7 AIC23 Configurations 109
2.10.8 Direct Memory Access 111
References 115
Exercises 115
CONTENTS vii
3 DSP Fundamentals and Implementation
Considerations 121
3.1 Digital Signals and Systems 121
3.1.1 Elementary Digital Signals 121
3.1.2 Block Diagram Representation of Digital Systems 123
3.2 System Concepts 126
3.2.1 Linear Time-Invariant Systems 126
3.2.2 The z-Transform 130
3.2.3 Transfer Functions 132
3.2.4 Poles and Zeros 135
3.2.5 Frequency Responses 138
3.2.6 Discrete Fourier Transform 141
3.3 Introduction to Random Variables 142
3.3.1 Review of Random Variables 142
3.3.2 Operations of Random Variables 144
3.4 Fixed-Point Representations and Quantization Effects 147
3.4.1 Fixed-Point Formats 147
3.4.2 Quantization Errors 151
3.4.3 Signal Quantization 151
3.4.4 Coefficient Quantization 153
3.4.5 Roundoff Noise 153
3.4.6 Fixed-Point Toolbox 154
3.5 Overflow and Solutions 157
3.5.1 Saturation Arithmetic 157
3.5.2 Overflow Handling 158
3.5.3 Scaling of Signals 158
3.5.4 Guard Bits 159
3.6 Experiments and Program Examples 159
3.6.1 Quantization of Sinusoidal Signals 160
3.6.2 Quantization of Audio Signals 161
3.6.3 Quantization of Coefficients 162
3.6.4 Overflow and Saturation Arithmetic 164
3.6.5 Function Approximations 167
3.6.6 Real-Time Digital Signal Generation Using DSK 175
References 180
Exercises 180
4 Design and Implementation of FIR Filters 185
4.1 Introduction to FIR Filters 185
4.1.1 Filter Characteristics 185
4.1.2 Filter Types 187
4.1.3 Filter Specifications 189
4.1.4 Linear-Phase FIR Filters 191
4.1.5 Realization of FIR Filters 194
4.2 Design of FIR Filters 196
4.2.1 Fourier Series Method 197
4.2.2 Gibbs Phenomenon 198
4.2.3 Window Functions 201
viii CONTENTS
4.2.4 Design of FIR Filters Using MATLAB 206
4.2.5 Design of FIR Filters Using FDATool 207
4.3 Implementation Considerations 213
4.3.1 Quantization Effects in FIR Filters 213
4.3.2 MATLAB Implementations 216
4.3.3 Floating-Point C Implementations 218
4.3.4 Fixed-Point C Implementations 219
4.4 Applications: Interpolation and Decimation Filters 220
4.4.1 Interpolation 220
4.4.2 Decimation 221
4.4.3 Sampling-Rate Conversion 221
4.4.4 MATLAB Implementations 224
4.5 Experiments and Program Examples 225
4.5.1 Implementation of FIR Filters Using Fixed-Point C 226
4.5.2 Implementation of FIR Filter Using C55x Assembly
Language 226
4.5.3 Optimization for Symmetric FIR Filters 228
4.5.4 Optimization Using Dual MAC Architecture 230
4.5.5 Implementation of Decimation 232
4.5.6 Implementation of Interpolation 233
4.5.7 Sample Rate Conversion 234
4.5.8 Real-Time Sample Rate Conversion Using
DSP/BIOS and DSK 235
References 245
Exercises 245
5 Design and Implementation of IIR Filters 249
5.1 Introduction 249
5.1.1 Analog Systems 249
5.1.2 Mapping Properties 251
5.1.3 Characteristics of Analog Filters 252
5.1.4 Frequency Transforms 254
5.2 Design of IIR Filters 255
5.2.1 Bilinear Transform 256
5.2.2 Filter Design Using Bilinear Transform 257
5.3 Realization of IIR Filters 258
5.3.1 Direct Forms 258
5.3.2 Cascade Forms 260
5.3.3 Parallel Forms 262
5.3.4 Realization of IIR Filters Using MATLAB 263
5.4 Design of IIR Filters Using MATLAB 264
5.4.1 Filter Design Using MATLAB 264
5.4.2 Frequency Transforms Using MATLAB 267
5.4.3 Design and Realization Using FDATool 268
5.5 Implementation Considerations 271
5.5.1 Stability 271
5.5.2 Finite-Precision Effects and Solutions 273
5.5.3 MATLAB Implementations 275
CONTENTS ix
5.6 Practical Applications 279
5.6.1 Recursive Resonators 279
5.6.2 Recursive Quadrature Oscillators 282
5.6.3 Parametric Equalizers 284
5.7 Experiments and Program Examples 285
5.7.1 Floating-Point Direct-Form I IIR Filter 285
5.7.2 Fixed-Point Direct-Form I IIR Filter 286
5.7.3 Fixed-Point Direct-Form II Cascade IIR Filter 287
5.7.4 Implementation Using DSP Intrinsics 289
5.7.5 Implementation Using Assembly Language 290
5.7.6 Real-Time Experiments Using DSP/BIOS 293
5.7.7 Implementation of Parametric Equalizer 296
5.7.8 Real-Time Two-Band Equalizer Using DSP/BIOS 297
References 299
Exercises 299
6 Frequency Analysis and Fast Fourier Transform 303
6.1 Fourier Series and Transform 303
6.1.1 Fourier Series 303
6.1.2 Fourier Transform 304
6.2 Discrete Fourier Transform 305
6.2.1 Discrete-Time Fourier Transform 305
6.2.2 Discrete Fourier Transform 307
6.2.3 Important Properties 310
6.3 Fast Fourier Transforms 313
6.3.1 Decimation-in-Time 314
6.3.2 Decimation-in-Frequency 316
6.3.3 Inverse Fast Fourier Transform 317
6.4 Implementation Considerations 317
6.4.1 Computational Issues 317
6.4.2 Finite-Precision Effects 318
6.4.3 MATLAB Implementations 318
6.4.4 Fixed-Point Implementation Using MATLAB 320
6.5 Practical Applications 322
6.5.1 Spectral Analysis 322
6.5.2 Spectral Leakage and Resolution 323
6.5.3 Power Spectrum Density 325
6.5.4 Fast Convolution 328
6.6 Experiments and Program Examples 332
6.6.1 Floating-Point C Implementation of DFT 332
6.6.2 C55x Assembly Implementation of DFT 332
6.6.3 Floating-Point C Implementation of FFT 336
6.6.4 C55x Intrinsics Implementation of FFT 338
6.6.5 Assembly Implementation of FFT and Inverse FFT 339
6.6.6 Implementation of Fast Convolution 343
6.6.7 Real-Time FFT Using DSP/BIOS 345
6.6.8 Real-Time Fast Convolution 347
References 347
Exercises 348
x CONTENTS
7 Adaptive Filtering 351
7.1 Introduction to Random Processes 351
7.2 Adaptive Filters 354
7.2.1 Introduction to Adaptive Filtering 354
7.2.2 Performance Function 355
7.2.3 Method of Steepest Descent 358
7.2.4 The LMS Algorithm 360
7.2.5 Modified LMS Algorithms 361
7.3 Performance Analysis 362
7.3.1 Stability Constraint 362
7.3.2 Convergence Speed 363
7.3.3 Excess Mean-Square Error 363
7.3.4 Normalized LMS Algorithm 364
7.4 Implementation Considerations 364
7.4.1 Computational Issues 365
7.4.2 Finite-Precision Effects 365
7.4.3 MATLAB Implementations 366
7.5 Practical Applications 368
7.5.1 Adaptive System Identification 368
7.5.2 Adaptive Linear Prediction 369
7.5.3 Adaptive Noise Cancelation 372
7.5.4 Adaptive Notch Filters 374
7.5.5 Adaptive Channel Equalization 375
7.6 Experiments and Program Examples 377
7.6.1 Floating-Point C Implementation 377
7.6.2 Fixed-Point C Implementation of Leaky LMS Algorithm 379
7.6.3 ETSI Implementation of NLMS Algorithm 380
7.6.4 Assembly Language Implementation of Delayed LMS Algorithm 383
7.6.5 Adaptive System Identification 387
7.6.6 Adaptive Prediction and Noise Cancelation 388
7.6.7 Adaptive Channel Equalizer 392
7.6.8 Real-Time Adaptive Line Enhancer Using DSK 394
References 396
Exercises 397
8 Digital Signal Generators 401
8.1 Sinewave Generators 401
8.1.1 Lookup-Table Method 401
8.1.2 Linear Chirp Signal 404
8.2 Noise Generators 405
8.2.1 Linear Congruential Sequence Generator 405
8.2.2 Pseudo-Random Binary Sequence Generator 407
8.3 Practical Applications 409
8.3.1 Siren Generators 409
8.3.2 White Gaussian Noise 409
8.3.3 Dual-Tone Multifrequency Tone Generator 410
8.3.4 Comfort Noise in Voice Communication Systems 411
8.4 Experiments and Program Examples 412
8.4.1 Sinewave Generator Using C5510 DSK 412
8.4.2 White Noise Generator Using C5510 DSK 413
CONTENTS xi
8.4.3 Wail Siren Generator Using C5510 DSK 414
8.4.4 DTMF Generator Using C5510 DSK 415
8.4.5 DTMF Generator Using MATLAB Graphical User Interface 416
References 418
Exercises 418
9 Dual-Tone Multifrequency Detection 421
9.1 Introduction 421
9.2 DTMF Tone Detection 422
9.2.1 DTMF Decode Specifications 422
9.2.2 Goertzel Algorithm 423
9.2.3 Other DTMF Detection Methods 426
9.2.4 Implementation Considerations 428
9.3 Internet Application Issues and Solutions 431
9.4 Experiments and Program Examples 432
9.4.1 Implementation of Goertzel Algorithm Using Fixed-Point C 432
9.4.2 Implementation of Goertzel Algorithm Using C55x
Assembly Language 434
9.4.3 DTMF Detection Using C5510 DSK 435
9.4.4 DTMF Detection Using All-Pole Modeling 439
References 441
Exercises 442
10 Adaptive Echo Cancelation 443
10.1 Introduction to Line Echoes 443
10.2 Adaptive Echo Canceler 444
10.2.1 Principles of Adaptive Echo Cancelation 445
10.2.2 Performance Evaluation 446
10.3 Practical Considerations 447
10.3.1 Prewhitening of Signals 447
10.3.2 Delay Detection 448
10.4 Double-Talk Effects and Solutions 450
10.5 Nonlinear Processor 453
10.5.1 Center Clipper 453
10.5.2 Comfort Noise 453
10.6 Acoustic Echo Cancelation 454
10.6.1 Acoustic Echoes 454
10.6.2 Acoustic Echo Canceler 456
10.6.3 Subband Implementations 457
10.6.4 Delay-Free Structures 459
10.6.5 Implementation Considerations 459
10.6.6 Testing Standards 460
10.7 Experiments and Program Examples 461
10.7.1 MATLAB Implementation of AEC 461
10.7.2 Acoustic Echo Cancelation Using Floating-Point C 464
10.7.3 Acoustic Echo Canceler Using C55x Intrinsics 468
10.7.4 Experiment of Delay Estimation 469
References 472
Exercises 472
xii CONTENTS
11 Speech-Coding Techniques 475
11.1 Introduction to Speech-Coding 475
11.2 Overview of CELP Vocoders 476
11.2.1 Synthesis Filter 477
11.2.2 Long-Term Prediction Filter 481
11.2.3 Perceptual Based Minimization Procedure 481
11.2.4 Excitation Signal 482
11.2.5 Algebraic CELP 483
11.3 Overview of Some Popular CODECs 484
11.3.1 Overview of G.723.1 484
11.3.2 Overview of G.729 488
11.3.3 Overview of GSM AMR 490
11.4 Voice over Internet Protocol Applications 492
11.4.1 Overview of VoIP 492
11.4.2 Real-Time Transport Protocol and Payload Type 493
11.4.3 Example of Packing G.729 496
11.4.4 RTP Data Analysis Using Ethereal Trace 496
11.4.5 Factors Affecting the Overall Voice Quality 497
11.5 Experiments and Program Examples 497
11.5.1 Calculating LPC Coefficients Using Floating-Point C 497
11.5.2 Calculating LPC Coefficients Using C55x Intrinsics 499
11.5.3 MATLAB Implementation of Formant Perceptual Weighting Filter 504
11.5.4 Implementation of Perceptual Weighting Filter Using C55x Intrinsics 506
References 507
Exercises 508
12 Speech Enhancement Techniques 509
12.1 Introduction to Noise Reduction Techniques 509
12.2 Spectral Subtraction Techniques 510
12.2.1 Short-Time Spectrum Estimation 511
12.2.2 Magnitude Subtraction 511
12.3 Voice Activity Detection 513
12.4 Implementation Considerations 515
12.4.1 Spectral Averaging 515
12.4.2 Half-Wave Rectification 515
12.4.3 Residual Noise Reduction 516
12.5 Combination of Acoustic Echo Cancelation with NR 516
12.6 Voice Enhancement and Automatic Level Control 518
12.6.1 Voice Enhancement Devices 518
12.6.2 Automatic Level Control 519
12.7 Experiments and Program Examples 519
12.7.1 Voice Activity Detection 519
12.7.2 MATLAB Implementation of NR Algorithm 522
12.7.3 Floating-Point C Implementation of NR 522
12.7.4 Mixed C55x Assembly and Intrinsics Implementations of VAD 522
12.7.5 Combining AEC with NR 526
References 529
Exercises 529
CONTENTS xiii
13 Audio Signal Processing 531
13.1 Introduction 531
13.2 Basic Principles of Audio Coding 531
13.2.1 Auditory-Masking Effects for Perceptual Coding 533
13.2.2 Frequency-Domain Coding 536
13.2.3 Lossless Audio Coding 538
13.3 Multichannel Audio Coding 539
13.3.1 MP3 540
13.3.2 Dolby AC-3 541
13.3.3 MPEG-2 AAC 542
13.4 Connectivity Processing 544
13.5 Experiments and Program Examples 544
13.5.1 Floating-Point Implementation of MDCT 544
13.5.2 Implementation of MDCT Using C55x Intrinsics 547
13.5.3 Experiments of Preecho Effects 549
13.5.4 Floating-Point C Implementation of MP3 Decoding 549
References 553
Exercises 553
14 Channel Coding Techniques 555
14.1 Introduction 555
14.2 Block Codes 556
14.2.1 Reed–Solomon Codes 558
14.2.2 Applications of Reed–Solomon Codes 562
14.2.3 Cyclic Redundant Codes 563
14.3 Convolutional Codes 564
14.3.1 Convolutional Encoding 564
14.3.2 Viterbi Decoding 564
14.3.3 Applications of Viterbi Decoding 566
14.4 Experiments and Program Examples 569
14.4.1 Reed–Solomon Coding Using MATALB 569
14.4.2 Reed–Solomon Coding Using Simulink 570
14.4.3 Verification of RS(255, 239) Generation Polynomial 571
14.4.4 Convolutional Codes 572
14.4.5 Implementation of Convolutional Codes Using C 573
14.4.6 Implementation of CRC-32 575
References 576
Exercises 577
15 Introduction to Digital Image Processing 579
15.1 Digital Images and Systems 579
15.1.1 Digital Images 579
15.1.2 Digital Image Systems 580
15.2 RGB Color Spaces and Color Filter Array Interpolation 581
15.3 Color Spaces 584
15.3.1 YCbCr and YUV Color Spaces 584
15.3.2 CYMK Color Space 585
xiv CONTENTS
15.3.3 YIQ Color Space 585
15.3.4 HSV Color Space 585
15.4 YCbCr Subsampled Color Spaces 586
15.5 Color Balance and Correction 586
15.5.1 Color Balance 587
15.5.2 Color Adjustment 588
15.5.3 Gamma Correction 589
15.6 Image Histogram 590
15.7 Image Filtering 591
15.8 Image Filtering Using Fast Convolution 596
15.9 Practical Applications 597
15.9.1 JPEG Standard 597
15.9.2 2-D Discrete Cosine Transform 599
15.10 Experiments and Program Examples 601
15.10.1 YCbCr to RGB Conversion 601
15.10.2 Using CCS Link with DSK and Simulator 604
15.10.3 White Balance 607
15.10.4 Gamma Correction and Contrast Adjustment 610
15.10.5 Histogram and Histogram Equalization 611
15.10.6 2-D Image Filtering 613
15.10.7 Implementation of DCT and IDCT 617
15.10.8 TMS320C55x Image Accelerator for DCT and IDCT 621
15.10.9 TMS320C55x Hardware Accelerator Image/Video Processing Library 623
References 625
Exercises 625
Appendix A Some Useful Formulas and Definitions 627
A.1 Trigonometric Identities 627
A.2 Geometric Series 628
A.3 Complex Variables 628
A.4 Units of Power 630
References 631
Appendix B Software Organization and List of Experiments 633
Index 639
Preface
In recent years, digital signal processing (DSP) has expanded beyond filtering, frequency analysis, and
signal generation. More and more markets are opening up to DSP applications, where in the past,
real-time signal processing was not feasible or was too expensive. Real-time signal processing using
general-purpose DSP processors provides an effective way to design and implement DSP algorithms for
real-world applications. However, this is very challenging work in today’s engineering fields. With DSP
penetrating into many practical applications, the demand for high-performance digital signal processors
has expanded rapidly in recent years. Many industrial companies are currently engaged in real-time DSP
research and development. Therefore, it becomes increasingly important for today’s students, practicing
engineers, and development researchers to master not only the theory of DSP, but also the skill of real-time
DSP system design and implementation techniques.
This book provides fundamental real-time DSP principles and uses a hands-on approach to introduce
DSP algorithms, system design, real-time implementation considerations, and many practical applications.
This book contains many useful examples like hands-on experiment software and DSP programs
using MATLAB, Simulink, C, and DSP assembly languages. Also included are various exercises for
further exploring the extensions of the examples and experiments. The book uses the Texas Instruments’
Code Composer Studio (CCS) with the Spectrum Digital TMS320VC5510 DSP starter kit (DSK) development
tool for real-time experiments and applications.
This book emphasizes real-time DSP applications and is intended as a text for senior/graduate-level
college students. The prerequisites of this book are signals and systems concepts, microprocessor architecture
and programming, and basic C programming knowledge. These topics are covered at the
sophomore and junior levels of electrical and computer engineering, computer science, and other related
engineering curricula. This book can also serve as a desktop reference for DSP engineers, algorithm
developers, and embedded system programmers to learn DSP concepts and to develop real-time DSP
applications on the job.We use a practical approach that avoids numerous theoretical derivations. A list of
DSP textbooks with mathematical proofs is given at the end of each chapter. Also helpful are the manuals
and application notes for the TMS320C55x DSP processors from Texas Instruments at www.ti.com,
and for the MATLAB and Simulink from Math Works at www.mathworks.com.
This is the second edition of the book titled ‘Real-Time Digital Signal Processing: Implementations,
Applications and Experiments with the TMS320C55x’ by Kuo and Lee, John Wiley & Sons, Ltd. in
2001. The major changes included in the revision are:
1. To utilize the effective software development process that begins from algorithm design and verification
usingMATLABand floating-point C, to finite-wordlength analysis, fixed-pointCimplementation
and code optimization using intrinsics, assembly routines, and mixed C-and-assembly programming
xvi PREFACE
on fixed-point DSP processors. This step-by-step software development and optimization process
is applied to the finite-impulse response (FIR) filtering, infinite-impulse response (IIR) filtering,
adaptive filtering, fast Fourier transform, and many real-life applications in Chapters 8–15.
2. To add several widely used DSP applications such as speech coding, channel coding, audio coding,
image processing, signal generation and detection, echo cancelation, and noise reduction by expanding
Chapter 9 of the first edition to eight new chapters with the necessary background to perform the
experiments using the optimized software development process.
3. To design and analyze DSP algorithms using the most effective MATLAB graphic user interface
(GUI) tools such as Signal Processing Tool (SPTool), Filter Design and Analysis Tool (FDATool),
etc. These tools are powerful for filter designing, analysis, quantization, testing, and implementation.
4. To add step-by-step experiments to create CCS DSP/BIOS applications, configure the
TMS320VC5510 DSK for real-time audio applications, and utilizeMATLAB’s Link for CCS feature
to improve DSP development, debug, analyze, and test efficiencies.
5. To update experiments to include new sets of hands-on exercises and applications. Also, to update all
programs using the most recent version of software and the TMS320C5510 DSK board for real-time
experiments.
There are many existing DSP algorithms and applications available in MATLAB and floating-point
C programs. This book provides a systematic software development process for converting these programs
to fixed-point C and optimizing them for implementation on commercially available fixed-point
DSP processors. To effectively illustrate real-time DSP concepts and applications, MATLAB is used
for analysis and filter design, C program is used for implementing DSP algorithms, and CCS is integrated
into TMS320C55x experiments and applications. To efficiently utilize the advanced DSP architecture
for fast software development and maintenance, the mixing of C and assembly programs is
emphasized.
This book is organized into two parts:DSPimplementation andDSPapplication. Part I,DSPimplementation
(Chapters 1–7) discusses real-time DSP principles, architectures, algorithms, and implementation
considerations. Chapter 1 reviews the fundamentals of real-time DSP functional blocks, DSP hardware
options, fixed- and floating-point DSP devices, real-time constraints, algorithm development, selection of
DSP chips, and software development. Chapter 2 introduces the architecture and assembly programming
of the TMS320C55x DSP processor. Chapter 3 presents fundamental DSP concepts and practical considerations
for the implementation of digital filters and algorithms on DSP hardware. Chapter 4 focuses
on the design, implementation, and application of FIR filters. Digital IIR filters are covered in Chapter 5,
and adaptive filters are presented in Chapter 7. The development, implementation, and application of
FFT algorithms are introduced in Chapter 6.
Part II, DSP application (Chapters 8–15) introduces several popular real-world applications in signal
processing that have played important roles in the realization of the systems. These selected DSP applications
include signal (sinewave, noise, and multitone) generation in Chapter 8, dual-tone multifrequency
detection in Chapter 9, adaptive echo cancelation in Chapter 10, speech-coding algorithms in Chapter 11,
speech enhancement techniques in Chapter 12, audio coding methods in Chapter 13, error correction
coding techniques in Chapter 14, and image processing fundamentals in Chapter 15.
As with any book attempting to capture the state of the art at a given time, there will certainly be
updates that are necessitated by the rapidly evolving developments in this dynamic field. We are certain
that this book will serve as a guide for what has already come and as an inspiration for what will
follow.
SOFTWARE AVAILABILITY xvii
Software Availability
This text utilizes various MATLAB, floating-point and fixed-point C, DSP assembly and mixed C and
assembly programs for the examples, experiments, and applications. These programs along with many
other programs and real-world data files are available in the companion CD. The directory structure and
the subdirectory names are explained in Appendix B. The software will assist in gaining insight into the
understanding and implementation of DSP algorithms, and it is required for doing experiments in the last
section of each chapter. Some of these experiments involve minor modifications of the example code.
By examining, studying, and modifying the example code, the software can also be used as a prototype
for other practical applications. Every attempt has been made to ensure the correctness of the code. We
would appreciate readers bringing to our attention (kuo@ceet.niu.edu) any coding errors so that we
can correct, update, and post them on the website http://www.ceet.niu.edu/faculty/kuo.
Acknowledgments
We are grateful to Cathy Wicks and Gene Frantz of Texas Instruments, and to Naomi Fernandes and
Courtney Esposito of The MathWorks for providing us with the support needed to write this book. We
would like to thank several individuals atWiley for their support on this project: Simone Taylor, Executive
Commissioning Editor; Emily Bone, Assistant Editor; and Lucy Bryan, Executive Project Editor.We also
thank the staff atWiley for the final preparation of this book. Finally, we thank our families for the endless
love, encouragement, patience, and understanding they have shown throughout this period.
Sen M. Kuo, Bob H. Lee and Wenshun Tian
:11bb
:11bb
谢谢

看看
‘:cacakiki7de
感谢楼主的分享,下来看看如何。:30bb
:29bb 又多了好书了:27bb
只有第一版  看看第二版有什么变化
应求发布,这书封面看上去很舒服。
:29bb
确实是本不错的书籍,支持
很想看看,学习学习
:11bb :11bb :11bb :11bb
很好的资料,非常感谢楼主的共享!!!
嗯,是本好书
谢谢管理员:22bb
:30bb :30bb :30bb :30bb :30bb
好资料,收藏,谢谢楼主共享,继续努力,thank you very much
感谢楼主,楼主是个高尚的人
呵呵~~以前有无意中被我删了,看来只得在下一次了~
学习使人进步
good book!thanks for sharing
还是要谢谢你的,你还会扣我20大洋?
感謝分享!{:soso_e100:}
谢谢楼主
经典书值得收藏,谢谢
谢谢楼主
谢谢分享
好人,好书!
好人,好书!
绝对的好书
谢谢楼主啊
xiexie
xiexie,太给力了!!
客服中心 搜索
关于我们
关于我们
关注我们
联系我们
帮助中心
资讯中心
企业生态
社区论坛
服务支持
资源下载
售后服务
推广服务
关注我们
官方微博
官方空间
官方微信
返回顶部