как работает gps, часть 1
Oct. 17th, 2009 10:51 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я ж обещался написать, а.
Итак, все знают, что в небе, на полустационарной орбите (т.е. примерно 20 тыс км, период примерно 12 часов) летает до 30 спутников, под разными углами, так что отовсюду и всегда видно штук пять-десять.

Все эти спутники шлют сигналы на как минимум двух частотах (L1=1575.42 MHz и L2=1227.60 MHz).
В вашем телефоне расположен чип (15 на 17 мм), и антенна, и этот чип ловит сигналы спутников, сколько именно, зависит от качества чипа.
Поймав эти сигналы, хитрый чип для каждого спутника расшифровывает положение спутника (передаётся в сигнале) и вычисляет расстояние до него. Так как наше пространство условно можно считать трёхмерным, то расстояния до четырёх опорных точек должно быть достаточно, чтобы узнать координаты точки.
В принципе, и трёх бы спутников хватило. Рисуем сферу радиуса R1 вокруг одного спутника, сферу радиуса R2 вокруг второго - в пересечении получается окружность; эта окружность пересекается со сферой радиуса R3 в двух точках; ну и эвристика подскажет, какая из двух. Даже и двух спутников хватит, если предположить, что мы находимся на поверхности Земли - вот вам и третья сфера.
Ну а если у нас больше чем три спутника, а, скажем, 5-8, то у нас много излишней информации, и мы можем очень хорошо избавиться от накапливающихся ошибок в вычислениях, используя Метод Наименьших Квадратов - т.е. вычислить точку, где суммарная квадратичная ошибка минимизируется. МНК удобная вещь, состоит в решении системы линейных уравнений, и даже в случае плохой, даже вырожденной матрицы есть очень миленькие методы, позволяющие найти решение.
Но тут у нас возникает два недоуменных вопроса:
а) как это мы на одной и той же частоте принимаем дикое количество сигналов, и не путаем, что от кого?
б) а как это по сигналу мы можем определить расстояние до спутника? Допплер? Но Допплер поможет измерить относительную скорость, а не расстояние.
Вот про это-то я и расскажу в следующих частях, а пока немножко беллетристики.
Из этих двух частот первая, L1, имеет общегражданское назначение, и даёт нам точность до трёх метров. L2, военная, помогает скорректировать результат до 30 см. Но это ещё что. До 2000-го года в сигнал L1 нарочно вводилась ошибка, снижающая точность до 10 метров по горизонтали и 30 по вертикали. Чтобы вражеские ракеты не ориентировались. А L2 как раз передавал поправку, но этот сигнал был зашифрован. Ну конечно ездить по Америке с точностью 10 метров не по кайфу, и поэтому на земле порасставлены станции DGPS, корректирующие сигнал. Эту ошибку отключали в 90-м, во время Gulf war, потому что в армии навигаторов не хватало, и они скупали гражданские - так чтоб не заблудились солдатики.
Ошибку должны были снять только к 2006-му году, но военные насобачились избирательно ставить ошибку, так что тогда же, 1-го мая 2000-го года, её и отменили.
Вообще, сейчас входит в моду устанавливать наземные станции GPS даже в зданиях, скажем, в аэропортах и в корпусах Гугла, чтобы можно было ориентироваться без всяких спутников и даже знать, на каком мы этаже, и показывать на телефоне план этажа.
Итак, все знают, что в небе, на полустационарной орбите (т.е. примерно 20 тыс км, период примерно 12 часов) летает до 30 спутников, под разными углами, так что отовсюду и всегда видно штук пять-десять.

