主要内容

冲动

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

    描述

    脉冲响应图

    例子

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

    • 对连续时间sys,脉冲输入为狄拉克脉冲δ(t).对连续时间sys与直接引线,冲动忽略了无限的脉冲t = 0

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

    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]);

    画出脉冲响应。

    冲动(系统)

    图中包含一个axes对象。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);冲动(系统)

    图中包含一个axes对象。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)连续时间零/钢管/增益模型。
    冲动(系统)

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

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

    冲动(sys, 20)

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

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

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

    图中包含一个axes对象。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

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

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

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

    冲动(系统)

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

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

    sys = rss(5、2、3);冲动(系统)

    图中包含6个轴对象。In(1)包含一个类型为line的对象。该节点表示sys。Axes对象2包含一个类型为line的对象。该节点表示sys。In(2)包含一个类型为line的对象。该节点表示sys。Axes对象4包含一个line类型的对象。该节点表示sys。In(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 =反馈(H * C1, 1);sys2 =反馈(H * C2, 1);冲动(sys1 sys2)传说(“π”“PID”“位置”“东南”

    图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示PI和PID。

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

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

    图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示PI和PID。

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

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

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

    sys =特遣部队(0 (1,1,1,5));

    填充该数组。

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

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

    冲动(系统)

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

    冲动对数组中所有条目的响应使用相同的行样式。区分条目的一种方法是使用SamplingGrid属性将数组中的每个条目与相应的w0价值。

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

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

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

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

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

    一个= (-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, 20200);y =冲动(sys, t);大小(y)
    ans =1×3200 1 2

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

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

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

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

    加载数据。

    负载iddata1z1

    估计一个参数模型。

    sys1 = ss (z1, 4);

    估计一个非参数模型。

    sys2 =冲动(z1);

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

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

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

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

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

    加载数据。

    负载iddata9

    估计一个时间序列模型。

    系统= ar(z9, 4);

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

    画出脉冲响应。

    冲动(系统)

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

    输入参数

    全部折叠

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

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

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

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

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

    • 稀疏状态空间模型,例如桅杆mechss模型。你必须指定最后的时间tFinal对于稀疏状态空间模型。

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

    冲动不支持频率响应数据模型,例如的朋友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”指定一条黄线

    输出参数

    全部折叠

    脉冲响应数据,作为数组返回。

    • 对于输出系统,y列向量的长度是否等于t(如果提供的话)吹捧(如果您没有提供t).

    • 对于单输入多输出系统,y是一个矩阵,其行数与时间采样数相同,列数与输出数相同。因此,jth列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

    Baidu
    map