Алгоритмы Online estimation оценивают параметры модели, когда новые данные доступны во время операции модели. В offline estimation вы сначала собираете все данные о вводе/выводе и затем оцениваете параметры модели. Значения параметров, оцененные с помощью онлайновой оценки, могут меняться в зависимости от времени, но параметры, оцененные с помощью оффлайновой оценки, не делают.
Чтобы выполнить оффлайновую оценку, используйте команды, такие как arx
, pem
, ssest
, tfest
, nlarx
, и приложение System Identification.
Чтобы выполнить онлайновую оценку параметра Simulink®, используйте блоки Recursive Polynomial Model Estimator и Recursive Least Squares Estimator. Для онлайновой оценки в командной строке используйте команды, такие как recursiveARX
создать Систему object™, и затем использовать step
команда, чтобы обновить параметры модели.
Онлайновая оценка отличается от оффлайновой оценки следующими способами:
Задержки модели — можно оценить задержки модели оффлайновых инструментов использования оценки, таких как delayest
(см. Определение Порядка Модели и Задержки). Онлайновая оценка обеспечивает ограниченные возможности оценить задержки. Для полиномиальной оценки модели с помощью блока Recursive Polynomial Model Estimation или онлайновых команд оценки, можно задать известное значение входной задержки (nk). Если nk неизвестен, выберите достаточно большое значение для количества коэффициентов B (nb). Количество ведущих коэффициентов предполагаемого полинома B, которые являются близко к нулю, представляет входную задержку.
Предварительная обработка данных — Для оффлайновой предварительной обработки данных об оценке, можно использовать функции, такие как detrend
, retrend
, idfilt
, и приложение System Identification.
Для онлайновой оценки с помощью Simulink используйте инструменты, доступные в окружении Simulink. Для получения дополнительной информации смотрите, Предварительно обрабатывают Онлайновые Данные об Оценке Параметра в Simulink.
Для онлайновой оценки параметра в командной строке вы не можете использовать инструменты предварительной обработки в System Identification Toolbox™. Эти инструменты поддерживают только данные, заданные как iddata
объекты. Реализуйте код предварительной обработки как требуется вашим приложением. Чтобы смочь сгенерировать C и Код С++, используйте команды, поддержанные MATLAB® Coder™. Для списка этих команд смотрите Функции и Объекты, Поддержанные для Генерации кода C/C++ (MATLAB Coder).
Сброс оценки — Вы не можете сбросить оффлайновую оценку. Онлайновая оценка позволяет вам сбросить оценку на определенном временном шаге во время оценки. Например, сбросьте оценку, когда система изменяет режимы или если вы не удовлетворены оценкой. Операция сброса устанавливает состояния модели, оцененные параметры и оцененную ковариацию параметра к их начальным значениям.
Чтобы сбросить онлайновую оценку Simulink, на вкладке Algorithm and Block Options параметров блоков, выбирают соответствующую опцию External reset. В командной строке используйте reset
команда.
При включении или отключении оценки — Вы не можете выборочно включить или отключить оффлайновую оценку. Можно использовать инструменты предварительной обработки, чтобы удалить или отфильтровать определенные фрагменты данных перед оценкой. Онлайновая оценка позволяет вам включить или отключить оценку для выбранных отрезков времени. Например, предположите, что результаты измерений являются особенно шумными или дефектными (содержит много выбросов) для определенного временного интервала. Отключите онлайновую оценку для этого интервала.
Чтобы включить или отключить оценку Simulink, на вкладке Algorithm and Block Options параметров блоков, устанавливают флажок Add enable port.
В командной строке используйте EnableAdaptation
свойство Системного объекта, созданного с помощью онлайновых команд оценки, таких как recursiveARMAX
и recursiveLS
. Даже если вы устанавливаете EnableAdaptation
к false
, выполните step
команда. Не пропускайте step
сохранить значения параметров постоянными, потому что оценка параметра зависит от текущих и прошлых измерений ввода/вывода. step
гарантирует, что прошлые данные ввода - вывода хранятся, даже когда они не обновляют параметры.