Вы находитесь на странице: 1из 144

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ


ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
“ПЕТРОЗАВОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ”
(ПетрГУ)

На правах рукописи

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

АЛГОРИТМЫ ЛОКАЦИИ МОБИЛЬНОГО УСТРОЙСТВА


В БЕСПРОВОДНОЙ СЕТИ БАЗОВЫХ СТАНЦИЙ
СТАНДАРТА IEEE 802.15.4a (NANOLOC)

Специальность 05.13.18
Математическое моделирование, численные методы и комплексы программ

Диссертация на соискание ученой степени


кандидата технических наук

Научный руководитель:
доктор физико-математических наук, профессор
Сысун Валерий Иванович

Петрозаводск 2015
2

Оглавление

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Глава 1. Технологии и алгоритмы определения местоположения мо­


бильного устройства в беспроводной сети базовых станций . . . 12
1.1. Системы определения местоположения мобильного устройства
в беспроводной сети базовых станций . . . . . . . . . . . . . . 12
1.2. Алгоритмы расчета локации . . . . . . . . . . . . . . . . . . . . 20
1.3. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Глава 2. Выбор алгоритма локации для используемой технологии 36


2.1. Используемая технология . . . . . . . . . . . . . . . . . . . . . 36
2.2. Выбор алгоритма локации . . . . . . . . . . . . . . . . . . . . . 46
2.3. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Глава 3. Имитационная модель системы локации . . . . . . . . . . 49


3.1. Описание модели . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2. Моделирование измерений от базовых станций . . . . . . . . . 51
3.3. Моделирование данных от встроенного модуля определения
траектории . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Глава 4. Алгоритм локации на основе дискретного байесовского


фильтра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.1. Описание алгоритма . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2. Исследование характеристик разработанного алгоритма . . . . 78
4.3. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Глава 5. Алгоритм локации на основе фильтра частиц . . . . . . . 90


3

5.1. Описание алгоритма . . . . . . . . . . . . . . . . . . . . . . . . 91


5.2. Исследование характеристик разработанного алгоритма . . . . 104
5.3. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Глава 6. Эксперименты по определению точности локации в реаль­


ных условиях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1. Описание разработанного программного комплекса . . . . . . . 119
6.2. Описание экспериментов . . . . . . . . . . . . . . . . . . . . . . 122
6.3. Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

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


4

Введение

Актуальность темы исследования


Все системы определения местоположения объектов можно разделить на
два класса: глобального и локального позиционирования. К классу глобаль­
ного позиционирования относятся системы, использующие спутниковую на­
вигацию (GPS, Galileo, ГЛОНАСС). Они обеспечивают расчет локации объ­
екта в масштабах всего мира. Основной проблемой таких решений является
определение локации внутри помещения, где сигнал от спутников недосту­
пен. Данные проблемы решаются с помощью систем локального позицио­
нирования. К классу локального позиционирования относятся большое ко­
личество узкоспециализированных систем локации внутри помещения. Они
основаны на технологиях, использующих инфракрасное излучение [1, 2], ла­
зерную и ультразвуковую аппаратуру [3, 4, 5, 6], камеры видеонаблюдения
[7, 8, 9, 10] и другие технологии [11]. Не смотря на возможность определять
местоположение объекта, такие системы обладают рядом недостатков, таких
как низкая точность позиционирования, сложность инсталляции и высокая
стоимость оборудования.
Наиболее перспективными представляются системы определения место­
положения, основанные на использовании беспроводных технологий пере­
дачи данных (ZigBee, Bluetooth, WiFi, RFID). Как правило, такие системы
состоят из нескольких базовых станций и мобильных устройств, обменива­
ющихся пакетами по беспроводной сети. В качестве данных для расчета ло­
кации используются измерения времени распространения, угла приема, или
значения уровня радиосигнала. Часто мобильное устройство оснащено встро­
енным акселерометром, магнитометром и гироскопом. В случае, если носи­
телем устройства является человек, информация от таких датчиков может
быть использована для оценки длины и направления шагов [12]. Система
встроенных датчиков и алгоритмов определения пройденного пути образу­
5

ет встроенный модуль определения траектории (IMU – Inertial Measurement


Unit). Информация от такого модуля используется для повышения точности
расчета локации.
Настоящая работа посвящена разработке алгоритмов локации мобиль­
ного устройства, оснащенного встроенным модулем определения траектории,
в беспроводной сети базовых станций стандарта IEEE 802.15.4a (nanoLOC).
Технологии, использующие данный стандарт, позволяют одновременно из­
мерять время распространения и уровень радиосигнала на частоте 2.4 ГГц
[13]. Измерение времени распространения сигнала позволяет определить рас­
стояние между мобильным устройством и базовой станцией. Несмотря на
большое количество работ по разработке алгоритмов определения локации
внутри помещений, в настоящий момент существует недостаточно работ по
системам, использующим данный стандарт. Существующие решения учиты­
вают только измерения времени распространения сигнала. Важным отличием
настоящей работы является создание алгоритмов локации, учитывающих од­
новременно информацию о времени распространения, уровне принимаемого
сигнала и данных от встроенного в мобильное устройство модуля определе­
ния траектории.
Одной из основных проблем при определении местоположения объекта
по измерениям от базовых станций, использующих частоту 2.4 ГГц, являют­
ся ошибки, связанные с многолучевым распространением сигнала [14]. Так,
ошибка в расстоянии, измеренном между мобильным устройством и базовой
станцией, может достигать 10-20 метров, что часто сравнимо с величиной
самого расстояния. Эта ошибка может рассматриваться как шум измерений.
Алгоритмы определения местоположения мобильного устройства долж­
ны выбираться с учетом информации, доступной для расчета локации. В
существующих работах [15, 16, 17, 18, 19] по системам локации на основе
технологий стандарта IEEE 802.15.4a, как правило, используются алгоритмы
калмановской фильтрации. В то же время существуют другие методы бай­
6

есовской фильтрации, такие как фильтр частиц и дискретный байесовский


фильтр [20], которые могут применяться в системах локации, использующих
информацию об уровне принимаемого сигнала [21, 22, 23, 24]. Данные мето­
ды, в отличие от фильтра Калмана, удобно использовать для учета информа­
ции о структуре здания. Недостатком таких методов является необходимость
рассматривать большое число гипотез о возможном местоположении объекта,
область нахождения которого, как правило, ограничена размерами здания.
В настоящей работе фильтр частиц и дискретный байесовский фильтр
используются для расчета локации как по расстояниям, измеренным меж­
ду мобильным устройством и базовыми станциями, так и по измерениям
уровней сигналов. Отличием предложенных алгоритмов от существующих
решений, применяемых в системах на основе измерений уровня сигнала, яв­
ляется возможность ограничивать число рассматриваемых гипотез о возмож­
ной локации объекта в пределах области, ограниченной расстояниями, из­
меренными между мобильным устройством и базовыми станциями. Данная
особенность позволяет повысить точность расчета локации.
Целью данной диссертационной работы является создание алгоритмов
определения координат мобильного устройства в беспроводной сети базовых
станций стандарта IEEE 802.15.4a (nanoLOC), использующих информацию
об измерениях времени распространения, уровне принимаемого сигнала, а
также данных от встроенного в мобильное устройство модуля определения
траектории.
Для достижения поставленной цели были решены следующие задачи:

1) определены основные технологии и алгоритмы определения местополо­


жения мобильного устройства в беспроводной сети базовых станций;

2) выделены режимы работы рассматриваемой системы определения ме­


стоположения и доступные для расчета локации источники информа­
ции;
7

3) разработаны алгоритмы локации для каждого из режимов работы си­


стемы с учетом используемых измерений;

4) предложена имитационная модель системы локации для исследования


характеристик разработанных алгоритмов;

5) проведены исследования работы предложенных алгоритмов и определе­


на точность локации в различных условиях;

6) создан комплекс программных средств для расчета локации мобильного


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

Методология и методы исследования: для достижения поставленной


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

1) Разработан алгоритм определения координат мобильного устройства на


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

2) Разработан алгоритм определения координат мобильного устройства на


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

енного в мобильное устройство модуля определения траектории. Пред­


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

3) Предложена имитационная модель системы локации мобильного устрой­


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

Практическая значимость Алгоритмы, предложенные в данной работе,


предназначены для использования в системе локального позиционирования
RealTrac [25], основанной на технологии nanoLOC (стандарт IEEE 802.15.4a).
В работе показана возможность применениях разработанных алгоритмов для
расчета локации в реальных условиях с ошибкой, не превышающей 1.9 мет­
ров в 95% случаев.
Кроме того, разработанные алгоритмы могут быть применены в других
системах локального позиционирования для определения координат мобиль­
ного устройства по измерениям расстояний и уровней сигнала между мо­
бильным устройством и базовыми станциями, а также информации от встро­
енного в мобильное устройство модуля определения траектории, например в
системах на основе WiFi, UWB, nanoLOC.
Основные положения, выносимые на защиту:

1) метод численного решения задачи байесовской фильтрации с исполь­


зованием дискретного байесовского фильтра, учитывающего информа­
цию об измеренных расстояниях и уровнях сигнала между мобильным
устройством и базовыми станциями, план здания, а также информацию
о карте уровней сигнала от базовых станций внутри помещения;
9

2) метод численного решения задачи байесовской фильтрации с исполь­


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

3) имитационная модель системы локации, позволяющая генерировать из­


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

4) результаты вычислительных экспериментов, показывающих возможность


расчета локации мобильного устройства с ошибкой, не превышающей
1.8 метра в 95% случаев, при использовании предложенного алгоритма
на основе дискретного байесовского фильтра, и с ошибкой, не превы­
шающей 1.3 метра в 95% случаев, при использовании предложенного
алгоритма на основе фильтра частиц;

5) комплекс программных средств для расчета локации мобильного устрой­


ства по измерениям из беспроводной сети базовых станций.

Степень достоверности и апробация работы


Основные результаты работы докладывались на следующих конферен­
циях:

1) 11-я Международная конференция по телекоммуникационным техноло­


гиям (ITST-2011). Санкт-Петербург, Россия, май, 2011;

2) 1-й Международный симпозиум по беспроводным системам (IDAACS­


SWS). Оффенбург, Германия, сентябрь, 2012;
10

3) 7-я Международная конференция по интеллектуальному сбору данных


и современным компьютерным системам (IDAACS), Берлин, Германия,
сентябрь 2013;

4) Международная форум по системам умного дома для пожилых людей.


(EvAAL2013) Норрчепинг, Швеция, сентябрь, 2013;

5) 4-я Международная конференция по позиционированию и навигации


внутри помещений (IPIN-2013), Монбельяр, Франция, октябрь, 2013;

6) 5-я Международная конференция по позиционированию и навигации


внутри помещений (IPIN-2014), Пусан, Корея, октябрь, 2014.

По результатам исследований, проведенных в рамках данной работы, был


получен патент на изобретение «Способ локации радиоузла, система локации
радиоузла и узел обработки данных» [26]. Кроме того, технология локального
позиционирования RealTrac —[25], использующая разработанный алгоритм,
завоевала первое место в международном конкурсе систем локации внутри
помещений EvAAL-2013 (http://evaal.aaloa.org/).
Объем и структура работы
Диссертация состоит из введения, шести глав и заключения. Полный
объем диссертации составляет 144 страницы с 43 рисунками и 3 таблицами.
Список литературы содержит 114 наименований.
В первой главе описаны основные принципы и системы определения
локации внутри помещения, а также основные алгоритмы, применяемые для
расчета координат мобильного устройства в беспроводной сети базовых стан­
ций.
Во второй главе рассматривается система позиционирования внутри по­
мещений, для которой разрабатывается алгоритм локации. В данной главе
описываются принципы работы системы, ее составные части, а также харак­
теристики измерений, приводятся обоснования выбора алгоритмов позицио­
11

нирования для различных режимов работы системы.


В третьей главе описана имитационная модель системы локации, ис­
пользующаяся для исследования характеристик разработанных алгоритмов.
Данная модель позволяет генерировать измерения, получаемые от базовых
станций и встроенного модуля определения траектории, для заранее задан­
ной траектории движения объекта.
Четвертая глава посвящена описанию разработанного алгоритма лока­
ции на основе дискретного байесовского фильтра. Данный алгоритм рассчи­
тывает координаты мобильного устройства по измерениям от базовых стан­
ций с учетом плана здания и карты уровней радиосигнала внутри помещения.
В главе также приведены результаты исследования характеристик алгоритма.
В пятой главе приводится описание алгоритма локации на основе филь­
тра частиц. Данный алгоритм используется для одновременной обработки
измерений от базовых станций и информации о траектории, получаемой от
встроенного в мобильное устройство модуля. Расчет локации ведется с уче­
том плана здания и карты уровней радиосигнала внутри помещения. В главе
также приводятся результаты экспериментов по расчету локации с использо­
ванием разработанного алгоритма.
Шестая глава посвящена использованию алгоритмов для расчета лока­
ции объекта в реальной системе. В данной главе кратко описывается раз­
работанный комплекс программных средств для расчета локации, а также
приводятся результаты оценки точности локации, полученные в ходе реаль­
ных экспериментов.
В заключении приводятся основные результаты работы.
12

Глава 1

Технологии и алгоритмы определения


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

Существует большое количество технологий для определения местопо­


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

1.1. Системы определения местоположения мобильного


устройства в беспроводной сети базовых станций

1.1.1. Системы, основанные на измерении уровня сигнала

Наиболее распространенные локальные системы позиционирования ос­


нованы на измерении уровня принимаемого сигнала. Как правило, они ис­
пользуют стандарты ZigBee, Bluetooth, WiFi и RFID [27]. Преимуществом
таких систем является готовая беспроводная сетевая инфраструктуру. Самые
простые методы расчета локации используют преобразование значения уров­
13

ня сигнала между источником (мобильным устройством) и приемником (ба­


зовой станцией) в расстояние [28]. Значение мощности сигнала 𝑃 (𝑑𝑖 ) между
источником и 𝑖-м приемником вычисляется как [29]:
𝑑𝑖
𝑃 (𝑑) = 𝑃0 − 10𝑛𝑝 lg , (1.1)
𝑑0
где 𝑃0 – мощность принимаемого сигнала (в децибелах) на заданном рас­
стоянии 𝑑0 , 𝑛𝑝 – параметр, определяющий характеристики окружения, 𝑑𝑖 –
расстояние между источником сигнала с координатами (𝑥, 𝑦) и 𝑖-м приемни­
ком с координатами (𝑥𝑖 , 𝑦𝑖 ).
Зная оценки расстояний до нескольких базовых станций, локация мо­
бильного устройства может быть определена с помощью методов трилате­
рации. На сегодняшний момент в лабораторных условиях с использованием
указанного метода удается достичь точности в несколько метров [29].
Основной проблемой, ухудшающей точность измерений, является ослаб­
ление сигнала и увеличение времени его распространения при переотраже­
ниях от стен внутри помещений [30]. Поскольку радиосигнал представляет
собой электромагнитную волну, для отсутствия ошибок, связанных с переот­
ражением, препятствий не должно быть не только на линии от источника
до приемника, вдоль которой распространяется сигнал, но и в некоторой
области около линии распространения. Такая область называется зоной Фре­
неля [31]. Как показано на рисунке 1.1, зона Френеля представляет собой
эллипсообразную область вдоль линии, соединяющей источник и приемник
сигнала.

Рис. 1.1. Зона Френеля. 1, 2 – источник и приемник сигнала.

Как правило, считается [31], что для того, чтобы поймать сигнал без
14

переотражений, 60% часть зоны Френеля должна быть свободна от препят­


ствий. На практике внутри помещения такие условия труднодостижимы. Пре­
пятствия на пути распространения, такие как стены здания, например, приво­
дят к существенному уменьшению мощности принимаемого сигнала. Таким
образом при увеличении расстояния между источником и приемником, сила
сигнала, испытывающего переотражения, убывает значительно быстрее, чем
при отсутствии препятствий в условиях прямой видимости [32]. Коэффици­
ент ослабления 𝑛𝑝 зависит от конкретного материала, из которого сделаны
перегородки (бетон, кирпич и т.д.) [33].
Более радикальное влияние на характер принимаемого сигнала оказы­
вают волновые эффекты, возникающие при многократных переотражениях
сигнала от препятствий. В результате интерференции в точке приема может
быть зафиксирован сигнал большей или меньшей мощности. Поскольку пре­
пятствиями кроме перегородок могут служить и движущиеся объекты (люди,
двери и т.д.), то распределение сигнала является функцией не только коорди­
наты, но и времени. Описанные явления, возникающие при распространении
радиосигнала внутри помещения, значительно ухудшают точность методов
на основе использования зависимости (1.1) [33, 34].
В определенных условиях особенности распространения сигнала можно
использовать как источник дополнительной информации для расчета лока­
ции. Наиболее точными являются методы, использующие предварительное
построение карты уровней сигналов от базовых станций внутри помещения
[35, 36, 37, 38]. При достаточно подробной карте покрытия точность локации
таких систем может достигать 1-2 метра [29].
Алгоритм, использующий карту уровней сигналов, состоит из двух эта­
пов. Первый этап является предварительным. В ходе него все пространство,
на котором планируется определять локацию объекта, разбивается на дис­
кретные ячейки. В каждой из ячеек собирается вектор усредненных значе­
ний уровней сигналов от каждой базовой станции. Данная информация ис­
15

пользуется в основном этапе для определения наиболее вероятной ячейки по


вектору уровней сигналов, зарегистрированному в текущий момент времени.
Основным фактором, затрудняющим применение методов, основанных
на использовании карты уровней сигналов, является необходимость прове­
дения предварительных измерений на территории всего здания. Как было
сказано выше, каждое изменение в конфигурации системы (например пере­
становка базовой станции) или конфигурации помещения (перестановка ме­
бели) требует повторения процедуры предварительных измерений [39]. Для
больших помещений, таких как здание завода или аэропорта, подобный метод
практически не применим. В последнее время появляются решения, позволя­
ющие обойти данные трудности за счет учета дополнительной информации
от встроенной инерциальной навигационной системы [40, 41, 42].
Существуют решения, позволяющие осуществить построение карты по­
крытия автоматически. Такие системы используют модели распространения
сигнала внутри помещения [43, 44, 45, 46]. Информация о положениях ба­
зовых станций, координатах и материалах стен, а также модель распростра­
нения сигнала на данной частоте используется для того, чтобы определить
силу сигнала от данной базовой станции в данном участке помещения. Точ­
ность такого метода определяется точностью выбранной модели и точностью
информации, используемой при моделировании.

1.1.2. Системы, основанные на измерении времени распространения


сигнала

Помимо систем, использующих измерения уровней сигнала, существуют


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

моменте получения сигнала.


В первом методе пакет с данными посылается между источником и при­
емником минимум два раза [47]. Мобильное устройство отсылает базовой
станции запрос на измерение и получает ответ, фиксируя время распростра­
нения сигнала. В англоязычной литературе данный метод называется Round
Trip Time (RTT). Поскольку сигнал распространяется со скоростью света,
зная время его распространения 𝑡𝑖 между мобильным устройством и 𝑖-ой
базовой станцией, можно определить расстояние между ними:

𝑑𝑖 = 𝑐 · 𝑡𝑖 , (1.2)

где 𝑐 - скорость распространения электромагнитной волны. Каждое такое из­


мерение определяет окружность с центром в базовой станции, в пределах
которой находится мобильный объект. В идеальном случае для определения
местоположения объекта на плоскости необходимы измерения от трех ба­
зовых станций. В реальной ситуации внутри помещения многолучевое рас­
пространение сигнала (NLOS, Non-Line-Of-Sight) приводит к возникновению
завышения в измерениях и неправильному расчету локации (ошибка NLOS
складывается из дополнительного пути, который прошел сигнал по отноше­
нию к прямолинейному пути между передатчиком и приемником). В резуль­
тате данной ошибки расстояния, измеренные между мобильным устройством
и базовыми станциями, будут всегда больше или равны истинным расстояни­
ям. Окружности с радиусами, равными измеренным расстояниям, и центрами
в местах нахождения базовых станций не будут пересекаться в одной точке,
а образуют некоторую область локации (рисунок 1.2).
17

Рис. 1.2. Область локации объекта, построенная по измеренным расстояниям. М – мобиль­


ное устройство, 𝐵𝑆1 , 𝐵𝑆2 , 𝐵𝑆3 – базовые станции, 𝑅1 , 𝑅2 , 𝑅3 – измеренные расстояния.

Размер этой области определяется точностью измерений и может дости­


гать нескольких десятков квадратных метров. Задача алгоритмов локации –
оценить местоположение мобильного устройства внутри этой области.
Во втором методе источником сигнала является мобильное устройство.
Время на всех базовых станциях синхронизировано. Посылая сигнал несколь­
ким базовым станциям, можно определить момент приема сигнала каждой из
станций и рассчитать разницу во времени приема между парами [14]. Зная
разницу во временах приема сигнала, можно составить систему уравнений
относительно неизвестных координат мобильного объекта:

1 √︀
√︁
𝑡𝑖 − 𝑡𝑗 = · ( (𝑥𝑖 − 𝑥)2 + (𝑦𝑖 − 𝑦)2 − (𝑥𝑗 − 𝑥)2 + (𝑦𝑗 − 𝑦)2 ). (1.3)
𝑐

Здесь (𝑥𝑖 , 𝑦𝑖 ) и (𝑥𝑗 , 𝑦𝑗 ) – координаты 𝑖-ой и 𝑗-ой базовой станции, 𝑡𝑖 − 𝑡𝑗


– разница во времени приема сигнала, (𝑥, 𝑦) – неизвестные координаты мо­
бильного устройства, 𝑐 – скорость распространения электромагнитной волны.
В англоязычной литературе описанный метод называется Time Difference of
Arrival (TDoA). Полученные уравнения соответствуют гиперболам, которые
в идеальном случае должны пересекаться в точке расположения мобильного
устройства (рисунок 1.3).
18

Рис. 1.3. Гиперболы, соответствующие разнице во времени приема сигнала 𝑡𝑖 − 𝑡𝑗 между


соответствующими базовыми станциями 𝐵𝑆1 , 𝐵𝑆2 , 𝐵𝑆3 . Гиперболы пересекаются в точке,
соответствующей положению мобильного устройства М.

В реальной ситуации полученные измерения также содержат ошибку,


связанную с многолучевым распространением сигнала. Однако в отличие от
предыдущего метода, в методе TDoA нет возможности однозначно опреде­
лить область, внутри которой необходимо лоцировать объект.
Большинство локальных систем позиционирования, основанных на из­
мерении времени распространения сигнала, относятся либо к классу UWB
(Ultra Wide Band), работающему на частотах 3 – 10 ГГц, либо к классу
nanoLOC, работающему на частоте 2.4 ГГц [47, 48, 13]. Оба эти класса
определены стандартом IEEE 802.15.4a. Системы на основе UWB использу­
ют намного более широкий спектральный диапазон, что упрощает отслежи­
вание и отбрасывание отраженных сигналов [14]. Основным преимуществом
таких систем является более точное измерение расстояния от базовой стан­
ции до мобильного устройства. Однако применение таких систем на практике
ограничено регламентом. Системы класса nanoLOC позволяют проводить из­
мерения на большем расстоянии между источником и приемником. Однако
ошибки таких измерений могут достигать нескольких метров [47, 19, 18].
Данные о расстояниях, измеренных между мобильным устройством и
базовыми станциями времяпролетным методом, могут быть использованы
19

совместно с измерениями уровней сигналов [49, 50, 51, 52, 53]. В большин­
стве случаев измерения времени распространения и уровня сигнала берутся
из двух разных источников информации [49, 50, 51]. При этом информа­
ция об уровне сигнала может быть использована для расчета локации, если
измерение времени распространения прошло неудачно [54].
Как правило, в системах, основанных на времяпролетном методе, при
измерении времени распространения сигнала одновременно фиксируется и
значение уровня принимаемого сигнала. Однако в случае использования тех­
нологии UWB учет информации об уровне сигнала не имеет смысла, по­
скольку расстояния, измеренные времяпролетным методом, позволяют до­
стичь гораздо лучшей точности локации. В случае же использования техно­
логии nanoLOC, работающей на частоте 2.4 ГГц, учет информации об уровне
сигнала представляет большой практический интерес.

1.1.3. Встроенный модуль определения траектории

Помимо данных, поступающих от базовых станций, важным источни­


ком информации являются датчики, встроенные в мобильное устройство. Это
могут быть датчики ускорения (акселерометры), датчики магнитного поля
(магнитометры), гироскопы, датчики температуры и давления. При исполь­
зовании в системах определения локации самыми информативными являют­
ся датчики ускорения и гироскопы. Информация от этих датчиков позво­
ляет определить траекторию движения объекта. В случае, если мобильное
устройство закреплено на пешеходе, акселерометр позволяет оценить длину
шагов, а гироскоп – угол поворота [55]. Оценивая длину каждого шага и
моменты смены направления движения, можно определять локацию объекта
относительно начальной позиции. Ошибка в определении шага и направле­
нии движения аккумулируется с каждым шагом, что приводит к ухудшению
точности локации со временем.
20

Датчики, встроенные в мобильное устройство, образуют встроенный


инерциальный модуль определения траектории (Inertial Measurement Unit
- IMU). Данные от такого модуля позволяют существенно улучшить точ­
ность локации в системах на основе измерения уровня принимаемого сигна­
ла [56, 57, 58, 59, 60]. Существуют работы по применению таких датчиков с
системами на основе технологии UWB [61, 62, 63, 64].
Как правило, в большинстве устройств используются датчики MEMS­
типа (microelectromechanical systems). Данные от таких датчиков недостаточ­
но точные в сравнении, например, с инерциальными системами, использую­
щимися в самолетах. Основными ошибками [65], влияющими на точность
определения траектории, являются постоянное смещение в показаниях ги­
роскопа, случайный шум, связанный с изменением температуры, изменение
угла, связанное с вращением тела при ходьбе, а также ошибки, обуслов­
ленный неточностью алгоритмов определения шага и направления. Чтобы
компенсировать ошибку в определении траектории, большинство решений
используют встроенную инерциальную систему совместно с картой здания
[66, 67, 68, 69, 70, 71]. Существует большое количество систем для смарт­
фонов [72, 73, 74]. В то же время существуют системы, в которых инерци­
альная навигационная система крепится на обувь человека [75, 76], ремень
[77] или рюкзак [78]. Такой подход позволяет более точно оценить длину
шага и тем самым более точно определить траекторию движения человека.

1.2. Алгоритмы расчета локации

Как было показано выше, измерения, использующиеся для определения


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

магнитного сигнала внутри помещения. Данные от встроенного в мобильное


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

1.2.1. Задача определения местоположения по зашумленным


измерениям. Байесовская фильтрация

Основной задачей алгоритма локации является оценка местоположения


объекта по информации об измерениях от внешних и встроенных датчиков,
а также карте помещения. Помимо информации о координатах на плоскости
(𝑥, 𝑦), алгоритм локации может определить направление движения объекта
𝛼 и его скорость 𝑣. Описанный набор параметров принято называть состо­
янием объекта или состоянием системы. В большинстве случаев набор
указанных параметров объединяется в вектор, который называется векто­
ром состояния системы. Здесь и далее он будет обозначаться символом x.
Вектор состояния системы в определенный момент времени 𝑡 будет обозна­
чаться x𝑡 .
Набор всех измерений, получаемых в момент времени 𝑡, будет обозна­
чаться символом z𝑡 . Он называется вектором измерений. В зависимости от
применяемого алгоритма и системы локации вектор измерений может вклю­
чать в себя расстояния, измеренные времяпролетным методом, измерения
уровня принимаемого сигнала от различных точек доступа и другие величи­
ны. В некоторых случаях данные, получаемые от встроенной инерциальной
системы, удобно рассматривать отдельно от данных из беспроводной сети
22

базовых станций. Набор значений от встроенного модуля определения траек­


тории, полученный в момент времени 𝑡, будем обозначать символом u𝑡 .
Алгоритм локации должен учитывать неопределенность, обусловленную
влиянием ошибок измерений. В большинстве случаев это достигается с помо­
щью использования вероятностного подхода. Информация об объекте пред­
ставляется в виде распределения вероятностей на всем пространстве возмож­
ных гипотез о его локации [79]. Плотность распределения вектора состояния
в момент времени 𝑡 будем обозначать 𝑝(x𝑡 ). Такой подход позволяет не только
оценивать наиболее вероятное положение, но и учитывать неопределенность
оценки местоположения в выбранных алгоритмах.
В общем случае, не принимая во внимание информацию о текущих из­
мерениях, плотность распределения вектора состояния в момент времени
𝑡 зависит от всех предыдущих значений вектора состояний x1...𝑡−1 и всех
предыдущих измерений z1...𝑡−1 , зарегистрированных к моменту времени 𝑡:

𝑝(x𝑡 ) = 𝑝(x𝑡 |x1...𝑡−1 , z1...𝑡−1 ) (1.4)

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


[79]. Считается, что вектор x𝑡 зависит только от предыдущего состояния:

𝑝(x𝑡 |x1...𝑡−1 , z1...𝑡−1 ) = 𝑝(x𝑡 |x𝑡−1 ) (1.5)

Распределение 𝑝(x𝑡 |x𝑡−1 ) определяется моделью динамики системы или мо­


делью системы. Она позволяет спрогнозировать состояние системы в момент
времени 𝑡 на основе предыдущего сотояния в момент времени 𝑡 − 1. В случае,
если в рассматриваемой системе локации доступны данные от встроенного
модуля определения траектории, модель динамики системы может включать
в себя эту информацию. Таким образом, прогноз будет осуществляться на
основании предыдущей оценки вектора состояния x𝑡−1 и данных от встроен­
ного модуля u𝑡 .
Как и вектор состояния системы, вектор измерений z𝑡 характеризуется
23

плотностью распределения 𝑝(z𝑡 ). Условное распределение 𝑝(z𝑡 |x𝑡 ) определя­


ется моделью измерений. Она определяет зависимость измерений от того
состояния, в котором находится объект.
Задание модели системы и модели измерений определяет алгоритм лока­
ции. Принимая во внимание текущие измерения, вектор состояния системы
будет характеризоваться условной плотностью распределения:

𝑝(x𝑡 ) = 𝑝(x𝑡 |x1...𝑡−1 , z1...𝑡 ). (1.6)

Большинство вероятностных алгоритмов, оперирующих с описанными


распределениями, основаны на методе байесовской фильтрации [80]. Задача
фильтрации состоит в том, чтобы рекурсивно оценивать вектор состояния
системы x𝑡 по измерениям z𝑡 , регистрируемым в дискретные моменты вре­
мени 𝑡, учитывая информацию о всех предыдущих измерениях z1 , . . . , z𝑡−1 .
Применение теоремы Байеса позволяет представить плотность распределе­
ния вектора состояния 𝑝(x𝑡 |z1...𝑡 ) следующим образом:
𝑝(z𝑡 |x𝑡 , z1...𝑡−1 ) · 𝑝(x𝑡 |z1...𝑡−1 )
𝑝(x𝑡 |z1...𝑡 ) = . (1.7)
𝑝(z𝑡 |z1...𝑡−1 )
В марковском приближении вектор x𝑡 уже должен учитывать всю полезную
информацию о предыдущих измерениях и управляющих сигналах, поэтому
правдоподобие можно представить в виде

𝑝(z𝑡 |x𝑡 , z1...𝑡−1 ) = 𝑝(z𝑡 |x𝑡 ) (1.8)

Априорная плотность распределения 𝑝(x𝑡 |z1...𝑡−1 ) определяется предыдущей


оценкой апостериорной плотности вектора состояний и моделью динамики
системы:
Z
𝑝(x𝑡 |z1...𝑡−1 ) = 𝑝(x𝑡 |x𝑡−1 , z1...𝑡−1 ) · 𝑝(x𝑡−1 |z1...𝑡−1 )𝑑x𝑡−1 (1.9)

В марковском приближении выражение 𝑝(x𝑡 |x𝑡−1 , z1...𝑡−1 ) может быть пред­


ставлено в виде:
𝑝(x𝑡 |x𝑡−1 , z1...𝑡−1 ) = 𝑝(x𝑡 |x𝑡−1 ). (1.10)
24

Выражение 𝑝(x𝑡−1 |z1...𝑡−1 ) представляет собой апостериорную оценку плотно­


сти распределения вектора состояния на предыдущем шаге 𝑡−1. Знаменатель
в уравнении 1.7 не зависит от вектора состояния x и может быть использован
как нормировочный коэффициент 𝜂.
Рекурсивный алгоритм байесовской фильтрации можно записать с ис­
пользованием представленных выше выражений. Он состоит из двух шагов:
прогноза (1.11)
Z
𝑝(x𝑡 |z1...𝑡−1 ) = 𝑝(x𝑡 |x𝑡−1 ) · 𝑝(x𝑡−1 |z1...𝑡−1 )𝑑x𝑡−1 (1.11)

и коррекции (1.12)

𝑝(x𝑡 |z1...𝑡 ) = 𝜂 · 𝑝(z𝑡 |x𝑡 ) · 𝑝(x𝑡 |z1...𝑡−1 ). (1.12)

Для работы конкретного алгоритма на основе байесовской фильтрации необ­


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

1) алгоритмы, использующие фильтр Калмана;

2) алгоритмы на основе дискретного байесовского фильтра;

3) алгоритмы на основе фильтра частиц.

Поскольку большинство систем определения локации внутри помещения ис­


пользуют методы из этих трех групп, другие существующие алгоритмы не
будут приниматься в рассмотрение.

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

Одним из распространенных методов для оценки состояния системы (ло­


кации объекта) по результатам зашумленных наблюдений, в том числе и
25

для оценки локации в беспроводных сетях датчиков, является метод кал­


мановской фильтрации [81]. Фильтр Калмана реализует метод байесовской
фильтрации, используя представление плотности распределения состояния
системы в виде многомерного нормального распределения. При этом система
характеризуется двумя параметрами - математическим ожиданием вектора
состояния x и соответствующей ковариационной матрицей P. Применение
фильтра Калмана требует выполнения ряда условий [79]. Предполагается,
что модель динамики системы задается линейной функцией с аддитивным
гауссовским шумом:
x𝑡 = A𝑡 x𝑡−1 + q𝑡 . (1.13)

Модель измерений также задается линейной функцией с аддитивным гаус­


совским шумом:
z𝑡 = C𝑡 x𝑡 + r𝑡 . (1.14)

Начальное распределение вектора состояния системы является нормальным


с параметрами x0 , P0 .
В приведенных уравнениях вектор системы x𝑡 и вектор измерений z𝑡
представлены в виде:
x𝑡 = [𝑥1,𝑡 . . . 𝑥𝑛,𝑡 ]𝑇 , (1.15)

z𝑡 = [𝑧1,𝑡 . . . 𝑧𝑘,𝑡 ]𝑇 . (1.16)

A𝑡 – матрица размера 𝑛 × 𝑛, задающая соотношение между предыдущим и


последующим значением вектора состояния, C𝑡 – матрица размера 𝑘 × 𝑛,
задающая соотношение между вектором измерений и вектором состояния
системы. q𝑡 – вектор, соответствующим шумам системы, r𝑡 – вектор, соот­
ветствующим шумам измерений.
На практике, как правило, встречаются системы с нелинейной моде­
лью процесса и наблюдений. Так, например, вектор измерений расстояний
от базовых станций до мобильного устройства нелинейно связан с вектором
26

состояний, включающим декартовы координаты объекта. В этом случае ис­


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

x𝑡 = 𝑓 (x𝑡−1 ) + q𝑡 , (1.17)

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

z𝑡 = 𝑔(x𝑡 ) + r𝑡 , (1.18)

где 𝑓 — нелинейная функция, описывающая модель динамики системы, а 𝑔


— нелинейная функция, описывающая модель измерений.
Фильтр Калмана состоит из двух этапов: прогноз и коррекция. На этапе
прогноза производится априорная оценка параметров x− −
𝑡 и P𝑡 в соответствие

с выбранными уравнениями динамики системы (знак − обозначает априорное,


предсказанное значение параметра, оцениваемое по управляющим сигналам
до получения измерений z𝑡 ):

x− +
𝑡 = 𝑓 (x𝑡−1 ) (1.19)

P− + 𝑇
𝑡 = F𝑡 P𝑡−1 F𝑡 + Qt . (1.20)

Здесь x+ +
𝑡−1 и P𝑡−1 - апостериорная оценка вектора состояния системы и соот­

ветствующей ковариационной матрицы, определенные на предыдущем шаге.


Qt – ковариационная матрица шумов системы.

𝜕𝑓 (x)
F𝑡 = |x=x𝑡−1 (1.21)
𝜕x

– якобиан от функции f, в окрестности точки x = x𝑡−1 .


27

На этапе коррекции значения этих параметров уточняются с получением


новых данных об измерениях:

K𝑡 = P− 𝑇 − 𝑇
𝑡 G𝑡 (G𝑡 P𝑡 G𝑡 + R𝑡 )
−1
(1.22)
− −
x+
𝑡 = x𝑡 + K𝑡 (z𝑡 − 𝑔(x𝑡 )) (1.23)

P+
𝑡 = (I − K𝑡 G𝑡 )P𝑡 . (1.24)

Здесь x+ +
𝑡 и P𝑡 – скорректированные значения вектора состояния системы и

ковариационной матрицы. K𝑡 – коэффициент усиления фильтра, I – единич­


ная матрица.
𝜕𝑔(x)
G𝑡 = |x=x𝑡−1 (1.25)
𝜕x
– якобиан от функции g, в окрестности точки x = x𝑡−1 .
Вывод этих уравнений из основных уравнений байесовской фильтрации
можно найти например в [79]. Для того чтобы этот рекурсивный алгоритм
заработал, необходимо задать начальные априорные вектор состояния x0 − и
ковариационную матрицу P0 − . Поскольку они могут не совпадать с истинны­
ми значениями этих характеристик состояния системы, то эти неверно задан­
ные начальные условия дадут искаженную оценку вектора состояния. Если
система является линейной, а шумы нормально распределенными, фильтр
предполагается асимптотически устойчивой системой, и постепенно влияние
начальных условий сойдет на нет, и фильтр будет работать устойчиво.
Существует большое количество алгоритмов, использующих различные
модификации фильтра Калмана для расчета локации мобильного устройства
в беспроводной сети базовых станций [18, 82, 83, 84, 85, 15]. Основны­
ми проблемами, возникающими при решении практических задач, являются
проблемы нелинейности моделей динамики системы и модели измерений, а
также проблемы негауссовских шумов. Проблема адаптации фильтра к мо­
дели измерений возникает в случае, если зависимость между измеряемыми
параметрами и параметрами системы (координаты, скорость, ускорение) яв­
ляется нелинейной. Особенно эта проблема проявляется при необходимости
28

преобразовывать измерения, сделанные в полярных координатах, в декартову


систему координат [86, 87, 88]. Существуют два основных подхода для реше­
ния такого рода задач: учет более высоких порядков в разложении функций
𝑓 и 𝑔 в ряд Тейлора [89, 90] или использование ансцентного преобразова­
ния (unscented transformation) [86, 88, 91]. Проблема негауссовских шумов
актуальна для систем позиционирования внутри помещений. В большинстве
случаев она сводится к обнаружению и корректировке ошибочных измерений
[83, 92, 18].
Главным ограничением для использования фильтра Калмана в рассмат­
риваемой системе является модель движения, которую трудно представить
с использованием нормального распределения. В большинстве приложений
внутри помещений требуется определение локации человека. Движение че­
ловека характеризуется небольшой по сравнению с транспортом скоростью
и частой сменой направления. В случае часто маневрирующей цели необхо­
димо дополнительно контролировать параметры фильтра и увеличивать ча­
стоту измерений [93]. Большинство существующих решений, использующих
фильтр Калмана для расчета локации по измерениям времени распростране­
ния, используют метод TDoA [18, 15, 19]. В этом случае измерения могут
производиться с частотой 10 раз в секунду и чаще. Однако в случае исполь­
зования метода RTT с целью экономии радиоэфира приходится ориентиро­
ваться на частоту измерений 1 раз в секунду. За это время человек может
резко изменить направление своего движения.
Еще одним ограничением калмановской фильтрации является сложность
учета информации о структуре здания. Существуют алгоритмы, позволяющие
учитывать карту автомобильных дорог [94]. Однако такие решения не ориен­
тированы на возможность резкой смены направления движения, и примене­
ние их для локации человека внутри помещения может вызвать затруднения.
29

1.2.3. Дискретный байесовский фильтр

Дискретный байесовский фильтр позволяет найти приближенное реше­


ние уравнений (1.11) и (1.12) путем разбиения пространства возможных зна­
чений вектора состояния на дискретные участки [95, 96, 97, 98, 99]. Каждо­
му участку ставится в соответствие вероятность того, что вектор состояния
примет значение, соответствующее данному участку. В результате операция
интегрирования в уравнении (1.11) заменяется операцией суммирования по
всем участкам дискретной сетки. Данное упрощение позволяет на прямую
рассчитать оценки вероятности нахождения объекта 𝑃 (x𝑡,𝑖 |z1...𝑡 ) в каждой
ячейке дискретной сетки x𝑡,𝑖 в момент времени 𝑡, учитывая все измерения
z1...𝑡 к моменту времени 𝑡:

𝑃 (x𝑡,𝑖 |z1...𝑡 ) = 𝜂 · 𝑃 (z𝑡 |x𝑡,𝑖 )𝑃 (x𝑡,𝑖 |z1...𝑡−1 ), (1.26)

где
𝑚
∑︁
𝑃 (x𝑡,𝑖 |z1...𝑡−1 ) = 𝑃 (x𝑡,𝑖 |x𝑡−1,𝑗 ) · 𝑃 (x𝑡−1,𝑗 |z1...𝑡−1 ). (1.27)
𝑗=1

Правдоподобие 𝑃 (z𝑡 |x𝑡,𝑖 ) вычисляется с помощью модели измерений, задан­


ной для каждого конкретного набора измерений, доступных в используе­
мой системе. Оценка вероятности 𝑃 (x𝑡,𝑖 |x𝑡−1,𝑗 ) определяется выбранной мо­
делью динамики системы (моделью движения объекта). Оценки вероятностей
𝑃 (x𝑡−1,𝑗 |z1...𝑡−1 ) определяются на предыдущем шаге в момент времени 𝑡 − 1.
В результате работы дискретного байесовского фильтра плотность рас­
пределения вектора состояния 𝑝(x𝑡 ) аппроксимируется дискретным распре­
делением {𝑃 (x𝑡,𝑖 )}. Точность аппроксимации зависит от частоты разбиения
пространства на дискретные ячейки. Использование более частого разбие­
ния позволяет улучшить оценку вектора состояния, но повышает требования
к вычислительным ресурсам. Существуют методы динамического разбиения
пространства на дискретные участки, а также другие методы оптимизации,
позволяющие ускорить алгоритм [79].
30

Основным преимуществом описанного алгоритма является простота ре­


ализации и возможность наиболее точно описать поведение системы. Основ­
ным ограничением является вычислительная сложность. Алгоритм с данны­
ми характеристиками целесообразно использовать в том случае, когда вы­
бранная модель не позволяет достаточно точно спрогнозировать состояние
системы в следующий момент времени. В этой ситуации требуется рассмот­
рение большого количества гипотез о возможном положении объекта. Такие
задачи могут возникать в системах локации, в которых мобильное устройство
не оснащено встроенным модулем определения траектории. Так, дискретный
байесовский фильтр используется в системах, основанных на использовании
только информации о силе принимаемого сигнала [100, 101].
Эффективность дискретного байесовского фильтра зависит от выбора
дискретных участков. На дискретные участки может разбиваться вся кар­
та, на которой необходимо определить локацию объекта. В случае необ­
ходимости рассчитывать вероятности для всех участков дискретной сетки
сложность вычислений может стать неприемлемой для реализации на совре­
менном компьютере. Для упрощения вычислений можно ограничить выбор
участков, для которых необходимо рассчитывать вероятности. Для систем,
основанных на измерениях времени распространения сигнала, выбор участ­
ков может быть ограничен областью пересечения окружностей, построенных
на основании полученных измерений [102].
Дискретный байесовский фильтр позволяет легко учесть информацию
о структуре помещения. Стены могут быть учтены при оценке вероятностей
𝑃 (x𝑡,𝑖 |x𝑡−1,𝑗 ). Так, например, вероятность того, что объект переместится в
участок, отделенный стеной, может быть задана нулем.
Учитывая обозначенные особенности, алгоритмы на основе дискретной
байесовской фильтрации имеет смысл применять в разрабатываемой системе
только в том случае, если от мобильного устройства не поступают данные
от встроенного модуля определения траектории и присутствует информация
31

о карте помещения.

1.2.4. Фильтр частиц

Фильтр частиц позволяет найти приближенное решение уравнений (1.11)


и (1.12) с помощью представления плотности распределения вектора со­
стояний 𝑝(x𝑡 |z1...𝑡 ) в виде случайного набора значений вектора состояний
(частиц), сгенерированного на основе выбранного распределения. В каж­
дый момент времени 𝑡 состояние системы представлено набором из 𝑁 ча­
(𝑖)
стиц {x𝑡 , 𝑖 = 1 . . . 𝑁 }, каждой из которых поставлено в соответствие чис­
ло - вес частицы {𝑤𝑡 (𝑖) , 𝑖 = 1 . . . 𝑁 } (веса частиц удовлетворяют условию
∑︀𝑁 (𝑖)
𝑖=1 𝑤𝑡 = 1). Основная идея метода заключается в том, что каждая от­
дельная частица соответствует возможному значению вектора состояния (на­
пример положению, направлению и скорости объекта). Динамика каждой от­
дельной частицы подчиняется выбранной модели динамики системы. Вектор
состояния системы оценивается как средневзвешенное значение всех частиц
[20].
Как и другие реализации байесовской фильтрации, фильтр частиц поз­
воляет найти оценку плотности распределения вектора состояний 𝑝(x𝑡 |z1...𝑡 )
в момент времени 𝑡 на основе оценки 𝑝(x𝑡−1 |z1...𝑡−1 ), полученной на предыду­
щем шаге 𝑡 − 1. Поскольку оценка плотности распределения представлена в
(𝑖)
виде набора частиц, то и набор частиц {x𝑡 } в момент времени 𝑡 генериру­
(𝑗)
ется на основе набора частиц {x𝑡−1 } в момент времени 𝑡 − 1. Как правило,
алгоритм состоит из нескольких фаз: инициализация, прогноз, вычисление
весов, ресэмплинг и оценка состояния.
В ходе инициализации набор из 𝑁 частиц генерируется случайным об­
разом в области возможных значений вектора состояния системы. В случае,
если вектор состояний включает информацию о координатах объекта, та­
кая область может быть представлена картой здания, отдельной ее частью
32

или определена доступными измерениями. Все веса предполагаются равны­


1
ми 𝑤(𝑖) = 𝑁. Если алгоритм уже инициализировался, то входными данными
(𝑖)
является набор частиц {x𝑡−1 , 𝑤𝑡−1 (𝑖) , 𝑖 = 1 . . . 𝑁 }, полученный на предыдущем
шаге.
В ходе прогноза новое предположительное значение вектора состояния
(𝑖) (𝑖)
x𝑡 генерируется на основе частицы x𝑡−1 и модели динамики системы. В
(𝑖)
идеальном случае новый набор частиц {x𝑡 } должен генерироваться из рас­
пределения 𝑝(x𝑡 |x𝑡−1 ). Однако на практике часто бывает, что распределение
𝑝(x𝑡 |x𝑡−1 ) неизвестно и новый набор частиц генерируется на основании упро­
щенных моделей [20]. Так, например, если вектор состояния включает ин­
формацию о координатах мобильного объекта и его скорости и задана модель
движения 𝑓 (x𝑡−1 (𝑖) ), положение каждой отдельной частицы x𝑡 (𝑖) может быть
найдено с помощью уравнения:

x𝑡 (𝑖) = 𝑓 (x𝑡−1 (𝑖) ) + q𝑡 , (1.28)

где q𝑡 – шум системы, учитывающий возможные неточности модели движе­


ния. В случае, если мобильное устройство оснащено встроенной навигацион­
ной системой, положение частицы может определяться данными о траекто­
рии, полученными от модуля.
На шаге прогноза фильтр частиц позволяет учесть информацию о струк­
туре здания [103]. Так, например, частица, чья траектория пересекает стену,
считается соответствующей ложной гипотезе и удаляется из общего набора
частиц.
Веса частиц используются для учета информации об измерениях от
внешних устройств (например, базовых станций). Процедура вычисления
весов соответствует вычислению правдоподобия в уравнениях байесовского
фильтра. Исходя из доступных измерений, веса частиц перераспределяются
таким образом, чтобы частицы, для которых наблюдается большее соответ­
ствие с текущими измерениями, имели больший вес. В идеальном случае вес
33

частицы 𝑤𝑡 (𝑖) соответствует вероятности получить вектор измерений z𝑡 при


(𝑖)
условии, что вектор состояний принял значение x𝑡 :

(𝑖)
𝑤𝑡 (𝑖) = 𝑃 (z𝑡 |x𝑡 ). (1.29)

Таким образом, набор взвешенных частиц соответствует оценке апостериор­


ной плотности распределения вектора состояния в уравнениях байесовской
фильтрации (1.7).
В ходе большого количества итераций может получиться, что веса боль­
шинства частиц, соответствующих ложным гипотезам, будут стремиться к
нулю. Вклад таких частиц в оценку вектора состояния будет незначитель­
ным, но на них будут тратиться вычислительные ресурсы. Для преодоления
данной проблемы используется метод ресэмплинга [20]. Суть метода заклю­
чается в том, чтобы отбросить частицы с маленьким весом и продублиро­
вать частицы с большим весом. Это позволяет перераспределить вычисли­
тельные ресурсы для лучшего рассмотрения более правдоподобных гипотез.
Существуют разные методы ресэмплинга [20], позволяющие оптимизировать
скорость работы алгоритма. Кроме того, существуют реализации фильтра ча­
стиц, в которых не используется процедура ресэмплинга [79]. Такие алгорит­
мы требуют большего числа частиц для рассмотрения возможных гипотез.
На заключительной стадии алгоритма вектор состояния системы оцени­
вается как взвешенная сумма частиц:
𝑁
∑︁
x𝑡 = 𝑤(𝑖) x(𝑖) . (1.30)
𝑖=1

Как и в случае применения дискретного байесовского фильтра, в филь­


тре частиц плотность распределения вектора состояния 𝑝(x) аппроксимиру­
ется дискретным набором частиц. Фильтр частиц является приближенным
алгоритмом, и точность аппроксимации будет зависеть от количества частиц
и правильности выбора модели системы и модели измерений. Преимуще­
ством фильтра частиц по сравнению с дискретным байесовским фильтром
34

является возможность сосредоточить вычислительные ресурсы на оценке бо­


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

1.3. Выводы

Существует большое количество технологий определения местоположе­


ния мобильного устройства в беспроводной сети базовых станций внутри по­
мещения, которые используют измерения уровня и времени распространения
сигнала. Дополнительными данными могут служить измерения от встроен­
ного в мобильное устройство модуля определения траектории, карта уровней
радиосигнала внутри помещения или план здания. Тем не менее, на сего­
дняшний день существует недостаточно работ, посвященных разработке ал­
горитмов локации с использованием беспроводной сети датчиков стандарта
IEEE 802.15.4a (nanoLOC). Существующие решения учитывают только из­
мерения времени распространения сигнала и не используют значения уровня
принимаемого сигнала. Кроме того, большинство работ, посвященных ис­
пользованию обозначенной технологии, ориентированы на метод TDoA (Time
Difference of Arrival). Таким образом, создание методов расчета локации, учи­
тывающих одновременно информацию об расстояниях, измеренных по методу
RTT (Round Trip Time), значения уровня принимаемого сигнала, а также дан­
ные от встроенного в мобильное устройство модуля определения траектории,
представляет большой практический интерес.
В большинстве случаев для расчета локации используются алгоритмы
на основе байесовской фильтрации. Дискретный байесовский фильтр приме­
35

няется в системах, основанных на измерениях уровня сигнала и использу­


ющих карту уровней сигнала внутри здания. Фильтр Калмана, как прави­
ло, используется в системах на основе измерения времени распространения
сигнала или в системах, использующих преобразование измерений уровня
сигнала в расстояние между источником и приемником. В случае, если из­
мерения от базовых станций дополняются данными от встроенного модуля
определения траектории и информацией о карте здания, наиболее популяр­
ным алгоритмом является фильтр частиц. В следующей главе рассматрива­
ется возможность использовать обозначенные алгоритмы в системе локации
на основе беспроводной сети датчиков стандарта IEEE 802.15.4a (nanoLOC).
36

Глава 2

Выбор алгоритма локации для используемой


технологии

В предыдущей главе были рассмотрены различные технологии и алго­


ритмы определения местоположения мобильного объекта внутри помещения
в беспроводной сети базовых станций. Для расчета локации в большин­
стве случаев используются три основных метода: дискретный байесовский
фильтр, фильтр Калмана и фильтр частиц. Выбор конкретного метода зави­
сит от типа доступных измерений. В рассматриваемой системе определения
местоположения на основе беспроводной сети базовых станций стандарта
IEEE 802.15.4a (nanoLOC) для расчета локации доступна следующая инфор­
мация: измерения расстояний и уровней сигнала между мобильным устрой­
ством и базовыми станциями, а также данные от встроенного в мобильное
устройство модуля определения траектории. В настоящей главе раскрываются
физические принципы измерений, доступных для расчета локации, а также
проводится выбор алгоритмов для различных режимов работы системы.

2.1. Используемая технология

2.1.1. Система локального позиционирования на основе беспроводной


сети базовых станций

В настоящей работе для получения измерений для расчета локации ис­


пользуется система локального позиционирования RealTrac—[25]. Она состо­
ит из сети базовых станций, мобильного устройства и сервера сбора данных
и расчета локации (рисунок 2.1). Предполагается, что в большинстве случаев
носителем мобильного устройства является человек.
37

Рис. 2.1. Система локального позиционирования RealTrac: 1 – мобильное устройство; 2 –


базовые станции; 3 – беспроводная сеть; 4 – пакет с измерениями; 5 – сервер расчета
локации; 6 – рассчитанная локация объекта.

Данные между устройствами передаются с использованием радиостан­


