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
Author(s): Li Tan
Edition: 1
Year: 2007
Language: English
Pages: 840
Front Cover......Page 1
Digital Signal Processing......Page 4
Copyright Page......Page 5
Contents......Page 6
Preface......Page 14
About the Author......Page 18
1.1 Basic Concepts of Digital Signal Processing......Page 19
1.2.1 Digital Filtering......Page 21
1.2.2 Signal Frequency (Spectrum) Analysis......Page 22
1.3.1 Digital Crossover Audio System......Page 24
1.3.3 Speech Coding and Compression......Page 25
1.3.4 Compact-Disc Recording System......Page 27
1.3.5 Digital Photo Image Enhancement......Page 28
1.4 Digital Signal Processing Applications......Page 29
References......Page 30
2.1 Sampling of Continuous Signal......Page 31
2.2 Signal Reconstruction......Page 38
2.2.1 Practical Considerations for Signal Sampling: Anti-Aliasing Filtering......Page 43
2.2.2 Practical Considerations for Signal Reconstruction: Anti-Image Filter and Equalizer......Page 47
2.3 Analog-to-Digital Conversion, Digital-to-Analog Conversion, and Quantization......Page 53
2.4 Summary......Page 67
2.5 MATLAB Programs......Page 68
2.6 Problems......Page 69
References......Page 74
3.1 Digital Signals......Page 75
3.1.1 Common Digital Sequences......Page 76
3.1.2 Generation of Digital Signals......Page 80
3.2.1 Linearity......Page 82
3.2.2 Time Invariance......Page 83
3.2.3 Causality......Page 85
3.3.1 Format of Difference Equation......Page 86
3.3.2 System Representation Using Its Impulse Response......Page 87
3.4 Bounded-in-and-Bounded-out Stability......Page 90
3.5 Digital Convolution......Page 92
3.6 Summary......Page 100
3.7 Problems......Page 101
4.1 Discrete Fourier Transform......Page 105
4.1.1 Fourier Series Coefficients of Periodic Digital Signals......Page 106
4.1.2 Discrete Fourier Transform Formulas......Page 110
4.2 Amplitude Spectrum and Power Spectrum......Page 116
4.3 Spectral Estimation Using Window Functions......Page 128
4.5 Fast Fourier Transform......Page 138
4.5.1 Method of Decimation-in-Frequency......Page 140
4.5.2 Method of Decimation-in-Time......Page 145
4.7 Problems......Page 149
References......Page 152
5.1 Definition......Page 153
5.2 Properties of the z-Transform......Page 157
5.3 Inverse z-Transform......Page 160
5.3.1 Partial Fraction Expansion Using MATLAB......Page 166
5.4 Solution of Difference Equations Using the z-Transform......Page 169
5.5 Summary......Page 173
5.6 Problems......Page 174
Reference......Page 176
6.1 The Difference Equation and Digital Filtering......Page 177
6.2 Difference Equation and Transfer Function......Page 183
6.2.1 Impulse Response, Step Response, and System Response......Page 187
6.3 The z-Plane Pole-Zero Plot and Stability......Page 189
6.4 Digital Filter Frequency Response......Page 197
6.5 Basic Types of Filtering......Page 206
6.6.1 Direct-Form I Realization......Page 213
6.6.2 Direct-Form II Realization......Page 214
6.6.3 Cascade (Series) Realization......Page 215
6.6.4 Parallel Realization......Page 216
6.7.1 Pre-Emphasis of Speech......Page 220
6.7.2 Bandpass Filtering of Speech......Page 223
6.8 Summary......Page 226
6.9 Problems......Page 227
Reference......Page 232
7.1 Finite Impulse Response Filter Format......Page 233
7.2 Fourier Transform Design......Page 235
7.3 Window Method......Page 247
7.4.1 Noise Reduction......Page 271
7.4.2 Speech Noise Reduction......Page 273
7.4.3 Two-Band Digital Crossover......Page 274
7.5 Frequency Sampling Design Method......Page 278
7.6 Optimal Design Method......Page 286
7.7.1 Transversal Form......Page 298
7.7.2 Linear Phase Form......Page 300
7.8 Coefficient Accuracy Effects on Finite Impulse Response Filters......Page 301
7.9 Summary of Finite Impulse Response (FIR) Design Procedures and Selection of FIR Filter Design Methods in Practice......Page 305
7.10 Summary......Page 308
7.11 MATLAB Programs......Page 309
7.12 Problems......Page 312
References......Page 319
8.1 Infinite Impulse Response Filter Format......Page 321
8.2 Bilinear Transformation Design Method......Page 323
8.2.1 Analog Filters Using Lowpass Prototype Transformation......Page 324
8.2.2 Bilinear Transformation and Frequency Warping......Page 328
8.2.3 Bilinear Transformation Design Procedure......Page 335
8.3.1 Lowpass Prototype Function and Its Order......Page 340
8.3.2 Lowpass and Highpass Filter Design Examples......Page 344
8.3.3 Bandpass and Bandstop Filter Design Examples......Page 354
8.4 Higher-Order Infinite Impulse Response Filter Design Using the Cascade Method......Page 361
8.5 Application: Digital Audio Equalizer......Page 364
8.6 Impulse Invariant Design Method......Page 368
8.7 Polo-Zero Placement Method for Simple Infinite Impulse Response Filters......Page 376
8.7.1 Second-Order Bandpass Filter Design......Page 377
8.7.2 Second-Order Bandstop (Notch) Filter Design......Page 378
8.7.3 First-Order Lowpass Filter Design......Page 380
8.7.4 First-Order Highpass Filter Design......Page 382
8.8 Realization Structures of Infinite Impulse Response Filters......Page 383
8.8.1 Realization of Infinite Impulse Response Filters in Direct-Form I and Direct-Form II......Page 384
8.8.2 Realization of Higher-Order Infinite Impulse Response Filters via the Cascade Form......Page 386
8.9 Application: 60-Hz Hum Eliminator and Heart Rate Detection Using Electrocardiography......Page 388
8.10 Coefficient Accuracy Effects on Infinite Impulse Response Filters......Page 395
8.11 Application: Generation and Detection of Dual-Tone Multifrequency Tones Using Goertzel Algorithm......Page 399
8.11.1 Single-Tone Generator......Page 400
8.11.2 Dual-Tone Multifrequency Tone Generator......Page 402
8.11.3 Goertzel Algorithm......Page 404
8.11.4 Dual-Tone Multifrequency Tone Detection Using the Modified Goertzel Algorithm......Page 409
8.12 Summary of Infinite Impulse Response (IIR) Design Procedures and Selection of the IIR Filter Design Methods in Practice......Page 414
8.13 Summary......Page 419
8.14 Problems......Page 420
References......Page 430
9.1 Digital Signal Processor Architecture......Page 431
9.2.1 Multiplier and Accumulator......Page 434
9.2.2 Shifters......Page 435
9.2.3 Address Generators......Page 436
9.3 Digital Signal Processors and Manufactures......Page 437
9.4.1 Fixed-Point Format......Page 438
9.4.2 Floating-Point Format......Page 447
9.4.3 IEEE Floating-Point Formats......Page 452
9.4.5 Fixed-Point Digital Signal Processors......Page 455
9.4.6 Floating-Point Processors......Page 457
9.5 Finite Impulse Response and Infinite Impulse Response Filter Implementation in Fixed-Point Systems......Page 459
9.6.1 Overview of TMS320C67x DSK......Page 465
9.6.2 Concept of Real-Time Processing......Page 469
9.6.3 Linear Buffering......Page 470
9.6.4 Sample C Programs......Page 473
9.7 Summary......Page 478
9.8 Problems......Page 479
References......Page 480
10.1 Introduction to Least Mean Square Adaptive Finite Impulse Response Filters......Page 481
10.2 Basic Wiener Filter Theory and Least Mean Square Algorithm......Page 485
10.3.1 Noise Cancellation......Page 491
10.3.2 System Modeling......Page 497
10.3.3 Line Enhancement Using Linear Prediction......Page 502
10.4 Other Application Examples......Page 504
10.4.1 Canceling Periodic Interferences Using Linear Prediction......Page 505
10.4.2 Electrocardiography Interference Cancellation......Page 506
10.4.3 Echo Cancellation in Long-Distance Telephone Circuits......Page 507
10.6 Problems......Page 509
References......Page 514
11.1 Linear Midtread Quantization......Page 515
11.2.1 Analog mu-Law Companding......Page 519
11.2.2 Digital mu-Law Companding......Page 524
11.3.1 Examples of Differential Pulse Code Modulation and Delta Modulation......Page 528
11.3.2 Adaptive Differential Pulse Code Modulation G.721......Page 533
11.4.1 Discrete Cosine Transform......Page 540
11.4.2 Modified Discrete Cosine Transform......Page 543
11.4.3 Transform Coding in MPEG Audio......Page 548
11.5 Summary......Page 551
11.6 MATLAB Programs......Page 552
11.7 Problems......Page 568
References......Page 573
12.1 Multirate Digital Signal Processing Basics......Page 575
12.1.1 Sampling Rate Reduction by an Integer Factor......Page 576
12.1.2 Sampling Rate Increase by an Integer Factor......Page 582
12.1.3 Changing Sampling Rate by a Non-Integer Factor L/M......Page 588
12.1.4 Application: CD Audio Player......Page 593
12.1.5 Multistage Decimation......Page 596
12.2 Polyphase Filter Structure and Implementation......Page 601
12.3 Oversampling of Analog-to-Digital Conversion......Page 607
12.3.1 Oversampling and Analog-to-Digital Conversion Resolution......Page 608
12.3.2 Sigma-DeltaModulation Analog-to-Digital Conversion......Page 611
12.4 Application Example: CD Player......Page 617
12.5 Undersampling of Bandpass Signals......Page 619
12.6 Summary......Page 627
12.7 Problems......Page 628
References......Page 632
13.1 Image Processing Notation and Data Formats......Page 635
13.1.1 8-Bit Gray Level Images......Page 636
13.1.2 24-Bit Color Images......Page 637
13.1.3 8-Bit Color Images......Page 638
13.1.4 Intensity Images......Page 639
13.1.5 Red, Green, Blue Components and Grayscale Conversion......Page 640
13.1.6 MATLAB Functions for Format Conversion......Page 642
13.2.1 Grayscale Histogram and Equalization......Page 643
13.2.2 24-Bit Color Image Equalization......Page 650
13.2.3 8-Bit Indexed Color Image Equalization......Page 651
13.2.4 MATLAB Functions for Equalization......Page 654
13.3 Image Level Adjustment and Contrast......Page 655
13.3.1 Linear Level Adjustment......Page 656
13.3.2 Adjusting the Level for Display......Page 659
13.4 Image Filtering Enhancement......Page 660
13.4.1 Lowpass Noise Filtering......Page 661
13.4.2 Median Filtering......Page 664
13.4.3 Edge Detection......Page 669
13.4.4 MATLAB Functions for Image Filtering......Page 673
13.5 Image Pseudo-Color Generation and Detection......Page 675
13.6 Image Spectra......Page 679
13.7 Image Compression by Discrete Cosine Transform......Page 682
13.7.1 Two-Dimensional Discrete Cosine Transform......Page 684
13.7.2 Two-Dimensional JPEG Grayscale Image Compression Example......Page 687
13.7.3 JPEG Color Image Compression......Page 689
13.9 Video Signal Basics......Page 695
13.9.1 Analog Video......Page 696
13.9.2 Digital Video......Page 703
13.10 Motion Estimation in Video......Page 705
13.11 Summary......Page 708
13.12 Problems......Page 710
References......Page 716
A.1 Basic Commands and Syntax......Page 717
A.2 MATLAB Array and Indexing......Page 721
A.4 MATLAB Script Files......Page 722
A.5 MATLAB Functions......Page 723
References......Page 725
B.1.1 Sine-Cosine Form......Page 727
B.1.2 Amplitude-Phase Form......Page 728
B.1.3 Complex Exponential Form......Page 729
B.1.4 Spectral Plots......Page 732
B.1.5 Fourier Transform......Page 739
B.2.1 Laplace Transform and Its Table......Page 744
B.2.2 Solving Differential Equations Using Laplace Transform......Page 745
B.2.3 Transfer Function......Page 748
B.3.1 Poles, Zeros, and Stability......Page 749
B.3.2 Convolution......Page 751
B.3.3 Sinusoidal Steady-State Response......Page 753
B.4 Problems......Page 754
References......Page 758
C.1 Normalized Butterworth Function......Page 759
C.2 Normalized Chebyshev Function......Page 762
D.1 Sinusoidal Steady-State Response......Page 767
D.2 Properties of the Sinusoidal Steady-State Response......Page 769
Appendix E: Finite Impulse Response Filter Design Equations by the Frequency Sampling Design Method......Page 771
Appendix F: Some Useful Mathematical Formulas......Page 775
Bibliography......Page 779
Answers to Selected Problems......Page 783
Index......Page 809
Color Plates......Page 835