Comments 38
Пап, ты с кем сейчас разговаривал?
-11
А если помеха широкополосная? При современном уровне развития техники сделать генератор белого шума на весь диапазон частот GPS не составляет труда. Ждал второй части в надежде, что будут открыты какие то секреты приема навигационной информации в обход помех.
+1
Широкополосные помехи тоже бывают разные. Например, вы привели белый шум. Создать шумовую помеху в полосе GPS такой мощности, чтобы подавить работоспособность приёмников очень непросто. Именно из-за структуры шума. В качестве широкополосных помех применяют, например, ЛЧМ-сигнал, проходящий весь диапазон L1 за 0.1-1 мс.
Против подобных помех эффективны антенные методы, однако я слышал о разработках, когда в приёмнике формируется копия помехи и компенсируется.
А секретов нет, есть только периодический анализ помеховой обстановки по прямым и косвенным признакам, а также подходы к подавлению.
Против подобных помех эффективны антенные методы, однако я слышал о разработках, когда в приёмнике формируется копия помехи и компенсируется.
А секретов нет, есть только периодический анализ помеховой обстановки по прямым и косвенным признакам, а также подходы к подавлению.
+1
Позвольте поинтересоваться, почему гауссов шум обрезанный до полосы приемника будет значительно менее эффективен чем ЛЧМ? Это некая особенность ЛЧИ что она легко срывает слежение?
+1
Потому что при генерации шум занимает очень большую полосу, т.е. мощность передатчика тратится на частоты, не находящиеся в полосе ГНСС. А при генерации ЛЧМ-сигнала крайние частоты задаются в явном виде, так что никакой магии и особенностей. :)
+1
А еси сделать передатчик который шумит только в нужной полосе, например промодулировав центральную несущую белым шумом с полосой равной половине ширины ГНСС?
+1
Чисто технически это сделать сложнее. Нужно сгенерировать шум, пропустить через фильтр, перенести на несущую, ещё разок отфильтровать. ЛЧМ сделать проще и, соответственно, дешевле
+1
Круто конечно! И приятно читать, что такие интересные вещи реализуются на отечественной ЭБ.
Почему реализация помехоподавителя именно на этой микросхеме? Куча параллельных каналов — почему не ПЛИС?
Ну и раз уж всё делается на ARM11, — то такой вопрос: какую ОСРВ использовали? Оценивали загрузку ЦП и БПОС? Я так понимаю, хоть навигационное решение выдаётся 1-10 раз в секунду, но ведь за помехами-то следить надо гораздо чаще — в режиме реального времени. Если не ошибаюсь, то битовая скорость сигналов ГНСС — около 512 бит/с, то есть ~2мс/бит. Какая скорость решения задачи получилась — в 2мс укладываетесь?
Почему реализация помехоподавителя именно на этой микросхеме? Куча параллельных каналов — почему не ПЛИС?
Ну и раз уж всё делается на ARM11, — то такой вопрос: какую ОСРВ использовали? Оценивали загрузку ЦП и БПОС? Я так понимаю, хоть навигационное решение выдаётся 1-10 раз в секунду, но ведь за помехами-то следить надо гораздо чаще — в режиме реального времени. Если не ошибаюсь, то битовая скорость сигналов ГНСС — около 512 бит/с, то есть ~2мс/бит. Какая скорость решения задачи получилась — в 2мс укладываетесь?
+1
Энергопотребление и размер. Аппаратная платформа в статье — это уже готовый приёмник. В сети есть предложения по созданию приёмников на ПЛИС, но они много потребляют, требуют дополнительного обвеса и вычислителя (того же RPi или Intel Edison). К тому же, есть успешные попытки создания 12-канальных приёмников без фильтров, а фильтры в кремнии занимают достаточно много места.
А вот тут вы недоглядели, задача целиком и полностью решается на DSP, т.е. на Нейроматриксе. Таким образом, ARM остаётся свободен и незадействован.
За помехами нужно следить в реальном масштабе времени, но это достаточно делать раз в секунду, не чаще, да и то по косвенным признакам (например, по резкому падению отношения сигнал/шум всех спутников). Если эта проверка показала возможное наличие помехи, срабатывает алгоритм обнаружения в частотной области с дальнейшим расчётом параметров подавителя.
Есть несколько составных частей сигнала, к которым в ГНСС может относится понятие битовая скорость: псевдослучайная последовательность, меандр (для ГЛОНАСС), а так же навигационное сообщение. Про ПСП обычно говорят про частоту чипа (одного импульса), она составляет 511 1023 кГц для ГЛОНАСС и GPS соответственно. Тут происходит корреляционная обработка. Далее в ГЛОНАСС'е есть меандр, который меняет знак каждые 5 мс. Его вводили, как дополнительную меру помехоустойчивости, но, если честно, я так и не понял зачем, а проблем при обработке сигналов он добавляет. И есть навигационное сообщение, каждый бит которого длится 20 мс. Вот их нежелательно пропускать.
Отвечая на ваш вопрос: сейчас алгоритм обнаружения помех, расчёта коэффициентов и записи их в регистры БПОС'а происходит за 10-12 мс. Если векторизовать код, а также отказаться в паре мест от плавающей точки (что не было сделано из лени), то можно будет уложиться в 1 мс
А вот тут вы недоглядели, задача целиком и полностью решается на DSP, т.е. на Нейроматриксе. Таким образом, ARM остаётся свободен и незадействован.
За помехами нужно следить в реальном масштабе времени, но это достаточно делать раз в секунду, не чаще, да и то по косвенным признакам (например, по резкому падению отношения сигнал/шум всех спутников). Если эта проверка показала возможное наличие помехи, срабатывает алгоритм обнаружения в частотной области с дальнейшим расчётом параметров подавителя.
Есть несколько составных частей сигнала, к которым в ГНСС может относится понятие битовая скорость: псевдослучайная последовательность, меандр (для ГЛОНАСС), а так же навигационное сообщение. Про ПСП обычно говорят про частоту чипа (одного импульса), она составляет 511 1023 кГц для ГЛОНАСС и GPS соответственно. Тут происходит корреляционная обработка. Далее в ГЛОНАСС'е есть меандр, который меняет знак каждые 5 мс. Его вводили, как дополнительную меру помехоустойчивости, но, если честно, я так и не понял зачем, а проблем при обработке сигналов он добавляет. И есть навигационное сообщение, каждый бит которого длится 20 мс. Вот их нежелательно пропускать.
Отвечая на ваш вопрос: сейчас алгоритм обнаружения помех, расчёта коэффициентов и записи их в регистры БПОС'а происходит за 10-12 мс. Если векторизовать код, а также отказаться в паре мест от плавающей точки (что не было сделано из лени), то можно будет уложиться в 1 мс
+1
А насколько реализуем «простой» аналоговый спуфинг? принимаем сигнал со спутников, вносим задержки, усиливаем, переизлучаем. Манипулируя величинами задержек можем ничего не зная о кодировке сигнала (выделять сигнал конкретного спутника можно направленной антенной) как угодно манипулировать координатами в рамках видимых спутников.
+1
Это не спуфинг, это просто ещё один вид помех. Для уже работающего приёмника (который следит за спутниками) эффект будет выражаться в дополнительном ухудшении отношения сигнал/шум. На это может «клюнуть» приёмник, запускаемый в режиме холодного старта, но и в том случае результаты обработки такого задержанного сигнала будут отбракованы.
Спуфинг это именно имитация и синтез созвездия спутников, это сделать гораздо сложнее, чем просто переизлучить сигнал. :)
Спуфинг это именно имитация и синтез созвездия спутников, это сделать гораздо сложнее, чем просто переизлучить сигнал. :)
0
А в чем принципиальная разница для приемника, как именно был сформирован фальшивый сигнал: задержкой реальных сигналов с реальных спутников, или же сгенерирован с чистого листа? Для телепортации в другое полушарие первый метод точно не подойдет, а вот исказить сигнал на единицы-десятки километров им по идее вполне можно, причем независимо от кодировки сигнала: по сути дела единственная навигационная информация — разница в задержках с разных спутников.
Или я что-то не так понимаю?
Или я что-то не так понимаю?
+1
Разница в том, что при переизлучении сигнала вносится дополнительная задержка распространения. При решении навигационной задачи производится решение серьезных векторно-матричных уравнений (если интересно, посмотрите приложение взвешенного метода наименьших квадратов), где в результате у спутника с выбивающимися результатами оказывается ничтожно малый весовой коэффициент и, таким образом, он исключается из обработки.
+1
Что с одним спутником не сработает, это понятно.
Идея в том, чтобы такую операцию проделать со ВСЕМИ видимыми спутниками. Не так их и много.
Задерживая сигнал с одного спутника можно лишь отдалить этот спутник, что естественно может быть и будет детектировано. Задерживая сигнал со всех спутников можно отдельные спутники как отдалять, так и приближать (в пределах групповой задержки), т.е. создавать для приемника любую (в рамках все той же групповой задержки) желаемую конфигурацию.
Приемник, уже следивший за спутниками, может обнаружить, что у него после включения ретранслятора стали спешить внутренние часы (хотя, если есть время, то наверное можно нарастить групповую задержку достаточно плавно).
Приемник с холодным стартом подвоха увидеть не должен вообще.
Как противодействовать этому?
Идея в том, чтобы такую операцию проделать со ВСЕМИ видимыми спутниками. Не так их и много.
Задерживая сигнал с одного спутника можно лишь отдалить этот спутник, что естественно может быть и будет детектировано. Задерживая сигнал со всех спутников можно отдельные спутники как отдалять, так и приближать (в пределах групповой задержки), т.е. создавать для приемника любую (в рамках все той же групповой задержки) желаемую конфигурацию.
Приемник, уже следивший за спутниками, может обнаружить, что у него после включения ретранслятора стали спешить внутренние часы (хотя, если есть время, то наверное можно нарастить групповую задержку достаточно плавно).
Приемник с холодным стартом подвоха увидеть не должен вообще.
Как противодействовать этому?
+2
Самый очевидный метод: антеннами. Последовательно обнулять сектора обзора, если вдруг резко пропадут все ложные спутники, за которые зацепились, значит там спуфер. Это если использовать антенные решетки. Можно использовать обычные антенны и техники вроде фазовых пеленгаторов. Определив направление прихода сигнала, если он пришёл из одной точки, значит там спуфер.
Сейчас вы мне возразите, мол, а если несколько ретрансляторов. Мы пришли к тому, как развивалась радиоэлектронная борьба. Сначала придумали помеху, потом способ её подавления. Далее изменили помеху и всё пошло по кругу.
Сейчас вы мне возразите, мол, а если несколько ретрансляторов. Мы пришли к тому, как развивалась радиоэлектронная борьба. Сначала придумали помеху, потом способ её подавления. Далее изменили помеху и всё пошло по кругу.
+2
Классно! Хорошая тема.
Скажите, а Вы решали обе задачи — с узкополосными помехами и спуфингом? Было бы интересно побольше узнать как обнаруживается спуфинг на практике (там же вряди ли согласованный фильтр сработает?). И какие предположения делаются про отношение сигнал/шум?
И еще один вопрос. На картинке с фильтром Калмана помимо екомпаса и гироскопа еще есть датчик давления. Интересно, для чего он там? :)
Обнаружение узкополосных помех удобно производить в частотной области, в то время как для обнаружения спуфинговых атак следует анализировать поведение псевдозадержек, энергетического потенциала и доплеровского смещения на наличие перескоков.
Скажите, а Вы решали обе задачи — с узкополосными помехами и спуфингом? Было бы интересно побольше узнать как обнаруживается спуфинг на практике (там же вряди ли согласованный фильтр сработает?). И какие предположения делаются про отношение сигнал/шум?
И еще один вопрос. На картинке с фильтром Калмана помимо екомпаса и гироскопа еще есть датчик давления. Интересно, для чего он там? :)
+1
Лично я решал задачу лишь с узкополосными помехами, по спуфингу изучал литературу. Есть коллега, который этим занимался подробнее, могу у него уточнить на этот счёт.
Картинку взял из интернета для иллюстрации того факта, что используется множество MEMS-датчиков. Датчик давления служит для определения высоты.
Картинку взял из интернета для иллюстрации того факта, что используется множество MEMS-датчиков. Датчик давления служит для определения высоты.
+1
А можете порекомендовать литературу по работе при большом отношении помеха/сигнал вообще и по узкополосным помехам в частности?
+1
Конечно. Есть очень интересный труд, совмещающий в себе как описание помех, так и подробное толкование методов подавления: GNSS Interference Threats and Countermeasures — Fabio Dovis. Можно найти на google books.
По работе при наличии помех есть статья GNSS Signal Acquisition in The Presence of Narrowband Interference — Mohammad Abdizadeh. Достаточно новая (конец 2013 года) и обширная (более 200 страниц).
Это из основных. Вкратце описано в Каплане (монументальный труд по GPS, находится по первому запросу в гугле). Если после прочтения этих материалов останутся вопросы, то уже более конкретные, а для этих целей уже служат различные технические статьи и патенты
По работе при наличии помех есть статья GNSS Signal Acquisition in The Presence of Narrowband Interference — Mohammad Abdizadeh. Достаточно новая (конец 2013 года) и обширная (более 200 страниц).
Это из основных. Вкратце описано в Каплане (монументальный труд по GPS, находится по первому запросу в гугле). Если после прочтения этих материалов останутся вопросы, то уже более конкретные, а для этих целей уже служат различные технические статьи и патенты
+2
Спасибо, очень интересная статья, жедм продолжения. Приавильно ли я понимаю, исходя из провала в спектре сигнала после фильтра, что для вашего фильтра помеха с полосой в 20-30кГц это все еще узкополосный сигнал?
+1
Верно понимаете, при текущей конфигурации фильтр спокойно подавляет не только однотоновые помехи, но и узкополосные сигналы (АМ-, ЧМ-, ФМ-модулированные). Помимо этого, если полоса помехи больше (50-100 кГц), то она просто определяется как несколько рядом стоящих с соответствующим расширением окна подавления
+1
День добрый!
Подскажите как найти задержку координат выдаваемых приемником (ГПС/ГЛОНАСС модулем)? Не нашел этого в спеках к модулю.
Но это нужно для того что бы свести данные от ИНС с координатами приемника, т.е. найти ошибку (и коррекцию соот-но) координат между расчетным от ИНС и координатами на выходе модуля.
Я пробовал след-е решение:
1) синхронизируем часы ПК с атомными часами (посредством спец. утилит… погрешность пару мс)
2) читаем время с приемника через послед-й порт или USB (задержку порта не учитивал, т.к. интересен результат хотябы с точностью до 100-150мс)
3) находим разность между атомным временем и данными с приемника
Тут есть не ясные моменты касательно времени выдаваемого приемником:
1) учитывается ли время прохождения сигнала от спутника до приемника (~65мс), т.е. есть ли компенсация этой задержки во времени которое отдает приемник.
2) Приемник отдает кооординаты и время одним пакетом. Так вот это время получения сигнала/пакетов со спутников (по которым расчитывались координаты)? Или приемник пытается выдать атомное время на выходе (т.е. с учетом коррекции на прохождения сигнала от спутников и обсчета координат)?
3) Потоянна ли задержка выдачи координат? На одном из модулей наблюдал раность задержки в ~100мс до 3Д фикса и после.
Все конечно может зависеть от конкретной прошивки модуля, но наверняка есть общие стандарты и принципы.
А возможно все проще. Подскажите ))
Подскажите как найти задержку координат выдаваемых приемником (ГПС/ГЛОНАСС модулем)? Не нашел этого в спеках к модулю.
Но это нужно для того что бы свести данные от ИНС с координатами приемника, т.е. найти ошибку (и коррекцию соот-но) координат между расчетным от ИНС и координатами на выходе модуля.
Я пробовал след-е решение:
1) синхронизируем часы ПК с атомными часами (посредством спец. утилит… погрешность пару мс)
2) читаем время с приемника через послед-й порт или USB (задержку порта не учитивал, т.к. интересен результат хотябы с точностью до 100-150мс)
3) находим разность между атомным временем и данными с приемника
Тут есть не ясные моменты касательно времени выдаваемого приемником:
1) учитывается ли время прохождения сигнала от спутника до приемника (~65мс), т.е. есть ли компенсация этой задержки во времени которое отдает приемник.
2) Приемник отдает кооординаты и время одним пакетом. Так вот это время получения сигнала/пакетов со спутников (по которым расчитывались координаты)? Или приемник пытается выдать атомное время на выходе (т.е. с учетом коррекции на прохождения сигнала от спутников и обсчета координат)?
3) Потоянна ли задержка выдачи координат? На одном из модулей наблюдал раность задержки в ~100мс до 3Д фикса и после.
Все конечно может зависеть от конкретной прошивки модуля, но наверняка есть общие стандарты и принципы.
А возможно все проще. Подскажите ))
0
Это очень обширная тема, но если вкратце, то всё зависит от самого используемого модуля. В приёмниках идёт синхронизация с часами системы с последующим выводом координат раз в какое-то время (см. Navigation Rate. Обычно 1-10 Гц).
По вопросам:
1) Расчёты производятся на момент измерения, а не излучения. Таким образом проблемы, о которой вы говорите, нет.
2) Приёмник выдаёт показания часов по собственной шкале времени. В зависимости от сложности приёмника, эта шкала может корректироваться различным образом: от одиночной коррекции при первом решении нав. задачи, до постоянного слежения за скоростью ухода часов при помощи скоростной задачи. Это очень глубокая тема, на неё написано множество научных работ и с наскоку в неё не получится погрузится.
3) Ответ вытекает из предыдущего пункта: постоянна по внутренней шкале времени приёмника.
По вопросам:
1) Расчёты производятся на момент измерения, а не излучения. Таким образом проблемы, о которой вы говорите, нет.
2) Приёмник выдаёт показания часов по собственной шкале времени. В зависимости от сложности приёмника, эта шкала может корректироваться различным образом: от одиночной коррекции при первом решении нав. задачи, до постоянного слежения за скоростью ухода часов при помощи скоростной задачи. Это очень глубокая тема, на неё написано множество научных работ и с наскоку в неё не получится погрузится.
3) Ответ вытекает из предыдущего пункта: постоянна по внутренней шкале времени приёмника.
0
Спасибо!
Если я правильно понял «моим» методом задержку выдачи координат не высчитать.
Тогда вижу другой топорный путь :) Закинуть модуль в машину и погонять записывая логи акселерометра и приемника и уже по графикам примерно выщемить задержку :)
Если я правильно понял «моим» методом задержку выдачи координат не высчитать.
Тогда вижу другой топорный путь :) Закинуть модуль в машину и погонять записывая логи акселерометра и приемника и уже по графикам примерно выщемить задержку :)
0
прокатит? :)
0
Спасибо за интересную статью! Возник ряд вопросов, ответьте на те, что не являются коммерческой тайной:
1. Указанные 24 цифровых канала получаются при какой тактовой частоте отсчетов (после предварительной децимации, именно во время свертки в корреляторе)?
2. Сколько отводов по задержке в корреляторе?
3. Вы представитель НТЦ Модуль или МАИшной команды?
1. Указанные 24 цифровых канала получаются при какой тактовой частоте отсчетов (после предварительной децимации, именно во время свертки в корреляторе)?
2. Сколько отводов по задержке в корреляторе?
3. Вы представитель НТЦ Модуль или МАИшной команды?
0
1. 24 канала реализованы физически в железе. Исходная частота дискретизации до 81.92 МГц, при использовании фильтра необходимо понизить хотя бы до 20.48 МГц. Эмпирически в качестве оптимальной частоты дискретизации при использовании подавителя используется порядка 2-4 МГц.
2. Корреляционная обработка осуществляется в цифре при помощи согласованных фильтров. Соответственно, шаг по задержке пропорционален частоте дискретизации.
3. Работаю в Модуле, полторы недели назад окончил МАИ. Но если под маёвской командой вы подразумеваете именно тех инженеров, которые разрабатывают приёмник, то нет, к той разработке отношения не имею
2. Корреляционная обработка осуществляется в цифре при помощи согласованных фильтров. Соответственно, шаг по задержке пропорционален частоте дискретизации.
3. Работаю в Модуле, полторы недели назад окончил МАИ. Но если под маёвской командой вы подразумеваете именно тех инженеров, которые разрабатывают приёмник, то нет, к той разработке отношения не имею
+1
1. Летом я присутствовал на встрече с представителем НТЦ, он предлагал построить приемник на базе Нейроматрицы. Т.к. человек был высокий, то на конкретные приземленные вопросы у него не было ответов. А вопрос простой — сколько можно запихать корреляторов в матрицу? Судя по описанной им структуре приемника, ответ обратно пропорционален полосе сигнала (через частоту дискретизации, после входных фильтров и децимации). Вот я и пытаюсь понять, 24 канала влезли для каких сигналов? Для дискретизированных на 20.48 МГц, т.е. сигналов полосой до 10.24 МГц?
2. Осознал.
3. Любопытство удовлетворил.
2. Осознал.
3. Любопытство удовлетворил.
+1
Сейчас, к сожалению, не располагаю подобной информацией, как узнаю, сообщу.
p.s. Прошу прощения за -1 к комментарию в начале ветки, неправильно кликнул. Компенсировал на удалённом комментарии
p.s. Прошу прощения за -1 к комментарию в начале ветки, неправильно кликнул. Компенсировал на удалённом комментарии
+1
Сегодня уточнил по поводу количества корреляторов: сейчас на частоте 8.192 МГц реализовано 30 спутниковых каналов, в каждом из которых по три коррелятора (EPL). Таким образом, всего их 90 и количество пропорционально частоте дискретизации, т.е. на 4 МГц будет 180 и т.д.
+1
удалено
+1
Sign up to leave a comment.
Помехи в глобальных навигационных спутниковых системах. Продолжение