Digital Signal Processing Assignment 4

  1. Do Mitra problems 3.33 and 3.34.

  2. Do Mitra problems 3.35 and 3.37, and 3.38.

  3. Investigate the sequence f[n] defined as

    and its underlying continuous function f(x) given by

    1. Using a = 0.7, plot the function and the sequence on the same graph, using a solid line for the function and marker points for the sequence elements. Show at least 16 values of the sequence.
    2. Find the mathematical form of the Fourier transforms of the sequence and the continuous function (for general a).
    3. Plot both results over the domain for a = 0.7.
    4. Plot the magnitude of the discrete time Fourier transform for N = 64 superimposed on the infinite sequence theoretical curve.

  4. Create vectors b and a for the following difference equation:

    y[n] + 0.9 y[n-2] = 0.3 x[n] + 0.6 x[n-1] + 0.3 x[n-2].

    Use Matlab to generate the frequency transfer function H(w) without using fft or freqz. Use the explicit equation (see Mitra eq. 3.96, p 150). Plot the following

    1. real and imaginary parts (on same plot)
    2. magnitude and phase (on different plots)
    3. complex trajectory (real and imaginary vs parametric variable w.

  5. Find the Fourier series coefficients for the periodic function p(t) = tri(t/c) * rect(t/b) * comb(t/L), where asterisk represents convolution, using the method described in class. The function is even so the resulting series is a cosine series. Use Matlab to reconstruct the function (show several periods) if L = 7, b = 3, and c = 1. Use N = 5, 10, 15 ... harmonics until you get a satisfactory reconstruction.

  6. Download the file 8.au.

    [y,Fs] = auread('aufile') loads a sound file specified by the string aufile, returning the sampled data in y and the sample rate (Fs) in Hertz.

    Find the Discrete Fourier Transform (DFT) of y using fft.

    1. Plot the magnitude of the result. Note that there are two principal sinusoidal components.
    2. Find the frequency of each component by using sortrows to sort the first half of the output array (why only half?) and associating the corresponding index values for the two largest elements with frequencies. Find the difference in frequency between two adjacent samples. This gives an indication of the uncertainty in frequency value.
    3. Append zeros to increase the array size to 8192. Repeat the determination of frequency. Can you determine the frequencies to any better precision?


Maintained by John Loomis, last updated 8 Sept 2005