Глобальное спутниковое позиционирование с разгрузкой в облако

Иллюстрации

Показать все

Изобретение относится к системам позиционирования. Техническим результатом является повышение точности определения местоположения. В заявленном изобретении предоставляют маломощную сокращенную выборку местоположений системы (GPS) глобального позиционирования. Сервер выполнен с возможностью содействия мобильному устройству в определении местоположения из множества малых участков GPS-сигнала и соответствующих временных отметок. Например, сервер идентифицирует набор спутников из каждого из участков GPS-сигнала и посредством сравнения набора спутников для каждого из участков GPS-сигнала друг с другом определяет второй набор спутников, затем сервер оценивает местоположение мобильного устройства на основе второго набора спутников. 3 н. и 9 з.п. ф-лы, 7 ил.

Реферат

Уровень техники

[0001] Системы Глобального Позиционирования (GPS) обычно состоят из устройства, включающего в себя GPS-приемник, и множества GPS-спутников. GPS-приемник выполнен с возможностью приема и декодирования GPS-сигналов, широковещательно передаваемых от GPS-спутников, с целью определения местоположения устройства. Каждый из сигналов GPS-спутника передается со специфической для спутника кодировкой, которая может использоваться GPS-приемником для идентификации широковещательного GPS-спутника. GPS-приемник способен вычислять местоположение устройства посредством декодирования спутникового сигнала, идентификации широковещательных GPS-спутников и выполнения последовательности вычислений над данными, извлеченными из декодированных сигналов.

[0002] Многие современные устройства включают в себя GPS-приемники и поддерживают приложения, которые предоставляют основанные на местоположении услуги. Как правило, GPS-системы производят выборку GPS-сигнала в диапазоне 30 секунд с целью точного декодирования GPS-сигнала и идентификации широковещательных GPS-спутников. К сожалению, выборка GPS-сигналов является энергоемким процессом, и многим основанным на местоположении приложениям, доступным сегодня на мобильных устройствах, требуется регулярное или непрерывное определение местоположения. Таким образом, несмотря на то, что GPS-приемники зачастую обеспечивают самую точную и достоверную информацию о местоположении, доступную мобильному устройству, часто возникают случаи, когда предпочтительными являются другие источники. Например, мобильные устройства могут получать информацию о местоположении из одного из множества источников, включающих в себя GPS-приемники, сигналы с вышки сотовой связи, FM-радиосигналы и/или WiFi-подписи.

Сущность изобретения

[0003] Данный раздел «Сущность изобретения» предоставлен для ввода выбора понятий в упрощенной форме, которые дополнительно описаны ниже в разделе «Подробное описание». Данный раздел «Сущность изобретения» не предназначен для идентификации ключевых признаков или существенных признаков заявляемого объекта изобретения, и при этом он не предназначен для использования в качестве средства для определения объема заявляемого объекта изобретения.

[0004] В данном документе раскрыты варианты реализации мобильного устройства, включающие в себя систему (GPS) глобального позиционирования, которая может быть использована для определения местоположение мобильного устройства. В одном примере мобильное устройство использует сервер для содействия в определении местоположения. Например, мобильное устройство включает в себя GPS-приемник и интерфейс связи, осуществляющий связь с сервером. Мобильное устройство может производить выборку GPS-сигналов с использованием GPS-приемника и направлять выборки на сервер для обработки. В одном примере мобильное устройство выполнено с возможностью выборки GPS-сигналов в одном или более участков в несколько миллисекунд (мс) и сервер выполнен с возможностью обработки упомянутых участков и определения местоположения мобильного устройства.

Краткое описание чертежей

[0005] Раздел «Подробное описание» описан со ссылкой на сопроводительные фигуры. На фигурах самая(ые) крайняя(ие) левая(ые) цифра(ы) ссылочной позиции идентифицирует(ют) фигуру, на которой данная ссылочная позиция появляется в первый раз. Одни и те же ссылочные позиции используются по всем чертежам для обозначения одинаковых признаков и компонентов.

[0006] На Фиг.1 показан графический вид примера GPS-системы согласно некоторым вариантам реализации.

[0007] На Фиг.2 показана блок-схема примерной платформы GPS-системы согласно некоторым вариантам реализации.

[0008] На Фиг.3 показана блок-схема примерной платформы мобильного устройства согласно некоторым вариантам реализации.

[0009] На Фиг.4 показана блок-схема последовательности операций примерного процесса для оценивания местоположения мобильного устройства согласно некоторым вариантам реализации.

