想象你是游乐园的“秋千安全员”。游客来问:“这个秋千荡起来,是越荡越低、慢慢停住,还是越荡越猛、最后把人甩出去?”你要回答的,不是秋千现在荡多高,而是它的“体质”——是天然的刹车派,还是天生的助燃派。 信号与系统里讲的“系统稳定性”,就是一门研究“体质”的学问。秋千的骨架、转轴、绳长决定了它的摆动性格;一个系统的极点、频率响应、特征方程也决定了它在信号冲击下会收敛还是会失控。工程师手里有四件检查工具:BIBO准则(做安全试荡)、极点位置判据(看设计图)、Routh-Hurwitz判据(翻体检表)和奈奎斯特判据(开车试驾)。这篇文章就是一份给AI从业者的“秋千安全员上岗手册”——因为不管是训练神经网络还是设计滤波器,你其实都在反复做同一件事:判断一个系统稳不稳。

岗位关联

掌握稳定性判据,等于获得一套“系统失控预判力”:无论是训练不收敛、滤波器发疯还是控制器震荡,你都能快速定位是“哪个极点跑出了安全区”,这是信号处理与AI工程交叉岗位的核心硬技能。

目录
  1. 可视化演示
  2. 1. BIBO稳定性——给秋千做安全试荡
  3. 2. 极点位置判据——翻开工地设计图
  4. 3. 连续系统分析——自由响应的刹车片
  5. 4. 离散系统分析——节拍器上的数字秋千
  6. 5. Routh-Hurwitz判据——翻体检表
  7. 6. 奈奎斯特判据——试驾绕圈
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示连续系统s平面左半平面判据、离散系统z平面单位圆判据与Routh-Hurwitz代数判据,交互理解稳定性分析方法。

本节配有交互动效(进入视口后自动加载,约 3KB)。

'+modeData.continuous.caption+'

1. BIBO稳定性——给秋千做安全试荡

你当上秋千安全员的第一天,老师傅教你最笨也最可靠的办法:亲自坐上去,让人从各个方向推。如果无论怎么推,秋千都不把你甩飞,那它就是“有界输入有界输出”的——这是个黑盒检验,不需要拆开任何零件,也不用看懂任何图纸。

在信号与系统里,这套黑盒检验有个学名:BIBO稳定性,全称 Bounded-Input Bounded-Output。它说的是:对任意有界输入信号 u(t),系统的输出 y(t) 也一定是有界的。翻译成人话就是:不管外面来的是多猛烈的信号,系统都不会把能量放大到无穷大,不会“把人甩飞”。

对线性时不变系统,BIBO稳定性有一个漂亮的充要条件:系统的冲激响应 h(t) 必须绝对可积。直观上,冲激响应是系统对一次“短促冲击”的完整反应,把它在整个时间轴上的影响面积加起来,如果总面积不是无穷大,就说明系统的“能量放大上限”是有限的。

BIBO准则像一次“安全试荡”:不用拆秋千,只需要反复推它看结果。优点是省事,缺点是如果推法不够全面,可能漏掉某些危险推法。所以安全员还需要看设计图,也就是下一节的极点位置判据。

∫−∞∞∣h(τ)∣ dτ<∞\displaystyle \int_{-\infty}^{\infty} |h(\tau)| \, d\tau < \infty
这个公式像在称量“秋千甩人能量”的总预算:把每个时刻的冲击响应绝对值加总,预算有限,系统才安全。
  1. 冲激响应$h(\tau)$ 是系统对单位瞬间冲击的完整回应,相当于“秋千被猛推一下后的全程运动轨迹”。
    h(τ)h(\tau)
  2. 取绝对值$|h(\tau)|$ 防止正负振荡互相抵消。秋千来回摆的轨迹正负交替,直接积分可能掩盖了实际的大幅度摆动。
    ∣h(τ)∣|h(\tau)|
  3. 全时间积分$\int_{-\infty}^{\infty}$ 把从负无穷到正无穷每个时刻的响应都算上,等于把整个摆动过程的总影响力累加。
    ∫−∞∞∣h(τ)∣ dτ\int_{-\infty}^{\infty} |h(\tau)| \, d\tau
  4. 小于无穷$< \infty$ 是安全线,总影响有限,说明系统对一切有界输入都只会给出有界输出。
    <∞< \infty

