資源簡介
Levinson-Durbin算法
代碼片段和文件信息
function?LPC
%%
%讀語音文件
[yyfs]=wavread(‘F:\Speech?Signal\Three\YY.wav‘);
%%
%分幀
????function?g=divi(Nnx)??%N:窗長;n:窗移;x:讀取信號段
????????row=floor((size(x1)-N)/n+1);
????????g=zeros(rowN);
????????i=1;n1=1;
????????for?i=1:row
????????????for?j=1:N
????????????????g(ij)=x(n1);
????????????????n1=n1+1;
????????????end
????????????n1=n1-N+n;
????????end????????
????end
%%
%加窗
y1=divi(40040yy(3000:33000));
y1=y1‘;%每列是一幀
%%
%MATLAB自帶lpc
u=y1(:545).*hamming(400);
U=fft(u1024);
A=lpc(yy(3000:3100)3);?
%?A1=levinson(u10)?;
%%
%短時自相關
[m1m2]=size(y1);
for?k=1:51
????u_k=zeros(m1+511);
????u_k2=zeros(m1+511);
????u_k(1:m1)=u;
????u_k2(k:k+m1-1)=u;
????rr_ham=u_k2.*u_k;
????rr_ham_out(k)=sum(rr_ham);
end
評論
共有 條評論