[0010] На Фиг.5 показана блок-схема последовательности операций примерного процесса для идентификации набора видимых спутников согласно некоторым вариантам реализации.

[0011] На Фиг.6 показана блок-схема последовательности операций примерного процесса для выбора набора хороших спутников из набора видимых спутников согласно некоторым вариантам реализации.

[0012] На Фиг.7 показана блок-схема последовательности операций примерного процесса для оценивания местоположения мобильного устройства согласно некоторым вариантам реализации.

Осуществление изобретения

[0013] Раскрываемые методики описывают варианты реализации GPS-системы для определения местоположений, относящихся к мобильным устройствам. В характерной системе, когда GPS-приемник приведен в действие, GPS-приемник выполняет последовательность энергоемких этапов для определения и удержания местоположения мобильного устройства. Во-первых, GPS-приемник входит в фазу сбора. В фазе сбора GPS-приемник производит выборку и декодирует GPS-сигнал от каждого видимого GPS-спутника. GPS-сигналы включают в себя временную отметку и эфемеридные данные (данные, относящиеся к местоположению и траектории передающего спутника). Во-вторых, GPS-приемник выполняет последовательность вычислений на основе временной отметки и эфемеридных данных, извлеченных из декодированных GPS-сигналов, для определения начального местоположения. В-третьих, GPS-приемник входит в фазу отслеживания для удержания местоположения мобильного устройства.

[0014] Для выборки и декодирования всего сигнала от одного или более GPS-спутников GPS-приемник включается на некоторый интервал, обычно в пределах 30 секунд. GPS-приемник остается включенным в течение такого длительного периода времени частично потому, что GPS-спутники выполнены с возможностью передачи данных на очень низкой скорости, обычно в пределах 50 бит в секунду (бит/с), и для восстановления данных, содержащихся в GPS-сигналах, используется приблизительно 32 000 выборок.

[0015] Затем, GPS-приемник пытается идентифицировать все GPS-спутники с точки зрения мобильного устройства (то есть, GPS-спутники, которые передают принимаемые GPS-сигналы). Это осуществляется посредством выявления присутствия одного или более специфических для спутника кодов Грубого/Сбора (C/A-кодов) в GPS-сигналах. Каждый GPS-приемник хранит шаблон C/A-кода, который включает в себя C/A-код для всех GPS-спутников. C/A-коды разработаны ортогональными друг другу так, чтобы когда шаблон сравнивался с GPS-сигналом, C/A-коды, соответствующие видимым GPS-спутникам, вызывали пиковый скачок сигнала. Таким образом, GPS-приемник может сравнивать C/A-шаблон с принятыми GPS-сигналами для определения того, какие GPS-спутники инициируют широковещательные передачи.

[0016] Однако, при сравнении шаблона C/A-кода с GPS-сигналами GPS-приемник компенсирует доплеровские сдвиги в GPS-сигнале, вызываемые перемещением как спутников, так и GPS-приемника. Например, подходящий GPS-спутник (спутник, входящий в область обзора мобильного устройства) перемещается со скоростью до 800 метров в секунду (м/с) к GPS-приемнику, вызывая сдвиг частоты в 4,2 килогерц (кГц). Аналогично, уходящий GPS-спутник (спутник, покидающий область обзора мобильного устройства) перемещается со скоростью до 800 м/с от GPS-приемника, взывая сдвиг частоты в -4,2 кГц. GPS-приемнику необходимо компенсировать доплеровский сдвиг в границах некоторого предела погрешности (например, в пределах 500 Гц) для правильной идентификации широковещательных GPS-спутников с использованием шаблона C/A-кода. Поэтому, для компенсации движения GPS-приемника в дополнение к перемещению спутников GPS-приемник часто выполняет много вычислений доплеровского сдвига и соответствующих сравнений C/A-кода перед завершением определения видимых GPS-спутников.

[0017] Для идентификации начального местоположения GPS-приемник также определяет расстояние между мобильным устройством и каждым из видимых GPS-спутников, которое называется «псевдодальностью». Псевдодальность может быть вычислена с использованием задержки на распространение GPS-сигналов. Задержка на распространение разбита на две части: миллисекундную часть и субмиллисекундную часть, называемую «сдвигом кода». Миллисекундная часть может быть декодирована из пакетных кадров, а сдвиг кода может быть определен посредством слежения за одномилисекундным повторением C/A-кода в GPS-сигналах.

