I am trying to calculate the peak amplitude of spikes in an EEG trace. I have been using the findpeak function to calculate the amplitude of the spikes. However I have noticed that movement (face/eye) creates noise. I have attached an image of a recording. In the red boxes the spikes appear during noise. When the noise appears at the same time as the spikes, the peak of the spikes jumps up. when I use the findpeak function it returns the 'jumped up' spike peak. I want to either flatten the baseline (removing the noise induced jumps in baseline) or find a method of calculating the spike peak amplitude (trough-peak) so it is not influenced by the movement noise. Does anyone have any suggestions
You can compute the Short Time Fourier Transform of the entire signal. If you observe that there is an increase in the peak level due to addition of noise, at the point of observation, you can suppress the highest frequency component (responsible for addition of the noise) by using a notch filter of that frequency. For more information on Short Time Fourier Transform, you may refer to its documentation.