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

  • Практическое занятие №6. ФИЛЬТР КАЛМАНА Постановка задачи

  • Краткие сведения из теории

  • Последовательность выполнения

  • Методический пример

  • ЛАБы№1. Московская государственная академия приборостроения и информатики


    Скачать 1.37 Mb.
    НазваниеМосковская государственная академия приборостроения и информатики
    Дата25.11.2022
    Размер1.37 Mb.
    Формат файлаpdf
    Имя файлаЛАБы№1.pdf
    ТипУчебное пособие
    #812012
    страница7 из 8
    1   2   3   4   5   6   7   8
    Варианты заданий
    Модель системы
    Функционал качества управления
    1.

    =
    +
    +
    =
    1 0
    2 2
    2 2
    2 1
    )
    (
    )
    (
    4
    )
    (
    3 2
    1
    k
    k
    x
    k
    u
    k
    u
    J
    2.
    )
    (
    4
    )
    (
    )
    (
    2 2
    1 1
    2 1
    0 1
    2 2
    1
    k
    x
    k
    x
    k
    u
    J
    k
    +
    +
    =

    =
    1.
    3
    )
    0
    (
    ,
    1
    )
    0
    (
    )
    (
    )
    (
    )
    (
    )
    1
    (
    )
    (
    3
    )
    (
    )
    (
    3
    )
    1
    (
    2 1
    1 2
    1 2
    2 1
    1 1
    =
    =
    +

    =
    +
    +

    =
    +
    x
    x
    k
    u
    k
    x
    k
    x
    k
    x
    k
    u
    k
    u
    k
    x
    k
    x
    3.
    )
    (
    12
    )
    (
    8
    )
    (
    4
    )
    (
    2 2
    1 1
    2 1
    0 1
    2 2
    2 2
    1
    k
    x
    k
    x
    k
    u
    k
    u
    J
    k
    +
    +
    +
    =

    =
    1.

    =
    +
    +
    =
    1 0
    2 2
    2 2
    2 1
    )
    (
    5
    )
    (
    )
    (
    7 2
    1
    k
    k
    x
    k
    u
    k
    u
    J
    2.
    )
    (
    )
    (
    9
    )
    (
    2 2
    1 1
    2 1
    0 1
    2 2
    1
    k
    x
    k
    x
    k
    u
    J
    k
    +
    +
    =

    =
    2.
    2
    )
    0
    (
    ,
    1
    )
    0
    (
    )
    (
    )
    (
    4
    )
    (
    )
    (
    2
    )
    1
    (
    )
    (
    3
    )
    (
    2
    )
    (
    2
    )
    (
    )
    1
    (
    2 1
    2 1
    2 1
    2 2
    1 2
    1 1
    =
    =


    +
    =
    +


    +
    =
    +
    x
    x
    k
    u
    k
    u
    k
    x
    k
    x
    k
    x
    k
    u
    k
    u
    k
    x
    k
    x
    k
    x
    3.
    )
    (
    8
    )
    (
    6
    )
    (
    4
    )
    (
    2 1
    1 2
    1 0
    1 2
    2 2
    2 1
    k
    x
    k
    x
    k
    u
    k
    u
    J
    k
    +
    +
    +
    =

    =
    1.

    =
    +
    +
    =
    1 0
    2 2
    2 2
    2 1
    )
    (
    )
    (
    4
    )
    (
    2 2
    1
    k
    k
    x
    k
    u
    k
    u
    J
    2.
    )
    (
    4
    )
    (
    3
    )
    (
    2 2
    1 1
    2 1
    0 1
    2 2
    1
    k
    x
    k
    x
    k
    u
    J
    k
    +
    +
    =

    =
    3.
    1
    )
    0
    (
    ,
    1
    )
    0
    (
    )
    (
    2
    )
    (
    4
    )
    (
    )
    1
    (
    )
    (
    )
    (
    )
    (
    2
    )
    1
    (
    2 1
    2 2
    1 2
    1 1
    2 1
    =
    =

    +
    =
    +

    +
    =
    +
    x
    x
    k
    u
    k
    x
    k
    x
    k
    x
    k
    u
    k
    x
    k
    x
    k
    x
    3.
    )
    (
    7
    )
    (
    3
    )
    (
    2
    )
    (
    2 1
    1 2
    1 0
    1 2
    2 2
    2 1
    k
    x
    k
    x
    k
    u
    k
    u
    J
    k
    +
    +
    +
    =

    =
    1.

    =
    +
    =
    1 0
    2 2
    2
    )
    (
    8
    )
    (
    4 2
    1
    k
    k
    x
    k
    u
    J
    2.
    )
    (
    4
    )
    (
    )
    (
    2 1
    1 2
    1 0
    1 2
    2
    k
    x
    k
    x
    k
    u
    J
    k
    +
    +
    =

    =
    4.
    1
    )
    0
    (
    ,
    1
    )
    0
    (
    )
    (
    2
    )
    (
    )
    (
    2
    )
    1
    (
    )
    (
    )
    (
    )
    (
    )
    1
    (
    2 1
    2 1
    2 2
    1 1
    =
    =

    +
    =
    +


    =
    +
    x
    x
    k
    u
    k
    x
    k
    x
    k
    x
    k
    u
    k
    x
    k
    x
    k
    x
    3.
    )
    (
    )
    (
    3
    )
    (
    3 2
    1 1
    2 1
    0 1
    2 2
    k
    x
    k
    x
    k
    u
    J
    k
    +
    +
    =

    =
    – 75 –

    Практическое занятие №6.
    ФИЛЬТР КАЛМАНА
    Постановка задачи
    Исследуется модель объекта управления в виде



    ν
    +
    +
    +
    =
    +
    +
    =
    ν
    Hw
    Du
    Cx
    y
    Gw
    Bu
    Ax
    x
    (6.1) с известными входами u и возмущениями по входам w и измерениям
    ν, которые являются «белым» шумом со следующими характеристиками:
    { }
    { }
    {
    }
    {
    }
    {
    }
    ).
    (
    )
    (
    )
    (
    ),
    (
    )
    (
    )
    (
    ),
    (
    )
    (
    )
    (
    ,
    0
    τ

    δ
    =
    τ
    τ

    δ
    =
    τ
    τ

    δ
    =
    τ
    =
    =
    t
    N
    w
    t
    v
    M
    t
    R
    v
    t
    v
    M
    t
    Q
    w
    t
    w
    M
    v
    M
    w
    M
    T
    T
    T
    (6.2)
    Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта, который минимизирует установившуюся ошибку оценивания
    {
    }
    T
    t
    x
    x
    x
    x
    M
    P
    )
    ˆ
    )(
    ˆ
    (
    lim


    =


    (6.3)
    Краткие сведения из теории
    Пусть многомерная система определяется как система с l-входами и n-выходами, у которой преобразование «вход-выход» задано в виде матричной импульсной переходной функции K(t, τ).
    Пусть U(t) – l-мерный вектор входа фильтра, а
    - n-мерный вектор выхода. Тогда связь между векторами и Y(t) определена интегралом
    )
    (
    ˆ t
    Х
    )
    (
    ˆ t
    Х
    0
    )
    (
    ˆ
    ,
    )
    (
    )
    ,
    (
    )
    (
    ˆ
    0 0
    =
    τ
    τ
    τ
    =

    t
    Х
    d
    Y
    t
    K
    t
    Х
    t
    t
    Пусть Y(t) – действительный случайный процесс с нулевым математическим ожиданием и корреляционной функцией R
    YY
    (t,
    τ).
    Обозначим норму произвольной квадратной матрицы B через ||B|| и определим её следующим образом:
    )
    (
    tr
    T
    BB
    B
    =
    ,
    – 76 –
    где tr (
    .
    ) – след, т.е. сумма диагональных элементов матрицы.
    Пусть на вход многомерного фильтра поступает искаженный сигнал как сумма полезного сигнала M(t) и помехи N(t), т.е.
    )
    (
    )
    (
    )
    (
    t
    N
    t
    M
    t
    Y
    +
    =
    , где M(t) и N(t) – l-мерные векторы с известными корреляционными функциями R
    MM
    (t,
    τ) и R
    NN
    (t,
    τ).
    Предположим, что существует идеальный вход X(t) некоторой системы, который определяет желаемый выход и связан с полезным сигналом соотношением

    τ
    τ
    τ
    =
    t
    t
    ID
    d
    M
    t
    K
    t
    X
    0
    )
    (
    )
    ,
    (
    )
    (
    , где K
    ID
    (t,
    τ) – матрица импульсной передаточной функция идеальной системы. Рассмотрим вектор ошибок
    )
    (
    ˆ
    )
    (
    )
    (
    t
    X
    t
    X
    t
    X

    =

    σ
    Задача состоит в том, чтобы выбрать такую физическую реализуемую матричную импульсную переходную функцию К
    *
    (t,
    τ) так, чтобы математическое ожидание квадрата нормы ошибок было минимальным
    {
    }
    )
    ,
    (
    2
    min
    )
    (
    τ
    σ
    =
    t
    K
    t
    X
    M
    , (6.4) где K(t,
    τ) = 0.
    В зависимости от того, какая задача стоит: прогнозирование, фильтрации или сглаживания, определяется K
    ID
    (t,
    τ) идеальной системы.
    В задаче фильтрации X(t) = M(t), т.е. K
    ID
    (t,
    τ) = E*δ(t–τ). При такой постановке задачи минимум среднеквадратической ошибки (6.4) определяется МИПФ K
    *
    (t,
    τ), получаемой из обобщенного уравнения
    Винера-Хопфа для многомерных систем

    τ
    =
    τ
    t
    YY
    MY
    ds
    s
    R
    s
    t
    K
    t
    R
    0
    *
    )
    ,
    (
    )
    ,
    (
    )
    ,
    (
    Известно, что если на вход системы поступает случайный сигнал
    Y(t), являющийся стационарным, в широком смысле, случайным процессом, оптимальную матричную передаточную функцию W
    *
    (s) многомерного фильтра можно получить факторизацией рациональной матрицы спектральных плоскостей. В случае нестационарного случайного процесса решение интегрального уравнения Вольтерра 1-го рода даже для скалярного случая представляет серьезные трудности, не говоря уже о векторном.
    – 77 –

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



    ν
    +
    +
    +
    =
    +
    +
    =
    ν
    Hw
    Du
    Cx
    y
    Gw
    Bu
    Ax
    x
    с известными входами u и возмущениями по входам w и измерениям
    ν, которые являются "белым" шумом со следующими характеристиками:
    { }
    { }
    {
    }
    {
    }
    {
    }
    ).
    (
    )
    (
    )
    (
    ),
    (
    )
    (
    )
    (
    ),
    (
    )
    (
    )
    (
    ,
    0
    τ

    δ
    =
    τ
    τ

    δ
    =
    τ
    τ

    δ
    =
    τ
    =
    =
    t
    N
    w
    t
    v
    M
    t
    R
    v
    t
    v
    M
    t
    Q
    w
    t
    w
    M
    v
    M
    w
    M
    T
    T
    T
    Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта, который минимизирует установившуюся ошибку оценивания
    {
    }
    T
    t
    x
    x
    x
    x
    M
    P
    )
    ˆ
    )(
    ˆ
    (
    lim


    =


    Оптимальным решением является фильтр Калмана, описываемый уравнениями





    +
    +






    +






    =








    +
    +
    =
    ,
    0
    ˆ
    ˆ
    ˆ
    ),
    ˆ
    (
    ˆ
    ˆ
    v
    Hw
    u
    D
    x
    I
    C
    x
    y
    Du
    x
    C
    y
    L
    Bu
    x
    A

    v
    v
    где матрица коэффициентов обратных связей L определяется на основе решения алгебраического матричного уравнения Риккати. Например, при Н=0 дисперсия P определяется из уравнения
    AP + PA
    T
    – (PC
    T
    +GN)R
    -1
    (CP+N
    T
    G
    T
    ) + GQG
    T
    = 0, матрица L –
    L = APC
    T
    (N+CPC
    T
    )
    -1
    Наблюдатель (рис. 3) объединяет фильтр Калмана и объект управления.
    – 78 –

    Фильтр
    Калмана
    Объект управления
    +
    u w
    y v
    y v
    x y
    >
    >
    Рис.7.1. Наблюдатель Калмана
    Наблюдатель использует известные входы u и результаты измерений y
    v
    , искаженные случайными помехами, для того, чтобы вычислить оценки вектора переменных состояния
    xˆ
    и выходов .
    yˆ
    Пусть задана дискретная модель объекта управления



    ν
    +
    +
    +
    =
    +
    +
    =
    +
    ν
    ]
    [
    ]
    [
    ]
    [
    ]
    [
    ]
    [
    ]
    [
    ]
    [
    ]
    [
    ]
    1
    [
    n
    n
    Hw
    n
    Du
    n
    Cx
    n
    y
    n
    Gw
    n
    Bu
    n
    Ax
    n
    x
    с известными входами u и возмущениями по входам w и измерениям v, которые являются "белым" шумом со следующими характеристиками:
    { }
    { }
    {
    }
    {
    }
    {
    }
    ]
    [
    ]
    [
    ,
    ]
    [
    ]
    [
    ,
    ]
    [
    ]
    [
    ,
    0
    nm
    T
    nm
    T
    nm
    T
    N
    m
    w
    n
    v
    M
    R
    m
    v
    n
    v
    M
    Q
    m
    w
    n
    w
    M
    v
    M
    w
    M
    δ
    =
    δ
    =
    δ
    =
    =
    =
    Требуется выполнить синтез наблюдателя для оценивания вектора переменных состояния объекта управления, который минимизирует установившуюся ошибку оценивания,
    {
    }
    T
    t
    x
    x
    x
    x
    M
    P
    )
    ˆ
    )(
    ˆ
    (
    lim


    =


    В этом случае фильтр Калмана, описывается уравнениями



















    +








    =








    +
    +
    =
    +
    ]
    [
    ]
    [
    )
    (
    ]
    [
    ˆ
    )
    (
    ]
    [
    ˆ
    ]
    [
    ˆ
    ]),
    [
    ]
    [
    ˆ
    (
    ]
    [
    ]
    [
    ˆ
    ]
    1
    [
    ˆ
    n
    y
    n
    u
    M
    MD
    CM
    D
    CM
    I
    n
    x
    MC
    I
    MC
    I
    C
    n
    y
    n
    x
    n
    Du
    n
    x
    C
    y
    L
    n
    Bu
    n
    x
    A
    n
    x
    v
    v
    ; где матрица коэффициентов обратных связей L и новая матрица коэффициентов обратных связей М определяются на основе решения матричного алгебраического уравнения Риккати.
    Наблюдатель объединяет фильтр Калмана и объект управления; он использует известные входы u[n] и результаты измерений у v
    [n],
    – 79 –
    искаженные случайными помехами, для того, чтобы вычислить оценки вектора переменных состояния х[n] и выходов у[n].
    Обновленная матрица коэффициентов обратных связей М применяется для того, чтобы уточнить предсказание х[n] на основе измерения у
    v
    [n]
    ])
    [
    ]
    [
    ˆ
    ]
    [
    (
    ]
    [
    ˆ
    ]
    1
    [
    ˆ
    n
    Du
    n
    x
    C
    n
    y
    M
    n
    x
    n
    x
    v


    +
    =
    +
    Последовательность выполнения
    Для синтеза фильтра Калмана в предназначены следующие функции Control System Toolbox:
    [kest, L, P] = kalman(sys, Qn, Rn, Nn)
    [kest, L, P] = kalman(sys, Qn, Rn, Nn, sensors, known) для дискретных моделей
    [kest, L, P, M, Z] = kalman(sys, Qn, Rn, Nn) для синтеза дискретного фильтра Калмана для непрерывных систем
    [kest, L, P, M, Z] = kalmz(sys, Qn, Rn, Nn)
    Приведенные выше функции выполняют синтез фильтров
    Калмана для оценки переменных состояния объекта управления на основе данных о случайных внешних возмущениях и ошибках измерений.
    На систему, описывающую объект управления и случайные воздействия накладываются следующие ограничения:

    пара матриц (С, A) должна быть обнаруживаемой;

    необходимо выполнение неравенств
    T
    N
    R
    N
    Q
    R
    1
    ,
    0


    >
    , с учетом обозначений
    )
    (
    ,
    ,
    N
    QH
    G
    N
    HQH
    H
    N
    HN
    R
    GQG
    Q
    T
    T
    T
    T
    T
    +
    =
    +
    +
    =
    =
    Для выполнения практической работы необходимо выполнить следующие действия:
    – 80 –

    1.
    Изучить теоретические сведения.
    2.
    Запустить систему MATLAB.
    3.
    Произвести расчет фильтра Калмана.
    4.
    Выполнить моделирование системы управления с наблюдателем.
    5.
    Сравнить данные, полученные на основе
    6.
    Построить графики динамики системы при ненулевых начальных условиях.
    7.
    Ответить на контрольные вопросы.
    8.
    Оформить отчет и защитить работу.
    Методический пример
    Произведем расчет фильтра Калмана для системы с передаточной функцией
    ,
    100 100
    )
    (
    2
    +
    +
    =
    s
    s
    s
    W
    и параметрами Q = 1, R = 0.01.
    1.
    Произведем расчет фильтра Калмана
    >> sys=ss(tf(100,[1 1 100])) a = x1 x2 x1 -1 -3.125 x2 32 0 b = u1 x1 2 x2 0 c = x1 x2 y1 0 1.563 d = u1 y1 0
    Continuous-time model.
    >> [A,B,C,D]=ssdata(sys)
    A =
    -1.0000 -3.1250 32.0000 0
    B =
    – 81 –

    2 0
    C =
    0 1.5625
    D =
    0
    >> [A,B,C,D]=ssdata(sys)
    A =
    -1.0000 -3.1250 32.0000 0
    B =
    2 0
    C =
    0 1.5625
    D =
    0
    >> P=ss(A, [B B], C, [D D]) a = x1 x2 x1 -1 -3.125 x2 32 0 b = u1 u2 x1 2 2 x2 0 0 c = x1 x2 y1 0 1.563 d = u1 u2 y1 0 0
    Continuous-time model.
    >> Kest=kalman(P,1,0.01) a = x1_e x2_e x1_e -1 -30.11 x2_e 32 -41.56 b = u1 y1 x1_e 2 17.27 x2_e 0 26.6 c = x1_e x2_e y1_e 0 1.563 x1_e 1 0 x2_e 0 1
    – 82 –
    d = u1 y1 y1_e 0 0 x1_e 0 0 x2_e 0 0
    I/O groups:
    Group name I/O Channel(s)
    KnownInput I 1
    Measurement I 2
    OutputEstimate O 1
    StateEstimate O 2,3
    Continuous-time model.
    2. Выполним моделирование системы управления с наблюдателем. Для этого с учетом x
    1
    = x1, x
    2
    = x2, = x3, = x4, введем следующие матрицы
    1
    ˆx
    2
    ˆx
    >> A1=[-1 -6.25 0 0; 16 0 0 0; 0 54 1 -60.2; 0 41.5 16 -41.5]
    A1 =
    -1.0000 -6.2500 0 0 16.0000 0 0 0 0 54.0000 1.0000 -60.2000 0 41.5000 16.0000 -41.5000
    >> B1= [2 2 0; 0 0 0; 2 0 17.3; 0 0 13.3]
    B1 =
    2.0000 2.0000 0 0 0 0 2.0000 0 17.3000 0 0 13.3000
    >> C1=[0 3.125 0 0; 0 0 0 3.125]
    C1 =
    0 3.1250 0 0 0 0 0 3.1250 3. Входом системы управления с наблюдателем является вектор u1=[u; w; v], выходом – y1 = [y; ]. Здесь y = 3.125y2, = 3.125y4. Ниже приведен фрагмент программы моделирования и результаты (рис. 6.1 –
    6.2). yˆ

    t=0:0.001:5; u=ones(size(t)); w=randn(size(t))*1000^0.5; v=rаndn(size(t))*10^0.5;
    S=ss(A1, B1, C1, 0); u1=[u; w; v];
    – 83 –

    [y1 y4]= lsim(S, u1', t); plot(t, y1(:,1),'-b',t,y1(:,2),':b') plot(t, v'+y1(:,1), ':g', t,y1(:,2),'-b')
    Рис. 6.1. Сравнение измеренного и точного выходных сигналов.
    Рис. 6.2. Сравнение зашумленного и точного значения выхода системы.
    – 84 –

    Рисунок 6.1 иллюстрирует измеренный и точные сигналы, рисунок 6.2 – график измеренного (зашумленного) и точного значения выхода системы.
    1   2   3   4   5   6   7   8


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