3

信号の2048サンプルのfftを記述しましたが、結果はCで1025の周波数値になります(他の1025サンプル(つまり>n/2 samples)を破棄します)。

ここで、これらの周波数値から32個の等間隔の対数ビンを取得する必要があります。これらの値も318〜2000Hzです。

どんな援助もいただければ幸いです。

4

1 に答える 1

1

この質問は、FFTの各結果が表す頻度を把握する方法を示しています。次に、どの周波数がどのビンに入るのかを把握します。次に、各ビン内で、そのビン内の周波数のFFT結果を結合します。(多くの場合、人々は、その周波数のFFT結果の大きさで表される、周波数で表されるエネルギーに関心があります。そうであれば、ビン内の各結果の大きさを計算し、それらの大きさを加算して、ビンの合計を取得します。 。)

最初のビンが頻度Aで始まり、最後のビンが頻度Bで終わる、対数的に間隔を空けたn個のビンがある場合、ビンi(0からn-1までの番号)は頻度exp((ln(B)-ln(A ))* i / n)*A。その式:

  • BとAの対数を取ります。
  • 対数間の距離を取ります(ln(B)-ln(A))。
  • その距離を区間に分割します(i番目の区間のi / nを掛けます)。
  • その距離を対数から周波数に変換します(expを適用します)。
  • Aを掛けて開始点を設定します(ln(A)の減算を元に戻します)。

したがって、この式は各ビンの開始点と終了点を示し、それを使用してビンを分割できます。最後のビンを2000Hzで終了するのではなく、2000 Hzで開始する場合、または開始ビンと終了ビンをこれらの周波数で正確に終了するのではなく、318Hzと2000Hzを中心に配置する場合は、式を調整する必要があります。 。

于 2012-08-07T18:44:17.447 に答える