I have discrete time series emerging from the numerical simulations.It means that the time series can be slightly noisy.The time series should obey to the following formula:$$ \psi(t) = \sum_{i=1}^{N} a_i \exp(\alpha_i t) \sin (\omega_i t + \phi_i) $$where $N$ is not known in advance (it can be 1, 2, or 20) depending on a given simulation.UPDATE 2016-08-05: Unknown parameters here are $a_i$, $\alpha_i$, $\omega_i$, $\phi_i$, and $N$, although the only thing I need is to extract $\alpha_i$ and $\omega_i$ from these time series.Previously, when $N=1$ was guaranteed, I used nonlinear least-squares algorithm. It turned out that this algorithm requires an extremely good initial guess to find a right fit.I'm not sure how to provide a good initial guess when $N$ is not known in advance.What is the most robust and best way to extract parameters I need from these time series?Thank you!UPDATE 2016-08-05: The following is the code that demonstrates an example time series. This example is purely artificial, though, as I don't have a real time series emerging from numerical simulations right now.alpha(1) = 0.03;alpha(2) = 0.05;alpha(3) = -0.01;a(1) = 1e-5;a(2) = 1e-5;a(3) = 1e-5;omega(1) = 0.9;omega(2) = 0.125;omega(3) = 0.001;phi(1) = pi/2;phi(2) = pi/3;phi(3) = pi;t = linspace(0, 100, 1000);d = 0 * t;for i = 1:3    d = d + a(i) * exp(alpha(i)*t) .* sin(omega(i)*t + phi(i)); endplot(t, d, 'o-');
Best way to to find fitting parameters for time series of decaying-growing oscillator type
regression;signal processing