exponenta event banner

balreal

Gramian-based input/output balancing of state-space реализаций

Синтаксис

[sysb,g] = balreal(sys)
[sysb,g,T,Ti] = balreal(sys)
[___] = balreal(sys,opts)

Описание

[sysb,g] = balreal(sys) вычисляет сбалансированную реализацию sysb для стабильной части модели LTI sys. balreal управляет как непрерывными, так и дискретными системами. Если sys не является моделью пространства состояния, она сначала преобразуется в пространство состояния с помощью ss.

Для стабильных систем, sysb является эквивалентной реализацией, для которой управляемость и наблюдаемость Gramians равны и диагональны, их диагональные записи образуют вектор g сингулярных значений Ганкеля. Небольшие записи в g указать состояния, которые можно удалить для упрощения модели (используйте modred для уменьшения порядка модели).

Если sys имеет нестабильные полюса, его стабильная часть изолирована, сбалансирована и добавлена обратно в его нестабильную часть для формирования sysb. Записи g соответствующие нестабильным режимам устанавливаются в Inf.

[sysb,g,T,Ti] = balreal(sys) также возвращает вектор g содержащее диагональ сбалансированного Gramian, преобразование подобия состояния xb = Tx, используемое для преобразования sys кому sysbи обратное преобразование Ti = T-1.

Если система нормализована правильно, диагональ g совместного Gramian может использоваться для уменьшения порядка модели. Поскольку g отражает комбинированную управляемость и наблюдаемость отдельных состояний сбалансированной модели, можно удалить эти состояния с небольшим g(i) сохраняя при этом наиболее важные характеристики ввода-вывода исходной системы. Использовать modred для выполнения исключения состояния.

[___] = balreal(sys,opts) вычисляет сбалансированную реализацию с использованием опций, указанных с помощью balredOptions. Опции включают опции смещения и допуска для вычисления стабильно-нестабильных разложений. Опции также позволяют ограничить вычисления по Грамиану определенными временными и частотными интервалами. Посмотрите balredOptions для получения подробной информации.

Примеры

свернуть все

Рассмотрим следующую модель с усилением нулевого полюса и парами полюс-ноль с близкой к отмене:

sys = zpk([-10 -20.01],[-5 -9.9 -20.1],1)
sys =
 
     (s+10) (s+20.01)
  ----------------------
  (s+5) (s+9.9) (s+20.1)
 
Continuous-time zero/pole/gain model.

Реализация состояния-пространства со сбалансированными грамматиками получается

[sysb,g] = balreal(sys);

Диагональные элементы стыкового грамматика:

g'
ans = 1×3

    0.1006    0.0001    0.0000

Это означает, что последние два состояния sysb слабо связаны со входом и выходом. Затем эти состояния можно удалить с помощью

sysr = modred(sysb,[2 3],'del');

Это дает следующую аппроксимацию первого порядка исходной системы.

zpk(sysr)
ans =
 
   1.0001
  --------
  (s+4.97)
 
Continuous-time zero/pole/gain model.

Сравните ответы Боде исходной модели и модели с уменьшенным порядком.

bodeplot(sys,sysr,'r--')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent sys, sysr. Axes 2 contains 2 objects of type line. These objects represent sys, sysr.

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

Создайте нестабильную систему.

sys = tf(1,[1 0 -1])
sys =
 
     1
  -------
  s^2 - 1
 
Continuous-time transfer function.

Обратиться balreal создать сбалансированно-грамматическую реализацию.

[sysbal,g] = balreal(sys)
sysbal =
 
  A = 
       x1  x2
   x1   1   0
   x2   0  -1
 
  B = 
            u1
   x1  -0.7071
   x2  -0.7071
 
  C = 
            x1       x2
   y1  -0.7071   0.7071
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.
g = 2×1

       Inf
    0.2500

Неустойчивый полюс отображается как Inf в векторе g.

Алгоритмы

Рассмотрим модель

x˙=Ax+Buy=Cx+Du

с управляемостью и наблюдаемостью Gramians Wc и Wo. Преобразование координат состояния x wet = Tx создает эквивалентную модель

x¯˙=TAT−1x¯+TBuy=CT−1x¯+Du

и преобразует грамийцев в

W = TWcTT, W = T − TWoT − 1

Функция balreal вычисляет конкретное преобразование подобия Т так, что

W/c = W/o = диаг (г)

Для получения подробной информации об алгоритме см. [1], [2].

Если вы используете TimeIntervals или FreqIntervals варианты balredOptions, то balreal основывает сбалансированную реализацию на ограниченной по времени или по частоте управляемости и наблюдаемости Gramians. Сведения о расчете Gramians с ограничением по времени и частоте см. в разделе gram и [4].

Ссылки

[1] Laub, A.J., M.T. Heath, C.C. Paige и R.C. Ward, «Вычисление преобразований балансировки системы и другие приложения алгоритмов одновременной диагонализации», IEEE ® Trans. Automatic Control, AC-32 (1987), стр. 115-122.

[2] Мур, Б., «Анализ основных компонентов в линейных системах: управляемость, наблюдаемость и снижение модели», IEEE Transactions on Automatic Control, AC-26 (1981), стр. 17-31.

[3] Лауб, А.Дж., «Вычисление балансовых преобразований», Proc. ACC, Сан-Франциско, Vol.1, paper FA8-E, 1980.

[4] Гавронски, У. и Дж. Н. Жуанг. «Сокращение модели в ограниченных интервалах времени и частоты». Международный журнал системной науки. Том 21, номер 2, 1990, стр. 349-376.

См. также

| | |

Представлен до R2006a