Code for Finding the period of Complicated Oscillatory functions

Hi,

I have Igor waves that are data of oscillatory values. Unfortunately the period of oscillation changes. If my wave can be considered as a function y = y(x) where x is the independent variable and y is the dependent variable, then the period of the function changes over different regions of the x values.

Is there some code or a function that I can use to quickly and accurately get the period(s). Also, the functions y = y(x) are complex(complicated). In fact, y can be written as y = A*h(x) where h(x) is oscillatory and A is, itself, a function of x. Is there a trick to play by using FindLevels?

Thanks

If your data has many points compared to the periods, you might consider looking at the Sonogram experiment, which shows frequencies versus time.

Look at Igor's File->Example Experiments->Movies & Audio->Sonogram Demo.

Or
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
n-x-inelastic,

Depending on the nature of your data, you might also consider the use of the WignerTransform. Look for this operation under Igor's Command Help tab:

WignerTransform [/Z][/WIDE=wSize ] [/GAUS=gaussianWidth ][/DEST=destWave ] srcWave

The Wigner transform maps a time signal U(t) into a 2D time-frequency representation: ..