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

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)

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

Yes, I have nans included in my data! Shall I get rid of them before proceeding with psd estimation??
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.
Then I shall linear interpolate the nans and then do the psd estimation.

Sign in to comment.

Tags

Asked:

on 26 Nov 2012

Community Treasure Hunt

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

Start Hunting!