Определение координат с помощью GPS — весьма энергоёмкий процесс. В отличие от смартфонов, которые всё равно каждый вечер ставят на подзарядку, или автомобильных навигаторов, автономные GPS-трекеры, которые используют биологи для отслеживания миграций животных, имеют очень жёсткие требования к энергопотреблению. Довольно часто их снабжают не только мощными аккумуляторами, но и солнечными батареями, чтобы обеспечить работу в течение многих месяцев.
В Microsoft Research предложили разделить процесс сбора геолокационной информации на два этапа — запись «сырого» сигнала со спутников GPS и расчёт координат на основе этой информации. Это позволило снизить расход электроэнергии на запись одной точки трека на три порядка. Чтобы понять, как именно удалось этого добиться, придётся сначала разобраться, как работает GPS.
Определение координат в системе GPS происходит по достаточно сложной и запутанной схеме. Каждый спутник GPS оборудован сверхточными атомными часами, которые к тому же периодически синхронизируются с наземными станциям. Эти же станции используются и для уточнения параметров орбиты спутников. Орбиты подобраны таким образом, чтобы в любой момент над любой точкой Земли были одновременно видны не меньше шести спутников. Высота орбиты составляет около 20200 километров, период обращения — половина земных суток.
Каждый спутник излучает радиосигналы в диапазонах 1575,42 и 1227,60 МГц. В гражданских приёмниках обычно используется первый из них. Все спутники работают на одной и той же частоте, и для различения их сигналов используется множественный доступ с кодовым разделением (CDMA) У каждого спутника есть свой уникальный псевдослучайный 1023-битовый код (код Голда), который транслируется 1000 раз в секунду. Этот код используется для идентификации спутников и определения задержки прихода сигналов от каждого из спутников.
Поверх этого сигнала с помощью дополнительной модуляции несущей частоты со скоростью всего в 50 бит/сек передаются так называемые навигационные сообщения, которые содержат точные координаты орбиты спутника («эфемериды»), точное системное время и данные альманаха — эфемериды остальных спутников системы. Эти данные разбиты на 25 фрагментов по 1500 бит, поэтому полное навигационное сообщение передаётся 12 минут 30 секунд.
По времени задержек приёмник вычисляет (через скорость света) точные расстояния до спутников, а из навигационных сообщений получает их координаты, после чего может вычислить свои. Расшифровка и интерпретация данных приёмника — довольно сложная задача, так как необходимо учитывать множество факторов, вносящих ошибки — эффект Доплера, вызванный движением спутников и приёмника, изменение скорости радиосигнала при прохождении ионосферы, отражения от окружающих предметов и другие.
Как правило, приёмнику нет необходимости получать полное навигационное сообщение, чаще всего хватает первого фрагмента, содержащего необходимый минимум информации. Его приём занимает пол-минуты — именно поэтому «холодный старт» навигатора занимает чуть больше 30 секунд. Если же приёмник был выключен довольно долгое время, приходится принимать больше фрагментов, и получение координат первой точки может занять до нескольких минут. В режиме постоянного отслеживания координат приёмник опирается на уже полученные навигационные данные и определяет положение практически сразу.
Если устройство способно принимать информацию из других источников — GSM или WiFi-сети, часто используется технология Assisted GPS (A-GPS). В этом случае полученные из относительно высокоскоростной сети актуальные эфемериды и данные альманаха, а так же грубые геолокационные данные на основе положения вышек и точек доступа позволяют гораздо быстрее учесть все необходимые поправки и вычислить координаты.
Итак, вернёмся к трекеру Microsoft Research. Решение, предложенное учёными, называется Cloud-Offloaded GPS (CO-GPS). Оно просто и эффективно. Вместо готовых координат, для получения которых нужно проделать все вышеперечисленные манипуляции, предлагается записывать на встроенную флэш-память лишь короткие фрагменты «сырого» сигнала GPS, которые потом будет загружены на облачный сервер и все сложные вычисления будут произведены уже там. Вместо навигационных сообщений, точные координаты орбиты спутников могут быть получены из общедоступных баз данных GNSS.
Для того, чтобы определить координаты с точностью около 30 метров необходимо всего пять фрагментов сигнала GPS длительностью 2 миллисекунды с интервалами между ними не больше 50 мсек. Тысяча точек, записанных таким образом, занимает около одного мегабайта — это гораздо больше, чем готовые координаты, но флэш-память стоит копейки.
Экспериментальный трекер, созданный инженерами Microsoft Research для проверки концепции и экспериментов, показал, что на запись одного 2-миллисекундного фрагмента требуется всего 0.407 мДж электроэнергии. Для определения точных координат необходимо всего несколько таких фрагментов, так что суммарное потребление составит порядка одного миллиджоуля, тогда как обычный современный смартфон с A-GPS тратит около джоуля на точку. Если записывать точки каждую секунду, двух батареек AA хватит на полтора года непрерывной работы.
При записи сырых данных возникает ещё одна проблема — синхронизация точного времени, которая невозможна без расшифровки сигнала GPS. Если рассинхронизация часов трекера с временем системы составляет больше минуты, из сырого сигнала трудно получить точные данные. Для решения этой проблемы в трекер встроили небольшой приёмник сигналов точного времени WWVB — эти сигналы транслируются Национальным институтом стандартов и технологий США и уверенно принимаются практически в любых условиях на всей территории Соединённых Штатов (Мощность передатчика составляет 70 кВт, время синхронизируется по атомным часам). Для достижения приемлемой точности достаточно синхронизировать внутренние часы с сигналами WWVB всего несколько раз в месяц.
Таким образом, технология CO-GPS позволяет избавиться от большей части сложной начинки GPS-трекера, производящей вычисления, заменив её флэш-памятью большего объёма и простым и экономичным приёмником сигналов точного времени. Большую часть времени эксплуатации трекер будет проводить в спящем режиме, приёмнику GPS-сигнала достаточно включаться всего на 10 мсек для записи одной точки. Естественно, такой приёмник не сможет получать координаты в реальном времени, что вполне устраивает биологов, которые готовы подождать несколько месяцев, пока трекер не будет снят с животного.
Однако, учитывая стремительное распространение широкополосной беспроводной связи в городах, CO-GPS может найти применение и в потребительских, «городских» устройствах. Достаточно раз в несколько секунд отправлять на сервер по дешёвой высокоскоростной сети несколько килобайт сырых данных, получая координаты почти так же быстро, как и в случае обычного приёмника.
Скачать PDF с подробным описанием CO-GPS можно здесь.
Автор: ilya42