<< Chapter < Page Chapter >> Page >

Use your Pgram function to estimate the power spectrumof y ( n ) , P y y ( ω k ) . Plot P y y ( ω k ) vs. ω k .

Next, estimate the power spectrum of y , P y y ( ω k ) using 1 / 4 of the samples of y . Do this only using samples y 0 , y 1 , , y 255 . Plot P y y ( ω k ) vs. ω k .

Inlab report

  1. Hand in your labeled plots and your Pgram code.
  2. Compare the two plots. The first plot uses 4 times as many samples as the second one. Is the firstone a better estimation than the second one? Does the first give you a smoother estimation?
  3. Judging from the results, when the number of samples of a discrete random variable becomes larger,will the estimated power spectrum be smoother?

Averaged periodogram

The periodogram is a simple method, but it does not yield very good results.To get a better estimate of the power spectrum, we will introduce Bartlett's method, also known as the averaged periodogram . This method has three steps. Suppose we have a length-N sequence x ( n ) .

  1. Subdivide x ( n ) into K nonoverlapping segments of length M . Denote the i t h segment as x i ( n ) .
    x i ( n ) = x ( n + i M ) , i = 0 , 1 , , K - 1 , n = 0 , 1 , , M - 1
  2. For each segment x i ( n ) , compute its periodogram
    P x i x i ( i ) ( ω k ) = 1 M n = 0 M - 1 x i ( n ) e - j ω k n 2
    ω k = 2 π k M
    where k = 0 , 1 , , M - 1 and i = 0 , 1 , , K - 1 .
  3. Average the periodograms over all K segments to obtain the averaged periodogram, P x x A ( k ) ,
    P x x A ( ω k ) = 1 K i = 0 K - 1 P x i x i ( i ) ( ω k )
    ω k = 2 π k M
    where k = 0 , 1 , , M - 1 .

Write a Matlab function called AvPgram to calculate the averaged periodogram, using the above steps.The syntax for this function should be

[P,w] = AvPgram(x, K)

where x is a discrete random sequence of length N and the K is the number of nonoverlapping segments. The outputs of this command are P , the samples of the averaged periodogram, and w , the corresponding frequencies of the samples. Both P and w should be vectors of length M where N=KM. You may use your Pgram function.

The command A=reshape(x,M,K) will orient length M segments of the vector x into K columns of the matrix A .

Use your Matlab function AvPgram to estimate the power spectrum of y ( n ) which was generated in the previous section. Use all 1024 samples of y ( n ) , and let K = 16 . Plot P vs. w .

Inlab report

  1. Submit your plot and your AvPgram code.
  2. Compare the power spectrum that you estimated using the averaged periodogram withthe one you calculated in the previous section using the standard periodogram. What differences do you observe? Which do you prefer?

Power spectrum and lti systems

An LTI system

Consider a linear time-invariant system with frequency response H ( e j ω ) , where S x x ( ω ) is the power spectrum of the input signal, and S y y ( ω ) is the power spectrum of the output signal.It can be shown that these quantities are related by

S y y ( ω ) = H ( e j ω ) 2 S x x ( ω ) .

In the "Periodogram" section, the sequence y ( n ) was generated byfiltering an i.i.d. Gaussian (mean=0, variance=1) sequence x ( n ) , using the filter in [link] . By hand, calculate the power spectrum S x x ( ω ) of x ( n ) , the frequency response of the filter, H ( e j ω ) , and the power spectrum S y y ( ω ) of y ( n ) .

In computing S x x ( ω ) , use the fact that a b 2 = a b * .
Plot S y y ( ω ) vs. ω , and compare it with the plots from the "Periodogram" and "Averaged Periodogram" sections. What do you observe?

Inlab report

  1. Hand in your plot.
  2. Submit your analytical calculations for S x x ( ω ) , H ( e j ω ) , S y y ( ω ) .
  3. Compare the theoretical power spectrum of S y y ( ω ) with the power spectrum estimated using the standard periodogram. What can you conclude?
  4. Compare the theoretical power spectrum of S y y ( ω ) with the power spectrum estimated using the averaged periodogram. What can you conclude?

Estimate the power spectrum of a speech signal

Download the file speech.au for this section. For help on the following Matlab topics select the corresponding link: how to load and play audio signals and specgram function .

The methods used in the last two sections can only be applied to stationary random processes. However, most signals in nature are not stationary. For a nonstationary random process,one way to analyze it is to subdivide the signal into segments (which may be overlapping)and treat each segment as a stationary process. Then we can calculate the power spectrum of each segment. This yieldswhat we call a spectrogram .

While it is debatable whether or not a speech signal is actually random, in many applications it is necessary to model it as being so.In this section, you are going to use the Matlab command specgram to calculate the spectrogram of a speech signal. Read the help for the specgram function . Find out what the command does, and how to calculate and draw aspectrogram.

Draw the spectrogram of the speech signal in speech.au . When using the specgram command with no output arguments, the absolute value of the spectrogram will be plotted.Therefore you can use

speech=auread('speech.au');

to read the speech signal and use

specgram(speech);

to draw the spectrogram.

Inlab report

  1. Hand in your spectrogram plot.
  2. Describe the information that the spectrogram is giving you.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Purdue digital signal processing labs (ece 438). OpenStax CNX. Sep 14, 2009 Download for free at http://cnx.org/content/col10593/1.4
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Purdue digital signal processing labs (ece 438)' conversation and receive update notifications?

Ask