extract max and min frequency of a spectrum
6 ビュー (過去 30 日間)
古いコメントを表示
How Determine the bandwidth as well as the minimum and maximum frequency of each audio channel by writing a Matlab code?
0 件のコメント
採用された回答
その他の回答 (1 件)
Walter Roberson
2024 年 12 月 29 日
You could fft(), and take the first half of the results, and find the last bin such that abs(BIN)>0 . That last bin will correspond to the highest frequency. Likewise, the first such bin (other than the very first bin) with abs()>0 corresponds to the minimum frequency.
However... fft() is prone to round-off errors, and there is a high chance of numeric noise. So you want abs(BIN)>TOLERENCE to ignore the numeric noise.
But... in practice, if the audio was not created by ifft(), then chances are high that abs(BIN) is non-zero for extended periods. Real audio seldom represents a repeating signal, and the effect of silence is to effectively add a sinc() signal to the fft, so the high frequency bins of fft of real audio almost always have non-zero content.
参考
カテゴリ
Help Center および File Exchange で Spectral Measurements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!