版权声明: https://blog.csdn.net/leida_wt/article/details/78750440
MATLAB离散控制系统仿真常用操作
1.离散传递函数构建
通过离散化连续时间传递函数得到
连续时间传递函数s函数用tf构建:
Gc=tf([1],[1 1 0]);%参数为分子分母降幂排列S的系数
对其离散化:通常在对象前面加上一个零阶保持器
ans_zoh=c2d(Gc,1,'zoh')%添加零阶保持器离散化T=1
ans_imp=c2d(Gc,1,'imp')%或直接离散化T=1
%后者等效
ilaplace(1/(s^2+s))%拉普拉斯反变换
compose(ans,1*t)%T=1采样,t->T*t
ztrans(ans)%z变换
pretty(vpa(collect(ans)))%整理显示
2.性能分析
rlocus(ans_zoh);%根轨迹
bode(ans_zoh);%伯德图
nyquist(ans_zoh)%奈奎斯特图
查看系统根轨迹
可从根轨迹明显看到差异,非理想采样的加入降低了稳定性
奈奎斯特图:
伯德图:
红色:连续
蓝色:经zero保持器采样
黄色:经理想采样
3.simulink
先按照连续时间方法搭建系统
然后应用离散化工具,选择离散化方法,采样时间对模型离散化
仿真得到不同采样周期下的情况如下
T=1:
T=0.1;