资源描述:
《自动控制原理 教学课件 作者 任彦硕 主编 第8章 离散控制系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章离散控制系统第一节离散控制系统的基本概念一、采样控制系统二、数字控制系统第二节信号的采样与复现一、信号的采样二、信号的频谱三、采样定理四、信号的复现第三节离散系统的数学模型一、Z变换2.Z变换的求法1.Z变换的定义(1)级数求和法例8-1试求单位阶跃函数的Z变换。解单位阶跃函数按周期T离散后即为单位理想脉冲序列,采样点处的幅值为1,代入Z变换的定义式得到例8-2试求按周期T离散后的Z变换。解原函数的离散函数为,代入Z变换定义式得到例8-3求正弦函数的Z变换。(2)部分分式法解例8-4某时域函
2、数的拉氏变换为,试求按周期T离散后的Z变换。3.Z变换的性质(1)线性性质(2)时域滞后性质(3)时域超前性质(4)复位移性质例8-5试用复位移性质求的Z变换。解(5)终值定理证明超前一个采样周期的离散函数的Z变换与该函数的Z变换之差为即例8-6设的Z变换为,试计算的终值。解4.Z反变换(1)长除法例8-7设的Z变换为,试应用长除法计算的前4项近似表达式。解(2)部分分式法例8-8试用待定系数法确定的离散脉冲函数。解设二、差分方程三、差分方程的解法1.迭代法例8-9试用迭代法确定,当输入序列为,初
3、始条件时的直到的解序列。解时,时,时,时,时,2.Z变换法例8-10试用Z变换法求解,离散函数差分方程的解已知输入函数为解四、脉冲传递函数1.脉冲传递函数的定义2.脉冲传递函数的求解例8-11设某环节的差分方程为,试求该环节的脉冲传递函数。解运用时域滞后定理得到,脉冲传递函数为。它表示n步延时,n=1表示延时一个周期。例8-12设图8-13中的,试求该环节的脉冲传递函数。解部分分式展开给定的传递函数得到,脉冲传递函数为3.串联环节的脉冲传递函数例8-14试求图8-17所示对误差控制量采样的离散系统
4、的闭环脉冲传递函数。解例8-15试求图8-18所示数字控制系统的闭环脉冲传递函数。解第四节离散控制系统的稳定性分析一、S平面到Z平面的映射二、Z平面到W平面的映射三、W域下的劳斯(胡尔维茨)稳定判据例8-16试用W域下的劳斯稳定判据确定图示系统采样周期分别为0.1s和0.2s时稳定的K值范围。时,K的稳定范围为K的稳定范围为。第五节离散控制系统的稳态误差分析一、阶跃函数输入时0型系统是有差系统二、斜坡函数输入时Ⅰ型系统是有差系统三、抛物线函数输入时Ⅱ型系统是有差系统试计算系统分别在单位阶跃、单位斜
5、坡、单位抛物线函数输入时的稳态误差。解例8-17设离散控制系统的采样周期为0.2s,开环传递函数例8-18试求图8-23所示离散控制系统的误差系数。解第六节离散控制系统的动态分析一、离散系统的时域性能二、Z平面上的特征根与系统的响应性能例8-19试求图8-29所示离散控制系统的阶跃响应脉冲序列。第七节离散控制系统的校正一、离散系统的根轨迹校正1.Z平面的根轨迹2.Z平面上的等ζ线、等线和等线(1)Z平面上的等ζ线(2)Z平面上的等线(3)Z平面上的等线曲线如图8-33中的经向曲线(纵向曲线)所示。
6、3.离散系统的根轨迹校正举例例8-20数字控制系统的采样周期为0.1s,试通过Z平面的根轨迹校正设计控制器的脉冲传递函数,使系统脉冲响应的超调量,峰值时间。解图8-37校正后的根轨迹图8-38校正后系统的响应序列二、脉冲控制器的数字实现时,等式右是存储器保存的输出量的过去值、输入量的过去值和输入量的当前值。时,等式右端含有输入量未来时刻的单项,无法计算当前采样点的输出值,属不可实现的脉冲控制器。第八节应用MATLAB分析离散控制系统一、绘制离散系统的阶跃响应MATLAB环境下绘制离散系统的阶跃响应
7、可由dstep(num,den)函数命令完成。其中例8-21已知离散控制系统的闭环脉冲传递函数为num、den分别为MATLAB识别的闭环脉冲传递函数的分子和分母多项式。试应用MATLAB命令绘制该系统的单位阶跃脉冲响应特性。解MATLAB环境下输入如下程序num=[0.117,0.468,0.059];den=[1,-0.353,-0.392,0.389];dstep(num,den)运行后界面显示阶跃脉冲响应曲线如图所示。二、绘制离散系统在等ζ线、等线下的根轨迹绘制离散系统根轨迹与绘制连续系统
8、根轨迹的函数命令相同,即为。为将等ζ线、等线的栅格罩在根轨迹图上,在命令前应用,该命令清除原有图形界面后绘出栅格线,并设置成holdon,使后续命令图形能绘制在栅格上。例8-22试应用MATLAB绘制例8-20离散系统校正前的根轨迹。解MATLAB环境下的程序为num=[conv([1,3.87],[1,0.13])];den=[conv([1,-0.82],conv([1,-1],[1,-0.37]))];axis(‘square’)zgrid(‘new’)rlocus(num,