Этот пример показывает, как оценить частотную характеристику модели Simulink® в командной строке MATLAB®.
Откройте модель Simulink.
mdl = 'scdplane';
open_system(mdl)
Для получения дополнительной информации об общих образцовых требованиях для оценки частотной характеристики смотрите Образцовые Требования.
Задайте точки ввода и вывода для оценки частотной характеристики с помощью аналитических точек. Постарайтесь не помещать аналитические точки в сигналы шины.
io(1) = linio('scdplane/Sum1',1); io(2) = linio('scdplane/Gain5',1,'output');
Для получения дополнительной информации о линейных аналитических точках, смотрите, Задают Фрагмент Модели, чтобы Линеаризовать и linio
.
Линеаризуйте модель и создайте сигнал sinestream на основе динамики получившейся линейной системы. Для получения дополнительной информации смотрите Входные сигналы Оценки и frest.Sinestream
.
sys = linearize('scdplane',io);
input = frest.Sinestream(sys);
Если ваша модель не достигла устойчивого состояния, инициализируйте модель с помощью установившейся рабочей точки прежде, чем оценить частотную характеристику. Можно проверять, является ли модель в устойчивом состоянии путем симуляции модели. Для получения дополнительной информации о нахождении установившихся рабочих точек смотрите, Вычисляют Установившиеся Рабочие точки.
Найдите все исходные блоки в путях прохождения сигнала линеаризации выходными параметрами, которые генерируют изменяющиеся во времени сигналы. Такие изменяющиеся во времени сигналы могут вмешаться в сигнал в выходных точках линеаризации и привести к неточным результатам оценки.
srcblks = frest.findSources('scdplane',io);
Чтобы отключить изменяющиеся во времени исходные блоки, создайте набор опции frestimateOptions
и задайте опцию BlocksToHoldConstant
.
opts = frestimateOptions; opts.BlocksToHoldConstant = srcblks;
Оцените частотную характеристику.
[sysest,simout] = frestimate('scdplane',io,input,opts);
sysest
является предполагаемой частотной характеристикой. simout
является объектом Simulink.Timeseries
, представляющим моделируемый вывод.
Чтобы ускорить вашу оценку или уменьшить ее требования к памяти, смотрите Скорость Оценки Управления и Память.
Откройте Средство просмотра Результатов симуляции, чтобы анализировать предполагаемую частотную характеристику.
frest.simView(simout,input,sysest)
Можно также сравнить предполагаемую частотную характеристику, sysest
, к точной линеаризации системы, sys
.
frest.simView(simout,input,sysest,sys)
График диаграммы Боде показывает ответу sys
как синюю строку.
findop
| frest.findSources
| frestimate
| frestimateOptions
| linio
| operspec