⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpf.m

📁 DSK6713 Speech.rar語音訊號處理應用範例程序
💻 M
字号:
% ========================================================
%   Calculate BPF parameter (Speech Feature Exactor)
% --------------------------------------------------------
% sp	     : speech signal ( using PCM coding )
% --------------------------------------------------------
% Grobal variables show as following :
%   fr_sz      : frame size ( points per frame )
%   win_sz     : window size ( points per windows )
%   std_fr_num : standard frame numbers in a speech
%   ch_num     : channel number of BPF bank
%   FR_BPFB    : frequency response of BPF bank
% ========================================================
function BPF=bpf(sp);
% --------------------------------------------------------
global fft_point FR_BPFB fr_sz win_sz std_fr_num ch_num
sp_l=length(sp);
hamming_win=hamming(win_sz);
fr_num=ceil(sp_l/fr_sz);
sp(sp_l+1:fr_sz*(fr_num-1)+win_sz)=zeros(fr_sz*(fr_num-1)+win_sz-sp_l,1);
ltw_rate=fr_num/std_fr_num;
BPF=zeros(fr_num,ch_num+1);
% --------------------------------------------------------
for i=1:fr_num
   fr=sp(fr_sz*(i-1)+1:fr_sz*(i-1)+win_sz).*hamming_win;
   fft_fr=fft(fr,fft_point);
   mag_spectrum=abs(fft_fr(1:fft_point/2-1));
   for j=1:ch_num
      bpf_p(i,j)=sum((mag_spectrum'.*FR_BPFB(j,:)).^2);
   end;
end;
% --------------------------------------------------------
%   Linear Time Normalize
% --------------------------------------------------------
for m=1:std_fr_num
   x=ltw_rate*m;
   x1=fix(x);
   if x1==0,
      A1=0;
   else
      A1=bpf_p(x1,:);
   end;
   if (x1+1)>fr_num,
      A2=0;
   else
      A2=bpf_p(x1+1,:);
   end;
   std_bpf_p(m,:)=A1+(x-x1)*(A2-A1);
   frame_eng(m)=sum(std_bpf_p(m,:));
end
%total_eng=sum(frame_eng);
peak_eng=max(max(std_bpf_p));
std_bpf_p(:,ch_num+1)=frame_eng(:)/ch_num;   % ch_ave_eng per frame
% --------------------------------------------------------
%   Magnitude Normalize ( Using Peak Energy )
% --------------------------------------------------------
BPF=std_bpf_p*100/peak_eng;
% ========================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -