IIR是无限长单位脉冲响应数字滤波器,其系统对应函数有如下形式:
在知道滤波器相应的系数b[],a[]后可根据相应的差分方程,完成对数据的滤波,而滤波器的系数可以通过Matlab滤波器设计和分析工具箱Filter Design&Analysis Tool求得,下面以一个IIR三阶低通滤波器为例,介绍C语言IIR滤波器的实现方法:
1、 计算滤波器的系数
根据信号的采样频率以及低通滤波器的截止频率,通过Matlab工具箱求得滤波器的系数b和a。如信号采样率为f=400Hz,低通滤波器的截止频率fc=60Hz:
Matlab中Start→ToolBoxes→Filter Design→Filter Design & Analysis Tool(fdatool)
在Filter Design & Analysis Tool,输入滤波器的相应指标,点击“Design Filter”设计滤波器。如下图所示:<