频率限制平衡截断
这个例子展示了如何通过去除特定频率区间内能量相对较低的状态来降低高阶模型。将能量贡献计算集中在一个特定的频率区域,有时会比考虑所有频率的约简得到更低阶的动态近似。
的选项演示了命令行上的频率限制平衡截断balred
命令。方法中执行频率限制平衡截断减速器模型App,在平衡截断选项卡,使用关注范围复选框,如图所示。
加载一个模型并检查它的频率响应。
负载(“building.mat”,‘G’) bodeplot (G)
G
是一个48阶模型,在5.2 rad/s、13.5 rad/s和24.5 rad/s附近有几个较大的峰值区域,以及分散在许多频率上的较小的峰值。检查汉克尔的奇异值图,看看模型的48个状态的能量贡献。
hsvd (G)
ans =48×10.0025 0.0024 0.0019 0.0019 0.0007 0.0007 0.0006 0.0006 0.0004 0.0004
奇异值图表明,您可以丢弃至少20种状态,而不会对整个系统响应产生重大影响。假设对于您的应用程序,您只对第二个峰值附近的动态感兴趣,在10 rad/s和22 rad/s之间。尝试一些基于Hankel奇异值图的简化模型阶数。将它们的频率响应与原始模型进行比较,特别是在峰值区域。
G18 = balred(G,18);G10 = balred(G,10);bodeplot (G, G18, G10 logspace(0.5、1.5,100));传奇(“原始”,“订单18”,“订单10”);
18阶模型可以很好地匹配感兴趣区域的动态。然而,在10阶模型中,匹配有一些退化。
将模型约简集中在感兴趣的区域上,以获得与低阶近似的良好匹配。首先,仅检查该频率区域的状态能量贡献。使用hsvdOptions
指定频率间隔hsvd
.
hopt = hsvdOptions“FreqIntervals”[10] 22日);hopt hsvd (G)
ans =48×10.0018 0.0018 0.0004 0.0004 0.0002 0.0002 0.0001 0.0001 0.0000 0.0000
将此图与之前的Hankel奇值图进行比较,可以发现在该频率区域,对动力学有显著贡献的状态比对整体动力学有显著贡献的状态少得多。
再次尝试相同的简化模型顺序,这一次只根据它们对频率区间的贡献来选择要消除的状态。使用balredOptions
指定频率间隔balred
.
bopt = balredOptions(“StateProjection”,“截断”,“FreqIntervals”[10] 22日);(1,1,1,1);(1,1,bopt);bodeplot (G, GLim18, GLim10 logspace(0.5、1.5,100));传奇(“原始”,“订单18”,“订单10”);
使用频率限制的能量计算,在感兴趣的区域中,10阶近似与无频率限制计算的18阶近似一样好。