Think DSP

Book description

If you understand basic mathematics and know how to program with Python, you’re ready to dive into signal processing. While most resources start with theory to teach this complex subject, this practical book introduces techniques by showing you how they’re applied in the real world. In the first chapter alone, you’ll be able to decompose a sound into its harmonics, modify the harmonics, and generate new sounds.

Author Allen Downey explains techniques such as spectral decomposition, filtering, convolution, and the Fast Fourier Transform. This book also provides exercises and code examples to help you understand the material.

You’ll explore:

  • Periodic signals and their spectrums
  • Harmonic structure of simple waveforms
  • Chirps and other sounds whose spectrum changes over time
  • Noise signals and natural sources of noise
  • The autocorrelation function for estimating pitch
  • The discrete cosine transform (DCT) for compression
  • The Fast Fourier Transform for spectral analysis
  • Relating operations in time to filters in the frequency domain
  • Linear time-invariant (LTI) system theory
  • Amplitude modulation (AM) used in radio

Other books in this series include Think Stats and Think Bayes, also by Allen Downey.

Publisher resources

View/Submit Errata

Table of contents

  1. Preface
    1. Who Is This Book For?
    2. Using the Code
    3. Conventions Used in This Book
    4. Safari® Books Online
    5. How to Contact Us
    6. Contributor List
  2. 1. Sounds and Signals
    1. Periodic Signals
    2. Spectral Decomposition
    3. Signals
    4. Reading and Writing Waves
    5. Spectrums
    6. Wave Objects
    7. Signal Objects
    8. Exercises
  3. 2. Harmonics
    1. Triangle Waves
    2. Square Waves
    3. Aliasing
    4. Computing the Spectrum
    5. Exercises
  4. 3. Non-Periodic Signals
    1. Linear Chirp
    2. Exponential Chirp
    3. Spectrum of a Chirp
    4. Spectrogram
    5. The Gabor Limit
    6. Leakage
    7. Windowing
    8. Implementing Spectrograms
    9. Exercises
  5. 4. Noise
    1. Uncorrelated Noise
    2. Integrated Spectrum
    3. Brownian Noise
    4. Pink Noise
    5. Gaussian Noise
    6. Exercises
  6. 5. Autocorrelation
    1. Correlation
    2. Serial Correlation
    3. Autocorrelation
    4. Autocorrelation of Periodic Signals
    5. Correlation as Dot Product
    6. Using NumPy
    7. Exercises
  7. 6. Discrete Cosine Transform
    1. Synthesis
    2. Synthesis with Arrays
    3. Analysis
    4. Orthogonal Matrices
    5. DCT-IV
    6. Inverse DCT
    7. The Dct Class
    8. Exercises
  8. 7. Discrete Fourier Transform
    1. Complex Exponentials
    2. Complex Signals
    3. The Synthesis Problem
    4. Synthesis with Matrices
    5. The Analysis Problem
    6. Efficient Analysis
    7. DFT
    8. The DFT Is Periodic
    9. DFT of Real Signals
    10. Exercises
  9. 8. Filtering and Convolution
    1. Smoothing
    2. Convolution
    3. The Frequency Domain
    4. The Convolution Theorem
    5. Gaussian Filter
    6. Efficient Convolution
    7. Efficient Autocorrelation
    8. Exercises
  10. 9. Differentiation and Integration
    1. Finite Differences
    2. The Frequency Domain
    3. Differentiation
    4. Integration
    5. Cumulative Sum
    6. Integrating Noise
    7. Exercises
  11. 10. LTI Systems
    1. Signals and Systems
    2. Windows and Filters
    3. Acoustic Response
    4. Systems and Convolution
    5. Proof of the Convolution Theorem
    6. Exercises
  12. 11. Modulation and Sampling
    1. Convolution with Impulses
    2. Amplitude Modulation
    3. Sampling
    4. Aliasing
    5. Interpolation
    6. Summary
    7. Exercises
  13. Index

Product information

  • Title: Think DSP
  • Author(s): Allen B. Downey
  • Release date: July 2016
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491938515