Come hai potuto trasferire i dati su una linea audio?


17

Vorrei passare alcuni dati su un cavo audio (cioè dalla scheda audio al mio cellulare) con un cavo corto.

Sto cercando alcune idee per gli algoritmi per raggiungere questo obiettivo. Ovviamente dovrebbero includere la tecnica di modulazione corretta per trasferire i dati tramite segnale audio, in modo che il cellulare possa interpretarli tramite il jack del microfono.

Idee? ;)

(PS: la mia idea attuale sta usando il codice bifase. Va bene per questo?)

Grazie.



3
Sto solo dando un calcio fuori da questa domanda - mi fa sentire così vecchio. Quando ero un bambino i computer venivano con le unità a cassetta per memorizzare i dati in un formato audio. Quindi sì, è possibile trasferire dati tramite un cavo audio e in effetti è stato uno dei primi modi per farlo :)
AngryEE

Risposte:


12

Ecco un esempio di progetto che utilizza FSK: http://sree.cc/electronics/arduino-as-an-fsk-modem

Un modem FSK fondamentalmente converte un segnale digitale in segnale analogico o segnale sonoro mediante la tecnica del key shift di frequenza. Qui possiamo rendere il nostro Arduino come modem FSK caricando un semplice codice. Questo progetto produce e riproduce un suono corrispondente a un segnale digitale e demodula un segnale sonoro nel corrispondente segnale digitale.


2
Puoi darci qualche altro contesto? Questi collegamenti da soli non dovrebbero essere una risposta completa. In effetti il ​​tuo secondo link non funziona nemmeno più.
Kellenjb,

11

Prendi in considerazione l'utilizzo di Baudot (specifica EIA / TIA-825). È il protocollo utilizzato per TDD, una tecnologia modem per utenti non udenti. Trasmette a 45,5 bit al secondo e gestisce bene ambienti di accoppiamento audio scadenti.

L'ho visto implementato con alcuni semplici software di analisi delle frequenze (campionamento / filtraggio delle finestre alle frequenze chiave). So che il progetto Astrix lo implementa, quindi potrebbe esserci del codice da rivedere se non si è interessati alla licenza.


grazie per la grande idea. Sai qualcosa di ancora più semplice? Devo trasferire circa 4-8 bit di dati ogni volta, con qualche possibile pausa tra di loro. (esplosioni di dati).
romano,

2
@roman - Per quella quantità di dati sceglierei solo due toni facilmente distinguibili da riprodurre e quindi applicherei un filtro notch ad ogni frequenza e testerei il livello di energia. Potresti usare altre due frequenze che cambiano avanti e indietro e le usano come un orologio. Una rapida ricerca dovrebbe offrirti un filtro notch in quasi tutte le lingue che desideri.
Jim Rush,

5

Qualsiasi motivo particolare per non utilizzare il modem che è probabilmente già contenuto nel tuo cellulare?

Altrimenti, suggerirei il tuo sguardo agli standard modem a bassa velocità utilizzati per le linee fisse POTS (servizio / sistema di telefonia semplice) negli anni '80 e '90. Sospetto che da Bell 103, 212 (300, 1200bps) a V.32 (9600bps) dovrebbe essere utilizzabile utilizzando la parte audio che credo sia più o meno la stessa della linea fissa (US) Bell da 300 a ~ 3000 Hz ( corretta ) risposta in frequenza più / meno problemi di codec vocale digitale wireless.

300 bps tramite il key shifting della frequenza audio a due toni (AFSK), V.21 , è abbastanza facile da implementare in software o hardware se si desidera creare il proprio. Altrimenti un modem IC come Silicon Labs SI2401 o CML Microcircuits FX / MX614 o CMX869B . (Ce ne sono molti altri)


In precedenza ho usato AFSK a 300 bps su un paio di radio FRS. Funziona alla grande!
Brad

2

Se hai una quantità molto piccola di dati, (<= 4 bit) puoi semplicemente usare DTMF. Facile da codificare, più facile da decodificare. funziona benissimo in ambienti rumorosi.


L'hardware esiste per decodificare DTMF, ma in generale non direi che è "facile" da decodificare. La codifica non è eccessivamente difficile, ma non è la cosa più semplice al mondo. La decodifica è relativamente difficile senza hardware specializzato.
supercat

1
Poiché l'OP è alla ricerca di algoritmi da utilizzare sul suo telefono, non è necessario un hardware specializzato. Il telefono ha già abbastanza potenza di calcolo per decodificare DTMF in valori.
Jerry Penner,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.