4. 模型降阶数学基础

在HIL实时仿真中,被控对象模型往往来自有限元、多体动力学或电磁场仿真,阶数动辄数百到数千。实时步长通常要求50 μs甚至更小,而CPU单步计算预算只有几十微秒。模型降阶(Model Order Reduction, MOR)要做的,就是在保留输入输出关键动态的前提下,把高阶模型压缩到几十阶以内。理解降阶,必须先理解六组数学工具各自“看模型”的角度。

状态空间:降阶的统一语言

线性时不变系统最通用的描述是状态空间:

ẋ(t) = A x(t) + B u(t)
y(t)  = C x(t) + D u(t)

其中 x∈Rⁿ 是状态向量,n 即模型阶数;u 是输入,y 是输出。A 决定系统内部动态,B 决定输入如何激励状态,C 决定状态如何映射到输出。降阶的本质,就是寻找一个低维子空间,用 x≈V z(V∈R^{n×r},r≪n)把原系统投影为:

ẋ_r = A_r z + B_r u,  y ≈ C_r z + D u
A_r = WᵀAV,  B_r = WᵀB,  C_r = CV

W 与 V 是左右投影矩阵。不同降阶方法的区别,几乎都落在“如何选 V 和 W”上。若 W=V,称为正交投影(Galerkin);若 W≠V,称为Petrov-Galerkin投影。这一区分是后面Krylov方法与平衡截断的分水岭。

传递函数:从时域到频域的桥梁

对状态空间做拉普拉斯变换,得到传递函数 G(s)=C(sI−A)⁻¹B+D。它把系统看成“频率选择器”:输入正弦频率为ω时,输出幅值和相位由 G(jω) 决定。HIL中关注的往往是特定频段——例如电机电流环带宽约1 kHz、机械谐振在300~800 Hz。降阶是否成功,最直接的判据就是:在关注频段内,降阶模型的 G_r(jω) 与原模型 G(jω) 的幅频、相频误差是否可接受。传递函数也是平衡截断误差界和Krylov矩匹配的表述基础。

模态分析:按能量与时间尺度排序

对A做特征分解 A=ΦΛΦ⁻¹,特征值 λ_i 对应模态。实部决定衰减快慢(时间常数 τ=−1/Re(λ)),虚部决定振荡频率。若某些模态衰减极快(τ远小于仿真步长)或几乎不被输入激励、又极少出现在输出中,它们对输入输出行为的贡献就很小,可以截掉。模态分析给出的是“物理直觉版”的降阶依据:保留主导极点,丢弃快变或弱耦合模态。但它对“输入输出可控可观程度”的量化不够精细,于是需要奇异值分解。

奇异值分解:量化每个方向的能量

对矩阵做SVD:M=UΣVᵀ,奇异值 σ_i 非负且按降序排列。在降阶中,SVD有两种典型用法:一是对系统Gramian矩阵做SVD,得到各状态方向的可控性/可观性强度;二是对快照矩阵(如仿真得到的 x(t) 采样)做SVD,得到占能量主导的空间基,即本征正交分解(POD)。奇异值衰减越快,说明系统越“低秩”,越容易被少量基向量表示。σ_i 的衰减曲线是判断可降阶程度的第一手依据。

平衡截断:可控性与可观性的平衡

可控性Gramian P 满足 AP+PAᵀ+BBᵀ=0,可观性Gramian Q 满足 AᵀQ+QA+CᵀC=0。P 大表示该状态容易被输入驱动,Q 大表示该状态容易影响输出。但P和Q的特征方向通常不一致,直接截断任一坐标都不合理。平衡截断先做坐标变换,使 P=Q=Σ=diag(σ₁,…,σₙ),这些 σ_i 称为Hankel奇异值。此时每个状态方向“既好控又好观”,按 σ_i 从大到小截断,保留前 r 个,即得降阶模型。其误差有严格上界:

‖G − G_r‖_∞ ≤ 2 Σ_{i=r+1}^{n} σ_i

这使平衡截断成为少数带全局误差保证的方法。代价是需要求解两个Lyapunov方程,对n很大的模型计算量高,通常先用Krylov或POD把阶数降到几百,再做平衡截断。

