Bagaimana Anda bisa mentransfer data melalui saluran audio?

17

Saya ingin melewatkan beberapa data melalui kabel audio (yaitu dari kartu audio ke ponsel saya) dengan kabel pendek.

Saya mencari beberapa ide untuk algoritma untuk mencapai ini. Mereka tentu saja harus memasukkan teknik modulasi yang tepat untuk mentransfer data melalui sinyal audio, sehingga ponsel dapat menafsirkannya melalui jack mikrofon itu.

Ide ide? ;)

(PS - ide saya saat ini menggunakan kode tanda Biphase. Apakah ada gunanya untuk ini?)

Terima kasih.

Roma
sumber
3
Saya baru saja dikeluarkan dari pertanyaan ini - itu membuat saya merasa sangat tua. Kembali ketika saya masih kecil, komputer datang dengan drive kaset untuk menyimpan data dalam format audio. Jadi ya, dimungkinkan untuk mentransfer data melalui kabel audio dan sebenarnya itu adalah salah satu cara pertama untuk melakukannya :)
AngryEE

Jawaban:

12

Berikut ini contoh proyek menggunakan FSK: http://sree.cc/electronics/arduino-as-an-fsk-modem

Modem FSK pada dasarnya mengubah sinyal digital menjadi sinyal analog atau sinyal suara dengan teknik penguncian frekuensi. Di sini kita dapat menjadikan Arduino sebagai modem FSK dengan mengunggah kode sederhana. Proyek ini menghasilkan dan memainkan suara yang sesuai dengan sinyal digital dan mendemodulasi sinyal suara menjadi sinyal digital yang sesuai.

Toby Jaffey
sumber
2
Bisakah Anda memberi kami lebih banyak konteks? Tautan ini sendiri seharusnya tidak menjadi jawaban lengkap. Bahkan tautan kedua Anda bahkan tidak berfungsi lagi.
Kellenjb
11

Pertimbangkan untuk menggunakan Baudot (spesifikasi EIA / TIA-825). Ini adalah protokol yang digunakan untuk TDD, teknologi modem untuk pengguna tuna rungu. Ini mentransmisikan pada 45,5 bit per detik dan berurusan dengan baik dengan lingkungan kopling audio yang buruk.

Saya telah melihatnya diimplementasikan dengan beberapa analisis frekuensi sederhana (sampling jendela / penyaringan pada frekuensi kunci) perangkat lunak. Saya tahu proyek Astrix mengimplementasikannya sehingga mungkin ada beberapa kode untuk ditinjau jika Anda tidak peduli dengan lisensi.

Jim Rush
sumber
terima kasih untuk ide bagusnya. Apakah Anda tahu sesuatu yang lebih sederhana? Saya perlu mentransfer sekitar 4-8 bit data setiap kali, dengan beberapa kemungkinan jeda di antara mereka. (semburan data).
roman
2
@roman - Untuk jumlah data itu saya hanya akan memilih dua nada yang mudah dibedakan untuk dimainkan dan kemudian menerapkan filter takik pada setiap frekuensi dan menguji tingkat energi. Anda bisa menggunakan dua frekuensi lain yang bolak-balik dan menggunakannya sebagai jam. Pencarian cepat harus memberi Anda filter takik di hampir semua bahasa yang Anda inginkan.
Jim Rush
5

Adakah alasan khusus untuk tidak menggunakan modem yang kemungkinan sudah terkandung di ponsel Anda?

Kalau tidak, saya akan menyarankan Anda melihat standar modem berkecepatan rendah yang digunakan untuk jalur telepon POTS (layanan telepon biasa) di tahun 1980-an dan 90-an. Saya menduga dari Bell 103, 212 (300, 1200bps) hingga V.32 (9600bps) harus dapat digunakan dengan menggunakan bagian audio yang saya kira kira-kira sama dengan (AS) Bell standar garis tanah 300 hingga ~ 3000 Hz ( dikoreksi ) respons frekuensi plus / minus masalah codec suara digital nirkabel.

300 bps melalui pengalihan kunci frekuensi audio dua-nada (AFSK), V.21 , cukup mudah diimplementasikan dalam perangkat lunak atau perangkat keras jika Anda ingin membuatnya sendiri. Kalau tidak, IC modem seperti Silicon Labs SI2401 atau CML Microcircuits FX / MX614 atau CMX869B . (Ada banyak lainnya)

mctylr
sumber
Saya telah menggunakan 300bps AFSK pada sepasang radio FRS sebelumnya. Bagus sekali!
Brad
2

Jika Anda memiliki jumlah data yang sangat kecil, (<= 4 bit) Anda cukup menggunakan DTMF. Mudah disandikan, lebih mudah disandikan. berfungsi dengan baik di lingkungan yang bising.

Omar Alshaker
sumber
Perangkat keras ada untuk memecahkan kode DTMF, tetapi secara umum saya tidak akan mengatakan itu "mudah" untuk memecahkan kode. Pengkodean tidak terlalu sulit, tetapi itu bukan hal yang termudah di dunia. Decoding relatif sulit tanpa perangkat keras khusus.
supercat
1
Karena OP sedang mencari algoritma untuk digunakan di teleponnya, perangkat keras khusus tidak diperlukan. Ponsel ini sudah memiliki daya komputasi yang cukup untuk mendekodekan nilai-nilai DTMF.
Jerry Penner