一、H∞范数:系统增益的“天花板”
聊H∞控制之前,咱们得先搞清楚一个核心概念——H∞范数。
说白了,H∞范数就是系统传递函数的“最大增益”。你想想看,一个系统对输入信号的放大能力,在不同频率下是不一样的。H∞范数取的就是那个最坏情况下的增益峰值。
数学定义:
对于一个稳定的线性时不变系统 G(s),其 H∞范数定义为:
||G||∞ = sup_ω σ_max[G(jω)]
其中 σ_max 表示最大奇异值,sup 是上确界(说白了就是取最大值)。
我在做飞行器控制时遇到过这么个事:一个看似稳定的系统,在某个特定频率下突然出现大幅振荡。后来一查,就是那个频率点的增益峰值太高了。嗯,这就是H∞范数在“作怪”。
1.1 为什么叫“H∞”?
这个名字其实挺形象的。H代表Hardy空间,∞代表无穷范数。合起来就是在Hardy空间里取无穷范数。
我个人习惯这样理解:H∞范数衡量的是系统对“最坏情况”输入信号的放大能力。它不像H2范数那样取平均,而是盯着最差的那个点不放。
避坑指南:
我曾经在计算H∞范数时犯过一个低级错误——忘了检查系统稳定性。记住:只有稳定的系统,H∞范数才有意义。不稳定系统的H∞范数是无穷大,算出来也没用。
1.2 物理意义
H∞范数的物理意义非常直观:
- 抗干扰能力:H∞范数越小,系统对干扰的抑制能力越强
- 鲁棒稳定性:H∞范数决定了系统能容忍多大的模型不确定性
- 性能边界:它给出了系统在最坏情况下的性能下限
举个例子:如果一个系统的H∞范数是2,那就意味着任何输入信号经过系统后,输出信号的峰值最多被放大2倍。这就是“天花板”的含义。
二、H∞控制问题的标准框架
搞清楚了H∞范数,咱们来看看H∞控制问题到底长什么样。
2.1 标准框架结构
H∞控制的标准框架,说白了就是一个“广义被控对象”加上一个“控制器”的闭环结构。
标准H∞控制框架:
w ──→┌─────┐──→ z
│ P │
u ←──└─────┘←── y
│ K │
└─────┘
其中:
- w:外部输入(干扰、参考信号、噪声等)
- z:被控输出(我们希望抑制的信号)
- y:测量输出(传感器测到的信号)
- u:控制输入(执行器信号)
- P:广义被控对象(包含原系统+加权函数)
- K:待设计的控制器
核心目标:
设计控制器 K,使得从 w 到 z 的闭环传递函数 T_zw 的 H∞范数最小化,即:
min ||T_zw||∞ 或 满足 ||T_zw||∞ < γ
其中 γ 是给定的性能指标。
2.2 加权函数的选择
这里有个关键点——加权函数。我刚开始学H∞时,总觉得加权函数是玄学。后来做多了才发现,它其实就是把你的工程需求翻译成数学语言。
| 加权函数 | 作用 | 典型形式 |
|---|---|---|
| W_s(s) | 抑制低频干扰 | 低通滤波器 |
| W_t(s) | 抑制高频噪声 | 高通滤波器 |
| W_u(s) | 限制控制量 | 常数或一阶滞后 |
注意:
加权函数不是随便选的!我曾经在一个电机控制项目里,因为加权函数选得太激进,导致控制器在高频段疯狂振荡。记住:加权函数要反映真实的物理约束,别为了追求理论上的最优而忽略工程实际。
三、H∞控制器设计
理论讲完了,咱们来点实际的——怎么设计H∞控制器。
3.1 设计步骤
我个人习惯把H∞控制器设计分成四步走:
- 建立广义被控对象:把原系统模型和加权函数组合起来
- 求解Riccati方程:这是数学核心,现在有现成的工具箱
- 构造控制器:根据求解结果得到控制器传递函数
- 验证与迭代:检查闭环性能,必要时调整加权函数
3.2 MATLAB实现示例
这里给一个简单的MATLAB代码示例,展示如何设计H∞控制器:
% 定义被控对象
G = tf(1, [1 2 1]);
% 定义加权函数
W1 = tf(0.1, [1 0.01]); % 低频加权
W2 = tf(1, []); % 控制量加权
W3 = tf([0.1 0], [1 100]); % 高频加权
% 建立广义被控对象
P = augw(G, W1, W2, W3);
% 设计H∞控制器
[K, CL, gamma] = hinfsyn(P, 1, 1);
% 显示结果
disp(['最优性能指标 gamma = ', num2str(gamma)]);
step(CL); % 查看闭环阶跃响应
实用技巧:
如果你发现 gamma 值太大(比如大于10),说明你的性能要求太苛刻了。这时候我建议先放宽加权函数的约束,等得到一个可行的控制器后,再逐步收紧。
3.3 常见问题与对策
做H∞控制这么多年,我总结了几条经验:
- 控制器阶数太高:H∞控制器往往阶数很高,可以用模型降阶技术简化
- 数值不稳定:如果系统矩阵条件数太大,考虑用平衡截断法预处理
- 性能与鲁棒性权衡:别指望一个控制器解决所有问题,该妥协时就妥协
重要提醒:
H∞控制器设计出来之后,一定要做鲁棒性分析!我曾经设计过一个看似完美的H∞控制器,仿真结果漂亮得很。结果一上实际系统,因为模型误差和未建模动态,系统直接失稳了。从那以后,我每次设计完都会做μ分析或者小增益定理验证。
四、知识体系总览
为了让大家对本章内容有个整体把握,我画了一张框架图:
这张图把H∞控制理论的三个核心模块串起来了。从H∞范数的定义出发,到标准框架的建立,再到控制器的具体设计,每一步都有其工程意义。
本章小结:
H∞控制理论的核心就三件事:
- 理解H∞范数——系统增益的“天花板”
- 掌握标准框架——把工程问题变成数学问题
- 学会设计方法——从理论到实践的桥梁
记住:理论再漂亮,最终要落到工程实践中。我见过太多人沉迷于数学推导,却忽略了实际系统的物理约束。做控制,既要仰望星空,也要脚踏实地。
公众号:蓝海资料掘金营,微信deep3321