Для формирования оценки вектора параметров используем алгоритм фильтрации Калмана [8.1]:
(8.3)
(8.4)
(8.5)
(8.6)
(8.7)
где – оценка прогноза вектора состояния на момент j + 1,
– симметричная матрица ошибок прогнозирования; P(j + 1) – ковариационная матрица ошибок фильтрации
K(j + 1) – коэффициент усиления фильтра, I – единичная матрица.
Следует отметить, что если измерения Z(j) содержат не только случайные шумы, но и систематические мультиструктурные помехи, то целесообразно использовать алгоритмы фильтрации, рассмотренные в работах [8.10, 8.11]. В случае если модель информационного процесса задана жесткой системой дифференциальных уравнений, то целесообразно использовать фильтр, разработанный аналогично методу, представленному в работе [8.12].
Из анализа алгоритма фильтра Калмана видно, что в уравнении для прогноза оценки (8.4) отсутствует составляющая Γ(j + 1, j)Ax(j), входящая в модель процесса (8.1). Это обусловлено, согласно постановке задачи, условием априорной параметрической неопределенности вектора Ax(j). Таким образом, уравнение прогноза (8.4) имеет определенный уровень неадекватности относительно реального процесса (8.1). Данная неадекватность может привести к потере устойчивости и к росту ошибок фильтрации, как в любой момент времени, так и особенно в момент значительного изменения вектора Ax(j). Последний случай характерен, например, при интенсивном преднамеренном маневре цели в задаче радиолокации [8.1, 8.7].
Для обеспечения устойчивости фильтра (8.3)–(8.7) в условиях неадекватности модели (8.1) реальному процессу необходима адаптация его параметров. В работах [8.5, 8.7] показано, что адаптация фильтра возможна путем подстройки матрицы Q(j), что в свою очередь вызывает изменение коэффициента усиления фильтра K(j). Наряду с достоинствами предложенный фильтр характеризуется значительной динамической ошибкой при интенсивном изменении динамики процесса, что обусловлено итерационной подстройкой параметров фильтра.
Для устранения данного недостатка целесообразно разработать алгоритм подстройки параметров фильтра, обеспечивающий непрерывное слежение за показателем невязки фильтра вида
(8.8)
и непрерывное изменение элементов матрицы Q(j) в зависимости от величины ε(j).
Следует отметить, что невязка фильтра вида (8.8) может содержать как только флуктуационную ошибку измерений, так и её сумму с динамической ошибкой, обусловленной неадекватностью модели процесса, использованной при синтезе фильтра, реальному процессу.
В первой ситуации, то есть при флуктуационном характере невязки (8.8), целесообразно уменьшить её влияние на прогноз оценки . Для этого, по аналогии с работой [8.5], необходимо уменьшить коэффициент усиления фильтра путем уменьшения значений дисперсий формирующих шумов, являющихся элементами матрицы Q(j).
Во второй ситуации, то есть при наличии динамической ошибки, целесообразно увеличить влияние невязки (8.8) на прогноз оценки . Для этого необходимо увеличить коэффициент усиления фильтра путем увеличения значений дисперсий формирующих шумов.
Таким образом, для адаптации фильтра Калмана необходимо последовательное решение двух основных задач: идентификации текущей ситуации, определяемой характером невязки, и управления значением элементов матрицы Q(j).
Для решения задачи идентификации текущей ситуации введем, по аналогии с работой [8.5], два дополнительных показателя невязки ,
, при этом для простоты изложения без потери общности примем, что невязка является скалярной:
– показатель модуля среднего арифметического значения невязки :
(8.9)
– показатель среднего арифметического модуля значения невязки :
(8.10)
С учетом принятых дополнительных показателей невязки и полагая для простоты изложения, что и
введем по аналогии с [8.5] критерий идентификации текущей ситуации:
(8.11)
где приняты следующие обозначения:
0 – ситуация, когда невязка содержит только допустимую флуктуационную ошибку, адаптация фильтра не требуется;
1 – ситуация, когда невязка содержит динамическую ошибку, требуется адаптация фильтра;
2 – ситуация, когда невязка содержит недопустимую флуктуационную ошибку, требуется адаптация фильтра.
При задании показателей (8.9) и (8.10) важным вопросом является выбор числа измерений (n), используемых при нахождении средних арифметических значений. Число измерений будет определять такие показатели качества функционирования алгоритма адаптации, как вероятность ложного обнаружения изменения модели процесса (Pлт), вероятность правильного обнаружения изменения модели процесса (Pпр.обн), число измерений, выполненных после изменения модели процесса, необходимых для его обнаружения (m). Таким образом, для выбора значения (n) желательно иметь зависимость вида n = f(Pлт, Pпр.обн, m), позволяющую по заданным требованиям к Pлт, Pпр.обн, m произвести его обоснование. Нахождение подобной зависимости в аналитическом виде является довольно трудной задачей. По этой причине целесообразно проведение имитационного моделирования, позволяющего получить графики зависимостей Pлт = f(n), . В статье [8.6] проведено имитационное моделирование на примере обнаружения изменения модели, обусловленной маневрированием динамического объекта, например, самолета гражданской авиации, заходящего на посадку в нештатной ситуации. Результаты такого моделирования для частных случаев, характеризующихся конкретными значениями среднеквадратического отклонения (σR) ошибок измерений и ускорений маневра (a), представлены на рис. 8.1–8.3.
Комплексный анализ полученных зависимостей позволяет произвести обоснованный выбор значения (n) на основе применения следующего критерия пригодности:
(8.12)
Рис. 8.1. Зависимость вероятности ложной тревоги от числа измерений, используемых для нахождения показателей (8.9), (8.10)
Рис. 8.2. Зависимость вероятности правильного обнаружения маневра от числа выполненных после начала маневра измерений (m) при ускорении a = 3 м/c2
Так, например, если конкретизировать критерий (8.12) в следующем виде:
то для ускорений от 6 м/c2 и выше пригодными, как следует из анализа рис. 8.1 и 8.3, будут n ≥ 5.
Рис. 8.3. Зависимость вероятности правильного обнаружения маневра от числа выполненных после начала маневра измерений (m) при ускорении a = 6 м/c2
Следует отметить, что при больших (n) и значительных ускорениях возможно снижение устойчивости фильтра, обусловленное увеличением времени обнаружения маневра, однако, как показали результаты моделирования, при ускорениях движения до 6 м/c2 и n ≤ 7 такого эффекта не наблюдалось.
Далее предположим, что информационный процесс (8.1) характеризует траекторию движения объекта в декартовой системе координат. Алгоритм адаптации в зависимости от принятого по критерию (8.12) решения о текущей ситуации должен соответствующим образом изменить значения элементов матрицы интенсивностей формирующих шумов Q(j). Учитывая, что матрица Q(j) в случае фильтрации декартовых координат объекта является диагональной, а её элементами являются дисперсии ускорений по соответствующим координатам , то можно говорить об адаптации именно дисперсий ускорений.
В дальнейшем для простоты изложения материала без потери общности рассмотрим случай фильтрации по одной координате, например x, когда справедливо .
Таким образом, для обеспечения адаптации фильтра к маневру объекта необходимо синтезировать алгоритм, реализующий с учетом (8.9)–(8.11) зависимость вида
Применим для адаптации фильтра Калмана к изменению модели информационного процесса оперативно советующую экспертную систему (ОСЭС), основанную на применении нечеткого логического вывода [8.13, 8.14].
Будем считать, что процесс функционирования фильтра Калмана можно представить в виде кортежа некоторых проблемных ситуаций (ПрС). Любая ПрС описывается ситуационным вектором , каждая координата которого svk является лингвистической переменной с заданным множеством термов
.
Полагаем, что для некоторых конкретных реализаций ситуационного вектора sv* имеются прецеденты успешного решения текущей ПрС, характеризующиеся некоторым прецедентным вектором , каждая координата которого pvm является лингвистической переменной с заданным множеством термов
.
Пусть некоторая ПрС, возникающая при динамической фильтрации измерений, описывается ситуационным вектором с элементами: sv1 – «тип ошибки фильтрации»; sv2 – «значение модуля относительной ошибки
», при этом
определяется формулой
(8.13)
где определяется формулой (8.8); σдоп – некоторое допустимое значение среднеквадратического отклонения ошибки ε(j).
Пусть указанные переменные описываются следующими терм-множествами:
Полагаем, что лингвистическая переменная sv1 задана на унифицированном универсальном множестве E = {0, 1, 2}, лингвистическая переменная sv2 – на универсуме , а их термы описываются функциями принадлежности
.
Пусть термы лингвистической переменной sv1 описываются функциями принадлежности типа синглетон:
Термы лингвистической переменной sv2 описываются следующими функциями принадлежности [8.13]:
(8.14)
(8.15)
(8.16)
где akl, ckl,
– параметры функций принадлежности.
Учитывая, что управляемым параметром фильтра Калмана, как было сказано ранее, является матрица интенсивностей формирующих шумов Q(j), а в частном скалярном случае – дисперсия формирующего шума , введем в рассмотрение прецедентный вектор
, состоящий из одной лингвистической переменной pv1 – «относительное значение СКО формирующего шума», четкое значение которой определяется формулой
(8.17)
где σx.норм – некоторое нормирующее значение СКО, в общем случае равное начальному значению σx0, установленному перед запуском фильтра Калмана.
Полагаем, что лингвистическая переменная pv1 задана на универсуме , а её термы описываются функциями принадлежности
.
Пусть pv1 характеризуется следующим терм-множеством:
Зададим термы множества PV1 следующими функциями принадлежности:
(8.18)
(8.19)
(8.20)
где b1p, d1p, – параметры функций принадлежности.
С учетом введенных ранее ситуационного и прецедентного векторов, система правил, описывающих механизм решения текущей ПрС, возникающей в процессе функционирования фильтра Калмана, будет иметь вид, представленный в табл. 8.1. В данной таблице каждая строка соответствует продукционному правилу нечеткого логического вывода, которое, например, для строки с номером 2 имеет вид
Используя «минимаксное» правило Мамдани-Заде [8.13] выражение для расчета итоговой функции принадлежности выходной лингвистической переменной pv1 будет иметь вид:
(8.21)
где
– функции принадлежности соответственно лингвистических переменных svk и pv1, входящая в состав продукционного правила с номером r,
– четкие значения входных переменных,
.
Таблица 8.1
Система правил для выбора прецедента в ОСЭС
Номер правила (r) |
Элементы ситуационного вектора (входные лингвистические переменные) |
Имеющийся прецедент решения ПрС (выходная лингвистическая переменная) |
|
sv1 |
sv2 |
pv1 |
|
1 |
|
– |
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
– |
|
где
– функции принадлежности соответственно лингвистических переменных svk и pv1, входящая в состав продукционного правила с номером r,
– четкие значения входных переменных,
.
Для нахождения четкого значения выходной переменной используем метод «центра тяжести», при котором в общем случае справедливо выражение [8.13]
(8.22)
где – абсцисса центра тяжести фигуры, образованной графиком итоговой функции принадлежности
и осями координат, при изменении переменной
от
до
.
Переходя к численному интегрированию по методу трапеций с шагом дискретизации по аналогии с [8.13] запишем выражение (8.22) в виде
(8.23)
где
Структура адаптивного фильтра Калмана с нечеткой ОСЭС представлена на рис. 8.4.
Формирователь начальных условий (ФНУ) на основе первых двух измерений наблюдаемого процесса {Z(0), Z(1)} и априорной информации о виде матриц интенсивностей формирующего шума и шума наблюдения Q(0) и R(0) соответственно, вычисляет начальные условия для запуска фильтра Калмана K(1). Фильтр Калмана (ФК) на каждом шаге работы формирует невязку ε(j) вида (8.8). Вычислитель дополнительных показателей невязки (ВДПН) на основе полученного значения ε(j) вычисляет
,
,
с использованием формул (8.9), (8.10). Формирователь ситуационного вектора (ФСВ) определяет четкие значения элементов ситуационного вектора sv*(j):
– с использованием критерия (8.11),
– с использованием выражения (8.13). Оперативно советующая экспертная система (ОСЭС) на основе входного ситуационного вектора sv*(j) определяет четкое значение выходного прецедентного вектора pv*(j + 1), которое в частном скалярном случае представляет собой относительное значение СКО формирующего шума σx.отн(j + 1). Преобразователь СКО (ПрСКО) пересчитывает относительное значение СКО σx.отн(j + 1) в абсолютное значение σx(j + 1) = σx.отн(j + 1)σx.норм, которое используется в ФК на j + 1 шаге.
Рис. 8.4. Структура адаптивного фильтра Калмана
Структура ОСЭС, входящей в адаптивный фильтр Калмана, представлена на рис. 8.5.
Рис. 8.5. Структура оперативно советующей экспертной системы
Таблица 8.2
Алгоритм функционирования ОСЭС
Но-мер правила (r) |
БФ |
БНЛВ |
БДФ |
|||
фаззификация |
||||||
|
|
агрегирование |
активация |
композиция |
дефаззификация |
|
1 |
|
– |
|
|
Вычисление |
Вычисление |
2 |
|
|
|
|
||
3 |
|
|
|
|
||
4 |
|
|
|
|
||
5 |
|
– |
|
|
Система функционирует следующим образом: конкретные значения элементов ситуационного вектора sv*(j), соответствующего наблюдаемой ПрС, поступают в блок фаззификации (БФ), где преобразуются в нечеткие множества, полученные данные являются входными для блока нечеткого логического вывода (БНЛВ), реализующего «минимаксный» алгоритм нечеткого вывода Мамдани вида (8.21), при этом используется информация из базы знаний (БЗ), представленной в виде табл. 8.1, и содержащей нечеткие продукционные правила, а также вид и параметры функций принадлежности. В блоке дефаззификации (БДФ) на основе сформированной в БНЛВ итоговой функции принадлежности находится четкое значение выходной переменной pv*(j + 1) с используем выражения (8.23), реализующего метод «центра тяжести». Алгоритм функционирования ОСЭС в формализованном виде представлен в виде табл. 8.2.
Таким образом, ОСЭС обеспечивает адаптацию фильтра Калмана к изменению модели информационного процесса (8.1), которая может характеризоваться различными значениями вектора интенсивностей изменения процесса, например, различными ускорениями объекта по соответствующей координате.