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方法只需矩阵-向量乘,适合稀疏大系统,计算成本远低于平衡截断,但一般没有全局误差上界,且稳定性不自动保证,需要检查降阶后极点是否落在左半平面。
两条主流路线的取舍
把上述工具串起来,实际工程中通常形成两条路线。第一条是“平衡截断路线”:先求Gramian,做平衡变换,按Hankel奇异值截断,优点是误差有界、稳定性保持,缺点是Lyapunov方程对大规模稀疏A代价高。第二条是“Krylov路线”:直接由B生成Krylov基,做Arnoldi正交化,优点是只需矩阵-向量乘、可处理上万阶稀疏系统,缺点是无全局误差界、可能失稳。折中做法是先用Krylov或POD把阶数从数千降到数百,再对中间模型做平衡截断,兼顾效率与精度。
一个可操作的降阶检查流程
假设有一个600阶的电机-机械耦合模型,目标降到20阶用于50 μs步长的HIL仿真。可按以下顺序推进:
- 对A做特征值扫描,列出时间常数分布,标记τ小于步长1/10的模态为“快模态候选”。
- 对快照矩阵做SVD,观察σ衰减曲线,若前20个奇异值已占总能量99.9%,说明POD基可行。
- 用Arnoldi在s=0和s=j2π·1000两处分别构造Krylov基,比较两处矩匹配后的频响误差。
- 若误差仍偏大,对Krylov中间模型(约100阶)做平衡截断,利用Hankel奇异值上界估计截断阶数。
- 在关注频段扫频,对比原模型与降阶模型的幅频、相频曲线,确认误差在1 dB/5°以内。
- 检查降阶模型极点实部是否全为负,并在目标步长下实测单步耗时。
这六类工具不是互斥的,而是从不同侧面回答同一个问题:哪些状态方向对输入输出行为贡献大,哪些可以安全丢弃。状态空间给出统一表述,传递函数给出频域判据,模态分析给出物理直觉,SVD给出能量排序,平衡截断给出有界误差,Krylov给出轻量计算。理解它们各自“看模型”的角度,才能在具体HIL项目中选对降阶路径。