USBミニマイクアレイが必要です。出来ますか?


13

私は適応ビーム形成について多くのことを学び、MATLABなどのさまざまなシムをいじくり回しています。

しかし、システム全体で遊ぶよりも、何かを理解する-本当に理解する-より良い方法はありますか?

この目的のために、USBに接続されたマイクアレイ、たとえば5マイク程度のマイクアレイを見つけます(構築しますか?)。彼らは環境(別名、私のラップトップがどこにいても)から信号を取得でき、それらの信号を取得して、MATLABなどで処理できるようになります。

私は本当にすべてを構築したくないので、誰かが過去にUSB接続されたマイクアレイをすでに使用していて、正しい方向を指していることを望んでいますか?

マイクは、A / Dなどのビット解像度に関しては、派手なものである必要はありません。KISSの優れた品質のマイクは問題ありません。

回答:


8

プレイステーション目のビデオカメラは、4素子線形マイクロフォンアレイを有しています。SNRが90 dBの48 KHzで16ビットサンプルを提供します。使い方は簡単です。4つの独立したチャネルを持つ標準のUSBオーディオデバイスとして列挙されます。

この方法での使用例については、Ubuntu KarmicでのPS3 Eye 4チャンネルオーディオテストを参照してください。


1
@Mohammadこれはおそらく、4つのチャネルに制限することに満足しているのであれば、良い解決策でしょう。4つのチャンネルにより、約12dBのビーム形成ゲインが得られます。欠点は、アレイの合計範囲が非常に小さいという事実により、非常に大きなビームフォーミング焦点が得られるということです。互いに近すぎる音源を分離することはできません。したがって、この配列の主な用途は、おそらく音源を分離することではなく、空間を介して単一の音源を追跡することです。すなわち、人が自分の声から立っている場所を知っています
...-ARF

1
@ArikRaffaelFunkeうーん、私は焦点が何であるかを知るための適応ビーム形成について十分に知りません。:-)しかし、私は非インスタントICAを使用してソースを分離することができると思います。(実際、私は現在ICAに焦点を当てています)。また、はい4は私が期待していたほどではありません...しかし、おそらくこれが出発点になる可能性があります。.–
Spacey

3

アダプティブビームフォーミングで広範囲に働いたので、経験を積むまで、このために自分で何かをハッキングすることを本当に恥ずかしがりました。(注:約60チャネルのプロフェッショナルソリューションのコストは約100k€です。多くのチャネルを使用すると、空間解像度ははるかに向上しますが、USBポートから取得できる情報は限られています...)

信頼性の高いビームフォーミングには、すべてのマイクが同じタイムベースを使用することが不可欠です。これを実現する最も簡単な方法は、複数の入力チャンネルを持つ外部USBサウンドカードを使用することです。しかし、それらは本当に安くはありません。ebayで何が見つかるか見てきましたか?

別の方法は、たとえばそれぞれ2つのチャネルを持つ多数のUSBサウンドカードを使用して、共通のタイムベースを犠牲にすることです。ただし、取得システムを較正する必要があります。これは実際にはそれほど難しくありません:

調整するには、アレイをセットアップし、アレイの範囲のオーダーのアレイからの距離で短い音(たとえば、クラック/クラップなど)を生成します。次に、この音を録音し、Matlabなどを使用して、クラップ/クラック/などの間の相互相関を計算します。さまざまなチャネルで。これにより、チャネルに適用してビームフォーミングアルゴリズムにデータを供給する前にチャネルを調整する必要がある時間オフセットのリストが表示されます。

適応ビームフォーミングを探求するために、これはおそらくマルチチャンネルサウンドカードで掘り出し物を作れない限り、行くべき方法です。


編集1

この編集は、コメントで提起された質問に答えることです。

遅延と和のビームフォーミングの基本的な考え方は、異なる取得チャンネルに遅延を適用し、異なるチャンネルからの信号が追加されたときに空間のある点から発生する音が整列して「増幅」することです。空間の他の領域から発生する音は整列しないため、「増幅」されません。

