Для определения координат меток (позиционирования) или определения расстояния от метки до считывателя (дальнометрии) в продуктах ЮЛАН используются два описанных в этом разделе метода измерений – ToF и TDoA.
Все устройства начиная с прошивки v.1.7 поддерживают оба метода.
В методе измерений ToF (time-of-flight – время пролета) измеряется время распространения радиосигнала между метками и анкерами. Исходя из этого времени определяется расстояние между метками и анкерами, а затем на сервере вычисляются координаты меток.
Примечание: для определения координат на плоскости требуется измерить расстояние минимум до трех узлов с известными координатами, а для 3D позиционирования – до четырех.
Метод ToF используется в 2 режимах работы аппаратуры ЮЛАН – TOF и CAS.
Чтобы определить время распространения сигнала для каждой пары метка-анкер, между ними необходимо выполнить обмен тремя радиопакетами: первый – от метки к анкеру, второй, обратный – от анкера к метке и третий – вновь от метки к анкеру. Моменты отправки и получения всех пакетов определяются аппаратным обеспечением, и время распространения рассчитывается с помощью так называемого метода Two-Way-Ranging (двунаправленное определение расстояния). Этот метод позволяет в значительной мере исключить влияние имеющих место отклонений (погрешностей) аппаратных таймеров меток и анкеров.
Обмен тремя пакетами для каждой пары метки и анкера занимает довольно много времени. В ЮЛАН пакеты объединяются в циклы дальнометрии так, чтобы первый и третий пакеты отправлялись от метки нескольким анкерам одновременно и только ответы от анкеров были отдельными. Список анкеров, участвующих в цикле дальнометрии, определяется в системе как PeerList (Список партнеров). Список PeerList для цикла дальнометрии сообщается в первом пакете в цикле.
Несмотря на объединение пакетов, циклы дальнометрии по-прежнему занимают много времени (до нескольких десятков миллисекунд, в зависимости от параметров радиоканала и размера списка PeerList). Это ограничивает количество задействованных в системе меток, так как в каждый момент времени выполнять цикл дальнометрии может только одна метка – остальные должны молчать, чтобы не создавать помех. Кроме того, так как метка неактивна между циклами (для сохранения заряда батареи), при вхождении в активное состояние она не знает, занят ли эфир, и поэтому может исказить чужие циклы.
Чтобы избежать перекрытия циклов дальнометрии и эффективно использовать время эфира, реализованы два способа:
Postponed CCA (Clear Channel Assessment) – Отложенная оценка состояния канала.
Метка запускает циклы с периодом, кратным общесистемному минимальному базовому периоду. Метка прослушивает активность эфира в течение цикла. Если замечено окончание чужого цикла, метка сдвигает время запуска следующего цикла, чтобы пропустить следующий чужой цикл. Кроме того, анкеры информируют метку о необходимости такого сдвига (в некоторых случаях метка не может услышать перекрытый цикл). Существенный момент здесь заключается в том, что периоды циклов дальнометрии для всех меток кратны базовому периоду. Со временем каждый цикл будет смещаться в интервал между остальными, пока все циклы не разойдутся. Далее это расположение будет поддерживаться самостоятельно, пока циклы не сместятся относительно друг друга из-за нестабильности таймеров.
Air Duty Control – Контроль занятости эфира.
Анкеры постоянно отслеживают занятость эфира. После достижения порогового значения анкеры дают некоторым меткам команду сократить частоту циклов дальнометрии.
Режим CAS (Collision Avoidance System) аналогичен режиму TOF, но предназначен для автономной работы аппаратуры ЮЛАН, без сервера, для предупреждения о нахождении людей в опасной зоне. Окончательным результатом измерений являются не координаты меток, а их расстояния от Считывателя. При нахождении меток ближе заданного расстояния Считыватель включает сигнализацию.
Режим CAS полностью повторяет режим TOF в части радиообмена, но параметры этого обмена оптимизированы – увеличена частота циклов дальнометрии для более надежного срабатывания сигнализации (в ущерб длительности работы меток от батареи)
В методе измерений TDoA (time-difference-of-arrival – разность времени между моментами прихода сигнала) измеряется разница между моментами времени, когда пакет метки достигает различных анкеров. Затем, исходя этой из разности, рассчитываются координаты метки.
В режиме TDoA метка передает один пакет (блинк-посылку) через определенный период. Этот период немного варьируется, чтобы избежать длительного перекрытия блинк-посылок. Синхронизация блинков или алгоритмы оценки состояния канала не применяются.
Чтобы точно определять разницу во времени прихода сигнала к нескольким анкерам, эти анкеры должны быть синхронизированы относительно общего временного базиса. Однократная синхронизация не решает проблему, так как локальные аппаратные таймеры анкеров на основе обычных кварцевых кристаллов недостаточно стабильны, и ошибка быстро накапливается. В связи с этим в системе ЮЛАН реализована постоянная беспроводная синхронизация.
Метод TDoA используется в 2 режимах работы аппаратуры ЮЛАН – TDOAS и TDOARAW.
версия прошивки до 1.7
В режиме TDOAS синхронизация поддерживается анкерами самостоятельно. Один анкер назначается в качестве ведущего устройства синхронизации (SynMaster), а все остальные – в качестве ведомых устройств синхронизации (SynSlaves). SynMaster периодически посылает пакеты и SynSlaves отвечают по его команде. На основе этого радиообмена все SynSlaves вычисляют отклонения собственных часов от часов SynMaster'а. Время прихода блинков с меток на SynSlaves переводится в часы SynMaster и отправляется на сервер. Таким образом, сервер получает время прихода блинка на все анкера в одной временнОй базе и может вычислить разницу времени прилета. Затем он производит вычисление координат метки.
Текущая реализация режима TDOAS поддерживает только один SynMaster в системе, и поэтому может использоваться только на небольших территориях, когда возможно обеспечить радиовидимость одного из анкеров всеми другими.
В режиме TDOARAW синхронизация поддерживается специальным модулем Synchronizer (Синхронизатор) на сервере. Анкера только периодически посылают блинки чтобы обеспечить данные для синхронизации; каждый анкер посылает блинки независимо от остальных. Время передачи и приема каждого блинка засекается всеми анкерами по их локальным часам и посылается на Синхронизатор.
Время прихода блинков с меток также засекается всеми анкерами по их локальным часам и посылается на Синхронизатор. Синхронизатор корректирует эти значения с учетом расхождения часов в каждой паре анкеров и вычисляет разницу времени прилета. Затем сервер производит вычисление координат метки.
В благоприятных рабочих условиях метод ToF позволяет точнее определять координаты меток, так как в методе TDoA требуется больше этапов вычислений.
Позиционирование методом TDoA требует минимального времени занятия канала связи, что позволяет бесконфликтно обслуживать в несколько раз больше меток, чем методом ToF. Точное соотношение зависит от конфигурации системы и может достигать 20-50- кратного при одинаковой периодичности измерений.
Соответственно, в системах с высокой плотностью динамично перемещающихся меток на контролируемой территории предпочтительно использования метода TDoA.
Режим TDOAS позволяет иметь больше меток в системе, чем режим TDOARAW, потому что в режиме TDOAS межанкерная синхронизация возможна на выделенном радиоканале, что позволяет избежать помех со стороны меток. Из-за этого при значительном количестве меток синхронизация в TDOAS более надежна.
Метод ToF требует повышенного расхода энергии. Персональные метки с питанием от плоских литиевых батарей (coin cells) в случае использования режимов ToF могли бы работать до разряда батарей всего несколько дней или даже часов – точное время зависит от конфигурации системы (периодичности измерений и количества анкеров). В режимах TDoA те же персональные метки, в зависимости от конфигурации системы, могут работать до нескольких месяцев.
Персональные метки с питанием от аккумулятора в режимах ToF могут работать в течение нескольких дней. Затем их необходимо заряжать. В режимах TDoA эти метки могут работать несколько месяцев без подзарядки.
Вышеуказанные сроки работы справедливы для меток, содержащих только UWB трансивер. Некоторые метки содержат дополнительные системы – LoRa, GNSS; их время жизни зависит от активности использования этих систем.
Расположение анкеров важно для обоих режимов – в прямой видимости метки должно находиться несколько анкеров. Но в режиме TDOARAW, кроме того, для обеспечения синхронизации анкеров нужно обеспечить видимость между достаточным количеством анкеров, и никакие движущиеся объекты не должны пересекать эти линии прямой видимости. В режиме TDOAS все ведомые анкеры должны находиться в прямой видимости от ведущего.
В настоящее время единственный режим, применимый в больших системах, это TDOARAW. В этом режиме количество анкеров в системе ограничено в основном производительностью Синхронизатора.
В режиме TDOAS каждый ведомый анкер должен напрямую видеть ведущий. Это достижимо только в небольших системах. Можно создать несколько независимых групп анкеров, не видимых друг другом (например, в разных комнатах), но в текущей реализации сервер сможет корректно обрабатывать только одну группу.
В режиме TOF размер PeerList'а ограничен размером радиопакета и составляет 10 партнеров. Если в зоне видимости метки больше анкеров или новые анкера появляются при движении метки, то новые анкера добавляются в PeerList достаточно медленно – только когда старые анкера не видны значительное время. Это мешает корректной дальнометрии при перемещении метки в большой системе (в которой больше 10 анкеров).