Можно ли использовать сообщения ADS-B DF-17 с ненулевым остатком после проверки CRC?

Для развлечения я использовал AirSPy SDR (программно-определяемое радио) для приема и декодирования пакетов ADS-B, в основном сообщений DF-11 и DF-17.

Код написан на C++ и работает достаточно хорошо. Он выполняет обработку / демодуляцию IQ, извлечение пакетов, проверку CRC и т. д. На выходе он генерирует строки сообщений в формате AVR, которые затем обслуживаются через интерфейс на основе Listen Socket / Socket. Затем я использую Virtual Radar в качестве клиента для декодирования и отображения данных.

Что касается пакетов DF-17 и DF-11, то в настоящее время я пересылаю только те, у которых идентификатор опросчика равен нулю, так называемые "незапрошенные сквиттеры". т.е. полные пакеты, которые имеют нулевой остаток после CRC.

Я также получаю/декодирую множество пакетов с ненулевыми идентификаторами опросчика.

Могу ли я использовать их для чего-нибудь полезного?

Другими словами, мог ли я извлечь какую-либо полезную информацию, координаты, скорости и т. д. Если да, то я мог бы переписать их как незапрошенные сообщения DF-17 и передать их на виртуальный радар.

Я исследую это в меру своих возможностей, но в настоящее время тону в спецификациях и документации, поскольку их так много!

Извините, если я пропустил какой-либо жаргон, я только неделю в моем проекте.

Добро пожаловать в Aviation.SE Макс.

Ответы (2)

Сообщения в формате Downlink Format 17, как известно, являются сообщениями ADS-B, не требующими запроса. Таким образом, идентификатор запросчика будет равен нулю.

Часто вы увидите, что после применения проверки CRC остаток CRC не равен нулю. Это вызвано искажением сообщения ADS-B между передатчиком (см. примечание) и приемником. Отчасти это связано с тем, что передачи нескольких самолетов не синхронизированы, поэтому они могут перекрываться, и их становится трудно распутать. Это перекрытие называется искажением.

Поскольку у вас есть доступная информация IQ, вы можете с некоторым успехом удалить перекрывающиеся сообщения. Кроме того, вы можете попробовать исправить ошибки с помощью алгоритма CRC. Обычно можно исправить до двух ошибочных битов, больше становится затруднительно.

Чтобы улучшить производительность исправления ошибок CRC, вы можете снова использовать информацию из выборки IQ, присвоив каждому биту доверительное значение, основанное на форме полученных радиоданных.

Если вы не можете исправить ошибочные биты (т. е. после исправления у вас ненулевой остаток), вы должны считать это сообщение ADS-B бесполезным.


Примечание: есть пара самолетов, летающих с ложными транспондерами, которые передают мусорные сообщения DF-17 с ненулевым остатком. В ближайшие пару лет они будут упразднены.

Ой, слишком рано нажали "Возврат"! Я нашел документацию немного запутанной. Для меня это означало, что идентификатор запросчика может быть любым действительным числом и что пакет был ответом. Имеет смысл, что он всегда должен быть равен нулю. Я уже успешно исправляю 1 или 2 битовые ошибки в сообщениях о том, что CRC равен нулю. Я также планирую попытаться определить подозрительные биты, чтобы повысить эффективность исправления ошибок с помощью данных IQ и недопустимых состояний кодирования Манчестера. Это кажется разумной стратегией, и ее не должно быть слишком сложно реализовать....

Согласно тому, что я смог найти в Приложении 10, сообщения DF-17 всегда должны иметь нулевые идентификаторы запросчиков, поэтому, если вы получаете какие-либо из тех, которые не проходят проверку на четность, они должны быть искажены.

С другой стороны, сообщения DF-11 часто отправляются с ненулевым идентификатором запросчика. Как указано, идентификатор опросчика после удаления CRC всегда будет находиться в диапазоне от 0x000001 до 0x00005F; вы можете использовать это, чтобы сохранить некоторое различие между искаженным сообщением и законным ответом на общий вызов.

Полезно ли это - другой вопрос, поскольку DF-11 в основном ничего вам не говорит, кроме того, что где- то в пределах видимости вашей антенны находится самолет с таким-то 24-битным адресом . Но если вы также получаете сквиттеры местоположения от того же самолета, я полагаю, вы могли бы весело провести время, составив карту того, где в вашей зоне покрытия можно услышать запросы от конкретных радиолокационных установок.

Спасибо! Интересно, что около 50% сообщений DF-11 CRC равны нулю. Должен ли я отказаться от них? Я создаю таблицу действительных адресов ICAO, чтобы помочь отфильтровать другие полученные типы DF. Я начну учитывать диапазон от 0x0x1 до 0x5F, как вы предлагаете.
@MaxvanDaalen: Ах, я кое-что упустил. Самогенерируемый сигнал DF-11 используется для TCAS, поэтому вы действительно должны ожидать получения сигналов с нулевым IID.
Хорошо, спасибо за обновление!