Preface iii
1 DISCRETE SEQUENCES AND SYSTEMS
1.1 Discrete Sequences and Their Notation 2
1.2 Signal Amplitude, Magnitude, Power 8
1.3 Signal Processing Operational Symbols 9
1.4 Introduction to Discrete Linear Time-Invariant Systems 12
1.5 Discrete Linear Systems 12
1.6 Time-Invariant Systems 17
1.7 The Commutative Property of Linear Time-Invariant Systems 18
1.8 Analyzing Linear Time-Invariant Systems 19
2 PERIODIC SAMPLING 21
2.1 Aliasing: Signal Ambiquity in the Frequency Domain 21
2.2 Sampling Low-Pass Signals 26
2.3 Sampling Bandpass Signals 30
2.4 Spectral Inversion in Bandpass Sampling 39
3 THE DISCRETE FOURIER TRANSFORM 45
3.1 Understanding the DFT Equation 46
3.2 DFT Symmetry 58
3.3 DFT Linearity 60
3.4 DFT Magnitudes 61
3.5 DFT Frequency Axis 62
3.6 DFT ShiftingTheorem 63
3.7 Inverse DFT 65
3.8 DFT Leakage 66
3.9 Windows 74
3.10 DFT Scalloping Loss 82
3.11 DFT Resolution, Zero Padding, and Frequency-Domain Sampling 83
3.12 DFT Processing Gain 88
3.13 The DFT of Rectangular Functions 91
3.14 The DFT Frequency Response to a Complex Input 112
3.15 The DFT Frequency Response to a Real Cosine Input 116
3.16 The DFT Single-Bin Frequency Response to a Real Cosine Input 117
3.17 Interpreting the DFT 120
4 THE FAST FOURIER TRANSFORM 125
4.1 Relationship of the FFT to the DFT 126
4.2 Hints on Using FFTs in Practice 127
4.3 FFT Software Programs 131
4.4 Derivation of the Radix-2 FFT Algorithm 132
4.5 FFT Input/Output Data Index Bit Reversal 139
4.6 Radix-2 FFT Butterfly Structures 141
5 FINITE IMPULSE RESPONSE FILTERS 151
5.1 An Introduction to Finite Impulse Response FIR Filters 152
5.2 Convolution in FIR Filters 157
5.3 Low-Pass FIR Filter Design 167
5.4 Bandpass FIR Filter Design 183
5.5 Highpass FIR Filter Design 184
5.6 Remez Exchange FIR Filter Design Method 186
5.7 Half-Band FIR Filters 188
5.8 Phase Response of FIR Filters 190
5.9 A Generic Description of Discrete Convolution 195
6 INFINITE IMPULSE RESPONSE FILTERS 211
6.1 An Introduction to Infinite Impulse Response Filters 212
6.2 The Laplace Transform 215
6.3 The z-Transform 228
6.4 Impulse Invariance IIR Filter Design Method 243
6.5 Bilinear Transform IIR Filter Design Method 259
6.6 Optimized IIR Filter Design Method 270
6.7 Pitfalls in Building IIR Digital Filters 272
6.8 Improving IIR Filters with Cascaded Structures 274
6.9 A Brief Comparison of IIR and FIR Filters 279
SPECIALIZED LOWPASS FIR FILTERS 283
7.1 Frequency Sampling Filters: The Lost Art 284
7.2 Interpolated Lowpass FIR Filters 319
8 QUADRATURE SIGNALS 335
8.1 Why Care About Quadrature Signals 336
8.2 The Notation of Complex Numbers 336
8.3 Representing Real Signals Using Complex Phasors 342
8.4 A Few Thoughts on Negative Frequency 346
8.5 Quadrature Signals in the Frequency Domain 347
8.6 Bandpass Quadrature Signals in the Frequency Domain 350
8.7 Complex Down-Conversion 352
8.8 A Complex Down-Conversion Example 354
8.9 An Alternate Down-Conversion Method 358
9 THE DISCRETE HILBERTTRANSFORM 361
9.1 Hilbert Transform Definition 362
9.2 Why Care About the Hilbert Transform? 364
9.3 Impulse Response of a Hilbert Transformer 369
9.4 Designing a Discrete Hilbert Transformer 371
9.5 Time-Domain Analytic Signal Generation 377
9.6 Comparing Analytical Signal Generation Methods 379
10 SAMPLE RATE CONVERSION 381
10.1 Decimation 382
10.2 Interpolation 387
10.3 Combining Decimation and Interpolation 389
10.4 Polyphase Filters 391
10.5 Cascaded Integrator-Comb Filters 397
11 SIGNAL AVERAGING 411
11.1 Coherent Averaging 412
11.2 Incoherent Averaging 419
11.3 Averaging Multiple Fast Fourier Transforms 422
11.4 Filtering Aspects of Time-Domain Averaging 430
11.5 Exponential Averaging 432
12 DIGITAL DATA FORMATS AND THEIR EFFECTS 439
12.1 Fixed-Point Binary Formats 439
12.2 Binary Number Precision and Dynamic Range 445
12.3 Effects of Finite Fixed-Point Binary Word Length 446
12.4 Floating-Point Binary Formats 462
12.5 Block Floating-Point Binary Format 468
13 DIGITAL SIGNAL PROCESSING TRICKS 471
13.1 Frequency Translation without Multiplication 471
13.2 High-Speed Vector-Magnitude Approximation 479
13.3 Frequency-Domain Windowing 484
13.4 Fast Multiplication of Complex Numbers 487
13.5 Efficiently Performing the FFT of Real Sequences 488
13.6 Computing the Inverse FFT Using the Forward FFT 500
13.7 Simplified FIR Filter Structure 503
13.8 Reducing A/D Converter Quantization Noise 503
13.9 A/D Converter Testing Techniques 510
13.10 Fast FIR Filtering Using the FFT 515
13.11 Generating Normally Distributed Random Data 516
13.12 Zero-Phase Filtering 518
13.13 Sharpened FIR Filters 519
13.14 Interpolating a Bandpass Signal 521
13.15 Spectral Peak Location Algorithm 523
13.16 Computing FFT Twiddle Factors 525
13.17 Single Tone Detection 528
13.18 The Sliding DFT 532
13.19 The Zoom FFT 541
13.20 A Practical Spectrum Analyzer 544
13.21 An Efficient Arctangent Approximation 547
13.22 Frequency Demodulation Algorithms 549
13.23 DC Removal 552
13.24 Improving Traditional CIC Filters 556
13.25 Smoothing Impulsive Noise 561
13.26 Efficient Polynomial Evaluation 563
13.27 Designing Very High-Order FIR Filters 564
13.28 Time-Domain Interpolation Using the FFT 568
13.29 Frequency Translation Using Decimation 571
13.30 Automatic Gain Control (AGC) 571
13.31 Approximate Envelope Detection 574
13.32 A Quadrature Oscillator 576
13.33 Dual-Mode Averaging 578
APPENDIX A. THE ARITHMETIC OF COMPLEX NUMBERS 585
A.1 Graphical Representation of Real and Complex Numbers 585
A.2 Arithmetic Representation of Complex Numbers 586
A.3 Arithmetic Operations of Complex Numbers 588
A.4 Some Practical Implications of Using Complex Numbers 593
APPENDIX B. CLOSED FORM OF A GEOMETRIC SERIES 595
APPENDIX C. TIME REVERSAL AND THE DFT 599
APPENDIX D. MEAN, VARIANCE, AND STANDARD DEVIATION 603
D.1 Statistical Measures 603
D.2 Standard Deviation, or RMS, of a Continuous Sinewave 606
D.3 The Mean and Variance of Random Functions 607
D.4 The Normal Probability Density Function 610
APPENDIX E. DECIBELS (DB AND DBM) 613
E.1 Using Logarithms to Determine Relative Signal Power 613
E.2 Some Useful Decibel Numbers 617
E.3 Absolute Power Using Decibels 619
APPENDIX F. DIGITAL FILTER TERMINOLOGY 621
APPENDIX G. FREQUENCY SAMPLING FILTER DERIVATIONS 633
G.1 Frequency Response of a Comb Filter 633
G.2 Single Complex FSF Frequency Response 634
G.3 Multisection Complex FSF Phase 635
G.4 Multisection Complex FSF Frequency Response 636
G.5 Real FSF Transfer Function 638
G.6 Type-IV FSF Frequency Response 640
APPENDIX H. FREQUENCY SAMPLING FILTER DESIGN TABLES 643
INDEX 657
ABOUT THE AUTHOR 667