2013-07-18 8 views
12

デフォルトのiPhoneヘッドフォンを使用してアクティブノイズキャンセレーションを実装するアプリケーションを作成します。つまり、iPhoneのヘッドフォンマイクを使用して外部オーディオを受信し、180度の位相シフトを行います。最後に、外部音をキャンセルするために、デフォルトのヘッドフォンスピーカーで反転音を再生する(アクティブノイズキャンセル)。デフォルトのiPhoneヘッドフォンによるアクティブノイズキャンセル

参考:

http://electronics.howstuffworks.com/gadgets/audio-music/noise-canceling-headphone.htmはこれがiPhoneアプリで実現可能であることはできますか?

+0

最近私もこれについて考え始めました。バックグラウンドノイズがない場合(ATH-ANC23のようにほとんどのヘッドホンが何をしているのか)、これは完全に可能でなければならないと思います! –

答えて

8

343m/sの音で、マイクとスピーカーの距離が0.5mとすると、処理時間は約1.5ミリ秒になります。不可能ではありませんが、単純な偉業ではありません。特に、さまざまなコンポーネントが実際に再生を開始し、録画がアプリに到達するまでに要する時間を考慮する場合は特にそうです。私はこれがアクティブノイズキャンセリングヘッドフォンのほとんどが特殊なハードウェアを必要とする理由だと思います。

しかし、私はあなたが間違いなくそれに行くべきだと思いました。私はこれにも非常に興味があります。入力にフーリエ変換をして180度位相をずらしてから、時間領域に戻して、最後にそれをユーザーに再生する必要があると思いますか?

+0

これはなぜマイクとスピーカーの距離が重要なのでしょうか?私たちは周囲の音について話していますよね? –

0

正しいノイズキャンセルを行うには、欠落しているコンポーネントが1つあります。ノイズキャンセルシステムのループを閉じるために、ヘッドフォン出力にマイクが必要です。

よろしく

0

あなたは、ノイズキャンセルのプロジェクトを作るために、デフォルトのiPhoneのヘッドフォンを使用していますが、iPhoneアプリで可能そうすることはできません。このタイプのアプリケーションはリアルタイムアプリケーションと見なされるため、カーネルドライバでは可能ですがユーザアプリケーションではありません。これは、アプリケーションを低レベルで実装する必要があることを意味します。 @ llicsonが述べたように、信号を処理するのはわずかmsです。マイクとイヤホンの距離が短いほど、処理時間が短くなります(ノイズキャンセル効果が向上します)。

私は比較的安価なので、iPhoneのヘッドフォンを入出力として使用するのと同じプロジェクトがあります。 VHDLコード付きのFPGAボードでノイズキャンセルを実装しました(FPGA回路は高速で、処理時間は予測可能/測定可能です)。 180度の位相シフトを行う必要があるだけでなく、マイクからイヤホンまでの距離がマイクからイヤホンに移動する時間も懸念する必要があります。これらの変数も同様に位相シフトを作成し、あなたは必ず計算にそれらを数える必要があります。

関連する問題