我使用MATLAB,以便设计滤波器,将获得的传递函数的系数和a
到b
然后Matlab的IIR滤波器的传递函数
但是我已经注意到功能sos2tf
是创建在不同编码C.过滤器值比预期。实际上,当使用fvtool
查看使用b
和a
系数的滤波器时,滤波器看起来与我使用sos
矩阵或实际滤波器f
对其进行绘图时不同。
如果你尝试下面的代码,你可以更好地理解我在说什么。这是来自MATLAB的功能问题吗?我可以使用替代品sos2tf
哪个给我所需的滤波器系数?或者我可以直接检索它们,而无需先使用sos
?
请注意,我已经尝试使用designfilt
,然后使用tf
函数,并且所得到的系数与使用下面的代码获得的系数完全相同。感谢您的帮助
H = fdesign.lowpass('Fp,Fst,Ap,Ast',60,75,1,60,10000);
f = design(H,'butter','MatchExactly','passband'); % Design an FIR BW filt
info(f) % View information about filter
fvtool(f);
[b,a] = sos2tf(f.sosMatrix);
fvtool(b,a);
您能否给我过滤器规格和您使用的采样频率? – VMMF