计控实验二-连续系统变换为离散系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 连续系统变换为离散系统

一、实验目的

在对连续系统进行实时计算机控制时,往往需要把连续系统转换成离散系统。

二、实验指导

为了得到连续系统的离散化数学模型,Matlab 提供了c2d()函数。c2d()函数的调用格式为:

sysd=c2d(sys,Ts) 或 sysd=c2d(sys,Ts,method)

式中,输入参量sys 为连续时间模型对象;Ts 为采样周期;sysd 为带采样时间Ts 的离散时间模型。Method 用来指定离散化采用的方法: ‘zoh ’——采用零阶保持器法;

‘foh ’——采用一阶保持器法;

‘tustin ’——采用双线性变换法;

‘prewarp ’——采用改进的双线性变换法;

‘matched ’——采用零极点匹配法;缺省时,为‘zoh ’

三、实验内容

1.已知连续系统的零极点增益模型为:

试采用零阶保持器与零极点匹配法求其离散传递函数。设采样周期。 程序及结果:

>> k=10,z=-5,p=[-1 -3 -8];

sys = zpk ( z,p,k )

sys =

10 (s+5)

-----------------

(s+1) (s+3) (s+8)

Continuous -time zero/pole/gain model.

>> Ts=0.1

Ts =

0.1000

>> sysd=c2d(sys,Ts,'zoh') )

8)(3)(1()5(10)(++++=

s s s s s G s T 1.0=

sysd =

0.040105 (z -0.6065) (z+0.7932)

--------------------------------

(z -0.9048) (z -0.7408) (z -0.4493)

Sample time: 0.1 seconds

Discrete -time zero/pole/gain model.

>> sysd=c2d(sys,Ts,'matched')

sysd =

0.035957 (z -0.6065) (z+1)

--------------------------------

(z -0.9048) (z -0.7408) (z -0.4493)

Sample time: 0.1 seconds

Discrete -time zero/pole/gain model.

2、已知系统如图1所示,被控对象 G h (s)为零阶保持器,

图1

(1) 若其控制器按模拟化设计方法设计,其系统框图如图2,得到的传递函数

)110(1)()()(+==s s s U s s G a θ1

110)(++=s s s D

试分别采用零阶保持器、双线性变换法、零极点匹配法进行控制器离散化,求系统的阶跃响应曲线和误差曲线,并与连续系统的阶跃响应曲线进行比较。采样周期为1秒。

(2)选择采样周期T=0.2s ,试采用零极点匹配法进行控制器离散化,求其系统的阶跃响应曲线和误差曲线,并与连续系统的阶跃响应进行比较。

(3)若在图2 中的D (s )后加一数字补偿器(该环节是一相位超前环节) 求系统的阶跃响应曲线和误差曲线,并与连续系统的阶跃响应进行比较。 要求:运用Matlab 编写命令语句或应用程序,并实现。

(1)

num=[10,1],den=[1 1];

Ds=tf(num,den);

Ts=1;

Dz=c2d(Ds,Ts,'zoh');

num=1,den=[10 1 0],Gs=tf(num,den);

Gz=c2d(Gs,Ts,'zoh');

G=feedback(Dz*Gz,1);

Dz1=c2d(Ds,Ts,'tustin');

G1=feedback(Dz1*Gz,1);

Dz2=c2d(Ds,Ts,'matched');

G2=feedback(Dz2*Gz,1);

G3=feedback(Ds*Gs,1);

figure (1)

subplot(2,2,1);step(G3);

title('连续系统单位阶跃响应');grid on;

subplot(2,2,2);step(G);

title('离散系统单位阶跃响应(零阶保持器)');grid on;

subplot(2,2,3);step(G1);

title('离散系统单位阶跃响应(双线性变化法)');grid on;

subplot(2,2,4);step(G2);

title('离散系统单位阶跃响应(零极点匹配)');grid on;

figure (2)

[y,t,x]=step(G3);

E3=1-y;subplot(2,2,1);plot(E3);title('连续系统误差曲线');grid on;

[y,t,x]=step(G);

E=1-y;subplot(2,2,2);plot(E);title('离散系统误差曲线(零阶保持器)');grid on;

1

8.05.1)(-∧-=z z D

[y,t,x]=step(G1);

E1=1-y;subplot(2,2,3);plot(E1);title('离散系统误差曲线(双线性变化法)');grid on; [y,t,x]=step(G2);

E2=1-y;subplot(2,2,4);plot(E2);title('离散系统误差曲线(零极点匹配)');grid on;

(2)

num=[10,1],den=[1 1];

Ds=tf(num,den);

Ts=0.2;

Dz=c2d(Ds,Ts,'zoh');

相关文档
最新文档