主要内容

balred

模型降阶

    描述

    例子

    rsys信息= balred(sys订单计算一个降阶近似rsysLTI模型sys.所需的顺序(状态数)由订单.您可以通过设置一次尝试多个订单订单变成一个整数向量,在这种情况下rsys是简化模型的数组。balred也返回一个结构信息附加信息,如汉克尔奇异值(HSV),误差界限,正则化水平和Cholesky因子的格兰姆。

    例子

    (~信息= balred(sys返回结构信息不需要计算降阶模型。您可以使用此信息来选择减少的订单订单根据你想要的保真度。

    请注意

    当考虑性能时,通过使用从上述语法获得的信息来选择所需的模型顺序,然后使用,避免计算Hankel奇异值两次Rsys = balred(sys,order,info)计算降阶模型。

    例子

    ___= balred(___选择使用选项集计算简化模型选择你指定使用balredOptions.您可以指定消除状态的其他选项,使用绝对和相对误差控制,强调某些时间或频段,以及分离稳定和不稳定模式。看到balredOptions创建并配置选项集选择

    例子

    balred (sys在图上显示汉克尔奇异值和近似误差。使用hsvplot自定义此绘图。

    例子

    全部折叠

    对于本例,使用汉克尔奇异值图选择合适的阶数并计算降阶模型。

    对于这个实例,生成一个随机的具有40个状态的离散时间状态空间模型。

    Rng (0) sys = drss(40);

    绘制汉克尔奇异值balred

    balred(系统)

    图中包含一个轴对象。标题为Hankel奇异值和近似误差的坐标轴对象包含3个类型为bar, line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    对于本例,选择的顺序16因为它是一阶的绝对误差小于1的军医.一般来说,您可以根据所需的绝对或相对保真度选择顺序。然后,计算降阶模型。

    Rsys = balred(sys,16);

    通过绘制奇异值响应来验证绝对误差σ

    σ(sys sys-rsys)

    图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示sys, untitled1。

    从图中观察,误差,用红色曲线表示,在下面-80分贝1的军医).

    在本例中,考虑一个随机连续时间状态空间模型,该模型具有65个状态。

    Rng (0) sys = rss(65);大小(系统)
    一个输出,一个输入,65个状态的状态空间模型。

    在图上可视化汉克尔奇异值。

    balred(系统)

    图中包含一个轴对象。标题为Hankel奇异值和近似误差的坐标轴对象包含3个类型为bar, line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    对于这个例子,计算有25、30和35个状态的降阶模型。

    Order = [25,30,35];Rsys = balred(sys,order);大小(rsys)
    状态空间模型的3x1数组。每个模型有1个输出,1个输入,25到35个状态。

    计算给出的系统的降阶近似:

    G 年代 年代 + 0 5 年代 + 1 1 年代 + 2 9 年代 + 1 0 - 6 年代 + 1 年代 + 2 年代 + 3.

    创建模型。

    Sys = zpk([-0.5 -1.1 -2.9],[-1e-6 -2 -1 -3],1);

    排除在 年代 1 0 - 6 由稳定项的稳定/不稳定分解。要这样做,请设置抵消选择balredOptions到一个大于你要排除的极点的值。

    opts = balredOptions(“抵消”, 0.001,“StateProjection”“截断”);

    可视化汉克尔奇异值(HSV)和近似误差。

    balred (sys,选择)

    图中包含一个轴对象。标题为Hankel奇异值和近似误差的坐标轴对象包含3个类型为bar, line的对象。这些对象表示不稳定模式,稳定模式,绝对误差界限。

    观察第一个HSV是红色的,这表明它与一个不稳定的模式相关联。

    现在,用指定的选项计算二阶近似。

    [rsys,info] = balred(sys,2,opts);rsys
    rsys = 0.99113 (s + 0.5235 ) ------------------- ( s + 1 e-06) (s + 1.952)连续时间零/钢管/增益模型。

    注意这个极点1 e-6在简化模型中没有变化rsys

    比较了原始模型和降阶模型的响应。

    rsys bodeplot (sys,“r——”

    图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象分别代表sys, rsys。坐标轴对象2包含2个line类型的对象。这些对象分别代表sys, rsys。

    原始模型与降阶模型的波德响应基本吻合。

    对高阶模型进行化简,重点关注特定频率范围内的动态。

    加载一个模型并检查它的频率响应。

    负载(“highOrderModel.mat”‘G’) bodeplot (G)

    图中包含2个轴对象。Axes对象1包含一个line类型的对象。该对象表示G. Axes对象2包含一个line类型的对象。这个对象表示G。

    G是一个48阶模型,在5.2 rad/s、13.5 rad/s和24.5 rad/s附近有几个较大的峰值区域,较小的峰值分散在许多频率上。假设对于您的应用程序,您只对第二个大峰附近的动态感兴趣,在10 rad/s和22 rad/s之间。将模型约简集中在感兴趣的区域上,以获得与低阶近似的良好匹配。使用balredOptions指定的频率间隔balred

    bopt = balredOptions(“StateProjection”“截断”“FreqIntervals”[10] 22日);GLim10 = balred(G,10,bopt);GLim18 = balred(G,18,bopt);

    检验降阶模型的频率响应。另外,检查这些响应和原始响应之间的差异(绝对误差)。

    次要情节(2,1,1);bodemag (G, GLim10, GLim18 logspace(0.5、1.5,100));标题(“波德星等图”)传说(“原始”“订单10”“订单18”);次要情节(2,1,2);bodemag (G-GLim10 G-GLim18 logspace (0.5, 1.5,100));标题(“绝对误差图”)传说(“订单10”“订单18”);

    图中包含2个轴对象。Axes对象1包含3个line类型的对象。这些物件分别代表原厂、订单10、订单18。坐标轴对象2包含2个line类型的对象。这些对象代表(10)(18)

    在频限能量计算中,即使是10阶近似在目标区域也很好。

    对于本例,考虑SISO状态空间模型光盘有120个州。在近似模型时,可以使用绝对误差控制或相对误差控制balred.当应用于便携式CD播放器设备的120状态模型时,这个示例比较了这两种方法crdom[1,2]

    加载CD播放器模型光盘

    负载cdromData.mat光盘大小(光盘)
    具有1个输出、1个输入和120个状态的状态空间模型。

    为了比较绝对误差控制和相对误差控制的结果,为每种方法创建一个选项集。

    opt_abs = balredOptions(“ErrorBound”“绝对”“StateProjection”“截断”);opt_rel = balredOptions(“ErrorBound”“相对”“StateProjection”“截断”);

    用这两种方法计算15阶的降阶模型。

    Rsys_abs = balred(cdrom,15,opt_abs);Rsys_rel = balred(cdrom,15,opt_rel);大小(rsys_abs)
    具有1个输出、1个输入和15个状态的状态空间模型。
    大小(rsys_rel)
    具有1个输出、1个输入和15个状态的状态空间模型。

    绘制原始模型的波德响应,以及绝对误差和相对误差减小模型。

    Bo = bodeoptions;薄PhaseMatching =“上”;bodeplot(光盘,“b”。rsys_abs,“r”rsys_rel,‘g’博)传说(“原始(120个州)”绝对误差(15个状态)相对误差(15个状态)

    图中包含2个轴对象。Axes对象1包含3个line类型的对象。这些对象代表原始(120种状态),绝对误差(15种状态),相对误差(15种状态)。坐标轴对象2包含3个line类型的对象。这些对象代表原始(120种状态),绝对误差(15种状态),相对误差(15种状态)。

    观察波德响应:

    • 相对误差缩减模型rsys_rel几乎与原始模型的响应相匹配sys在整个频率范围内。

    • 绝对误差缩减模型rsys_abs匹配原始模型的响应sys只在收益最大的领域。

    参考文献

    1. 模型约简的基准示例,系统与控制理论子程序库(sloot)。CDROM数据集是经许可复制的,请参见BSD3-license获取详细信息。

    2. a .瓦尔加,《关于随机平衡的相关模型约简》,第39届IEEE决策与控制会议论文集。No.00CH37187),悉尼,新南威尔士,2000,pp. 2385-2390 vol.3, doi: 10.1109/CDC.2000.914156。

    输入参数

    全部折叠

    动态系统,指定为SISO或MIMO动态系统模型.可以使用的动态系统可以是连续时间或离散时间数值LTI模型,例如特遣部队zpk,或党卫军模型。

    sys具有不稳定的极点,balred分解sys对其稳定部分和不稳定部分进行近似。使用balredOptions为稳定/不稳定分解指定其他选项。

    balred不支持频响数据模型金宝app、不确定和广义状态空间模型、PID模型或稀疏模型对象。

    期望的状态数,用整数或整数向量指定。您可以通过设置一次尝试多个订单订单变成一个整数向量,在这种情况下变化中作为简化模型的数组返回。

    您还可以使用汉克尔奇异值和误差界限信息来根据所需的模型保真度选择简化模型的顺序。

    用于模型缩减的其他选项,作为选项集指定。您可以指定消除状态的其他选项,使用绝对和相对误差控制,强调某些时间或频段,以及分离稳定和不稳定模式。

    看到balredOptions创建并配置选项集选择

    输出参数

    全部折叠

    降阶模型,作为动态系统模型或动态系统模型数组返回。

    关于LTI模型的附加信息,作为具有以下字段的结构返回:

    • HSV汉克尔奇异值(状态对输入/输出行为的贡献)。在平衡输入到状态和状态到输出能量传递的状态坐标中,汉克尔奇异值测量每个状态对输入/输出行为的贡献。汉克尔奇异值之于模型的顺序,就像奇异值之于矩阵的秩。特别地,小汉克尔奇异值信号状态可以被丢弃以简化模型。

    • ErrorBound-绝对或相对近似误差约束。info.ErrorBound (J + 1)限制了J阶的误差。

    • 正则化-正则化级别⍴(仅针对相对误差)。在这里,sys(sys,⍴*我)(sys;⍴*我)这保证了在所有频率上都有明确的相对误差。

    • Rr罗依-革兰氏的Cholesky因子。

    算法

    1. balred第一次分解G分为稳定部分和不稳定部分:

      G G 年代 + G u

    2. 当你指定ErrorBound作为绝对balred的平衡截断法[1]减少G年代.计算汉克尔奇异值(HSV)σj基于可控性和可观测性。为订单r,绝对误差 G 年代 G r 的边界是 2 j r + 1 n σ j .在这里,n状态数是多少G年代

    3. 当你指定ErrorBound作为相对balred的平衡随机截断法[2]减少G年代.在广场G年代,计算HSVσj相位矩阵的 F W 1 G 在哪里W(年代)是稳定的,最小相位谱因子绯闻女孩的

      W 年代 W 年代 G 年代 G 年代

      为订单r,相对误差 G 年代 1 G 年代 G r 边界为:

      j r + 1 H 1 + σ j 1 σ j 1 2 j r + 1 n σ j

      的时候, 2 j r + 1 n σ j 1

    选择功能

    应用程序

    减速器模型

    实时编辑任务

    降低模型顺序

    参考文献

    [1] Varga, A.,“计算奇异摄动近似的无平衡平方根算法”,第30届IEEE疾病控制与预防中心教授,英国布莱顿(1991),第1062-1065页。

    [2] Green, M.,“平衡随机截断的相对误差界”,IEEE自动控制汇刊《中华人民大学学报》1988年第33卷第10期

    版本历史

    R2006a之前介绍

    全部展开

    另请参阅

    功能

    应用程序

    实时编辑任务