我想用一根短电缆通过音频电缆(即从声卡到我的手机)传递一些数据。
我正在寻找一些算法来实现这一点。它们当然应该包括适当的调制技术,以通过音频信号传输数据,以便手机可以通过其麦克风插孔对其进行解释。
想法?;)
(PS - 我目前的想法是使用 Biphase 标记代码。这有什么好处吗?)
谢谢。
我想用一根短电缆通过音频电缆(即从声卡到我的手机)传递一些数据。
我正在寻找一些算法来实现这一点。它们当然应该包括适当的调制技术,以通过音频信号传输数据,以便手机可以通过其麦克风插孔对其进行解释。
想法?;)
(PS - 我目前的想法是使用 Biphase 标记代码。这有什么好处吗?)
谢谢。
这是一个使用 FSK 的示例项目:http: //sree.cc/electronics/arduino-as-an-fsk-modem
FSK调制解调器基本上通过频移键控技术将数字信号转换为模拟信号或声音信号。在这里,我们可以通过上传一个简单的代码将我们的 Arduino 作为 FSK 调制解调器。本项目产生并播放与数字信号对应的声音,并将声音信号解调为相应的数字信号。
考虑使用 Baudot(规范 EIA/TIA-825)。它是用于 TDD 的协议,这是一种面向聋人用户的调制解调器技术。它以每秒 45.5 位的速度传输,并且可以很好地处理较差的音频耦合环境。
我已经看到它使用一些简单的频率分析(关键频率的窗口采样/过滤)软件实现。我知道 Astrix 项目实现了它,因此如果您不关心许可,可能需要查看一些代码。
有什么特别的理由不使用您手机中可能已经包含的调制解调器吗?
否则,我建议您查看1980 年代和 90 年代用于 POTS(普通老式电话服务/系统)陆线的低速调制解调器标准。我怀疑从贝尔 103、212(300、1200bps)到 V.32(9600bps)应该可以使用音频部分,我认为这与(美国)贝尔陆线标准 300 到 ~3000 赫兹(更正)大致相同频率响应加/减无线数字语音编解码器问题。
通过双音音频频移键控 (AFSK) V.21实现 300 bps ,如果您想自己动手,在软件或硬件中实现相当容易。否则,调制解调器 IC,例如 Silicon Labs SI2401或 CML Microcircuits FX/MX614或CMX869B。(还有很多其他的)
如果您有非常少量的数据(<= 4 位),您可以简单地使用 DTMF。易于编码,更易于解码。在嘈杂的环境中效果很好。