Фильтр Калмана

Поделись знанием:
Перейти к: навигация, поиск

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

Фильтр Калмана широко используется в инженерных и эконометрических приложениях: от радаров и систем технического зрения до оценок параметров макроэкономических моделей[1][2]. Калмановская фильтрация является важной частью теории управления, играет большую роль в создании систем управления. Совместно с линейно-квадратичным регулятором фильтр Калмана позволяет решить задачу линейно-квадратичного гауссовского управления. Фильтр Калмана и линейно-квадратичный регулятор — возможное решение большинства фундаментальных задач в теории управления.

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

Фильтр Калмана предназначен для рекурсивного дооценивания вектора состояния априорно известной динамической системы, то есть для расчёта текущего состояния системы необходимо знать текущее измерение, а также предыдущее состояние самого фильтра. Таким образом, фильтр Калмана, подобно другим рекурсивным фильтрам, реализован во временно́м, а не в частотном представлении, но в отличие от других подобных фильтров, фильтр Калмана оперирует не только оценками состояния, а ещё и оценками неопределенности (плотности распределения) вектора состояния, опираясь на формулу Байеса условной вероятности.

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

Бытует ошибочное мнение, что для правильной работы фильтра Калмана якобы требуется гауссовское распределение входных данных. В исходной работе Калмана результаты о минимуме ковариации фильтра были получены на базе ортогональных проекций, без предположений о гауссовости ошибок измерений.[3] Затем просто было показано, что для специального случая распределения ошибок по Гауссу фильтр дает точную оценку условной вероятности распределения состояния системы.

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





Введение

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

  • гауссовые априорные и апостериорные плотности вероятности вектора состояния на любой момент времени (в том числе начальный)
  • гауссовые формирующие шумы
  • гауссовые шумы наблюдений
  • белые шумы наблюдений
  • линейность модели наблюдений
  • линейность модели формирующего процесса (который, напомним, должен являться марковским процессом)

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

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

Существует несколько разновидностей фильтра Калмана, отличающихся приближениями и ухищрениями, которые приходится применять для сведения фильтра к описанному виду и уменьшения его размерности:

  • расширенный фильтр Калмана[en] (EKF, Extended Kalman filter). Сведение нелинейных моделей наблюдений и формирующего процесса с помощью линеаризации посредством разложения в ряд Тейлора;
  • сигма-точечный фильтр Калмана (UKF, Unscented Kalman filter). Используется в задачах, в которых простая линеаризация приводит к уничтожению полезных связей между компонентами вектора состояния. В этом случае «линеаризация» основана на сигма-точечном преобразовании[en];
  • Ensemble Kalman filter (EnKF). Используется для уменьшения размерности задачи;
  • возможны варианты с нелинейным дополнительным фильтром, позволяющим привести негауссовые наблюдения к нормальным;
  • возможны варианты с «обеляющим» фильтром, позволяющим работать с «цветными» шумами;
  • и т. д.

Кроме того, имеются аналоги фильтра Калмана, использующие полностью или частично модель непрерывного времени:

  • фильтр Калмана — Бьюси, в котором и эволюция системы, и измерения имеют вид функций от непрерывного времени;
  • гибридный фильтр Калмана, использующий непрерывное время при описании эволюции системы, и дискретные моменты времени для измерений.

Исторический обзор и имена

Фильтр назван в честь венгерского математика Рудольфа Э. Калмана, эмигрировавшего в США. Хотя Торвальд Николай Тиле[4][5] и Питер Сверлинг[en] разработали подобный алгоритм раньше. Ричард С. Бьюси из Университета Южной Калифорнии сделал вклад в теорию, которая привела к так называемому фильтру Калмана — Бьюси. Стэнли Ф. Шмидт[en] считается первым, кто реализовал фильтр Калмана во время визита Калмана в Исследовательский центр Эймса, так что Калман увидел применимость своих идей к задаче оценки траекторий для программы «Аполлон», что привело, в конечном счете, к включению этого фильтра в компьютерную систему навигации «Аполлона». Фильтр Калмана был впервые описан и частично разработан в работах Сверлинга (1958), Калмана (1960) и Калмана и Бьюси (1961).

Фильтры Калмана оказались критически важными для реализации навигационных систем подводных лодок ВМС США с ядерными баллистическими ракетами на борту, в навигационных системах крылатых ракет, например, «Томагавков». Он также использовался в навигационных и управляющих системах проекта НАСА «Спейс шаттл», используется в системах управления и навигации МКС.

Цифровой фильтр Калмана иногда называют фильтром Стратоновича — Калмана — Бьюси, поскольку, он является частным случаем более общего, нелинейного фильтра, разработанного несколько раньше советским математиком Р. Л. Стратоновичем[6][7][8][9]. Фактически, некоторые из уравнений для частных случаев линейного фильтра появились в этих работах Стратоновича, опубликованных до лета 1960 года, когда Калман встретился со Стратоновичем во время конференции в Москве.

Используемая модель динамической системы

Фильтры Калмана базируются на дискретизированных по времени линейных динамических системах. Такие системы моделируются цепями Маркова при помощи линейных операторов и слагаемых с нормальным распределением. Состояние системы описывается вектором конечной размерности — вектором состояния. В каждый такт времени линейный оператор действует на вектор состояния и переводит его в другой вектор состояния (детерминированное изменение состояния), добавляется некоторый вектор нормального шума (случайные факторы) и в общем случае вектор управления, моделирующий воздействие системы управления. Фильтр Калмана можно рассматривать как аналог скрытым моделям Маркова, с тем отличием, что переменные, описывающие состояние системы, являются элементами бесконечного множества действительных чисел (в отличие от конечного множества пространства состояний в скрытых моделях Маркова). Кроме того, скрытые модели Маркова могут использовать произвольные распределения для последующих значений вектора состояния, в отличие от фильтра Калмана, использующего модель нормально распределенного шума. Существует строгая взаимосвязь между уравнениями фильтра Калмана и скрытой модели Маркова. Обзор этих и других моделей дан Roweis и Chahramani (1999)[10].

При использовании фильтра Калмана для получения оценок вектора состояния процесса по серии зашумленных измерений необходимо представить модель данного процесса в соответствии со структурой фильтра — в виде матричного уравнения определенного типа. Для каждого такта k работы фильтра необходимо в соответствии с приведенным ниже описанием определить матрицы: эволюции процесса Fk; матрицу наблюдений Hk; ковариационную матрицу процесса Qk; ковариационную матрицу шума измерений Rk; при наличии управляющих воздействий — матрицу их коэффициентов Bk.

Модель системы/процесса подразумевает, что истинное состояние в момент k получается из истинного состояния в момент k−1 в соответствии с уравнением:

<math> \textbf{x}_{k} = \textbf{F}_{k} \textbf{x}_{k-1} + \textbf{B}_{k} \textbf{u}_{k} + \textbf{w}_{k} </math>,

где

  • Fk — матрица эволюции процесса/системы, которая воздействует на вектор xk−1 (вектор состояния в момент k−1);
  • Bk — матрица управления, которая прикладывается к вектору управляющих воздействий uk;
  • wk — нормальный случайный процесс с нулевым математическим ожиданием и ковариационной матрицей Qk, который описывает случайный характер эволюции системы/процесса:
<math> \textbf{w}_{k} \sim N(0, \textbf{Q}_k) </math>

В момент k производится наблюдение (измерение) zk истинного вектора состояния xk, которые связаны между собой уравнением:

<math> \textbf{z}_{k} = \textbf{H}_{k} \textbf{x}_{k} + \textbf{v}_{k} </math>

где Hk — матрица измерений, связывающая истинный вектор состояния и вектор произведенных измерений, vk — белый гауссовский шум измерений с нулевым математическим ожиданием и ковариационной матрицей Rk:

<math>\textbf{v}_{k} \sim N(0, \textbf{R}_k) </math>

Начальное состояние и векторы случайных процессов на каждом такте {x0, w1, …, wk, v1, …, vk} считаются независимыми.

