Алгоритм, который оценивает неизвестные значения на основе серии измерений с течением времени
В статистике и теории управления фильтрация Калмана (также известная как линейно-квадратическая оценка ) — это алгоритм , который использует ряд измерений, наблюдаемых с течением времени, включая статистический шум и другие неточности, для получения оценок неизвестных переменных, которые, как правило, более точны, чем те, которые основаны на одном измерении, путем оценки совместного распределения вероятностей по переменным для каждого временного шага. Фильтр построен как минимизатор среднеквадратической ошибки, но также представлен альтернативный вывод фильтра, показывающий, как фильтр соотносится со статистикой максимального правдоподобия. [1] Фильтр назван в честь Рудольфа Э. Калмана .
Этот цифровой фильтр иногда называют фильтром Стратоновича–Калмана–Бьюси , поскольку он является частным случаем более общего нелинейного фильтра, разработанного советским математиком Русланом Стратоновичем . [2] [3] [4] [5] Фактически, некоторые из уравнений частного случая линейного фильтра появились в работах Стратоновича, которые были опубликованы до лета 1961 года, когда Калман встретился со Стратоновичем во время конференции в Москве. [6]
Алгоритм работает через двухфазный процесс: фазу прогнозирования и фазу обновления. На фазе прогнозирования фильтр Калмана производит оценки текущих переменных состояния , включая их неопределенности. После того, как результат следующего измерения (обязательно искаженный некоторой ошибкой, включая случайный шум) наблюдается, эти оценки обновляются с использованием взвешенного среднего , причем больший вес дается оценкам с большей уверенностью. Алгоритм является рекурсивным . Он может работать в реальном времени , используя только текущие входные измерения и состояние, рассчитанное ранее, и его матрицу неопределенности; дополнительная прошлая информация не требуется.
Оптимальность фильтрации Калмана предполагает, что ошибки имеют нормальное (гауссовское) распределение. По словам Рудольфа Э. Калмана : «Следующие предположения сделаны относительно случайных процессов: Физические случайные явления можно рассматривать как обусловленные первичными случайными источниками, возбуждающими динамические системы. Первичные источники предполагаются независимыми гауссовыми случайными процессами с нулевым средним; динамические системы будут линейными». [14] Однако, независимо от гауссовости, если ковариации процесса и измерения известны, то фильтр Калмана является наилучшим возможным линейным оценщиком в смысле минимальной среднеквадратической ошибки , [15] хотя могут быть и лучшие нелинейные оценщики. Распространенным заблуждением (увековеченным в литературе) является то, что фильтр Калмана не может быть строго применен, если все шумовые процессы не предполагаются гауссовыми. [16]
Фильтрация Калмана была впервые описана и частично разработана в технических работах Сверлинга (1958), Калмана (1960) и Калмана и Бьюси (1961).
Компьютер Apollo использовал 2k RAM на магнитном сердечнике и 36k троса [...]. Центральный процессор был построен на базе ИС [...]. Тактовая частота была ниже 100 кГц [...]. Тот факт, что инженеры MIT смогли упаковать такое хорошее программное обеспечение (одно из первых применений фильтра Калмана) в такой крошечный компьютер, поистине примечателен.
— Интервью с Джеком Креншоу, Мэтью Рид, TRS-80.org (2009) [1]
Фильтрация Калмана использует динамическую модель системы (например, физические законы движения), известные управляющие входы для этой системы и несколько последовательных измерений (например, от датчиков) для формирования оценки изменяющихся величин системы (ее состояния ), которая лучше оценки, полученной с использованием только одного измерения. Таким образом, это распространенный алгоритм слияния датчиков и слияния данных .
Шумные данные датчиков, приближения в уравнениях, описывающих эволюцию системы, и внешние факторы, которые не учитываются, ограничивают то, насколько хорошо можно определить состояние системы. Фильтр Калмана эффективно справляется с неопределенностью, вызванной шумными данными датчиков и, в некоторой степени, случайными внешними факторами. Фильтр Калмана производит оценку состояния системы как среднее значение предсказанного состояния системы и нового измерения с использованием взвешенного среднего . Цель весов состоит в том, чтобы значения с лучшей (т. е. меньшей) оцененной неопределенностью были «доверяемы» больше. Веса вычисляются из ковариации , меры оцененной неопределенности предсказания состояния системы. Результатом взвешенного среднего является новая оценка состояния, которая лежит между предсказанным и измеренным состоянием и имеет лучшую оцененную неопределенность, чем каждое из них по отдельности. Этот процесс повторяется на каждом временном шаге, при этом новая оценка и ее ковариация информируют прогноз, используемый в следующей итерации. Это означает, что фильтр Калмана работает рекурсивно и для расчета нового состояния требует только последнее «лучшее предположение», а не всю историю состояния системы.
Оценка достоверности измерений и оценка текущего состояния являются важными факторами. Обычно обсуждается реакция фильтра в терминах усиления фильтра Калмана . Усиление Калмана — это вес, придаваемый измерениям и оценке текущего состояния, и его можно «настроить» для достижения определенной производительности. При высоком усилении фильтр придает больший вес самым последним измерениям и, таким образом, более чутко им соответствует. При низком усилении фильтр более точно соответствует прогнозам модели. В крайних случаях высокое усиление (близкое к единице) приведет к более скачкообразной оценочной траектории, в то время как низкое усиление (близкое к нулю) сгладит шум, но снизит чуткость реагирования.
При выполнении реальных вычислений для фильтра (как обсуждается ниже) оценка состояния и ковариации кодируются в матрицы из-за множественных измерений, вовлеченных в один набор вычислений. Это позволяет представлять линейные отношения между различными переменными состояния (такими как положение, скорость и ускорение) в любой из моделей перехода или ковариаций.
Пример заявки
В качестве примера рассмотрим задачу определения точного местоположения грузовика. Грузовик может быть оснащен GPS- устройством, которое обеспечивает оценку положения с точностью до нескольких метров. Оценка GPS, скорее всего, будет шумной; показания быстро «прыгают», хотя и остаются в пределах нескольких метров от реального положения. Кроме того, поскольку ожидается, что грузовик будет следовать законам физики, его положение также можно оценить путем интегрирования его скорости с течением времени, определяемой путем отслеживания оборотов колес и угла поворота рулевого колеса. Это метод, известный как счисление пути . Обычно счисление пути обеспечивает очень плавную оценку положения грузовика, но со временем оно будет дрейфовать по мере накопления небольших ошибок.
В этом примере фильтр Калмана можно рассматривать как работающий в двух отдельных фазах: прогнозирование и обновление. На фазе прогнозирования старое положение грузовика будет изменено в соответствии с физическими законами движения (динамическая или модель «перехода состояний»). Будет рассчитана не только новая оценка положения, но и новая ковариация. Возможно, ковариация пропорциональна скорости грузовика, потому что мы более не уверены в точности оценки положения счисления на высоких скоростях, но очень уверены в оценке положения на низких скоростях. Затем, на фазе обновления, измерение положения грузовика берется с устройства GPS. Вместе с этим измерением приходит некоторая неопределенность, и его ковариация относительно прогноза из предыдущей фазы определяет, насколько новое измерение повлияет на обновленное прогнозирование. В идеале, поскольку оценки счисления имеют тенденцию удаляться от реального положения, измерение GPS должно подтягивать оценку положения обратно к реальному положению, но не нарушать ее до такой степени, чтобы она становилась шумной и быстро прыгающей.
В большинстве приложений внутреннее состояние намного больше (имеет больше степеней свободы ), чем несколько "наблюдаемых" параметров, которые измеряются. Однако, объединяя ряд измерений, фильтр Калмана может оценить все внутреннее состояние.
Для теории Демпстера–Шейфера каждое уравнение состояния или наблюдение рассматривается как частный случай линейной функции доверия , а фильтрация Калмана является частным случаем объединения линейных функций доверия на дереве соединений или марковском дереве . Дополнительные методы включают фильтрацию доверия , которая использует байесовские или доказательные обновления уравнений состояния.
На сегодняшний день существует большое разнообразие фильтров Калмана: оригинальная формулировка Калмана, которая теперь называется «простым» фильтром Калмана, фильтр Калмана–Бьюси , «расширенный» фильтр Шмидта, информационный фильтр и множество «квадратно-корневых» фильтров, разработанных Бирманом, Торнтоном и многими другими. Возможно, наиболее часто используемым типом очень простого фильтра Калмана является фазовая автоподстройка частоты , которая сейчас повсеместно используется в радиоприемниках, особенно в радиоприемниках с частотной модуляцией (FM), телевизорах, приемниках спутниковой связи , системах космической связи и практически в любом другом электронном коммуникационном оборудовании.
Базовая модель динамической системы
Фильтрация Калмана основана на линейных динамических системах, дискретизированных во временной области. Они моделируются на основе цепи Маркова , построенной на линейных операторах, возмущенных ошибками, которые могут включать гауссовский шум . Состояние целевой системы относится к истинной (но скрытой) конфигурации интересующей системы, которая представлена в виде вектора действительных чисел . На каждом дискретном временном шаге к состоянию применяется линейный оператор для генерации нового состояния с некоторым шумом, смешанным с ним, и, опционально, некоторой информацией от элементов управления в системе, если они известны. Затем другой линейный оператор, смешанный с большим количеством шума, генерирует измеримые выходы (т. е. наблюдение) из истинного («скрытого») состояния. Фильтр Калмана можно рассматривать как аналог скрытой марковской модели, с той разницей, что скрытые переменные состояния имеют значения в непрерывном пространстве, а не в дискретном пространстве состояний, как для скрытой марковской модели. Существует сильная аналогия между уравнениями фильтра Калмана и уравнениями скрытой марковской модели. Обзор этой и других моделей дан в работах Роуайса и Гахрамани (1999) [27] и Гамильтона (1994), глава 13. [28]
Чтобы использовать фильтр Калмана для оценки внутреннего состояния процесса, имея только последовательность зашумленных наблюдений, необходимо смоделировать процесс в соответствии со следующей структурой. Это означает указание матриц для каждого временного шага k следующим образом:
В момент времени k наблюдение (или измерение) z k истинного состояния x k производится согласно
где
H k — это модель наблюдения, которая отображает истинное пространство состояний в наблюдаемое пространство и
v k — шум наблюдения, который предполагается равным нулевому среднему гауссовскому белому шуму с ковариацией R k : .
Начальное состояние и векторы шума на каждом шаге { x 0 , w 1 , ..., w k , v 1 , ... , v k } предполагаются взаимно независимыми .
Многие динамические системы реального времени не совсем соответствуют этой модели. Фактически, немоделированная динамика может серьезно ухудшить производительность фильтра, даже когда он должен работать с неизвестными стохастическими сигналами в качестве входных данных. Причина этого в том, что эффект немоделированной динамики зависит от входных данных и, следовательно, может привести к нестабильности алгоритма оценки (он расходится). С другой стороны, независимые сигналы белого шума не заставят алгоритм расходиться. Проблема различения шума измерения и немоделированной динамики является сложной и рассматривается как проблема теории управления с использованием надежного управления . [29] [30]
Подробности
Фильтр Калмана — это рекурсивный оценщик. Это означает, что для вычисления оценки текущего состояния необходимы только оценочное состояние из предыдущего временного шага и текущее измерение. В отличие от методов пакетной оценки, не требуется никакой истории наблюдений и/или оценок. В дальнейшем обозначение представляет оценку в момент времени n с учетом наблюдений вплоть до момента времени m ≤ n включительно .
Состояние фильтра представлено двумя переменными:
, апостериорная оценка состояния, средняя в момент времени k, при условии наблюдений до момента времени k включительно ;
, матрица ковариации апостериорной оценки (мера предполагаемой точности оценки состояния).
Структура алгоритма фильтра Калмана напоминает структуру фильтра Альфа-бета . Фильтр Калмана можно записать в виде одного уравнения; однако чаще всего его концептуализируют как две отдельные фазы: «Предсказать» и «Обновить». Фаза прогнозирования использует оценку состояния из предыдущего временного шага для получения оценки состояния на текущем временном шаге. Эта прогнозируемая оценка состояния также известна как априорная оценка состояния, поскольку, хотя она является оценкой состояния на текущем временном шаге, она не включает в себя информацию наблюдения из текущего временного шага. На фазе обновления инновация ( предварительно подобранный остаток), т. е. разница между текущим априорным прогнозом и текущей информацией наблюдения, умножается на оптимальный коэффициент усиления Калмана и объединяется с предыдущей оценкой состояния для уточнения оценки состояния. Эта улучшенная оценка, основанная на текущем наблюдении, называется апостериорной оценкой состояния.
Обычно эти две фазы чередуются, причем прогнозирование продвигает состояние до следующего запланированного наблюдения, а обновление включает наблюдение. Однако это не обязательно; если наблюдение по какой-то причине недоступно, обновление может быть пропущено и выполнены несколько процедур прогнозирования. Аналогично, если одновременно доступны несколько независимых наблюдений, могут быть выполнены несколько процедур обновления (обычно с разными матрицами наблюдения H k ). [31] [32]
Предсказывать
Обновлять
Формула для обновленной ( апостериорной ) оценки ковариации выше действительна для оптимального усиления K k , которое минимизирует остаточную ошибку, в этой форме она наиболее широко используется в приложениях. Доказательство формул находится в разделе выводов , где также показана формула, действительная для любого K k .
Более интуитивный способ выразить обновленную оценку состояния ( ) выглядит следующим образом:
Это выражение напоминает нам линейную интерполяцию для интервала [0,1]. В нашем случае:
— это матрица , которая принимает значения из (высокая ошибка датчика) в или проекцию (низкая ошибка).
внутреннее состояние, оцененное с помощью модели.
— внутреннее состояние, оцененное по результатам измерения, при условии, что оно несингулярно.
Если модель точна, а значения и точно отражают распределение значений начального состояния, то сохраняются следующие инварианты:
где — ожидаемое значение . То есть, все оценки имеют среднюю ошибку, равную нулю.
Также:
поэтому ковариационные матрицы точно отражают ковариацию оценок.
Оценка ковариаций шума Qки Рк
Практическая реализация фильтра Калмана часто затруднена из-за сложности получения хорошей оценки матриц ковариации шума Q k и R k . Были проведены обширные исследования для оценки этих ковариаций из данных. Одним из практических методов является метод наименьших квадратов автоковариации (ALS) , который использует запаздывающие автоковариации обычных рабочих данных для оценки ковариаций. [33] [34] Код GNU Octave и Matlab, используемый для расчета матриц ковариации шума с использованием метода ALS, доступен в Интернете по лицензии GNU General Public License . [35] Был предложен полевой фильтр Калмана (FKF), байесовский алгоритм, который позволяет одновременно оценивать состояние, параметры и ковариацию шума. [36] Алгоритм FKF имеет рекурсивную формулировку, хорошую наблюдаемую сходимость и относительно низкую сложность, что позволяет предположить, что алгоритм FKF, возможно, является достойной альтернативой методам наименьших квадратов автоковариации. Другой подход — оптимизированный фильтр Калмана ( OKF ), который рассматривает ковариационные матрицы не как представителей шума, а скорее как параметры, направленные на достижение наиболее точной оценки состояния. [37] Эти два взгляда совпадают в предположениях KF, но часто противоречат друг другу в реальных системах. Таким образом, оценка состояния OKF более устойчива к неточностям моделирования.
Оптимальность и производительность
Из теории следует, что фильтр Калмана обеспечивает оптимальную оценку состояния в случаях, когда a) модель идеально соответствует реальной системе, b) входящий шум является «белым» (некоррелированным), и c) ковариации шума точно известны. Коррелированный шум также можно обрабатывать с помощью фильтров Калмана. [38]
Несколько методов оценки ковариации шума были предложены в течение последних десятилетий, включая ALS, упомянутый в разделе выше. В более общем смысле, если предположения модели не соответствуют идеально реальной системе, то оптимальная оценка состояния не обязательно получается путем установки Q k и R k на ковариации шума. Вместо этого, в этом случае, параметры Q k и R k могут быть установлены для явной оптимизации оценки состояния, [37] например, с использованием стандартного контролируемого обучения .
После того, как ковариации установлены, полезно оценить производительность фильтра, т. е. можно ли улучшить качество оценки состояния. Если фильтр Калмана работает оптимально, последовательность инноваций (ошибка прогнозирования выходных данных) представляет собой белый шум, поэтому свойство белизны инноваций измеряет производительность фильтра. Для этой цели можно использовать несколько различных методов. [39] Если шумовые члены распределены негауссовым образом, в литературе известны методы оценки производительности оценки фильтра, которые используют неравенства вероятности или теорию большой выборки. [40] [41]
Пример применения, технический
Рассмотрим грузовик на прямых рельсах без трения. Изначально грузовик неподвижен в положении 0, но его то и дело толкают случайные неконтролируемые силы. Мы измеряем положение грузовика каждые Δ t секунд, но эти измерения неточны; мы хотим сохранить модель положения и скорости грузовика . Здесь мы показываем, как мы выводим модель, из которой создаем наш фильтр Калмана.
Поскольку они постоянны, их временные индексы опускаются.
Положение и скорость грузовика описываются линейным пространством состояний.
где — скорость, то есть производная положения по времени.
Мы предполагаем, что между ( k − 1) и k временным шагом неконтролируемые силы вызывают постоянное ускорение a k , которое нормально распределено со средним значением 0 и стандартным отклонением σ a . Из законов движения Ньютона мы заключаем, что
(термина нет, поскольку нет известных управляющих входов. Вместо этого k является эффектом неизвестного входа и применяет этот эффект к вектору состояния), где
так что
где
Матрица не имеет полного ранга (она имеет ранг один, если ). Следовательно, распределение не является абсолютно непрерывным и не имеет функции плотности вероятности . Другой способ выразить это, избегая явных вырожденных распределений, дается формулой
На каждой временной фазе выполняется шумное измерение истинного положения грузовика. Предположим, что шум измерения v k также распределен нормально, со средним значением 0 и стандартным отклонением σ z .
где
и
Мы знаем начальное состояние грузовика с идеальной точностью, поэтому мы инициализируем
и чтобы сообщить фильтру, что мы знаем точное положение и скорость, мы даем ему нулевую ковариационную матрицу:
Если начальное положение и скорость неизвестны, то ковариационную матрицу следует инициализировать с подходящими дисперсиями на ее диагонали:
Фильтр затем отдаст предпочтение информации из первых измерений, а не информации, уже имеющейся в модели.
Асимптотическая форма
Для простоты предположим, что управляющий вход . Тогда фильтр Калмана можно записать:
Аналогичное уравнение справедливо, если мы включаем ненулевой управляющий вход. Матрицы усиления развиваются независимо от измерений . Из вышесказанного следует, что четыре уравнения, необходимые для обновления усиления Калмана, следующие:
Поскольку матрицы усиления зависят только от модели, а не от измерений, их можно вычислять офлайн. Сходимость матриц усиления к асимптотической матрице применима для условий, установленных в Вальранде и Димакисе. [42] Моделирование устанавливает количество шагов к сходимости. Для примера движущегося грузовика, описанного выше, с . и , моделирование показывает сходимость в итерациях.
Асимптотический прирост , если он существует, можно вычислить, сначала решив следующее дискретное уравнение Риккати для асимптотической ковариации состояния : [42]
Затем асимптотический прирост вычисляется, как и прежде.
Кроме того, форма асимптотического фильтра Калмана, более часто используемая в теории управления, задается формулой
что, используя наш инвариант на P k | k −1 и определение R k становится
Эта формула (иногда известная как форма Джозефа уравнения обновления ковариации) действительна для любого значения K k . Оказывается, если K k — оптимальный коэффициент усиления Калмана, это можно упростить еще больше, как показано ниже.
Мы стремимся минимизировать ожидаемое значение квадрата величины этого вектора, . Это эквивалентно минимизации следа матрицы ковариации апостериорной оценки . Раскрывая члены в уравнении выше и собирая, мы получаем:
Решая это уравнение относительно K k, получаем коэффициент усиления Калмана:
Этот коэффициент усиления, известный как оптимальный коэффициент усиления Калмана , при использовании дает оценки MMSE .
Упрощениеапостериориформула ковариации ошибок
Формула, используемая для расчета апостериорной ковариации ошибки, может быть упрощена, когда коэффициент усиления Калмана равен оптимальному значению, полученному выше. Умножая обе стороны нашей формулы коэффициента усиления Калмана справа на S k K k T , следует, что
Возвращаясь к нашей расширенной формуле для апостериорной ковариации ошибок,
мы обнаруживаем, что последние два члена сокращаются, давая
Эта формула вычислительно дешевле и поэтому почти всегда используется на практике, но она верна только для оптимального усиления. Если арифметическая точность необычно низкая, что приводит к проблемам с числовой устойчивостью , или если намеренно используется неоптимальное усиление Калмана, это упрощение не может быть применено; необходимо использовать формулу ковариации апостериорной ошибки, выведенную выше (форма Джозефа).
Анализ чувствительности
Уравнения фильтрации Калмана рекурсивно дают оценку состояния и его ковариации ошибок . Оценка и ее качество зависят от параметров системы и статистики шума, подаваемой в качестве входных данных для оценщика. В этом разделе анализируется влияние неопределенностей в статистических входных данных для фильтра. [44] При отсутствии надежной статистики или истинных значений матриц ковариации шума и выражение
больше не предоставляет фактическую ковариацию ошибок. Другими словами, . В большинстве приложений реального времени ковариационные матрицы, которые используются при проектировании фильтра Калмана, отличаются от фактических (истинных) матриц ковариаций шума. [ необходима цитата ] Этот анализ чувствительности описывает поведение ковариации ошибок оценки, когда ковариации шума, а также системные матрицы и , которые подаются в качестве входных данных в фильтр, неверны. Таким образом, анализ чувствительности описывает устойчивость (или чувствительность) оценщика к неправильно указанным статистическим и параметрическим входным данным оценщика.
Это обсуждение ограничивается анализом чувствительности ошибок для случая статистических неопределенностей. Здесь фактические ковариации шума обозначаются и соответственно, тогда как проектные значения, используемые в оценщике, обозначаются и соответственно. Фактическая ковариация ошибок обозначается и , вычисленная фильтром Калмана, называется переменной Риккати. Когда и , это означает, что . При вычислении фактической ковариации ошибок с использованием , подстановка и использование того факта, что и , приводит к следующим рекурсивным уравнениям для :
и
При вычислении , по замыслу фильтр неявно предполагает, что и . Рекурсивные выражения для и идентичны, за исключением наличия и вместо проектных значений и соответственно. Были проведены исследования для анализа надежности системы фильтра Калмана. [45]
Факторизованная форма
Одной из проблем фильтра Калмана является его численная устойчивость . Если ковариация шума процесса Q k мала, ошибка округления часто приводит к тому, что небольшое положительное собственное значение матрицы ковариации состояния P вычисляется как отрицательное число. Это делает численное представление P неопределенным , тогда как его истинная форма является положительно-определенной .
Положительно определенные матрицы обладают тем свойством, что они имеют факторизацию в произведение невырожденной , нижнетреугольной матрицы S и ее транспонированной : P = S · S T . Фактор S может быть эффективно вычислен с помощью алгоритма факторизации Холецкого . Эта форма произведения ковариационной матрицы P гарантированно симметрична, и для всех 1 <= k <= n k-й диагональный элемент P kk равен евклидовой норме k-й строки S , которая обязательно положительна. Эквивалентная форма, которая избегает многих операций извлечения квадратного корня , используемых в алгоритме факторизации Холецкого , но сохраняет желаемые числовые свойства, — это форма разложения UD, P = U · D · U T , где U — единичная треугольная матрица (с единичной диагональю), а D — диагональная матрица.
Из этих двух, факторизация UD использует тот же объем памяти и несколько меньше вычислений, и является наиболее часто используемой треугольной факторизацией. (Ранняя литература по относительной эффективности несколько вводит в заблуждение, поскольку предполагала, что квадратные корни были гораздо более трудоемкими, чем деления, [46] : 69, тогда как на компьютерах 21-го века они лишь немного дороже.)
Эффективные алгоритмы для предсказания Калмана и шагов обновления в факторизованной форме были разработаны Г. Дж. Бирманом и К. Л. Торнтоном. [46] [47]
Разложение L · D · L T матрицы ковариации инноваций S k является основой для другого типа численно эффективного и надежного фильтра квадратного корня. [48] Алгоритм начинается с разложения LU, как реализовано в пакете линейной алгебры ( LAPACK ) . Эти результаты далее факторизуются в структуру L · D · L T с помощью методов, предоставленных Голубом и Ван Лоаном (алгоритм 4.1.2) для симметричной невырожденной матрицы. [49] Любая вырожденная ковариационная матрица поворачивается так, чтобы первое диагональное разбиение было невырожденным и хорошо обусловленным . Алгоритм поворота должен сохранять любую часть матрицы ковариации инноваций, непосредственно соответствующую наблюдаемым переменным состояния H k · x k|k-1 , которые связаны со вспомогательными наблюдениями в y k . Фильтр квадратного корня l · d · l t требует ортогонализации вектора наблюдения. [47] [48] Это можно сделать с помощью обратного квадратного корня из ковариационной матрицы для вспомогательных переменных, используя метод 2 в Хайэме (2002, стр. 263). [50]
Параллельная форма
Фильтр Калмана эффективен для последовательной обработки данных на центральных процессорах (ЦП), но в своей первоначальной форме он неэффективен на параллельных архитектурах, таких как графические процессоры (ГП). Однако можно выразить процедуру обновления фильтра в терминах ассоциативного оператора, используя формулировку в Särkkä и García-Fernández (2021). [51] Затем решение фильтра можно получить с помощью алгоритма префиксной суммы , который можно эффективно реализовать на ГП. [52] Это снижает вычислительную сложность с числа временных шагов до .
Связь с рекурсивной байесовской оценкой
Фильтр Калмана можно представить как одну из простейших динамических байесовских сетей . Фильтр Калмана вычисляет оценки истинных значений состояний рекурсивно с течением времени, используя входящие измерения и математическую модель процесса. Аналогично, рекурсивная байесовская оценка вычисляет оценки неизвестной функции плотности вероятности (PDF) рекурсивно с течением времени, используя входящие измерения и математическую модель процесса. [53]
При рекурсивной байесовской оценке истинное состояние предполагается ненаблюдаемым марковским процессом , а измерения — наблюдаемыми состояниями скрытой марковской модели (СММ).
Из-за предположения Маркова истинное состояние условно независимо от всех более ранних состояний, учитывая непосредственно предыдущее состояние.
Аналогично, измерение на k -м временном шаге зависит только от текущего состояния и условно независимо от всех других состояний, учитывая текущее состояние.
Используя эти предположения, распределение вероятностей по всем состояниям скрытой марковской модели можно записать просто как:
Однако, когда фильтр Калмана используется для оценки состояния x , интересующее нас распределение вероятностей связано с текущими состояниями, обусловленными измерениями до текущего временного шага. Это достигается путем маргинализации предыдущих состояний и деления на вероятность набора измерений.
Это приводит к тому, что фазы прогнозирования и обновления фильтра Калмана записываются вероятностно. Распределение вероятностей, связанное с предсказанным состоянием, является суммой (интегралом) произведений распределения вероятностей, связанного с переходом от ( k − 1)-го временного шага к k -му, и распределения вероятностей, связанного с предыдущим состоянием, по всем возможным .
Измерение, установленное на момент времени t, равно
Распределение вероятностей обновления пропорционально произведению вероятности измерения и прогнозируемого состояния.
Знаменатель
является нормализующим термином.
Остальные функции плотности вероятности:
PDF на предыдущем временном шаге индуктивно предполагается как оцененное состояние и ковариация. Это оправдано, поскольку, как оптимальная оценка, фильтр Калмана наилучшим образом использует измерения, поэтому PDF для данных измерений является оценкой фильтра Калмана.
Незначительная вероятность
В связи с рекурсивной байесовской интерпретацией, описанной выше, фильтр Калмана можно рассматривать как генеративную модель , т. е. процесс генерации потока случайных наблюдений z = ( z 0 , z 1 , z 2 , ...). В частности, этот процесс выглядит следующим образом:
Выборка скрытого состояния из гауссовского априорного распределения .
Выборка наблюдения из модели наблюдения .
Для , сделать
Образец следующего скрытого состояния из модели перехода
Образец наблюдения из модели наблюдения
Этот процесс имеет идентичную структуру скрытой марковской модели , за исключением того, что дискретное состояние и наблюдения заменяются непрерывными переменными, выбранными из гауссовых распределений.
В некоторых приложениях полезно вычислить вероятность того, что фильтр Калмана с заданным набором параметров (априорное распределение, модели перехода и наблюдения, а также входные управляющие данные) сгенерирует определенный наблюдаемый сигнал. Эта вероятность известна как предельное правдоподобие , поскольку она интегрирует («маргинализирует») значения скрытых переменных состояния, поэтому ее можно вычислить, используя только наблюдаемый сигнал. Предельное правдоподобие может быть полезно для оценки различных вариантов выбора параметров или для сравнения фильтра Калмана с другими моделями с использованием сравнения байесовских моделей .
Несложно вычислить маргинальное правдоподобие как побочный эффект вычисления рекурсивной фильтрации. По правилу цепочки правдоподобие можно разложить на множители как произведение вероятности каждого наблюдения с учетом предыдущих наблюдений,
,
и поскольку фильтр Калмана описывает марковский процесс, вся соответствующая информация из предыдущих наблюдений содержится в оценке текущего состояния. Таким образом, предельное правдоподобие определяется как
т.е. произведение гауссовых плотностей, каждая из которых соответствует плотности одного наблюдения z k при текущем распределении фильтрации . Это можно легко вычислить как простое рекурсивное обновление; однако, чтобы избежать численного подзаряда , в практической реализации обычно желательно вычислить вместо этого логарифм маргинального правдоподобия . Приняв соглашение , это можно сделать с помощью правила рекурсивного обновления
где — размерность вектора измерения. [54]
Важным приложением, где используется такая (логарифмическая) вероятность наблюдений (при заданных параметрах фильтра), является отслеживание нескольких целей. Например, рассмотрим сценарий отслеживания объектов, где поток наблюдений является входными данными, однако неизвестно, сколько объектов находится в сцене (или количество объектов известно, но больше одного). Для такого сценария может быть неизвестно априори, какие наблюдения/измерения были сгенерированы каким объектом. Трекер множественных гипотез (MHT) обычно формирует различные гипотезы ассоциации треков, где каждая гипотеза может рассматриваться как фильтр Калмана (для линейного гауссовского случая) с определенным набором параметров, связанных с предполагаемым объектом. Таким образом, важно вычислить вероятность наблюдений для различных рассматриваемых гипотез, чтобы можно было найти наиболее вероятную.
Фильтр информации
В случаях, когда размерность вектора наблюдения y больше размерности вектора пространства состояний x , информационный фильтр может избежать инверсии большей матрицы в расчете коэффициента усиления Калмана ценой инверсии меньшей матрицы на этапе прогнозирования, тем самым экономя время вычислений. Кроме того, информационный фильтр допускает инициализацию системной информации в соответствии с , что было бы невозможно для обычного фильтра Калмана. [55] В информационном фильтре или обратном ковариационном фильтре предполагаемая ковариация и предполагаемое состояние заменяются информационной матрицей и информационным вектором соответственно. Они определяются как:
Аналогично предсказанная ковариация и состояние имеют эквивалентные информационные формы, определяемые как:
и ковариация измерений и вектор измерений, которые определяются как:
Обновление информации теперь становится незначительной суммой. [56]
Главное преимущество информационного фильтра заключается в том, что N измерений можно отфильтровать на каждом временном шаге, просто суммируя их информационные матрицы и векторы.
Для прогнозирования информационного фильтра информационную матрицу и вектор можно преобразовать обратно в их эквиваленты в пространстве состояний, или же можно использовать прогнозирование в информационном пространстве. [56]
Сглаживание с фиксированной задержкой
Оптимальный сглаживатель с фиксированным запаздыванием обеспечивает оптимальную оценку для заданного фиксированного запаздывания с использованием измерений от до . [57] Его можно вывести с использованием предыдущей теории через расширенное состояние, а основное уравнение фильтра выглядит следующим образом:
где:
оценивается с помощью стандартного фильтра Калмана;
является инновацией, произведенной с учетом оценки стандартного фильтра Калмана;
различные с являются новыми переменными; т. е. они не появляются в стандартном фильтре Калмана;
Прирост рассчитывается по следующей схеме:
и
где и — ковариация ошибки прогнозирования и коэффициенты усиления стандартного фильтра Калмана (т.е. ).
Если ковариация ошибки оценки определена так, что
то мы имеем, что улучшение оценки определяется по формуле:
Сглаживатели с фиксированным интервалом
Оптимальный сглаживатель с фиксированным интервалом обеспечивает оптимальную оценку ( ) с использованием измерений от фиксированного интервала до . Это также называется «сглаживанием Калмана». Существует несколько широко используемых алгоритмов сглаживания.
Раух-Тунг-Штрибель
Сглаживатель Рауха-Тунга-Штрибеля (RTS) представляет собой эффективный двухпроходный алгоритм для сглаживания с фиксированным интервалом. [58]
Прямой проход такой же, как и обычный алгоритм фильтра Калмана. Эти отфильтрованные априорные и апостериорные оценки состояния и ковариации сохраняются для использования в обратном проходе (для ретроспекции ).
В обратном проходе мы вычисляем сглаженные оценки состояния и ковариации . Мы начинаем с последнего временного шага и движемся назад во времени, используя следующие рекурсивные уравнения:
где
является апостериорной оценкой состояния временного шага и является априорной оценкой состояния временного шага . Те же обозначения применяются к ковариации.
Модифицированный сглаживатель Брайсона-Фрейзера
Альтернативой алгоритму RTS является модифицированный сглаживатель с фиксированным интервалом Брайсона–Фрейзера (MBF), разработанный Бирманом. [47] Он также использует обратный проход, который обрабатывает данные, сохраненные из прямого прохода фильтра Калмана. Уравнения для обратного прохода включают рекурсивное вычисление данных, которые используются в каждый момент наблюдения для вычисления сглаженного состояния и ковариации.
Рекурсивные уравнения:
где — остаточная ковариация и . Сглаженное состояние и ковариация затем могут быть найдены путем подстановки в уравнения
или
Важным преимуществом МБФ является то, что он не требует нахождения обратной матрицы ковариации.
Сглаживатель с минимальной дисперсией
Сглаживатель с минимальной дисперсией может достичь наилучшей возможной производительности ошибок при условии, что модели линейны, их параметры и статистика шума известны точно. [59] Этот сглаживатель является изменяющимся во времени обобщением пространства состояний оптимального непричинного фильтра Винера .
Более гладкие вычисления выполняются в два прохода. Прямые вычисления включают предиктор на один шаг вперед и задаются как
Вышеуказанная система известна как обратный фактор Винера-Хопфа. Обратная рекурсия является сопряженной к вышеприведенной прямой системе. Результат обратного прохода может быть вычислен путем применения прямых уравнений к обращенному во времени и обращенному во времени результату. В случае оценки выходных данных сглаженная оценка задается как
Взяв причинную часть этого сглаживания с минимальной дисперсией, получаем
что идентично фильтру Калмана с минимальной дисперсией. Приведенные выше решения минимизируют дисперсию ошибки оценки выходных данных. Обратите внимание, что вывод сглаживателя Рауха–Тунга–Штрибеля предполагает, что базовые распределения являются гауссовыми, тогда как решения с минимальной дисперсией таковыми не являются. Оптимальные сглаживатели для оценки состояния и оценки входных данных могут быть построены аналогичным образом.
Непрерывная версия вышеприведенного сглаживателя описана в [60] [61] .
Алгоритмы максимизации ожиданий могут быть использованы для вычисления приблизительных оценок максимального правдоподобия неизвестных параметров пространства состояний в фильтрах с минимальной дисперсией и сглаживателях. Часто неопределенности остаются в пределах допущений проблемы. Сглаживатель, который учитывает неопределенности, может быть разработан путем добавления положительно определенного члена к уравнению Риккати. [62]
В случаях, когда модели нелинейны, пошаговая линеаризация может осуществляться в рамках фильтра с минимальной дисперсией и более сглаженных рекурсий ( расширенная фильтрация Калмана ).
Фильтры Калмана с частотным взвешиванием
Пионерские исследования восприятия звуков на разных частотах были проведены Флетчером и Мансоном в 1930-х годах. Их работа привела к стандартному способу взвешивания измеренных уровней звука в исследованиях промышленного шума и потери слуха. Частотные взвешивания с тех пор использовались в конструкциях фильтров и контроллеров для управления производительностью в интересующих диапазонах.
Обычно функция формирования частоты используется для взвешивания средней мощности спектральной плотности ошибки в указанной полосе частот. Пусть обозначает ошибку оценки выходного сигнала, демонстрируемую обычным фильтром Калмана. Также пусть обозначает причинно-следственную функцию взвешивания частоты. Оптимальное решение, которое минимизирует дисперсию, возникает путем простого построения .
Конструкция остается открытым вопросом. Один из способов действия — определить систему, которая генерирует ошибку оценки и установку, равную обратной этой системе. [63] Эту процедуру можно повторять для получения улучшения среднеквадратической ошибки за счет увеличения порядка фильтра. Тот же метод можно применять к сглаживателям.
Нелинейные фильтры
Базовый фильтр Калмана ограничен линейным предположением. Более сложные системы, однако, могут быть нелинейными . Нелинейность может быть связана либо с моделью процесса, либо с моделью наблюдения, либо с обеими.
Наиболее распространенными вариантами фильтров Калмана для нелинейных систем являются Extended Kalman Filter и Unscented Kalman filter. Пригодность того или иного фильтра зависит от индексов нелинейности процесса и модели наблюдения. [64]
Расширенный фильтр Калмана
В расширенном фильтре Калмана (EKF) модели перехода состояния и наблюдения не обязательно должны быть линейными функциями состояния, но могут быть нелинейными функциями. Эти функции имеют дифференцируемый тип.
Функция f может быть использована для вычисления предсказанного состояния из предыдущей оценки, и аналогично функция h может быть использована для вычисления предсказанного измерения из предсказанного состояния. Однако f и h не могут быть применены к ковариации напрямую. Вместо этого вычисляется матрица частных производных ( якобиан ).
На каждом временном шаге якобиан оценивается с текущими предсказанными состояниями. Эти матрицы могут использоваться в уравнениях фильтра Калмана. Этот процесс по сути линеаризует нелинейную функцию вокруг текущей оценки.
Фильтр Кальмана без запаха
Когда модели перехода состояния и наблюдения, то есть функции прогнозирования и обновления , являются сильно нелинейными, расширенный фильтр Калмана может давать особенно плохую производительность. [65] [66] Это происходит потому, что ковариация распространяется через линеаризацию базовой нелинейной модели. Неотфильтрованный фильтр Калмана (UKF) [65] использует детерминированный метод выборки, известный как неотфильтрованное преобразование (UT), для выбора минимального набора точек выборки (называемых точками сигма) вокруг среднего значения. Затем точки сигма распространяются через нелинейные функции, из которых затем формируются новая оценка среднего значения и ковариации. Результирующий фильтр зависит от того, как вычисляются преобразованные статистики UT и какой набор точек сигма используется. Следует отметить, что всегда возможно построить новые UKF последовательным образом. [67] Для некоторых систем результирующий UKF более точно оценивает истинное среднее значение и ковариацию. [68] Это можно проверить с помощью выборки Монте-Карло или разложения в ряд Тейлора апостериорной статистики. Кроме того, этот метод устраняет необходимость явного вычисления якобианов, что для сложных функций может быть трудной задачей само по себе (то есть требовать сложных производных, если делать это аналитически, или быть вычислительно затратным, если делать это численно), если не невозможным (если эти функции не дифференцируемы).
Сигма-точки
Для случайного вектора сигма-точками являются любые наборы векторов
приписывается
веса первого порядка, которые удовлетворяют
для всех :
веса второго порядка , которые удовлетворяют
для всех пар .
Простой выбор сигма-точек и весов для алгоритма UKF:
где — средняя оценка . Вектор — это j -й столбец , где . Обычно получается с помощью разложения Холецкого . С некоторой осторожностью уравнения фильтра можно выразить таким образом, что оценивается напрямую без промежуточных вычислений . Это называется квадратно-корневым неотдушенным фильтром Калмана . [69]
Вес среднего значения может быть выбран произвольно.
Другая популярная параметризация (обобщающая вышеизложенное) —
и контролировать разброс точек сигмы. связано с распределением . Обратите внимание, что это сверхпараметризация в том смысле, что любой из , и может быть выбран произвольно.
Соответствующие значения зависят от решаемой задачи, но типичная рекомендация — , и . [70] Если истинное распределение является гауссовым, то является оптимальным. [71]
Предсказывать
Как и в случае с EKF, прогноз UKF можно использовать независимо от обновления UKF, в сочетании с линейным (или действительно EKF) обновлением, или наоборот.
При наличии оценок среднего значения и ковариации, и , получаем точки сигма, как описано в разделе выше. Точки сигма распространяются через функцию перехода f .
.
Полученные сигма-точки взвешиваются для получения прогнозируемого среднего значения и ковариации.
где — веса первого порядка исходных точек сигмы, а — веса второго порядка. Матрица — это ковариация шума перехода, .
Обновлять
Учитывая оценки прогноза и , вычисляется новый набор точек сигма с соответствующими весами первого порядка и весами второго порядка . [72] Эти точки сигма преобразуются с помощью функции измерения .
.
Затем вычисляются эмпирическое среднее значение и ковариация преобразованных точек.
где — ковариационная матрица шума наблюдения, . Кроме того, необходима также матрица перекрестной ковариации
Коэффициент усиления Калмана равен
Обновленные оценки среднего значения и ковариации:
Дискриминационный фильтр Калмана
Когда модель наблюдения является сильно нелинейной и/или негауссовой, может оказаться полезным применить правило Байеса и оценку
где для нелинейных функций . Это заменяет генеративную спецификацию стандартного фильтра Калмана на дискриминативную модель для скрытых состояний, заданных наблюдениями.
тогда, учитывая новое наблюдение , следует, что [73]
где
Обратите внимание, что это приближение должно быть положительно-определенным; в случае, если это не так,
Вместо этого используется. Такой подход оказывается особенно полезным, когда размерность наблюдений намного больше, чем размерность скрытых состояний [74], и может использоваться для построения фильтров, которые особенно устойчивы к нестационарностям в модели наблюдения. [75]
Адаптивный фильтр Калмана
Адаптивные фильтры Калмана позволяют адаптироваться к динамике процесса, которая не моделируется в модели процесса , что происходит, например, в контексте маневрирующей цели, когда для отслеживания используется фильтр Калмана с постоянной скоростью (пониженного порядка). [76]
Фильтр Калмана-Бьюси
Фильтрация Калмана–Бьюси (названная в честь Ричарда Сноудена Бьюси) — это непрерывная во времени версия фильтрации Калмана. [77] [78]
Он основан на модели пространства состояний.
где и представляют собой интенсивности двух членов белого шума и , соответственно.
Фильтр состоит из двух дифференциальных уравнений, одного для оценки состояния и одного для ковариации:
где коэффициент усиления Калмана определяется как
Обратите внимание, что в этом выражении для ковариации шума наблюдения одновременно представлена ковариация ошибки прогнозирования (или инновации ) ; эти ковариации равны только в случае непрерывного времени. [79]
Различие между этапами прогнозирования и обновления дискретной фильтрации Калмана не существует в непрерывном времени.
Второе дифференциальное уравнение для ковариации является примером уравнения Риккати . Нелинейные обобщения фильтров Калмана–Бьюси включают непрерывный во времени расширенный фильтр Калмана.
Гибридный фильтр Калмана
Большинство физических систем представлены в виде непрерывных временных моделей, в то время как дискретные временные измерения часто производятся для оценки состояния с помощью цифрового процессора. Таким образом, модель системы и модель измерения задаются как
где
.
Инициализировать
Предсказывать
Уравнения прогнозирования выводятся из уравнений непрерывного фильтра Калмана без обновления из измерений, т. е . Прогнозируемое состояние и ковариация вычисляются соответственно путем решения набора дифференциальных уравнений с начальным значением, равным оценке на предыдущем шаге.
Традиционный фильтр Калмана также использовался для восстановления разреженных, возможно динамических, сигналов из зашумленных наблюдений. Недавние работы [80] [81] [82] используют понятия из теории сжатого зондирования /выборки, такие как свойство ограниченной изометрии и связанные с ним вероятностные аргументы восстановления, для последовательной оценки разреженного состояния в изначально низкоразмерных системах.
Связь с гауссовыми процессами
Поскольку линейные гауссовские модели пространства состояний приводят к гауссовым процессам, фильтры Калмана можно рассматривать как последовательные решатели для регрессии гауссовых процессов . [83]
^ Стратонович, Р. Л. (1959). Оптимальные нелинейные системы, обеспечивающие разделение сигнала с постоянными параметрами от шума . Радиофизика, 2:6, стр. 892–901.
^ Стратонович, Р. Л. (1959). К теории оптимальной нелинейной фильтрации случайных функций . Теория вероятностей и ее приложения, 4, стр. 223–225.
^ Стратонович, Р. Л. (1960) Применение теории марковских процессов к оптимальной фильтрации . Радиотехника и электронная физика, 5:11, стр. 1–19.
^ Стратонович, Р. Л. (1960). Условные марковские процессы . Теория вероятностей и ее приложения, 5, стр. 156–178.
^ Степанов, О.А. (15 мая 2011 г.). «Фильтрация Калмана: прошлое и настоящее. Взгляд из России. (К 80-летию Рудольфа Эмиля Калмана)». Гироскопия и навигация . 2 (2): 105. Bibcode : 2011GyNav...2...99S. doi : 10.1134/S2075108711020076. S2CID 53120402.
^ Фаузи, Хилман; Батул, Узма (15 июля 2019 г.). «Проект трехстержневой фермы с использованием оптимизатора фильтра Калмана, моделирующего одно решение». Мекатроника . 1 (2): 98–102. дои : 10.15282/mekatronika.v1i2.4991 . S2CID 222355496.
^ Пол Зарчан; Говард Мусофф (2000). Основы фильтрации Калмана: Практический подход. Американский институт аэронавтики и астронавтики, Incorporated. ISBN978-1-56347-455-2.
^ Лора-Миллан, Хулио С.; Идальго, Андрес Ф.; Рокон, Эдуардо (2021). «Расширенный фильтр Калмана на основе IMU для оценки сагиттальной кинематики нижних конечностей походки для управления носимыми роботизированными устройствами». IEEE Access . 9 : 144540–144554. Bibcode : 2021IEEEA...9n4540L. doi : 10.1109/ACCESS.2021.3122160 . hdl : 10261/254265 . ISSN 2169-3536. S2CID 239938971.
^ Калита, Диана; Ляхов, Павел (декабрь 2022 г.). «Обнаружение движущихся объектов на основе комбинации фильтра Калмана и медианной фильтрации». Большие данные и когнитивные вычисления . 6 (4): 142. doi : 10.3390/bdcc6040142 . ISSN 2504-2289.
^ Ghysels, Eric; Marcellino, Massimiliano (2018). Прикладное экономическое прогнозирование с использованием методов временных рядов . Нью-Йорк, штат Нью-Йорк: Oxford University Press. стр. 419. ISBN978-0-19-062201-5. OCLC 1010658777.
^ Аззам, М. Абдулла; Батул, Узма; Фаузи, Хилман (15 июля 2019 г.). «Проектирование винтовой пружины с использованием оптимизатора фильтра Калмана, моделирующего одно решение». Мекатроника . 1 (2): 93–97. дои : 10.15282/mekatronika.v1i2.4990 . S2CID 221855079.
^ Калман, Р. Э. (1960). «Новый подход к проблемам линейной фильтрации и прогнозирования». Журнал базовой инженерии . 82 : 35–45. doi : 10.1115/1.3662552. S2CID 1242324.
^ Хамферис, Джеффри (2012). «Свежий взгляд на фильтр Калмана». Обзор SIAM . 54 (4): 801–823. doi :10.1137/100799666.
^ Ульманн, Джеффри; Жюлье, Саймон (2022). «Гауссовость и фильтр Калмана: простая, но сложная связь» (PDF) . Journal de Ciencia e Ingeniería . 14 (1): 21–26. doi :10.46571/JCI.2022.1.2. S2CID 251143915.См. Ульманна и Жюлье, где можно найти около дюжины примеров этого заблуждения в литературе.
^ Ли, Ванъянь; Ван, Цзыдун; Вэй, Гуолян; Ма, Лифенг; Ху, Цзюнь; Дин, Дэруй (2015). «Обзор мультисенсорного слияния и консенсусной фильтрации для сенсорных сетей». Дискретная динамика в природе и обществе . 2015 : 1–12. doi : 10.1155/2015/683701 . ISSN 1026-0226.
^ Ли, Ванъянь; Ван, Цзыдун; Хо, Дэниел WC; Вэй, Гуолян (2019). «Об ограниченности ковариаций ошибок для задач фильтрации консенсуса Калмана». IEEE Transactions on Automatic Control . 65 (6): 2654–2661. doi :10.1109/TAC.2019.2942826. ISSN 0018-9286. S2CID 204196474.
^ Lauritzen, S. L. (декабрь 1981 г.). «Анализ временных рядов в 1880 г. Обсуждение вкладов Т. Н. Тиле». International Statistical Review . 49 (3): 319–331. doi :10.2307/1402616. JSTOR 1402616. Он выводит рекурсивную процедуру для оценки компонента регрессии и предсказания броуновского движения. Процедура теперь известна как фильтрация Калмана.
^ Лауритцен, С. Л. (2002). Тиле: пионер в статистике. Нью-Йорк: Oxford University Press . стр. 41. ISBN978-0-19-850972-1. Он решает задачу оценки коэффициентов регрессии и прогнозирования значений броуновского движения методом наименьших квадратов и дает элегантную рекурсивную процедуру для проведения вычислений. Процедура в настоящее время известна как фильтрация Калмана .
^ Grewal, Mohinder S.; Andrews, Angus P. (2015). "1". Фильтрация Калмана: теория и практика с использованием MATLAB (4-е изд.). Хобокен, Нью-Джерси: Wiley. стр. 16–18. ISBN978-1-118-98498-7.
^ "Mohinder S. Grewal and Angus P. Andrews" (PDF) . Архивировано из оригинала (PDF) 2016-03-07 . Получено 2015-04-23 .
^ Джеррольд Х. Саддат; Роберт Х. Кидд; Арнольд Г. Рейнхольд (август 1967 г.). Линеаризованный анализ ошибок бортовых первичных навигационных систем для лунного модуля «Аполлон», NASA TN D-4027 (PDF) . Национальное управление по аэронавтике и исследованию космического пространства.{{cite book}}: |work=проигнорировано ( помощь )
^ Гейлор, Дэвид; Лайтси, Э. Гленн (2003). «Проект фильтра Калмана GPS/INS для космических аппаратов, работающих вблизи Международной космической станции». Конференция и выставка AIAA по навигационному управлению и управлению . doi :10.2514/6.2003-5445. ISBN978-1-62410-090-1.
^ Ингвар Стрид; Карл Валентин (апрель 2009 г.). «Блочная фильтрация Калмана для крупномасштабных моделей DSGE». Computational Economics . 33 (3): 277–304. CiteSeerX 10.1.1.232.3790 . doi :10.1007/s10614-008-9160-4. hdl :10419/81929. S2CID 3042206.
^ Мартин Мёллер Андреасен (2008). «Нелинейные модели DSGE, центральный разностный фильтр Калмана и фильтр частиц со смещением среднего».
^ Гамильтон, Дж. (1994), Анализ временных рядов , Princeton University Press. Глава 13, «Фильтр Калмана»
^ Ishihara, JY; Terra, MH; Campos, JCT (2006). «Надежный фильтр Калмана для дескрипторных систем». IEEE Transactions on Automatic Control . 51 (8): 1354. doi :10.1109/TAC.2006.878741. S2CID 12741796.
^ Terra, Marco H.; Cerri, Joao P.; Ishihara, Joao Y. (2014). «Оптимальный надежный линейный квадратичный регулятор для систем, подверженных неопределенностям». IEEE Transactions on Automatic Control . 59 (9): 2586–2591. doi :10.1109/TAC.2014.2309282. S2CID 8810105.
^ Келли, Алонзо (1994). «Формулировка навигационного фильтра Калмана для автономных транспортных средств в трехмерном пространстве состояний» (PDF) . Документ DTIC : 13. Архивировано (PDF) из оригинала 30 декабря 2014 г.Исправленная версия 2006 г. Архивировано 10 января 2017 г. на Wayback Machine
^ Рид, Ян; Терм, Хилари. «Оценка II» (PDF) . www.robots.ox.ac.uk . Оксфордский университет . Получено 6 августа 2014 г. .
^ Раджамани, Мурали (октябрь 2007 г.). Методы улучшения оценки состояния на основе данных в предсказательном управлении моделями (PDF) (диссертация). Университет Висконсина–Мэдисона. Архивировано из оригинала (PDF) 2016-03-04 . Получено 2011-04-04 .
^ Раджамани, Мурали Р.; Роулингс, Джеймс Б. (2009). «Оценка структуры возмущения по данным с использованием полуопределенного программирования и оптимального взвешивания». Automatica . 45 (1): 142–148. doi :10.1016/j.automatica.2008.05.032. S2CID 5699674.
^ Bania, P.; Baranowski, J. (12 декабря 2016 г.). Фильтр Калмана поля и его аппроксимация. IEEE 55-я конференция по принятию решений и управлению (CDC). Лас-Вегас, Невада, США: IEEE. стр. 2875–2880.
^ ab Гринберг, Идо; Яннай, Нетанел; Маннор, Ши (2023-12-15). «Оптимизация или архитектура: как взломать фильтрацию Калмана». Достижения в области нейронных систем обработки информации . 36 : 50482–50505. arXiv : 2310.00675 .
^ Бар-Шалом, Яаков; Ли, С.-Ронг; Кирубараджан, Тиагалингам (2001). Оценка с приложениями к отслеживанию и навигации . Нью-Йорк, США: John Wiley & Sons, Inc. стр. 319 и далее. doi :10.1002/0471221279. ISBN0-471-41655-X.
^ Три теста оптимальности с числовыми примерами описаны в Peter, Matisko (2012). "Тесты оптимальности и адаптивный фильтр Калмана". 16th IFAC Symposium on System Identification . Vol. 45. pp. 1523–1528. doi :10.3182/20120711-3-BE-2027.00011. ISBN 978-3-902823-06-9. {{cite book}}: |journal=проигнорировано ( помощь )
^ Сполл, Джеймс С. (1995). «Неравенство Канторовича для анализа ошибок фильтра Калмана с неизвестными распределениями шума». Automatica . 31 (10): 1513–1517. doi :10.1016/0005-1098(95)00069-9.
^ Maryak, JL; Spall, JC; Heydon, BD (2004). «Использование фильтра Калмана для вывода в моделях пространства состояний с неизвестными распределениями шума». IEEE Transactions on Automatic Control . 49 : 87–90. doi :10.1109/TAC.2003.821415. S2CID 21143516.
^ ab Walrand, Jean; Dimakis, Antonis (август 2006 г.). Случайные процессы в системах — заметки лекций (PDF) . стр. 69–70. Архивировано из оригинала (PDF) 2019-05-07 . Получено 2019-05-07 .
^ Сант, Дональд Т. "Обобщенные наименьшие квадраты, применяемые к моделям с изменяющимися во времени параметрами". Annals of Economic and Social Measurement, том 6, номер 3. NBER, 1977. 301-314. Онлайн PDF
^ Андерсон, Брайан DO; Мур, Джон Б. (1979). Оптимальная фильтрация . Нью-Йорк: Prentice Hall . С. 129–133. ISBN978-0-13-638122-8.
^ Цзиньян Лу. «Атака с использованием ложной информации при оценке динамического состояния в многосенсорных системах», Fusion 2014
^ ab Thornton, Catherine L. (15 октября 1976 г.). Треугольные ковариационные факторизации для фильтрации Калмана (PhD). NASA . Технический меморандум NASA 33-798.
^ abc Бирман, Г. Дж. (1977). "Методы факторизации для дискретной последовательной оценки". Методы факторизации для дискретной последовательной оценки . Bibcode :1977fmds.book.....B.
^ ab Бар-Шалом, Яаков; Ли, X. Ронг; Кирубараджан, Тиагалингам (июль 2001 г.). Оценка с приложениями к отслеживанию и навигации . Нью-Йорк: John Wiley & Sons . стр. 308–317. ISBN978-0-471-41655-5.
^ Голуб, Джин Х.; Ван Лоан, Чарльз Ф. (1996). Матричные вычисления . Исследования Джонса Хопкинса по математическим наукам (третье изд.). Балтимор, Мэриленд: Университет Джонса Хопкинса . стр. 139. ISBN978-0-8018-5414-9.
^ Särkkä, S.; Ángel F. García-Fernández (2021). «Временное распараллеливание байесовских сглаживателей». IEEE Transactions on Automatic Control . 66 (1): 299–306. arXiv : 1905.13002 . doi : 10.1109/TAC.2020.2976316. S2CID 213695560.
^ "Parallel Prefix Sum (Scan) with CUDA". developer.nvidia.com/ . Получено 2020-02-21 . Операция сканирования представляет собой простой и мощный параллельный примитив с широким спектром приложений. В этой главе мы объяснили эффективную реализацию сканирования с использованием CUDA, которая достигает значительного ускорения по сравнению с последовательной реализацией на быстром ЦП и по сравнению с параллельной реализацией в OpenGL на том же ГП. В связи с ростом мощности потребительских параллельных процессоров, таких как ГП, мы ожидаем, что алгоритмы параллельных данных, такие как сканирование, будут становиться все более важными в ближайшие годы.
^ Masreliez, C. Johan; Martin, RD (1977). «Надежная байесовская оценка для линейной модели и робастификация фильтра Калмана». IEEE Transactions on Automatic Control . 22 (3): 361–371. doi :10.1109/TAC.1977.1101538.
^ Люткеполь, Хельмут (1991). Введение в анализ множественных временных рядов . Гейдельберг: Springer-Verlag Berlin. С. 435.
^ ab Gabriel T. Terejanu (2012-08-04). "Учебник по дискретному фильтру Калмана" (PDF) . Архивировано из оригинала (PDF) 2020-08-17 . Получено 2016-04-13 .
^ Андерсон, Брайан DO; Мур, Джон Б. (1979). Оптимальная фильтрация . Энглвуд Клиффс, Нью-Джерси: Prentice Hall, Inc. стр. 176–190. ISBN978-0-13-638122-8.
^ Раух, Х. Э.; Тунг, Ф.; Штрибель, КТ (август 1965 г.). «Оценки максимального правдоподобия линейных динамических систем». Журнал AIAA . 3 (8): 1445–1450. Bibcode : 1965AIAAJ...3.1445R. doi : 10.2514/3.3166.
^ Эйнике, GA (март 2006 г.). «Оптимальные и надежные некаузальные формулировки фильтров». Труды IEEE по обработке сигналов . 54 (3): 1069–1077. Bibcode : 2006ITSP...54.1069E. doi : 10.1109/TSP.2005.863042. S2CID 15376718.
^ Эйнике, GA (апрель 2007 г.). «Асимптотическая оптимальность сглаживателя с минимальной дисперсией и фиксированным интервалом». Труды IEEE по обработке сигналов . 55 (4): 1543–1547. Bibcode : 2007ITSP...55.1543E. doi : 10.1109/TSP.2006.889402. S2CID 16218530.
^ Эйнике, GA; Ралстон, JC; Харгрейв, CO; Рейд, DC; Хейнсворт, DW (декабрь 2008 г.). «Автоматизация добычи угля длинными забоями. Применение сглаживания с минимальной дисперсией». Журнал IEEE Control Systems . 28 (6): 28–37. doi :10.1109/MCS.2008.929281. S2CID 36072082.
^ Эйнике, GA (декабрь 2009 г.). «Асимптотическая оптимальность сглаживателя с минимальной дисперсией и фиксированным интервалом». Труды IEEE по автоматическому управлению . 54 (12): 2904–2908. Bibcode : 2007ITSP...55.1543E. doi : 10.1109/TSP.2006.889402. S2CID 16218530.
^ Эйнике, GA (декабрь 2014 г.). «Итеративная частотно-взвешенная фильтрация и процедуры сглаживания». IEEE Signal Processing Letters . 21 (12): 1467–1470. Bibcode : 2014ISPL...21.1467E. doi : 10.1109/LSP.2014.2341641. S2CID 13569109.
^ Бисвас, Санат К.; Цяо, Ли; Демпстер, Эндрю Г. (2020-12-01). «Количественный подход к прогнозированию пригодности использования неароматизированного фильтра Калмана в нелинейном приложении». Automatica . 122 : 109241. doi :10.1016/j.automatica.2020.109241. ISSN 0005-1098. S2CID 225028760.
^ ab Julier, Simon J.; Uhlmann, Jeffrey K. (2004). «Неотфильтрованная фильтрация и нелинейная оценка». Труды IEEE . 92 (3): 401–422. doi :10.1109/JPROC.2003.823141. S2CID 9614092.
^ Julier, Simon J.; Uhlmann, Jeffrey K. (1997). "Новое расширение фильтра Калмана для нелинейных систем" (PDF) . В Kadar, Ivan (ред.). Signal Processing, Sensor Fusion, and Target Recognition VI . Proceedings of SPIE. Vol. 3. pp. 182–193. Bibcode :1997SPIE.3068..182J. CiteSeerX 10.1.1.5.2891 . doi :10.1117/12.280797. S2CID 7937456 . Получено 2008-05-03 .
^ Менегаз, HMT; Исихара, JY; Борхес, Джорджия; Варгас, АН (октябрь 2015 г.). «Систематизация теории фильтра Калмана без запаха». Транзакции IEEE при автоматическом управлении . 60 (10): 2583–2598. дои : 10.1109/tac.2015.2404511. hdl : 20.500.11824/251 . ISSN 0018-9286. S2CID 12606055.
^ Густафссон, Фредрик; Хендебю, Густаф (2012). «Некоторые связи между расширенными и неотфильтрованными фильтрами Калмана». Труды IEEE по обработке сигналов . 60 (2): 545–555. Bibcode : 2012ITSP...60..545G. doi : 10.1109/tsp.2011.2172431. S2CID 17876531.
^ Ван дер Мерве, Р.; Ван, Э.А. (2001). «Фильтр Калмана с квадратным корнем и без запаха для оценки состояния и параметров». Международная конференция IEEE по акустике, речи и обработке сигналов 2001 г. Труды (Кат. № 01CH37221) . Том 6. стр. 3461–3464. doi :10.1109/ICASSP.2001.940586. ISBN0-7803-7041-4. S2CID 7290857.
^ Битцер, С. (2016). «UKF разоблачен: как это работает, когда это работает и когда лучше брать пробу». doi :10.5281/zenodo.44386.{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ Ван, EA; Ван дер Мерве, Р. (2000). "Незапахнутый фильтр Калмана для нелинейной оценки" (PDF) . Труды Симпозиума IEEE 2000 по адаптивным системам обработки сигналов, связи и управления (Cat. No.00EX373) . стр. 153. CiteSeerX 10.1.1.361.9373 . doi :10.1109/ASSPCC.2000.882463. ISBN978-0-7803-5800-3. S2CID 13992571. Архивировано из оригинала (PDF) 2012-03-03 . Получено 2010-01-31 .
^ Саркка, Симо (сентябрь 2007 г.). «О неотфильтрованной фильтрации Калмана для оценки состояния непрерывных нелинейных систем». Труды IEEE по автоматическому управлению . 52 (9): 1631–1641. doi :10.1109/TAC.2007.904453.
^ ab Burkhart, Michael C.; Brandman, David M.; Franco, Brian; Hochberg, Leigh; Harrison, Matthew T. (2020). «Дискриминативный фильтр Калмана для байесовской фильтрации с нелинейными и негауссовыми моделями наблюдения». Neural Computation . 32 (5): 969–1017. doi :10.1162/neco_a_01275. PMC 8259355 . PMID 32187000. S2CID 212748230 . Получено 26 марта 2021 г. .
^ ab Burkhart, Michael C. (2019). Дискриминантный подход к байесовской фильтрации с приложениями к декодированию нейронов человека (диссертация). Провиденс, Род-Айленд, США: Университет Брауна. doi : 10.26300/nhfp-xv22.
^ ab Brandman, David M.; Burkhart, Michael C.; Kelemen, Jessica; Franco, Brian; Harrison, Matthew T.; Hochberg, Leigh R. (2018). «Надежное управление курсором с обратной связью у человека с тетраплегией с использованием регрессии гауссовского процесса». Neural Computation . 30 (11): 2986–3008. doi :10.1162/neco_a_01129. PMC 6685768 . PMID 30216140 . Получено 26 марта 2021 г. .
^ Бар-Шалом, Яаков; Ли, С.-Ронг; Кирубараджан, Тиагалингам (2001). Оценка с приложениями к отслеживанию и навигации . Нью-Йорк, США: John Wiley & Sons, Inc. стр. 421 и далее. doi :10.1002/0471221279. ISBN0-471-41655-X.
^ Бьюси, Р. С. и Джозеф, П. Д., Фильтрация для стохастических процессов с приложениями к руководству, John Wiley & Sons, 1968; 2-е издание, AMS Chelsea Publ., 2005. ISBN 0-8218-3782-6
^ Язвински, Эндрю Х., Стохастические процессы и теория фильтрации, Academic Press, Нью-Йорк, 1970. ISBN 0-12-381550-9
^ Kailath, T. (1968). «Инновационный подход к оценке наименьших квадратов — Часть I: Линейная фильтрация в аддитивном белом шуме». IEEE Transactions on Automatic Control . 13 (6): 646–655. doi :10.1109/TAC.1968.1099025.
^ Васвани, Намрата (2008). «Сжатое зондирование с фильтрацией Калмана». 2008 15-я Международная конференция IEEE по обработке изображений . С. 893–896. arXiv : 0804.0819 . doi :10.1109/ICIP.2008.4711899. ISBN978-1-4244-1765-0. S2CID 9282476.
^ Карми, Авиши; Гурфил, Пини; Каневский, Дмитрий (2010). «Методы восстановления разреженных сигналов с использованием фильтрации Калмана со встроенными нормами псевдоизмерений и квазинормами». Труды IEEE по обработке сигналов . 58 (4): 2405–2409. Bibcode : 2010ITSP...58.2405C. doi : 10.1109/TSP.2009.2038959. S2CID 10569233.
^ Сярккя, Симо; Хартикайнен, Йоуни; Свенссон, Леннарт; Сандблом, Фредрик (22 апреля 2015 г.). «О связи между квадратурами гауссовского процесса и методами сигма-точки». arXiv : 1504.05994 [stat.ME].
^ Васеби, Амир; Партовибахш, Марал; Батаи, С. Мохаммад Таги (2007). «Новая комбинированная модель батареи для оценки состояния заряда свинцово-кислотных батарей на основе расширенного фильтра Калмана для гибридных электромобилей». Журнал источников питания . 174 (1): 30–40. Bibcode : 2007JPS...174...30V. doi : 10.1016/j.jpowsour.2007.04.011.
^ Васеби, А.; Батаи, СМТ; Партовибахш, М. (2008). «Прогнозирование состояния заряда свинцово-кислотных аккумуляторов для гибридных электромобилей с помощью расширенного фильтра Калмана». Energy Conversion and Management . 49 (1): 75–82. Bibcode : 2008ECM....49...75V. doi : 10.1016/j.enconman.2007.05.017.
^ Fruhwirth, R. (1987). «Применение фильтрации Калмана для подгонки треков и вершин». Ядерные приборы и методы в исследованиях физики, раздел A. 262 ( 2–3): 444–450. Bibcode : 1987NIMPA.262..444F. doi : 10.1016/0168-9002(87)90887-4.
^ Харви, Эндрю К. (1994). «Применение фильтра Калмана в эконометрике». В Bewley, Truman (ред.). Advances in Econometrics . Нью-Йорк: Cambridge University Press. стр. 285f. ISBN978-0-521-46726-1.
^ Boulfelfel, D.; Rangayyan, RM; Hahn, LJ; Kloiber, R.; Kuduvalli, GR (1994). «Двумерное восстановление изображений однофотонной эмиссионной компьютерной томографии с использованием фильтра Калмана». IEEE Transactions on Medical Imaging . 13 (1): 102–109. doi :10.1109/42.276148. PMID 18218487.
^ Бок, И.; Кроуэлл, Б.; Уэбб, Ф.; Кедар, С.; Клейтон, Р.; Мияхара, Б. (2008). «Объединение высокоскоростных GPS и сейсмических данных: применение в системах раннего оповещения для смягчения последствий геологических опасностей». Тезисы осеннего заседания AGU . 43 : G43B–01. Bibcode : 2008AGUFM.G43B..01B.
^ Wolpert, DM; Miall, RC (1996). «Прямые модели для физиологического управления моторикой». Neural Networks . 9 (8): 1265–1279. doi :10.1016/S0893-6080(96)00035-4. PMID 12662535.
Дальнейшее чтение
Эйнике, GA (2019). Сглаживание, фильтрация и прогнозирование: оценка прошлого, настоящего и будущего (2-е изд.) . Amazon Prime Publishing. ISBN 978-0-6485115-0-2.
Jinya Su; Baibing Li; Wen-Hua Chen (2015). «О существовании, оптимальности и асимптотической устойчивости фильтра Калмана с частично наблюдаемыми входами». Automatica . 53 : 149–154. doi : 10.1016/j.automatica.2014.12.044 .
Гелб, А. (1974). Прикладная оптимальная оценка . MIT Press.
Kalman, RE (1960). "Новый подход к проблемам линейной фильтрации и прогнозирования" (PDF) . Journal of Basic Engineering . 82 (1): 35–45. doi :10.1115/1.3662552. S2CID 1242324. Архивировано из оригинала (PDF) 29-05-2008 . Получено 03-05-2008 .
Калман, Р. Э.; Бьюси, Р. С. (1961). «Новые результаты в линейной фильтрации и теории прогнозирования». Журнал базовой инженерии . 83 : 95–108. CiteSeerX 10.1.1.361.6851 . doi : 10.1115/1.3658902. S2CID 8141345.
Харви, AC (1990). Прогнозирование, структурные модели временных рядов и фильтр Калмана. Cambridge University Press. ISBN 978-0-521-40573-7.
Simon, D. (2006). Optimal State Estimation: Kalman, H Infinity и Nonlinear Approaches. Wiley-Interscience. Архивировано из оригинала 2010-12-30 . Получено 2006-07-05 .
Уорвик, К. (1987). «Оптимальные наблюдатели для моделей ARMA». International Journal of Control . 46 (5): 1493–1503. doi :10.1080/00207178708933989.
Бирман, Г. Дж. (1977). Методы факторизации для дискретной последовательной оценки . Том 128. Минеола, Нью-Йорк: Dover Publications. ISBN 978-0-486-44981-4. {{cite book}}: |journal=проигнорировано ( помощь )
Божич, СМ (1994). Цифровая и калмановская фильтрация . Баттерворт–Хайнеманн.
Хайкин, С. (2002). Теория адаптивного фильтра . Prentice Hall.
Лю, В.; Принсип, Дж. К. и Хейкин, С. (2010). Ядерная адаптивная фильтрация: всеобъемлющее введение . John Wiley.{{cite book}}: CS1 maint: multiple names: authors list (link)
Уэлч, Грег; Бишоп, Гэри (1997). "SCAAT: инкрементальное отслеживание с неполной информацией" (PDF) . SIGGRAPH '97 Труды 24-й ежегодной конференции по компьютерной графике и интерактивным технологиям . ACM Press/Addison-Wesley Publishing Co. стр. 333–344. doi :10.1145/258734.258876. ISBN 978-0-89791-896-1. S2CID 1512754.
Jazwinski, Andrew H. (1970). Стохастические процессы и фильтрация . Математика в науке и технике. Нью-Йорк: Academic Press . стр. 376. ISBN 978-0-12-381550-7.
Мейбек, Питер С. (1979). "Глава 1" (PDF) . Стохастические модели, оценка и управление . Математика в науке и технике. Том 141–1. Нью-Йорк: Academic Press . ISBN 978-0-12-480701-3.
Dunik, J.; Simandl M.; Straka O. (2009). "Методы оценки ковариационных матриц шума состояний и измерений: аспекты и сравнение". 15-й симпозиум IFAC по идентификации систем, 2009. Франция. стр. 372–377. doi :10.3182/20090706-3-FR-2004.00061. ISBN 978-3-902661-47-0.{{cite book}}: CS1 maint: location missing publisher (link)
Chui, Charles K.; Chen, Guanrong (2009). Фильтрация Калмана с приложениями реального времени . Серия Springer по информационным наукам. Т. 17 (4-е изд.). Нью-Йорк: Springer . С. 229. ISBN 978-3-540-87848-3.
Spivey, Ben; Hedengren, JD и Edgar, TF (2010). «Ограниченная нелинейная оценка загрязнения промышленных процессов». Industrial & Engineering Chemistry Research . 49 (17): 7824–7831. doi :10.1021/ie9018116.{{cite journal}}: CS1 maint: multiple names: authors list (link)
Фильтр Калмана в Javascript. Библиотека фильтра Калмана с открытым исходным кодом для node.js и веб-браузера.
Введение в фильтр Калмана. Архивировано 24.02.2021 на Wayback Machine , курс SIGGRAPH 2001, Грег Уэлч и Гэри Бишоп.
Веб-страница фильтра Калмана со множеством ссылок
Фильтр Калмана. Простое объяснение. Пошаговое руководство по фильтру Калмана с уравнениями.
"Фильтры Калмана, используемые в моделях погоды" (PDF) . SIAM News . 36 (8). Октябрь 2003 г. Архивировано из оригинала (PDF) 2011-05-17 . Получено 2007-01-27 .
Haseltine, Eric L.; Rawlings, James B. (2005). «Критическая оценка расширенной фильтрации Калмана и оценки движущегося горизонта». Industrial & Engineering Chemistry Research . 44 (8): 2451. doi :10.1021/ie034308l.
Библиотека подпрограмм оценки Джеральда Дж. Бирмана: Соответствует коду в исследовательской монографии «Методы факторизации для дискретной последовательной оценки», первоначально опубликованной Academic Press в 1977 году. Переиздано Dover.
Matlab Toolbox реализует части библиотеки подпрограмм оценки Джеральда Дж. Бирмана: факторизация UD / UDU' и LD / LDL' с соответствующими обновлениями времени и измерений, составляющими фильтр Калмана.
Matlab Toolbox of Kalman Filtering применяется для одновременной локализации и картирования: транспортное средство движется в 1D, 2D и 3D
Фильтр Калмана в воспроизведении ядерных гильбертовых пространств. Подробное введение.
Код Matlab для оценки модели процентной ставки Кокса–Ингерсолла–Росса с фильтром Калмана. Архивировано 09.02.2014 на Wayback Machine : Соответствует статье «Оценка и тестирование моделей экспоненциально-аффинной временной структуры с помощью фильтра Калмана», опубликованной в Review of Quantitative Finance and Accounting в 1999 году.
Онлайн-демонстрация фильтра Калмана. Демонстрация фильтра Калмана (и других методов усвоения данных) с использованием экспериментов с близнецами.
kalman-filter.com. Взгляд на использование фильтров Калмана в различных областях.
Botella, Guillermo; Martín h., José Antonio; Santos, Matilde; Meyer-Baese, Uwe (2011). «FPGA-Based Multimodal Embedded Sensor System Integrating Low- and Mid-Level Vision» (Мультимодальная встраиваемая сенсорная система на основе ПЛИС, интегрирующая зрение низкого и среднего уровня). Sensors (Датчики ) . 11 (12): 1251–1259. Bibcode (Бибкод ): 2011Senso..11.8164B. doi : 10.3390/s110808164 (ПМК ). PMC 3231703 (ПМИ) . PMID 22164069 (PMI).
Примеры и инструкции по использованию фильтров Калмана с MATLAB Учебное пособие по фильтрации и оценке
Объяснение фильтрации (оценки) за один час, десять минут, одну минуту и одно предложение Ю-Чи Хо
Симо Сярккя (2013). «Байесовская фильтрация и сглаживание». Cambridge University Press. Полный текст доступен на веб-странице автора https://users.aalto.fi/~ssarkka/.