5 离散系统
5.1 离散控制系统的数学模型
由于数字计算机,特别是微处理器的发展,数字控制器在许多场合取代了模拟控制器,基于工程实践的需要,作为分析和设计数字控制器系统的基础理论,离散系统理论发展非常迅速。
离散系统和连续系统相比,既有本质的不同,又有分析研究方面的相似性,利用Z变换研究离散系统,可把线性连续系统中的许多概念和方法推广到线性离散系统中。 差分方程
有些对象的运动,其自变量本身不是连续的时间,而是等间距的离散的时刻。对于这类控制对象,其控制作用的值有计算机每隔一定时间给出一个。这时把这些自变量记作x(kT),即自变量不再是连续时间而是整数序列,而描述这类对象运动的方程被称为差分方程。这时把这些自变量记作x(kT),即自变量不再是连续时间而是整数序列,而描述这类对象运动的方程被称为差分方程。 通常情况下,差分方程可表示为:
y(k)?an?1y(k?1)???a1y(k?(n?1))?a0y(k?n)
?bmu(k)???b1u(k?(m?1))?b0u(k?m)推广到多变量系统中,可根据每一路输入与每一路输出之间的差分关系, 立描述该系统的差分方程组:
yi(k)?aij(n?1)yi(k?1)???aij1yi(k?(n?1))?aij0yi(k?n)
?bijmuj(k)???bij1uj(k?(m?1))?bij0uj(k?m)其中,0
5.2 MATLAB仿真分析
1.离散系统的动态性能分析
MATLAB控制系统工具箱提供了丰富的用于对离散系统时间响应进行分析的
工具函数,如表5.1所示,能同时支持用传递函数和状态空间表示的模型,常用到的函数的如下表所示。利用这些函数可方便地对系统的阶跃响应,脉冲响应等进行仿真很分析。
表5.1 离散系统工具函数
名称 dstep dimpulse dlsim 函数功能 求离散系统的单位阶跃响应 求离散系统的单位脉冲响应 求离散系统在任意输入信号的时间响应 单位阶跃响应函数dstep() 格式:[y,x]=dstep(sys) 功能:求离散系统的单位阶跃响应 单位脉冲响应函数dimpulse() 格式:[y,x]=dimpulse() 功能;求离散系统的单位脉冲响应 任意输入响应函数dlsim() 格式:[y,x]=dlsim()
功能:求离散系统在任意输入信号作用下的时间响应
例如 求二阶线性离散系统H(z)=(4z^2-6.8z+3.0)(z^2-1.8z+0.9)的阶跃响应,单位脉冲响应曲线
在MATLAB中建立M文件,程序如下 >> num=[4 -6.8 3.0] num =
4.0000 -6.8000 3.0000 >> den=[1 -1.8 0.9] den =
1.0000 -1.8000 0.9000 >> dstep(num,den)
>> title('单位阶跃响应曲线') >>dimpulse(num,den)
>> title('单位脉冲响应曲线') 得出结果如图5-1和5-2所示。
图5-1单位阶跃响应曲线
图5-2单位脉冲响应曲线
2.离散系统的根轨迹函数和频域响应函数 根轨迹相关的函数只要为函数rlocus。 有离散时间系统H?z??图。
>> dsys=tf([0.5 0.04],[1 -0.6 0.53],0.1) Transfer function: 0.5 z + 0.04 ------------------ z^2 - 0.6 z + 0.53 Sampling time: 0.1 >> rlocus(dsys) >> title('根轨迹')
0.5z?0.04,采样周期为Ts=0.1s,绘制其根轨迹2z?0.6z?0.53