计算机控制系统 仿真实验
实验一 基于 Matlab 的控制系统模型
一、 1.
2. 3.
实验目的
熟悉 Matlab 的使用环境,学习 Matlab 软件的使用方法和编程方法 学习使用 Matlab 进行各类数学变换运算的方法 学习使用 Matlab 建立控制系统模型的方法
二、
实验器材
x86 系列兼容型计算机,Matlab 软件
三、 1.
实验原理
香农采样定理
对一个具有有限频谱的连续信号 f(t)进行连续采样,当采样频率满足S
??2
采样信号 f*(t) max 时,
能无失真的复现原连续信号。
作信号 f (t) ??5e
?10t
和 f (t) ??5e
* ?10kT
的曲线,比
幅频曲线: w=-50:1:50
F=5./sqrt(100+w.^2) plot(w,F) grid 若| F ( j
max
较采样前后的差异。 幅度曲线: T=0.05 t=0:T:0.5
f=5*exp(-10*t) subplot(2,1,1) plot(t,f) grid
subplot(2,1,2) stem(t,f) grid
) |??0.1 | F (0) | ,选择合理的采样周期
T 并验加以证
w=-400:20:400
ws=200 Ts=2*pi/ws
F0=5/Ts*(1./sqrt(100+(w).^2)) F1=5/Ts*(1./sqrt(100+(w-ws).^2)) F2=5/Ts*(1./sqrt(100+(w+ws).^2)) 请改变采样周期 T,观察不同的采样周期下的采样 plot(w,F0,w,F1,w,F2) 效果。 grid
请改变采样频率 ws,观察何时出现频谱混叠?
2. 拉式变换和 Z 变换
使用 Matlab 求函数的拉氏变换和 Z 变换 拉式变换: syms a w t f1=exp(-a*t) laplace(f1) f2=t
laplace(f2) f3=t* exp(-a*t) laplace(f3) f4=sin(w*t)
第 1 页
Z 变换:
syms a k T f1=exp(-a*k*T) ztrans(f1) f2=k*T ztrans(f2)
f3=k*T*exp(-a*k*T) ztrans(f3) f4=sin(a*k*T)
共 31 页
计算机控制系统 仿真实验
laplace(f4)
f5=exp(-a*t)*cos(w*t) laplace(f5)
ztrans(f4) f5=a^k ztrans(f5)
反拉式变换
syms s a f1=1/s ilaplace(f1) f2=1/(s+a) ilaplace(f2) f3=1/s^2 ilaplace(f3)
f4=w/(s^2+w^2) ilaplace(f4)
f5=1/(s*(s+2)^2*(s+3)) ilaplace(f5)
反 Z 变换
syms z a T f1=z/(z-1) iztrans(f1)
f2=z/(z-exp(-a*T)) iztrans(f2) f3=T*z/(z-1)^2 iztrans(f3) f4=z/(z-a) iztrans(f4)
f5=z/((z+2)^2*(z+3)) iztrans(f5)
3.
控制系统模型的建立与转化
num
m b s??b sm?1 ????b m1 2 传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an], G(s) ? ??? n n?1
den a s??a 2 s?????b n 1
零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k], G(s) ??k
(s ??z1 )(s ??z2 )?(s ??zm ) (s ??p1 )(s ??p2 )?(s ??pn )
建
立 系 统 模 型 传递函数模型和零极点增益模型相互转化 传递函数模型转化零极点增益模型:
和 num=[1,1,0]
den=[1,5,6] T=0.1
Gs1=tf(num,den) Gz1=tf(num,den,T) [z,p,k]=tf2zp(num,den) Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T)
零极点增益模型转化传递函数模型:
z=[0,-1] p=[-2,-3] k=[2] T=0.1
Gs1=zpk(z,p,k) Gz1=zpk(z,p,k,T)
[num,den]=zp2tf(z',p',k) Gs2=tf(num,den) Gz2=tf(num,den,T)
第 2 页
共 31 页
G(s) ?
s(s ??1) (s ??2)(s ??3) z(z ??1)
? s 2 ??s s 2 ??5s ??6 z 2 ??z z 2 ??5z ??6
G(z) ?
(z ??2)(z ??3)
??
传递函数模型: num=[1,1,0]
den=[1,5,6] T=0.1
Gs1=tf(num,den) Gz1=tf(num,den,T) 零极点增益模型: z=[0,-1] p=[-2,-3] k=[1] T=0.1
Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T)
计算机控制系统 仿真实验
建立系统模型 G(s) ?
(s ??1)(s 2 ??2s ??2) (s ??2)(s ??4s ??8)
2
2
和 G( z) ??
(z ??1)(z 2 ??2z ??2) (z 2 ??2)(z 2 ??4z ??8)
num1=[1,1] num2=[1,2,2] den1=[1,0,2] den2=[1,4,8]
num=conv(num1,num2) den=conv(den1,den2) T=0.1
Gs1=tf(num,den) Gz1=tf(num,den,T) [z,p,k]=tf2zp(num,den) Gs2=zpk(z,p,k) Gz2=zpk(z,p,k,T)
四、 1. 2. 3.
实验步骤
根据参考程序,验证采样定理、拉氏变换和 Z 变换、控制系统模型建立的方法 观察记录输出的结果,与理论计算结果相比较
自行选则相应的参数,熟悉上述的各指令的运用方法
五、
实验数据及结果分析
记录输出的数据和图表并分析
六、 总结
第 3 页 共 31 页
计算机控制系统 仿真实验
实验二 基于 Matlab 的离散控制系统仿真
一、 1.
2.
实验目的
学习使用 Matlab 的命令对控制系统进行仿真的方法 学习使用 Matlab 中的 Simulink 工具箱进行系统仿真的方法
二、
实验器材
x86 系列兼容型计算机,Matlab 软件
三、 1.
实验原理
控制系统命令行仿真
建立如图所示一阶系统控制模型并进行系统仿真。
一 阶 系 统 闭 环 传 递 函 数 为 %时间响应 3 / s 3 %单位脉冲响应 G(s) ????????,转换为离散系统脉冲传 impulse(gs) impulse(gz) %离散单位脉冲响应 1 ??3 / s s ??3 step(gs) %单位阶跃响应 递函数并仿真。 step(gz) %离散单位阶跃响应 %模型建立 %频率响应 num=[3] %传递函数分子 freqs(num,den) %频率响应 den=[1,3] %传递函数分母 freqz(num,den) %频率响应 T=0.1 %采样周期 gs=tf(num,den) %传递函数模型建立 gz=c2d(gs,T,'zoh') %转化为离散系统脉冲传递函 close 数模型 bode(gs) %波特图 %'zoh' 零阶保持器变换 bode(gz) %波特图 %'foh' 三角变换(一阶保持器) %'tustin' 双线性变换 nyquist(gs) %奈奎斯特曲线 %'prewarp' 带频率预畸的双线性变换 nyquist(gz) %奈奎斯特曲线 %'matched' 零极点匹配变换 nichols(gs) nichols(gz) %尼科尔斯曲线 %尼科尔斯曲线 %模型特性 [z,p,k]=tf2zp(num,den) %求零极点 pzmap(gs) %零极点图 grid pzmap(gz) grid rlocus(gs) grid rlocus(gz) grid %零极点图 %根轨迹图 %根轨迹图
第 4 页
共 31 页
计算机控制系统 仿真实验
R(s) + R(z) E(s) 25 C(s) C(z) - 1
二阶系统闭环传递函数为 G(s) ??
52
s(s ??2 ??0.4 ??5)
2 51 ??s(s ??2 ??0.4 ??5)
??
5,请转换为离散系
s ??2 ??0.4 ??5s ??52
2 2
统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
2.
控制系统的 Simulink 仿真 按图建立系统的 Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
将上述系统离散化并仿真,观察仿真结果。
四、 1. 2. 3.
实验步骤
根据实验原理对控制系统进行软件仿真 观察记录输出的结果,与理论计算值相比较
自行选择参数,练习仿真方法,观察不同的仿真结果
五、
实验数据及结果分析
记录输出的数据和图表并分析。
六、
总结
第 5 页
共 31 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Matlab的计算机控制技术仿真实验在线全文阅读。
相关推荐: