balreal

Основанная на граммах входная/выходная балансировка реализаций пространства состояний

Синтаксис

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

Описание

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

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

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

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

Если система нормирована правильно, диагональ g joint 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.

Сравните отклики Bode исходной и модели пониженного порядка.

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

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

x¯˙=TAT1x¯+TBuy=CT1x¯+Du

и преобразует Грамианов в

W¯c=TWcTT,W¯o=TTWoT1

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

W¯c=W¯o=diag(g)

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

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

Ссылки

[1] Laub, A.J., M.T. Heath, C.C. Paige, and R.C. Ward, «Computation of System Balancing Transformations and Other Applications of Simultaneous Diagonalization Algorithms», IEEE EE EE® Транс. автоматическое управление, AC-32 (1987), стр. 115-122.

[2] Moore, B., «Основной анализ компонентов в линейных системах: управляемость, наблюдаемость и снижение сложности модели», Транзакции IEEE по автоматическому управлению, AC-26 (1981), стр. 17-31.

[3] Laub, A.J., «Computation of Balancing Transformations», Proc. ACC, San Francisco, Vol.1, paper FA8-E, 1980.

[4] Gawronski, W. and J.N. Juang. «Снижение сложности модели в ограниченных временных и частотных Интервалах». Международный журнал системных наук. Том 21, № 2, 1990, стр. 349-376.

См. также

| | |

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