SISO 模型降阶如 MIMO 模型降阶中所述,在尝试对完整的 MIMO 模型降阶之前,您可以降低单个 I/O 对组的阶数,以了解模型降阶工具的工作原理。
此示例重点说明气化器的一个输入/输出对组,即输入 5 到输出 3。
sys35 = gasf(3,5);
在尝试执行模型降阶之前,通过键入以下命令检查零极点位置
pzmap(sys35)
使用缩放功能或通过键入以下内容,在生成的图上放大原点附近区域
axis([-0.2 0.05 -0.2 0.2])
下图显示了结果。
气化器模型的零极点图(放大)
由于该模型显示零点接近极点能够相消,因此它适合模型降阶。
要找到此 SISO 模型的低阶简化,请执行以下步骤:
通过使用汉克尔奇异值 (HSV) 图检查每个状态的相对能量,为简化的系统选择适当的阶数。键入命令
hsvd(sys35)以创建 HSV 图。
使用右键点击菜单更改为对数刻度会生成下图。
汉克尔奇异值较小表明关联状态对 I/O 行为的影响微乎其微。此图显示,丢弃最后 10 个状态(与 10 个最小的汉克尔奇异值相关联)对逼近误差几乎没有影响。
要删除最后 10 个状态并创建一个 15 阶逼近,请键入
rsys35 = balred(sys35,15);键入 size(rsys35) 可以看到您的简化系统仅包含 15 个状态。
使用 bode 命令比较全阶和降阶模型的波特响应:
bode(sys35,'b',rsys35,'r--')下图显示了命令结果。
如图中曲线的重叠所示,简化的模型可以良好地逼近原始系统。
您可以通过重复此过程并删除更多状态来尝试进一步降低模型阶数。通过键入以下命令,一次性将 gasf 模型降低到 5 阶、10 阶和 15 阶:
rsys35 = balred(sys35,[5 10 15]);通过键入以下命令,绘制这三个降阶系统以及全阶系统的波特图:bode(sys35,'b',rsys35,'r--')
观察误差如何随着阶数的降低而增加。