在simulink中要怎么得到几个滤波器级联之后的幅频响应?
计算的话,每级滤波器的频域响应相乘,可以得到级联系统的响应;
理论上测试的话,用单位冲激信号作为级联系统的激励信号;
实际测试则可以用线性调频信号,或正弦信号进行扫频测试。
simulink我没怎么用,具体不太清楚。我之前测试系统的频响的做法是用正弦信号进行扫频。比如用范围为10M~20M的正弦信号作为系统的激励信号,频率间隔为10KHz,这样大概有1000个频点的正弦信号。将这1000个频点的正弦信号逐个输入到系统中,测出每个频点的输出幅度(取正弦响应的FFT的最大幅度值,即为该频点的输出幅度),这些频点的输出幅度就构成系统的幅频响应。
是不是可以输入一个冲击信号?我也不懂要怎么弄了,哎
simulink我没用过,在matlab里面以前用过冲激信号求系统响应,simulink应该也可以,你可以试下。在实际系统中,不能产生冲激信号。求幅度响应的原理主要是,在频域内幅度恒定的输入信号作为系统激励,可以得到幅度的响应,冲激信号在频域内负无穷到正无穷都是恒定的,但实际上不能实现。实际就用线性调频信号,或者正弦信号扫频。
我记得是有个分析线性系统的工具可以用。
很久没用具体不记得了
求回忆一下啊,我调那个工具,结果报错说sample time必须是离散的,要怎么解决
我的也是离散的啊,数字滤波器。。可是就报这个错
没有用过simulink
不过可以用matlab m文件创建filter object,然后用cascade()级联,然后用fvtool()什么响应都能看到
Hmcas_double = cascade(HBm1,Hmcomp,HBm2,Hmcic,1/(GainHmcic*R))
hfvt = fvtool(Hmcas_double,'Fs',128*48e3);
做个冲击源,末级输出导出到workspace,然后分析啊