Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #71, НОЯБРЬ 2004 г.

Не потеряй ориентацию

Степан Ильин aka Step

Хакер, номер #071, стр. 071-022-3


Вспоминаем школу

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

Однако реализовать эти, казалось бы, элементарные действия довольно-таки проблематично. Главной трудностью при измерении времени прохождения радиосигнала является точное определение момента времени, в который сигнал передан со спутника. Для ее разрешения разработчики GPS обратились к разумной идее: надо синхронизировать спутники и приемники так, чтобы они генерировали код по одному и тому же закону в одно и то же время. Так, каждым из GPS-спутников постоянно испускаются радиоволны двух частот: L1 = 1575,42 МГц и L2 = 1227,60 МГц. В этих радиоволнах передается специальный навигационный сигнал, представляющий собой уникальный псевдослучайный код PRN (Pseudo Random Number code). Так как этот уникальный код генерируется одновременно и передатчиком, и спутником, по времени задержки между сгенерированным и идентичным полученным кодами можно вычислить время распространения сигнала. А значит, и расстояние до спутника.

Используемые псевдослучайные коды намеренно усложняются так, чтобы их можно было однозначно сравнивать и выявлять среди них идентичные. Различают два основных типа кодов: C/A-код (Coarse Acquisition code - грубый код) используется в гражданских приемниках, в то время как Р-код (Precision code - точный код) доступен исключительно военным и другим правительственным организациям. У последнего, кстати, есть шифрованный вариант, и иногда его называют Y-кодом.

Важно отметить, что такой подход измерения расстояний невозможен без идеальной синхронизации часов на спутнике и в приемнике. Даже минимальное расхождение приводит к огромной ошибке в определении расстояния. К примеру, если часы в приемнике разойдутся с бортовыми часами спутников хотя бы на 0.01 секунду, ошибка в измерении расстояния составит тысячи (!) километров. Чтобы избежать подобных оплошностей, каждый из спутников комплектуется аж четырьмя атомными часами. Они невероятно точные и настолько дорогие, что их цена сравнима с ценой всего спутника в целом. Однако справляются они со своими задачами блестяще. В связке они гарантируют ход бортовых часов с наносекундной точностью! Ты только представь – это же 0,000000001 часть секунды.

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

Назад на стр. 071-022-2  Содержание  Вперед на стр. 071-022-4