- Discrete Fourier Transofrm
- Convolution Theorem
- Linear Time-Invariant Theory
Signal: It represents a continuous mathematical function
Wave: Contains an array of discrete samples
Spectrum: Contains the DFT of a Wave
Signal ------> Wave <-----> Spectrum
- Any signal can be represented as a sum of single frequency components
- The Spectrum of a signal encodes the amplitude of each component
- DFT of a wave is its soectrum
- FFT is an efficient algorithm
def make_spectrum(ys, framerate):
hs = np.fft.rfft(ys)
n = len(ys) # no. of samples
d = 1/framerate # time between samples
fs = np.fft.rfftfreq(n,d)
return Spectrum(hs,fs, framerate)
- A filter modifies a signal by amplifying.attenuating some components more than others
- Low-pass filter: Attenuates high frequencies, lets low frequencies pass
- We lose information on when we sample
- If the sample rate is 10000 Hz the highest we can sample is 5000 Hz