主要内容

本页采用了机器翻译。点击此处可查看英文原文。

lsiminfo

计算线性响应特性

    说明

    lsiminfo 允许您从响应数据数组 [y,t] 中计算线性响应特性。对于线性响应 y (t),lsiminfo 计算相对于 yinityfinal 的特性,其中 yinit 是初始偏移量(即施加输入前的值),yfinal 是响应的稳态值。

    lsiminfo 使用 yinit = 0 且 yfinal = y (t) 的最后采样值,除非您显式指定这些值。

    该函数返回一个包含以下字段的结构体中的特征:

    • TransientTime - 当 tT 时,第一个使得误差 |y (t) - yfinal| ≤ SettlingTimeThreshold × emax 的时间 T,其中 emaxt ≥ 0 时的最大误差 |y (t) - yfinal|。

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

    • SettlingTime - 满足 |y (t) - yfinal| ≤ SettlingTimeThreshold × |yfinal - yinit| 的首个 T,其中 tT

      默认情况下,稳定时间衡量的是误差保持在|yfinal - yinit|的 2% 以下所需的时间。

    • Peak - |y (t) - yinit| 的峰值。 (自 R2025a 起)

    • PeakTime - 峰值出现的时刻。 (自 R2025a 起)

    • Min - y (t) 的最小值。

    • MinTime - 响应达到最小值所需的时间。

    • Max - y (t) 的最大值。

    • MaxTime - 响应达到最大值所需的时间。

    对于复数响应,lsiminfo 根据 yyinityfinal 中复数值的绝对值计算特征参数。 (自 R2025a 起)

    S = lsiminfo(y,t) 根据响应数据数组 y 及其对应的时间向量 t 计算线性响应特性。该语法使用 yinit = 0 以及 y 的最后一个值(或各通道对应响应数据的最后一个值)作为 yfinal,用于计算依赖于这些值的特性。

    对于 SISO 系统响应,y 是一个向量,其条目数与 t 相同。对于 MIMO 响应数据,y 是一个包含每个 I/O 通道响应的数组。

    S = lsiminfo(y,t,yfinal) 计算相对于稳态值 yfinal 的线性响应特性。当您知道预期稳态系统响应因测量噪声等原因与 y 中的最后一个值不同时,此语法非常有用。此语法使用 yinit = 0。

    对于 SISO 响应,ty 是具有相同长度 NS 的向量。对于具有 NY 输出的系统,您可以将 y 指定为 NS×NY 数组,并将 yfinal 指定为 NY×1 数组。lsiminfo 随后返回一个 NY×1 结构体数组 S,该数组包含与每个输出通道对应的响应特性。

    示例

    S = lsiminfo(y,t,yfinal,yinit) 计算相对于响应初始值 yinit 的响应特性。当您的 y 数据具有初始偏移量时,此语法非常有用,即在输入应用之前,y 不为零。

    对于 SISO 响应,ty 是具有相同长度 NS 的向量。对于具有 NY 输出的系统,可将 y 指定为 NS×NY 数组,并将 yfinalyinit 指定为 NY×1 数组。lsiminfo 随后返回一个 NY × 1 的结构体数组 S,该数组包含与每个输出通道对应的响应特性。

    S = lsiminfo(___,'SettlingTimeThreshold',ST) 允许您指定用于定义稳定时间和瞬态时间的阈值 ST。默认值为 ST = 0.02 (2%)。此语法可与上述任一输入参量组合结合使用。

    示例

    全部折叠

    创建以下连续时间传递函数:

    H(s)=s-1s3+2s2+3s+4

    sys = tf([1 -1],[1 2 3 4]);

    计算冲激响应。

    [y,t] = impulse(sys);

    impulse 返回用于仿真的输出响应 y 和时间向量 t

    使用最终响应值 0 计算响应特性。

    s = lsiminfo(y,t,0)
    s = struct with fields:
        TransientTime: 22.8700
         SettlingTime: NaN
                 Peak: 0.4268
             PeakTime: 2.0088
                  Min: -0.4268
              MinTime: 2.0088
                  Max: 0.2847
              MaxTime: 4.0733
    
    

    您可以绘制冲激响应曲线,并验证这些响应特性。例如,达到最小响应值 (MinTime) 的时间约为 2 秒。

    impulse(sys)

    MATLAB figure

    输入参数

    全部折叠

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

    • 对于 SISO 响应数据,一个长度为 Ns 的向量,其中 Ns 是响应数据中的采样点数。

    • 对于 MIMO 响应数据,采用一个 Ns×Ny 的数组,其中 Ny 表示系统输出通道数。

    您可以使用 y 指定复数响应数据。 (自 R2025a 起)

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

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

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

    • 对于 MIMO 响应数据,请指定一个 Ny×1 的数组,其中每个条目提供相应系统通道的稳态响应值。

    您可以使用 yfinal 指定复数最终值。 (自 R2025a 起)

    如果您未提供 yfinal,则 lsiminfo 会将 y 相应通道中的最后一个值用作稳态响应值。

    输入应用前的 y 值,指定为标量或数组。

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

    • 对于 MIMO 响应数据,请指定一个 Ny×1 的数组,其中每个条目提供相应系统通道的响应初始值。

    您可以使用 yinit 指定复数初始值。 (自 R2025a 起)

    如果您未提供 yinit,则 lsiminfo 将使用零作为响应初始值。

    用于定义稳定时间和瞬态时间的阈值,指定为 0 到 1 之间的标量值。要更改默认的稳定时间和瞬态时间定义(请参阅描述),请将 ST 设置为其他值。例如,要测量误差何时低于 5%,请将 ST 设置为 0.05。

    输出参量

    全部折叠

    线性响应特性,以包含以下字段的结构体形式返回:

    • TransientTime

    • SettlingTime

    • Peak (自 R2025a 起)

    • PeakTime (自 R2025a 起)

    • Min

    • MinTime

    • Max

    • MaxTime

    有关 lsiminfo 如何定义这些特征的详细信息,请参阅描述

    对于 MIMO 模型或响应数据,S 是一个结构体数组,其中每个条目包含相应 I/O 通道的阶跃响应特征。例如,若提供一个 3 输入 3 输出模型或响应数据数组,则 S(2,3) 包含第三输入到第二输出的响应特征。

    版本历史记录

    在 R2012a 中推出

    全部展开

    另请参阅

    | |