控制系统传递函数 2 种标准形式:首1型与尾1型在根轨迹与Bode图中的应用对比
控制系统传递函数两种标准形式的工程应用对比首1型与尾1型在根轨迹与Bode图中的实战解析引言为什么我们需要两种标准形式在自动控制系统的分析与设计中传递函数作为描述系统动态特性的核心数学工具其标准形式的选取直接影响后续分析的便捷性与直观性。面对同一个传递函数表达式工程师们常会根据不同的分析目的将其整理为首1型零极点形式或尾1型时间常数形式。这两种形式看似只是代数表达式的变形实则暗含深刻的工程应用逻辑。想象你手中有一把多功能瑞士军刀——首1型就像展开刀刃进行精细雕刻特别适合分析系统的稳定性与动态响应而尾1型则如同使用剪刀功能更擅长处理频率特性与稳态性能。本文将带您深入这两种形式的转换技巧并通过典型例题演示它们在根轨迹法和频域分析法中的实战应用差异。1. 首1型与尾1型的数学本质与转换方法1.1 首1型零极点形式的数学特征首1型传递函数的标准表达式为$$ G(s) \frac{K^*\prod_{j1}^m(s-z_j)}{\prod_{i1}^n(s-p_i)} $$关键特征每个因式中s的系数为1即首项系数归一化$K^*$称为根轨迹增益具有明确的物理意义直接呈现系统的零点$z_j$和极点$p_i$转换步骤示例 考虑传递函数 $G(s) \frac{2(s3)}{s(s^22s5)}$分解分母多项式# 在Python中求解分母的根 import numpy as np roots np.roots([1, 2, 5]) # 结果为[-1±2j]整理为首1形式 $$ G(s) \frac{2(s3)}{s(s1-2j)(s12j)} \frac{0.4(s3)}{s[(s1)^24]} $$注意在复数极点情况下通常保留二次因式形式更便于工程应用。1.2 尾1型时间常数形式的数学结构尾1型的标准表达式为$$ G(s) K\frac{\prod(\tau_ks1)\prod(\tau_l^2s^22\xi\tau_ls1)}{s^v\prod(T_is1)\prod(T_j^2s^22\xi T_js1)} $$核心特点每个因式的常数项为1即尾项系数归一化$K$称为系统增益直接影响稳态输出时间常数$\tau$和$T$直接关联系统的响应速度转换实战 将 $G(s) \frac{5(s2)}{(s10)(s0.1)}$ 转换为尾1型提取各因式的常数项% MATLAB符号计算示例 syms s G 5*(s2)/((s10)*(s0.1)); [num,den] numden(G); num collect(num/2,s); % 分子提出常数2 den collect(den/10,s); % 分母提出常数10得到尾1形式 $$ G(s) \frac{5×2(0.5s1)}{10(0.1s1)(10s1)} \frac{(0.5s1)}{(0.1s1)(10s1)} $$1.3 两种形式的对比表格特性首1型尾1型标准化目标各因式s系数为1各因式常数项为1增益名称根轨迹增益$K^*$系统增益$K$主要应用场景根轨迹分析、稳定性研究频域分析、稳态误差计算零极点可见性直接显示需解方程获得典型环节分解适用于部分分式展开便于时间常数提取工程调试优势方便调整极点位置直观反映系统带宽2. 首1型在根轨迹分析中的核心作用2.1 根轨迹绘制的基本原理根轨迹是当系统增益$K^*$从0变化到∞时闭环极点在s平面上的运动轨迹。使用首1型传递函数的根本原因在于增益一致性根轨迹增益$K^*$直接对应绘图参数几何解释清晰零极点位置决定渐近线角度与分离点相位条件$\sum\angle(s-z_j)-\sum\angle(s-p_i)180°$的几何意义明确典型绘制步骤将开环传递函数化为首1型标出s平面上的零极点确定实轴上的根轨迹区间计算渐近线角度与交点找出分离/会合点2.2 实例解析二阶系统根轨迹考虑系统 $G(s)H(s) \frac{K^*}{s(s2)}$# Python控制库绘制根轨迹 import control as ct import matplotlib.pyplot as plt sys ct.TransferFunction([1], [1, 2, 0]) ct.root_locus(sys, plotTrue) plt.title(Root Locus of $G(s)\\frac{K^*}{s(s2)}$) plt.grid(True) plt.show()关键观察点渐近线角度±90°交于σ-1分离点s-1通过$\frac{dK^*}{ds}0$求解临界增益$K^*4$对应纯虚根2.3 高阶系统处理技巧对于 $G(s)H(s) \frac{K^*(s1)}{s(s2)(s5)}$实轴根轨迹[-5,-2]和[-1,0]渐近线角度±90°n-m2分离点计算 $$ \frac{1}{d1} \frac{1}{d} \frac{1}{d2} \frac{1}{d5} $$ 解得d≈-0.45提示使用首1型时MATLAB的rlocus函数直接接受该形式无需额外转换。3. 尾1型在频域分析中的独特优势3.1 Bode图绘制的核心逻辑尾1型传递函数在频域分析中展现出三大优势渐近线近似当ω≫1/τ时20log|jωτ1|≈20log(ωτ)转折频率直观各环节的转折频率ω1/τ增益调整方便直接读取低频增益20logK典型绘制流程将传递函数转换为尾1型确定各环节的时间常数和转折频率绘制幅频特性的渐近线近似添加相位曲线3.2 案例演示三阶系统Bode图分析 $G(s) \frac{10(s0.1)}{(s1)(s100)}$转换为尾1型 $$ G(s) \frac{0.01(10s1)}{(s1)(0.01s1)} $$识别关键参数低频增益20log(0.01) -40dB转折频率0.1rad/s零点、1rad/s极点、100rad/s极点% MATLAB Bode图绘制 s tf(s); G 0.01*(10*s1)/((s1)*(0.01*s1)); bode(G), grid on幅频特性特征0.1rad/s前-40dB/dec斜率0.1-1rad/s-20dB/dec零点作用1-100rad/s-40dB/dec100rad/s后-60dB/dec3.3 非最小相位系统处理对于包含右半平面零极点的系统如 $G(s) \frac{1-s}{1s}$转换为尾1型 $$ G(s) -\frac{s-1}{s1} -\frac{(0.1s-1)}{(0.1s1)} \quad (\text{假设时间常数0.1}) $$Bode图特点幅频特性与最小相位系统相同相位滞后更显著4. 工程应用中的综合决策4.1 形式选择的黄金法则分析类型首选形式原因稳定性分析首1型直接反映系统极点位置便于劳斯判据应用动态响应设计首1型根轨迹清晰展示极点随增益变化规律频域指标验证尾1型转折频率直观便于估算带宽、相位裕度稳态误差计算尾1型系统增益K直接对应静态误差系数控制器参数整定两者结合首1型设计主导极点尾1型校验频率特性4.2 典型设计案例位置伺服系统给定要求超调量σ%≤5%调节时间ts≤1s速度误差系数Kv≥10设计步骤初步建模尾1型 $$ G(s) \frac{2.5}{s(0.5s1)(0.02s1)} $$转换为首1型用于根轨迹设计 $$ G(s) \frac{250}{s(s2)(s50)} $$根轨迹设计期望主导极点ζ0.7, ωn≈4.6rad/s添加超前补偿器$G_c(s) \frac{s2}{s10}$验证频域指标切换回尾1型G_comp 250*(s2)/(s*(s50)*(s10)); margin(G_comp)4.3 常见误区警示增益混淆误将尾1型的K当作根轨迹增益$K^*$修正方法全部分子常数项提取到K外时间常数误读将$\tau^2s^22ζτs1$中的τ误认为转折频率实际转折频率$ω_n1/τ$非最小相位忽视右半平面零点导致相位特性异常诊断技巧检查分子因式符号高频段忽略认为高频极点不影响主要性能实际影响可能引入额外相位滞后降低稳定裕度5. 计算机辅助分析实战技巧5.1 MATLAB/Python中的自动转换MATLAB实现% 首1型转换为尾1型 G_zpk zpk([-1], [0 -2 -5], 10); % 首1型创建 G_tf tf(G_zpk); % 自动转换为尾1型 % 自定义转换函数 function [G_tail1] to_tail1(G) [z,p,k] zpkdata(G,v); % 处理零点 cz cellfun((x) -1./x, num2cell(z(z~0)), UniformOutput, false); % 处理极点 cp cellfun((x) -1./x, num2cell(p(p~0)), UniformOutput, false); new_k k * prod(-z(z~0)) / prod(-p(p~0)); G_tail1 tf(new_k * poly([cz{:}]), poly([cp{:}])); endPython实现from scipy import signal import numpy as np def to_tail1(num, den): # 求零极点 z np.roots(num) p np.roots(den) # 计算新增益 K num[-1]/den[-1] * np.prod(-z[np.nonzero(z)])/np.prod(-p[np.nonzero(p)]) # 构建新多项式 new_num K * np.poly(-1/z[z ! 0]) new_den np.poly(-1/p[p ! 0]) return new_num, new_den5.2 仿真对比案例比较 $G(s)\frac{2(s3)}{(s1)(s5)}$ 两种形式的阶跃响应# 首1型仿真 sys_zpk signal.ZerosPolesGain([-3], [-1, -5], 2) t, y1 signal.step(sys_zpk) # 尾1型仿真 num, den to_tail1([2, 6], [1, 6, 5]) sys_tf signal.TransferFunction(num, den) _, y2 signal.step(sys_tf) # 绘图比较 plt.plot(t, y1, label首1型) plt.plot(t, y2, --, label尾1型) plt.legend(), plt.grid(True) plt.title(不同形式传递函数的阶跃响应对比)关键发现两种形式描述的同一系统动态特性完全一致验证了数学等价性。结语掌握形式转换的艺术在实际工程设计中我经常遇到学生纠结于该用哪种传递函数形式。经过多个项目的实践验证我的经验是根轨迹设计阶段优先使用首1型频域验证阶段切换到尾1型。这种灵活转换的能力正是控制工程师专业素养的体现。记得在一次无人机控制系统调试中我们首先用首1型确定了主导极点的合适位置随后用尾1型分析了传感器噪声的影响频率范围。这种双重视角的分析方法最终帮助我们实现了既稳定又抗干扰的飞行控制系统。