0

誰かが matlab のこの問題について教えてください。

鳥のさえずりを含む 4 つの .wav ファイルがあります。各 .wav ファイルは、異なる鳥を表します。入力 .wav ファイルが与えられたら、それがどの鳥かを判断する必要があります。解決策を得るには、周波数スペクトルを比較する必要があることはわかっています。しかし、スペクトログラムを使用してそこにたどり着く方法がよくわかりません。

PSスペクトログラムがどのように機能するかを知っており、それを使用してかなりの数の.wavファイルをプロットしました

4

3 に答える 3

1

あなたが話しているようなパターン認識問題にはいくつかの方法があります。

matlab関数でFFTのような周波数分析を使用できます
S = SPECTROGRAM(X,WINDOW,NOVERLAP)

ではSPECTROGRAM、変数で分析する信号の時間ウィンドウを定義する必要がありますWINDOWWINDOW = [1 1 1 1 1 1 1 ... 1]必要な長さに等しい数の値を持つ長方形のウィンドウ (例 ) を使用できます。使用するウィンドウはたくさんあります: ハニング、ハミング、ブラックマン。問題に適したものを使用する必要があります。これNOVERLAPは、ウィンドウが 1 ステップで移動するポイントの数です。

このアプローチの他に、ウェーブレット変換も問題を解決するための優れた手法です。Matlab には、離散ウェーブレットと連続ウェーブレットを適用するための優れたツールボックスもあります。

于 2013-03-29T17:02:17.247 に答える
0

これは複雑な問題であることがわかります。開始点として、各レコードを 20ms のような固定長のフレームに分割し、10ms のオーバーラップを設定し、これらのフレームの fft を抽出して、最大エネルギー周波数を取得することをお勧めします。各フレームの値。最後のステップとして、フレーム周波数を相互に比較し、最大相関を選択して結果を決定します。

于 2013-03-29T12:31:31.807 に答える