簡體   English   中英

在音頻文件矢量的頻帶中查找能量

[英]Finding Energy in frequency bands of an audio file vector

我有一個音頻文件,我將其導入到Matlab工作區中,現在將其作為矢量。

我已經將向量分解為100毫秒長的窗口。

      window_length = fs*0.1;

如何在某些頻帶中找到能量。 0-1000 Hz,1000-2000 Hz等?

我嘗試使用以下過濾器:

    % Create Filter
[N,Wc]=ellipord([450 1050]/(fs/2),[500 1000]/(fs/2),1,40);
[a,b]=ellip(N,1,40,Wc);

window_filtered=filter(a,b,window);

 % Find Filterend  Energy
Energy_band_X_X(position) =diag(window_filtered*window_filtered');   

但是,我的結果太大,沒有任何意義。

謝謝!

我建議使用簡單的FFT查找整個頻譜,然后在您感興趣的頻帶中查找能量。 您還應該標准化輸入數據。 例如,您可以將數據除以最大值,以使其介於0和1之間。如果要處理16位或8位整數值的音頻樣本,則能量值將很高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM