计算机控制系统仿真实验第1页共12页基于Matlab的控制系统模型一、实验目的1.熟悉Matlab的使用环境,学习Matlab软件的使用方法和编程方法2.学习使用Matlab进行各类数学变换运算的方法3.学习使用Matlab建立控制系统模型的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1.香农采样定理对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足max2S时,采样信号f*(t)能无失真的复现原连续信号。作信号tetf105)(和kT10*5)(etf的曲线,比较采样前后的差异。幅度曲线:T=0.05t=0:T:0.5f=5*exp(-10*t)subplot(2,1,1)plot(t,f)gridsubplot(2,1,2)stem(t,f)grid请改变采样周期T,观察不同的采样周期下的采样效果。幅频曲线:w=-50:1:50F=5./sqrt(100+w.^2)plot(w,F)grid若|)0(|1.0|)(|maxFjF,选择合理的采样周期T并验加以证w=-400:20:400ws=200Ts=2*pi/wsF0=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))plot(w,F0,w,F1,w,F2)grid请改变采样频率ws,观察何时出现频谱混叠?2.拉式变换和Z变换使用Matlab求函数的拉氏变换和Z变换拉式变换:symsawtf1=exp(-a*t)laplace(f1)f2=tlaplace(f2)f3=t*exp(-a*t)laplace(f3)f4=sin(w*t)Z变换:symsakTf1=exp(-a*k*T)ztrans(f1)f2=k*Tztrans(f2)f3=k*T*exp(-a*k*T)ztrans(f3)f4=sin(a*k*T)计算机控制系统仿真实验第2页共12页laplace(f4)f5=exp(-a*t)*cos(w*t)laplace(f5)反拉式变换symssaf1=1/silaplace(f1)f2=1/(s+a)ilaplace(f2)f3=1/s^2ilaplace(f3)f4=w/(s^2+w^2)ilaplace(f4)f5=1/(s*(s+2)^2*(s+3))ilaplace(f5)ztrans(f4)f5=a^kztrans(f5)反Z变换symszaTf1=z/(z-1)iztrans(f1)f2=z/(z-exp(-a*T))iztrans(f2)f3=T*z/(z-1)^2iztrans(f3)f4=z/(z-a)iztrans(f4)f5=z/((z+2)^2*(z+3))iztrans(f5)3.控制系统模型的建立与转化传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an],nnnmmmbsasabsbsbdennumsG121121)(零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],)())(()())(()(2121nmpspspszszszsksG建立系统模型65)3)(2()1()(22sssssssssG和65)3)(2()1()(22zzzzzzzzzG传递函数模型:num=[1,1,0]den=[1,5,6]T=0.1Gs1=tf(num,den)Gz1=tf(num,den,T)零极点增益模型:z=[0,-1]p=[-2,-3]k=[1]T=0.1Gs2=zpk(z,p,k)Gz2=zpk(z,p,k,T)传递函数模型和零极点增益模型相互转化传递函数模型转化零极点增益模型:num=[1,1,0]den=[1,5,6]T=0.1Gs1=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.1Gs1=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)计算机控制系统仿真实验第3页共12页建立系统模型)84)(2()22)(1()(222sssssssG和)84)(2()22)(1()(222zzzzzzzGnum1=[1,1]num2=[1,2,2]den1=[1,0,2]den2=[1,4,8]num=conv(num1,num2)den=conv(den1,den2)T=0.1Gs1=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.根据参考程序,验证采样定理、拉氏变换和Z变换、控制系统模型建立的方法2.观察记录输出的结果,与理论计算结果相比较3.自行选则相应的参数,熟悉上述的各指令的运用方法五、实验数据及结果分析记录输出的数据和图表并分析六、总结计算机控制系统仿真实验第4页共12页实验二基于Matlab的控制系统仿真一、实验目的1.学习使用Matlab的命令对控制系统进行仿真的方法2.学习使用Matlab中的Simulink工具箱进行系统仿真的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1.控制系统命令行仿真建立如图所示一阶系统控制模型并进行系统仿真。3/s1R(s)C(s)+-R(z)C(z)一阶系统闭环传递函数为33/31/3)(ssssG,转换为离散系统脉冲传递函数并仿真。%模型建立num=[3]%传递函数分子den=[1,3]%传递函数分母T=0.1%采样周期gs=tf(num,den)%传递函数模型建立gz=c2d(gs,T,'zoh')%转化为离散系统脉冲传递函数模型%'zoh'零阶保持器变换%'foh'三角变换(一阶保持器)%'tustin'双线性变换%'prewarp'带频率预畸的双线性变换%'matched'零极点匹配变换%模型特性[z,p,k]=tf2zp(num,den)%求零极点pzmap(gs)%零极点图gridpzmap(gz)%零极点图gridrlocus(gs)%根轨迹图gridrlocus(gz)%根轨迹图grid%时间响应impulse(gs)%单位脉冲响应impulse(gz)%离散单位脉冲响应step(gs)%单位阶跃响应step(gz)%离散单位阶跃响应%频率响应freqs(num,den)%频率响应freqz(num,den)%频率响应closebode(gs)%波特图bode(gz)%波特图nyquist(gs)%奈奎斯特曲线nyquist(gz)%奈奎斯特曲线nichols(gs)%尼科尔斯曲线nichols(gz)%尼科尔斯曲线计算机控制系统仿真实验第5页共12页建立如图所示二阶系统控制模型并进行系统仿真。25s(s+2×0.4×5)1R(s)C(s)+-R(z)C(z)E(s)二阶系统闭环传递函数为22222554.025)54.02(51)54.02(5)(sssssssG,请转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。2.控制系统的Simulink仿真按图建立系统的Simulink模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。将上述系统离散化并仿真,观察仿真结果。四、实验步骤1.根据实验原理对控制系统进行软件仿真2.观察记录输出的结果,与理论计算值相比较3.自行选择参数,练习仿真方法,观察不同的仿真结果五、实验数据及结果分析记录输出的数据和图表并分析。六、总结计算机控制系统仿真实验第6页共12页实验三数字PID控制和最少拍控制系统仿真一、实验目的1.学习数字PID系统的设计方法和使用Matlab进行仿真的方法2.学习最少拍系统的设计方法和使用Matlab进行仿真的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1-es+-R(z)C(z)E(z)Gp(s)-Ts数字PID系统如图所示,建立相应的数字PID系统和最少拍系统并进行仿真。1.数字PID系统设计建立所示的数字PID系统控制模型并进行系统仿真,已知)2)(1(10)(sssGP,采样周期T=0.1s。2.最少拍系统仿真计算机控制系统仿真实验第7页共12页建立所示的数字PID系统控制模型并进行系统仿真,已知)1(10)(sssGP,采样周期T=1s。广义被控对象脉冲传递函数:)3679.01)(1()718.01(679.3)1(1)()(1111zzzzssKseZsGZzGTs,则G(z)的零点为-0.718(单位圆内)、极点为1(单位圆上)、0.368(单位圆内),故u=0,v=1,m=1。a.有纹波系统单位阶跃信号:根据稳定性要求,G(z)中z=1的极点应包含在Φe(z)的零点中,系统针对阶跃输入进行设计,q=1,显然准确性条件中已满足了稳定性要求,于是可设01)(zz,根据1)1(求得10,则1)(zz,11718.01)3679.01(2717.0)(1)()(1)(zzzzzGzD。单位斜披信号:根据稳定性要求,G(z)中z=1的极点应包含在Φe(z)的零点中,系统针对阶跃输入进行设计,q=2,显然准确性条件中已满足了稳定性要求,于是可设)()(1101zzz,根据1)1(,0)1('求得20,11,则212)(zzz,)718.01)(1()5.01)(3679.01(5434.0)(1)()(1)(1111zzzzzzzGzD。单位加速度信号:根据稳定性要求,G(z)中z=1的极点应包含在Φe(z)的零点中,系统针对阶跃输入进行设计,q=3,显然准确性条件中已满足了稳定性要求,于是可设)()(221101zzzz,根据1)1(,0)1(',0)1(''求得30,11,12,则32133)(zzzz,321321321321121211718.0436.0282.111.05718.01154.18154.0718.0436.0282.11)1226.07012.03679.11(8154.0)718.01()1()3/11)(3679.01(8154.0)(1)()(1)(zzzzzzzzzzzzzzzzzzzzGzD。计算机控制系统仿真实验第8页共12页b.无纹波系统单位阶跃信号:根据稳定性要求,G(z)中z=1的极点应包含在Φe(z)的零点中,系统针对阶跃输入进行设计,q=1,显然准确性条件中已满足了稳定性要求,于是可设011)718.01()(zzz,根据1)1(求得582.00,则)718.01(582.0)(11zzz,2121418.0582.01)3679.03679.11(158.0)(1)()(1)(zzzzzzzGzD。单位斜坡信号:根据稳定性要求,G(z)中z=1的极点应包含在Φe(z)的零点中,系统针对阶跃输入进行设计,q=2,显然准确性条件中已满足了稳定性要求,于是可设))(718.01()(11011zzzz,根据1)1(,0)1('求得407.10,826.00,则)826.0407.1)(