如果我要通过以下代码在数字样本数组上实现低通滤波器,其中original
是原始数据数组,new
是过滤数据数组,{ {1}}是一个常数:
c
或高通滤波器,第三行替换为:
new[0] = original[0];
for(int i=1; i<original.length; i++){
new[i] = new[i-1] + c * (original[i] - new[i-1]);
}
new[i] = c * (new[i-1] + original[i] - original[i-1]);
与每个截止频率之间的关系是什么?
答案 0 :(得分:0)
两个滤波器均为单极点无限脉冲响应(IIR) filters。
IIR滤波器在连续时域中具有类似物(例如,简单的LC和RC电路)。分析通常从所需的传递函数H(ω)
开始 - 使用z-tranform转换为离散时间。稍微重新排列将产生一个方程式,您可以为您的滤波器系数求解。 [H(ω)
在截止频率下为-3dB]。
这种材料通常在电子工程学位的第一和第二学期教授,因此将有大量的在线和免费的课件。你需要随附的纯数学课程。
许多实用的过滤器设计在分析上是不可解决的(或者至少是困难的);一种常见的方法是以数字方式解决。 MATLAB是许多人的首选工具。 NI LabView还有一个过滤器设计器。两者都不便宜。
单极滤波器易于解决。 this可能有所帮助。如果您想设计更复杂或更高阶的过滤器,还有各种在线filter solvers。