The Bandpass Filter: Isolating the Signal
Unlike the Notch filter which rejects a frequency, the Bandpass Filter (BPF) acts as a frequency "gatekeeper." It is defined by its center frequency and its bandwidth.
Analog Transfer Function
\[ H(s) = \frac{B \cdot s}{s^2 + B \cdot s + \omega_0^2} \]
Center (\(\omega_0\))
The peak frequency of the filter.
Bandwidth (\(B\))
The width of the passband.
Quality (\(Q\))
\( Q = \frac{\omega_0}{B} \) (Selectivity of the filter).
MATLAB Implementation:
% Define Bandpass: Center 40Hz, Bandwidth 10Hz
f0 = 40; w0 = 2*pi*f0;
B = 2*pi*10;
b_bp = [B 0]; % Numerator: B*s
a_bp = [1 B w0^2]; % Denominator: s^2 + B*s + w0^2
% View Response
freqs(b_bp, a_bp);
Designing a 100Hz – 200Hz Bandpass Filter
Suppose we want to isolate a signal that lives between 100 Hz and 200 Hz. Here is how we calculate the Transfer Function coefficients:
Step 1: Find Bandwidth & Center Frequency
- Bandwidth (B) in Hz: \( 200 - 100 = 100 \text{ Hz} \)
- Center Frequency (\(f_0\)): \( f_0 = \sqrt{100 \cdot 200} \approx 141.42 \text{ Hz} \)
Step 2: Convert to Radians (\(\omega\))
- Bandwidth in rad/s (\(B_{rad}\)): \( 2\pi \cdot 100 \approx 628.3 \)
- Center in rad/s squared (\(\omega_0^2\)): \( (2\pi \cdot 141.42)^2 \approx 789{,}568 \)
Final Transfer Function
\[ H(s) = \frac{628.3 \cdot s}{s^2 + 628.3 \cdot s + 789568} \]
MATLAB Coefficients:
b = [628.3 0];
a = [1 628.3 789568];
a = [1 628.3 789568];
How to read this:
The Numerator (628.3s) ensures that at 0Hz (DC), the gain is 0.
The Denominator ensures that at 141.4Hz, the values of \(s^2\) and 789,568 cancel each other out,
leaving only \(628.3s / 628.3s = 1\) (Maximum Gain).