主要内容

stepinfo

上升时间、沉淀时间等阶跃响应特性

描述

stepinfo让您计算一个动态系统模型或一组阶跃响应数据的阶跃响应特性。对于阶跃响应yt),stepinfo计算相对的特征y初始化y最后,在那里y初始化初始偏移量,即应用步骤之前的值,和y最后为响应的稳态值。这些值取决于您使用的语法。

  • 对于一个动态系统模型sysstepinfo使用y初始化= 0和y最后=稳态值。

  • 对于一组阶跃响应数据(y, t)stepinfo使用y初始化= 0和y最后=的最后一个样本值y,除非您明确指定这些值。

了解更多信息stepinfo计算阶跃响应特性,见算法

下图说明了一些特征stepinfo计算阶跃响应。对于这个响应,假设yt) = 0 fort< 0,所以y初始化= 0。

阶跃响应特性。图中显示了响应的峰值响应、峰值时间、上升时间、稳定时间和瞬态时间。

例子

年代= stepinfo (sys计算一个动态系统模型的阶跃响应特性sys.这个语法使用y初始化= 0和y最后=计算依赖于这些值的特性的稳态值。

年代= stepinfo (yt从一组阶跃响应数据中计算阶跃响应特性y和相应的时间向量t.对于SISO系统响应,y一个向量的元素数是否与之相同t.对于MIMO响应数据,y是包含每个I/O通道响应的数组。这个语法使用y初始化= 0和最后的值y(或每个通道对应的响应数据中的最后一个值)y最后

例子

年代= stepinfo (ytyfinal计算相对于稳态值的阶跃响应特性yfinal.当您知道预期的稳定状态系统响应与中最后的值不同时,此语法非常有用y因为测量噪音等原因。这个语法使用y初始化= 0。

对输出响应,ty向量是否具有相同的长度NS.为系统ν输入和纽约输出,您可以指定y作为一个NS——- - - - - -纽约——- - - - - -ν数组(见一步),yfinal作为一个纽约——- - - - - -ν数组中。stepinfo然后返回一个纽约——- - - - - -ν结构数组年代对应于每个I/O对的响应特性。

例子

年代= stepinfo (ytyfinalyinit计算相对于响应初始值的阶跃响应特性yinit.当你的y数据具有初始偏移量;也就是说,y在步骤发生前为非零。

对输出响应,ty向量是否具有相同的长度NS.为系统ν输入和纽约输出,您可以指定y作为一个NS——- - - - - -纽约——- - - - - -ν数组和yinit作为一个纽约——- - - - - -ν数组中。stepinfo然后返回一个纽约——- - - - - -ν结构数组年代对应于每个I/O对的响应特性。

例子

年代= stepinfo (___“SettlingTimeThreshold”,让您指定阈值用于定义沉降和瞬态时间。默认值为圣= 0.02(2%)。您可以将此语法与前面的任何输入参数组合一起使用。

例子

年代= stepinfo (___“RiseTimeLimits”,RT允许您指定上升时间定义中使用的下限和上限阈值。默认情况下,上升时间是响应从初始值上升到稳态值过程中从10%上升到90%所需要的时间(Rt = [0.1 0.9]).上面的阈值RT (2)也是用来计算的吗SettlingMinSettlingMax.这些值是响应达到上限阈值后发生的响应的最小值和最大值。您可以将此语法与前面的任何输入参数组合一起使用。

例子

全部折叠

计算动态系统模型的阶跃响应特性,如上升时间、沉降时间和超调量。对于这个例子,使用一个连续时间传递函数:

年代 y 年代 年代 2 + 5 年代 + 5 年代 4 + 1 6 5 年代 3. + 5 年代 2 + 6 5 年代 + 2

创建传递函数并检查其阶跃响应。

Sys = tf([1 5 5],[1 1.65 5 6.5 2]);步骤(系统)

图中包含一个轴对象。axis对象包含一个类型为line的对象。该对象表示sys。

图中显示,响应在几秒钟内上升,然后下降到大约2.5的稳态值。使用stepinfo

S = stepinfo(系统)
S =结构体字段:RiseTime: 3.8456 TransientTime: 27.9762 SettlingTime: 27.9762 SettlingMin: 2.0689 SettlingMax: 2.6873 Overshoot: 7.4915 Undershoot: 0 Peak: 2.6873 Peak time: 8.0530

这里,函数使用 y 初始化 = 0来计算动态系统模型的特性sys

默认情况下,沉淀时间是误差保持在2%以下的时间 | y 初始化 - y 最后 | .结果S.SettlingTime显示,sys,这种情况在大约28秒后发生。上升时间的默认定义是响应从10%上升到90%所需要的时间 y 初始化 = 0 y 最后 S.RiseTime显示,sys这个上升过程不到4秒。返回最大超调量S.Overshoot.对于这个系统,峰值S.Peak,这发生在当时S.PeakTime,超过了稳定值的7.5%。

对于MIMO系统,stepinfo返回一个结构数组,其中每个条目包含系统相应I/O通道的响应特性。对于这个例子,使用一个双输出双输入的离散时间系统。计算阶跃响应特性。

A = [0.68 -0.34;0.34 - 0.68);B = [0.18 -0.05;0.04 - 0.11);C = [0 -1.53;-1.12 - -1.10);D = [0 0;0.06 - -0.37);sys = ss (A, B, C, D, 0.2);S = stepinfo(系统)
S =2×2带有字段的结构数组:RiseTime TransientTime SettlingTime SettlingMin SettlingMax Overshoot Undershoot Peak峰值时间

通过索引到,访问特定I/0通道的响应特性年代.例如,检查从第一个输入到第二个输出的响应特性sys相应的,(2, 1)

(2, 1)
ans =结构体字段:RiseTime: 0.4000 TransientTime: 2.8000 SettlingTime: 3 SettlingMin: -0.6724 SettlingMax: -0.5188 Overshoot: 24.6476 Undershoot: 11.1224 Peak: 0.6724 PeakTime: 1

要访问特定的值,请使用点表示法。例如,提取(2,1)通道上升时间。

rt21 = S(2, 1)。上升时间
rt21 = 0.4000

您可以使用SettlingTimeThresholdRiseTimeThreshold分别更改结算次数和上升次数的违约百分比,如算法部分。对于这个例子,使用下面给出的系统:

sys 年代 2 + 5 年代 + 5 年代 4 + 1 65 年代 3. + 6 5 年代 + 2

创建传递函数。

Sys = tf([1 5 5],[1 1.65 5 6.5 2]);

计算响应中的错误所花费的时间sys保持在差距的0.5%以下 | y 最后 - y 初始化 | .为此,设置SettlingTimeThreshold降至0.5%或0.005。

S1 = stepinfo (sys,“SettlingTimeThreshold”, 0.005);相约= S1。年代ettlingTime
相约= 46.1325

计算它响应的时间sys从5%上升到95% y 初始化 y 最后 .为此,设置RiseTimeThreshold到一个包含这些界限的向量。

S2 = stepinfo (sys,“RiseTimeThreshold”[0.05 - 0.95]);rt2 = S2。上升时间
rt2 = 4.1690

您可以在同一个计算中定义沉淀时间和上升时间的百分比。

S3 = stepinfo (sys,“SettlingTimeThreshold”, 0.005,“RiseTimeThreshold”(0.05 - 0.95))
S3 =结构体字段:RiseTime: 4.1690 TransientTime: 46.1325 SettlingTime: 46.1325 SettlingMin: 2.0689 SettlingMax: 2.6873 Overshoot: 7.4915 Undershoot: 0 Peak: 2.6873 Peak time: 8.0530

即使没有系统模型,也可以从阶跃响应数据中提取阶跃响应特征。例如,假设您测量了系统对一个阶跃输入的响应,并将结果响应数据保存在一个向量中y的响应值在时间存储在另一个向量t.加载响应数据并检查它。

负载StepInfoDataty情节(t, y)

图中包含一个轴对象。axis对象包含一个类型为line的对象。

利用该响应数据计算阶跃响应特性stepinfo.如果不指定稳态响应值yfinal,然后stepinfo假设响应向量中的最后一个值y是稳态响应吗因为数据有一些噪声,最后的值y可能不是真正的稳态响应值。当你知道稳态值应该是什么时,你可以提供它stepinfo.对于这个例子,假设稳态响应是2.4。

S1 = stepinfo (y, t, 2.4)
S1 =结构体字段:RiseTime: 1.2897 TransientTime: 19.6478 SettlingTime: 19.6439 SettlingMin: 2.0219 SettlingMax: 3.3302 Overshoot: 38.7575 Undershoot: 0 Peak: 3.3302 PeakTime: 3.4000

由于数据中的噪声,沉淀时间的默认定义过于严格,导致几乎20秒的任意值。要考虑到噪声,请将设置时间阈值从默认的2%增加到5%。

S2 = stepinfo (y, t, 2.4,“SettlingTimeThreshold”, 0.05)
S2 =结构体字段:RiseTime: 1.2897 TransientTime: 10.4201 SettlingTime: 10.4149 SettlingMin: 2.0219 SettlingMax: 3.3302 Overshoot: 38.7575 Undershoot: 0 Peak: 3.3302 PeakTime: 3.4000

当误差峰值时,稳定时间和瞬态时间相等 e 马克斯 等于这个差吗 | y 最后 - y 初始化 | (见算法),这是没有下冲或馈通且超冲小于100%的模型的情况。对于有馈通、原点零点、不稳定零点(欠调量)或大超调量的模型,它们往往是不同的。

考虑以下模型。

s =特遣部队(“年代”);Sys1 = 1+tf(1,[1 1]);%直通的Sys2 = tf([1 0],[1 1]);原点的% 0Sys3 = tf([-3 1],[1 2 1]);带有欠冲的非最小相位= (s^2 + 0.2*s + 1)/(s^2 + 0.2*s + 1);%大超调步骤(sys1、sys2 sys3 sys4)网格传奇(“引线”“零在起源”“带欠冲的非最小相位”“大超调”

图中包含一个轴对象。轴对象包含4个类型为line的对象。这些对象代表馈通,原点为零,欠冲非最小相位,大超冲。

计算阶跃响应特性。

S1 = stepinfo (sys1)
S1 =结构体字段:RiseTime: 1.6095 TransientTime: 3.9121 SettlingTime: 3.2190 SettlingMin: 1.8005 SettlingMax: 2.000 Overshoot: 0 Undershoot: 0 Peak: 2.000 PeakTime: 10.5458
S2 = stepinfo (sys2)
S2 =结构体字段:RiseTime: 0 TransientTime: 3.9121 SettlingTime: NaN SettlingMin: 2.6303e-05 SettlingMax: 1 Overshoot: Inf Undershoot: 0 Peak: 1 Peak time: 0
S3 = stepinfo (sys3)
S3 =结构体字段:RiseTime: 2.9198 TransientTime: 6.5839 SettlingTime: 7.3229 SettlingMin: 0.9004 SettlingMax: 0.9991 Overshoot: 0 Undershoot: 88.9466 Peak: 0.9991 PeakTime: 10.7900
S4 = stepinfo (sys4)
S4 =结构体字段:RiseTime: 0.3896 TransientTime: 40.3317 SettlingTime: 46.5052 SettlingMin: -0.2796 SettlingMax: 2.7571 Overshoot: 175.7137 Undershoot: 27.9629 Peak: 2.7571 Peak time: 1.8850

检查情节和特点。对于这些模型,由于峰值误差超过了初始值和最终值之间的差距,所以沉降时间和瞬态时间是不同的。对于以下模型sys2,则沉淀时间返回为因为稳态值是零。

在本例中,从具有初始偏移量的阶跃响应数据计算阶跃响应特性。这意味着在步骤发生之前,响应数据的值是非零的。

加载阶跃响应数据并检查曲线。

负载stepDataOffset.mat情节(stepOffset.Time stepOffset.Data)

图中包含一个轴对象。axis对象包含一个类型为line的对象。

如果没有指定yfinalyinit,然后stepinfo假设yfinal响应向量中的最后一个值是多少yyinit是零当你知道稳态值和初值是什么时,你就可以提供它们stepinfo.这里是响应的稳态yfinal是0.9和初始偏移吗yinit是0.2。

根据此响应数据计算阶跃响应特性。

S = stepinfo (stepOffset.Data stepOffset.Time, 0.9, 0.2)
S =结构体字段:RiseTime: 0.0084 TransientTime: 1.0662 SettlingTime: 1.0662 SettlingMin: 0.8461 SettlingMax: 1.0878 Overshoot: 26.8259 Undershoot: 0.0429 Peak: 0.8878 PeakTime: 1.0225

在这里,这个响应的峰值是0.8878,因为stepinfo测量最大偏离yinit

输入参数

全部折叠

动态系统,指定为SISO或MIMO动态系统模型。你可以使用的动态系统包括:

  • 连续时间或离散时间数值LTI模型,如特遣部队zpk,或党卫军模型。

  • 广义或不确定的LTI模型,如一族号航空母舰(鲁棒控制工具箱)模型。(使用不确定模型需要鲁棒控制工具箱™软件。)对于广义模型,stepinfo利用可调块的电流值和不确定块的标称值计算阶跃响应特性。

  • 确定的LTI模型,例如idtf(系统辨识工具箱)中的难点(系统辨识工具箱),或idproc(系统辨识工具箱)模型。(使用已识别的模型需要System Identification Toolbox™软件。)

阶跃响应数据,指定为下列数据之一:

  • 对于SISO响应数据,长度矢量Ns,在那里Ns响应数据中是否包含样本数量

  • 对于MIMO响应数据Ns——- - - - - -纽约——- - - - - -ν数组,纽约系统输出和的数量是多少ν系统输入的数量是多少

中响应数据对应的时间向量y,指定为长度向量Ns

稳态值,指定为标量或数组。

  • 对于SISO响应数据,指定标量值。

  • 对于MIMO响应数据,指定一个纽约——- - - - - -ν数组,其中每个条目提供对应系统通道的稳态响应值。

如果你不提供yfinal,然后stepinfo的对应通道中的最后一个值y为稳态响应值。

只有当您提供阶跃响应数据作为输入时,才支持此金宝app参数。对于一个动态系统模型sys作为输入,stepinfo使用y最后=稳态值,以计算依赖于该值的特性。

的价值y在执行该步骤之前,指定为标量或数组。

  • 对于SISO响应数据,指定标量值。

  • 对于MIMO响应数据,指定一个纽约——- - - - - -ν数组,其中每个条目提供对应系统通道的响应初始值。

如果你不提供yinit,然后stepinfo使用零作为响应的初始值。

响应y(0)t= 0等于y初始化对于没有馈通的系统。然而,由于在点处的不连续,这两个量在馈通存在时有所不同t= 0。

例如,下图显示了带馈通的系统的阶跃响应Sys = tf([-1 0.2 1],[1 0.7 1])

通过率为- 1的系统的阶跃响应

在这里,y初始化为零,馈通值为-1。

只有当您提供阶跃响应数据作为输入时,才支持此金宝app参数。对于一个动态系统模型sys作为输入,stepinfo使用y初始化= 0以计算依赖于该值的特征。

定义稳定和瞬态时间的阈值,指定为0和1之间的标量值。若要更改默认设置和瞬态时间的定义,请参见算法),设置换一个不同的值。例如,要测量误差何时降到5%以下,设置到0.05。

定义上升时间的阈值,指定为0到1之间非下降值的2元素行向量。要更改默认上升时间定义(请参阅算法),设置RT换一个不同的值。例如,要将上升时间定义为响应从初始值的5%上升到稳态值的95%所需要的时间,请设置RT(0.05 - 0.95)

输出参数

全部折叠

阶跃响应特性,返回为包含以下字段的结构:

  • 上升时间

  • TransientTime

  • SettlingTime

  • SettlingMin

  • SettlingMax

  • 过度

  • 未达到目标

  • PeakTime

了解更多信息stepinfo定义这些特征,见算法

对于MIMO模型或响应数据,年代是一种结构阵列,其中每个条目包含相应I/O通道的阶跃响应特性。例如,如果您提供一个3输入3输出模型或响应数据数组,那么(2、3)包含从第三个输入到第二个输出的响应的特征。例如,请参见MIMO系统的阶跃响应特性

如果sys是不稳定的,那么所有阶跃响应特征是,除了PeakTime,这是

算法

对于阶跃响应yt),stepinfo计算相对的特征y初始化y最后.对于一个动态系统模型sysstepinfo使用y初始化= 0和y最后=稳态值。

这个表格显示了stepinfo计算每个特征。

阶跃响应特性 描述
上升时间 反应从10%上升到90%的时间y初始化y最后
TransientTime

第一次T使错误|yt) - - -y最后|≤SettlingTimeThreshold×e马克斯tT,在那里e马克斯最大误差是|吗yt) - - -y最后|对t≥0。

默认情况下,SettlingTimeThreshold= 0.02(峰值误差的2%)。瞬态时间测量瞬态动力学消失的速度。

SettlingTime

第一次T使错误|yt) - - -y最后|≤SettlingTimeThreshold×|y最后- - - - - -y初始化|对tT

默认情况下,SettlingTime测量误差保持在|的2%以下所需要的时间y最后- - - - - -y初始化|。

SettlingMin 最小值的yt)
SettlingMax 最大的价值yt)
过度 过度百分比。相对于标准化响应y规范t) =yt) - - -y初始化) / (y最后- - - - - -y初始化,超调是较大的零和100×max (y规范t) - 1)
未达到目标 比例未达到目标。相对于标准化响应y规范t),下冲是零和中较小的-100×max (y规范t) - 1)
|的峰值yt) - - -y初始化|
PeakTime 峰值出现的时间

兼容性的考虑

全部展开

行为在R2021b中改变

另请参阅

|

介绍了R2006a