Вычислительные методы алгебры и оценивания. И.В. Семушкин (2011) (1185350), страница 45
Текст из файла (страница 45)
287.e и D,b и вЗамечание 13.10. Массив D может быть общим для De инем обновляются только первые q элементов. В массивах для матриц Lb обновляются только первые q − 1 столбцов, а столбцы с q-го по n-й неLобновляются и могут быть общими.13.10Редуцированный фильтр Бар-ИцхакаЕсли в исходном фильтра Калмана (13.3) свойство (13.9) рассматриватьсразу для всех m строк матрицы наблюденийH(ti) = H = [ H mq 0 ],(13.10)это может служить поводом для сокращения объема вычислений, как этопроизошло выше в подразд 13.9.
В (13.10) H mq — ненулевая подматрица,где mq указывает ее размер (m × q), 0 — нулевая подматрица, ее размер(m × s), s = n − q.Свойство (13.10)означает, что оцениваемый вектор распадается на двечасти: x = [ xq xs ]. Часть xq попадает в вектор измерений z = z(ti ), а часть28813.11 Редуцированный фильтр Бар-Ицхака–Меданаxs — нет. Соответственно этому, каждую P -матрицу, т. е. Pb и Pe, рассмотримпоблочно как матрицу следующего вида [89]: qqP(P sq )T.(13.11)P =P sqP ssТеорема 13.7 (Bar-Itzhack, 1980).Если выполнено условие (13.10),алгоритм (13.3) распадается на независимый редуцированный фильтр размерности q для измеряемых компонент xq вектора x (аргумент дискретноговремени ti для простоты опущен):hi−1 TTqmqqmqmqqqmqK = Pe (H ) H Pe (H ) + R , (13.12)Pbqq = Peqq − K qmH mq Peqq ,xbq = xeq + K qm (z − H mq xeq )и фильтр размерности s = n−q, зависимый от предыдущего фильтра (13.12),для неизмеряемых компонент xs вектора x : −1sqsq eqqe,PK =Psqsq b qqbP =K P ,(13.13)TsqqqqqsssssqPe − Pb (K ) , Pb = Pe − Ksssqqqxb =xe + K (bx −xe).Доказательство.
Подстановка выражений (13.10) и (13.11) в уравнениястандартного фильтра Калмана (13.3) после несложных алгебраических преобразований приводит к (13.12) и (13.13).2Полученный алгоритм лишь выделяет редуцированный фильтр (13.12),но для него задача LD-факторизации остается актуальной. Ее решает следующий алгоритм (подразд. 13.11).13.11Редуцированный фильтр Бар-Ицхака–МеданаЭтот результат представлен в 1983 году как новый LD-алгоритм обновления оценок по измерениям.
Он является лучшим по сравнению с обычнымLD-алгоритмом в случае, когда число элементов вектора состояния, непосредственно попадающих в вектор измерений, меньше, чем размерность вектора состояния. Такая ситуация типична для аэрокосмических приложений.28913 Устойчивые алгоритмы фильтрацииТак, в инерциальных навигационных системах число состояний может бытьболее 40, а число измеренных состояний — только 3.Теорема 13.8 (Bar-Itzhack–Medan, 1983 [89]).Пусть при условииbDbLbT и Pe =(13.10) алгоритм Калмана (13.3) использует разложения Pb = LeDeLeT с обозначениями Pb = P (t− ) и Pe = P (t+ ), причем Pb и Pe рассмот=Liibbeeрены поблочно, как в (13.11), и L, D, L, D разложены по типу выражений qq qL0D0L=,D=.(13.14)LsqLss0DssТогда этот алгоритм эквивалентен следующему алгоритму (излагаемое относится лишь к этапу II обработки измерения с матрицей вида (13.10)):II. Обработка измерения, эквивалентная работе алгоритма (13.12):e = Lqq (t− ), De = Dq (t− ), xА.
Начальное присваивание: Le = xq (t−iii ).Б. m-кратное повторение процедуры скалярного обновления.Для j = 1, 2, . . . , m выполнять:eT h;В. Вычислить векторы f = [f1, f2, . . . , fq ]T = Le .v = [v1, v2, . . . , vq ]T = Df T0Г. Задать начальные значения α = r; K = [0 . . . 0 vq ] .Д. Для i = q, q − 1, . .
. , 2, 1 выполнять:началоα := α 0 + vifi ; γ := 1/α ;dbi := deiα 0 γ ;λ := −fi γ ;bli := eli + λK ; K := K + eli v i ;(✮)0α := α .конецЕ. Вычислить векторы ν := γ(z − hT xe) ; xb := xe + Kνс экстраполяцией между повторениями:e := Lb; De := Db; xLe := xb.Ж.
Завершающее присваивание по п. II:bqq (t+ ) := Lb;Lib q (t+) := Db;Dixbq (t+b.i ) := xЗдесь h — j-й столбец подматрицы (H mq )T (ti) из (13.10); z — j-йэлемент вектора z(ti ); r — j-й элемент rj (ti) диагональной матрицы29013.11 Редуцированный фильтр Бар-Ицхака–Меданаковариаций шума измерений R(ti ), j = 1, 2, . . . , m — номер скалярного измерения в составе вектора измерений z(ti ) в момент ti .III.
Обновление оценок для неизмеряемых компонент xs вектора x,эквивалентное работе алгоритма (13.13):З. Вычислить:K sq −1sq e qqe=L L,bsq = K sq Lbqq ,Lbss = Less , Dbs = Des ,Lxbs = xes + K sq (bxq − xeq ) .(13.15)И. Завершающее присваивание по п. III:bs ; xb ss ; Db s (t+ ) := Dbsq ; Lbss (t+) := Lbsq (t+) := Lbs .bs (t+Li ) := xiiiЗамечание 13.11. Строка ✮ в алгоритме на стр.
290 выглядит так:Для k = i + 1 до q выполнятьначалоblki := elki + λKk , Kk := Kk + elkiviконецОна пропускается при i = q. Здесь Kk есть k-й элемент того вектора K,который существует в цикле Д алгоритма на стр. 290.Доказательство.P qqP sqP ssПодстановка (13.14) в разложение P = LDLT дает= Lqq Dq (Lqq )T ,sq qqq T(13.16)= L D (L ) ,= Lsq Dq (Lsq )T + LssDs (Lss)T .Из первого уравнения (13.13) и из первых двух уравнений (13.16), учитывая добавление верхней тильды e· над любым символом · , получаем первоеуравнение из (13.15). Из второго уравнения (13.13) и из первых двух уравнений (13.16), учитывая добавление верхней крышки b· над любым символом· , получаем второе уравнение из (13.15), имея в виду, что Pb > 0 влечетb q > 0 и det Lbqq 6= 0.
Из третьего уравнения (13.13), из первыхPbqq > 0, Dдвух уравнений (13.15) и из первого и третьего уравнений (13.16) следуетbss Db s (Lbss )T = LessDe s (Less)T .L29113 Устойчивые алгоритмы фильтрацииБлагодаря единственности LD-факторизации, это дает третью строку извыражений (13.15).2Данный алгоритм привлекателен своей простотой, но применять его надос большой осторожностью, принимая во внимание следующие замечания.Замечание 13.12. Из первых двух уравнений (13.13) видно, чтоP (Pbqq )−1 = Pesq (Peqq )−1, так же как первые два уравнения из (13.15) даютbsq (Lbqq )−1 = Lesq (Leqq )−1.
Если на этапе экстраполяции должно быть сохраLнение ковариаций, что соответствует операторам Pesq := Pbsq и Peqq := Pbqq , тозначение K sq не будет вообще изменяться. Известно, что такое сохранениековариаций возникает в задаче чистой регрессии — в предположении, чтооцениваемый вектор x постоянен во времени. Поэтому данный алгоритм взадаче регрессионного моделирования неприменим. Это понятно также изтого, что в этой задаче условие (13.10) означает полную ненаблюдаемостькомпонент xs оцениваемого вектора x = const.bsqЗамечание 13.13.
Для алгоритма Бар-Ицхака (см. подразд 13.10)esq = 0, следует K sq = 0, xиз Pesq = 0, а здесь из Lbs = xes, а такжеbsq = 0. Поэтому, если в измерение z непосредPbsq = 0, Pbss = Pess и Lственно попадает только часть xq оцениваемого вектора x и если априориe что в ней Pesq = 0 (совыбрана такая матрица Pe (для данного алгоритма L),e sq = 0), то в принципе нельзя улучшить априорную оценкуответственно, Lxes . Отсюда видно, насколько важно задавать Pesq 6= 0 (соответственно,esq 6= 0) до запуска алгоритма. В динамических задачах оценивания этоLне столь критично, так как там на этапе экстраполяции вычисляют новоеPe := ΦPbΦT + ΓQΓT , а не просто полагают Pe := Pb.Замечание 13.14.Выбор LD-факторизации здесь не произволен, как отмечается в [89], а подчинен желанию обеспечить независимостьредуцированного фильтра (13.12) (соответственно, этапа II алгоритма настр.
290), а также правым, а не левым размещением нулевого блока в (13.10).Замечание 13.15. Первое выражение в (13.15) реализуется прощебез вычисления обратной матрицы, если его переписать как линейную системуeqq )T (K sq )T = (Lesq )T(Lи решать ее обратной подстановкой относительно (K sq )T .Следствие 13.1. В условиях теоремы 13.8 ее утверждение справед29213.12 Задача сопровождения судна на траекторииливо для алгоритма, в котором (13.15) заменены следующими выражениями:eqq )−1Lbqq ,L̄qq = (Lsqsq qqbeL = L L̄ ,ssssssbebe(13.17)L =L , D =D ,eqq )−1(bδ q = (Lxq − xeq ) , sssqqexb =xe +L δ .Замечание 13.16. Первое выражение из (13.17) реализуется не вычислением обратной матрицы, а применением процедуры обратной подстаeqq L̄qq = Lbqq относительно L̄qq .
Аналогично, четвертое вырановки к системе Lжение из (13.17) реализуется применением обратной подстановки к системеeqq δ q = xLbq − xeq относительно δ q . Следствие 13.1 дает более эффективныйалгоритм, чем теорема 13.8, когда q + 1 < s = n − q, т. е. при q < (n − 1)/2.13.12Задача сопровождения судна на траекторииОбработка данных, поступающих от некоторого источника, с помощьюалгоритмов фильтрации требует иметь отдельно модель движения (состояния) объекта и модель измерений. Продемонстрируем, как строить эти модели применительно к анализу движения надводного судна.Модель движения суднаТекущее состояние судна на плоской траектории с точки зрения кинематики (а не динамики) движения, характеризуется пятью параметрами: двекоординаты, скорость, направление и угловая скорость движения.
Модельпространственного движения включает 12 уравнений для координат центрамасс, углов Эйлера, составляющих линейной и угловой скоростей в связанной системе координат [60]. Представим движение судна как дискретныйстохастический процесс sk , подчиняющийся следующему уравнению [114]:x + (2/ω) v sin(ω∆t/2) cos(φ + ω∆t/2) y + (2/ω) v sin(ω∆t/2) sin(φ + ω∆t/2) + Γwk−1 .(13.18)vsk = φ + ω∆tωk−129313 Устойчивые алгоритмы фильтрацииМодель (13.18) есть модель состояния sk , что позволяет применять теорию фильтрации Калмана. Вектор sk = (x, y, v, φ, ω)T содержит пять величин: x, y — географические координаты цели (широта и долгота в прямоугольной системе координат в метрах), v — линейная скорость (м/с), φ —направление движения (курсовой угол в радианах от северного направленияпо часовой стрелке), ω — угловая скорость (рад/с).