[0018] Как только GPS-приемник идентифицировал видимые спутники, декодировал GPS-сигналы и вычислил псевдодальности, GPS-приемник вычисляет начальное местоположение. После того, как начальное местоположение определено, GPS-приемник переключается на фазу отслеживания для удержания местоположения мобильного устройства. В течение фазы отслеживания GPS-приемник пытается регулировать доплеровские частоты и задержки на распространение для компенсации этих сдвигов, вызванных дополнительным перемещением спутников и мобильного устройства с течением времени. Посредством выполнения отслеживания GPS-приемник способен быстро и недорого (при относительно низкой скорости потребления мощности) оценивать изменения положения.

[0019] Однако, если GPS-приемник не выполняет вычисления отслеживания постоянно, то GPS-приемнику приходится снова выполнять фазу сбора, которая, как описано выше, является энергоемкой и отнимает много времени. Поэтому, большинство GPS-приемников выполнено с возможностью постоянного нахождения в действующем состоянии и не задействуются периодически мобильным устройством.

[0020] На Фиг.1 показан графический вид примера GPS-системы 100 согласно некоторым вариантам реализации. GPS-система 100 включает в себя мобильное устройство 102 и GPS-спутники 104, 106, 108, 110 и 112, от которых мобильное устройство может принимать GPS-сигналы 114. GPS-система 100 также включает в себя сервер 116 и сеть 118. В целом, мобильное устройство 102 передает и принимает данные в и от сервера 116 через сеть 118. Мобильное устройство 102 может осуществлять связь с сетью 118 через беспроводные сети, такие как беспроводная локальная сеть (WLAN), беспроводная сеть ближнего действия, такая как Bluetooth®, или мобильные сети, предоставляемые через вышки сотовой связи, например, через системы множественного доступа с кодовым разделением (CDMA).

[0021] Мобильное устройство 102 может быть любым поддерживающим GPS устройством, таким как сотовый телефон, смартфон, навигационное устройство, датчик отслеживания, GPS-датчик, или любые другие устройства, включающие в себя GPS-приемник. В настоящем примере мобильное устройство 102 изображено в качестве смартфона.

[0022] GPS-спутники 104-112 могут содержать любой из спутников, относящихся к системе GPS-спутниковой навигации (sat-nav-системе). Дополнительно, несмотря на то, что изображено пять спутников, навигационные спутники 104-112 представлены любым количеством навигационных спутников, от которых мобильное устройство 102 может принимать GPS-сигнал. GPS-спутники 104-112 уникально идентифицируются посредством специфического для спутника C/A-кода, как описано выше. В целом, GPS-спутники 104-112 передают GPS-сигналы, полезные для геопространственного позиционирования. GPS-сигналы 114 являются закодированными и включают в себя основанную на времени информацию, полезную для вычисления положения.

[0023] Мобильное устройство 102 принимает GPS-сигналы 114 от GPS-спутников, которые являются видимыми для мобильного устройства 102 из текущего местоположения мобильного устройства 102 (находятся на линии визирования мобильного устройства 102). В некоторых случаях GPS-сигналы 114, принятые мобильным устройством 102, могут быть преломленными, отраженными и/или ослабленными различными препятствиями.

[0024] Мобильное устройство 102 включает в себя GPS-приемник, который выполнен с возможностью выборки GPS-сигналов 114 от спутников 104-112 для генерирования выборки GPS-сигнала. Выборка GPS-сигнала содержит одно или более смежных измерений GPS-сигнала 114, каким он захвачен мобильным устройством 102. Каждый отдельный смежный диапазон внутри выборки называется «участком» и имеет продолжительность по меньшей мере 1 мс. Если внутри выборки присутствует более одного участка, то должен быть некоторый подходящий интервал выборки между ними. В некоторых примерах мобильное устройство 102 может быть выполнено с возможностью сжатия, обработки или иного манипулирования выборками GPS-сигнала до направления данных 120 сигнала на сервер 116. Например, мобильное устройство 102 может предоставлять серверу 116 необработанные GPS-сигналы 114, сжатую версию GPS-сигналов 114 или данные, полученные из GPS-сигналов 114, такие как идентификаторы (ID) видимых спутников и/или сдвиги кода и доплеровские частоты, относящиеся к видимым спутникам.

