Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在音频文件向量的频带中查找能量_Matlab - Fatal编程技术网

Matlab 在音频文件向量的频带中查找能量

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

我有一个音频文件,我导入到我的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_filtered=filter(a,b,window);

 % Find Filterend  Energy
Energy_band_X_X(position) =diag(window_filtered*window_filtered');   
然而,我的结果太大,没有任何意义


谢谢

我建议使用简单的FFT来查找整个频谱,然后在您感兴趣的频带中查找能量。您还应该规范化输入数据。例如,可以将数据除以最大值,使其介于0和1之间。如果您处理的是16位或8位整数值音频样本,那么您的能量值将会很高