# What is the best way to detect constant or periodic amplitude of the spectrogram?

Suppose I get interpolating function in the solution of the complicated differential system. I plot a solution for various input values that control the outcome of the solution. Some give exponential results and some give sinusoidal results with constant amplitude (periodic) and sinusoidal with increasing amplitude. I am trying to find the solution with constant periodic amplitude. I do that with spectrogram. How do I detect that in spectrogram? In the code, you can see that spectrogram shows constant peaks. I used peak detect for solution of the ode, extrapolated a linear function and calculated the slope of those peaks. But that is time consuming and not a very thorough method. I am looking for another method using spectrogram or other. t1 and t3 shows true and t2 shows false for amplitude detection.

``ClearAll; xrange=40; ode={y''[x]+a*y'[x]+b*y[x]==0,y'==1,y==0}; solution1=NDSolve[ode/.{a->0.0,b->2},y[x],{x,0,xrange}]  Plot[Evaluate[y[x]/.solution1],{x,0,xrange},PlotRange->All]  solution2=NDSolve[ode/.{a->0.2,b->2},y[x],{x,0,xrange}]  Plot[Evaluate[y[x]/.solution2],{x,0,xrange},PlotRange->All]   Plot[Evaluate[Sin[0.5*x]*Cos[6*x]],{x,0,xrange},PlotRange->All]  t1=Table[Evaluate[y[x]/.solution1][],{x,0,xrange,1/20}]; Spectrogram[t1]  t2=Table[Evaluate[y[x]/.solution2][],{x,0,xrange,1/20}]; Spectrogram[t2]  t3=Table[Evaluate[Sin[0.5*x]*Cos[6*x]],{x,0,xrange,1/20}]; Spectrogram[t3] ``
Posted on Categories cheapest proxies