[0025] Мобильное устройство 102 направляет данные 120 GPS-сигнала на сервер 116 через сеть 118. В некоторых примерах мобильное устройство 102 является GPS-датчиком или GPS-устройством отслеживания, которое не включает в себя интерфейс беспроводной или мобильной связи, и поэтому мобильное устройство 102 неспособно направлять данные 120 GPS-сигнала на сервер 116 в реальном времени (с приемом GPS-сигнала). В данном примере мобильное устройство 102 может хранить данные 120 GPS-сигнала в качестве данных на считываемом компьютером носителе хранения информации, встроенном в мобильное устройство 102. Данные выгружаются на сервер 116 в более позднее время, так чтобы предыдущее(ие) местоположение(я) мобильного устройства 102 могло(и) быть определено(ы) или восстановлено(ы) во время выгрузки.

[0026] Как только сервер 116 принимает данные 120 GPS-сигнала от мобильного устройства 102, сервер 116 определяет начальное местоположение мобильного устройства 102 и возвращает информацию 122 о местоположении через сеть 118 в мобильное устройство 102. Посредством использования сервера 116 для определения начального местоположения мобильное устройство 102 способно сберегать энергию, обычно потребляемую в течение энергоемкой фазы сбора, увеличивая полное время функционирования от батареи.

[0027] В данном примере мобильное устройство 102 направляет данные 120 GPS-сигнала на сервер 116 в качестве необработанных GPS-выборок без предварительной обработки, заранее выполняемой на мобильном устройстве 102. В альтернативном примере мобильное устройство 102 может декодировать, зашифровать или сжать данные 120 GPS-сигнала перед направлением их на сервер 116.

[0028] Когда сервер 116 принимает данные 120 GPS-сигнала, сервер 116 выполняет сбор на упомянутых участках для идентификации набора видимых спутников, таких как спутники 104-112. В одном частном примере для идентификации видимых спутников 104-112 из таких малых участков сервер 116 использует методику, которая называется восстановление разреженного сигнала. В данном примере сервер 116 сначала инициализирует набор видимых спутников в качестве пустого набора (то есть, первоначально сервер 116 не идентифицировал ни одного из шаблонов C/A-кодов в участках, принятых от мобильного устройства). Затем сервер 116 осуществляет поиск GPS-сигнала 114 по всем возможным идентификаторам (ID) спутников, сочетания сдвигов кода и доплеровской частоты для выбора спутника с самым сильным GPS-сигналом, выбранным мобильным устройством 102. Например, сервер 116 может итерационно перебирать шаблоны C/A-кодов на возможных доплеровских частотах и сдвигах кода для каждого спутника с целью идентификации самого сильного GPS-сигнала.

[0029] Как только спутник выбран, сервер 116 удаляет GPS-сигнал, относящийся к выбранному спутнику, из участка и добавляет выбранный спутник в набор видимых спутников. Например, сервер 116 может удалить GPS-сигнал, относящийся к выбранному спутнику, из исходного участка посредством выполнения проецирования на подходящее подпространство сигналов, определенное шаблонами C/A-кодов выбранных спутников. Сервер 116 продолжает процесс выбора спутника с самым сильным сигналом и удаления сигнала, относящегося к выбранному спутнику, пока либо не будет удовлетворен критерий остановки (например, идентифицировано достаточное количество спутников, чтобы можно было вычислить местоположение мобильного устройства 102), либо не будут идентифицированы все видимые спутники, либо оставшиеся сигналы станут не достаточно сильными, чтобы достоверно идентифицировать широковещательные спутники.

[0030] После определения набора видимых спутников сервер 116 сопоставляет набор видимых спутников со множеством участков. Поскольку участки настолько малы (например, длиною в 2 мс), неожиданные радиопомехи или другие помехи могут сильно ухудшить GPS-сигнал при сборе мобильным устройством 102 и вызвать неправильное выявление спутников внутри одного участка. Таким образом, собирая множество участков с различными промежутками и сравнивая идентифицированные спутники в каждом участке, общая точность определенного местоположения 122 может быть улучшена.

[0031] Поэтому, каждый спутник в наборе видимых спутников, идентифицированных с использованием одного участка, может быть хорошим (то есть, видимым спутником), плохим (то есть, ложной идентификацией) или неизвестным (то есть, не может быть классифицирован в качестве либо хорошей, либо плохой идентификации). В одном примере, сервер 116 устанавливает каждому спутнику в наборе видимых спутников для каждого участка GPS-сигнала 114 статус «неизвестный». Сервер 116 определяет хорошие и плохие спутники посредством сравнения данных, относящихся к каждому спутнику по всем участкам. Например, в одном варианте реализации, сервер 116 вычисляет разности сдвигов кода, выявляемых для каждого спутника во всех участках, и если эти разности меньше первой пороговой величины, то сервер идентифицирует спутник в качестве «хорошего», а если эти разности больше второй пороговой величины, то идентифицирует спутник в качестве «плохого». Оставшиеся спутники и любой спутник, который был видимым только в одном участке, затем помечаются в качестве «неизвестных».

