exponenta event banner

канон

Каноническая реализация состояния-пространства

Описание

пример

csys = canon(sys,type) преобразует линейную модель sys в каноническую модель состояния-пространства csys. type указывает, csys находится в модальной или компаньонной форме.

Сведения о контролируемых и наблюдаемых канонических формах см. в разделе Канонические государства-космические реализации.

пример

csys = canon(sys,'modal',condt) задает верхнюю границу condt на номер условия блочно-диагонализующего преобразования. Использовать condt если у вас есть близкие лежащие собственные значения в csys.

пример

[csys,T]= canon(___) также возвращает матрицу преобразования «состояние-координата» T которая относится к состояниям модели state-space sys к состояниям csys.

Примеры

свернуть все

aircraftPitchSSModel.mat содержит матрицы состояния-пространства летательного аппарата, вход которых представляет собой угол отклонения элеватора δ, а выход - угол тангажа летательного аппарата.

[α˙q˙θ˙]= [-0.31356.70-0.0139-0.4260056.70] [αqü] + [0.2320.02030] [δ] y = [001] [αq] + [0] [δ]

Загрузка данных модели в рабочую область и создание модели состояния пространства sys.

load('aircraftPitchSSModel.mat');
sys = ss(A,B,C,D)
sys =
 
  A = 
            x1       x2       x3
   x1   -0.313     56.7        0
   x2  -0.0139   -0.426        0
   x3        0     56.7        0
 
  B = 
           u1
   x1   0.232
   x2  0.0203
   x3       0
 
  C = 
       x1  x2  x3
   y1   0   0   1
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.

Преобразование результирующей модели состояния-пространства sys к компаньонной канонической форме.

csys = canon(sys,'companion')
csys =
 
  A = 
               x1          x2          x3
   x1           0           0  -1.809e-16
   x2           1           0     -0.9215
   x3           0           1      -0.739
 
  B = 
       u1
   x1   1
   x2   0
   x3   0
 
  C = 
            x1       x2       x3
   y1        0    1.151  -0.6732
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.

csys является сопутствующей канонической формой sys.

pendulumCartSSModel.mat содержит модель состояния-пространства перевернутого маятника на тележке, где выходами являются перемещения тележки x и маятниковый угол λ. Управляющий вход u - горизонтальная сила на тележке.

[x˙x ¨θ˙θ ¨] = [01000-0.13000010-0.5300] [xx˙θθ˙] + [0205] uy = [10000010] [xx˙θθ˙] + [00] u

Сначала загрузите модель state-space sys в рабочую область.

load('pendulumCartSSModel.mat','sys');

Новообращенный sys для модальной канонической формы и извлечения матрицы преобразования.

[csys,T] = canon(sys,'modal')
csys =
 
  A = 
           x1      x2      x3      x4
   x1       0       0       0       0
   x2       0   -0.05       0       0
   x3       0       0  -5.503       0
   x4       0       0       0   5.453
 
  B = 
          u1
   x1  1.875
   x2  6.298
   x3   12.8
   x4  12.05
 
  C = 
              x1         x2         x3         x4
   y1         16     -4.763  -0.003696   0.003652
   y2          0   0.003969   -0.03663    0.03685
 
  D = 
       u1
   y1   0
   y2   0
 
Continuous-time state-space model.
T = 4×4

    0.0625    1.2500   -0.0000   -0.1250
         0    4.1986    0.0210   -0.4199
         0    0.2285  -13.5873    2.4693
         0   -0.2251   13.6287    2.4995

csys - модальная каноническая форма sys, пока T представляет преобразование между векторами состояния sys и csys.

Для этого примера рассмотрим следующую систему с удвоенными полюсами и кластерами близких полюсов:

sys (s) = 100 (s-1) (s + 1) s (s + 10) (s + 10.0001) (s- (1 + i))) 2 (s- (1-i)) 2

Создать zpk модель этой системы и преобразовать ее в модальную каноническую форму с помощью строки 'modal'.

sys = zpk([1 -1],[0 -10 -10.0001 1+1i 1-1i 1+1i 1-1i],100);
csys1 = canon(sys,'modal');
csys1.A
ans = 7×7

         0         0         0         0         0         0         0
         0    1.0000    1.0000         0         0         0         0
         0   -1.0000    1.0000    3.2459         0         0         0
         0         0         0    1.0000    1.0000         0         0
         0         0         0   -1.0000    1.0000         0         0
         0         0         0         0         0  -10.0000    4.0571
         0         0         0         0         0         0  -10.0001

csys1.B
ans = 7×1

    0.1600
   -0.0052
    0.0427
   -0.0975
    0.5319
         0
    4.0095

sys имеет пару полюсов при s = -10 и s = -10.0001и два комплексных полюса кратности 2 при s = 1+i и s = 1-i. В результате модальная форма csys1 - модель пространства состояний с блоком размера 2 для двух полюсов вблизи s = -10и блок размера 4 для комплексных собственных значений.

Теперь разделите два полюса рядом s = -10 путем увеличения значения номера условия блок-диагонализующего преобразования. Использовать значение 1e10 для этого примера.

