Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование матричных уравнений в задачах управления на базе MatLabSimulink. Учебное пособие
.pdf
3. РЕАЛИЗАЦИЯ ФИЛЬТРА КАЛМАНА
x
x
P
R
F
x
В СРЕДЕ Simulink
3.1. НЕПРЕРЫВНАЯ ФИЛЬТРАЦИЯ
Модели состояния в виде систем разностных или дифференциальных уравнений первого порядка используются при моделировании
различных технических, экономических или биологических систем.
В работах [5–14] представлены методы оценивания состояния, используемые в задачах идентификации динамических систем. В предположении, что сигналы имеют гауссовский характер, процедуру оценивания состояния динамического объекта можно описать следующим
разом:
на основе априорной информации устанавливается начальное
состояние системы;
формируются уравнения динамики для описания изменений пе-
ременных состояния;
формируются уравнения, связывающие результаты наблюдения
(или измерения) с переменными состояния;
применяются алгоритмы фильтрации.
Пусть линейная стационарная динамическая система описывается в
виде уравнений [13–19]:
() () ()
tFxtGwt
, () () ()zt Hxt vt,
об-
где ()
неотрицательно определенной ковариационной матрицей
ный момент времени; ( )wt – белый гауссовский шум с нулевым сред-
ним и неотрицательно определенной ковариационной матрицей Q ;
рица наблюдения; ( )zt – вектор наблюдения; ( )vt – белый гауссовский
шум с нулевым средним и положительно определенной ковариацион-
ной матрицей
(рис. 3.1) имеет вид
t – вектор состояния с нулевым математическим ожиданием и
в началь-
, FG
– матрицы состояния и возмущения соответственно;
. Далее в аргументах t указывать не будем.
Фильтр Калмана при точно известных параметрах объекта ,,
ˆˆ ˆ
Fx K z Hx
()
31
, (1)
H
мат-
GH

где матрица
P
x
x
определяется из уравнения
K
KPHR
1
, (2)
а матрица
есть решение дифференциального уравнения
P FP PF PH R HP GQG
Рис. 3.1. Структурная схема модели наблюдаемого процесса
Для того чтобы оценка вектора состояния
же» в среднеквадратичном к вектору
(1)–(3) (рис. 3.2).
1
ˆ
была «как можно бли-
. (3)
, необходимо построить фильтр
Рис. 3.2. Структурная схема устройства оценивания
состояния
В работах [13–19] рассматривается установившейся режим, который имеет важное значение для инженерной практики. Нестационарность фильтра Калмана играет роль только при пуске системы, и для
реальных задач этим часто можно пренебречь.
32

3.2. ДИСКРЕТНАЯ ФИЛЬТРАЦИЯ
x
R
x
xx
В данной работе рассматривается линейный динамический объект,
который в общем виде можно записать следующим образом [13–19]:
xuw
,
1kkkk
yHxv
111kkk
, (4)
где
w – белая гауссовская последовательность с нулевым средним и не-
k
отрицательно определенной матрицей ковариации Q ;
рицы состояния, управления и возмущения соответственно;
рица наблюдения;
– вектор состояния,
1kx
y
– вектор наблюдения;
1k
u – вектор управляющих воздействий;
k
, ,
– мат-
– мат-
H
v
– белая гауссовская
1k
последовательность с нулевым средним и положительно определенной
матрицей ковариации
.
Параметры системы (1) в дискретном случае имеют вид
0.9 0.3
0.3 0.3
00
01
,
,
Характеристики случайных воздействий:
1
10H
0
,
.
Q
00
00.1
0R
,
Предполагается, что система устойчива, полностью управляема и
наблюдаема.
Для системы (4) фильтр Калмана с обновленной последовательностью имеет вид [13–19]:
ˆˆ
1, ,
kk kk k
xu
,
ˆ
00
ˆˆ
yHx
,
11,
kkk
, (5)
.
1/2
()
, (6)
KPH
PP Q
HP H R
kkk
11,
, (7)
kkkk
11, 1
, (8)
1, ,kk kk
1
33

1
P
, (9)
kkkkk
1111,
ˆˆ
xxK
1, 1 1, 1 1
kk kk k k
PIKHP
kk k k kk
1, 1 1 1 1,
yy
()
()
. (11)
ˆ
, (10)
1
Особенности построения фильтра Калмана подробно описаны в работах [14–22]. Отметим, что значения матрицы
и матрицы K до-
,kk
вольно быстро устанавливаются с ростом числа измерений.
3.3. ПОСТРОЕНИЕ ФИЛЬТРА КАЛМАНА
Simulink является одним из самых важных пакетов расширения системы Matlab, который позволяет осуществлять имитационное блочное
моделирование систем и устройств различного назначения. Как правило, цель моделирования состоит в изучении реакции устройства на
воздействия некоторой физической природы. Для моделирования таких ситуаций пакет Simulink обладает широким набором сигналов и
средств для редактирования их
параметров.
Пакет Simulink позволяет создавать модели, внутри которых располагаются подсистемы. Внутри подсистем первого уровня могут располагаться подсистемы следующего уровня и т. д. Это дает возможность разбивать решение поставленной задачи на ряд более простых
задач, решаемых подсистемами. Каждая подсистема используется в
полной системе после отладки ее второстепенных блоков. Создание
подсистемы
начинается с определения блоков, которые должны быть
включены в эту подсистему. Путем нажатия левой кнопки мыши создают рамку для выделения блоков. Далее в главном меню нужно выбрать команду Edit/Create Subsystem. После выполнения этой команды
на месте выделенных блоков появится прямоугольный блок подсистемы. Отметим, что для этой операции недоступна команда Undo (
отмена последней операции). Поэтому перед выделением подсистемы
необходимо сохранить исходную модель под каким-либо новым именем. Вызов и просмотр подсистемы осуществляется двойным щелчком
левой кнопкой мыши. Состав блоков и соединений в подсистеме останется таким же, как и в исходной модели. В подсистеме появляются
новые блоки – порт входа In1 и
порт выхода Out1. С помощью этих
портов подсистема включается в состав основной модели. Если подси-
34

стема содержит несколько входов и выходов, то появится несколько
портов ввода и портов вывода, например In1, In2, In3,... и Out1, Out2,
Out3,....
Операции модификации и редактирования подсистемы аналогичны
операциям для моделей, используемых при создании обычных блоксхем. Например, для замены в уже созданной подсистеме одного блока
на другой необходимо выделить указанный блок и использовать ко-
Clear в контекстном меню (рис. 3.3). После удаления указанного
манду
блока на его место можно вставить новый блок. После выбора раздела
библиотеки и указания требуемого блока необходимо перенести новый
блок на место удаленного элемента. Соединения при этом восстанавливаются автоматически. Таким образом, можно корректировать подсистемы, не меняя основную модель. На рис. 3.4 приведены
элементы
группы Discrete.
Рис. 3.3. Команды контекстного меню Рис. 3.4. Группа Discrete
На рис. 3.5 показана модель фильтра Калмана в общем виде.
На рис. 3.6–3.8 представлены отдельные подсистемы формирования
фильтра Калмана в среде Simulink [23].
35

Рис. 3.5. Моделирование фильтра Калмана в общем виде
Рис. 3.6. Этап формирования фильтра Калмана (уравнение (6))
Рис. 3.7. Матрица усиления фильтра Калмана (уравнение (7))
36

Рис. 3.8. Этап формирования фильтра Калмана
(уравнение (8))
Рис. 3.9. Блок параметров для перемножения матриц
37