[0032] Используя хорошие спутники, может быть оценено местоположение 122. Например, сервер 116 может вычислить местоположение мобильного устройства 102, используя время, за которое участки были собраны, идентификаторы (ID) хороших спутников, эфемериду, относящуюся к хорошим спутникам (которая может быть получена из орбитальной базы данных NASA или декодирована из GPS-сигнала 114), и псевдодальности.

[0033] Несмотря на описание в отношении GPS любая из методик, описанных в данном документе, может быть реализована совместно с другими глобальными или региональными спутниковыми навигационными системами. В некоторых случаях, эти методики используются с sat-nav-приемниками, выполненными с возможностью приема сигналов от двух или более различных спутниковых навигационных систем. В качестве примера, другие глобальные и/или региональные спутниковые навигационные системы могут включать в себя Глобальную Навигационную Спутниковую Систему (GLONASS), Galileo, BeiDou, Compass, Индийскую Региональную Навигационную Спутниковую Систему (IRNSS) или Квази-зенитную Спутниковую Систему (QZSS) в том числе.

[0034] На Фиг.2 показана блок-схема примерной платформы GPS-системы 200 согласно некоторым вариантам реализации. GPS-система 200 включает в себя мобильное устройство 102, сервер 116, базу 202 данных API высот Геологической Службы Соединенных Штатов (USGS) и базу 204 орбитальных данных NASA.

[0035] Мобильное устройство 102 включает в себя один или более GPS-приемников для выборки GPS-сигналов и один или более интерфейсов связи для направления данных 120 GPS-сигнала на сервер 116 и приема информации 122 о местоположении в ответ. Сервер 116 включает в себя один или более процессоров 206, интерфейс 208 связи и считываемый компьютером носитель 210 хранения информации. Интерфейсы 208 связи доступны процессорам 206 для передачи данных в и от мобильного устройства 102 по сети, такой как сеть 118 с Фиг.1.

[0036] На считываемом компьютером носителе 210 хранения информации может быть сохранено любое количество программных модулей, приложений или компонентов, включающих в себя, в качестве примера, команды 212 фильтрации местоположения, команды 214 идентификации спутника и команды 216 классификации спутника. Команды 212 фильтрации местоположения хранятся на считываемом компьютером носителе 210 хранения информации и исполняются процессорами 206 для предписания серверу 116 определять местоположение мобильного устройства 102 на основе набора хороших спутников. Команды 214 идентификации спутника исполняются процессорами 206 для предписания серверу 116 идентифицировать набор видимых спутников из данных 120 GPS-сигнала. Команды 216 классификации спутника исполняются процессорами 206 для предписания серверу 116 идентифицировать набор хороших спутников из набора видимых спутников, определенных командами 214 идентификации спутника.

[0037] Используемый в данном документе «считываемый компьютером носитель» включает в себя компьютерный носитель информации и среду связи. Компьютерный носитель информации включает в себя съемные и несъемные носители кратковременного хранения и долговременного хранения, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Компьютерный носитель информации включает в себя, но не ограничивается этим, Запоминающее Устройство с Произвольным Доступом (RAM), Постоянное Запоминающее Устройство (ROM), Электрически Стираемое Программируемое Постоянное Запоминающее Устройство ROM (EEPROM), флэш-память или другую технологию хранения, Постоянное Запоминающее Устройство на Компакт-Диске ROM(CD-ROM), Цифровые Универсальные Диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные устройства хранения или любой другой материальный носитель, который может использоваться с целью хранения информации для доступа посредством вычислительного устройства.

[0038] Напротив, среда связи может воплощать считываемые компьютером команды, структуры данных, программные модули или другие данные в модулируемом сигнале данных, таком как несущая волна. Заданный в данном документе компьютерный носитель информации не включает в себя среду связи.

