我正在通过iPhone的耳机插孔工作遥控器。它要求:
我读了一个网站,它介绍了AudioUnit(http://cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html)来发送音调
但学习模式怎么样?我的应用程序如何检测19kHz和10kHz为1和0?
感谢。
答案 0 :(得分:1)
是的,这个想法应该有效,但19kHz可能会推动iPhone的录音功能极限。你可以找到一个完整的comparison of iPhone device frequency responses here。请注意,19kHz落在奈奎斯特频率的边缘,所以它会有更多的滚降。因此,学习模式可能是必要的功能,具体取决于设备系列。
答案 1 :(得分:0)
简单的DSP Goertzel滤波器将能够以低数据速率检测这些音调。要获得更高的数据速率,可以在业余无线电杂志或网站上寻找FSK解调代码。
答案 2 :(得分:0)
您有2个问题需要解决:
首先:音调生成示例代码为输出设置audiounit,而不为输入设置。 获取输入的一种方法是使用aurioTouch BUT,根据我的经验,通过SpeakHere示例代码更加简单。你可以在这里找到一个好主意http://www.youtube.com/watch?v=bINtRRyblZA 第二:要检测音调,您可以使用由FFT和vDsp(或Goertzel滤波器制作的音调检测器,但我不知道您是否可以在ObjC中找到已经制作的代码)
最后,您可以使用SpeakHere简单的谷歌搜索找到输入和音高检测的示例代码。 希望这个帮助