我正在尝试使用系统脉冲响应的傅里叶变换来获得任何传递函数的频率响应。它在大多数测试的情况下都工作得很好,但我仍然对有积分器的传递函数有问题(例如 1/s ; (4s+2)/(3s^2+s) 等)。
让我们以 H(s) = 1/s 的纯积分器为例。获得的脉冲响应是预期的阶跃函数,但是脉冲响应的傅里叶变换没有给出预期的理论结果。相反,它给出了非常小的结果,并且在处理后不会导致积分器的经典特性(-20dB/decade 幅度和 -90deg 相位)。
如果我不够清楚,也许几行代码会有所帮助:
h = tf(1,[1 0]);
t_step = .1;
t = [0 : t_step : 100000]';
[y,t1] = impulse(h,t);
y_fft = fft(y);
你知道这个问题可能来自哪里吗?如果您需要更多信息,请告诉我。我正在研究 MATLAB R2013b。