This new, fully-revised edition covers all the major topics of digital signal processing (DSP) design and analysis in a single, all-inclusive volume, interweaving theory with real-world examples and design trade-offs. Building on the success of the original, this edition includes new material on random signal processing, a new chapter on spectral estimation, greatly expanded coverage of filter banks and wavelets, and new material on the solution of difference equations. Additional steps in mathematical derivations make them easier to follow, and an important new feature is the do-it-yourself section at the end of each chapter, where readers get hands-on experience of solving practical signal processing problems in a range of MATLAB experiments. With 120 worked examples, 20 case studies, and almost 400 homework exercises, the book is essential reading for anyone taking DSP courses. Its unique blend of theory and real-world practical examples also makes it an ideal reference for practitioners.
Author(s): Paulo S. R. Diniz, Eduardo A. B. da Silva, Sergio L. Netto
Edition: 2
Publisher: Cambridge University Press
Year: 2010
Language: English
Pages: 913
Tags: Приборостроение;Обработка сигналов;
Half-title......Page 3
Title......Page 5
Copyright......Page 6
Dedication......Page 7
Contents......Page 9
Preface......Page 18
Introduction......Page 25
1.1 Introduction......Page 29
1.2 Discrete-time signals......Page 30
1.3.1 Linearity......Page 34
1.3.3 Causality......Page 35
1.3.4 Impulse response and convolution sums......Page 38
1.3.5 Stability......Page 40
1.4 Difference equations and time-domain response......Page 41
1.4.1 Recursive × nonrecursive systems......Page 45
1.5 Solving difference equations......Page 46
1.5.1 Computing impulse responses......Page 55
1.6 Sampling of continuous-time signals......Page 57
1.6.2 Sampling theorem......Page 58
1.7 Random signals......Page 77
1.7.1 Random variable......Page 78
1.7.2 Random processes......Page 82
1.7.3 Filtering a random signal......Page 84
Experiment 1.1......Page 86
Experiment 1.2......Page 87
Experiment 1.3......Page 89
1.9 Discrete-time signals and systems with MATLAB......Page 91
1.11 Exercises......Page 92
2.1 Introduction......Page 99
2.2 Definition of the z transform......Page 100
2.3 Inverse z transform......Page 107
2.3.1 Computation based on residue theorem......Page 108
2.3.2 Computation based on partial-fraction expansions......Page 111
2.3.3 Computation based on polynomial division......Page 114
2.3.4 Computation based on series expansion......Page 116
2.4.2 Time reversal......Page 118
2.4.5 Complex differentiation......Page 119
2.4.6 Complex conjugation......Page 120
2.4.8 Initial-value theorem......Page 121
2.4.10 Product of two sequences......Page 122
2.4.11 Parseval’s theorem......Page 124
2.4.12 Table of basic z transforms......Page 125
2.5 Transfer functions......Page 128
2.6 Stability in the z domain......Page 130
2.7 Frequency response......Page 133
2.8 Fourier transform......Page 139
2.9.5 Complex differentiation......Page 144
2.9.7 Real and imaginary sequences......Page 145
2.9.8 Symmetric and antisymmetric sequences......Page 146
2.10 Fourier transform for periodic sequences......Page 147
2.11.1 Power spectral density......Page 149
2.11.2 White noise......Page 152
Experiment 2.2......Page 153
Experiment 2.3......Page 156
2.13 The z and Fourier transforms with MATLAB......Page 159
2.15 Exercises......Page 161
3.1 Introduction......Page 167
3.2 Discrete Fourier transform......Page 168
3.3.3 Time-shift theorem......Page 177
3.3.4 Circular frequency-shift theorem (modulation theorem)......Page 180
3.3.5 Circular convolution in time......Page 181
3.3.6 Correlation......Page 182
3.3.8 Real and imaginary sequences......Page 183
3.3.9 Symmetric and antisymmetric sequences......Page 184
3.3.10 Parseval’s theorem......Page 186
3.3.11 Relationship between the DFT and the z transform......Page 187
3.4.1 Linear and circular convolutions......Page 188
3.4.2 Overlap-and-add method......Page 192
3.4.3 Overlap-and-save method......Page 195
3.5 Fast Fourier transform......Page 199
3.5.1 Radix-2 algorithm with decimation in time......Page 200
3.5.2 Decimation in frequency......Page 208
3.5.3 Radix-4 algorithm......Page 211
3.5.4 Algorithms for arbitrary values of N......Page 216
3.5.5 Alternative techniques for determining the DFT......Page 217
3.6 Other discrete transforms......Page 218
3.6.1 Discrete transforms and Parseval’s theorem......Page 219
3.6.2 Discrete transforms and orthogonality......Page 220
3.6.3 Discrete cosine transform......Page 223
3.6.4 A family of sine and cosine transforms......Page 227
3.6.5 Discrete Hartley transform......Page 229
3.6.6 Hadamard transform......Page 230
Karhunen–Loève transform......Page 231
3.7.2 The z transform......Page 232
3.7.4 Fourier transform (discrete time)......Page 233
3.7.6 Discrete Fourier transform......Page 234
Experiment 3.1......Page 235
Experiment 3.2......Page 237
3.9 Discrete transforms with MATLAB......Page 239
3.10 Summary......Page 240
3.11 Exercises......Page 241
4.2 Basic structures of nonrecursive digital filters......Page 246
4.2.1 Direct form......Page 247
4.2.2 Cascade form......Page 248
4.2.3 Linear-phase forms......Page 249
4.3.1 Direct forms......Page 256
4.3.2 Cascade form......Page 260
4.3.3 Parallel form......Page 261
4.4 Digital network analysis......Page 265
4.5 State-space description......Page 268
4.6.1 Tellegen’s theorem......Page 270
4.6.2 Reciprocity......Page 272
4.6.4 Transposition......Page 273
4.6.5 Sensitivity......Page 274
4.7.1 Second-order building blocks......Page 281
4.7.2 Digital oscillators......Page 284
4.7.3 Comb filter......Page 285
Experiment 4.1......Page 287
4.9 Digital filter forms with MATLAB......Page 290
4.11 Exercises......Page 294
5.2 Ideal characteristics of standard filters......Page 301
5.2.1 Lowpass, highpass, bandpass, and bandstop filters......Page 302
5.2.2 Differentiators......Page 304
5.2.3 Hilbert transformers......Page 305
5.3 FIR filter approximation by frequency sampling......Page 307
5.4 FIR filter approximation with window functions......Page 315
5.4.1 Rectangular window......Page 318
5.4.2 Triangular windows......Page 319
5.4.3 Hamming and Hann windows......Page 320
5.4.4 Blackman window......Page 321
5.4.5 Kaiser window......Page 323
5.4.6 Dolph–Chebyshev window......Page 330
5.5 Maximally flat FIR filter approximation......Page 333
5.6 FIR filter approximation by optimization......Page 337
5.6.1 Weighted least-squares method......Page 341
5.6.2 Chebyshev method......Page 345
5.6.3 WLS--Chebyshev method......Page 351
Experiment 5.1......Page 357
Experiment 5.2......Page 359
5.8 FIR filter approximation with MATLAB......Page 360
5.9 Summary......Page 366
5.10 Exercises......Page 367
6.1 Introduction......Page 373
6.2.1 Analog filter specification......Page 374
6.2.2 Butterworth approximation......Page 375
6.2.3 Chebyshev approximation......Page 377
6.2.4 Elliptic approximation......Page 380
6.2.5 Frequency transformations......Page 383
6.3.1 Impulse-invariance method......Page 392
6.3.2 Bilinear transformation method......Page 396
6.4 Frequency transformation in the discrete-time domain......Page 402
6.4.1 Lowpass-to-lowpass transformation......Page 403
6.4.3 Lowpass-to-bandpass transformation......Page 404
6.4.5 Variable-cutoff filter design......Page 405
6.5.1 Basic principles......Page 406
6.5.2 Multivariable function minimization method......Page 411
6.5.3 Alternative methods......Page 413
6.6 Time-domain approximation......Page 415
6.6.1 Approximate approach......Page 417
Experiment 6.1......Page 418
Experiment 6.2......Page 420
6.8 IIR filter approximation with MATLAB......Page 423
6.9 Summary......Page 427
6.10 Exercises......Page 428
7.1 Introduction......Page 433
7.2 Estimation theory......Page 434
7.3.1 Periodogram......Page 435
7.3.2 Periodogram variations......Page 437
7.3.3 Minimum-variance spectral estimator......Page 440
7.4.1 Rational transfer-function models......Page 443
7.4.2 Yule–Walker equations......Page 447
7.5.1 Linear prediction......Page 450
7.5.2 Covariance method......Page 454
7.5.3 Autocorrelation method......Page 455
7.5.4 Levinson–Durbin algorithm......Page 456
7.5.5 Burg’s method......Page 458
7.6 Wiener filter......Page 462
7.7 Other methods for spectral estimation......Page 465
Experiment 7.1......Page 466
Experiment 7.2......Page 470
7.9 Spectral estimation with MATLAB......Page 473
7.10 Summary......Page 474
7.11 Exercises......Page 475
8.2 Basic principles......Page 479
8.3 Decimation......Page 480
8.4 Interpolation......Page 486
8.4.1 Examples of interpolators......Page 488
8.5 Rational sampling-rate changes......Page 489
8.6 Inverse operations......Page 490
8.7 Noble identities......Page 491
8.8 Polyphase decompositions......Page 493
8.9 Commutator models......Page 495
8.10.1 Narrowband FIR filters......Page 498
8.10.2 Wideband FIR filters with narrow transition bands......Page 501
8.11 Overlapped block filtering......Page 503
8.11.1 Nonoverlapped case......Page 504
8.11.2 Overlapped input and output......Page 507
8.11.4 Fast convolution structure II......Page 511
8.12 Random signals in multirate systems......Page 514
8.12.1 Interpolated random signals......Page 515
8.12.2 Decimated random signals......Page 516
Experiment 8.1......Page 517
8.14 Multirate systems with MATLAB......Page 519
8.15 Summary......Page 521
8.16 Exercises......Page 522
9.2 Filter banks......Page 527
9.2.1 Decimation of a bandpass signal......Page 528
9.2.2 Inverse decimation of a bandpass signal......Page 529
9.2.3 Critically decimated M-band filter banks......Page 530
9.3.1 M-band filter banks in terms of polyphase components......Page 531
9.3.2 Perfect reconstruction M-band filter banks......Page 533
9.4 Analysis of M-band filter banks......Page 541
9.4.1 Modulation matrix representation......Page 542
9.4.2 Time-domain analysis......Page 544
9.4.3 Orthogonality and biorthogonality in filter banks......Page 553
9.4.3.1 Orthogonality in the z transform domain......Page 557
9.4.4 Transmultiplexers......Page 558
9.5 General two-band perfect reconstruction filter banks......Page 559
9.6 QMF filter banks......Page 564
9.7 CQF filter banks......Page 567
9.8 Block transforms......Page 572
9.9 Cosine-modulated filter banks......Page 578
9.9.1 The optimization problem in the design of cosine-modulated filter banks......Page 583
9.10 Lapped transforms......Page 587
9.10.1 Fast algorithms and biorthogonal LOT......Page 597
9.10.2 Generalized LOT......Page 600
Experiment 9.1......Page 605
Experiment 9.2......Page 612
9.13 Summary......Page 618
9.14 Exercises......Page 619
10.2.1 Hierarchical filter banks......Page 623
10.2.2 Wavelets......Page 625
10.2.3 Scaling functions......Page 629
10.3 Relation between x(t) and x(n)......Page 630
10.4.1 The short-time Fourier transform......Page 631
10.4.2 The continuous-time wavelet transform......Page 636
10.4.3 Sampling the continuous-time wavelet transform: the discrete wavelet transform......Page 638
10.5 Multiresolution representation......Page 641
10.5.1 Biorthogonal multiresolution representation......Page 644
10.6 Wavelet transforms and filter banks......Page 647
10.6.1 Relations between the filter coefficients......Page 653
10.7 Regularity......Page 657
10.7.1 Additional constraints imposed on the filter banks due to the regularity condition......Page 658
10.7.2 A practical estimate of regularity......Page 659
10.7.3 Number of vanishing moments......Page 660
10.8 Examples of wavelets......Page 662
10.9 Wavelet transforms of images......Page 665
10.10.1 Periodic signal extension......Page 670
10.10.2 Symmetric signal extensions......Page 672
Experiment 10.1......Page 677
Experiment 10.2......Page 680
10.12 Wavelets with MATLAB......Page 683
10.13 Summary......Page 688
10.14 Exercises......Page 689
11.1 Introduction......Page 692
11.2.1.2 One’s-complement representation......Page 694
11.2.1.3 Two’s-complement representation......Page 695
11.2.2 Signed power-of-two representation......Page 696
11.2.3 Floating-point representation......Page 697
11.3.2 Serial adder......Page 698
11.3.3 Serial multiplier......Page 700
11.3.5 Parallel multiplier......Page 708
11.4 Distributed arithmetic implementation......Page 709
11.5 Product quantization......Page 715
11.6 Signal scaling......Page 721
11.7 Coefficient quantization......Page 730
11.7.1 Deterministic sensitivity criterion......Page 732
11.7.2 Statistical forecast of the wordlength......Page 735
11.8.1 Granular limit cycles......Page 739
11.8.2 Overflow limit cycles......Page 741
11.8.3 Elimination of zero-input limit cycles......Page 743
11.8.4 Elimination of constant-input limit cycles......Page 749
11.8.5 Forced-response stability of digital filters with nonlinearities due to overflow......Page 753
Experiment 11.1......Page 756
Experiment 11.2......Page 757
11.11 Summary......Page 759
11.12 Exercises......Page 760
12.2 Lattice form......Page 764
12.2.1 Filter banks using the lattice form......Page 766
12.3 Polyphase form......Page 773
12.5 Recursive running sum form......Page 774
12.6 Modified-sinc filter......Page 776
12.7.1 Prefilter approach......Page 777
12.7.2 Interpolation approach......Page 780
12.7.3 Frequency-response masking approach......Page 784
12.7.4 Quadrature approach......Page 795
Experiment 12.1......Page 800
12.9 Efficient FIR structures with MATLAB......Page 805
12.11 Exercises......Page 806
13.2 IIR parallel and cascade filters......Page 811
13.2.1 Parallel form......Page 812
13.2.2 Cascade form......Page 814
13.2.3 Error spectrum shaping......Page 819
13.2.4 Closed-form scaling......Page 821
13.3 State-space sections......Page 824
13.3.1 Optimal state-space sections......Page 825
13.3.2 State-space sections without limit cycles......Page 830
13.4 Lattice filters......Page 839
13.5 Doubly complementary filters......Page 846
13.5.1 QMF filter bank implementation......Page 850
13.6 Wave filters......Page 852
13.6.1 Motivation......Page 853
13.6.2.1 One-port elements......Page 856
13.6.2.2 Voltage generalized immittance converter......Page 857
13.6.2.5 Gyrator......Page 860
13.6.2.6 Two-port adaptors......Page 861
13.6.2.7 The n-port parallel adaptor......Page 863
13.6.2.8 The n-port series adaptor......Page 867
13.6.3 Lattice wave digital filters......Page 872
Experiment 13.1......Page 879
13.9 Summary......Page 881
13.10 Exercises......Page 882
References......Page 887
Index......Page 901