1

У меня есть двоичные данные в потоке аудио, и я хочу его декодировать. Вот пример скриншот из Audacity:Извлечение двоичного потока данных из аудиосигнала

screenshot of data

Там, кажется, новый бит данных каждую миллисекунду. Это также означает, что данные кодируются на 1000 Гц со скоростью передачи в бодах 1000.

Я могу также сказать, что каждый пакет имеет 20 бит (то есть он занимает 20 миллисекунд, чтобы передать) плюс 3 миллисекунды только из высокого сигнала. Это означает, что пакет resent каждые 23 миллисекунды.


Таким образом, вопрос, как бы преобразовать это в двоичный файл? Пройти и сделать это вручную не может быть и речи - если только вы этого не сделаете :)

ответ

2

Это типичный случай цифровой модуляции, известный как включение-выключение (OOK).

Довольно легко декодировать OOK: применять фильтр нижних частот с частотой среза, которая находится чуть ниже 1/символьной периодичности, децитировать ее выход так, что вы получите только 1 значение на длительность символа, а затем используйте экспериментально найденное порог, чтобы решить, что такое 0 и что такое 1.

Возможно, вам потребуется найти точную длину символа, и сначала начнется символ, если вы хотите быть действительно точным. Это классическая проблема синхронизации - в вашем случае кажется, что отправитель должен иметь острый край при каждом перемещении символа, поэтому высокочастотный фильтр передает ваш сигнал, и вы получите тактовый сигнал, который вы можете использовать для настройки который затем регулирует частоту дискретизации сигнала, поступающего в ваш декодер (как описано выше).

Для этого есть хорошая структура; GNU Radio поставляется со всеми строительными блоками, необходимыми для того, чтобы это произошло, у него активное сообщество, есть графический интерфейс, который поможет вам разработать приложение для обработки сигналов, если вы не используете графическую визуализацию в цепочке обработки сигналов, полученное приложение действительно портативный, он очень оптимизирован и поставляется с множеством примеров.

Смежные вопросы