.wav ファイルがあり、STFT を実行する必要があります。ファイルの長さがわからないと言います。それを小さなフレームに分割して STFT を実行するにはどうすればよいですか??
質問する
587 次
1 に答える
0
最後に MatLab に取り組んでから長い時間が経ちましたが、一般的なアルゴリズムは次のようになるはずです。
- 入力信号を取得します。
- ウィンドウ関数でポイントごとに乗算します(「n」個のサンプルの長方形など)。これは、「n」個のサンプルのフレームがあることを意味します。
- このフレームの FFT を取得します。
- 'm' サンプル (m = シフト、通常は 'n' の約 25%) だけウィンドウを移動します。手順 2 と 3 を実行します。
- 信号の終わりに達した場合は、取得した信号のサンプルをいくつでも取得し、残りをゼロで埋めます。手順 2 と 3 を実行します。
- これで、周波数、振幅、時間の 3D プロットができました。プロットして STFT を取得します。
余談ですが、MatLab には STFT 関数はありませんか? チェックしましたか?
于 2013-07-25T15:04:27.160 に答える