这是方案,
我有一组输入值,比如2000,相应的输出值,采样率是2000个样本/秒,并且使用50hz的正弦波,所以我如何计算这个可变量的频率响应,
我在matlab中所做的是,
我调用了所有输入值并取了它的fft,
o=data(input),
n=length(o);fs=2000 %sampliing frequency;
y=fft(o,n),
phase=angle(y),
Pha=180*phase/pi();
m=length(y);
f=(0:m-1)*fs/m;
semilogx(f,Pha), grid on
并且响应是在90度相角处拍摄的,这是正确的方法,
我可以根据我的数据创建模型并进行频率响应,还是有其他方法来计算响应,我是matlab的新手,需要帮助
答案 0 :(得分:1)
如果您的输入只是50 Hz的单个正弦曲线,则无法测量频率响应 - 您可以测量的只是该特定频率下的增益和相移。采用FFT等不会告诉您有关频率响应的更多信息,尽管它可用于测量噪声以及系统中任何非线性的影响。
如果您想测量频率响应,那么您的输入信号需要是宽带并覆盖感兴趣的频率范围,例如噪音,冲动或扫掠的正弦曲线。