csys2 = canon(sys,'modal',1e10);
csys2.A
ans = 7×7

         0         0         0         0         0         0         0
         0    1.0000    1.0000         0         0         0         0
         0   -1.0000    1.0000    3.2459         0         0         0
         0         0         0    1.0000    1.0000         0         0
         0         0         0   -1.0000    1.0000         0         0
         0         0         0         0         0  -10.0000         0
         0         0         0         0         0         0  -10.0001

format shortE
csys2.B
ans = 7×1

   1.6000e-01
  -5.1885e-03
   4.2687e-02
  -9.7508e-02
   5.3187e-01
   1.6267e+05
   1.6267e+05

A матрица csys2 включает отдельные диагональные элементы для полюсов вблизи s = -10. Увеличение числа условий приводит к некоторым очень большим значениям в B матрица.

Файл icEngine.mat содержит один набор данных с 1500 входно-выходными выборками, собранными при частоте выборки 0,04 секунды. Вход u(t) - напряжение (V), управляющее перепускным воздушным клапаном холостого хода (BPAV), и выходной сигнал y(t) - частота вращения двигателя (об/мин/100).

Использовать данные в icEngine.mat для создания модели состояния-пространства с идентифицируемыми параметрами.

load icEngine.mat
z = iddata(y,u,0.04);
sys = n4sid(z,4,'InputDelay',2);

Преобразование идентифицированной модели состояния-пространства sys к компаньонной канонической форме.

csys = canon(sys,'companion');

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

opt = ssestOptions;
opt.SearchOptions.MaxIterations = 0;
csys = ssest(z,csys,opt);

Сравнение доверительных границ частотной характеристики sys кому csys.

h = bodeplot(sys,csys,'r.');
showConfidence(h)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sys, csys. Axes 2 contains 2 objects of type line. These objects represent sys, csys.

Доверительные границы частотной характеристики идентичны.

Входные аргументы

свернуть все

Динамическая система, заданная как динамическая модель системы SISO или MIMO. Динамические системы, которые можно использовать:

  • Непрерывные или дискретные числовые модели LTI, такие как tf(Панель инструментов системы управления), zpk(Панель инструментов системы управления), ss(Панель инструментов системы управления), или pid(Панель инструментов системы управления).

  • Обобщенные или неопределенные модели LTI, такие как genss(Панель инструментов системы управления) или uss (Надежная панель инструментов управления). (Для использования неопределенных моделей требуется программное обеспечение Toolbox™ надежного управления.)

    Полученная каноническая модель состояния-пространства предполагает

    • текущие значения перестраиваемых компонентов для перестраиваемых проектных блоков управления.

    • номинальные значения модели для неопределенных проектных блоков управления.

  • Идентифицированные модели LTI, такие как idtf, idss, idproc, idpoly, и idgrey модели.

Нельзя использовать модели данных частотного отклика, такие как frd(Панель инструментов системы управления).

Тип преобразования, указанный как 'modal' или 'companion'. Если type не указан, то canon преобразует указанную динамическую модель системы в модальную каноническую форму по умолчанию.

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

  • Модальная форма

    В модальном виде A является блок-диагональной матрицей. Размер блока обычно равен 1 на 1 для вещественных собственных значений и 2 на 2 для сложных собственных значений. Однако если имеются повторяющиеся собственные значения или кластеры соседних собственных значений, размер блока может быть больше.

    Например, для системы с собственными значениями (λ 1, λ ± , λ 2) модальная A-матрица имеет вид

    [λ10000σω00−ωσ0000λ2]

  • Форма компаньона

    В реализации компаньона характеристический многочлен системы появляется явно в крайнем правом столбце матрицы А. Для системы с характеристическим полиномом

    P (s) = sn + α1sn 1 +... + αn − 1s + αn

    соответствующая матрица компаньона A

    A = [0100⋮00010⋮00001⋮0............ ...   0000⋮1−αn−αn−1−αn−2−αn−3 ⋮ −α1]

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

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

Верхняя граница для номера условия блочного диагонализующего преобразования, заданного как положительный скаляр. Этот аргумент доступен только в том случае, если type имеет значение 'modal'.

Увеличение condt для уменьшения размера кластеров собственных значений в матрице A csys. Настройка condt = Inf диагонализует матрицу А.

Выходные аргументы

свернуть все

Каноническая форма состояния-пространства динамической модели, возвращаемая как ss(Панель инструментов системы управления) объект модели. csys является государственной-пространственной реализацией sys в канонической форме, указанной type.

Матрица преобразования, возвращаемая как матрица n-на-n, где n - число состояний. T - преобразование между вектором состояния x модели state-space sys и вектор состояния xc csys:

xc = Tx

.

Этот аргумент доступен только в том случае, если sys является ss(Панель инструментов системы управления) объект модели.

Ограничения

  • Нельзя использовать модели данных частотного отклика для преобразования в каноническую форму «состояние-пространство».

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

Алгоритмы

canon команда использует bdschurКоманда (Панель инструментов системы управления) для преобразования sys в модальную форму и для вычисления преобразования T. Если sys не является моделью пространства состояний, canon сначала преобразует его в пространство состояний с помощью ss.

При преобразовании в форму компаньона используется преобразование подобия состояния на основе матрицы управляемости [1].

Ссылки

[1] Кайлат, Т. Линейные системы, Прентис-Холл, 1980.

См. также

| | | | | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Панель инструментов системы управления) | (Надёжная панель инструментов управления)

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