I have a time series measurement $v(t)$ from a physical nonlinear system and its power spectrum $E(f)$ look like the following
From a theoretical point of view, the solution of the system is modeled as $$A(t) = |A|e^{i\phi(t)}$$ (of course the amplitude $|A|$ by itself is a function of $t$). This physical measurement corresponds to its real part, i.e., $$v(t) = \Re\big[A(t)\big]$$
Now I'm trying to construct the full complex expression, $A(t)$, from the measurement $v(t)$. I use Hilbert transform in MATLAB, A = hilbert(v)
, for this purpose. The result is shown below. In the figure, red line is $v(t)$, blue line is the imaginary part from Hilbert transform, black line is $|A|$, and green line is the amplitude of $v(t)$ naively extracted by spline interpolation.
The boundary issue is not the primary concern to me. But the Hilbert transform sort of overpredicts the imaginary part, and so the resulting amplitude $|A|$ oscillates significantly (especially for, say, $t>230$), compared to the more reasonable one (the green line). To me, I would expect $|A|$ from Hilbert transform to more or less agree with the green line.
With some digging, I think those peaks at higher frequencies are causing this trouble. I don't know if this signal counts as a broad-band signal so that Hilbert transform fails (as discussed in this and this). Anyway, I'd say that Hilbert transform does not give a reasonable imaginary part in this case for a proper construction of $A(t)$.
So, I am wondering if there is a better technique that can construct the complex $A(t)$ from the given real-valued measurement $v(t)$?
Thanks!