估计命令行上的频率响应

此示例演示如何在MATLAB®命令行上估计Simulink®模型的频率响应。万博1manbetx

打开Simulin万博1manbetxk模型。

mdl =“scdplane”;open_system (mdl)

有关频率响应估计的一般模型要求的更多信息,请参见模型要求

使用分析点指定频率响应估计的输入和输出点。避免在总线信号上放置分析点。

io (1) = linio (“scdplane / Sum1”1);io (2) = linio (“scdplane / Gain5”,1“输出”);

有关线性分析点的更多信息,请参见指定要线性化的模型部分linio

线性化模型,并创建一个正弦波信号的基础上的动态结果线性系统。有关更多信息,请参见估计输入信号frest.Sinestream

sys =线性化(“scdplane”io);输入= frest.Sinestream(系统);

如果你的模型还没有达到稳定状态,在估计频率响应之前,使用一个稳定状态操作点初始化模型。你可以通过模拟模型来检查你的模型是否处于稳定状态。有关寻找稳态工作点的更多信息,请参见计算稳态工作点

在产生时变信号的线性化输出的信号路径中找到所有的源块。这种时变信号会干扰线性化输出点处的信号,产生不准确的估计结果。

srcblks = frest.findSources (“scdplane”io);

若要禁用时变源块,请创建frestimateOptions选项设置并指定BlocksToHoldConstant选择。

选择= frestimateOptions;选择。BlocksToHoldConstant = srcblks;

估计频率响应。

[sys, simout] = frestimate (“scdplane”、io、输入、选择);

sys为估计频率响应。simout是一个万博1manbetxSimulink.Timeseries表示模拟输出的对象。

要加速您的评估或减少其内存需求,请参阅管理估计速度和内存

打开仿真结果查看器,分析估计的频率响应。

frest.simView (simout、输入、系统)

你也可以比较估计的频率响应,sys对于系统的线性化,sys

frest.simView (simout输入、sys sys)

波德图图中显示了响应sys一条蓝线。

另请参阅

|||||

相关的话题