[0039] База 202 данных API высот USGS доступна серверу 116 через интерфейсы 208 связи так, чтобы сервер 116 был способен извлекать данные о высоте, относящиеся к местоположению, определенному сервером 116. Как правило, сервер 116 направляет координаты по широте и долготе в базу 202 данных API высот USGS и в ответ принимает данные о высоте, относящиеся к этим координатам.

[0040] База 204 орбитальных данных NASA также доступна серверу 116 через интерфейсы 208 связи и используется для извлечения данных альманаха и эфемеридных данных, относящихся к GPS-спутникам 104-112. Данные альманаха относятся к грубой орбите и статусу спутников на Земной орбите. Эфемеридные данные относятся к положению и траектории спутников.

[0041] База 202 данных API высот USGS и база 204 орбитальных данных NASA являются двумя примерами множества баз данных, из которых сервер 116 может извлекать данные о высоте, данные альманаха и эфемеридные данные. Например, Геодезическая Служба США вычисляет орбиты, положение и траекторию GPS-спутников и делает орбиты, положение и траекторию общедоступными в Интернете.

[0042] В одном примере мобильное устройство 102 направляет данные 120 GPS-сигнала, включающие в себя множество участков необработанного GPS-сигнала и временные отметки, соответствующие тому, когда GPS-сигнал был выбран, на сервер 116 через по меньшей мере один из интерфейсов 208 связи. В некоторых случаях, данные 120 GPS-сигнала загружаются с мобильного устройства 102, а в других, данные 120 GPS-сигнала принимаются через беспроводную или мобильную сеть от мобильного устройства 102.

[0043] Как только данные 120 GPS-сигнала приняты, команды 212 фильтрации местоположения предписывают процессорам 206 определять местоположение мобильного устройства 102. Для вычисления местоположения мобильного устройства 102 серверу 116 нужно определить время, когда GPS-сигнал был выбран, широковещательные (видимые) GPS-спутники, эфемериду, относящуюся к видимым спутникам, и псевдодальности.

[0044] В одном примере сервер 116 идентифицирует то, какие GPS-спутники видимы мобильному устройству 102, посредством исполнения команд 214 идентификации спутника и команд 216 классификации спутника. При исполнении команды 214 идентификации спутника выполняют сбор на каждом из участков, принятых в данных 120 GPS-сигнала, для идентификации набора видимых спутников. В одном варианте реализации команды 214 идентификации спутника сначала инициализируют набор видимых спутников в качестве пустого набора для каждого участка, так как первоначально мобильное устройство 102 не выявило ни одного из шаблонов C/A-кодов. Затем, для каждого участка, команды 214 идентификации спутника осуществляют поиск GPS-сигнала по всем возможным идентификаторам (ID) спутников, сочетаниям доплеровской частоты и сдвигов кода с целью выбора спутника с самым сильным сигналом, выбранным мобильным устройством 102. Как описано выше, команды 214 идентификации спутника могут итерационно перебирать шаблоны C/A-кодов на возможных доплеровских частотах и сдвигах кодов для каждого спутника для идентификации самого сильного сигнала.

[0045] Как только спутник выбран, GPS-сигнал, относящийся к выбранному спутнику, удаляется из участка, и выбранный спутник добавляется в набор видимых спутников. Например, команды 214 идентификации спутника могут удалить GPS-сигнал, относящийся к выбранному спутнику, из участка посредством выполнения проецирования на подходящее подпространство сигналов, определенное шаблонами C/A-кодов выбранных спутников.

[0046] Команды 214 идентификации спутника повторяют процесс выбора самого сильного сигнала, пока не будет удовлетворен критерий остановки. Например, критерий остановки может быть удовлетворен, когда достигнута идентификация предварительно определенного количества спутников (например, идентифицировано достаточное количество спутников, чтобы могло быть вычислено местоположение мобильного устройства 102), все видимые спутники идентифицированы и/или оставшиеся сигналы в участке не достаточно сильны для достоверной идентификации широковещательных спутников. Примерами данной процедуры являются алгоритмы согласованного преследования и ортогонального согласованного преследования. По такому принципу набор видимых спутников может быть определен для каждого участка GPS-сигнала 114, предоставленного мобильным устройством 102.

[0047] После определения набора видимых спутников команды 216 классификации спутника предписывают серверам 116 сопоставлять набор видимых спутников со множеством участков. Поскольку участки настолько малы (например, длиною в 2 мс), то неожиданные радиопомехи или другие помехи могут сильно ухудшить GPS-сигнал и вызвать неправильное выявление спутников внутри одной выборки. Таким образом, посредством сбора множества участков с различными промежутками и сравнения идентифицированных спутников в каждом участке может быть улучшена общая точность определяемого местоположения 122.

