Implementing the PSD from its definition

  • Thread starter Thread starter james1234
  • Start date Start date
  • Tags Tags
    definition psd
Click For Summary
The discussion focuses on implementing the power spectral density (PSD) for a deterministic signal using MATLAB. The user seeks guidance on plotting the PSD over a frequency range of 0.1 to 5 rad/s, utilizing the continuous time Fourier transform. The provided MATLAB code computes the Fourier transform and attempts to plot the energy and power of the signal, but the user encounters issues with the energy being a scalar rather than a function of frequency. The key point raised is that the energy of a signal is a single number, not a frequency-dependent function, which may lead to confusion in the PSD representation. Clarification on the correct implementation and interpretation of the results is requested.
james1234
Messages
19
Reaction score
0
I would be grateful for some direction on this.

I wish to implement the following -
Given a deterministic signal (the feedback signal of a closed-loop stable system) I would like to plot the power spectral density.
The definition I am working with is this:

upload_2015-1-19_20-0-26.png


Implementation (MATLAB):

% Given a signal the plot of the power spectral density over the frequency range 0.1-5 rad/s is given by
% The continuous time Fourier transform

upload_2015-1-19_20-4-34.png


w=.1:.1:5; % 0.1 to 5 rad/s (frequency range of interest)

% Compute the transform
for ii=1:50 % For each frequency increment (50 samples over the interval 0.1:0.1:5)

yy1=um.*sin(w(ii)*t) % where t is a vector of dimension [1, 3610] and um is the time series in question
yy2=um.*cos(w(ii)*t) %

% the intergral
yi1=trapz(t,yy1);
yi2=trapz(t,yy2);

% square of the Fourier transform i.e. |X(omega)|^2
trans(ii)=(yi1^2+yi2^2);

end

figure(1)
plot(w, trans) % |X(omega)|^2

upload_2015-1-19_20-13-33.png
% For a deterministic signal no need to compute the expected value, the power of the signal is instead given by

upload_2015-1-19_20-9-0.png


% Energy: integral of the square of the Fourier transform wrt to frequency
energy = trapz(w, trans);
figure(2)
plot(w,energy) % sadly things have gone awry HERE!

upload_2015-1-19_20-14-39.png
% Power
power = energy / t(end); % where t(end) is the duration of the signal in question
figure(3)
plot(w, power)
The PSD should be a real valued nonnegative function of omega not a constant. Any prompts would be much appreciated!
 

Attachments

  • upload_2015-1-19_20-8-29.png
    upload_2015-1-19_20-8-29.png
    582 bytes · Views: 512
The energy of a signal is a single number - a scalar. It is not a function of frequency. After all you integrated over frequency already in order to compute it! Look at numel(energy) and you should see that it is has 1 element.
 
Here is a little puzzle from the book 100 Geometric Games by Pierre Berloquin. The side of a small square is one meter long and the side of a larger square one and a half meters long. One vertex of the large square is at the center of the small square. The side of the large square cuts two sides of the small square into one- third parts and two-thirds parts. What is the area where the squares overlap?

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
9
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
4K
Replies
3
Views
8K
  • · Replies 3 ·
Replies
3
Views
2K