I am trying to classify spikes in real Data. Mostly there are two classes of Spikes in the data, which have slightly different frequency and also different amplitude. Annoyingly the frequency of the classes is not fixed, but may vary a little bit randomly, or it might even suddenly increase or decrease up to the factor of (I hope at the max) around 2. The Amplitude might change, as well, so that it is hard to tell which spike belongs to which class.
A plot of the Data and detected spikes:
As you might see, it can happen that a spike is hiding behind another Spike, also there could sometimes be some noise detected as peak or so.
Do you have any Idea how to approach this? Might autocorrelation work, although the frequency can change a little over time?