Алгоритмы Online estimation оценивают параметры и состояния модели, когда новые данные доступны во время операции физической системы. Использование программного обеспечения System Identification Toolbox™, линейное, расширенное, и сигма-точечный фильтр Калмана или алгоритмы фильтра частиц для онлайновой оценки состояния. Тулбокс использует рекурсивные ошибочные алгоритмы минимизации прогноза для онлайновой оценки параметра.
Рассмотрите нагревание и систему охлаждения, которая не имеет предшествующей информации о среде, в которой это действует. Предположим, что эта система должна нагреть или охладить комнату, чтобы достигнуть определенной температуры за данное количество времени. Чтобы выполнить ее цель, система должна получить знание характеристик температуры и изоляции комнаты. Можно оценить характеристики изоляции комнаты, в то время как системой является (операционный) online. Для этой оценки используйте системное усилие в качестве входа и комнатной температуры как вывод. Можно использовать предполагаемую модель, чтобы улучшить поведение системы. Онлайновая оценка идеальна для оценки маленьких отклонений в значениях параметров системы в известной рабочей точке.
Распространенные приложения онлайновой оценки включают:
Адаптивное управление — Оценка модель объекта управления, чтобы изменить контроллер на основе изменений в модели объекта управления.
Обнаружение отказа — Сравнивает онлайновую модель объекта управления с идеализированной или ссылочной моделью объекта управления, чтобы обнаружить отказ (аномалия) на объекте.
Мягкое обнаружение — Генерирует “измерение” на основе предполагаемой модели объекта управления и использует это измерение для обнаружение отказа или управления с обратной связью.
Верификация качества данных эксперимента прежде, чем запустить оффлайновую оценку — Перед использованием результатов измерений для оффлайновой оценки, выполните онлайновую оценку для нескольких итераций. Онлайновая оценка обеспечивает быструю проверку того, использовал ли эксперимент сигналы возбуждения, которые получили соответствующую системную динамику.
Онлайновая оценка параметра обычно выполняется с помощью рекурсивного алгоритма. Чтобы оценить значения параметров на временном шаге, рекурсивные алгоритмы используют текущие измерения и предыдущие оценки параметра. Поэтому рекурсивные алгоритмы эффективны с точки зрения использования памяти. Кроме того, рекурсивные алгоритмы имеют меньшие вычислительные требования. Эта эффективность делает их подходящий для онлайн-приложений и встраиваемых приложений. Для получения дополнительной информации об алгоритмах, смотрите Рекурсивные алгоритмы для Онлайновой Оценки Параметра.
В System Identification Toolbox можно выполнить онлайновую оценку параметра Simulink® или в командной строке:
В Simulink используйте Рекурсивную Оценочную функцию методом наименьших квадратов и Рекурсивные Полиномиальные Образцовые блоки Средства оценки, чтобы выполнить онлайновую оценку параметра. Можно также оценить, что модель в пространстве состояний онлайн из этих моделей при помощи Рекурсивного Полиномиального Образцового Конвертера Средства оценки и Типа модели блокируется вместе. Можно сгенерировать код C/C++ и Структурированный текст для этих блоков с помощью программного обеспечения Simulink Coder™ и Simulink PLC Coder™.
В командной строке используйте recursiveAR
, recursiveARMA
, recursiveARX
, recursiveARMAX
, recursiveOE
, recursiveBJ
и команды recursiveLS
, чтобы оценить параметры модели для вашей образцовой структуры. В отличие от оценки Simulink, можно изменить свойства рекурсивного алгоритма оценки во время онлайновой оценки. Можно сгенерировать код и автономные приложения с помощью программного обеспечения MATLAB Compiler™ и MATLAB® Coder.
Когда вы выполняете онлайновую оценку параметра Simulink или в командной строке, следующие требования применяются:
Модель должна быть линейным дискретным временем или почти линейным с параметрами, которые медленно отличаются со временем.
Структура предполагаемой модели должна быть зафиксирована во время оценки.
Объект iddata
не поддержан во время онлайновой оценки параметра. Задайте выходные данные оценки как действительный скаляр и входные данные как действительный скаляр или вектор.
Можно выполнить онлайновую оценку состояния систем в командной строке и в Simulink:
В Simulink используйте Фильтр Калмана, Расширенный Фильтр Калмана, Сигма-точечный фильтр Калмана или блоки Фильтра частиц, чтобы выполнить онлайновую оценку состояния дискретного времени линейные и нелинейные системы. Можно сгенерировать код C/C++ для этих блоков с помощью программного обеспечения Simulink Coder. Для блока Kalman Filter можно также сгенерировать Структурированный текст с помощью программного обеспечения Simulink PLC Coder.
В командной строке используйте extendedKalmanFilter
, unscentedKalmanFilter
и команды particleFilter
, чтобы оценить состояния дискретного времени нелинейные системы. Эти команды реализуют расширенный фильтр Калмана (EKF) дискретного времени, сигма-точечный фильтр Калмана (UKF) и алгоритмы фильтра частиц. Для получения дополнительной информации об алгоритмах, смотрите Расширенный и Алгоритмы Сигма-точечного фильтра Калмана для Онлайновой Оценки состояния. Можно сгенерировать код и автономные приложения с помощью программного обеспечения MATLAB Coder и MATLAB Compiler.
Когда вы выполняете онлайновую оценку состояния в Simulink или в командной строке, следующие требования применяются:
Система должна быть дискретным временем. Если вы используете блок Kalman Filter, система может также быть непрерывно-разовой.
Объект iddata
не поддержан во время онлайновой оценки состояния. Задайте данные ввода - вывода оценки как действительные скаляры или векторы.
[1] Ljung, L. System Identification: Теория для Пользователя. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 1999, стр 428–440.
[2] Саймон, D. Оптимальная оценка состояния: Кальман, H бесконечность и нелинейные подходы. John Wiley and Sons Inc., 2006.
extendedKalmanFilter
| particleFilter
| recursiveAR
| recursiveARMA
| recursiveARMAX
| recursiveARX
| recursiveBJ
| recursiveLS
| recursiveOE
| unscentedKalmanFilter