主要内容

stepinfo

上升时间,沉降时间,以及其他阶跃响应特性

描述

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

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

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

了解更多关于如何stepinfo计算阶跃响应特性,见算法

下图说明了其中的一些特征stepinfo计算步长响应。对于这个响应,假设yt) = 0t< 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。

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

例子

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

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

例子

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

例子

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

例子

全部折叠

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

年代 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]);步骤(系统)

图中包含一个axes对象。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 PeakTime: 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带字段的struct数组:RiseTime TransientTime SettlingTime SettlingMin SettlingMax Overshoot Undershoot Peak Peak time

通过索引访问特定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

您可以使用SettlingTimeThreshold而且RiseTimeThreshold更改结算和上升时间的默认百分比,如中所述算法部分。对于本例,使用以下给出的系统:

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 PeakTime: 8.0530

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

负载StepInfoDataty情节(t, y)

图中包含一个axes对象。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]);带欠冲的非最小相位Sys4 = (s/0.5 + 1)/(s²+ 0.2*s + 1);%大超调步骤(sys1、sys2 sys3 sys4)网格传奇(“引线”“零在起源”“带欠冲的非最小相位”“大超调”

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

计算阶跃响应特性。

S1 = stepinfo (sys1)
S1 =结构体字段:RiseTime: 1.6095 TransientTime: 3.9121 SettlingTime: 3.2190 SettlingMin: 1.8005 SettlingMax: 2.0000 Overshoot: 0 Undershoot: 0 Peak: 2.0000 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 PeakTime: 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 PeakTime: 1.8850

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

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

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

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

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

如果不指定yfinal而且yinit,然后stepinfo假设yfinal是响应向量的最后一个值吗y而且yinit是零。当您知道稳态值和初始值是什么时,您可以将它们提供给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(系统辨识工具箱)模型。(使用识别的模型需要系统识别工具箱™软件。)

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

  • 对于SISO响应数据,长度向量Ns,在那里Ns响应数据中的样本数量是多少

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

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

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

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

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

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

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

的价值y在步骤发生之前,指定为标量或数组。

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

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

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

响应y(0)t= 0等于y初始化对于没有馈通的系统。然而,由于在的不连续,这两个量在有通馈的情况下是不同的t= 0。

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

馈通系统的阶跃响应等于负1

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

只有在提供阶跃响应数据作为输入时,才支持此参数。对于动态系统模型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初始化,超调量为0和中较大的100×max (y规范t) - 1)
未达到目标 比例未达到目标。相对于归一化响应y规范t)时,下潜量为零和中较小的-100×max (y规范t) - 1)
|的峰值yt) - - -y初始化|
PeakTime 峰值发生的时间

版本历史

介绍了R2006a

全部展开

另请参阅

|

Baidu
map