Peak-Frequency during a motor task

To identify the peak frequency during a task for each participant, I perform the following steps:

  1. epoch the time window of interest and separate them into trials.
  2. isolate the electrode of interest - C3.
  3. compute power spectrum for each epoch/trial (7s long) using welch(1s window, zero overlaps)
  4. isolate 13-30Hz power values
  5. average 13-30Hz power values across trials
  6. identify the max power and its corresponding frequency.

My questions are:

  1. Do I need to detrend the data after step1?
  2. Do I need to detrend the frequency after step 3 as the power spectrum of EEG will be biased towards the lower frequencies?
  3. If I need to detrend the frequency, should I use a linear or exponential line?
  4. The purpose of using peak frequency is to identify subject-specific frequency for desynchronization calculations, do you have any alternate suggestions to my method?

Thank you so much for taking the time to respond to my questions.

Hi Priya. Your pipeline looks good. I recommend zero-padding the FFT to increase the spectral resolution.

Nope, you don’t need to detrend the time series data. That will remove the lowest frequencies, maybe around 0-1 Hz. Well below your range of interest. You could do it if you want to, e.g., if it makes the spectrum look nicer visually. But it won’t affect your beta-band dynamics.

Detrending the power spectrum is an interesting idea, and might help you identify a subtle peak. I would check this carefully against the non-detrended spectrum to make sure the peaks are not introduced by the detrending. Probably linear detrending is best.


Thank you Mike. If my objective is to compare the beta band power between two time segments, would using pwelch or periodogram for computing power spectral density be better?

Either will be fine. I often use wavelet convolution and then average over all time points.