matlab传递函数延时相关
matlab传递函数中⼀共有四种延时:
inputs车险怎么退
Outputs
Between individual I/O pairs
Internally (for example, inside a feedback loop)
其中前两种很好理解,第三种是特定io与多输出输出有关,第四种(InternalDelay )的含义如下(只能⽤在状态空间ss 表⽰的传递函数上):
h=ss(tf(1,[1 2],'inputdelay',2))
a =
木槿花的寓意x1
x1 -2
b =
u1
x1 1
c =
x1
y1 1
d =
u1
y1 0
Input delays (listed by channel): 2
f=feedback(h,1);
bodemag(f);
出现增益纹波如下:
考虑延时后的⼀些有趣现象:
1.增益纹波,如上图
自我超越2.增益振荡,如下:
锯齿形的阶跃响应:
G = exp(-s) * (0.8*s^2+s+2)/(s^2+s); T = feedback(ss(G),1);
step(T)
4、混沌响应
G = ss(1/(s+1)) + exp(-4*s);
T = feedback(1,G);
step(T)
⽤伯德近似法处理延时环节,考虑如下系统:bigbang太阳
焦仲卿妻
其中补偿器采⽤PI。matlab代码如下:
s = tf('s');
P = exp(-2.6*s)*(s+3)/(s^2+0.3*s+1);
C = 0.06 * (1 + 1/s);小能
T = feedback(ss(P*C),1);
采取⼀阶近似和实际系统阶跃响应的对⽐如下:
T1 = pade(T,1);
step(T,'b--',T1,'r',100)
grid, legend('Exact','First-Order Pade')
黄土
可见误差很⼤,采⽤⼆阶近似后的效果如下:
对延时环节的敏感性测试:
对上⾯的控制系统加⼊陷波滤波器,考虑延时时间在2-3秒之间:notch = tf([1 0.2 1],[1 .8 1]);
C = 0.05 * (1 + 1/s);
Tnotch = feedback(ss(P*C*notch),1);
tau = linspace(2,3,5); % 5 delay values
Tns = repsys(Tnotch,[1 1 5]); % 5 copies of Tnotch
for j=1:5
吊眼的女人面相
Tns(:,:,j).InternalDelay = tau(j); % jth delay value
end
% U step to create an envelope plot.
step(Tns)
grid
title('Clod-loop respon for 5 delay values between 2.0 and 3.0')
可见延时环节对控制效果的影响不⼤。
不考虑延时环节的bode图对⽐如下: