I simulated a discrete sample of a variable whose autocorrelation function (ACF) should theoretically be composed of a sum of exponential-like functions.
My goal is to represent it in the frequency domain because that is how it is done experimentally. This is theoretically achieved by calculating the Fourier-Laplace transform of the time derivative of the ACF with changed sign.
The difficulty is that the process occurs in a complex system and does not contain $N$ isolated and easily identifiable exponentials, but a scattered mixture from which hopefully you can detect $M<N$ main contributions. EDIT: If it contained those few easily identifiable exponentials, I could identify them and move analytically into the frequency domain. Since this is not the case, I have tried to do it numerically, but I get too much noise in the results.
What I tried
I have tried several methods but I have no experience in signal processing and I do not know which one is the most reliable. The most significant of these are:
Direct method: Just compute the ACF and perform the FFT. I get a lot of noise in the ACF and even more after transform it. I've noticed some seasonality.
Smoothing/Averaging: I made a windowed version of the Savitzky-Golay filter and applied it to the ACF, this improved the results but not sufficiently. Dividing the ACF in blocks and averaging it gave significant improvements.
Welch’s method: This returned the spectral density. I applied the IFFT to get the ACF which looks much nicer than previous approaches. I keep the first half (because the returned ACF looks like a periodic function), and then applied the FFT to its derivative.
The latter results looks way better but with issues: 3.1) The imaginary part of the frequency representation does not tends to zero at zero frequency (it is smaller that its peak, but not close to zero). 3.2) I have not found which window would be appropriate for the FFT. The ones I have seen have small values at the extremes, and the ACF has valuable information and higher accuracy near $t=0$.
- Parametric methods: Assume that the process follows the autoregressive model (AR), estimate its order through AICc test, get the corresponding coefficients of the AR and found 'analytically' the power spectra. Perform the IFFT and then the FFT. The final result looks pretty nice but some assumptions where made.
Questions
Which window should I use considering that the time representation is an exponential like function with more precise and meaningful information at small $t$?
It is reasonably to compute the power spectra, apply the IFFT to get the ACF and then the FFT to the derivative of it first half? If so, why the imaginary part is not zero at zero frequency?
Should I use the Welch's method or the parametric one?
Botton: Components and norm of the vector function simulated (400 000 samples).
Top: 1D-Autocorrelation function computed using the IFFT of the spectral density (obtained via Welch's method).
Middle: FFT of the derivative of the padded above ACF.