【发布时间】:2015-01-27 04:42:13
【问题描述】:
我使用matlab中的设计函数设计了带通滤波器“椭圆”,我怎样才能得到这个滤波器[A,B]的系数。我在工作区中看到包含一些文件(比例值、状态 sosMatrix)的高清文件。
【问题讨论】:
我使用matlab中的设计函数设计了带通滤波器“椭圆”,我怎样才能得到这个滤波器[A,B]的系数。我在工作区中看到包含一些文件(比例值、状态 sosMatrix)的高清文件。
【问题讨论】:
您可以使用 DSP System Toolbox 的coeffs:
s = coeffs(Hd);
s.Numerator
编辑: 您实际上是在使用级联二阶滤波器,因此它不是用分子 B 和分母 A 定义的,而是级联部分的系数在 Hd.sosMatrix 中:
sos 是一个 K×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);
【讨论】: