Why I am getting nans when calculating the PSD for a sequence of numbers?!!

14 views (last 30 days)
Hey all,
I have a sequence of data saved in a column vector. I know that Fs = 400 Hz for the data when it was collected in time domain. I want to see the frequency component and calculate the power spectrum density. I used [Pxx,w] = pwelch(x) and all hat i'm getting is Nans in complex and real format!! x is my column vector. Where did I go wrong?!

Answers (1)

Wayne King
Wayne King on 26 Nov 2012
Edited: Wayne King on 26 Nov 2012
Is there a NaN in your data?
If you have a NaN in your data, that will create the output you describe. For example:
x = randn(1000,1);
x(100) = NaN;
[Pxx,W] = pwelch(x);
You can check for NaNs with isnan()
  3 Comments
Wayne King
Wayne King on 26 Nov 2012
Yes you should, the question is what is a meaningful thing to do because the PSD estimate assumes that the data is uniformly sampled. If you just remove the NaNs that is no longer the case.
Yasmin Tamimi
Yasmin Tamimi on 26 Nov 2012
Then I shall linear interpolate the nans and then do the psd estimation.

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!