дарта IEEE 802.15.4a (nanoLOC). Данный стандарт предложен компанией
Nanotron Technologies GmbH (http://www.nanotron.com/) и применяется для
построения беспроводных сетей датчиков с возможностью автоматического
измерения расстояний. Максимальная заявленная скорость передачи данных
составляет 2 Мбит/сек., несущая частота – 2.4 ГГц (радиочастотный диа­
пазон ISM, разрешенная мощность передатчика до 100 мВт), ширина спек­
тра сигнала – 80 МГц. Для передачи данных используются электромагнит­
ные сигналы с плавно изменяющейся частотой (CSS-модуляция, Chirp Spread
Spectrum).
Базовые станции способны измерять расстояние и уровень сигнала до
мобильного устройства и передавать эту информацию на сервер. В техноло­
гии nanoLOC предусмотрен специальный режим обмена кадрами в эфире, в
результате которого радиомодули рассчитывают расстояние друг до друга на
основании регистрации времени распространения сигнала. Измерения прово­
дятся с помощью метода под названием Symmetric Double Sided Two Way
Ranging (SDS-TWR, симметричное двустороннее двухступенчатое измерение
расстояний).
38

Рис. 2.2. Схема метода SDS-TWR

Для измерения расстояний (рисунок 2.2) [47] между узлом A и узлом


B узел A посылает узлу B пакет DATA, содержащий запрос на измерение, и
фиксирует время отправки. Узел B, получив пакет от узла A, отсылает узлу
A подтверждение – ACK-пакет. Узел A, получив ACK-пакет, фиксирует время
его получения. Это позволяет вычислить время распространения сигнала 𝑡1
по формуле:
𝑇𝐴1 − 𝑇𝐵1
𝑡1 = , (2.1)
2
где 𝑇𝐴1 – время, измеренное узлом A с момента отправки пакета узлу B
до получения ACK-пакета от узла B, 𝑇𝐵1 — время, измеренное узлом B с
момента получения пакета от узла A до отправки ACK-пакета.
После отправки подтверждения, узел B также инициирует процедуру
отправки запроса на измерение расстояния и получения подтверждения с
фиксацией времени распространения:

𝑇𝐵2 − 𝑇𝐴2
𝑡2 = . (2.2)
2

После чего результат расчета посылается узлу A.


Измерение времени распространения обеими сторонами позволяет ис­
пользовать среднее значение для расчета расстояния. Это минимизирует эф­
фект, связанный с рассинхронизацией приемо-передатчиков устройств вслед­
ствие непредвиденного сдвига центральной частоты у разных устройств (на­
пример, из-за температурной разницы). Набор измеренных расстояний от
39

нескольких точек доступа с заранее заданными координатами может быть


использован для определения локации объекта с помощью трилатерации.
Поскольку данная технология позволяет одновременно измерять время рас­
пространения и силу сигнала, разработка алгоритма позиционирования, ис­
пользующего одновременно два этих источника информации, представляет
большой практический интерес. Дополнительным источником информации в
готовых технических решениях являются встроенные в мобильное устрой­
ство трехосевой акселерометр, трехосевой гироскоп и трехосевой магнито­
метр.
Процедура сбора данных и расчета локации происходит следующим об­
разом. Мобильное устройство периодически отсылает широковещательный
пакет, инициирующий процедуру замера расстояний до базовых станций.
Вместе с измеренными расстояниями регистрируется сила принимаемого сиг­
нала. Таким образом, каждому расстоянию, измеренному между базовой
станцией и мобильным устройством, соответствует свое значение силы при­
нимаемого сигнала. Полученный набор измерений вместе с дополнительной
информацией от встроенных в мобильное устройство датчиков, передается
на сервер для расчета местоположения. После чего данные о локации могут
быть переданы для обработки сторонним приложениям. Система позволяет
задавать частоту выхода мобильного устройства в радиоэфир. Тем самым
можно изменять частоту измерений и регулировать загруженность эфира.
Максимальная частота замеров в пределах одного радиосегмента составляет
20-25 измерений в секунду. Это ограничивает максимальное время расчета
локации.

2.1.2. Встроенный модуль определения траектории

Акселерометр, магнитометр и гироскоп, встроенные в мобильное устрой­


ство, используются для определение траектории, пройденной человеком за
40

время между двумя циклами замеров расстояний и сил сигналов. Существу­


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

Рис. 2.3. Определение шагов по данным акселерометра. На графике по оси ОХ отложено


время, ось ОY соответствует данным по одной из осей акселерометра. 𝑆1 , 𝑆2 – два по­
следовательных шага, 𝑡0 , 𝑡1 , 𝑡2 – моменты времени, в которые фиксируется максимальное
ускорение.

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


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

печение, использующееся на устройстве, уже производит оценку траектории.


Данные о траектории поступают на сервер локаций в виде набора отрезков
и углов, соответствующих шагам человека: длине и направлению (рисунок
2.4).

Рис. 2.4. Данные от встроенного модуля определения траектории. 𝑎𝑖 , 𝑙𝑖 – направление и


длина i-ого шага.

Поскольку алгоритмы определения траектории не идеальны, а исполь­


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

Рис. 2.5. Доставка данных от встроенного модуля определения траектории на сервер расчета
локации. 𝑆1 , 𝑆2 – два последовательных шага, 𝑡0 , 𝑡1 , 𝑡2 – моменты времени, в которые
фиксируются шаги человека, 𝑡𝑠𝑒𝑛𝑑 – момент отправки пакета с данными на сервер расчета
локации, 𝑑 – разница в длине регистрируемого и реального пути.

На приведенном рисунке отсечка 𝑡𝑠𝑒𝑛𝑑 соответствует времени выхода мо­


бильного устройства в радиоэфир и отправке данных о траектории на сервер.
К данному моменту времени шаг 𝑠2 еще не был детектирован встроенным
модулем определения траектории, хотя человек уже успел переместиться на
значительное расстояние с момента детектирования шага 𝑠1 . Таким образом,
длина траектории, отправленной на сервер, будет меньше истинной длины на
расстояние 𝑑.

2.1.3. Характеристики измерений

Характеристики данных, использующихся для расчета локации, опреде­


лялись в ходе экспериментов, описанных в работах [105, 106, 25, 102].
Как было сказано в первой главе, основной вклад в ошибку измерений
дает составляющая, связанная с многолучевым распространением сигнала.
На рисунке 2.6 приведен пример экспериментального распределения ошиб­
ки в измеренном расстоянии, построенного по экспериментам, проведенным
внутри здания, а также экспериментам, проведенным на открытой местности.
43

0.5
0.45 1
2
0.4
0.35
0.3

PDF
0.25
0.2
0.15
0.1
0.05
0
0 5 10 15 20
e d, m

Рис. 2.6. Экспериментальное распределение ошибки в измеренном расстоянии. 1 – результа­


ты для экспериментов на открытой местности; 2 – эксперименты внутри здания

Из приведенных распределений видно, что для открытой местности боль­


шинство измерений попадает в интервал от 0 до 5 метров, в то время как
внутри здания зарегистрировано большое количество измерений, ошибка в
которых превышает 10 метров. Наиболее вероятная ошибка в измеренном
расстоянии составляет 2–3 метра.
Распределение значений уровня принимаемого сигнала от заданной ба­
зовой станции в различных точках внутри здания используется для дополни­
тельного уточнения локации. Ослабление сигнала при прохождении сквозь
стены позволяет разделить области на карте здания, в которых значения
уровня принимаемого сигнала будет значительно отличаться. Для примера
на рисунке 2.7 приведена карта уровней сигнала от одной из точек доступа,
зарегистрированная авторами статьи [105] внутри здания IT-парка Петро­
заводского государственного университета. Базовая станция обозначена на
рисунке двумя последними байтами в МАC-адресе: 9F40.
44

9F40

60 70 80 90 100 110
Pl, dBm

Рис. 2.7. Карта уровней сигнала (PL) для одной из базовых станций

На приведенном рисунке видно, что с увеличением расстояния до ба­


зовой станции уровень сигнала вдоль коридора затухает медленнее, чем в
комнатах, поскольку для ячеек вдоль коридора базовая станция находится
на прямой видимости. Учет карт покрытия для нескольких базовых станций
позволяет более точно разделить отдельные участки внутри здания [106].
Распределение уровня сигнала внутри каждой зарегистрированной ячей­
ки определяет точность локации, рассчитанной с учетом карты покрытия.
Чем меньше отличаются показания среди серии измерений в заданной точке,
тем точнее можно определить, в какой именно ячейке находится мобильное
устройство. Эксперименты, проведенные с использованием рассматриваемой
технологии, показали, что максимальный разброс значений уровней сигнала
в данной точке может составлять 20 dB. Если пересчитывать по формуле
(1.1) зависимости силы сигнала от расстояния, данный разброс может со­
ответствовать изменению в расстоянии между источником и приемником в
десятки метров. Следует отметить, что разброс значений может быть обу­
словлен не только конфигурацией помещения, но и взаимной ориентацией
антенн мобильного устройства и базовой станции.
В описанной системе помимо измерений времени распространения и
уровня сигнала для расчета локации используются данные от встроенных
45

датчиков. При разработке алгоритма локации, использующего уже готовые


данные о траектории, получаемой от встроенного в мобильное устройство
модуля, необходимо учитывать не только ошибки, присущие используемым
датчикам [65], но и ошибки, связанные с самим алгоритмом определения тра­
ектории и способом доставки данных на сервер. Для удобства рассмотрения
и учета в алгоритмах локации разделим ошибки траектории, передаваемой
на сервер расчета локации, на ошибки в определении направления шага и
ошибки в определении длины шага.
Основной ошибкой при определении направления движения является
смещение в показаниях гироскопа. Оно характерно для всех инерциальных
систем определения траектории. Такая ошибка накапливается с каждым ша­
гом. Кроме того, ошибка в определении направления движения зависит от
того, как мобильное устройство закреплено на теле человека (в кармане, в
руке, на ремне), и от типа движения (ходьба/бег). Резкое изменение ориента­
ции устройства относительно направления движения человека, например при
перекладывании в другой карман, может сказаться на точности определения
направления шага. Такие ошибки являются редкими.
Ошибка в определении длины шага проявляется в постоянном завы­
шении или занижении рассчитанных значений относительно истинных. Она
зависит от роста человека, длины шага, а также от того, с какой скоростью
идет человек. Кроме того, ошибка в определении длины шага может быть
обусловлена неточностью применяемых датчиков.
Исследования [104], проведенные с использованием описываемой техно­
логии, показали, что скорость нарастания ошибки в направлении движения
не превышает 5 градусов в минуту. Ошибка в определении длины траектории
не превышает 5% от длины пройденного пути.
46

2.2. Выбор алгоритма локации

Как было сказано выше, в рассматриваемой системе определения ме­


стоположения для расчета локации возможно использовать следующую ин­
формацию: измерения расстояний и уровней сигнала, данные от встроенного
модуля определения траектории, план здания и карту уровней сигнала. На
практике, как правило, доступной является только часть описанных данных.
При выборе основных методов оценки локации объекта необходимо учиты­
вать ряд особенностей, связанных с характеристиками доступных измерений,
простотой реализации и вычислительной сложностью.
Самым распространенным подходом для определения локации по зашум­
ленным измерениям является использование фильтра Калмана. Основной за­
дачей для эффективного позиционирования является адаптация фильтра к
негауссовским шумам. Использование измерений времени распространения
сигнала на частоте 2.4ГГц характеризуется ошибками, связанными с мно­
голучевым распространением сигнала. Кроме того, при движении человека
внутри здания модель движения трудно представить с помощью гауссовских
процессов. Учет стен также требует внесения дополнительных модификаций.
Все это делает затруднительным применение данного алгоритма.
Дискретный байесовский фильтр позволяет учитывать структуру зда­
ния. Кроме того, данный алгоритм позволяет с заданной точностью рассмот­
реть все возможные гипотезы о состоянии системы. Однако вычислитель­
ная сложность данного решения делает его трудным для применения для
практике. В описанной системе алгоритм дискретной байесовской фильтра­
ции целесообразно применять только в том случае, если нет информации от
встроенного в мобильное устройство модуля распознавания траектории.
Наиболее удобным алгоритмом для использования в системе на основе
измерений времени распространения сигнала на частоте 2.4ГГц и встроенно­
го модуля определения траектории является фильтр частиц. Данные о тра­
47

ектории и информацию о стенах здания удобно использовать для прогнози­


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

2.3. Выводы

В настоящей главе приведено описание системы определения местополо­


жения мобильного устройства в беспроводной сети базовых станций. Исполь­
зуемая система позволяет измерять расстояния и уровни сигнала от базовых
станций до мобильного устройства. Кроме этого, для расчета локации могут
использоваться данные о траектории движения объекта, определенные встро­
енным в мобильное устройство модулем. При инсталляции системы внутри
помещения для уточнения локации может использоваться план здания, а
также карта уровней сигнала.
Большинство доступных измерений содержат ошибки, которые нужно
учитывать при разработке алгоритма локации. Измерения от базовых стан­
ций содержат ошибки, связанные с многолучевым распространением сигнала
внутри здания. Набеги в измерениях расстояний, могут достигать значений,
сравнимых по величине с истинным расстоянием. Разброс значений уровня
принимаемого сигнала в отдельно взятой точке влияет на точность опреде­
ления локации. В некоторых случаях разница в значениях уровня сигнала
между двумя близкими ориентациями может достигать 10–20 dB. Данные от
встроенного модуля определения траектории содержат ошибки, связанные с
неточностью используемых датчиков. Скорость нарастания ошибки в направ­
лении движения не превышает 5 градусов в минуту. Ошибка в определении
длины траектории не превышает 5% от длины пройденного пути.
Для расчета локации по зашумленным измерениям в зависимости от
доступных измерений выбраны два основных метода: дискретный байесов­
ский фильтр и фильтр частиц. В следующих главах приведено описание и
представлены результаты исследований характеристик алгоритмов, разрабо­
танных на основе выбранных методов.
49

Глава 3

Имитационная модель системы локации

Для того, чтобы оценить характеристики алгоритмов локации, необхо­


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

3.1. Описание модели

В модели системы локации использовались следующие входные данные:

ˆ карта здания;

ˆ местоположение базовых станций;

ˆ экспериментальные распределения ошибки в расстоянии, измеряемом


внутри помещения и на открытой местности;

ˆ траектория движения;
50

ˆ интервал времени между измерениями.

Для удобства сравнения с реальными данными моделировались условия


инсталляции, сделанной на втором этаже офисного здания ИТ-парка Петро­
заводского государственного университета. Общая площадь этажа составля­
ла 800 м2 . Система включала 9 базовых станций, расположенных на всем
этаже. Схема модельного эксперимента представлена на рисунке 3.1.

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

Положение базовых станций на карте этажа показано на рисунке 3.1


перечеркнутыми квадратами. Траектория движения задавалась в виде набо­
ра опорных точек (𝑝1 , 𝑝2 , 𝑝3 ), для каждой из которых указывалось число –
скорость движения человека, с которой он начинал двигаться после прохож­
дения указанной точки. При перемещении между двумя заданными точками
в зависимости от скорости движения мобильное устройство могло несколько
раз выходить в радиоэфир. На рисунке моменты выхода в радиоэфир обо­
значены символами 𝑡1 , 𝑡2 , 𝑡3 . При этом каждый раз генерировались измерения
уровня сигнала 𝑃 𝐿𝑖 (path loss) и расстояния 𝑅𝑖 от мобильного устройства,
находящегося в заданной точке, до каждой базовой станции 𝐵𝑆𝑖 . Кроме то­
го, генерировались данные от встроенного модуля определения траектории,
определяемые между двумя последними моментами выхода устройства в ра­
51

диоэфир. При моделировании измерений от базовых станций производился


учет количества стен, находящихся между устройством и базовой станцией.

3.2. Моделирование измерений от базовых станций

При моделировании измерений между мобильным устройством и базо­


выми станциями предполагалось, что измерения расстояний являются взаим­
но независимыми и не зависят от времени. Ошибка 𝑒𝑑 в измеренном рассто­
янии 𝑑 генерировалась на основе экспериментального распределения ошибки
локации, построенного в ходе реальных экспериментов. Процесс выбора зна­
чения 𝑒𝑑 происходил следующим образом. По заранее известному экспери­
ментальному распределению строилась кумулятивная функция 𝐶𝐷𝐹 ошибки
в измеренном расстоянии. Для каждого моделируемого измерения расстоя­
ния генерировалась случайная величина 𝑢, распределенная равномерно на
интервале [0 : 1]. В качестве ошибки в измеренном расстоянии выбиралось
значение 𝑒𝑑 , такое чтобы разница |𝐶𝐷𝐹 (𝑒𝑑 )−𝑢| принимала минимальное зна­
чение. На рисунке 3.2 приведены примеры кумулятивных функций ошибки в
измеренном расстоянии, построенные по данным экспериментов внутри по­
мещения (NLOS) и на открытой местности (LOS). На рисунке также показан
процесс выбора значений ошибки в расстоянии по данным функциям.
52

0.8 uLOS

0.6 uNLOS
CDF

0.4

0.2
eLOS eNLOS 1
2
0
0 5 10 15 20
e d, m

Рис. 3.2. Кумулятивные функции ошибки 𝑒𝑑 в измеренном расстоянии, построенные по ре­


альным данным. «1» – условия открытой местности (LOS), «2» – условия внутри поме­
щения (NLOS). 𝑢𝐿𝑂𝑆 /𝑢𝑁 𝐿𝑂𝑆 – значения равномерно распределенной случайной величины,
𝑒𝐿𝑂𝑆 /𝑒𝑁 𝐿𝑂𝑆 – соответствующие значения ошибки, сгенерированные на основе кумулятивных
функций.

Для генерации ошибки в измеренном расстоянии выбиралась функция,


соответствующая моделируемым условиям: 𝐶𝐷𝐹𝐿𝑂𝑆 для открытой местности
и 𝐶𝐷𝐹𝑁 𝐿𝑂𝑆 для условий внутри помещения.
Моделирование измерений уровней сигналов позволяет протестировать
поведение системы локации без необходимости трудоемкой процедуры сбо­
ра предварительных данных в различных точках внутри здания. При таком
моделировании необходимо учесть ряд факторов, определяющих поведение
сигнала. Для упрощения принималось, что измерения силы сигнала являют­
ся взаимно независимыми и не зависят от времени.
В описываемой системе измерения представляют собой потери сигнала
(𝑃 𝐿 – path loss) на пути от источника к приемнику, выраженные в dB [105]:

𝑃 𝐿(𝑑) = 𝑃𝑇 𝑋 − 𝑃𝑅𝑋 , (3.1)

где 𝑃𝑇 𝑋 – мощность сигнала на источнике, а 𝑃𝑅𝑋 – мощность сигнала на


приемнике. Основным законом, определяющим значение уровня сигнала, яв­
53

ляется зависимость этой величины от расстояния между источником и при­


емником:
𝑑 𝛼
𝑃 𝐿(𝑑) = 𝑃 𝐿(𝑑0 ) + 10 lg (
) + 𝑋𝜎 , (3.2)
𝑑0
где 𝑃 𝐿(𝑑0 ) – значение потерь сигнала на заданном расстоянии 𝑑0 , 𝛼 – па­
раметр, показывающий скорость потерь сигнала для выбранной модели. Па­
раметр 𝛼 может принимать различные значения в зависимости от условий
распространения сигнала [28, 107]. Так, для условий открытой местности его
значение варьируется в пределах 1.6–2. В случае многолучевого распростра­
нения сигнала указанный параметр может принимать значения от 3 до 7. Па­
раметр 𝑋𝜎 – это случайная величина, учитывающая возможные неточности
модели. Такие неточности могут быть обусловлены влиянием тела человека,
ориентацией антенны и другими факторами. Для простоты можно предпо­
лагать, что 𝑋𝜎 является нормально распределенной случайной величиной с
нулевым математическим ожиданием и заданным стандартным отклонением
𝜎. В более сложных моделях необходимо учитывать, что стандартное откло­
нение силы сигнала может быть разным в разных точках пространства [108].
Важным фактором, позволяющим эффективно использовать информа­
цию об уровне сигнала внутри помещения, является ослабление сигнала при
прохождении препятствия. Большое количество стен и перегородок приводит
к тому, что сигнал от базовой станции может сильно различаться в разных
точках пространства. В результате при считывании сигналов от нескольких
базовых станций можно достаточно точно определить местоположение объек­
та, сравнивая зарегистрированный вектор сил сигнала с заранее построенной
картой покрытия. Для учета стен здания в модели распространения сигнала
был использован подход, предложенный авторами статьи [109]. Для этого
уравнение (3.2) было представлено следующим образом:
𝑑 𝛼
𝑃 𝐿(𝑑) = 𝑃 𝐿(𝑑0 ) + 10 lg ( ) + 𝑋𝜎 + 𝑛 · 𝑊. (3.3)
𝑑0
Здесь 𝑛 – число стен на карте здания, находящихся между источником и
54

приемником. 𝑊 – коэффициент, показывающий, на сколько ослабевает сиг­


нал при прохождении через стену.
При моделировании предполагалось, что условия могут соответствовать
прямолинейному распространению сигнала (LOS) в случае отсутствия пре­
пятствий между источником и приемником, или многолучевому распростра­
нению (NLOS), когда между источником и приемником есть хотя бы одна
стена. В зависимости от условий распространения выбиралось значение па­
раметра 𝛼: 𝛼𝐿𝑂𝑆 для условий LOS и 𝛼𝑁 𝐿𝑂𝑆 для условий NLOS. В случае, если
значение потерь превышало заданный порог 𝑃 𝐿𝑙𝑖𝑚 , считалось, что сигнал не
доходит до приемника.
Для выбора параметров модели использовались результаты эксперимен­
тов, собранные авторами статьи [105] внутри здания IT-парка Петрозавод­
ского государственного университета. Методика сбора экспериментальных
данных была организована следующим образом: человек с набором мобиль­
ных устройств становился в заданную на карте точку внутри здания, после
чего в течение некоторого времени фиксировались значения уровня сигна­
лов, принимаемых от базовыми станциями от всех мобильных устройств. По
собранным результатам строилась карта значений потерь сигналов, получен­
ная усреднением значений в каждой экспериментальной точке. Эксперименты
проводились в ограниченном количестве местоположений внутри коридора и
нескольких комнат.
При моделировании параметры 𝛼 и 𝑊 выбирались таким образом, чтобы
минимизировать сумму квадратов отклонений измеренных и смоделирован­
ных значений уровней сигналов. Для подбора параметров использовались
экспериментальные данные от четырех базовых станций из семи доступных.
Оставшиеся данные для трех базовых станций использовались для проверки
адекватности модели. Параметр 𝑋𝜎 выбирался таким образом, чтобы разброс
значений потерь сигнала в заданной точке соответствовал среднему значению
стандартного отклонения для экспериментальных распределений.
55

Ниже на рисунке 3.3 представлены смоделированные карты покрытий


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

9F3F 9F30 9F37

9F40 A5B4 A557

A587 A590 B1F8

60 70 80 90 100 110
Pl, dBm

Рис. 3.3. Смоделированная карта уровней принимаемого сигнала для всего этажа

При прохождении сигнала через каждую из стен происходит его ослаб­


ление, в результате чего отдельные области на карте становятся хорошо раз­
личимы. Каждая карта помечена меткой – MAC-адресом соответствующей
базовой станции. Для базовых станций с MAC-адресом 9F3F и 9F37 экспе­
риментальные данные не были собраны. В этом случае представлены лишь
результаты моделирования. При моделировании использовались следующие
значения параметров: 𝑊 = 3.2; 𝛼𝐿𝑂𝑆 = 2; 𝛼𝑁 𝐿𝑂𝑆 = 2.7; 𝑃 𝐿𝑙𝑖𝑚 = 110; 𝜎 = 5.
Для проверки адекватности модели рассчитанные значения уровня сиг­
нала сравнивались со значениями, собранными в ходе реальных эксперимен­
56

тов в различных точках внутри помещения для базовых станций, не исполь­


зовавшихся при выборе параметров модели. Оценка стандартного отклонения
смоделированного значения уровня сигнала от реальных данных составила
3.6dB. Максимальное значение ошибки составило 11dB. Поскольку типичное
распределение уровня сигнала в заданной точке характеризуется стандарт­
ным отклонением порядка 5dB, а максимальный зарегистрированный разброс
значений уровня сигнала в заданной точке составляет более 20dB, получен­
ную модель можно использовать для тестирования разрабатываемых алго­
ритмов локации. Необходимо отметить, что предложенная модель является
упрощенной и не учитывает возможные переотражения сигнала от препят­
ствий. При необходимости смоделированная карта покрытия может быть по­
строена с использованием более сложных моделей, например, описанных в
работах [110, 111, 112].

3.3. Моделирование данных от встроенного модуля


определения траектории

Моделирование данных от встроенного модуля определения траектории


позволяет протестировать работу алгоритмов локации для различных траек­
торий движения объекта. Возможность задавать точность получаемых дан­
ных позволяет определить условия применимости алгоритма. При модели­
ровании были учтены основные факторы, влияющие на качество измерений.
Траектория между двумя заданными точками нахождения объекта, регистри­
руемая встроенным модулем, генерируется следующим образом. Для задан­
ной длины шага 𝑙𝑠𝑡𝑒𝑝 определяется целое число шагов, сделанных человеком
по пути между двумя промежутками выхода устройства в радиоэфир (напри­
мер, между моментами 𝑡1 и 𝑡2 на рисунке 3.1). Каждый шаг представляется
в виде вектора с заданной длиной 𝑙 и направлением 𝜃. Длина вектора опре­
57

деляется следующим образом:

𝑙 = 𝑙𝑠𝑡𝑒𝑝 + 𝛿𝑙 + 𝑏𝑙 , (3.4)

где 𝛿𝑙 – случайная величина, распределенная нормально с параметрами 𝑁 (0, 𝜎𝑙 𝑠𝑖𝑚 ),


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

𝜃 = 𝜃𝑠𝑡𝑒𝑝 + 𝑟𝜃 + 𝛿𝜃 + 𝑏𝜃 · 𝑡. (3.5)

Здесь 𝜃𝑠𝑡𝑒𝑝 – основное направление между двумя заданными точками, 𝑟𝜃 –


величина, моделирующая вращение тела человека при ходьбе, 𝛿𝜃 – случайная
величина, распределенная нормально с параметрами 𝑁 (0, 𝜎𝜃 ), учитывающая
случайную ошибку в определении направления шага, 𝑏𝜃 – дрифт гироско­
па, 𝑡 – время между двумя последовательными измерениями. Величина 𝑟𝜃
определяется как
𝑟𝜃 = 𝑠𝑖𝑔𝑛 · 𝑟0 , (3.6)

где 𝑠𝑖𝑔𝑛 – величина, принимающая поочередно значения 1 и −1, 𝑟0 – задан­


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

30
p6
p2
25 p1 p7
p4
20

y, m
15 p3 p5

10 1
2 p8
5
0
0 10 20 30 40 50
x, m

Рис. 3.4. Пример эталонной траектории (1) и траектории, моделирующей данные от встро­
енного модуля определения траектории (2). Движение объекта осуществлялось последова­
тельно между следующими точками: 𝑝1 , 𝑝2 , 𝑝3 , 𝑝2 , 𝑝4 , 𝑝5 , 𝑝6 , 𝑝4 , 𝑝7 , 𝑝8 , 𝑝7 , 𝑝4 , 𝑝1

Траектория движения выбрана как пример реальной траектории внутри


здания. На ней представлены длинные прямые участки вдоль коридоров и
короткие участки, соответствующие заходу в комнаты. В данном примере
параметры модели подбирались таким образом, чтобы распределения ошибки
в длине шага и его направлении соответствовали экспериментальным рас­
пределениям. Значения параметров приведены в таблице 3.1:

Таблица 3.1. Параметры модели данных от встроенного модуля определения траектории

параметр 𝑙𝑠𝑡𝑒𝑝 𝜎𝑙 𝑠𝑖𝑚 𝑏𝑙 𝑟0 𝜎𝜃 𝑏𝜃


0.1∘
значение 0.5𝑚 0.1𝑚 0.1𝑚 20∘ 4∘ 𝑠

3.4. Выводы

Предложенная модель системы локации позволяет оценить различные


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

границы применимости разработанного алгоритма. При моделировании необ­


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

Глава 4

Алгоритм локации на основе дискретного


байесовского фильтра

В предыдущих главах было показано, что измерения от базовых станций


и данные от модуля определения траектории являются основной информаци­
ей, доступной для расчета локации. Однако существуют ситуации, которые
не позволяют использовать модуль определения траектории. Например, он
может быть отключен для экономии энергопотребления. Мобильное устрой­
ство может быть закреплено на каком-либо оборудовании. В этом случае
невозможно применить алгоритмы оценки траектории, созданные для отсле­
живания движения пешехода. В таких ситуациях локация рассчитывается
только по измерениям от базовых станций с учетом плана помещения. Ино­
гда для уточнения локации можно использовать карту покрытия уровней
радиосигналов, построенную при инсталляции системы.
Обзор технологий и методов определения местоположения показал, что
применение дискретного байесовского фильтра является удобным в случае
отсутствия измерений от встроенного модуля определения траектории. Дан­
ный метод взят за основу алгоритма локации, описанного в настоящей гла­
ве. Разработанный алгоритм позволяет рассчитать локацию с точностью до
одного метра при использовании измерений от базовых станций, плана поме­
щения и карты уровней сигналов.

4.1. Описание алгоритма

Основная идея метода дискретной байесовской фильтрации заключается


в разбиении пространства возможных значений вектора состояния на равно­
мерно распределенные дискретные ячейки [97, 98]. В этом случае операция
61

интегрирования в общих уравнениях байесовской фильтрации (1.11) и (1.12)


заменяется на суммирование по всем ячейкам дискретной сетки. В случае
рассматриваемой системы вектор состояния x включает только координаты
(𝑥, 𝑦) объекта на плоскости. А дискретная сетка состоит из набора равно­
мерно распределенных точек на плоскости, в которых может находиться объ­
ект. Данное упрощение позволяет напрямую рассчитать оценку вероятности
𝑃 (x𝑡,𝑖 |z1...𝑡 ) нахождения объекта в определенной точке x𝑡,𝑖 в момент времени
𝑡 с учетом всех измерений z1...𝑡 , доступных к данному моменту времени 𝑡:

𝑃 (z𝑡 |x𝑡,𝑖 )𝑃 (x𝑡,𝑖 |z1...𝑡−1 )


𝑃 (x𝑡,𝑖 |z1...𝑡 ) = , (4.1)
𝑃 (z𝑡 )

где
𝑚
∑︁
𝑃 (x𝑡,𝑖 |z1...𝑡−1 ) = 𝑃 (x𝑡,𝑖 |x𝑡−1,𝑗 ) · 𝑃 (x𝑡−1,𝑗 |z1...𝑡−1 ). (4.2)
𝑗=1

Значение выражения 𝑃 (z𝑡 ) = 𝑃 (z𝑡 |x𝑡,1 ) + · · · + 𝑃 (z𝑡 |x𝑡,𝑛 ) является одинако­


вым для всех точек дискретной сетки. Правдоподобие 𝑃 (z𝑡 |x𝑡,𝑖 ) вычисляется
с помощью выбранного алгоритма (описание используемых алгоритмов при­
ведено ниже). Значение выражения 𝑃 (x𝑡,𝑖 |x𝑡−1,𝑗 ) определяется вероятностью
переместиться из точки x𝑡−1,𝑗 для всех точек дискретной сетки 𝑗 = 1 . . . 𝑁𝑡−1 к
моменту времени 𝑡 − 1 в точку x𝑡,𝑖 для всех точек 𝑖 = 1 . . . 𝑁𝑡 к моменту вре­
мени 𝑡. Значение 𝑃 (x𝑡−1,𝑗 |z1...𝑡−1 ) соответствует апостериорной вероятности
нахождения объекта в точке 𝑗 определенное на предыдущем шаге в момент
времени 𝑡 − 1.

4.1.1. Выбор точек дискретной сетки

Процедура генерации и выбора точек дискретной сетки представлена на


рисунке 4.1. В верхней части рисунка выбор точек осуществляется без учета
плана здания. На первом шаге 𝑡 = 1 точки дискретной сетки генерируются
внутри области пересечения окружностей, образованных новыми измерения­
ми (рисунок 4.1a). Затем к моменту получения новых измерений получен­
62

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

ный набор точек расширяется во всех направлениях, ограниченных дискрет­


ной сеткой (рисунок 4.1b). Скорость расширения определяется максимально
возможной скоростью движения объекта. Затем расширенный набор точек
урезается при получении новых измерений (рисунок 4.1c и 4.1d). В случае,
если измерения происходят часто, количество точек, соответствующих воз­
можным положениям объекта, заметно сокращается. Тем самым достигается
сходимость и уменьшается вычислительная сложность.
Информация о структуре здания используется для уточнения локации.
Расширение точек дискретной сетки в выбранном направлении может проис­
ходить только в том случае, если на пути распространения нет препятствия
в виде стен (см. нижний рисунок). Учет стен позволяет ускорить сходимость
фильтра и улучшить точность локации.
Ниже представлен псевдокод алгоритма выбора точек дискретной сетки.
Входными данными являются набор точек 𝒢𝑡−1 из 𝑁𝑡−1 точек
{x𝑖,𝑡−1 , 𝑖 = 1, . . . , 𝑁𝑡−1 }, определенных в предыдущий момент времени 𝑡 −
63

1, серия измерений расстояний между мобильным устройством и базовыми


станциями r𝑡 : {𝑟1 , . . . , 𝑟𝑛 }, а также карта стен здания Ψ, представленная
набором отрезков. Выходными данными является набор точек дискретной
сетки 𝒢𝑡 из 𝑁𝑡 точек {x𝑖,𝑡 , 𝑖 = 1, . . . , 𝑁𝑡 }, полученный с учетом максимально
возможной скорости движения и набора новых измерений. Предполагается,
что алгоритм использует следующие заранее определенные функции:

ˆ intersects(𝑥1 , 𝑦1 , 𝑥2 , 𝑦2 , Ψ), которая проверят, пересекает ли отрезок


(𝑥1 , 𝑦1 ) − (𝑥2 , 𝑦2 ) какую-либо из стен множества Ψ (рисунок 4.1)

ˆ isInsideLocationArea(𝑥, 𝑦, r), которая проверят, находится ли точ­


ка с координатами (𝑥, 𝑦) внутри области пересечения окружностей, по­
строенных по измеренным расстояниям r.

Кроме того, предполагается, что период времени 𝑇 между измерениями и


размер дискретной сетки 𝑙𝑔𝑟𝑖𝑑 заранее определены.
64

Алгоритм 1: Выбор точек дискретной сетки (expand(𝒢, r, Ψ))


input : 𝒢𝑡−1 : {𝑥𝑖,𝑡−1 , 𝑦𝑖,𝑡−1 , 𝑖 = 1 . . . 𝑁𝑡−1 }, r𝑡 , Ψ
output: 𝒢𝑡 : {𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , 𝑖 = 1 . . . 𝑁𝑡 }
1 begin
2 𝒢𝑡 ← ∅
3 𝑑 ← 𝑇 · 𝑙𝑔𝑟𝑖𝑑
4 for 𝑖 ← 1 to 𝑁𝑡−1 do
5 𝑥1 ← 𝑥𝑖,𝑡−1 + 𝑑
6 𝑦1 ← 𝑦𝑖,𝑡−1 + 𝑑
7 𝑥2 ← 𝑥𝑖,𝑡−1 + 𝑑
8 𝑦2 ← 𝑦𝑖,𝑡−1 − 𝑑
9 𝑥3 ← 𝑥𝑖,𝑡−1 − 𝑑
10 𝑦3 ← 𝑦𝑖,𝑡−1 + 𝑑
11 𝑥4 ← 𝑥𝑖,𝑡−1 − 𝑑
12 𝑦4 ← 𝑦𝑖,𝑡−1 − 𝑑
13 𝑥5 ← 𝑥𝑖,𝑡−1
14 𝑦5 ← 𝑦𝑖,𝑡−1
15 for 𝑗 ← 1 to 5 do
16 if !intersects (𝑥𝑖,𝑡−1 , 𝑦𝑖,𝑡−1 , 𝑥𝑗 , 𝑦𝑗 , Ψ) and
isInsideLocationArea (𝑥𝑗 , 𝑦𝑗 , r𝑡 ) then
17 𝒢𝑡 ∪ (𝑥𝑗 , 𝑦𝑗 )
18 return 𝒢𝑡

4.1.2. Вычисление априорных вероятностей

Эффективность дискретного байесовского фильтра напрямую зависит


от метода вычисления оценок априорных вероятностей нахождения объек­
та в каждой из точек дискретной сетки. В настоящей работе предполагается,
что вероятность объекта находиться в точке x𝑡,𝑖 : (𝑥𝑡,𝑖 , 𝑦𝑡,𝑖 ) при условии, что
на предыдущем шаге объект находился в точке x𝑡−1,𝑗 : (𝑥𝑡−1,𝑗 , 𝑦𝑡−1,𝑗 ), соот­
ветствует вероятности объекта перемещаться со скоростью 𝑣𝑖,𝑗 . Компоненты
вектора скорости 𝑣𝑖,𝑗 определяются следующим образом: 𝑣𝑥 = (𝑥𝑡,𝑖 − 𝑥𝑡−1,𝑗 )/𝑇 ,
𝑣𝑦 = (𝑦𝑡,𝑖 − 𝑦𝑡−1,𝑗 )/𝑇 , где 𝑇 – время между двумя последовательными момен­
тами измерений 𝑡 − 1 и 𝑡.
Оценка вероятности объекта перемещаться в соответствии с вектором
скорости 𝑣𝑖,𝑗 к моменту времени 𝑡 определяется из экспериментального рас­
65

пределения по скоростям 𝒱𝑡−1 , построенного в предыдущий момент времени


𝑡 − 1. Пусть общее число точек дискретной сетки, соответствующих возмож­
ным местоположениям объекта в момент времени 𝑡 − 2, равняется 𝑁𝑡−2 . И
пусть число точек дискретной сетки в момент 𝑡 − 1 равняется 𝑁𝑡−1 . Тогда на­
бор всех возможных векторов скорости соответствует всем возможным парам
точек x𝑡−2,𝑗 , x𝑡−1,𝑖 для 𝑗 = 1 . . . 𝑁𝑡−2 и 𝑖 = 1 . . . 𝑁𝑡−1 . Оценка вероятности каж­
дого вектора 𝑣𝑖,𝑗 вычисляется с точностью до нормировочного коэффициента
как 𝑃 (𝑣𝑖,𝑗 ) = 𝑃 (x𝑡−2,𝑗 ) · 𝑃 (x𝑡−1,𝑖 ). Набор 𝒱𝑡−1 векторов 𝑣𝑖,𝑗,𝑡−1 и соответству­
ющих оценок вероятностей 𝑃 (𝑣𝑖,𝑗,𝑡−1 ) используется для вычисления оценок
вероятностей векторов скорости на шаге 𝑡.
Для простоты вычислений оценка вероятности вектора скорости 𝑣𝑡 на
шаге 𝑡 рассчитывается с точностью до нормировочного коэффициента, как
произведение оценок вероятностей двух компонент 𝑣𝛼 и 𝑣𝑟 , где 𝑣𝛼 – направ­
ление вектора скорости, а 𝑣𝑟 – его абсолютная величина. Данные оценки
вычисляются с использованием экспериментально определенных плотностей
распределений 𝑝(𝑣𝑟 ) и 𝑝(𝑣𝛼 ), построенных на предыдущем шаге алгоритма.
Ниже представлен псевдокод алгоритма вычисления оценок априорных
вероятностей. Входными данными для каждой итерации являются набор то­
чек дискретной сетки Ω𝑡−1 из 𝑁𝑡−1 точек 𝒢𝑡−1 : {x𝑖,𝑡−1 , 𝑖 = 1, . . . , 𝑁𝑡−1 } с
соответствующими оценками вероятностей 𝒫𝑡−1 : {𝑃𝑖,𝑡−1 , 𝑖 = 1, . . . , 𝑁𝑡−1 } и
экспериментальное распределение по скоростям 𝒱𝑡−1 , определенные в преды­
дущий момент времени 𝑡 − 1, а также серия измерений расстояний между
мобильным устройством и базовыми станциями r𝑡 : {𝑟1 , . . . , 𝑟𝑛 } и карта стен
здания Ψ, представленная набором отрезков. Выходными данными являет­
ся набор точек дискретной сетки Ω𝑡 из 𝑁𝑡 точек 𝒢𝑡 : {x𝑖,𝑡 , 𝑖 = 1, . . . , 𝑁𝑡 } с
соответствующими оценками вероятностей 𝒫𝑡 : {𝑃𝑖,𝑡 − , 𝑖 = 1, . . . , 𝑁𝑡 }. Значок
«− » означает априорное значение. Предполагается, что алгоритм использует
следующие заранее определенные функции:
66

ˆ getVectorProbability(𝑥1 , 𝑦1 , 𝑥2 , 𝑦2 , 𝒱), которая с точностью до нор­


мировочного коэффициента вычисляет оценку вероятности вектора ско­
рости, соответствующего перемещению из точки (𝑥1 , 𝑦1 ) в точку (𝑥2 , 𝑦2 )
за время 𝑇 , на основе распределения по скоростям 𝒱. В случае, если
распределение 𝒱 еще не определено, вероятности всех векторов назна­
чаются одинаковыми.

ˆ normalize(Ω𝑡 ), которая нормирует значения оценок вероятностей то­


чек из множества Ω𝑡 .

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


expand(𝒢, r, Ψ)), описание которой было приведено выше.
Алгоритм 2: Алгоритм вычисления оценок априорных вероятностей
(prognosis(Ω, 𝒱, r, Ψ))
input : Ω𝑡−1 : {𝒢𝑡−1 : {𝑥𝑖,𝑡−1 , 𝑦𝑖,𝑡−1 , 𝑖 = 1 . . . 𝑁𝑡−1 }, {𝑃𝑖,𝑡−1 , 𝑖 =
1 . . . 𝑁𝑡−1 }}, 𝒱𝑡−1 , r𝑡 , Ψ
output: Ω−𝑡 : {𝒢𝑡 : {𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , 𝑖 = 1 . . . 𝑁𝑡 }, {𝑃𝑖,𝑡 , 𝑖 = 1 . . . 𝑁𝑡 }}

