В этом примере показано, как спроектировать компенсатор для модели завода, определяемой данными частотной характеристики (FRD) с помощью конструктора систем управления.
Непараметрические представления моделей установки, такие как данные частотной характеристики, часто используются для анализа и проектирования управления. Эти модели FRD обычно получают из:
1) Аппаратные средства анализатора сигналов, выполняющие измерения частотной области в системах.
2) Непараметрические методы оценки с использованием данных системного временного отклика. Для оценки моделей FRD можно использовать следующие продукты:
Design™ управления Simulink ®:
Функция: frestimate(Проект управления Simulink)
Пример: Оценка частотного отклика с использованием методов моделирования (Simulink Control Design).
Toolbox™ обработки сигналов:
Функция: tfestimate(Панель инструментов обработки сигналов).
Toolbox™ идентификации системы:
В этом примере сконструировать регулятор частоты вращения двигателя, который приводит в действие угол дроссельной заслонки двигателя:

Частотная характеристика двигателя уже оценена. Загрузите и просмотрите данные.
load FRDPlantDemoData.mat
AnalyzerDataAnalyzerData = struct with fields:
Response: [594x1 double]
Frequency: [594x1 double]
FrequencyUnits: 'rad/s'
Создайте объект модели FRD:
FRDPlant = frd(AnalyzerData.Response,AnalyzerData.Frequency,... 'Unit',AnalyzerData.FrequencyUnits);
Проектные требования:
Нулевая ошибка установившегося состояния для изменения опорной скорости шага
Запас по фазе больше 60 градусов
Запас усиления более 20 дБ.
Откройте конструктор системы управления.
controlSystemDesigner({'bode','nichols'},FRDPlant)
Конструктор системы управления открывается с редакторами Bode и Nichols с разомкнутым контуром.

Можно разработать компенсатор, формируя частотную характеристику с разомкнутым контуром в редакторе Боде или в редакторе Николса. В этих редакторах интерактивно модифицируют коэффициент усиления, полюса и нули компенсатора.
Чтобы удовлетворить требование отслеживания нулевой стационарной ошибки, добавьте интегратор в компенсатор. Щелкните правой кнопкой мыши в области печати редактора модели и выберите «Добавить полюс/нуль» > «Интегратор».
Для удовлетворения требований к коэффициенту усиления и запасу по фазе добавьте ноль к компенсатору. Щелкните правой кнопкой мыши в области печати редактора модели и выберите «Добавить столб/нуль» > «Реальный ноль». Измените расположение нуля и коэффициент усиления компенсатора до тех пор, пока не будут удовлетворены требования к запасам.
Одной из возможных конструкций, удовлетворяющих проектным требованиям, является:
+ 4) с.
Эта конструкция компенсатора, представляющая собой PI-контроллер, обеспечивает запас усиления 20,7 дБ и запас фазы 70,8 градуса.

Экспорт разработанного компенсатора в рабочую область. Щелкните Экспорт (Export).
Проверьте производительность контроллера путем моделирования отклика двигателя с использованием нелинейной модели в Simulink ®. Для этого примера результаты моделирования проверки находятся вEngineStepResponse.
Постройте график реакции двигателя на изменение опорной частоты вращения от 2000 до 2500 об/мин:
plot(EngineStepResponse.Time,EngineStepResponse.Speed) title('Engine Step Response') xlabel('Time (s)') ylabel('Engine Speed (RPM)')

Ответ показывает нулевую ошибку установившегося состояния и хорошо работающие переходные процессы со следующими метриками.
stepinfo(EngineStepResponse.Speed,EngineStepResponse.Time)
ans = struct with fields:
RiseTime: 1.1048
SettlingTime: 1.7194
SettlingMin: 2.4501e+03
SettlingMax: 2.5078e+03
Overshoot: 0.3127
Undershoot: 0
Peak: 2.5078e+03
PeakTime: 2.3853