Все эти спутники шлют сигналы на как минимум двух частотах (L1=1575.42 MHz и L2=1227.60 MHz).
В вашем телефоне расположен чип (15 на 17 мм), и антенна, и этот чип ловит сигналы спутников, сколько именно, зависит от качества чипа.
Поймав эти сигналы, хитрый чип для каждого спутника расшифровывает положение спутника (передаётся в сигнале) и вычисляет расстояние до него. Так как наше пространство условно можно считать трёхмерным, то расстояния до четырёх опорных точек должно быть достаточно, чтобы узнать координаты точки.
В принципе, и трёх бы спутников хватило. Рисуем сферу радиуса R1 вокруг одного спутника, сферу радиуса R2 вокруг второго - в пересечении получается окружность; эта окружность пересекается со сферой радиуса R3 в двух точках; ну и эвристика подскажет, какая из двух. Даже и двух спутников хватит, если предположить, что мы находимся на поверхности Земли - вот вам и третья сфера.
Ну а если у нас больше чем три спутника, а, скажем, 5-8, то у нас много излишней информации, и мы можем очень хорошо избавиться от накапливающихся ошибок в вычислениях, используя Метод Наименьших Квадратов - т.е. вычислить точку, где суммарная квадратичная ошибка минимизируется. МНК удобная вещь, состоит в решении системы линейных уравнений, и даже в случае плохой, даже вырожденной матрицы есть очень миленькие методы, позволяющие найти решение.
Но тут у нас возникает два недоуменных вопроса:
а) как это мы на одной и той же частоте принимаем дикое количество сигналов, и не путаем, что от кого?
б) а как это по сигналу мы можем определить расстояние до спутника? Допплер? Но Допплер поможет измерить относительную скорость, а не расстояние.
Вот про это-то я и расскажу в следующих частях, а пока немножко беллетристики.
Из этих двух частот первая, L1, имеет общегражданское назначение, и даёт нам точность до трёх метров. L2, военная, помогает скорректировать результат до 30 см. Но это ещё что. До 2000-го года в сигнал L1 нарочно вводилась ошибка, снижающая точность до 10 метров по горизонтали и 30 по вертикали. Чтобы вражеские ракеты не ориентировались. А L2 как раз передавал поправку, но этот сигнал был зашифрован. Ну конечно ездить по Америке с точностью 10 метров не по кайфу, и поэтому на земле порасставлены станции DGPS, корректирующие сигнал. Эту ошибку отключали в 90-м, во время Gulf war, потому что в армии навигаторов не хватало, и они скупали гражданские - так чтоб не заблудились солдатики.
Ошибку должны были снять только к 2006-му году, но военные насобачились избирательно ставить ошибку, так что тогда же, 1-го мая 2000-го года, её и отменили.
Вообще, сейчас входит в моду устанавливать наземные станции GPS даже в зданиях, скажем, в аэропортах и в корпусах Гугла, чтобы можно было ориентироваться без всяких спутников и даже знать, на каком мы этаже, и показывать на телефоне план этажа.
no subject
Date: 2009-10-18 06:55 am (UTC)поправка: в моём телефоне чипа нет. Есть в отдельном устройстве. Со своим пиатнием (уникальным по долговременности), своей антенной (которая ловит гораздо лучше любого керамического патча), и своей OS Которая вроде как не виснет. А ещё со своей защитой, которая позволяет чуть не под танк устройство класть и в речке купать.
Кстати, качество чипа — тоже понятие относительное. Весь мир вовсюда лепит SiRF Star III и вариации, а по мне — так говно говном :(
no subject
Date: 2009-11-05 10:30 am (UTC)no subject
Date: 2009-10-18 06:58 am (UTC)а вот задачка - как при помощи 2 gps-приемников точно измерить участок шоссе длиной в милю (например, вообще-то длина не важна). DGPS не работает, насчет вносимой американской военщиной погрешности - она или есть, или нет, мы об этом не знаем, но уверены, что в процессе измерения ее не включат (или не выключат). Времени у нас достаточно.
no subject
Date: 2009-10-18 07:06 am (UTC)Навигатор в мобильном телефоне дает точность не больше 15 метров. Но гораздо быстрее ловит спутники. И в лесу почти не "отключается"
no subject
Date: 2009-10-18 08:17 am (UTC)no subject
Date: 2009-10-18 08:21 am (UTC)no subject
Date: 2009-10-18 04:32 pm (UTC)no subject
Date: 2009-10-18 04:33 pm (UTC)no subject
Date: 2009-10-18 08:50 am (UTC)no subject
Date: 2009-10-18 03:55 pm (UTC)no subject
Date: 2009-10-19 05:48 am (UTC)no subject
Date: 2009-10-19 08:30 am (UTC)no subject
Date: 2009-10-19 02:32 pm (UTC)no subject
Date: 2009-10-19 04:04 am (UTC)no subject
Date: 2009-10-19 08:28 am (UTC)no subject
Date: 2009-10-19 02:54 pm (UTC)В случае cold start первая корелляция вычислительно трудная, и получение таблиц со спутников долгое т.к. bandwidth маленький - вот эти операции и перекладываются на сотовую сеть. А после этого assistance прекращается.
no subject
Date: 2009-10-18 09:48 am (UTC)no subject
Date: 2009-10-18 03:52 pm (UTC)no subject
Date: 2009-10-18 04:52 pm (UTC)no subject
Date: 2009-10-19 04:00 am (UTC)AGPS - это и есть настоящий GPS, только альманах и все данные получаются не на скорости 50 байт-сек, а на в 10-100 раз большей скорости GPRS. Синхронизации со спутниками в AGPS никто не отменял.
no subject
Date: 2009-10-18 07:54 am (UTC)Если она пересекается под малым углом, точность получится плохая, нет?
no subject
Date: 2009-10-18 09:12 am (UTC)no subject
Date: 2009-10-18 10:01 am (UTC)no subject
Date: 2009-10-18 03:18 pm (UTC)no subject
Date: 2009-10-18 03:24 pm (UTC)LORAN, который кое-где применяется до сих пор, давал неслучайную ошибку, т.е. записав один раз показания и приехав в точку с этими цифрами на дисплее прибора можно было гарантировать, что это та же самая точка.
я тоже слышал,
Date: 2009-10-18 11:45 am (UTC)Re: я тоже слышал,
Date: 2009-10-18 03:53 pm (UTC)Re: я тоже слышал,
Date: 2009-10-18 06:20 pm (UTC)Вообще говоря, этот пост -- весьма свободный пересказ статьи о GPS из англоязычной википедии (в частности, анимированная картинка и "чип 15 на 17" взяты напрямую оттуда), поэтому я бы не ожидал особого качества предлагаемой информации.
no subject
Date: 2009-10-18 01:10 pm (UTC)Поверхность Земли - далеко не сфера, увы. ;) И даже не эллипсоид.
no subject
Date: 2009-10-18 03:53 pm (UTC)no subject
Date: 2009-10-19 06:15 am (UTC)А вот в каком-нибудь Фримонте, казалось бы, при хорошей видимости, максимум, что удается найти – 4 спутника, при этом положение определить почти никогда не удается. Играет ли тут роковую роль то, что обычно при хорошей видимости отсутствует сеть (wifi, gsm я там не пользую)?
no subject
Date: 2009-10-19 02:30 pm (UTC)