2. 极点位置判据——翻开工地设计图

试荡可以做,但老师傅说:真正的高手还要翻施工图纸。秋千的绳长、横梁材质、转轴阻尼,决定了它天生是“收敛派”还是“发散派”。图纸上写着的,就是系统的“极点”。

系统的传递函数 H(s) = N(s)/D(s),D(s) 的特征根就叫极点。极点就是系统的“体能基因”:每个极点对应一种自然的运动模式,这种模式在没有任何外部输入时也会自己“表演”,叫自由响应。

连续系统的极点是一个复数 p = σ + jω。σ 决定它衰减还是增长:σ<0 时,自然模式 e^{σt} 随指数衰减;σ>0 时指数增长;σ=0 时则等幅振荡。所以只要所有极点的实部都小于零(都在左半平面),系统就是稳定的。

看设计图比试荡快得多:不用推秋千,纸上就能断定它会不会甩飞。不过,这张图只回答了“零输入时会不会自己收敛”,至于外力长期作用会怎样,还要结合下一节的连续系统动态方程。

H(s)=N(s)D(s),D(s)=∏i=1n(s−pi)\displaystyle H(s) = \frac{N(s)}{D(s)}, \quad D(s) = \prod_{i=1}^{n}(s - p_i)
分母分解成连乘式,就像把秋千的“身高体重绳长”拆成一条条独立的体检数据,每一条对应一个极点的性格。
  1. 传递函数$H(s) = N(s)/D(s)$ 是系统的频域“身份证”,分子管输入怎么进来,分母管系统本身怎么响应。
    H(s)=N(s)D(s)H(s) = \frac{N(s)}{D(s)}
  2. 分母因式分解$D(s) = \prod (s-p_i)$,把多项式拆成一排因子,每个因子代表一个“简单动作”。
    D(s)=∏i=1n(s−pi)\displaystyle D(s) = \prod_{i=1}^{n}(s - p_i)
  3. 极点位置判断$p_i$ 落在左半平面(实部<0)则该项天然衰减,全部满足时系统稳定。
    Re(pi)<0\mathrm{Re}(p_i) < 0

3. 连续系统分析——自由响应的刹车片

同一张秋千图纸上的绳长完全相同,但一个装了液压阻尼器,一个没装,荡起来完全不同。阻尼器就是系统里的“刹车片”——在二阶系统的微分方程里,那个叫“阻尼比”的系数就是刹车片的厚度。

很多工程系统可以建模为二阶微分方程。它的特征方程 $s^2 + 2ζω_n s + ω_n^2 = 0$ 的两根就是系统的极点。极性区别很直观:ζ>1 叫过阻尼,秋千慢慢回位不振荡;0<ζ<1 叫欠阻尼,秋千来回摆动但幅度递减;ζ<0 叫负阻尼,秋千越摆越高,直接失控。

特征根写成 $p_{1,2} = -ζω_n \pm ω_n\sqrt{ζ^2-1}$。当 $0<ζ<1$ 时,极点的实部 $-ζω_n<0$ 且虚部非零,系统作衰减振荡;若 ζ=0,实部为零,系统等幅振荡停不下来;若 ζ<0,实部为正,指数增长,这就是“秋千把小朋友甩飞”的数学写照。

连续系统的类比很自然:物理秋千本来就是连续摆动的。但很多现代系统是数字控制器,每隔一小段时间采样一次,这就像有个节拍器在给秋千打拍子,下一节就走进离散系统的世界。

