Given the following signal I would like to calculate the rate of damping.

enter image description here

I presume that I need to find out where the peaks are using some kind of smoothing on the sample data. After performing an FFT I get the following…

enter image description here

I guess I could perform some kind of clipping (high/low pass) and then do an inverse FFT to get the smoothed result.

Am I on the right track here? Are there some standard methods for achieving my goal?


The simplest method would be to detect the local maxima and then fit an exponential on these points only. It would be a bit approximate because it looks like your data contains more than one exponentially damped sinusoid.

A more proper solution is to use Prony's method (or ESPRIT, MUSIC) - any parametric method fitting a "sum of exponentially damped sinusoids" model to your data.

  • $\begingroup$ The thing is that I am only interested in the largest sinusoid. I would like to filter the others out so I can calculate the damping effect on this main sinusoid. Would I not need any filtering if I applied the Prony's method? $\endgroup$ – Onato Nov 8 '14 at 0:24
  • 1
    $\begingroup$ The point of these parametric methods is that they model a sum of damped sinusoids. In your example, there appears to be 3 of them; so the model will give you the frequency/damping rate of the 3 of them; and you won't need filtering. $\endgroup$ – pichenettes Nov 8 '14 at 9:30
  • $\begingroup$ The above data is just an example. I intend to write an app that will calculate the damping on real world sample data automatically. Do I understand correctly in that I would need some software like R or MatLab to fit an exponential to my data? $\endgroup$ – Onato Nov 8 '14 at 13:15
  • $\begingroup$ You can do it quickly with high level tools like R or matlab, but with a bit of work, the same algorithms used in these tools can be reimplemented in any programming language of your choice. $\endgroup$ – pichenettes Nov 8 '14 at 15:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.