How to tell how smooth a signal oscillates?

10 vues (au cours des 30 derniers jours)
Maximilian Valentin Schraysshuen
Hello,
I have a quite noisy signal from an aero dynamic experiment. I need to find out how smooth my signal oscillates or more precisely if my system skips an oscillation ever once in a while.
I have implemented a Butterworth filter which works quite well, nevertheless I struggle to quantify if the system skips oscillations.
My idea was to compute an average oscillation (the average alle oscillations to receive one average oscillation). And then compare each oscillation to the average and if the deviation is too large it should be marked.
Am I taking the right approach? Is there a function to with does this?
Here the system oscillates smoothly:
Here the system oscillates badly:
  1 commentaire
Mathieu NOE
Mathieu NOE le 17 Mar 2021
hello
my 2 cents suggestion ; either use findpeaks or even better, envelope and decide based on deviation of these if the signal is "steady" or "unsteady"

Connectez-vous pour commenter.

Réponse acceptée

Swetha Polemoni
Swetha Polemoni le 24 Mar 2021
Hi Maximilian Valentin Schraysshuen
You may find the following approach useful.
  1. Calculate the mean of the signal using "mean"
  2. Calculate the windowed mean of the signal using "movmean" . Size of window can be varied according to the signal.
  3. Now deviation of windowed mean with respect to mean can be used to determine if the oscillations are smooth or not.
Hope this helps
  1 commentaire
Maximilian Valentin Schraysshuen
Hello Swetha Polemoni,
thank you very much for your answer!
I have implemented it another way already, but will use yours as well as is has benefits over my idea.
Have a nice day

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by