<< Chapter < Page Chapter >> Page >
You will write code to compute the autocorrelation or autocovariance of an input signal. Then you connect a microphone to the DSP and write code to detect the beginning of a speech segment. Finally, you will combine the two programs and compare results with MATLAB.

Implementation

The sample rate on the 6-channel DSP boards is fixed at 44.1 kHz, so decimate by a factor of 5 to achieve the sample rate of 8.82 kHz, which is more appropriate for speech processing.

Compute the autocorrelation or autocovariance coefficients of 256 -sample blocks of input samples from a function generator for time shifts l 0 1 15 ( i.e. , for P 15 ) and display these on the oscilloscope with a trigger. (You may zero outthe other 240 output samples to fill up the 256 -sample block). For computing the autocorrelation, you will have to use memory to record the last 15 samples of the input due to the overlap between adjacent blocks. Compare the output on the oscilloscope withsimulation results from MATLAB.

The next step is to use a speech signal as the input to your system. Use a microphone as input to the original thru6.asm code and adjust the gains in your system until the output uses most of the dynamic range ofthe system without saturating. Now, to capture and analyze a small segment of speech, write code that determines the startof a speech signal in the microphone input, records a few seconds of speech, and computes the autocorrelation orautocovariance coefficients. The start of a speech signal can be determined by comparing the input to some noise threshold;experiment to find a good value. For recording large segments of speech, you may need to use external memory. Refer to Core File: Accessing External Memory on TI TMS320C54x for more information.

Finally, incorporate your code which computes autocorrelation or autocovariance coefficients with the code which takesspeech input and compare the results seen on the oscilloscope to those generated by MATLAB.

Integer division (optional)

In order to implement the Levinson-Durbin algorithm, you will need to use integer division to do Step 1 of the algorithm. Refer to the Applications Guide and the subc instruction for a routine that performs integer division.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ece 320 spring 2004. OpenStax CNX. Aug 24, 2004 Download for free at http://cnx.org/content/col10225/1.12
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ece 320 spring 2004' conversation and receive update notifications?

Ask