1 begin
2 𝒢𝑡 ← expand(𝒢𝑡−1 , r𝑡 , Ψ)
3 Ω−𝑡 ← ∅
4 for 𝑖 ← 1 to 𝑁𝑡 do

5 𝑃𝑖,𝑡 ←∅
6 for 𝑗 ← 1 to 𝑁𝑡−1 do
7 for 𝑖 ← 1 to 𝑁𝑡 do

8 𝑃𝑖,𝑡 ←

𝑃𝑖,𝑡 + getVectorProbability(𝑥𝑗,𝑡−1 , 𝑦𝑗,𝑡−1 , 𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , 𝒱𝑡−1 )
9 Ω− −
𝑡 ∪ (𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , 𝑃𝑖,𝑡 )
10 Ω− −
𝑡 ← normalize(Ω𝑡 )
11 return Ω−
𝑡

4.1.3. Вычисление правдоподобия

Применяемые алгоритмы вычисления правдоподобия являются одинако­


выми как для дискретного байесовского фильтра, так и для фильтра частиц,
который будет описан в главе 5. Задачей алгоритмов правдоподобия является
67

оценка вероятностей получить набор измерений z𝑡 при условии, что объект


находится в заданной точке x𝑡,𝑖 . Для дискретного байесовского фильтра x𝑡,𝑖
соответствует заданной точке дискретной сетки. Для вычисления правдопо­
добия альтернативно разработано два независимых алгоритма. Выбор кон­
кретного алгоритма будет зависеть от условий применения системы локации.

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


измеренных расстояниях

Первый алгоритм использует информацию об расстояниях

r𝑡 = {𝑟𝐵𝑆1 , 𝑟𝐵𝑆2 , . . . , 𝑟𝐵𝑆𝑛 }, (4.3)

измеренных между мобильным устройством и базовыми станциями время­


пролетным методом. В данном алгоритме для оценки вероятностей нахож­
дения объекта в заданных точках внутри области пересечения окружностей
используется распределение ошибки в измеренном расстоянии, построенное
для каждого отдельного измерения. Пример такого распределения, построен­
ного для данной технологии по результатам экспериментов внутри помеще­
ния [25, 105], представлен на рисунке 4.2. По оси 𝑂𝑋 отложена разница 𝑒𝑟
между измеренным расстоянием и истинным расстоянием. Поскольку в слу­
чае использования метода на основе регистрации времени распространения
сигнала измеренное расстояние в подавляющем большинстве случаев выше
или равно истинному расстоянию, на графике зафиксированы только поло­
жительные измерения. На данном рисунке также представлен пример функ­
ции ℎ(𝑒𝑟 ), соответствующей полученному экспериментальному распределе­
нию. Точное распределение ошибки в измеренных расстояниях будет опре­
деляться типом здания, внутри которого происходят измерения. Существует
большое количество факторов, влияющих на наличие ошибок в расстояниях,
измеренных времяпролетным методом. Такими факторами могут быть коли­
чество и материал стен, количество мебели, проходящие мимо люди и многое
68

0.16
1
0.14 2

0.12

0.1
PDF

0.08

0.06

0.04

0.02

0
0 5 10 15 20 25
e r, m

Рис. 4.2. Типичное распределение (1) ошибки 𝑒𝑟 в расстоянии 𝑟, измеренном между мобиль­
ным устройством и базовой станцией внутри помещения, и функция ℎ(𝑒𝑟 ) (2), соответству­
ющая данному распределению

другое. На практике учесть влияние всех факторов не представляется воз­


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

𝑒𝑟 𝑒𝑟 2
ℎ(𝑒𝑟 ) = 2 exp (− 2 ). (4.4)
𝜎 2𝜎

Для гистограммы на графике 4.2 параметр распределения 𝜎 равен 5.1 (ги­


потеза о том, что данное экспериментальное распределение соответствует
распределению Рэлея с параметром 𝜎 = 5.1, проверена по критерию 𝜒2 на
уровне значимости 5% и принята). На практике в качестве функции ℎ(𝑒𝑟 )
может быть выбрана любая функция, наилучшим образом соответствующая
распределению ошибки в измеряемом расстоянии.
При расчете оценки вероятности 𝑃 (z𝑡 |x𝑡,𝑖 ) в качестве вектора измерений
z𝑡 используется вектор измеренных расстояний r𝑡 . Для отдельного измерен­
69

ного расстояния 𝑟𝐵𝑆𝑘 вероятность 𝑃 (𝑟𝐵𝑆𝑘 |x𝑡,𝑖 ) будем оценивать как

𝑃 (𝑟𝐵𝑆𝑘 |x𝑡,𝑖 ) = 𝜂 · ℎ(𝑒𝑟𝑖,𝑘 ), (4.5)

где 𝜂 – нормировочный коэффициент, 𝑒𝑟𝑖,𝑘 = 𝑟𝐵𝑆𝑘 −𝑑𝑖,𝑘 , 𝑑𝑖,𝑘 – расстояние меж­


ду точкой x𝑡,𝑖 с координатами 𝑥𝑖 , 𝑦𝑖 и базовой станцией 𝐵𝑆𝑘 с координатами
𝑥𝐵𝑆𝑘 , 𝑦𝐵𝑆𝑘 .
Для набора измерений r𝑡 = {𝑟𝐵𝑆1 , 𝑟𝐵𝑆2 , . . . , 𝑟𝐵𝑆𝑛 }, сделанных в момент
времени 𝑡, предполагая взаимную независимость измерений, оценка вероят­
ности 𝑃 (r𝑡 |x𝑡,𝑖 ) будет вычисляться как произведение:

1
𝑃 (r𝑡 |x𝑡,𝑖 ) = 𝜂 · (ℎ(𝑒𝑟𝑖,1 ) . . . ℎ(𝑒𝑟𝑖,𝑛 ))( 𝑛 ) , (4.6)

1
Здесь возведение в степень 𝑛 используется для уменьшения влияния каждого
отдельного измерения на перераспределение весов внутри области локации.
Для того, чтобы представить работу описанного метода, на рисунке 4.3
приведены примеры распределения весов внутри области пересечения окруж­
ностей, равномерно разбитой на ячейки. Вес каждой из ячеек, находящейся
внутри области локации, рассчитан как 𝑛𝑘=1 ℎ(𝑟𝐵𝑆𝑘 − 𝑑𝑖,𝑘 ), где 𝑑𝑖,𝑘 – это
∏︀

расстояние от базовой станции 𝐵𝑆𝑘 до 𝑖-ой ячейки, 𝑟𝐵𝑆𝑘 – измеренное рас­


стояние. После расчета веса каждой из ячеек нормировались.
70

Рис. 4.3. Распределение весов внутри области локации. Нижний рисунок соответствует удач­
ному размещению базовых станций. Черными квадратами обозначены базовые станции. Ис­
тинное положение мобильного устройства обозначено треугольником.

Область локации, образованная пересечением окружностей, построен­


ным по данным измерений, задает верхнюю границу точности локации. Раз­
меры области определяются не только ошибками в измеренных расстояни­
ях, но расположением базовых станций. Внизу на рисунке показана «удач­
ная» комбинация базовых станций, для которой размер области пересечения
окружностей значительно меньше. Разработанный алгоритм определяет ха­
рактер распределения весов внутри области локации. Для первой комбина­
ции базовых станций и измеренных расстояний наиболее вероятная область
смещается в сторону истинного нахождения объекта (верхний рисунок). Для
второй комбинации наиболее вероятная область совпадает с центром области
пересечения окружностей (нижний рисунок).
Ниже представлен псевдокод алгоритма вычисления оценок вероятно­
71

стей 𝑃 (r𝑡 |x𝑡,𝑖 ) с точностью до нормировочного коэффициента.


Алгоритм 3: Псевдокод алгоритма вычисления оценок вероят­
ностей 𝑃 (r𝑡 |x𝑡,𝑖 ) с точностью до нормировочного коэффициента
(calcWeightToF(𝑥, 𝑦, r))
input : x𝑡,𝑖 = {𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 }, r𝑡 = {𝑟𝐵𝑆1 , 𝑟𝐵𝑆2 , . . . , 𝑟𝐵𝑆𝑛 }
output: 𝑃 (r𝑡 |x𝑡,𝑖 )
1 begin
2 𝑃 (r𝑡 |x𝑡,𝑖 ) ← 1
3 for 𝑗 ← 1√︀to 𝑛 do
4 𝑑𝑗 ← (𝑥𝐵𝑆𝑗 − 𝑥𝑖,𝑡 )2 + (𝑦𝐵𝑆𝑗 − 𝑦𝑖,𝑡 )2
5 𝑃 (r𝑡 |x𝑡,𝑖 ) ← 𝑃 (r𝑡 |x𝑡,𝑖 ) · ℎ(𝑟𝐵𝑆𝑗 − 𝑑𝑗 )
1
6 𝑃 (r𝑡 |x𝑡,𝑖 ) ← 𝑃 (r𝑡 |x𝑡,𝑖 ) 𝑛
7 return 𝑃 (r𝑡 |x𝑡,𝑖 )

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


измерениях уровня принимаемого сигнала

Второй разработанный алгоритм предполагает наличие карты средних


значений уровня сигналов от базовых станций внутри помещения [106]. Дан­
ная информация представлена набором векторов

s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 (𝑐) = {< 𝑠𝐵𝑆1 >, < 𝑠𝐵𝑆2 >, . . . , < 𝑠𝐵𝑆𝑛 >} (4.7)

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


𝐵𝑆1 , 𝐵𝑆2 , . . . , 𝐵𝑆𝑛 , собранных в ходе предварительных экспериментов в раз­
личных участках 𝑐 = 1, . . . , 𝐶 внутри здания. Карта помещения может быть
разбита как на равномерные ячейки, так и на произвольные области, соот­
ветствующие, например, комнатам помещения.
Данная информация используется для вычисления локации по текуще­
му вектору уровней сигналов s𝑡 = {𝑠𝐵𝑆1 , 𝑠𝐵𝑆2 , . . . , 𝑠𝐵𝑆𝑛 }, зарегистрированных
в момент времени 𝑡 от слышимых базовых станций 𝐵𝑆1 , 𝐵𝑆2 , . . . , 𝐵𝑆𝑛 в од­
ной из ячеек. В общем случае размеры ячеек могут не совпадать с размера­
ми сетки, использующейся в дискретном байесовском фильтре. В результате
сначала происходит расчет оценок вероятностей для каждой ячейки. Потом
72

оценки вероятностей нахождения объекта в заданной точке назначаются в


соответствии с тем, в какую ячейку попала эта точка.
Предполагая компоненты вектора s𝑡 независимыми, вероятности 𝑃 (s𝑡 |𝑐)
зарегистрировать вектор уровней сигналов s𝑡 в ячейке 𝑐, оцениваются как
произведение:

𝑃 (s𝑡 |𝑐) = 𝑃 (𝑠𝐵𝑆1 |𝑐) · 𝑃 (𝑠𝐵𝑆2 |𝑐) · · · · · 𝑃 (𝑠𝐵𝑆𝑛 |𝑐). (4.8)

Оценка вероятности 𝑃 (𝑠𝐵𝑆𝑗 |𝑐) получить значение уровня сигнала 𝑠𝐵𝑆𝑗


от базовой станции 𝐵𝑆𝑗 в ячейке 𝑐, рассчитывается с точностью до нор­
мировочного коэффициента с использованием вектора s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 (𝑐), получен­
ного в ходе предварительных экспериментов, и нормального распределения
𝑁 (< 𝑠𝐵𝑆𝑗 >, 𝜎 2 ):

1 −(𝑠𝐵𝑆𝑗 − < 𝑠𝐵𝑆𝑗 >)2


𝑃 (𝑠𝐵𝑆𝑗 |𝑐) = ( √ ) exp , (4.9)
2𝜋𝜎 2 2𝜎 2

где < 𝑠𝐵𝑆𝑗 > – среднее значение уровня сигнала от базовой станции 𝐵𝑆𝑗 ,
зарегистрированное в ячейке 𝑐.
На рисунке 4.4 представлен пример распределения весов точек дискрет­
ной сетки, определенных по формулам 4.8 и 4.9 с использованием серии
расстояний и карты уровней принимаемого сигнала.
73

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

В отличие от использования аппроксимирующей функции (рисунок 4.3)


веса ячеек, вычисленные с использованием информации об уровне прини­
маемого сигнала, распределены менее равномерно. Для каждого примера на
приведенном рисунке существует несколько локальных максимумов, соответ­
ствующих наиболее вероятному положению объекта.
Ниже представлен псевдокод алгоритма вычисления правдоподобия на
основе анализа уровня принимаемого сигнала. Предполагается, что алгоритм
использует следующие заранее определенные функции:

ˆ getCell(𝑥, 𝑦), возвращающую номер ячейки 𝑐, в которую попадает


точка с координатами (𝑥, 𝑦);

ˆ getSignalFromCell(s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 , 𝑐, 𝐵𝑆𝑗 ), возвращающую среднее значе­


ние уровня сигнала < 𝑠𝐵𝑆𝑗 > из карты покрытия s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 , зарегистриро­
ванного от базовой станции 𝐵𝑆𝑗 в ячейке 𝑐.
74

Алгоритм 4: Вычисление правдоподобия на основе измерений уровня


принимаемого сигнала (calcWeightPl(𝑥, 𝑦, s, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 ))
input : x𝑡 = {𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 }, s𝑡 = {𝑠𝐵𝑆1 , 𝑠𝐵𝑆2 , . . . , 𝑠𝐵𝑆𝑛 }, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 = {< 𝑠𝐵𝑆1 >
, < 𝑠𝐵𝑆2 >, . . . , < 𝑠𝐵𝑆𝑛 >}
output: 𝑃 (s𝑡 |x𝑡,𝑖 )
1 begin
2 𝑃 (s𝑡 |x𝑡,𝑖 ) ← 1
3 for 𝑗 ← 1 to 𝑛 do
4 𝑐 ← getCell(𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 )
5 < 𝑠𝐵𝑆𝑗 >← getSignalFromCell(s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 , 𝑐, 𝐵𝑆𝑗 )
2
1 −(𝑠𝐵𝑆𝑗 −<𝑠𝐵𝑆𝑗 >)
6 𝑃 (𝑠𝐵𝑆𝑗 |𝑐) ← ( √2𝜋𝜎 2
) exp 2𝜎 2
7 𝑃 (s𝑡 |x𝑡,𝑖 ) ← 𝑃 (s𝑡 |x𝑡,𝑖 ) · 𝑃 (𝑠𝐵𝑆𝑗 |𝑐)
8 return 𝑃 (s𝑡 |x𝑡,𝑖 )

4.1.4. Вычисление апостериорных вероятностей и расчет локации


объекта

После вычисления оценок априорных вероятностей и правдоподобия про­


исходит расчет оценок апостериорных вероятностей нахождения объекта в
каждой точке дискретной сетки. Оценка вероятности каждой точки рассчи­
тывается в соответствии с формулой 4.1 как произведение оценки априорной
вероятности и правдоподобия. После чего происходит нормировка по всем
точкам дискретной сетки.
На заключительном шаге координаты объекта рассчитываются как сред­
невзвешенные значения координат точек дискретной сетки:
𝑁
∑︁
𝑥^𝑡 = 𝑃𝑡,𝑖 · 𝑥𝑡,𝑖
𝑖=1
𝑁
(4.10)
∑︁
𝑦^𝑡 = 𝑃𝑡,𝑖 · 𝑦𝑡,𝑖 .
𝑖=1
75

4.1.5. Псевдокод алгоритма дискретной байесовской фильтрации

Ниже представлен псевдокод алгоритма локации на основе дискретной


байесовской фильтрации. Входными данными для каждой итерации алго­
ритма являются набор точек дискретной сетки Ω𝑡−1 из 𝑁𝑡−1 точек 𝒢𝑡−1 :
{x𝑖,𝑡−1 , 𝑖 = 1, . . . , 𝑁𝑡−1 } с соответствующими оценками вероятностей
𝒫𝑡−1 : {𝑃𝑖,𝑡−1 , 𝑖 = 1, . . . , 𝑁𝑡−1 } и экспериментальное распределение по ско­
ростям 𝒱𝑡−1 , определенные в предыдущий момент времени 𝑡 − 1, серия из­
мерений расстояний между мобильным устройством и базовыми станция­
ми r𝑡 : {𝑟1 , . . . , 𝑟𝑛 } и набор измерений уровней принимаемых сигналов s𝑡 :
{𝑠1 , . . . , 𝑠𝑛 }, а также карта стен здания Ψ, представленная набором отрезков.
В зависимости от типа алгоритма вычисления правдоподобия входные дан­
ные могут включать карту уровней сигналов s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 , зарегистрированную в
ходе предварительных экспериментов.
Предполагается, что алгоритм использует следующие заранее опреде­
ленные функции:

