Speech Signal Processing Project-2        Fall  2003

Try to implement the short-term linear prediction coding (LPC) for speech signals.
You should follow the following instructions:

1.  Using the autocorrelation method with Levinson-Durbin Recursion and Rectangular/Hamming windowing.
2.  Analyzing the vowel (or FINAL) portions of speech signal with different model orders.
(different P, e.g. P=6, 14, 24 and 128)
3. Plotting  the LPC spectra as well as the original speech spectrum.
4. Using the speech wave file, bk6_1.wav (no header, PCM 16KHz raw data) as the exemplar.

Hints:
1. When the LPC coefficients aj are derived, you can construct impulse response signal
h[n], 0
n N-1 (N: frame size) by:

2. The prediction Error E can be expressed by the autocorrelation function:

3. The MatLab example code:

x=[184.6400 184.1251 . . . . . . .  197.7890 -26.8000 ]; % original signal, dimension: frame size

y=[1.0000 2.0105  . . . . . . .   0.0738 0.0565 ]; % filter's impulse response h[n], dimension: frame size

gain=valG; %   valG: the prediction Error E

X=fft(x,512); % fast Fourier Transform, so the frame size < 512

Y=fft(y,512);  % fast Fourier Transform

X(1)=[]; % remove the X(1), the DC

Y(1)=[]; % remove the Y(1), the DC

M=512;

powerX=abs(X(1:M/2)).^2;  % the power spectrum of X

logPX=10*log(powerX); % the power spectrum of X in dB

powerY=abs(Y(1:M/2)).^2; % the power spectrum of Y

logPY=10*log(powerY)+10*log(gain); % the power spectrum of Y in dB
% plus   gain (Error) in dB
nyquist=8000; % maximal frequency index

freq=(1:M/2)/(M/2)*nyquist; % an array store the frequency indices

figure(1);

plot(freq,logPX,'b',freq,logPY,'r'); % plot the result,
% b: blue line for the power spectrum of the original signal
% r: red line for the power spectrum of the filter

4. Example Figures of LPC Spectra (plotted by Roger Guo, Fall 2002)

 Order = 6 Rectangle window & no Pre-emphasis Order = 14 Rectangle window & no Pre-emphasis Order = 24 Rectangle window & no Pre-emphasis Order = 128 Rectangle window & no Pre-emphasis Order = 128 Rectangle window & Pre-emphasis Order = 128 Hamming window & Pre-emphasis Order = 128 Hamming window & no PreEmphasis