Objective-C或C / C ++中的二进制相移键控

时间:2013-01-17 08:30:20

标签: iphone binary shift phase

我正在制作一款可通过声音传输数据的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:

我确实搜索了堆栈溢出和google,并且对我发现的内容不满意。 我查看了GNU Radio项目,但不了解python。

1 个答案:

答案 0 :(得分:0)

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

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

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