主要内容

gensig

创建周期信号,用于模拟系统响应lsim

    描述

    例子

    ut) = gensig (类型τ生成具有指定类型和周期的单位振幅周期信号。使用信号u和相应的时间矢量t模拟单输入动态系统的时间响应lsimlsimplot或者用lsiminfo.为多输入系统创建信号,使用重复调用gensig并将生成的u把向量转化为矩阵。当你使用u而且t为了模拟一个动态系统模型,该软件解释t的单位TimeUnit模型的属性。

    例子

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

    例子

    ut) = gensig (类型τ特遣部队Ts生成一个采样时间为的信号Tst从0到特遣部队的增量Ts.若要生成用于模拟离散时间模型的信号,请使用此语法并设置Ts到模型的采样时间。

    例子

    全部折叠

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

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

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

    情节(t, u)

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

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

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

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

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

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

    图中包含一个axes对象。坐标轴对象包含两个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)

    图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示驱动输入sys。

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

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

    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)

    图中包含一个axes对象。坐标轴对象包含3个line类型的对象。

    你现在可以使用u而且t模拟一个三输入模型。生成一个三输入、两输出的状态空间模型,并模拟其两个输出处的响应u在输入处应用。

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

    图中包含2个轴对象。坐标轴对象1包含4个line类型的对象。这些对象表示驱动输入sys。Axes对象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

    另请参阅

    ||

    Baidu
    map