Discrepancies between Power Spectra and Data

3 次查看(过去 30 天)
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

采纳的回答

Wayne King
Wayne King 2012-3-17
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 个评论
Linford Briant
Linford Briant 2012-3-17
Ah-ha, subtracted mean and get a peak at 0.58Hz... perfect!
Wayne King
Wayne King 2012-3-17
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. :)

请先登录,再进行评论。

更多回答(2 个)

Rick Rosson
Rick Rosson 2012-3-17
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 个评论
Rick Rosson
Rick Rosson 2012-3-17
Also, Wayne's suggestions related to the resolution of the spectrum and filtering out the DC component are spot on.

请先登录,再进行评论。


Dimitris Malamas
Dimitris Malamas 2013-3-29
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?

类别

Help CenterFile Exchange 中查找有关 Parametric Spectral Estimation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by