ˆ generate(r, 𝑁 ), которая генерирует множество Ω из 𝑁 точек дис­


1
кретной сетки с равными вероятностями 𝑃𝑖 = 𝑁, распределенных рав­
номерно внутри области пересечения окружностей, образованных изме­
ренными расстояниями.

ˆ calcCoordinates(Ω), вычисляющую координаты мобильного устрой­


ства (𝑥𝑡 , 𝑦𝑡 ) по набору точек Ω в соответствии с формулой (4.10).

ˆ getVelocityDistribution(Ω𝑡−1 , Ω𝑡 ), которая строит эксперимен­


тальное распределение по скоростям 𝒱𝑡 на основе предыдущего и те­
кущего набора точек с соответствующими вероятностями.

В результате работы алгоритма получается новый набор точек дискрет­


ной сетки Ω𝑡 с соответствующими оценками вероятностей, эксперименталь­
76

ное распределение по скоростям 𝒱𝑡 , а также оценка местоположения мобиль­


ного устройства (𝑥𝑡 , 𝑦𝑡 ).
Вычислительная сложность алгоритма определяется сложностью функ­
ции вычисления оценок априорных вероятностей prognosis(. . . ) и состав­
ляет 𝒪(𝑁𝑡−1 · 𝑁𝑡 ), где 𝑁𝑡−1 и 𝑁𝑡 – количество точек дискретной сетки в
моменты времени 𝑡 − 1 и 𝑡.
77

Алгоритм 5: Псевдокод алгоритма локации на основе дискретного


байесовского фильтра
input : Ω𝑡−1 : {𝒢𝑡−1 : {𝑥𝑖,𝑡−1 , 𝑦𝑖,𝑡−1 , 𝑖 = 1 . . . 𝑁𝑡−1 }, 𝒫𝑡−1 : {𝑃𝑖,𝑡−1 , 𝑖 =
1 . . . 𝑁𝑡−1 }}, 𝒱𝑡−1 , Ψ, r𝑡 , s𝑡 , s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒
output: Ω𝑡 : {𝒢𝑡 : {𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , 𝑖 = 1 . . . 𝑁𝑡 }, 𝒫𝑡 : {𝑃𝑖,𝑡 , 𝑖 =
1 . . . 𝑁𝑡 }}, 𝒱𝑡 , (𝑥𝑡 , 𝑦𝑡 )
1 begin
2 // инициализируем множество точек если необходимо;
3 if Ω𝑡−1 = ∅ then
4 Ω𝑡 ← generate(r, 𝑁0 )
5 (𝑥𝑡 , 𝑦𝑡 ) ← calcCoordinates(Ω𝑡 )
6 return Ω𝑡 , (𝑥𝑡 , 𝑦𝑡 )
7 // выбираем точки дискретной сетки 𝒢𝑡 и рассчитываем
априорные вероятности 𝒫𝑡− ;
8 Ω−𝑡 ← prognosis(Ω𝑡−1 , 𝒱𝑡−1 , r𝑡 , Ψ)
9 // рассчитываем правдоподобие;
10 𝒫𝑡 ← ∅ // набор вероятностей правдоподобия;
11 for 𝑖 ← 1 to 𝑁𝑡 do
12 // если нет возможности использовать информацию о
карте уровней радиосигнала;
13 if s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 = ∅ then
14 𝑃𝑡 ← calcWeightTof(𝑥𝑖,𝑡 , 𝑦𝑖,𝑡 , r𝑡 )
15 else
16 𝑃𝑡 ← calcWeightPl(𝑥, 𝑦, s, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 )
17 𝒫𝑡 ∪ 𝑃𝑡
18 𝒫𝑡 ← normalizeWeights(𝒫𝑡 )
19 // вычисляем апостериорные вероятности;
20 𝒫𝑡+ ← ∅ // набор апостериорных вероятностей;
21 for 𝑖 ← 1 to 𝑁𝑡 do
22 𝑃𝑡+ ← 𝑃𝑡 · 𝑃𝑡−
23 𝒫𝑡+ ∪ 𝑃𝑡+
24 𝒫𝑡+ ← normalizeWeights(𝒫𝑡+ )
25 Ω𝑡 ← 𝒢𝑡 ∪ 𝒫𝑡+
26 // рассчитываем координаты и распределение по скоростям;
27 (𝑥𝑡 , 𝑦𝑡 ) ← calcCoordinates(Ω𝑡 )
28 𝒱𝑡 ← getVelocityDistribution(Ω𝑡−1 , Ω𝑡 )
29 return Ω𝑡 , 𝒱𝑡 , (𝑥𝑡 , 𝑦𝑡 )
78

4.2. Исследование характеристик разработанного


алгоритма

Исследование характеристик разработанного алгоритма проводилось с


использованием модельных экспериментов. Предполагалось, что человек с
мобильным устройством двигался внутри здания по заранее определенной
траектории. Расстояния и уровни сигнала между мобильным устройством и
базовыми станциями измерялись с заданной частотой. Для каждого набо­
ра измерений проводился расчет локации с использованием разработанного
алгоритма. Расстояние между точкой эталонной траектории и соответствую­
щей ей рассчитанной локацией использовалось как оценка ошибки локации
в каждый момент проведения измерений. По набору ошибок для всех точек
траектории строилась кумулятивная функция распределения ошибки лока­
ции. В качестве оценки точности для всей траектории использовалось зна­
чение ошибки, соответствующее 0.75-квантили построенной кумулятивной
функции распределения.
Для моделирования системы локации и проводимых измерений исполь­
зовалась имитационная модель, описанная в главе 3. В проведенных экспе­
риментах моделировались условия распространения сигнала внутри помеще­
ния. Средняя ошибка в измеренных расстояниях составляла 6 – 7 метров.
Зарегистрированный уровень сигнала определялся смоделированной картой
покрытия. Стандартное отклонение значений уровня сигнала в заданной точ­
ке соответствовало экспериментальным данным и составляло 6 dB. Во всех
экспериментах, где явно не указано другое время, период между измере­
ниями расстояний и уровней сигналов от мобильного устройства до всех
базовых станций (период выхода устройства в радиоэфир) задавался равным
1 секунде. Помимо модельных экспериментов тестирование разработанных
алгоритмов проводилось в реальных условиях. Данные реальных экспери­
ментов приведены в главе 6.
79

Ниже представлены результаты расчета локации объекта с использо­


ванием разработанного алгоритма. В алгоритме использовались следующие
настройки. Размер ячейки дискретной сетки составлял 1 метр. Максималь­
ная скорость движения объекта равнялась 5 м/c. Тестирование проводилось
для трех вариантов запуска алгоритма. В первом варианте (обозначенном
𝐷𝐵𝐹𝑃 𝐿 ) для расчета правдоподобия применялся алгоритм, использующий
измерения уровня сигнала от мобильного устройства до базовых станций
и заранее построенную карту покрытия уровней сигнала внутри помещения
(псевдокод алгоритма вычисления правдоподобия приведен в листинге 4).
Второй случай (обозначенный на рисунке 𝐷𝐵𝐹𝑇 𝑂𝐹 ) соответствовал алгорит­
му, основанному на вычислении правдоподобия с помощью функции, аппрок­
симирующей распределение ошибки в измеренных расстояниях (псевдокод
алгоритма приведен в листинге 3). В третьем варианте запуска алгоритма
(𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 ) при вычислении правдоподобия предполагалось, что все точки
внутри области локации равновероятны. Таким образом апостериорные веро­
ятности и рассчитанная локация определялись выбранной моделью динамики
системы. На рисунке 4.5 показана схема здания, расположение базовых стан­
ций, а также эталонная траектория и траектория движения, рассчитанная с
использованием алгоритма 𝐷𝐵𝐹𝑃 𝐿 .
80

30
BS4
BS1 BS5 BS6
25
BS7
20
BS2 BS3
y, m

15
BS8
10 2
1
5
BS9

0
0 10 20 30 40 50
x, m

Рис. 4.5. Результат рачета локации с использованием алгоритма 𝐷𝐵𝐹𝑃 𝐿 : 1 – эталонный


трек, 2 – рассчитанный трек, 𝐵𝑆1 , . . . , 𝐵𝑆9 – базовые станции.

В левой части здания рассчитанная траектория близка к эталонной, од­


нако в правой части система неверно распознала коридор, по которому дви­
гался объект. Качество измерений от базовых станций не было достаточным
для точной локации, а расположение стен на карте не позволило однозначно
определить направление движения. Одним из решений данной проблемы яв­
ляется использование данных от встроенного в мобильное устройство модуля
определения траектории. Вариант расчета локации для приведенного трека с
учетом данный встроенных датчиков будет приведен в главе 5.
На рисунке 4.6 представлены кумулятивные функции ошибки локации
построенные для различных вариантов запуска алгоритма. Для сравнения на
рисунке приведены результаты расчета локации с использованием фильтра
Калмана (метка «𝐾𝐹 »), описанного в статье [102]. Кроме того, на рисунке
также приведены результаты расчета локации с использованием дискретного
байесовского фильтра, учитывающего только измерения уровня сигнала (мет­
ка «𝐷𝐵𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 »), дискретного байесовского фильтра, учитывающего толь­
ко измеренные расстояния без учета стен здания (метка «𝐷𝐵𝐹𝑁 𝑂𝑊 𝐴𝐿𝐿𝑆 »).
Графики с метками «𝑇 𝑂𝐹 » и «𝑃 𝐿» соответствуют расчету локации с ис­
81

пользованием только текущих измерений времени распространения и уровня


сигналов, без использования алгоритмов фильтрации. В методе «𝑇 𝑂𝐹 » в
качестве локации использовалась точка, полученная усреднением точек дис­
кретной сетки, на которую разбивалась текущая область локации. В методе
«𝑃 𝐿» на дискретную сетку разбивалась вся карта здания. В качестве ло­
кации использовалась точка для которой оценка вероятности, определенная
только по значениям уровня сигнала, была максимальной.

0.8

0.6
CDF

DBFPL
DBFTOF
0.4 DBFSIMPLE
DBFNO WALLS
DBFPL ONLY
0.2 KF
TOF
PL
0
0 1 2 3 4 5 6 7 8
e, m

Рис. 4.6. Кумулятивные фукции ошибки локации 𝑒 (в метрах) для трех вариантов запуска
алгоритма.

Для удобства сравнения значения ошибки локации, соответствующие


70%, 95% квантилям, а также максимальные зарегистрированные ошибки
локации представлены в таблице 4.1.
82

Таблица 4.1. Ошибка локации (в метрах), соответствующая различным квантилям кумуля­


тивной функции распределения ошибки локации. Описание методов приведено в тексте.

Обозначение метода 𝐶𝐷𝐹75% ,м 𝐶𝐷𝐹95% ,м Максимальная ошибка,м


𝐷𝐵𝐹𝑃 𝐿 1.2 1.8 4.6
𝐷𝐵𝐹𝑇 𝑂𝐹 1.6 2.6 5.0
𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 1.7 2.7 8.0
𝐷𝐵𝐹𝑁 𝑂𝑊 𝐴𝐿𝐿𝑆 2.1 3.3 5.4
𝐾𝐹 2.3 3.5 7.8
𝐷𝐵𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 2.3 6.2 20.0
𝑇 𝑂𝐹 2.6 4.4 7.7
𝑃𝐿 3.6 10.8 34.7

Результаты, полученные с использованием разработанных алгоритмов,


сравнивались с результатами, полученными с использованием метода 𝐷𝐵𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌
характерного для систем локации, основанных только на измерениях значе­
ния уровня принимаемого сигнала, а также с результатами, полученными
с помощью фильтра Калмана («𝐾𝐹 »), использующегося в системах, осно­
ванных только на измерениях расстояний между мобильным устройством и
базовыми станциями.
В условиях описанного эксперимента алгоритм 𝐷𝐵𝐹𝑃 𝐿 на основе дис­
кретной байесовской фильтрации, использующий информации об уровне сиг­
нала совместно с измерениями расстояний, позволил рассчитать локацию с
ошибкой 1.2 метра в 75% случаев, в то время как результат для алгоритма
𝐷𝐵𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 составил 2.3 метра. Расчет локации внутри области, ограничен­
ной измеренными расстояниями, позволил сократить максимальную ошиб­
ку локации для метода 𝐷𝐵𝐹𝑃 𝐿 до 4.6 метров, в то время как для метода
𝐷𝐵𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 максимальное значение ошибки составило 20.0 метров.
Поскольку метод на основе калмановской фильтрации 𝐾𝐹 не учитыва­
ет информацию о структуре здания, для удобства сравнения использовался
83

алгоритм дискретной байесовской фильтрации 𝐷𝐵𝐹𝑁 𝑂𝑊 𝐴𝐿𝐿𝑆 , в котором ло­


кация объекта рассчитывается только по измеренным расстояниям без учета
стен здания. Полученные результаты по точности локации отличаются незна­
чительно: значение 75% квантили для метода 𝐾𝐹 составило 2.3 метра, а для
метода 𝐷𝐵𝐹𝑁 𝑂𝑊 𝐴𝐿𝐿𝑆 – 2.1 метра. Использование плана здания позволило
улучить точность расчетов: значение 75% квантили для метода 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸
составило 1.7 метра.
Результаты по точности локации для алгоритмов 𝐷𝐵𝐹𝑇 𝑂𝐹 и 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸
оказались примерно одинаковыми и составили 1.6 и 1.7 метров соответствен­
но. Как было отмечено в предыдущем разделе, в случае «удачной» формы
области пересечения окружностей локация, рассчитанная с использованием
алгоритма 𝐷𝐵𝐹𝑇 𝑂𝐹 , будет близкой к локации, полученной простым усред­
нением равновероятных точек дискретной сетки. Поскольку в приведенном
примере использовалось большое количество базовых станций, такие ситуа­
ции возникали довольно часто.
Ниже описан эксперимент, подчеркивающий влияние конфигурации и
количества базовых станций на точность локации, рассчитанной с использо­
ванием приведенных вариантов алгоритма. Траектория движения, карта зда­
ния, местоположение базовых станций, характер шумов измерений, а также
параметры алгоритма соответствовали условиям предыдущего эксперимен­
та. Локация мобильного устройства рассчитывалась с использованием раз­
личных комбинаций из трех, четырех, пяти, шести, семи, восьми и девяти,
базовых станций. Для каждой комбинации базовых станций строилась куму­
лятивная функция распределения ошибки локации, рассчитанная с исполь­
зованием алгоритмов 𝐷𝐵𝐹𝑃 𝐿 , 𝐷𝐵𝐹𝑇 𝑂𝐹 и 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 , описанных выше. На
рисунке 4.7 представлены результаты экспериментов. В качестве оценки точ­
ности используется значение 0.75-квантили кумулятивной функции ошибки
локации.
84

18
DBFPL
16 DBFTOF
14 DBFSIMPLE

12

e0.75, m
10
8
6
4
2
0
2 3 4 5 6 7 8 9 10
nBS

Рис. 4.7. Точность локации, рассчитанной с использованием различного количества и ком­


бинаций базовых станций: 𝑛𝐵𝑆 – количество используемых базовых станций, 𝑒0.75 – ошибка
локации (в метрах), соответствующая различным комбинациям базовых станций.

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


больше разброс значений по точности среди возможных комбинаций. Худ­
шие результаты получены для алгоритма 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 , использующего рав­
ные вероятности для точек дискретной сетки при вычислении правдоподо­
бия. Лучшие результаты по точности достигнуты с использованием метода
𝐷𝐵𝐹𝑃 𝐿 на основе информации об уровне принимаемого сигнала. Оба мето­
да 𝐷𝐵𝐹𝑃 𝐿 и 𝐷𝐵𝐹𝑇 𝑂𝐹 позволяют существенно сократить разброс значений
по точности локации для разных комбинаций базовых станций. Например,
при использовании четырех базовых станций точность локации для боль­
шинства точек варьируется в пределах от двух до одиннадцати метров для
простого усреднения по всем точкам, от двух до шести метров для алгорит­
ма, использующего функцию, аппроксимирующую распределение завышений
в измеренных расстояниях, и от полутора до трех метров для алгоритма на
основе информации об уровне принимаемого сигнала.
Проведенные эксперименты с использованием различных моделей изме­
рений показывают, что использование информации об уровне принимаемого
сигнала может существенно улучшить точность локации. Кроме того, важ­
85

ным фактором является расстановка базовых станций в пределах помещения.


Выбор «удачного» расположения может существенно улучшить точность ло­
кации для любой из используемых моделей измерений.
Важной характеристикой, влияющей на качество работы системы, яв­
ляется частота измерений. Исследование зависимости точности локации от
величины промежутка времени между измерениями проводилось для трех
вариантов запуска алгоритма 𝐷𝐵𝐹𝑃 𝐿 , 𝐷𝐵𝐹𝑇 𝑂𝐹 и 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 , описанных
выше. Размер ячейки дискретной сетки задавался равным 1 м. Траектория
движения мобильного устройства, карта здания, карта уровней сигнала и рас­
положение базовых станций соответствовали условиям эксперимента, приве­
денного на рисунке 4.5. Измерения расстояний генерировались с использова­
нием модели завышений для случая многолучевого распространения сигнала
(NLOS). Период выхода мобильного устройства в радиоэфир варьировался от
0.5 до 20 секунд с шагом 0.5 секунд. Каждый раз при выходе в радиоэфир
проводились измерения расстояний и уровней сигналов до 9 базовых стан­
ций. Для увеличения количества точек, в которых проверялась точность ло­
кации, предполагалось, что объект проходит заданную траекторию несколько
раз. В случае самого большого интервала между измерениями – в 20 секунд
количество рассчитанных локаций и соответствующих им эталонных точек
составляло 120 штук. Для других значений частоты измерений точность ло­
кации проверялась только для данных точек. Результаты эксперимента по
определению зависимости точности локации 𝑒0.75 (0.75-квантиль кумулятив­
ной функции ошибки локации) от периода 𝑇 выхода мобильного устройства
в радиоэфир показаны на рисунке 4.8.
86

3.5

3
C
2.5 B
e0.75, m
A
2

1.5 DBFPL
DBFTOF
DBFSIMPLE
1
0 2 4 6 8 10 12 14
T, s

Рис. 4.8. Зависимость точности локации 𝑒0.75 (в метрах) от периода 𝑇 (в секундах) между
измерениями для трех вариантов запуска алгоритма. Горизонтальными линиями (A,B,C) по­
казаны результаты по точности локации, рассчитанной без учета модели динамики системы.

В алгоритмах на основе байесовской фильтрации локация объекта рас­


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

всего такая ситуация начинается для алгоритма 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 . Значение пери­


ода в этом случае составляет 6 секунд.
Одним из основных недостатков дискретной байесовской фильтрации
являются высокие требования к вычислительным ресурсам процессора. Ско­
рость работы алгоритма определяется, главным образом, размером ячейки
дискретной сетки, которая, в свою очередь, определяет количество точек
внутри области локации. Процедура оценки локации объекта с помощью
дискретного байесовского фильтра по вновь полученным измерениям требует
𝒪(𝑁𝑡−1 · 𝑁𝑡 ) операций, где 𝑁𝑡 – число точек внутри области локации в мо­
мент времени 𝑡, а 𝑁𝑡−1 – число точек внутри области локации в предыдущий
момент времени 𝑡 − 1.
На рисунке 4.9 показан пример зависимости точности (0.75-квантиль
кумулятивной функции распределения) и среднего времени вычисления од­
ной локации от размера ячейки дискретной сетки. Для расчета использова­
лись данные эксперимента, описанного в предыдущей секции. Промежуток
времени между измерениями (период выхода мобильного устройства в радио­
эфир) задавался равным 1 секунде. Для тестирования был выбран вариант
алгоритма 𝐷𝐵𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 , в котором вероятности точек на шаге правдоподобия
задавались одинаковыми. Тестирование проводилось на компьютере с про­
цессором AMD Athlon II X2 245 2.9 GHz, работающем под операционной
системой Ubuntu 10.10. Алгоритм дискретного байесовского фильтра реали­
зован на языке Java.
88

3.6 200
1
3.4 2 180
3.2 160
140
3
120
e0.75, m 2.8

t, ms
100
2.6
80
2.4
60
2.2 40
2 20
1.8 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
s, m

Рис. 4.9. Зависимость точности локации 𝑒0.75 (1), в метрах, и времени расчета локации 𝑡 (2),
в миллисекундах, от размера 𝑠 ячейки дискретной сетки (в метрах).

В данном примере ошибка локации значительно уменьшается при умень­


шении размера ячейки с 4 до 1 метра. Дальнейшее уменьшение размера ячей­
ки не приводит к значительному улучшению точности локации. При этом
время расчета резко возрастает. Например, в случае уменьшения размера
ячейки с 2 до 0.2 метра точность практически не меняется и составляет
порядка 2 метров. При этом среднее время расчета увеличивается с менее
чем 1 мс до 100 мс. Как было сказано в главе 2 максимальная частота
замеров в пределах одного радиосегмента для применяемой технологии со­
ставляет 20-25 измерений в секунду. Это ограничивает максимальное время
расчета одной локации до 40 мс, что соответствует размеру ячейки в 0.4
метра. Ячейки меньшего размера не позволяют рассчитать локацию быстрее
максимального времени расчета. На практике целесообразно выбрать размер
ячейки близким к значению 1 метр.

4.3. Выводы

В настоящей главе был описан алгоритм локации на основе дискрет­


ного байесовского фильтра. Достоинством предложенного метода является
89

возможность одновременно учитывать информацию о структуре здания и из­


мерения расстояний и уровней сигналов до базовых станций. Проведенные
модельные эксперименты показали, что совместное использование этой ин­
формации позволяет уменьшить ошибку расчета локации, соответствующую
95% квантили кумулятивной функции ошибки локации, с 6.2 метров до 1.8
метров по сравнению с методом, учитывающим только измерения уровней
сигналов и карту здания. Использование для расчета локации в дискретном
байесовском фильтре только измеренных расстояний и информации о струк­
туре здания позволяет сократить ошибку локации, соответствующую 95%
квантили кумулятивной функции ошибки локации, с 3.5 метров до 2.6 мет­
ров, по сравнению с алгоритмом на основе фильтра Калмана, учитывающим
только данные об измеренных расстояниях.
Полученные результаты по точности локации являются достаточными
для многих практических приложений, таких как отслеживание перемеще­
ния людей и оборудования внутри помещений. Главным ограничением раз­
работанного алгоритма являются высокие требования к вычислительным ре­
сурсам процессора. При использовании дискретного байесовского фильтра
необходимо правильно задать размер ячейки дискретной сетки. В приведен­
ных экспериментах наиболее подходящий размер составляет 1 метр.
В предложенном алгоритме для расчета локации используются лишь
измерения от базовых станций и план здания. В следующей главе будет
описан алгоритм локации, учитывающий данные от встроенного в мобильное
устройство модуля определения траектории.
90

Глава 5

Алгоритм локации на основе фильтра частиц

В предыдущей главе был рассмотрен алгоритм, учитывающий только


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

5.1. Описание алгоритма

В случае рассматриваемой системы для расчета локации доступна сле­


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

ˆ В каждый момент времени 𝑡 состояние системы характеризуется на­


бором Ω𝑡 из 𝑁 частиц {x𝑡 (𝑖) , 𝑖 = 1, . . . , 𝑁 } с соответствующими весами
{𝑤𝑡 (𝑖) , 𝑖 = 1, . . . , 𝑁 }. Каждая частица x𝑡 (𝑖) включает информацию о коор­
(𝑖) (𝑖) (𝑖)
динатах объекта на плоскости 𝑥𝑡 , 𝑦𝑡 , а также угол 𝜃𝑡 , обозначающий
направление движения.

ˆ Информация об управляющем воздействии u𝑡 включает измерения, по­


лучаемые от встроенного модуля определения траектории. Данные из­
мерения представлены в виде набора из отрезков {𝑙𝑗 , 𝑗 = 1, . . . , 𝐽} и
углов {𝛼𝑗 , 𝑗 = 1, . . . , 𝐽}. Каждый отрезок 𝑙𝑗 соответствует длине шага,
сделанного пешеходом с мобильным устройством, а угол 𝛼𝑗 соответ­
ствует направлению движения пешехода в локальной системе коорди­
нат мобильного устройства.

ˆ Информация об измерениях z𝑡 представлена в виде набора измере­


ний расстояний между мобильным устройством и базовыми станциями
{𝑟𝑘 , 𝑘 = 1, . . . , 𝑛} и набором измерений уровней принимаемых сигналов
{𝑠𝑘 , 𝑘 = 1, . . . , 𝑛}.

ˆ Результатом работы алгоритма является оценка местоположения устрой­


ства, представленная координатами на плоскости (𝑥𝑡 , 𝑦𝑡 ).
92

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


этапов: инициализацию, прогноз, коррекцию (вычисление весовых коэффи­
циентов и ресэмплинг) и оценку состояния. Ниже представлено детальное
описание данных этапов.

5.1.1. Инициализация

В типичных алгоритмах на основе фильтра частиц изначальная генера­


ция частиц происходит случайным образом во всей области, где возможно
нахождение объекта. Например, такая область может быть представлена кар­
той здания. Это необходимо для того, чтобы с заданной точностью учесть все
возможные варианты нахождения мобильного устройства.
Использование системы на основе измерений расстояний, полученных
времяпролетным методом, позволяет существенно сократить число частиц,
требующихся на этапе инициализации. Суть предлагаемого метода заключа­
ется в том, чтобы инициализировать фильтр частиц в момент приема первой
серии расстояний, измеренных между мобильным устройством и базовыми
станциями. При этом частицы генерируются случайным образом внутри об­
ласти пересечения окружностей, образованных вокруг точек расположения
базовых станций с радиусами, равными измеренным расстояниям (рисунок
5.1).
93

Рис. 5.1. Инициализация частиц внутри области пересечения окружностей, образованных


вокруг точек расположения базовых станций с радиусами, равными измеренным расстояни­
ям. 𝐵𝑆1 , 𝐵𝑆2 , 𝐵𝑆3 – базовые станции, 𝑅1 , 𝑅2 , 𝑅3 – измеренные расстояния. Треугольниками
показаны частицы, сгенерированные внутри области пересечения окружностей.

Из-за наличия в измерениях завышений, связанных с многолучевым рас­


пространением сигнала, размер области пересечения окружностей может до­
стигать нескольких десятков квадратных метров. Однако это значительно
меньше, чем типичный размер здания.
Таким образом, в ходе инициализации внутри области пересечения окруж­
ностей генерируется 𝑁 = 𝑁0 частиц {x𝑡 (𝑖) , 𝑖 = 1, . . . , 𝑁 } с соответствующими
весами {𝑤𝑡 (𝑖) , 𝑖 = 1, . . . , 𝑁 }. Все веса предполагаются равными:

1
𝑤𝑡 (𝑖) = . (5.1)
𝑁

5.1.2. Прогноз

В ходе прогноза положение каждой отдельной частицы определяется на


основе информации о траектории, полученной от встроенного модуля опреде­
ления траектории. Траектория движения человека, зафиксированная между
двумя последовательными моментами времени 𝑡 − 1 и 𝑡, представлена век­
тором u𝑡 , включающим информацию о длине 𝑙𝑗 и направлении 𝛼𝑗 шагов
𝑗 = 1, . . . , 𝐽 (рисунок 5.2).
Координаты и направления каждой частицы рассчитываются на основа­
94

Рис. 5.2. Пример траектории движения, полученной от встроенного модуля определения тра­
ектории. Черные треугольники соответствуют положению и направлению отдельной частицы
в последовательные моменты времени 𝑡 − 1 и 𝑡, в которые происходит замер расстояний меж­
ду мобильным устройством и базовыми станциями.

нии уравнений динамики системы:


𝐽
(𝑖) (𝑖)
∑︁
𝑥𝑡 = 𝑥𝑡−1 + (𝑙𝑗 + 𝛿𝑙𝑗 ) · cos 𝛼𝑗 , (5.2)
𝑗=1