Многие реальные динамические системы нельзя точно описать данной моделью. На практике неучтённая в модели динамика может серьёзно испортить рабочие характеристики фильтра, особенно при работе с неизвестным стохастическим сигналом на входе. Более того, неучтённая в модели динамика может сделать фильтр неустойчивым. С другой стороны, независимый белый шум в качестве сигнала не будет приводить к расхождению алгоритма. Задача отделения шумов измерений от неучтенной в модели динамики сложна, решается она с помощью теории робастных систем управления.

Фильтр Калмана

Фильтр Калмана является разновидностью рекурсивных фильтров. Для вычисления оценки состояния системы на текущий такт работы ему необходима оценка состояния (в виде оценки состояния системы и оценки погрешности определения этого состояния) на предыдущем такте работы и измерения на текущем такте. Данное свойство отличает его от пакетных фильтров, требующих в текущий такт работы знание истории измерений и/или оценок. Далее под записью <math>\hat{\textbf{x}}_{n|m}</math> будем понимать оценку истинного вектора <math>\textbf{x}</math> в момент n с учетом измерений с момента начала работы и по момент m включительно.

Состояние фильтра задается двумя переменными:

  • <math>\hat{\textbf{x}}_{k|k}</math> — апостериорная оценка состояния объекта в момент k полученная по результатам наблюдений вплоть до момента k включительно (в русскоязычной литературе часто обозначается <math>\hat{\textbf{x}}_{k}</math>, где <math>\hat{}</math> означает «оценка», а k — номер такта, на котором она получена);
  • <math>\textbf{P}_{k|k}</math> — апостериорная ковариационная матрица ошибок, задающая оценку точности полученной оценки вектора состояния и включающая в себя оценку дисперсий погрешности вычисленного состояния и ковариации, показывающие выявленные взаимосвязи между параметрами состояния системы (в русскоязычной литературе часто обозначается <math>\hat{\textbf{D}}_{k}</math>).

Итерации фильтра Калмана делятся на две фазы: экстраполяция и коррекция. Во время экстраполяции фильтр получает предварительную оценку состояния системы <math>\hat{\textbf{x}}_{k|k-1}</math> (в русскоязычной литературе часто обозначается <math>\tilde{\textbf{x}}_{k}</math>, где <math>\tilde{}</math> означает «экстраполяция», а k — номер такта, на котором она получена) на текущий шаг по итоговой оценке состояния с предыдущего шага (либо предварительную оценку на следующий такт по итоговой оценке текущего шага, в зависимости от интерпретации). Эту предварительную оценку также называют априорной оценкой состояния, так как для её получения не используются наблюдения соответствующего шага. В фазе коррекции априорная экстраполяция дополняется соответствующими текущими измерениями для коррекции оценки. Скорректированная оценка также называется апостериорной оценкой состояния, либо просто оценкой вектора состояния <math>\hat{\textbf{x}}_{k}</math>. Обычно эти две фазы чередуются: экстраполяция производится по результатам коррекции до следующего наблюдения, а коррекция производится совместно с доступными на следующем шаге наблюдениями, и т. д. Однако возможно и другое развитие событий, если по некоторой причине наблюдение оказалось недоступным, то этап коррекции может быть пропущен и выполнена экстраполяция по нескорректированной оценке (априорной экстраполяции). Аналогично, если независимые измерения доступны только в отдельные такты работы, всё равно возможны коррекции (обычно с использованием другой матрицы наблюдений Hk).

Далее рассмотрим работу классического оптимального фильтра Калмана.

Этап экстраполяции

Экстраполяция (предсказание) вектора состояния системы по оценке вектора состояния и примененному вектору управления с шага (k−1) на шаг k: k-1} = \textbf{F}_{k}\hat{\textbf{x}}_{k-1|k-1} + \textbf{B}_{k} \textbf{u}_{k} </math>
Ковариационная матрица для экстраполированного вектора состояния: k-1} = \textbf{F}_{k} \textbf{P}_{k-1|k-1} \textbf{F}_{k}^{T} + \textbf{Q}_{k} </math>

Этап коррекции

Отклонение полученного на шаге k наблюдения от наблюдения, ожидаемого при произведенной экстраполяции: <math>

\tilde{\textbf{y}}_{k} = \textbf{z}_{k} - \textbf{H}_{k}\hat{\textbf{x}}_{k|k-1} </math>

Ковариационная матрица для вектора отклонения (вектора ошибки): k-1} \textbf{H}_{k}^{T}+\textbf{R}_{k}</math>
Оптимальная по Калману матрица коэффициентов усиления, формирующаяся на основании ковариационных матриц имеющейся экстраполяции вектора состояния и полученных измерений (посредством ковариационной матрицы вектора отклонения): k-1}\textbf{H}_{k}^{T}\textbf{S}_{k}^{-1}</math>
Коррекция ранее полученной экстраполяции вектора состояния — получение оценки вектора состояния системы: k} = \hat{\textbf{x}}_{k|k-1} + \textbf{K}_{k}\tilde{\textbf{y}}_{k}</math>
Расчет ковариационной матрицы оценки вектора состояния системы: k} = (I - \textbf{K}_{k} \textbf{H}_{k}) \textbf{P}_{k|k-1}</math>

Выражение для ковариационной матрицы оценки вектора состояния системы справедливо только при использовании приведенного оптимального вектора коэффициентов. В общем случае это выражение имеет более сложный вид.

Инварианты

Если модель абсолютно точна и абсолютно точно заданы начальные условия <math>\hat{\textbf{x}}_{0|0}</math> и <math>\textbf{P}_{0|0}</math>, то следующие величины сохраняются после любого количества итераций работы фильтра — являются инвариантами:

Математические ожидания оценок и экстраполяций вектора состояния системы, матрицы ошибок являются нуль-векторами:

  • <math>\textsf{E}[\textbf{x}_k - \hat{\textbf{x}}_{k|k}] = \textsf{E}[\textbf{x}_k - \hat{\textbf{x}}_{k|k-1}] = 0</math>
  • <math>\textsf{E}[\tilde{\textbf{y}}_k] = 0</math>

где <math>\textsf{E}[\xi]</math> — математическое ожидание <math>\xi</math>.

Расчетные матрицы ковариаций экстраполяций, оценок состояния системы и вектора ошибок совпадают с истинными матрицами ковариаций:

  • <math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_k - \hat{\textbf{x}}_{k|k})</math>
  • <math>\textbf{P}_{k|k-1} = \textrm{cov}(\textbf{x}_k - \hat{\textbf{x}}_{k|k-1})</math>
  • <math>\textbf{S}_{k} = \textrm{cov}(\tilde{\textbf{y}}_k)</math>

Пример построения фильтра

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

В данной задаче матрицы F, H, R и Q не зависят от времени, опустим их индексы.

Координата и скорость вагонетки описывается вектором в линейном пространстве состояний

<math>\textbf{x}_{k} = \begin{bmatrix} x \\ \dot{x} \end{bmatrix} </math>

где <math>\dot{x}</math> — скорость (первая производная координаты <math>x</math> по времени).

Будем считать, что между (k−1)-ым и k-ым тактами вагонетка движется с постоянным ускорением ak, распределенным по нормальному закону с нулевым математическим ожиданием и среднеквадратическим отклонением σa. В соответствии с механикой Ньютона можно записать

<math>\textbf{x}_{k} = \textbf{F} \textbf{x}_{k-1} + \textbf{G}a_{k}</math>

где

<math>\textbf{F} = \begin{bmatrix} 1 & \Delta t \\ 0 & 1 \end{bmatrix}</math>

Матрица управления записывается в виде вектора

<math>\textbf{G} = \begin{bmatrix} \frac{\Delta t^{2}}{2} \\ \Delta t \end{bmatrix} </math>.

Вектор управления вырождается в скаляр ak.

Ковариационная матрица случайных воздействий

<math> \textbf{Q} = \textrm{cov}(\textbf{G}a) = \textsf{E}[(\textbf{G}a)(\textbf{G}a)^{\text{T}}] = \textbf{G} \textsf{E}[a^2] \textbf{G}^{\text{T}} = \textbf{G}[\sigma_a^2]\textbf{G}^{\text{T}} = \sigma_a^2 \textbf{G}\textbf{G}^{\text{T}}</math> (σa — скаляр).

