ГЕНЕРАТОР АДАПТИВНЫХ КОДОВ ДЛЯ СПУТНИКОВЫХ НАВИГАЦИОННЫХ ПРИЕМНЫХ УСТРОЙСТВ
ADAPTIVE CODE GENERATOR FOR SATELLITE NAVIGATION RECEIVERS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение, в общем, относится к глобальной навигационной спутниковой системе (GNSS), а более конкретно к генератору адаптивных кодов для спутниковых навигационных приемных устройств.
УРОВЕНЬ ТЕХНИКИ
Приемные устройства в глобальной навигационной спутниковой системе (GNSS), такой как глобальная система позиционирования (GPS), используют измерения дальности, которые основаны на навигационных сигналах зоны прямой видимости, передаваемых в широковещательном режиме со спутников. Приемное устройство измеряет время прихода одного или более широковещательных сигналов. Измерение времени прихода включает в себя измерение времени на основе кодированной части грубого обнаружения (C/A) сигнала, называемое псевдодальностью, и измерение фазы.
Навигационные сигналы от спутников в GNSS передаются в широковещательном режиме на несущих частотах сигналов и используют один или более псевдослучайных кодов. Навигационная информация, такая как измерение псевдодальности и/или фазы, в навигационных сигналах может восстанавливаться в приемном устройстве с помощью корреляции в контуре отслеживания кодов. Корреляция может сжимать спектр энергии навигационных сигналов и тем самым может демодулировать сигналы, кодированные с помощью одного или более псевдослучайных кодов. Операция корреляции, в сущности, смешивает принимаемый навигационный сигнал со спутника с опорным сигналом, формируемым в приемном устройстве. Формирование опорного сигнала в приемном устройстве включает в себя формирование соответствующего псевдослучайного кода. Если фаза, несущая частота и синхронизация опорного сигнала практически дублирует принимаемый навигационный сигнал со спутника, выходная мощность максимизируется. Если имеются ошибки синхронизации в опорном сигнале, то выходная мощность понижается, если синхронизация кода псевдодальности некорректна меньше чем на один бит псевдослучайного кода, или становится равной нулю, если ошибка синхронизации больше или равна биту псевдослучайного кода.
Тем не менее, имеется множество различных псевдослучайных кодов, соответствующих навигационным сигналам от различных спутников в GNSS (для тех GNSS, которые используют множественный доступ с кодовым разделением, чтобы уменьшать межспутниковые помехи), а также различным GNSS. Чтобы восстанавливать множество навигационных сигналов, приемное устройство часто должно иметь схему для формирования множества различных псевдослучайных кодов. Эта схема увеличивает сложность и стоимость приемного устройства. Как следствие, есть необходимость в улучшенном формировании псевдослучайных кодов в приемных устройствах GNSS.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описывается спутниковое навигационное устройство, включающее в себя приемное устройство, имеющее регулируемый генератор кодов. Регулируемый генератор кодов конфигурирован, чтобы формировать набор кодовых сигналов расширения спектра. Каждый кодовый сигнал расширения спектра имеет надлежащую длину, соответствующую периоду повторения. Набор кодовых сигналов расширения спектра включает в себя первый и второй кодовые сигналы расширения спектра, имеющие различную первую и вторую длину.
Регулируемый генератор кодов может включать в себя контур обратной связи и программируемый сдвиговый регистр, имеющий число битов, которое больше или равно степени составного многочлена Галуа, соответствующего набору кодовых сигналов расширения спектра. Число битов в программируемом сдвиговом регистре может соответствовать наибольшей сумме степеней соответствующих многочленов, которые описывают соответствующий кодовый сигнал расширения спектра в наборе кодовых сигналов расширения спектра. Набор многочленов может включать в себя неразложимые многочлены полей Галуа, и/или набор сигналов расширения спектра может включать в себя последовательности максимальной длины.
Контур обратной связи дополнительно может включать в себя программируемую маску обратной связи и таблицу масок обратной связи. Таблица масок обратной связи содержит набор масок обратной связи. Соответствующая маска обратной связи для соответствующего кодового сигнала расширения спектра может быть двоичным представлением соответствующего многочлена.
В некоторых вариантах осуществления контур обратной связи имеет множество входных битов и один выходной бит. Один выходной бит определяется посредством дерева "исключающего или" для множества входных битов. В некоторых вариантах осуществления контур обратной связи имеет множество входных битов и множество выходных битов. Каждый из множества выходных битов определяется посредством "исключающего или" выходного бита из программируемого сдвигового регистра и соответствующего входного бита.
Регулируемый генератор кодов может включать в себя таблицу начальных состояний. Таблица начальных состояний содержит набор векторов начальных состояний. Каждый вектор начального состояния соответствует начальным значениям битов в программируемом сдвиговом регистре, соответствующем, по меньшей мере, одному из набора сигналов расширения спектра.
Регулируемый генератор кодов может включать в себя логику управления. В некоторых вариантах осуществления логика управления определяет, когда соответствующий сигнал расширения спектра, сформированный с помощью регулируемого генератора кодов, достиг соответствующей длины, и начинает следующий кодовый период посредством программирования вектора начальных состояний в наборе векторов начальных состояний, сохраненном в таблице векторов начальных состояний, в программируемый сдвиговый регистр. В некоторых вариантах осуществления логика управления определяет, когда соответствующий сигнал расширения спектра, сформированный с помощью регулируемого генератора кодов, достиг условия завершения, и начинает следующий кодовый период посредством программирования вектора начальных состояний в наборе векторов начальных состояний, сохраненном в таблице векторов начальных состояний, в программируемый сдвиговый регистр.
Регулируемый генератор кодов может также включать в себя таблицу состояний с коротким циклом. Таблица состояний с коротким циклом содержит набор векторов состояний с коротким циклом, и каждый вектор состояний с коротким циклом соответствует значениям битов в программируемом сдвиговом регистре, соответствующем, по меньшей мере, одному из набора сигналов расширения спектра в предварительно определенном фрагменте соответствующей длины. Логика управления определяет, когда соответствующий сигнал расширения спектра, сформированный с помощью регулируемого генератора кодов, достиг предварительно определенного фрагмента соответствующей длины.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Дополнительные цели и признаки изобретения должны стать более очевидными из последующего подробного описания и прилагаемой формулы изобретения, рассматриваемой вместе с чертежами.
Фиг.1 - схема, иллюстрирующая глобальную навигационную спутниковую систему (GNSS) с сигналами прямого пути и многолучевыми сигналами.
Фиг.2A - блок-схема, иллюстрирующая компоненты в канале в приемном устройстве GNSS.
Фиг.2B - блок-схема, иллюстрирующая компоненты в канале в приемном устройстве GNSS.
Фиг.3 - блок-схема, иллюстрирующая компоненты в приемном устройстве GNSS.
Фиг.4 - блок-схема, иллюстрирующая генератор кодов грубого обнаружения (C/A).
Фиг.5 - блок-схема, иллюстрирующая генератор кодов L2C.
Фиг.6 - временная диаграмма, иллюстрирующая временное мультиплексирование L2C-кодов.
Фиг.7 - блок-схема, иллюстрирующая генератор кодов L5.
Фиг.8 - блок-схема, иллюстрирующая генератор кодов.
Фиг.9 - временная диаграмма, иллюстрирующая сигналы прямоугольной формы двоичного сдвигового кода (BOC).
Фиг.10 - временная диаграмма, иллюстрирующая сигналы прямоугольной формы BOC и квадратурного двоичного сдвигового кода (QBOC).
Фиг.11 - блок-схема, иллюстрирующая кодовый сигнал и генератор сигналов управления.
Фиг.12 - блок-схема, иллюстрирующая вариант осуществления программируемого генератора кодов.
Фиг.13 - блок-схема, иллюстрирующая вариант осуществления программируемого генератора кодов.
Фиг.14 - блок-схема, иллюстрирующая компоненты в приемном устройстве GNSS.
Фиг.15 - блок-схема последовательности операций, иллюстрирующая способ работы программируемого генератора кодов в приемном устройстве GNSS.
На всех видах чертежей аналогичные ссылочные позиции обозначают соответствующие части.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Далее приводится подробное описание вариантов осуществления, примеры которых проиллюстрированы на прилагаемых чертежах. В последующем описании многие конкретные детали объяснены для того, чтобы обеспечить полное понимание настоящего изобретения. Тем не менее, специалистам в данной области техники должно быть очевидным, что настоящее изобретение может быть использовано на практике без этих конкретных деталей. В других случаях хорошо известные способы, процедуры, компоненты и схемы не описаны подробно с тем, чтобы не затруднять понимание аспектов вариантов осуществления.
Описывается спутниковое навигационное устройство, включающее в себя приемное устройство, имеющее, по меньшей мере, один конфигурируемый и/или регулируемый генератор кодов, далее упоминаемый как регулируемый генератор кодов. В некоторых вариантах осуществления имеется один регулируемый генератор кодов. В некоторых вариантах осуществления регулируемый генератор кодов является программируемым. Регулируемый генератор кодов выполнен с возможностью формировать набор псевдослучайных кодовых сигналов, далее называемых кодовыми сигналами расширения спектра. Каждый кодовый сигнал расширения спектра имеет надлежащую длину, соответствующую периоду повторения. Набор кодовых сигналов расширения спектра может включать в себя первый и второй кодовые сигналы расширения спектра, имеющие различную первую и вторую длины. В некоторых вариантах осуществления набор кодовых сигналов расширения спектра включает в себя только кодовые сигналы расширения спектра, имеющие первую длину. Регулируемый генератор кодов может быть в первой области, имеющей контур обратной связи с множеством входных битов и одним выходным битом, или во второй области, имеющей контур обратной связи с множеством входных битов и множеством выходных битов. Регулируемый генератор кодов позволяет снижать сложность и/или стоимость приемного устройства в GNSS.
В вариантах осуществления спутникового навигационного устройства навигация понимается как включающая в себя определение местоположения или позиции, также известное как установление местоположения. Навигация должна интерпретироваться как определение того, где спутниковое навигационное устройство находится относительно системы отсчета, которая, по меньшей мере, частично предоставляется посредством спутников в GNSS. Навигация также позволяет определять время в спутниковом навигационном устройстве, по меньшей мере, частично на основе сигналов от одного или более спутников в GNSS. GNSS включают в себя, но не только, глобальную систему позиционирования (GPS), глобальную спутниковую навигационную систему (GLONASS), систему определения местоположения GALILEO, европейскую геостационарную дополнительную навигационную систему (EGNOS), широкозонную усиливающую систему (WAAS), многофункциональную транспортную спутниковую усиливающую систему (MSAS), спутниковую систему Quasi-Zenith (QZSS), а также StarFire Network от компании NavCom Technology, Inc.
За исключением GLONASS, GNSS-спутники используют способы множественного доступа с кодовым разделением (CDMA), чтобы уменьшать межспутниковые помехи. Спутниковые системы, исключая GLONASS, передают в широковещательном режиме сигналы на несущих частотах сигналов в L-полосе и используют кодовые сигналы расширения спектра. Система GLONASS использует множественный доступ с частотным разделением (FDMA) для того, чтобы предоставлять защиту от межспутниковых помех. Каждый спутник GLONASS использует один код расширения спектра. За исключением противофазных спутников, находящихся на одной орбите на противоположных сторонах земли, каждый спутник имеет собственную полосу частот. Противофазные спутники могут совместно использовать одну полосу частот.
Используя GPS в качестве примера, спутники передают в широковещательном режиме навигационные сигналы, имеющие несущую частоту сигнала L1 в 1575,42 МГц и несущую частоту сигнала L2 в 1227,6 МГц. Третий сигнал GPS планируется на несущей частоте сигнала L5 в 1176,45 МГц. Система GALILEO планирует предоставлять сигналы на несущих частотах сигнала L1 и L5 (также называемых E5A) и дополнительные сигналы на несущих частотах сигнала 1207,14 МГц (E5B) и 1278,75 МГц (E6). GALILEO также должна предоставлять дополнительные сигналы с различными кодами расширения спектра, имеющими несущую частоту сигнала L1. Система QZSS планирует предоставлять совместимые с GPS сигналы на несущих частотах сигнала L1, L2 и L5. QZSS также планирует предоставлять сигналы, имеющие на данный момент еще неопределенную несущую частоту сигнала L6. Спутники в WAAS, EGNOS и MSAS предоставляют GPS-подобные сигналы, имеющие несущую частоту сигнала L1, и планируют предоставлять второй сигнал, имеющий несущую частоту сигнала L5.
StarFire Network, которая функционирует, по меньшей мере, частично как линия связи, использует каналы, которые имеют ширину полосы частот 840 Гц между 1525 и 1560 МГц. StarFire Network передает данные при 1200 или 2400 кодированных битов в секунду.
GLONASS передает в широковещательном режиме сигналы в полосе частот от 1598,0635 до 1605,375 МГц (L1) и от 1242,9375 до 1248,625 МГц (L2). Полосы частот сигналов в GLONASS перекрывают верхнюю часть соответствующих полос частот сигналов в GPS и GALILEO.
Фиг.1 иллюстрирует составной сигнал, принимаемый посредством устройства 110 в варианте осуществления GNSS 100. Составной сигнал включает в себя один или более сигналов 114, передаваемых в широковещательном режиме посредством одного или более спутников, а также многолучевой сигнал 116, который отражается от объекта 112. Как описано выше, каждый из сигналов 114 содержит, по меньшей мере, один сигнал расширения спектра, соответствующий, по меньшей мере, одному спутнику.
Фиг.2A иллюстрирует компоненты в варианте осуществления схемы 200 подканалов в первом канале приемного устройства в устройстве 110 (фиг.1). Составной сигнал принимается посредством схемы входного каскада, включающей в себя одну или более антенн. Входы антенн могут быть усиленными или неусиленными (пассивными) и могут комбинировать одну или несколько частот на антенный соединитель в маршрутизаторе схемы входного каскада. В вариантах осуществления с антенной без усиления либо с длинным соединителем, либо с кабелем между антенной и маршрутизатором схема входного каскада может включать в себя каскад начального усиления. По меньшей мере, часть составного сигнала 210 направляется в один или более каналов. Каждый из каналов включает в себя одну или более схем подканалов, таких как схема 200 подканалов. Схема 200 подканалов принимает соответствующую полосу частот, по меньшей мере, в одном сигнале расширения спектра, соответствующему, по меньшей мере, первому спутнику, по меньшей мере, в части составного сигнала 210.
Составной сигнал 210 подается на фильтр 212 с малыми потерями, чтобы режектировать изображения сигналов и внеполосные помехи. Сигнал также может быть усилен в усилителе (не показан) и/или отфильтрован в фильтре (не показан) перед подачей на фильтр 212. В вариантах осуществления с начальным малошумящим усилителем в электронных схемах входного каскада это усиление может быть исключено. По меньшей мере, часть сигнала преобразуется с понижением частоты на промежуточную частоту (IF) с помощью одного или более модуляторов, таких как смеситель 214. В некоторых вариантах осуществления IF является общей в одной или более дополнительных схем подканалов. Преобразование с понижением частоты в смесителе 214 смешивает первый опорный сигнал, имеющий соответствующую первую несущую или частоту гетеродина (LO), которая формируется посредством генератора 218 сигналов.
Первый опорный сигнал может быть сформирован на основе одного или более тактовых сигналов, которые могут быть сформированы посредством опорного осциллятора 216. Каждая схема подканалов в приемном устройстве имеет уникальную первую LO-частоту, тем самым позволяя соответствующей схеме подканалов, такой как схема 200 подканалов, принимать соответствующую полосу частот, по меньшей мере, в одном сигнале расширения спектра от первого спутника. Схемы подканалов могут принимать один или более тактовых сигналов, по меньшей мере, от одного общего опорного генератора в приемном устройстве. В других вариантах осуществления может не быть общего опорного генератора. Опорный осциллятор 216 может включать в себя один или более контуров слежения по фазе, контуров слежения по задержке и/или интерполяционных схем.
После преобразования с понижением частоты сигнал на IF проходит через высококачественный фильтр 220, такой как фильтр на поверхностных акустических волнах, который устраняет помехи наложения спектров и сигналы помех и режектирует внеполосные помехи. Высококачественный фильтр 220 может позволить, чтобы другие фильтры в канале 300, такие как входной каскад фильтров преселектора, были меньшей точности, может обеспечивать более простую реализацию автоматической регулировки усиления (AGC) 230 и может также обеспечивать квантование с меньшим числом битов в аналогово-цифровых (A/D) преобразователях 238. Фильтры в схемах подканалов, такие как фильтр 220, определяют ширину полосы обработки сигналов для сигнала в приемном устройстве. Как следствие, эти фильтры помогают определить общие характеристики обработки сигналов приемного устройства. В некоторых вариантах осуществления фильтры, такие как фильтр 220, могут иметь центральную частоту, практически равную IF, и ширину полосы, большую, чем примерно ширина полосы первого спутника. В некоторых вариантах осуществления ширина полосы (ширина полосы на уровне 3 дБ) одного или более фильтров, такого как фильтр 220, может быть больше примерно 30 МГц (двусторонняя). В некоторых вариантах осуществления ширина полосы (ширина полосы на уровне 3 дБ) одного или более фильтров, такого как фильтр 220, может быть в пределах включающего диапазона примерно 30-32 МГц (двусторонняя). В примерном варианте осуществления фильтр 220 может быть эквивалентен 6 или более комплексным полюсам. Для подканала, соответствующего сигналам от StarFire Network, фильтр 220 также может иметь центральную частоту, практически равную IF. Тем не менее, в этом случае ширина полосы фильтра 220 может составлять 200 кГц, поскольку сигнал в StarFire Network использует меньшую ширину полосы.
Посредством обеспечения того, что ширина полосы фильтров, например фильтра 220, по меньшей мере, немного больше фильтрации, применяемой к широковещательным сигналам посредством одного или более спутников GNSS, содержимое сигнала не теряется, и максимально возможный объем внеполосных помех режектируется. Если ширина полосы фильтров в одном или более спутников увеличится в будущем, ширина полосы одного или более фильтров, такого как фильтр 220, также может быть увеличена с тем, чтобы содержимое сигнала не терялось. Это может обеспечивать улучшенную коррекцию многолучевого сигнала 116 (фиг.1) и/или улучшенные характеристики отслеживания приемного устройства.
Сигнал в одной или более схем подканалов, таких как схема 200 подканалов, преобразуется практически до базовой полосы (нулевой частоты) с помощью одного или более модуляторов, таких как смесители 222. Преобразование с понижением частоты в смесителях 222 смешивает вторые опорные сигналы, каждый из которых имеет вторую несущую или LO-частоту и которые практически находятся в квадратуре друг с другом, которые предоставляются посредством генератора 224 квадратурных сигналов. Второй опорный сигнал может быть сформирован на основе, по меньшей мере, одного тактового сигнала из опорного осциллятора 216 и/или общего опорного осциллятора. Практически базовая полоса может включать в себя частоты, значительно меньшие одной четвертой частоты дискретизации в A/D-преобразователях 238. В некоторых вариантах осуществления практически базовая полоса может включать в себя частоты, меньшие примерно 100 кГц.
Преобразование с понижением частоты до практически базовой полосы фактически вводит намеренный доплеровский сдвиг частоты. Один способ реализовать это состоит в том, что установить несущую частоту сигнала, по меньшей мере, для одного тактового сигнала так, чтобы она опережала примерно на 40 частей на миллион (PPM). Этот сдвиг обеспечивает то, что синфазные I и сдвинутые по фазе Q выборки из A/D-преобразователей 238 все имеют положительный видимый доплеровский сдвиг частоты, что упрощает проектирование генераторов сигналов, таких как осцилляторы с числовым управлением (NCO), в схемах обработки сигналов, таких как процессор 242 сигналов. Сдвиг также обеспечивает то, что границы цифровой дискретизации случайным образом распределены относительно временных характеристик границ битов кода, по меньшей мере, в одном сигнале расширения спектра, по меньшей мере, из первого спутника.
В примерных вариантах осуществления опорный осциллятор 216 имеет номинальную несущую частоту сигнала в 16,36864 МГц. Это на 39,101 МГц или примерно на 40 PPM больше, чем 1,6 раз основной несущей частоты сигнала GPS в 10,23 МГц. Несущая частота сигнала, по меньшей мере, одного тактового сигнала из опорного осциллятора 216 может варьироваться в течение его срока службы еще на 10 PPM вследствие старения и/или температурных изменений. В других примерных вариантах осуществления опорный осциллятор 216 может включать в себя кварцевый осциллятор с температурной компенсацией (TCXO) и/или кварцевый осциллятор с компенсацией напряжения (VCXO).
Частоты IF, первая LO и вторая LO могут сохранять когерентное соотношение между кодом и несущими частотами сигналов, используемых сигналами GNSS. Для всех сигналов GNSS имеется практически целое число тактов несущей на бит кода. Выбранные частоты преобразования с понижением, т.е. соответствующая первая LO-частота и вторая LO-частота, позволяют сохранять эти соотношения. Отметим, что, тем не менее, эти соотношения нечувствительны к доплеровским сдвигам частоты, вызываемым движением спутника-приемного устройства, ошибок опорного сигнала и/или тактового сигнала в спутнике или приемном устройстве и/или намеренного доплеровского сдвига частоты, описанного выше. Как описано выше, приемное устройство использует преимущество этого свойства.
1
0
0
1
1
2
1
0
1
2
1
1
IF и вторая LO-частота могут быть практически идентичными кратными частоты, по меньшей мере, соответствующего тактового сигнала от общего опорного осциллятора в приемном устройстве и/или опорного осциллятора 216. Пренебрегая источниками доплеровской частоты (упомянутыми выше), сумма двух частот преобразования с понижением, т.е. соответствующей первой LO-частоты и второй LO-частоты в каждой из схем подканалов может быть практически равной соответствующей несущей частоте сигнала, соответствующей надлежащей полосе частот, по меньшей мере, в одном сигнале расширения спектра из первого спутника. Например, полоса частот GPS L1 имеет номинальную несущую частоту сигнала в 1575,42 МГц, что равно примерно 154-10,23 МГц. В вариантах осуществления, где приемное устройство 200 использует тактовый сигнал из опорного осциллятора 216, имеющий частоту N*10,23 МГц, первая и вторая LO формируются из этого тактового сигнала. Соответствующие частоты этих LO могут подчиняться некоторым соотношениям, которые обеспечивают то, что дальность, измеряемая посредством отслеживания несущей частоты, практически такая же, что и дальность, измеряемая посредством отслеживания кода. Несущие частоты для каждого из сигналов L-полосы также могут быть выражены в форме N*154. (N=154 для L1, 120 для L2, 115 для L5, 118 для E5A и 125 для E6). Частота первого LO создается посредством умножения опорного тактового сигнала на A, т.е. LO=A*N*10,23 МГц. Частота второго LO практически равна IF и создается посредством умножения опорного тактового сигнала на B, т.е. LO=B*N*10,23 МГц. Множители A и B выбираются таким образом, что они подчиняются соотношению s*(N-A*N)=B*N, где s=1 для преобразования с понижением частоты нижней стороны, и s=-1 для преобразования с понижением частоты верхней стороны. Например, если первое преобразование с понижением частоты верхней стороны используется для того, чтобы преобразовывать L1-сигнал в IF, равную 13,7*10,23 МГц (= 140,151 МГц), s равно -1, а B*N равно 154+13,7 или 167,7. Если преобразование с понижением частоты нижней стороны используется вместо этого, то s равно 1, а B*N равно 154-13,7 или 140,3. Разный множитель A может быть использован для каждой из частот GNSS. Одинаковая IF и множитель B может быть использован для всех частот. Отметим, что в известном смысле преобразование верхней стороны создает IF с отрицательной частотой, но фильтры в приемном устройстве и последующие преобразования с понижением частоты изменяются одинаково для положительных и отрицательных частот.
Одна или более схем подканалов для сигналов из StarFire Network может не использовать квадратурное детектирование. Вторая LO-частота может корректироваться небольшими, примерно по 21 Гц, шагами, с тем, чтобы вторая LO-частота совпадала с центральной частотой канала связи StarFire. Контроллер в приемном устройстве, схемы первого канала и/или одного или более подканалов, такая как схема 200 подканалов, может последовательно программировать генератор 224 сигналов до надлежащих частот, соответствующих каждой возможной полосе частот StarFire, чтобы определять то, присутствует ли надлежащий сигнал. Отметим, что может быть необязательным поддерживать конкретные соотношения между кодом и несущими частотами сигналов при обработке сигналов StarFire, поэтому может быть больше свободы в выборе соответствующей первой LO-частоты и второй LO-частоты.
После преобразования с понижением частоты практически до базовой полосы I- и Q-сигналы подаются на фильтры 226 нижних частот, чтобы удалять нежелательные спектральные компоненты. Сигналы усиливаются с помощью коэффициентов усиления в AGC 230 и дискретизируются и квантуются в A/D-преобразователях 238, чтобы сформировать I- и Q-выборки. I- и Q-выборки обрабатываются в процессоре 242 сигналов. Процессор 242 сигналов может использовать значения, сохраненные в таблице 244 поиска. AGC 230 и A/D-преобразователи 238 могут конфигурироваться и/или регулироваться посредством логики 234 управления с помощью значений, сохраненных в таблице 236 поиска. Конфигурирование и/или регулирование AGC 230 и/или A/D-преобразователей 238 может включать в себя одно или более усилий, по меньшей мере, одного AGC 230 и/или одну или более пороговых величин A/D-квантования в A/D-преобразователях 238. В примерном варианте осуществления коэффициент усиления AGC 230 может быть определен при первой ненулевой пороговой величине квантования, так что вероятность ненулевой выборки или активности равна примерно 2/3. Используя этот коэффициент усиления, ненулевые выборки могут быть определены с помощью ненулевой пороговой величины квантования, которая практически в два раза превышает первую ненулевую пороговую величину A/D-квантования, чтобы повысить эффективность противодействия помехам приемного устройства. Приемное устройство также может использовать схему бланкирования, чтобы повышать эффективность при наличии сильных сигналов преднамеренных помех.
В некоторых вариантах осуществления IF, первая LO-частота и/или вторая LO-частота в одной или более схем подканалов, таких как схема 200 подканалов, может быть регулируемой и/или конфигурируемой. Это реализовано посредством регулирования и/или переконфигурирования, по меньшей мере, одного генератора сигналов, такого как генератор 218 сигналов, с помощью контроллера в приемном устройстве, первого подканала и/или одной из схем подканалов, такой как схема 200 подканалов. Например, вторая LO-частота в опорном сигнале из генератора 224 квадратурных сигналов может регулироваться с шагами по несколько сотен Гц. При адаптации или конфигурировании IF, по меньшей мере, одно из фильтра 220, фильтров 226, смесителей 222 и/или смесителя 214 может регулироваться или переконфигурироваться.
Посредством предоставления возможности конфигурирования IF, первой LO-частоте и/или второй LO-частоте, IF может быть сконфигурирована до значения в пределах включающего диапазона примерно 100-350 МГц. Варианты осуществления, где IF, первая LO-частота и/или вторая LO-частота являются регулируемыми, могут предоставлять возможность динамического конфигурирования одной или более схем подканалов до IF с помощью включающего диапазона. Конфигурируемая или адаптируемая IF предлагает дополнительные степени свободы при проектировании. Эти степени свободы могут предоставлять возможность изменения IF в одном или более подканалов, чтобы удовлетворять требованиям компонентов, таких как фильтры 212, 220 и/или 226, генератор 218 сигналов, генератор 224 квадратурных сигналов и/или смесители 214 и 222. Например, если в течение срока эксплуатации приемного устройства один или более компонентов становятся устаревшими, либо один или более улучшенных компонентов, соответствующих другому диапазону IF, становятся доступными, IF может быть изменена посредством конфигурирования или адаптации первой LO-частоты и/или второй LO-частоты в одной или более схем подканалов. В примерных вариантах осуществления IF может составлять 140, 160 и/или 200 МГц, и эти значения могут соответствовать техническим условиям недорогих фильтров и смесителей, которые разработаны для сотовых телефонов.
В других вариантах осуществления подканал 200 может иметь меньше или больше компонентов. Функции двух или более компонентов могут быть реализованы в одном компоненте. Альтернативно, функции некоторых компонентов могут быть реализованы в дополнительных экземплярах компонентов или в компонентов не в приемном устройстве. Хотя фиг.2A иллюстрирует одну схему 200 подканалов, в некоторых вариантах осуществления может быть больше схем подканалов. В некоторых вариантах осуществления одна или более схем подканалов может не использовать квадратурное детектирование и дискретизацию. Вместо этого сигнал может преобразовываться практически в базовую полосу в одном или более смесителей с помощью второго опорного сигнала, имеющего вторую несущую или LO-частоту.
Фиг.2B иллюстрирует вариант осуществления схемы 260 подканалов. Вертикальная линия 262 соответствует схеме 246 детектирования на фиг.2A. Для надлежащей производительности схемы 260 подканалов требуется равное число положительных и отрицательных A/D-выборок из A/D-преобразователей 238. Если A/D-выборки не усредняются до нуля, они содержат смещение, также называемое смещением постоянной составляющей, которое в ходе процесса корреляции кодов (332 и 334 на фиг.3) будет преобразовано в дополнительный мешающий шум, либо, если смещение постоянной составляющей больше автокорреляционной защиты, обеспечиваемой соответствующим кодом расширения спектра, будет представляться как мешающий спутниковый сигнал. Схемы 248 корректировки смещения постоянной составляющей настраивают I- и Q-сигналы вблизи базовой полосы, чтобы уменьшить смещение постоянной составляющей в одном или обоих из этих сигналов.
Один подход к удалению смещения постоянной составляющей заключается в том, чтобы усреднять A/D-выборки на период и вычитать результирующее среднее из поступающих A/D-выборок. Тем не менее, этот подход может использовать несколько битов точности в несмещенных A/D-выборках, а, следовательно, несколько битов точности в ходе обработки 242 сигналов. Другие способы могут включать в себя ручную или программную калибровку смещений постоянной составляющей. Эти способы измеряют смещение постоянной составляющей и регулируют опорные A/D-напряжения или пороги посредством регулирования вручную компонентов в схеме 260 подканалов или предоставления переменного напряжения обратной связи с помощью цифроаналогового (D/A) преобразователя. В некоторых вариантах осуществления счетчики, связанные с операционными усилителями, могут быть использованы для того, чтобы определять число положительных и отрицательных выборок из A/D-преобразователей 238 и регулировать опорное напряжение так, чтобы было равное число положительных и отрицательных выборок, и среднее I- и Q-выборок равнялось нулю. Операционные усилители и ассоциированные схемы обратной связи выбираются таким образом, что время интеграции импульсов находится между 100 мс и 10 с.
A/D-преобразователи 238 имеют несколько вариантов осуществления для преобразования одного или более сигналов GNSS из аналоговой в цифровую форму. Как известно в данной области техники, соответствующая частота дискретизации, равная или превышающая частоту Найквиста, является допустимой. В вариантах осуществления, где используются комплексные выборки, частота дискретизации может быть больше или равна ширине полосы фильтров 226 (фиг.2A). Например, для сигналов GPS частота дискретизации может быть больше 32 МГц. В других примерных вариантах осуществления частота дискретизации может составлять 40, 60 или 80 МГц. Поскольку потребление мощности и ограничения хронирования в ходе обработки сигналов возрастают пропорционально частоте дискретизации, частота дискретизации в 40 МГц может быть подходящей для существующих и планируемых сигналов GNSS. Если в будущем сигналы GNSS с большей шириной полосы станут доступными, ширина полосы фильтров 226 и частота дискретизации A/D-преобразователей 238 может быть увеличена соответствующим образом на основе новой частоты Найквиста.
В некоторых вариантах осуществления одна или более схем подканалов, такая как схема 260 подканалов в первом канале может быть конфигурируемой, чтобы выводить один или более цифровых сигналов, имеющих регулируемое или конфигурируемое число битов. Число битов может составлять 1, 2, 3, 4 или 5, включая 1-битовое (2-уровневое) квантование, 2-битовое (3-уровневое или знак и величина, т.е. 1, 0 и -1) квантование, 2-битовое (4-уровневое) квантование и 3-битовое (8-уровневое) квантование. В некоторых вариантах осуществления может быть использовано большее число битов, однако сложность A/D-преобразователя, такого как A/D-преобразователь 238, варьируется как квадрат от числа битов, и могут быть сокращающиеся выгоды по мере того, как число битов увеличивается выше 5. Число битов может динамически конфигурироваться или адаптироваться. Конфигурирование и/или адаптация может управляться посредством контроллера в приемном устройстве и/или контроллера, по меньшей мере, в одной из схем подканалов, например схема 260 подканалов. A/D-преобразование может использовать одно или более отображений, сохраненных в таблице поиска, такой как таблица 236 поиска. Соответствующее отображение может быть реализовано посредством логики 234 управления. В вариантах осуществления, где одна или более схем подканалов сконфигурированы так, чтобы выводить сигнал, имеющий 1 бит, один или более A/D-преобразователей 238 могут быть заменены компаратаром. Помимо этого, при использовании 1-битового квантования в A/D-преобразователях 238 обратная связь в AGC 230 может быть необязательной.
Поскольку информационное содержимое сигнала StarFire Network (1200 или 2400 битов в секунду) гораздо меньше, чем для сигналов GNSS, может быть использована меньшая частота дискретизации, например, 38,4 кГц. Эта частота в 16 или 32 раза больше частоты Найквиста и упрощает возможный будущий рост скорости широковещательной передачи данных. Она также обеспечивает возможность синхронизации границ битов данных с асинхронными цифровыми выборками без значительной потери мощности сигнала.
Выборки из одной или более схем подканалов, таких как схема 260 подканалов, могут быть обработаны в процессоре 242 сигналов. В некоторых вариантах осуществления более одного подканала могут подавать выборки на процессор 242 сигналов. В некоторых вариантах осуществления может быть более одного процессора сигналов, и процессоры сигналов могут быть использованы совместно, так что процессоры сигналов функционируют как один процессор сигналов. Выборки из соответствующей схемы подканалов, такой как схема 260 подканалов, могут направляться на более чем один процессор сигналов.
Обработка сигналов может быть реализована в аналоговых схемах, цифровых схемах или комбинациях аналоговых и цифровых схем. За исключением A/D-преобразователей 238 операции могут выполняться с помощью аппаратных средств, таких как специализированная интегральная схема (ASIC), программного обеспечения либо комбинации аппаратных средств и программного обеспечения.
Фиг.3 иллюстрирует вариант осуществления процессора 300 сигналов, такого как процессор 242 сигналов (фиг.2A). A/D-преобразователи 310 и 312 предоставляют I- и Q-выборки соответственно. A/D-преобразователи 310 и 312 являются первым портом в схеме 300 обработки сигналов, по меньшей мере, для соответствующей схемы подканалов. Таким образом, первый порт соответствует, по меньшей мере, надлежащему подканалу, принимающему данные на одной несущей сигнальной частоте в сигнале. Могут быть дополнительные порты из дополнительных схем подканалов, связанных либо со схемой 300 обработки сигналов, либо с дополнительными экземплярами схемы 300 обработки сигналов. В вариантах осуществления с многочастотной антенной отдельный подканал и порт может быть использован для каждой несущей сигнальной частоты в сигнале. В вариантах осуществления с несколькими антеннами, например в системе определения ориентации, отдельный порт может требоваться для каждой несущей сигнальной частоты в сигналах от каждой антенны.
I- и Q-выборки подаются на 3-уровневые преобразователи 314, которые выполняют отображение числа битов в I- и Q-выборках на знак и величину. В некоторых вариантах осуществления 3-уровневые преобразователи 314 могут быть реализованы с помощью схемы или таблицы поиска, такой как таблица 244 поиска (фиг.2A). Выборки подаются на мультиплексоры 316 и 318, которые связывают оставшуюся часть схемы 300 обработки сигналов, по меньшей мере, с одним из портов.
Согласно фиг.2A, опорные сигналы из генератора 224 квадратурных сигналов могут различаться по фазе не точно на 90°. Если сигнал преобразуется с понижением частоты в базовую полосу, возникает фазовая ошибка или смещение и соответствующие потери при обработке сигналов. Как следствие, традиционные приемные устройства в типичном варианте не используют квадратурное детектирование и дискретизацию, как проиллюстрировано на фиг.2A. Помимо этого, дискретизация и квантование в типичном варианте не выполняется в базовой полосе. Наоборот, дискретизация и квантование в типичном варианте могут выполняться в остаточной IF, такой как четверть частоты дискретизации A/D-преобразователя, такого как A/D-преобразователи 238. Посредством увеличения частоты дискретизации A/D-преобразователя и усреднения выборок остаточное смещение может быть удалено. В сущности, A/D-преобразователь в этих традиционных приемных устройствах преобразует с понижением частоты сигнал в базовую полосу. Тем не менее, результирующие I- и Q-выборки определяются за временной интервал. Это может сделать корректировку многолучевых сигналов, таких как многолучевой сигнал 116 (фиг.1), более трудной. Также может быть негативное влияние на мощность, ассоциированное с повышенной частотой дискретизации A/D-преобразователя. В тех традиционных приемных устройствах, которые реализуют преобразование с понижением частоты непосредственно с радиочастот до практически базовой полосы, квадратурное детектирование в типичном варианте не используется.
В приемнике устройства 110 (фиг.1) сигнал преобразуется с понижением частоты практически в базовую полосу и, как ранее описано при пояснении схемы 200 подканалов, может быть дискретизирован и квантован в квадратуре. Этот метод детектирования позволяет определять I- и Q-выборки практически одновременно. Это, в свою очередь, может обеспечивать улучшенную корректировку многолучевого сигнала 116 (фиг.1) и меньшее потребление мощности. Тем не менее, по-прежнему существует проблема возможного остаточного смещения, ассоциированного с фазовыми ошибками в опорных сигналах из генератора 224 квадратурных сигналов. Преобразование с понижением частоты практически в базовую полосу предоставляет решение. Как указано выше, результирующий сигнал фактически имеет намеренный доплеровский сдвиг частоты. Комплексный поворот фазы может выполняться в ходе обработки 242 сигналов, чтобы корректировать намеренный доплеровский сдвиг частоты. В этом процессе соответствующее смещение практически равномерно распределено в пределах 0-360° и усредняется до нуля.
Согласно фиг.3, комплексный поворот, чтобы скорректировать остаточное смещение и намеренный доплеровский сдвиг частоты, ассоциированный с преобразованием с понижением частоты практически в базовую полосу, выполняется в схеме 326 комплексного поворота (например, посредством принудительного задания Q-выборок, равных 0). Как дополнительно описывается ниже, комплексный поворот может быть основан на значении в таблице 324 поиска. Значение определяется на основе генератора несущих сигналов или NCO 320, который является частью контура отслеживания несущих или фаз, который определяет намеренный доплеровский сдвиг частоты, который должен быть скорректирован. По меньшей мере, один код расширения спектра в выборках сигнала демодулируется в корреляторах 332 и 334 на основе кодера 330 и генератора сигналов кода или NCO 328, который является частью контура отслеживания кодов. Накопления I и Q для корреляторов 332 и 334 подканалов выводятся во время измерения в программное обеспечение обработки сигналов, где накопления могут быть использованы для того, чтобы вычислять обратную связь для контуров отслеживания фаз и кодов.
Как описано выше, операции корреляции, в сущности, смешивают спутниковые сигналы, включенные в I- и Q-выборки, с опорным сигналом, формируемым посредством соответствующего канала. Если фаза, частота и хронирование опорного сигнала практически дублирует принимаемые из спутника, мощность, накапливаемая посредством корреляторов 332 и 334 подканалов, максимизируется. Если имеются ошибки синхронизации в опорном сигнале, мощность, накапливаемая посредством корреляторов 332 и 334, понижается, если хронирование кода имеет ошибку меньше чем один бит кода расширения спектра, или равна нулю, если ошибка хронирования больше или равна биту кода расширения спектра.
Операции поворота и корреляции выполняются на частоте дискретизации, так что есть очень небольшие потери SNR вследствие обработки сигналов. Порядок операций поворота и корреляции является произвольным. Следовательно, в некоторых вариантах осуществления корреляция может выполняться до поворота, поворот может выполняться до корреляции либо операции поворота и корреляции могут комбинироваться в одну операцию. В примерном варианте осуществления поворот выполняется до корреляции. Это позволяет выполнять один поворот на пару I- и Q-выборки. Тем не менее, предусмотрено множество возможных корреляций, включающих в себя один набор на подканал.
R
R
Как показано на фиг.3, I- и Q-выборки из одной или более схем подканалов, таких как схема 200 подканалов (фиг.2A), смешиваются с компонентом сигнала несущей из опорного сигнала для соответствующего канала посредством комплексного поворота 326 I- и Q-выборок. Выборки I и Q С поворотом формируются с использованием соотношений
R
·
·
I=Icos(NCO)-Qsin(NCO)
R
·
·
Q=Isin(NCO)+Qcos(NCO),
где NCO представляет значение из таблицы 324 на основе NCO 320 несущей. NCO 320 несущей содержит фазу опорного сигнала для соответствующего канала, такого как первый канал. В некоторых вариантах осуществления фаза опорного сигнала или фаза несущей интегрирована с помощью накопителя фаз. Фазовый угол несущей, как предполагается, равен нулю, когда накопитель фаз запускается для соответствующего канала при соответствующем фронте тактового сигнала опорного осциллятора. В сущности, фаза не равна нулю в начальное время, но соответствующая ошибка отслеживания будет отражаться в I- и Q-выборках. Отслеживание фазы несущей будет корректировать опорный фазовый угол. Вследствие ранее описанного намеренного сдвига частоты опорного осциллятора имеется начальный положительный фазовый угол доплеровской несущей.
Как описано ранее, имеется большое количество несущих частот сигнала и кодов расширения спектра, используемых или запланированных для различных GNSS. Краткий обзор различных кодов расширения спектра, предлагаемых и/или используемых в различных GNSS, предоставлен ниже. Дополнительные сведения обобщены в приложении.
Спутники GNSS предоставляют навигационные сигналы, которые использует множество различных систем кодов расширения спектра. Все из этих кодов расширения спектра, за исключением P-кода GPS, основаны на кодах расширения спектра максимальной последовательности (M-последовательности) различной длины, при этом соответствующая длина задает период повторения для соответствующего кода расширения спектра. Помимо этого, некоторые из кодов расширения спектра имеют дополнительную сложность.
C/A-код в GPS SBAS и GNSS передается в широковещательном режиме в сигналах несущей, имеющих несущую частоту сигнала L1. Спутники GPS, как сообщается, будут иметь возможность передавать в широковещательном режиме C/A-код в сигналах несущей, имеющих несущую частоту сигнала L2 вместо P(Y), но в настоящее время этого не наблюдается. C/A-коды определяются (Navstar GPS ICD-GPS-200, ARINC Research Corporation) как "исключающее или" двух 10-битовых многочленов максимальных полей Галуа, т.е. CA = G1  G2, где
3
10
G1=1+X+X и
2
3
6
8
9
10
G2=l+X+X+X+X+X+X.
Как проиллюстрировано на фиг.4, формирование кодов расширения спектра зачастую реализуется с помощью сдвиговых регистров, таких как сдвиговые регистры 410. В варианте осуществления 400 степень n соответствующей переменной X в многочленах полей Галуа соответствует номеру каскада сдвигового регистра, который содержит бит обратной связи из n битов времен ранее. Бит 10, самый старший бит, является выходом сдвигового регистра 410. Каждое время бита, когда регистры сдвигаются вправо, и "исключающее или" 412 выбранных битов (позиция бита выбирается до смещения) вводится обратно в бит 1. "Исключающее или" 418 выходов из сдвиговых регистров 410 формирует выход 420, который является последовательностью, соответствующей C/A-коду.
10
Для C/A-кода оба сдвиговых регистра 410 имеют начальное состояние из всех единиц, т.е. 3FF в шестнадцатеричной форме. Каждый из сдвиговых регистров 410 формирует различную последовательность значений регистров, которые содержат все 1023 уникальных 10-битовых ненулевых целых числа. Оба сдвиговых регистров 410 автоматически повторно переходят в начальное состояние на 1024-й бит кода. Следовательно, C/A-код имеет длину в 1023 бита (2-1) или соответствующих тактов.
Начальное состояние сдвигового регистра 410-1 G1 синхронизируется с границей кода миллисекундного периода дискретизации GPS. В некоторых вариантах осуществления вместо взятия "исключающего или" определенных каскадов в сдвиговом регистре 410-2 G2 (как описано посредством GPS ICD 200), начальное состояние сдвигового регистра 410-2 G2 может быть задержано относительно миллисекундного периода дискретизации на разное число битов кода для каждого различного спутникового кода (это способ, используемый для определения C/A-кодов в SBAS GNSS). Используя любой подход, "исключающее или" 418 сдвиговых регистров 410 формирует уникальный C/A-код для каждого спутника.
Задержка сдвигового регистра 410-2 G2 может выбираться таким образом, что результирующий C/A-код 420 имеет баланс между единицами и нулями (имеется четное число битов в последовательностях, так что должен быть один дополнительный 0 или 1 для каждого C/A-кода). Соответствующие боковые лепестки взаимной корреляции и автокорреляции C/A-кодов, следовательно, минимизируются. Эта группа кодов называется семейством золотых кодов. GPS GNSS использует 37 золотых кодов, называемых PRN 1-37. Первые 32 из этих кодов используются спутниками GPS, а остальные 5 кодов зарезервированы для тестирования. SBAS GNSS использует различные C/A-коды в одном семействе золотых кодов для сигналов несущих, имеющих несущую частоту сигнала L1, от различных спутников. Эти коды определены как PRN 120-138. QZSS GNSS планирует использовать C/A-коды для сигналов несущих, имеющих несущую частоту сигнала L1.
Спутники в GPS GNSS также кодируют сообщения данных двухпозиционной фазовой манипуляции (BPSK) при 50 битах в секунду для сигналов, кодированных с помощью C/A-кода. Эти сообщения используют контроль по четности Хемминга для обнаружения ошибок.
GPS GNSS находится в процессе добавления двух новых общедоступных сигналов, называемых L2CM и L2CL, в сигналы несущей, имеющие несущую частоту сигнала L2. Многочлен, описывающий коды, следующий:
3
4
5
6
9
11
13
16
19
21
24
27
P=1+X+X+X+X+X+X+X+X+X+X+X+X.
Вариант осуществления 500 сдвигового регистра 510, реализующего L2C-коды, проиллюстрирован на фиг.5. Вариант осуществления 500 отличается от варианта осуществления 400 (фиг.4) в нескольких аспектах. Предусмотрен только сдвиговый регистр 510 с 27 состояниями вместо двух 10-битовых сдвиговых регистров 410 (фиг.4). Биты в сдвиговом регистре 510 пронумерованы слева направо в таком порядке, чтобы соответствовать X-задержкам в многочлене. Так же, для обратной связи L2C "исключающее или" выходного бита из сдвигового регистра 510 берется с несколькими битами регистров (многобитовая обратная связь, в отличие от однобитовой обратной связи на фиг.4).
L2CM (для гражданского применения, код средней длины) и L2CL (для гражданского применения, код большой длины) используют кодовую скорость в 0,5115 МГц и являются на 50% мультиплексированными по времени друг с другом. Как проиллюстрировано в варианте осуществления 600 на фиг.6, сигнал 610 L2CM-кода передается в широковещательном режиме в первой половине каждого тактового сигнала в 0,5115 МГц, а сигнал 612 L2CL-кода в широковещательном режиме во второй половине тактового сигнала. Сигнал 610 L2CM-кода и сигнал 612 L2CL-кода комбинируются с помощью сигнала 614 активации множественного доступа с временным разделением (TDMA). Активация 614 TDMA попеременно выбирает сигнал 610 L2CM-кода (M на фиг.6) и сигнал 612 L2CL-кода (L на фиг.6). Активация 614 TDMA переключает между кодовыми сигналами 610 и 612 с частотой 1,023 МГц при 50% скважности для каждого кода, формирующего L2C-комбинированный кодовый сигнал 616. Частота границы битов L2C-комбинированного кодового сигнала 616 составляет 1,023 МГц, и она чередует половину битов сигнала 610 L2CM-кода и сигнала 612 L2CL-кода.
27
L2CM-код имеет длину в 10230 битов и повторяется каждые 20 мс. L2CL-код имеет длину в 767250 битов и повторяется каждые 1,5 секунды. Оба кода являются поднаборами одной M-последовательности, имеющей длину 2-1 битов (больше 134 миллионов битов). Коды различаются только состоянием сдвигового регистра 510 (фиг.5) в начале кодовой последовательности. Уникальное начальное состояние для каждого L2CM-кода и L2CL-кода назначается для каждого спутника (номер PRN). Поскольку коды являются только частью полной M-последовательности, последовательность L2C-комбинированного кода не повторяется автоматически, как в случае C/A-кода. L2C-комбинированный код может быть перезапущен посредством либо обнаружения конечного состояния кода, либо подсчета соответствующего числа битов кода. В начале каждого периода кода сдвиговый регистр 510 (фиг.5) сбрасывается в начальное состояние.
Сообщения данных также модулируются в сигналы 610 L2CM-кода на скорости 25 битов в секунду. Используется сверточный код со скоростью 1/2, ограничением или длиной серии 7, так что скорость передачи символов составляет 50 символов в секунду. Сигнал 612 L2CL-кода не модулирован, т.е. он не содержит дополнительных данных. Как следствие, L2CL-сигнал 612 может отслеживаться с помощью контура отслеживания фазы (такого как используемый посредством NCO 320 несущей на фиг.3), а не контура Костаса (контура отслеживания фаз, где синусоидальный член I нормализуется посредством косинусоидального члена Q, чтобы отслеживать биты данных), который часто используется с сигналами, имеющими модулированные сообщения данных. В некоторых вариантах осуществления L2CL-сигнал 612 может отслеживаться с помощью контура Костаса. Порог синхронизации на 6 дБ лучше для контура отслеживания фазы. Сигнал также может когерентно интегрироваться бесконечно, чтобы улучшить соотношение сигнал-шум в состояниях очень слабого сигнала. В отличие от этого, сигналы с модулированными данными могут когерентно интегрироваться только на длину модулированного символа данных до жесткого решения о том, что требуется модуляция.
GPS GNSS также находится в процессе добавления двух новых общедоступных сигналов несущей, имеющих несущую частоту сигнала L5. Эти два несущих сигнала называются X5I и X5Q и передаются в широковещательном режиме одновременно с использованием сигналов, имеющих несущую частоту сигнала L5 и включающих в себя квадратурную фазовую манипуляцию (QPSK). X5I модулируется по синфазной части несущего сигнала, а X5Q модулируется по квадратурной части несущего сигнала. Как проиллюстрировано в варианте осуществления 700 на фиг.7, X5I- и X5Q-коды формируются из трех 13-битовых сдвиговых регистров, XA 710, XBI 714 и XBQ 718. Одинаковый многочлен используется для XBI 714 и XBQ 718
XB
3
4
6
7
l2
13
P=1+X+X+X+X+X+X+X
XA 710 использует:
XA
9
10
12
13
P=1+X+X+X+X
Однобитовая обратная связь для каждого из сдвиговых регистров 710, 714 и 718 предоставляется посредством "исключающего или" 712. "Исключающее или" 726 выхода из сдвиговых регистров 710 и 714 формирует X5I 728. "Исключающее или" 730 выхода из сдвиговых регистров 710 и 718 формирует X5Q 732.
13
X5I 728 и X5Q 732 имеют скорость передачи битов в 10,23 МГц и имеют длину в 10230 битов либо временной период в 1 мс. Поскольку 13-битовые M-последовательности имеют длину только в 2-1 битов (8191 битов), сдвиговый регистр 710 XA переводится в коротком цикле обратно в свое начальное состояние на один бит раньше, когда он достигает 8190-го бита, т.е. когда сдвиговый регистр 710 XA равен 1FFD в шестнадцатеричной форме. Сдвиговые регистры 714 и 718 XB не переводятся в коротком цикле, что вызывает прецессию двух кодов. Это, в сущности, конкатенирует вторую M-последовательность с длиной 2040 битов к концу первой последовательности в 8190 битов. Оба сдвиговых регистра 714 и 718 XB переводятся в коротком цикле обратно в свои начальные состояния после 10230-го бита. Короткие циклы могут быть реализованы посредством подсчета битов или посредством сравнения регистров с их известными конечными состояниями. В некоторых вариантах осуществления, следовательно, один или более дополнительных счетчиков (таких как подсчитывающий до 8190 и/или подсчитывающий до 10230) и/или один или более компараторов (например, сравнивающих регистры XA и/или XB с конечными состояниями) могут быть включены. В варианте осуществления 700 состояние сдвигового регистра 710 XA проверяется 724, и если удовлетворено некоторое условие (равно 1FFD), начальное 1FFF в шестнадцатеричной форме устанавливается 722. В других вариантах осуществления короткий цикл может быть реализован посредством подсчета битов. Начальное состояние регистров 714 и 718 XB отличается для X5I- и X5Q-кодов и для каждого различного спутника.
X5I-сигнал модулируется с помощью данных сверточного кода в 100 символов в секунду, со скоростью 1/2, ограничением или длиной серии 7. Помимо этого, последовательности X5I-кода с временным периодом в 1 мс дополнительно модулируются с помощью кода Неймана-Хаффмана с временным периодом в 10 мс (периодом в 1 символ), который равен 035 в шестнадцатеричной форме для нулевого символа и 3CA в шестнадцатеричной форме для единичного символа. Код Неймана-Хаффмана фактически удлиняет код расширения спектра без значительного негативного влияния в ходе вхождения в синхронизм с сигналом.
X5-сигнал также модулируется с помощью данных, но X5Q-код удлиняется посредством наложения временного периода в 20 мс, 20-битового кода Неймана-Хаффмана, равного 04D4E в шестнадцатеричной форме, для повышения длины кода расширения спектра без значительных дополнительных затрат на вхождение в синхронизм с сигналом. X5Q-код не имеет дополнительной модуляции, т.е. он не переносит дополнительных данных. Он может отслеживаться с помощью методов отслеживания фазы, таких как с использованием фазоследящего контура или контура Костаса, который часто используется для сигналов с модулированными данными. Контур отслеживания фазы предоставляет дополнительные 6 дБ пороговой чувствительности синхронизации. Коды без данных также могут когерентно интегрироваться бесконечно, чтобы улучшить вхождение в синхронизм с сигналом в средах слабых сигналов.
Все спутники в системе GLONASS GNSS используют общий 9-битовый код расширения спектра для своих общедоступных кодов в сигналах несущей, имеющих несущую частоту сигнала L1 или L2. В настоящее время только сигналы несущей, имеющие несущую частоту сигнала L1, доступны для всеобщего использования. Тем не менее, GLONASS анонсировала планы предоставить сигналы несущей, имеющие несущую частоту сигнала L2, которые используют тот же код. В GLONASS GNSS разнесение сигналов достигается посредством использования FDMA, т.е. различной широковещательной несущей частоты сигнала для каждого спутника. Многочлен для кодов GLONASS следующий:
5
9
P(X)=1+X+X
Фиг.8 иллюстрирует вариант осуществления 800 сдвигового регистра 810 с "исключающим или" 812, предоставляющего однобитовую обратную связь для формирования этого кода.
Код GLONASS имеет длину в 511 битов и, разумеется, перезапускается на каждые 511 битов. Кодовая скорость равна 0,511 МГц, так что частота повторения составляет 1 мс. Сообщения данных BPSK в пять битов в секунду модулируются в кодированных сигналах. Манчестерский код модуляции используется для битов данных.
Спутники GLONASS используют FDMA для того, чтобы не допускать взаимные помехи. Каждый спутник передает в широковещательном режиме сигналы, имеющие разную несущую частоту сигнала. Два спутника, которые занимают одну орбиту, могут совместно использовать частоту, если они занимают положение на противоположных сторонах Земли. Частоты GLONASS пронумерованы от -7 до 13. Формула для частоты каждого канала в МГц следующая:
k
·
L1=1602+k0,5625
и
k
·
L2=1246+k0,4275,
где k варьируется от -7 до 13. До 2005 года GLONASS планировала использовать только частотные каналы от 0 до 13 (1602-1609,3125 МГц по L1 и 1246-1251,6875 МГц по L2). Каналы 0 и 13 зарезервированы для тестирования системы. Начиная с 2005 года, GLONASS планирует сместиться к меньшим частотам и использовать каналы от -7 до +6 (1598,0625-1605,375 МГц по L1 и 2142,0375-1248,625 МГц по L2). Частоты 5 и 6 должны быть использованы для тестирования.
WASS, EGNOS и MSAS GNSS в настоящее время предоставляют GPS-подобные C/A-кодированные сигналы, имеющие несущую частоту сигнала L1. Проводятся обсуждения по поводу того, чтобы добавить услугу на несущей частоте сигнала GPS L5 для спутников WASS, но коды не согласованы окончательно.
Спутники в SBAS GNSS модулируют C/A-кодированные сигналы с помощью BPSK-кодированных сообщений данных в 500 символов в секунду. Сверточный код со скоростью 1/2, ограничением или длиной серии 7 используется, так что скорость передачи данных составляет 250 символов в секунду.
QZSS GNSS планирует использовать 3 или более спутников с высокоэллиптическими орбитами, чтобы обеспечить то, что, по меньшей мере, один спутник всегда является видимым при самых больших углах места в Японии. Эти спутники должны передавать в широковещательном режиме сигналы, имеющие несущие частоты сигналов L1, L2 и L5, которые идентичны соответствующим сигналам GPS.
Четвертый экспериментальный сигнал QZSS также планируется для несущей частоты сигнала GALILEO E6. Код двоичного сдвигового кода BOC(14,2) рассматривается, но технические условия окончательно не согласованы. BOC-коды поясняются ниже.
GALILEO GNSS (а также некоторые будущие GPS-коды) использует коды, которые налагают различные типы двоичных сдвиговых кодов (BOC) на коды расширения спектра. GALILEO планирует предоставлять до 10 сигналов, имеющих несущие частоты сигнала L1, L5 (E5A и E5B) и E6. Некоторые из сигналов должны быть доступными для общего использования, некоторые должны оплачиваться для использования, а некоторые должны быть зарезервированы для авторизованных пользователей. Определения кодов, используемых посредством GALILEO, не согласованы окончательно. Некоторые из сигналов используют BPSK- или QPSK-кодирование, как в GPS, а некоторые из них используют BOC. Множество методов формирования кодов рассматриваются для сигналов GALILEO, включая коды расширения спектра M-последовательности и коды, которые не могут быть сформированы алгоритмически. Последовательности битов кода неалгоритмических кодов должны быть сохранены в памяти приемника и вызываться бит за битом по мере того, как выполняется корреляция сигналов.
BOC - это комбинация "исключающего или" BPSK-кода и прямоугольной волны. Классический манчестерский код модуляции - это BOC-код с одним тактом прямоугольной волны на бит данных BPSK. Стало обычным классифицировать скорости прямоугольной волны и BPSK-кодов, используемых посредством GNSS, с помощью обозначения BOC(A,B), где A - это число тактов прямоугольной волны на период 1,023 МГц, а B - это число битов BPSK на период 1,023 МГц. BOC-коды, которые рассматриваются различными GNSS, включают в себя BOC(1,1) для общедоступного сигнала GALILEO, имеющего несущую частоту сигнала L1, BOC(10,5) для сигналов GPS военного назначения, имеющих несущие частоты сигнала L1 и L2, BOC(14,2) для сигнала QZSS, имеющего несущую частоту сигнала L6, BOC(15,X) для высокоточных сигналов с оплатой за использование, имеющих несущие частоты сигнала E5A и E5B, и BOC(15, 2,5) для GALILEO сигналов государственного регулирования (только авторизованное использование), имеющих несущую частоту сигнала L1.
Одна причина того, что используются BOC-коды, состоит в том, чтобы минимизировать межсигнальные помехи. Например, спектры мощности для GPS C/A- и P-кодированных сигналов имеют первичный пик, центрированный на несущей частоте сигнала L1 и нуль для частот с любой стороны на частоте повторения кода (1,023 МГц для C/A-кода и 10,23 МГц для P-кода). Малые боковые лепестки повторяются с частотой повторения кода. Наложенные прямоугольные волны в BOC-кодах разделяют мощность сигнала равномерно между двумя лепестками, которые смещены от центральной несущей частоты сигнала на частоту повторения прямоугольной волны. В случае кода GALILEO BOC(1,1) пики мощности двух BOC-сигналов смещены примерно на 1 МГц от несущей частоты сигнала, и имеется нуль на центральной частоте. Как следствие, пики мощности BOC-сигналов лежат непосредственно на нулях мощности сигналов C/A-кода, и нуль BOC совпадает с пиком мощности сигналов C/A-кода. Таким образом, помехи между сигналами GPS и GALILEO минимизированы.
BOC-коды и отслеживание BOC-кодов используют прямоугольные волны с различными фазовыми соотношениями относительно начала границы битов BPSK. Четыре типа относительных соотношений, где начало фронта прямоугольной волны запаздывает от начала границы битов BPSK на 0, 90, 180 или 270° (в цикле прямоугольной волны), являются наиболее распространенными. Эти четыре возможных фазовых соотношения далее упоминаются как [0011], [0110], [1100] и
[1001], где единицы и нули определяют относительную фазу и полярность BOC-волны относительно границы битов BPSK. Фиг.9 иллюстрирует вариант осуществления 900 временной диаграммы для BOC(1,1). Это пояснение, однако, применимо к любому BOC-коду с целым числом прямоугольных волн на бит BPSK. Передние фронты прямоугольной волны 912 [0011] и прямоугольной волны 914 [1100] совпадают по фазе с границами 910 BPSK-кода. Прямоугольная волна 912 [0011] является низкой для первой половины периода прямоугольной волны, тогда как прямоугольная волна 914 [1100] является высокой для первой половины. Прямоугольная волна 916 [0110] и прямоугольная волна 918 [1001] не совпадают по фазе с границами 910 BPSK-кода на одну четверть периода прямоугольной волны. Прямоугольная волна 916 [0110] является низкой для первой четверти периода прямоугольной волны, высокой для следующей половины и низкой для последней четверти. Прямоугольная волна 918 [1001] является инверсией прямоугольной волны 916 [0110].
Прямоугольная волна 912 [0011] и прямоугольная волна 914 [1100] являются стандартными формами BOC-сигналов. Тем не менее, нет строгого соглашения для выбора одного по сравнению с другим, и некоторые проекты технических требований к BOC-коду для спутников GNSS пренебрегли определением того, что должно быть использовано спутниками. BOC-коды, основанные на прямоугольной волне 916 [0110] и прямоугольной волне 918 [01001], также называются QBOC.
Фиг.10 иллюстрирует вариант осуществления 1000 для комбинирования BPSK-кода с прямоугольной волной, чтобы сформировать код BOC(A,B), такой как BOC(1,1) или BOC(2,2). BPSK-код 1010 иллюстрирует четыре бита умноженного на А BPSK-кодированного сигнала 1,023 МГц. Четыре BPSK-бита - это 0-1-0-0. "Исключающее или" умноженной на В прямоугольной волны 1012 [1100] BPSK 1,023 МГц с BPSK-кодированным сигналом 1010 дает в результате кодированный сигнал 1014 BOC(A,B). "Исключающее или" умноженной на B прямоугольной волны 1016 [1001] BPSK 1,023 МГц с BPSK-кодированным сигналом 1010 дает в результате кодированный сигнал 1018 QBOC(A,B).
Согласно фиг.3, как пояснено выше, фаза, частота и хронирование опорного сигнала сильно влияют на мощность, накапливаемую корреляторами 332 и 334. Контур отслеживания кода пытается сохранить эти соотношения между опорным сигналом и принимаемым сигналом. Фиг.11 иллюстрирует вариант осуществления 1100 кодового NCO 328. Скорость 1110 кодового NCO используется в качестве обратной связи для замыкания контура отслеживания кода и управления временными характеристиками кодов. Обратной связью является сумма скорости передачи битов кода и доплеровской частоты. В типичном варианте контуру отслеживания кода значительную поддержку оказывает относительно широкий контур отслеживания несущей.
Высокочастотная динамика отслеживается посредством более широкого контура отслеживания несущей. Более узкая (менее зашумленная) ширина полосы может быть использована для контура отслеживания кода. Любая скорость обновления обратной связи, меньшая, чем один раз в мс, может быть использована для скорости 1110 кодового NCO. Надлежащая скорость обновления является параметром проектирования контура отслеживания кода. Например, типичные скорости обратной связи равны примерно 1/10 ширины полосы контура. Более высокие скорости обратной связи увеличивают нагрузку обработки, но могут иметь незначительное влияние на эффективность контура. Скорости обратной связи, меньшие 1/10 ширины полосы контура, могут слабо синхронизировать или увеличивать шум контура при динамических условиях.
Кодовый NCO 328 (фиг.3) в контуре отслеживания кода может практически поддерживать фазу кода опорного сигнала, формируемого в приемном устройстве, посредством интеграции скорости 1110 кодового NCO с помощью сумматора 1112 и накопителя 1114 фаз кода. В некоторых вариантах осуществления скорость 1110 кодового NCO - это скорость передачи элементарных сигналов кода в принимаемом сигнале. Сигналы хронирования и активации для кодера 330, которые могут формировать BOC-коды, QBOC-коды, коды с временным мультиплексированием, коды расширения спектра M-последовательности и/или могут извлекать биты неалгоритмического кода из памяти приемника, могут быть получены из кодового NCO 328. Для BOC-кодов скорость 1110 кодового NCO - это скорость битов прямоугольной волны. Скорость кода расширения спектра получается посредством деления этой скорости битов на B 1124. Для простых кодов расширения спектра скорость 1110 кодового NCO - это скорость битов, и деление на B 1124 равно единице.
Эти основные управляющие сигналы могут быть сформированы посредством кодового NCO 328 (фиг.3). Это активация 1146 в половину элементарного сигнала, BOC 1148 и QBOC 1150. Активация 1146 в половину элементарного сигнала является первичным сигналом активации кодера 330 и подканалов. BOC 1148 и QBOC 1150 - это прямоугольные волны для BOC-кодов. BOC 1148 и QBOC 1150 могут быть инвертированы или отключены с помощью вентилей 1132 и/или 1134 "исключающее или" и регистров 1126, 1128 и 1130.
Относительное хронирование прямоугольных волн BOC и кодов расширения спектра M-последовательности может программироваться с помощью деления на B 1124, которое является числом прямоугольных волн на бит кода M-последовательности. В примерных вариантах осуществления для не-BOC-кодов деление на B 1124 устанавливается на 1, и сигналы BOC 1148 и QBOC 1150 отключаются. Для BOC(1,1), BOC(2,2) или BOC(10,10), деление на B 1124 устанавливается на 1. Для BOC(10,5) деление на B 1124 устанавливается на 2. Для BOC(15,2,5) деление на B 1124 устанавливается на 6. А для BOC(14,2) деление на B 1124 устанавливается на 7. Вместе BOC 1148 и QBOC 1150 прямоугольных волн BOC предоставляют все 4 возможные фазы прямоугольных волн BOC (как проиллюстрировано на фиг.9). BOC 1148 может конфигурироваться как [1100] или [0011], тогда как QBOC 1150 может быть [0110] или [1001]. Накопления из корреляторов 332 и 334 (фиг.3) также могут конфигурироваться для использования BOC 1148 либо QBOC 1150, чтобы реализовать методы обработки сигналов, которые используют комбинации прямоугольных волн BOC 1148 и QBOC 1150.
Из предшествующего описания различных кодов расширения спектра очевидно, что один или более кодеров, таких как кодер 330 (фиг.3), в приемном устройстве могут быть реализованы в одной из двух эквивалентных областей с помощью сдвиговых регистров. В первой области, проиллюстрированной на фиг.4, 7 и 8, однобитовая обратная связь по модулю 2 реализована с помощью дерева "исключающее или" множества битов. Этот классический тип кодера упоминается как конфигурация Фибоначчи. Во второй области, проиллюстрированной на фиг.5, используется многобитовая обратная связь. Каждый бит обратной связи является "исключающим или" выходного бита и отдельных битов в сдвиговом регистре. Этот тип кодера упоминается как конфигурация Галуа. Либо область, либо тип кодера может быть использован для того, чтобы сформировать данный код расширения спектра. Алгоритм для преобразования из одной области в другую описан ниже. Это позволяет одному кодеру, такому как кодер 330 (фиг.3), формировать два или более кодов расширения спектра в приемном устройстве.
Каждый из различных кодов расширения спектра, используемых в сигналах GNSS, формируются с помощью двух многочленов поля Галуа. L2C-коды (фиг.5) и код (фиг.8), используемый в GLONASS GNSS, используют один многочлен и один сдвиговый регистр. Другие коды расширения спектра используют два многочлена и создают свой код посредством взятия "исключающего иди" двух выходов сдвигового регистра. Тем не менее, имеется широкое варьирование в размере сдвиговых регистров и степени многочлена поле Галуа, которые формируют коды расширения спектра.
GLONASS GNSS использует один 9-битовый регистр 810 (фиг.8). В GPS GNSS C/A-код использует два 10-битовых регистра 410 (фиг.4). GPS L5-коды используют два 13-битовых регистра 714 и 718 (фиг.7), а GPS L2C-коды используют один 27-битовый регистр 510 (фиг.5). Как описано выше, GPS L5-код (фиг.7) имеет длину 10230 битов, но многочлены поля Галуа и сдвиговые регистры 710, 714 и 718 (фиг.7) формируют последовательность, которая имеет длину 8190. Как следствие, 2040 битов из второго кода того же семейства присоединяются, начиная с 8191-го бита, чтобы достичь требуемой длины.
Кодеры для всех представленных кодов, за исключением GPS L2C-кода, используют конфигурацию Фибоначчи с однобитовой обратной связью для "младшего" конца данного сдвигового регистра. В различных примерах этих кодеров младший конец сдвигового регистра находится на левой стороне. Тем не менее, в альтернативных вариантах осуществления младший конец сдвигового регистра может быть на правой стороне. Обратная связь создается из "исключающего или" нескольких битов сдвигового регистра. Множество входных "исключающих или" в кодере используются для того, чтобы реализовать эти коды. В отличие от этого, кодер для L2C-кода использует обратную связь, которая создается посредством взятия "исключающего или" выходного бита и отдельных регистровых битов. Обратная связь осуществляется в нескольких местах различных битов одновременно. Следовательно, обратная связь L2C реализуется с помощью вентилей "исключающего или" с двумя входами и одним выходом. Вентиль "исключающее или" в конфигурации Галуа может быть предпочтительней формы с множеством входом, используемой в конфигурации Фибоначчи, особенно для очень высокоскоростных кодов. Отметим, что младший конец в сдвиговом регистре 510 (фиг.5) для L2C-кода находится в правой стороне. Тем не менее, в альтернативных вариантах осуществления младший конец сдвигового регистра для L2C-кодера и другие кодеры, использующие конфигурацию Галуа, могут быть на левой стороне.
N
N
Многочлены поля Галуа, которые не могут быть разложены, формируют последовательности максимальной длины. Как следствие, эти многочлены также называются неразложимыми или примитивными многочленами. Соответствующие последовательности называются максимальными последовательностями, и коды также называются M-кодами. Неповторяющаяся длина битовой последовательности составляет 2-1, где N - это степень многочлена. В ходе формирования последовательности максимальной длины содержимое сдвигового регистра, когда выражено как N-битовые целые числа, будет принимать все значения от 1 до 2-1, если сдвиговый регистр не переводится в коротком цикле.
Коды расширения спектра, созданные посредством "исключающего или" двух последовательностей максимальной длины (как многие коды расширения спектра в GNSS), могут быть выражены как многочлен, который является побитовым умножением (с помощью сложения по модулю 2 без переносов) многочленов для двух последовательностей максимальной длины. Степень результирующего многочлена равна сумме степеней умноженных многочленов. Альтернативно, степень результирующего многочлена равна сумме степеней умноженных многочленов. Например, C/A-код является "исключающим или" двух кодов, определенных многочленами степени 10 (как показано на фиг.10). Этот код расширения спектра может быть реализован одним многочленом степени 20. Комбинированный многочлен не формирует битовую последовательность максимальной длины. Он повторяется после 1023 битов, как многочлены 10-битового C/A-кода.
Способ, который далее упоминается как преобразование Кана, для умножения и комбинирования многочленов предоставлен ниже. C/A-код расширения спектра для PRN-1 используется в качестве иллюстративного примера операций в процедуре. Операции представляются по порядку. Тем не менее, в некоторых вариантах осуществления порядок двух или более операций может быть изменен, дополнительные операции могут быть добавлены, операции могут комбинироваться и/или операции могут быть удалены.
N
В примере преобразования Кана C/A-многочлены выражаются в двоичной форме как (N+1)-битовые регистров с 1 в самой правой стороне (самый младший бит) и X в бите N справа. Изменение порядка битов на противоположный дает в результате
3
10
G1=1+X+X=10010000001
и
2
3
6
8
9
10
G2=1+X+X+X+X+X+X=10110010111.
Умножение многочленов побитово, как в обычном умножении, но с помощью сложения "исключающего или" (по модулю 2), чтобы складывать столбцы (отбрасывать переносы), дает в результате
2N
Выражение результата в форме многочлена с самым младшим битом как X и самым левым 1-битом равным 1 в многочлене дает в результате
2
5
8
11
16
18
19
20
C/A-многочлен = 1+X+X+X+X+X+X+X+X.
N
N
2
5
8
11
16
18
19
20
1
Битовая последовательность, сформированная в этом примере, повторяется после 1023 битов, которые также являются длиной последовательностей C/A-кода G1 и G2. Начальное состояние сдвигового регистра - это первые N битов для соответствующего кода расширения спектра (оставшиеся биты равны нулю). Первый бит переходит к самому правому биту сдвигового регистра. Этот бит соответствует X. Для C/A-кода расширения спектра PRN-1 первые 20 битов (справа налево) - это (20-й бит) 0010 1001 1100 0001 0011 (1-й бит) = 29C13 в шестнадцатеричной форме. Бит обратной связи для этой новой формы кода создается посредством взятия "исключающего или" всех битов, на которые ссылается многочлен. Бит обратной связи сдвигается к самому младшему биту на левой стороне сдвигового регистра. Для C/A-кода расширения спектра обратной связью является "исключающее или" битов сдвигового регистра, которые соответствуют ненулевым членам многочлена X: X, X, X, X, X, X, X и X. Обратная связь записывается обратно в позицию X.
Используя эту процедуры, два или более, либо все кодеры в приемном устройстве могут быть реализованы с помощью одного сдвигового регистра. Многочлен для L2C-кода уже в корректной форме, но соответствующая обратная связь может быть создана на основе многочлена, как указано в процедуре.
N
В некоторых вариантах осуществления процедура может быть реализована, используя самый правый бит в сдвиговом регистре в качестве первого бита, а самый левый бит - в качестве X-ного бита.
После того как все коды расширения спектра преобразованы в однорегистровую форму может быть реализован один кодер, который допускает реализацию двух или более либо всех битовых последовательностей кода GNSS расширения спектра. Вариант осуществления 1200, иллюстрирующий такой кодер, проиллюстрирован на фиг.12. Кодер в варианте осуществления 1200 может адаптироваться, конфигурироваться и/или программироваться. Логика 1224 управления выбирает маску 1216 многочлена обратной связи (которая является двоичным представлением кодового многочлена) для кода расширения спектра, который должен быть сформирован из таблицы 1218 масок многочленов обратной связи. Маска 1216 обратной связи не включает 1 в соответствующий многочлен. Биты из N-битового сдвигового регистра 1210 и маски 1216 многочлена обратной связи комбинируются побитовым образом с помощью дерева вентилей 1220 и 1222 "исключающего или " с двумя входами и одним выходом. Бит обратной связи - это "исключающее или" N битов результатов. В этой реализации дерево "исключающего или" имеет глубину примерно log2(N)+2. Дерево может иметь значительную сквозную задержку, прежде чем оно установится в корректный результат. Для кода расширения спектра, такого как GPS L5, начальное состояние сдвигового регистра 1210 может быть выбрано из таблицы 1212 начальных состояний с помощью логики 1224 управления. Выход 1214 соответствует требуемому сигналу кода расширения спектра.
Стиль обратной связи в кодерах, использующих конфигурацию Галуа, например L2C-кодере, проиллюстрированном на фиг.5, может быть более простым для обобщения, и они подвержены меньшей сквозной задержке. Вариант осуществления 1300 на фиг.13 иллюстрирует обобщенный кодер. Кодер может адаптироваться, конфигурироваться и/или программироваться. В зависимости от интересующего кода расширения спектра логика 1320 управления может выбрать вектор начальных состояний для сдвигового регистра 1310 в таблице 1312 векторов начальных состояний, вектор начальных состояний с коротким циклом для сдвигового регистра 1310 в таблице 1314 векторов начальных состояний с коротким циклом, и/или маску 1316 многочленов обратной связи в таблице 1318 масок многочленов обратной связи. Варианты осуществления программируемого кодера, который может быть использован в качестве кодера 330 (фиг.3), могут иметь сдвиговый регистр 1310 с числом битов, большим или равным самому длинному кодовому многочлену или кодовому многочлену с наивысшей степенью. GPS L2C-код имеет многочлен, соответствующий 27 битам. В некоторых вариантах осуществления, для обеспечения более длинных кодов, таких как некоторые из кодов GALILEO, может быть использован 32-битовый регистр.
Программируемое конечное состояние и программируемое состояние коротких циклов может быть определено с помощью логики 1322 и/или 1324 совместно с сохраненным состоянием сдвигового регистра 1310, используя регистры или таблицы 1326 и/или 1328. В некоторых вариантах осуществления конечное состояние и/или состояние коротких циклов может быть сформировано с помощью реализации надлежащего кодера с использованием либо аппаратных средств, либо программного обеспечения. В некоторых вариантах осуществления конечное состояние и/или состояние коротких циклов может быть определено посредством подсчета числа битов кода в выходе 1332 с момента начального состояния и сравнения числа с конечным числом.
Логика 1322 конечных состояний используется для создавания периода дискретизации кода и перезапуска кода, требуемого для кодов, которые не циклируются естественным образом. Например, длина GPS L2C- и L5-кодов не совпадает с естественной длиной их компонентных кодов расширения спектра. Когда конечное состояние обнаружено, сдвиговый регистр 1310 сбрасывается к вектору начальных состояний в таблице 1312 векторов начальных состояний.
Логика 1324 состояний с коротким циклом используется для того, чтобы реализовать коды, такие как GPS L5-коды, которые изменяют состояние кодовых регистров в середине их битовой последовательности. Короткий цикл запускает переключатель. Когда состояние с коротким циклом обнаружено, сдвиговый регистр 1310 сбрасывается к вектору начальных состояний с коротким циклом в таблице 1314 векторов начальных состояний с коротким циклом. Короткие циклы могут быть отключены посредством установки регистра 1328 на значение, такое как нуль, которое никогда не возникает в сдвиговом регистре 1310.
Программируемые значения таблиц или регистров для заданных кодов GPS и SBAS перечислены в приложении. Значения регистра 1326 конечных состояний и регистра 1328 с короткими циклами сформированы с помощью программного моделирования кодеров, которые записывали содержимое сдвигового регистра при надлежащем номере бита. Алгоритм, который был использован для получения значений таблицы или регистра 1312 векторов начальных состояний, также использован для получения значений вектора или регистра 1314 начальных состояний с коротким циклом.
Обратная связь в варианте осуществления 1300 программируемого кодера осуществляется посредством взятия побитового "исключающего или" маски 1316 многочленов обратной связи с помощью битов в сдвиговом регистре 1310, если выходной бит 1330 равен 1. Алгоритм обратной связи может быть обобщен с помощью псевдокода как
где X[i] представляет бит в сдвиговом регистре 1310.
1
N
В варианте осуществления 1300 биты маски 1316 многочленов обратной связи пронумерованы справа налево (диаметрально противоположно варианту осуществления 1200 на фиг.12). X помещается в самый правый (самый младший) бит, а X - это самый левый бит. Единица из соответствующего многочлена снова игнорируется. В некоторых вариантах осуществления порядок самого старшего и самого младшего бита может быть изменен на противоположный.
k
В некоторых вариантах осуществления начальное состояние сдвигового регистра 1310 может быть определено из первых N выходных битов кода расширения спектра для выхода 1332. Эти первые N битов могут быть взяты из опубликованных таблиц, которые могут быть сохранены в таблице 1312 векторов начальных состояний, либо могут быть вычислены с помощью реализации с использованием либо аппаратных средств, либо программного обеспечения. Выходные биты кода могут быть сохранены в сжатом слове данных Oи использованы в качестве входа в следующий алгоритм. C/A-код расширения спектра для PRN-1 используется в качестве иллюстративного примера каждой операции в следующей процедуре.
Инициировать вектор или регистр S начальных состояний и сдвигового регистра X 1310 в нуль. Алгоритм вычисляет биты в регистре S начальных состояний. Инициировать маску многочленов обратной связи или регистра F 1316 как многочлена обратной связи полей Галуа для требуемого кода, нумеруя биты справа налево и игнорируя 1 в многочлене. Таким образом, S=0, X=0, многочлен обратной связи следующий:
20
19
18
16
11
8
5
2
X+X+X+X+X+X+X+X+1
k
k
и соответствующая маска многочленов обратной связи F - это 1110 1000 0100 1001 0010 или E8492 в шестнадцатеричной форме. Выходные биты O 1332 для C/A-кода расширения спектра PRN-1 с первым битом справа - это O = 0010 1001 1100 0001 0011 = 29C13 в шестнадцатеричной форме.
k
k
k
1
1
k
Установить k=1. Это следующий бит, который должен быть обработан. Биты нумеруются от 1 (первый выходной бит) до N. Установить S равным "исключающему или" O и X. Таким образом, O=1 и S=1 XOR 0=1. Сдвинуть X вправо на один бит, т.е. X=00000 в шестнадцатеричной форме. Если O=1, установить X равным "исключающему или" X и F. Таким образом, X=X XOR F=00000 в шестнадцатеричной форме XOR E8492 шестнадцатеричной форме = E8492 шестнадцатеричной форме. Операции в этом абзаце повторяются для k = от 2 до N, длины многочлена. Операции для нескольких значений k проиллюстрированы ниже.
2
0
2
0
2
Для k=2 выходной бит O=1. Самый младший бит X, X, равен 0. S=X XOR O=0 XOR 1=1. Сдвиг X на один бит вправо дает в результате X=74249 в шестнадцатеричной форме. Далее, X=X XOR F=74249 в шестнадцатеричной форме XOR E8492 в шестнадцатеричной форме = 9C6DB в шестнадцатеричной форме.
3
0
3
0
3
Для k=3 выходной бит O=0. Самый младший бит X, X, равен 1. S=X XOR O=1 XOR 0=1. Сдвиг X на один бит вправо дает в результате X=4E36D в шестнадцатеричной форме. Выходной бит равен 0 (нет обратной связи).
4
0
4
0
4
Для k=4 выходной бит O=0. Самый младший бит X, X, равен 1. S=X XOR O=1 XOR 0=1. Сдвиг X на один бит вправо дает в результате X=271B6 в шестнадцатеричной форме. Выходной бит равен 0 (нет обратной связи).
5
0
5
0
5
Для k=5 выходной бит O=1. Самый младший бит X, X, равен 0. S=X XOR O=0 XOR 1=1. Сдвиг X на один бит вправо дает в результате X=138DB в шестнадцатеричной форме. Далее, X=X XOR F=138DB в шестнадцатеричной форме XOR E8492 в шестнадцатеричной форме = FBC49 в шестнадцатеричной форме.
6
0
6
0
6
Для k=6 выходной бит O=0. Самый младший бит X, X, равен 1. S=X XOR O=0 XOR 1=1. Сдвиг X на один бит вправо дает в результате X=7DE24 в шестнадцатеричной форме. Выходной бит равен 0 (нет обратной связи).
7
0
7
0
7
Для k=7 выходной бит O=0. Самый младший бит X, X, равен 0. S=X XOR O=0 XOR 0=0. Сдвиг X на один бит вправо дает в результате X=3EF12 в шестнадцатеричной форме. Выходной бит равен 0 (нет обратной связи).
8
0
8
0
8
Для k=8 выходной бит O=0. Самый младший бит X, X, равен 0. S=X XOR O=0 XOR 0=0. Сдвиг X на один бит вправо дает в результате X=1F789 в шестнадцатеричной форме. Выходной бит равен 0 (нет обратной связи).
Операции повторяются для битов с 9 по 20, давая в результате S=0E53F в шестнадцатеричной форме для C/A-кода расширения спектра PRN-1.
Вариант осуществления 1300 программируемого кодера может формировать любые из кодов расширения спектра, используемых посредством общедоступных спутниковых сигналов GNSS. Хотя вариант осуществления 1300 иллюстрирует конфигурацию Галуа, в других вариантах осуществления может быть использована эквивалентная конфигурация Фибоначчи. Тем не менее, конфигурация Фибоначчи может приводить к реализации, которая больше и которая использует более сложные схемы для того, чтобы обобщать конечные состояния и состояния с коротким циклом.
Фиг.15 иллюстрирует вариант осуществления операций в спутниковом навигационном устройстве. Регулируемый генератор кодов конфигурируется для генерации кода расширения спектра, выбранного из набора кодовых сигналов расширения спектра (1510). Генерируется кодовый сигнал расширения спектра (1512). В некоторых вариантах осуществления может быть меньше операций или могут быть дополнительные операции, порядок операций может быть перекомпонован, и/или две или более операций могут быть объединены.
Фиг.14 иллюстрирует вариант осуществления устройства 1410, такого как устройство 110 (фиг.1), в глобальной навигационной спутниковой системе (GNSS). Устройство 1410 включает в себя схему 1412 входного каскада, процессор 1414 сигналов, такой как процессор 242 сигналов (фиг.2A), по меньшей мере, один процессор 1416 и запоминающее устройство 1418. Запоминающее устройство 1418, которое может включать в себя высокоскоростное оперативное запоминающее устройство и может также включать в себя энергонезависимое запоминающее устройство, такое как одно или более устройств хранения на магнитных дисках, EEPROM и/или флэш-EEPROM, включает в себя операционную систему 1420 и, по меньшей мере, один программный модуль 1432, исполняемый процессором 1416. По меньшей мере, один программный модуль 1432 включает в себя команды и/или файлы, соответствующие схемам для AGC 1422, A/D-преобразователь 1424, модуль 1426 корректировки смещения постоянной составляющей, модуль 1428 демодуляции, модуль 1430 поворота фазы, кодер/декодер 1434 GNSS и модуль 1442 синхронизации с несущей и кодом. A/D-преобразователь 1424 может включать в себя одно или более отображений квантования. Модуль 1430 поворота фазы может включать в себя синусную/косинусную таблицу поиска. Кодер/декодер 1434 GNSS может включать в себя маски 1436 многочленов обратной связи, векторы 1438 начального состояния и векторы 1440 начального состояния с коротким циклом. Программный модуль 1432 может включать в себя необязательный модуль корректировки многолучевого распространения (такой как модуль корректировки с двойной дельтой, стробированный коррелятор и ипульсный-апертурный коррелятор) и/или модуль вычисления многолучевого распространения. Программный модуль 1432 также может включать в себя команды для регулирования IF, фильтров, смесителей и/или LO-частот в одном или более каналов, например в первом канале, и/или в одной или более схем подканалов, такой как схема 200 подканалов (фиг.2A). В некоторых вариантах осуществления может быть несколько процессоров 1416. В других вариантах осуществления устройство 1410 может включать в себя ASIC, и часть либо вся функциональность, по меньшей мере, одного программного модуля 1432, исполняемого процессором 1416, может быть реализована в ASIC.
Хотя программируемый кодер описан в контексте GNSS, широко используются аналогичные генераторы кодов и генераторы псевдослучайных последовательностей, использующие сдвиговые регистры. Следовательно, необходимо понимать, что программируемый кодер, в конфигурации Фибоначчи или Галуа, может быть реализован в других применениях, помимо приемных устройств GNSS. Помимо этого, преобразование Кана может быть использовано для реализации генератора псевдослучайных кодов в первой области либо во второй области. Этот генератор кодов может быть программируемым или фиксированным.
Вышеприведенное описание для целей пояснения использует конкретную систему условных обозначений, чтобы предоставить полное понимание изобретения. Тем не менее, специалистам в данной области техники должно быть очевидным то, что конкретные подробности необязательны для того, чтобы реализовать изобретение на практике. Варианты осуществления выбраны и описаны таким образом, чтобы лучше всего пояснить принципы изобретения и его практические применения, чтобы тем самым дать возможность специалистам в данной области техники оптимально использовать изобретение и различные варианты осуществления с различными модификациями, подходящими для конкретного предполагаемого варианта использования. Таким образом, предшествующее описание не является исчерпывающим и не ограничивает изобретение точными раскрытыми формами. Множество модификаций и разновидностей допустимо в свете вышеупомянутых принципов.
Предполагается, что объем изобретения должен определяться нижеследующей формулой изобретения и ее эквивалентами.