What is the best Algorithm to estimate the frequency for Almost-Periodic Data or complex periodic data? I’ve got what it looks like a periodic signal but the periods seem not equally repeated, I want to estimate the PSD, particularly I need to obtain the dominant frequency of this data. I’ve estimated the autocorrelation and then applied FFT, the results as shown in the figures below.
It seems that FFT algorithm is not the best option for this kind of data. Could anyone please suggest another solution?. 


Time series





autocorrelation





PSD
The dominant frequency always have the highest power and by looking at the PSD plot you can easily compute it. The dominant frequency in your case is where the PSD has the highest peak. In this case it is somewhere at around f = 2.7.