这个例子展示了如何验证一个块一个块的解析线性化结果使用频率响应估计。要运行此示例,您需要Aerospace Blockset™软件。
打开轻型飞机的Si金宝appmulink模型。有关此模型的更多信息,请参见轻型飞机设计(航天Blockset).
mdl =“scdskyhogg”;open_system (mdl)
你可以线性化轻型飞机模型从高度指令信号,AltCmd
,到感觉到的高度,h_sensed
.这些线性分析点已经在模型中指定。
io = getlinio (mdl)
2 x1向量线性化的IOs : -------------------------- 1。线性化输入扰动位于以下信号:-块:scdskyhogg/Pilot/Add -端口:1 -信号名称:AltCmd 2。线性化输出测量位于以下信号:-模块:scdskyhogg/车辆系统模型/航空电子设备/Autopilot/Bus Selector1 -端口:1 -信号名称:< h_传感>
线性化模型使用线性化
函数。该模型预先配置为使用t = 75时的模拟快照获得的工作点。
sys =线性化(mdl, io);波德(系统)
为了确定线性化结果是否正确地捕获了非线性模型的特性,例如在6.28 rad/s左右的反共振,可以使用验证线性化结果frestimate
.
创建一个正弦流输入信号。将线性化结果作为输入参数,根据线性系统自动设置正弦流输入信号的各种参数,如频率的集合和每个频率的周期数。
在= frest.Sinestream(系统);在。幅值= 0.5
频率:[0.0034142;0.0054345;0.0086502;0.013768…]采样周期:[110417;69370;43582;27381…[4;4;4;4…]SettlingPeriods:[1;1;1;1…]applyfilteringinfestimate (on/off): on SimulationOrder (Sequential/OneAtATime): Sequential . applyfilteringinfestimate (on/off): on
软件选择25个频率来计算响应。这些频率在0.0034 rad/s和14.5 rad/s之间变化。自动选择的频率集中在有趣的动态发生的地方(例如6.28 rad/s的反共振)。对于每一个频率,估计系统达到稳定状态所需的周期数,并且在1个周期(0.0034 rad/s)和188个周期(14.5 rad/s)之间变化。
估计频率响应使用这个输入信号。frestimate
利用输入信号对模型进行仿真,这在一般的仿真模型中需要较长时间。要加速模拟,将模型配置为使用快速加速模式。
set_param (mdl“SimulationMode”,“快速”);
采用快速加速器模式可以显著提高仿真速度。实际的速度提高取决于您的计算机配置。
要运行频率响应估计,请使用以下命令。
io系统= frestimate (mdl);
对于本例,您可以从mat文件加载估计结果。
负载scdskyhogg_frestresults.mat;
将解析线性化的结果与频率响应数据进行比较frestimate
.频率响应数据与解析线性化结果吻合较好,验证了实际非线性飞机模型在频率1 ~ 10 rad/s之间存在反共振现象。
波德(sys、系统的r *)
关闭模式。
bdclose (“scdskyhogg”)