<< Chapter < Page | Chapter >> Page > |
Questions or comments concerning this laboratory should be directedto Prof. Charles A. Bouman, School of Electrical and Computer Engineering, Purdue University, West Lafayette IN 47907;(765) 494-0340; bouman@ecn.purdue.edu
In the first and second weeks of this experiment, weintroduced methods of statistically characterizing random processes. The sample autocorrelation and cross correlation are examples of“time domain” characterizations of random signals. In many applications, it can also be useful to get the frequency domaincharacteristics of a random process. Examples include detection of sinusoidal signals in noise, speech recognition and coding, and rangeestimation in radar systems.
In this week, we will introduce methods to estimate the power spectrum of a random signal given a finite number of observations. We will examine the effectiveness of the periodogram for spectrum estimation, and introduce the spectrogram to characterize a nonstationary random processes.
In this section, you will estimate the power spectrum of a stationary discrete random process.The power spectrum is defined as
There are 4 steps for calculating a power spectrum:
In real applications, we can only approximate the power spectrum. Two methods are introduced in this section.They are the periodogram and the averaged periodogram .
Click here for help on the fft command and the random command .
The periodogram is a simple and common method for estimating a power spectrum.Given a finite duration discrete random sequence , , the periodogram is defined as
where is the Discrete Time Fourier Transform (DTFT) of .
The periodogram can be computed using the Discrete Fourier Transformation (DFT), which in turn can beefficiently computed by the Fast Fourier Transformation (FFT). If is of length , you can compute an -point DFT.
Using
[link] and
[link] ,
write a Matlab function called
Pgram
to calculate
the periodogram. The syntax for this function should be
[P,w] = Pgram(x)
where is a discrete random sequence of length . The outputs of this command are , the samples of the periodogram, and , the corresponding frequencies of the samples. Both and should be vectors of length .
Now, let
be a Gaussian (Normal) random variable with mean 0 and
variance 1. Use Matlab function
random
or
randn
to
generate 1024 i.i.d. samples of
, and denote them as
,
, ...,
. Then filter the samples of
with
the filter whichobeys the following difference equation
Denote the output of the filter as .
Notification Switch
Would you like to follow the 'Purdue digital signal processing labs (ece 438)' conversation and receive update notifications?