Preface xv About the Author xxiii Chapter 1: Discrete Sequences and Systems 1 1.1 Discrete Sequences and their Notation 2 1.2 Signal Amplitude, Magnitude, Power 8 1.3 Signal Processing Operational Symbols 10 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 References 21 Chapter 1 Problems 23 Chapter 2: Periodic Sampling 33 2.1 Aliasing: Signal Ambiguity in the Frequency Domain 33 2.2 Sampling Lowpass Signals 38 2.3 Sampling Bandpass Signals 42 2.4 Practical Aspects of Bandpass Sampling 45 References 49 Chapter 2 Problems 50 Chapter 3: The Discrete Fourier Transform 59 3.1 Understanding the DFT Equation 60 3.2 DFT Symmetry 73 3.3 DFT Linearity 75 3.4 DFT Magnitudes 75 3.5 DFT Frequency Axis 77 3.6 DFT Shifting Theorem 77 3.7 Inverse DFT 80 3.8 DFT Leakage 81 3.9 Windows 89 3.10 DFT Scalloping Loss 96 3.11 DFT Resolution, Zero Padding, and Frequency-Domain Sampling 98 3.12 DFT Processing Gain 102 3.13 The DFT of Rectangular Functions 105 3.14 Interpreting the DFT Using the Discrete-Time Fourier Transform 120 References 124 Chapter 3 Problems 125 Chapter 4: The Fast Fourier Transform 135 4.1 Relationship of the FFT to the DFT 136 4.2 Hints on Using FFTs in Practice 137 4.3 Derivation of the Radix-2 FFT Algorithm 141 4.4 FFT Input/Output Data Index Bit Reversal 149 4.5 Radix-2 FFT Butterfly Structures 151 4.6 Alternate Single-Butterfly Structures 154 References 158 Chapter 4 Problems 160 Chapter 5: Finite Impulse Response Filters 169 5.1 An Introduction to Finite Impulse Response (FIR) Filters 170 5.2 Convolution in FIR Filters 175 5.3 Lowpass FIR Filter Design 186 5.4 Bandpass FIR Filter Design 201 5.5 Highpass FIR Filter Design 203 5.6 Parks-McClellan Exchange FIR Filter Design Method 204 5.7 Half-band FIR Filters 207 5.8 Phase Response of FIR Filters 209 5.9 A Generic Description of Discrete Convolution 214 5.10 Analyzing FIR Filters 226 References 235 Chapter 5 Problems 238 Chapter 6: Infinite Impulse Response Filters 253 6.1 An Introduction to Infinite Impulse Response Filters 254 6.2 The Laplace Transform 257 6.3 The z-Transform 270 6.4 Using the z-Transform to Analyze IIR Filters 274 6.5 Using Poles and Zeros to Analyze IIR Filters 282 6.6 Alternate IIR Filter Structures 289 6.7 Pitfalls in Building IIR Filters 292 6.8 Improving IIR Filters with Cascaded Structures 295 6.9 Scaling the Gain of IIR Filters 300 6.10 Impulse Invariance IIR Filter Design Method 303 6.11 Bilinear Transform IIR Filter Design Method 319 6.12 Optimized IIR Filter Design Method 330 6.13 A Brief Comparison of IIR and FIR Filters 332 References 333 Chapter 6 Problems 336 Chapter 7: Specialized Digital Networks and Filters 361 7.1 Differentiators 361 7.2 Integrators 370 7.3 Matched Filters 376 7.4 Interpolated Lowpass FIR Filters 381 7.5 Frequency Sampling Filters: The Lost Art 392 References 426 Chapter 7 Problems 429 Chapter 8: Quadrature Signals 439 8.1 Why Care about Quadrature Signals? 440 8.2 The Notation of Complex Numbers 440 8.3 Representing Real Signals Using Complex Phasors 446 8.4 A Few Thoughts on Negative Frequency 450 8.5 Quadrature Signals in the Frequency Domain 451 8.6 Bandpass Quadrature Signals in the Frequency Domain 454 8.7 Complex Down-Conversion 456 8.8 A Complex Down-Conversion Example 458 8.9 An Alternate Down-Conversion Method 462 References 464 Chapter 8 Problems 465 Chapter 9: The Discrete Hilbert Transform 479 9.1 Hilbert Transform Definition 480 9.2 Why Care about the Hilbert Transform? 482 9.3 Impulse Response of a Hilbert Transformer 487 9.4 Designing a Discrete Hilbert Transformer 489 9.5 Time-Domain Analytic Signal Generation 495 9.6 Comparing Analytical Signal Generation Methods 497 References 498 Chapter 9 Problems 499 Chapter 10: Sample Rate Conversion 507 10.1 Decimation 508 10.2 Two-Stage Decimation 510 10.3 Properties of Downsampling 514 10.4 Interpolation 516 10.5 Properties of Interpolation 518 10.6 Combining Decimation and Interpolation 521 10.7 Polyphase Filters 522 10.8 Two-Stage Interpolation 528 10.9 z-Transform Analysis of Multirate Systems 533 10.10 Polyphase Filter Implementations 535 10.11 Sample Rate Conversion by Rational Factors 540 10.12 Sample Rate Conversion with Half-band Filters 543 10.13 Sample Rate Conversion with IFIR Filters 548 10.14 Cascaded Integrator-Comb Filters 550 References 566 Chapter 10 Problems 568 Chapter 11: Signal Averaging 589 11.1 Coherent Averaging 590 11.2 Incoherent Averaging 597 11.3 Averaging Multiple Fast Fourier Transforms 600 11.4 Averaging Phase Angles 603 11.5 Filtering Aspects of Time-Domain Averaging 604 11.6 Exponential Averaging 608 References 615 Chapter 11 Problems 617 Chapter 12: Digital Data Formats and their Effects 623 12.1 Fixed-Point Binary Formats 623 12.2 Binary Number Precision and Dynamic Range 632 12.3 Effects of Finite Fixed-Point Binary Word Length 634 12.4 Floating-Point Binary Formats 652 12.5 Block Floating-Point Binary Format 658 References 658 Chapter 12 Problems 661 Chapter 13: Digital Signal Processing Tricks 671 13.1 Frequency Translation without Multiplication 671 13.2 High-Speed Vector Magnitude Approximation 679 13.3 Frequency-Domain Windowing 683 13.4 Fast Multiplication of Complex Numbers 686 13.5 Efficiently Performing the FFT of Real Sequences 687 13.6 Computing the Inverse FFT Using the Forward FFT 699 13.7 Simplified FIR Filter Structure 702 13.8 Reducing A/D Converter Quantization Noise 704 13.9 A/D Converter Testing Techniques 709 13.10 Fast FIR Filtering Using the FFT 716 13.11 Generating Normally Distributed Random Data 722 13.12 Zero-Phase Filtering 725 13.13 Sharpened FIR Filters 726 13.14 Interpolating a Bandpass Signal 728 13.15 Spectral Peak Location Algorithm 730 13.16 Computing FFT Twiddle Factors 734 13.17 Single Tone Detection 737 13.18 The Sliding DFT 741 13.19 The Zoom FFT 749 13.20 A Practical Spectrum Analyzer 753 13.21 An Efficient Arctangent Approximation 756 13.22 Frequency Demodulation Algorithms 758 13.23 DC Removal 761 13.24 Improving Traditional CIC Filters 765 13.25 Smoothing Impulsive Noise 770 13.26 Efficient Polynomial Evaluation 772 13.27 Designing Very High-Order FIR Filters 775 13.28 Time-Domain Interpolation Using the FFT 778 13.29 Frequency Translation Using Decimation 781 13.30 Automatic Gain Control (AGC) 783 13.31 Approximate Envelope Detection 784 13.32 AQuadrature Oscillator 786 13.33 Specialized Exponential Averaging 789 13.34 Filtering Narrowband Noise Using Filter Nulls 792 13.35 Efficient Computation of Signal Variance 797 13.36 Real-time Computation of Signal Averages and Variances 799 13.37 Building Hilbert Transformers from Half-band Filters 802 13.38 Complex Vector Rotation with Arctangents 805 13.39 An Efficient Differentiating Network 810 13.40 Linear-Phase DC-Removal Filter 812 13.41 Avoiding Overflow in Magnitude Computations 815 13.42 Efficient Linear Interpolation 815 13.43 Alternate Complex Down-conversion Schemes 816 13.44 Signal Transition Detection 820 13.45 Spectral Flipping around Signal Center Frequency 821 13.46 Computing Missing Signal Samples 823 13.47 Computing Large DFTs Using Small FFTs 826 13.48 Computing Filter Group Delay without Arctangents 830 13.49 Computing a Forward and Inverse FFT Using a Single FFT 831 13.50 Improved Narrowband Lowpass IIR Filters 833 13.51 A Stable Goertzel Algorithm 838 References 840 Appendix A: The Arithmetic of Complex Numbers 847 A.1 Graphical Representation of Real and Complex Numbers 847 A.2 Arithmetic Representation of Complex Numbers 848 A.3 Arithmetic Operations of Complex Numbers 850 A.4 Some Practical Implications of Using Complex Numbers 856 Appendix B: Closed Form of a Geometric Series 859 Appendix C: Time Reversal and the DFT 863 Appendix D: Mean, Variance, and Standard Deviation 867 D.1 Statistical Measures 867 D.2 Statistics of Short Sequences 870 D.3 Statistics of Summed Sequences 872 D.4 Standard Deviation (RMS) of a Continuous Sinewave 874 D.5 Estimating Signal-to-Noise Ratios 875 D.6 The Mean and Variance of Random Functions 879 D.7 The Normal Probability Density Function 882 Appendix E: Decibels (DB and DBM) 885 E.1 Using Logarithms to Determine Relative Signal Power 885 E.2 Some Useful Decibel Numbers 889 E.3 Absolute Power Using Decibels 891 Appendix F: Digital Filter Terminology 893 Appendix G: Frequency Sampling Filter Derivations 903 G.1 Frequency Response of a Comb Filter 903 G.2 Single Complex FSF Frequency Response 904 G.3 Multisection Complex FSF Phase 905 G.4 Multisection Complex FSF Frequency Response 906 G.5 Real FSF Transfer Function 908 G.6 Type-IV FSF Frequency Response 910 Appendix H: Frequency Sampling Filter Design Tables 913 Appendix I: Computing Chebyshev Window Sequences 927 I.1 Chebyshev Windows for FIR Filter Design 927 I.2 Chebyshev Windows for Spectrum Analysis 929 Index 931

show more