主要内容

线性系统中的时滞

使用以下模型属性表示线性系统中的时间延迟。

  • 输入延迟,输出延迟-系统输入或输出的时间延迟

  • 碘化锂,内部延迟-系统内部的时间延迟

在离散时间模型中,这些属性被约束为表示延迟的整数值,延迟表示为采样时间的整数倍。若要近似离散时间模型的延迟为采样时间的分数倍,请使用蒂兰.

一阶加死区时间模型

此示例演示如何使用输入延迟输出延迟特性tf.

要创建具有2.1 s时间延迟的以下一阶传递函数:

G ( s ) = E 2.1 s 1. s + 10 ,

输入:

G=tf(1,[110],“输入延迟”,2.1)

哪里输入延迟指定传递函数输入端的延迟。

提示

你可以用输入延迟具有zpk与使用相同的方法tf:

G=zpk([],-10,1,'InputDelay',2.1)

对于SISO传递函数,输入端的延迟相当于输出端的延迟。因此,以下命令创建相同的传递函数:

G=tf(1,[110],“输出延迟”,2.1)

使用点表示法检查或更改时间延迟的值。例如,将时间延迟更改为3.2,如下所示:

G.输出延迟=3.2;

要查看当前值,请输入:

G.输出延迟ans=3.2000

提示

创建具有时间延迟的模型的另一种方法是将具有延迟的传递函数指定为中的表达式s:

  1. 为变量创建传递函数模型s.

    s=tf('s');
  2. 具体说明G(s)表达s.

    G=exp(-2.1*s)/(s+10);

状态空间模型中的输入输出延迟

此示例演示如何使用输入延迟输出延迟特性党卫军.

创建一个状态空间模型,描述以下单输入双输出系统:

D x ( T ) D T = 2. x ( T ) + 3. U ( T 1.5 ) Y ( T ) = [ x ( T 0.7 ) x ( T ) ] .

该系统的输入延迟为1.5。第一个输出延迟为0.7,第二个输出不延迟。

笔记

与SISO传递函数不同,状态空间模型的输入延迟并不等同于输出延迟。在状态空间模型中,将延迟从输入转换为输出需要在模型状态中引入时间偏移。例如,在本例的模型中,定义T=T– 1.5X(T) =x(T+ 1.5)产生以下等效系统:

D X ( T ) D T = 2. X ( T ) + 3. U ( T ) Y ( T ) = [ X ( T 2.2 ) X ( T 1.5 ) ] .

所有的时间延迟都在输出上,但是新的状态变量X相对于原始状态变量是时移的x. 因此,如果你的状态具有物理意义,或者如果你已经知道了状态初始条件,那么在输入和输出之间转换时间延迟之前仔细考虑。

要创建此系统,请执行以下操作:

  1. 定义状态空间矩阵。

    A=-2;B=3;C=[1;-1];D=0;
  2. 创建模型。

    G=ss(A,B,C,D,'InputDelay',1.5,'OutputDelay',[0.7;0])

G是一个党卫军模型

提示

使用延迟要创建具有输入、输出和状态延迟更一般组合的状态空间模型,请采用以下形式:

D x D T = A. x ( T ) + B U ( T ) + J = 1. N ( A. J x ( T T J ) + B J U ( T T J ) ) Y ( T ) = C x ( T ) + D U ( T ) + J = 1. N ( C J x ( T T J ) + D J U ( T T J ) )

MIMO传输函数中的传输延迟

此示例显示如何为每个输入输出(I/O)对创建具有不同传输延迟的MIMO传输函数。

创建MIMO传输函数:

H ( s ) = [ E 0.1 2. s E 0.3 s + 1. s + 10 10 E 0.2 s 1. s + 5. ] .

MIMO系统中的时间延迟可以特定于每个I/O对,如本例中所示。你不能使用输入延迟输出延迟对特定于I/O的传输延迟进行建模。相反,使用碘化锂指定每个I/O对之间的传输延迟。

要创建此MIMO传递函数,请执行以下操作:

  1. 为变量创建传递函数模型s.

    s=tf('s');
  2. 使用变量s指定H没有时间延迟。

    H=[2/s(s+1)/(s+10);10(s-1)/(s+5)];
  3. 指定碘化锂性质H作为与每个I/O对的传输延迟相对应的值数组。

    H.IODelay=[0.10.3;0.0.2];

H是两个输入,两个输出tf模型。中的每个I/O对H具有中相应条目指定的时间延迟.

具有时滞的离散时间传递函数

此示例演示如何创建具有时间延迟的离散时间传递函数。

在离散时间模型中,一个采样周期的延迟对应于 Z - 1. 在传递函数中。例如,以下传递函数表示具有25个采样周期延迟的离散时间SISO系统。

H ( Z ) = Z - 2. 5. 2. Z - 0 . 9 5. .

要在MATLAB中表示离散时间系统中的整数延迟,请设置“输入延迟”属性设置为整数值。例如,以下命令创建tf模型表示 H ( Z ) 采样时间为0.1秒。

H=tf(2,[1-0.95],0.1,“输入延迟”,25)
H=2 z^(-25)*-----------z-0.95采样时间:0.1秒离散时间传递函数。

如果系统的延时不是采样时间的整数倍,则可以使用蒂兰命令,用全通滤波器近似时间延迟的小数部分。看见时延近似.

相关实例

更多关于