Calculating Settling time in Matlab, different from stepinfo

69 views (last 30 days)
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?

Answers (1)

Greg Dionne
Greg Dionne on 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 Comments
Bart Nijman
Bart Nijman on 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 on 16 Jan 2017
this is the code for anyone interested:
SettlingTime = tspan(find(y>error,1,'last')).
turned out to be quite simple.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!