我正在编写一个 C++ 应用程序,以从单个输入信号中提取四个不同频率的四个调制载波信号。我在t-filter.appspot.com上设计了四个 FIR 滤波器,但它们运行非常缓慢,即使我将抽头数减少到 80 也是如此。
有更好的选择吗?人们似乎指向双二阶滤波器——它们与 FIR 滤波器有什么不同,它们在软件中运行得更快吗?
我正在编写一个 C++ 应用程序,以从单个输入信号中提取四个不同频率的四个调制载波信号。我在t-filter.appspot.com上设计了四个 FIR 滤波器,但它们运行非常缓慢,即使我将抽头数减少到 80 也是如此。
有更好的选择吗?人们似乎指向双二阶滤波器——它们与 FIR 滤波器有什么不同,它们在软件中运行得更快吗?
正如一些评论所建议的那样,频域滤波 (FFT) 绝对是错误的——它甚至更慢,或者充其量是相同的速度!递归滤波器 (IIR) 是最快的可能解决方案。如果您选择巴特沃斯类型的典型二阶滤波器(在工程俚语中称为双二阶)并正确计算数学(分解系数),您只有 3 次乘法和 5 次加法。
编辑:经典页面链接:过滤食谱