Адаптивные алгоритмы фильтрации в задаче прогноза координат места судна

(Выпуск 1

^ВЕСТНИК

-- “7 ГОСУДАРСТВЕННСИТ) университета

И РЕЧНОГО ОЛОГЛ ИМЕНИ АДМИРАЛА С О, МАКАРОВА

УДК. 656.61.052 В. В. Дерябин,

канд. техн. наук, доцент, Архангельский филиал ГУМРФ имени адмирала С. О. Макарова

АДАПТИВНЫЕ АЛГОРИТМЫ ФИЛЬТРАЦИИ В ЗАДАЧЕ ПРОГНОЗА КООРДИНАТ МЕСТА СУДНА

ADAPTIVE FILTERING ALGORITHMS IN VESSEL’S POSITION PREDICTION PROBLEM

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

In the article the construction of navigational filters on the basis of neural network and neuro-fuzzy system is considered. These filters solve the problem of coordinates’ errors reduction. Intercomparison of the efficiency of filtering algorithms has been performed, and comparing with Kalman filter so, when errors have different cumulative density functions. The case of errors time correlation was considered so. The results of experiments let us resume, that quality of a filter work depends on statistical characteristics of errors as random functions.

Ключевые слова: адаптивная фильтрация, нейронная сеть, нейронечеткая система логического вывода.

Key words: adaptive filtering, neural network, neuro-fuzzy inference system.

К

О ОРДИНАТЫ судна, полученные при помощи судовых навигационных систем, всегда будут содержать определенные погрешности, связанные в первую очередь с ошибками измерений исходных величин: ускорений в случае инерциальной системы, курса и скорости, расстояний до спутников в случае спутниковой системы. Погрешности координат ухудшают качество управления судном, если используются регуляторы, стабилизирующие судно на заданной траектории. Случайная составляющая данных ошибок нередко приводит к увеличению количества перекладок руля, не связанных с истинным перемещением судна. Систематическая составляющая может привести к уклонению судна с заданной траектории. Для уменьшения влияния случайных ошибок в современных навигационных системах используют различные алгоритмы фильтрации этих погрешностей [1; 7; 9].

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

Фильтры могут быть построены как на основе теории вероятностей (линейный фильтр, фильтр Калмана и др.), так и вне этой теории. К последним относятся, например, фильтры, построенные на основе нейронных сетей [10], и фильтры, построенные на базе нейронечетких моделей [11, р. 621-631].

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

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

Задача фильтрации Калмана формулируется в общем виде следующим образом [1; 2, с. 1828; 13]. Пусть имеется изменяющийся во времени вектор случайного процессаX, значения которого связаны между собой уравнением состояний:

X

где п — текущий момент времени, А — матрица перехода, V — случайный вектор (шум процесса), имеющий нормальное распределение. Вектор состояния X = (x, у, X, y, X, y)т имеет своими компонентами координаты судна х, у, а также составляющие скорости и ускорения. Если дискретность модели принять за dt, то уравнения движения (кинематические) судна и матрица перехода имеют следующий вид:

х(п +1) = х(п) + dt • х(п), у(п +1) = у(п) + dt • у(п), х(п +1) = х(п) + dt • х(п), ^

у(п +1) = y(ri) + dt • у(п).

fi 0 dt О О 0Л

О 1 0 eft О О

0 0 1 0 dt 0

0 0 0 1 0 Л

0 0 0 0 1 0

0 0 0 0 0 1

Для наблюдения доступен процесс Y, связанный с вектором состояния X уравнением измерений:

Y (n) = H (п) • X (n) + W(n),

где H(n) — матрица наблюдения, W(n) — случайный вектор (шум наблюдения), который имеет распределение Гаусса. При построении фильтра, прогнозирующего только оценки координат места судна X, у , матрица наблюдения имеет следующий вид:

(I 0 0 0 0 0^

Н= .

1 о о о oj

Алгоритм прогноза координат места судна может быть представлен следующим образом [12]. На каждом временном шаге n вычисляются приближенные значения вектора состояния и корреляционной матрицы с использованием значений этих величин, полученных на предыдущем шаге:

Х(п) = А  Х(п — 1),

Р{п) = А-Р{п-\)-Ат +Q,

где P — корреляционная матрица, Q — вспомогательная диагональная единичная матрица размерностью 6. Начальное значение вектора состояния X (0) известно, а корреляционная матрица P (0) в первоначальный момент времени принимается нулевой.

После этого вычисляется коэффициент усиления K:

S = A-P(nf-Ат +R,

В = А-Р

K = {S~lB)T,

где R — вспомогательная диагональная матрица размерностью 2. Диагональные элементы принимают значения, равные 1000.

Затем вычисляются прогнозируемые значения вектора состояния и корреляционной матрицы:

Выпуск 1

(Выпуск 1

Х{п) = Х

Р(п) = Р(п)-КНР{п).

Прогнозируемые значения координат в текущий момент времени n находятся таким образом:

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

— выбор архитектуры системы;

— выбор параметров модели;

— выбор алгоритма обучения и его количественных параметров;

— выбор методики проверки работоспособности системы;

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

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

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

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

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

Сначала необходимо определить тип нейронной сети. Так как предполагается прогнозирование координат во времени, то имеет смысл использовать динамическую нейронную сеть. Известно [10], что задача прогнозирования временных рядов может быть решена при помощи фокусированной сети прямого распространения с задержкой по времени (TLFN). Вход такой сети представляет собой последовательность координат в предыдущие моменты времени, включая текущее значение координаты. Выход — координату в последующий момент времени.

Используется двухслойная нейронная сеть, первый слой которой содержит 10 нейронов с сигмоидальными функциями активации, а второй слой состоит из одного нейрона с тождественной функцией активации. Выбор нелинейных функций активации можно объяснить тем, что процесс изменения координат во времени в общем случае носит нелинейный характер. Количество единичных задержек было выбрано равным 10. Общий вид нейронной сети представлен на рис. 1.

Процесс обучения построим следующим образом. Накапливается множество образцов на интервале наблюдения, после чего сеть обучается на данных образцах. Несмотря на то что некоторые исследования в области нейронных сетей [4; 10] позволили дать рекомендации относительно выбора числа образцов, необходимых для обучения сетей, мы ограничились их числом, равным 100. Увеличение числа образцов не только может повысить точность сети, но и увеличить время обучения. Так как в дальнейшем предполагается использование алгоритма в режиме реального времени, то время обучения имеет существенное значение. Кроме того, увеличение числа образцов может привести к тому, что сеть будет обучаться на «устаревших» данных, так как характер движения судна может существенно измениться, что, в свою очередь, приведет к уменьшению точности прогноза.

Рис. 1. Общий вид нейронной сети

В качестве алгоритма обучения выбирается способ регуляризации Байеса в комбинации с методом Левенберга-Марквардта.

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

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

Для реализации нейронечеткого навигационного фильтра используется гибридная система нечеткого вывода ANFIS (Adaptive Neuro-Fuzzy Inference System) [5]. Данная модель построена по алгоритму Сугено. Подобные системы широко используются для решения задач адаптивной фильтрации. Например, в [11, р. 621-631] предлагается подобная модель для уменьшения шума измерений дыхательных сигналов. При ее реализации предполагается, что помеха формируется из некоторого исходного сигнала, проходящего через нелинейную систему. Причем считается, что этот самый исходный сигнал (источник шума) известен и может быть измерен с высокой точностью.

В задаче прогноза координат места судна подобный исходный сигнал, как правило, неизвестен, а вся информация об их погрешностях содержится только в измеряемых временных выборках. Поэтому на вход ANFIS подаются задержанные значения координаты, а на выходе получается ее значение в текущий момент времени. Число единичных задержек выбрано равным трем. Теперь необходимо выбрать вид функций принадлежности. Для входных сигналов используются трапециевидные функции принадлежности в количестве по 2 функции для каждого входа. Для выходного сигнала используется линейная функция принадлежности. Общий вид нейронечеткой модели представлен на рис. 2.

Для обучения нечеткой нейронной сети был выбран гибридный алгоритм обучения, который представляет собой комбинацию метода наименьших квадратов и метода убывания обратного градиента [5]. Число эпох составляет 500. Желаемое значение функции стоимости выбрано равным 0. Первоначальное значение шага обучения — 0,1. Значения коэффициентов, уменьшающих и увеличивающих шаг, равны 0,9 и 1,1 соответственно.

Выпуск 1

(Выпуск 1

Рис. 2. Общий вид нейронечеткой модели

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

Чтобы сравнить рассмотренные выше алгоритмы фильтрации, необходимо иметь модель движения судна, а также модель погрешностей координат.

В статье [3, с. 33-39] была предложена имитационная модель счисления пути судна в условиях воздействия внешних факторов. В ее основе лежит уравнение Рикатти, численное интегрирование которого позволяет найти скорость дрейфа конкретного судна в условиях воздействия ветра и волнения. Воспользуемся указанной моделью при формировании образцов для обучения построенных нейронной сети и нейронечеткой системы. В качестве параметров модели выберем параметры т/х «Инженер Плавинский» [3], массовое водоизмещение которого приблизительно составляет 14 000 т.

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

Рассмотрим теперь модель случайных погрешностей координат. Средняя квадратическая погрешность предполагается равной 10 м. При помощи генераторов псевдослучайных чисел получаются некоррелированные временные выборки ошибок координат. Рассматривались случаи следующих распределений: нормального, равномерного, логнормального, Рэлея и экспоненциального. Также были рассмотрены случаи, когда ошибки координат коррелированны во времени и имеют распределение Гаусса, а интервал корреляции составляет 5 с. Для получения реализаций нормального случайного процесса с заданной корреляционной матрицей используется метод скользящего суммирования [6]. Были получены три таких последовательности, имеющие различные корреляционные матрицы.

Качество работы навигационного фильтра можно характеризовать следующими параметрами. Одним из них служит наибольшее значение модуля невязки фильтра на интервале прогноза max [c(t)]. Другим параметром является среднее значение модуля невязки на интервале прогноза mean [c(t)]. Если фильтр используется в составе некоторой системы управления, то желательно, чтобы его выход имел определенную степень предсказуемости. Иными словами, можно рассматривать еще один показатель работы фильтра — энтропию H[c(t)] невязки на интервале наблюдения.

ВЕСТИ И КД

ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

МОРСКОГО И РЕЧНОГО Л(ГГА ИМЕНИ АДМИРАЛА СО. МАКАРОВА,

Сравнение алгоритмов фильтрации производилось в среде MATLAB 7.12.0. Время учета фильтрами предыдущих значений координат было выбрано равным 100 с. На 15-минутном интервале времени использовались следующие значения величин, характеризующих внешние факторы. Курсовой угол относительного ветра предполагается равным 90° правого борта, а его скорость — 15 м/с. Высота волны считается равной 5 м, длина волны — 150 м, курсовой угол — 90° левого борта, кажущийся период — 15 с. Судно следует курсом 45°, а продольная составляющая его относительной скорости равна 15 уз. На основе этих данных рассчитывалась истинная траектория движения судна. Затем моделировались случайные ошибки координат, которые прибавлялись к истинным координатам. — получались «измеренные» значения координат. Последние подавались на вход трех рассмотренных выше фильтров, которые имели на выходе «прогнозируемые» координаты. Получались «прогнозируемые» фильтром траектории движения. Рассчитывались невязки этих траекторий по отношению к истинной траектории. Результаты сравнения работы фильтров по среднему значению модуля невязки представлены в табл. 1.

Таблица 1

Результаты сравнения фильтров по среднему значению модуля невязки

Среднее значение модуля невязки на интервале прогноза

Исходное, м После фильтрации, м Уменьшение, %

ФК НС ННС ФК НС ННС

Нормальное 13.0 8.5 8.4 9.4 34.6 35.4 27.7

Равномерное 13.4 8.5 8.1 9.4 36.6 39.6 29.9

Логнормальное 10.0 7.3 7.3 7.6 27.0 27.0 24.0

Рэлея 12.1 8.1 8.0 8.8 33.1 33.9 27.3

Экспоненциальное 11.3 7.5 7.4 8.0 33.6 34.5 29.2

Нормальное корр. 1 14.6 12.7 13.1 13.5 12.7 10.4 7.4

Нормальное корр. 2 14.1 11.6 13.1 13.1 18.1 7.0 6.9

Нормальное корр. 3 14.3 14.6 14.4 14.8 -2.3 -1.2 -4.1

Как видно из табл. 1, в случае некоррелированных погрешностей наилучшие результаты фильтрации наблюдаются для нейросетевого фильтра. Если величины коррелированны, то предпочтение невозможно отдать какому-либо алгоритму. В одном из вариантов моделирования наблюдается ситуация незначительного увеличения среднего значения модуля невязки.

В табл. 2 приведены результаты сравнения алгоритмов по наибольшему значению модуля невязки на интервале наблюдения.

Таблица 2

Результаты сравнения фильтров по максимальному значению модуля невязки

Наибольшее значение модуля невязки на интервале прогноза

Исходное, м После фильтрации, м Уменьшение, %

ФК НС ННС ФК НС ННС

Нормальное 43.9 25.7 27.8 29.9 41.4 36.6 31.9

Равномерное 23.5 21.1 20.5 24.6 9.9 12.7 -5

Логнормальное 81.9 39.1 52.8 30.2 52.2 35.6 63.2

Рэлея 43.1 29.1 21.8 26.1 32.4 49.5 39.3

Экспоненциальное 54.2 34.7 32.3 36.1 36.0 40.5 33.4

Нормальное корр. 1 42.9 37.5 37.0 39.2 12.5 13.9 8.5

Нормальное корр. 2 46.7 34.5 42.4 45.2 26.2 9.3 3.3

Нормальное корр. 3 43.5 42.3 41.4 44.9 2.9 5.0 -2.9

Выпуск 1

(Выпуск 1

^ВЕСТНИК

-- “7 ГОСУДАРСТВЕННСИТ) университета

^JMACKOm И РЕЧНОГО ОЛОГЛ ИМЕНИ АДМИРАЛА С О, МАКАРОВА

Из данных табл. 2 следует, что нейронечеткий фильтр в двух случаях не уменьшил максимум невязки. Фильтр Калмана и нейронный фильтры во всех случаях уменьшали наибольшее значение модуля невязки, но предпочтения какому-либо алгоритму отдавать не приходится.

В табл. 3 приведены результаты сравнения фильтров по значению энтропии на интервале прогноза. Фильтрация, как правило, приводила к уменьшению энтропии. Однако, как видно из табл. 3, наблюдались и обратные ситуации.

Теперь составим «рейтинг» рассматриваемых фильтров с учетом рассмотренных выше трех показателей. Показатели имеют различную значимость. Так, например, наибольшее значение модуля невязки есть более «сильный» критерий по отношению к ее среднему значению и энтропии. В свою очередь среднее значение модуля невязки — более значимый по отношению к ее энтропии критерий. Результаты сравнения алгоритмов фильтрации приводятся в табл. 4. В ней помещены относительные оценки критериев, принимающие значения 1, 2, 3. Цифра 1 соответствует наилучшему значению критерия, а цифра 3 — наихудшему.

Таблица 3

Результаты сравнения фильтров по значению энтропии модуля невязки

Энтропия модуля невязки на интервале прогноза

Исходное, м После фильтрации, м Уменьшение, %

ФК НС ННС ФК НС ННС

Нормальное 1.4182 1.2363 1.2236 1.2744 12.8 13.7 10.2

Равномерное 1.2928 1.2145 1.2033 1.2542 6.1 6.9 3.0

Логнормальное 1.3878 1.2200 1.1903 1.1836 12.1 14.2 14.7

Рэлея 1.3888 1.2288 1.1898 1.2498 11.5 14.3 10.0

Экспоненциальное 1.3641 1.2119 1.1594 1.2218 11.2 15.0 10.4

Нормальное корр. 1 1.4546 1.3974 1.4158 1.4391 3.9 2.7 1.1

Нормальное корр. 2 1.4727 1.3632 1.4333 1.4276 7.4 2.7 3.1

Нормальное корр. 3 1.4707 1.4772 1.4670 1.4856 -0.5 0.3 1.0

Таблица 4

Сравнение фильтров по различным параметрам

Критерии

ФК НС ННС

max mean entropy max mean entropy max mean entropy

Нормальное 1 2 2 2 1 1 3 3 3

Равномерное 2 2 2 1 1 1 3 3 3

Логнормальное 2 1 3 3 1 2 1 2 1

Рэлея 3 2 2 1 1 1 2 3 3

Экспоненциальное 2 2 2 1 1 1 3 3 3

Нормальное корр. 1 2 1 1 1 2 2 3 3 3

Нормальное корр. 2 1 1 1 2 2 3 3 3 2

Нормальное корр. 3 2 2 3 1 1 2 3 3 1

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

ВЕСТНИКА

ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

МОРСКОГО И РЕЧНОГО Л(ГГА ИМЕНИ АДМИРАЛА С 0. МАКАРОВА.,

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

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

В идеале следует создать «универсальный» фильтр, который хотя бы в среднем выполнял фильтрацию лучше, нежели алгоритм, подходящий только под узкий класс погрешностей измерений. Перспективными в этом отношении выступают самонастраивающиеся системы, созданные на основе нейронных сетей или нейронечетких моделей. Интеграция их в единую систему стабилизации судна (например, на траектории), вероятно, позволит повысить качество управления.

Список литературы

1. Адамченко В. Н. Обработка радионавигационных измерений / В. Н. Адамченко. — М.: Транспорт, 1983. — 56 с.

2. Сергиенко А. Б. Алгоритмы адаптивной фильтрации: особенности реализации в MATLAB / А. Б. Сергиенко // Математика в приложениях. — 2003. — № 1 (1).

3. Дерябин В. В. Модель счисления пути судна в условиях воздействия внешних факторов /

В. В. Дерябин // Эксплуатация морского транспорта. — 2011. — № 1 (63).

4. Каллан Р. Основные концепции нейронных сетей: пер. с англ. / Р. Каллан. — М.: Издат. дом «Вильямс», 2003. — 288 с.

5. Леоненкое А. В. Нечеткое моделирование в среде MATLAB и FuzzyTECH / А. В. Леонен-ков. — СПб.: БХВ-Петербург, 2005. — 736 с.

6. Методы статистического моделирования в радиотехнике: учеб. пособие. — СПб.: Изд-во БГТУ, 2003.— 37 с.

7. Степанов O. A. Применение теории нелинейной фильтрации в задачах обработки навигационной информации / O. A. Степанов. — СПб.: ГНЦ РФ — ЦНИИ «Электроприбор», 2004. —

370 с.

8. Пугачев В. С. Стохастические дифференциальные системы. Анализ и фильтрация /

B. С. Пугачев, И. Н. Синицын. — М.: Физматлит, 1990. — 642 с.

9. Дмитриев С. П. Задачи навигации и управления при стабилизации судна на траектории /

C. П. Дмитриев, А. Е. Пелевин. — СПб.: ГНЦ РФ — ЦНИИ «Электроприбор», 2004. — 160 с.

10. Хайкин С. Нейронные сети: полный курс: пер. с англ. / С. Хайкин. — М.: Издат. дом «Вильямс», 2006. — 1104 с.

11. Bhavani S. A. A New Self-Adaptive Neuro-Fuzzy Inference System for the Removal of Non-

Linear Artifacts from the Respiratory Signal / A. S. Bhavani, D. Kumar, K. Seethalakshmi // J. of Computer Science. — 2012. — № 8 (5). __

12. MATLAB R2011a: Users’ Guide. d

13. Haykin S. Adaptive Filter Theory. Upper Saddle River / S. Haykin. — N. J.: Prentice-Hall, Inc.,

1996. — 920 p.

Выпуск 1