<< Chapter < Page | Chapter >> Page > |
First, take a simple signal (
xcorr
MATLAB
function to compare with your own version of this function.At what time shift
is
maximized and why? Is there any symmetry in
? What does
look like for periodic signals?
Next, write your own version of the Levinson-Durbin algorithm in MATLAB. Note that MATLAB uses indexing from rather than . One way to resolve this problem is to start the loop with , then shift the variables , , , and to start at and . Be careful with indices such as , since these could still be .
Apply your algorithm to a
-
ms segment of a speech signal. Use a microphone to
record
.wav
audio files on the PC using Sound
Recorder or a similar application. Typically, a sample rateof
kHz is a good choice for voice signals, which are
approximately bandlimited to
kHz. You will use these audio files to test algorithms in
MATLAB. The functions
wavread
,
wavwrite
,
sound
will help you read,
write and play audio files in MATLAB:
The output of the algorithm is the prediction coefficients
(usually about
coefficients is sufficient), which represent the
speech segment containing significantly more samples. The LPCcoefficients are thus a compressed representation of the
original speech segment, and we take advantage of this bysaving or transmitting the LPC coefficients instead of the
speech samples. Compare the coefficients generated by yourfunction with those generated by the
levinson
or
lpc
functions available in the MATLAB toolbox.
Next, plot the frequency response of the IIR model representedby the LPC coefficients (see
Speech Processing: Theory of LPC Analysis and
Synthesis ). What is the fundamental frequency of the
speech segment? Is there any similarity in the predictioncoefficients for different
-
ms segments of the same vowel sound? How could the prediction
coefficients be used for recognition?
Notification Switch
Would you like to follow the 'Digital signal processing laboratory (ece 420)' conversation and receive update notifications?