На каждом такте работы производится измерение положения вагонетки. Предположим, что погрешность измерений vk имеет нормальное распределение с нулевым математическим ожиданием и среднеквадратическим отклонением σz. Тогда

<math>\textbf{z}_{k} = \textbf{H x}_{k} + \textbf{v}_{k}</math>

где

<math>\textbf{H} = \begin{bmatrix} 1 & 0 \end{bmatrix} </math>

и ковариационная матрица шума наблюдений имеет вид

<math>\textbf{R} = \textsf{E}[\textbf{v}_k \textbf{v}_k^{\text{T}}] = \begin{bmatrix} \sigma_z^2 \end{bmatrix} </math>.

Начальное положение вагонетки известно точно

<math>\hat{\textbf{x}}_{0|0} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} </math>,
<math>\textbf{P}_{0|0} = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} </math>.

Если же положение и скорость вагонетки известна лишь приблизительно, то можно инициализировать матрицу дисперсий достаточно большим числом L, чтобы при этом число превосходило дисперсию измерений координаты

<math>\hat{\textbf{x}}_{0|0} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} </math>,
<math>\textbf{P}_{0|0} = \begin{bmatrix} L & 0 \\ 0 & L \end{bmatrix} </math>.

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

Вывод формул

Ковариационная матрица оценки вектора состояния

По определению ковариационной матрицы Pk|k

<math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_{k} - \hat{\textbf{x}}_{k|k})</math>

подставляем выражение для оценки вектора состояния <math>\hat{\textbf{x}}_{k|k}</math>

<math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_{k} - (\hat{\textbf{x}}_{k|k-1} + \textbf{K}_k\tilde{\textbf{y}}_{k}))</math>

и расписываем выражение для вектора ошибок <math>\tilde{\textbf{y}}_k</math>

<math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_{k} - (\hat{\textbf{x}}_{k|k-1} + \textbf{K}_k(\textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1})))</math>

и вектора измерений <math>\textbf{z}_{k}</math>

<math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_{k} - (\hat{\textbf{x}}_{k|k-1} + \textbf{K}_k(\textbf{H}_k\textbf{x}_k + \textbf{v}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1})))</math>

выносим вектор погрешности измерений vk

<math>\textbf{P}_{k|k} = \textrm{cov}((I - \textbf{K}_k \textbf{H}_{k})(\textbf{x}_k - \hat{\textbf{x}}_{k|k-1}) - \textbf{K}_k \textbf{v}_k )</math>

так как вектор погрешности измерений vk не коррелирован с другими аргументами, получаем выражение

<math>\textbf{P}_{k|k} = \textrm{cov}((I - \textbf{K}_k \textbf{H}_{k})(\textbf{x}_k - \hat{\textbf{x}}_{k|k-1})) + \textrm{cov}(\textbf{K}_k \textbf{v}_k )</math>

в соответствии со свойствами ковариации векторов данное выражение преобразуется к виду

<math>\textbf{P}_{k|k} = (I - \textbf{K}_k \textbf{H}_{k})\textrm{cov}(\textbf{x}_k - \hat{\textbf{x}}_{k|k-1})(I - \textbf{K}_k \textbf{H}_{k})^{\text{T}} + \textbf{K}_k\textrm{cov}(\textbf{v}_k )\textbf{K}_k^{\text{T}}</math>

заменяя выражение для ковариационной матрицы экстраполяции вектора состояния на Pk|k−1 и определение ковариационной матрицы шумов наблюдений на Rk, получаем

<math>\textbf{P}_{k|k} =

(I - \textbf{K}_k \textbf{H}_{k}) \textbf{P}_{k|k-1} (I - \textbf{K}_k \textbf{H}_{k})^\text{T} + \textbf{K}_k \textbf{R}_k \textbf{K}_k^\text{T}</math>

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

Оптимальная матрица коэффициентов усиления

Фильтр Калмана минимизирует сумму квадратов математических ожиданий ошибок оценки вектора состояния.

Вектор ошибки оценки вектора состояния

<math>\textbf{x}_{k} - \hat{\textbf{x}}_{k|k}</math>

Стоит задача минимизировать сумму математических ожиданий квадратов компонент данного вектора

<math>\textsf{E}[\;|\textbf{x}_{k} - \hat{\textbf{x}}_{k|k}|^2\,]</math>,

что эквивалентно минимизации следа ковариационной матрицы оценки вектора состояния Pk|k. Подставим в выражение для ковариационной матрицы оценки вектора состояния имеющиеся выражения и дополним до полного квадрата:

k} </math> k-1} - \textbf{K}_k \textbf{H}_k \textbf{P}_{k|k-1} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{K}_k^\text{T} + \textbf{K}_k (\textbf{H}_k \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} + \textbf{R}_k) \textbf{K}_k^\text{T}</math>
k-1} - \textbf{K}_k \textbf{H}_k \textbf{P}_{k|k-1} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{K}_k^\text{T} + \textbf{K}_k \textbf{S}_k\textbf{K}_k^\text{T}</math>
k-1} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{S}_k^{-1} \textbf{H}_k \textbf{P}_{k|k-1} + (\textbf{K}_{k} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{S}_k^{-1}) \textbf{S}_k(\textbf{K}_{k} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{S}_k^{-1})^\text{T} </math>

Заметим, что последнее слагаемое является ковариационной матрицей некоторой случайной величины, поэтому его след неотрицателен. Минимум следа достигнется при обнулении последнего слагаемого:

<math> \textbf{K}_{k} = \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{S}_k^{-1}</math>

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

Ковариационная матрица оценки вектора состояния при использовании оптимальной матрицы коэффициентов

Выражение для ковариационной матрицы оценки вектора состояния Pk|k при использовании оптимальной матрицы коэффициентов примет вид:

<math> \textbf{P}_{k|k} = \textbf{P}_{k|k-1} - \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} \textbf{S}_k^{-1} \textbf{H}_k \textbf{P}_{k|k-1} </math>

<math> = \textbf{P}_{k|k-1} - \textbf{K}_k \textbf{H}_k \textbf{P}_{k|k-1} = (I - \textbf{K}_{k} \textbf{H}_{k}) \textbf{P}_{k|k-1}</math>.

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

Фильтр Калмана — Бюси

Фильтр Калмана — Бюси (названный по имени Ричарда Сноудена Бюси) — версия фильтра Калмана для непрерывного времени[11][12], опирается на следующую непрерывную динамическую модель состояния:

<math>\frac{d}{dt}\mathbf{x}(t) = \mathbf{F}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t) + \mathbf{w}(t)</math>
<math>\mathbf{z}(t) = \mathbf{H}(t) \mathbf{x}(t) + \mathbf{v}(t)</math>

здесь <math>\mathbf{Q}(t)</math> и <math>\mathbf{R}(t)</math> будут представлять интенсивности двух членов (с характеристиками белого шума) <math>\mathbf{w}(t)</math> и <math>\mathbf{v}(t)</math>, соответственно.

Фильтр состоит из двух дифференциальных уравнений, одно из которых служит для оценки состояния системы, а другое для оценки ковариации:

<math>\frac{d}{dt}\hat{\mathbf{x}}(t) = \mathbf{F}(t)\hat{\mathbf{x}}(t) + \mathbf{B}(t)\mathbf{u}(t) + \mathbf{K}(t) (\mathbf{z}(t)-\mathbf{H}(t)\hat{\mathbf{x}}(t))</math>
<math>\frac{d}{dt}\mathbf{P}(t) = \mathbf{F}(t)\mathbf{P}(t) + \mathbf{P}(t)\mathbf{F}^{T}(t) + \mathbf{Q}(t) - \mathbf{K}(t)\mathbf{R}(t)\mathbf{K}^{T}(t)</math>

где коэффициент Калмана получается по формуле

