Март 30th, 2008

Селективный доступ

Были времена, когда GPS давал точность порядка 100 метров. Это было связано с тем, что военные специально загрубляли сигнал, чтобы не авторизованный пользователь не мог определиться точнее. Ну сразу вопросы, а как спутники узнают кому
«давать точно», а кому «как попало»? И как загрублять то? А что делать если опять загрбление включат, ведь теоретически они могут!?

И так по порядку. Начнём с того, что выясним как загрублялось. Ведь загрубление проводилось на уровне измерений. К сожалению сейчас не могу выложить графики, показывающие как вела себя задержка загрубленного сигнала, но попозже это сделаю. Все в школе видели параболу. Так вот если измерять задержку со спутника в течение 12 часов (период обращения по орбите), то она будет выглядеть как парабола (но отнюдь ей не являться). Гладкая такая. А если будет присутствовать селективный доступ, то эта парабола будет содержать флюктуации и на параболу перестанет быть похожей.

Не помню писал или нет, по моему не писал, что на спутнике тоже есть «часы» и они тоже имеют некоторую нестабильность, правда очень маленькую, порядка 10^-14 сек. Но тем не менее этой нестабильностью пренебрешать нельзя при расчете позиции. Эта нестабильность можелируется полиномом второй степени, а точнее уравнением dt(t) = A0 + A1*t + A2*t^2. В это уранении t – это время (секунды недели обычно) на которое мы хотим рассчитать нестабильность часов спутника. В случае отсутствия селективного доступа это руавнения давало правильную нестабильность.

Надо полагать, что при включённом селективном доступе это уравнение могло иметь вид (например) dt(t) = A0 + A1*t + A2*t^2 + A3*t^3 +…+An*t^n. Членов выше второй степени могло быть сколько угодно. А может это было и ещё сложнее выражение. Одно можно тогда было точно, что для каждого спутника сигнал вёл себя разным образом. Это означает, что для каждого спутника были свои коэффициенты A3 … An. Вся сложность была в том что обычный пользователь не мог знать значения этих коэффициентов и не мог посчитать точно свою позицию.

А военные? Военные конечно их знали. А как? А помните я писал про структуру сигнала. Так вот в качестве данных на частоте L1 для Р кода передавались значения этих самых коэффициентов. То есть военные знали как принимать закодированный Р код и знали какие данные там передаются. Оставалось просто применить нужную формулу и загрубление как рукой снимало. Так вы спросите, что я писал про то, что можно принимать Р код не зная секретного Y кода. Я скажу да, все так, но при приеме закодированного Р кода данные теряются. Алгоритм приёма таков, что ради измерений приходится жертвовать данными, которые мы, к стати сказать не знаем. Точнее мы не знаем структуру этих данных. Что за чем передаётся и с какой частотой и другие характеристики.

Итог таков:

  1. Загрубление сигнала происходило путём внесения дополнительных искажений в нестабильность «часов» спутника. Причем для каждого спутника свои искажения.
  2. Информация об искажении, точнее коэффициенты полинома, передавались на закодированной составляющей L1 частоты.
  3. Пользоваться этими данными могли только военные и авторизованные пользователи.
  4. Принимать Р код можно и в закодированном виде, но данные теряются, так как это специфика алгоритма приёма.