понедельник, 20 марта 2017 г.

Как работает GPS

Для определения положения GPS приёмника в пространстве достаточно получения сигнала с четырёх спутников, отправленного в неизвестный (но обязательно синхронный) момент времени, из совершенно точно известных точек в пространстве. Таким образом, часы на всех спутниках должны быть совершенно точно синхронизированы, и в добавок требуется знать совершенно точное положение каждого спутника в пространстве.

В одной из найденных в интернете статей рассказывается, как определить положение (для примера) на двумерной плоскости, имея три двумерных "спутника", на каждом из которых время совершенно точно одинаковое, и положение каждого из которых в точности известно: достаточно просто провести две (а можно и три, для снижения погрешности) кривые вида r1 = r2 + c*dt, где r1 — это расстояние от первого спутника, r2 — от второго, а dt — это разница во времени получения этого сигнала с первого и второго спутников. На плоскости положением приёмника будет пересечение двух кривых для трёх спутников, а в трёхмерном пространстве — пересечение трёх конусов для четырёх спутников (четыре "неизвестных" { x, y, z, t } решаются системой из четырёх линейных уравнений-спутников — всё как в школе учили).

Поскольку единственной измеряемой величиной в данном случае является разница во времени приёма сигнала dt, то "на борту" GPS приёмника должен стоять достаточно точный "секундомер" — с точностью до наносекуд, потому что за одну наносекунду свет (радиоволна) проходит около трёх метров. Обычный дешёвый 30 мегагерцевый "кварц" вполне справляется с такой задачей, давая примерно 30 наносекундную точность, что даст около 100 метров пространственной точности в случае 4 доступных спутников (в реальности их может быть и 10, поэтому не мудрствуя лукаво с помощью дополнительных спутников найденное местоположение усредняют гораздо точнее).

Орбиты спутников проходят не через центр Земли, а как бы "по краям" Земли, и период их обращения — около 12-ти часов. Минимальное количество спутников для гарантированного определения местоположения в любой точке на поверхности Земли — 24 спутника. По факту в космосе их несколько больше — около 30-ти, т.к. необходимо обеспечить запас на случай непредвиденных обстоятельств. Трёхмерная координата приёмника в пространстве проецируется на шарообразную модель Земли, пересчитывается в широту и долготу, и накладывается меткой на карту, вот и навигатор готов.

Синхронизация часов на всех спутниках производится со специальных наземных станций раз в сутки. После такой процедуры часы на всех спутниках синхронизированы с точностью до нескольких наносекунд, что, конечно, даёт некоторую погрешность в пересчёте на скорость света-радиосигнала (N * 10^-9 * 3 * 10^8 = 1 метр), но приемлемо — итоговая точность позиционирования GPS составляет несколько метров. На самих же спутниках стоят атомные часы (и не одни), которые поддерживают время до следующей синхронизации. Также несколько раз в сутки на спутники "закачиваются" математические расчёты их орбит, которые считаются достаточно точными на ближайшие 4 часа, и ими и пользуется GPS приёмник в своих расчётах.

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

Частота такой псевдослучайной последовательности — 1.023 мегагерца (один мегабит в секунду). На неё накладывается канал передачи данных шириной 50 бит в секунду. По такому "узкому" каналу GPS приёмник должен "скачать" с каждого спутника (параллельно) необходимую для расчётов информацию (а это несколько килобит данных): расчётную орбиту спутника на ближайшие 4 часа, текущее время, прошедшее с 1980-ого года, и прочие вспомогательные данные. Именно поэтому GPS так долго "заводится" — где-то пол минуты.

Вышеупомянутый наложенный сигнал с частотой 1.023 мегагерца модулируется для передачи по радиоэфиру на Землю двумя "несущими" частотами: первая — 1575.42 MHz (10.23 MHz × 154) "L1", и вторая — 1227.60 MHz (10.23 MHz × 120) "L2". Две частоты модуляции используются для более надёжного приёма сигнала: например, для лучшей защиты от возможных помех, а также чтобы снизить погрешность прохождения электромагнитного сигнала сквозь ионосферу Земли (для каждой частоты — свая задержка за счёт преломления на заряженных частицах ионосферы, в итоге можно эти два сигнала как-то по-умному усреднять во времени, или как-нибудь ещё "интеллектуально" экстраполировать).

Помимо всего прочего, в спутниковых атомных часах уже встроена поправка на Специальную и Общую Теории Относительности Эйнштейна: например, из-за меньшей земной гравитации на 20 000 километровой спутниковой орбите атомные часы "тикают" чуть быстрее, чем на поверхности Земли, поэтому атомные часы на спутниках перед запуском немного "подкручены" так, чтобы идти чуть помедленнее.