在本教程中,我们讨论将连续时间模型转换成离散时间(或差分方程)模型的方法,我们还将介绍z变换,并展示如何使用它来分析和设计离散时间系统的控制器。
本教程中使用的主要MATLAB命令为:
文章目录
简介
下图展示了我们一直考虑的典型连续时间反馈系统模型。几乎所有连续时间控制器都可以使用模拟电子设备来实现。

阴影矩形中的连续控制器可以由如下所示的数字控制器代替,该数字控制器执行与连续控制器相同的控制任务。而区别在于,数字控制器对感应信号的采样是离散而不是连续的。如果我们希望在数字计算机上实现控制(通常是这样),则可能就需要这种离散变化。

上面的数字系统原理图的各种信号可以用下面的曲线表示

本教程的目的是演示如何使用MATLAB处理离散函数(传递函数或状态空间形式)以设计数字控制系统。
零阶保持
在上面的数字控制器系统示意图中,我们看到系统包含离散部分和连续部分。通常,被控对象在物理世界中,并且生成并响应连续时间信号,而控制算法可以在数字计算机上实现,设计数字控制器系统时,我们首先需要找到系统连续部分的离散等效部分。
对于这项技术,我么将考虑数字控制系统的以下部分,并按以下方式重新排列。


连接到 D/A 和 A/D 转换器的时钟每 T T T 秒提供一个脉冲,并且每个 D/A 和 A/D 仅在脉冲到达时才发送信号。具有该脉冲的目的是要求 H z o h ( z ) H_{zoh}(z) Hzoh(z) 仅作用于周期性输入采样 u ( k ) u(k) u(k) ,并且仅在离散的时间间隔产生周期性输入 y ( k ) y(k) y(k) 。因此, H z o h ( z ) H_{zoh}(z) Hzoh(z) 可以作为离散函数。
我们想要找到一个离散函数 H z o h ( z ) H_{zoh}(z) Hzoh(z) ,以便于是连续系统 H ( s ) H(s) H(s) 具有分段恒定输入,连续系统的采样输出等于离散输出。假设信号 u ( k ) u(k) u(k) 代表输入信号的采样,通过一些技术可以获得该采样值 u ( k ) u(k) u(k) 并保持它产生连续信号 u ^ ( t ) \hat{u}(t) u^(t) 。下图显示了一个示例,在每个采样 u ( k ) u(k) u(k) 上,连续信号 u ^ ( t ) \hat{u}(t) u^(t) 在 k T kT kT 到 ( k + 1 ) T (k+1)T (k+1)T 的时间间隔内保持恒定。在采样周期内保持 u ^ ( t ) \hat{u}(t) u^(t) 不变的操作称为零阶保持。

然后将保持的信号 u ^ ( t ) \hat{u}(t) u^(t) 传递给 H 2 ( s ) H_2(s) H2(s) ,A/D 产生的输出 y ( k ) y(k) y(k) 可以等效为离散信号 u ( k ) u(k) u(k) ,通过 H z o h ( z ) H_{zoh}(z) Hzoh(z) 而产生的信号 y ( k ) y(k) y(k)。

现在我们更新一下控制框图,用 H z o h ( z ) H_{zoh}(z) Hzoh(z) 代替系统的连续部分。

现在,我们可以设计一个仅处理离散功能的数字控制系统。
注意:在某些情况下,离散响应与数字控制系统中实现的保持电路产生的连续响应不匹配。有关更多信息,可以参见与保持相关的滞后效应。
使用c2d进行离散变换
在MATLAB中使用c2d命令,它使用上述的零阶保持操作将给定的连续系统(以传递函数或状态空间形式)转换为离散系统。MATLAB中的基本语法是 sys_d = c2d(sys,Ts,'zoh')。
采样时间 (以秒为单位的 Ts )应小于 1/(30BW),其中BW是系统的闭环带宽频率。
示例:质量块弹簧阻尼器
转换
假设您具有以下连续传递函数模型:

本文探讨了连续时间模型转换为离散时间模型的方法,包括零阶保持和使用MATLAB的c2d命令。通过实例讲解了质量块弹簧阻尼器系统的离散化过程,分析了离散系统的稳定性与瞬态响应,以及离散根轨迹的设计。

59

被折叠的 条评论
为什么被折叠?



