Вычислительные методы алгебры и оценивания. И.В. Семушкин (2011) (1185350), страница 50
Текст из файла (страница 50)
. . получим (14.8)и (14.9) — так называемую предиктивную форму фильтра Калмана: −− T− T−1−x̂+PH(HPH+R)(z−Hx̂)(14.8)оценка: x̂−=Φt tttt ttttttt+1с {·} = x0 при t = 0 в (14.8), поскольку {·} в (14.8) выражает оценку (14.6),отфильтрованную в результате обработки измерения, но измерений в моментt = 0 еще нет (они начинаются с момента t = 1);−ковариация: Pt+1= Gt Qt GTt + Φt Pt− − Pt− HtT (Ht Pt− HtT + Rt )−1Ht Pt− ΦTt(14.9)с {·} = P0 при t = 0 в (14.9), поскольку {·} в (14.9) выражает ковариацию(14.7) оценки (14.6), отфильтрованной в результате обработки измерения, ноизмерений в момент t = 0 еще нет (они начинаются с момента t = 1).−Уравнение (14.9) есть уравнение Риккати [109] относительно Pt+1.Замечание 14.1. Видно, что в (14.8) отсутствует слагаемое Bt ut .Оно опущено в силу предположения ut ≡ 0. В любой момент оно может бытьдобавлено, если ut 6= 0.
Такой прием — убрать это слагаемое (для простотызаписей) или добавить его (в нужный момент) — можно применять всегда.Квадратно-корневая реализация уравнений (14.3)–(14.9) c использованием разложений вида Pt± = St±(St± )T рассмотрена выше (разд. 13). Тамуже возникала необходимость процедуры триангуляризации, т.
е. процедурыприведения матрицы St± к требуемому треугольному виду. Эту идею (применительно к задаче фильтрации) предложил и разработал Schmidt, S.F.[129] в 1970 г. В частности, Schmidt показал, что уравнение (14.4) для предсказания матрицы ковариации ошибки оценивания на этапе экстраполяцииможет быть заменено на эквивалентное уравнение + T − T (St )(St+1)=T,(14.10)0Q̃Tt GTt−−=где St+1, St+ — нижние треугольные матрицы в представлениях Pt+1−− T+++ TT= St+1(St+1) , Pt = St (St ) , Qt = Q̃t Q̃t . Он также разработал алгоритмпостроения ортогонального преобразования T , приводящего к требуемомутреугольному виду матрицу, стоящую в правой части формулы (14.10). Этапроцедура известна как процедура ортогонализации Грама–Шмидта.В 1971 г.
Kaminski, P.G. предложил новые модификации ковариационных и информационных типов квадратно-корневых методов фильтрации,31814.2 Блочные алгоритмы в исторической перспективеобладающие рядом преимуществ перед ранее известными алгоритмами [103].Остановимся более подробно лишь на одном из них, который потребуетсяв дальнейшем. Исходя из хорошо известной дуальности ковариационных иинформационных алгоритмов, Kaminski разработал новую схему [103]1/2Rt0Ht St−St−=T"1/2Re,tK̃t0St+#(14.11)1/2для осуществления этапа обработки измерений и фильтрации, где Re,t —квадратный корень матрицы Re,t ковариации невязки измерений et = zt −− T −T /2и где T — ортогональное преобразование, при− H x̂−t , K̃t = Pt Ht Re,tводящее к нижнему треугольному виду матрицу, стоящую в правой частиформулы (14.11). Он также предложил использовать в качестве алгоритмаэкстраполяции формулу (14.10), которую ввел Schmidt.
Так возникла ещеодна эффективная реализация алгоритма калмановской фильтрации.Вслед за этими нововведениями в 1975 г. Morf, M. и Kailath, T. разработали так называемые быстрые квадратно-корневые алгоритмы фильтрации для систем, матрицы-параметры Φ, G, B, H, Q, R которых не зависятот времени. Их основная идея — создание нового способа вычислений, осно±−Pt± вместо Pt± . Это значительнованного на работе с матрицами δPt± = Pt+1улучшило численные характеристики квадратно-корневых алгоритмов дляподобных систем, т.
е. сократило общее количество арифметических действий на вычислениях и, следовательно, время работы [119]. Кроме того,ими была предложена идея комбинирования алгоритмов, которые разработал Schmidt для этапа экстраполяции фильтра Калмана (14.10), и алгоритмов, которые предложил Kaminski для этапа обработки измерений (14.11),с целью получения новой, более эффективной реализации фильтра в виде1/2Re,t00TK̄p,t− 1/2(Pt+1)0=T1/2Rt(Pt− )1/2HtT00(Pt− )1/2ΦTt1/2Qt GTt,(14.12)где T — любое ортогональное преобразование, приводящее к верхнему треугольному виду матрицу, стоящую в правой части формулы (14.12) и K̄p,t ,, ΦtK̃t .
Уравнение (14.9) алгебраически эквивалентно формуле (14.12).Алгоритм (14.12) в настоящее время известен как квадратно-корневой ковариационный фильтр Калмана — КККФ.31914 Ортогонализованные блочные алгоритмы14.3Расширенный квадратно-корневойковариационный фильтрДля удобства введем следующие обозначения. Когда некоторая матрица A > 0, будем рассматривать для нее разложение Холесского вида:A = AT /2A1/2, где A1/2 — верхняя треугольная матрица, являющаяся квадратным корнем из A. Тогда AT /2 = (A1/2)T , A−1/2 = (A1/2)−1 и A−T /2 == (A−1/2)T .
Для величин, вычисляемых в фильтре Калмана, примем обо−1/2−1, K̄p,t , ΦtP̃t HtT Re,t , ēt — нормализованныезначения: Kp,t , ΦtP̃t HtT Re,t−T /2невязки фильтра Калмана, т. е. ēt , Re,t e, где e , zt − H x̂−t — невязкаизмерений фильтраковариационной T в момент времени t, характеризуемая+T—матрицей E et et , Re,t , Re,t , Ht P̃t Ht + Rt . Кроме того, x̂−t , x̂tпредсказанная и отфильтрованная оценки вектора состояния системы (14.1),(14.2), соответственно; P̃t , P̂t — матрицы ковариации ошибки предсказаннойи отфильтрованной оценок, соответственно.Следуя цели данного раздела, рассмотрим так называемый расширенныйквадратно-корневой ковариационный фильтр (РКККФ), впервые предложенный в [123].Aлгоритм РККKФПо данным x̂−0 = x̄0 , P̃0 = P0 в каждый момент времени t, t = 1, 2, .
. . ,вычисляют:1/2−T /21/2T0Rtzt−Rt−ētRe,t K̄p,t−T /2 − 1/2−T /2= Ot P̃t1/2 HtT P̃t1/2ΦTtx̂t , (14.13)P̃t 0 P̃t+1P̃t+1 x̂−t+1 1/2 Tγ000Qt Gt0где Ot — матрица ортогонального преобразования, которая при умножении слева на матрицу в правой части формулы (14.13) приводит ее к блоч−1/2ному верхнему треугольному виду. Кроме того, γ = −Q̃t Kb,tx̂−t+1 , где−1T −1Kb,t = Qt Gt P̃t+1 и Q̃t = Qt − Qt Gt P̃t+1Gt Qt .Теоретическое обоснование приведенного алгоритма можно найти в [123].Отметим, что уравнения (14.8), (14.9) стандартного фильтра Калмана(СКФ) алгебраически эквивалентны формуле (14.13).
Данный РКККФ естьне что иное как «расширение» стандартного квадратно-корневого ковариационного алгоритма фильтрации (см. формулу (14.12)) посредством добавления еще одного столбца — столбца данных:iTh −1/2− TT −1/2(14.14),0 .x̂t P̃t−zt Rt ,32014.3 Расширенный квадратно-корневой К-фильтрПри всей своей простоте, подобная модификация алгоритма обладаетрядом преимуществ перед ранее известными ковариационными реализациями дискретного фильтра Калмана [123]:1◦ Для отыскания предсказанной оценки вектора состояния системы x̂−t+1с помощью стандартного квадратно-корневого ковариационного алгоритма фильтрации (СКККФ) (см. формулу (14.12)) существует необходимость проводить дополнительные вычисления, а именно: по доступ1/21/2−ным из (14.12) K̄p,t , Re,t находить x̂−t+1 = Φt x̂t + K̄p,t Re,t−1(zt −− Ht x̂−t ). Последнее, в свою очередь, требует обращения верхней тре1/2угольной матрицы Re,t размера (m × m).
Теперь — при использованииРКККФ эта необходимость исчезает. По найденным из (14.13) величи1/2−T /2 −T/2−T/2−нам P̃t+1 и P̃t+1 x̂t+1 сразу находим x̂−t+1 = P̃t+1 P̃t+1 x̂t+1 .2◦ То, что отыскание x̂−t+1 включено в алгоритм без дополнительных вычислений и что все данные, необходимые для продолжения работы фильтра, оказываются найдены одновременно и независимо друг от друга,делает РКККФ (14.13) более приспособленным к параллельным вычислениям, чем ранее известные методы.3◦ Для каждого момента времени t единственной матрицей, для которойтребуется вычисление обратной, является верхняя треугольная матрица1/2Rt .
(В случае, если P0 6= In, где In — единичная матрица размера (n×−1/2n), также необходимо вычислить P0 ). Таким образом, в случае P0 =In работоспособность РКККФ в каждый момент времени t существенно1/2зависит от свойств обращаемой матрицы Rt .Следуя работе [123], выделим в РКККФ (14.13) два этапа:•Этап обработки измерений (фильтрация):" 1/2##"1/2−T /2TK̄p,tRe,t0Rtzt−ēt−Rt= Ot,1,−T /2 +−T /2 −1/21/21/2x̂tx̂tP̃t HtT P̃t ΦTt P̃t0 P̂t ΦTt P̂t(14.15)где Ot,1 — ортогональное преобразование, приводящее к блочномуверхнему треугольному виду первых два (блочных) столбца матрицы,стоящей в правой части формулы (14.15).
Можно видеть, что формула (14.15) есть не что иное как «расширенное» уравнение (14.11),которое предложил Kaminski.32114 Ортогонализованные блочные алгоритмы•Этап экстраполяции:" 1/2−T /2P̃t+1P̃t+1 x̂−t+10#−T /2−Q̃t Kb,t x̂t+1= Ot,2"1/2P̂t ΦTt1/2Qt GTt−T /2 +x̂tP̂t0#,(14.16)где Ot,2 — ортогональное преобразование, приводящее к верхнему треугольному виду первый (блочный) столбец матрицы, стоящей в правойчасти формулы (14.16). Также видно, что формула (14.16) есть не чтоиное как «расширенное» уравнение (14.10), которое предложил Schmidt.14.4Расширенный квадратно-корневойинформационный фильтрКак видно из подразд.
11.6, информационные алгоритмы могут стартовать в условиях очень скудной априорной информации, — возможно, даженулевой, когда начальная информационная матрица Λ0 = 0. Говоря строго,применение ковариационных фильтров при Λ0 = 0 невозможно, так какначальная ковариационная матрица, равная P0 = Λ−10 , не имеет конечногозначения при запуске алгоритма. Алгоритмы информационного типа помогают избежать таких осложнений на начальном участке фильтрации. В этомслучае задают Λ0 = ε2I, ε — очень малое число, возможно, 0.Рассмотрим расширенный квадратно-корневой информационный алгоритм фильтрации (РККИФ), предложенный в [123].Aлгоритм РККИФПредполагая, что матрицы P0 > 0, Rt > 0, по данным x̂−0 = x̄0 , P̃0 = P0в каждый момент времени t, t = 1, 2, .
. . , вычисляют:−T /200Re,t−ēt−T /2−T /2−T /2= −P̃t+1Kp,t P̃t+1 0 P̃t+1 x̂−t+1 = Ot ∗−T /2Rt00∗−T /2−Rt∗0−T /2RtHt Φ−1t−T /2P̃t∗Φ−1t−T /2−P̃tT /2Ht Φ−1t Gt QtT /2Φ−1t Gt QtIq−T /2−Rtzt−T /2 −x̂tP̃t0,(14.17)где Ot — то же самое ортогональное преобразование, что и вСКККФ (14.12), или любое иное, приводящее к нижнему треугольному32214.4 Расширенный квадратно-корневой И-фильтрвиду первые три (блочных) столбца матрицы, стоящей в правой частиформулы (14.17), и Iq — единичная матрица размера (q × q).Замечание 14.2.