You are previewing Understanding Digital Signal Processing, Second Edition.
O'Reilly logo
Understanding Digital Signal Processing, Second Edition

Book Description

Amazon.com's top-selling DSP book for 5 straight years-now fully updated!

Real-world DSP solutions for working professionals!

Understanding Digital Signal Processing, Second Edition is quite simply the best way for engineers, and other technical professionals, to master and apply DSP techniques. Lyons has updated and expanded his best-selling first edition-building on the exceptionally readable coverage that made it the favorite of professionals worldwide.

This book achieves the perfect balance between theory and practice, making DSP accessible to beginners without ever oversimplifying it. Comprehensive in scope and gentle in approach, keeping the math at a tolerable level, this book helps readers thoroughly grasp the basics and quickly move on to more sophisticated techniques.

This edition adds extensive new coverage of quadrature signals for digital communications; recent improvements in digital filtering; and much more. It also contains more than twice as many "DSP Tips and Tricks"… including clever techniques even seasoned professionals may have overlooked.

  • Down-to-earth, intuitive, and example-rich, with detailed numerical exercises

  • Stresses practical, day-to-day DSP implementations and problem-solving

  • All-new quadrature processing coverage includes easy-to-understand 3D drawings

  • Extended coverage of IIR filters; plus frequency sampling, interpolated FIR filters

  • New coverage of multirate systems; including both polyphase and cascaded integrator-comb FIR filters

  • Coverage includes: periodic sampling, DFT, FFT, digital filters, discrete Hilbert transforms, sample rate conversion, quantization, signal averaging, and more

  • Table of Contents

    1. Copyright
      1. Dedication
    2. About Prentice Hall Professional Technical Reference
    3. Preface
      1. LEARNING DIGITAL SIGNAL PROCESSING
      2. THE JOURNEY
      3. COMING ATTRACTIONS
      4. ACKNOWLEDGMENTS
    4. One. Discrete Sequences and Systems
      1. 1.1. DISCRETE SEQUENCES AND THEIR NOTATION
      2. 1.2. SIGNAL AMPLITUDE, MAGNITUDE, POWER
      3. 1.3. SIGNAL PROCESSING OPERATIONAL SYMBOLS
      4. 1.4. INTRODUCTION TO DISCRETE LINEAR TIME-INVARIANT SYSTEMS
      5. 1.5. DISCRETE LINEAR SYSTEMS
        1. 1.5.1. Example of a Linear System
        2. 1.5.2. Example of a Nonlinear System
      6. 1.6. TIME-INVARIANT SYSTEMS
        1. 1.6.1. Example of a Time-Invariant System
      7. 1.7. THE COMMUTATIVE PROPERTY OF LINEAR TIME-INVARIANT SYSTEMS
      8. 1.8. ANALYZING LINEAR TIME-INVARIANT SYSTEMS
      9. REFERENCES
    5. Two. Periodic Sampling
      1. 2.1. ALIASING: SIGNAL AMBIGUITY IN THE FREQUENCY DOMAIN
      2. 2.2. SAMPLING LOW-PASS SIGNALS
      3. 2.3. SAMPLING BANDPASS SIGNALS
      4. 2.4. SPECTRAL INVERSION IN BANDPASS SAMPLING
      5. REFERENCES
    6. Three. The Discrete Fourier Transform
      1. 3.1. UNDERSTANDING THE DFT EQUATION
        1. 3.1.1. DFT Example 1
      2. 3.2. DFT SYMMETRY
      3. 3.3. DFT LINEARITY
      4. 3.4. DFT MAGNITUDES
      5. 3.5. DFT FREQUENCY AXIS
      6. 3.6. DFT SHIFTING THEOREM
        1. 3.6.1. DFT Example 2
      7. 3.7. INVERSE DFT
      8. 3.8. DFT LEAKAGE
      9. 3.9. WINDOWS
      10. 3.10. DFT SCALLOPING LOSS
      11. 3.11. DFT RESOLUTION, ZERO PADDING, AND FREQUENCY-DOMAIN SAMPLING
      12. 3.12. DFT PROCESSING GAIN
        1. 3.12.1. Processing Gain of a Single DFT
        2. 3.12.2. Integration Gain Due to Averaging Multiple DFTs
      13. 3.13. THE DFT OF RECTANGULAR FUNCTIONS
        1. 3.13.1. DFT of a General Rectangular Function
        2. 3.13.2. DFT of a Symmetrical Rectangular Function
        3. 3.13.3. DFT of an All Ones Rectangular Function
        4. 3.13.4. Time and Frequency Axes Associated with Rectangular Functions
          1. 3.13.4.1. DFT Frequency Axis in Hz
          2. 3.13.4.2. DFT Frequency Axis in Radians/Second
          3. 3.13.4.3. DFT Frequency Axis Using a Normalized Angle Variable
        5. 3.13.5. Alternate Form of the DFT of an All Ones Rectangular Function
        6. 3.13.6. Inverse DFT of a General Rectangular Function
        7. 3.13.7. Inverse DFT of a Symmetrical Rectangular Function
      14. 3.14. THE DFT FREQUENCY RESPONSE TO A COMPLEX INPUT
      15. 3.15. THE DFT FREQUENCY RESPONSE TO A REAL COSINE INPUT
      16. 3.16. THE DFT SINGLE-BIN FREQUENCY RESPONSE TO A REAL COSINE INPUT
      17. 3.17. INTERPRETING THE DFT
      18. REFERENCES
    7. Four. The Fast Fourier Transform
      1. 4.1. RELATIONSHIP OF THE FFT TO THE DFT
      2. 4.2. HINTS ON USING FFTS IN PRACTICE
        1. 4.2.1. Sample Fast Enough and Long Enough
        2. 4.2.2. Manipulating the Time Data Prior to Transformation
        3. 4.2.3. Enhancing FFT Results
        4. 4.2.4. Interpreting FFT Results
      3. 4.3. FFT SOFTWARE PROGRAMS
      4. 4.4. DERIVATION OF THE RADIX-2 FFT ALGORITHM
      5. 4.5. FFT INPUT/OUTPUT DATA INDEX BIT REVERSAL
      6. 4.6. RADIX-2 FFT BUTTERFLY STRUCTURES
      7. REFERENCES
    8. Five. Finite Impulse Response Filters
      1. 5.1. AN INTRODUCTION TO FINITE IMPULSE RESPONSE (FIR) FILTERS
      2. 5.2. CONVOLUTION IN FIR FILTERS
      3. 5.3. LOW-PASS FIR FILTER DESIGN
        1. 5.3.1. Window Design Method
        2. 5.3.2. Windows Used in FIR Filter Design
      4. 5.4. BANDPASS FIR FILTER DESIGN
      5. 5.5. HIGHPASS FIR FILTER DESIGN
      6. 5.6. REMEZ EXCHANGE FIR FILTER DESIGN METHOD
      7. 5.7. HALF-BAND FIR FILTERS
      8. 5.8. PHASE RESPONSE OF FIR FILTERS
      9. 5.9. A GENERIC DESCRIPTION OF DISCRETE CONVOLUTION
        1. 5.9.1. Discrete Convolution in the Time Domain
        2. 5.9.2. The Convolution Theorem
        3. 5.9.3. Applying the Convolution Theorem
      10. REFERENCES
    9. Six. Infinite Impulse Response Filters
      1. 6.1. AN INTRODUCTION TO INFINITE IMPULSE RESPONSE FILTERS
      2. 6.2. THE LAPLACE TRANSFORM
        1. 6.2.1. Poles and Zeros on the s-Plane and Stability
      3. 6.3. THE Z-TRANSFORM
        1. 6.3.1. Poles and Zeros on the z–Plane and Stability
        2. 6.3.2. Using the z-Transform to Analyze IIR Filters
        3. 6.3.3. Alternate IIR Filter Structures
      4. 6.4. IMPULSE INVARIANCE IIR FILTER DESIGN METHOD
        1. 6.4.1. Impulse Invariance Design Method 1 Example
        2. 6.4.2. Impulse Invariance Design Method 2 Example
      5. 6.5. BILINEAR TRANSFORM IIR FILTER DESIGN METHOD
        1. 6.5.1. Bilinear Transform Design Example
      6. 6.6. OPTIMIZED IIR FILTER DESIGN METHOD
      7. 6.7. PITFALLS IN BUILDING IIR FILTERS
      8. 6.8. IMPROVING IIR FILTERS WITH CASCADED STRUCTURES
        1. 6.8.1. Cascade and Parallel Filter Properties
        2. 6.8.2. Cascading IIR Filters
      9. 6.9. A BRIEF COMPARISON OF IIR AND FIR FILTERS
      10. REFERENCES
    10. Seven. Specialized Lowpass FIR Filters
      1. 7.1. FREQUENCY SAMPLING FILTERS: THE LOST ART
        1. 7.1.1. A Comb Filter and Complex Digital Resonator in Cascade
        2. 7.1.2. Multisection Complex FSFs
        3. 7.1.3. Ensuring FSF Stability
        4. 7.1.4. Multisection Real-Valued FSFs
        5. 7.1.5. Linear-Phase Multisection Real-Valued FSFs
        6. 7.1.6. Where We've Been and Where We're Going with FSFs
        7. 7.1.7. An Efficient Real-Valued FSF
        8. 7.1.8. Modeling FSFs
        9. 7.1.9. Improving Performance with Transition Band Coefficients
        10. 7.1.10. Alternate FSF Structures
        11. 7.1.11. The Merits of FSFs
        12. 7.1.12. Type-IV FSF Example
        13. 7.1.13. When to Use an FSF
        14. 7.1.14. Designing FSFs
        15. 7.1.15. FSF Summary
      2. 7.2. INTERPOLATED LOWPASS FIR FILTERS
        1. 7.2.1. Choosing the Optimum Expansion Factor M
        2. 7.2.2. Estimating the Number of FIR Filter Taps
        3. 7.2.3. Modeling IFIR Filter Performance
        4. 7.2.4. IFIR Filter Implementation Issues
        5. 7.2.5. IFIR Filter Design Example
      3. REFERENCES
    11. Eight. Quadrature Signals
      1. 8.1. WHY CARE ABOUT QUADRATURE SIGNALS?
      2. 8.2. THE NOTATION OF COMPLEX NUMBERS
      3. 8.3. REPRESENTING REAL SIGNALS USING COMPLEX PHASORS
      4. 8.4. A FEW THOUGHTS ON NEGATIVE FREQUENCY
      5. 8.5. QUADRATURE SIGNALS IN THE FREQUENCY DOMAIN
      6. 8.6. BANDPASS QUADRATURE SIGNALS IN THE FREQUENCY DOMAIN
      7. 8.7. COMPLEX DOWN-CONVERSION
      8. 8.8. A COMPLEX DOWN-CONVERSION EXAMPLE
      9. 8.9. AN ALTERNATE DOWN-CONVERSION METHOD
      10. REFERENCES
    12. Nine. The Discrete Hilbert Transform
      1. 9.1. HILBERT TRANSFORM DEFINITION
      2. 9.2. WHY CARE ABOUT THE HILBERT TRANSFORM?
      3. 9.3. IMPULSE RESPONSE OF A HILBERT TRANSFORMER
      4. 9.4. DESIGNING A DISCRETE HILBERT TRANSFORMER
        1. 9.4.1. Time-Domain Hilbert Transformation: FIR Filter Implementation
        2. 9.4.2. Frequency-Domain Hilbert Transformation
      5. 9.5. TIME-DOMAIN ANALYTIC SIGNAL GENERATION
      6. 9.6. COMPARING ANALYTIC SIGNAL GENERATION METHODS
      7. REFERENCES
    13. Ten. Sample Rate Conversion
      1. 10.1. DECIMATION
      2. 10.2. INTERPOLATION
      3. 10.3. COMBINING DECIMATION AND INTERPOLATION
      4. 10.4. POLYPHASE FILTERS
      5. 10.5. CASCADED INTEGRATOR-COMB FILTERS
        1. 10.5.1. Recursive Running Sum Filter
        2. 10.5.2. CIC Filter Structures
        3. 10.5.3. Improving CIC Attenuation
        4. 10.5.4. CIC Filter Implementation Issues
        5. 10.5.5. Compensation/Preconditioning FIR Filters
      6. REFERENCES
    14. Eleven. Signal Averaging
      1. 11.1. COHERENT AVERAGING
      2. 11.2. INCOHERENT AVERAGING
      3. 11.3. AVERAGING MULTIPLE FAST FOURIER TRANSFORMS
      4. 11.4. FILTERING ASPECTS OF TIME-DOMAIN AVERAGING
      5. 11.5. EXPONENTIAL AVERAGING
      6. REFERENCES
    15. Twelve. Digital Data Formats and Their Effects
      1. 12.1. FIXED-POINT BINARY FORMATS
        1. 12.1.1. Octal Numbers
        2. 12.1.2. Hexadecimal Numbers
        3. 12.1.3. Fractional Binary Numbers
        4. 12.1.4. Sign-Magnitude Binary Format
        5. 12.1.5. Two's Complement Format
        6. 12.1.6. Offset Binary Format
      2. 12.2. BINARY NUMBER PRECISION AND DYNAMIC RANGE
      3. 12.3. EFFECTS OF FINITE FIXED-POINT BINARY WORD LENGTH
        1. 12.3.1. A/D Converter Quantization Errors
        2. 12.3.2. Data Overflow
        3. 12.3.3. Truncation
        4. 12.3.4. Data Rounding
      4. 12.4. FLOATING-POINT BINARY FORMATS
        1. 12.4.1. Floating-Point Dynamic Range
      5. 12.5. BLOCK FLOATING-POINT BINARY FORMAT
      6. REFERENCES
    16. Thirteen. Digital Signal Processing Tricks
      1. 13.1. FREQUENCY TRANSLATION WITHOUT MULTIPLICATION
        1. 13.1.1. Frequency Translation by fs/2
        2. 13.1.2. Frequency Translation by –fs/4
        3. 13.1.3. Filtering and Decimation after fs/4 Down-Conversion
      2. 13.2. HIGH-SPEED VECTOR MAGNITUDE APPROXIMATION
      3. 13.3. FREQUENCY-DOMAIN WINDOWING
      4. 13.4. FAST MULTIPLICATION OF COMPLEX NUMBERS
      5. 13.5. EFFICIENTLY PERFORMING THE FFT OF REAL SEQUENCES
        1. 13.5.1. Performing Two N-Point Real FFTs
        2. 13.5.2. Performing a 2N-Point Real FFT
      6. 13.6. COMPUTING THE INVERSE FFT USING THE FORWARD FFT
        1. 13.6.1. Inverse FFT Method 1
        2. 13.6.2. Inverse FFT Method 2
      7. 13.7. SIMPLIFIED FIR FILTER STRUCTURE
      8. 13.8. REDUCING A/D CONVERTER QUANTIZATION NOISE
        1. 13.8.1. Oversampling
        2. 13.8.2. Dithering
      9. 13.9. A/D CONVERTER TESTING TECHNIQUES
        1. 13.9.1. Estimating A/D Quantization Noise with the FFT
        2. 13.9.2. Detecting Missing Codes
      10. 13.10. FAST FIR FILTERING USING THE FFT
      11. 13.11. GENERATING NORMALLY DISTRIBUTED RANDOM DATA
      12. 13.12. ZERO-PHASE FILTERING
      13. 13.13. SHARPENED FIR FILTERS
      14. 13.14. INTERPOLATING A BANDPASS SIGNAL
      15. 13.15. SPECTRAL PEAK LOCATION ALGORITHM
      16. 13.16. COMPUTING FFT TWIDDLE FACTORS
      17. 13.17. SINGLE TONE DETECTION
        1. 13.17.1. Goertzel Algorithm
        2. 13.17.2. Goertzel Example
        3. 13.17.3. Goertzel Advantages over the FFT
      18. 13.18. THE SLIDING DFT
        1. 13.18.1. The Sliding DFT Algorithm
        2. 13.18.2. SDFT Stability
        3. 13.18.3. SDFT Leakage Reduction
        4. 13.18.4. A Little-Known SDFT Property
      19. 13.19. THE ZOOM FFT
      20. 13.20. A PRACTICAL SPECTRUM ANALYZER
      21. 13.21. AN EFFICIENT ARCTANGENT APPROXIMATION
      22. 13.22. FREQUENCY DEMODULATION ALGORITHMS
      23. 13.23. DC REMOVAL
        1. 13.23.1. Block-Data DC Removal
        2. 13.23.2. Real-Time DC Removal
        3. 13.23.3. Real-Time DC Removal with Quantization
      24. 13.24. IMPROVING TRADITIONAL CIC FILTERS
        1. 13.24.1. Nonrecursive CIC Filters
        2. 13.24.2. Nonrecursive Prime Factor-R CIC Filters
      25. 13.25. SMOOTHING IMPULSIVE NOISE
      26. 13.26. EFFICIENT POLYNOMIAL EVALUATION
      27. 13.27. DESIGNING VERY HIGH-ORDER FIR FILTERS
      28. 13.28. TIME-DOMAIN INTERPOLATION USING THE FFT
        1. 13.28.1. Computing Interpolated Real Signals
        2. 13.28.2. Computing Interpolated Analytic Signals
      29. 13.29. FREQUENCY TRANSLATION USING DECIMATION
      30. 13.30. AUTOMATIC GAIN CONTROL (AGC)
      31. 13.31. APPROXIMATE ENVELOPE DETECTION
      32. 13.32. A QUADRATURE OSCILLATOR
      33. 13.33. DUAL-MODE AVERAGING
      34. REFERENCES
    17. A. The Arithmetic of Complex Numbers
      1. A.1. GRAPHICAL REPRESENTATION OF REAL AND COMPLEX NUMBERS
      2. A.2. ARITHMETIC REPRESENTATION OF COMPLEX NUMBERS
      3. A.3. ARITHMETIC OPERATIONS OF COMPLEX NUMBERS
        1. A.3.1. Addition and Subtraction of Complex Numbers
        2. A.3.2. Multiplication of Complex Numbers
        3. A.3.3. Conjugation of a Complex Number
        4. A.3.4. Division of Complex Numbers
        5. A.3.5. Inverse of a Complex Number
        6. A.3.6. Complex Numbers Raised to a Power
        7. A.3.7. Roots of a Complex Number
        8. A.3.8. Natural Logarithms of a Complex Number
        9. A.3.9. Logarithm to the Base 10 of a Complex Number
        10. A.3.10. Log to the Base 10 of a Complex Number Using Natural Logarithms
      4. A.4. SOME PRACTICAL IMPLICATIONS OF USING COMPLEX NUMBERS
      5. REFERENCES
    18. B. Closed Form of a Geometric Series
    19. C. Time Reversal and the DFT
    20. D. Mean, Variance, and Standard Deviation
      1. D.1. STATISTICAL MEASURES
      2. D.2. STANDARD DEVIATION, OR RMS, OF A CONTINUOUS SINEWAVE
      3. D.3. THE MEAN AND VARIANCE OF RANDOM FUNCTIONS
      4. D.4. THE NORMAL PROBABILITY DENSITY FUNCTION
      5. REFERENCES
    21. E. Decibels (dB and dBm)
      1. E.1. USING LOGARITHMS TO DETERMINE RELATIVE SIGNAL POWER
      2. E.2. SOME USEFUL DECIBEL NUMBERS
      3. E.3. ABSOLUTE POWER USING DECIBELS
    22. F. Digital Filter Terminology
      1. REFERENCES
    23. G. Frequency Sampling Filter Derivations
      1. G.1. FREQUENCY RESPONSE OF A COMB FILTER
      2. G.2. SINGLE COMPLEX FSF FREQUENCY RESPONSE
      3. G.3. MULTISECTION COMPLEX FSF PHASE
      4. G.4. MULTISECTION COMPLEX FSF FREQUENCY RESPONSE
      5. G.5. REAL FSF TRANSFER FUNCTION
      6. G.6. TYPE-IV FSF FREQUENCY RESPONSE
    24. H. Frequency Sampling Filter Design Tables
    25. About the Author