How to detect sine pattern in a signal or time-series data?

Viewed 1174

I need to detect sine patterns in time-series data. Data includes small oscillations and a few numbers of sine patterns. What I need is [Start Time, End Time] of sine pattern.

Please note that there is a timestamp (0.5 second) to get data. Therefore, data is not continuous.

I appreciate it if you introduce any algorithm. Also, if the algorithm is already implemented in a python library, please guide me.

enter image description here

1 Answers

You may try FFT method to find a sine frequency, then use correlation with the model signal to bind it with time domain. Also you could use spectrogram analysis to get picture of your signal in time-frequency (it should looks like a line in time with the beginning and the end).

For example four sines with different frequencies may looks like on the spectrogram: Sines on spectrogram sample

Related