y¨(t)+2ζωny˙(t)+ωn2y(t)=0\displaystyle \ddot{y}(t) + 2\zeta\omega_n\dot{y}(t) + \omega_n^2 y(t) = 0
这个方程像秋千的“牛顿第二定律”:加速度由弹簧恢复力和阻尼阻力共同决定,ζ 就是刹车片的厚度。
  1. 加速度项$\ddot{y}$ 代表摆动加速度,相当于合力产生的运动变化。
    y¨(t)\ddot{y}(t)
  2. 阻尼项$2\zeta\omega_n\dot{y}$,速度越快刹车力越大,对应秋千转轴摩擦或者空气阻力。
    2ζωny˙(t)2\zeta\omega_n\dot{y}(t)
  3. 恢复力项$\omega_n^2 y$,偏离平衡越远往回拉的力越大,对应重力把秋千拉回最低点。
    ωn2y(t)\omega_n^2 y(t)
  4. 零右边$=0$ 表示自由响应——推完一下之后不再有外力,只看系统自己的“余兴表演”。
    =0=0

4. 离散系统分析——节拍器上的数字秋千

游乐园升级了,秋千换成了“数字秋千”:电脑每 0.01 秒看一次秋千的位置,决定要不要推一把。这个系统不再是连续摆动,而是踩着节拍一步步走的离散系统。

离散系统用 Z 变换分析,稳定性判据变成了:所有极点必须在 z 平面的单位圆内。为什么是单位圆?因为 z 与 s 之间有映射关系 z = e^{sT},T 是采样周期。连续世界的左半平面,经过指数映射后刚好变成单位圆的内部。

如果极点 z_i 满足 |z_i| < 1,表示对应的序列 z_i^k 随 k 增长而衰减;|z_i|>1 则爆炸;|z_i|=1 表示临界,序列不衰减也不增长。实践中还要留出裕量,所以设计目标通常要求极点离单位圆边界保留一定距离,防止参数漂移导致越界。

数字秋千的“步子”必须落在圈内,这是数字信号处理里设计 IIR 滤波器时必须盯死的红线。不过上面几种判断都要已知传递函数或特征方程,万一方程是七八阶多项式,求根太痛苦,那就该 Routh-Hurwitz 判据登场了。

z=esT,∣z∣<1⟺Re(s)<0\displaystyle z = e^{sT}, \quad |z| < 1 \Longleftrightarrow \mathrm{Re}(s) < 0
这像把连续秋千的“连续时间”换成节拍器的“每拍状态”:极点在单位圆内,节拍越打越稳;越到圆外,每拍误差放大,迟早把秋千打飞。
  1. 指数映射$z = e^{sT}$ 把 s 平面的一条垂线映成 z 平面的一个圆,左半平面恰好映成单位圆内部。
    z=esTz = e^{sT}
  2. 模小于1$|z| < 1$ 表示离散极点在单位圆内,对应序列 $z^k$ 每拍乘一个小于1的因子,逐渐衰减。
    ∣z∣<1|z| < 1
  3. 左右等价实部 $\mathrm{Re}(s) < 0$ 与 $|z| < 1$ 是同一个事实在两个域里的表达,一个像“连续刹车”,一个像“数字刹车”。
    ⟺\Longleftrightarrow

5. Routh-Hurwitz判据——翻体检表

老师傅还有一手绝活:不推秋千,也不解图纸上的高次方程,只拿一张体检表,把绳长、重量、轴承磨损度逐项填进去,算出几行数字,扫一眼符号就敢下结论。这就是 Routh-Hurwitz 判据。

输入只有一样东西:特征方程的系数。特征方程可以写成 $D(s) = a_n s^n + a_{n-1}s^{n-1} + \cdots + a_0 = 0$,系数全部已知。Routh 判据按固定的代数规则排出表格,不需要求根就能回答“右半平面有几个极点”。

构造规则非常机械:先取出系数奇偶两行,然后逐行交叉相乘求差再除以首列元素。把所有行排好后看第一列:如果第一列的符号从头到尾没有变化,系统稳定;每变号一次,就代表右半平面多一个极点。如果第一列出现零且整行都为零,说明有虚轴极点,判据进入退化处理。

体检表的好处是快速、公式化,特别适合程序员用一行循环实现,也不用担心高次方程求根难。但要论“眼见为实”,还得请出下一节的奈奎斯特判据——它让你亲眼看到系统在频率世界里“试驾”一圈。

