В этом примере показано, как использовать блок Frequency Response Estimator, чтобы выполнить онлайновую оценку частотной характеристики в процессе моделирования модели в Simulink®. Этот подход может быть полезным, когда вы планируете развернуть блок для онлайновой оценки физического объекта. При тестировании алгоритма оценки и параметров эксперимента против модели Simulink объекта, прежде чем развертывание может помочь гарантировать, что онлайновая оценка безопасна для объекта.
Этот пример использует модель, которая уже содержит блок Frequency Response Estimator, сконфигурированный для оценки. Откройте модель.
mdl = "OnlineFreqRespEstimEx.slx";
open_system(mdl)
Модель содержит объект в настройке с обратной связью с ПИ-контроллером. Блок Frequency Response Estimator принимает управляющий сигнал как вход u
. Это питает управляющий сигнал плюс возмущение во вход объекта. Вы задаете свойства сигнала возмущения использование параметров блока.
Блок Frequency Response Estimator сконфигурирован, чтобы запустить эксперимент в sinestream режиме, что означает, что это вводит отдельное возмущение на каждой частоте. Блок также сконфигурирован, чтобы использовать ту же амплитуду, 1, для каждой частоты в сигнале возмущения.
Блок далее сконфигурирован, чтобы оценить частотные характеристики на частотах w = logspace(0,2,20)
. Чтобы гарантировать, что частота дискретизации эксперимента достаточно быстра, чтобы вместить самую высокую частоту, это - хорошая практика, чтобы установить время выборки на приблизительно 0,6 / wmax
или быстрее, где wmax
самая высокая частота в rad/s. В данном примере шаг расчета эксперимента составляет 0,005 секунды, достаточно быстро для wmax
из 100 рад/с.
Блоки шага соединяются с start/stop
входной порт включает эксперимент с возрастающим сигналом в t = 5, когда модель в устойчивом состоянии. Блок обеспечивает рекомендуемую продолжительность эксперимента приблизительно 174 с. Это значение основано на заданных частотах w
, количество обосновывающихся периодов, чтобы ожидать на каждой частоте и количестве периодов, чтобы использовать для оценки. Гарантировать, что эксперимент запускается достаточно долго для хорошего результата, start/stop
предупредите останавливает эксперимент в t = 180. (Для получения дополнительной информации о рекомендуемой продолжительности эксперимента, смотрите Средство оценки Частотной характеристики.)
Симулируйте модель. Можно использовать осциллограф, чтобы визуализировать управляющий сигнал, сигнал возмущения и объект выход. Поскольку параметры блоков Диаграммы Боде Отображения выбраны, блок автоматически генерирует график заданной базовой модели и периодически обновляет ее с предполагаемой частотной характеристикой.
sim(mdl)
Сигнал в frd
порт является вектором, содержащим текущие значения предполагаемого ответа на каждой частоте в w
. Блок To Workspace, соединенный с тем портом, пишет сигнал в переменную frdata
рабочей области MATLAB®. В блоке To Workspace Предельные точки данных, чтобы продлиться параметр установлены в 1, так, чтобы
frdata
содержит только оцененные ответы финала на каждой частоте. Преобразуйте frdata
к frd
объект модели.
sys_estim = frd(frdata,w); size(sys_estim)
FRD model with 1 outputs, 1 inputs, and 20 frequency points.
Можно теперь использовать sys_estim
с анализом Control System Toolbox™ и командами системы управления, которые принимают frd
модели, как введено, такие как bode
и pidtune
. В качестве альтернативы, если у вас есть программное обеспечение System Identification Toolbox™, можно использовать данные о частотной характеристике, чтобы оценить параметрическую модель системы.
Модель также сконфигурирована, чтобы регистрировать данные об оценке в данных о выходном порте блока (см., что Данные сигнала Экспорта Используют Логгирование Сигнала для получения информации о регистрации данных). Данные хранятся в рабочем пространстве MATLAB как Simulink.SimulationData.Dataset
объект logsout
. Для получения информации о том, как использовать эти данные, смотрите, Собирают Данные об Эксперименте Частотной характеристики для Оффлайновой Оценки.