1 Signals and Signal Processing 1
1.1 Characterization and Classification of Signals 1
1.2 Typical Signal Processing Operations 3
1.3 Examples of Typical Signals 12
Preface 13
1.4 Typical Signal Processing Applications 22
1.5 Why Digital Signal Processing? 37
2 Discrete-Time Signals and Systems in the Time-Domain 41
2.1 Discrete-Time Signals 42
2.2 Typical Sequences and Sequence Representation 53
2.3 The Sampling Process 60
2.4 Discrete-Time Systems 63
2.5 Time-Domain Characterization of LTI Discrete-Time Systems 71
2.6 Finite-Dimensional LTI Discrete-Time Systems 80
2.7 Correlation of Signals 88
2.8 Random Signals 94
2.9 Summary 105
2.10 Problems 106
2.11 MATLAB Exercises 115
3.1 The Discrete-Time Fourier Transform 117
3 Discrete-Time Signals in the Transform-Domain 117
3.2 The Discrete Fourier Transform 131
3.3 Relation between the DTFT and the DFT,and Their Inverses 137
3.4 Discrete Fourier Transform Properties 140
3.5 Computation of the DFT of Real Sequence 146
3.6 Linear Convolution Using the DFT 149
3.7 The z-Transform 155
3.8 Region of Convergence of a Rational z-Transform 159
3.9 Inverse z-Transform 167
3.10 z-Transform Properties 173
3.11 Transform-Domain Representations of Random Signals 176
3.12 Summary 179
3.13 Problems 180
3.14 MATLAB Exercises 199
4 LTI Discrete-Time Systems in the Transform-Domain 203
4.1 Finite-Dimensional Discrete-Time Systems 203
4.2 The Frequency Response 204
4.3 The Transfer Function 215
4.4 Types of Transfer Functions 222
4.5 Simple Digital Filters 234
4.6 Allpass Transfer Function 243
4.7 Minimum-Phase and Maximum-Phase Transfer Functions 246
4.8 Complementary Transfer Functions 248
4.9 Inverse Systems 253
4.10 System Identification 256
4.11 Digital Two-Pairs 259
4.12 Algebraic Stability Test 261
4.13 Discrete-Time Processing of Random Signals 267
4.14 Matched Filter 272
4.15 Summary 275
4.16 Problems 277
4.17 MATLAB Exercises 295
5 Digital Processing of Continuous-Time Signals 299
5.1 Introduction 299
5.2 Sampling of Continuous-Time Signals 300
5.3 Sampling of Bandpass Signals 310
5.4 Analog Lowpass Filter Design 313
5.5 Design of Analog Highpass,Bandpass,and Bandstop Filters 329
5.6 Anti-Aliasing Filter Design 335
5.7 Sample-and-Hold Circuit 337
5.8 Analog-to-Digital Converter 338
5.9 Digital-to-Analog Converter 344
5.10 Reconstruction Filter Design 348
5.11 Effect of Sample-and-Hold Operation 351
5.12 Summary 352
5.13 Problems 353
5.14 MATLAB Exercises 356
6 Digital Filter Structures 359
6.1 Block Diagram Representation 359
6.2 Equivalent Structures 363
6.3 Basic FIR Digital Filter Structures 364
6.4 Basic IIR Digital Filter Structures 368
6.5 Realization of Basic Structures Using MATLAB 374
6.6 Allpass Filters 378
6.7 Tunable IIR Digital Filters 387
6.8 IIR Tapped Cascaded Lattice Structures 389
6.9 FIR Cascaded Lattice Structures 395
6.10 Parallel Allpass Realization of IIR Transfer Functions 401
6.11 Digital Sine-Cosine Generator 405
6.13 Summary 408
6.12 Computational Complexity of Digital Filter Structures 408
6.14 Problems 409
6.15 MATLAB Exercises 421
7 Digital Filter Design 423
7.1 Preliminary Considerations 423
7.2 Bilinear Transformation Method of IIR Filter Design 430
7.3 Design of Lowpass IIR Digital Filters 435
7.4 Design of Highpass,Bandpass,and Bandstop IIR Digital Filters 437
7.5 Spectral Transformations of IIR Filters 441
7.6 FIR Filter Design Based on Windowed Fourier Series 446
7.7 Compuler-Aided Design of Digital Filters 460
7.8 Design of FIR Digital Filters with Least-Mean-Square Error 468
7.9 Constrained Least-Square Design of FIR Digital Filters 469
7.10 Digital Filter Design Using MATLAB 472
7.11 Summary 497
7.12 Problems 498
7.13 MATLAB Exercises 510
8 DSP Algorithm Implementation 515
8.1 Basic Issues 515
8.2 Structure Simulation and Verification Using MATLAB 523
8.3 Computation of the Discrete Fourier Transform 535
8.4 Number Representation 552
8.5 Arithmetic Operations 556
8.6 Handling of Overflow 562
8.7 Tunable Digital Filters 562
8.8 Function Approximation 568
8.9 Summary 571
8.10 Problems 572
8.11 MATLAB Exercises 581
9 Analysis of Finite Wordlength Effects 583
9.1 The Quantization Process and Errors 584
9.2 Quantization of Fixed-Point Numbers 585
9.3 Quantization of Floating-Point Numbers 587
9.4 Analysis of Coefficient Quantization Effects 588
9.5 A/D Conversion Noise Analysis 600
9.6 Analysis of Arithmetic Round-Off Errors 611
9.7 Dynamic Range Scaling 614
9.8 Signal-to-Noise Ration in Low-Order IIR Filters 625
9.9 Low-Sensitivity Digital Filters 629
9.10 Reduction of Product Round-Off Errors Using Error Feedback 635
9.11 Limit Cycles in IIR Digital Filters 639
9.12 Round-Off Errors in FFT Algorithms 646
9.13 Summary 649
9.14 Problems 650
9.15 MATLAB Exercises 657
10 Multirate Digital Signal Processing 659
10.1 The Basic Sample Rate Alteration Devices 660
10.2 Filters in Sampling Rate Alteration Systems 671
10.3 Multistage Design of Decimator and Interpolator 680
10.4 The Polyphase Decomposition 684
10.5 Arbitrary-Rate Sampling Rate Converter 690
10.6 Digital Filter Banks 696
10.7 Nyquist Filters 700
10.8 Two-Channel Quadrature-Mirror Filter Bank 705
10.9 Perfect Reconstruction Two-Channel FIR Filter Banks 714
10.10 L-Channel QMF Banks 722
10.11 Cosine-Modulated L-Channel Filter Banks 730
10.12 Multilevel Filter Banks 734
10.13 Summary 738
10.14 Problems 739
10.15 MATLAB Exercises 750
11 Applications of Digital Signal Processing 753
11.1 Dual-Tone Multifrequency Signal Detection 753
11.2 Spectral Analysis of Sinusoidal Signals 758
11.3 Spectral Analysis of Nonstationary Signals 764
11.4 Spectral Analysis of Random Signals 771
11.5 Musical Sound Processing 780
11.6 Digital FM Stereo Generation 790
11.7 Discrete-Time Analytic Signal Generation 794
11.8 Subband Coding of Speech and Audio Signals 800
11.9 Transmultiplexers 803
11.10 Discrete Multitone Transmission of Digital Data 807
11.11 Digital Audio Sampling Rate Conversion 810
11.12 Oversampling A/D Converter 812
11.13 Oversampling D/A Converter 822
11.14 Sparse Antenna Array Design 826
11.15 Summary 829
11.16 Problems 830
11.17 MATLAB Exercises 834
Bibliography 837
Index 855