2012-05-22 65 views
1

我正在通過iPhone的耳機插孔在遙控器上工作。它要求:iPhone的耳機插孔可以用作設備的輸入嗎?

  • 在發送模式下,發送信號(19kHz的)和信號(10kHz時),爲1和0分別
  • 在學習模式中,它從其它遙控器

我接收對應信號閱讀一個網站,它介紹AudioUnit(http://cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html)做音發生發送

但如何學習模式?我的應用程序如何將19kHz和10kHz檢測爲1和0?

謝謝。

回答

0

一個簡單的DSP Goertzel濾波器將能夠以低數據速率檢測這些音調。對於更高的數據速率,可能會在業餘無線電雜誌或網站上查找FSK解調代碼。

1

是的,這個想法應該可行,但19kHz可能會推動iPhone的錄音功能極限。你可以找到一個完整的comparison of iPhone device frequency responses here。請注意,19kHz落在nyquist頻率的邊緣,所以它會有更多的滾降。所以學習模式可能是取決於設備系列的必要特徵。

0

你有2個問題要解決:

  1. 如何獲得音頻
  2. 如何檢測音。

第一:音調生成示例代碼設置audiounit輸出,非輸入。 獲得輸入的一種方法是使用aurioTouch,但根據我的經驗,通過SpeakHere示例代碼要簡單得多。你可以找到一個好主意,這裏http://www.youtube.com/watch?v=bINtRRyblZA 二:能夠探測到的色調,你可以使用FFT和VDSP取得了音調檢測器(或戈策爾過濾器,但我不知道你是否能在ObjC找到已經取得的代碼)

最後,您可以使用SpeakHere簡單地使用Google搜索來查找輸入和音高檢測的示例代碼。 希望這個幫助

相關問題