D(s)=ansn+an−1sn−1+⋯+a1s+a0=0\displaystyle D(s) = a_n s^n + a_{n-1}s^{n-1} + \cdots + a_1 s + a_0 = 0
这个公式是“体检表的表头”,后边的 Routh 表只是对这张表的逐行填数。
  1. n次多项式$a_n s^n$ 是最高次项,n 是系统阶数,相当于体检表上的“年龄”字段。
    ansna_n s^n
  2. 系数列表$a_{n-1}, \ldots, a_0$ 是每一阶的系数,按顺序填入表格就是安全的原料。
    an−1sn−1+⋯+a0a_{n-1}s^{n-1} + \cdots + a_0
  3. 等于零特征方程 $=0$ 的解正是极点位置,Routh 表不需要解出它们,只看系数就能数出右半平面的个数。
    =0=0

6. 奈奎斯特判据——试驾绕圈

体检表再快,也只是“纸上谈兵”。老师傅的终极手段是装上摄像头,让秋千连带整个支架在频域“试驾”一圈,看它的行驶路线有没有把地上的危险杆(-1点)圈进包围圈。

奈奎斯特判据不像 Routh 那样处理特征多项式,而是从系统开环频率响应 $G(j\omega)H(j\omega)$ 出发,在复平面上画出一条曲线,观察这条曲线围绕 $-1 + j0$ 点的净圈数,就可以推断闭环后系统的稳定性。这相当于“我虽然没真把秋千坐上去,但通过数学模拟在全频率范围试驾了一遍”。

设 P 为开环传递函数在右半平面的极点数,N 为奈奎斯特曲线顺时针包围 -1 点的净圈数,Z 为闭环后右半平面极点数。判据说:Z = N + P。闭环稳定要求 Z = 0,所以如果开环本身稳定(P=0),曲线就不许把 -1 点包进去;如果开环有个不稳定极点(P=1),曲线必须逆时针绕 -1 一圈来“抵消”它。

奈奎斯特判据是“带摄像头试驾”的集大成者:它把频率域的全部信息压缩进一条曲线,连建模误差都能通过曲线离 -1 点的距离(稳定裕度)读出。四件工具到这里就全部介绍完了——试荡、图纸、体检表、试驾,各自有各自好用的时候。

Z=N+P\displaystyle Z = N + P
这个公式像秋千试驾的“事故统计”:N 是驾驶员绕了多少圈危险杆,P 是车本身带了多少处暗病,两者一加就是最终出事概率。
  1. 闭环极点计数$Z$ 是闭环后右半平面的极点数,任何系统只要有一个右半平面极点就完蛋,所以要求 Z=0。
    ZZ
  2. 环绕圈数$N$ 是曲线顺时针包围 -1 点的净圈数,绕一圈就代表闭环沿某个边界切换了一次稳定状态。
    NN
  3. 开环隐患$P$ 是开环右半平面极点数,像车出厂自带的安全隐患底数。稳定时 $N=-P$,两股力量恰好抵消。
    PP

AI 应用场景

场景1:深度学习训练中的梯度稳定性监控

阶段:模型训练

解决的问题:训练RNN/LSTM时,梯度沿时间反向传播会反复乘同一个权重矩阵。这套机制和最开头说的“秋千荡出去会不会越荡越猛”一模一样:如果循环权重矩阵的谱半径大于1,梯度就像不稳定秋千一样指数放大,几轮之后直接上涨到 NaN;谱半径小于1太久,梯度又像阻尼过大的秋千瘫在原地,学不动。传统做法靠肉眼盯损失曲线和频繁调学习率试错;用稳定性视角可以提前在模型初始化阶段做“极点体检”。

具体案例:某算法工程师训练LSTM做舆情分类,第2万步损失从0.2跳变到1e8。他写了一段脚本检查循环矩阵的谱半径,发现初始化谱半径为1.05,超过了“单位圆边界”。把初始化缩放因子调到0.9后,训练曲线恢复平滑收敛。

场景2:IIR滤波器定点化前的极点扫描

