Bandpass Filter

What Is a Bandpass Filter?

A bandpass filter is a filter that allows a specific range of frequencies in a signal to pass through but blocks frequencies above and below this range. This range of frequencies allowed through the bandpass filter is known as the passband.

Bandpass Filter Applications

Bandpass filters are often used in wireless communications, allowing the transmission or reception of specific frequency bands. Wireless signals use multiple frequency bands to allow signals from different sources to exist in the same space simultaneously. Tunable bandpass filters allow a single receiver to receive communications signals from multiple frequency bands. In other digital signal processing applications, bandpass filters can be used to analyze different parts of a signal spectra. For example, in biomedical signal processing, bandpass filters are used to extract specific frequency components from electrocardiograms (ECG). This allows medical practitioners or researchers to measure the relevant characteristics of the heartbeat. In audio systems, bandpass filters are used for equalization. Equalization adjusts the volume of particular frequencies to create specific sound signatures.

A screenshot of the Filter Visualization Tool in MATLAB showing a bandpass filter magnitude response where the passband response is 0 dB from 1 kHz to 1.4 kHz.

Magnitude response of a bandpass filter in the Filter Visualization Tool in MATLAB.

Bandpass Filter Design Using MATLAB and Simulink

You can use MATLAB® or Simulink® to design finite impulse response (FIR)-based and infinite impulse response (IIR)-based filters.

FIR filters are inherently stable. They can be designed to have a linear phase that introduces a delay in the filtered signal while maintaining the waveform shape. However, these filters can have long transient responses and might prove computationally expensive in certain applications. MATLAB can help design filters to meet frequency requirements and computational requirements by specifying filter order. FIR filters are useful in audio, biomedical, radar, and other applications where the waveform shape provides useful information. Common design methods for low-pass FIR-based filters include Kaiser window, least squares, and equiripple.

A screenshot of the Filter Visualization Tool in MATLAB showing the bandpass filter magnitude response where the response is approximately 0 dB for the 60 to 120 Hz passband.

Magnitude response of an FIR bandpass filter designed with the designfilt function in MATLAB.

IIR filters are useful when computational resources are at a premium. However, stable, causal IIR filters do not have perfectly linear phase. IIR filters are commonly used in audio equalization, biomedical sensor signal processing, IoT/IIoT smart sensors, and high-speed telecommunication/RF applications. Design methods for IIR-based filters include Butterworth, Chebyshev (Type I and Type II), and elliptic.

A screenshot of the Filter Visualization Tool in MATLAB showing the bandpass filter magnitude response where the response is 0 dB for the 60 to 120 Hz passband.

Magnitude response of an IIR bandpass filter designed with the designfilt function in MATLAB.

The bandpass function in Signal Processing Toolbox™ enables you to quickly filter signals. You can use designfilt and other algorithm-specific (butter, fir1) functions when more control is required over parameters such as filter type, filter order, and attenuation. For more information on filter design with MATLAB, see Signal Processing Toolbox.

See also: DSP System Toolbox, low-pass filter, filter design, quantization, high-pass filter, notch filter