<math>\mathbf{K}(t)=\mathbf{P}(t)\mathbf{H}^{T}(t)\mathbf{R}^{-1}(t)</math>

Отметим, что в выражении для <math>\mathbf{K}(t)</math> ковариация шумов наблюдения <math>\mathbf{R}(t)</math> представляет одновременно ковариацию ошибки предсказания <math>\tilde{\mathbf{y}}(t)=\mathbf{z}(t)-\mathbf{H}(t)\hat{\mathbf{x}}(t)</math>; причем эти ковариации равны только для случая непрерывного времени.[13]

Различие между шагами прогноза и коррекции в дискретной калмановской фильтрации не имеет места для непрерывного случая.

Второе дифференциальное уравнение для ковариации — это пример уравнения Риккати.

Гибридный фильтр Калмана

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

<math>

\begin{align} \dot{\mathbf{x}}(t) &= \mathbf{F}(t)\mathbf{x}(t)+\mathbf{B}(t)\mathbf{u}(t)+\mathbf{w}(t), &\mathbf{w}(t) &\sim N\bigl(\mathbf{0},\mathbf{Q}(t)\bigr) \\ \mathbf{z}_k &= \mathbf{H}_k\mathbf{x}_k+\mathbf{v}_k, &\mathbf{v}_k &\sim N(\mathbf{0},\mathbf{R}_k) \end{align} </math> где

<math>\mathbf{x}_k=\mathbf{x}(t_k)</math>.
Инициализация
<math>

\hat{\mathbf{x}}_{0\mid 0}=E\bigl[\mathbf{x}(t_0)\bigr], \mathbf{P}_{0\mid 0}=Var\bigl[\mathbf{x}(t_0)\bigr] </math>

Прогноз
<math>

\begin{align} &\dot{\hat{\mathbf{x}}}(t) = \mathbf{F}(t) \hat{\mathbf{x}}(t) + \mathbf{B}(t) \mathbf{u}(t) \text{, where } \hat{\mathbf{x}}(t_{k-1}) = \hat{\mathbf{x}}_{k-1\mid k-1} \\ \Rightarrow &\hat{\mathbf{x}}_{k\mid k-1} = \hat{\mathbf{x}}(t_k)\\ &\dot{\mathbf{P}}(t) = \mathbf{F}(t)\mathbf{P}(t)+\mathbf{P}(t)\mathbf{F}(t)^T+\mathbf{Q}(t) \text{, where } \mathbf{P}(t_{k-1}) = \mathbf{P}_{k-1\mid k-1}\\ \Rightarrow &\mathbf{P}_{k\mid k-1} = \mathbf{P}(t_k) \end{align} </math> Уравнения прогноза взяты из фильтра Калмана-Бюси с непрерывным временем, при <math> \mathbf{K}(t)=0 </math>. Прогноз состояния и ковариации получается интегрированием дифференциальных уравнений с начальным значением, взятым из предыдущего шага коррекции.

Коррекция
<math>\mathbf{K}_{k} = \mathbf{P}_{k\mid k-1}\mathbf{H}_{k}^T\bigl(\mathbf{H}_{k}\mathbf{P}_{k\mid k-1}\mathbf{H}_{k}^T+\mathbf{R}_{k}\bigr)^{-1} </math>
<math>\hat{\mathbf{x}}_{k\mid k} = \hat{\mathbf{x}}_{k\mid k-1} + \mathbf{K}_k(\mathbf{z}_k-\mathbf{H}_k\hat{\mathbf{x}}_{k\mid k-1})</math>
<math>\mathbf{P}_{k\mid k} = (\mathbf{I} - \mathbf{K}_{k}\mathbf{H}_{k})\mathbf{P}_{k\mid k-1} </math>

Уравнения коррекции идентичны уравнениям из дискретного фильтра Калмана.

Критика фильтра Калмана

На настоящий момент основная критика фильтра Калмана ведётся по следующим направлениям[14]:

  • В фильтре Калмана погрешности представлены белым шумом, которого на самом деле в природе не существует.
  • Нет соответствия необходимому и достаточному условию оптимальности
<math>\textsf{M}[\varepsilon(t)\,\textbf{Z}_{k}]^\text{T} = 0</math>00 при 00<math>\textbf{t}_{0} \le \tau \le t </math>
  • Ошибка в выводе фильтра Калмана — требуются противоречивые условия верности разных уравнений алгоритма: в одних чтобы τ < t и в других τ = t.

Соответственно, позиция сторонников оптимальности данного фильтра заключается в том, что[15]:

  • Возможно составить модифицированый фильтр Калмана, у которого погрешности будут представлены цветным шумом.
  • Использование условия оптимальности <math>\textsf{M}[\varepsilon(t)\,\textbf{Z}_{k}]^\text{T} = 0\quad</math> в определённых случаях приводит к менее точному результату, нежели используемое в фильтре Калмана.
  • При выводе фильтра Калмана можно принять условия: τ < t, τt, что устраняет противоречие.

Где используется

См. также

Напишите отзыв о статье "Фильтр Калмана"

Литература и публикации

  • [habrahabr.ru/post/166693/ Фильтр Калмана]
  • [roboforum.ru/wiki/Фильтр_Калмана Перевод статьи «Kalman Filter»]
  • [web.archive.org/web/20130319135951/isns.ru/download/FK.pdf «Фильтр Калмана для „чайников“: матрица наблюдаемости и фундаментальная матрица»]
  • [ourworld.compuserve.com/homepages/PDJoseph/kalman.htm Peter Joseph «INTRODUCTORY LESSON: The one-dimensional Kalman Filter»]
  • Перов, А. И. Статистическая теория радиотехнических систем. — М.: Радиотехника, 2003. — 400 с. — ISBN 5-93108-047-3.
  • Цыплаков, А. (2011) [quantile.ru/09/09-Literacy.pdf Введение в моделирование в пространстве состояний.] — Квантиль, № 9, стр. 1—24.

Примечания

  1. Ingvar Strid & Karl Walentin (2009), "[www.riksbank.com/upload/Dokument_riksbank/Kat_publicerat/WorkingPapers/2008/wp224ny.pdf Block Kalman Filtering for Large-Scale DSGE Models]", Computational Economics (Springer) . — Т. 33 (3): 277–304, <www.riksbank.com/upload/Dokument_riksbank/Kat_publicerat/WorkingPapers/2008/wp224ny.pdf> 
  2. Martin Møller Andreasen (2008), Non-linear DSGE Models, The Central Difference Kalman Filter, and The Mean Shifted Particle Filter, <ftp://ftp.econ.au.dk/creates/rp/08/rp08_33.pdf> 
  3. Kalman, R.E. (1960). «A new approach to linear filtering and prediction problems». Journal of Basic Engineering 82 (1): pp. 35—45
  4. [www.stats.ox.ac.uk/~steffen/ Steffen L. Lauritzen]. «Time series analysis in 1880. A discussion of contributions made by T.N. Thiele». International Statistical Review 49, 1981, 319—333.
  5. Steffen L. Lauritzen, [www.oup.com/uk/catalogue/?ci=9780198509721 Thiele: Pioneer in Statistics], Oxford University Press, 2002. ISBN 0-19-850972-3.
  6. Stratonovich, R.L. (1959). Optimum nonlinear systems which bring about a separation of a signal with constant parameters from noise. Radiofizika, 2:6, pp. 892—901.
  7. Stratonovich, R.L. (1959). On the theory of optimal non-linear filtering of random functions. Theory of Probability and its Applications, 4, pp. 223—225.
  8. Stratonovich, R.L. (1960) Application of the Markov processes theory to optimal filtering. Radio Engineering and Electronic Physics, 5:11, pp. 1—19.
  9. Stratonovich, R.L. (1960). Conditional Markov Processes. Theory of Probability and its Applications, 5, pp. 156—178.
  10. Roweis, S. and Ghahramani, Z., [www.mitpressjournals.org/doi/abs/10.1162/089976699300016674 A unifying review of linear Gaussian models], Neural Comput. Vol. 11, No. 2, (February 1999), pp. 305—345.
  11. Bucy, R.S. and Joseph, P.D., Filtering for Stochastic Processes with Applications to Guidance, John Wiley & Sons, 1968; 2nd Edition, AMS Chelsea Publ., 2005. ISBN 0-8218-3782-6
  12. Jazwinski, Andrew H., Stochastic processes and filtering theory, Academic Press, New York, 1970. ISBN 0-12-381550-9
  13. Kailath, Thomas, «An innovation approach to least-squares estimation Part I: Linear filtering in additive white noise», IEEE Transactions on Automatic Control, 13(6), 646—655, 1968
  14. www.tgizd.ru/mag/aviakos/aviakos_7_6_7.shtml Г. Ф. Савинов О некоторых особенностях алгоритма оптимальной фильтрации Калмана — Бьюси // Авиакосмическое приборостроение № 6, 2007 г.
  15. А. Ю. Горбачёв [www.tgizd.ru/mag/aviakos/aviakos_8_6_5.shtml Критерии оценки алгоритмов оптимальной фильтрации] // Авиакосмическое приборостроение № 6, 2008 г.

