一、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∞控制器设计分成四步走:

  1. 建立广义被控对象:把原系统模型和加权函数组合起来
  2. 求解Riccati方程:这是数学核心,现在有现成的工具箱
  3. 构造控制器:根据求解结果得到控制器传递函数
  4. 验证与迭代:检查闭环性能,必要时调整加权函数

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∞范数定义 标准控制框架 控制器设计方法 最大奇异值 · 无穷范数 · 增益峰值 物理意义:最坏情况增益 广义被控对象 P · 控制器 K 加权函数:W_s · W_t · W_u Riccati方程 · LMI · 迭代求解 模型降阶 · 鲁棒性验证 核心思想:将控制问题转化为H∞范数优化问题 通过加权函数平衡性能与鲁棒性 图1:H∞控制理论三大核心模块及其关系 H∞范数是基础 · 标准框架是工具 · 控制器设计是目标

这张图把H∞控制理论的三个核心模块串起来了。从H∞范数的定义出发,到标准框架的建立,再到控制器的具体设计,每一步都有其工程意义。

本章小结:

H∞控制理论的核心就三件事:

  • 理解H∞范数——系统增益的“天花板”
  • 掌握标准框架——把工程问题变成数学问题
  • 学会设计方法——从理论到实践的桥梁

记住:理论再漂亮,最终要落到工程实践中。我见过太多人沉迷于数学推导,却忽略了实际系统的物理约束。做控制,既要仰望星空,也要脚踏实地。


公众号:蓝海资料掘金营,微信deep3321