MATLAB Answers

Criterion for stability of oscillations / frequency stability?

5 views (last 30 days)
David on 1 Oct 2015
Hi Matlab Community,
I'm looking for a criterion (best case available in Matlab) to quantify stability of oscillations. I have three images to explain a little more what I mean and are cases which I'm working with.
  1. A perfect sine wave should give me a perfect score ( say on a scale of 0 to 1 this should give me a 1)
  1. A sine wave that changes its frequency should give an intermediate score (the lower the more changes in frequency and the shorter behaviour of the same frequency is)
  1. random/noise signal should give me a very low score (say close to 0)
My source is biological, so the signal will be never be as nice as perfect sine waves.
Any ideas for possible criteria/computations area appreciated!

Answers (1)

Star Strider
Star Strider on 1 Oct 2015
Based on your criteria, I would simply do a fft on your data (use the code between the first two figures as a guide), then taking the amplitude spectrum only, compare the highest peak amplitude with some measure of the width of the peak. A ‘pure’ signal will have a very low width, and a much more random signal a much broader peak width. Comparing the height to width (at some point relative to peak height, perhaps the half-maximum amplitude) could give you the sort of measure you want. Then scale it as you wish to fit your (0,1) interval.
Biological signals that vary in frequency and amplitude (since it’s usually both) over time generally have information in them that ‘pure’ signals generally do not. There are a number of entropy measures that assess the information content in various biological signals. A PubMed search should provide one appropriate to the system you are studying.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by