我想从机械结构中得到一个传递函数。因此,我用正弦扫描激励结构,用加速度传感器进行测量。理论上,通过使用以下脚本,我可以使用Matlab获得传递函数:
fmin = 1;
fmax = 100;
tmax = 10;
deltaT = 0.01;
t=0:deltaT:tmax;
w=(fmin+(fmax-fmin)/tmax*t)*2*pi;
G = tf(0.5,[1 0.5]); % example transfer function
inp = 5*sin(w.*t);
out = lsim(G,inp,t); % is normally replaced by real measurements
figure; plot(t,inp,'r',t,out,'b');
data =iddata(out(:),inp(:),deltaT);
modfrd = etfe(data);
figure; bode(modfrd,G);
legend('Approximation','Real Curve');但现实中的结果却远远不是好的(非常吵闹)。有谁知道我如何改进转换到传递函数的方法吗?每一个暗示都会有帮助。
非常感谢。
发布于 2016-05-09 09:00:33
您可以使用tfestimate,但是系统标识是一门艺术,而不是科学(尽管不断有人声称)。
[modfrd,w] = tfestimate(inp,out,[],256,512,100);
Gc = frd(modfrd,2*pi*w);
figure; bode(Gc,G);hold on;
legend('Approximation','Real Curve');

https://stackoverflow.com/questions/37109712
复制相似问题