[0048] Как описано выше, каждый спутник в наборе видимых спутников, идентифицированных с использованием одного участка, может быть хорошим (то есть, видимым спутником), плохим (то есть ложной идентификацией) или неизвестным (то есть может не быть классифицирован в качестве либо хорошей, либо плохой идентификации). В одном примере команды 216 классификации спутника устанавливают каждому спутнику в наборе видимых спутников для каждого участка, принятого в качестве части данных 120 GPS-сигнала, статус «неизвестный».

[0049] Команды 216 классификации спутника определяют хорошие и плохие спутники посредством сравнения данных, относящихся к каждому спутнику, по всем участкам. Например, в одном варианте реализации команды 216 классификации спутника предписывают серверу 116 вычислить разности сдвигов кода, выявленных для каждой выборки, соответствующего конкретному спутнику. Если разности меньше первой пороговой величины, то спутник классифицируется в качестве «хорошего», а если разности больше второй пороговой величины, то спутник классифицируется в качестве «плохого». Оставшиеся спутники (то есть, спутники, большие первой пороговой величины, но меньшие второй пороговой величины) и любой спутник, который был видим только в одной выборке, классифицируются в качестве «неизвестных». Для оценки местоположения 122 с использованием «хороших» спутников сервер 116 сначала определяет время, в которое каждый GPS-сигнал был выбран мобильным устройством 102, эфемериду, относящуюся к хорошим спутникам и псевдодальности.

[0050] В одном варианте реализации время принимается от мобильного устройства 102 в качестве временной отметки, предоставляемой мобильным устройством 102, в качестве части данных 120 GPS-сигнала. В другом варианте реализации время может быть извлечено из GPS-сигнала. Время, извлеченное из GPS-сигнала, обычно более точно, однако, временная отметка, примененная мобильным устройством 102 во время выборки, достаточна для вычисления начального местоположения 122 внутри разумного диапазона (то есть, внутри нескольких метров).

[0051] Эфемерида может быть извлечена сервером 116 из базы 204 орбитальных данных NASA. В одном конкретном варианте реализации сервер 116 может извлекать эфемериду из базы 204 орбитальных данных NASA периодически и сохранять информацию в считываемом компьютером носителе 210 хранения информации для использования в более позднее время, например, в случае, когда GPS-сигналы были выбраны и сохранены на мобильном устройстве 102 и загружены на сервер 116 после некоторого промежутка времени. В других вариантах реализации команды 212 фильтрации местоположения могут предписывать серверу 116 декодировать GPS-сигнал для определения эфемеридных данных.

[0052] Как только эфемерида и время идентифицированы сервером 116, команды 212 фильтрации местоположения предписывают серверу 116 вычислить псевдодальность (то есть, сдвиги кода и задержку на распространение) для каждого из хороших спутников с использованием эфемеридных данных и GPS-сигналов. Например, сервер 116 может определить задержку на распространение с использованием методики, называемой Навигация по Грубому Времени (CTN), если может быть идентифицировано опорное местоположение (такое как вышка сотовой телефонной связи) в пределах 150 километров (км) от местоположения 122 мобильного устройства 102.

[0053] После того как определены временные отметки, сдвиги кода и задержки на распространение для каждого спутника, команды 212 фильтрации местоположения предписывают серверу 116 оценить местоположение 122 мобильного устройства 102. Однако, в некоторых случаях может быть идентифицировано слишком малое количество хороших спутников для точной оценки местоположения 122 мобильного устройства 102. Если для определения местоположения 122 идентифицировано слишком малое количество хороших спутников, то команды 212 фильтрации местоположения проходят по видимым спутникам, классифицированным в качестве «неизвестных», и добавляют каждый из них в набор хороших спутников и пытаются идентифицировать местоположение 122. Местоположение, оцененное с использованием плохих (то есть, неправильно идентифицированных) спутников, будет иметь ошибочное, невозможное или неправильное положение (например, на высотах намного выше или ниже поверхности Земли). Таким образом, команды 212 фильтрации местоположения проверяют местоположение 122, оцененное после добавления каждого спутника, для устранения ошибочных местоположений. Например, ограничение местоположения 122 до диапазона высот около поверхности Земли, например, между 500-8000 метров (м), приводит в результате к устранению многих ошибочных местоположений.