Krylov子空间方法:匹配矩,计算轻

Krylov方法不求解Gramian,而是从B出发构造子空间:

K_r(A, B) = span{B, AB, A²B, …, A^{r−1}B}

用该子空间作为投影基V,可证明降阶模型在 s=0 处的前若干阶矩(即传递函数泰勒展开系数)与原系统完全匹配。若在 s=σ 处展开,则匹配该点的矩,适合围绕关注频段做局部高精度逼近。常用实现包括Arnoldi算法(正交基)和Lanczos算法(三对角化)。Krylov方法只需矩阵-向量乘,适合稀疏大系统,计算成本远低于平衡截断,但一般没有全局误差上界,且稳定性不自动保证,需要检查降阶后极点是否落在左半平面。

模型降阶六类数学工具:视角与投影路径 原始高阶模型 ẋ = Ax + Bu, y = Cx + Du (n 阶) 模态分析 A = ΦΛΦ⁻¹,看特征值 Re(λ) → 衰减快慢 τ=−1/Re(λ) Im(λ) → 振荡频率 依据:保留主导极点 奇异值分解 SVD M = UΣVᵀ,σ₁ ≥ σ₂ ≥ … Gramian / 快照矩阵 → 能量基 σ 衰减越快,越易降阶 依据:低秩能量占比 传递函数 G(s) G(s)=C(sI−A)⁻¹B+D 关注频段:电流环1 kHz 机械谐振 300~800 Hz 判据:幅频/相频误差 投影降阶:x ≈ V z, r ≪ n A_r = WᵀAV, B_r = WᵀB, C_r = CV 平衡截断(Balanced Truncation) P=Q=Σ=diag(σᵢ),按Hankel奇异值截断 误差上界 ‖G−G_r‖∞ ≤ 2Σσᵢ,需解Lyapunov方程 Krylov子空间方法 K_r = span{B, AB, A²B, …, A^{r−1}B} 匹配矩,仅需矩阵-向量乘,无全局误差界

两条主流路线的取舍

把上述工具串起来,实际工程中通常形成两条路线。第一条是“平衡截断路线”:先求Gramian,做平衡变换,按Hankel奇异值截断,优点是误差有界、稳定性保持,缺点是Lyapunov方程对大规模稀疏A代价高。第二条是“Krylov路线”:直接由B生成Krylov基,做Arnoldi正交化,优点是只需矩阵-向量乘、可处理上万阶稀疏系统,缺点是无全局误差界、可能失稳。折中做法是先用Krylov或POD把阶数从数千降到数百,再对中间模型做平衡截断,兼顾效率与精度。

在HIL实践中,判断降阶是否达标通常看三件事:关注频段内幅频误差是否小于1 dB、相频误差是否小于5°;降阶模型极点是否全部位于左半平面;在目标步长下单步计算时间是否满足实时预算。三者缺一不可。

一个可操作的降阶检查流程

假设有一个600阶的电机-机械耦合模型,目标降到20阶用于50 μs步长的HIL仿真。可按以下顺序推进:

  1. 对A做特征值扫描,列出时间常数分布,标记τ小于步长1/10的模态为“快模态候选”。
  2. 对快照矩阵做SVD,观察σ衰减曲线,若前20个奇异值已占总能量99.9%,说明POD基可行。
  3. 用Arnoldi在s=0和s=j2π·1000两处分别构造Krylov基,比较两处矩匹配后的频响误差。
  4. 若误差仍偏大,对Krylov中间模型(约100阶)做平衡截断,利用Hankel奇异值上界估计截断阶数。
  5. 在关注频段扫频,对比原模型与降阶模型的幅频、相频曲线,确认误差在1 dB/5°以内。
  6. 检查降阶模型极点实部是否全为负,并在目标步长下实测单步耗时。

这六类工具不是互斥的,而是从不同侧面回答同一个问题:哪些状态方向对输入输出行为贡献大,哪些可以安全丢弃。状态空间给出统一表述,传递函数给出频域判据,模态分析给出物理直觉,SVD给出能量排序,平衡截断给出有界误差,Krylov给出轻量计算。理解它们各自“看模型”的角度,才能在具体HIL项目中选对降阶路径。