Calculating Settling time in Matlab, different from stepinfo

31 vues (au cours des 30 derniers jours)
Bart Nijman
Bart Nijman le 14 Jan 2017
Commenté : Bart Nijman le 16 Jan 2017
I would like to compute the settling time of a signal y in Matlab. It should give the amount of time required before the signal reaches a steady state error y(t)-y_{ss} which is smaller than some absolute value x and stays smaller than x for all future times.
I already tried to use the Matlab function stepinfo, but this defines the value x as "a fraction 2% of their peak value for all future times" and that is not what i want.
Is there any way that i could adjust the Matlab function stepinfo, that i could code this myself or perhaps there is another function available that calculates the settling time in this way?

Réponses (1)

Greg Dionne
Greg Dionne le 16 Jan 2017
Are you analyzing a step or a series of steps? Try settlingtime() if you have the Signal Processing Toolbox. That defines the termination condition as being within a given tolerance of the final state level over a specified minimum duration.
  2 commentaires
Bart Nijman
Bart Nijman le 16 Jan 2017
no i'm not analyzing a step change, it is not a SISO system. I have now already written my own code for it, thank you.
Bart Nijman
Bart Nijman le 16 Jan 2017
this is the code for anyone interested:
SettlingTime = tspan(find(y>error,1,'last')).
turned out to be quite simple.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by