主要内容

频域的线性化验证

此示例显示如何使用频率响应估计来验证逐块分析线性化结果。要运行此示例,您需要Aerospace BlockSet™软件。

打开模型

打开轻量级飞机的S金宝appimulink模型。有关此模型的更多信息,请参阅轻型飞机设计(航天Blockset)

mdl =“scdskyhogg”;open_system (mdl)

分析线性化模型

你可以通过高度指令信号线性化轻型飞机模型,ALTCMD.,感觉高度,h_sensed.这些线性分析点已经在模型中指定了。

io = getlinio (mdl)
2 x1向量线性化的IOs : -------------------------- 1。线性化输入扰动位于以下信号:-块:scdskyhogg/Pilot/Add -端口:1 -信号名称:AltCmd 2。线性化输出测量位于以下信号:- Block: scdskyhogg/Vehicle System Model/Avionics/Autopilot/Bus Selector1 - Port: 1 - signal Name: < h_detected >

线性化模型使用线性化函数。该模型预先配置为使用t = 75时通过模拟快照获得的工作点。

sys =线性化(mdl, io);波德(系统)

估计频率响应

为了确定线性化结果是否正确捕获非线性模型的特性,例如6.28 rad / s左右的反共振,您可以使用验证线性化结果frestimate

创建一个SINESTREAM输入信号。基于线性系统,使用线性化结果作为输入参数以自动设置SINESTREAM输入信号的各种参数,例如频率集和每个频率的周期数。

在= frest.Sinestream(系统);在。幅值= 0.5
频率:[0.0034142;0.005445;0.0086502;0.013768…][rad/s]振幅:0.5 SamplesPerPeriod: [110417;69370;43582;[4;4;4;4…]频率单位(rad/s,Hz): rad/s settingperiod:[1;1;1;1…applyfilteringinfestimatio (on/off): on SimulationOrder (Sequential/OneAtATime): Sequential

软件选择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”“快速”);

采用快速加速器模式可以显著提高仿真速度。实际速度的提高取决于您的计算机配置。

要运行频率响应估计,请使用以下命令。

sysest =嫉妒(mdl,IN,IO);

对于本例,您可以从mat文件加载估计结果。

负载scdskyhogg_freestresults.mat

将解析线性化结果与频率响应数据进行比较frestimate.频率响应数据与解析线性化结果吻合较好,验证了实际非线性飞机模型在1 ~ 10 rad/s频率之间确实存在反共振。

波德(sys、系统'r *'

关闭模式。

bdclose (“scdskyhogg”

另请参阅

相关话题