Implementing the PSD from its definition

  • #1
19
0

Main Question or Discussion Point

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

Answers and Replies

  • #2
18,086
7,508
Thanks for the post! This is an automated courtesy bump. Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post?
 
  • #3
jasonRF
Science Advisor
Gold Member
1,261
307
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.
 

Related Threads on Implementing the PSD from its definition

Replies
1
Views
2K
  • Last Post
Replies
4
Views
3K
Replies
2
Views
1K
  • Last Post
Replies
3
Views
641
Replies
10
Views
2K
Replies
16
Views
597
  • Last Post
Replies
11
Views
6K
  • Last Post
2
Replies
47
Views
7K
  • Last Post
Replies
8
Views
2K
  • Last Post
2
Replies
38
Views
4K
Top