Digital Signal Processing (DSP) is a field that deals with the analysis, transformation, and manipulation of signals in a digital representation. Signals are mathematical functions of time, space, or some other variable that carry information.
A discrete-time signal \(x[n]\) can be obtained by sampling a continuous-time signal \(x_c(t)\) at a sampling rate \(T_s\):
\[ x[n] = x_c(nT_s) \]The Discrete Fourier Transform (DFT) is a fundamental operation in DSP that transforms a finite sequence of equally-spaced samples into a sequence of equally-spaced samples of the discrete-time Fourier transform.
For a sequence \(x[n]\) of length \(N\), the DFT is defined as:
\[ X[k] = \sum_{n=0}^{N-1} x[n] e^{-j2\pi kn/N}, \quad k = 0,1,2,\ldots,N-1 \]The Fast Fourier Transform (FFT) is an algorithm that computes the DFT efficiently, reducing the number of computations from \(O(N^2)\) to \(O(N \log N)\).
FIR filters are digital filters with a finite impulse response. They are characterized by having a finite number of terms in their difference equation.
The output of an FIR filter with \(M\) coefficients can be written as:
\[ y[n] = \sum_{k=0}^{M-1} b_k x[n-k] \]Where \(b_k\) are the filter coefficients and \(x[n-k]\) are the delayed input samples.
IIR filters have an infinite impulse response and include feedback terms in their difference equation.
The general form of an IIR filter is:
\[ y[n] = \sum_{k=0}^{M} b_k x[n-k] - \sum_{k=1}^{N} a_k y[n-k] \]