Matlab 在音频文件向量的频带中查找能量
我有一个音频文件,我导入到我的Matlab工作区,现在它作为一个向量 我已经把向量分解成100毫秒长的窗口Matlab 在音频文件向量的频带中查找能量,matlab,Matlab,我有一个音频文件,我导入到我的Matlab工作区,现在它作为一个向量 我已经把向量分解成100毫秒长的窗口 window_length = fs*0.1; 我怎样才能找到特定频段的能量。0-1000赫兹、1000-2000赫兹等 我已尝试使用以下过滤器: % Create Filter [N,Wc]=ellipord([450 1050]/(fs/2),[500 1000]/(fs/2),1,40); [a,b]=ellip(N,1,40,Wc); window_filt
window_length = fs*0.1;
我怎样才能找到特定频段的能量。0-1000赫兹、1000-2000赫兹等
我已尝试使用以下过滤器:
% 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位整数值音频样本,那么您的能量值将会很高