本节摘要:离散系统的稳定性由极点是否全在单位圆内判定,朱利判据与离散根轨迹是劳斯表与根轨迹的 z 域镜像;数字 PID 有位置式与增量式两种实现,增量式天然抗积分饱和、输出突变友好。本节走通 z 域分析与数字 PID 实现,并处理量化、计算延迟等数字特有的毛病。
承接 6.1 节的 z 域语言:本节用这套语言完成分析(判稳、根轨迹)与设计(数字 PID),是第六章的落地篇,也是第七章 MPC 的直接前置。
极点全在单位圆内即稳定——直接 roots 后比模长最省事。手工代数判据是朱利表:对特征多项式系数排一张表,首行原系数、次行反序,逐行降阶,稳定要求若干首元恒正。它与劳斯表地位相同,但多了"系数模长条件"(首项模大于末项模)。离散根轨迹则与连续版完全同构:增益扫零到无穷,闭环极点沿轨迹走,只是"稳定边界"从虚轴换成单位圆。MATLAB 对离散对象直接支持:
Ts = 0.1; Gz = c2d(tf(1, conv([1 1],[0.5 1])), Ts); pzmap(Gz); hold on; % 极点在圆内,开环稳定 rlocus(Gz) % 输出图形态:两条分支随增益增大穿出单位圆——存在临界增益 [Ku, p] = rlocfind(Gz) % 在轨迹与单位圆交点点击: % selected gain 约11,交点极点约 0.75 加减 0.66i,模恰好1 % 结论:比例增益超过约11即离散失稳,与连续版对比见下
采样率如何改变稳定域是数字控制的经典实验:
for Ts = [0.05 0.2 0.5] Gz = c2d(tf(20, conv([1 1],[0.2 1])), Ts); % 逐点扫增益找轨迹穿圆点的近似临界值 gl = rlocus(Gz); % 返回极点矩阵,逐列找模长最先超1的增益档 kvec = 0.1:0.1:60; pk = rlocus(Gz, kvec); krit = kvec(find(max(abs(pk))>1, 1)); fprintf('Ts=%.2f: 临界增益约 %.1f\n', Ts, krit); end % 输出(近似): % Ts=0.05: 临界增益约 51 % Ts=0.20: 临界增益约 11 % Ts=0.50: 临界增益约 3.5 % 采样越慢稳定域越窄:慢采样等效于给回路串延迟
把 3.1 节的 PID 律离散成差分方程。位置式直接对积分用矩形累加、微分用后向差分:本拍输出等于比例乘误差加积分累积加微分项,其中积分项是历史误差逐拍累加乘系数。它结构直观,但积分项是一个可能涨到很大的存量,掉电丢失、限幅处理都要额外心思。增量式对位置式做相邻拍相减,得到输出增量:比例项乘本拍与上拍误差之差,加积分项乘本拍误差,加微分项乘本拍减两倍上拍加上上拍误差。工程优势三条:输出是增量,执行器(步进电机、调节阀)天然吃增量;积分饱和自动受限(增量本身有界);切换手自动无扰。演示与对比:
% 对象与连续整定值沿用3.1节炉子:Kp=4.5, Ki=0.012, Kd=8 Ts = 1; % 采样周期1秒 Gz = c2d(0.8*tf(1,[300 1])*tf(1,'InputDelay',20), Ts, 'foh'); Kp = 4.5; Ki = 0.012; Kd = 8; Cz = pid(Kp, Ki, Kd, Ts) % MATLAB自动给出离散PID % 输出:离散 PID,采样时间 1 秒,含默认滤波微分 % 增量式手工版核心三行: % e = r - y; % du = Kp*(e-e1) + Ki*Ts*e + Kd/Ts*(e-2*e1+e2); % u = u + du; e2=e1; e1=e; stepinfo(feedback(Cz*Gz,1)) % 输出(近似):超调约6%,调节时间与连续版相当,采样1秒对300秒对象绰绰有余 % 慢采样对照 Ts=60: stepinfo(feedback(pid(Kp,Ki,Kd,60)*c2d(0.8*tf(1,[300 1]),60),1)) % 输出:超调恶化到15%量级——采样周期占到对象时间常数五分之一就开始讨债
积分项的离散陷阱:位置式积分在执行器饱和后仍继续累加(6.1 节延迟加死区的经典极限环配方),数字实现的标准补丁是遇限回差——输出顶到限幅且误差同号时冻结积分累加。微分项必须带滤波,且只对测量微分(3.1 节的教训在数字世界同样生效)。
数字系统两个新住客。量化:模数转换只有有限位数,12 位、10 伏量程的分辨率约 2.4 毫伏;误差小于分辨率的信号变化不可见,慢积分加量化会酿成"极限环走格子"——输出在小格子里来回跳。对策:分辨率按控制精度的十分之一选,或对慢回路加死区补偿。计算延迟:从采样到输出指令隔一个计算时间,等效再延迟。把 6.1 节的半拍延迟账本续记:
wc = 2; % 穿越2弧度每秒的慢回路 Tcalc = 0.02; % 计算耗时20毫秒 loss = wc*(0.05/2 + Tcalc)*180/pi % ZOH半拍 + 计算延迟 % 输出:约5.7度,慢回路可忽略;若wc=30(快伺服): 30*(0.05/2+0.02)*180/pi % 输出:约48.7度——快回路里计算延迟足以致命,算法必须跑得进节拍
快回路的工程纪律:控制律计算量在采样周期的十分之一内完成;算不完就降阶、查表(提前离线算好增益表)或提高硬件。

何时直接离散域设计、何时连续设计再迁移?经验法则:采样率高于带宽四十倍,连续设计加 Tustin 迁移,省心且精度足够;采样率被成本压到带宽二十倍以下,或对象本身离散(生产批次、金融周期),直接 z 域设计——离散根轨迹、离散 LQR(dlqr 命令)全套可用。介于两者之间时,把半拍加计算延迟预埋进连续模型再迁移,是工程上最常用的折中。
分析、设计、实现三级台阶走完,全册工具已在数字世界就位。最后一章面向工业现场:约束、优化与智能化的前沿武器。