Appearance
频域分析:伯德图、奈奎斯特判据
概念
上一章用的是阶跃——一次性给一个跳变,看输出怎么爬。但工程现场有一类问题它答不了:这台设备接上电网的 50 Hz 干扰会怎样?机械臂以 10 rad/s 往复运动时会不会共振? 这些问的是"对不同频率的输入,系统各是什么反应"。
频域分析就是把这个"逐频率的反应"画成曲线。
一句话说清它是什么:给线性系统喂正弦波,逐点改变频率,记录输出与输入的幅值比和相位差,画成频率的函数——这就是频率特性。
它之所以可行、而且极其好用,靠的是线性时不变系统的一条核心性质:
正弦信号是 LTI 系统的"特征信号"。输入
A·sin(wt),稳态输出必然是同频率的A·|G(jw)|·sin(wt + φ)——频率一点不变,只改幅值和相位。
这条性质意味着"扫一遍频率"就能把系统完整刻画出来,于是有了三个工程后果:
| 后果 | 说明 |
|---|---|
| 可实验测量 | 拿一台扫频仪逐点测幅值比和相位差即可,不需要知道系统的内部结构——这是频域法最大的工程价值 |
| 可手绘 | 对数坐标下,串联环节的幅值相乘变成相加、相位相加,一张渐近线直线图就能逼近真实曲线 |
| 可直接读稳定余量 | 不用解方程,直接读"离临界还差多少度、多少倍" |
这一层回答了上一层什么问题:根轨迹回答的是"改变 K 时极点往哪走",频域回答的是"改变输入频率时系统反应如何"。两者是同一件事在两个坐标系里的投影——K 是参数轴,w 是频率轴。
把 s 换成 jw 就得到频率特性:频率特性不过是传递函数在虚轴上的取值 G(jw) = G(s) 在 s = jw 处的值。所以频域分析没有引入任何新模型,只是换了个 vantage point。
原理
一、为什么"正弦进、正弦出"
对 LTI 系统,输入 x(t) = A sin(wt),稳态输出为:
证明的思路只有一句:把 sin 写成两个复指数,利用"复指数 e^{jwt} 通过 LTI 系统后仍是 e^{jwt},只是被乘以一个复数 G(jw)"这条性质。正弦是复指数的线性组合,所以也保持频率不变。
| 量 | 名称 | 含义 |
|---|---|---|
∣G(jw)∣ | 幅频特性 | 该频率下输出幅值是输入的多少倍 |
angle G(jw) | 相频特性 | 该频率下输出超前输入多少度 |
注意这是"稳态"结论:输入刚加上去的暂态过程中仍有其他频率成分,sin 进 sin 出要等到暂态衰减完。这一点和上一章"阶跃响应稳态值"是同一个意思。
二、七种典型环节的伯德图
伯德图是两张图:上面画 20·log10(|G|) 对 log w(单位 dB),下面画相位对 log w。横轴取对数,纵轴幅值取 dB,这两个选择各有用处:
- 纵轴取 dB(取对数):串联环节
G = G1·G2·…的幅值相乘 → 变成 dB 相加; - 横轴取对数:
1/jw变成一条直线(斜率 −20 dB/dec),可以手绘。
| 环节 | G(jw) | 低频幅值 | 转角/斜率 | 相位范围 |
|---|---|---|---|---|
比例 K | K | 20·log K(常数) | 无转折 | 0 度 |
积分 1/s | 1/(jw) | -20·log w | 恒 −20 dB/dec | -90 度 |
微分 s | jw | 20·log w | 恒 +20 dB/dec | +90 度 |
惯性 1/(1+jwT) | — | 0 dB | 转角 1/T 处由 0 转 −20 dB/dec | 0 度 → -90 度 |
一阶微分 1+jwT | — | 0 dB | 转角 1/T 处由 0 转 +20 dB/dec | 0 度 → +90 度 |
振荡 wn²/(s²+2ζwn s+wn²) | — | 0 dB | 转角 wn 处由 0 转 −40 dB/dec | 0 度 → -180 度 |
延迟 e^{-τs} | 幅值恒 1 | 0 dB | 幅值永远 0 dB | -wτ(随频率线性下降) |
两条最该记住的:
- 一个积分环节贡献 −20 dB/dec 的斜率:所以"低频段斜率 =
-20 × 系统型别"。低频段越陡,型别越高、稳态精度越好。 - 延迟环节只改相位、不改幅值:
e^{-τs}的模恒为 1,但它带来的相位滞后随频率无上限地增长——这是纯延迟最容易让系统失稳的原因(总有一个频率让相位穿过-180度)。
手绘渐近线的关键数值:惯性环节在转角频率 1/T 处,实际幅值比渐近线低 3.01 dB(即实际幅值是渐近线的 0.707 倍)。这个"3 dB"是伯德图手绘的经典修正点。
三、奈奎斯特稳定判据
根轨迹判稳靠"看极点是否越过虚轴",频域判稳靠包围圈数:
| 符号 | 含义 |
|---|---|
Z | 闭环传递函数在右半平面的极点数(我们要求它是 0) |
P | 开环传递函数在右半平面的极点数(先数一下开环有几个不稳极点) |
N | 开环频率特性曲线 G(jw)H(jw) 逆时针包围临界点 -1 的圈数 |
闭环稳定的充要条件是 Z = 0,即 N = -P。
最常见的情形是开环稳定(P = 0),此时要求 N = 0:
开环稳定时,闭环稳定的充要条件是:
G(jw)H(jw)的完整轨迹不包围-1点。
为什么临界点是 -1 而不是别的数:因为特征方程是 1 + G(s)H(s) = 0,即 G(s)H(s) = -1——-1 就是"系统刚好卡在临界"那个点。轨迹离它越远,余量越大。
"完整轨迹"的含义:奈奎斯特图必须包含 w 从 0⁻ 到 0⁺ 的整个虚轴(包括原点绕行的半圆)以及 w 从 +∞ 折回 -∞ 的镜像补全。只画 0^+ 到 ∞ 那半段是不够的,负频率段是镜像(关于实轴对称)。
四、稳定裕度:把"离临界多远"量化
奈奎斯特判据只回答"稳不稳"(是非题),工程上要的是"有多稳"(程度)。这就引出两个裕度:
| 名称 | 定义 | 读法 |
|---|---|---|
幅值穿越频率 w_c | ∣G(jw_c)∣ = 1(0 dB) | 伯德图上幅频曲线穿过 0 dB 的频率 |
相位裕度 gamma | 180 度 + angle G(jw_c) | 相位曲线在 w_c 处离 -180 度还差多少 |
相位穿越频率 w_g | angle G(jw_g) = -180 度 | 相位曲线穿过 -180 度的频率 |
增益裕度 h | 1 / ∣G(jw_g)∣ | 幅值曲线在 w_g 处还能再放大多少倍 |
| 增益裕度的 dB 表示 | -20·log∣G(jw_g)∣ | 正值表示还有余量 |
两个裕度的物理意义,各用一句话:
- 相位裕度是"再加多少度滞后就临界"——所以它衡量的是"时间延迟的容忍度",与超调量直接挂钩;
- 增益裕度是"再放大多少倍就临界"——它衡量的是"增益漂移的容忍度",与器件参数误差挂钩。
工程上常用的门槛(记住这两条):
| 指标 | 常用要求 | 含义 |
|---|---|---|
| 相位裕度 | 30 度 ~ 60 度(常取 45 度 左右) | 太小超调大,太大响应慢 |
| 增益裕度 | >= 6 dB | 即 ∣G(jw_g)∣ <= 0.5,留出一倍放大余量 |
判稳的符号规则:gamma < 0 或 增益裕度 dB < 0(即 h < 1)就一定不稳定。两者只要有一个为负,闭环就不稳定;两个都正才稳。注意 gamma 为负时,用 180 度 + angle 算出来的结果仍要用"开环是否稳定"来兜底——gamma 的正负判稳只在 P = 0 时直接可用。
五、二阶系统的频域指标
上一章的二阶系统,换到频域就有了三个新指标:
| 指标 | 公式 | 存在条件 |
|---|---|---|
谐振频率 w_r | wn·sqrt(1 - 2ζ²) | ζ < 0.707(否则无谐振峰) |
谐振峰值 M_r | 1 / (2ζ·sqrt(1 - ζ²)) | 同上;只与 ζ 有关 |
带宽 w_b | wn·sqrt((1-2ζ²) + sqrt((1-2ζ²)² + 1)) | 恒存在 |
三条要点:
M_r只与ζ有关(和时域的σ%一样),所以频域的谐振峰和时域的超调量是一一对应的——一个系统在频域"尖"(M_r大),在时域必然"冲"(σ%大)。这两套指标可以互相换算。ζ > 0.707时1 - 2ζ² < 0,谐振频率变成虚数——也就是没有谐振峰,M_r从公式失效,恒等于 1。ζ = 0.707正是"谐振峰刚消失"的临界点,这与上一章"最佳阻尼"是同一个数的两种解释。- 带宽衡量"跟得上多快的变化":带宽越大响应越快,但噪声也越大(高频噪声同样被放大)——这是"快"与"干净"的又一次交换。
相位裕度与阻尼比的经验换算式 gamma ≈ 100·ζ:
这个式子只用在小阻尼附近。ζ = 0.1 时精确值 11.42 度(差 +1.42),ζ = 0.5 时 51.83 度(差 +1.83),到 ζ = 0.9 时精确值 73.51 度而经验式给 90 度(差了 -16.49 度)。"经验式"三个字就是提醒:它有一个适用范围,超出范围就有系统性偏差。
六、三种方法各擅胜场
| 时域法 | 根轨迹法 | 频域法 | |
|---|---|---|---|
| 输入 | 阶跃为主的典型信号 | 不涉及输入 | 正弦扫频 |
| 变化量 | 固定参数 | 增益 K 连续变化 | 频率 w 连续变化 |
| 图 | 响应曲线 y(t) | s 平面上的轨迹 | 伯德图 / 奈奎斯特图 |
| 判稳 | 解特征方程(劳斯) | 分支是否越过虚轴 | 轨迹是否包围 -1 |
| 能读余量 | 需另算 | 需另算 | 直接读裕度 |
| 可否实测 | 难 | 难 | 易(扫频即可) |
| 擅长 | 精确算指标 | 单参数设计 | 实验辨识、校正设计 |
频域法不可替代的地方就是最后两行:现场设备只有一个"输入端子"和"输出端子",内部结构未知——扫频是唯一可行的手段。这也是 06-pid 的工程整定至今仍在用频域判据的原因。
示例
例 1:伯德图渐近线对照实际值
取开环 G(s) = 10/(s(s+1))(一个积分环节 + 一个惯性环节,型别 1、T = 1 s、开环增益 10):
w (rad/s) | 幅值 | 幅值 (dB) | 相位 (度) | 渐近线 (dB) |
|---|---|---|---|---|
| 0.010 | 999.950004 | 59.9996 | -90.5729 | 60.0000 |
| 0.100 | 99.503719 | 39.9568 | -95.7106 | 40.0000 |
| 0.500 | 17.888544 | 25.0515 | -116.5651 | 26.0206 |
| 1.000 | 7.071068 | 16.9897 | -135.0000 | 20.0000 |
| 2.000 | 2.236068 | 6.9897 | -153.4349 | 7.9588 |
| 5.000 | 0.392232 | -8.1291 | -168.6901 | -7.9588 |
| 10.000 | 0.099504 | -20.0432 | -174.2894 | -20.0000 |
| 100.000 | 0.001000 | -60.0004 | -179.4271 | -60.0000 |
对着表读三件事:
- 渐近线与实际值在远离转角时几乎重合:
w = 0.01时59.9996对60.0000,w = 100时-60.0004对-60.0000;而在转角w = 1附近偏差最大——16.9897对20.0000,差3.0103 dB。这个3.01 dB就是惯性环节在转角处的固有偏差(20·log10(1/√2) = -3.0103)。 - 低频段斜率恰好是 −20 dB/dec:
w从0.01到0.1(涨 10 倍),dB 从60.0000掉到40.0000,正好掉20。"低频段斜率 =-20 × 型别"在这里就是实打实地 −20。 - 相位从
-90度起步(积分环节的贡献),最终趋向-180度:w = 100时是-179.4271度——但这只是"趋向",永远到不了-180度(arctan的最大值是90度)。这条性质直接决定了下一个例子里的增益裕度。
例 2:幅值穿越频率与相位裕度
从上表可看出 0 dB 穿越发生在 w = 2 与 w = 5 之间。解方程:
10 / (w · sqrt(1 + w^2)) = 1
-> w^4 + w^2 - 100 = 0
-> 令 x = w^2:x^2 + x - 100 = 0 -> x = (-1 + sqrt(401)) / 2 = 9.512492
-> w_c = sqrt(9.512492) = 3.084233 rad/s在该点:
| 量 | 值 |
|---|---|
| 幅值 | 1.000000 |
| 相位 | -162.035764 度 |
相位裕度 gamma | 17.964236 度 |
| 增益裕度 | 无穷大 |
gamma = 17.96 度意味着什么:它低于工程常用的 30 度下限——这个系统虽然稳定(gamma > 0),但余量偏小、阶跃响应会有明显超调。要改善就得降低开环增益(K 从 10 降下来)或者加零点超前校正。
增益裕度为什么是无穷大:相位穿越频率要求 angle G = -180 度,而 angle G = -90 - arctan(w),arctan(w) 永远小于 90 度,所以相位永远大于 -180 度——w_g 根本不存在。核对一下:w = 10⁶ 时相位是 -179.9999 度,仍然大于 -180 度。
这条结论的适用范围必须记牢:它来自"两个极点、无延迟"的结构。只要加进一个延迟环节 e^{-τs},相位就能穿过 -180 度,增益裕度立刻变成有限值——这正是"纯延迟最危险"的原因。
例 3:二阶系统的频域指标(wn = 10 rad/s)
ζ | w_r | M_r | w_b | 相位裕度 (度) | 100·ζ |
|---|---|---|---|---|---|
| 0.2000 | 9.591663 | 2.551552 | 15.095771 | 22.6023 | 20.0 |
| 0.3000 | 9.055385 | 1.747141 | 14.536895 | 33.2725 | 30.0 |
| 0.5000 | 7.071068 | 1.154701 | 12.720196 | 51.8273 | 50.0 |
| 0.7071 | 0.000579 | 1.000000 | 10.000000 | 65.5302 | 70.7 |
三条读法:
M_r随ζ急剧下降:ζ = 0.2时谐振峰高达2.55倍(8.1 dB),到ζ = 0.5只剩1.15倍。超调大 ↔ 谐振峰高,两套指标同源。ζ = 0.7071那一行的w_r = 0.000579应当读作 0:公式wn·sqrt(1 - 2ζ²)里1 - 2×0.7071068² = 1 - 1.0000000 ≈ -8×10⁻⁸,开根号前就成了微负数的平方根,程序按复数约定给出了一个极小的正数。物理意义是"没有谐振峰",M_r = 1.000000正是这一点。- 带宽
w_b从 15.10 降到 10.00:阻尼越大带宽越窄,响应越慢——与时域"ζ大则ts大"完全一致。
例 4:C 实现——伯德图采样与裕度计算
/* bode.c —— 频域分析:伯德图采样、幅值穿越频率与相位裕度 */
#include <stdio.h>
#include <math.h>
#define PI 3.14159265358979323846
/* G(s) = 10 / (s(s+1)),取 s = jw */
static double g_mag(double w)
{
return 10.0 / (w * sqrt(1.0 + w * w));
}
static double g_phase(double w)
{
return -90.0 - atan(w) * 180.0 / PI;
}
static double to_db(double m)
{
return 20.0 * log10(m);
}
int main(void)
{
const double ws[] = { 0.01, 0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 100.0 };
int n = (int)(sizeof(ws) / sizeof(ws[0]));
double lo = 1e-4, hi = 1e4, mid, wc, pm;
int i;
printf("=== 一、伯德图采样:G(s) = 10/(s(s+1)) ===\n");
printf(" w 幅值 幅值(dB) 相位(度) 渐近线(dB)\n");
for (i = 0; i < n; i++) {
double w = ws[i], m = g_mag(w);
double asym = (w <= 1.0) ? to_db(10.0 / w) : to_db(10.0 / (w * w));
printf(" %9.3f %11.6f %11.4f %11.4f %11.4f\n",
w, m, to_db(m), g_phase(w), asym);
}
printf(" 转折频率 w = 1 rad/s,该处渐近线 = %.4f dB\n", to_db(10.0));
printf(" 该处实际幅值 %.6f -> %.4f dB,比渐近线低 %.4f dB\n",
g_mag(1.0), to_db(g_mag(1.0)), to_db(10.0) - to_db(g_mag(1.0)));
/* 二分法求幅值穿越频率:g_mag(w) = 1 */
for (i = 0; i < 200; i++) {
mid = 0.5 * (lo + hi);
if (g_mag(mid) > 1.0) lo = mid;
else hi = mid;
}
wc = 0.5 * (lo + hi);
pm = 180.0 + g_phase(wc); /* 相位裕度 */
printf("\n=== 二、幅值穿越频率与相位裕度 ===\n");
printf(" wc = %.6f rad/s,该处幅值 = %.6f,相位 = %.6f 度\n",
wc, g_mag(wc), g_phase(wc));
printf(" 相位裕度 gamma = 180 + (%.6f) = %.6f 度\n", g_phase(wc), pm);
printf("\n=== 三、增益裕度 ===\n");
printf(" 相位 = -90 - atan(w) 恒大于 -180 度,无相位穿越 -> GM = 无穷大\n");
printf(" 核对:w = 1e6 时相位 = %.4f 度\n", g_phase(1e6));
return 0;
}
c 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
预期输出:
=== 一、伯德图采样:G(s) = 10/(s(s+1)) ===
w 幅值 幅值(dB) 相位(度) 渐近线(dB)
0.010 999.950004 59.9996 -90.5729 60.0000
0.100 99.503719 39.9568 -95.7106 40.0000
0.500 17.888544 25.0515 -116.5651 26.0206
1.000 7.071068 16.9897 -135.0000 20.0000
2.000 2.236068 6.9897 -153.4349 7.9588
5.000 0.392232 -8.1291 -168.6901 -7.9588
10.000 0.099504 -20.0432 -174.2894 -20.0000
100.000 0.001000 -60.0004 -179.4271 -60.0000
转折频率 w = 1 rad/s,该处渐近线 = 20.0000 dB
该处实际幅值 7.071068 -> 16.9897 dB,比渐近线低 3.0103 dB
=== 二、幅值穿越频率与相位裕度 ===
wc = 3.084233 rad/s,该处幅值 = 1.000000,相位 = -162.035764 度
相位裕度 gamma = 180 + (-162.035764) = 17.964236 度
=== 三、增益裕度 ===
相位 = -90 - atan(w) 恒大于 -180 度,无相位穿越 -> GM = 无穷大
核对:w = 1e6 时相位 = -179.9999 度二分法求 w_c 的两行值得看清:
text
if (g_mag(mid) > 1.0) lo = mid; /* 幅值还大于 1 -> 穿越点在右边 */
else hi = mid; /* 幅值已小于 1 -> 穿越点在左边 */用了 200 次迭代(远超需要),为的是让结果稳定在机器精度上。注意 lo = 1e-4、hi = 1e4 的区间跨度是 10⁸,二分 200 次后区间缩小到 10⁸ / 2²⁰⁰——早就小于机器精度了,所以取到的就是双精度意义下的真值。这就是"迭代次数给够"的意义。
例 5:Python——伯德图、裕度、二阶指标一次算清
# 频域分析:伯德图采样、稳定裕度、二阶频域指标
import math
def G(w):
"""开环 G(s) = 10 / (s(s+1)),s = jw -> 返回 (幅值, 相位/度)"""
m = 10.0 / (w * math.sqrt(1.0 + w * w))
p = -90.0 - math.degrees(math.atan(w))
return m, p
def db(m):
return 20.0 * math.log10(m)
print("=== 一、伯德图采样:G(s) = 10/(s(s+1)) ===")
print(" w 幅值 幅值(dB) 相位(度) 渐近线(dB)")
for w in (0.01, 0.1, 0.5, 1.0, 2.0, 5.0, 10.0, 100.0):
m, p = G(w)
if w <= 1.0:
asym = db(10.0 / w) # 低频:只有积分环节,-20 dB/dec
else:
asym = db(10.0 / (w * w)) # 高频:两个极点,-40 dB/dec
print(f" {w:9.3f} {m:11.6f} {db(m):11.4f} {p:11.4f} {asym:11.4f}")
print(f" 转折频率 w = 1 rad/s,该处渐近线 = {db(10.0):.4f} dB")
print(f" 该处实际幅值 {G(1.0)[0]:.6f} -> {db(G(1.0)[0]):.4f} dB"
f",比渐近线低 {db(10.0) - db(G(1.0)[0]):.4f} dB")
print("\n=== 二、幅值穿越频率与相位裕度 ===")
x = (-1.0 + math.sqrt(401.0)) / 2.0 # 令 w^2 = x:x^2 + x - 100 = 0
wc = math.sqrt(x)
m, p = G(wc)
print(f" 令 10/(w*sqrt(1+w^2)) = 1 -> w^4 + w^2 - 100 = 0 -> w^2 = {x:.6f}")
print(f" 幅值穿越频率 wc = {wc:.6f} rad/s,此处幅值 = {m:.6f}")
print(f" 此处相位 = {p:.6f} 度")
print(f" 相位裕度 gamma = 180 + ({p:.6f}) = {180.0 + p:.6f} 度")
print("\n=== 三、增益裕度:相位何时到 -180 度 ===")
print(" 相位 = -90 - arctan(w) 恒大于 -180 度(arctan 上界 90 度)")
print(" 故相位穿越频率不存在 -> 增益裕度 GM = 无穷大")
print(f" 核对:w = 1e6 时相位 = {G(1e6)[1]:.4f} 度")
print("\n=== 四、二阶系统的频域指标(wn = 10 rad/s)===")
print(" zeta wr Mr wb 相位裕度(度) 100*zeta")
wn = 10.0
for z in (0.2, 0.3, 0.5, 0.70710678):
if z < 1.0 / math.sqrt(2.0):
wr = wn * math.sqrt(1.0 - 2.0 * z * z)
mr = 1.0 / (2.0 * z * math.sqrt(1.0 - z * z))
else:
wr, mr = 0.0, 1.0
b = (1.0 - 2.0 * z * z) + math.sqrt((1.0 - 2.0 * z * z) ** 2 + 1.0)
wb = wn * math.sqrt(b)
gam = math.degrees(math.atan(2.0 * z / math.sqrt(math.sqrt(1.0 + 4.0 * z ** 4) - 2.0 * z * z)))
print(f" {z:8.4f} {wr:10.6f} {mr:10.6f} {wb:10.6f} {gam:12.4f} {100.0 * z:9.1f}")
print("\n=== 五、相位裕度与阻尼比的换算关系 ===")
print(" 经验式 gamma 约等于 100*zeta(只在 zeta < 0.7 附近成立)")
for z in (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.9):
gam = math.degrees(math.atan(2.0 * z / math.sqrt(math.sqrt(1.0 + 4.0 * z ** 4) - 2.0 * z * z)))
print(f" zeta = {z:.2f} -> 精确 gamma = {gam:8.4f} 度,"
f"100*zeta = {100.0 * z:6.1f} 度,差 {gam - 100.0 * z:+8.4f} 度")
python 本站为静态站,不提供在线运行;可复制到本地用 gcc / python 执行
预期输出:
=== 一、伯德图采样:G(s) = 10/(s(s+1)) ===
w 幅值 幅值(dB) 相位(度) 渐近线(dB)
0.010 999.950004 59.9996 -90.5729 60.0000
0.100 99.503719 39.9568 -95.7106 40.0000
0.500 17.888544 25.0515 -116.5651 26.0206
1.000 7.071068 16.9897 -135.0000 20.0000
2.000 2.236068 6.9897 -153.4349 7.9588
5.000 0.392232 -8.1291 -168.6901 -7.9588
10.000 0.099504 -20.0432 -174.2894 -20.0000
100.000 0.001000 -60.0004 -179.4271 -60.0000
转折频率 w = 1 rad/s,该处渐近线 = 20.0000 dB
该处实际幅值 7.071068 -> 16.9897 dB,比渐近线低 3.0103 dB
=== 二、幅值穿越频率与相位裕度 ===
令 10/(w*sqrt(1+w^2)) = 1 -> w^4 + w^2 - 100 = 0 -> w^2 = 9.512492
幅值穿越频率 wc = 3.084233 rad/s,此处幅值 = 1.000000
此处相位 = -162.035764 度
相位裕度 gamma = 180 + (-162.035764) = 17.964236 度
=== 三、增益裕度:相位何时到 -180 度 ===
相位 = -90 - arctan(w) 恒大于 -180 度(arctan 上界 90 度)
故相位穿越频率不存在 -> 增益裕度 GM = 无穷大
核对:w = 1e6 时相位 = -179.9999 度
=== 四、二阶系统的频域指标(wn = 10 rad/s)===
zeta wr Mr wb 相位裕度(度) 100*zeta
0.2000 9.591663 2.551552 15.095771 22.6023 20.0
0.3000 9.055385 1.747141 14.536895 33.2725 30.0
0.5000 7.071068 1.154701 12.720196 51.8273 50.0
0.7071 0.000579 1.000000 10.000000 65.5302 70.7
=== 五、相位裕度与阻尼比的换算关系 ===
经验式 gamma 约等于 100*zeta(只在 zeta < 0.7 附近成立)
zeta = 0.10 -> 精确 gamma = 11.4206 度,100*zeta = 10.0 度,差 +1.4206 度
zeta = 0.20 -> 精确 gamma = 22.6023 度,100*zeta = 20.0 度,差 +2.6023 度
zeta = 0.30 -> 精确 gamma = 33.2725 度,100*zeta = 30.0 度,差 +3.2725 度
zeta = 0.40 -> 精确 gamma = 43.1176 度,100*zeta = 40.0 度,差 +3.1176 度
zeta = 0.50 -> 精确 gamma = 51.8273 度,100*zeta = 50.0 度,差 +1.8273 度
zeta = 0.60 -> 精确 gamma = 59.1873 度,100*zeta = 60.0 度,差 -0.8127 度
zeta = 0.70 -> 精确 gamma = 65.1564 度,100*zeta = 70.0 度,差 -4.8436 度
zeta = 0.90 -> 精确 gamma = 73.5137 度,100*zeta = 90.0 度,差 -16.4863 度第五段的差值符号会翻转,这是"经验式"三个字最具体的含义:ζ <= 0.5 时精确值大于 100ζ(差为正,最大 +3.27 度),ζ = 0.6 起小于(差为负,到 ζ = 0.9 时差到 -16.49 度)。所以 gamma ≈ 100ζ 只在 ζ 大约 0.5 以内可用;要精确值就套那个 arctan(2ζ / sqrt(sqrt(1 + 4ζ⁴) - 2ζ²)) 的公式。
考点
- 正弦是 LTI 的特征信号:输入
A·sin(wt),稳态输出A·|G(jw)|·sin(wt + angle G(jw))——频率不变,只改幅值和相位。这是整个频域法的地基。 - 频率特性就是把
s换成jw,G(jw) = G(s)在s = jw处的值,不是新模型。 - 伯德图两个坐标选择各有理由:纵轴 dB 让相乘变相加,横轴对数让积分变成直线。
- 斜率口诀:积分 −20 dB/dec、微分 +20 dB/dec;
n个积分环节 ×n倍斜率;低频段斜率 =-20 × 系统型别。 - 惯性环节在转角频率处比渐近线低
3.01 dB(20·log10(1/√2) = -3.0103),这是手绘伯德图的经典修正。 - 延迟环节
e^{-τs}的模恒为 1(幅值永远 0 dB)、相位-wτ无下限下降——它是唯一能"只靠相位"把系统拖到不稳定的环节。 - 奈奎斯特判据
Z = P + N:闭环稳定 ⟺Z = 0⟺N = -P。-1是临界点,因为它正是特征方程1 + GH = 0的解所在。 - 两个裕度的定义别记反:相位裕度在**幅值穿越频率
w_c(|G| = 1)处算,gamma = 180 + angle G(jw_c);增益裕度在相位穿越频率w_g(angle G = -180)**处算,h = 1 / |G(jw_g)|。 - 工程门槛:
gamma取30~60度,增益裕度>= 6 dB(即|G(jw_g)| <= 0.5)。任一裕度为负即不稳定。 - 二阶频域三公式:
w_r = wn·sqrt(1-2ζ²)(仅ζ < 0.707有谐振)、M_r = 1/(2ζ·sqrt(1-ζ²))(只与ζ有关)、w_b = wn·sqrt((1-2ζ²) + sqrt((1-2ζ²)² + 1))。 M_r大 ↔ 超调大,频域谐振峰与时域超调量一一对应,可以互相换算。gamma ≈ 100ζ只在ζ小的时候准(ζ = 0.9时差-16.49度)。- 易错:把
w_c与w_g混用(一个在 0 dB 处、一个在 −180 度处);奈奎斯特图只画w正半轴不补镜像;把gamma ≈ 100ζ当恒等式;给"相位永不到-180度"的系统硬报一个有限的增益裕度(那种情形GM是无穷大);忘了 dB 是20·log(幅值)而不是10·log(功率)。
小结
- 频域法把"扫频率"变成一门系统方法:正弦进、正弦出,只改幅值和相位。
s -> jw就是频率特性;伯德图用 dB + 对数横轴,把乘变加、把积分变直线。- 典型环节的斜率:积分
-20、微分+20、惯性在1/T处拐-20;转角处偏低3.01 dB。 - 纯延迟只改相位、不改幅值,相位无下限下降——它是最容易让系统失稳的环节。
- 奈奎斯特判据
Z = P + N,开环稳定时只需"不包围-1"。 - 稳定裕度才是工程要的答案:
gamma(在w_c处)与增益裕度(在w_g处),门槛30~60度、>= 6 dB。 - 对
G(s) = 10/(s(s+1)):w_c = 3.084233 rad/s、gamma = 17.964236度(偏低)、增益裕度无穷大。 - 二阶的
M_r只与ζ有关,ζ < 0.707才有谐振峰,ζ = 0.707也正是上一章的最佳阻尼。 - 频域法不可替代之处:可实测——现场只能扫频。
回到主线:上一章把 K 当自变量,这一章把 w 当自变量,两章合起来回答了"稳不稳、有多稳"。但知道了"有多稳",下一步就该动手改了——怎么把偏小的相位裕度补回来?
下一章给出工业界用了近百年的答案:PID 三项分别相当于加什么、参数怎么定。
下一篇:PID 控制:原理与整定
评论(0)
当前浏览器不允许本地存储,评论无法保存。
还没有评论,来说两句。