Discrepancies between Power Spectra and Data

2 views (last 30 days)
Hi MATLAB users,
I have time-series of repetitive burst, like the following link (lower trace): http://mitpdev.mit.edu/library/erefs/arbib/images/figures/A002_fig001.gif
The bursting occurs at a frequency of 0.5Hz, and within the burst there are frequencies of between 50-70Hz. Sampling at 10millisecs, my power spectra;
Fs=100;
pwelch(event_train,128,120,[],Fs,'onesided')
doesn't give me what I would expect (peaks at 0.5Hz and 50-70Hz). What am I doing wrong?
Thanks,
Linford
  1 Comment
Linford Briant
Linford Briant on 17 Mar 2012
So the timestep for my data is 10ms. This may be a confounder here.
Thanks,
L

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 17 Mar 2012
Hi Linford, A sampling frequency of 100 Hz (dt=0.01) is going to result in aliasing for the content from 50-70 Hz. As far as your other question, is there anyway you can post your time series anywhere? How long is your data vector? Your frequency resolution with a segment length of 128 points and your sampling frequency is almost 0.4 Hz so one thing to do would be to increase your segment length.
Without seeing the data or your PSD estimate, it's hard to say anything more. Another thing is what is the mean of the data. Is the mean nonzero?
If so, the power at DC (zero frequency) can obscure the spectral details you are interested in, so you may want to detrend() first.
  9 Comments
Linford Briant
Linford Briant on 17 Mar 2012
Ah-ha, subtracted mean and get a peak at 0.58Hz... perfect!
Wayne King
Wayne King on 17 Mar 2012
yep, see! That's because when you have a non-zero mean, the value at zero frequency can get very big (you sum all the values in the data). That can obscure other frequency content of interest. :)

Sign in to comment.

More Answers (2)

Rick Rosson
Rick Rosson on 17 Mar 2012
With a sampling rate of 100 samples per second, the Nyquist frequency is 50 hertz. That means the maximum frequency that you can represent in the spectrum is 50 hertz, which is less than your frequencies of interest, 50 to 70 hertz.
  4 Comments
Rick Rosson
Rick Rosson on 17 Mar 2012
Also, Wayne's suggestions related to the resolution of the spectrum and filtering out the DC component are spot on.

Sign in to comment.


Dimitris Malamas
Dimitris Malamas on 29 Mar 2013
Hi, I have time-series (MER) of a Parkinson patient, the sample frequence is 24000 Hz. I want to estimate the power spectrum density of the spike trains, I used Welch method, it's parameters incuded a Hanning window and a 50% overlap between windows that produced a 0.5 Hz spectral resolution. But i have a problem, i am not sure if i used the right input data, from Matlabs help : [Pxx,f]=pwelch(x,window,noverlap,nfft,fs), i am not sure about fs, it means the sample frequency of MER or something else?

Tags

Community Treasure Hunt

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

Start Hunting!