Дискретный фильтр Калмана





в палитре на схеме

Описание

Блок предназначен для реализации модели фильтра Калмана. Данный фильтр является рекурсивным и производит оценку состояния динамической системы путем использования неполных, зашумленных измерений. Основной принцип работы заключается в прогнозировании будущего состояния системы на основе текущих данных с дальнейшей корректировкой.

Динамическая система описывается линейными стохастическими дискретными уравнениями:

где x(k + 1) — вектор предсказаний состояния системы; x(k) — вектор состояния системы в текущий момент времени k; u(k) — вектор управляющего воздействия; w(k) — вектор шума системы; y(k) — вектор измерений; v(k) — вектор шума измерений; A, C — матрицы перехода вектора состояния и вектора измерений соответственно; B, D — матрицы управляющего воздействия на вектор состояния и вектор измерений соответственно; G — матрица перехода шума состояния.

Первое уравнение — модель состояния системы, второе — модель измерений.

Входные порты

Имя Описание Тип линии связи
y Порт входа вектора измерений Математическая
u Порт входа вектора управляющего воздействия на систему Математическая
x0 Порт входа вектора начальных состояний системы. Опционально добавляется в свойствах блока Математическая

Выходные порты

Имя Описание Тип линии связи
xhat Порт вывода данных вектора оценки состояния Математическая
yhat Порт вывода данных вектора оценки измерений. Добавляется при активации свойства «Выводить вектор оценки измерений" Математическая
p Порт вывода массива данных ковариационной матрицы оценки вектора состояния. Добавляется при активации свойства «Выводить ковариационную матрицу оценки вектора состояния" Математическая
z Порт вывода массива данных ковариационной матрицы оценки вектора измерений. Добавляется при активации свойства «Выводить ковариационную матрицу оценки вектора измерений" Математическая

Свойства

Название Имя Описание По умолчанию Тип данных
Общие настройки блока Задание общих параметров настройки блока
Способ расчёта фильтра State Выбор способа расчета фильтра. Указывает, являются ли входной шум и шум измерений стационарными, а коэффициенты уравнений динамической системы постоянными. Свойство принимает значения:
  • "Стационарный";
  • "Общий"
Стационарный Перечисление
Временной шаг работы блока, с SampleTime Шаг по времени в секундах, за который осуществляется один отсчет входного сигнала и формирование выходного сигнала 0.1 Вещественное
Выводить вектор оценки измерений ShowYhat Режим вывода в порт "yhat" информации об оценке вектора измерений. При активации добавляет порт "yhat" Нет Двоичное
Выводить ковариационную матрицу оценки вектора состояния ShowP Режим вывода в порт "p" информации о ковариационной матрице оценки вектора состояния. При активации добавляет порт "p" Нет Двоичное
Выводить ковариационную матрицу оценки вектора измерений ShowZ Режим вывода в порт "z" информации о ковариационной матрице оценки вектора измерений. При активации добавляет порт "z" Нет Двоичное
Способ задания матрицы Q FormatOfQ Выбор способа задания шума вектора состояния: "Q" — через задание ковариационной матрицы вектора состояния Q; "G*w*w'*G'" — через задание шума вектора состояния w и матрицы перехода шума вектора состояния G. По указанным параметрам в фильтре Калмана восстанавливается матрица Q = G*w*w'*G' Q Перечисление
Размерности матриц и векторов Задание размерностей матриц и векторов
Размерность вектора состояния системы X Nx Значение размера вектора оцениваемых параметров состояния системы 2 Целое
Размерность вектора управляющего воздействия U Nu Значение размера вектора управляющего воздействия на систему 1 Целое
Размерность шума состояния w Nw Значение размера вектора шума состояния системы. Данное свойство доступно,если в значении свойства "Способ задания матрицы Q" выбрано "G*w*w'*G'" 1 Целое
Размерность вектора измерений Y Ny Значение размера вектора измерений параметров системы 1 Целое
Параметры процесса Задание параметров процесса
Тип задаваемых матриц MatrixType Выбор типа задаваемых матриц для динамической системы: дискретных, если выбрано значение "Дискретные", или непрерывных, если выбрано значение "Непрерывные" Дискретные Перечисление
Матрица перехода вектора состояния (Nx * Nx) A Матрица перехода вектора состояния, характеризующая связь предыдущего значения вектора состояния с текущим. Имеет "Nx" строк, "Nx" столбцов [[1, 0.1];[0, 1]] Матрица
Матрица управляющего воздействия на вектор состояния (Nx * Nu) B Матрица управляющего воздействия на вектор состояния, характеризующая влияние управляющего воздействия на вектор состояния. Имеет "Nx" строк, "Nu" столбцов [[1];[0]] Матрица
Матрица перехода вектора измерений (Ny * Nx) C Матрица перехода вектора измерений, характеризующая влияние управляющего воздействия на вектор измерений. Имеет "Ny" строк, "Nu" столбцов [[1, 0]] Матрица
Матрица управляющего воздействия на вектор измерений (Ny * Nu) D Матрица управляющего воздействия на вектор измерений, характеризующая влияние управляющего воздействия на вектор измерений. Имеет "Ny" строк, "Nu" столбцов [[0]] Матрица
Матрица шума состояния (Nw*Nw) w Матрица шума состояния, характеризующая влияние шума на систему. Имеет "Nw" строк, "Nw" столбцов. Данное свойство доступно,если в значении свойства "Способ задания матрицы Q" выбрано "G*w*w'*G'" [[0]] Матрица
Сглаживающие свойства Задание сглаживающих свойств системы
Ковариационная матрица шума вектора состояний системы (Nx * Nx) Q Ковариационная матрица шума вектора состояний системы, характеризующая влияние шума системы на вектор состояния. Имеет "Nx" строк, "Nx" столбцов. Данное свойство доступно,если в значении свойства "Способ задания матрицы Q" выбрано "Q" [[0, 0];[0, 0]] Матрица
Матрица перехода шума состояния (Nx * Nw) G Матрица перехода шума состояния, характеризующая влияние шума системы на вектор состояния. Имеет "Nx" строк, "Nw" столбцов. Данное свойство доступно,если в значении свойства "Способ задания матрицы Q" выбрано "G*w*w'*G'" [[0.005];[0.1]] Матрица
Ковариационная матрица измерений (Ny * Ny) R Ковариационная матрица измерений, характеризующая влияние шума измерений на вектор измерений. Имеет "Ny" строк, "Ny" столбцов [[50]] Матрица
Начальное состояние Задание параметров начального состояния
Ковариационная матрица начального вектора состояния (Nx * Nx) DialogP0 Ковариационная матрица начального вектора состояния, характеризующая статистический разброс и корреляционную связь начального вектора состояния. Имеет "Nx" строк, "Nx" столбцов [[1000, 0];[0, 1000]] Матрица
Использовать начальное состояние системы X0 из свойства UseFromDialogX0 Режим задания начального значения вектора состояния. При активации позволяет задавать начальное состояние через свойства блока, при деактивации — через входной порт "x0" Да Двоичное
Начальное состояние системы DialogX0 Начальное значение вектора состояния системы. Данное свойство доступно,если активировано свойство "Использовать начальное состояние системы X0 из свойства" [3 , 10] Матрица

Параметры

Блок не имеет параметров.

Примеры