2

この概念を理解するために、少し仮説的な質問があります..

8000hz のサンプル レートでモノラル音声クリップをキャプチャしたとします。つまり、データは 4096 バイトです。サイズ 256 の FFT を介して最初の 512 バイト (16 ビット エンコーディング) をフィードすると、128 の値が返され、これを振幅に変換します。したがって、この出力の私の周波数は

FFT BIN #1
0: 0*8000/256
1: 1*8000/256
.
.
127: 127*8000/256

ここまでは順調ですか?これで、未処理のデータが 3584 バイト残っています。したがって、512 バイトのデータに対して 256 サイズの別の fft を実行します。そして、同じ量の結果を得る..だから、このために私は再び次の頻度を持っています:

FFT BIN #2:
Example1:
0: 0*8000/256
1: 1*8000/256
.
.
127: 127*8000/256

また

FFT BIN #2
Example2:
128: 129*8000/256
139: 130*8000/256
.
.
255: 255*8000/256

この振幅/周波数グラフをプロットしたいからです。しかし、これらすべての fft ビンを例 1 のように同じ周波数でオーバーラップする必要があるのか​​、2 番目の例のように広げる必要があるのか​​ わかりません。

または、完全に冗長なことをしようとしていますか? 私が達成したいのは、他のサウンド ファイルの比較に使用する 30 ~ 50 ミリ秒ごとの時間枠のピーク アンプ値を見つけることです..

誰かが私のためにこれをクリアできるなら、私はとても感謝しています.

4

2 に答える 2

2

FFT結果ビンは、例1のように、すべてのFFTで同じ周波数セットを表しますが、時間のスライスが異なります。

各 FFT では、約 12 mS の時間枠で振幅対周波数をプロットできます。

FFT の大きさをベクトル合計して、より長い時間フレームのウェルチ法 PSD (パワー スペクトル密度) を取得することもできます。

于 2012-07-19T14:56:59.833 に答える
1

30 ~ 50 ミリ秒ごとの時間枠のピーク アンプ値を見つけたい場合は、各時間枠の信号のアンプ スペクトルをプロットするだけです。

また、フレームごとに 256 サンプルの FFT を実行すると、128 ではなく 129 の周波数成分が得られるはずです。最初のものは DC 成分で、最後のものはナイキスト周波数成分です。

于 2012-07-19T15:01:18.003 に答える