阶段:模型部署

解决的问题:语音前端降噪IIR滤波器从浮点转16位定点时,系数量化会让极点位置发生漂移。原本在单位圆内的极点一旦漂到圆外,滤波器就变成自激振荡器,发出刺耳啸叫。这就像数字秋千的绳长在换绳子时被截短了一截,突然失去控制。用极点位置判据在部署前逐条扫描每个滤波器,相当于给每个秋千拍X光片。

具体案例:智能音箱语音唤醒模块有32个IIR滤波器,定点化验证时发现其中一对共轭极点从0.982漂到1.008。扫描脚本自动标记风险滤波器,改用双精度版本部署,啸叫问题消失。

场景3:强化学习控制策略的频域体检

阶段:策略评估

解决的问题:强化学习策略更新频繁,行为会从“稳定收敛”跳到“剧烈振荡”。借鉴奈奎斯特的“绕圈”思想,把智能体+环境当成一个开环系统,扫描它的开环频响并检查稳定裕度,可以在大规模试错之前就预判哪些超参数会让控制回路失稳。

具体案例:机器人平衡策略在仿真训练中频繁前后抖动。复盘时扫出开环频响的增益裕度只有1.1dB,说明离-1临界点太近。调整奖励函数中的动作惩罚系数后,增益裕度提升到6dB,仿真中的抖动基本消失。

Python 演示

python69 行
# -*- coding: utf-8 -*-"""Routh-Hurwitz 判据:不求解特征根,仅凭特征多项式系数判断系统稳定。"""  def routh_hurwitz(coeffs):    """返回 (Routh表, 右半平面极点个数)。     coeffs 是从最高次到常数项的系数列表:        [1, 6, 11, 6] 表示 s^3 + 6s^2 + 11s + 6 = 0。    """    if len(coeffs) <= 1:        return [], 0     # 第 1、2 行按奇偶下标拆分系数    table = []    row0 = [coeffs[i] for i in range(0, len(coeffs), 2)]    row1 = [coeffs[i] for i in range(1, len(coeffs), 2)]    # 补零对齐    width = max(len(row0), len(row1))    row0 += [0.0] * (width - len(row0))    row1 += [0.0] * (width - len(row1))    table.append(row0)    table.append(row1)     # 从第 3 行开始逐行计算    for _ in range(2, len(coeffs)):        upper = table[-2]        lower = table[-1]        if abs(lower[0]) < 1e-12:            return table, -1  # 退化情形, 本示例不做特殊处理        new_row = []        for j in range(width - 1):            val = (lower[0] * upper[j + 1] - upper[0] * lower[j + 1]) / lower[0]            new_row.append(val)        new_row += [0.0] * (width - len(new_row))        table.append(new_row)     # 第一列符号变化次数 = 右半平面极点数    first_col = [r[0] for r in table]    changes = 0    prev_sign = 1 if first_col[0] > 0 else -1    for v in first_col[1:]:        if abs(v) < 1e-12:            continue        sign = 1 if v > 0 else -1        if sign != prev_sign:            changes += 1            prev_sign = sign    return table, changes  def is_stable(coeffs):    table, changes = routh_hurwitz(coeffs)    if changes == -1:        return False    return changes == 0  if __name__ == "__main__":    examples = [        ("s^3 + 6s^2 + 11s + 6", [1, 6, 11, 6]),        ("s^3 - s^2 + 2s + 1", [1, -1, 2, 1]),        ("s^2 + 2s + 3", [1, 2, 3]),    ]    for name, coef in examples:        table, changes = routh_hurwitz(coef)        print(name)        print("  右半平面极点数:", changes)        print("  稳定性:", "稳定" if is_stable(coef) else "不稳定")
目的:用纯算术构造 Routh 表,不求解特征根即可判断特征方程的稳定性,输出右半平面极点个数。
  1. row0 = [coeffs[i] for i in range(0, len(coeffs), 2)]取出最高次系数的偶数位项,铺出 Routh 表第一行。
  2. row1 = [coeffs[i] for i in range(1, len(coeffs), 2)]取出奇数位系数,铺出第二行。
  3. val = (lower[0] * upper[j + 1] - upper[0] * lower[j + 1]) / lower[0]Routh 表核心交叉运算:用上两行首列做基准,交叉相乘后相减。
  4. first_col = [r[0] for r in table]抽出 Routh 表的灵魂列:第一列。
  5. if sign != prev_sign:第一列每发生一次符号翻转,就代表右半平面多一个极点。
  6. is_stable([1, 6, 11, 6])实测特征方程 s³+6s²+11s+6=0,输出“稳定”。