Рис. 3.10. Блок параметров для нахождения обратной матрицы
При перемножении матриц необходимо указать параметры Multiplication (рис. 3.9).
На рис. 3.10 показан блок параметров для функции нахождения обратной матрицы.
Так как точные значения параметров объекта неизвестны, то в
фильтре Калмана используются оценки этих параметров. Это, в свою
очередь, приводит к погрешностям в оценках вектора состояния. Если
рассматривать установившийся режим для стационарных
устойчивых
систем, то некоторые дифференциальные уравнения (разностные)
упрощаются и превращаются в алгебраические. Для этого необходимо
отбросить начальные участки переходных процессов.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1. Выведите уравнения непрерывного фильтра Калмана при точном
задании параметров системы.
Выведите уравнения дискретного фильтра Калмана с использо-
2.
ванием обновленной последовательности.
Как сформировать отдельные подсистемы исходной модели?
3.
38

4.
x
B
Какая команда используется для создания подсистемы?
5.
Можно ли использовать команду Undo после создания подси-
стемы?
В каком случае появляются порт входа In1 и порт выхода Out1?
6.
7.
Какие параметры необходимо задать при перемножении матриц?
Каким образом можно установить параметры для нахождения
8.
обратной матрицы?
Перечислите основные блоки, используемые при построении
9.
структурной схемы устройства оценивания состояния.
10.
Какие возможности предоставляет стационарный режим для ста-
ционарных устойчивых систем?
Что понимается под наблюдателем динамической системы?
11.
С помощью какого уравнения определяется коэффициент усиле-
12.
ния фильтра Калмана?
Опишите процедуру оценивания состояния динамического объекта.
13.
В каком случае возникают погрешности в оценках вектора со-
14.
стояния?
В каких случаях играет роль нестационарность фильтра Калмана?
15.
Как быстро устанавливаются значения коэффициента усиления
16.
фильтра Калмана с ростом числа измерений?
4. НАБЛЮДАТЕЛЬ ПОЛНОГО ПОРЯДКА
Найдем наблюдатель полного порядка для следующей модели [25]:
Ax Bu
,
нннн
yCx . (1)
ннн
Здесь
0201
1000
A
н
010 1
0010
,
10
00
01
00
,
B
н
С
н
0100
0001
.
Очевидно, что имеем наблюдаемую каноническую форму. Матри-
цы
A ,
и
н
C составлены из матриц размером 2 × 2. Матрица нA
н
н
39

состоит из четырех матриц
A
x
x
j
размером 2 × 2: диагональные матри-
нjk
цы описывают собственные свойства первого и второго каналов. Собственные свойства канала «первый вход–первый выход» определяются
t
, что соответ-
20ss
2
. Соб-
[2 0]
коэффициентами первого столбца матрицы
:
A
н11
ствует коэффициентам характеристического полинома
ственные свойства канала «второй вход–второй выход» определяются
н22
, что соответ-
10ss
22
(3 ) 9 6sss
2
. Зада-
, т. е.
коэффициентами второго столбца матрицы
A :
ствует коэффициентам характеристического полинома
дим собственные свойства каналов полиномом
t
[1 0]
равным –3. Заданием таких полюсов обеспечим время переходного
процесса наблюдателя по крайней мере в три раза меньшее по сравнению с переходными процессами в системе. Добиваться этого будем
введением обратной связи
с выхода модели объекта на вход «инте-
L
н
гратора». Динамические свойства наблюдателя описываются уравнением
()
ALCx
ннн
ния. Матрицу
, где
L вычислим из условий устойчивости наблюдателя,
н
xx
– ошибка оценки вектора состоя-
достаточно малого времени устранения ошибки наблюдения и, наконец, автономности каналов наблюдателя. Для этого необходимо ском-
пенсировать элементы
матрицу
L находим из условия
н
н32
1,a
н14
1a
матрицы
A . Таким образом,
н
0900
. (2а)
l
и вычислим
15
ll
26
ll
37
ll
48
l
ALC
ннн
. (2б)
:
ALC
ннн
Элементы матрицы
l
l
5
1
l
l
6
2
L
н
l
l
7
3
l
l
8
4
1600
000 9
001 6
L обозначим через
н
02l01
10
,
ALC
ннн
01 0 1
01
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
