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

📄 lpc.m

📁 DSK6713 Speech.rar語音訊號處理應用範例程序
💻 M
字号:
% ========================================================
%  Filename : LPC.M 
% --------------------------------------------------------
%  Speech Feature Extractor ( Using LPC parameter )
% --------------------------------------------------------
%  sp : speech wave ( using PCM coding )
% ========================================================
function LPC=lpc(sp);
global 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);
begin_shift=200;
fr_num=fix((sp_l-begin_shift)/fr_sz);
sp(sp_l+1:begin_shift+fr_sz*(fr_num-1)+win_sz)=zeros(begin_shift+fr_sz*(fr_num-1)+win_sz-sp_l,1);
ltw_rate=fr_num/std_fr_num;
R=zeros(order,order);
lpc_p=zeros(fr_num,order);
% --------------------------------------------------------
for fr_no=1:fr_num
   fr_begin=begin_shift+fr_sz*(fr_no-1)+1;
   fr_end=fr_begin+win_sz-1;
   s1=sp(fr_begin:fr_end);
   for eta=1:order+1
      s2=sp(fr_begin-eta-1:fr_end-eta-1);
      r(eta)=sum(s1.*s2.*hamming_win);
   end
   for u=1:order
      for v=1:order
         R(u,v)=r(abs(u-v)+1);
      end
   end
   lpc_p(fr_no,1:order)=(inv(R)*r(2:order+1)')';
end
% --------------------------------------------------------
%  Linear Time Normalize
% --------------------------------------------------------
for m=1:std_fr_num
   x=ltw_rate*m;
   x1=fix(x);
   if x1==0,
      A1=0;
   else
      A1=lpc_p(x1,:);
   end;
   if (x1+1)>fr_num,
      A2=0;
   else
      A2=lpc_p(x1+1,:);
   end;
   std_lpc_p(m,:)=A1+(x-x1)*(A2-A1);
end
LPC=10*std_lpc_p;
% ============ End of LPC Parameter Exactor ==============

⌨️ 快捷键说明

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