在信号处理中,滤波是一个必不可少的过程,它从信号中去除不需要的分量。一类特殊的滤波器是有限脉冲响应(FIR)滤波器,我们将在本文中更详细地讨论它。在简要描述数字滤波器之后,我们将讨论FIR滤波器的结构和功能。我们概述了FIR滤波器在测量软件OXYGEN中的实现。
什么是数字滤波器?
数字滤波器是一种数学算法,用于处理信号以提取信息并去除不需要的信息,例如阻塞或通过某个频率范围。因此,它是一种通过转换过程将输入序列转换为输出序列的数字系统。
有各种不同类型的滤波器。但是,根据脉冲响应的长度,我们可以将数字滤波器分为以下几种:
无限脉冲响应(IIR)
有限脉冲响应(FIR)
与用电子元件(如电容、线圈、电阻等)实现的模拟滤波器不同,数字滤波器是用逻辑器件(如ASIC、FPGA)实现的,或以信号处理器的顺序程序的形式实现。
IIR和FIR滤波器之间的区别是什么?
一般来说,IIR和FIR滤波器对输入脉冲的响应是不同的。如果滤波器的脉冲响应在有限时间过后降为零,它被称为FIR滤波器(有限脉冲响应)。另一方面,如果脉冲响应在时间上是无限的,则它是一个IIR滤波器(Infinite impulse response,无限脉冲响应)。数字滤波器的脉冲响应是否在有限时间后降为零取决于输出值是如何计算的。对于FIR滤波器,输出值仅取决于当前和之前的输入值,而对于IIR滤波器,输出值还取决于之前的输出值。
与FIR滤波器相比,IIR滤波器的优势在于,执行类似的滤波操作通常需要更少的系数,运算速度更快,所需的内存更少。然而,IIR滤波器的一个很大的缺点是它们的非线性相位响应。对于不需要相位信息的应用,如监测信号幅度,IIR滤波器非常适合。但是,对于需要线性相位响应的应用,FIR滤波器通常更适合。
FIR滤波器是如何工作的?
图1展示了FIR滤波器的功能操作。在输入端,数据/值x(n)被A/D转换器的时钟逐时钟(采样逐样本)应用。
在上面一行中,有移位元素(z-1),它为每个时钟周期将应用于输入的数据/值移位一步。这意味着在下面的例子结束时,值x(n-3)比当前值x(n)早3个时钟周期。中间是FIR系数k0 - km。这些系数表示一个将输入值乘以增益k的放大器。下面一行是求和分支,它将所有乘法(积分)的结果相加。输出的y(n)就是根据FIR系数得到的处理后的信号,可以用下面的数学表达式表示:
OXYGEN软件中的FIR滤波器
OXYGEN是我们直观的测试和测量软件。它是一个用于测量、可视化和各种应用分析的一体化软件。因此,它包括各种各样的特征,其中包括FIR滤波器它是一个易于使用的工具,允许你在四种不同的过滤器类型中进行选择:
低通
高通
带通
带阻
一旦选定,只需输入滤波器长度、所需的窗函数,以及是否要补偿信号延迟,就可以开始了。有关如何在OXYGEN中设置FIR滤波器的更详细指南,请联系授权经销商倍迎电子。
简而言之
数字滤波器是一种数学算法,用于处理信号以提取和/或删除不需要的信息。FIR滤波器是一类脉冲响应长度有限的滤波器,因为它在有限时间内趋于零。与IIR滤波器相比,FIR滤波器从根本上更稳定,可以设计为线性相位。