Отрывок, характеризующий Фильтр Калмана

– Ayez confiance en Sa misericorde, [Доверьтесь Его милосердию,] – сказала она ему, указав ему диванчик, чтобы сесть подождать ее, сама неслышно направилась к двери, на которую все смотрели, и вслед за чуть слышным звуком этой двери скрылась за нею.
Пьер, решившись во всем повиноваться своей руководительнице, направился к диванчику, который она ему указала. Как только Анна Михайловна скрылась, он заметил, что взгляды всех, бывших в комнате, больше чем с любопытством и с участием устремились на него. Он заметил, что все перешептывались, указывая на него глазами, как будто со страхом и даже с подобострастием. Ему оказывали уважение, какого прежде никогда не оказывали: неизвестная ему дама, которая говорила с духовными лицами, встала с своего места и предложила ему сесть, адъютант поднял уроненную Пьером перчатку и подал ему; доктора почтительно замолкли, когда он проходил мимо их, и посторонились, чтобы дать ему место. Пьер хотел сначала сесть на другое место, чтобы не стеснять даму, хотел сам поднять перчатку и обойти докторов, которые вовсе и не стояли на дороге; но он вдруг почувствовал, что это было бы неприлично, он почувствовал, что он в нынешнюю ночь есть лицо, которое обязано совершить какой то страшный и ожидаемый всеми обряд, и что поэтому он должен был принимать от всех услуги. Он принял молча перчатку от адъютанта, сел на место дамы, положив свои большие руки на симметрично выставленные колени, в наивной позе египетской статуи, и решил про себя, что всё это так именно должно быть и что ему в нынешний вечер, для того чтобы не потеряться и не наделать глупостей, не следует действовать по своим соображениям, а надобно предоставить себя вполне на волю тех, которые руководили им.
Не прошло и двух минут, как князь Василий, в своем кафтане с тремя звездами, величественно, высоко неся голову, вошел в комнату. Он казался похудевшим с утра; глаза его были больше обыкновенного, когда он оглянул комнату и увидал Пьера. Он подошел к нему, взял руку (чего он прежде никогда не делал) и потянул ее книзу, как будто он хотел испытать, крепко ли она держится.
– Courage, courage, mon ami. Il a demande a vous voir. C'est bien… [Не унывать, не унывать, мой друг. Он пожелал вас видеть. Это хорошо…] – и он хотел итти.
Но Пьер почел нужным спросить:
– Как здоровье…
Он замялся, не зная, прилично ли назвать умирающего графом; назвать же отцом ему было совестно.
– Il a eu encore un coup, il y a une demi heure. Еще был удар. Courage, mon аmi… [Полчаса назад у него был еще удар. Не унывать, мой друг…]
Пьер был в таком состоянии неясности мысли, что при слове «удар» ему представился удар какого нибудь тела. Он, недоумевая, посмотрел на князя Василия и уже потом сообразил, что ударом называется болезнь. Князь Василий на ходу сказал несколько слов Лоррену и прошел в дверь на цыпочках. Он не умел ходить на цыпочках и неловко подпрыгивал всем телом. Вслед за ним прошла старшая княжна, потом прошли духовные лица и причетники, люди (прислуга) тоже прошли в дверь. За этою дверью послышалось передвиженье, и наконец, всё с тем же бледным, но твердым в исполнении долга лицом, выбежала Анна Михайловна и, дотронувшись до руки Пьера, сказала:
– La bonte divine est inepuisable. C'est la ceremonie de l'extreme onction qui va commencer. Venez. [Милосердие Божие неисчерпаемо. Соборование сейчас начнется. Пойдемте.]
Пьер прошел в дверь, ступая по мягкому ковру, и заметил, что и адъютант, и незнакомая дама, и еще кто то из прислуги – все прошли за ним, как будто теперь уж не надо было спрашивать разрешения входить в эту комнату.