[0054] К сожалению, как таковое применение диапазона высот может не выявлять все ошибочные местоположения. Для устранения оставшихся ошибочных местоположений команды 212 фильтрации местоположения могут предписать серверу 116 осуществить доступ к базе 202 данных API высот USGS через интерфейсы 208 связи. Сервер 116 извлекает истинную высоту Земной поверхности для каждого из оставшихся оцененных местоположений 122 с использованием координат по долготе и широте. Команды 212 фильтрации местоположения сравнивают определенную высоту с истинной высотой и устраняют любое местоположение при не соответствии высот. Однако, когда высота соответствует данным высот USGS, то фактическое местоположение 122 мобильного устройства 102 в то время, когда GPS-сигналы были выбраны, оказывается идентифицированным и может быть возвращено в мобильное устройство 102 в качестве местоположения 122. Следует понимать, что использование базы 202 данных API высот USGS и сравнение высот является одной возможной методикой для идентификации ошибочных местоположений, и что могут быть использованы другие методики.

[0055] В некоторых случаях, может быть идентифицировано достаточное количество хороших спутников для осуществления оценки местоположения 122, при том, что некоторые спутники все еще помечены в качестве «неизвестных». Посредством использования этих неизвестных спутников может быть улучшена точность оцениваемого местоположения 122. Например, каждый из неизвестных спутников может быть добавлен в набор хороших спутников при одновременной оценке и проверке нового местоположения, например, с использованием данных о высоте USG, как это обсуждалось выше. В другом примере новое местоположение, оцененное с использованием неизвестного спутника, может быть сравнено с подлинным местоположением, и если эти два местоположения находятся внутри порогового расстояния, то неизвестный спутник может посчитаться «хорошим», и новое местоположение может возвратиться в мобильное устройство 102 в качестве местоположения 122. Данный процесс может быть продолжен, пока не будут проверены все оставшиеся неизвестные спутники, которые могут быть помечены в качестве «хороших».

[0056] После идентификации окончательного местоположения 122 мобильного устройства 102 местоположение 122 предоставляется в мобильное устройство 102. В альтернативном варианте реализации местоположение 122 может быть сохранено на считываемом компьютером носителе хранения информации для более позднего анализа или предоставлено на устройство отображения для использования, например, в научном исследовании.

[0057] На Фиг.3 показана блок-схема примерной платформы 300 мобильного устройства 102 согласно некоторым вариантам реализации. Мобильное устройство 102 включает в себя один или более процессоров 302, один или более интерфейсов 304 связи, GPS-приемник 306, часы 308 и считываемый компьютером носитель 310 хранения информации. Считываемый компьютером носитель 310 хранения информации изображен в качестве хранящего команды 312 фильтрации местоположения, команды 314 идентификации спутника, команды 316 классификации спутника и одну или более выборок 318 GPS-сигнала.

[0058] Интерфейсы 304 связи используются для обмена данными с сервером, таким как сервер 116 с Фиг.1 и 2. Интерфейсы 304 связи выполнены с возможностью осуществления связи с беспроводными сетями, такими как беспроводная локальная сеть (WLAN), беспроводные сети ближнего действия, такие как Bluetooth®, мобильной сетью, предоставляемой через вышки сотовой связи, например, через CDMA-системы, или по проводному соединению, такому как через USB-интерфейс (интерфейс универсальной последовательной шины (USB)).

[0059] GPS-приемник 306 выполнен с возможностью приема GPS-сигналов от одного или более спутников, таких как спутники 104-112. Несмотря на то, что GPS-приемник 306 изображен объединенным с мобильным устройством 102, он может быть внешним, но локальным. Внешний GPS-приемник может осуществлять связь с мобильным устройством 102 по проводному (например, USB) или беспроводному интерфейсу (например, Bluetooth®). В некоторых случаях, GPS-приемник 306 объединен с одним из интерфейсов 304 связи. Данный объединенный модуль предоставляет возможность соединения сотовой связи и GPS-функциональность. В некоторых примерах антенна объединенного модуля совместно используется подсистемами GPS и сотовой связи.

[0060] Часы 308 выполнены с возможностью предоставления временной отметки, которая относится ко времени, в которое выборка GPS-сигнала принята GPS-приемником 306. В одном примере часы 308 являются WWVB-приемником. WWVB является радиостанцией, которая широковещательно передает сигналы всемирного времени по всему миру через непрерывную несущую волну на 60 кГц, извлекаемые из наб