EE502 DSP Assignment

N.B. This assignment must be your own unique work. It is worth 25%. Marks will be heavily deducted for any reports which are similar to others.

This assignment involves generating an impulse train, filtering it to produce a speech-like signal, building an all-pole model for this signal and inverse filtering the signal. You may use Matlab or any signal processing package for parts 1 – 3 but you MUST use a general purpose language [C, C++, Java] for parts 4 & 5.

1. Impulse train generation: generate a 80-120Hz impulse train with a 8kHz sampling frequency: y[k] = δ[k] + y[k-X] (Choose your own value for X) [1 mark]

2. Filter design: design a bandpass filter to your own specifications but with a sampling frequency of 8 kHz. [You can generate a more realistic speech-like signal by connecting, say, 3 simple bandpass filters in series with centre frequencies of, eg, 500Hz, 1kHz and 1.5kHz]. (Choose your own values) Can also use:

H(z) = [1 - (2*(e^sigma*T)cos(wT)) + (e^2* sigma*T)]/[ 1 - (2*(e^ sigma*T)cos(wT)*z^-1) + (e^2* sigma*T)z^-2]

s = sigma + jw, so sigma is negative and related to the bandwidth of the filter.

Possible value for e^ sigma*T is around 0.9 - 0.99 [3 marks]

3. Signal generation: use the Recursive Filtering option to filter the impulse train with your filter to generate a “speech-like” signal. Plot a few periods of the signal. Convert this to an ASCII *.txt file, suitable for input to a C programme. [3 marks]

4. Write a programme to build all-pole models for your “speech-like” signal using the autocorrelation method [with and without windowing] and the Burg method. Plot the frequency response for each of your models and comment on the results. [6+6 marks]

5. Construct [in C…] the inverse filter for each all-pole model and use them to filter your “speech-like” signal. Try different numbers of taps on your inverse filter. Plot the outputs and compare results. [6 marks]

Notes: Integrate your plots [with proper captions, labels and scaling] with your report and comment on the results in each section – this will account for a significant portion of the marks.

Include well-commented code at the end of your report [don’t hand up a disk].

A basic DSP Teaching Package can be found at: Ee_olympus\sys\alps\dsp\EE401\dsp.exe

Partial Lecture Notes can be found at: http://www.eeng.dcu.ie/~ee502/