Аппроксимированная модель сбалансированным усечением в командной строке

В этом примере показано, как использовать balred вычислить приближение уменьшаемого порядка модели в MATLAB ® командная строка.

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

В данном примере загрузите старшую модель. hplant 23-й порядок модель SISO.

load ltiexamples hplant
order(hplant)
ans = 23

Исследуйте относительную сумму энергии на состояние в hplant использование графика Сингулярного значения Ганкеля (HSV).

hsvplot(hplant)

Figure contains an axes object. The axes object with title Hankel Singular Values and Approximation Error contains 3 objects of type bar, line. These objects represent Unstable modes, Stable modes, Absolute error bound.

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

opts = balredOptions('StateElimMethod','Truncate');
hplant1 = balred(hplant,1,opts);
hplant2 = balred(hplant,2,opts);

Второй аргумент к balred задает целевой порядок приближения, так, чтобы hplant1 приближение первого порядка и hplant2 приближение второго порядка hplant. По умолчанию, balred отбрасывает состояния с самыми маленькими сингулярными значениями Ганкеля и изменяет остающиеся состояния, чтобы сохранить усиление DC системы. Установка StateElimMethod опция к Truncate причины balred отбрасывать низкоэнергетические состояния, не изменяя остающиеся состояния.

При работе с моделями уменьшаемого порядка важно проверить, что приближение не вводит погрешности на частотах, которые важны для приложения. Поэтому сравните частотные характеристики исходных и аппроксимированных систем. Для систем MIMO используйте sigmaplot команда. Для этой системы SISO исследуйте Диаграмму Боде.

bodeplot(hplant,hplant2,hplant1)
legend('Original','2nd order','1st order')

Figure contains 2 axes objects. Axes object 1 with title From: Robot Arm/Demux1 (pt. 2) To: Motorized Spindle1 (pt. 1) contains 3 objects of type line. These objects represent Original, 2nd order, 1st order. Axes object 2 contains 3 objects of type line. These objects represent Original, 2nd order, 1st order.

Приближение второго порядка hplant2 совпадает с исходной системой 23-го порядка очень хорошо, особенно на более низких частотах. Система первого порядка не соответствует также.

В общем случае, когда вы уменьшаете порядок аппроксимированной модели, частотная характеристика аппроксимированной модели начинает отличаться от исходной модели. Выберите приближение, которое достаточно точно в полосах, которые важны для вас. Например, в системе управления вы можете хотеть хорошую точность в полосе пропускания управления. Точность на частотах далеко выше полосы пропускания управления, где усиление быстро прокручивается прочь, может быть менее важной.

Можно также подтвердить приближение во временном интервале. Например, исследуйте переходные процессы исходных систем и систем уменьшаемого порядка.

stepplot(hplant,hplant2,'r--',hplant1,'g--')
legend('Original','2nd order','1st order','Location','SouthEast')

Figure contains an axes object. The axes object with title From: Robot Arm/Demux1 (pt. 2) To: Motorized Spindle1 (pt. 1) contains 3 objects of type line. These objects represent Original, 2nd order, 1st order.

Этот результат подтверждает, что приближение второго порядка является хорошим соответствием к исходной системе 23-го порядка.

Смотрите также

Функции

Задачи Live Editor

Похожие темы