To solve for the linear prediction coefficients , a(i), i=1:p, you need to
solve the Yule-Walker equation R*a=x, where R=[r(0), r(1), ... , r(p-1); r(-1), r(0), ...., r(p-2); ................................ r(1-p), r(2-p), ...., r(0)]; and x(i)=r(-i), i=1:p; with r(k) the autocorrelation at lag k. Once you have r, (using xcorr for example), form R and x, and solve either by inverting R directly or using Levinson-Durbin. I think the matlab LPC function returns the prediction error filter coefficients, b, which are related to the linear prediction coefficients via b=[1,-a(1),-a(2),.....a(p)].'. You might expect to get slightly different answers depending on how the autocorrelation sequence is calculated. Hope this helps. Henry Wijaya wrote: > Hi, is anybody familiar with LPC analysis? I tried to write a code that > computes the LPC coefficients of a given signal sequence using > 'autocorrelation method' and 'Durbin's recusion algorithm' to solve for the > coefficients. It seems to computes correctly according to the equation: > [R(i,j)]. [a] = [R(i)] ; i = 1,2,...,p > > The result that I got agrees with matrix inversion method, that is: > > [a] = inv([R(i,j)]).[R(i)] > > , but when I compare my result with the result when using 'LPC' function in > MATLAB, they are different. > Anybody has any idea why direct implementation of autocorrelation followed > by Durbin's recursion doesn't give the correct result? > Thanks in advance > > Henry. -- Dr. Steve Hayward MIMA, C.Math Signal Processing Group, Room E511, DERA Malvern, St. Andrews Road, Malvern, Worcs., WR14 3PS, UK. tel: +44 (0) 1684 894532 fax: +44 (0) 1684 896502 email: The views expressed herein are entirely those of the writer, and do not represent the views, policy or understanding of any other person or official body. The Information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). For those other than the intended recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. |