![](/user_photo/2706_HbeT2.jpg)
- •Минобрнауки россии
- •Лабораторная работа №1
- •Идентификация объекта во временной области Теоретические сведения
- •Задание
- •Контрольные вопросы
- •Идентификация объекта в частотной области Теоретические сведения
- •Задание
- •Идентификация динамического объекта явным мнк
- •Идентификация динамического объекта рекуррентным мнк
- •Задание
- •Задание
- •Задание
- •Лабораторная работа №5 Оценивание состояний с помощью фильтра Калмана
- •Теоретические сведения
- •Задание
- •Лабораторная работа №6 Одновременное оценивание параметров и состояний линейной системы
- •Теоретические сведения
- •По информации о заданной системе (a, b, c) строится расширенный фильтр Калмана (a1, b1, c1)
- •Задание
- •Библиографический список
Задание
1. Построить простейший наблюдатель. Использовать асимптотический идентификатор.
2. Реализовать фильтр Баттерворта.
3. Реализовать фильтр Бесселя.
4. Реализовать биноминальный полином.
5. Сделать выводы о проделанной работе.
Лабораторная работа №5 Оценивание состояний с помощью фильтра Калмана
Цель работы.
Для оценки состояний системы построить фильтр Калмана.
Теоретические сведения
На рисунке приведена структура фильтра Калмана.
Рисунок 35 - Фильтр Калмана
Дано описание объекта:
Математическое ожидание:
Матрица ковариации:
Алгоритм расчета оценки по фильтру Калмана:
- оценивают текущую выборку.
- невязка между наблюдавшимся и
предсказуемым значением.
- изменяющийся во времени матричный
коэффициент.
- корректирует на основании ошибки
текущую оценку.
В общем случае он получается решением нелинейного уравнения Риккати:
Коэффициент
может быть определен реккурентно по
следующим выражениям:
- априорное значение ковариационной
матрицы погрешностей состояний
,
основанное на
-
наблюдений.
- апостериорное значение (после этого
наблюдения) основанное на
- наблюдениях.
Алгоритм решения:
1. Определяется априорное значение
матрицы
,
т.е.
.
2. Рассчитывается апостериорное значение
оценок матрицы
,
т.е.
.
3. Рассчитывается Калмановский коэффициент
.
4. Рассчитывается оценка состояний
.
Методический пример
Дана
непрерывная система с передаточной
функцией.
Известна априорная информация о сигнале:
.
Заданные характеристики случайных
процессов типа белого шума
(для входной помехи) и
(для выходной). Требуется построить
наблюдатель состояния для оценки
неизвестного вектора состояния
,
когда критерием оптимальности является
минимум среднеквадратического отклонения
построенной оценки с самого сигнала.
sys1=tf([5],[3 2 1])% задание передаточной функции системы
sys=ss(sys1)% задание системы в пространстве состояний
[A,B,C,D]=ssdata(sys); % формирование матриц системы
n=length(A); % определение порядка системы
t=0:0.001:2; % задание массива значений времени
x=zeros(n,1); % начальное значение математического ожидания сигнала
p=10000*diag(ones(n,1)); % начальное значение ковариационной матрицы сигнала
V=1000*diag(ones(n,1)); % ковариационная матрица входной помехи
R=10; % ковариационная матрица выходной помехи
eps=.001;% заданная погрешность сходимости Калмановского коэффициента
Lk (:,1)= eye(n,1); % начальные приближения
Lk (:,2)= ones(n,1);
i=2;
pk(1,i)=p(1,1); pk(2,i)=p(2,2);
whilenot (abs(Lk(1,i)-Lk(1,i-1))<eps & abs(Lk(2,i)-Lk(2,i-1))<eps)
i=i+1;
q=A*p*A'+V;
p=q-q*C'*inv(C*q*C'+R)*C*q;
L=p*C'*R^-1;
pk(1,i)=p(1,1); pk(2,i)=p(2,2);
Lk(:,i)=L;
end
Соберем в Simulink схему
Рисунок – Схема
Далее необходимо задать разные начальные условия для интеграторов объекта и формирующего фильтра (50 и -30), для этого зададим необходимые значения в параметре InitialconditionблокаIntegratorи аналогично в блокеIntegrator1.
Рисунок – Изменение начального условия у наблюдателя
Промоделируем систему. Построим раздельные графики выходных сигналов систем.
Рисунок – Графики изменения переменных состояния: черный – объекта, синий – наблюдателя
Как видно из рисунка, наблюдатель в точности повторяет сигнал с выхода объекта.