# Approximating decay rate of an amplitude and frequency of an oscillating function

I have an InterpolatingFunction constructed from a discrete set of values obtained by numerical methods. Let's denote it $$f(x)$$. The function demonstrates an oscillating behavior, with its amplitude and frequency gradually decaying. Here is an initial fragment of its graph; it continues to the right in the same manner:

I want to obtain two smooth monotone decreasing numerical functions $$A(x),\omega(x)$$ that approximate the decay rate of the amplitude and frequency, so that $$f(x)\approx A(x) \cdot \sin\left(x\cdot\omega\!\left(x\right)\right)$$. How can I approach this problem?

• This is a classic signal processing problem. The standard answer is to use the Hilbert transform. I discussed issues with this approach on signal processing stack exchange. It would help if you gave us an example so that we could show you methods. – Hugh Jan 24 at 19:13
• Can you give us the code used to create the InterpolatingFunction[ ] so we can replicate your problem? – MikeY Feb 3 at 14:04