Раздел: Документация
0 ... 58 59 60 61 62 63 64 ... 78 Для одномерного случая Писаренко [3] предложил метод выделения синусоид из аддитивного белого шума, который устраняет смещение при сохранении высокого разрешения. Метод Писаренко, однако, не является эффективным с точки зрения организации вычислений и не может использоваться в реальном масштабе времени. В работе [4] получен адаптивный вариант метода Писаренко, но с медленной сходимостью, а в [5] - адаптивный вариант метода Писаренко с использованием метода наименьших квадратов, который близок* к алгоритму 7-СКО, предложенному в [6] для подавления шума при выделении синусоидальной составляющей. Сравнение производительности адаптивного метода Писаренко и рекурсивного метода максимального правдоподобия опубликовано в [7]. Результаты показывают, что рекурсивный метод максимального правдоподобия дает большее разрешение. В данной главе используются понятия систолической матрицы для разработки эффективной архитектуры, реализующей набор калмановских фильтров, необходимых для оценивания, основанного на рекурсивном методе максимального правдоподобия. 21.2. ФОРМАЛИЗАЦИЯ ЗАДАЧИ Рассмотрим задачу оценки частоты и угла прихода множества синусоидальных колебаний, искаженных широкополосным шумом. Обозначим к-и временной отсчет с /-го датчика линейной решетки на рис. 21.1 как Xj (tk) и предположим, что синусоидальные сигналы имеют вид *«•(**) = At cos liih ~ iyd + </>;] *(21 л) где coz- = 2nfj, Ai и щ - частота, амплитуда и фаза синусоидального колебания, принятого от датчика. Волновое число у /-го синусоидального колебания определяется соотношением d в с где d - расстояние между датчиками; с - скорость распространения плоской волны; 6j - угол прихода волны относительно нормали к решетке. Фаза синусоидального колебания щ считается равномерно распределенной на интервале [0,27г]. В данной модели tkkT, где Т - период квантования. Дифференцируя хг- по времени: х. = -AiCOi sin [co{(t - iyv) + </>J,(21.2) x( = -А? cos [cof(r - iyt) + </>J(21.3) и вводя переменные состояния хи = Ai cos [cof(r - iyt) + </>J, x2i = Ax sin [co,(r - iyt) + tpH, I • ,. v ¥i у«. = со-Хл • Задача может быть выражена в виде получаем хи--cOfX2i и x2i л1г оама уравнения состояния: х21 *12 *22 Xlm X2m 0 coi О) 0 1 •{"о- I ы2 40 2 О О о 0 -со m О *12 *22 xlm I x2m (21.4) (21.5) или HoZ набп«е»,я для принять» -в може, 6ь„ь о- в сяе-дующей форме: У = Л21 h12 22 m 2m n2 h nm 12 2m (21.6) или у =Hx + и, (21.7) где и - шум измерения. При передаче синусоидальных сигналов их частоты со- обычно поддерживаются постоянными. Поэтому все m блоков приведенной модели сигнала могут быть разделены и обрабатываются одновременно. Функция калмановского фильтра для каждого из блоков на рис. 21.1 имеет вид хк+1Фхк + К1ук-Нхк1(21-8) или, что эквивалентно, хк+1 =[Ф-КН \ К] Хх матрица фильтра (21.9) где Ф - переходная матрица состояния в дискретном времени, соответствующая матрице F в уравнении (21.4) , а К - коэффициент усиления калмановского фильтра. В этих выкладках элементы матрицы фильтра приняты постоянными. Однако значения Ф и К зависят от конкретных значений сог-,/ = = 1, 2, . . . , га. Из структуры фильтра следует, что он может быть реализован в виде матрично-векторного умножителя. Матрица фильтра может быть размещена в памяти для всего предполагаемого диапазона значений сог-. Набор калмановских фильтров, показанный на рис. 21.1, может быть "настроен" на данный набор сигналов посредством использования соответствующей расчетной матрицы фильтра, хранящейся в памяти. Условные вероятности р (coz-\Zk) могут быть рассчитаны по правилу Бай-еса [8]: Д CO.- Zb) = - = ---- , p{Zk) £w(21.10) L P(Zk lfc-b 0>)P(<0 I Zfc-l) ;= l где Z - последовательность результатов измерений z0,zl9... ,zk. На вычисление (coJZ) влияет распределение шума измерения. Например, для гауссовскогошума вероятность p(cof\Zk) может быть рассчитана по формуле РК- Zfc) = с det (/Г1)"12 exp (iz, „.Я", J-pfo Zk),(21.11) где с - нормирующий коэффициент, не зависящий от cof и выбранный так, чтобы Zp(со,-Z) = 1. Приращения Zk{ = z - Hxk]oj. и их ковариацияЯ, необходимые для вычисления р (cof Z), могут быть получены из набора кал-мановских фильтров. Отметим, что если вычислены значения (coJZ), / = = 1, 2, . . . , т, то с помощью последовательных сравнений можно рассчитать значения со/? максимизирующие p(uf\Zk) - оценки максимального правдоподобия: ri>Mn=maxp(G,I.ZJk). Оценки максимального правдоподобия синусоидальных сигналов определяются из (21.4) при со = сомп. Поскольку р (cof \Zk) необходимо вычислять быстро, величина p(cjf\Zk) может храниться в памяти в табличной форме. Таким образом, ключом реализации всей схемы, показанной на рис. 21.1, является разработка быстродействующего процессора для расчетов по уравнениям калмановского фильтра. Благодаря соответствующей структуре уравнений фильтра для эффективного ускорения вычислений могут быть использованы систолические матричные системы. 21.3. ПАРАЛЛЕЛЬНАЯ КАЛ М А НОВ СКА Я ФИЛЬТРАЦИЯ Калмановский фильтр успешно применялся во многих областях обработки сигналов, включая предсказание положения цели, сопровождение цели, обработку радиолокационного сигнала, бортовую калибровку инерциальных систем, оценку устойчивости самолета и выработку управляющих воздействий во время полета. Однако применимость калмановского фильтра для обработки в реальном масштабе времени в значительной мере ограничена ввиду относительной сложности вычислений. В частности, число арифметических операций, необходимых для реализации калмановского фильтра с п переменными состояния, возрастает как 0(п2) для уравнения оценки и как 0(п3) для уравнения ковариации. В общем случае фильтрация в реальном масштабе времени для больших п не может быть выполнена при использовании однопроцессорных систем из-за резкого возрастания вычислительной нагрузки. Калмановская фильтрация может быть распространена на более широкий круг проблем при использовании параллельной обработки. При соответст- вующем преобразовании структуры задачи и разделении арифметических процедур для обеспечения одновременной обработки можно обеспечить полностью параллельную обработку. До настоящего времени было проведено относительно немного исследований по преобразованию калмановского фильтра для параллельной обработки. Было рассмотрено три подхода, а именно: 1) преобразование обычных уравнений калмановской фильтрации к векторной форме и исполнение алгоритма на векторном или матричном процессоре [9], 2) декорреля-ция отсчетов, поступающих на фильтр, при которой каждый из них может быть конвейеризован в каждом из процессоров одновременно [10], и 3) разделение уравнений экстраполятора и корректора фильтра, при котором вычисления для них могли выполняться одновременно на разных процессорах с использованием многопроцессорной обработки [11,12]. Первый из подходов был исследован ранее с использованием для решения уравнений фильтра матричного процессора [8, 13]. Хотя по сравнению с традиционными методами этот подход может значительно ускорить вычисления (были получены коэффициенты ускорения от 6 до 10), производительность вычислений ограничивалась в основном архитектурой матричного процессора. Это было следствием того, что архитектура матричного процессора была оптимизирована для реализации быстрого преобразования Фурье (БПФ), а не калмановской фильтрации. Архитектура систем, обсуждаемых в данной главе, основана на отображении уравнений калмановского фильтра непосредственно на линейно связанную систолическую матрицу. Таким образом, в систолических структурах, обсуждаемых в этой главе, для увеличения общего уровня производительности используется структура фильтра. Для ускорения вычислений при калмановской фильтрации параллельная обработка осуществляется на двух уровнях: 1) уравнения экстраполятора и корректора калмановского фильтра разделяются таким образом, чтобы они могли обрабатываться на разных процессорах, и 2) отсчеты могли быть конвейеризованы в каждом процессоре. Следовательно, для увеличения скорости вычислений осуществляется как мультипроцессорная обработка, так и конвейеризация. 21.3.1. Разделение уравнений калмановской фильтрации Для модели синусоидального сигнала, определенной согласно (21.4) и (21.5), уравнения стандартного калмановского фильтра даются выражениями [хл(-)=ФЛ 1хл 1(+),(21.13) для экстраполятора лт (л(-)=ф*-Л(+К 1><21Л4> для корректора ч fx* (+) = (-) + Кк [ук - Щхк (-)],(21.15) \Рк(+)=[1-КкНк]Рк(~),(21.16) 373 где коэффициент усиления калмановского фильтра Кк = Рк (-) Н[ [Щ¥к (-) Н[ + Rk] "».(21.17) Отметим, что последовательность операций (21.13) - (21.17) весьма важна, поскольку вычисления уравнения экстраполятора должны быть выполнены до вычислений корректора. Это нежелательно, так как для вычисления уравнений корректора монопроцессор должен ждать, пока не будут вычислены уравнения экстраполятора. Устранить это затруднение можно, разделив уравнения экстраполятора-корректора с целью получения параллельного калмановского фильтра (ПКФ). Разделение уравнений оценки. Разделение функций экстраполятора и корректора состояний достигается посредством задержки предикатора на один такт следующим образом: для экстраполятора хк+1 (-) = ФкФк ххк г (+),(21.18) для корректора хк (+) = (-) + Кк [ук - Щхк (-) ] -(21.19) Разделение уравнений дисперсии. Пусть ковариация погрешности вычисления до и после нового отсчета наблюдений определяется выражениями Рш (-) = Ехш (~)+1 (-), Р*(+)=ЕхИ+)х1>), где хк+1 У~) = хк+1 У~) ~ хк+11 хк(+)=хк(+) ~хк (21.20) (21.21) (21.22) (21.23) Непосредственным вычислением может быть показано, что ковариация погрешности вычислений перед отсчетом определяется формулой [11, 12] p*+i (-) = (+)<»Li ф1-(21 -24) Поскольку форма записи (21.19) и (21.15) одинакова, ковариация погрешности вычислений после измерительного отсчета в ПКФ определяется как рк (+> = а - (-).(2i -25) где коэффициент усиления калмановского фильтра Щ = *к (-) Н£ [НЛР* (-) Н£ + Щ] -1.(21.26) Сводка разделенных уравнений ПКФ. Вследствие того, что уравнения экстраполятора и корректора калмановского фильтра могут быть разделены, вычисления могут производиться одновременно двумя различными процессорами: одним - уравнений экстраполятора, другим - уравнений корректора. В целом уравнения параллельного калмановского фильтра записываются как 374 для экстраполятора х*+1 (-) =¥hVi(+) Р**1 (") = ****-Л-1 Юф1-л для корректора h (+) = **(-)+Кк [ук - Щч (-) ]. Pfc(+) = [I-KfcPfc(-)H + Rfc]-1, где коэффициент усиления определяется в виде гГ I П 1-1 (21.27) (21.28) (21.29) (21.30) = Р*[ЩТ>к (-Щ + Rk] -.(21.31) Метод разделения может быть использован для еще более заметного уменьшения времени вычисления уравнений экстраполятора и корректора. Отметим, что при Фк = Фк 1 (т.е. при постоянном Ф) сложность расчетов ПКФ такая же, как и при обычном представлении. После выполнения разложения может быть разработана архитектура систолической матрицы, основанная на уравнениях параллельного калмановского фильтра. 21.3.2. Архитектура систолических процессоров калмановской фильтрации Структура алгоритма параллельного калмановского фильтра, описанная выражениями (21.27) - (21.31), предполагает, что уравнения могут быть реализованы на линейно связанной систолической матрице, первоначально представленной С. Т. Кунгом [14]. Архитектура, показанная на рис. 21.2, иллюстрирует возможности использования линейно связанной матрицы для вычисления выражения (21.29), записанного, например, в следующей компактной форме: **(+) = [FujF„J [--*-(---], Ук Поток Входных данных аз измерительного конвейера Xj(k-hJ) xN(k) Расчетная матрица конвейера =[f„ \ F1Z] А--- z3 32 fa 31 i Jl 1 1
xN(k+1) Процессоры скалярных произведений Оценки состоянии фильтра после вычисления Решающий Оценка процессор состояний фильтра перед вычислением Рис. 21.2. Архитектура систолического процессора, реализующего калмановский фильтр (n+m) =4 0 ... 58 59 60 61 62 63 64 ... 78
|