Ответ сложен из-за того, как работает система GPS, поэтому я собираюсь упростить ряд вещей, чтобы вы поняли принцип, но если вы заинтересованы в том, как это действительно реализовано, вам нужно найти хороший GPS ссылка. Другими словами, то, что написано ниже, предназначено для того, чтобы дать вам представление о том, как оно работает, но в некоторых отношениях технически неправильно. Приведенное ниже не является правильным для реализации вашего собственного программного обеспечения GPS.
Фон
Все спутники передают по существу одинаковую частоту. Технически они ходят по всем сигналам друг друга.
Так как же GPS-приемник справляется с этим?
Во-первых, каждый спутник передает разные сообщения каждый мс. Сообщение имеет длину 1024 бита и генерируется генератором псевдослучайных чисел.
Приемник GPS принимает весь спектр всех передатчиков, затем выполняет процесс, называемый корреляцией, - он генерирует конкретную последовательность одного из спутников, умножает ее на входной сигнал, и если его сигнал точно соответствует сигналу спутника, то коррелятор нашел один спутник. Микширование по существу вытягивает сигнал спутника из шума и проверяет, что 1) у нас правильная последовательность и 2) у нас правильная синхронизация.
Однако, если он не нашел соответствия, он должен сдвинуть свой сигнал на один бит и повторить попытку, пока он не пройдет все 1023-битные периоды и не найдет спутник. Затем он переходит к попытке обнаружить другой спутник в другой период.
Из-за сдвига во времени (1023 бита, 1000 передач в секунду) теоретически он может полностью выполнить поиск кода за одну секунду, чтобы найти (или определить, что в нем ничего) конкретный код.
Из-за смещения кодов (в настоящее время существует 32 различных кода PRN, по одному на каждый спутник), поэтому поиск каждого спутника может занять более 30 секунд.
Кроме того, доплеровский сдвиг из-за скорости спутника относительно вашей скорости относительно земли означает, что временная база может быть сдвинута на целых +/- 10 кГц, поэтому требуется поиск около 40 различных сдвигов частоты для коррелятора, прежде чем он может отказаться от конкретный PRN и сроки.
Что это значит
Это оставляет нам возможный наихудший сценарий (один спутник в воздухе, и мы пробуем все, кроме точного соответствия в первую очередь) времени, чтобы сначала зафиксировать холодный старт (то есть, никакой информации о времени или местоположении приемника, или местоположение спутников) 32 секунды, при условии, что мы не делаем никаких предположений или не выполняем какие-либо хитрые трюки, полученный сигнал хороший и т. д.
Однако, если у вас есть два коррелятора, вы только вдвое сократили это время, потому что вы можете искать два спутника одновременно. Получите 12 корреляторов на работу, и это займет не более нескольких секунд. Получите миллион корреляторов, и теоретически это может занять несколько миллисекунд.
Каждый коррелятор называется «канал» ради маркетинга. Это не совсем неправильно - в некотором смысле коррелятор демодулирует одну конкретную кодированную частоту за раз, что, по сути, и делает радиоприемник при переключении каналов.
Однако есть много предположений, которые может сделать приемник GPS, которые упрощают проблемное пространство, так что общий 12-канальный приемник может исправить ситуацию в худшем случае примерно за 1-3 минуты.
В то время как вы можете получить трехмерное исправление с помощью 4-канального GPS, когда вы теряете сигнал GPS (выходит за горизонт или проходите под мостом и т. Д.), Вы теряете трехмерное исправление и переходите к двухмерному исправлению с тремя спутниками, в то время как один из Ваши каналы возвращаются в режим корреляции.
Теперь ваш приемник начинает загружать эфемериды и альманах, что позволяет приемнику очень интеллектуально искать сигналы. Примерно через 12 минут он точно знает, какие спутники должны быть в поле зрения.
Таким образом, поиск идет довольно быстро, потому что вы знаете положение и код для каждого спутника, но у вас все еще есть двухмерное исправление, пока вы действительно не найдете новый спутник.
Однако, если у вас есть 12-канальный приемник, вы можете использовать 4 самых сильных канала для исправления, несколько каналов для привязки к резервным спутникам, чтобы при необходимости переключаться на них, и несколько каналов для продолжения поиска спутников. получатель должен видеть. Таким образом, вы никогда не потеряете полное 3D исправление.
Поскольку вы можете видеть только до 12 спутников, зачем вам более 12 каналов?
В любой момент времени работает около 24 спутников GPS, что означает, что в одной точке Земли вы можете увидеть только половину из них.
Но помните - вы можете искать только один спутник на каждый коррелятор, поэтому основная причина увеличения корреляторов после двенадцати - это сокращение времени до первого исправления, а главная причина для улучшения - это потребление энергии.
Если ваш GPS-чипсет должен быть включен постоянно, это 100 мВт мощности постоянно. Однако, если вам нужно включать его только раз в секунду только на 10 мс каждый раз, тогда вы просто снижаете потребление энергии до 1 мВт. Это означает, что ваш сотовый телефон, сигнальный маячок и т. Д. Могут работать на два порядка дольше на одном и том же наборе батарей, сохраняя при этом полное местоположение в реальном времени.
Кроме того, с миллионами корреляторов можно выполнять более точные поиски, которые могут помочь уменьшить эффекты радиоотражений в городских каньонах (высокие здания в больших городах раньше запутывали приемники GPS с меньшим количеством корреляторов).
Наконец, в то время как для получения 3D-коррекции требуется всего 4 спутника, хорошие приемники используют больше спутников в своем алгоритме определения местоположения, чтобы получить более точное определение. Таким образом, требуется только 4-канальный приемник, но 12-канальный приемник может получить большую точность.
Заключение
Итак, миллионы корреляторов:
- Ускоряет приобретение спутников
- Уменьшает потребление энергии
- Уменьшает вероятность потери 3D-решения даже в городских каньонах
- Обеспечить лучшую чувствительность, позволяя исправления в густых лесах и даже в некоторых туннелях
- Обеспечивает лучшую точность позиционирования
Спасибо borzakk за некоторые исправления .