带通滤波器

什么是带通滤波器?

带通滤波器的作用是允许特定频率范围内的信号通过,但屏蔽高于和低于该频率范围的信号。允许通过带通滤波器的这一频率范围称为通带。

带通滤波器应用

带通滤波器通常用于无线通信,允许传输或接收特定频带的信号。无线信号使用多个频带,使来自不同来源的信号可在同一空间中同时存在。通过可调带通滤波器,单个接收机可接收来自多个频带的通信信号。在其他数字信号处理应用中,带通滤波器还可用于分析信号频谱的不同部分。例如,在生物医学信号处理中,带通滤波器用于从心电图 (ECG) 中提取特定频率分量。这样,医疗从业者或研究人员就可以评估心跳的相关特征。在音频系统中,带通滤波器用于均衡。均衡是指通过调整特定频率的音量来创建特定的声音特征。

MATLAB 中滤波器可视化工具的截图:显示带通滤波器幅值响应,其中,在 1 kHz 至 1.4 kHz 的频率范围内,通带响应为 0 dB。

MATLAB 滤波器可视化工具中带通滤波器的幅值响应。

使用 MATLAB 和 Simulink 进行带通滤波器设计

您可以使用 MATLAB®Simulink® 来设计基于有限冲激响应 (FIR) 和基于无限冲激响应 (IIR) 的滤波器。

FIR 滤波器本身具有稳定性。经过设计,它们可以具有线性相位特性,在滤波信号中引入延迟的同时,可保持波形的形状。不过,这些滤波器可能会有较长的瞬时响应期。在某些应用中,其计算成本可能很高。通过指定滤波器阶数,MATLAB 可以帮助设计满足频率要求和计算要求的滤波器。FIR 滤波器适用于音频、生物医学和雷达应用,以及其他可通过波形形状获取有用信息的应用。对基于低通 FIR 的滤波器而言,常见的设计方法包括凯塞窗最小二乘法等波纹方法。

MATLAB 中滤波器可视化工具的截图:显示带通滤波器幅值响应,其中,在 60 Hz 至 120 Hz 的通带范围内,响应约为 0 dB。

使用 MATLAB 中的 designfilt 函数设计的 FIR 带通滤波器的幅值响应。

在计算资源有限的情况下,IIR 滤波器就非常有用。然而,稳定的因果 IIR 滤波器并不具有完美的线性相位特性。IIR 滤波器通常用于音频均衡、生物医学传感器信号处理、物联网/IIoT 智能传感器和高速电信/射频等应用。对基于 IIR 的滤波器而言,设计方法包括巴特沃斯、切比雪夫(I 型II 型)以及椭圆方法。

MATLAB 中滤波器可视化工具的截图:显示带通滤波器幅值响应,其中,在 60 Hz 至 120 Hz 的通带范围内,响应为 0 dB。

使用 MATLAB 中的 designfilt 函数设计的 IIR 带通滤波器的幅值响应。

通过 Signal Processing Toolbox™ 中的 bandpass 函数,您可以对信号进行快速滤波。当需要对滤波器类型、滤波器阶数和衰减等参数进行更多控制时,您可以使用 designfilt 以及其他算法特定的函数(butterfir1)。有关使用 MATLAB 进行滤波器设计的详细信息,请参阅 Signal Processing Toolbox

另请参阅: DSP System Toolbox, 低通滤波器, 滤波器设计, 量化, 高通滤波器, 陷波滤波器