Приветствую вас, глубокоуважаемые!
«Если в ответ на запрос свой-чужой ответить неправильно, второй запрос придет уже на 533-ей частоте» (С)
«Все это идет как-то мимо вас. Или сквозь вас. А по мне это идет, как паровой каток. Ни одной целой кости не осталось. » (С) А. и Б. Стругацкие, «Град Обреченный»
Вы когда-нибудь задумывались, как бы выглядел под водой, ну, скажем, бокс или спортивная ходьба?
Не успели мы толком насладиться всеми прелестями интернета вещей,
Еще пару абзацев технического саспенса и я обещаю все объяснить.
Вам хорошо, вы сидите по ту сторону монитора и читаете очередную аналитику. А я до сих пор испытываю ложный стыд, когда отвечаю на вопрос, чем я занимаюсь. Знаете ли, многие даже не подозревали, что передать данные под водой это какая-то проблема. Или, скажем, что GPS не работает под водой.
Да что вообще происходит?
Давайте сразу озвучим условия. Чтобы было на что опираться. Сейчас я снабжу вас парой приемов для прикидки «на глаз».
Для гидроакустической связи доступна очень узкая полоса частот, грубо — от единиц до десятков килогерц. Звук на разных частотах затухает неравномерно.
Если взять «среднее» море, то коэффициент затухания:
- для звука частотой 1 кГц составляет величину порядка 0.1 dB/км
- для звука частотой 10 кГц — 1 dB/км
- а для звука частотой 100 кГц — беспощадные 10 dB/км.
Что это значит? Это значит что если вы работаете с широкополосным сигналом, то разные части спектра будут распространяться очень сильно по-разному.
Согласен, меня тоже всегда смущают эти децибелы и «паскали на корень из герц».
Если совсем сильно все упрощать, то средняя дальность связи:
- на частотах в районе 1 кГц может достигать десятков километров (при определенной доле везения — сотни)
- на частотах порядка 10 кГц — 10 километров
- а на частотах в районе сотни килогерц — сотни метров, и дай бог если получится хотя бы не одна.
Очень грубая формула для прикидки частоты сигнала для достижения требуемой дальности выглядит так:
Или, если нужно прикинуть, какую дальность теоретически обеспечит сигнал заданной частоты:
В диапазоне от 1 до 100 кГц формула более-менее правдива.
На частотах порядка 20 кГц можно ожидать дальность связи 2-3 км, а на частотах в районе 100 кГц — 300 метров. Такие дела.
Шумы же, от всяких больших металлических штук, как правило, низкочастотные и распространяются на дальние дали.
Если мы хотим передавать цифровые данные, то из самых общих гуманистических соображений, обладая изрядной долей оптимизма, можно скромно надеяться на скорость передачи 5 кбит на 10 кГц полосы, при условии, что полоса сигнала лежит выше 10 килогерц.
Скорость звука в среднем 1500 м/с. Это значит, что на каждые полтора километра дальности, задержка, связанная со скоростью распространения сигнала, будет увеличиваться на 1 секунду.
Давайте осмыслим эти величины. Если мы условно передаем какой-то запрос на, скажем, 10 километров, то ответ мы можем принять никак не раньше 14 секунд. В одном из экспериментов ответный сигнал ожидался более двух с половиной минут, т.к. абонент находился на удалении 120 километров.
Я сейчас даже не касаюсь проблем, связанных с тем, что скорость звука сильно зависит от плотности воды. Слои воды разной плотности не перемешиваются в морях и звук может полностью отражаться от границы двух слоев, т.е. где-то сигнал просто не пройдет туда, куда нужно. Без никаких видимых препятствий.
Шум, многолучевость и Допплер. Все моря, океаны и реки — шумят. Особенно сильно на частотах ниже 10 кГц. Звук отражается от дна, деталей подводного ландшафта, поверхности, отражения складываются в точке приема, траектория движения волн изгибается в следствии рефракции. Гидроакустические модемы могут держать связь на километрах, но не слышать друг друга через плотный слой морской травы, находясь в метре один от другого.
Хорошо, если мы пытаемся работать в глубоком море. Например, глубина километр, дистанция — 10, по пропорциям похоже на ванну. Ниже, на картинке из Википедии видна трассировка лучей:
А что, если речь идет о мелководном водоеме? Позапрошлым летом коллеги работали на дистанции 800 метров при глубине 4 метра. Геометрически — это лужа на асфальте. Соотношение дистанции к глубине 200:1. Представьте себе, сколько раз звук отразится от дна и как сложится в точке приема.
Все это приводит к тому, что гидроакустический канал связи очень сложный и очень неустойчивый.
Сети сенсоров?
Дежурная фраза звучит примерно так, что у нас 95% всего океана неизведанно. Очень заманчиво расположить на дне (или даже в толще воды) некие «узлы», которые измеряют какие-то параметры среды, накапливают и по требованию передают по цепочке куда-то. Например — на проходящее над ними
Усредненное реалистичное энергопотребление таких штук в режиме передачи 5-15 Вт. Даже, если принять, что большую часть времени устройство проводит во сне, как знатный кот, то исходя из скорости передачи и примерной частоты сеансов связи, становится совершенно очевидно, что при сколь-нибудь разумном времени автономной работы, большую часть этого устройства будет составлять батарейка. Несколько десятков килограмм лития, большую часть которого никто никогда не поднимет со дна, потому что его замоет илом, оно зарастет ракушками, сгниет и в целом это «экономически не выгодно».
Запомним, что такая штука просто не может работать постоянно, ну или хотя бы часто, как сота или домашний WiFi-роутер, хотя и лежит себе на дне совершенно беззащитно и никак не охраняется.
Тут я должен был бы привести какой-нибудь пример такой сети сенсоров. Ну хорошо, вот они:
- Тестовая сеть в La Spezia, Италия
- Тестовая сеть в Porto, Португалия
- Тестовая сеть в Twente, Нидерланды. На водоеме на территории кампуса университета
- Тестовая сеть в озере Sapanca, Турция
Все эти тестовые сети находятся, так сказать, в «гребковой» доступности от берега. Все относятся к европейскому проекту FP7-SUNRISE.
Ниже схема с сайта проекта, иллюстрирующая расположения и функции разных лабораторий и тестовых площадок:
Насколько проект удался — сложно судить. Статей выпущено немало.
Общий бюджет — 5 320 023 Евро. Среди фандеров — много европейских университетов, бельгийский центр науки и технологии НАТО.
Статус проекта — закрыт 31 декабря 2016 года.
Есть много разных мелких тестовых сетей, которые в основном представляют собой разовые мероприятия. Вот пара попавшихся мне на глаза:
Основные проблемы, как мне кажется, в том, что для реального применения таких штук с полезной нагрузкой нужно довести технологию до такого состояния, что бы узлы сети были готовы к дальнему космическому полету, ни больше ни меньше — бросил в воду — и мысленно попрощался. Любая сложная возня с батарейками и обслуживанием лишает всю затею смысла вообще.
Другое дело различные глайдеры!
Движущая сила всех таких проектов иллюстрируется одной картинкой с сайта дочки Боинга Liquid robotics:
Красивое видео о том, что такое Wave-glider и как оно работает:
Что такое просто глайдер и как работает он:
Если у первого есть надводная платформа, которую видно, то второй может недели и месяцы (больше года!) шнырять по морям и океанам, редко-редко выныривая на поверхность.
Конверсию и внедрение оборонных технологий никто не отменял конечно, можно надеяться на это. В любом случае, Глайдеры и Wave-глайдеры — это масштабно, это всерьез и надолго.
Так что там насчет подводной спортивной ходьбы и бокса?
Сродни воздушным дронам, подводные тоже не прочь понимать где они находятся, с ними тоже хорошо бы иметь возможность поддерживать связь, даже когда штуки в погруженном состоянии.
В последние годы появляется просто ворох публикаций на тему именно противодействия неким эфемерным кибер атакам на подводные сети сенсоров и подводные системы позиционирования.
Самый лакомый кусок для авторов таких статей — это спуффинг, как его определять и как с ним бороться.
Казалось бы, дело крайне несложное — просто берем модель из систем спутниковой навигации, меняем скорость света на скорость звука и вот вроде бы и целая новая область науки и техники.
Давайте разбираться, на каких допущениях все это основывается.
Обычно различают два типа спуфферов — те, что находятся на поверхности воды, и те, что находятся в толще воды. Первые определяют свои собственные координаты по GNSS, а вторые — по гидроакустической навигационной системе, с которой они и должны вступить в противостояние.
В публикациях, как правило, речь идет о некоей длиннобазисной гидроакустической навигационной системе, которую нужно скомпрометировать. Но я обещал мифы и реальность, поэтому мы разберем все основные типы гидроакустических навигационных систем и как их можно или нельзя побороть, даже такие, которые явно не подходят для позиционирования узлов подводной сети, ни мобильных, ни стационарных. Мы делаем допущение о том, что злоумышленнику известны все алгоритмы модуляции и демодуляции сигналов, все задержки и тайминги системы, частоты, кодировки и самые малые подробности.
Итак.
Дальномерно-угломерные системы
Это такие, в которых для решения навигационной задачи измеряется угол и дальность до искомой точки.
Могут быть несколько вариантов работы такой системы.
С точки зрения расположения пеленгационной антенны:
- Приемная на мобильной жертве
- Передающая на неподвижном приводном маяке. Антенна в этом случае должны быть ориентирована относительно сторон света образом, известным мобильной жертве.
С точки зрения способа определения дистанции:
- Методом запрос-ответ
- По предварительной синхронизации, излучающий приводной маяк
- Стартовый «запрос-ответ» для синхронизации, потом периодически излучающий приводной маяк
Если применяется метод «запрос-ответ», то единственный вариант осуществления спуффинга — быть ближе к жертве, чем приводной маяк. Тут все очень просто — навигационный сигнал в среднем имеет ощутимую длительность, и что немаловажно, длительность выраженную в расстоянии (помноженную на скорость звука).
Речь идет о десятках и сотнях миллисекунд, т.е. о десятках и сотнях метров. Спуффер должен принять запросный сигнал маяка и излучить ответный, смоделировав требуемую задержку, чтобы сформировать у жертвы нужный спуфферу образ того, как далеко она находится от приводного маяка.
Подменить угол прихода сигнала — невозможно, так как он объективно оценивается жертвой. Все, что может сделать спуффер в этой ситуации — подменить угол физически — просто быть с нужной стороны от жертвы.
Более того, спуффер не должен допустить ситуации, когда его «подложный» сигнал перекроется с реальным сигналом приводного маяка на жертве — в этом случае с очень большой вероятностью жертва вообще не примет никакой сигнал.
Пока схема стройная и по идее даже опасная. Почему она полностью нерабочая — чуть позже.
Если применяется метод с предварительной синхронизацией, у спуффера, с одной стороны появляется некоторый простор для действий — необязательно находиться ближе к жертве, чем приводной маяк, можно просто вклиниться в периодическую передачу между сигналами маяка.
С другой стороны он в большей степени связан периодом излучения приводного маяка — может быть и так, что подменный сигнал просто не уместится в промежуток между настоящими.
Вариант с первичной синхронизацией по методу «запрос-ответ» и последующей передачей приводного маяка опять же, дает больше возможностей спуфферу, если он сумеет совершить подмену в момент первичной синхронизации.
Вариант с излучающей фазированной антенной решеткой на приводном маяке еще более опасный для жертвы. Если в предыдущих случаях угол прихода сигнала подменить было невозможно, то в такой конфигурации путем изменения задержек излучения между разными элементами фазированной антенной решетки можно сформировать любой требуемый угол в «сознании жертвы».
Все звучит вполне логично и очень легко попасться на эту удочку.
Но на самом деле, все способы, которые я описал выше — также полностью нерабочие. Просто запомним пока это.
Дальномерные системы
Здесь в подавляющем большинстве случаев есть распределенные по поверхности или по дну опорные точки, координаты которых жертва или знает заранее или они постоянно передаются этими опорными точками. Опять могут быть все предыдущие варианты определения дальности — «запрос-ответ», предварительная синхронизации и т.п.
Здесь все очень похоже на угломерную систему, с той лишь разницей, что спуфферу нужно быть ближе всех, участвующих в процессе опорных точек. Он таким же образом принимает запросный сигнал жертвы, подменяет, если это нужно координаты текущей опорной точки (напомним, спуфферу известны все схемы модуляции-демодуляции и форматы посылок!), формирует в меру возможности требуемые задержки. Очевидно, что на место расположения спуффера в этом случае накладываются серьезные ограничения — ему нужно быть ближе всех опорных точек, и еще задержки не могут быть слишком большими — есть опасность перекрытия подменного и реального сигнала на жертве.
И эта схема также практически не может быть использована.
Разностно-дальномерные системы
Почти полностью похожи с предыдущими — на поверхности воды или на дне располагаются опорные точки, но теперь жертва ничего не излучает, а только слушает. Работа таких систем полностью повторяет идеологию GNSS — как спутники передают свои местоположения, так и опорные точки в гидроакустической системе позиционирования передают свои местоположения по часам, синхронизированным со всеми другими опорными точками.
Обычно, почему-то эту систему рассматривают в качестве наиболее подверженной спуффинг атаке. Скорее всего потому, что ее работа основывается практически на тех же уравнениях, что и у GNSS систем.
Итак, тут все происходит по той же идее, что находясь ближе к жертве, чем реальные опорные точки, спуффер передает подменный сигнал так, чтобы он приходил на жертву раньше настоящих сигналов. Т.к. абсолютные моменты излучения роли не играют, то спуффер может передавать сигналы сильно раньше, чем опорные точки. Важны лишь разности времен прихода сигналов на жертву.
Заключение
Все три класса систем на первый взгляд кажутся подверженными спуффинг-атакам, что же в этих рассуждениях не так?
На самом деле все очень просто: ощутимо малая скорость распространения сигнала играет злую шутку со спуффером. Чтобы что-то там подменить, нужно очень точно знать не только свое местоположение и местоположение опорных точек или приводного маяка, нужно знать местоположение жертвы!
Черт возьми, чтобы решить навигационную задачу, нужно сначала решить навигационную задачу как минимум три раза!
Это на воздухе спуффер знает где летит «фридом либерейтор», и может направлено кормить его подменными GNSS-данными. Под водой это можно сделать только в пределах прямой видимости, то есть это единицы метров, может быть десяток в самом оптимистичном случае.
Но неужели авторы этих публикаций упустили такую простую деталь?
Конечно нет. Я думаю они прекрасно все понимают. В части публикаций (в основном по подводным сетям сенсоров) такой вопрос вообще не поднимается, в других же, определять местоположение жертвы в статьях предлагается… гидролокацией!
А в случае со спуффером в толще воды, который сам не знает где находится (приводная угломерная система, например, никак не поможет ему в этом — она для того, чтобы можно было к ней именно прийти, а не понять свое абсолютное положение).
Если это поверхностный спуффер, то ему нужно опускать антенну на достаточную глубину, если он хочет определять местоположение жертвы пассивной или активной гидролокацией, то ориентацию гидролокатора, висящего на гибком кабеле на несколько десятков метров, тоже нужно уметь отслеживать с недостижимой точностью.
Стоит ли говорить о том, что точности горизонтальной эхолокации в принципе не хватит для адекватного спуффинга (не превращающегося в джамминг!), или о том, что это, (как и спуффинг сам по себе!) просто феерически заметно под водой? И пожалуй, единственный вариант, когда спуффер точно будет знать местоположение жертвы — когда он физически будет с ней вместе, как рыба-прилипало с китовой акулой.
Какой наиболее вероятный исход, с учетом того что я писал про дальность связи и все условия работы узлов подводной сети и глайдеров?
- Если это близко (сотни метров — единицы километров), то к ставящему спуффер просто подплывут на лодке и попросят объясниться
- Если это далеко (десятки километров), то на несанкционированные (и бессмысленные!) щелчки гидролокатора легко могут ответить на «533-ей частоте».
Активно излучать под водой — это как ездить ночью в машине с включённым салонным светом — как минимум, неосмотрительно.
Я уже и не говорю, что гидроакустика все-таки акустика, сигналы не требуют сложного оборудования для записи, на спектре сразу все заметно, а если рассчитано на дальние расстояние и на низких частотах, то попросту слышно.
Поэтому и получается, что эффективный на воздухе бокс — GNSS спуффинг, оказывается скорее неуклюжим и бессмысленным в среде водной.
Все, что реально работает против акустики — джамминг, джамминг и еще раз джамминг, чем мощнее — тем больше шансов. Ну, или просто подплыть и поковырять ответрткой =)
P.S.
Сознательно не привожу ссылки на публикации, интересующиеся сам без труда смогут найти статьи по словам «underwater acoustic spoofing».
Традиционно буду благодарен за конструктивную критику, сообщения об ошибках, пожелания и предложения!
Комментарии (55)
SergeySib
18.12.2019 12:24+1> Если это далеко (десятки километров), то на несанкционированные (и бессмысленные!) щелчки гидролокатора легко могут ответить на «533-ей частоте».
На правах околотехнической фантастики: а что если спуфер и локатор — разные устройства на расстоянии друг от друга?
Во-первых, оба могут определить своё местоположение по системе, которой противодействуют.
Далее, локатор может непрерывно кормить спуфер данными о местоположении жертвы, пока есть такая возможность. В идеале, делать это по надводному радиоканалу. Как только локатор уничтожают, в работу включается следующий (ранее не обнаруживший себя) локатор, находящийся в другом месте, и так до исчерпания запаса локаторов. Разумеется, всё это работает в предположении, что обнаружить факт спуфинга сложнее (дольше), чем наличие несанкционированного локатора.
> Разностно-дальномерные системы
Почему бы не прикрутить ФАР как меру противодействия? Определяем угол на источник сигнала, и если внезапно появился сигнал с новым азимутом, игнорируем его при решении навигационной задачи. Заодно, угол на легальные маяки можно замешать в решение задачи для повышения точности.AlekDikarev Автор
18.12.2019 12:51На правах околотехнической фантастики: а что если спуфер и локатор — разные устройства на расстоянии друг от друга?
Во-первых, оба могут определить своё местоположение по системе, которой противодействуют.
Далее, локатор может непрерывно кормить спуфер данными о местоположении жертвы, пока есть такая возможность. В идеале, делать это по надводному радиоканалу. Как только локатор уничтожают, в работу включается следующий (ранее не обнаруживший себя) локатор, находящийся в другом месте, и так до исчерпания запаса локаторов. Разумеется, всё это работает в предположении, что обнаружить факт спуфинга сложнее (дольше), чем наличие несанкционированного локатора.
Да можно конечно, только смысла никакого нет. Любой исскуственный сигнал мгновенно будет обнаружен. А если локатор уже уничтожают, то видимо уже идут полномасштабные бои, и спуффинг — это последнее, о чем стоит беспокоиться ) Любая активная акустика — это полная демаскировка. Современные лодки засекут такое на дальних подходах. Даже волновые глайдеры с гибкой буксируемой антенной.
Почему бы не прикрутить ФАР как меру противодействия? Определяем угол на источник сигнала, и если внезапно появился сигнал с новым азимутом, игнорируем его при решении навигационной задачи. Заодно, угол на легальные маяки можно замешать в решение задачи для повышения точности.
Так и будет. У лодок весь нос (как минимум) — это конформная антенная решетка из тысяч элементов. Тут уже вопрос в классификации сигнлов и решительности — кто насколько прочно на стуле сидит. Если речь о чем-то небольшом, то в целом спуффер обнаружить и тут не проблема. Вопрос опять же в том, что с ним делать — это уже административные и юридические вопросы.
MShekunov
18.12.2019 12:29+1Мне интересно, какой спектр шумов образуется от работающих винтов катеров/моторных лодок? Вносит ли кавитация свой вклад в этот шум?
AlekDikarev Автор
18.12.2019 12:57+1А вот в статье моего коллеги прям спектрограмма шума моторной лодки:
Вот сама статья
Тонкая линия сверху — это наш сигнал (испытывали водолазную телефонию), а большое пятно — моторная лодка (типа казанки) на расстоянии 500-600 метров от места записи.
Все вносит свой вклад в шум, и кавитация тоже. Численно я не готов ответить какой именно)MShekunov
18.12.2019 13:04+1Спасибо большое за информацию! Мы сделали компактный модуль эхолота, который работает в диапазоне 300-800кГц, и, похоже, нам не стоит переживать за шумовое загрязнение в этом диапазоне? На вашем графике видно, что после 40кГц наступает тишина.
AlekDikarev Автор
18.12.2019 13:08+1За шумовое загрязнение я бы вообще не переживал — на фоне моторных лодок все это имеет бледный вид.
Что же касается тишины после 40 кГц — этот сигнал записывался с частотой дискретизации 96 кГц и естественно там присутствует полосовой фильтр. Поэтому и нет ничего выше 40 кГц =)
toivo61
18.12.2019 13:38+1Если мы хотим передавать цифровые данные, то из самых общих гуманистических соображений, обладая изрядной долей оптимизма, можно скромно надеяться на скорость передачи 5 кбит на 10 кГц полосы, при условии, что полоса сигнала лежит выше 10 килогерц.
Эээээ? Пора обратно расчехлять протокол V.34+. Только рыбы из водоемов пешком уйдут.
Думаю, что Дягилев, Норватов и Майк Теллис вполне себе живы, а Курьеров и Инпро по чердакам для макета у коллег найдется.AlekDikarev Автор
18.12.2019 13:52Ну можно попробовать, метров на нцать, наверное может и заработает с перебоями. Расскажите потом, что получилось)
opaopa
18.12.2019 14:28+1>5 кбит на 10 кГц
Модемы конца моей юности на телефонных сетях общего пользования выдавали до 50Кбит/сек при полосе <=8кгц (V.52/V.34).
Куда вы порядок потеряли?AlekDikarev Автор
18.12.2019 14:40Эх если бы это я потерял! Теряет среда. Больше бит на герц полосы — меньше помехоустойчивость, меньше помехоустойчивость — и в какой-то момент данные уходят как черную дыру.
toivo61
18.12.2019 14:57+1Ну я как раз про прошивки, которые работали на километровых аналоговых линиях изрядно зашумленными помехами от декадно-шаговых и координатно-шаговых АТС.
Не стоит сбрасывать эту технологию со счетов. Но да, приемопередатчик для воды придется сконструировать.AlekDikarev Автор
18.12.2019 15:07Шум это пол беды. Дело в многолучевости в основном. Можно найти такие условия, когда шума почти не видно, а работать ничего не будет.
toivo61
18.12.2019 15:37Это да, многолучевость в аналоге штука неприятная. Но здесь можно «подсмотреть» как это сделано в цифровом телевещании.
opaopa
18.12.2019 15:00+1>Подменить угол прихода сигнала — невозможно, так как он объективно оценивается жертвой.
Ну почему же: В момент, когда антенна жертвы направлена туда, куда надо нам, и она думает, что измеряет сигнал с той стороны, охерачить ее настолько мощным сигналом с нашей стороны, что он пролезет на вход (прямо или через отражение) и будет воспринят, как пришедший с нужной нам стороны.
Отражения… MIMO-WIFI с ними целенаправленно заигрывает, а в IP-телефонии есть обширная тема эхоподавления
>Усредненное реалистичное энергопотребление таких штук в режиме передачи 5-15 Вт.
А опустить к ним поближе ретранслятор, прицепленный к «донному траллу» почему не получается?AlekDikarev Автор
18.12.2019 20:39Ну почему же: В момент, когда антенна жертвы направлена туда, куда надо нам, и она думает, что измеряет сигнал с той стороны, охерачить ее настолько мощным сигналом с нашей стороны, что он пролезет на вход (прямо или через отражение) и будет воспринят, как пришедший с нужной нам стороны.
Дело в том, что определять угол можно не только имея антенну с узкой направленностью. Можно определять угол по задержкам, а можно, применяя спектральные методы.
В этом случае антенна определит истинное направление на источник. Единственный способ «подменить» угол в этом случае — чтобы сигнал физически пришел с того направления, т.е. быть там, поставить там некий (сейчас с фантазирую) экран, отразив сигнал спуфера так, чтобы они пришел с нужного ему направления, и заэкранировав при этом прямой (технически я не знаю как такое осуществить в реальных условиях). Но такое «решение» порождает еще миллион проблем.
Отражения… MIMO-WIFI с ними целенаправленно заигрывает, а в IP-телефонии есть обширная тема эхоподавления.
В гидроакустической связи Multipath это более суровая штука, чем в радиосвязи. И у нас тоже применяются все мыслимые и немыслимые способы — rake-приемники, адаптивная эквализация, зондирующие сигналы и все такое прочее.
Я хотел сказать, что иногда бывают такие условия, в которых восстановить сигнал невозможно в принципе — информация полностью утеряна. Очень грубо говоря, сложились два гармонических сигнала точно в противофазе и дали ноль — поди восстанови там что.
А опустить к ним поближе ретранслятор, прицепленный к «донному траллу» почему не получается?
Да можно конечно, но так не наопускаешься. Что делать если глубина 6 км? Буксировка таких штук это войсковая операция. Плюс часто погоду делает не разница глубин, а наклонная дальность.
В телефонии же, подавление эха — это вообще несколько иная история.
EvilBeaver
18.12.2019 17:10+1Все, кажется, идет к тому, что будет противостояние конвеерно-штампуемых аппаратов против кожаных мешков вообще
Desavian
18.12.2019 17:56+1Хм, я видел наброски модульного оборудования, как раз предназначенного для борьбы с подменой данных. Ведь если устройство военного назначения и 99% времени оно работает вхолостую, нам надо гарантировать только верность данных в момент их снятия. Для этого на оборудование вешается несколько отстреливаемых микромодулей, проходит над оборудованием корабль/пролетает дрон — по сигналу оборудование отстреливает один из модулей, он всплывает и по шифрованному каналу передает данные. Да, количество гарантированных съемов информации равно количеству модулей, но ведь это не так мало в оперативной обстановке.
Это то, что касается приема данных надводными приемниками с подводных средств получения информации.
При необходимости получения информации наоборот, подводным судном, уже с него отстреливаются модули, которые получают данные, затем одинаковые данные с нескольких узлов подводного оборудования сверяются на случай «охерачить ее настолько мощным сигналом с нашей стороны, что он пролезет на вход (прямо или через отражение) и будет воспринят, как пришедший с нужной нам стороны.»
Просто тут надо очень четко разделять оборудование военного и цивильного назначения, а также как часто необходимо принимать и обновлять информацию.AlekDikarev Автор
18.12.2019 20:44Соглашусь с вами. Мой поинт вообще был о том, что все эти разговоры про спуффинг того, чего и в природе пока толком нет и не факт что будет — исключительно для того, чтобы получить грант, написать ворох бестолковой бумаги и надувать щеки от собственной важности. В этом был мой крик души.
Спуффинг под водой дело конечно бессмысленное, если не считать смыслом получения грантов и наращивания числа публикаций.MShekunov
19.12.2019 08:57+1Можно рассматривать это «бессмысленное» действо как фундаментальное исследование, нежели прикладное.
chnav
18.12.2019 19:20+1Позвольте уточнить, «Разностно-дальномерные системы» это несколько иное (т.н. «гиперболические» системы в иностранной классификации). В GPS есть подобный метод при использовании фазовых измерений (первые разности), но он не является основным и тем более не является основным для военных.
В GPS основным измерением является (псевдо)дальность, т.е. дальномерная система, линиями положения ровера является сфера.
В разностно-дальномерной системе измерением являетия разность расстояний от двух опорных станций, линией положения ровера является гипербола или гиперболоид для 3D.AlekDikarev Автор
18.12.2019 20:49Я тут недавно пару статей написал (не снискавших, правда, популярности), где прям разные типы систем (гидроакустических конечно) разбирал по устоявшейся классификации и как оно (по моему скромному мнению) должно быть. Разбирал отличия навигации и позиционирования (трекинга), способы измерения времени распространения сигналов и всякое такое. Ждал вас в комментариях, надеялся на интересную дискуссию.
Но на данный момент просто выдохся, по этому соглашусь без условий )chnav
18.12.2019 22:28+1Спасибо за доверие и за статьи, они у меня в закладках, нечего было добавить. Но я не разработчик, а (бывший) пользователь гидроакустики и старых радионавигационных систем, поэтому остались в памяти какие-то остатки терминологии ))
Jef239
19.12.2019 09:17+1В GPS основным измерением является (псевдо)дальность,
Устарелые сведения. Современные приемники дают кодофазовое навигационное решение, ну как минимум — за счет фильтрации кода доплером. Ну а решение по скоростям — оно вообще чисто фазовое, отсюда и 3-5 см/сек в точности определения скорости.chnav
19.12.2019 09:44Всё верно, недаром есть термин «фазовая дальность». Но фаза легко забивается средствами РЭБ и просто зашумляется окружающей средой (крона леса), поэтому основным измерением-таки является фаза PRN-кода aka кодовая дальность.
Phase-smoothed Pseudorange это исключительно прерогатива бытового и ГИС-сегмента (в т.ч. широко распространённых uBlox). В геодезическом классе кодовая дальность БЕЗ СГЛАЖИВАНИЯ декларируется как одно из преимуществ. key features. Например из спецификации Trimble BD982
Unfiltered, unsmoothed pseudorange measurements data for low noise, low multipath error, low time domain correlation and high dynamic response
Jef239
19.12.2019 10:22+1Но фаза особо чувствительна к уровню шума,
Да ну, не смешите. Пока мы не вошли в когерентный прием (это примерно SN >= 30) мы не практически не можем выделить эфемериды и альманахи из сигнала. Да и шум кода при SN < 30 ужасен. А как вошли в когерентный прием — так сразу есть фаза. Более того, если приёмник получше, то он и в некогерентном приеме дает суммарный доплер, просто точность будет не 0.01 герца, а порядка герца.
В геодезическом классе кодовая дальность БЕЗ СГЛАЖИВАНИЯ декларируется как одно из преимуществ, Key Features.
Господи, какая чушь!!! Вы хоть раз навигационную задачу писали? А ну ладно, а вообще с сырыми измерениями работали?
Сам приемник в своих вычислениях использует сглаженные псевдодальности. А наружу — выдает несглаженные. Дело в том, что приемник может использовать только однопроходные алгоритмы сглаживания. А вот программа, работающая по записанным данным — может и многопроходными алгоритмами сгладить. То есть анализировать не только историю, но и данные вперед. Поэтому обычно есть настройка — что гоним наружу — сглаженные или несглаженные.
Упомянутый вами тримбл — это двухчастотник. Там сглаживание идет сложнее. Сначала из несглаженных псевдодальносьтей получаем ионосферносвободную комбинацию. А уж потом — сглаживаем её ионосферносвободной фазой. Наоборот (сначала сглаживание, потом комбинация) — нельзя, сглаживание убирает примерно половину ионосферы.
Unfiltered, unsmoothed pseudorange measurements data for low noise, low multipath error, low time domain correlation and high dynamic response
Это они хвастаются. что у них данные с малым шумом ещё до сглаживания. Скорее всего акселерометр поставили, зажали кольца слежения, а при рывке по сигналу акселерометра их расширяют.chnav
19.12.2019 10:49Господи, какая чушь!!! Вы хоть раз навигационную задачу писали? А ну ладно, а вообще с сырыми измерениями работали?
Вы не могли бы в будущем игнорировать мои сообщения? Я пишу на абсолютно другую тему, вы умудряетесь всё перевести и тролить на какие-то частности. Во всех темах. Для вас аббревиатура GPS как красная тряпка.
Мне абсолютно неинтересно, что и как вы считаете, у меня свой опыт, описывать который долго и никому не нужно. Если мне понадобится углубиться в детали — я открою нормальный учебник, а не ваши высокомерные обрывочные сообщения. Учите кого-нибудь другого.Jef239
19.12.2019 10:52Нет, красная тряпка — это чушь на тему GPS. Увы, не люблю чушь.
А уж когда порят чушь относительно кода, который я ровно сейчас отлаживаю…
Мне абсолютно неинтересно, что и как вы считаете, у меня свой опыт,
Беда в том, что вы путаете разные явления. Слипы фазы, разумеется есть, но они возникают не из-за шума, а из-за резкого движения приемника. Зажали кольцо слежения — получили низкий уровень шума и слипы по любому поводу. Но слип (резкий скачок фазы на целое число циклов) — это не шум, это иное явление.chnav
19.12.2019 11:51Со слипами и неоднозначностями я «познакомился» ещё в 1993 году на дальномерных системах Syledis (PRN), MicroFix (PRN) и ARGO (phase).
Техническая документация тогда была с детальным описанием работы и принципиальными схемами, в интернете такого не найти. А мы калибровали всё это вполне осязаемыми подстроечниками, а не настройкой фильтров в программе )) Поэтому когда в 1994 у нас появились приёмники Trimble 4000 — объяснять нам что такое PRN-код и фазовые измерения уже не требовалось, мы их нутром чувствовали. Небольшие различия появились из-за DSP, но принципы те же.
А вот кто пришел позже, в 97-98, и не застал эти системы, выросли в кнопкодавов. Вы совершенно определённо только с такими и сталкивались на работе и форумах, поэтому вам в голову не приходит что до GPS была радиогеодезия (ещё во вторую мировую), а GPS — это всего лишь её развитие.
Сейчас идёт переизобретение колеса на новом технологическом уровне, с чем я вас и поздравляю.
Возвращаясь к теме статьи. Хочу поблагодарить автора за разработки и систематизацию данных. У нас, в морской геодезии и навигации, гидроакустика и подводное позиционирование ВСЕГДА считались более сложными в работе, чем радиогеодезия. Именно по тем причинам, что указаны в статье — шумы, малая дальность, термоклины, отсутствие избыточности, контроля качества и пр.Jef239
19.12.2019 12:13Ну если GPS это развитие радиогеодезии, то радиогедезия — развитие радиолокатора, а радиолокатор — улучшенная рулетка. :-)
А вот с разработчикамии софта для Циклон-Цикады я лично знаком. Это как раз реальный предшественник — начало разработки — 1959 год, эксплуатируется с 1976ого. В отличие от чисто доплеровского транзита, в цикаде были и кодовые измерения.
А вот кто пришел позже, в 97-98, и не застал эти системы, выросли в кнопкодавов.
Вы в каких-то странных местах общаетесь. Среди пользователей, что ли? Не видел среди разработчиков приемников и софта кнопкодавов.
А геодезия — это лишь одно из приложений GNSS, и в данный момент — не самое важное и самое неинтересное. Никакого прогресса там не намечается. А вот автомобильные навигаторы с СКО 30 см (дешевый PPP float) — это ближайшее будущее. Дальнее будущее — СКО менее 5 см (PPP fix).chnav
19.12.2019 13:30А вот с разработчикамии софта для Циклон-Цикады я лично знаком. Это как раз реальный предшественник — начало разработки — 1959 год, эксплуатируется с 1976ого. В отличие от чисто доплеровского транзита, в цикаде были и кодовые измерения.
Вы в каких-то странных местах общаетесь. Среди пользователей, что ли? Не видел среди разработчиков приемников и софта кнопкодавов.
Ну вот, опять… Зачем мне этот ликбез, если я имею реальный опыт работы с подобными системами (только зарубежного производства, включая успешно забытый мною Транзит)? А у вас этого опыта нет, только «знакомство с создателем». Я потому и написал про ваш круг общения (как минимум, в интернете), что вы постоянно сыпете ссылками и общаетесь со всеми с позиции «учителя», пишите какие-то базовые, азбучные истины, которые можно почерпнуть из любого учебника. И это не в первой ветке такое, вот такого вы мнения об окружающих.
Нормальный, уверенный в себе специалист и учитель не будет доказывать анонимам на Хабре, как он крут и какие все остальные невежды. Хотя бы из-за элементарных правил приличия.
И вот что ещё я заметил. RTKLib с открытыми исходниками появился году так в 2008-2010. И я не нахожу ничего удивительного в том, что после этого как грибы стали расти программисты GNSS RTK ))) При этом даже организовать простейший DGPS никто не в состоянии, т.к. этот код отсутствует в RTKLib. Казалось бы, сегодня — куча каналов связи, идеально для смартфонов т.к. относительно простая обработка, вот вам готовый субметр в смартфоне. Одна базовая станция через интернет покроет всю Москву. А если задействовать RDS (есть в некоторых смартфонах) и договориться с радиостанциями… Скорости на RTK не хватит, а на DGPS — с головой. Нет, никому не надо, всем подавай RTK )))
Раньше кроме Sam's GPS software pages ничего не было, а потом понеслось…Jef239
19.12.2019 13:46Так у меня и с GNSS опыта «работы» нет. Я не измеряю по готовым программам, а пишу свои.
Я просто не люблю, когда ламеры, не написавшие ни одной строчки кода в GNSS, несут бред с умным видом.
А ликбез для вас очень простой. Чисто кодовое автономное решение — это СКО в районе 10 метров, кодофазовое автономное — СКО 2-3 метра. Да, до сих пор на аирбасах и боингах летают чисто кодовые приемники 90ых годов. Но все современные — используют кодофазовое решение со сглаживанием кода доплером. Ну хотя бы потому, что оно частично устраняет ионосферу.
Технические аргументы у вас есть? Или только ad hominem?chnav
19.12.2019 13:59Написание кода является для меня хобби и я даже делился своей реально работающей программой на сайте геодезистов. Только назначение у неё было иное — сбор данных для постобработки с устройства за 300-500р. А потом ещё инжектирование кода в тримбловский софт… Я никогда не верил, что любительская навигация сможет переплюнуть коммерческую, достаточно посмотреть на интерфейс RTKLib. Много ли было желающих переписать его интерфейс? ))
Что касается СКО… Это цветочки. Статистическое тестирование, f-test, w-test, MDE — вот с чем мы работали и по чему настраивали сети реального времени с сотнями датчиков (GNSS, RGPS, акустика, компасы всех видов и пр.).
Жаль тут нет кнопки блокировки. Я ничего нового от вас не узнаю, пустая трата времени. Тренируйтесь… на кошках.Jef239
19.12.2019 14:10Ничего нового, это типично для любого ламера.С одной стороны пороть чушь с умным видом, с другой — отказываться изучать, как оно на самом деле.
Просто для всех ваше мнение… ну примерно как мнение дворника, ежедневно подметающего мост, по сравнению с мнение проектировщика этого моста. Дворник, конечно, «работает» с мостом ежедневно, зато и мнение его — никому не важно.chnav
19.12.2019 14:42Спрошу в очередной раз — вы пишете прошивки для созданных вами или вашими коллегами GNSS-чипов, т.е. всё что упоминали ранее — DSP, цепи слежения и их настройки (ну что там обычно используется, наверное Costas Loop), PRN, декодирование навигационного сообщения, решение неоднозначностей по коду? Если так — снимаю шляпу, с удовольствием узнал бы тонкости некоторых процессов.
В противном случае вы такой же пользователь готовых данных, как и я, пользуетесь данными, что вам выдаёт чип. Вместо фазы кода вам приходят готовые псевдодальности с уже исправленным ambiguity, скорее всего даже скорректированные на уход часов, приходят готовые эфемериды и даже координаты антенны, которые можно использовать для первого приближения. Вы подставляете их в подготовленные кем-то другим формулы, в т.ч. iono free, берёте готовые формулы moving base и вот вам готовый компас. Собственно все ноу-хау — собрать код воедино и собрать в одну коробку. Да ещё за зарплату.
Для меня вот этот человек — авторитет в GPS, вот там есть чему поучиться
www.aholme.co.uk/GPS/Main.htm
Я недалеко ушел от вас по возасту, так что позволю совет — будьте в следующий раз терпимее к окружающим и выбирайте слова иные, чем «чушь», «ламер» и пр.Jef239
19.12.2019 15:39Мы пишем RTK и PPP, то есть занимаемся третичной обработкой. Иными словами — у нас собственный (нами написанный) аналог RTKlib. Насчет упрятывания нашего кода в приемник — пока рано говорить, переговоры идут. Из серийных приборов — ну например, на всех атомных ледоколах работают наши спутниковые компасы.
Вместо фазы кода вам приходят готовые псевдодальности
Опять чушь пошла. Вы когда-нибудь видели RINEX или RTCM3? Код, фаза и доплер — в дорогих приемниках это 3 разных канала измерения. В более дешевых — два канала, код и фаза, а доплер считается как разность фаз за секунду.
Собственно все ноу-хау — собрать код воедино и собрать в одну коробку.
Ну-ну… Вы поищите в учебниках алгоритм разрешения фазовых неоднозначностей. :-)
На самом деле, большинство ставит в приемники RTKlib. Не потому, что он хорош, а потому что своё очень сложно сделать. В мире примерно десяток собственных RTK, все остальное — RTKLib или иное использование чужого кода.
Для мена вот этот человек — авторитет
А что он такого особенного сделал? У него на крыше в стопе пятно — метров 60.
www.aholme.co.uk/GPS/Main.htm
На хабре есть и разработчик приемников командного сегмента, можете у него узнать про нас.chnav
19.12.2019 15:46Опять чушь пошла. Вы когда-нибудь видели RINEX или RTCM3? Код, фаза и доплер — в дорогих приемниках это 3 разных канала измерения. В более дешевых — два канала, код и фаза, а доплер считается как разность фаз за секунду.
Эмм… конечно видел, да ещё и написал свой конвертер с разметкой Stop-n-Go.
Что касается доплера — в приёмниках, где PLL Costas Loop, именно он является первичным измерением. А фаза — это Integrated Doppler, т.е. накопление доплера.
Про приёмники с FLL врать не буду, не знаю.
PS: про фазу кода поищите как работает кореллятор и что у него на выходе.
Code Phase и Carrier Phase это две большие разницы, все их путают. Псевдодальность ещё посчитать надо (перевести Code Phase в метры, устранить неоднозначность)… Поэтому та любительская разработка имеет большую ценность. А точность у него… если учесть, что там 1-bit ADC то удивительно как оно вообще работает.
На этом день подходит к концу. Я выгорел.Jef239
19.12.2019 16:00А фаза — это Integrated Doppler,
Опять ламерство. Попробуйте, замените в RINEX фазу на суммарный доплер + начальное значение кода и попытайтесь разрешиться. Как думаете, получится? :-)))
Фаза отличается тем, что у неё выставлен 0. То есть она показывает расстояние до спутника с точностью примерно 2 мм + целое число циклов. А суммарный доплер дает неоднозначность в дробное число циклов. поэтому в fix не разрешается.
И это как раз та фишка, которая позволяет отличить имитатор или спуфер от реального сигнала. При приеме реального сигнала мы имеем разницу в расстоянии между спутником и приемниками в сантиметры. И видим эту разницу во вторых разницах фаз. А во вторых разницах суммарного доплера — мы не увидим ничего, всё уйдет в нецелые неоднозначности.chnav
19.12.2019 16:23Опять ламерство. Попробуйте, замените в RINEX фазу на суммарный доплер + начальное значение кода и попытайтесь разрешиться. Как думаете, получится? :-)))
Вот вы неугомонный…
Естественно получится, в нормальных программах обработки. Если не верите на слово
insidegnss.com/generating-carrier-phase-measurements
В литературе всё это есть, я дал ссылку на FAQ. Integrated (Accumulated) Doppler, и точка. Спросите своих разработчиков.
Фаза отличается тем, что у неё выставлен 0. То есть она показывает расстояние до спутника с точностью примерно 2 мм + целое число циклов. А суммарный доплер дает неоднозначность в дробное число циклов. поэтому в fix не разрешается.
Показания каналов снимаются одномоментно (это та ещё весёлая процедура...) и по-любому в каком-то канале в этот момент будет дробный доплер, и соответственно, накопленная фазовая дальность. В этом весь её смысл, что она не прыгает по 30см+-2мм, а изменяется плавно.
Вы для себя разберитесь, что конкретно вы прочитали в литературе, а что додумали сами. Последнее иногда подводит, я годами так устранял пробелы. Вроде всё на поверхности — а потом почитаешь умную книжку… Сразу разрешаются десятки мифов.Jef239
19.12.2019 16:31Естественно получится, в нормальных программах обработки
Пруф давайте.
По вашей ссылке написано про «значительные проблемы» —This phase bias term is therefore different for each satellite, which could cause significant problems in processing these measurements.
Собственно в этом и есть отличия суммарного доплера от фазы.
Показания каналов снимаются одномоментно и по-любому в каком-то канале в этот момент накопится дробная фаза.
Перечитайте собственную ссылку внимательно, там вполне про это написано.
chnav
19.12.2019 20:18This phase bias term is therefore different for each satellite, which could cause significant problems in processing these measurements. — прочитать следует и предваряющую его чать
To generate useable phase measurements, the receiver phase observations must maintain a constant integer number of cycles offset from the true carrier phase.
т.е. те самые ambiguity.
Что касается вашего замечания, мол не у всех ринексов разность фазовых дальностей совпадает с доплером (или, наоборот, интегрированный доплер не позволяет получить фикс-решение), Капитан Очевидность докладывает: период Integrate and dump даже в захудалых приёмниках составляет хотя бы 100 мсек, т.е. 10 замеров в секунду, из которых интегрируется допплер. А в ваши сырые данные, видимо, попадает только последнее измерение (якобы «мгновенное»), т.е. только каждое десятое. Естественно суммируемые значения (т.е. средний доплер за 100 мсек) могут не биться с общей фазой (интегрируется 10 раз в секунду из меняющихся значений). Это уж каждый производитель решает по-своему, что выдать потребителю — от ВАС тут Не зависит ровным счётом НИЧЕГО, вы лишь потребитель готовых типа «сырых» данных. Цифры (100 мсек, период сырых данных в ринексе 1 сек) — условные, это может быть 20 мсек / 50 Гц, и тогда картинка станет иной. Специально уточняю, чтобы не докапывались до мелочей.
GPS — огромная область знаний из многих смежных отраслей. Если вы программируете готовые формулы для навигационного решения это не означает, что вы автоматически разбираетесь в работе GPS-приёмника. По верхушкам все мы «специалисты широкого профиля».
На этом позвольте откланяться.
PS: представляю, какой ужас на вас произвели бы сырые данные с Сёрфа — доплер под 96 kHz и псевдодальности по 40000 км ))) А он — чип — ничего, справляется… И дальности сглаживает… и нав-решение обеспечивает… И размеры меньше Нависа, в смартфон помещается.Jef239
19.12.2019 20:52т.е. те самые ambiguity.
ну опять вы чушь порите. Неоднозначности (ambiguity) выражаются в целом числе циклов, а смещения (bias) это меньше цикла.
Что касается вашего замечания, мол не у всех ринексов разность фазовых дальностей совпадает с доплером
Я такого не говорил. Но это вполне реально, когда доплерометр и фазометр — разные устройства. Плюс, если измерения выровнены на целую миллисекунду, правила коррекции, определенные в стандарте RINEX, изменют фазу, но не меняют доплер.
интегрированный доплер не позволяет получить фикс-решение
Угу, можете проверить. И тут дело именно в разном BIAS для разных спутников. Вы что в качестве затравки возьмете? А если спутник пришел позже?
А в ваши сырые данные, видимо, попадает только последнее измерение (якобы «мгновенное»), т.е. только каждое десятое.
Слишком простой баг, я такое только при отладке на собственном конверторе ловил. В реальных программах такого дерьма нет.
Это уж каждый производитель решает по-своему, что выдать потребителю
Типа взяли и наплевали на стандарт? Не, бывает, конечно. Но не так грубо.
Литературу по устройству приёмников советовать не буду
Есть она у нас, даже с дарственными от авторов.
Вот только зачем она мне? Мне десятка знакомых авторов приемников хватает. Потому что мне нужно знать, что сделано в конкретном приемнике, а не общую схему.
Знаете, как происходит типичный диалог с автором приёмника?
— У вас баг!
— Да у нас миллион приемников по всему миру работает.
— У вас баг, вот пруфы.
— Да не может быть!
— А вы посмотрите, мы вроде все учли.
— <молчание>
Через месяц прилетает новая прошивка со словом «спасибо».
Jef239
19.12.2019 22:08Чуть уточню. Фазу по доплеру вы восстановить не сможете. Но некий способ сделать фазу из доплера я придумал. На коротких кусках измерений прокатит, на длинных — нет. Надо будет попробовать, удастся ли зафиксироваться. Ну и посмотрим, догадаетесь ли вы до работающего решения.
Если вы программируете готовые формулы для навигационного решения
Хуже того, я и русский язык не сам выдумал, и даже алфавит не свой собственный и таблицу умножения не сам выдумал. :-))))))
Я просто ржу, как вы в каждый пост вставляете ad hominem.
chnav
19.12.2019 15:44Ну, собственно, не так уж я и неправ… В вашем оборудовании используются чипы Навис
Приемник берем российско-украинский NV08C-CSM от КБ Навис. Ну просто потому, что авторы знакомые.
Открываем на GitHub репозитарий RTKLib, файл nvs.c, коммит 6 лет назад
/*------------------------------------------------------------------------------ * nvs.c : NVS receiver dependent functions * * Copyright (C) 2012-2013 by M.BAVARO and T.TAKASU, All rights reserved. * * [1] Description of BINR messages which is used by RC program for RINEX * files accumulation, NVS * [2] NAVIS Navis Standard Interface Protocol BINR, NVS * * version : $Revision:$ $Date:$ * history : 2012/01/30 1.0 first version by M.BAVARO * 2012/11/08 1.1 modified by T.TAKASU * 2013/02/23 1.2 fix memory access violation problem on arm * 2013/04/24 1.3 fix bug on cycle-slip detection * add range check of gps ephemeris week *-----------------------------------------------------------------------------*/
Совпадение? Не думаю.Jef239
19.12.2019 15:51В вашем оборудовании используются чипы Навис
И Навис и Geostar (GEOS-3MR делался с нашим участием) и НИИКП и даже UBlox.
Более того, мы вообще отпочковались от Навис чуть больше 10 лет назад.
Открываем на GitHub репозитарий RTKLib, файл nvs.c, коммит 6 лет назад
А это тут причем? Баваро и Такасу — не из нашей фирмы, и вроде даже не из Нависа.chnav
19.12.2019 16:01Так вы используете RTKLib или нет? Уж больно подозрительно, что вы используете ровно те чипы (Navis и uBlox), которые поддерживаются RTKLib. Чтобы не делать, так сказать, домашнюю работу и не писать интерфейс обмена… В этом нет ничего страшного, все так делают )) Я вот для Сёрфов использовал исходники Kinematic и потом доводил под свои нужды. Но у меня хобби и никто не требует раскрытия производных исходников.
Jef239
19.12.2019 16:09Нет, разумеется, не используем. В этом есть и плюсы и минусы. Из плюсов -у нас пятно на стопе поменьше раз в 5 и работаем мы устойчивей и слипы ловим там, где RTKLib их пропускает, а из минусов — у нас нет фиксации в движении и пока нет GALILEO. Это вот планы на ближайшие полгода.
Jef239
19.12.2019 16:38Ну вот вам некий пруф, что мы все делаем сами — ГОСТ Р 54118-2010. Его слизывали с документации на наш компас, поэтому в него попала выдуманное нами предложение PRDCU. Можете погулить — в интернете просто нет его описания.
Jef239
20.12.2019 16:47Ну вот вам пруф.
В 2007 году был разработан и одобрен российскими морским регистром судоходства и речным регистром «ФАРВАТЕР» РК-2306 первый в России навигационный компас гражданского назначения.
Как видите — в 2007ом году у нас уже сертификаты морского и речного регистра были. Цифра 06 в 2306 — это год разработки.
А коммиты ваши — 2012 года.
А что чипов для RTK мало — это факт. На тримблах и джавадах делать компас слишком дорого, дешевые чипы — не дат фазы, остается довольно узкая область полупрофов. Так что меня не удивляет, что RTKLIB работает с теми же чипами, что и мы.
Jef239
19.12.2019 09:14+1эффективный на воздухе бокс — GNSS спуффинг
Да ну, в GNSS он тоже эффективен, только если прилипнуть к жертве. Просто разница в скорости — в 10^6 раз, поэтому прилипнуть — это километры.
Но если брать спутниковый компас — то он просто не работает при спуфинге. То есть метод борьбы с любым спуфингом — 3 антенны и смотрим разницу в приеме фаз (по вторым разностям). Полученное положение объекта (курс, крен, диферент) можно проверить по акселерометру, показывающему, где у нас низ.
Я пока ещё не видел даже имитатора, с которым работает спутниковый компас. То есть даже в ситуации, когда мы напрямую стыкуем кабель от спуфера в антенный вход — все равно не работает.Sheferino
19.12.2019 17:21+1Я пока ещё не видел даже имитатора, с которым работает спутниковый компас. То есть даже в ситуации, когда мы напрямую стыкуем кабель от спуфера в антенный вход — все равно не работает.
Я видел. Spirent с несколькими выходами. Предположительно на такое способен ещё имитатор от их немецких конкурентов, но это неточно.
Разумеется при условии отключения акселерометра. Чтобы его обмануть придётся целый наклонно-поворотный стенд городить. Такое тоже есть, но технически очень сложно и ненадёжноJef239
19.12.2019 18:57Я видел. Spirent с несколькими выходами.
У вас записанные измерения с него есть? Мы на СН-3805М пытались (там 3 канала) — между каналами расхождение фазы. Хорошо хоть константное по всем спутникам, со вставленной коррекцией прямо в код — разрешилось. Авторы имитатора сказали, что не лечится в принципе.
Такое тоже есть, но технически очень сложно и ненадёжно
Не, в рамках радиозавода — делается запросто. Просто тяжело его таскать.
У меня веселуха была с таким стендом. Заказчики звонят — мол на стенде не работает (по эфирному сигналу, конечно). Приезжаю — а у них антенны на уровне голов. Ну притащили ещё один стол, подняли стенд — все заработало. Зато в музей тракторов и в дом Чапаева съездил.Sheferino
20.12.2019 10:02У вас записанные измерения с него есть?
Прямо сейчас — нет. GSS9000 уж больно дорогая игрушка, своего у нас нет, наблюдал эксперимент в чужих руках. А наши эксперименты на моделях Spirent попроще позволяют говорить, что с формированием фазы у них всё очень неплохо.
Мы на СН-3805М пытались (там 3 канала) — между каналами расхождение фазы. Хорошо хоть константное по всем спутникам, со вставленной коррекцией прямо в код — разрешилось.
Больше того, наверняка это расхождение ещё и для каждого сценария разное. Т.е. для другого сценария придется другую коррекцию учитывать.Jef239
20.12.2019 15:40Ещё смешнее — насколько помню, расхождение разное для каждого прогона.
P.S. Вроде бы как там просто 3 независимых канала.
Loxmatiymamont
Спасибо за интересную статью.