在使用matlab的fdatool设计滤波器时,导出的系数往往是sos型的,我们常用传输函数形式的b,a参数来使用。这就需要对导出的sos系数进行转换。
以下为一个实例:
1.比如在fdatool里面设计一个带通滤波器,按照如图的矩形框设计好参数以后,依次点击edit—>direct-form I SOS,将默认的direct-form II型参数转换为I型参数。这里不再阐述I型和II型结构的区别,大家可以自行百度一下滤波器的结构。
2.类型转换以后,在点击file–>export,如下图所示:
这里按照如图所示选择就可以。
3.点击2步骤的export以后,会在matlab的主界面弹出一个文档,里面是生成的滤波器系数。如下图所示:
这里分别生成了SOS系数和scale value,scale value即为gain增益。
4.最后一步,进行类型转换,化为常用的传递函数形式,分别将上述的SOS和gain参数保存为矩阵sos和gain,输入以下命令:
[b,a]=sos2tf(sos,gain);
到此,即完成转换,可以使用matlab自带的filter函数进行滤波了。
fdatool导出的SOS系数转化
最新推荐文章于 2024-05-06 22:17:05 发布