This textbook presents digital signal processing (DSP) principles, applications, and hardware implementation issues, emphasizing achievable results and conclusions through the presentation of numerous worked examples, while reducing the use of mathematics for an easier grasp of the concepts. Features include: Real-time implementation of DSP algorithms using DSP processors, MATLAB programs for simulations and C programs for real-time DSP, Coverage of adaptive filtering with applications to...
This textbook presents digital signal processing (DSP) principles, applications, and hardware implementation issues, emphasizing achievable results and conclusions through the presentation of numerous worked examples, while reducing the use of mathematics for an easier grasp of the concepts. Features include:* Real-time implementation of DSP algorithms using DSP processors* MATLAB programs for simulations and C programs for real-time DSP * Coverage of adaptive filtering with applications to noise reduction and echo cancellation* Applications of DSP to multimedia applications - such as u-law and adaptive differential pulse code modulation, sampling rate conversions, transform coding, image and video processing - show the relevance of DSP to a key area in industry* MATLAB programs, student exercises and Real-time C programs available at http://books.elsevier.com/companions/9780123740908This text gives students in electronics, computer engineering and bioengineering an understanding of essential DSP principles and implementation, demonstrating how the subject is fundamental to engineering as practiced today."Professor Tan has written a comprehensive introduction to DSP, not lacking in theory and yet suitable for tech school as well as senior-level university courses. With this text one can move through all the main areas of modern DSP, learn the theory, and see plenty of illustrations in terms of hardware and software. It's an excellent reference for our present age, in which DSP has applications in practically every area of technology." - Samuel D. Stearns, Research Professor of Electrical and Computer Engineering, University of New Mexico*Covers DSP principles and hardware issues with emphasis on applications and many worked examples*Website with MATLAB programs for simulation and C programs for real-time DSP*End of chapter problems are helpful in ensuring retention and understanding of what was just read
Preface xiiiAbout the Author xviiIntroduction to Digital Signal Processing 1Basic Concepts of Digital Signal Processing 1Basic Digital Signal Processing Examples in Block Diagrams 3Digital Filtering 3Signal Frequency (Spectrum) Analysis 4Overview of Typical Digital Signal Processing in Real-World Applications 6Digital Crossover Audio System 6Interference Cancellation in Electrocardiography 7Speech Coding and Compression 7Compact-Disc Recording System 9Digital Photo Image Enhancement 10Digital Signal Processing Applications 11Summary 12Signal Sampling and Quantization 13Sampling of Continuous Signal 13Signal Reconstruction 20Practical Considerations for Signal Sampling: Anti-Aliasing Filtering 25Practical Considerations for Signal Reconstruction: Anti-Image Filter and Equalizer 29Analog-to-Digital Conversion, Digital-to-Analog Conversion, and Quantization 35Summary 49MATLAB Programs 50Problems 51Digital Signalsand Systems 57Digital Signals 57Common Digital Sequences 58Generation of Digital Signals 62Linear Time-Invariant, Causal Systems 64Linearity 64Time Invariance 65Causality 67Difference Equations and Impulse Responses 68Format of Difference Equation 68System Representation Using Its Impulse Response 69Bounded-in-and-Bounded-out Stability 72Digital Convolution 74Summary 82Problems 83Discrete Fourier Transform and Signal Spectrum 87Discrete Fourier Transform 87Fourier Series Coefficients of Periodic Digital Signals 88Discrete Fourier Transform Formulas 92Amplitude Spectrum and Power Spectrum 98Spectral Estimation Using Window Functions 110Application to Speech Spectral Estimation 117Fast Fourier Transform 120Method of Decimation-in-Frequency 121Method of Decimation-in-Time 127Summary 131Problems 131The z-Transform 135Definition 135Properties of the z-Transform 139Inverse z-Transform 142Partial Fraction Expansion Using MATLAB 148Solution of Difference Equations Using the z-Transform 151Summary 155Problems 156Digital Signal Processing Systems, Basic Filtering Types, and Digital Filter Realizations 159The Difference Equation and Digital Filtering 159Difference Equation and Transfer Function 165Impulse Response, Step Response, and System Response 169The z-Plane Pole-Zero Plot and Stability 171Digital Filter Frequency Response 179Basic Types of Filtering 188Realization of Digital Filters 195Direct-Form I Realization 195Direct-Form II Realization 196Cascade (Series) Realization 197Parallel Realization 198Application: Speech Enhancement and Filtering 202Pre-Emphasis of Speech 202Bandpass Filtering of Speech 205Summary 208Problems 209Finite Impulse Response Filter Design 215Finite Impulse Response Filter Format 215Fourier Transform Design 217Window Method 229Applications: Noise Reduction and Two-Band Digital Crossover 253Noise Reduction 253Speech Noise Reduction 255Two-Band Digital Crossover 256Frequency Sampling Design Method 260Optimal Design Method 268Realization Structures of Finite Impulse Response Filters 280Transversal Form 280Linear Phase Form 282Coefficient Accuracy Effects on Finite Impulse Response Filters 283Summary of Finite Impulse Response (FIR) Design Procedures and Selection of FIR Filter Design Methods in Practice 287Summary 290MATLAB Programs 291Problems 294Infinite Impulse Response Filter Design 303Infinite Impulse Response Filter Format 303Bilinear Transformation Design Method 305Analog Filters Using Lowpass Prototype Transformation 306Bilinear Transformation and Frequency Warping 310Bilinear Transformation Design Procedure 317Digital Butterworth and Chebyshev Filter Designs 322Lowpass Prototype Function and Its Order 322Lowpass and Highpass Filter Design Examples 326Bandpass and Bandstop Filter Design Examples 336Higher-Order Infinite Impulse Response Filter Design Using the Cascade Method 343Application: Digital Audio Equalizer 346Impulse Invariant Design Method 350Polo-Zero Placement Method for Simple Infinite Impulse Response Filters 358Second-Order Bandpass Filter Design 359Second-Order Bandstop (Notch) Filter Design 360First-Order Lowpass Filter Design 362First-Order Highpass Filter Design 364Realization Structures of Infinite Impulse Response Filters 365Realization of Infinite Impulse Response Filters in Direct-Form I and Direct-Form II 366Realization of Higher-Order Infinite Impulse Response Filters via the Cascade Form 368Application: 60-Hz Hum Eliminator and Heart Rate Detection Using Electrocardiography 370Coefficient Accuracy Effects on Infinite Impulse Response Filters 377Application: Generation and Detection of Dual-Tone Multifrequency Tones Using Goertzel Algorithm 381Single-Tone Generator 382Dual-Tone Multifrequency Tone Generator 384Goertzel Algorithm 386Dual-Tone Multifrequency Tone Detection Using the Modified Goertzel Algorithm 391Summary of Infinite Impulse Response (IIR) Design Procedures and Selection of the IIR Filter Design Methods in Practice 396Summary 401Problems 402Hardware and Software for Digital Signal Processors 413Digital Signal Processor Architecture 413Digital Signal Processor Hardware Units 416Multiplier and Accumulator 416Shifters 417Address Generators 418Digital Signal Processors and Manufactures 419Fixed-Point and Floating-Point Formats 420Fixed-Point Format 420Floating-Point Format 429IEEE Floating-Point Formats 434Fixed-Point Digital Signal Processors 437Floating-Point Processors 439Finite Impulse Response and Infinite Impulse Response Filter Implementation in Fixed-Point Systems 441Digital Signal Processing Programming Examples 447Overview or TMS320C67x DSK 447Concept of Real-Time Processing 451Linear Buffering 452Sample C Programs 455Summary 460Problems 461Adaptive Filters and Applications 463Introduction to Least Mean Square Adaptive Finite Impulse Response Filters 463Basic Wiener Filter Theory and Least Mean Square Algorithm 467Applications: Noise Cancellation, System Modeling, and Line Enhancement 473Noise Cancellation 473System Modeling 479Line Enhancement Using Linear Prediction 484Other Application Examples 486Canceling Periodic Interferences Using Linear Prediction 487Electrocardiography Interference Cancellation 488Echo Cancellation in Long-Distance Telephone Circuits 489Summary 491Problems 491Waveform Quantization and Compression 497Linear Midtread Quantization 497[Mu]-law Companding 501Analog [Mu]-Law Companding 501Digital [Mu]-Law Companding 506Examples of Differential Pulse Code Modulation (DPCM), Delta Modulation, and Adaptive DPCM G.721 510Examples of Differential Pulse Code Modulation and Delta Modulation 510Adaptive Differential Pulse Code Modulation G.721 515Discrete Cosine Transform, Modified Discrete Cosine Transform, and Transform Coding in MPEG Audio 522Discrete Cosine Transform 522Modified Discrete Cosine Transform 525Transform Coding in MPEG Audio 530Summary 533MATLAB Programs 534Problems 550Multirate Digital Signal Processing, Oversampling of Analog-to-Digital Conversion, and Undersampling of Bandpass Signals 557Multirate Digital Signal Processing Basics 557Sampling Rate Reduction by an Integer Factor 558Sampling Rate Increase by an Integer Factor 564Changing Sampling Rate by a Non-Integer Factor L/M 570Application: CD Audio Player 575Multistage Decimation 578Polyphase Filter Structure and Implementation 583Oversampling of Analog-to-Digital Conversion 589Oversampling and Analog-to-Digital Conversion Resolution 590Sigma-Delta Modulation Analog-to-Digital Conversion 593Application Example: CD Player 599Undersampling of Bandpass Signals 601Summary 609Problems 610Image Processing Basics 617Image Processing Notation and Data Formats 6178-Bit Gray Level Images 61824-Bit Color Images 6198-Bit Color Images 620Intensity Images 621Red, Green, Blue Components and Grayscale Conversion 622MATLAB Functions for Format Conversion 624Image Histogram and Equalization 625Grayscale Histogram and Equalization 62524-Bit Color Image Equalization 6328-Bit Indexed Color Image Equalization 633MATLAB Functions for Equalization 636Image Level Adjustment and Contrast 637Linear Level Adjustment 638Adjusting the Level for Display 641Matlab Functions for Image Level Adjustment 642Image Filtering Enhancement 642Lowpass Noise Filtering 643Median Filtering 646Edge Detection 651MATLAB Functions for Image Filtering 655Image Pseudo-Color Generation and Detection 657Image Spectra 661Image Compression by Discrete Cosine Transform 664Two-Dimensional Discrete Cosine Transform 666Two-Dimensional JPEG Grayscale Image Compression Example 669JPEG Color Image Compression 671Creating a Video Sequence by Mixing Two Images 677Video Signal Basics 677Analog Video 678Digital Video 685Motion Estimation in Video 687Summary 690Problems 692Introduction to the MATLAB Environment 699Basic Commands and Syntax 699MATLAB Array and Indexing 703Plot Utilities: Subplot, Plot, Stem, and Stair 704MATLAB Script Files 704MATLAB Functions 705Review of Analog Signal Processing Basics 709Fourier Series and Fourier Transform 709Sine-Cosine Form 709Amplitude-Phase Form 710Complex Exponential Form 711Spectral Plots 714Fourier Transform 721Laplace Transform 726Laplace Transform and Its Table 726Solving Differential Equations Using Laplace Transform 727Transfer Function 730Poles, Zeros, Stability, Convolution, and Sinusoidal Steady-State Response 731Poles, Zeros, and Stability 731Convolution 733Sinusoidal Steady-State Response 735Problems 736Normalized Butterworth and Chebyshev Fucntions 741Normalized Butterworth Function 741Normalized Chebyshev Function 744Sinusoidal Steady-State Response of Digital Filters 749Sinusoidal Steady-State Response 749Properties of the Sinusoidal Steady-State Response 751Finite Impulse Response Filter Design Equations by the Frequency Sampling Design Method 753Some Useful Mathematical Formulas 757Bibliography 761Answers to Selected Problems 765Index 791