这个例子展示了如何在MATLAB®命令行估计Simulink®模型的频率响应。金宝app
打开Simulin金宝appk模型。
mdl =“scdplane”;open_system (mdl)
有关频率响应估计的一般模型要求的更多信息,请参见模型要求.
使用分析点指定用于频率响应估计的输入和输出点。避免在公共汽车信号上放置分析点。
io (1) = linio (“scdplane / Sum1”1);io (2) = linio (“scdplane / Gain5”,1,“输出”);
有关线性分析点的更多信息,请参见指定要线性化的模型部分和linio
.
将模型线性化,并根据得到的线性系统的动力学创建一个正弦流信号。有关更多信息,请参见估计输入信号和弗列斯特。Sinestream
.
sys =线性化(“scdplane”io);输入= frest.Sinestream(系统);
如果您的模型尚未达到稳态,在估计频率响应之前,使用稳态工作点初始化模型。你可以通过模拟模型来检查你的模型是否处于稳态。有关寻找稳态工作点的更多信息,请参见计算稳态工作点.
找出产生时变信号的线性化输出信号路径中的所有源块。这种时变信号会在线性化输出点对信号产生干扰,产生不准确的估计结果。
srcblks = frest.findSources (“scdplane”io);
若要禁用时变源块,请创建frestimateOptions
选项集并指定BlocksToHoldConstant
选择。
选择= frestimateOptions;选择。BlocksToHoldConstant = srcblks;
估计频率响应。
[sys, simout] = frestimate (“scdplane”、io、输入、选择);
sys
为估计的频率响应。simout
是一个金宝app仿真软件。Timeseries
对象表示模拟输出。
要加快估计速度或减少内存需求,请参阅管理估计速度和内存.
打开仿真结果查看器来分析估计的频率响应。
frest.simView (simout、输入、系统)
你也可以比较估计的频率响应,sys
对系统进行精确的线性化,sys
.
frest.simView (simout输入、sys sys)
的波德图图显示了响应sys
作为一条蓝线。
linio
|operspec
|findop
|frest.findSources
|frestimateOptions
|frestimate