您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Matlab自相关法求LPC系数
[x,fs]=wavread('work.wav');%¶ĮČėŹż¾Ży=resample(x,4,11);%ÖŲ²ÉŃł½«ĘµĀŹ±äĪŖ8kN=160;y1=y(1:N);w1=hanning(N);p=10;%Ō¤²ā½×ŹżA=real(LPC(y2,p));%ÓĆlpcŗÆŹżĒóŌ¤²āĻµŹżfori=1:10X(i)=y2(i);end%ÓĆlpcŗÆŹżĖłĒóĻµŹżŗĻ³ÉÓļŅōŠÅŗÅfori=11:160sum=0;forj=2:11sum=sum+(-A(j).*X(i+1-j)');endX(i)=sum;end%ĻĀĆęŹĒ×Ō±ąĒóĻߊŌŌ¤²āĻµŹżµÄ³ĢŠņ%Ź×ĻČĒó×ŌĻą¹ŲŗÆŹżr=zeros(1,p+1);fork=1:p+1sum=0;form=1:N+1-ksum=sum+y2(m).*y2(m-1+k)';endr(k)=sum;end%øł¾ŻdurbinĖć·ØĒóĻߊŌŌ¤²āĻµŹżk=zeros(1,p);k(1)=r(2)/r(1);a=zeros(p,p);a(1,1)=k(1);e=zeros(1,p);e(1)=(1-k(1)^2)*r(1);%µŻĶĘ¹ż³Ģfori=2:pc=zeros(1,i);sum=0;forj=1:i-1sum=sum+(a(i-1,j).*r(i+1-j));endc(i)=sum;k(i)=(r(i+1)-c(i))/e(i-1);%Ēó·´ÉäĻµŹża(i,i)=k(i);forj=1:i-1a(i,j)=a(i-1,j)-k(i).*a(i-1,i-j);ende(i)=(1-k(i)^2)*e(i-1);%ĒóŌ¤²āĪó²īendd=zeros(1,p);fort=1:pd(t)=a(p,t);endz=zeros(1,N);fori=1:pz(i)=y2(i);end%øł¾ŻŌ¤²āĻµŹżŗĻ³ÉÓļŅōŠÅŗÅfori=p+1:Nsum=0;forj=1:10sum=sum+(d(j).*z(i-j)');endz(i)=sum;endsum=0;fori=1:psum=sum+d(i).*r(i+1)';endG=(r(1)-sum).^.5;E=zeros(1,N);E=-z+y2;x1=filter(G,d,E);figure(1);subplot(411);plot(y2);title('ŌŹ¼Źż¾Ż')subplot(412);plot(X);title('ÓĆlpcŗÆŹżĖłĒóŗĻ³ÉŹż¾Ż')subplot(413);plot(z);title('ÓĆ×Ō±ą³ĢŠņĖłĒóŗĻ³ÉŹż¾Ż')subplot(414);plot(x1)ĻߊŌŌ¤²ā¼°ĘäMatlabŹµĻÖ
本文标题:Matlab自相关法求LPC系数
链接地址:https://www.777doc.com/doc-5675983 .html