Preface xiii
1 Signals and Signal Processing 1
1.1 Characterization and Classification of Signals 1
1.2 Typical Signal processing Operations 3
l.3 Examples of Typical Signals 12
l.4 Typical Signal Processing Applications 22
l.5 Why Digital Signal processing 37
2 Discrete-Time Signals and Systems in the Time-Domain 41
2.l 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 Discrete-Time Signals in the Transform-Domain 117
3.l The Discrete-Time Fourier Transform 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 Sequences 146
3.6 Linear Convolution Using ate 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.l0 z-Transform Properties 173
3.1l Transform-Domain Representations of Random Signals 176
3.12 Summary 179
3.13 Problems l80
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 2 l 5
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.1O System Identification 256
4.ll Digital Two-Pairs 259
4.12 Algebraic Stability Test 26 l
4.13 Discrete-Time Processing of Random Signals 267
4.14 Matched Filter 272
4.15 Summary 275
4.l6 Problems 277
4.17 MATLA8 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 Convener 338
5.9 Digital-to-Analog Converter 344
5.10 Reconstruction Filter Design 348
5.1l Effect of Sample-and-Hold Operation 35l
5.12 Summary 352
5.l3 Problems 353
5.14 MATLAB Exercises 356
6 Digital Filter Structures 359
6.l Block Diagram Representation 359
6.2 Equivalent Structures 363
6.3 Basic Fm 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.1O Parallel Allpass Realization of IIR Transfer Functions 401
6.ll Digital Sine-Cosine Generator 405
6.12 Computational Complexity of Digital Filter Structures 408
6.13 Summary 408
6.14 Problems 409
6.15 MATLAB Exercises 421
7 Digital Filter Design 423
7.l 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 m Digital Filters 437
7.5 Spectral Transformations of IIR Filters 441
7.6 FIR Filter Design Based on Windowed Fourier Series 446
7.7 Computer-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.1O Digital Filter Design Using MATLAB 472
7.11 Summary 497
7.l2 Problems 498
7.l3 MATLAB Exercises 5 IO
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 Arilhmetic Operations 556
8.6 Handling of Overflow 562
8.7 Tunable Digital Filters 562
8.8 Function Approximation 568
8.9 Summary 581
8.10 Problems 572
8.l1 MATLAB Exercises 581
9 Analysis of Finite Wordlength Effects 583
9.l 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 Qualltization Effects 588
9.5 A/D Conversion Noise Analysis 600
9.6 Analysis of Arithmetic Round-Off Errors 61l
9.7 Dynamic Range Scaling 614
9.8 Signal-to-Noise Ratio in Low-Order IIR Filters 625
9.9 Low-Sensitivity Digital Filters 629
9.1O Reduction of Product Round-Off Errors Using Error Feedback 635
9.11 Limit Cycles in IIR Digital Filters 639
9.l2 Round-Off Errors in FFT Algorithms 646
9.l3 Summary 649
9.14 Problems 650
9.15 MATLAB Exercises 657
l0 Multirate Digital Signal Processing 659
l0.l The Basic Sample Rate Alteration Devices 660
10.2 Filters in Sampling Rate Alteration Systems 671
l0.3 Multistage Design of Decimator and Interpolator 680
10.4 The Polyphase Decomposition 684
1O.5 Arbitrary-Rate Sampling Rate Convener 690
l0.6 Digital Filter Banks 696
1O.7 Nyquist Filters 700
l0.8 Two-Channel Quadrature-Minor Filter Bank 705
1O.9 Perfect Reconstruction Two-Channel FIR Filter Banks 714
1O.1O L-Channel QMF Banks 722
1O.1l Cosine-Modulated L-Channel Filter Banks 730
1O.12 Multilevel Filter Banks 734
1O.l3 Summary 738
1O.14 Problems 739
1O.l5 MATLAB Exercises 750
11 Applications of Digital Signal Processing 753
11.l Dual-Tone Multifrequency Signal Detection 753
ll.2 Spectral Analysis of Sinusoidal Signals 758
ll.3 Spectral Analysis of Nonstationary Signals 764
ll.4 Spectral Analysis of Random Signals 77l
ll.5 Musical Sound processing 780
1l.6 Digital FM Stereo Generation 696
ll.7 Discrete-Time Analytic Signal Generation 794
11.8 Subband Coding of Speech and Audio Signals 800
1l.9 Transmultiplexers 803
1l.10 Discrete Multitone Transmission of Digital Data 807
ll.l1 Digital Audio Sampling Rate Conversion 81O
l1.12 Oversampling A/D Convener 812
ll.l3 Oversampling D/A Convener 822
ll.14 Sparse Antenna Array Design 826
ll.15 Summary 829
1l.16 Problems 830
1l.17 MATLAB Exercises 834
Bibliography 837
Index 855