フィルターのクリア

Calculating Settling time in Matlab, different from stepinfo

19 ビュー (過去 30 日間)
Bart Nijman
Bart Nijman 2017 年 1 月 14 日
コメント済み: Bart Nijman 2017 年 1 月 16 日
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?

回答 (1 件)

Greg Dionne
Greg Dionne 2017 年 1 月 16 日
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 件のコメント
Bart Nijman
Bart Nijman 2017 年 1 月 16 日
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 2017 年 1 月 16 日
this is the code for anyone interested:
SettlingTime = tspan(find(y>error,1,'last')).
turned out to be quite simple.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by