Пьер хорошо знал эту большую, разделенную колоннами и аркой комнату, всю обитую персидскими коврами. Часть комнаты за колоннами, где с одной стороны стояла высокая красного дерева кровать, под шелковыми занавесами, а с другой – огромный киот с образами, была красно и ярко освещена, как бывают освещены церкви во время вечерней службы. Под освещенными ризами киота стояло длинное вольтеровское кресло, и на кресле, обложенном вверху снежно белыми, не смятыми, видимо, только – что перемененными подушками, укрытая до пояса ярко зеленым одеялом, лежала знакомая Пьеру величественная фигура его отца, графа Безухого, с тою же седою гривой волос, напоминавших льва, над широким лбом и с теми же характерно благородными крупными морщинами на красивом красно желтом лице. Он лежал прямо под образами; обе толстые, большие руки его были выпростаны из под одеяла и лежали на нем. В правую руку, лежавшую ладонью книзу, между большим и указательным пальцами вставлена была восковая свеча, которую, нагибаясь из за кресла, придерживал в ней старый слуга. Над креслом стояли духовные лица в своих величественных блестящих одеждах, с выпростанными на них длинными волосами, с зажженными свечами в руках, и медленно торжественно служили. Немного позади их стояли две младшие княжны, с платком в руках и у глаз, и впереди их старшая, Катишь, с злобным и решительным видом, ни на мгновение не спуская глаз с икон, как будто говорила всем, что не отвечает за себя, если оглянется. Анна Михайловна, с кроткою печалью и всепрощением на лице, и неизвестная дама стояли у двери. Князь Василий стоял с другой стороны двери, близко к креслу, за резным бархатным стулом, который он поворотил к себе спинкой, и, облокотив на нее левую руку со свечой, крестился правою, каждый раз поднимая глаза кверху, когда приставлял персты ко лбу. Лицо его выражало спокойную набожность и преданность воле Божией. «Ежели вы не понимаете этих чувств, то тем хуже для вас», казалось, говорило его лицо.
Сзади его стоял адъютант, доктора и мужская прислуга; как бы в церкви, мужчины и женщины разделились. Всё молчало, крестилось, только слышны были церковное чтение, сдержанное, густое басовое пение и в минуты молчания перестановка ног и вздохи. Анна Михайловна, с тем значительным видом, который показывал, что она знает, что делает, перешла через всю комнату к Пьеру и подала ему свечу. Он зажег ее и, развлеченный наблюдениями над окружающими, стал креститься тою же рукой, в которой была свеча.
Младшая, румяная и смешливая княжна Софи, с родинкою, смотрела на него. Она улыбнулась, спрятала свое лицо в платок и долго не открывала его; но, посмотрев на Пьера, опять засмеялась. Она, видимо, чувствовала себя не в силах глядеть на него без смеха, но не могла удержаться, чтобы не смотреть на него, и во избежание искушений тихо перешла за колонну. В середине службы голоса духовенства вдруг замолкли; духовные лица шопотом сказали что то друг другу; старый слуга, державший руку графа, поднялся и обратился к дамам. Анна Михайловна выступила вперед и, нагнувшись над больным, из за спины пальцем поманила к себе Лоррена. Француз доктор, – стоявший без зажженной свечи, прислонившись к колонне, в той почтительной позе иностранца, которая показывает, что, несмотря на различие веры, он понимает всю важность совершающегося обряда и даже одобряет его, – неслышными шагами человека во всей силе возраста подошел к больному, взял своими белыми тонкими пальцами его свободную руку с зеленого одеяла и, отвернувшись, стал щупать пульс и задумался. Больному дали чего то выпить, зашевелились около него, потом опять расступились по местам, и богослужение возобновилось. Во время этого перерыва Пьер заметил, что князь Василий вышел из за своей спинки стула и, с тем же видом, который показывал, что он знает, что делает, и что тем хуже для других, ежели они не понимают его, не подошел к больному, а, пройдя мимо его, присоединился к старшей княжне и с нею вместе направился в глубь спальни, к высокой кровати под шелковыми занавесами. От кровати и князь и княжна оба скрылись в заднюю дверь, но перед концом службы один за другим возвратились на свои места. Пьер обратил на это обстоятельство не более внимания, как и на все другие, раз навсегда решив в своем уме, что всё, что совершалось перед ним нынешний вечер, было так необходимо нужно.
Звуки церковного пения прекратились, и послышался голос духовного лица, которое почтительно поздравляло больного с принятием таинства. Больной лежал всё так же безжизненно и неподвижно. Вокруг него всё зашевелилось, послышались шаги и шопоты, из которых шопот Анны Михайловны выдавался резче всех.
Пьер слышал, как она сказала:
– Непременно надо перенести на кровать, здесь никак нельзя будет…
Больного так обступили доктора, княжны и слуги, что Пьер уже не видал той красно желтой головы с седою гривой, которая, несмотря на то, что он видел и другие лица, ни на мгновение не выходила у него из вида во всё время службы. Пьер догадался по осторожному движению людей, обступивших кресло, что умирающего поднимали и переносили.
– За мою руку держись, уронишь так, – послышался ему испуганный шопот одного из слуг, – снизу… еще один, – говорили голоса, и тяжелые дыхания и переступанья ногами людей стали торопливее, как будто тяжесть, которую они несли, была сверх сил их.
Несущие, в числе которых была и Анна Михайловна, поровнялись с молодым человеком, и ему на мгновение из за спин и затылков людей показалась высокая, жирная, открытая грудь, тучные плечи больного, приподнятые кверху людьми, державшими его под мышки, и седая курчавая, львиная голова. Голова эта, с необычайно широким лбом и скулами, красивым чувственным ртом и величественным холодным взглядом, была не обезображена близостью смерти. Она была такая же, какою знал ее Пьер назад тому три месяца, когда граф отпускал его в Петербург. Но голова эта беспомощно покачивалась от неровных шагов несущих, и холодный, безучастный взгляд не знал, на чем остановиться.
Прошло несколько минут суетни около высокой кровати; люди, несшие больного, разошлись. Анна Михайловна дотронулась до руки Пьера и сказала ему: «Venez». [Идите.] Пьер вместе с нею подошел к кровати, на которой, в праздничной позе, видимо, имевшей отношение к только что совершенному таинству, был положен больной. Он лежал, высоко опираясь головой на подушки. Руки его были симметрично выложены на зеленом шелковом одеяле ладонями вниз. Когда Пьер подошел, граф глядел прямо на него, но глядел тем взглядом, которого смысл и значение нельзя понять человеку. Или этот взгляд ровно ничего не говорил, как только то, что, покуда есть глаза, надо же глядеть куда нибудь, или он говорил слишком многое. Пьер остановился, не зная, что ему делать, и вопросительно оглянулся на свою руководительницу Анну Михайловну. Анна Михайловна сделала ему торопливый жест глазами, указывая на руку больного и губами посылая ей воздушный поцелуй. Пьер, старательно вытягивая шею, чтоб не зацепить за одеяло, исполнил ее совет и приложился к ширококостной и мясистой руке. Ни рука, ни один мускул лица графа не дрогнули. Пьер опять вопросительно посмотрел на Анну Михайловну, спрашивая теперь, что ему делать. Анна Михайловна глазами указала ему на кресло, стоявшее подле кровати. Пьер покорно стал садиться на кресло, глазами продолжая спрашивать, то ли он сделал, что нужно. Анна Михайловна одобрительно кивнула головой. Пьер принял опять симметрично наивное положение египетской статуи, видимо, соболезнуя о том, что неуклюжее и толстое тело его занимало такое большое пространство, и употребляя все душевные силы, чтобы казаться как можно меньше. Он смотрел на графа. Граф смотрел на то место, где находилось лицо Пьера, в то время как он стоял. Анна Михайловна являла в своем положении сознание трогательной важности этой последней минуты свидания отца с сыном. Это продолжалось две минуты, которые показались Пьеру часом. Вдруг в крупных мускулах и морщинах лица графа появилось содрогание. Содрогание усиливалось, красивый рот покривился (тут только Пьер понял, до какой степени отец его был близок к смерти), из перекривленного рта послышался неясный хриплый звук. Анна Михайловна старательно смотрела в глаза больному и, стараясь угадать, чего было нужно ему, указывала то на Пьера, то на питье, то шопотом вопросительно называла князя Василия, то указывала на одеяло. Глаза и лицо больного выказывали нетерпение. Он сделал усилие, чтобы взглянуть на слугу, который безотходно стоял у изголовья постели.
– На другой бочок перевернуться хотят, – прошептал слуга и поднялся, чтобы переворотить лицом к стене тяжелое тело графа.
Пьер встал, чтобы помочь слуге.
В то время как графа переворачивали, одна рука его беспомощно завалилась назад, и он сделал напрасное усилие, чтобы перетащить ее. Заметил ли граф тот взгляд ужаса, с которым Пьер смотрел на эту безжизненную руку, или какая другая мысль промелькнула в его умирающей голове в эту минуту, но он посмотрел на непослушную руку, на выражение ужаса в лице Пьера, опять на руку, и на лице его явилась так не шедшая к его чертам слабая, страдальческая улыбка, выражавшая как бы насмешку над своим собственным бессилием. Неожиданно, при виде этой улыбки, Пьер почувствовал содрогание в груди, щипанье в носу, и слезы затуманили его зрение. Больного перевернули на бок к стене. Он вздохнул.
– Il est assoupi, [Он задремал,] – сказала Анна Михайловна, заметив приходившую на смену княжну. – Аllons. [Пойдем.]
Пьер вышел.