常见误区

误区“我把传递函数的所有极点都算出来了,都在左半平面,那这个系统肯定绝对稳定吧?”

正解左半平面极点保证自由响应收敛,但“绝对稳定”还要看系统是否把所有不可控、不可观的内部模态暴露出来。如果传递函数存在零极点相消,被消掉的极点虽然不出现在传递函数中,却仍可能被某些内部信号激励起来,造成“隐藏的不稳定”。教科书判据通常默认系统无零极点相消;工程上还要结合状态空间描述。这就像秋千图纸上写了“绳长2米”,但如果你没发现绳子某处打了死结(隐藏状态),实际荡起来照样可能出事。

为何常见:课本例题大多已经化简成最简传递函数,学生默认零极点相消不存在,忽略了隐藏模态。

误区“离散系统稳定也应该看极点是否在左半平面吧?我在z平面画一条竖线,左边就是稳定区。”

正解离散系统的稳定条件是极点落在单位圆内。s平面的左半平面通过 z=e^{sT} 映射后恰好变成单位圆的内部,而 z 平面的“左边”对应的是 s 平面右半平面的一部分区域,完全不是稳定区。判断离散系统必须画单位圆,不能沿用“左一半就是安全”的直觉,就像节拍器秋千的“每拍步子”不能按连续秋千的“每一瞬间位置”来判断。

为何常见:先学连续再学离散,映射关系没转过弯。

误区“Routh判据给我一个特征方程,我得先解出 s 等于多少,才能填表判断吧?”

正解Routh-Hurwitz 最大的价值就是“不求根也能判稳”。它只对特征多项式系数做加减乘除,排成表格后看第一列符号变化次数,直接得到右半平面极点个数。对五次以上多项式,求根又慢又容易丢精度,而 Routh 表是纯代数操作,几分钟手算完成,写成代码更是一瞬间。

为何常见:初学者习惯了解方程求根,把“判断稳定”和“求根”绑定在一起。

误区“奈奎斯特判据我懂了,就是看系统的频率响应幅值有没有超过0dB,超过了就失稳。”

正解奈奎斯特判据看的是开环频率响应的复平面曲线(奈奎斯特图)是否包围 -1+j0 点,以及包围的净圈数,还需要结合开环右半平面极点个数。只看幅值不看相位,会漏掉大量相位滞后导致的失稳场景。波特图幅值裕度/相位裕度是奈奎斯特图在工程上的快捷读法,但两者不能直接等同。

为何常见:波特图更好记,学生把幅值裕度当成奈奎斯特判据的本体。

面试题

Q1. 关于BIBO稳定的定义,下列说法正确的是?

单选题 · easy

  • A.对一切有界输入,输出也有界← 正确答案
  • B.对特定有界输入,输出有界
  • C.只要求输入幅度不超限值
  • D.系统输出不随时间增长就稳定

答案:A。BIBO稳定要求输入有界时输出也有界,A是正确定义。B“特定输入”不够全面;C把有界输入简化成幅度限制,忽略了高频、脉冲等多种形态;D“不随时间增长”无法排除持续等幅振荡的情况。

Q2. 连续时间LTI系统稳定的充要条件是?

单选题 · easy

  • A.极点全部位于右半平面
  • B.极点全部位于左半平面← 正确答案
  • C.虚轴上存在一对共轭极点
  • D.至少一个极点在原点处

答案:B。连续系统稳定要求所有极点在左半平面,因为只有实部为负的极点对应指数衰减的自然响应。右半平面极点发散,虚轴极点等幅振荡,都不是真正稳定。

