IPB

Welcome Guest ( Log In | Register )

LPC spectra estimate
hyeewang
post Feb 6 2009, 03:26
Post #1





Group: Members
Posts: 99
Joined: 2-August 07
From: Shanghai,China
Member No.: 45817



LPC spectra should correspond with the envelope of DFT spectra.

I plot LPC spectra with matlab. The LPC spectra keep the same shape with the envelope of DFT spectra.

But it is larger with a offset than the DFT envelope.

Why? Where it go wrong?

Here is the matlab script which illustrate it.

N = 2560;
[x,fs] = wavread('lpc.wav',N); % any speech signal can be used

p=12;
a = lpc(x,p);

X =fft(x);
X = X(1:N/2+1)';
X = 10*log10(abs(X).^2);

Z = fft(a,N);
Z = 1./Z(1:N/2+1);
Z = 10*log10(abs(Z).^2);

figure;
plot(X');
hold on;
plot(Z,'r');
grid;
offset = 10;
figure;
plot(X+offset);
hold on;
plot(Z,'r');
grid;
Go to the top of the page
+Quote Post
 
Start new topic
Replies
simoala007
post Feb 18 2012, 23:33
Post #2





Group: Members
Posts: 1
Joined: 18-February 12
Member No.: 97241



Hello i have got a question regarding LPC theory:

e=signal_esti - signal
and then we find that Signal(Z)=e/H(Z) with H(Z)=(1+ ai(z(i)+....apz(p))

The problem is that we plot the entry signal, and then we compare it to signal_estimated.

so when we say:

> [a,e] =lpc(x,p);
>
> X =fft(x);
> X =X(1:N/2+1)';
> X = 10*log10(abs(X).^2);
>
> Z =fft(a,N);
> Z1 =1./Z(1:N/2+1);
>
> Z = Z1.*sqrt(e*N); =A0% to use sqrt(e*N),not sqrt(e),Why?
> Z = 10*log10(abs(Z).^2);

when we plot Z, we plot the original signal, and not the estimated signal !!!!!!!

Please i am stucked here i can't understand it well.
i want to plot the estimated signal in function of error, and now from theory we are ploting the original signal.
iS THERE SOMETHING WRONG WITH MY COMPREHENSION,
THANKS A LOT
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 1st August 2014 - 14:35