主要内容

冲动

动态系统的脉冲响应图;脉冲响应数据

    描述

    脉冲响应图

    例子

    冲动(sys绘制动态系统模型对脉冲输入的响应。该模型sys可以是连续的,也可以是离散的。

    • 对连续时间sys,脉冲输入为狄拉克脉冲δ(t).对连续时间sys通过直接馈通,冲动忽略无限脉冲在T = 0

    • 对于离散时间sys用采样时间Ts,该函数计算对长度单位面积脉冲的响应Ts和高度1 / Ts.这个脉冲接近连续时间的狄拉克脉冲δ(t)作为Ts趋于0。

    sys可以是SISO或MIMO。对于MIMO系统,该图显示每个I/O通道的脉冲响应。冲动根据系统动力学自动确定仿真的时间步长和持续时间。

    例子

    冲动(systFinal模拟的脉冲响应T = 0直到最后一刻t = tFinal.该函数使用系统动力学来确定中间的时间步骤。

    例子

    冲动(syst在向量中指定的时间点处画出脉冲响应t

    例子

    冲动(sys1,sys2……sysN,___在同一图上绘制多个动力系统的脉冲响应。所有系统必须有相同数量的输入和输出。您可以使用前面的任何输入-参数组合来使用多个动态系统。

    例子

    冲动(sys1,LineSpec1、……sysN,LineSpecN,___为绘图中的每个系统指定颜色、线条样式和标记。你可以使用LineSpec使用任何前面的输入-参数组合。当您需要额外的情节定制选项时,请使用impulseplot代替。

    脉冲响应数据

    例子

    y=冲动(syst返回脉冲响应sys在向量中指定的时间t.此语法不绘制图形。

    y吹捧=冲量sys也返回一个时间向量吹捧对应于中的响应y.如果不提供输入向量t次,冲动选择的长度和时间步长吹捧基于系统动力学。

    y吹捧=冲量systFinal计算脉冲响应直到结束时间tFinal冲动的时间步长吹捧基于系统动力学。

    例子

    ytx=冲量sys也返回状态轨迹x,当sys状态空间模型是否为党卫军中的难点模型。

    例子

    ytxysd=冲量sys还计算了标准差ysd脉冲响应y,当sys是否有一个已识别的模型,例如中的难点idtf,或idnlarx模型。

    例子

    全部折叠

    用下列传递函数表示连续时间系统的脉冲响应。

    sys 年代 4 年代 2 + 2 年代 + 10

    对于本例,创建一个特遣部队表示传递函数的模型。您可以类似地绘制其他动态系统模型类型的脉冲响应,例如零极增益(zpk)或状态空间(党卫军)模型。

    Sys = tf(4,[1 2 10]);

    画出脉冲响应。

    冲动(系统)

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

    冲动图中自动包含一条虚线,表示稳态响应。在MATLAB®图形窗口中,您可以右键单击图形以查看其他脉冲响应特征,如峰值响应和瞬态时间。

    画出离散时间系统的脉冲响应。该系统的采样时间为0.2 s,由以下状态空间矩阵表示。

    A = [1.6 -0.7;1 0];B = [0.5;0);C = [0.1 0.1];D = 0;

    创建状态空间模型并绘制其脉冲响应。

    sys = ss(A,B,C,D,0.2);冲动(系统)

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

    脉冲响应反映了模型的离散化,因为它显示了每0.2秒计算一次的响应。

    检查以下零极增益模型的脉冲响应。

    sys = zpk (1, (-0.2 + 3 j, -0.2 3 j], 1) *特遣部队([1],0.05 [1])
    sys = (s + 1) ^ 2  ---------------------------- ( s + 0.05) (s ^ 2 + 0.4 + 9.04)连续时间零/钢管/增益模型。
    冲动(系统)

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

    默认情况下,冲动选择一个显示响应趋向于的稳态的结束时间。为了更仔细地观察瞬态响应,将脉冲图限制为t= 20秒。

    冲动(sys, 20)

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

    或者,您可以指定您想要检查脉冲响应的确切时间,前提是它们被一个恒定的间隔隔开。例如,检查从暂态结束到系统达到稳态的响应。

    T = 20:0.2:120;冲动(sys, t)

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

    尽管这个情节开始于t= 20,冲动总是应用脉冲输入在t= 0。

    考虑以下二阶状态空间模型:

    x ˙ 1 x ˙ 2 - 0 5 5 7 2 - 0 7 8 1 4 0 7 8 1 4 0 x 1 x 2 + 1 - 1 0 2 u 1 u 2 y 1 9 6 9 1 6 4 4 9 3. x 1 x 2

    A = [-0.5572,-0.7814;0.7814,0];B = [1,-1;0,2];C = [1.9691,6.4493];sys = ss(A,B,C,0);

    这个模型有两个输入和一个输出,所以它有两个通道:从第一个输入到输出,从第二个输入到输出。每个通道都有自己的脉冲响应。

    当你使用冲动,计算各通道的响应。

    冲动(系统)

    图中包含2个轴对象。在(1)中包含一个line类型的对象。该节点表示sys。轴对象2标题From:在(2)中包含一个类型为line的对象。该节点表示sys。

    左图为第一个输入通道的脉冲响应,右图为第二个输入通道的脉冲响应。当你使用冲动为了绘制MIMO模型的响应,它生成了一个表示模型的所有I/O通道的图数组。例如,创建一个随机状态空间模型,它有五个状态、三个输入和两个输出,并绘制它的脉冲响应。

    Sys = rss(5,2,3);冲动(系统)

    图中包含6个轴对象。在(1)中包含一个line类型的对象。该节点表示sys。坐标轴对象2包含一个line类型的对象。该节点表示sys。轴对象3标题From:在(2)中包含一个类型为line的对象。该节点表示sys。Axes对象4包含一个line类型的对象。该节点表示sys。轴对象5的标题From:在(3)中包含一个类型为line的对象。 This object represents sys. Axes object 6 contains an object of type line. This object represents sys.

    在MATLAB图形窗口中,可以通过右键单击绘图并选择将绘图限制为通道的子集I / O选择器

    冲动允许您在同一轴上绘制多个动态系统的响应。例如,比较PI控制器和PID控制器系统的闭环响应。创建系统的传递函数并调优控制器。

    H = tf(4,[1 2 10]);C1 = pidtune(H,“π”);C2 = pidtune(H,“PID”);

    建立闭环系统并绘制它们的脉冲响应。

    sys1 = feedback(H*C1,1);sys2 = feedback(H*C2,1);冲动(sys1 sys2)传说(“π”“PID”“位置”“东南”

    图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表PI PID。

    默认情况下,冲动为您绘制的每个系统选择不同的颜色。属性指定颜色和线条样式LineSpec输入参数。

    冲动(sys1“r——”sys2,“b”)传说(“π”“PID”“位置”“东南”

    图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象代表PI PID。

    第一个LineSpec“r——”为PI控制器的响应指定一条红色虚线。第二个LineSpec“b”为PID控制器的响应指定一条蓝色实线。图例反映了指定的颜色和线条样式。有关更多情节定制选项,请使用impulseplot

    这个例子比较多个系统的脉冲响应展示如何在单个轴上绘制多个单独系统的响应。当你有多个动态系统排列在一个模型数组中,冲动同时画出他们所有的反应。

    创建一个模型数组。对于这个例子,使用具有不同固有频率的二阶传递函数的一维数组。首先,为模型数组预分配内存。下面的命令创建一个1 × 5的零增益SISO传递函数行。前两个维度表示模型输出和输入。剩下的维度是数组维度。

    Sys = tf(0 (1,1,1,5));

    填充数组。

    W0 = 1.5:1:5.5;%固有频率Zeta = 0.5;%阻尼常数i = 1:长度(w0)系统(:,:,1,我)=特遣部队(w0 (i) ^ 2,[1 2 *ζ* w0 (i) w0 (i) ^ 2]);结束

    (有关模型数组和如何创建它们的更多信息,请参见模型阵列)。绘制数组中所有模型的脉冲响应。

    冲动(系统)

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

    冲动对数组中所有条目的响应使用相同的线型。项之间的区分方法之一是使用SamplingGrid属性将数组中的每个项与相应的项关联w0价值。

    sys。SamplingGrid = struct(“频率”, w0);

    现在,当您在MATLAB图形窗口中绘制响应时,您可以单击一条跟踪来查看它对应的频率值。

    当你给它一个输出参数时,冲动返回一个响应数据数组。对于SISO系统,响应数据作为长度等于响应采样的时间点数量的列向量返回。你可以提供时间点的向量t,或者允许冲动根据系统动力学为您选择时间点。例如,提取SISO系统在101个时间点之间的脉冲响应t= 0和t= 5秒。

    Sys = tf(4,[1 2 10]);T = 0:05:5;Y =冲量(sys,t);大小(y)
    ans =1×2101年1

    对于MIMO系统,响应数据以维数组的形式返回N——- - - - - -纽约——- - - - - -ν,在那里纽约而且ν是动态系统的输出和输入的数量。例如,考虑下面的状态空间模型,它表示一个双输入一输出系统。

    A = [-0.5572,-0.7814;0.7814,0];B = [1,-1;0,2];C = [1.9691,6.4493];sys = ss(A,B,C,0);

    提取系统之间200个时间点的脉冲响应t= 0和t= 20秒。

    T = linspace(0,20,200);Y =冲量(sys,t);大小(y)
    ans =1×3200 1 2

    y (:, i, j)列向量包含脉冲响应吗j的Th输入泰晤士报的输出t.例如,提取第二个输入到输出的脉冲响应。

    Y12 = y(:,1,2);情节(t,日元)

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

    比较一个参数识别模型的脉冲响应与一个非参数(经验)模型。同时查看他们的3个 σ 地区的信心。

    加载数据。

    负载iddata1z1

    估计一个参数模型。

    Sys1 = sest(z1,4);

    估计一个非参数模型。

    Sys2 =冲量(z1);

    绘制脉冲响应图以便比较。

    T = (0:0.1:10)';[y1, ~, ~, ysd1] =脉冲(sys1,t);[y2, ~, ~, ysd2] =脉冲(sys2,t);情节(t, y1,“b”, t, y +3*ysd1,”乙:“, t, y -3*ysd1,”乙:“)举行情节(t, y2,‘g’t, y2+3*ysd2,“旅客:”, t, y2-3*ysd2,“旅客:”

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

    计算一个确定的时间序列模型的脉冲响应。

    时间序列模型,也称为信号模型,是没有测量输入信号的模型。该模型的脉冲图使用其(未测量的)噪声通道作为脉冲信号应用的输入通道。

    加载数据。

    负载iddata9

    估计一个时间序列模型。

    Sys = ar(z9,4);

    sys是模型的形式吗A y(t) = e(t),在那里e (t)表示噪声通道。为了计算脉冲响应,e (t)作为输入通道,并命名为e@y1

    画出脉冲响应。

    冲动(系统)

    图中包含一个轴对象。标题为From: e@y1 To: y1的axes对象包含2个line类型的对象。该节点表示sys。

    输入参数

    全部折叠

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

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

    • 广义的或不确定的LTI模型,如一族号航空母舰模型。(使用不确定模型需要鲁棒控制工具箱™软件。)

      • 对于可调控制设计块,该函数在绘制和返回响应数据时对模型的当前值进行评估。

      • 对于不确定的控制设计块,该函数绘制模型的标称值和随机样本。当使用输出参数时,该函数仅为标称模型返回响应数据。

    • 稀疏状态空间模型,如桅杆而且mechss模型。您必须指定最终时间tFinal对于稀疏状态空间模型。

    • 确定的LTI模型,例如idtf中的难点,或idproc模型。对于这样的模型,该函数还可以绘制置信区间并返回频率响应的标准差。(使用识别的模型需要系统识别工具箱™软件。)

    冲动不支持频率响应数据金宝app模型,如的朋友genfrd,或idfrd模型。

    如果sys是一个模型数组,函数将数组中所有模型的响应绘制在同一轴上。

    脉冲响应的结束时间,指定为正标量值。冲动模拟的脉冲响应T = 0t =tFinal

    • 对于连续时间系统,该函数根据系统动力学自动确定步长和点数。表达tFinal中指定的系统时间单位TimeUnit的属性sys

    • 对于离散时间系统,该函数使用的采样时间为sys步长。表达tFinal中指定的系统时间单位TimeUnit的属性sys

    • 对于样本时间未知的离散系统(Ts = -1),冲动解释tFinal作为模拟的采样周期数。

    计算脉冲响应的时间向量,指定为正标量值的向量。表达t中指定的系统时间单位TimeUnit的属性sys

    • 对于连续时间模型,请指定t在表格中Ti: dt: Tf.为了获得每个时间步的响应,函数使用dt作为连续系统的离散近似的采样时间。

    • 对于离散时间模型,指定t在表格中Ti: Ts: Tf,在那里Ts样品时间是sys

    冲动总是应用脉冲输入在T = 0,不管“透明国际”

    线条样式、标记和颜色,指定为一个、两个或三个字符的字符串或向量。字符可以以任何顺序出现。您不需要指定所有三个特征(线条样式、标记和颜色)。例如,如果省略了线条样式并指定了标记,那么绘图将只显示标记而不显示线条。有关配置此参数的详细信息,请参见LineSpec的输入参数。情节函数。

    例子:“r——”指定一个红色虚线

    例子:‘* b”指定蓝色星号标记

    例子:“y”指定黄线

    输出参数

    全部折叠

    脉冲响应数据,以数组形式返回。

    • 对于SISO系统,y列向量的长度和t(如提供)或吹捧(如你没有提供t).

    • 对于单输入多输出系统,y是一个矩阵,其行数与时间样本数相同,列数与输出数相同。因此,j的第Th列y,或y (:, j),包含从输入到的脉冲响应j输出。

    • 对于MIMO系统,每个输入通道的脉冲响应沿的第三维叠加y.的维度y然后N——- - - - - -纽约——- - - - - -ν,地点:

      • N是时间样本的个数。

      • 纽约是系统输出的数量。

      • ν是系统输入的数量。

      因此,y (:, i, j)列向量包含脉冲响应吗j的Th输入中指定的时间处的输出t吹捧

    计算脉冲响应的时间,以矢量形式返回。当你不提供一个特定的向量t次,冲动根据系统动力学选择该时间向量。时间单位为sys

    状态轨迹,作为数组返回。当sys是一个状态空间模型,x包含了状态的演化sys在每一次t吹捧.的维度xN——- - - - - -Nx——- - - - - -ν,地点:

    • N是时间样本的个数。

    • Nx是状态数。

    • ν是系统输入的数量。

    因此,状态的演变,以响应在脉冲注入kTh输入由数组给出x (:,:, k).行向量x(我:k)控件上的状态值时间步长。

    一个已确定的模型的脉冲响应的标准偏差,以相同尺寸的数组返回y.如果sys不包含参数协方差信息,则ysd是空的。

    限制

    • 非零连续系统的脉冲响应D矩阵是无穷大的t0冲动忽略这个不连续并返回较低的连续性值Cbt0

    • 冲动命令在具有内部延迟的连续时间模型上不起作用。对于这样的模型,请使用pade为了在计算脉冲响应之前近似地计算时间延迟。

    提示

    • 当您需要额外的情节定制选项时,请使用impulseplot代替。

    • 要模拟系统对任意输入信号的响应,使用lsim

    算法

    连续时间模型首先转换为状态空间形式。单输入状态空间模型的脉冲响应

    x ˙ 一个 x + b u y C x

    是否等价于以下具有初始状态的非强制响应b

    x ˙ 一个 x x 0 b y C x

    为了模拟这种响应,在输入端使用零阶保持器对系统进行离散化。采样时间是根据系统动力学自动选择的,除非是一个时间向量t = 0:dt:Tf供应。因此,dt作为采样时间。

    版本历史

    R2006a之前介绍