你知道一些实现IIR过滤器的C ++库吗?我需要类似于Matlab的过滤器(B,A,X)功能。虽然没有必要,但我更倾向于实施IIR直接表格2.
答案 0 :(得分:12)
有八度,一个开源的MatLab克隆,你可以使用它的实现(但它可能需要你使用它的特殊矩阵类型)。
搜索“C ++ IIR过滤器”会找到许多其他项目,例如:
关于这个主题的书籍也很多,例如:
通常,IIR滤波器的实现非常简单。数字稳健性和计算机硬件的有效使用更加困难,但它们需要了解您的特定应用程序(例如重新采样等),因此不适合库实现。
答案 1 :(得分:2)
您还可以尝试GNURadio(gnuradio.org),其中包含软件定义无线电的各种组件(包括iir过滤器)。它最初都是C ++,现在它是一堆用C ++编写的带有python绑定的模块,但你仍然可以直接使用C ++代码。
答案 2 :(得分:0)
您可以在sourceforge上尝试SPUC项目。它们确实有一些DSP功能,但几乎没有文档。