В приемной никого уже не было, кроме князя Василия и старшей княжны, которые, сидя под портретом Екатерины, о чем то оживленно говорили. Как только они увидали Пьера с его руководительницей, они замолчали. Княжна что то спрятала, как показалось Пьеру, и прошептала:
– Не могу видеть эту женщину.
– Catiche a fait donner du the dans le petit salon, – сказал князь Василий Анне Михайловне. – Allez, ma pauvre Анна Михайловна, prenez quelque сhose, autrement vous ne suffirez pas. [Катишь велела подать чаю в маленькой гостиной. Вы бы пошли, бедная Анна Михайловна, подкрепили себя, а то вас не хватит.]
Пьеру он ничего не сказал, только пожал с чувством его руку пониже плеча. Пьер с Анной Михайловной прошли в petit salon. [маленькую гостиную.]
– II n'y a rien qui restaure, comme une tasse de cet excellent the russe apres une nuit blanche, [Ничто так не восстановляет после бессонной ночи, как чашка этого превосходного русского чаю.] – говорил Лоррен с выражением сдержанной оживленности, отхлебывая из тонкой, без ручки, китайской чашки, стоя в маленькой круглой гостиной перед столом, на котором стоял чайный прибор и холодный ужин. Около стола собрались, чтобы подкрепить свои силы, все бывшие в эту ночь в доме графа Безухого. Пьер хорошо помнил эту маленькую круглую гостиную, с зеркалами и маленькими столиками. Во время балов в доме графа, Пьер, не умевший танцовать, любил сидеть в этой маленькой зеркальной и наблюдать, как дамы в бальных туалетах, брильянтах и жемчугах на голых плечах, проходя через эту комнату, оглядывали себя в ярко освещенные зеркала, несколько раз повторявшие их отражения. Теперь та же комната была едва освещена двумя свечами, и среди ночи на одном маленьком столике беспорядочно стояли чайный прибор и блюда, и разнообразные, непраздничные люди, шопотом переговариваясь, сидели в ней, каждым движением, каждым словом показывая, что никто не забывает и того, что делается теперь и имеет еще совершиться в спальне. Пьер не стал есть, хотя ему и очень хотелось. Он оглянулся вопросительно на свою руководительницу и увидел, что она на цыпочках выходила опять в приемную, где остался князь Василий с старшею княжной. Пьер полагал, что и это было так нужно, и, помедлив немного, пошел за ней. Анна Михайловна стояла подле княжны, и обе они в одно время говорили взволнованным шопотом:
– Позвольте мне, княгиня, знать, что нужно и что ненужно, – говорила княжна, видимо, находясь в том же взволнованном состоянии, в каком она была в то время, как захлопывала дверь своей комнаты.
– Но, милая княжна, – кротко и убедительно говорила Анна Михайловна, заступая дорогу от спальни и не пуская княжну, – не будет ли это слишком тяжело для бедного дядюшки в такие минуты, когда ему нужен отдых? В такие минуты разговор о мирском, когда его душа уже приготовлена…
Князь Василий сидел на кресле, в своей фамильярной позе, высоко заложив ногу на ногу. Щеки его сильно перепрыгивали и, опустившись, казались толще внизу; но он имел вид человека, мало занятого разговором двух дам.
– Voyons, ma bonne Анна Михайловна, laissez faire Catiche. [Оставьте Катю делать, что она знает.] Вы знаете, как граф ее любит.
– Я и не знаю, что в этой бумаге, – говорила княжна, обращаясь к князю Василью и указывая на мозаиковый портфель, который она держала в руках. – Я знаю только, что настоящее завещание у него в бюро, а это забытая бумага…
Она хотела обойти Анну Михайловну, но Анна Михайловна, подпрыгнув, опять загородила ей дорогу.
– Я знаю, милая, добрая княжна, – сказала Анна Михайловна, хватаясь рукой за портфель и так крепко, что видно было, она не скоро его пустит. – Милая княжна, я вас прошу, я вас умоляю, пожалейте его. Je vous en conjure… [Умоляю вас…]
Княжна молчала. Слышны были только звуки усилий борьбы зa портфель. Видно было, что ежели она заговорит, то заговорит не лестно для Анны Михайловны. Анна Михайловна держала крепко, но, несмотря на то, голос ее удерживал всю свою сладкую тягучесть и мягкость.
– Пьер, подойдите сюда, мой друг. Я думаю, что он не лишний в родственном совете: не правда ли, князь?
– Что же вы молчите, mon cousin? – вдруг вскрикнула княжна так громко, что в гостиной услыхали и испугались ее голоса. – Что вы молчите, когда здесь Бог знает кто позволяет себе вмешиваться и делать сцены на пороге комнаты умирающего. Интриганка! – прошептала она злобно и дернула портфель изо всей силы.
Но Анна Михайловна сделала несколько шагов, чтобы не отстать от портфеля, и перехватила руку.
– Oh! – сказал князь Василий укоризненно и удивленно. Он встал. – C'est ridicule. Voyons, [Это смешно. Ну, же,] пустите. Я вам говорю.
Княжна пустила.
– И вы!
Анна Михайловна не послушалась его.
– Пустите, я вам говорю. Я беру всё на себя. Я пойду и спрошу его. Я… довольно вам этого.
– Mais, mon prince, [Но, князь,] – говорила Анна Михайловна, – после такого великого таинства дайте ему минуту покоя. Вот, Пьер, скажите ваше мнение, – обратилась она к молодому человеку, который, вплоть подойдя к ним, удивленно смотрел на озлобленное, потерявшее всё приличие лицо княжны и на перепрыгивающие щеки князя Василья.
– Помните, что вы будете отвечать за все последствия, – строго сказал князь Василий, – вы не знаете, что вы делаете.
– Мерзкая женщина! – вскрикнула княжна, неожиданно бросаясь на Анну Михайловну и вырывая портфель.
Князь Василий опустил голову и развел руками.
В эту минуту дверь, та страшная дверь, на которую так долго смотрел Пьер и которая так тихо отворялась, быстро, с шумом откинулась, стукнув об стену, и средняя княжна выбежала оттуда и всплеснула руками.
– Что вы делаете! – отчаянно проговорила она. – II s'en va et vous me laissez seule. [Он умирает, а вы меня оставляете одну.]
Старшая княжна выронила портфель. Анна Михайловна быстро нагнулась и, подхватив спорную вещь, побежала в спальню. Старшая княжна и князь Василий, опомнившись, пошли за ней. Через несколько минут первая вышла оттуда старшая княжна с бледным и сухим лицом и прикушенною нижнею губой. При виде Пьера лицо ее выразило неудержимую злобу.
– Да, радуйтесь теперь, – сказала она, – вы этого ждали.
И, зарыдав, она закрыла лицо платком и выбежала из комнаты.
За княжной вышел князь Василий. Он, шатаясь, дошел до дивана, на котором сидел Пьер, и упал на него, закрыв глаза рукой. Пьер заметил, что он был бледен и что нижняя челюсть его прыгала и тряслась, как в лихорадочной дрожи.
– Ах, мой друг! – сказал он, взяв Пьера за локоть; и в голосе его была искренность и слабость, которых Пьер никогда прежде не замечал в нем. – Сколько мы грешим, сколько мы обманываем, и всё для чего? Мне шестой десяток, мой друг… Ведь мне… Всё кончится смертью, всё. Смерть ужасна. – Он заплакал.
Анна Михайловна вышла последняя. Она подошла к Пьеру тихими, медленными шагами.
– Пьер!… – сказала она.
Пьер вопросительно смотрел на нее. Она поцеловала в лоб молодого человека, увлажая его слезами. Она помолчала.
– II n'est plus… [Его не стало…]
Пьер смотрел на нее через очки.
– Allons, je vous reconduirai. Tachez de pleurer. Rien ne soulage, comme les larmes. [Пойдемте, я вас провожу. Старайтесь плакать: ничто так не облегчает, как слезы.]
Она провела его в темную гостиную и Пьер рад был, что никто там не видел его лица. Анна Михайловна ушла от него, и когда она вернулась, он, подложив под голову руку, спал крепким сном.
На другое утро Анна Михайловна говорила Пьеру:
– Oui, mon cher, c'est une grande perte pour nous tous. Je ne parle pas de vous. Mais Dieu vous soutndra, vous etes jeune et vous voila a la tete d'une immense fortune, je l'espere. Le testament n'a pas ete encore ouvert. Je vous connais assez pour savoir que cela ne vous tourienera pas la tete, mais cela vous impose des devoirs, et il faut etre homme. [Да, мой друг, это великая потеря для всех нас, не говоря о вас. Но Бог вас поддержит, вы молоды, и вот вы теперь, надеюсь, обладатель огромного богатства. Завещание еще не вскрыто. Я довольно вас знаю и уверена, что это не вскружит вам голову; но это налагает на вас обязанности; и надо быть мужчиной.]
Пьер молчал.
– Peut etre plus tard je vous dirai, mon cher, que si je n'avais pas ete la, Dieu sait ce qui serait arrive. Vous savez, mon oncle avant hier encore me promettait de ne pas oublier Boris. Mais il n'a pas eu le temps. J'espere, mon cher ami, que vous remplirez le desir de votre pere. [После я, может быть, расскажу вам, что если б я не была там, то Бог знает, что бы случилось. Вы знаете, что дядюшка третьего дня обещал мне не забыть Бориса, но не успел. Надеюсь, мой друг, вы исполните желание отца.]
Пьер, ничего не понимая и молча, застенчиво краснея, смотрел на княгиню Анну Михайловну. Переговорив с Пьером, Анна Михайловна уехала к Ростовым и легла спать. Проснувшись утром, она рассказывала Ростовым и всем знакомым подробности смерти графа Безухого. Она говорила, что граф умер так, как и она желала бы умереть, что конец его был не только трогателен, но и назидателен; последнее же свидание отца с сыном было до того трогательно, что она не могла вспомнить его без слез, и что она не знает, – кто лучше вел себя в эти страшные минуты: отец ли, который так всё и всех вспомнил в последние минуты и такие трогательные слова сказал сыну, или Пьер, на которого жалко было смотреть, как он был убит и как, несмотря на это, старался скрыть свою печаль, чтобы не огорчить умирающего отца. «C'est penible, mais cela fait du bien; ca eleve l'ame de voir des hommes, comme le vieux comte et son digne fils», [Это тяжело, но это спасительно; душа возвышается, когда видишь таких людей, как старый граф и его достойный сын,] говорила она. О поступках княжны и князя Василья она, не одобряя их, тоже рассказывала, но под большим секретом и шопотом.


