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

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

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

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

load ltiexamples hplant
order(hplant)
ans = 23

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

hsvplot(hplant)

Figure contains an axes. The axes 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 отбрасывает состояния с наименьшими сингулярными значениями Ханкеля и изменяет оставшиеся состояния, чтобы сохранить коэффициент усиления постоянного тока системы. Установка StateElimMethod опция для Truncate причины balred отбрасывать малоэнергетические состояния без изменения остальных состояний.

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

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

Figure contains 2 axes. Axes 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 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. The axes 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

Похожие темы