2013-07-18 20 views
12

我們想要創建一個應用程序,該應用程序將使用默認iPhone耳機實施主動噪音取消。也就是說,使用iPhone耳機麥克風接收外部音頻並進行180度相移。最後,通過默認耳機揚聲器播放倒相聲音以消除外部聲音(主動噪聲消除)。通過默認iPhone耳機進行主動噪音取消

編號:http://electronics.howstuffworks.com/gadgets/audio-music/noise-canceling-headphone.htm

這可能是可行的iPhone應用程序?

+0

我最近也開始考慮這個問題。對於缺少背景噪音(大多數耳機無論如何,像ATH-ANC23),我認爲這應該是完全可行的! –

回答

8

當聲音以343 m/s的速度傳播時,假設麥克風和揚聲器之間的距離爲半米,則處理時間約爲1.5毫秒。這並非不可能,但也不是一個簡單的專長,尤其是如果考慮到各種組件實際開始播放以及錄製到達應用程序所需的時間。我認爲這也是爲什麼大多數主動降噪耳機需要專用硬件的原因。

這就是說,我認爲你應該去爲它。我對此也很感興趣;我想你必須對輸入進行傅里葉變換,然後像你說的那樣相移180°,然後將其轉換回時域,最後再將它發送給用戶?

+0

爲什麼麥克風和揚聲器之間的距離對此很重要?我們在談論環境聲音,對吧? –

0

我看到的問題是,有一個組件缺少做正確的噪聲消除:在耳機輸出應該有一個麥克風來感應完整的輸出並關閉噪聲消除系統的環路。

問候

0

你可以使用默認的iPhone耳機,使噪聲抵消項目,但可能不會可能的iPhone應用程序。內核驅動程序更有可能,但用戶應用程序更可能,因爲這類應用程序被視爲實時應用程序,這意味着您需要在低級別實施它們。正如@lericson所說,你只有幾個ms來處理信號。麥克風和耳機的距離越短,處理時間越短(可能會獲得更好的噪音消除效果)。

我有一個類似的項目,使用iPhone耳機作爲輸入/輸出,因爲它相對便宜。我使用VHDL代碼在FPGA電路板上實現了噪聲消除(FPGA電路更快,處理時間更可預測/可測量)。您不僅需要進行180度相移,還需要關注麥克風和耳機的距離,信號從麥克風傳到耳機的時間。這些變量也會產生相移,因此您必須將它們計入您的計算中。