В Лысых Горах, имении князя Николая Андреевича Болконского, ожидали с каждым днем приезда молодого князя Андрея с княгиней; но ожидание не нарушало стройного порядка, по которому шла жизнь в доме старого князя. Генерал аншеф князь Николай Андреевич, по прозванию в обществе le roi de Prusse, [король прусский,] с того времени, как при Павле был сослан в деревню, жил безвыездно в своих Лысых Горах с дочерью, княжною Марьей, и при ней компаньонкой, m lle Bourienne. [мадмуазель Бурьен.] И в новое царствование, хотя ему и был разрешен въезд в столицы, он также продолжал безвыездно жить в деревне, говоря, что ежели кому его нужно, то тот и от Москвы полтораста верст доедет до Лысых Гор, а что ему никого и ничего не нужно. Он говорил, что есть только два источника людских пороков: праздность и суеверие, и что есть только две добродетели: деятельность и ум. Он сам занимался воспитанием своей дочери и, чтобы развивать в ней обе главные добродетели, до двадцати лет давал ей уроки алгебры и геометрии и распределял всю ее жизнь в беспрерывных занятиях. Сам он постоянно был занят то писанием своих мемуаров, то выкладками из высшей математики, то точением табакерок на станке, то работой в саду и наблюдением над постройками, которые не прекращались в его имении. Так как главное условие для деятельности есть порядок, то и порядок в его образе жизни был доведен до последней степени точности. Его выходы к столу совершались при одних и тех же неизменных условиях, и не только в один и тот же час, но и минуту. С людьми, окружавшими его, от дочери до слуг, князь был резок и неизменно требователен, и потому, не быв жестоким, он возбуждал к себе страх и почтительность, каких не легко мог бы добиться самый жестокий человек. Несмотря на то, что он был в отставке и не имел теперь никакого значения в государственных делах, каждый начальник той губернии, где было имение князя, считал своим долгом являться к нему и точно так же, как архитектор, садовник или княжна Марья, дожидался назначенного часа выхода князя в высокой официантской. И каждый в этой официантской испытывал то же чувство почтительности и даже страха, в то время как отворялась громадно высокая дверь кабинета и показывалась в напудренном парике невысокая фигурка старика, с маленькими сухими ручками и серыми висячими бровями, иногда, как он насупливался, застилавшими блеск умных и точно молодых блестящих глаз.
В день приезда молодых, утром, по обыкновению, княжна Марья в урочный час входила для утреннего приветствия в официантскую и со страхом крестилась и читала внутренно молитву. Каждый день она входила и каждый день молилась о том, чтобы это ежедневное свидание сошло благополучно.
Сидевший в официантской пудреный старик слуга тихим движением встал и шопотом доложил: «Пожалуйте».
Из за двери слышались равномерные звуки станка. Княжна робко потянула за легко и плавно отворяющуюся дверь и остановилась у входа. Князь работал за станком и, оглянувшись, продолжал свое дело.
Огромный кабинет был наполнен вещами, очевидно, беспрестанно употребляемыми. Большой стол, на котором лежали книги и планы, высокие стеклянные шкафы библиотеки с ключами в дверцах, высокий стол для писания в стоячем положении, на котором лежала открытая тетрадь, токарный станок, с разложенными инструментами и с рассыпанными кругом стружками, – всё выказывало постоянную, разнообразную и порядочную деятельность. По движениям небольшой ноги, обутой в татарский, шитый серебром, сапожок, по твердому налеганию жилистой, сухощавой руки видна была в князе еще упорная и много выдерживающая сила свежей старости. Сделав несколько кругов, он снял ногу с педали станка, обтер стамеску, кинул ее в кожаный карман, приделанный к станку, и, подойдя к столу, подозвал дочь. Он никогда не благословлял своих детей и только, подставив ей щетинистую, еще небритую нынче щеку, сказал, строго и вместе с тем внимательно нежно оглядев ее:
– Здорова?… ну, так садись!
Он взял тетрадь геометрии, писанную его рукой, и подвинул ногой свое кресло.
– На завтра! – сказал он, быстро отыскивая страницу и от параграфа до другого отмечая жестким ногтем.
Княжна пригнулась к столу над тетрадью.
– Постой, письмо тебе, – вдруг сказал старик, доставая из приделанного над столом кармана конверт, надписанный женскою рукой, и кидая его на стол.
Лицо княжны покрылось красными пятнами при виде письма. Она торопливо взяла его и пригнулась к нему.
– От Элоизы? – спросил князь, холодною улыбкой выказывая еще крепкие и желтоватые зубы.
– Да, от Жюли, – сказала княжна, робко взглядывая и робко улыбаясь.
– Еще два письма пропущу, а третье прочту, – строго сказал князь, – боюсь, много вздору пишете. Третье прочту.
– Прочтите хоть это, mon pere, [батюшка,] – отвечала княжна, краснея еще более и подавая ему письмо.
– Третье, я сказал, третье, – коротко крикнул князь, отталкивая письмо, и, облокотившись на стол, пододвинул тетрадь с чертежами геометрии.
– Ну, сударыня, – начал старик, пригнувшись близко к дочери над тетрадью и положив одну руку на спинку кресла, на котором сидела княжна, так что княжна чувствовала себя со всех сторон окруженною тем табачным и старчески едким запахом отца, который она так давно знала. – Ну, сударыня, треугольники эти подобны; изволишь видеть, угол abc…
Княжна испуганно взглядывала на близко от нее блестящие глаза отца; красные пятна переливались по ее лицу, и видно было, что она ничего не понимает и так боится, что страх помешает ей понять все дальнейшие толкования отца, как бы ясны они ни были. Виноват ли был учитель или виновата была ученица, но каждый день повторялось одно и то же: у княжны мутилось в глазах, она ничего не видела, не слышала, только чувствовала близко подле себя сухое лицо строгого отца, чувствовала его дыхание и запах и только думала о том, как бы ей уйти поскорее из кабинета и у себя на просторе понять задачу.
Старик выходил из себя: с грохотом отодвигал и придвигал кресло, на котором сам сидел, делал усилия над собой, чтобы не разгорячиться, и почти всякий раз горячился, бранился, а иногда швырял тетрадью.
Княжна ошиблась ответом.
– Ну, как же не дура! – крикнул князь, оттолкнув тетрадь и быстро отвернувшись, но тотчас же встал, прошелся, дотронулся руками до волос княжны и снова сел.
Он придвинулся и продолжал толкование.
– Нельзя, княжна, нельзя, – сказал он, когда княжна, взяв и закрыв тетрадь с заданными уроками, уже готовилась уходить, – математика великое дело, моя сударыня. А чтобы ты была похожа на наших глупых барынь, я не хочу. Стерпится слюбится. – Он потрепал ее рукой по щеке. – Дурь из головы выскочит.
Она хотела выйти, он остановил ее жестом и достал с высокого стола новую неразрезанную книгу.
– Вот еще какой то Ключ таинства тебе твоя Элоиза посылает. Религиозная. А я ни в чью веру не вмешиваюсь… Просмотрел. Возьми. Ну, ступай, ступай!