如何在matlab中获得滤波器系数

时间:2015-01-25 18:26:49

标签: matlab filter

我设计了带通滤波器'椭圆形'在matlab中使用设计函数,我如何得到这个滤波器的系数[A,B]。我在工作区中看到包含一些文件的高清文件(scalevalus,state sosMatrix)。

1 个答案:

答案 0 :(得分:0)

您可以使用DSP系统工具箱的coeffs

s = coeffs(Hd);
s.Numerator

编辑: 您实际上使用的是级联二阶滤波器,因此未使用分子B和分母A定义,但级联部分的系数位于Hd.sosMatrix中:

fvtool

  

sos是K-by-6矩阵,其中截面数K必须大于或等于2.如果截面数小于2,则fvtool将输入视为分子矢量。每行sos对应于二阶(双二阶)滤波器的系数。 sos矩阵的第i行对应于[bi(1)bi(2)bi(3)ai(1)ai(2)ai(3)]。

因此,如果你真的需要一个具有系数[A,B]的等效经典滤波器,你最好的选择是使用sos2tf,但这只是一个近似值:

[B,A] = sos2tf(Hd.sosMatrix,Hd.ScaleValues);