困难解决时间常数和增益使用信号处理工具箱从给定数据集

14日视图(30天)
我有一架飞机和一个控制器定位点(输入、x (n))辊并有相应的辊响应(输出,y (n))的自动驾驶仪。我想要满足一阶线性传递函数数据 找到相关的时间常数参数变化
我发现x的fft (n)和y (n)的x和y (s)。然后使用这些函数来寻找传递函数H (s) = Y (s) / X (s)。
从这里我不确定要去哪里或者我甚至在正确的轨道,任何帮助会心存感激!
3评论
保罗
保罗 2023年4月28日
编辑:保罗 2023年4月29日
FFT的可以接近你想要的,但这取决于使用的输入和输出生成。 tfestimate 在概念上有可能做同样的事情,但即使它可以有问题如果不提供适当的数据。
这是一个例子。
定义一个传递函数的分子和分母。
b = 1;一个=。1 1];% H (s) = 1 / (0.1 s + 1)
定义时间向量
t = 0: .01:5;
定义一个常量,阶跃输入。
u = 0 * t + 1;
计算输出响应输入,而不是会计为t > 5会发生什么(需要控制系统工具箱)
y = lsim (tf (b), u, t);
使用tfestimate,没有花哨的选项,并比较结果已知频率加H (s)
[Txy, wxy] = tfestimate (u, y,元素个数(y));
w = logspace (3500);
h =频率(b、w);
次要情节(211);
semilogx (wxy / . 01, db (abs (Txy)), w, db (abs (h))),网格
次要情节(212)
semilogx (wxy /幅角(Txy), w,角(h)),网格
这不是一个好的结果。
相反,使用一个线性调频输入和经历相同的过程。
u =唧唧喳喳(2100 t .1/2 /π/ 2 / pi);
y = lsim (tf (b), u, t);
[Txy, wxy] = tfestimate (u, y,元素个数(y), 1);
w = logspace (3500);
h =频率(b、w);
次要情节(211);
semilogx (wxy / . 01, db (abs (Txy)), w, db (abs (h))),网格
次要情节(212)
semilogx (wxy /幅角(Txy), w,角(h)),网格
唧唧喳喳的输入,tfestimate更成功。一些输入是比别人更好的如果你想估计系统的传递函数。然后想出下一步将H (s)值的H。

登录置评。

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!