Главная страница
Навигация по странице:

  • Сбалансированное представление Перейдем к рассмотрению сбалансированной канонической формы устойчивых систем, которая строится командой balreal.

  • Линейные MIMO-модели

  • Матлаб. К. Ю. Петрова введение в matlab учебное пособие


    Скачать 2.57 Mb.
    НазваниеК. Ю. Петрова введение в matlab учебное пособие
    АнкорМатлаб
    Дата15.09.2022
    Размер2.57 Mb.
    Формат файлаpdf
    Имя файлаmironovsky_petrova_matlab.pdf
    ТипУчебное пособие
    #678847
    страница12 из 18
    1   ...   8   9   10   11   12   13   14   15   ...   18
    canon может выдавать некорректный результат, что видно из следующего примера:
    >> sys=ss([2 0 0;0 2 1;0 0 2],[1;1;1],[1 1 1],0) a =
    2 0 0 0 2 1 0 0 2 b =
    1 1 2 1 3 1 c =
    1 1 1 1

    79
    >>sysm=canon(sys,'modal') a =
    2 0 0 0 2 0 0 0 2 b =
    1 2.252e+015 2.252e+015 c =
    1 1 -1
    Видим, что в результате преобразования матрица А стала диагональной (это грубая ошибка!), а два элемента матрицы B близки к бесконечности.
    Сбалансированное представление
    Перейдем к рассмотрению сбалансированной канонической формы устойчивых систем, которая строится командой balreal. Исторически эта каноническая форма заметно «моложе» других. Она появилась около 25 лет назад и сразу завоевала популярность. Сбалансированное представление (balanced representation) обладает рядом интересных свойств. Его прикладное значение определяется возможностью получения редуцированных моделей устойчивых системы путем простого отбрасывания части переменных состояния.
    В определении сбалансированной формы системы, характеризуемой матрицами А, b, c, центральную роль играют грамианы ее управляемости и наблюдаемости. Грамианом управляемости W
    c и грамианом наблюдаемости W
    о устойчивой системы
    cX
    y
    bu
    AX
    X



    ;

    называются постоянные симметричные квадратные матрицы, задаваемые формулами
    ,
    0 0
    dt
    e
    c
    c
    e
    W
    dt
    e
    bb
    e
    W
    At
    T
    t
    A
    o
    t
    A
    T
    At
    c
    T
    T






    Невырожденность этих матриц является необходимым и достаточным условием управляемости и наблюдаемости системы. Для их вычисления служит команда
    gram
    Ее первый входной аргмент – имя системы, второй – опция
    ’c’
    или
    ’о’
    (от controlability и observability).
    Грамианы W
    c и W
    о удовлетворяют матричным уравнениям Ляпунова
    W
    c
    A
    T
    +AW
    c
    =-bb
    T
    , W
    о
    A+A
    T
    W
    о
    =-c
    T
    c.
    Для решения уравнений Ляпунова в MATLAB существует команда lyap.
    Представление системы в пространстве состояний
    X
    c
    y
    u
    b
    X
    A
    X



    ,

    называется сбалансированным, если соответствующие ему грамианы управляемости и наблюдаемости равны и диагональны


    ,...,
    diag
    1
    n
    o
    c
    W
    W




    Таким образом, сбалансированное представление характеризуется простым видом матриц
    W
    c
    , W
    о
    , в отличие от предыдущих канонических форм, где обеспечивался простой вид матрицы А.
    Диагональные элементы грамианов
    n


    ,...,
    1
    называют ганкелевыми сингулярными числами системы, они вещественны и положительны. Все диагональные элементы матрицы А сбалансированного представления отрицательны. Матрицы
    A b c
    , ,
    этого представления удовлетворяют условию сигнатурной симметрии
    ],
    ,...,
    [
    ,
    ,
    1
    n
    T
    T
    i
    i
    diag
    I
    I
    A
    I
    A
    c
    I
    b



    где I – диагональная матрица с элементами

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

    80
    T
    -1
    W
    c
    (T
    -1
    )
    T
    , T
    T
    W
    о
    T. Его реализует команда balreal. Она может вызываться с одним или несколькими выходными параметрами: sysB=balreal(sys), [sysB, G, T]= balreal(sys).
    Во втором случае кроме сбалансированного представления системы sysB
    выводится столбец G ганкелевых сингулярных чисел системы и матрица Т перехода к сбалансированному представлению.
    Пример. Найдем сбалансированное представление системы sys из предыдущего примера.
    >> [sysB,G,T]=balreal(sys); sysB.a, sysB.b, sysB.c, G, T sysB.a sysB.b sysB.c
    G
    T
    -0.0356 -1.5276 -0.0329 1.5276 -3.5063 -0.4072 0.0329 -0.4072 -2.4581 0.1804
    -1.4233
    -0.0831
    -0.1804 -1.4233 -0.0831 0.4569 0.2889 0.0014 0.5121 -0.8439 -1.5360
    -0.7893 0.1554 -0.5514 0.3732 -0.8295 0.7452
    Как и ожидалось, матрицы сбалансированного представления сигнатурно-симметричны.
    Вектор G содержит ганкелевы сингулярные числа системы. Одно из них значительно меньше остальных, следовательно, порядок системы может быть понижен на единицу без заметного изменения ее весовой функции. Косвенным подтверждением такой возможности служит наличие близкого нуля и полюса передаточной функции системы. Это видно из ее нуль-полюсного представления, которое можно найти по команде zpk(sys)
    :
    )
    3
    )(
    2
    )(
    1
    (
    )
    4142 0
    )(
    414 2
    (
    2






    s
    s
    s
    s
    s
    ans
    Для получения модели пониженного порядка достаточно в системе sysB
    отбросить третью переменную состояния х
    3
    Вычислbv грамианы управляемости и наблюдаемости системы sysB
    с помощью команд
    Wc=gram(sysB, 'c'), Wo= gram(sysB, 'o')
    :
    Wc =
    0.4569 -0.0000 -0.0000
    -0.0000 0.2889 -0.0000
    -0.0000 -0.0000 0.0014
    Wo =
    0.4569 0.0000 0.0000 0.0000 0.2889 0.0000 0.0000 0.0000 0.0014
    Оба грамиана равны и диагональны, причем на диагонали стоят элементы вектора G.
    Линейные MIMO-модели
    Описание MIMO-моделей
    До сих пор в пособии рассматривались системы с одним входом и одним выходом, т.е.
    SISO-модели. Более общий случай – это системы с несколькими входами и выходами, т.е. MIMO- модели (Multy Input Multy Output Models). Для их описания по-прежнему можно использовать команды ss, tf и zpk. Если у системы r входов, то матрица В ss-модели состоит из r столбцов, а если у системы m выходов, то матрица С состоит из m строк.
    Получение временных и частотных характеристик MIMO-систем производится так же, как и ранее, однако формат выходных данных оказывается более сложным. Поясним это на примере системы пятого порядка с тремя входами и двумя выходами, полученной при помощи функции rss
    (сокращение от random space state system). Чтобы найти ее весовую функцию и частотные характеристики, набираем текст:
    >> s=rss(5,2,3); impulse(s), figure, bode(s), figure, nyquist(s).

    81
    В результате будут построены 18 графиков: 6 весовых функций (от каждого входа до каждого выхода), 6 диаграмм Боде и 6 диаграмм Найквиста
    В общем случае модель системы с
    r
    входами и
    m выходами содержит
    m
    r

    отображений
    m
    j
    r
    i
    y
    u
    j
    i
    ,
    ,
    1
    ,
    ,
    ,
    1
    ,





    . Каждое отображение

    i
    го входа на

    j
    й выход можно описать скалярной передаточной функцией
    )
    ( p
    Q
    ij
    . В совокупности они образуют матричную весовую функцию
    )
    ( p
    Q
    размера
    r
    m

    . Ее можно получить, используя команду tf(s).
    Для просмотра полученной передаточной функции воспользуемся функцией tfdata:
    [n,d]=tfdata(s).
    В ответ получаем информацию о структуре передаточной функции: n =
    [1x6 double] [1x6 double] [1x6 double]
    [1x6 double] [1x6 double] [1x6 double] d =
    [1x6 double] [1x6 double] [1x6 double]
    [1x6 double] [1x6 double] [1x6 double]
    Массивы n и d содержат числители и знаменатели скалярных передаточных функций
    Q
    ij
    (p).
    Естественно, имеется возможность посмотреть любую из скалярных передаточных функций
    Q
    ij
    . Например, для просмотра передаточной функции от третьего входа до второго выхода нужно набрать:
    >>
    tf(n{2,3},d{2,3}).
    При моделировании MIMO-систем с помощью команды lsim, управление
    U
    подается уже не виде вектора, а в виде матрицы, составленной из векторов
    i
    u , подаваемых на различные входы.
    Выход Y также является матрицей, составленной из сигналов, снимаемых с различных выходов.
    Пример. Рассмотрим систему, заданную матричной передаточной функциейой


















    2 1
    )
    1
    (
    1 3
    3 1
    1
    )
    (
    2 2
    s
    s
    s
    s
    s
    s
    Q
    Чтобы ввести ее в MATLAB, надо отдельно сформировать массивы числителей и знаменателей:
    >> N={1,3; 1, [1, -1]};
    % формирование числителей
    >> D={[1 1],[1 0 3]; poly([-1,-1]), [1, 2]};
    % формирование знаменателей
    >> sys=tf(N,D)
    % формирование MIMO-системы с матричной передаточной функцией Q(s)
    В ответ получаем сообщение:
    Transfer function from input 1 to output...
    1 1
    #1: -----
    #2: ------------- s + 1 s^2 + 2 s + 1
    Transfer function from input 2 to output...
    3 s - 1
    #1: ------- #2: ----- s^2 + 3 s + 2
    Теперь с этой системой можно проводить компьютерные эксперименты
    Подадим на ее первый вход синусоиду, а на второй – косинусоиду и найдем реакцию системы на эти сигналы.
    >> t=linspace(0,10); u1=sin(t); u2=cos(t); U=[u1;u2], Y=lsim(sys,[U],t); plot(t,Y) ,grid.
    Результатом будут графики двух выходных сигналов (рис.5.1):

    82 0
    2 4
    6 8
    10
    -3
    -2
    -1 0
    1 2
    t
    Y
    Рис.5.1
    При построении частотных характеристик MIMO-систем с использованием команды freqresp результат является трехмерным массивом размерностью
    W
    r
    m


    , где m - число выходов, r - число входов, а
    W
    – число отсчетов частоты. Выходные аргументы команд bode и nyquist имеют такую же размерность, а выходные аргументы команд impulse и step имеют размерность
    r
    m
    T


    , где T – количество временных отсчетов.
    Анализ минимальности
    Вычисление матриц управляемости и наблюдаемости, а также грамианов управляемости и наблюдаемости MIMO-систем по-прежнему производится с помощью команд ctrb, obsv, gram.
    Для анализа минимальности моделей и понижения их порядка используются ранги этих матриц и команды balreal, minreal, sminreal, modred. Проиллюстрируем процедуру такого анализа на примере системы девятого порядка.
    Пример. Нужно найти передаточную функцию и минимальную реализацию системы, схема которой приведена на рис. 5.2.
    Требуется рассмотреть два случая:
    1) когда система имеет единственный выход у= у
    1
    + у
    2
    + у
    3
    ;
    2) когда система имеет три выхода у
    1
    , у
    2
    , у
    3 1
    1

    p
    2 1

    p
    3 1

    p
    2 1

    p
    3 1

    p
    4 1

    p
    3 1

    p
    4 1

    p
    5 1

    p
    u
    y
    Рис. 5.2
    y
    1
    y
    3
    y
    2

    83
    Теоретический анализ. Обозначим передаточную функцию трех параллельных ветвей схемы через
    :
    )
    (
    ),
    (
    ),
    (
    3 2
    1
    p
    Q
    p
    Q
    p
    Q
    ,
    )
    5
    )(
    4
    )(
    3
    (
    1
    )
    (
    ,
    )
    4
    )(
    3
    )(
    2
    (
    1
    )
    (
    ,
    )
    3
    )(
    2
    )(
    1
    (
    1
    )
    (
    3 2
    1












    p
    p
    p
    p
    Q
    p
    p
    p
    p
    Q
    p
    p
    p
    p
    Q
    а общую передаточную функцию системы в первом и втором случаях через q(p) и Q(p):
    )
    (
    )
    (
    )
    (
    )
    (
    ),
    (
    )
    (
    )
    (
    )
    (
    3 2
    1 3
    2 1














    p
    Q
    p
    Q
    p
    Q
    p
    Q
    p
    Q
    p
    Q
    p
    Q
    p
    q
    Поскольку порядок каждой из ветвей равен трем, то общий порядок системы равен 9.
    Очевидно, что эта реализация неминимальна. Вынесем, например, за скобки передаточной функции q(p) общий множитель
    3 1

    p
    :
    3 1
    5 1
    4 1
    4 1
    2 1
    2 1
    1 1
    )
    (
    


    



    


    














    p
    p
    p
    p
    p
    p
    p
    p
    q
    Такой записи передаточной функции отвечает эквивалентная схема, которая содержит 7 блоков первого порядка, т.е. общий порядок этой реализации равен 7 (на два меньше, чем раньше).
    Дальнейшего понижения порядка можно добиться, вынося общий множитель
    2 1

    p
    в двух первых слагаемых либо множитель
    4 1

    p
    в двух последних. Однако и в этом случае будет неясным, минимальны ли получаемые реализации.
    Исчерпывающий ответ на вопрос о порядке минимальной реализации дает классическая декомпозиция Калмана. В соответствии с ней любую систему можно разбить на четыре подсистемы: управляемую и наблюдаемую, управляемую и ненаблюдаемую, неуправляемую и наблюдаемую, неуправляемую и ненаблюдаемую. Обозначим порядки этих подсистем через n
    0
    ,
    n
    1
    , n
    2
    , n
    3
    соответственно.Для их вычисления надо выписать матрицы управляемости и наблюдаемости
    ,
    ]
    )
    (
    ,
    ,
    )
    (
    ,
    [
    ],
    ,
    ,
    ,
    [
    1 1
    T
    T
    n
    T
    T
    n
    CA
    CA
    C
    D
    B
    A
    AB
    B
    R






    а также их произведение H = DR и найти их ранги. Имеют место следующие простые соотношения
    ,
    ,
    0 2
    0 1
    0
    n
    rankH
    n
    n
    rankD
    n
    n
    rankR





    Из них и равенства n = n
    0
    + n
    1
    + n
    2
    + n
    3
    получаем формулы для порядков каждой из подсистем:
    ,
    ,
    ,
    3 2
    1 0
    rankD
    rankR
    rankH
    n
    n
    rankH
    rankD
    n
    rankH
    rankR
    n
    rankH
    n









    (*)
    Анализ в MATLAB. Чтобы ввести описание системы, сформируем сначала модели пяти апериодических звеньев, а потом воспользуемся формулами последовательного и параллельного соединения:
    >>s1=ss(-1, 1, 1, 0); s2=ss(-2, 1, 1, 0); s3=ss(-3, 1, 1, 0);
    >>s4=ss(-4, 1, 1, 0); s5=ss(-5, 1, 1, 0);
    >> sys=s1*s2*s3+ s2*s3*s4 +s3*s4*s5;
    % система с одним выходом (случай 1)
    >> SYS=[s1*s2*s3; s2*s3*s4; s3*s4*s5]
    % система с тремя выходами (случай 2)

    84
    При формировании систем мы использовали знаки умножения для последовательного соединения блоков (при этом передаточные функции перемножаются), знаки сложения для параллельного соединения (при этом передаточные функции складываются) и квадратные скобки для объединения подсистем по входам. sys.a, SYS.a sys.b, SYS.b
    SYS.c sys.c
    -1 1 0 0 0 0 0 0 0 0 -2 1 0 0 0 0 0 0 0 0 -3 0 0 0 0 0 0 0 0 0 -2 1 0 0 0 0 0 0 0 0 -3 1 0 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 -3 1 0 0 0 0 0 0 0 0 -4 1 0 0 0 0 0 0 0 0 -5 0
    0 1
    0 0
    1 0
    0 1
    1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0
    Матрицы А, В систем
    SYS
    и sys получаются одинаковыми, а матрицы С различаются
    (число строк равно числу выходов).
    Случай 1. Проанализируем сначала систему sys с одним выходом.
    Находим ее матрицы управляемости и наблюдаемости и вычисляем их ранги:
    >>R=ctrb(sys); D=obsv(sys); H=D*R;
    >>r1=rank(R), r2=rank(D), r3= rank(H), r1=5, r2=5, r3=4
    Отсюда по формулам (*) находим размерности подсистем:
    3 5
    5 4
    9
    ;
    1
    ;
    1
    ;
    4 3
    3 2
    2 3
    1 1
    3 0













    n
    r
    r
    n
    r
    r
    n
    r
    n
    Таким образом, каноническая декомпозиция Калмана для системы с одним выходом у содержит управляемую и ненаблюдаемую подсистему порядка n
    1
    = 1, неуправляемую и наблюдаемую подсистему порядка n
    2
    =1, а также неуправляемую и ненаблюдаемую подсистему порядка n
    3
    =3. Порядок минимальной реализации равен n
    0
    = 4.
    Вычисление рангов грамианов управляемости и наблюдаемости дает тот же результат:
    >> wc=gram(sys,'c'), wo=gram(sys,'o'), r1=rank(wc), r2=rank(wo), r3= rank(wc*wo), r1=5, r2=5, r3=4
    Для построения минимальной реализации воспользуемся командой minreal:
    >>msys = minreal(sys); zpk(msys),
    Получаем сообщение:
    5 states removed
    Zero/pole/gain:
    3 (s+3)
    ----------------------------
    (s+5) (s+4) (s+2) (s+1)
    Тот же результат можно получить, сокращая общие множители числителя и знаменателя в нуль-полюсном описания исходной модели:
    >> zpk(sys)
    минимальная реализация
    3 (s+2) (s+3)^4 (s+4)
    -----------------------------------
    (s+3)^3 (s+4)^2 (s+5) (s+2)^2 (s+1)
    3 (s+3)
    ------------------------------
    (s+4) (s+5) (s+2) (s+1)
    Случай 2. Перейдем к анализу системы с тремя выходами у
    1
    , у
    2
    , у
    3
    . Находим грамианы управляемости и наблюдаемости и вычисляем их ранги:
    >> Wc=gram(SYS,'c'), Wo=gram(SYS,'o'),
    >>r1=rank(Wc), r2=rank(Wo), r3= rank(Wc*Wo),

    85 r1=5, r2=9, r3=5
    Отсюда по формулам (*) находим размерности подсистем:
    0 9
    5 5
    9
    ;
    4
    ;
    0
    ;
    5 3
    3 2
    2 3
    1 1
    3 0













    n
    r
    r
    n
    r
    r
    n
    r
    n
    Таким образом, в данном случае каноническая декомпозиция Калмана содержит две подсистемы: неуправляемую и наблюдаемую подсистему четвертого порядка и управляемую и наблюдаемую подсистему пятого порядка. Порядок минимальной реализации равен пяти.
    Для ее получения воспользуемся командой
    1   ...   8   9   10   11   12   13   14   15   ...   18


    написать администратору сайта