Модулировать и демодулировать двоичные данные в / из аудио - одна или две частоты?
Я собираюсь передать двоичные данные с ПК на соседний смартфон через аудиоканал (предпочтительно с помощью ультразвуковой амплитудной модуляции, например, ~19 кГц). Интересно, что лучше?
- использовать одну фиксированную частоту для кодирования единиц (высокая амплитуда) и нулей (тишина)
- используйте две фиксированные частоты, где одна частота передает данные, как указано выше, а вторая инвертируется (тишина как одна) для лучшей помехоустойчивости.
Данные будут включать в себя контрольную сумму, может содержать некоторую кодировку RLL, чтобы избежать слишком длинных однобитовых последовательностей.
Будет ли второй способ действительно повысить надежность передачи данных?
2 ответа
Обычно для простой схемы модуляции вы используете FSK с двумя подходящими частотами. Вы вряд ли сможете сделать это ультразвуком, хотя, по разным причинам, и ваша скорость передачи данных также будет довольно низкой. Поскольку ваш канал передачи будет шумным, вам определенно потребуется надежная проверка / исправление ошибок.
Обратите внимание, что вышеупомянутые методы широко использовались для пакетной радиосвязи, а также исторически для интерфейсов кассетных магнитных лент на компьютерах до того, как массовое хранилище, такое как гибкие диски и жесткие диски, стало доступным (конец 70-х - начало 80-х), так что, вероятно, существует довольно много материала там об алгоритмах и реализациях для FSK через потребительские аудиоустройства.
Использование 2-х частот (так называемый двоичный FSK) является обычной практикой, так как уровень мощности сигнала остается более постоянным (и, таким образом, менее вероятно, что он будет бороться с AGC или пороговым детектором или будет вызывать шум источника питания).