特定の一連の遅延を使用して音が整列する空間内のポイントは、マイクアレイ(または焦点)の焦点と呼ばれます。ただし、実際には、焦点は理想的なポイントではなく、音がうまく整列する空間の小さな(ish)(配列に依存)領域です。この領域のサイズは、焦点のサイズと呼ばれます。

ジオメトリ(サイズ、形状など)は、アレイの正確な詳細(マイクの数、マイクの間隔、目的の信号の周波数成分)に依存します。たとえば、この記事を参照してください

詳細については、超音波で「フェーズドアレイ」または「リニアアレイ」に焦点を当てることに関するテキストを参照してください。ビームフォーミングは、受信(空間の特定のポイントからの信号を増幅する)または放射(部屋に「大きな」スポットを作成する)に使用できます。原則は同じです。思考の中で「マイク」を「スピーカー」に置き換えてください。

キャリブレーション手順に関して:あなたは正しいです。私が概説した手順は単純すぎます。関心のある空間の領域よりもはるかに長い距離からキャリブレーションクラップを作成できる場合にのみ、うまく機能します。つまり、単純な波を確保するためです。

これが不可能な場合は、拍手の位置を考慮する必要があります。この場合、最も簡単な手順は、説明したように相互相関によって遅延を修正することです。ただし、「逆ビームフォーミング」遅延セットを適用して、波面の曲率を信号に戻します。拍手。(つまり、「通常の」ビームフォーミングアルゴリズムで深度変数+ t0(または+ z0)を使用する場合、逆ビームフォーミングアルゴリズムには-t0(または-z0)を使用する必要があります。)

このキャリブレーションのポイントは何ですか:異なるサウンドカードがわずかに異なる時間に録音を開始することによるエラーを排除します。これにより、通常、正しい遅延があっても信号が適切に調整されないため、目的の増幅効果が防止されます。


ありがとう、アリック。ただし、ここで時間遅延を補正する理由はわかりません。たとえば、ご存知の一部の適応型ビームフォーミングは遅延と合計であるため、時間遅延の問題が自動的に発生します。2番目(これはあなたの言っていることだと思います)、私共通の時間同期欲しいということです。(すなわち、すべてのマイクを同時に録音を開始し、ボタンを押してください)が、私はいけない彼らは、共通の時間遅延を持っていると思います。
スペイシー

私は実際にラップトップにマイクアレイを組み込みました。マイクは2つだけだと思いますが、これは出発点かもしれませんが、最小限の手間で個別にデータに実際にアクセスする方法がわかりません...
Spacey

@Mohammad-この問題は、既知の時間遅延を補正するものではなく、未知の時間遅延を補正するものです。基本的に、個別のUSBサウンドカードごとに処理時間があり、デバイスごとに異なる場合があります(この場合は補正可能)、またはUSBバスの負荷に応じて一定/変更にならない場合もあります。
コナーウルフ

@Mohammad FakeNameが言ったこと...物事をさらに明確にするために:ビームフォーミングのタイムベースは、考慮したい最高周波数成分の半周期よりも良くなければなりません。独立したサウンドカードで同時に録音を開始するだけでは、これを達成することは不可能だと思います。複数のチャンネルを備えた単一のサウンドカードを使用している場合、状況は異なります。
ARF

@ArikRaffaelFunkeキャリブレーションについてあなたが何を意味するかわかりました、あなたの声明を誤解しました。ただし、通常のタイムベースから時間遅延を削除する方法はわかりません。また、チャネルから時間遅延を誤って削除することもありません(これを保持する必要があります)。唯一の方法は、拍手から各マイクまでの距離が同じであることを確認することですが、2以上のリニアアレイでは不可能です。おそらく十分な場合(したがって、平面波面)はそれほど重要ではないでしょうか?
スペイシー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.