>
section 9 of 102 min read

9. Things to Try Before Moving On

  1. Plot a Fourier transform. In Python with NumPy, generate a 1-second cosine at 100 Hz sampled at 1 kHz, FFT it, plot the magnitude spectrum. You should see a spike at 100 Hz and another at 100-100 Hz (the FFT's negative-frequency mirror). Try mixing two frequencies; verify the spectrum has both spikes.
  2. Sampling demo. Generate a 1 kHz sine wave, sample it at 4 kHz, 2.5 kHz, 1.5 kHz, and 1 kHz. Plot. The first two reproduce the wave correctly; the last two alias.
  3. Build an RC low-pass filter in real hardware. Drive with a function generator at various frequencies; measure the output amplitude with a scope. Plot magnitude vs frequency; verify the 3-3 dB point and the 20-20 dB/decade rolloff.
  4. Convolution by hand. Compute the convolution of x[n]=[1,2,3]x[n] = [1, 2, 3] with h[n]=[1,1,1]h[n] = [1, 1, 1]. Then verify by FFT-multiply-IFFT (zero-pad first). The result should be [1,3,6,5,3][1, 3, 6, 5, 3].
  5. Filter audio. Pick any audio signal (a recording you have made, or a generated tone). Apply a digital low-pass filter in software (scipy.signal.lfilter, with a Butterworth design from scipy.signal.butter). Listen to the output. Notice the high frequencies are gone; the bass remains.
  6. Find a pole. Take a simple RC low-pass circuit, write its transfer function H(s)=1/(1+sRC)H(s) = 1/(1 + sRC), and identify the pole. (Answer: s=1/RCs = -1/RC.) Plot the pole on a sheet of paper as an "x." Does it sit in the left half plane? It should.

When the above feel intuitive, you have the chapter under your belt.