MATLAB离散控制系统

来源:互联网 发布:淘宝服务市场代运营 编辑:程序博客网 时间:2024/05/22 17:54

MATLAB离散控制系统仿真常用操作

1.离散传递函数构建

通过离散化连续时间传递函数得到

连续时间传递函数s函数用tf构建:

Gc=tf([1],[1 1 0]);%参数为分子分母降幂排列S的系数

对其离散化:通常在对象前面加上一个零阶保持器这里写图片描述

ans_zoh=c2d(Gc,1,'zoh')%添加零阶保持器离散化T=1ans_imp=c2d(Gc,1,'imp')%或直接离散化T=1%后者等效ilaplace(1/(s^2+s))%拉普拉斯反变换compose(ans,1*t)%T=1采样,t->T*tztrans(ans)%z变换pretty(vpa(collect(ans)))%整理显示

2.性能分析

rlocus(ans_zoh);%根轨迹bode(ans_zoh);%伯德图nyquist(ans_zoh)%奈奎斯特图

查看系统根轨迹
可从根轨迹明显看到差异,非理想采样的加入降低了稳定性
这里写图片描述
奈奎斯特图:
这里写图片描述
伯德图:
红色:连续
蓝色:经zero保持器采样
黄色:经理想采样
这里写图片描述

先按照连续时间方法搭建系统
然后应用离散化工具,选择离散化方法,采样时间对模型离散化
这里写图片描述
这里写图片描述
这里写图片描述
仿真得到不同采样周期下的情况如下
T=1:
这里写图片描述
T=0.1;
这里写图片描述