Представим себе некоторую систему, состояние которой в любой момент времени однозначно характеризуется определенным набором величин (например, координаты, скорости, уровни напряжения и т. д.), как правило, недоступных для непосредственного определения. Говоря терминами векторной алгебры, эти величины являются элементами вектора состояния системы, отнесенного к заданному моменту времени. Кроме того, имеется ряд переменных, некоторым образом связанных с состоянием системы, которые можно измерить с заданной точностью; такие величины составляют вектор измерений, относящихся к определенному моменту времени. Алгоритм фильтра Калмана позволяет в реальном времени построить оптимальную оценку состояния системы, основываясь на измерениях, неизбежно содержащих погрешности; при этом вектор измерений рассматривается в качестве многомерного выходного сигнала системы, отягощенного шумом, а вектор состояния — неизвестный многомерный сигнал, подлежащий определению. Условием оптимальности построенной оценки состояния является минимум ее средней квадратической ошибки.

Рис. 1.4.1 Функциональная схема работы фильтра Калмана

Указанный критерий признан наиболее общим; доказано, что применение множество других подобных условий (например, среднее арифметическое некоторой непрерывно возрастающей, симметричной функции, такой как абсолютная величина) приводит к тому же решению (функция модуля не обладает непрерывной производной, что существенно затрудняет ее применение в алгоритмах минимизации). Фильтр Калмана явился существенным усовершенствованием своего предшественника - алгоритма, позволяющего с помощью метода наименьших квадратов выделять скалярный сигнал из шума с неизменными статистическими характеристиками, предложенного в 40-х годах XX столетия Н. Винером.

Рис. 1.4.1 иллюстрирует работу алгоритма фильтра Калмана. Начальными условиями на каждом новом цикле алгоритма служат оценка состояния системы и величина, характеризующая ее погрешность. В случае скалярной переменной такой характеристикой является дисперсия, которая тем больше, чем сильнее разброс индивидуальных значений относительно истинного. Распространенная оценка дисперсии — среднеквадратическое отклонение, то есть квадрат стандартного отклонения, — выражает степень разброса величины относительно среднего.

Обобщением дисперсии для вектора, то есть совокупности скалярных величин, служит ковариационная матрица. Ее диагональные элементы являются дисперсиями соответствующих составляющих вектора, а недиагональные — ковариациями, характеризующими взаимосвязь между парой составляющих. Совокупность измерений, отнесенных к каждому из моментов времени, обобщает вектор измерений. Алгоритм последовательно обрабатывает вновь поступающие векторы измерений, учитывая при этом значения, вычисленные на предшествующем цикле. Эта особенность отличает алгоритм фильтра Калмана от нерекуррентных алгоритмов, которым для работы требуется хранить весь массив обрабатываемых данных. На следующем шаге с помощью обрабатываемых на данном цикле измерений уточняются начальные условия. Для этого алгоритм вычисляет вес поправок к ним на основе ковариационных матриц оценки состояния и измерений. Чем меньшей погрешностью характеризуются измерения по сравнению с оценкой состояния системы, тем больший вес они получат. Относительные веса неизвестных, определяющих вектор состояния системы, зависят от степени их влияния на вектор измерений: больший вес получат те переменные, вклад которых в измерения больше.

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

При построении ковариационной матрицы прогнозируемого вектора состояния фильтром Калмана учитывается возможность искажения модели, описывающей поведение системы, некоторым случайным процессом с известными статистическими параметрами.

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

Страницы: 1 2 3

Другое по теме: