没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
计算机控制系统 仿真实验
第 1 页 共 31 页
实验一 基于 Matlab 的控制系统模型
一、 实验目的
1. 熟悉 Matlab 的使用环境,学习 Matlab 软件的使用方法和编程方法
2. 学习使用 Matlab 进行各类数学变换运算的方法
3. 学习使用 Matlab 建立控制系统模型的方法
二、 实验器材
x86 系列兼容型计算机,Matlab 软件
三、 实验原理
1. 香农采样定理
对一个具有有限频谱的连续信号 f(t)进行连续采样,当采样频率满足
max
2
S
时,采样信号 f*(t)
能无失真的复现原连续信号。
作信号
t
etf
10
5)(
和
kT10*
5)(
etf 的曲线,比
较采样前后的差异。
幅度曲线:
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
请改变采样周期 T,观察不同的采样周期下的采样
效果。
幅频曲线:
w=-50:1:50
F=5./sqrt(100+w.^2)
plot(w,F)
grid
若 |)0(|1.0|)(|
max
FjF
,选择合理的采样周期
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))
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)
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)
计算机控制系统 仿真实验
第 2 页 共 31 页
laplace(f4)
f5=exp(-a*t)*cos(w*t)
laplace(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)
ztrans(f4)
f5=a^k
ztrans(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=[b1,b2,…bm],den=[a1,a2,…an],
n
nn
m
mm
bsasa
bsbsb
den
num
sG
1
21
1
21
)(
零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],
)())((
)())((
)(
21
21
n
m
pspsps
zszszs
ksG
建 立 系 统 模 型
65
)3)(2(
)1(
)(
2
2
ss
ss
ss
ss
sG 和
65
)3)(2(
)1(
)(
2
2
zz
zz
zz
zz
zG
传递函数模型:
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)
传递函数模型和零极点增益模型相互转化
传递函数模型转化零极点增益模型:
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)
计算机控制系统 仿真实验
第 3 页 共 31 页
建立系统模型
)84)(2(
)22)(1(
)(
22
2
sss
sss
sG
和
)84)(2(
)22)(1(
)(
22
2
zzz
zzz
zG
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. 根据参考程序,验证采样定理、拉氏变换和 Z 变换、控制系统模型建立的方法
2. 观察记录输出的结果,与理论计算结果相比较
3. 自行选则相应的参数,熟悉上述的各指令的运用方法
五、 实验数据及结果分析
记录输出的数据和图表并分析
六、 总结
计算机控制系统 仿真实验
第 4 页 共 31 页
实验二 基于 Matlab 的离散控制系统仿真
一、 实验目的
1. 学习使用 Matlab 的命令对控制系统进行仿真的方法
2. 学习使用 Matlab 中的 Simulink 工具箱进行系统仿真的方法
二、 实验器材
x86 系列兼容型计算机,Matlab 软件
三、 实验原理
1. 控制系统命令行仿真
建立如图所示一阶系统控制模型并进行系统仿真。
一 阶 系 统 闭 环 传 递 函 数 为
3
3
/
3
1
/3
)(
s
s
s
sG ,转换为离散系统脉冲传
递函数并仿真。
%模型建立
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) %零极点图
grid
pzmap(gz) %零极点图
grid
rlocus(gs) %根轨迹图
grid
rlocus(gz) %根轨迹图
grid
%时间响应
impulse(gs) %单位脉冲响应
impulse(gz) %离散单位脉冲响应
step(gs) %单位阶跃响应
step(gz) %离散单位阶跃响应
%频率响应
freqs(num,den) %频率响应
freqz(num,den) %频率响应
close
bode(gs) %波特图
bode(gz) %波特图
nyquist(gs) %奈奎斯特曲线
nyquist(gz) %奈奎斯特曲线
nichols(gs) %尼科尔斯曲线
nichols(gz) %尼科尔斯曲线
计算机控制系统 仿真实验
第 5 页 共 31 页
建立如图所示二阶系统控制模型并进行系统仿真。
25
s(s+2×0.4×5)
1
R(s) C(s)
+
-
R(z) C(z)
E(s)
二阶系统闭环传递函数为
22
2
2
2
554.02
5
)54.02(
5
1
)54.02(
5
)(
ss
ss
ss
sG ,请转换为离散系
统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
2. 控制系统的 Simulink 仿真
按图建立系统的 Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
将上述系统离散化并仿真,观察仿真结果。
四、 实验步骤
1. 根据实验原理对控制系统进行软件仿真
2. 观察记录输出的结果,与理论计算值相比较
3. 自行选择参数,练习仿真方法,观察不同的仿真结果
五、 实验数据及结果分析
记录输出的数据和图表并分析。
六、 总结
剩余30页未读,继续阅读
资源评论
- 坏痞2022-04-13还好,前面的实验有结果有图有代码后面的实验没有代码没有结果图
流水不毒
- 粉丝: 50
- 资源: 117
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功