【问题标题】:Binary Phase Shift Keying in Objective-C or C / C++Objective-C 或 C/C++ 中的二进制相移键控
【发布时间】:2013-01-17 08:30:19
【问题描述】:

我正在制作一个通过声音传输数据的 iphone 应用程序。它接受一个二进制字符串,每个 1 播放一个音调,每个 0 播放一个静音。

(字符串示例)

NSString* asciiString = @"www.google.com";
NSString* binaryString = AsciiToBinaryString(asciiString);
// binaryString == @"01110111 01110111 01110111 00101110 01100111 01101111 01101111 01100111 01101100 01100101 00101110 01100011 01101111 01101101"

但是,这种简单的音调方法容易出错,我想我需要使用二进制相移键控。

我想知道如何对我的二进制字符串应用二进制相移键控。

我不确定如何实现这一点。任何建议或代码示例将不胜感激。

PS:

我确实对堆栈溢出和谷歌进行了搜索,但对我的发现并不满意。 我看了 GNU Radio 项目,但不懂 python。

【问题讨论】:

  • 您认为为什么需要二进制相移键控?你想发出什么样的语气?
  • 以传输数据为目的。在这种情况下,一个字符串。接收电话将使用麦克风拾取声音并将其转换回数据。频率在 18~19kHz 左右。如果您对 PSK 有其他建议,请告诉我。我是新手,不知道如何实现它。应用的灵感来自 shopkick、SonicShare 等...

标签: iphone binary shift phase


【解决方案1】:

如果可能的话,在 iPhone 上进行 PSK 并不容易。频移键控(FSK)应该是可能的。但我认为您首先需要的是更高级别的协议,例如以字节为单位分解数据流,并包括一些检查。想想带有开始/停止位和奇偶校验的老式 RS-232 串行协议。

另一方面,有各种应用程序使用 iPhone 的音频端口进行数据传输。我没有看,但我可以想象人们一定写过这个。如果有开源或商业项目可以为您提供开箱即用的功能,我不会感到惊讶。

祝你好运,享受,这听起来是一个有趣的项目!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 2015-12-02
    相关资源
    最近更新 更多