Matlab IIR滤波器传递函数

时间:2016-04-09 13:25:30

标签: matlab filtering signal-processing matlab-deployment

我正在使用MATLAB设计滤波器并获得传递函数系数ab,然后用C编码滤波器。

但是我注意到函数sos2tf正在创建不同于预期的值。实际上,当使用fvtool使用ba系数查看过滤器时,过滤器看起来与我使用sos矩阵或实际过滤器{ {1}}。

如果你尝试下面的代码,你可以更好地理解我在说什么。这是一个来自MATLAB的函数问题吗?我可以使用替代f来获得所需的滤波器系数吗?或者我可以直接检索它们而无需先使用sos2tf

请注意,我已尝试使用sos然后使用designfilt函数,结果系数与使用下面的代码获得的系数完全相同。谢谢你的帮助

tf

1 个答案:

答案 0 :(得分:0)

我不知道究竟是什么问题,因为它对我来说也不起作用,但我会给你一个解决方法来获得滤波器系数。在Matlab命令窗口类型fdatool中,将弹出一个过滤器设计应用程序窗口,通过正确选择所需参数来设计过滤器。完成后,在该fdatool窗口中转到File-> Export-> Export As->系数。从同一个工具中,您可以选择File->生成matlab代码 - >过滤器设计功能(或3个选项中的任何一个)。这样你就可以消除你在问题中发布的代码中可能存在的错误。我就是这样做的,而且一直运作良好