Q3. 离散系统极点位于何处时系统稳定?

单选题 · easy

  • A.极点全部位于单位圆外
  • B.极点全部位于单位圆内← 正确答案
  • C.零点和极点位置互换
  • D.系统阶数小于等于两次

答案:B。离散系统通过 z=e^{sT} 映射后,稳定区域是单位圆内部。单位圆外极点对应序列指数发散,单位圆上对应等幅振荡。注意不能把连续系统的“左半平面”直觉照搬过来。

Q4. Routh-Hurwitz判据中,第一列元素符号变化的次数表示?

单选题 · mid

  • A.系统极点的总数和阶数
  • B.右半平面极点的个数← 正确答案
  • C.左半平面极点的个数
  • D.虚轴上极点的个数

答案:B。Routh表第一列每变号一次,就代表有一个极点落在右半平面。第一列符号变化次数不是极点总数,也不是左半平面或虚轴上的极点个数,所以B正确。

Q5. 系统特征方程 s³+6s²+11s+6=0 的稳定性如何?

单选题 · mid

  • A.稳定,全部极点实部为负← 正确答案
  • B.不稳定,左半平面有极点
  • C.临界稳定,虚轴上有极点
  • D.无法仅凭系数做出判断

答案:A。用Routh表或直接因式分解可得极点 -1、-2、-3,都在左半平面,系统稳定。这个例子说明Routh判据不用求根也能得出稳定结论,系数全为正且第一列无变号。

Q6. 关于奈奎斯特判据的说法,正确的是?

单选题 · mid

  • A.对时域波形进行直接观测
  • B.观察频率响应对临界点包围← 正确答案
  • C.必须求出全部闭环极点
  • D.只适用于一阶低通系统

答案:B。奈奎斯特判据通过开环频率响应曲线在复平面上是否包围 -1+j0 点来判断闭环稳定,不需要求根。A是时域方法,C是求根法,D不成立,奈奎斯特判据适用于高阶系统。

Q7. 连续系统极点位于虚轴上时,系统的自由响应表现为?

单选题 · hard

  • A.自由响应指数衰减到零
  • B.自由响应等幅振荡不衰减← 正确答案
  • C.自由响应指数增长发散
  • D.自由响应立即停止运动

答案:B。虚轴极点对应实部为零,自然响应是等幅振荡,不衰减也不发散。A是左半平面极点的行为,C是右半平面极点的行为,D不符合振荡的物理事实。

Q8. 下列哪些方法可以用于判断系统稳定性?

多选题 · mid

  • A.劳斯表判据法← 正确答案
  • B.奈奎斯特判据法← 正确答案
  • C.波特图裕度法← 正确答案
  • D.抛硬币猜答案法

答案:ABC。劳斯表从代数角度、奈奎斯特从复平面包围角度、波特图从幅相裕度角度,都是工程上常用的稳定性分析方法。D是随机猜测,不属于任何工程判据。

Q9. 关于连续系统极点实部对自由响应的影响,下列说法正确的有?

多选题 · hard

  • A.极点实部为负时输出衰减← 正确答案
  • B.极点实部为正时输出发散← 正确答案
  • C.极点实部为零时等幅振荡← 正确答案
  • D.极点个数多时无法判断

答案:ABC。自由响应形态由极点实部决定:负实部衰减、正实部发散、零实部等幅振荡。D错误,高阶系统可以用Routh-Hurwitz判据判断,不会因为极点个数多就失去判断能力。

Q10. 某离散系统特征方程为 z²-0.5z+0.06=0,该系统的稳定性是?

单选题 · extreme

  • A.极点均在单位圆内,系统稳定← 正确答案
  • B.存在单位圆外极点,不稳定
  • C.极点恰在单位圆上,临界稳定
  • D.极点位置需数值求解才能定

答案:A。因式分解得 (z-0.2)(z-0.3),极点为 0.2 和 0.3,都在单位圆内,所以稳定。B、C与事实不符;D无需数值求解,二次方程直接分解即可。