Bir ses hattı üzerinden nasıl veri aktarabilirsiniz?


17

Bazı verileri kısa bir kablo ile bir ses kablosu üzerinden (yani ses kartından cep telefonuma) aktarmak istiyorum.

Bunu başarmak için algoritmalar için bazı fikirler arıyorum. Elbette, verileri ses sinyali üzerinden aktarmak için uygun modülasyon tekniğini içermelidir, böylece cep telefonu mikrofon jakı üzerinden yorumlayabilir.

Fikirler? ;)

(PS - şu anki fikrim Biphase mark kodu kullanıyor. Bunun için iyi mi?)

Teşekkürler.



3
Sadece bu sorudan bir tekme alıyorum - bu beni çok yaşlı hissettiriyor. Ben bir çocukken, bilgisayarlar ses formatında veri depolamak için kaset sürücüleri ile geldi. Yani evet, bir ses kablosu üzerinden veri aktarmak mümkündür ve aslında bunu yapmanın ilk yollarından biriydi :)
AngryEE

Yanıtlar:


12

İşte FSK kullanan bir örnek proje: http://sree.cc/electronics/arduino-as-an-fsk-modem

Bir FSK modem temelde bir dijital sinyali frekans kaydırma anahtarlama tekniği ile analog sinyale veya ses sinyaline dönüştürür. Burada basit bir kod yükleyerek Arduino'yu FSK modem olarak yapabiliriz. Bu proje, bir dijital sinyale karşılık gelen bir ses üretir ve çalar ve bir ses sinyalini karşılık gelen dijital sinyale demodüle eder.


2
Bize daha fazla bağlam verebilir misiniz? Bu bağlantılar kendi başlarına tam bir cevap olmamalıdır. Aslında ikinci bağlantınız artık çalışmıyor.
Kellenjb

11

Baudot'u (EIA / TIA-825 spesifikasyonu) kullanmayı düşünün. Sağır kullanıcılar için bir modem teknolojisi olan TDD için kullanılan protokoldür. Saniyede 45,5 bit iletir ve zayıf ses bağlantı ortamlarıyla iyi çalışır.

Bazı basit frekans analizi (anahtar frekanslarda pencere örnekleme / filtreleme) yazılımı ile uygulandığını gördüm. Astrix projesinin bunu uyguladığını biliyorum, bu yüzden lisanslama ile ilgili değilseniz gözden geçirmeniz gereken bazı kodlar olabilir.


harika fikir için teşekkürler. Daha basit bir şey biliyor musunuz? Her seferinde yaklaşık 4-8 ​​bit veri aktarmam gerekiyor, aralarında olası bir duraklama var. (veri patlamaları).
Roma

3
@roman - Bu miktarda veri için, çalmak için kolayca ayırt edilebilen iki ton seçip her frekansta bir çentik filtresi uygulayıp enerji seviyesini test ederim. İleri ve geri gidip saat olarak kullanan diğer iki frekansı kullanabilirsiniz. Hızlı bir arama size neredeyse istediğiniz dilde bir çentik filtresi almalıdır.
Jim Rush

6

Belirli bir neden değil kullanma modemi olasılıkla zaten cep telefonunda bulunan?

Aksi takdirde 1980'lerde ve 90'larda POTS (düz eski telefon hizmeti / sistemi) sabit hatları için kullanılan düşük hızlı modem standartlarına bakmanızı öneririm . Bell 103, 212 (300, 1200bps) ile V.32 (9600bps) arasında, kabaca 300 ila ~ 3000 Hz (ABD) Bell sabit hat standardıyla aynı olduğuna inandığım ses kısmı kullanılarak kullanılabilir olması gerektiğinden şüpheleniyorum ( düzeltildi ) frekans yanıtı artı / eksi kablosuz dijital ses kodek sorunları.

İki tonlu ses frekans kaydırma tuşu (AFSK) ile 300 bps, V.21 , kendinizinkini yapmak istiyorsanız yazılım veya donanımda uygulanması oldukça kolaydır. Aksi takdirde Silicon Labs SI2401 veya CML Microcircuits FX / MX614 veya CMX869B gibi bir modem IC'si . (Başkaları da var)


1
Daha önce bir çift FRS radyo üzerinden 300bps AFSK kullandım. Harika çalışıyor!
Brad

3

Çok az miktarda veriniz varsa (<= 4 bit) sadece DTMF kullanabilirsiniz. Kodlaması kolay, kod çözmesi daha kolay. gürültülü ortamlarda harika çalışıyor.


1
DTMF kodunu çözmek için donanım mevcuttur, ancak genel olarak kod çözmenin "kolay" olduğunu söylemezdim. Kodlama aşırı zor değildir, ancak dünyadaki en kolay şey değildir. Özel donanım olmadan kod çözme nispeten zordur.
supercat

2
OP, telefonunda kullanılacak algoritmaları aradığından, özel bir donanıma gerek yoktur. Telefon zaten DTMF'yi değerlere çözmek için yeterli bilgi işlem gücüne sahip.
Jerry Penner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.