𝐽
(𝑖) (𝑖)
∑︁
𝑦𝑡 = 𝑦𝑡−1 + (𝑙𝑗 + 𝛿𝑙𝑗 ) · sin 𝛼𝑗 , (5.3)
𝑗=1
𝐽
(𝑖) (𝑖)
∑︁
𝜃𝑡 = 𝜃𝑡−1 + (𝛼𝑗 + 𝛿𝛼𝑗 ), (5.4)
𝑗=1
(𝑖) (𝑖) (𝑖) (𝑖)
где 𝑥𝑡 , 𝑦𝑡 и 𝑥𝑡−1 , 𝑦𝑡−1 – координаты отдельной частицы в моменты времени
(𝑖) (𝑖)
𝑡 и 𝑡 − 1, 𝜃𝑡 и 𝜃𝑡−1 – вычисленное и предыдущее направление частицы, 𝑙𝑗
и 𝛼𝑗 – длина и направление каждого шага. 𝛿𝑙 ∼ 𝑁 (0, 𝜎 2 𝑙 ) – случайная ве­
личина, распределенная нормально, с нулевым математическим ожиданием
и стандартным отклонением 𝜎𝑙 , соответствующая возможным непредсказуе­
мым изменениям в длине шага. 𝛿𝛼 ∼ 𝑁 (0, 𝜎 2 𝛼 ) – нормально распределенная
случайная величина, соответствующая возможным непредсказуемым измене­
нием в направлении движения объекта. Значения параметров 𝜎𝑙 и 𝜎𝛼 выби­
раются в зависимости от точности измерений, получаемых от встроенного
модуля определения траектории.
На этапе прогноза происходит учет информации о структуре здания. В
том случае, если траектория частицы пересекает стену здания, она удаляется
из общего набора частиц (рисунок 5.3).
95

Рис. 5.3. Сокращение числа частиц с учетом информации о структуре здания. Пунктиром
показано перемещение частиц в ходе прогноза.

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


ния из начального набора из 𝑁 частиц остается 𝐾 частиц. Возможны си­
туации, когда все частицы будут удалены из общего набора (𝐾 = 0). Такие
ситуации могут возникать в случае резкой смены направления движения,
слишком большого периода между измерениями и других факторов. В этом
случае система инициализируется заново в соответствии с первым этапом
алгоритма.
Ниже представлен псевдокод алгоритма прогноза. Входными данными
для алгоритма являются множество частиц с соответствующими весами
(𝑖) (𝑖) (𝑖) (𝑖)
Ω𝑡−1 : {𝑥𝑡−1 , 𝑦𝑡−1 , 𝜃𝑡−1 , 𝑤𝑡−1 , 𝑖 = 1 . . . 𝑁 }, полученных на предыдущем шаге,
информация от встроенного модуля определения траектории u𝑡 : {𝑙𝑗 , 𝛼𝑗 , 𝑗 =
1 . . . 𝐽} и информация о стенах здания, представленная в виде набора отрез­
ков Ψ. Выходными данными является множество частиц и весов
(𝑖)− (𝑖)− (𝑖)− (𝑖)−
Ω−
𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝐾}, перемещенных по данным от встро­
енного модуля определения траектории, в соответствии с уравнениями (5.2),
(5.3), (5.4). Значок «− » означает спрогнозированное значение. Предполагает­
ся, что алгоритм использует заранее определенную процедуру
intersects(𝑥1 , 𝑦1 , 𝑥2 , 𝑦2 , Ψ), которая проверят, пересекает ли отрезок (𝑥1 , 𝑦1 )−
96

(𝑥2 , 𝑦2 ) какую-либо из стен множества Ψ (рисунок 5.3).


Алгоритм 6: Прогноз (prognosis(Ω, u, Ψ))
(𝑖) (𝑖) (𝑖) (𝑖)
input : Ω𝑡−1 : {𝑥𝑡−1 , 𝑦𝑡−1 , 𝜃𝑡−1 , 𝑤𝑡−1 , 𝑖 = 1 . . . 𝑁 }, u𝑡 : {𝑙𝑗 , 𝛼𝑗 , 𝑗 =
1 . . . 𝐽}, Ψ
(𝑖)− (𝑖)− (𝑖)− (𝑖)−
output: Ω−𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝐾}
1 begin
2 Ω−𝑡 ←∅
3 for 𝑖 ← 1 to 𝑁 do
(𝑖)− (𝑖)
4 𝑥𝑡 ← 𝑥𝑡−1
(𝑖)− (𝑖)
5 𝑦𝑡 ← 𝑦𝑡−1
(𝑖)− (𝑖)
6 𝜃𝑡 ← 𝜃𝑡−1
(𝑖)− (𝑖)
7 𝑤𝑡 ← 𝑤𝑡−1
8 for 𝑗 ← 1 to 𝐽 do
(𝑖)− (𝑖)−
9 𝑥𝑡 ← 𝑥𝑡 + (𝑙𝑗 + 𝛿𝑙𝑗 ) · cos 𝛼𝑗
(𝑖)− (𝑖)−
10 𝑦𝑡 ← 𝑦𝑡 + (𝑙𝑗 + 𝛿𝑙𝑗 ) · sin 𝛼𝑗
(𝑖)− (𝑖)−
11 𝜃𝑡 ← 𝜃𝑡 + (𝛼𝑗 + 𝛿𝛼𝑗 )
(𝑖) (𝑖) (𝑖)− (𝑖)−
12 if !intersects (𝑥𝑡−1 , 𝑦𝑡−1 , 𝑥𝑡 , 𝑦𝑡 , Ψ) then
(𝑖)− (𝑖)− (𝑖)− (𝑖)−
13 Ω−
𝑡 ∪ (𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 )
14 return Ω−
𝑡

5.1.3. Коррекция

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


рии расстояний и уровней принимаемого сигнала между мобильным устрой­
ством и базовыми станциями. Данный этап делится на две части: вычисление
весов и ресэмплинг. Использование измерений расстояний времяпролетным
методом позволяет отсечь часть частиц перед тем, как начать процедуру вы­
числения весов. Суть предлагаемого метода заключается в том, что с каждой
новой серией измерений строится область пересечения окружностей, образо­
ванных вокруг точек расположения базовых станций с радиусами, равными
измеренным расстояниям. Те частицы, которые после этапа прогноза ока­
зались вне области пересечения окружностей, образованной с новой серией
измерений, удаляются из общего набора частиц (рисунок 5.4).
97

Рис. 5.4. Удаление спрогнозированных частиц, не попавших в новую область пересечения


окружностей, обозначенную серым цветом. 𝑅1 , 𝑅2 – новые измерения от базовых станций
𝐵𝑆1 , 𝐵𝑆2 .

Данная процедура позволяет отбросить заведомо ложные гипотезы о


возможном положении объекта, тем самым сократив вычислительные затра­
ты и увеличив точность расчета.

Вычисление весов

Обозначим буквой 𝑀 число частиц, оставшееся после процедуры отсе­


чения с использованием новых измерений. Для всех 𝑀 частиц применяется
процедура вычисления весов.
Поскольку измерения включают в себя как набор расстояний, получен­
ных времяпролетным методом, так и набор измерений уровней принимаемого
сигнала, для вычисления весов альтернативно используются два независи­
мых алгоритма calcWeightToF(𝑥, 𝑦, r)) и calcWeightPl(𝑥, 𝑦, s, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 )),
описанных в главе 4. Первый алгоритм calcWeightToF(𝑥, 𝑦, r)) использу­
ет информацию об измеренных расстояниях. Вес частицы 𝑤(𝑖) с координата­
ми (𝑥, 𝑦) берется равным вероятности получить вектор измерений r в точке
(𝑥, 𝑦). Второй алгоритм calcWeightPl(𝑥, 𝑦, s, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 )) использует измере­
ния уровня сигналов s от базовых станций и информацию о предварительно
построенной карте покрытия уровней сигнала s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 . В этом случае вес ча­
стицы берется равным вероятности зарегистрировать вектор уровней сигнала
98

s в точке с координатами (𝑥, 𝑦).


Ниже представлен псевдокод алгоритма коррекции по полученным изме­
рениям. Входными данными для алгоритма являются множество частиц Ω−
𝑡 :
(𝑖)− (𝑖)− (𝑖)−
{(𝑥𝑡 , 𝑦𝑡 ), 𝜃𝑡 , 𝑖 = 1 . . . 𝐾}, полученных на этапе прогноза, информация
об измеренных расстояниях r = {𝑟𝐵𝑆1 , 𝑟𝐵𝑆2 , . . . , 𝑟𝐵𝑆𝑛 } и уровнях сигнала s =
{𝑠𝐵𝑆1 , 𝑠𝐵𝑆2 , . . . , 𝑠𝐵𝑆𝑛 }, а также карта уровней сигналов s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 = {< 𝑠𝐵𝑆1 >, <
𝑠𝐵𝑆2 >, . . . , < 𝑠𝐵𝑆𝑛 >}, полученная в ходе предварительных замеров. Выход­
(𝑖)+ (𝑖)+ (𝑖)+ (𝑖)+
ными данными является множество частиц Ω+
𝑡 : {(𝑥𝑡 , 𝑦𝑡 ), 𝜃𝑡 , 𝑤𝑡 ,𝑖 =
1 . . . 𝑀 }, находящихся внутри области пересечения окружностей, построен­
ных с использованием измеренных расстояний, и набор соответствующих
весов, вычисленных с использованием информации о текущих измерениях.
Символ «+ » означает скорректированное значение соответствующей перемен­
ной.
Предполагается, что алгоритм использует заранее определенную функ­
цию isInsideLocationArea(𝑥, 𝑦, r), которая проверят, находится ли точ­
ка с координатами (𝑥, 𝑦) внутри области пересечения окружностей, построен­
ных по измеренным расстояниям r. Алгоритм использует также функцию вы­
числения весов сalcWeight(𝑥(𝑖) , 𝑦 (𝑖) , . . . ) для заданной частицы (𝑖). В зави­
симости от контекста входными параметрами для функции сalcWeight(. . . )
могут быть не только координаты частицы, но и расстояния r𝑡 , значения уров­
ней сигналов s𝑡 , и карта средних значений уровней сигнала s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 внутри
помещения. Предполагается также, что алгоритм использует заранее опреде­
ленную функцию normalizeWeights(Ω𝑡 ), которая нормирует веса частиц
99

из множества Ω𝑡 .
Алгоритм 7: Коррекция (update(Ω, r, s, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 ))
(𝑖)− (𝑖)− (𝑖)− (𝑖)−
input : Ω−
𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝐾}, r𝑡 =
{𝑟𝐵𝑆1 , 𝑟𝐵𝑆2 , . . . , 𝑟𝐵𝑆𝑛 }, s𝑡 = {𝑠𝐵𝑆1 , 𝑠𝐵𝑆2 , . . . , 𝑠𝐵𝑆𝑛 }, s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 = {<
𝑠𝐵𝑆1 >, < 𝑠𝐵𝑆2 >, . . . , < 𝑠𝐵𝑆𝑛 >}
(𝑖)+ (𝑖)+ (𝑖)+ (𝑖)+
output: Ω+
𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝑀 }
1 begin
2 Ω+𝑡 ←∅
3 for 𝑖 ← 1 to 𝐾 do
(𝑖)− (𝑖)−
4 if isInsideLocationArea (𝑥𝑡 , 𝑦𝑡 , r𝑡 ) then
(𝑖)+ (𝑖)−
5 𝑥𝑡 ← 𝑥𝑡
(𝑖)+ (𝑖)−
6 𝑦𝑡 ← 𝑦𝑡
(𝑖)+ (𝑖)−
7 𝜃𝑡 ← 𝜃𝑡
(𝑖)+ (𝑖)− (𝑖)+ (𝑖)+
8 𝑤𝑡 ← 𝑤𝑡 · calcWeight(𝑥𝑡 , 𝑦𝑡 , r𝑡 )
(𝑖)+ (𝑖)+ (𝑖)+ (𝑖)+
9 Ω+𝑡 ∪ (𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 )
10 Ω+ +
𝑡 ← normalizeWeights(Ω𝑡 )
11 return Ω+
𝑡

Ресэмплинг

После нескольких шагов процедуры коррекции веса большинства ча­


стиц, соответствующих ошибочным гипотезам, могут стать близкими к ну­
лю. Такие частицы практически не вносят вклад в финальную оценку вектора
состояния, однако на них тратятся вычислительные ресурсы. Процедура рес­
эмплинга позволяет перераспределить вычислительные ресурсы путем отбра­
сывания частиц, имеющих маленький вес, и дублирования частиц, имеющих
большой вес. В ходе данной процедуры набор из 𝑁 частиц восстанавливается
из оставшихся 𝑀 частиц с учетом весов, вычисленных на основе текущих
измерений.
В разработанном алгоритме применяется метод, называемый в англо­
язычной литературе multinomial resampling [20]. Данный метод состоит из
нескольких шагов. На первом шаге строится кумулятивная функция распре­
деления на основе частиц и их весов. Для каждой частицы 𝑚 из обще­
100

го набора из 𝑀 частиц вычисляется сумма весовых коэффициентов 𝑆𝑚 =


∑︀𝑚 (𝑗)
𝑗=1 𝑤 . Таким образом, 𝑆𝑚−1 ≤ 𝑆𝑚 , и 𝑆𝑀 = 1. Затем генерируется рав­

номерно распределенная случайная величина 𝑢 ∼ 𝑅(0, 1). На основе того


значения, которое приняла случайная величина, выбирается индекс 𝑚, так
что 𝑆𝑚−1 ≤ 𝑢 < 𝑆𝑚 . Частица x(𝑚) , соответствующая выбранному индексу,
копируется с новым индексом 𝑖 в новый набор частиц. Данная процеду­
ра повторяется 𝑁 раз (для 𝑖 = 1 . . . 𝑁 ). Псевдокод алгоритма ресэмплин­
га представлен ниже. Предполагается, что функция getLowerBound(𝒮, 𝑢),
возвращающая индекс 𝑚 в зависимости от случайной переменной 𝑢, заранее
определена. Здесь 𝒮 – множество чисел 𝑆1 . . . 𝑆𝑀 , упорядоченное по возраста­
нию. В случае использования алгоритма бинарного поиска, вычислительная
сложность функции getLowerBound(𝒮,u) составляет 𝒪(log 𝑁 ). Вычисли­
тельная сложность процедуры ресэмплинга составляет 𝒪(𝑁 log 𝑁 ).
101

Алгоритм 8: Ресэмплинг resample(Ω, 𝑁 )


(𝑖)+ (𝑖)+ (𝑖)+ (𝑖)+
input : Ω+
𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝑀 }, 𝑁
(𝑖) (𝑖) (𝑖) (𝑖)
output: Ω𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝑁 }
1 begin
2 𝒮←∅
3 for 𝑚 ← 1∑︀to 𝑀 do
4 𝑆𝑚 ← 𝑚 𝑗=1 𝑤
(𝑗)

5 𝒮 ∪ 𝑆𝑚
6 Ω𝑡 ← ∅
7 for 𝑖 ← 1 to 𝑁 do
8 𝑢 ∼ 𝑅(0, 1)
9 𝑖 ← getLowerBound(𝒮, 𝑢)
(𝑖)
10 𝑤𝑡 ← 𝑁1
(𝑖) (𝑖) (𝑖) (𝑖)
11 Ω𝑡 ∪ (𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 )
12 return Ω𝑡
В ходе применения процедуры ресэмплинга происходит удаление частиц
с низкими весами и дублирование частиц с высокими весами. Поскольку ин­
формация об измерениях уже учитывается при генерации нового набора ча­
стиц, после ресэмплинга предполагается, что все частицы имеют одинаковый
вес:
1
𝑤𝑡 (𝑖) = . (5.5)
𝑁
В случае использования расстояний, измеренных времяпролетным ме­
тодом, фильтр частиц может быть спроектирован без дополнительного вы­
числения весов внутри области пересечения окружностей. Учет измерений
может быть использован только для отсечения частиц, не попадающих в
данную область. В этом случае веса всех частиц предполагаются равными, а
процедура ресэмплинга сводится к простому дублированию частиц из набора
𝑀 , пока число частиц не станет равным 𝑁 .
Необходимо отметить, что, используя процедуру ресэмплинга, можно
провести оптимизацию алгоритма. При первом запуске фильтра частиц в мо­
мент инициализации состояние системы не определено, и для рассмотрения
всех возможных гипотез о положении объекта требуется большое количество
102

частиц. В то же время после нескольких итераций система сходится, и для


описания всех возможных гипотез требуется гораздо меньшее количество ча­
стиц. Для экономии вычислительных ресурсов можно определить пороговое
число частиц 𝑁𝑅 , при котором осуществляется ресэмплинг, меньшее по срав­
нению с начальным числом частиц 𝑁 = 𝑁0 , заданным при инициализации.
В этом случае фильтр при инициализации сгенерирует большое количество
частиц, которое после нескольких итераций сократится до 𝑁 < 𝛾𝑁𝑅 , где 𝛾 –
заранее выбранное число, меньшее единицы. После чего в ходе ресэмплинга
число частиц восстановится только до значения 𝑁 = 𝑁𝑅 и в дальнейшем не
будет подниматься выше этого порога.

5.1.4. Оценка состояния

На заключительном этапе состояние системы (координаты и направле­


ние движения объекта) рассчитывается как взвешенная сумма всех частиц:
𝑁
∑︁
x^𝑡 = 𝑤𝑡 (𝑖) · x𝑡 (𝑖) . (5.6)
𝑖=1

5.1.5. Псевдокод алгоритма локации на основе фильтра частиц

Ниже представлен псевдокод алгоритма локации на основе фильтра ча­


стиц. Входными данными для каждой итерации алгоритма являются набор
Ω𝑡−1 из 𝑁𝑡−1 частиц {x𝑡−1 (𝑖) , 𝑖 = 1, . . . , 𝑁𝑡−1 } с соответствующими весами
{𝑤𝑡 (𝑖) , 𝑖 = 1, . . . , 𝑁𝑡−1 }, определенные в предыдущий момент времени 𝑡 − 1, из­
мерения u𝑡 , получаемые от встроенного модуля определения траектории, се­
рия измерений расстояний между мобильным устройством и базовыми стан­
циями {𝑟𝑘 , 𝑘 = 1, . . . , 𝑛} и набор измерений уровней принимаемых сигналов
{𝑠𝑘 , 𝑘 = 1, . . . , 𝑛}, а также карта стен здания, представленная набором от­
резков. В зависимости от типа алгоритма вычисления весов входные данные
могут включать карту уровней сигналов s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒 , зарегистрированную в ходе
предварительных экспериментов. Предполагается, что алгоритм использует
103

заранее определенную функцию generate(r, 𝑁 ), которая генерирует мно­


1
жество Ω из 𝑁 частиц с равными весами 𝑤(𝑖) = 𝑁, распределенных случай­
ным образом внутри области пересечения окружностей, образованных из­
меренными расстояниями. Также предполагается, что алгоритм использует
заранее определенную функцию calcCoordinates(Ω), вычисляющую ко­
ординаты мобильного устройства (𝑥𝑡 , 𝑦𝑡 ) по набору частиц Ω в соответствии
с формулой (5.6). В результате работы алгоритма получается новый набор
частиц и весов Ω𝑡 , а также оценка местоположения мобильного устройства
(𝑥𝑡 , 𝑦𝑡 ).
Вычислительная сложность основных процедур (инициализация, про­
гноз и коррекция) составляет 𝒪(𝑁 ). Таким образом, вычислительная слож­
ность алгоритма определяется сложностью процедуры ресэмплинга
и составляет 𝒪(𝑁𝑝 log 𝑁𝑝 ).
Алгоритм 9: Фильтр частиц
(𝑖) (𝑖) (𝑖) (𝑖)
input : Ω𝑡−1 : {𝑥𝑡−1 , 𝑦𝑡−1 , 𝜃𝑡−1 , 𝑤𝑡−1 , 𝑖 = 1 . . . 𝑁𝑡−1 }, u𝑡 , Ψ, r𝑡 , s𝑡 , s𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒
(𝑖) (𝑖) (𝑖) (𝑖)
output: Ω𝑡 : {𝑥𝑡 , 𝑦𝑡 , 𝜃𝑡 , 𝑤𝑡 , 𝑖 = 1 . . . 𝑁𝑡 }
1 begin
2 if Ω𝑡−1 = ∅ then
3 Ω𝑡 ← generate(r, 𝑁0 )
4 (𝑥𝑡 , 𝑦𝑡 ) ← calcCoordinates(Ω𝑡 )
5 return Ω𝑡 , (𝑥𝑡 , 𝑦𝑡 )

6 Ω𝑡 ← prognosis(Ω𝑡−1 , u𝑡 , Ψ)
7 Ω𝑡 ← update(Ω− 𝑡 , r𝑡 , s𝑡 , s
𝑜𝑓 𝑓 𝑙𝑖𝑛𝑒
)
8 if size(Ω𝑡 ) < 𝛾𝑁𝑅 then
9 Ω𝑡 ← resample(Ω𝑡 , 𝑁𝑅 )
10 (𝑥𝑡 , 𝑦𝑡 ) ← calcCoordinates(Ω𝑡 )
11 return Ω𝑡 , (𝑥𝑡 , 𝑦𝑡 )
104

5.2. Исследование характеристик разработанного


алгоритма

Исследование характеристик разработанного алгоритма проводилось с


использованием модельных экспериментов. Для оценки точности задавалась
эталонная траектория движения объекта и частота, с которой проводились
измерения от беспроводной сети базовых станций. С помощью имитацион­
ной модели генерировались данные от встроенного модуля определения тра­
ектории, данные об измерениях уровня принимаемого сигнала и расстояни­
ях, измеряемых между мобильным устройством и базовыми станциями. Для
каждой точки эталонной траектории по сгенерированным данным проводил­
ся расчет локации объекта. В качестве оценки точности для всей траектории
использовалось значение ошибки, соответствующее 0.75-квантили кумуля­
тивной функции распределения ошибки локации. Помимо модельных экспе­
риментов тестирование разработанного алгоритма на основе фильтра частиц
проводилось в реальных условиях. Результаты расчета локации по реальным
измерениям приведены в главе 6.
Эксперименты по определению точности локации проводились для трех
вариантов запуска алгоритма. В первом варианте, обозначенном 𝑃 𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸
фильтр частиц запускался без использования дополнительного вычисления
весов внутри области локации. Во втором варианте, обозначенном 𝑃 𝐹𝑇 𝑂𝐹 ,
для вычисления весов частиц внутри области локации использовался алго­
ритм на основе распределения ошибки измеренных расстояний. В третьем
варианте для вычисления весов использовалась модель измерений на осно­
ве анализа уровня принимаемого сигнала. Данный вариант обозначен меткой
𝑃 𝐹𝑃 𝐿 . На рисунке 5.5 приведен пример траектории, рассчитанной с помощью
алгоритма 𝑃 𝐹𝑃 𝐿 . На рисунке также показана карта здания, расположение
базовых станций и эталонная траектория. В нижней части рисунке пока­
зан путь, зарегистрированный встроенным модулем определения траектории.
105

Ошибки измерений расстояний и уровней сигнала, а также карта уровней


радиосигнала задавались аналогичными предыдущим экспериментам, приве­
денным в четвертой главе на рисунке 4.5. Параметры шумов встроенного мо­
дуля определения траектории соответствовали экспериментальным данным,
приведенным в таблице 3.1 в главе 3.
x, m
0 10 20 30 40 50 60
30
BS4
BS1 BS5 BS6
25
BS7
20
BS2 BS3
15
BS8
y, m

10

5
BS9
0

-5 1
2
-10 3

0 10 20 30 40 50 60 70

Рис. 5.5. Результат рачета локации с использованием алгоритма 𝑃 𝐹𝑃 𝐿 : 1 – данные, заре­


гистрированные встроенным модулем определения траектории, 2 – рассчитанный трек, 3 –
эталонный трек, 𝐵𝑆1 , . . . , 𝐵𝑆9 – базовые станции.

Использование данных от встроенного модуля определения траектории


позволило улучшить точность локации по сравнению с экспериментами, про­
веденными с использованием дискретного байесовского фильтра (рисунок
4.5). Кумулятивные функции распределения ошибки локации для алгорит­
мов 𝑃 𝐹𝑃 𝐿 , 𝑃 𝐹𝑇 𝑂𝐹 и 𝑃 𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 представлены на рисунке 5.6. Для сравнения
на рисунке также приведены результаты расчета локации с использовани­
ем фильтра частиц, учитывающего только измерения уровня сигнала (метка
«𝑃 𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 »). Подобный алгоритм применяется в системах локации, исполь­
106

зующих информацию об уровне принимаемого сигнала и карту уровней сиг­


налов внутри помещения.

0.8

0.6
CDF

0.4

0.2 PFPL
PFTOF
PFSIMPLE
PFPL ONLY
0
0 1 2 3 4 5 6 7 8
e, m

Рис. 5.6. Кумулятивные фукции ошибки локации 𝑒 (в метрах) для различных вариантов
запуска алгоритма.

Для удобства сравнения значения ошибки локации, соответствующие


70%, 95% квантилям, а также максимальные зарегистрированные ошибки
локации представлены в таблице 5.1.

Таблица 5.1. Ошибка локации (в метрах), соответствующая различным квантилям кумуля­


тивной функции распределения ошибки локации. Описание методов приведено в тексте.

Обозначение метода 𝐶𝐷𝐹75% ,м 𝐶𝐷𝐹95% ,м Максимальная ошибка,м


𝑃 𝐹𝑃 𝐿 0.8 1.3 2.1
𝑃 𝐹𝑇 𝑂𝐹 1.0 1.4 1.9
𝑃 𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 1.0 1.6 2.1
𝑃 𝐹𝑃 𝐿𝑂𝑁 𝐿𝑌 1.6 2.9 26.1

Для всех приведенных графиков лучшие показатели были достигнуты с


помощью фильтра частиц 𝑃 𝐹𝑃 𝐿 , использующего для вычисления весов ин­
формацию об уровне принимаемого сигнала. Данный метод позволил достичь
точности локации в пределах одного метра. Для всех алгоритмов, учитываю­
107

щих измерения расстояний, максимальная ошибка локации не превысила 2.1


метра.
Ниже на рисунке 5.7 показаны результаты эксперимента по расчету ло­
кации в тех же условиях, но с различным количеством и расположением
базовых станций. Локация мобильного устройства рассчитывалась с исполь­
зованием разных комбинаций из трех, четырех, пяти, шести, семи, восьми и
девяти, базовых станций. Для каждой комбинации строилась кумулятивная
функция распределения ошибки локации, рассчитанная с использованием ал­
горитмов 𝑃 𝐹𝑃 𝐿 , 𝑃 𝐹𝑇 𝑂𝐹 и 𝑃 𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 .

18
PFPL
16 PFTOF
14 PFSIMPLE

12
e0.75, m

10
8
6
4
2
0
2 3 4 5 6 7 8 9 10
nBS

Рис. 5.7. Точность локации, рассчитанной с использованием различного количества и ком­


бинаций базовых станций: 𝑛𝐵𝑆 – количество используемых базовых станций, 𝑒0.75 – ошибка
локации (в метрах), соответствующая различным комбинациям базовых станций.

Как и в аналогичном эксперименте с дискретным байесовским филь­


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

ций может существенно улучшить работу системы. А использование допол­


нительных методов вычисления весов частиц внутри области локации позво­
ляет уменьшить ошибку в случае «неудачной» расстановки базовых станций.

Шумы системы

Данные о направлении и длине шагов, регистрируемые встроенным мо­


дулем определения траектории, содержат ошибки, связанные с неточностью
используемых датчиков и алгоритмов оценки траектории. Для учета этих
ошибок в фильтре частиц используются параметры шумов 𝛿𝑙 ∼ 𝑁 (0, 𝜎𝑙2 )
и 𝛿𝛼 ∼ 𝑁 (0, 𝜎𝛼2 ), определяющие разброс частиц по длине и направлению.
Ниже представлены результаты эксперимента по определению влияния ка­
чества данных от встроенного модуля определения траектории на точность
локации. Расположение базовых станций, карта здания, истинная траектория
движения и условия распространения радиосигнала задавались аналогичны­
ми предыдущему эксперименту, представленному на рисунке 5.5. Качество
данных, получаемых от встроенного модуля определения траектории, варьи­
ровалось с помощью имитационной модели, описанной в главе 3.
На рисунке 5.8 приведены примеры зависимости ошибки локации (зна­
чение 0.75 квантили кумулятивной функции ошибки локации) от значения
параметра 𝜎𝛼 , задающего величину разброса частиц по направлению. Гра­
фики рассчитаны для трех значений ошибок в направлении шагов 𝜎𝜃 , зада­
ваемых в имитационной модели. Значение моделируемого смещения в длине
шага соответствовало экспериментальным данным и составляло 5% от длины
шага.
109

