ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

计算机控制系统核心模型详解:采样、Z变换与数字控制器设计

计算机控制系统核心模型详解:采样、Z变换与数字控制器设计 简介文档收录了《计算机控制系统》课程作业的参考答案覆盖典型计算机控制系统结构、四种信号形式、采样定理、零阶保持器特性、Z变换与Z反变换、差分方程求解等核心知识点并涉及数据处理与操作指导、直接数字控制、监督计算机控制及分布式控制等典型类型的对比分析适合自动化、电气及计算机控制相关专业学生复习备考或教师出题参考。资源包内共1个doc文件大小548KB内容按作业一、作业二分章节整理从基本概念到计算题均有逐步解答过程作业二侧重差分方程与Z变换的应用作业三补充了长除法与Z反变换的实际运算。目前已有350人浏览学习说明该资料在同类作业答案中具有一定实用性。通过对照参考答案读者可快速检验自身对计算机控制系统原理的理解掌握采样信号频谱分析、Z变换求解等典型题型的规范步骤提升课程作业与考试复习效率。1. 这门课到底在教什么先别急着翻答案计算机控制系统这门课几乎所有自动化、电气、测控专业的同学都会遇到。我当年学的时候最大的感受就是前几周还在用连续系统的思维做拉普拉斯变换后几周突然跳进Z变换和差分方程整个人是懵的。等到做作业的时候对着“求脉冲传递函数”“判断系统稳定性”“设计数字PID”这些题目常常不知道从哪里下手。这也是为什么网上流传的各种“计算机控制系统作业参考答案.doc”会被反复下载。但我想先泼一盆冷水这类文档最大的价值不是让你抄而是给你一个“对答案”的参照系。因为这门课的作业题往往套路固定你真正需要掌握的是题目背后反复出现的几个核心模型采样与保持、Z变换、脉冲传递函数、离散系统稳定性判据、数字控制器设计。把这几个模型吃透作业题基本就是套模板。这篇内容我按照自己当年复习和后来带项目时重新翻课本的经验把这门课最常见的作业题型和解答思路拆开揉碎讲一遍。不管你现在是正在赶作业还是准备期末考试又或者工作后需要补一下离散控制的基础这篇内容都能帮你省下大量翻书的时间。2. 作业题的核心套路先建立离散系统的“语言体系”2.1 采样周期与信号重构所有题目的起点计算机控制系统和连续控制系统最大的区别就是系统里多了一个“采样开关”。连续信号进入计算机之前要先经过A/D转换变成离散序列计算机算完之后又要经过D/A和保持器还原成连续信号去驱动执行机构。作业里最常见的第一个考点就是给定一个连续信号让你求采样后的离散序列或者反过来给定离散序列和采样周期让你还原连续信号的大致形状。这类题考察的是对采样过程的理解尤其是香农采样定理采样频率必须大于等于信号最高频率的两倍否则会发生混叠。我见过很多同学在这里犯迷糊其实可以这么理解采样就像是给连续信号拍照片每隔T秒拍一张。拍得够快照片连起来还能看出原来的动作拍得太慢动作中间的过程就丢了甚至会出现“车轮倒转”的错觉。这就是混叠。作业里经常给一个正弦信号让你选合适的采样周期本质就是在考你算不算得清最高频率分量。2.2 Z变换与Z反变换离散域的“拉普拉斯变换”Z变换是这门课的 arithmetic 基础就像连续系统里的拉普拉斯变换一样。几乎每份作业里都有这样一道题给一个时间序列或者差分方程让你求Z变换或者给一个Z域表达式让你做Z反变换求时间序列。做题的关键是先记住几个最常用的变换对。单位阶跃信号的Z变换是 \(z/(z-1)\)指数衰减序列 \(a^k\) 的Z变换是 \(z/(z-a)\)单位斜坡信号对应 \(Tz/(z-1)^2\)。这些变换对就像乘法口诀背不下来后面寸步难行。Z反变换的三种方法——长除法、部分分式展开法、留数法——作业里最常用的是部分分式展开法。这里有一个特别容易踩的坑连续系统部分分式展开后配的是 \(1/(sa)\) 的形式而离散系统部分分式展开后为了对到变换对上通常要配成 \(z/(z-a)\) 的形式也就是说要先除以z展开完再乘回z。举个例子已知 \(F(z) z/((z-1)z-0.5)\)直接查表不好查你可以先令 \(F(z)/z 1/((z-1)(z-0.5))\)展开成 \(A/(z-1) B/(z-0.5)\)求出A和B然后再乘回z变成 \(Az/(z-1) Bz/(z-0.5)\)这时候就能直接查表得到 \(f(kT)\)。这个“先除z再乘z”的小技巧几乎每年作业都会考务必记牢。2.3 脉冲传递函数系统的“离散身份证”连续系统用传递函数 \(G(s)\) 描述输入输出关系离散系统则用脉冲传递函数 \(G(z)\)。作业里最常见的题型是已知连续对象的传递函数 \(G(s)\) 和采样周期T前面串联一个零阶保持器求整个系统的脉冲传递函数 \(G(z)\)。这个题型的标准解法是查表。课本上有一张常用函数的Z变换表里面列出了 \(1/s\)、\(1/s^2\)、\(1/(sa)\) 等典型环节对应带零阶保持器后的Z变换结果。实际做题时先把 \(G(s)\) 做部分分式分解拆成表中可查的基本项之和然后逐项查表最后通分合并。这里要特别提醒一个作业里高频出现的陷阱很多人直接把 \(G(s)\) 换成 \(G(z)\)这是错的。因为零阶保持器的传递函数是 \((1-e^{-Ts})/s\)所以完整的关系是 \(G(z) (1-z^{-1}) \cdot Z[G(s)/s]\)。必须先除以s查表再乘 \((1-z^{-1})\)顺序不能乱。作业中如果发现自己的结果和别人对不上十有八九是这一步出了问题。3. 稳定性分析与稳态误差作业里的“硬骨头”3.1 离散系统的稳定性判据连续系统判断稳定性用劳斯判据离散系统则不能直接在z域用因为稳定区域从虚轴左侧变成了单位圆内部。作业里常用的方法是双线性变换也叫 \(w\) 变换令 \(z (w1)/(w-1)\)把z平面的单位圆内部映射到w平面的左半平面然后就能沿用劳斯判据了。这类题目的计算量不小尤其是分母阶数较高的时候展开 \((w1)/(w-1)\) 的幂次特别容易出错。我的经验是先做一个变量代换令 \(z (1w)/(1-w)\) 还是 \((w1)/(w-1)\)不同课本写法不一样但最终得到的稳定性结论一致。解题时选定一种记法后把特征方程每一项都换掉再两边同乘 \((w-1)^n\)n是方程阶数消去分母得到关于w的多项式然后列劳斯表。踩坑提醒双线性变换后的劳斯表只要第一列符号不变系统就稳定一旦出现符号变化变化次数就是右半w平面的根的个数也就对应z平面单位圆外的极点数。作业中经常有人忘了两边同乘 \((w-1)^n\)导致后面全错这个细节要特别留意。除了双线性变换朱利判据也偶尔出现在作业里。朱利判据直接在z域操作构造一个表格检查第一行和最后一行系数的关系。如果特征方程是三阶以内朱利判据的表格还不算太复杂四阶以上建议还是用双线性变换计算量反而更可控。3.2 稳态误差的两种求法离散系统稳态误差的考点通常关联“误差系数法”或者“终值定理法”。误差系数法类似连续系统里的静态位置误差系数 \(K_p\)、速度误差系数 \(K_v\)、加速度误差系数 \(K_a\)只不过公式里的 \((s \to 0)\) 换成了 \((z \to 1)\) 的极限。作业里比较常考的是给定闭环脉冲传递函数让你求单位阶跃输入下的稳态误差。这时候用终值定理最简单\(e(\infty) \lim_{z \to 1} (1-z^{-1}) E(z)\)其中 \(E(z)\) 是误差信号的Z变换。关键在于 \(E(z)\) 怎么求——要用 \(E(z) R(z) - C(z) R(z) / (1 G(z)H(z))\) 的关系不能直接用输出反推否则容易搞混符号。我见过不少作业错误出在系统型别判断上。离散系统的型别由开环脉冲传递函数中 \((1-z^{-1})\) 因子的个数决定0型系统对阶跃输入有稳态误差I型系统对斜坡输入有稳态误差。题目如果问“要想对斜坡输入无静差系统应是什么型别”本质上就是在考这个知识点。4. 数字控制器设计从PID到最少拍4.1 数字PID的参数整定思路计算机控制系统作业里数字PID设计是分值最高、也最贴近工程应用的题型。与模拟PID不同的是数字PID有采样周期T控制律写成差分方程的形式位置式PID和增量式PID。位置式PID输出的是控制量的绝对值需要对误差的历史全部累加编程时容易积分饱和增量式PID输出的是控制量的增量只需要最近几次误差实际工程中更常用。作业里经常让你把一个连续PID传递函数离散化成差分方程思路是用后向差分近似\(s \approx (1-z^{-1})/T\)把积分项和微分项分别替换再整理成 \(u(kT)\) 关于 \(e(kT)\)、\(e(kT-T)\)、\(e(kT-2T)\) 的表达式。参数整定方面作业题一般不会让你真正调参而是给定 \(K_p\)、\(K_i\)、\(K_d\) 和采样周期T让你写出具体的控制算式。但如果你要自己仿真我的经验是先只加比例找到系统临界振荡的增益再引入积分消除稳态误差最后加微分抑制超调。采样周期T越小离散系统越接近连续系统但T过小会导致计算量增大也容易放大噪声这个权衡在答题时可以写进讨论里是加分项。4.2 最少拍控制器的设计逻辑最少拍控制是数字控制系统作业里比较有特色的一类题。它的目标是让系统在有限个采样周期内达到无稳态误差而且“拍数”最少。设计思路是给定输入类型阶跃、斜坡、加速度根据无稳态误差和物理可实现两个约束条件确定闭环脉冲传递函数 \(\Phi(z)\) 和误差脉冲传递函数 \(\Phi_e(z)\) 的形式。具体来说对单位阶跃输入最少拍系统要求 \(\Phi_e(z) 1 - z^{-1}\)这样闭环传递函数 \(\Phi(z) 1 - \Phi_e(z) z^{-1}\)也就是说一拍之后输出就跟踪上输入。对单位斜坡输入要求 \(\Phi_e(z) (1-z^{-1})^2\)两拍完成跟踪。作业里的标准流程是先确定输入类型对应的 \(\Phi_e(z)\)再由 \(D(z) \Phi(z) / (G(z)\Phi_e(z))\) 反解出数字控制器。这里最关键的坑是物理可实现约束D(z)的分子阶次不能高于分母阶次否则意味着控制器需要未来的信号现实中做不到。如果发现反解出来的D(z)不可实现就要把 \(\Phi_e(z)\) 的阶次提高或者引入延迟因子 \(z^{-1}\) 调整结构。我做作业时踩过的另一个坑是最少拍系统对输入类型敏感按阶跃输入设计的最少拍系统如果实际输入是斜坡信号稳态误差会变成常数而非零按斜坡输入设计的系统输入阶跃时会有超调。所以答题时一定要看清题目假设的输入类型别想当然地套模板。4.3 模拟化设计方法简介另一类作业题是“间接设计法”也叫模拟化设计先忽略采样和保持的影响按连续系统设计出满意的控制器 \(D(s)\)再用某种离散化方法把它转成 \(D(z)\)。常用的离散化方法有前向差分、后向差分、双线性变换Tustin变换、零极点匹配法。这类题的答题思路比较固定给定 \(D(s)\) 和采样周期T先用双线性变换替换 \(s 2(z-1)/(T(z1))\)再整理成关于z的有理分式。如果题目要求写成差分方程形式就继续从 \(D(z) U(z)/E(z)\) 反推 \(u(kT)\) 的递推表达式。经验之谈离散化方法中双线性变换的精度最好因为它把s平面的虚轴映射到z平面的单位圆频率失真可以通过预修正补偿。前向差分可能把稳定系统离散成不稳定系统所以作业里除非特别要求一般不建议用前向差分。5. 实操案例一道典型综合题完整走一遍为了让上面的方法落地我拿一道当年作业里的综合题举例。题目大致是已知被控对象 \(G(s) 10/(s(s1))\)采样周期 \(T 1s\)前接零阶保持器。要求(1) 求广义对象的脉冲传递函数 \(G(z)\)(2) 设计单位阶跃输入下的最少拍数字控制器 \(D(z)\)(3) 校验系统输出序列。第一步求 \(G(z)\)。根据零阶保持器与对象的串联关系\(G(z) (1-z^{-1}) \cdot Z[G(s)/s] (1-z^{-1}) \cdot Z[10/(s^2(s1))]\)先把 \(10/(s^2(s1))\) 部分分式分解成 \(10/s^2 - 10/s 10/(s1)\)。查表并考虑T1s得到\(Z[10/s^2] 10 \cdot z/(z-1)^2\)\(Z[10/s] 10 \cdot z/(z-1)\)\(Z[10/(s1)] 10 \cdot z/(z-e^{-1})\)。逐项组合再乘 \((1-z^{-1})\)化简后得到\(G(z) \frac{3.68z 2.64}{(z-1)(z-0.368)}\)这个结果我印象很深因为 \(3.68\) 和 \(2.64\) 是由 \(e^{-1} \approx 0.368\) 组合出来的常数很多版本作业里都能见到类似数字。算出 \(G(z)\) 后一定要检查(z-1)因子来自积分环节如果对象里没有积分环节脉冲传递函数在z1处就不会有这个极点。第二步设计最少拍控制器。单位阶跃输入下取 \(\Phi_e(z) 1-z^{-1}\)则 \(\Phi(z) z^{-1}\)。控制器为\(D(z) \frac{\Phi(z)}{G(z)\Phi_e(z)} \frac{z^{-1}}{G(z)(1-z^{-1})}\)代 \(G(z)\) 进去通分化简。第三步求输出序列。闭环输出 \(C(z) \Phi(z)R(z)\)单位阶跃的Z变换 \(R(z) z/(z-1)\)所以 \(C(z) z^{-1} \cdot z/(z-1) 1/(z-1)\)。展开成幂级数得到 \(c(kT) 1\)k≥1也就是一拍之后输出就到1这就是“最少拍”的直观意义。这道题完整做完整份作业的几条主线——零阶保持器建模、Z变换、脉冲传递函数、最少拍设计——就全部串起来了。作业里如果还有附加题让你画输出序列图把数值标出来就行。6. 常见错误与考场/作业自查清单6.1 五个高频翻车点我批改过几轮学弟学妹的作业也帮老师整理过答案最常见的错误集中在五个地方第一零阶保持器环节漏乘 \((1-z^{-1})\)。这是最经典的低级错误一错毁所有后面控制器的D(z)全跟着错。第二部分分式展开时没有先除z。离散Z变换表的基准形式是 \(z/(z-a)\)不是 \(1/(z-a)\)。直接按连续系统的方式展开 \(F(z)\)查表时就对不上。第三双线性变换后忘乘 \((w-1)^n\) 去分母。结果劳斯表首列乱成一团稳定性判断全错。第四最少拍设计里 \(\Phi_e(z)\) 选错。输入是斜坡却用阶跃的 \((1-z^{-1})\)稳态误差不为零系统根本不能满足题目要求。第五物理可实现约束没检查。设计出的D(z)分子阶次高于分母这在现实中无法实现作业里属于概念性错误比算错数字更严重。6.2 自查清单每次做完作业按这个清单过一遍广义对象 \(G(z)\) 里有没有代入零阶保持器代入后整理出的特征多项式有没有漏项Z反变换用的部分分式是不是先除z再乘z稳定性题目的劳斯表第一列符号是否逐一列出有没有说明符号变化次数代表的含义最少拍控制器 \(D(z)\) 是否满足分子阶次不高于分母阶次输出序列前几拍是否与理论一致如果题目要求讨论采样周期对系统的影响有没有提到T过大可能导致系统失稳6.3 独家避坑技巧最后分享几条我在反复做题和看别人代码仿真时总结的经验。第一做计算题别在中间步骤保留小数。 \(e^{-1}\) 该写成0.368就写0.368但中间过程尽量用分数或保留四位有效数字否则误差累积到最后特别难看。第二用MATLAB验算时注意 c2d 函数的用法。 \(G(z) c2d(Gs, T, zoh)\) 得到的就是带零阶保持器的广义对象。我当年用这行命令验算作业十次有八次能查出自己手算哪里漏了项。第三最少拍设计完成后一定要回到时域看输出序列。如果理论上两拍结束但序列第二拍之后还在抖说明 \(\Phi(z)\) 没化简干净或者z^{-1}的阶次配错了。第四平时积累一个“Z变换速查卡”。把 \(1/s\)、\(1/s^2\)、\(1/(sa)\)、\(1/(s(sa))\) 这几类常见拉普拉斯变换对应的Z变换抄在一张纸上考试和做作业都省去翻书时间。我至今办公室里还贴着一张当年的手写版做项目估算时偶尔也会瞄一眼。计算机控制系统这门课本质上就是把经典控制理论从连续世界搬到离散世界。作业题虽然看起来公式多、套路深但只要你掌握了采样、Z变换、脉冲传递函数、稳定性判据、数字控制器设计这条主线所有题目都只是主线上不同环节的组合。与其到处求一份参考答案不如自己把这条主线走通一遍。真到了考试或者实际项目里你能依赖的只有自己脑子里的这套框架。本文还有配套的精品资源点击获取
返回列表