1

マイクからデータを読み取っていて、分析を実行したいと考えています。次のようなスペクトル アナライザーを生成しようとしています。

スペクトラムアナライザー

私が現時点で持っているのはこれです:

マイクからの入力

私の理解では、フーリエ解析 (高速フーリエ変換) を実行する必要がありますか? - コンポーネントの周波数とその振幅を抽出します。

私の理解が正しいことと、正確にどのタイプのフーリエ変換を適用する必要があるかを誰かが確認できますか?

現時点では、マイクから 4k サンプルを含むフレームを取得しています ( NAudioを使用)。私が持っているバッファは 16 ビット/サンプル (Signed Short) です。参考までに、上記のプロットはフレームの約半分を示しています

私はVBでコーディングしているので、.Netライブラリ/サンプル(できればNuGet上)が最も役に立ちます。実装はかなり異なるため、データを操作する必要が少ないほど良いと思います。

4

1 に答える 1

2

上のプロットはスペクトログラフのプロットで、各垂直タイム ラインは、入力波形のタイム スライス (おそらくオーバーラップ) の FFT (ウィンドウ化された可能性が高い) からの結果の大きさに基づいて色付けされています。プロットする垂直点の数 (周波数分解能) は、FFT の長さに関連しています。ほとんどすべての FFT で十分です。最も一般的な複素数から複素数への FFT を使用する場合は、各複素数入力サンプルの虚数部分をゼロに設定し、入力波形のサンプルの時間のスライスを「実」部分 FFT にコピーし、大きさを取得します。または各複雑な結果ビンのマグニチュードを記録し、これらの値を好みに応じて色にマッピングします。

于 2012-05-02T01:36:31.877 に答える