离散控制系统

T1

题目

1713705537589

程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% 定义模拟调节器的传递函数
num = [1 0];
den = [1 1];
T = 1; % 采样周期
D = tf(num, den);
% 使用零极点匹配法求出数字控制器的脉冲传递函数 D(z)
Dz = c2d(D, T, 'zoh')
% 写出其差分方程
[numDz, denDz] = tfdata(Dz, 'v');
% 使用迭代法求差分方程的输出曲线
N = 100; % 定义迭代次数
y = zeros(N, 1);
y(1) = 1; % 初始值
u = ones(N, 1); % 输入为单位阶跃函数
for k = 2:N
y(k) = -denDz(2)*y(k-1) + numDz(1)*u(k) + numDz(2)*u(k-1);
end
% 使用“step()”函数绘制 D(z)的输出曲线
figure;
step(Dz);
hold on;
plot(y, 'r');
legend('D(z)的输出曲线', '差分方程的输出曲线');

结果

  1. 脉冲传递函数 D(z)
1
2
3
4
5
Dz =

z - 1
----------
z - 0.3679
  1. 差分方程的输出曲线D(z)的输出曲线
    1713706147277

T2

题目

1713707499485

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
z = [0.5, 0.3679];
p = [1, -0.718];
k = 0.5434;
D = zpk(z, p, k, T)
numG = [2];
denG = [1, 2, 3];
Gs = tf(numG, denG);
Gz = c2d(Gs, T, 'zoh')
openz = D * Gz
Faz = feedback(openz, 1)
% 零极点图
figure(1);
pzmap(Faz);
title('零极点图');
% 分析系统的稳定性
p = pole(Faz);
if all(real(p) < 0)
disp('系统是稳定的,所有极点都在复平面的左半部');
else
disp('系统是不稳定的,因为一个或多个极点位于复平面的右半部分');
end
% 阶跃响应图
figure(2);
step(Faz, 25);
title('阶跃响应图');
grid on;

结果

  1. 数字控制器 s 域传递函数;系统离散的开环传递函数,离散的闭环传递函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     D =

    0.5434 (z-0.5) (z-0.3679)
    -------------------------
    (z-1) (z+0.718)

    Sample time: 0.05 seconds
    Discrete-time zero/pole/gain model.


    Gz =

    0.002417 z + 0.002338
    ----------------------
    z^2 - 1.898 z + 0.9048

    Sample time: 0.05 seconds
    Discrete-time transfer function.


    openz =

    0.0013135 (z-0.5) (z-0.3679) (z+0.9672)
    ---------------------------------------
    (z-1) (z+0.718) (z^2 - 1.898z + 0.9048)

    Sample time: 0.05 seconds
    Discrete-time zero/pole/gain model.


    Faz =

    0.0013135 (z-0.5) (z-0.3679) (z+0.9672)
    ---------------------------------------------
    (z+0.7179) (z-0.9274) (z^2 - 1.969z + 0.9755)
  1. 闭环系统的零极点图及稳定性分析
    1713750052431

系统是不稳定的,因为一个或多个极点位于复平面的右半部分

  1. 系统的单位阶跃响应图

    1713750545480