使用下列模型属性来表示线性系统中的时间延迟。
InputDelay
,OutputDelay
—系统输入或输出时延
ioDelay
,InternalDelay
—系统内部的时间延迟
在离散时间模型中,这些属性被限制为整数值,这些值表示延迟,表示为采样时间的整数倍。要近似离散时间模型的延迟是采样时间的分数倍,请使用thiran
.
方法创建一阶加死时间模型InputDelay
或OutputDelay
的属性特遣部队
.
要创建以下具有2.1 s时间延迟的一阶传递函数:
输入:
G = tf(1,[1 10],'InputDelay',2.1)
在哪里InputDelay
指定传递函数输入处的延迟。
对于SISO传递函数,输入端的延迟等同于输出端的延迟。因此,下面的命令创建相同的传递函数:
G = tf(1,[1 10],'OutputDelay',2.1)
使用点表示法检查或更改时间延迟的值。例如将延时时间修改为3.2,如下所示。
G.OutputDelay = 3.2;
要查看当前值,输入:
G.OutputDelay ans = 3.2000
提示
创建带有时间延迟的模型的另一种方法是将带有延迟的传递函数指定为表达式年代:
为变量创建传递函数模型年代.
S = tf(' S ');
指定G(年代)作为in的表达年代.
G = exp(-2.1*s)/(s+10);
方法创建在输入和输出处具有延迟的状态空间模型InputDelay
或OutputDelay
的属性党卫军
.
创建一个描述以下一输入两输出系统的状态空间模型:
该系统的输入延迟为1.5。第一个输出的输出延迟为0.7,第二个输出没有延迟。
请注意
相对于SISO传递函数,状态空间模型的输入延迟并不等同于输出延迟。在状态空间模型中移动从输入到输出的延迟需要在模型状态中引入时移。例如,在本例的模型中,定义T=t- 1.5而且X(T) =x(T+ 1.5)以下等效系统的结果:
所有的时间延迟都在输出上,除了新的状态变量X时间位移相对于原始状态函数吗x.因此,如果您的状态具有物理意义,或者您已经知道状态初始条件,那么在转移输入和输出之间的时间延迟之前,请仔细考虑。
要创建这个系统:
定义状态空间矩阵。
A = -2;B = 3;C = [1;-1];D = 0;
创建模型。
G = ss (A, B, C, D, InputDelay, 1.5,“OutputDelay”,[0.7;0])
G
是一个党卫军
模型。
这个例子展示了如何为每个输入-输出(I/O)对创建具有不同传输延迟的MIMO传递函数。
创建MIMO传递函数:
MIMO系统中的时间延迟可以特定于每个I/O对,如本例所示。你不能使用InputDelay
而且OutputDelay
建模特定于I/ o的传输延迟。相反,使用ioDelay
来指定每个I/O对之间的传输延迟。
要创建这个MIMO传递函数:
为变量创建传递函数模型年代
.
S = tf(' S ');
使用变量年代
的传递函数H
没有时间延迟。
H = [2/s (s+1)/(s+10);10 (s - 1) / (s + 5)];
指定ioDelay
的属性H
表示每个I/O对对应于传输延迟的值数组。
H.IODelay = [0.1 0.3;0 0.2);
H
是双输入双输出吗特遣部队
模型。每个I/O对都在H
时间延迟是否由相应的条目指定τ
.
这个例子展示了如何创建一个具有时间延迟的离散时间传递函数。
在离散时间模型中,一个采样周期的延迟对应于的因子 在传递函数中。例如,下面的传递函数表示具有25个采样周期延迟的离散SISO系统。
要在MATLAB中表示离散时间系统中的整数延迟,请设置“InputDelay”
属性设置为整数值。例如,下面的命令创建一个特遣部队
模型代表
采样时间为0.1 s。
H = tf(2,[1 -0.95],0.1,“InputDelay”, 25)
H = 2 z^(-25) * -------- z - 0.95采样时间:0.1秒离散时间传递函数。
如果系统的时间延迟不是采样时间的整数倍,则可以使用thiran
命令用全通过滤器近似计算时间延迟的小数部分。看到时滞近似.