Module 8: Correlogram Approach to Power Spectrum Estimation

Explanation:
Let x(n) be a linear random process generated by passing a zero-mean, i.i.d., unit variance process w(n) through a linear filter with impulse response h(n). The autocorrelation function of x(n) is defined as r(k)=E[x(n) x(n+k)], and the power spectral density (PSD) S(w) of x(n) is defined as the Fourier Transform of r(k). The above PSD definition suggests that we can estimate S(w) by first obtaining the autocorrelation function estimate and then Fourier transforming it. This is called the correlogram approach to PSD estimation.

We have seen that without proper windowing, the sample autocorrelation function becomes less reliable at larger lags. If we simply Fourier transform this raw autocorrelation function estimate, the resulting PSD estimate will not be good. To obtain a meaningful correlogram, we must window the autocorrelation function estimate first before taking the Fourier transform.

To use this applet, first select the poles and zeros of the system. Once the system is defined, theoretical PSD can be calculated. The user can pick a data length N and choose from a variety of probability density functions for the driving noise. A sample realization x(n) is then generated and plotted in the top right window. A raw correlogram obtained by Fourier transforming the unwindowed autocorrelation function estimate, is shown in the lower left window. To obtain a more accurate correlogram, one can select the window parameter L to be much smaller than the data length N. Different types of windows can be used. The resulting correlogram (blue) and the true PSD (red) are shown together in the bottom right window for comparison.

Observe the following:

Example: the system shown above has 2 poles that are fairly close to the unit circle with angles of approximately -0.5*pi, 0.5*pi radians. We see from the bottom left panel that although the raw correlogram shows two peaks around w=-0.5*pi, 0.5*pi, it is quite erratic looking. When a Hamming window with L=64 is applied, the resulting correlogram tends to the true PSD.

Experiment it yourself!
Click here to run the experiment using your browser.

Instruction: To change a parameter from its default value, slide the bar beneath the parameter window or enter a specific number and then hit the return key. Hitting the return key from any of the parameter windows initiates another Monte Carlo run.