Оцените нелинейные модели ARX, инициализированные Используя линейные модели ARX

Этот пример показывает, как оценить нелинейные модели ARX при помощи линейных моделей ARX.

Загрузите данные об оценке.

load throttledata.mat

Эта команда загружает объект данных ThrottleData в рабочую область. Объект содержит выборки ввода и вывода, собранные из системы дросселя механизма, выбранной на уровне 100 Гц.

Двигатель постоянного тока управляет вводным углом клапана-бабочки в системе дросселя. Сигнал шага (в вольтах) управляет двигателем постоянного тока. Вывод является угловым положением (в градусах) клапана.

Отобразите данные на графике, чтобы просмотреть и анализировать характеристики данных.

plot(ThrottleData)

В нормальном рабочем диапазоне 15-90 градусов переменные ввода и вывода имеют линейное соотношение. Вы используете линейную модель младшего разряда, чтобы смоделировать это отношение.

В системе дросселя жесткая остановка ограничивает положение клапана степенями 90, и пружина приносит клапан к степеням 15, когда двигатель постоянного тока выключен. Эти физические компоненты вводят нелинейность, которую не может получить линейная модель.

Оцените, что модель ARX моделирует линейное поведение этого одно входа система одно вывода в нормальном рабочем диапазоне.

Детрендируйте данные, потому что линейные модели не могут получить смещения.

Tr = getTrend(ThrottleData); 
Tr.OutputOffset = 15;
DetrendedData = detrend(ThrottleData,Tr);

Оцените линейную модель ARX с na=2, nb=1, nk=1.

opt = arxOptions('Focus','simulation');
LinearModel = arx(DetrendedData,[2 1 1],opt);

Сравните моделируемый образцовый ответ с данными об оценке.

compare(DetrendedData, LinearModel)

Линейная модель получает повышение и урегулирование поведения в линейном рабочем диапазоне, но не составляет выходное насыщение в 90 градусах.

Оцените, что нелинейная модель ARX моделирует выходное насыщение.

optNL = nlarxOptions('Focus','simulation');
NonlinearModel = nlarx(ThrottleData,LinearModel,'sigmoidnet',optNL);

Программное обеспечение использует порядки и задержку линейной модели для порядков нелинейной модели. Кроме того, программное обеспечение вычисляет линейную функцию средства оценки нелинейности sigmoidnet.

Сравните нелинейную модель с данными об оценке.

compare(ThrottleData, NonlinearModel)

Модель получает нелинейные эффекты (выходное насыщение) и улучшает полную подгонку к данным.

Похожие темы