【发布时间】:2018-11-30 12:12:51
【问题描述】:
我找到了很多关于如何计算一阶和二阶低/高通滤波器的双二阶滤波器系数的参考资料,但没有找到更高阶的参考资料。
不过,我想为我的扬声器交叉程序实现 N 阶巴特沃斯滤波器。有人可以指出我需要的公式吗?
【问题讨论】:
-
参见 this answer 以获取 5 阶示例。您在获取巴特沃斯多项式系数(可以通过 Matlab、python、链接小程序等获得)或分解多项式以获得其复数根方面是否有特殊困难?
-
我写了一组 LADSPA 插件和一个 GUI 来参数化这些。每当交叉频率发生变化时,我需要在 C 代码中重新计算它们,因此 matlab 和 python 都出来了:/ 我需要它们在 python 中让 GUI 显示滤波器的频率响应。欢迎任何伪代码来源,我可以自己将它们改编为 C 和 python。
-
这是我使用的二阶过滤器的示例:pastebin.com/1Wd1UPFS
-
FWIW 我仍在试图弄清楚如何计算该死的三阶滤波器的滤波器系数。我对 scipy.signal 中的 butter() 代码进行了逆向工程,简化了 N=3(3 阶)的情况,并尝试在 C 中实现它。这是初步结果:pastebin.com/sPVtgB1s 我还需要弄清楚什么在这种情况下如何模拟 numpy.poly() ,它采用多项式函数的零并返回它的系数。有人知道这些东西吗?
标签: algorithm signal-processing