1.8
min3
σθ = 100
1.6
σθ = 5 0
e0.75, m
1.4
min2
1.2 σθ = 1 0
min1
1

0.8

0.6
0 5 10 15 20 25 30 35
0
σ α,

Рис. 5.8. Зависимость ошибки локации 𝑒0.75 (в метрах) от параметра шумов направления
частиц 𝜎𝛼 (в градусах) для трех значений ошибки направления шага 𝜎𝜃 (в градусах).

Ошибки данных встроенного модуля, сгенерированные для значения


𝜎𝜃 = 1∘ , являются типичными для большинства устройств, которые носятся
в кармане или закреплены на ремне. Данные для значения 𝜎𝜃 = 5∘ харак­
теризуются грубыми ошибками в направлении шагов. Такая ситуация может
наблюдаться, когда мобильное устройство находится в руках или на шнурке
на шее человека. Измерения, сгенерированные для значения 𝜎𝜃 = 10∘ со­
держат еще большую ошибку и редко наблюдаются на практике. График,
соответствующий 𝜎𝜃 = 10∘ , приведен для иллюстрации поведения алгорит­
ма при сильно зашумленных измерениях. Для всех приведенных графиков
существует такое значение параметра 𝜎𝛼 = 𝜎𝑚𝑖𝑛 , при котором ошибка лока­
ции принимает минимальное значение. При уменьшении параметра 𝜎𝛼 < 𝜎𝑚𝑖𝑛
происходит быстрое увеличение ошибки локации. Для таких значений пара­
метра разброс частиц по направлению не достаточный, чтобы рассмотреть
гипотезы, соответствующие ошибочным данным. При увеличении параметра
𝜎𝛼 > 𝜎𝑚𝑖𝑛 ошибка локации увеличивается более плавно. Разброс частиц по
направлению в этом случае больше, чем необходимо для рассмотрения всех
возможных гипотез. На практике целесообразно выбрать завышенное значе­
ние параметра 𝜎𝛼 . Например при значении 𝜎𝛼 = 𝑚𝑖𝑛1 (см. рисунок), в случае
110

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


и составит 0.74 метра. Однако если измерения будут менее точными, как
для графика 𝜎𝜃 = 5∘ , ошибка локации превысит 1.5 метра. В случае, если
выбрать завышенное значение параметра 𝜎𝛼 = 𝑚𝑖𝑛2 , ошибка локации для
точных измерений (график 𝜎𝜃 = 1∘ ) составит 0.8 метра, в то время как для
менее точных измерений она снизится с 1.5 до 1.1 метров.
На рисунке 5.9 приведен аналогичный пример зависимости ошибки ло­
кации от значения параметра 𝜎𝑙 , задающего разброс частиц по длине переме­
щения. Графики рассчитаны для нескольких значений ошибок в длине шагов
𝑏𝑙 , задаваемых в имитационной модели. Значение моделируемой ошибки в
направлении шага соответствовало экспериментальным данным и составляло
0.1∘ .

2.2
bl = 5 %
2 min1
bl = 0 %
1.8 min2 bl = 10 %
1.6 bl = -5 %
e0.75, m

min3 bl = -10 %
1.4
1.2
1
0.8
0.6
0 0.5 1 1.5 2
σl , m

Рис. 5.9. Зависимость ошибки локации 𝑒0.75 (в метрах) от значения параметра шумов длины
траектории частиц 𝜎𝑙 (в метрах) для нескольких значений ошибки смещения генерируемых
шагов 𝑏𝑙 (в процентах от длины шага).

В рассматриваемой системе смещение в длине шага, регистрируемого


встроенным модулем, лежит в пределах ±5%. Данная величина, как прави­
ло, зависит от роста человека и типа ходьбы: медленная/быстрая ходьба, бег.
Графики 𝑏𝑙 = −5% и 𝑏𝑙 = 5% соответствуют крайним значениям, регистриру­
емым на практике. На рисунке также приведен график 𝑏𝑙 = 0% соответству­
111

ющий точным данным, и графики 𝑏𝑙 = −10% и 𝑏𝑙 = 10%, соответствующие


измерениям с грубой ошибкой в оценке длины шага. Как и в предыдущем
примере для всех графиков существует такое значение параметра 𝜎𝑙 = 𝜎𝑚𝑖𝑛 ,
при котором ошибка локации принимает минимальное значение. При умень­
шении параметра 𝜎𝑙 < 𝜎𝑚𝑖𝑛 происходит быстрое увеличение ошибки локации.
Для таких значений параметра разброс частиц по длине не достаточный, что­
бы рассмотреть гипотезы, соответствующие ошибочным данным. При увели­
чении параметра 𝜎𝑙 > 𝜎𝑚𝑖𝑛 ошибка локации увеличивается более плавно. С
учетом описанного характера изменения ошибки локации на практике целе­
сообразно выбирать завышенные значения параметра 𝜎𝑙 , чтобы адаптировать
алгоритм к грубым ошибкам в определении длины шагов.

Исследование влияния частоты измерений на точность локации

Для исследования влияния частоты измерений на точность расчета ло­


кации в качестве базового алгоритма взят фильтр частиц 𝑃 𝐹𝑆𝐼𝑀 𝑃 𝐿𝐸 без
дополнительного расчета весов внутри области локации. Параметры шумов
системы определялись по результатам экспериментов, описанных в предыду­
щих секциях (𝜎𝑙 = 0.1, 𝜎𝛼 = 10∘ , 𝑁0 = 5000, 𝑁𝑅 = 600). Настройки имитаци­
онной модели соответствовали примеру, показанному на рисунке 5.5. Период
𝑇 выхода мобильного устройства в радиоэфир варьировался от 0.5 до 40
секунд с шагом 0.5 секунд. Предполагалось, что модуль определения траек­
тории фиксирует шаги на всем пути, пройденным человеком за промежуток
времени 𝑇 .
Результаты эксперимента по определению зависимости точности лока­
ции 𝑒 (0.75-квантиль кумулятивной функции ошибки локации) от периода
𝑇 выхода мобильного устройства в радиоэфир показаны на рисунке 5.10. В
случае большого периода между измерениями требуется рассмотрение боль­
шого числа возможных траекторий. В этом случае число используемых ча­
112

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


все частицы будут удалены при «столкновении» со стенами здания. В ре­
зультате фильтр будет переинициализирован в соответствии с первым шагом
алгоритма 9. На рисунке показан процент случаев таких переинициализа­
ций. Каждое значение точности локации получено усреднением результатов
запуска алгоритма 1000 раз на одних и тех же входных данных. Посколь­
ку в фильтре частиц используются случайные величины, результаты расчета
локации для одних и тех же входных данных могут варьироваться с каждым
запуском фильтра. Такой разброс значений по точности показан на рисунке
вертикальными линиями.

4 70

3.5 60

50
3
A
40

D, %
e, m

2.5
30
2
20

1.5 10
1
2
1 0
0 5 10 15 20 25 30 35 40
T, s

Рис. 5.10. Точность локации 𝑒 (график 1) и процент 𝐷 переинициализаций фильтра (график


2) в зависимости от промежутка времени 𝑇 (в секундах) между двумя последовательными
моментами выхода мобильного устройства в радиоэфир.

Полученные результаты характерны для всех алгоритмов на основе бай­


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

енного модуля определения траектории. Процент случаев переинициализаций


возрастает с увеличением периода между измерениями. Однако даже в слу­
чае большого периода между измерениями (20–40 секунд) его величина не
достигает 100%. Это связано с тем, что положение частиц, перемещающихся
только с использованием данных от встроенного модуля определения траек­
тории, корректируется с учетом информации о стенах здания. Для условий
данного эксперимента использование фильтра частиц целесообразно при зна­
чении периода менее 10 – 15 секунд.

Влияние числа частиц на точность локации и скорость работы


алгоритма

Количество частиц, используемых в фильтре, влияет как на точность


локации так и на скорость работы. В предложенном алгоритме используется
два параметра: число частиц при инициализации 𝑁0 и число частиц при
ресэмплинге 𝑁𝑅 . Ниже представлены результаты экспериментов по расчету
локации для разных значений обозначенных параметров. Условия испытаний
соответствовали предыдущему эксперименту, представленному на рисунке
5.5.
На рисунке 5.11 показаны зависимости числа частиц от номера итера­
ции алгоритма. Каждая итерация соответствует приходу новых измерений и
расчету локации. На левом рисунке начальное число частиц задавалось рав­
ным 𝑁0 = 5000, число частиц при ресэмплинге варьировалось от 𝑁𝑅 = 100
до 𝑁𝑅 = 900. На правом графике варьировалось начальное число частиц 𝑁0 ,
а число частиц при ресэмплинге задавалось постоянным 𝑁𝑅 = 600.
114

5000 9000
NR=100 N0=1000
4500 NR=300 8000 N0=3000
4000 NR=500 N0=5000
NR=700 7000 N0=7000
3500 NR=900 N0=9000
6000
3000
5000
Np

Np
2500
4000
2000
3000
1500
1000 2000
500 1000
0 0
0 5 10 15 20 25 0 5 10 15 20 25
n n

Рис. 5.11. Число частиц 𝑁𝑝 , используемых фильтром, в зависимости от номера итерации


𝑛. Слева – графики для разных значений параметра 𝑁𝑅 , параметр 𝑁0 = 5000 фиксирован.
Справа – графики для разных значений параметра 𝑁0 , параметр 𝑁𝑅 = 600 фиксирован.

Даже при большом начальном значении количество частиц быстро пада­


ет за счет отсечения областью локации и пересечения со стенами в здании.
На рисунке видно, что уже к 5 – 6-й итерации количество частиц сокращает­
ся до минимального. В приведенном примере в большинстве случаев ошибка
локации не превышает двух метров.
Ниже приведены графики точности локации, соответствующие 0.5, 0.75
и 0.9 квантилям кумулятивной функции распределения, в зависимости от
значения параметров 𝑁𝑅 и 𝑁0 .
115

CDF50% CDF50%
2 CDF75% 2 CDF75%
CDF90% N0 = NR = 600 CDF90%

1.5 1.5
e, m

e, m
1 1

0.5 0.5

0 0
400 800 1200 1600 0 1000 2000 3000 4000 5000 6000
NR N0

Рис. 5.12. Зависимость точности локации 𝑒 (в метрах) от параметров 𝑁𝑅 и 𝑁0 . Слева по­


казана зависимость от параметра 𝑁𝑅 , параметр 𝑁0 = 1000 фиксирован. Справа показана
зависимость от параметра 𝑁0 , параметр 𝑁𝑅 = 600 фиксирован. Графики приведены для трех
квантилей кумулятивной функции ошибки локации.

На левом графике приведена зависимость от параметра 𝑁𝑅 , параметр


𝑁0 был фиксирован и задавался равным 𝑁0 = 1000. После определенно­
го значения 𝑁𝑅 ≈ 500 точность локации практически не меняется: данного
количества достаточно для рассмотрения вероятных гипотез. На правом гра­
фике представлена зависимость точности локации от значения параметра 𝑁0 .
Параметр 𝑁𝑅 был фиксирован и равнялся 𝑁𝑅 = 600. После определенного
значения 𝑁0 = 1000 точность локации практически не меняется.
Одной из характеристик алгоритма на основе фильтра частиц являет­
ся его быстродействие. Требование к вычислительным ресурсам процессо­
ра определяется, главным образом, количеством частиц, использующимся в
фильтре. Процедура оценки локации объекта с помощью фильтра частиц по
вновь полученным измерениям в случае проведения процедуры ресэмплинга
требует 𝒪(𝑁𝑝 log 𝑁𝑝 ) операций, где 𝑁𝑝 – число частиц. Большее количество
частиц позволяет более точно оценить локацию объекта, но требует большего
количества вычислительных ресурсов.
На рисунке 5.13 показаны зависимости точности локации (0.75-кван­
116

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


одной локации от числа частиц. Для расчета использовались данные экс­
перимента, описанного в предыдущей секции. Промежуток времени между
измерениями задавался равным 1 секунде. Для тестирования был выбран
алгоритм фильтра частиц, не использующий дополнительную процедуру вы­
числения весов внутри области локации. В описанном примере начальное
число частиц 𝑁0 и порог 𝑁𝑅 , при котором осуществлялся ресэмплинг, зада­
вались равными одному числу 𝑁𝑝 . Тестирование проводилось на компьютере
с процессором AMD Athlon II X2 245 2.9 GHz, работающим под операцион­
ной системой Ubuntu 10.10. Алгоритм фильтра частиц реализован на языке
Java.

3.5 3
1
2
2.5
3

2
2.5

t, ms
e, m

1.5
2
1

1.5
0.5

1 0
100 500 1000 1500 2000
Np

Рис. 5.13. Точность локации – (1) (𝑒, в метрах) и среднее время вычисления одной локации
– (2) (𝑡, в миллисекундах) в зависимости от числа частиц 𝑁𝑝 .

В данном примере ошибка локации значительно уменьшается при уве­


личении числа частиц 𝑁𝑝 с 5 до 400. При дальнейшем увеличении числа
частиц точность локации остается практически постоянной, а время вычисле­
ния увеличивается. При использовании алгоритма на практике целесообразно
выбирать минимально возможное число частиц, обеспечивающее заданную
точность.
117

Как было сказано в главе 2, ширина полосы для передачи данных на


частоте 2.4 ГГц ограничена, и максимальная частота замеров в пределах
одного радиосегмента для применяемой технологии составляет 20-25 измере­
ний в секунду. Это ограничивает максимальное время расчета одной локации
до 40 мс. Однако эксперименты по определению скорости работы алгоритма
показали, что даже при большом числе используемых частиц 𝑁𝑝 > 500 сред­
нее время определения локации не превышает 1 мс, что в 40 раз меньше,
чем предельно допустимое время расчета. Таким образом, предложенный ал­
горитм удовлетворяет требованиям по быстродействию для применения его
в описанной системе локации. В случае необходимости в дальнейшем воз­
можно ускорить алгоритм, применяя методы адаптивной подстройки числа
частиц [113].

5.3. Выводы

В настоящей главе описан алгоритм локации на основе фильтра частиц.


Состояние системы представлено в виде набора частиц с соответствующи­
ми весовыми коэффициентами. Каждый раз при приеме новых данных от
встроенного модуля определения траектории происходит изменение положе­
ния каждой из частиц и осуществляется прогноз состояния системы на те­
кущем шаге. После получения серии измерений о расстояниях и уровнях
сигнала от базовых станций состояние системы корректируется с помощью
процедуры вычисления весов частиц и ресэмплинга.
Отличием предложенного метода от методов, использующихся в систе­
мах на основе измерений уровней сигналов, является возможность генери­
ровать частицы внутри области, ограниченной расстояниями, измеренными
до базовых станций. Результаты модельных экспериментов показали возмож­
ность уменьшить ошибку расчета локации, соответствующую 95% квантили
кумулятивной функции ошибки локации, с 2.9 метров до 1.3 метров по срав­
118

нению с методом, учитывающим только измерения уровней сигналов, карту


здания и данные встроенного модуля определения траектории.
119

Глава 6

Эксперименты по определению точности локации


в реальных условиях

На основе предложенных алгоритмов и моделей был разработан ком­


плекс программных средств, использующийся для расчета локации в техно­
логии локального позиционирования RealTrac—[25]. Как было сказано в главе
2, данная технология использует радио-стандарт IEEE 802.15.4a (nanoLOC)
и позволяет измерять расстояние между мобильным устройством и базовы­
ми станциями с помощью времяпролетного метода, а также регистрировать
уровень принимаемого сигнала. В настоящей главе приведено краткое описа­
ние разработанного комплекса программ, а также представлены результаты
экспериментов по определению местоположения мобильного устройства в ре­
альных условиях. Тестирование разработанных алгоритмов расчета локации
проводилось с использованием двух инсталляций системы. Первая (стаци­
онарная) инсталляция сделана в здании IT-парка Петрозаводского государ­
ственного университета. Вторая инсталляция была сделана в здании лабо­
ратории Smart House Living Lab Политехнического университета Мадрида в
рамках участия в конкурсе систем позиционирования.

6.1. Описание разработанного программного комплекса

На основе предложенных алгоритмов и моделей был разработан ком­


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

ве дискретного байесовкого фильтра и фильтра частиц и входит в ком­


плект программного обеспечения технологии локального позиционирования
RealTrac—[114]. Структурная схема программного обеспечения технологии
RealTrac—представлена на рисунке 6.1.

Рис. 6.1. Структурная схема программного обеспечения технологии RealTrac—

Как показано на схеме, основными компонентами программного обеспе­


чения являются сервер сбора данных из беспроводной сети базовых станций,
модуль расчета локации мобильного устройства и модуль передачи данных о
локации внешним клиентам.
Основной задачей модуля расчета локации является прием данных об
измерениях из беспроводной сети базовых станций, расчет локации мобиль­
ного устройства и выдача данных о местоположении в ядро системы для
последующей отправки внешним клиентам. Структурная схема модуля рас­
чета локации представлена на рисунке 6.2
121

Рис. 6.2. Структурная схема модуля расчета локации

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


ных измерений, а также блоки расчета локации устройств с использованием
дискретного байесовского фильтра и фильтра частиц. В блоке конфигурации
задается местоположение базовых станций, план здания и карта уровней ра­
диосигналов от базовых станций внутри здания. Данные конфигурации по­
ступают из ядра системы с использованием KML–файлов (Keyhole Markup
Language). Блок проверки данных принимает измерения из сервера сбора
данных из беспроводной сети базовых станций, проводит проверку на кор­
ректность измерений и в зависимости от типа измерений отсылает данные
в один из блоков расчета локации. Блоки расчета локации включают в се­
бя программные реализации алгоритмов дискретного байесовского фильтра
и фильтра частиц, описанных в предыдущих главах. После расчета данные
о местоположении передаются в ядро системы для последующей передачи
внешним клиентам.
Помимо модуля расчета локации, разработанный программный комплекс
включает модуль имитационного моделирования и модуль визуализации. Мо­
дуль имитационного моделирования предназначен для настройки параметров
алгоритмов локации и представляет собой программную реализацию ими­
122

тационной модели, описанной в главе 3. Модуль визуализации позволяет


отобразить рассчитанную локации совместно с информацией об измерениях.
Данное программное обеспечение зарегистрировано в Реестре программ для
ЭВМ Федеральной службы по интеллектуальной собственности РФ (свиде­
тельство № 2013614624 от 17.05.2013). Описанный комплекс программ со­
здан с использованием JDK7 и библиотек программ с открытым исходным
кодом.
Ниже описаны эксперименты по определению местоположения мобиль­
ных объектов с помощью технологии локального позиционирования RealTrac—,
использующей разработанный комплекс программных средств для расчета
локации.

6.2. Описание экспериментов

Эксперименты в первом здании

Первая серия экспериментов проводилась авторами статей [102, 104].


Площадь этажа в здании IT-парка Петрозаводского государственного уни­
верситета составляла 800 м2 . Перегородки между комнатами сделаны из
стекла, металлического профиля и гипсобетона. Внешние стены выполнены
из кирпича. Система включала 9 базовых станций, расположенных на всем
этаже. Они были закреплены под навесным потолком, сделанном из пласти­
ковых ячеек. При движению по этажу мобильное устройство могло находится
в зоне слышимости сразу нескольких базовых станций. В среднем, в каждый
момент времени, проводились 5-6 измерений. Средняя ошибка, связанная с
многолучевым распространением сигнала составляла 7-8 метров.
В ходе эксперимента человек с мобильным устройством двигался по за­
ранее определенной траектории. Точки траектории были обозначены на полу
специальными маркерами. Данные измерений от базовых станций до мо­
123

бильного узла, включающие расстояния и уровни сигналов, а также данные


о траектории, определенной встроенным в мобильное устройство модулем
определения траектории, отсылались на сервер в реальном времени. Изме­
рения проводились с частотой раз в секунду. Синхронизация по времени
осуществлялась с помощью носимого в руках компьютера с инсталлирован­
ным NTP-клиентом. Движение человека и показания времени записывались
на видеокамеру вторым человеком. Примеры кадров, снятых видеокамерой,
приведены на рисунке 6.3. После проведения экспериментов точная позиция

Рис. 6.3. Примеры кадров, снятых видеокамерой, использующиеся для синхронизации изме­
рений с истинным положением объекта

и соответствующие ей временные метки оценивались на основе записей ви­


деокамеры. Информация о положении мобильного устройства в каждый мо­
мент времени использовалась для оценки точности локации и тестирования
настроек алгоритмов.
Для определения точности локации в каждый момент прихода измере­
ний рассчитанная локация сравнивалась с реальным местоположением объ­
екта. За ошибку локации бралось расстояние между рассчитанной и эта­
лонной точкой. По набору ошибок, зарегистрированных для всех точек экс­
периментальных треков, строилась кумулятивная функция ошибки локации.
Во время тестирования мобильное устройство находилось в правом переднем
кармане брюк.
Локация рассчитывалась с использованием алгоритмов на основе филь­
тра частиц и на основе дискретного байесовского фильтра. Оба алгоритма
124

запускались без использования дополнительного вычисления весов внутри


области локации. Схема эксперимента, расположение базовых станций, дан­
ные, зафиксированные встроенным в мобильное устройство модулем опреде­
ления траектории, пример эталонной траекторий, а также траектория, рас­
считанная с использованием фильтра частиц показаны на рисунке рисунке
6.4.
x, m
0 10 20 30 40 50 60
30
BS4
BS1 BS5 BS6
25 p
BS7
20
BS2 BS3
y, m

15
BS8
10 1
2
3
5
BS9

0
15 20 25 30 35 40

Рис. 6.4. Результат расчета локации с использованием алгоритма на основе фильтра частиц:
1 – эталонный трек, 2 – данные, зарегистрированные встроенным модулем определения
траектории, 3 – рассчитанный трек, 𝐵𝑆1 , . . . , 𝐵𝑆9 – базовые станции, 𝑝 – точка начала
траектории

Применение фильтра частиц позволило «вписать» траекторию от встро­


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

0.8

0.6
CDF 1
2
0.4

0.2

0
0 1 2 3 4 5 6
e, m

Рис. 6.5. Кумулятивные функции ошибки локации, зафиксированные в реальном экспери­


менте. «1» – расчет локации с помощью дискретного байесовского фильтра, «2» – расчет
локации с помощью фильтра частиц.

Точность локации, рассчитанной с помощью фильтра частиц, выше, чем


точность локации, рассчитанной с использованием дискретного байесовского
фильтра. Значение 0.75 и 0.95 квантилей кумулятивной функции составляет
2.2 метра и 3.1 метра для дискретного байесовского фильтра и менее 1.5 мет­
ров и 2.2 метров для фильтра частиц. Тем не менее полученные результаты
являются достаточными для использования системы в большинстве практи­
ческих задач.

Эксперименты во втором здании

Вторая серия экспериментов была собрана в ходе участия в конкурсе си­


стем локального позиционирования EvAAL (Evaluating AAL Systems Through
Competitive Benchmarking), проходившего в 2013 году в городе Мадриде.
Система была инсталлирована внутри одноэтажного здания с несколькими
помещениями. Внешние стены были выполнены из металлических панелей
и стекла. Высота потолка варьировалась от 2.32 до 2.62 метров. Площадь
помещения составляла 121 м2 . Внутри помещения были установлены четы­
ре базовые станции. Две базовые станции были закреплены около потолка
126

на металлической опоре (ℎ ≈ 2.5 м) и две базовые станции закреплены под


пластиковыми ячейками навесного потолка.
В ходе экспериментов человек с мобильным устройством, положенным в
карман брюк, ходил по заранее определенным траекториям. Измерения рас­
стояний проводились с частотой раз в секунду. Для того, чтобы синхрони­
зировать реальное положение объекта с моментами проведения измерений
расстояний и уровней сигналов, шаги человека были привязаны к звуковым
сигналам. В каждый момент времени, когда издавался звуковой сигнал, че­
ловек шагал на новую метку, обозначенную на полу. Сигналы озвучивались
с заданной периодичностью. Сервер фиксировал время прихода измерений
и согласовывал его с временем воспроизведения звукового сигнала. Тести­
рование системы локации проводилось для нескольких траекторий. Проход
по каждой из траекторий повторялся два раза. В каждый момент време­
ни на сервер передавалась информация о расстояниях и уровнях сигнала,
измеренных между мобильным устройством и базовыми станциями, а так­
же информация о траектории, полученная встроенным модулем определения
траектории.
Во второй серии экспериментов внутри помещения, где проходили тесты
локации, не было стен и перегородок. При расчете локации учитывалось,
что объект не может выходить за пределы контура здания. На рисунке 6.6
представлена схема здания, расположение базовых станций, эталонная тра­
ектория, данные встроенного модуля определения траектории и траектория,
рассчитанная с использованием разработанного алгоритма на основе фильтра
частиц.
127

14 14
1 1
2 BS4 3
12 12 BS3
p p
10 10

8 8

6 6
y, m

4 4

BS1
2 2
BS2
0 0

-2 -2

4 6 8 10 12 14 16 18 4 6 8 10 12 14 16 18
x, m x, m

Рис. 6.6. Результат раcчета локации с использованием алгоритма на основе фильтра частиц:
1 – эталонный трек, 2 – данные, зарегистрированные встроенным модулем определения
траектории, 3 – рассчитанный трек, 𝐵𝑆1 , . . . , 𝐵𝑆4 – базовые станции, 𝑝 – точка начала
траектории.

В здании где проходил эксперимент отсутствуют длинные коридоры, в


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

0.8

0.6
CDF 1
2
0.4

0.2

0
0 1 2 3 4 5 6
e, m

Рис. 6.7. Кумулятивные функции ошибки локации, зафиксированные в реальном экспери­


менте. «1» – расчет локации с помощью дискретного байесовского фильтра, «2» – расчет
локации с помощью фильтра частиц.

В результате эксперимента 0.75 квантиль кумулятивной функции ошиб­


ки локации, рассчитанной с помощью фильтра частиц, не превысила значе­
ния 1.3 метров, а значение 0.95 квантили составило 1.9 метров. В случае
дискретного байесовского фильтра соответствующие значения составили 2.5
метров и 3.7 метров. Таким образом, использование данных от встроенной
навигационной системы позволило улучшить точность локации более чем на
1 метр.

6.3. Выводы

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


использованием разработанных алгоритмов на основе байесовской фильтра­
ции возможно рассчитать локацию мобильного устройства в беспроводной
сети базовых станций стандарта nanoLOC с ошибкой, соответствующей 95%
квантили кумулятивной функции ошибки локации, не превышающей значе­
ния 1.9 метров. Полученные результаты согласуются с данными по точности
локации, полученными в ходе имитационного моделирования.
129

Заключение

Основной задачей, поставленной в начале исследований, являлось созда­


ние алгоритмов локации мобильного устройства в беспроводной сети базовых
станций стандарта IEEE 802.15.4a (nanoLOC), учитывающих измерения вре­
мени распространения и уровня сигнала до базовых станций, плана здания,
а также данных от встроенного инерциального модуля определения траекто­
рии. В ходе работы были предложены алгоритмы локации на основе реали­
заций метода байесовской фильтрации: дискретного байесовского фильтра и
фильтра частиц. Для исследования характеристик предложеных алгоритмов
была разработана имитационная модель системы локации мобильного устрой­
ства в беспроводной сети базовых станций, позволяющая одновременно ге­
нерировать измерения расстояний и уровней сигнала с учетом плана здания,
а также данные от встроенного в мобильное устройство модуля определения
траектории. Исследование характеристик алгоритмов проводилось с исполь­
зованием имитационного моделирования и реальных экспериментов. На ос­
нове разработанных алгоритмов был создан комплекс программных средств,
применяемый для расчета локации мобильного устройства в технологии ло­
кального позиционирования RealTrac—.
Итоги выполненного исследования:

1) В ходе исследования разработан алгоритм определения местоположения


