РАСПРЕДЕЛИТЕЛЬНЫЕ КОДЫ СПУТНИКОВОЙ НАВИГАЦИОННОЙ СИСТЕМЫ
SPREADING CODES FOR SATELLITE NAVIGATION SYSTEM

Область техники, к которой относится изобретение
Настоящее изобретение относится к генерации и использованию набора распределительных кодов спутниковой навигационной системы.
Предпосылки создания изобретения
Спутниковые навигационные системы играют все более важную роль в разнообразных областях применения, включая портативные устройства для определения местоположения, бортовые навигационные системы автомобилей и т.п. Основной спутниковой навигационной системой, используемой в настоящее время, является глобальная система определения местоположения (GPS, от английского - Global Positioning System), управляемая министерством обороны США. К 2003 г. объем продаж оборудования GPS в мире составил около 3,5 миллиардов долларов, и ожидается, что он будет устойчиво расти в течение ближайших нескольких лет. Предполагается, что в конце этого десятилетия будет введен в действие европейский аналог спутниковой навигационной системы под названием Galileo (Галилео).
Спутниковая навигационная система состоит из группы спутников, каждый из которых передает на землю один или несколько сигналов. Основной составляющей сигнала спутника является распределительный код (также именуемый кодом определения местоположения, синхронизации или определения дальности), который объединен с навигационной информацией. Затем полученное сочетание используют для модулирования несущей на заданной частоте для передачи на землю. Каждый спутник обычно осуществляет передачу на множестве частот, что помогает компенсировать любые искажения сигнала при прохождении через атмосферу.
В некоторых случаях множеством сигналов (именуемых каналами) модулируют одну несущую с использованием соответствующей схемы уплотнения. Например, планируется, что некоторыми сигналами Galileo будут являться каналы передачи данных со сдвигом по фазе на 90 градусов относительно пилотного канала. Пилотный канал содержит только распределительный код и не содержит навигационную информацию, а канал передачи данных содержит как распределительный код, так и навигационную информацию.
Распределительный код сигнала спутника обычно представляет собой заданную последовательность символов (иногда именуемых "импульсами") и служит для решения двух основных задач. Во-первых, распределительный код обеспечивает механизм установления синхронизации приемника с сигналом спутника. За счет этого каждый спутник (и обычно каждый канал, по которому ведет передачу такой спутник) имеет собственный код синхронизации. При первом включении приемника неизвестно, сигналы каких спутников могут быть приняты, поскольку некоторые спутники, входящие в группу, находятся ниже горизонта для данного конкретного местоположения в данное конкретное время. Приемник использует коды синхронизации для установления синхронизации с сигналом, поступающим от первого спутника. После этого может быть осуществлен доступ к навигационной информации, содержащейся в сигнале. Впоследствии она служит эфемеридной информацией для других спутников группы и позволяет относительно быстро обнаруживать остальные видимые для приемника спутники.
Во многих приемниках применяют двухстадийный процесс установления синхронизации. На первой стадии приемник осуществляет синхронную взаимную корреляцию входящего сигнала и набора всех возможных сигналов. При этом осуществляют поиск сигнала любого спутника с любой возможной ошибкой синхронизации спутника и приемника и любым возможным доплеровским сдвигом между спутником и приемником (зависящим от движения спутника в космическом пространстве). Если установлено, что взаимная корреляция превышает заданный порог, осуществляют вторую стадию, предусматривающую более подробный анализ соответствующего сочетания спутников, ошибки синхронизации и доплеровского сдвига. Это анализ может, например, предусматривать большую продолжительность интегрирования, попытку получить доступ к навигационной информации и декодировать ее и т.д. с целью подтверждения правильности осуществленной синхронизации.
Второй основной задачей распределительного кода является вычисление расстояния от спутника до приемника исходя из времени прохождения сигнала от спутника до приемника, что можно записать в виде следующей формулы: c(Tr-Ts), в которой:
с означает скорость распространения света (известную с учетом влияния ионосферы и т.д.),
Ts означает время передачи сигнала спутником, которое закодировано в самом сигнале, и
Тr означает время приема сигнала приемником.
После этого методом трилатерации может быть определено местоположение приемника в трехмерном пространстве при условии, что известны местоположения спутников (содержащиеся в их навигационной информации). Теоретически это может быть сделано с использованием параметров сигналов, как минимум, трех спутников. Вместе с тем, на практике можно записать следующее уравнение Тr=Тm+о, в котором Тm означает измеренное время приема сигнала приемником, а о означает ошибку синхронизации приемника и спутника, которая обычно неизвестна, не считая специальных приемников. Таким образом, подразумевается, что для компенсации неизвестной ошибки синхронизации приемника получают параметры сигнала по меньшей мере одного дополнительного спутника. При наличии доступных сигналов дополнительных спутников может быть определено местоположение на основании статистических данных с использованием любого соответствующего алгоритма, такого как алгоритм наименьших квадратов. При этом также может быть получено определенное показание ошибки, связанной с расчетным местоположением.
Важным параметром распределительного кода является его скорость передачи битов, поскольку это в свою очередь влияет на точность, с которой может осуществляться определение местоположения. Например, при скорости передачи битов в 1 МГц каждый бит соответствует аберрационному времени, за которое свет проходит 300 метров. Затем в зависимости от того, насколько точно может быть оценен сдвиг фаз спутника и приемника для одного бита, устанавливают точность определения местоположения. Обычно это зависит от шума в системе. Например, если сдвиг фаз может быть измерен с точностью до 90 градусов (π/2), это соответствует определению местоположения с точностью в 75 метров. Подразумевается, что при более высокой скорости передачи битов распределительного кода определение местоположения может осуществляться с более высокой точностью.
Другим важным параметром распределительного кода является его общая длина, иными словами, число битов или импульсов распределительного кода до его повторения. Одной из причин этого является тот факт, что конечная длина распределительного кода способна вызвать неоднозначность при определении местоположения. Например, допустим, что скорость передачи битов составляет 10 МГц, а общая длина последовательности составляет 256 битов, что соответствует аберрационному времени, за которое свет проходит 7,68 км. Измерение расстояния от спутника до приемника не задано однозначно, а может быть выражено лишь как 7,68n+d км, где d задано относительным определением временных интервалов передачи и приема распределительного кода, но n является неизвестным целым числом. Существуют различные способы решения задачи неоднозначности значения n, в том числе с использованием сигналов большего числа спутников или информации о приблизительном местоположении, полученной из какого-либо иного источника.
Распространенным способом является сопоставление временного сдвига кода с краем битов навигационной информации (данный способ называют синхронизацией битов), а также сопоставление края битов со временем недели (ToW, от английского - time of week), содержащимся в навигационной информации, передаваемой спутником.
Подразумевается, что с увеличением периода повторения распределительного кода ослабляются проблемы, связанные с неоднозначным определением расстояния. При большей длине распределительного кода также обеспечивается лучшее разделение сигналов, поступающих из различных источников, и повышается их устойчивость к помехам. В то же время при более длинном периоде повторения распределительного кода может быть задержано вхождение в синхронизм с сигналом, а также требуется наличие у приемника более высокой производительности обработки данных. Длина распределительного кода также влияет на скорость передачи, которая может использоваться для навигационной информации, поскольку обычно на каждую полную последовательность распределительного кода приходится только один бит навигационной информации (в противном случае они создавали бы взаимные помехи). Таким образом, чем больше период повторения распределительного кода, тем меньше скорости передачи битов навигационной информации.
Известен способ решения данной задачи, который заключается в использовании иерархического или многоярусного распределительного кода, включающего первичный и вторичный коды. Если допустить, что первичный код содержит N1 битов, а вторичный код содержит N2 битов, первые N1 биты всего распределительного кода соответствуют первичной последовательности исключающее ИЛИ с первым битом вторичного кода, следующие N1 биты распределительного кода представляют собой повтор N1 битов первичного кода, на это раз исключающее ИЛИ со вторым битом вторичного кода и так далее. В результате получаем общую длительность повторения кода N1×N2. Вместе с тем, период повторения с целью синхронизации составляет лишь N1, поскольку первичный код по-прежнему имеет корреляционный пик независимо от значения бита из вторичного кода (при этом лишь меняется знак корреляционного пика). Аналогичным образом скорости передачи битов навигационной информации зависит от длины одного первичного кода N1, а не общей длины первичного и вторичного кодов N1*N2.
Распределительные коды GPS реализованы с использованием линейных регистров сдвига с обратными связями (ЛРСОС), в которых отводят и снова подают на вход избирательные выходные сигналы N-разрядного сдвигового регистра. Обратные связи в ЛРСОС можно отобразить в виде многочлена N-го порядка, при этом действие ЛРСОС может быть полностью задано его многочленом и начальной установкой ЛРСОС.
N
В GPS используют поднабор ЛРСОС, известный как золотые коды, которые обладают некоторыми особыми математическими свойствами. Одно из них состоит в том, что они генерируют выходной сигнал псевдослучайного шума с максимальным периодом повторения 2-1, за счет чего относительно компактный ЛРСОС способен генерировать выходной сигнал с большим периодом повторения. Золотые коды также обладают хорошими автокорреляционными свойствами, что способствует точности определения местоположения. В частности, автокорреляционная функция имеет четко выраженный пик при нулевом временном сдвиге и относительно небольшой пик при всех остальных (т.е. не нулевых) временных сдвигах. Можно также выбрать набор золотых кодов с хорошими взаимными корреляционными свойствами, при этом взаимная корреляционная функция отличающихся кодов остается относительно слабой. Это важно для установления синхронизации с сигналом, поскольку помогает предотвращать случайное принятие кода синхронизации одного спутника за код синхронизации другого спутника. Дополнительным важным практическим критерием выбора распределительного кода является наличие равного (или почти равного) числа единиц и нолей, что известно как симметричность кода.
Дополнительная информация о спутниковых навигационных системах и, в частности, о GPS содержится работе Per Enge "Re-Tooling the Global Positioning System", Scientific American, май 2004 г., стр.64-71, и в работе Misra и Enge "Global Positioning System: Signals, Measurements and Performance", Ganga-Jamuna Press, 2001 г., ISBN 0-9709544-0-9. Информация о предлагаемых сигналах системы Galileo содержится в работе Hein и др. "Status of Galileo Frequency and Signal Design", сентябрь 2002 г., доступной на сайте:
http://europa.eu.int/comm/dgs/energy transport/galileo/doc/galileo_stf_ion2002.pdf
, а также работе Issler и др. "Galileo Frequency and Signal Design", GPS World, июнь 2003 г., доступной на сайте:
http://www.gpsworld. com/ gpsworld/article/articleDetail.jsp?id=61244.
http://forschung.unibw-muenchen.de/papers/krc5ejjflurjj9jsrxk4spthvmg0be.pdf.
Предлагаемый приемник Galileo/ GPS описан в работе Heinrichs и др. "HIGAPS -A Large-Scale Integrated Combined Galileo/GPS Chipset for the Consumer Market", доступной на сайте:
Несмотря на то что использование золотых кодов в существующих спутниковых навигационных системах хорошо известно, у таких кодов существует ряд недостатков. Например, они доступны только при определенной длине кода (в многочлене ЛРСОС могут использоваться не все значения N). Обычно длина кода задана соотношением между скоростью передачи импульсов распределительного кода и скоростью передачи битов навигационной информации. Если длина кода ограничена длиной доступного золотого кода, это подразумевает ограничение скорости передачи импульсов и скорости передачи битов, что в свою очередь влияет на другие параметры, такие как время установления синхронизации и точность определения местоположения. В некоторых случаях ограничение длины кода длиной золотых кодов преодолевают за счет использования усеченных золотых кодов, но это усечение отрицательно сказывается на математических свойствах кодового набора (с точки зрения автокорреляционной функции и т.д.).
Кроме того, взаимные корреляционные свойства золотых кодов обычно не оптимизированы применительно к ситуации, когда при каждом повторении кода меняется его полярность в соответствии с передаваемой навигационной информацией. Эта проблема усугубляется при относительно высокой скорости передачи битов навигационной информации (как в случае системы Galileo), поскольку в этом случае существует значительная вероятность того, что полярность передаваемого распределительного кода будет противоположна полярности распределительного кода, переданного непосредственно перед этим. (Это также является причиной использования пилотных каналов в системе Galileo, чтобы облегчить синхронизацию без прерывания навигационной информацией).
Свойства взаимной корреляции также имеют особое значение в условиях относительно плохого приема сигнала, таких как внутри зданий. В этом случае первый сигнал одного спутника может быть сильным, например, если спутник находится в пределах прямой видимости через окно, а второй сигнал другого спутника может быть существенно слабее, например, если линия прямой видимости второго спутника проходит через конструкцию здания. Если в этих условиях предпринимается попытка установить синхронизацию со вторым спутником, существует риск того, что при корреляции относительно более сильного, но неверного первого сигнала будет получен больший (или сходный) результат, чем при корреляции относительно более слабого, но верного второго сигнала. Хотя любая возникающая ошибочная идентификация первого сигнала в качестве второго сигнала обычно корректируется позднее на последующей стадии синхронизации, это приводит к задержкам, поскольку процедура синхронизации должна возвращаться на первую стадию. В случае множества таких ошибочных идентификаций время установления синхронизации может существенно увеличиться.
Краткое изложение сущности изобретения
Соответственно в одном из вариантов осуществления изобретения предложен способ создания набора вторичных распределительных кодов для использования в спутниковой навигационной системе, включающей группу спутников. Каждый спутник из группы использует многоярусный распределительный код, включающий по меньшей мере первичный код и вторичный код. За каждым спутником из группы закреплен отличающийся вторичный распределительный код из набора вторичных распределительных кодов. В ходе осуществления способа генерируют исходный набор битовых комбинаций, в котором каждая битовая комбинация отображает потенциальный вторичный распределительный код. В ходе осуществления способа дополнительно осуществляют оптимизацию битовых комбинаций, входящих в исходный набор битовых комбинаций, путем изменения или замены по меньшей мере некоторых из битовых комбинаций в исходном наборе с целью создания окончательного набора битовых комбинаций для использования в качестве набора вторичных распределительных кодов.
Было установлено, что при использовании отличающихся вторичных кодов для различных спутников уменьшается корреляция между кодами различных спутников, за счет чего улучшаются характеристики приемника. Применение процесса оптимизации для определения набора вторичных кодов обеспечивает более высокую гибкость, чем в случае набора кодов на основе математических алгоритмов (таких как золотые коды), например, с точки зрения длины вторичного кода, числа доступных кодов в наборе и конкретных свойств кодов.
В одном из вариантов осуществления битовые комбинации в исходном наборе битовых комбинаций представляют собой случайные последовательности символов, хотя могут использоваться любые иные начальные комбинации, например, генерированные линейными регистрами сдвига с обратными связями или любым другим псевдослучайным алгоритмом. Следует отметить, что использование случайно созданных исходных битовых комбинаций обычно помогает обеспечить хорошее покрытие всей области поиска потенциальных вторичных кодов. В процессе оптимизации битовые комбинации могут быть изменены путем случайного переориентирования бита по меньшей мере одной из битовых комбинаций. Для более длинных вторичных кодов может потребоваться переориентировать множество битов на протяжении по меньшей мере начальной части процесса оптимизации с целью ускорения сходимости, хотя, поскольку вторичные коды обычно являются относительно короткими (по сравнению с общей длиной многоярусного кода), было установлено, что приемлемую скорость сходимости обычно обеспечивает переориентация всего одного бита кода на каждом шаге итерации. Если обнаружено, что изменения привели к ухудшению характеристик, осуществляют обратные изменения (обеспечивая при этом, чтобы набор битовых комбинаций не ухудшился), хотя такое ухудшение характеристик может быть приемлемым с вероятностей точки зрения (в особенности, если ухудшение не слишком велико), чтобы в процессе оптимизации можно было избежать локальных максимумов.
Подразумевается, что существует большое разнообразие известных стратегий оптимизации, таких как алгоритм модельной "закалки", генетические алгоритмы и т.д., а для создания окончательного набора битовых комбинаций может использоваться любая из таких применимых стратегий. В некоторых из этих стратегий оптимизация может предусматривать генерацию более крупной совокупности битовых комбинаций с последующим выбором лучших примеров (например, путем естественного отбора по принципу "выживает сильнейший"), а другие стратегии могут быть основаны на непрерывном изменении индивидуальных битовых комбинаций в заданном наборе.
В одном из вариантов осуществления процесс оптимизации включает отклонение битовых комбинаций, не отвечающий критерию симметричности, за счет чего обеспечивают относительно малую постоянную составляющую кодов. Критерий симметричности может быть основан на квадратном корне числа битов в битовой комбинации, отображающем ожидаемую постоянную составляющую случайного кода. Следует отметить, что в других вариантах осуществления симметричность кода может быть включена в формальную оптимизацию, т.е. результатом оптимизации является уменьшение симметричности, а не просто отклонение битовых комбинаций, симметричность которых превышает заданный порог. Другая возможность состоит в том, что после обнаружения битовых комбинаций с хорошими свойствами симметричности в процессе оптимизации оставляют симметричность без изменения (например, путем выбора пар битов для переориентации, одним из которых является 0, а другим 1). Другие критерии, которые могут аналогичным способом применяться для симметричности, включают максимальную длительность конкретного значения бита (единицы и/или ноля).
В одном из вариантов осуществления в процессе оптимизации используют функцию характеристики (или стоимости), выведенную для битовой комбинации из функции автокорреляции. Она может использоваться для выбора битовых комбинаций с хорошими индивидуальными свойствами. Затем функция характеристики или стоимости, выведенная из функции взаимной корреляции, может использоваться для выбора группы битовых комбинаций, которые в сочетании образуют хороший кодовый набор. Подразумевается, что минимальные боковые лепестки функции взаимной корреляции способствуют улучшению свойств установления синхронизации, например, облегчается установлении синхронизации с сигналом в условиях плохого приема, таких как внутри помещения и под кронами деревьев, а минимальная взаимная корреляция с другими кодами ослабляет помехи при коллективном доступе и внутрисистемный шум, за счет чего повышается устойчивость установления синхронизации с сигналом, слежения и демодуляции данных.
Процесс оптимизации может включать первую стадию обнаружения битовых комбинаций с хорошими индивидуальными свойствами и вторую стадию выбора набора вторичных распределительных кодов из обнаруженных битовых комбинаций с хорошими индивидуальными свойствами. Число обнаруженных битовых комбинаций с хорошими индивидуальными свойствами может существенно превышать число спутников в группе. Например, на первой стадии может быть обнаружена группа из 250 или более битовых комбинаций с хорошими индивидуальными свойствами. Такая группа обеспечивает хорошую возможность последующего выбора на второй стадии оптимизации, а также согласования возможного использования кодов за пределами самой группы спутников, например, в псевдоспутниках, что более подробно рассмотрено далее, в результате чего может возникнуть потребность в большем числе возможных кодов.
Было установлено, что использование первой и второй стадий является удобным и эффективным подходом к осуществлению оптимизации. Вместе с тем, в других вариантах осуществления может использоваться только одна стадия оптимизации, которую осуществляют непосредственно в группах битовых комбинаций.
В одном из вариантов осуществления вторая стадия включает вычисление функции взаимной корреляции между каждой парой обнаруженных битовых комбинаций с хорошими индивидуальными свойствами. Было установлено, что этот исчерпывающий поиск всех возможных комбинаций более эффективен с вычислительной точки зрения, чем итеративный поиск потенциальных наборов битовых комбинаций, хотя и он может использоваться, если это целесообразно (например, если число обнаруженных битовых комбинаций очень велико).
В одном из вариантов осуществления число битов в битовой комбинации вторичного кода составляет от 25 до 512, более точно от 50 до 128. Следует отметить, что применительно к вторичным кодам очень малой длины может проводиться исчерпывающий поиск доступного пространства кода с целью определения применимого набора битовых комбинаций (вместо использования описанной выше процедуры оптимизации какого-либо рода).
В другом варианте осуществления изобретения предложен приемник, включающий окончательный набор битовых комбинаций, созданных с использованием описанного выше способа. Битовые комбинации могут быть защищены в приемнике кодом с исправлением ошибок. Приемник может иметь по меньшей мере одно постоянное запоминающее устройство (ПЗУ) для хранения вторичных кодов многоярусных распределительных кодов, а также необязательно первичных кодов. В некоторых приемниках можно обновлять ПЗУ, например, для отображения каких-либо изменений распределительных кодов, поступающих от спутников.
В некоторых вариантах осуществления приемник может включать битовые комбинации по меньшей мере двух групп спутников, например, Galileo и GPS. Следует учесть, что распределительными кодами GPS являются золотые коды, которые обычно генерирует приемник с использованием линейного регистра сдвига с обратными связями. Вместе с тем, если к множеству спутниковых навигационных систем желательно применить единый непротиворечивый подход, коды GPS могут храниться в виде полных битовых комбинаций.
Следует отметить, что существуют различные способы передачи битовых комбинаций приемнику. Например, в некоторых вариантах осуществления битовые комбинации могут быть предварительно установлены в приемнике. В некоторых вариантах осуществления битовые комбинации могут быть установлены (или обновлены) в приемнике посредством съемного запоминающего устройства какого-либо рода, такого как флэш-память. В некоторых вариантах осуществления битовые комбинации могут быть установлены (или обновлены) в приемнике через сеть, например, путем загрузки через Интернет или сеть мобильной телефонной связи (последний вариант особо удобен, если сам приемник включен в мобильное телефонное устройство какого-либо рода). В этом случае коды необязательно должны храниться в самом приемнике, а доступ к ним может по мере необходимости осуществляться через сеть.
Соответственно в другом варианте осуществления изобретения предложен способ управления сервером, поддерживающим связь с приемниками для использования во взаимодействии со спутниковой навигационной системой. В ходе осуществления способа сохраняют набор битовых комбинаций, соответствующих вторичным кодам, которые использует спутниковая навигационная система, и в ответ на принимаемый от приемника запрос на доступ к набору хранящихся битовых комбинаций передают хранящиеся битовые комбинации приемнику для использования при установлении синхронизации с сигналами спутниковой навигационной системы. Битовые комбинации могут передаваться по телефонной сети, Интернету или любой другой применимой сети.
В другом варианте осуществления изобретения предложен спутник, использующий одну или несколько битовых комбинаций из окончательного набора битовых комбинаций, созданных описанным выше способом. Одна или несколько таких битовых комбинаций также может использоваться псевдоспутником. (Псевдоспутник генерирует сигнал определения местоположения, аналогичный сигналу навигационного спутника, но псевдоспутник находится на земле и обычно используется там, где требуется высокая точность, например, вблизи аэропортов, для усиления поступающих от спутников сигналов определения местоположения).
Описанный выше подход позволяет откладывать решение об окончательной форме вторичных распределительных кодов до последних стадий разработки системы, поскольку для заданного кода (в отличие от конкретного ЛРСОС) необязательно характерно определенное аппаратное обеспечение (например, запоминающее устройство). Кроме того, битовые комбинации, хранящиеся в спутнике, можно обновлять уже на орбите. Такое обновление может осуществляться в ответ на обнаруженную ошибку в хранящейся битовой комбинации (предположительно вызванную космическим излучением), а также полезно для орбитального испытания кодов на последней стадии внедрения или ввода в действие. Возможность обновления также выгодна при необходимости передачи кода, который отличается от первоначально запланированного, например, из-за взаимных помех с другими услугами или из-за перераспределения определенных интервалов. В этом случае обычно требуется передать соответствующее обновление приемникам, хотя другой возможной причиной обновления может являться ограничение круга пользователей, имеющих доступ к распределительным кода спутника (по экономическим причинам или по соображениям безопасности).
Следует отметить, что, несмотря на то что описанный выше подход в основном рассчитан на спутниковые навигационные системы (включая псевдоспутники), он также применим в других системах навигации или связи (спутниковых, наземных или морских), в которых для генерации кодов синхронизации и т.п. ранее использовали ЛРСОС.
Краткое описание чертежей
Далее лишь в качестве примера подробно описаны различные варианты осуществления изобретения со ссылкой на следующие чертежи, на которых:
на фиг.1А проиллюстрирована характеристика смоделированной функции взаимной корреляции (ФВК или CCF, от английского - cross-correlation function) между первыми двумя многоярусными распределительными кодами, совместно использующими общий вторичный код изначально предложенных пилот-сигналов E5A-Q системы Galileo,
на фиг.1Б - характеристика смоделированной функции взаимной корреляции между первыми двумя многоярусными распределительными кодами, совместно использующими общий вторичный код, изначально предложенных пилот-сигналов E5B-Q системы Galileo,
на фиг.2 - характеристика смоделированной функции взаимной корреляции (ФВК) между первыми двумя многоярусными распределительными кодами, совместно использующими общий вторичный код, изначально предложенных пилот-сигналов E5A-Q с доплеровским сдвигом частоты на 10 Гц,
на фиг.3А - характеристика смоделированной функции взаимной корреляции (ФВК) с использованием отличающихся вторичных кодов пилот-сигналов E5A-Q согласно одному из вариантов осуществления изобретения,
на фиг.3Б - характеристика смоделированной функции взаимной корреляции (ФВК) с использованием отличающихся вторичных кодов пилот-сигналов E5B-Q согласно одному из вариантов осуществления изобретения,
на фиг.3В - характеристика смоделированной функции взаимной корреляции (ФВК) с использованием отличающихся вторичных кодов пилот-сигналов E5A-Q с доплеровским сдвигом частоты на 10 Гц согласно одному из вариантов осуществления изобретения,
на фиг.4 - высокоуровневая блок-схема способа генерации вторичных распределительных кодов согласно одному из вариантов осуществления изобретения,
на фиг.5 - блок-схема, более подробно иллюстрирующая часть проиллюстрированного на фиг.4 способа согласно одному из вариантов осуществления изобретения,
на фиг.6А - зависимость характеристики ФВК группы из 50 вторичных кодов, генерированных согласно одному из вариантов осуществления изобретения, при нулевом доплеровском сдвиге,
на фиг.6Б - зависимость характеристики ФВК для той же группы из 50 вторичных кодов, генерированных согласно одному из вариантов осуществления изобретения, показанному на фиг.6А, но с усреднением в диапазоне доплеровских сдвигов,
на фиг.7 - высокоуровневая принципиальная схема подсистемы генерации многоярусного кода согласно одному из вариантов осуществления изобретения,
на фиг.8А - высокоуровневая принципиальная схема спутниковой системы согласно одному из вариантов осуществления изобретения и
на фиг.8Б - высокоуровневая принципиальная схема системы приема согласно одному из вариантов осуществления изобретения.
Подробное описание
В настоящем описании используются следующие сокращения:
ФАК - функция автокорреляции (ACF, от английского - Auto Correlation Function)
ДПФМн - двухпозиционная фазовая манипуляция
ФВК - функция взаимной корреляции (CCF, от английского - Cross Correlation Function)
CRC - циклический избыточный код, от английского - Cyclic Redundancy Code
CS - коммерческая услуга, от английского - Commercial Service
СТ - перекрестные помехи, от английского - Crosstalk
DC - постоянный ток (постоянная составляющая), от английского - Direct Current
КИО - код с исправлением ошибок
ELW - избыточный вес линии, от английского - Excess Line Weight
HNV - наибольшее соседнее значение, от английского - Highest Neighbour Value
ЛРСОС - линейный регистр сдвига с обратными связями
MEWSD - среднеквадратическое избыточное отклонение Уэлча, от английского - Mean Excess Welch Square Distance
MP - многолучевое распространение, от английского - Multipath
NV - соседнее значение, от английского - Neighbour Value
ППЗУ - программируемое постоянное запоминающее устройство
ФМн - фазовая манипуляция
RMC - среднее квадратичное значение, от английского - Root Mean Square
ПЗУ - постоянное запоминающее устройство.
Также следует отметить, что в настоящем описании кодовые последовательности для удобства представлены в формате логического уровня (0 и 1); с целью модуляции и корреляции на практике эти кодовые последовательности преобразуют в биполярные сигналы уровня (+1). В таблице 1 приведено сопоставление логических уровней распределительных кодов и соответствующих уровней сигналов согласно одному из вариантов осуществления изобретения.
Таблица 1Сопоставление логических уровней кодов и уровней сигналов
Логический уровень
Уровень сигнала
1
-1,0
0
+1,0
В таблице 2 в обобщенном виде представлены предложенные основные параметры кодов определения дальности для каждой составляющей сигнала применительно к различным услугам (OS - открытый доступ, от английского - open service, CS - закрытый доступ, от английского - closed service, SoL = доступ для служб охраны человеческой жизни, от английского - safety of life service). В эту таблицу не включены распределительные коды доступа правоохранительных и военных ведомств (PRS, от английского - Public Regulated Service), в которых используют псевдослучайные последовательности, генерированные криптографическими способами.
При выборе длины и конструировании предлагаемых последовательностей распределительных кодов Galileo учитывают различные параметры сигналов и связанные с характеристикой требования. Общая длина последовательностей всех приведенных выше кодов сигналов выбрана равной периоду одного символа для сигналов данных или равной 100 мс для пилот-сигналов. По соображениям совместимости с GPS все скорости передачи кодовых импульсов кратны 1,023 МГц. Видно, что в большей части кодов используется многоярусность, при этом первичный код повторяется с целью достижения требуемой общей длины кодовой последовательности, которая равна произведению длин первичного и вторичного кодов. Принцип многоярусного кода упрощает генерирование длинных распределительных кодов и позволяет приемнику устанавливать синхронизацию с сигналами с использованием лишь первичных кодовых последовательностей, если это необходимо для сведения к минимуму времени установления синхронизации,
Следует отметить, что в качестве кода пилот-сигнала для коммерческого доступа (CS, от английского - commercial service) в диапазоне Е6 с настоящее время принят первичный код меньшей длины, равной 5115, с целью приведения ее в соответствие с длиной соответствующего распределительного кода сигнала данных, что выгодно, когда как сигналы, так и пилот-сигналы объединяют в целях установления синхронизации. В результате, ранее предложенный вторичный код длиной 50 увеличивают до 100 бит. Таким образом, возможно, что описанные далее семейства 50-битовых вторичных кодов более не потребуются для предлагаемого в настоящее время сигнала диапазона Е6-С, а вместо них будут использоваться такие же 100-битовые коды, разработанные для пилот-сигналов диапазона Е5 (которые более подробно описаны далее).
Каждый спутник системы Galileo использует независимый первичный код для каждой составляющей сигнала с целью обеспечения основной операции многостанционного доступа с кодовым разделением каналов (CDMA, от английского - Code Division Multiple Access). Первичные коды, предложенные для сигналов Е5, основаны на семействе золотых кодов, которые являются произведением пары ЛРСОС (линейных регистров сдвига с обратными связями), тогда как в кодах, которые предлагаются в настоящее время для диапазонов Е6-В&С и L1-B&C, используют семейство первичных кодов, основанных на активной оптимизации случайных кодов, как это описано в заявке РСТ/ЕР2004/014488.
В таблице 3 приведены вторичные коды, ранее предлагавшиеся для системы Galileo, при этом указанный вторичный код используют в качестве общего вторичного кода для всех членов соответствующего семейства первичных кодов. (Следует отметить, что за конкретными сигналами системы Galileo закреплены только некоторые из кодов, как это указано в таблице 3; кроме того, в таблице 3 не отражено увеличение длины вторичного кода сигнала Е6-С с 50 до 100 бит).
100b
100d
На фиг.1А проиллюстрирована характеристика смоделированной функции взаимной корреляции (ФВК) между первыми двумя многоярусными распределительными кодами пилот-сигналов Е5 при допущении, что все коды сигналов E5A-Q совместно используют один 100-битный вторичный код СS. Поскольку все первичные коды имеют длину 10230 импульсов, длина общего многоярусного кода составляет 1023000 импульсов (100 мс). На фиг.1Б показаны аналогичные результаты моделирования ФВК применительно к первым двум кодам пилот-сигналов E5B-Q, совместно использующим общий вторичный код CS. В эти модели не включен доплеровский сдвиг (т.е. зависимости вычислены при нулевом доплеровском сдвиге частоты между двумя принимаемыми распределительными кодами).
Видно, что характеристика ФВК в целом является очень хорошей (<-50 дБ) относительно максимума ФАК. Вместе с тем, в результате использования общего вторичного кода характеристика ФВК значительно ухудшается (~-30 дБ) при сдвигах кода в пределах ±0.01 × длины последовательности (=±10230 импульсов =±1 мс). Это соответствует области, в которой вторичные коды совмещены, в результате чего характеристика ФВК ограничена характеристикой, которую обеспечивают только первичные коды. Следует отметить, что на практике временные сдвиги между спутниками предположительно лежат в диапазоне примерно ±20 мс (вследствие задержек распространения). Хотя в связи с этим полный диапазон сдвигов ФВК, показанный на фиг.2А и 2Б, не должен иметь место на практике, это не исключает наличие областей с максимумами ФВК.
Одни из возможных способов исключения максимумов ФВК является произвольный временной сдвиг вторичного кода, общего для различных спутников. Правда, для этого потребовались бы временные сдвиги кодовой последовательности в 40 мс между различными спутниками, а, поскольку максимальная длина многоярусного кода составляет 100 мс (для пилот-сигналов), каждый код может быть повторно использован лишь дважды. Даже если также допустить использование одинаковых кодов в диаметрально противоположных спутниках, в любом случае этого достаточно всего лишь для 4 спутников, а не 30, входящих в группу спутников системы Galileo.
Другой возможностью является дальнейшее увеличение длины кодов пилот-сигналов. Тем не менее, это не считается эффективным из-за необходимости длительного времени интегрирования и соответствующего влияния на конструкцию приемника.
Кодовые последовательности пилот-сигналов длительностью в 100 мс восприимчивы к доплеровским сдвигам. По существу, при доплеровском сдвиге лишь в 10 Гц в одну последовательность вводится полный цикл фазового сдвига относительно другой последовательности, в результате чего происходит обращение половины последовательности. Это полностью меняет ФВК, как видно на фиг.2, на которой показана ФВК кода пилот-сигналов E5A-Q с 10-Гц доплеровским сдвигом частоты, использующих общий вторичный код. Под влиянием 10-Гц доплеровского сдвига на эти пилот-сигналы Е5А уровни ФВК для наихудшего случая снижаются с -30 до -42 дБ относительно соответствующего максимального уровня ФАК применительно к одному коду. Распределение доплеровских сдвигов частоты между парами спутников в группе предлагаемых спутников системы Galileo является приблизительно линейным вплоть до максимальной величины 6,7 кГц.
Эффективная скорость передачи импульсов вторичных кодов зависит от частоты повторения соответствующих первичных кодов. Поскольку вторичные коды, рассмотренные на фиг.2, используют для составляющих 100-мс пилот-сигналов, эффективная скорость передачи импульсов просто равна N×10 Гц, где N означает длину вторичного кода, которая соответствует 500 Гц и 1000 Гц для 50-битных и 100-битных вторичных кодов соответственно. Когда доплеровский сдвиг частоты равен этим эффективным скоростям передачи импульсов, изменение фазы в пересчете на импульс вторичного кода становится равным 2 π, после чего доплеровский эффект повторяется. Следует отметить, что данное условие не применимо к базовым первичным кодам, поэтому в этих частотных интервалах не будет наблюдаться повторение ФВК общего многоярусного кода.
Таким образом, с точки зрения слежения суммарная вероятность того, что другие спутники имеют как относительный доплеровский сдвиг менее 10 Гц, так и относительную ошибку синхронизации менее 1 мс, достаточно мала. В результате существенно уменьшается общее влияние максимумов ФВК в -30 дБ. (Следует отметить, что применительно к более коротким 50-битным вторичным кодам область соответствующей ошибки синхронизации увеличивается до 2 мс, но влияние по-прежнему достаточно мало.)
Тем не менее, в исходных режимах синхронизации, когда необходимо осуществлять поиск в широком диапазоне частот и временных сдвигов, относительно высокие дополнительные максимумы ФВК вследствие использования общих вторичных кодов способны вызывать нежелательное ложное обнаружение. В результате этого может ухудшаться характеристика в сложных условиях установления синхронизации, например, в закрытых помещениях, где предполагаются большие различия между уровнями спутниковых сигналов.
100a
На фиг.3А проиллюстрировано, как характеристика ФВК может быть улучшена за счет использования отличающихся вторичных кодов для каждого первичного кода. Как показано на фиг.3А, многоярусный код 1 сигналов E5A-Q изменен, и в нем используется вторичный код CS, a ФВК вычислена повторно. Доплеровский сдвиг частоты не включен. Видно, что боковые лепестки ФВК в наихудшем случае ослаблены до менее -42 дБ, что на 12 дБ лучше при данном условии нулевого доплеровского сдвига.
100c
Для подтверждения на фиг.3Б проиллюстрирована ФВК для кодов 1 и 2 пилот-сигналов E5B-Q, где вторичный код многоярусного кода 1 изменен на CS. Боковые лепестки ФВК в наихудшем случае также ослаблены до менее -42 дБ, как и было ранее показано применительно к кодам пилот-сигналов Е5А при использовании отличающихся вторичных кодов.
На фиг.3В представлена ФВК для двух пилот-сигналов Е5А, использующих отличающиеся вторичные коды, но в данном случае с 10-Гц доплеровским сдвигом частоты. Видно, что характеристика ФВК несколько ухудшилась по сравнению с фиг.3А, при этом максимум в наихудшем случае составляет -40 дБ.
N
Чтобы использовать отличающиеся вторичные коды для различных спутников, необходимо найти достаточно кодов соответствующего качества для использования в первичном коде каждого спутника. Для N-битового кода существует в общей сложности 2 возможных кодовых комбинаций, но лишь ограниченное их число будет иметь свойства независимого кода. Например, каждый код может быть инвертирован или обращен и по-прежнему будет обладать идентичными свойствами кода; аналогичным образом каждая кодовая последовательность может быть циклически повернута на число импульсов кода и по-прежнему будет сохранять идентичные свойства кода. Таким образом, максимальное число независимых кодов (С) для N-битового кода равно:
N
N
c=2/(4.N).
(Следует отметить, что данная формула является приблизительной и отображает только верхнюю границу, поскольку в нее включены, например, симметричные коды, т.е. одинаковые в прямом и обратном направлениях, и(или) содержащие повторяющиеся последовательности, вероятно не являющиеся полезными кодами). Тем не менее, приведенная выше формула может быть применена к вторичным кодам, рассматриваемым для сигналов системы Galileo, с целью оценки числа независимых кодов, доступных в качестве вторичных кодов, приведенных в таблице 4.
Таблица 4Число независимых вторичных кодов
Длина вторичного кода
Число независимых кодов
4
1
20
13107
25
335544
50
5,6×10<sup>12</sup>
100
3,2×10<sup>27</sup>
Существующие вычислительные мощности позволяют осуществлять исчерпывающий поиск всех возможных кодов в случае более коротких вторичных кодов длиной 25 бит или менее с целью обнаружения кодов с приемлемыми (или оптимальными) свойствами. Вместе с тем, в случае более длинных 50- и 100-битовых кодов число возможных кодов слишком велико, чтобы имело практический смысл осуществлять исчерпывающий поиск с использованием существующих вычислительных мощностей. Тем не менее, хорошая характеристика для 50- и 100-битовых базовых кодов может быть получена путем использования исходной точки случайного кода с последующим осуществлением поимпульсной оптимизации. По существу, поскольку для более длинных кодов существует большее число доступных вариантов выбора, обычно это позволяет осуществлять более жесткую оптимизацию или применять критерии выбора в отношении таких кодов.
Чтобы найти приемлемые семейства вторичных кодов, в одном из вариантов осуществления настоящего изобретения применяют двухстадийный процесс поиска, который проиллюстрирован на показанной на фиг.4 блок-схеме. Сначала на шаге 405 создают банк вторичных кодов-кандидатов, обладающих хорошими свойствами симметричности ФАК, ELW и симметричности DC (что более подробно описано далее). Затем на шаге 410 из созданного банка кодов-кандидатов удаляют не являющиеся взаимно независимыми коды-кандидаты, и на шаге 415 выбирают группу или семейство вторичных кодов с хорошими взаимными свойствами ФВК (по существу, выбирают несколько групп в зависимости от различных критериев отбора).
Для обнаружения и выбора кодов с хорошими свойствами необходим один или несколько критериев отбора. Важными параметрами для такого выбора являются функция автокорреляции (ФАК), избыточный вес линии (ELW) и симметричность кода. Критерий избыточного веса линии (ELW) определяют как соотношение мощностей в дБ между верхней линией спектра распределительного кода относительно общего среднекубического значения, При условии использования представления сигнала (±1) критерием симметричности DC кода является просто сумма всех кодовых импульсов, которая соответствует нулевой частотной (DC) составляющей спектра кода.
2
Для характеристики ФАК могут применяться два различных подкритерия. Первым из них является наибольшее соседнее значение (HNV), служащее показателем разности по высоте между максимумом ФАК и следующим максимумом. В одном из вариантов осуществления для кодов пилот-сигналов, в которых используют вторичные коды, этот критерий задают следующим образом: HNVp=(N/HNV), где N означает длину кода в импульсах.
Вторым критерием ФАК является показатель добротности (MF, от английского - merit factor), который определяют на основании среднего значения всех соседних значений ФАК,
2
2
MFp=N/ΣNV, где NV означает соседние значения.
p
p
Затем следующим образом может быть задан общий критерий отбора: характеристика - HNV+MF/100-ELW.
Хотя критерий симметричности кода непосредственно не входит в данный общий параметр характеристики, его используют для отбрасывания всех кодов, у которых:
|Симметричность DC|>√N, где N означает длину кода в импульсах.
(Следует отметить, что этот порог является средней предполагаемой величиной DC для случайной кодовой последовательности).
С помощью этих критериев в таблице 5 показана характеристика 50- и 100-битовых вторичных кодов, приведенных в таблице 3. Следует отметить, что фактическими наибольшими соседними значениями ФАК являются 6 для 50-битовых и 8 для 100-битовых вторичных кодов.
Как указано выше, число возможных кодов для более длинных 50- и 100-битовых вторичных кодов слишком велико для осуществления исчерпывающего поиска с помощью существующих вычислительных мощностей (хотя, конечно, ситуация может измениться в будущем). В связи с этим, для получения окончательного набора вторичных кодов-кандидатов из выбранных исходных случайных кодов в одном из вариантов осуществления используют процесс оптимизации согласно блок-схеме, показанной на фиг.5 (что соответствует шагу 405 на фиг.4).
Процесс начинают на шаге 510, на котором генерируют случайный эталонный двоичный код (Сr) требуемой длины (N бит). Сначала на шаге 515 осуществляют испытание первого модуля значения симметричности DC кода, чтобы установить, не превышает ли он квадратный корень числа битов кода. Если это так, код отвергают, и генерируют вместо него другой случайный код. Если найден код с приемлемой симметричностью, на шаге 520 вычисляют его характеристику в качестве эталонного значения (Рr). Следует отметить, что в процессе оптимизации, который используют в показанном на фиг.5 способе, пытаются максимально увеличить зависящий от характеристики коэффициент, хотя в других вариантах осуществления вместо этого сводят к минимуму функцию стоимости какого-либо рода (с точки зрения настоящего изобретения это может считаться тем же самым).
Далее, на шаге 525 осуществляют случайную инверсию одного или несколько битов эталонного кода с целью получения нового кода (Сn). Число инвертированных битов регулирует размер "шага" в области поиска. В качестве одного из решений изначально инвертируют относительно большое число битов, соответствующих большим шагам в области поиска, когда алгоритм предположительно далек от максимума, а затем по мере приближения к максимуму на последующих шагах итерации инвертируют меньшее число битов с целью осуществления более точного поиска. Было установлено, что за каждую операцию, осуществляемую на шаге 525, при данных обстоятельствах обычно приемлемо инвертировать только по одному биту. В результате изменение последовательности составляет 1% (для последовательности из 100 импульсов), что не приводит к неоправданному замедлению сходимости.
Затем на шаге 530 проводят испытание, чтобы определить, отвечает ли новый код критерию симметричности DC. Если это не так, новый код отвергают и возвращаются к шагу 525 с целью генерирования нового кода путем переориентации случайного бита (или битов) кода Сr (а не кода Сn).
Тем не менее, если допустить, что на шаге 530 установлено, что код Сn отвечает критерию симметричности DC, на шаге 535 характеристику нового кода Сn определяют как Рn. Затем на шаге 540 осуществляют процесс оптимизации решения с целью определить, меньше ли случайный номер, линейно выбранный из диапазона (0<Rand<1), чем показатель дельта значений характеристики нового кода и эталонного кода, т.е. [ехр(Рn-Рr)]. Если результат испытания на шаге 540 является отрицательным, код Сn отвергают и возвращаются к шагу 525 с целью генерирования нового кода путем переориентации случайного бита (или битов) кода Сr (а не кода Сn). В качестве альтернативы, если результат испытания на шаге 540 является положительным, на шаге 545 новый код принимают в качестве текущего кода, в результате чего Сr становится равным Сn, а Рr устанавливают равным Рn. Следует отметить, что, если на шаге 540 Рn>Рr, характеристика кода улучшилась в результате замены битов на шаге 525. В этом случае, когда результат испытания на шаге 540 обязательно является положительным, на шаге 545 осуществляют замену кода (поскольку число случайных испытаний не может превышать единицу). Тем не менее, даже если Рn<Рr, что означает, что характеристика нового кода по существу хуже характеристики старого кода, все же существует определенная вероятность (уменьшающаяся по экспоненте) того, что на шаге 540 будет получен положительный результат испытания с заменой кода на шаге 545. Эта особенность позволяет предотвращать блокирование системы локальным максимумом, поскольку при некоторых обстоятельствах можно осуществлять оптимизацию, чтобы отдалиться от (локального) максимума.
Следует отметить, что чувствительность процесса принятия решений может быть изменена на шаге 540 путем умножения дельта значений характеристики (Рn-Рr) на коэффициент чувствительности (это аналогично изменению температуры в сопутствующем способе "модельной закалки"). Если это применимо, коэффициент чувствительности может быть изменен между итерациями. Тем не менее, было установлено, что описанному выше поиску кодов удовлетворяет постоянный единичный коэффициент, как это показано на фиг.5.
Затем на шаге 550 проводят испытание с целью определить, достигнута ли заданная характеристика (Pt). Если это так, найден приемлемый вторичный код, и на шаге 560 поиск может быть завершен. В одном из вариантов осуществления заданную характеристику (Pt) устанавливают примерно на уровне худшего базового вторичного кода (из таблицы 3). В качестве альтернативы, если в результате испытание на шаге 550 определяют, что пороговая характеристика не превышена, возвращаются к шагу 525 с целью переориентации случайного дополнительного бита (измененного) кода. Следует отметить, что этот возврат к началу цикла подвергают испытанию на максимальное число итераций (555), которое в одном из вариантов осуществления устанавливают равным 1 миллиону. Если достигнут этот предел и возникают сложности со сходимостью, принимают решение вернуться к шагу 510 с целью генерирования полностью нового случайного эталонного кода Сr.
Подразумевается, что приведенная на фиг.5 блок-схема является лишь иллюстративной, и специалист в данной области техники может предложить множество возможных изменений и усовершенствований. Например, вместо переориентации одного бита на шаге 525 можно осуществлять случайный выбор 0 и 1 из кода для переориентации. За счет этого обеспечивается сохранение симметричности кода. Кроме того, в алгоритме оптимизации может учитываться один или несколько иных критериев (помимо или вместо уже рассмотренных). Например, одной из возможностей является требование, чтобы первый боковой лепесток (т.е. соответствующий сдвигу бита на одно место) функции автокорреляции (ФАК) был равен нолю для каждого кода. Это является полезным свойством, поскольку гарантирует известное (постоянное) поведение ФАК вблизи нулевого сдвига, что может способствовать ослаблению влияния многолучевого распространения. Кроме того, процесс оптимизации необязательно завершается по достижении заданной пороговой характеристики (на шаге 550), а может продолжаться по меньшей мере на протяжении еще нескольких итераций с целью поиска еще лучшей битовой комбинации.
Проиллюстрированная на фиг.5 процедура была использована для поиска приемлемых 50-ти и 100-битовых вторичных кодов. Следует отметить, что на данной стадии не учитывались взаимные свойства ФВК кодов. Затем проверяют список всех кодов, обнаруженных в результате осуществления показанной на фиг.5 процедуры с целью гарантировать, что в него включены только независимые коды (что соответствует шагу 410 на фиг.4). В частности, из него удалены любые инвертированные, обращенные коды или коды с циклическим сдвигом. (В действительности в процессе поиска приемлемых 50-битовых вторичных кодов было обнаружено и отклонено несколько повторяющихся кодов, но такие повторяющиеся коды не были найдены при поиске кодов длиной 100 бит, вероятно, вследствие значительно большей области поиска).
В таблице 6 приведен диапазон значений характеристики 100 лучших 50-битовых вторичных кодов, обнаруженных с использование процедуры поиска, показанной на фиг.5. 100 кодов были выбраны в общей сложности из 1304 обнаруженных кодов с превышением пороговой характеристики Pt (хотя предполагается, что это число не является исчерпывающим).
Таблица 6Сводная таблица результатов поиска 50-битовых вторичных кодов
Код
Характеристика
HNV<sub>p</sub>
MF<sub>p</sub>
ELW (дБ)
Симметричность DC
CS50<sub>1</sub>
623,80
625,00
12,76
1,33
0
CS50<sub>2</sub>
623,80
625,00
12,76
1,33
-6
~
~
~
~
~
~
CS50<sub>99</sub>
623,37
625,00
12,76
1,76
-2
СS50<sub>100</sub>
623,37
625,00
12,76
1,76
-2
Для сравнения, текущие базовые 50-битовые вторичные коды CS50a и CS50b из таблицы находятся соответственно в положениях 1146 и 1294 в общей сложности из 1304 обнаруженных вторичных кодов. Следует отметить, что верхние обнаруженные 324 кода имеют наибольшие соседние значения ФАК, равные лишь 2, что является гораздо лучшей характеристикой, чем у двух исходных эталонных кодов, HNV у которых равны 6.
100d
100a-c
Аналогичным образом, в таблице 7 приведен диапазон значений характеристики 200 лучших 100-битовых вторичных кодов из 981 обнаруженного кода с превышением пороговой характеристики. В данном случае выбраны 200 верхних кодов, поскольку коды этой длины рассчитаны как на пилот-сигналы E5A-Q, так и пилот-сигналы E5B-Q. Следует отметить, что занимающим второе место кодом в таблице 7 является текущий эталонный код CS из таблицы 3, а остальные базовые коды CS находятся соответственно в положениях 981, 980 733.
Таблица 7Сводная таблица результатов поиска 100-битовых вторичных кодов
Код
Характеристика
HNV<sub>p</sub>
MF<sub>p</sub>
ELW (дБ)
Симметричность DC
CS100<sub>1</sub>
154,60
156,25
8,12
1,73
4
CS100<sub>2</sub>
154,55
156,25
7,02
1,77
-8
~
~
~
~
~
~
CS100<sub>199</sub>
154,29
156,25
5,53
20,1
8
CS100<sub>200</sub>
154,29
156,25
5,21
20,1
6
Все предыдущие коды были выбраны без проведения испытания характеристики ФВК. В связи с этим на следующей стадии из полных наборов обнаруженных вторичных кодов выбирают группу по меньшей мере из 50 кодов (для каждого сигнала), также имеющих хорошие взаимные свойства ФВК. Вместе с тем, следует отметить, что эта характеристика не должна ухудшать существующую ситуацию, в которой все коды используют одинаковый (общий) вторичный код.
Испытание всех комбинаций любых 100 кодов из банка, включающего всего несколько сот кандидатов, является неосуществимым с использованием существующих вычислительных мощностей, в особенности принимая во внимание различные доплеровские сдвиги (которые влияют на характеристику ФВК кодов различных спутников). Соответственно осуществляют другой процесс оптимизации.
В одном из вариантов осуществления применяют два способа с использованием одинаковой процедуры оптимизации. Каждый из этих способов начинают с того, что из банка, включающего приблизительно 1000 кодов, обнаруженных проиллюстрированным на фиг.5 способом (который описан выше), осуществляют случайный выбор набора из 100 кодов. Затем в обоих способах при каждой итерации осуществляют замену одного из кодов путем случайного выбора в одном способе или путем обнаружения кода с худшей ФВК в другом способе. Вместе с тем, было установлено, что в данном варианте осуществления относительно сложно оптимизировать (обеспечить сходимость) всего семейства ФВК, в особенности при включении эффектов доплеровского сдвига, поскольку скорость итерации является невысокой, и программа поиска регулярно застревает на локальных максимумах. В частности, дельта-влияние изменения одного кода может быть подавлено изменениями характеристики всего семейства ФВК. Одним из факторов, влияющих на скорость, является то, что программа поиска постоянно осуществляет перерасчет практически одинаковых ФВК для каждой итерации, хотя по существу для новой итерации требуется вычислять только ФВК, включающие замененный код. В связи с этим программу поиска усовершенствовали с целью обеспечения этого изменения и увеличения скорости итерации. Также предпринимались попытки улучшения чувствительности к изменениям отдельного кода путем настройки критериев характеристики; тем не менее, скорость сходимости оставалась довольно невысокой.
В другом варианте осуществления применен несколько отличающийся подход. В этом варианте осуществления вычисляют ФВК всех парных кодовых комбинаций для всего банка кодов. Матрица вычисленных ФВК также включает диапазон доплеровских сдвигов частоты, а именно 25 шагов по 20 Гц для 50-битовых вторичных кодов и 50 шагов по 20 Гц для 100-битовых вторичных кодов. В результате получают максимальные сдвиги в 500 Гц и 1000 Гц соответственно для 50-битовых и 100-битовых вторичных кодов, что соответствует частоте следования соответствующих первичных кодов. При этих сдвигах частоты изменение фазы в пересчете на импульс вторичного кода становится равным 2 π, после чего доплеровский эффект в отношении вторичных кодов повторяется, как это рассмотрено выше.
Хотя в данном варианте осуществления используют большой объем памяти или запоминающего устройства, в нем предотвращают повторение трудоемких вычислений ФВК. Затем последующий процесс оптимизации протекает гораздо быстрее, поскольку он включает только поиск лучшего набора кодов с использованием предварительно вычисленных значений ФВК и одного или нескольких применимых критериев, объединяющих в себе семейство значений ФВК. Например, могут быть созданы группы кодов путем исключения кодов с плохими значениями ФВК или путем выбора кодов с хорошими значениями ФВК.
В одном из вариантов осуществления применяемые критерии оптимизации ФВК сосредоточены на характеристике слежения, поскольку банк кодов уже оптимизирован на индивидуальной основе с точки зрения свойств ФАК, улучшающих характеристику установления синхронизации. Эти три критерия характеристики заданы исходя из показателя добротности (MF), включая варианты перекрестных помех (СТ) и многолучевого распространения (МР). Используют два критерия показателя добротности перекрестных помех (СТ1 и СТ2). В критерии СТ2 учитывается, что временной сдвиг между спутниками не может превышать 20 мс, в связи с чем он необязательно включает весь диапазон возможных сдвигов вплоть до кода пилот-сигнала длиной 100 мс. В третьем критерии (МР) используется вариант показателя добротности в случае многолучевого распространения. Он применяется в алгоритме оптимизации с целью получения нескольких групп кодов. Для справки, в первую группу(-ы) кодов включены повторения общего базового вторичного кода. В другой группе кодов используют верхний кодовый набор из каждого банка кодов.
Различные используемые показатели добротности формально заданы в виде следующих уравнений:
Для СТ1:
Для СТ2:
Для МР:
На фиг.6А представлена типичная зависимость характеристики ФВК с использованием критерия СТ2 для группы из 50 50-битовых вторичных кодов с нулевым доплеровским сдвигом. Эта зависимость повторена на фиг.6Б для той же группы кодов, но с усреднением ФВК в диапазоне доплеровских сдвигов частоты. Следует отметить, что за счет эффекта рандомизации доплеровского сдвига наблюдается тенденция сглаживания общей ФВК до значения, гораздо меньше зависящего от конкретной структуры кода.
В таблице 8 сведены результаты процедур выбора набора кодов для 12 различных групп G1- G12 50-битовых кодов, в каждую из которых входит по 50 кодов.
Таблица 8Результаты оптимизации групп 50-битовых вторичных кодов
Группа кодов
Тип
СТ1
СТ2
МР
Ранг
G1
CS50a
4,0000
29,0135
67,1600
12
G2
Верхние 50
9,9617
53,0550
623,7488
=4
G3
9.9794
53,2278
556,8858
3
G4
10,0509
53,3473
189,6056
=4
G5
10,6094
53,5636
134,0602
1
G6
10,0581
53,1717
111,8202
8
G7
10,0548
53,1057
200,8360
=4
G8
10,0597
53,5013
66,9624
=4
G9
9,9264
52,6201
211,8780
11
G10
9,9541
54,5136
212.0222
2
G11
9,9560
52,9145
200,8334
10
G12
9,9324
53,4461
178,5948
9
Первая группа G1 является условной группой с одинаковым (общим) базовым кодом CS50a, в который эталонный уровень характеристики отображен только в случае использования одного общего вторичного кода. Следующая группа G2 включает 50 верхних кодов из приведенного в таблице 6 списка поиска вторичных кодов. Следующие 10 групп с G3 по G12 созданы путем оптимизации с учетом описанных ранее трех различных критериев отбора ФВК.
В трех основных столбцах таблицы 8 (СТ1, СТ2 и МР) приведены результаты с использованием различных критериев перекрестных помех и многолучевого распространения. В них более высокие значения соответствуют лучшей характеристике. В таблице 8 приведено общее ранжирование, определенное путем сочетания индивидуальных рангов для каждого критерия. Следует отметить, что группа с общим кодом (группа G1) имеет низший ранг и худшие показатели по каждому индивидуальному критерию. Группа кодов G5 ранжирована первой. Последующая оценка этих 50-битовых вторичных кодов с использованием механизма оценки кодов описана далее.
(Подразумевается, что, поскольку процесс ранжирования в таблице 8 включает два критерия перекрестных помех, за счет этого ослабляется относительное влияние критерия многолучевого распространения. Это необязательно применимо и зависит от планируемого использования и особенности сигналов).
В таблице 9 сведены аналогичные результаты для 13 различных групп G1-G13, каждая из которых включает 137 100-битовых вторичных кодов.
Таблица 9Результаты оптимизации групп 100-битовых вторичных кодов
Группа кодов
Тип
СТ1
CT2
MP
Ранг
G1
CS100d
5,0000
30,5621
154,5500
11
G2
CS100b
5,0000
29,9568
154,0500
13
G3
Верхние 137
16,7965
56,7422
154,3714
8
G4
16,8524
56,7141
154,2950
=8
G5
16,8628
56,7248
154,1616
=8
G6
17,2517
56,8618
154,1400
3
G7
17,0044
56,8088
154,1450
4
G8
16,8753
56,7304
154,1726
5
G9
16,8454
56,8210
154,3097
2
G10
16,8283
56,4425
154,1422
12
G11
16,9215
57,1402
154.1607
1
G12
16,8834
56,7341
154,1596
7
G13
16,8064
56,8063
154,1599
10
Первые две группы G1 и G2 в таблице 9 являются условными группами общими базовыми кодами CS100d и CS100b соответственно. Таким образом, эти группы отображают эталонные уровни характеристики только в случае использования одного общего вторичного кода. Следующая группа G3 включает 137 верхних кодов из списка поиска вторичных кодов. Следующие 10 групп с G4 по G13 созданы с использованием процесса оптимизации ФВК, аналогичного процессу оптимизации, который использован для групп 50-битовых кодов. Что касается оценки групп 100-битовых кодов, с целью общего ранжирования для каждого критерия сочетали индивидуальные ранги. Общие коды (группы G1 и G2) имеют низкий ранг и занимают два из трех низших положений. Группа кодов G11 ранжирована первой. Последующая оценка этих 100-битовых вторичных кодов с использованием механизма оценки кодов описана далее.
Хотя в основу процедуры, описанной выше со ссылкой на фиг.4 и 5, положен двухфазный подход, а именно, когда сначала обнаруживают набор хороших отдельных кодов (шаг 405), а затем обнаруживают в этом наборе хорошие группы (шаг 415), вместо этого может использоваться единая совмещенная процедура. Например, она может предусматривать случайное генерирование группы кодов, а затем осуществление процесса оптимизации в отношении этой группы с учетом как индивидуальных свойств кодов, так и общих свойств различных кодов в группе (в особенности их функции взаимной корреляции). Существует ряд альтернативных способов решения этой задачи, основанных на таких концепциях, как генетические алгоритмы, модельная закалка и т.п. Например, если окончательная группа включает N кодовых комбинаций, изначально может быть генерирован набор из Р кодовых комбинаций (P>N). Затем на протяжении каждого цикла оптимизации сохраняют лучший поднабор из (скажем) N кодовых комбинаций, после чего генерируют другой набор из P-N новых кодовых комбинаций для испытания совместно с поднабором, сохраненным по результатам предыдущего цикла. В некоторых концепциях оптимизации этот выбор из более крупной совокупности может сочетаться с обновлением отдельных кодовых комбинаций внутри совокупности (согласно шагу 525).
Подразумевается, что при оценке групп кодов, приведенных в таблицах 8 и 9, двумя основными критериями оценки структуры кода являются характеристика в режимах установления синхронизации и слежения. В этих двух режимах можно выделить два дополнительных аспекта характеристики, а именно подавление задержанных вариантов того же кода (случай многолучевого распространения) и отклонение кодов всех остальных спутников (случай перекрестных помех). В любую оценку характеристики должны быть по обстоятельствам включены эффекты доплеровского сдвига частоты. Также может применяться один или несколько дополнительных критериев, касающихся спектральных свойств кодов.
Применительно к режиму установления синхронизации в качестве критериев характеристики могут использоваться ФАК (случай многолучевого распространения) или ФВК (случай перекрестных помех) кодов с учетом доплеровского сдвига. Затем их можно сравнить с соответствующей границей Уэлча (WB, от английского - Welch bound) на предмет длины кода и размера семейства кодов. Эти критерии определяют среднеквадратическое избыточное отклонение Уэлча (AMEWSD, от английского - Average Mean Excess Welch Square Distance) в случаях многолучевого распространения и перекрестных помех. В случае многолучевого распространения обычно испытывают только ограниченный диапазон доплеровских сдвигов, поскольку во внимание принимается код только одного спутника, и он отображает предполагаемый диапазон ошибки поиска синхронизации элемента разрешения по частоте. Тем не менее, в случае перекрестных помех, включающем коды других спутников, необходимо принимать во внимание максимальное значение доплеровского сдвига, равное 6,7 кГц. Следует отметить, что в обоих этих критериях учитываются эффекты четной и нечетной корреляции.
Применительно к режиму слежения для получения среднего показателя добротности (AMF, от английского - Average Merit Factor) в качестве критерия характеристики могут непосредственно использоваться ФАК (случай многолучевого распространения) или ФВК (случай перекрестных помех) кодов. Как и при испытаниях в режиме установления синхронизации, случай многолучевого распространения может быть сведен к ограниченному диапазону доплеровских сдвигов частоты. Кроме того, ФАК оценивают только для временных сдвигов импульсов на ±1 и ±2 с целью отображения ограниченного диапазона предполагаемых задержек вследствие многолучевого распространения в процессе слежения за сигналом. Строго говоря, этот диапазон временных сдвигов не имеет отношения к медленным вторичным кодам как таковым.
Также желательно, чтобы коды имели равномерный спектр, подобный спектру случайного шума. Присутствие интенсивных спектральных линий усиливает перекрестные помехи между кодами, а также их подверженность внешним сосредоточенным помехам. Применяемые в данном случае критерии служат для определения среднего избыточного веса линии (AELW, от английского - Average Excess Line Weight) относительно эквивалентной спектральной интенсивности случайного кода.
Механизм оценки кодов на основе пяти упомянутых выше испытательных критериев используют для испытания предложенных вторичных кодов из таблиц 8 и 9. В нем предусмотрены два типа вычислений, а именно для многолучевого распространения (МР) и перекрестных помех (СТ) с использованием соответственно одного кода и пары кодов. Теоретически для испытания вторичных кодов должен использоваться механизм оценки с полными наборами многоярусных кодов. Тем не менее, это неосуществимо при существующих вычислительных мощностях, поэтому вторичные коды испытывают отдельно. Этот подход является оправданным, поскольку характеристику ФВК многоярусного кода можно считать произведением отдельных первичных и вторичных кодов, что также позволяет избежать необходимости определения самих первичных кодов или закрепления конкретного первичного кода за конкретным вторичным кодом, которые могут быть подвержены изменениям.
В таблице 10 сведены результаты оценки 12 различных групп G1-G12 50-битовых вторичных кодов из таблицы 8, каждая из которых включает 50 кодов.
Таблица 10Результаты оценки групп 50-битовых вторичных кодов
Группа кодов
Тип
MEWSD
MF
ELW
Ранг
СТ
МР
СТ
МР
G1
CS50a
0,6933
0,6933
1,3803
-
2,9595
12
G2
Верхние 50
0,1346
0,6789
1,0069
-
4,9600
9
G3
0,1340
0,6783
1,0079
-
4,2627
8
G4
0,1336
0,6851
1,0051
-
1,8422
6
G5
0,1287
0,6803
1,0009
-
1,5997
1
G6
0,1337
0,6813
1,0061
-
1,1732
=3
G7
0,1342
0,6830
1,0063
-
1,8302
7
G8
0,1329
0,6846
1,0033
-
1,0411
2
G9
0,1380
0,6807
1,0147
-
1,8349
10
G10
0,1325
0,6839
1,0014
-
2,0446
5
G11
0,1346
0,6897
1,0076
-
1,7825
11
G12
0,1336
0,6817
1,0006
-
1,9106
=3
В пяти основных столбцах (MEWSD-CT и МР, MF-CT и МР и ELW) представлены результаты, полученные с помощью механизма оценки кодов. Все они вычислены в виде функции стоимости, при этом самые меньшие значения соответствует лучшей характеристике. (Механизм не применим к показателю добротности в случае многолучевого распространения (MF-МР), что возможно объясняется малой длиной оцениваемых вторичных кодов). Следует отметить, что значения MEWSD-CT и MEWSD-MP вычисляют согласно следующим уравнениям:
Как было ранее установлено в отношении таблицы 8, лучшей группой 50-битовых вторичных кодов является G5, а контрольная группа G1 является худшей. Следует отметить, что группа G5 входит в число трех лучших групп по всем критериям.
В таблице 11 сведены результаты оценки 13 различных групп G1-G13 100-битовых вторичных кодов из таблицы 9, каждая из которых включает 137 кодов.
Таблица 11Результаты оценки групп 100-битовых вторичных кодов
Группа кодов
Тип
MEWSD
MF
ELW
Ранг
СТ
МР
СТ
МР
G1
CS100d
0,5604
0,5604
1,2241
-
0,8231
12
G2
CS100b
0,5367
0,5367
1,1881
-
0,9975
-6
G3
Верхние 137
0,1123
0,5465
1,0025
-
1,1874
8
G4
0,1117
0,5476
1,0018
-
1,4235
=6
G5
0,1114
0,5469
1,0010
-
1.8527
3
G6
0,1106
0,5483
1,0021
-
1,9435
10
G7
0,1112
0,5468
1,0010
-
1,9876
4
G8
0,1118
0,5482
1,0021
-
1,7865
11
G9
0,1116
0,5464
1,0016
-
1,3836
2
G10
0,1121
0,5490
1,0027
-
1,9751
13
G11
0,1110
0,5463
1,0007
-
1,8404
1
G12
0,1115
0,5471
1,0013
-
1,9000
5
G13
0,1118
0,5479
1,0013
-
1,8667
9
(Как и в случае испытания 50-битовых кодов, механизм не обеспечивает результатов применительно к критерию показателя добротности в случае многолучевого распространения (MF-МР)). Как показывает сопоставление результатов, приведенных в таблице 9, лучшей группой 100-битовых вторичных кодов является G11. Первая контрольная группа G1 (с общим кодом CS100d) является худшей по всем критериям за исключением ELW. Вторая контрольная группа G2 (с общим кодом CS100b) имеет лучшие характеристики и занимает 6 место, что можно отнести на счет лучшей характеристики согласно критерию MEWSD в случае многолучевого распространения.
Таким образом, если подвести итог, описан процесс оптимизации вторичных кодов, в особенности кодов, используемых как часть длинных многоярусных кодов для составляющих пилот-сигнала. Согласно прежним техническим условиям на базовые коды системы Galileo все первичные коды семейства имели общий вторичный код, но при этом образовывались большие области боковых лепестков ФВК, в которых задержка сигналов различных спутников составляла менее нескольких миллисекунд. Поскольку данная проблема имеет значение только при малых доплеровских сдвигах частот между спутниками, она главным образом отрицательно сказывалась на характеристике установления синхронизации. За счет использования независимых вторичных кодов для каждого первичного кода области боковых лепестков ФВК могут быть существенно уменьшены.
Двухстадийная процедура оптимизация использована с целью обнаружения приемлемых групп 50-битовых и 100-битовых вторичных кодов, поскольку предполагается, что эти относительно длинные вторичные коды обеспечат достаточно приемлемых кодов с учетом числа спутников в системе Galileo. На первой стадии обнаруживают коды с хорошими свойствами ФАК и ELW, сравнимыми или лучшими, чем у исходных базовых кодов. В результате получают примерно 1000 как 50-, так и 100-битовых вторичных кодов-кандидатов.
Затем на второй стадии из всего банка обнаруженных кодов выбирают приемлемую группу кодов с хорошими свойствами ФВК. В действительности, в зависимости от различных критериев оптимизации выбирают несколько групп. Далее эти группы сравнивают друг с другом с помощью механизма оценки кодов с использованием согласованного (заданного) набора критериев характеристики.
Для 50-битовых вторичных кодов рекомендована конкретная группа кодов (G5, см. таблицу 8). Эта группа включает 50 различных кодов, которые могут быть закреплены за различными спутниками вместо использования общего вторичного кода в соответствии с предыдущим базовым предложением для пилот-сигналов диапазона Е6-С (хотя, как упомянуто ранее, первичный код, рассчитанный на пилот-сигнал диапазона Е6-С, теперь укорочен, и длина соответствующего вторичного кода в действительности увеличится с 50 до 100 бит).
Для 100-битовых вторичных кодов рекомендована конкретная группа кодов (G11, см. таблицу 9), в частности вместо использования общего вторичного кода CS50d для составляющей пилот-сигналов E5A-Q и общего кода CS50b для составляющей пилот-сигналов E5B-Q. Группа кодов G11 включает 137 совместимых кодов, что позволяет выделить по 50 кодов для составляющих пилот-сигналов Е5А и Е5В, а дополнительные 37 кодов могут быть выделены для пилот-сигналов GPS L5. С переходом на пилот-сигналы диапазона Е6-С эти 100-битовые вторичные коды также можно будет использовать для этих сигналов.
В настоящее время в составляющей сигнала L1-C системы Galileo используют многоярусный пилотный код с общим 25-битовым вторичным кодом. Описанная процедура должна позволить обнаруживать достаточно кодов для этого более короткого вторичного кода, что дало бы возможность использовать независимые вторичные коды для различных спутников, а это, в свою очередь, должно впоследствии привести к улучшению характеристик.
Подразумевается, что число кодов, включаемых в заданный кодовый набор, зависит от конкретных требований соответствующей спутниковой навигационной системы. Как правило, такие системы рассчитаны на работу с 24-30 различными спутниками и обычно одним или несколькими дополнительными спутниками в качестве потенциального резерва на случай отказа. Желаемое число кодов в кодовом наборе может быть дополнительно увеличено в расчете на сигналы "псевдоспутников". Они представляют собой сигналы, которые ведут передачу с земли, например вблизи аэропортов, и которые приемник воспринимает в качестве дополнительных навигационных сигналов спутника, за счет чего может осуществляться более точное и надежное определение местоположения в таких районах.
Кроме того, при некоторых условиях может быть желательным изменить набор распределительных кодов, передаваемых спутником на регулярной основе. Это может быть полезным по соображениям безопасности или по экономическим причинам, например, когда доступ к новым кодам предоставляется после уплаты абонементной платы или ограничен определенными группами пользователей из числа государственных или военных организаций. Если время от времени менять распределительные коды, потребуется большее число кодовых наборов. Вместе с тем, следует отметить, что при многоярусной конструкции кода для изменения кода можно изменять лишь первичные коды и оставлять без изменения вторичный код.
На фиг.7 показана высокоуровневая принципиальная схема подсистемы 600 генерации многоярусного кода согласно одному из вариантов осуществления изобретения. Следует отметить, что подсистема 600 может быть включена в спутник для генерирования распределительного кода, передаваемого на землю. Кроме того, подсистема 600 может быть включена в приемник для обнаружения сигнала спутника, например, путем взаимной корреляции поступающего в приемник сигнала с выходом подсистемы 600.
В процессе работы N-битовый вторичный код распределительного кода загружают в регистр 630 сдвига. До этого вторичный код может храниться в каком-либо энергонезависимом запоминающем устройстве (не показано), например, каком-либо ПЗУ или ЭППЗУ (таком как флэш-память). В качестве альтернативы вторичный код может использоваться непосредственно в запоминающем устройстве (т.е. без предварительной загрузки в регистр сдвига). В подсистеме 600 последовательность вторичных кодов, получаемая из регистра 630 сдвига, характерна для соответствующего спутника,
Для генерирования М-битового первичного кода используют компонент 620. В некоторых вариантах осуществления компонентом 620 может являться линейный регистр сдвига с обратными связями (ЛРСОС), такой как используется для генерирования золотого кода для сигналов GPS. В качестве альтернативы полный М-битовый первичный код также может храниться в энергонезависимом запоминающем устройстве какого-либо рода, например, ПЗУ или ЭППЗУ (таком как флэш-память). Последний вариант является особо целесообразным, когда первичный код включает случайную последовательность битов, а не псевдослучайную последовательность, которая может быть (ре)генерирована соответствующей логической схемой.
Генератор 620 первичного кода принимает сигнал 605 синхронизации скорости передачи импульсов сигнала и в ответ на этот синхронизирующий сигнал генерирует очередной бит первичного кода. До подачи в блок 630 вторичного кода сигнал 605 синхронизации также подвергают делению на М в блоке 610. Затем вторичная кодовая последовательность продвигается на один бит за каждый полный цикл первичного кода. После этого на шаге 640 выход вторичного кода объединяют с выходом первичного кода путем операции исключающее ИЛИ с целью получения многоярусного кода 650.
Следует отметить, что в некоторых вариантах осуществления подсистема 600 может использоваться только для генерирования исходного кода, например, при изготовлении спутника или приемника. Затем многоярусный код 650 сохраняют в спутнике и(или) приемнике в виде одиночной (равномерной) последовательности битов, несмотря на его иерархическую структуру. Такой подход может быть полезен для упрощения общей конструкции аппаратуры.
На фиг.8А показана высокоуровневая принципиальная схема системы 601 передачи для использования в качестве полезной нагрузки спутника согласно одному из вариантов осуществления изобретения. (Подразумевается, что аналогичная структура также может использоваться в псевдоспутнике или другом таком устройстве, эмулирующем спутник). В системе 601 передачи используют многоярусный распределительный код, включающий вторичный код, такой как генерируют способом, показанным на фиг.4. В запоминающем устройстве (памяти) 610, которое в режиме обычной передаче действует как постоянное запоминающее устройство, хранится по меньшей мере участок распределительного кода 611, представляющий собой вторичный код. В некоторых вариантах осуществления первичный код может храниться в запоминающем устройстве 610 (или каком-либо ином запоминающем устройстве) отдельно или вместе с вторичным кодом в зависимости от того, как реализован первичный код (что рассмотрено выше со ссылкой на фиг.7). В одном из вариантов осуществления запоминающим устройством 610 управляют с логической точки зрения как кольцевым буфером, используя указатель чтения для циклического прохождения через кодовую последовательность 611.
Поскольку современные запоминающие устройства имеют очень небольшие размеры, биты, хранящиеся в запоминающем устройстве 610, могут быть подвержены воздействию космических лучей (в особенности, в условиях космического пространства) и другому возможному искажению. Соответственно в одном из вариантов осуществления выход запоминающего устройства 610 пропускают через элемент 612 кода с исправлением ошибок (КИО) для обеспечения защиты точности кода 611. Элемент 612 КИО способен обнаруживать ошибку в коде 611, считываемом из запоминающего устройства 610, и при некоторых условиях может быть способен автоматически исправлять ошибку (в зависимости от характера кода и ошибки). Например, в запоминающем устройстве 610 могут храниться два образца кода 611, и оно может одновременно считывать каждый бит из обоих образцов. Если два бита, считанные из различных образцов кода, не совпадают, это является сигналом (т.е. обнаружением) ошибки в одном из хранящихся образцов. Если в запоминающем устройстве хранятся три образца кода 611, любая обнаруженная ошибка может быть автоматически исправлена по принципу голосования путем простого большинства.
Специалистам известно множество механизмов КИО, применяемых в областях обмена данными и хранения данных, таких как сверточное кодирование, циклические избыточные коды (ЦИК) и т.п. Обычно они имеют гораздо более высокую эффективность, чем просто хранение множества образцов кода 611, т.е. они обеспечивают лучшую защиту от ошибок с меньшими затратами с точки зрения дополнительных потребностей в памяти.
После проверки кода в элементе 612 КИО подсистема 620 генерирования канала объединяет его с навигационной информацией 617. Подсистема 620 генерирования канала также может включать подсистему, такую как проиллюстрирована на фиг.7, для генерирования многоярусного кода на основании вторичного кода, хранящегося в запоминающем устройстве 610, и первичного кода (полученного из запоминающего устройства 610 или генерированного каким-либо иным механизмом). В качестве альтернативы подсистема 620 генерирования канала может принимать многоярусный код 650, в котором первичный и вторичный коды уже объединены, например, если в хранящемся коде 611 уже объединены первичный и вторичный коды.
Для объединения распределительного кода и навигационной информации в подсистеме генерирования канала обычно используют суммирование по модулю 2 (исключающее ИЛИ) в какой-либо форме. Затем получаемый канал пропускают через блок 625 модуляции, в котором его накладывают на сигнал несущей частоты с помощью какого-либо соответствующего механизма модуляции, такого как двухпозиционная фазовая манипуляция (ДПФМн). Следует отметить, что в некоторых спутниковых системах один сигнал несущей частоты может быть модулирован множеством каналов. Затем сигнал несущей частоты поступает в передатчик 630 для передачи на землю.
Хотя в некоторых вариантах осуществления код 611 может быть "зашит" в память 610 до запуска спутника, более гибким является вариант, в котором запоминающее устройство 610 включает функцию записи, например, реализовано в виде программируемого постоянного запоминающего (ППЗУ) какого-либо рода. Например, если блок 612 КИО обнаружит, что хранящийся код 611 поврежден, функция записи запоминающего устройства 610 позволяет снова записать правильную версию кода в запоминающее устройство 610 (правильная версия кода может быть доступна в самом блоке 612 КИО или должна быть предоставлена наземной системой управления). Также могут существовать различные иные причины для желания обновить код 611, хранящийся в памяти 610. Например, новый код может быть установлен, чтобы помочь улучшению характеристики на стадии испытания, когда на исходный код, возможно, воздействуют помехи какой-либо иной службы или спутника. Для изменения кода 611 также могут существовать экономические причины или соображения безопасности, в первом случае, возможно, с целью увеличения доходов от лицензий, а во втором случае для ограничения доступа к сигналу определения местоположения соответствующим образом уполномоченным персоналом.
На фиг.8Б показана высокоуровневая принципиальная схема приемника 701 согласно одному из вариантов осуществления изобретения. Приемник 701 может представлять собой автономное устройство или может входить в какое-либо более крупное устройство, например, мобильный (сотовый) телефон, компьютер, автомобиль или транспортное средство иного рода, больничную кровать, летательный аппарат или судно, грузовой контейнер и т.п. В процессе работы приемник 701 использует антенну 715 для приема сигнала спутника, такого как передает спутник 601. Антенна 715 соединена с демодулятором 720, из которого принимаемый демодулированный сигнал поступает в блок 725 обнаружения канала.
Приемник 701 также включает запоминающее устройство (память) 710, в котором хранятся по меньшей мере участки 611А, 611В…611N кодов, представляющие собой вторичные коды для группы(групп) спутников, с которыми работает приемник 701. Кроме того, как и в случае, проиллюстрированном на фиг.8А, участки этих кодов, представляющие собой первичные коды, также могут храниться в соответствующих блоках 610А, 610В,…610N памяти или могут генерироваться с использованием ЛРСОС или иного применимого устройства в зависимости от конкретного выбора первичного кода.
В запоминающем устройстве 710 обычно хранятся целые битовые комбинации вторичных кодов 611А, 611В,…611N, поскольку при отсутствии какой-либо формализованной математической структуру более компактное представление таких вторичных кодов обычно невозможно. В приложении 1 приведены примеры возможных битовых комбинаций, применимых в качестве вторичных кодов 611А, 611В,…611N и для хранения в запоминающем устройстве 710. (Специалист поймет, что хранящиеся битовые комбинации 611 необязательно точно соответствуют битовым комбинациям, которые передает спутник, при условии, что они достаточно близки для того, чтобы обеспечить сильную корреляцию для приема сигнала.)
Запоминающее устройство 710 может быть реализовано как постоянное запоминающее устройство (ПЗУ) или с возможностью обновления, например, как программируемое постоянное запоминающее устройство (ППЗУ). Последний вариант, в частности, уместен, когда коды 611А, 611В,…611N подлежат обновлению по экономическим причинам или соображениям безопасности. Следует отметить, что в некоторых случаях память 710 может представлять собой запоминающее устройство со съемным носителем в какой-либо форме, которое можно вставлять в приемник 701 и извлекать из него. Например, запоминающее устройство 710 может представлять собой смарт-карту (аналогичную SIM-карте мобильного телефона) или флэш-память. В этом случае для обновления кодов 611 в приемнике 701 осуществляют замену запоминающего устройства со съемным носителем. Устройство 710 также может обладать способностью загружать коды из удаленной системы (например, сервера) по какой-либо сети связи, такой как Интернет или линии мобильной связи, и хранить их в локальном ОЗУ. Такая загрузка может требовать соответствующей авторизации пользователя, чтобы ограничить использование спутниковой навигационной системы по экономическим или юридическим причинам или соображениям безопасности.
В некоторых вариантах осуществления данные, выводимые из памяти 710, направляют в элемент 712 КИО с целью обнаружения и(или) исправления ошибок, как это описано выше применительно к спутниковой системе 601, хотя в других приемниках механизм 712 проверки с использованием КИО может быть исключен. Затем код 611 поступает в блок 725 обнаружения канала, чтобы на основании демодулированного сигнала можно было обнаружить канал. Блок 725 обнаружения канала отвечает за объединение первичных и вторичных кодов спутника, такое как с использованием подсистемы, показанной на фиг.7, хотя в других вариантах осуществления это объединение может осуществляться на более ранней стадии (в устройстве 701 или до загрузки кодов в память 710).
Следует отметить, что установление синхронизации с сигналом спутника может осуществляться путем последовательного испытания одного кода 611А, затем другого кода 611В и так далее. Чаще всего с демодулированным сигналом параллельно соотносят множество кодов (потенциально все коды). После того как приемник установил синхронизацию с достаточным числом поступающих сигналов путем обнаружения присутствия их соответствующих распределительных кодов 611А, 611В, из таких сигналов может быть извлечена навигационная информация для использования блоком определения местонахождения в сочетании с временным согласованием принимаемых распределительных кодов для облегчения расчета местоположения приемника.
Во многих вариантах осуществления приемник 701 может быть способен принимать сигналы нескольких спутниковых навигационных систем, например, как системы Galileo, так и GPS. Хотя распределительные коды GPS представляют собой золотые коды, которые могут быть реализованы в виде ЛРСОС, подразумевается, что такие коды также могут целиком храниться в запоминающем устройстве 710. Соответственно единая архитектура памяти 710 совместима как с абсолютными или заказными кодовыми комбинациями, так и обычными кодовыми комбинациями, выведенными из ЛРСОС.
Наконец, несмотря на то что выше подробно описаны различные частные варианты осуществления, подразумевается, что это сделано лишь в качестве иллюстрации, и для специалиста в данной области техники очевидны многочисленные изменения и усовершенствования таких вариантов осуществления, входящие в объем настоящего изобретения, ограниченный приложенными притязаниями и их эквивалентами.
Приложение 1
Результаты поиска группы вторичных кодов
А 1.1. 50-битовые вторичные коды
В данном списке приведена группа из пятидесяти 50-битовых вторичных кодов с лучшей характеристикой согласно механизму оценки кодов (т.е. группа G5 из таблицы 8).
А1.2. 100-битовые вторичные коды
Приведена группа из ста 100-битовых вторичных кодов с лучшей
характеристикой согласно механизму оценки кодов (т.е. группа G1 из табл.9).