主要内容

gensig

为模拟系统响应创建周期信号lsim

    描述

    例子

    ut) = gensig (类型τ产生具有指定类型和周期的单位振幅周期信号。使用信号u对应的时间向量t用。来模拟单输入动态系统的时间响应lsimlsimplot或获得响应特性使用lsiminfo.为多输入系统创建信号,使用重复呼叫gensig然后叠加结果u把向量化为矩阵。当你使用ut为了模拟一个动态的系统模型,软件进行解释t也就是TimeUnit模型的属性。

    例子

    ut) = gensig (类型τ特遣部队生成持续时间为的信号特遣部队t从0到特遣部队的增量τ/ 64

    例子

    ut) = gensig (类型τ特遣部队Ts生成采样时间为的信号Tst从0到特遣部队的增量Ts.要生成用于模拟离散时间模型的信号,请使用下面的语法和集合Ts到模型的采样时间。

    例子

    全部折叠

    生成一个周期为2秒的方波,用于模拟动态系统响应lsim

    τ= 2;(u, t) = gensig (“广场”,τ);

    gensig返回作为矢量的信号u以及相应的时间向量t.当你不指定信号的持续时间时,gensig生成一个连续运行5个周期的信号(Tf = 5 *τ).当您没有指定时间步长时,该函数默认为每个周期64个样本(Ts =τ/ 64).因此,该信号运行10秒,时间步长为0.03125 s。画出信号。

    情节(t, u)

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

    gensig返回从零开始的单位振幅方波。您可以修改u得到一个具有不同振幅和不同端点的方波。创建一个周期为5的方波,运行15秒,并在-1和1之间切换。

    τ= 5;Tf = 15;(情况,t) = gensig (“广场”τ,Tf);u = 2 * u0-1;情节(t, u)

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

    使用tu用。来模拟动态系统的响应lsim.的lsim的值t是在您模拟的动态系统模型的单元中(sys。TimeUnit).

    Sys = tf(30,[1 5 30]);lsim (sys, u, t)

    图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表驱动输入,sys。

    如果没有指定时间步长(采样时间),gensig默认为每个周期64个样本,或Ts =τ/ 64.当你想要模拟一个离散时间模型lsim时,时间步长必须等于模型的采样时间。提供gensig用这个采样时间来产生一个合适的信号。例如,生成正弦波来模拟采样时间为0.1 s的离散时间动态系统模型。

    τ= 3;Tf = 6;t = 0.1;(u, t) = gensig (“正弦”τ,Tf, Ts);

    模拟模型对生成的信号的响应。

    sys = zpk ([], [-0.1, -0.5], 1, Ts);lsim (sys, u, t, Ts)

    图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表驱动输入,sys。

    用。来模拟多输入系统lsim,您将输入信号作为矩阵提供,其列表示应用于每个输入的信号。换句话说,u (:, j)信号是否应用于j输入在每个时间步长。使用gensig为了生成这样一个输入矩阵,将每个输入的信号组合在一起,并将它们堆叠在一个矩阵中。

    例如,创建一个信号来模拟一个双输入系统,向第一个输入输入周期为2秒的方波,并向第二个输入输入每1.5秒的脉冲。指定持续时间和采样时间,使两个向量具有相同的长度,这是将它们组合成矩阵所必需的。

    Tf = 8;t = 0.02;(澳大利亚,t) = gensig (“广场”2 Tf Ts);(万国邮联~)= gensig (“脉搏”, 1.5, Tf, Ts);u = [uSq uPu];大小(u)
    ans =1×2401 2

    每一行u(我,:)u是信号(u1, u2)应用到相应时间的输入t(我)

    您可以组合没有创建的信号gensig只要它们的长度相同。例如,假设您希望通过应用程序模拟一个三输入系统澳大利亚到第一个输入和万国邮联第二个输入。您还希望对第三个输入应用斜坡,该斜坡从0开始,在最后时刻增加到1Tf = 8.确保信号是一个长度与澳大利亚万国邮联.然后将它与其他信号结合,生成输入矩阵。

    uRa所言= linspace (1401 0) ';u = [uSq uPu uRa];大小(u)
    ans =1×2401年3
    情节(t, u)

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

    您现在可以使用ut来模拟一个三输入模型。生成一个三输入两输出的状态空间模型,并在其两个输出处模拟响应u应用于输入。

    rng (“默认”) sys = rss(3,2,3);lsim (sys, u, t)

    图中包含2个轴对象。axis对象1包含4个类型为line的对象。这些对象代表驱动输入,sys。axis对象2包含4个类型为line的对象。这些对象代表驱动输入,sys。

    输入参数

    全部折叠

    要产生的周期信号的类型,指定为:

    • “正弦”——正弦波

    • “广场”——方波

    • “脉搏”-周期性脉冲

    所有信号均为单位振幅,初始值为0t = 0.可以使用字符向量而不是字符串指定类型(例如,的正弦).

    生成信号的周期,指定为一个正标量值。指定τ在你想要模拟的动态系统模型的单元中lsim.例如,如果sys。TimeUnit“秒”,然后生成一个信号进行模拟sys设定时间为30秒τ到30。如果sys。TimeUnit“分钟”,然后生成这样的信号,设置τ到0.5。

    用于模拟的信号持续时间,指定为一个正标量值。输出向量t形式是0: Ts: Tf,其中时间步长为Ts.当你使用tlsim为了模拟一个动态系统模型,lsim解释t的单位TimeUnit模型的属性。

    时间步长,指定为正标量值。输出向量t形式是0: Ts: Tf.的单位Ts单位是否由TimeUnit想要模拟的属性动态系统模型lsim.当你在模拟一个离散时间模型时,设置Ts等于采样时间Ts的模型。

    输出参数

    全部折叠

    生成的信号,返回为长度相同的列向量t.信号的形状是由类型.信号具有单位振幅,基线为0。

    时间向量,返回为表单的列向量0: Ts: Tf.如果不指定持续时间特遣部队,然后gensig使用Tf = 5 *τ.如果没有指定时间步长Ts,然后gensig使用τ/ 64

    另请参阅

    ||

    之前介绍过的R2006a