мобильного устройства на основе дискретного байесовского фильтра.
Основной задачей данного алгоритма является расчет локации объек­
та внутри помещения с использованием измерений от базовых стан­
ций, плана здания и карты уровней сигналов. Результаты проведенных
экспериментов показали, что с помощью данного алгоритма возможно
рассчитать локацию внутри помещения с точностью менее двух мет­
ров. Использование предварительно построенной карты уровней сигна­
ла внутри помещения позволяет достичь точности в один метр. Основ­
130

ным ограничением алгоритма является скорость работы, зависящая от


размера ячейки дискретной сетки. В рассматриваемой системе прием­
лемое время расчета локации достигается при размере ячейки более 0.5
метров.

2) В ходе исследования разработан алгоритм локации на основе фильтра


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

3) В ходе исследований были рассмотрены методы уточнения локации


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

Рекомендации по применению результатов диссертации


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

сигнала, а также данные от встроенного в мобильное устройство модуля


определения траектории.
Перспективы дальнейшей разработки темы
Алгоритмы локации, разработанные в ходе исследований, предназначе­
ны в основном для определения местоположения мобильного устройства в
беспроводной сети базовых станций стандарта IEEE 802.15.4a (nanoLOC).
Тем не менее предложенные алгоритмы могут применяться и в системах
позиционирования, использующих другие технологии. Дальнейшие исследо­
вания могут быть связаны с использованием технологии UWB.
Как было отмечено выше, учет карты уровней сигнала внутри помеще­
ния позволяет существенно улучшить точность локации. Одним из направле­
ний разработки темы является создание алгоритмов одновременного опреде­
ления местоположения мобильного устройства и автоматического построения
карты уровней сигнала.
Предложенные алгоритмы предполагают расчет локации мобильных
устройств на стороне сервера, куда поступают данные измерений из беспро­
водной сети базовых станций. Дальнейшее развитие исследований предпола­
гает разработку алгоритма локации, реализованного на стороне мобильного
устройства.
132

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

1. The Active Badge Location System / R. Want, A. Hopper, V. Falcão et al. //


ACM Trans. Inf. Syst. 1992. January. no. 1. P. 91–102.
2. Infrared Sensor System for Mobile-Robot Positioning in Intelligent Spaces /
E. M. Gorostiza, J. L. Galilea, F. Javier et al. // Sensors. 2011. May. no. 5.
P. 5416—-5438.
3. Hazas M., Ward A. A Novel Broadband Ultrasonic Location System //
Ubiquitous Computing. Lecture Notes in Computer Science. 2002. January.
no. 8. P. 264–280.
4. Smart phone localization method using dual-carrier acoustic waves /
T. Akiyama, M. Nakamura, M. Sugimoto et al. // Indoor Positioning and
Indoor Navigation (IPIN), 2013 International Conference on. Piscataway:
IEEE, 2013. P. 1–9.
5. Accessible Ultrasonic Positioning / M. McCarthy, P. Duff, H. Muller
et al. // Pervasive Computing, IEEE. 2006. Oct. no. 4. P. 86–93.
6. Zhang R., Hoflinger F., Reindl L. TDOA based localization using Interact­
ing Multiple Model estimator and ultrasonic transmitter/receiver // Sys­
tems, Signals and Devices (SSD), 2012 9th International Multi-Conference
on. Piscataway: IEEE, 2012. P. 1–6.
7. Dick A. R., Brooks M. J. A stochastic approach to tracking objects across
multiple cameras // Australian Conference on Artificial Intelligence. Pis­
cataway: IEEE, 2004. P. 160–170.
8. Indoor navigation assistance with a Smartphone camera based on van­
ishing points / W. Elloumi, K. Guissous, A. Chetouani et al. // Indoor
Positioning and Indoor Navigation (IPIN), 2013 International Conference
on. Piscataway: IEEE, 2013. P. 1–9.
9. Jimenez A., Zampella F., Seco F. Light-matching: A new signal of oppor­
tunity for pedestrian indoor navigation // Indoor Positioning and Indoor
133

Navigation (IPIN), 2013 International Conference on. Piscataway: IEEE,


2013. P. 1–10.
10. Jamtgaard M., Mueller N. Target localization utilizing wireless and camera
sensor fusion. 2013. Dec. US Patent 8,615,254.
11. Mautz R. Overview of Current Indoor Positioning Systems // Geodesy and
Cartography. 2009. Jan. no. 1. P. 18–22.
12. Fischer C., Talkad Sukumar P., Hazas M. Tutorial: Implementing a Pedes­
trian Tracker Using Inertial Sensors // Pervasive Computing, IEEE. 2013.
no. 2. P. 17–27.
13. NanoLOC Development Kit 3.0 2010: Datasheet: / Nanotron Technologies
GmbH. Berlin: Nanotron Technologies GmbH, 2010.
14. Bensky A. Wireless Positioning Technologies and Applications. Norwood,
MA, USA: Artech House, Inc., 2007. 560 p.
15. Adaptive Extended Kalman Filter for Indoor/Outdoor Localization using a
802.15.4a Wireless Network / A. Benini, A. Mancini, E. Frontoni et al. //
ECMR. Piscataway: IEEE, 2011. P. 315–320.
16. Huang J., Yan H. Indoor Localization Algorithm Based on Cooperative of
State Matrix and Kalman Filter // Journal of Networks. 2013. no. 5.
P. 1197–1203.
17. Indoor Localization of a Quadrotor Based on WSN: A Real-Time Appli­
cation / J. Rullan-Lara, G. Sanahuja, R. Lozano et al. // International
Journal of Advanced Robotic Systems. 2013. no. 10. P. 1–9.
18. Rohrig C., Muller M. Indoor location tracking in non-line-of-sight envi­
ronments using a IEEE 802.15.4a wireless network // Intelligent Robots
and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on.
Piscataway: IEEE, 2009. P. 552–557.
19. Rohrig C., Spieker S. Tracking of transport vehicles for warehouse manage­
ment using a wireless sensor network // Intelligent Robots and Systems,
2008. IROS 2008. IEEE/RSJ International Conference on. Piscataway:
134

IEEE, 2008. P. 3260–3265.


20. Chen Z. Bayesian Filtering: From Kalman Filters to Particle Filters, and
Beyond: Technical Report: / McMasters University. Hamilton: McMasters
University, 2003.
21. Zampella F., Jimenez Ruiz A., Seco Granja F. Indoor Positioning Us­
ing Efficient Map Matching, RSS Measurements, and an Improved Mo­
tion Model // Vehicular Technology, IEEE Transactions on. 2015. no. 4.
P. 1304–1317.
22. Woodman O., Harley R. RF-Based Initialisation for Inertial Pedestrian
Tracking // Pervasive Computing, IEEE. 2009. no. 5538. P. 238–255.
23. Li W.-L., Iltis R., Win M. A smartphone localization algorithm using RSSI
and inertial sensor measurement fusion // Global Communications Con­
ference (GLOBECOM), 2013 IEEE. Piscataway: IEEE, 2013. September.
P. 3335–3340.
24. WLAN-Based Pedestrian Tracking Using Particle Filters and Low-Cost
MEMS Sensors / H. Wang, H. Lenz, A. Szabo et al. // Positioning,
Navigation and Communication, 2007. WPNC ’07. 4th Workshop on. Pis­
cataway: IEEE, 2007. March. P. 1–7.
25. RealTrac technology overview / A. Moschevikin, A. Galov, A. Soloviev
et al. // Evaluating AAL Systems Through Competitive Benchmarking.
2013. no. 386. P. 60–71.
26. Галов А.С., Гордеев Д.Е., Мощевикин А.П. [и др.]. Способ локации
радиоузла, система локации радиоузла и узел обработки данных. 2011.
Сентябрь. WO Patent App. PCT/RU2010/000,489.
27. Hay S., Harle R. K. Bluetooth Tracking without Discoverability. // Lo­
CA. Lecture Notes in Computer Science. New York: Springer, 2009.
P. 120–137.
28. Molisch A. Ultrawideband propagation channels-theory, measurement, and
modeling // Vehicular Technology, IEEE Transactions on. 2005. Sept.
135

no. 5. P. 1528–1545.
29. Empirical Evaluation of the Limits on Localization Using Signal Strength /
G. Chandrasekaran, M. Ergin, J. Yang et al. // Sensor, Mesh and Ad
Hoc Communications and Networks, 2009. SECON ’09. 6th Annual IEEE
Communications Society Conference on. Piscataway: IEEE, 2009. P. 1–9.
30. Caffery J., Stuber G. Subscriber location in CDMA cellular networks // Ve­
hicular Technology, IEEE Transactions on. 1998. May. no. 2. P. 406–416.
31. Parsons J. The Mobile Radio Propagation Channel. Norwood, MA, USA:
Wiley, 2000. 470 p.
32. Rappaport T. Wireless Communications: Principles and Practice. Upper
Saddle River, NJ, USA: Prentice Hall PTR, 2001. 810 p.
33. Wilson R. Propagation losses through common building materials 2.4 GHz
vs 5 GHz.: Tech. Rep.: Los Angeles: University of Southern California,
2002.
34. Alam N., Balaie A., Dempster A. Dynamic Path Loss Exponent and Dis­
tance Estimation in a Vehicular Network Using Doppler Effect and Re­
ceived Signal Strength // Vehicular Technology Conference Fall (VTC
2010-Fall), 2010 IEEE 72nd. Piscataway: IEEE, 2010. P. 1–5.
35. Valletta D., Monti C., Bellofiore P. Enhanced indoor localization. 2014.
Jan. US Patent 8,639,264.
36. Lott M., Forkel I. A multi-wall-and-floor model for indoor radio propaga­
tion // Vehicular Technology Conference, 2001. VTC 2001 Spring. IEEE
VTS 53rd. Piscataway: IEEE, 2001. P. 464–468.
37. Kaemarungsi K. Distribution of WLAN received signal strength indication
for indoor location determination // Wireless Pervasive Computing, 2006
1st International Symposium on. Piscataway: IEEE, 2006. P. 6–19.
38. Elnahrawy E., Li X., Martin R. The limits of localization using signal
strength: a comparative study // Sensor and Ad Hoc Communications and
Networks, 2004. IEEE SECON 2004. 2004 First Annual IEEE Communi­
136

cations Society Conference on. Piscataway: IEEE, 2004. P. 406–414.


39. Practical robust localization over large-scale 802.11 wireless networks /
A. Haeberlen, A. Rudys, E. Flannery et al. // in Proceedings of the 10th
Annual International Conference on Mobile Computing and Networking
(MOBICOM. Piscataway: IEEE, 2003. P. 70–84.
40. Efficient, generalized indoor WiFi GraphSLAM. / J. Huang, D. Millman,
M. Quigley et al. // ICRA. Piscataway: IEEE, 2007. P. 1038–1043.
41. Ferris B., Fox D., Lawrence N. WiFi-SLAM Using Gaussian Process La­
tent Variable Models // In Proceedings of IJCAI 2007. Piscataway: IEEE,
2007. P. 2480–2485.
42. SignalSLAM: Simultaneous localization and mapping with mixed WiFi,
Bluetooth, LTE and magnetic signals / P. Mirowski, T. K. Ho, S. Yi
et al. // Indoor Positioning and Indoor Navigation (IPIN), 2013 Interna­
tional Conference on. Piscataway: IEEE, 2013. P. 1–10.
43. Gwon Y., Jain R. Error Characteristics and Calibration-free Techniques for
Wireless LAN-based Location Estimation // Proceedings of the Second
International Workshop on Mobility Management &Amp; Wireless Access
Protocols. New York, NY, USA: ACM, 2004. P. 2–9.
44. Youssef M. A., Agrawala A. The horus wlan location determination sys­
tem // In Communication Networks and Distributed Systems Modeling
and Simulation Conference. Piscataway: IEEE, 2005. P. 205–218.
45. Hatami A., Pahlavan K. Comparative statistical analysis of indoor posi­
tioning using empirical data and indoor radio channel models // Con­
sumer Communications and Networking Conference, 2006. CCNC 2006.
3rd IEEE. Piscataway: IEEE, 2006. P. 1018–1022.
46. Propagation Modeling for Accurate Indoor WLAN RSS-Based Localiza­
tion / K. El-Kafrawy, M. Youssef, A. El-Keyi et al. // Vehicular Technolo­
gy Conference Fall (VTC 2010-Fall), 2010 IEEE 72nd. Piscataway: IEEE,
2010. P. 1–5.
137

47. Real Time Location Systems (RTLS). Nanotron Technologies GmbH. 2007.
48. Bedford M., Kennedy G. Evaluation of ZigBee (IEEE 802.15.4)
Time-of-Flight-Based Distance Measurement for Application in Emergency
Underground Navigation // Antennas and Propagation, IEEE Transactions
on. 2012. no. 5. P. 2502–2510.
49. Scalable and accurate indoor positioning on mobile devices / A. Naguib,
P. Pakzad, R. Palanki et al. // Indoor Positioning and Indoor Naviga­
tion (IPIN), 2013 International Conference on. Piscataway: IEEE, 2013.
P. 1–10.
50. Rolando A., Amoruso E. An ubiquitous positioning system based on IEEE
802.15.4 radio signals // Indoor Positioning and Indoor Navigation (IPIN),
2013 International Conference on. Piscataway: IEEE, 2013. P. 1–10.
51. Hybrid RSS-RTT Localization Scheme for Indoor Wireless Networks /
A. Bahillo, S. Mazuelas, R. M. Lorenzo et al. // EURASIP J. Adv. Signal
Process. 2010. Feb. no. 2. P. 1701–1712.
52. Das S., Aggarwal A., Naguib A. et al. Providing and utiliz­
ing maps in location determination based on rssi and rtt da­
ta. 2014. June. WO Patent App. PCT/US2013/073,739. URL:
https://www.google.com/patents/WO2014089531A1?cl=en.
53. Jacobs P., Wan E., Paul A. Position tracking and mobility as­
sessment system. 2014. Aug. US Patent 8,810,388. URL:
https://www.google.com/patents/US8810388.
54. Localization via ultra-wideband radios: a look at positioning aspects for
future sensor networks / S. Gezici, Z. Tian, G. Giannakis et al. // Signal
Processing Magazine, IEEE. 2005. July. no. 4. P. 70–84.
55. Groves P. Principles of GNSS, Inertial, and Multisensor Integrated Navi­
gation Systems. Norwood, MA, USA: Artech House, 2008. 300 p.
56. Goldman D., Patel N. Systems, methods, and apparatus for providing in­
door navigation. 2013. June. WO Patent App. PCT/US2012/070,148.
138

57. KAO Y., Chang S., Kuo L. System and method for wireless in­
door localization based on inertial measurement unit and map in­
formation. 2014. June. US Patent App. 13/847,932. URL:
https://www.google.com/patents/US20140171107.
58. Accurate Pedestrian Indoor Navigation by Tightly Coupling Foot-Mounted
IMU and RFID Measurements / A. Ruiz, F. Granja, J. Prieto Honorato
et al. // Instrumentation and Measurement, IEEE Transactions on. 2012.
January. no. 1. P. 178–189.
59. Li W.-L., Iltis R., Win M. A smartphone localization algorithm using RSSI
and inertial sensor measurement fusion // Global Communications Confer­
ence (GLOBECOM), 2013 IEEE. Piscataway: IEEE, 2013. P. 3335–3340.
60. Atia M., Korenberg M., Noureldin A. Particle-Filter-Based WiFi-Aided Re­
duced Inertial Sensors Navigation System for Indoor and GPS-Denied En­
vironments // International Journal of Navigation and Observation. 2012.
March. no. 3. P. 342–348.
61. Hol J., Dijkstra F., Luinge H. et al. Tightly Coupled UWB/IMU Pose Es­
timation System and Method. 2011. February. US Patent App. 12/534,607.
URL: http://www.google.com/patents/US20110025562.
62. Indoor positioning by ultrawide band radio aided inertial navigation /
A. De Angelis, J. Nilsson, I. Skog et al. // Metrology and Measurement
Systems. 2010. March. no. 3. P. 447–460.
63. A Biased Extended Kalman Filter for Indoor Localization of a Mobile Agent
Using Low-Cost IMU and UWB Wireless Sensor Network Robot Control /
A. Benini, A. Mancini, A. Marinelli et al. // 10th IFAC Symposium on
Robot Control. Piscataway: IEEE, 2012. P. 735–740.
64. UWB and MEMS based indoor navigation / S. Pittet, V. Renaudin, B. Mer­
minod et al. // Journal of Navigation. 2008. March. no. 03. P. 369–384.
65. Woodman O. J. An introduction to inertial navigation. Technical Report
696: Tech. Rep.: / Computer Laboratory. Cambridge: University of Cam­
139

bridge, 2007.
66. Woodman O., Harley R. Pedestrian localisation for indoor environments //
In Proceedings of the 10th international conference on Ubiquitous comput­
ing. New York: ACM, 2008. P. 114–123.
67. Widyawan, Klepal M., Beauregard S. A Backtracking Particle Filter for
fusing building plans with PDR displacement estimates // Positioning,
Navigation and Communication, 2008. WPNC 2008. 5th Workshop on.
Piscataway: IEEE, 2008. P. 207–212.
68. Davidson P., Collin J., Takala J. Application of particle filters for indoor
positioning using floor plans // Ubiquitous Positioning Indoor Navigation
and Location Based Service (UPINLBS), 2010. Piscataway: IEEE, 2010.
P. 1–4.
69. Beauregard S., Widyawan, Klepal M. Indoor PDR performance enhance­
ment using minimal map information and particle filters // Position, Lo­
cation and Navigation Symposium, 2008 IEEE/ION. Piscataway: IEEE,
2008. P. 141–147.
70. Kelly J., Price J., Bashki R. et al. Indoor Map Data as a Recalibration
Source for Low-Cost MEMS Inertial Navigation. 2014. May. US Patent
App. 13/758,707. URL: http://www.google.com/patents/US20140149069.
71. Kadous M., Lookingbill A., Thrun S. Indoor localization of mobile de­
vices. 2012. November. WO Patent App. PCT/US2012/037,235. URL:
https://www.google.com/patents/WO2012158441A1?cl=en.
72. An improved indoor localization method using smartphone inertial sen­
sors / J. Qian, J. Ma, R. Ying et al. // Indoor Positioning and Indoor
Navigation (IPIN), 2013 International Conference on. Piscataway: IEEE,
2013. P. 1–7.
73. Constandache I., Choudhury R., Rhee I. Towards Mobile Phone Localiza­
tion without War-Driving // INFOCOM, 2010 Proceedings IEEE. Piscat­
away: IEEE, 2010. P. 1–9.
140

74. Indoor Geolocation on Multi-sensor Smartphones / C.-L. Li, C. Laoudias,


G. Larkou et al. // Proceeding of the 11th Annual International Conference
on Mobile Systems, Applications, and Services. New York, NY, USA:
ACM, 2013. P. 503–504.
75. Foxlin E. Pedestrian tracking with shoe-mounted inertial sensors // Com­
puter Graphics and Applications, IEEE. 2005. Nov. no. 6. P. 38–46.
76. Godha S., Lachapelle G., Cannon M. E. Integrated GPS/INS system for
pedestrian navigation in a signal degraded environment // the 19th Inter­
national Technical Meeting of the Institute of Navigation Satellite Division
(ION-GNSS 2006). Piscataway: IEEE, 2006. P. 374–382.
77. Comparison of Step Length Estimators from Weareable Accelerometer De­
vices / D. Alvarez, R. Gonzalez, A. Lopez et al. // Engineering in Medicine
and Biology Society, 2006. EMBS ’06. 28th Annual International Confer­
ence of the IEEE. Piscataway: IEEE, 2006. P. 5964–5967.
78. Integrated pedestrian navigation using GNSS, MEMS IMU, magnetome­
ter and baro-altimeter / P. Groves, G. Pulford, C. Mather et al. // The
Navigation Conference and Exhibition (NAV 2007). Piscataway: IEEE,
2007.
79. Thrun S., Burgard W., Fox D. Probabilistic Robotics (Intelligent Robotics
and Autonomous Agents). New York: The MIT Press, 2005. 410 p.
80. Dhital A., Closas P., Fernández-Prades C. Bayesian filtering for indoor lo­
calization and tracking in wireless sensor networks. // EURASIP J. Wire­
less Comm. and Networking. 2012. June. no. 6. P. 21–30.
81. Kalman R. E. A New Approach to Linear Filtering and Prediction Prob­
lems // Transactions of the ASME – Journal of Basic Engineering. 1960.
no. 82 (Series D). P. 35–45.
82. M. B., M. N. Unscented Kalman Filter for location in Non-Line-Of-Sight //
Proc. of European Signal Processing Conference (EUSIPCO). Piscataway:
IEEE, 2006. P. 1–5.
141

83. Le B. L., Ahmed K., Tsuji H. Mobile location estimator with NLOS mitiga­
tion using Kalman filtering // Wireless Communications and Networking,
2003. WCNC 2003. 2003 IEEE. Piscataway: IEEE, 2003. P. 1969–1973.
84. Yousefi S., Chang X.-W., Champagne B. Mobile Localization in Non­
Line-of-Sight Using Constrained Square-Root Unscented Kalman Filter //
Vehicular Technology, IEEE Transactions on. Piscataway: IEEE, 2014.
P. 1–10.
85. Yousefi S., wen Chang X., Champagne B. An Improved Extended Kalman
Filter for Localization of a Mobile Node with NLOS Anchors // ICWMC
2013: The Ninth International Conference on Wireless and Mobile Com­
munications. Piscataway: IEEE, 2013. P. 1–10.
86. Julier S., Uhlmann J., Durrant-Whyte H. A new approach for filtering
nonlinear systems // American Control Conference. Piscataway: IEEE,
1995. P. 1628–1632.
87. Julier S. J., Uhlmann J. K. A Consistent, Debiased Method for Converting
Between Polar and Cartesian Coordinate Systems // In The Proceedings
of AeroSense: The 11th International Symposium on Aerospace/Defense
Sensing, Simulation and Controls. Piscataway: IEEE, 1997. P. 110–121.
88. Julier S., Uhlmann J. Unscented filtering and nonlinear estimation // Per­
vasive Computing, IEEE. 2004. Mar. no. 3. P. 401–422.
89. Roth M., Gustafsson F. An efficient implementation of the second order
extended Kalman filter // Information Fusion (FUSION), 2011 Proceedings
of the 14th International Conference on. Piscataway: IEEE, 2011. P. 1–6.
90. Li X.-R., Jilkov V. P. A survey of maneuvering target tracking: approxima­
tion techniques for nonlinear filtering // Proc. SPIE 5428, Signal and Data
Processing of Small Targets 2004. Piscataway: IEEE, 2004. P. 537–550.
91. Julier S., Uhlmann J. A new extension of the Kalman filter to nonlinear
systems // Proc. of AeroSense: The 11th Int. Symp. on Aerospace/Defense
Sensing, Simulations and Controls. Piscataway: IEEE, 1997. P. 1–10.
142

92. Thomas N., Cruickshank D., Laurenson D. A robust location estimator


architecture with biased Kalman filtering of TOA data for wireless sys­
tems // Spread Spectrum Techniques and Applications, 2000 IEEE Sixth
International Symposium on. Piscataway: IEEE, 2000. P. 296–300.
93. Фарина А., Студер Ф. Цифровая обработка радиолокационной инфор­
мации. Сопровождение целей. М.: Радио и связь, 1993. 320 с.
94. Streller D. Road map assisted ground target tracking // Information Fu­
sion, 2008 11th International Conference on. 2008. June. P. 1–7.
95. Position tracking with position probability grids / W. Burgard, D. Fox,
D. Hennig et al. // Advanced Mobile Robot, The First Euromicro Work­
shop. Piscataway: IEEE, 1996. P. 2–9.
96. Estimating the Absolute Position of a Mobile Robot Using Position Prob­
ability Grids / W. Burgard, D. Fox, D. Hennig et al. // National Confer­
enceon Artificial Intelligence. Piscataway: IEEE, 1996.
97. Performance comparison of nonlinear filters for indoor WLAN positioning /
H. Wang, A. Szabo, J. Bamberger et al. // Information Fusion, 2008 11th
International Conference on. Piscataway: IEEE, 2008. P. 1–7.
98. Bayesian filtering for location estimation / D. Fox, J. Hightower, L. Liao
et al. // Pervasive Computing, IEEE. 2003. July. no. 3. P. 24–33.
99. Estimating the Absolute Position of a Mobile Robot Using Position Proba­
bility Grids / W. Burgard, D. Fox, D. Hennig et al. // Proc. of the National
Conference on Artificial Intelligence. Piscataway: IEEE, 1996. P. 1–7.
100. Khalaf-Allah M., Kyamakya K. Database Correlation using Bayes Filter for
Mobile Terminal Localization in GSM Suburban Environments // Vehic­
ular Technology Conference, 2006. VTC 2006-Spring. IEEE 63rd. Piscat­
away: IEEE, 2006. P. 798–802.
101. Burgard W., Fox D., Hennig D. Fast Grid-based Position Tracking for
Mobile Robots // In Proc. of the 21th German Conference on Artificial
Intelligence. New York, NY, USA: Springer Verlag, 1997. P. 289–300.
143

102. Galov A., Moschevikin A. Bayesian filters for ToF and RSS measurements
for indoor positioning of a mobile object // Proceedings of the Internation­
al Conference on Indoor Positioning and Indoor Navigation, IPIN-2013.
Piscataway: IEEE, 2013. October. P. 310–317.
103. Widyawan, Klepal M., Pesch D. A Bayesian Approach for RF-Based Indoor
Localisation // Wireless Communication Systems, 2007. ISWCS 2007. 4th
International Symposium on. Piscataway: IEEE, 2007. P. 133–137.
104. Mikov A. et al. A Localization System Using Inertial Measurement Units
from Wireless Commercial Hand-held Devices // International Conference
on Indoor Positioning and Indoor Navigation (IPIN 2013). Piscataway:
IEEE, 2013. P. 853–859.
105. The Impact of NLOS Components in Time-of-Flight Networks for Indoor
Positioning Systems / A. Moschevikin, A. Galov, S. Reginya et al. //
The 7th IEEE International Conference on Intelligent Data Acquisition and
Advanced Computing Systems, IDAACS-2013. Piscataway: IEEE, 2013.
September. P. 2–6.
106. Galov A., Moschevikin A., Voronov R. Combination of RSS localization
and ToF ranging for increasing positioning accuracy indoors // The 11th
International Conference on ITS Telecommunications (ITST). Piscataway:
IEEE, 2011. August. P. 299–304.
107. Measurement and modeling of an ultra-wide bandwidth indoor channel /
S. Ghassemzadeh, R. Jana, C. Rice et al. // Communications, IEEE Trans­
actions on. 2004. Oct. no. 10. P. 1786–1796.
108. Robotics-based Location Sensing Using Wireless Ethernet / A. M. Ladd,
K. E. Bekris, A. Rudys et al. // Proceedings of the 8th Annual International
Conference on Mobile Computing and Networking. New York, NY, USA:
ACM, 2002. P. 227–238.
109. Bahl P., Padmanabhan V. N. RADAR: An In-Building RF-Based User
Location and Tracking System // INFOCOM. Piscataway: IEEE, 2000.
144

P. 775–784.
110. Valenzuela R.A. A ray tracing approach to predicting indoor wireless
transmission // Vehicular Technology Conference, 1993., 43rd IEEE.
Piscataway: IEEE, 1993. С. 214–218.
111. Propagation model based on ray tracing for the design of personal commu­
nication systems in indoor environments / F. de Adana, O. Gutierrez Blan­
co, I. Diego et al. // Vehicular Technology, IEEE Transactions on. 2000.
November. no. 6. P. 2105–2112.
112. Ullmo D., Baranger H. U. Wireless propagation in buildings: a statistical
scattering approach // Vehicular Technology, IEEE Transactions on. 1999.
May. no. 3. P. 947–955.
113. Li T., Sun S., Sattar T. Adapting sample size in particle filters through
KLD-resampling // Electronics Letters. 2013. no. 12. P. 740–742.
114. RealTrac technology at the EvAAL-2013 competition / A. Moschevikin,
A. Galov, A. Volkov et al. // JAISE. 2015. no. 3. P. 353–373.

Вам также может понравиться