Wie könnten Sie Daten über eine Audio-Leitung übertragen?

17

Ich möchte einige Daten über ein Audiokabel (dh von der Audiokarte zu meinem Mobiltelefon) mit einem kurzen Kabel übertragen.

Ich suche nach Ideen für Algorithmen, um dies zu erreichen. Sie sollten natürlich die richtige Modulationstechnik für die Übertragung der Daten über das Audiosignal enthalten, damit das Mobiltelefon sie über die Mikrofonbuchse interpretieren kann.

Ideen? ;)

(PS - meine aktuelle Idee ist die Verwendung von Biphase-Markierungscode. Ist dies sinnvoll?)

Vielen Dank.

römisch
quelle
3
Ich bin nur ein Kick aus dieser Frage - ich fühle mich so alt. Als ich ein Kind war, kamen Computer mit Kassettenlaufwerken, um Daten in einem Audioformat zu speichern. Also ja, es ist möglich, Daten über ein Audiokabel zu übertragen, und tatsächlich war es eine der ersten Möglichkeiten, dies zu tun :)
AngryEE

Antworten:

12

Hier ist ein Beispielprojekt mit FSK: http://sree.cc/electronics/arduino-as-an-fsk-modem

Ein FSK-Modem wandelt grundsätzlich ein digitales Signal durch Frequenzumtastung in ein analoges Signal oder ein Tonsignal um. Hier können wir unser Arduino als FSK-Modem machen, indem wir einen einfachen Code hochladen. Dieses Projekt erzeugt und spielt einen Ton, der einem digitalen Signal entspricht, und demoduliert ein Tonsignal in das entsprechende digitale Signal.

Toby Jaffey
quelle
2
Können Sie uns mehr Kontext geben? Diese Links sollten für sich genommen keine vollständige Antwort sein. Tatsächlich funktioniert Ihr zweiter Link nicht mehr.
Kellenjb
11

Erwägen Sie die Verwendung von Baudot (Spezifikation EIA / TIA-825). Dies ist das Protokoll für TDD, eine Modemtechnologie für gehörlose Benutzer. Es überträgt mit 45,5 Bit pro Sekunde und eignet sich gut für Umgebungen mit schlechter Audiokopplung.

Ich habe gesehen, wie es mit einer einfachen Software zur Frequenzanalyse (Fensterabtastung / Filterung bei Schlüsselfrequenzen) implementiert wurde. Ich weiß, dass das Astrix-Projekt es implementiert, sodass möglicherweise Code überprüft werden muss, wenn Sie sich nicht mit der Lizenzierung befassen.

Jim Rush
quelle
danke für die tolle idee. Wissen Sie etwas noch einfacher? Ich muss jedes Mal ungefähr 4-8 Datenbits übertragen, mit einer möglichen Pause dazwischen. (Datenbursts).
Roman
2
@roman - Für diese Datenmenge würde ich einfach zwei leicht zu unterscheidende Töne zum Spielen auswählen und dann bei jeder Frequenz einen Kerbfilter anwenden und das Energieniveau testen. Sie können zwei andere Frequenzen verwenden, die hin und her schalten und sie als Uhr verwenden. Eine schnelle Suche sollte Ihnen einen Notch-Filter in nahezu jeder gewünschten Sprache bieten.
Jim Rush
5

Ein besonderer Grund, das nicht zu benutzen Modem , das wahrscheinlich bereits in Ihrem Mobiltelefon enthalten ist, ?

Sonst würde ich Ihren Blick auf Low-Speed vorschlagen Modemstandards verwendet für POTS (Plain-alt-Telefondienst / System) Landleitungen in den 1980er und 90er Jahren zurück. Ich vermute, dass von Bell 103, 212 (300, 1200 bps) bis V.32 (9600 bps) der Audioteil verwendet werden sollte, von dem ich glaube, dass er in etwa dem (US) Bell-Festnetzstandard von 300 bis ~ 3000 Hz entspricht ( korrigiert) ) entspricht. Frequenzgang plus / minus Probleme mit dem drahtlosen digitalen Sprachcodec.

300 Bit / s über AFSK (Two-Tone Audio Frequency Shift Keying), V.21 , lassen sich recht einfach in Software oder Hardware implementieren, wenn Sie Ihre eigenen Daten rollen möchten. Ansonsten ein Modem-IC wie Silicon Labs SI2401 oder CML Microcircuits FX / MX614 oder CMX869B . (Es gibt viele andere)

mctylr
quelle
Ich habe zuvor 300bps AFSK über ein Paar FRS-Funkgeräte verwendet. Funktioniert super!
Brad
2

Wenn Sie eine sehr kleine Datenmenge haben (<= 4 Bits), können Sie einfach DTMF verwenden. Einfach zu kodieren, einfacher zu dekodieren. Funktioniert hervorragend in lauten Umgebungen.

Omar Alshaker
quelle
Es gibt Hardware zum Dekodieren von DTMF, aber im Allgemeinen würde ich nicht sagen, dass es "einfach" zu dekodieren ist. Das Codieren ist nicht allzu schwierig, aber es ist nicht die einfachste Sache der Welt. Dekodierung ist ohne spezielle Hardware vergleichsweise schwierig.
Supercat
1
Da das OP nach Algorithmen sucht, die auf seinem Telefon verwendet werden können, ist keine spezielle Hardware erforderlich. Das Telefon verfügt bereits über genügend Rechenleistung, um DTMF in Werte zu decodieren.
Jerry Penner