Analyze frequency spectrogram was calculated based on wavelet convolution method

Dear Prof. Mike X Cohen,

I watched your lectures on Data analysis. Then I am trying to apply wavelet convolution method to present the frequency spectrum of my signal. Because a new user can’t upload images and add more than 2 links. So I uploaded there images on imgur in order. Sorry for the inconvenient.


My raw signal: image_1
The signal was recorded from motor cortex while finger move: image_2

I applied the wavelet with parameters:
Cycles in range [130, 120] and created by logspace: nCycles = np.logspace(np.log10(range_cycles[0]), np.log10(range_cycles[-1]), num_frex)
The power was converted to dB: spectrum = 10 * np.log10(np.power(abs(conv), 2))
However, my freq spectrogram looks abnormal: image_3

Could you please take a look and give me some opinions on it? To make the spectrogram more make sense.
Thank so much for your help.

Hi. No worries, imgur albums are also fine!

You should detrend your signal. Notice the huge DC offset in the time-domain signal. That’s not a problem per se, but it makes the rest of the spectrum difficult to interpret because the very low frequencies will dominate the y-axis of the spectrum.

You can also scale the x-axis of the plot. You would only reasonably expect activity up to around maybe 150 Hz. Or lower if these are scalp-recorded data.

What exactly is “abnormal” about your spectrogram? With 120 cycles there is very little observable temporal dynamics, so the plot will look “stretched” on the x-axis.

1 Like