- •Минобрнауки россии
- •Лабораторная работа №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.
Рисунок – Изменение начального условия у наблюдателя
Промоделируем систему. Построим раздельные графики выходных сигналов систем.
Рисунок – Графики изменения переменных состояния: черный – объекта, синий – наблюдателя
Как видно из рисунка, наблюдатель в точности повторяет сигнал с выхода объекта.