Filter 切比雪夫低通滤波器? 我正在寻找一个Windows窗体项目的数字/模拟切比雪夫低通滤波器,最好是C、C++或C。伪码也会有帮助。

Filter 切比雪夫低通滤波器? 我正在寻找一个Windows窗体项目的数字/模拟切比雪夫低通滤波器,最好是C、C++或C。伪码也会有帮助。,filter,signal-processing,Filter,Signal Processing,滤波器是切比雪夫滤波器这一事实决定了滤波器系数。实际实现几乎与系数无关。您需要一个像样的滤波器设计包来生成系数(因为系数取决于各种滤波器参数和选择的采样频率),然后取决于您如何实现实际滤波器,但有各种标准形式 如果你真的想做这类事情,你可能想得到一两本像样的DSP教科书。这是Tony Fisher的一个web应用程序,它计算数字滤波器(常见的FIR和IIR类型)的系数,绘制滤波器幅度和相位响应,甚至创建ANSI C函数模板: 以及模拟滤波器设计: 下面是一个使用NMath的fft的高效c#代码

滤波器是切比雪夫滤波器这一事实决定了滤波器系数。实际实现几乎与系数无关。您需要一个像样的滤波器设计包来生成系数(因为系数取决于各种滤波器参数和选择的采样频率),然后取决于您如何实现实际滤波器,但有各种标准形式


如果你真的想做这类事情,你可能想得到一两本像样的DSP教科书。

这是Tony Fisher的一个web应用程序,它计算数字滤波器(常见的FIR和IIR类型)的系数,绘制滤波器幅度和相位响应,甚至创建ANSI C函数模板:

以及模拟滤波器设计:


下面是一个使用NMath的fft的高效c#代码示例。生成滤波器系数并不困难,也可以通过在线或参考书轻松完成。

哪种滤波器准确?(Order?)如果您知道参数,您可以使用FFTW()之类的fft库来实现它,这是一个家庭作业吗?如果是的话,请明确说明。您想要什么样的滤波器实现:IIR(顺序?、哪种形式)、FIR、FFT重叠保存/添加,还是????谢谢!你的评论对我帮助很大。我完全不确定如何在软件版本中实现过滤器。现在我正在尝试学习如何使用贝塞尔滤波器,你对如何使用贝塞尔滤波器有什么建议吗?@T o n y:同样的评论也适用——你可以对巴特沃斯、切比雪夫、贝塞尔、椭圆或任何其他类型的滤波器使用相同的实现——所有的变化都是系数(和级数)。通常使用过滤器设计包生成系数,然后插入这些系数。有关过滤器设计程序的一个示例,请参见@eryksun的答案。感谢您的链接,但我不确定某些输入。你能给我一个计算贝塞尔滤波器系数的输入和输出的例子吗?应该有多少个系数?当我指定第三个订单时,它生成9个数字:6.69292825e+00 1.00000000 E+00 3.00000000 E+00 3.00000000 E+00 1.00000000 E+00 3.20403524e-03-1.59857411e-01-3.86380876e-02-1.00000000 E+00我使用的算法与Paul R建议的巴特沃斯页面上的算法相同:使用这些数字的正确方法是什么?而FFTs可以提供高效的对于某些滤波器的实现,简单地执行FFT->块乘法->IFFT本身不太可能得到您想要的结果。如果要使用FFT,几乎肯定要处理过滤器设置以及如何重叠来自多个FFT的结果。