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

📄 cp.m

📁 DSK6713 Speech.rar語音訊號處理應用範例程序
💻 M
字号:
% ================================================================
%   Filename : CP.M 
% ----------------------------------------------------------------
%   Speech Feature Extractor ( Using Cepstrum parameter )
% ----------------------------------------------------------------
%   sp : speech wave ( using PCM coding )
% ================================================================
function CP=cp(sp);
global fft_point CBF fr_sz win_sz std_fr_num order
% ----------------------------------------------------------------
%   Magnitude Normalize ( using maximum peak for normalize )
% ----------------------------------------------------------------
a=max(sp);
sp=(sp./a)*100;
% ----------------------------------------------------------------
hamming_win=hamming(win_sz);
sp_l=length(sp);
fr_num=fix(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;
cp_p=zeros(fr_num,order);
% ----------------------------------------------------------------
for fr_no=1:fr_num
   fr_begin=fr_sz*(fr_no-1)+1;
   fr_end=fr_sz*(fr_no-1)+win_sz;
   fr_sp=sp(fr_begin:fr_end).*hamming_win;
   fft_fr=fft(fr_sp,fft_point);
   csw=log10(abs(fft_fr(1:fft_point/2-1)));
   for ch=1:20
      Yt(fr_no,ch)=sum(csw'.*CBF(ch,:));
   end
   for n=1:order
       cp_p(fr_no,n)=sum(Yt(fr_no,:).*cos(n*((1:20)-.5)*pi/20));
   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=cp_p(x1,:);
   end;
   if (x1+1)>fr_num,
      A2=0;
   else
      A2=cp_p(x1+1,:);
   end;
   std_cp_p(m,:)=A1+(x-x1)*(A2-A1);
end
% ========================================================
CP=std_cp_p;
% ========================================================

⌨️ 快捷键说明

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