自动控制理论---零点和极点、单位脉冲响应

发布于:2024-06-17 ⋅ 阅读:(21) ⋅ 点赞:(0)

1实验设备

PC计算机1台,MATLAB软件1套。

2、实验目的

  1. 研究四个具有相同极点分布但不同零点分布的二阶系统对单位脉冲响应的影响。
  2. 绘制各系统的零点和极点分布图。
  3. 计算并绘制各系统的单位脉冲响应波形。
  4. 分析零点分布对单位脉冲响应的影响。

3、实验原理说明:

  1. 单位脉冲响应是系统对单位脉冲输入的输出,是系统的重要性能指标之一。
  2. 零点和极点分布反映了系统的稳定性和动态特性,对单位脉冲响应有一定影响。

4、实验步骤:

  1. 根据给定的四个二阶系统的传递函数,分别绘制各系统的零点和极点分布图。
  2. 使用MATLAB编程计算各系统的单位脉冲响应,并绘制响应波形。
  3. 对比分析四个系统的零点分布对单位脉冲响应的影响,观察系统的动态特性。
  4. 在MATLAB界面下调试程序,并检查是否运行正确。

注意:在实验中,可以使用MATLAB的zplane函数绘制零点和极点分布图,使用impz函数计算单位脉冲响应,并使用plot函数绘制波形图。在分析结果时,重点关注零点的位置对系统响应的影响。

题目:32”下面四个二阶网络的系统函数具有一样的极点分布:

H1(z)=1/(1-1.6z-1 +0.9425z-2)

H2(z)=(1-0.3 z-1)/(1-1.6z-1 +0.9425z-2)

H3(z)=(1-0.8 z-1)/(1-1.6z-1 +0.9425z-2)

H4(z)=(1-1.6 z-1+0.8 z-2)/(1-1.6z-1 +0.9425z-2)

试用MATLAB语言研究零点分布对于单位脉冲响应的影响。要求:

  1. 分别画出各系统的零、极点分布图;
    % 系统函数
    H1 = tf([1], [1, -1.6, 0.9425], 1);
    H2 = tf([1, -0.3], [1, -1.6, 0.9425], 1);
    H3 = tf([1, -0.8], [1, -1.6, 0.9425], 1);
    H4 = tf([1, -1.6, 0.8], [1, -1.6, 0.9425], 1);
    
    % 绘制零、极点分布图
    figure;
    
    subplot(2, 2, 1);
    zplane([], roots(H1.Denominator{1}));
    title('H1(z)');
    
    subplot(2, 2, 2);
    zplane([], roots(H2.Denominator{1}));
    title('H2(z)');
    
    subplot(2, 2, 3);
    zplane([], roots(H3.Denominator{1}));
    title('H3(z)');
    
    subplot(2, 2, 4);
    zplane([], roots(H4.Denominator{1}));
    title('H4(z)');
  2. 分别求出各系统的单位脉冲响应,并画出其波形;
(2)分别求出各系统的单位脉冲响应,并画出其波形;
% 获取采样时间
Ts = H1.Ts; % H1是传递函数模型

% 计算单位脉冲响应
t = 0:Ts:10; % 使用采样时间作为步长
impulse_response_H1 = impulse(H1, t);

% 计算单位脉冲响应
impulse_response_H2 = impulse(H2, t);
impulse_response_H3 = impulse(H3, t);
impulse_response_H4 = impulse(H4, t);

% 绘制波形图
figure;

subplot(2, 2, 1);
stem(t, impulse_response_H1); % 使用 stem 函数适用于离散时间系统
title('H1(z) - 单位脉冲响应');

subplot(2, 2, 2);
stem(t, impulse_response_H2);
title('H2(z) - 单位脉冲响应');

subplot(2, 2, 3);
stem(t, impulse_response_H3);
title('H3(z) - 单位脉冲响应');

subplot(2, 2, 4);
stem(t, impulse_response_H4);
title('H4(z) - 单位脉冲响应');