Как вы могли бы передавать данные через аудио линию?


17

Я хотел бы передать некоторые данные через аудиокабель (т.е. от звуковой карты к моему мобильному телефону) с помощью короткого кабеля.

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

Идеи? ;)

(PS - моя текущая идея - использовать код Biphase mark. Это хорошо для этого?)

Благодарю.



3
Я просто получаю удовольствие от этого вопроса - это заставляет меня чувствовать себя таким старым. Еще в детстве компьютеры поставлялись с кассетными дисками для хранения данных в аудиоформате. Так что да, можно передавать данные по аудиокабелю, и фактически это был один из первых способов сделать это :)
AngryEE

Ответы:


12

Вот пример проекта с использованием FSK: http://sree.cc/electronics/arduino-as-an-fsk-modem

Модем FSK в основном преобразует цифровой сигнал в аналоговый сигнал или звуковой сигнал методом частотной манипуляции. Здесь мы можем сделать наш Arduino модемом FSK, загрузив простой код. Этот проект производит и воспроизводит звук, соответствующий цифровому сигналу, и демодулирует звуковой сигнал в соответствующий цифровой сигнал.


2
Можете ли вы дать нам больше контекста? Эти ссылки сами по себе не должны быть полным ответом. На самом деле ваша вторая ссылка даже больше не работает.
Kellenjb

11

Попробуйте использовать Baudot (спецификация EIA / TIA-825). Это протокол, используемый для TDD, модемной технологии для глухих пользователей. Он передает со скоростью 45,5 бит в секунду и хорошо справляется с плохой средой аудиосвязи.

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


Спасибо за отличную идею. Вы знаете что-нибудь еще проще? Мне нужно каждый раз передавать около 4-8 бит данных с некоторой возможной паузой между ними. (данные всплески).
римлянин

2
@roman - Для этого количества данных я бы просто выбрал два легко различимых тона для воспроизведения, а затем применил режекторный фильтр на каждой частоте и проверил уровень энергии. Вы можете использовать две другие частоты, которые переключаются назад и вперед и использовать их как часы. Быстрый поиск должен дать вам узкополосный фильтр практически на любом языке, который вы хотите.
Джим Раш

5

Любая конкретная причина не использовать модем который, вероятно, уже содержится в вашем мобильном телефоне?

В противном случае я бы посоветовал вам взглянуть на стандарты низкоскоростных модемов, используемых для стационарных телефонных линий (обычная телефонная служба / система) в 1980-х и 90-х годах. Я подозреваю, что от Bell 103, 212 (300, 1200 бит / с) до V.32 (9600 бит / с) можно использовать, используя звуковую часть, которая, по моему мнению, примерно такая же, как (США) стандарт наземной линии связи Bell от 300 до ~ 3000 Гц ( исправлено ) частотная характеристика плюс / минус проблемы беспроводного цифрового голосового кодека.

300 бит / с через двухтональную звуковую частотную манипуляцию (AFSK), V.21 , довольно легко реализовать в программном или аппаратном обеспечении, если вы хотите выполнить свою собственную. В противном случае - модемная ИС, такая как Silicon Labs SI2401 или CML Microcircuits FX / MX614 или CMX869B . (Есть много других)


Я использовал 300 бит / с AFSK на пару радиостанций FRS раньше. Прекрасно работает!
Брэд

2

Если у вас очень маленький объем данных (<= 4 бита), вы можете просто использовать DTMF. Легко кодировать, легче декодировать. прекрасно работает в шумной обстановке.


Существует аппаратное обеспечение для декодирования DTMF, но в целом я бы не сказал, что его «легко» декодировать. Кодирование не слишком сложно, но это не самая легкая вещь в мире. Декодирование сравнительно сложно без специального оборудования.
суперкат

1
Поскольку ОП ищет алгоритмы для использования на своем телефоне, специализированное оборудование не требуется. Телефон уже обладает достаточной вычислительной мощностью, чтобы декодировать DTMF в значения.
Джерри Пеннер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.