主要内容

TuningGoal。StepRejection类

包:TuningGoal

控制系统调优的阶跃干扰抑制要求

描述

使用TuningGoal。StepRejection指定在控制系统中指定位置注入的阶跃扰动如何影响指定输出位置的信号。将此调优目标与控制系统调优命令一起使用,例如systunelooptune

您可以在时域中指定所需的响应,包括峰值、沉降时间和阻尼比。或者,您可以将响应指定为具有dc增益的稳定参考模型。在这种情况下,调优目标是拒绝干扰以及或更好的参考模型。

若要根据频域衰减剖面指定干扰抑制,请使用TuningGoal。拒绝

建设

要求的事情= TuningGoal。StepRejection(inputnameoutputnamerefsys创建一个调优目标,限制如何在某个位置注入阶跃干扰inputname影响的响应outputname.调优目标是使干扰被拒得与参考系统一样好或更好。inputname而且outputname可以描述控制系统的SISO或MIMO响应。对于MIMO响应,输入的数量必须等于输出的数量。

要求的事情= TuningGoal。StepRejection(inputnameoutputnametSettle根据峰值和稳定时间指定无振荡响应。

要求的事情= TuningGoal。StepRejection(inputnameoutputnametSettleζ允许至少为阻尼比的阻尼振荡ζ

输入参数

inputname

用于调优目标的输入信号,指定为字符向量,或者对于多输入调优目标,指定为字符向量的单元格数组。

  • 如果您正在使用调优目标来调优Simulink万博1manbetx®控制系统的模型inputname可以包括:

    • 任何模型输入。

    • 模型中标注的任意线性分析点。

    • 任意线性分析点slTuner(万博1manbetxSimulink控制设计)与Simulink模型相关联的接口。万博1manbetx使用addPoint(万博1manbetxSimulink控制设计)中添加分析点slTuner接口。使用getPoints(万博1manbetxSimulink控制设计)中可用的分析点列表slTuner接口到您的模型。

    例如,假设slTuner接口包含分析点u1而且u2.使用‘u1’在创建调优目标时将该点指定为输入信号。使用{u1, u2的}指定一个双通道输入。

  • 如果使用调优目标来调优广义状态空间(一族)控制系统模型,则inputname可以包括:

    • 的任何输入一族模型

    • 任何AnalysisPoint控制系统模型中的位置

    例如,如果你正在调优一个控制系统模型,T,然后inputname可以输入任何名字在T.InputName.同样,如果T包含一个AnalysisPoint块,其位置名为AP_u,然后inputname可以包括“AP_u”.使用getPoints中可用的分析点列表一族模型。

    如果inputname是一个AnalysisPoint定位一个广义模型时,对于调优目标的输入信号是与之相关的隐含输入AnalysisPoint布洛克:

有关控制系统模型中分析点的更多信息,请参见控制系统分析与设计的感兴趣信号标记

outputname

调优目标的输出信号,指定为字符向量,对于多输出调优目标,指定为字符向量的单元格数组。

  • 如果您正在使用调优目标来调优控制系统的Simulink模型,则万博1manbetxoutputname可以包括:

    • 任何模型输出。

    • 模型中标注的任意线性分析点。

    • 任意线性分析点slTuner(万博1manbetxSimulink控制设计)与Simulink模型相关联的接口。万博1manbetx使用addPoint(万博1manbetxSimulink控制设计)中添加分析点slTuner接口。使用getPoints(万博1manbetxSimulink控制设计)中可用的分析点列表slTuner接口到您的模型。

    例如,假设slTuner接口包含分析点日元而且y2.使用“日元”在创建调优目标时将该点指定为输出信号。使用{y1, y2的}指定一个双通道输出。

  • 如果使用调优目标来调优广义状态空间(一族)控制系统模型,则outputname可以包括:

    • 的任何输出一族模型

    • 任何AnalysisPoint控制系统模型中的位置

    例如,如果你正在调优一个控制系统模型,T,然后outputname可以是任何输出名称在T.OutputName.同样,如果T包含一个AnalysisPoint块,其位置名为AP_u,然后outputname可以包括“AP_u”.使用getPoints中可用的分析点列表一族模型。

    如果outputname是一个AnalysisPoint定位广义模型时,用于调优目标的输出信号是与之关联的隐含输出AnalysisPoint布洛克:

有关控制系统模型中分析点的更多信息,请参见控制系统分析与设计的感兴趣信号标记

refsys

目标步骤拒绝的参考系统,指定为SISO动态系统模型,例如特遣部队zpk,或党卫军模型。refsys必须稳定和适当,并且必须有零直流增益。这种限制确保了对稳态扰动的完美抑制。

refsys可以是连续的,也可以是离散的。如果refsys是离散的,它可以包括时间延迟,被视为极点在z= 0。

为了达到最佳效果,refsys从扰动到输出的开环响应应该在参考模型增益峰值的频率处具有相似的增益。你可以检查峰值增益和峰值频率使用getPeakGain.例如:

[gmax,fmax] = getPeakGain(refsys);

使用getIOTransfer从正在调优的系统中提取相应的开环响应。

目标对扰动响应的峰值绝对值,用标量值表示。

tSettle

对扰动响应的目标设定时间,指定为正标量值,在要调优的控制系统的时间单位内。

ζ

扰动响应中振荡的最小阻尼比,指定为0到1之间的值。

默认值:1

属性

ReferenceModel

目标对阶跃干扰响应的参考系统,指定为SISO (zpk)模型。此模型的阶跃响应指定输出信号如何由outputname应响应阶跃扰动在inputname

如果你使用refsys参数来创建调优目标,然后是的值ReferenceModelzpk (refsys)

如果你使用tSample,ζ输入参数,然后ReferenceModel是一个zpk阶跃响应具有指定特征的一阶或二阶传递函数的表示。

InputScaling

输入信号缩放,指定为正实数向量。

当单位的选择导致大信号和小信号的混合时,使用此属性指定向量值输入信号中每个输入项的相对振幅。此信息用于缩放闭环传递函数输入输出当评估调优目标时。

假设T年代的闭环传递函数输入输出.对缩放传递函数的调优目标进行评估Do1T年代D.对角线矩阵Do而且DOutputScaling而且InputScaling分别在对角线上的值。

默认值:[],表示不缩放。

默认值:[]

OutputScaling

输出信号缩放,指定为正实数向量。

当单位的选择导致小信号和大信号的混合时,使用此属性指定向量值输出信号中每个项的相对振幅。此信息用于缩放闭环传递函数输入输出当评估调优目标时。

假设T年代的闭环传递函数输入输出.对缩放传递函数的调优目标进行评估Do1T年代D.对角线矩阵Do而且DOutputScaling而且InputScaling分别在对角线上的值。

默认值:[],表示不缩放。

默认值:[]

输入

扰动输入位置的名称,指定为字符向量的单元格数组。属性初始填充此属性inputname参数。

输出

测量对阶跃干扰的响应的位置名称,指定为字符向量的单元格数组。属性初始填充此属性outputname参数。

模型

调优目标应用于的模型,指定为索引向量。

使用模型属性调优控制系统模型的数组时使用的systune,为数组中的模型子集强制执行调优目标。例如,假设您想应用调优目标,要求的事情,传递给模型数组中的第二、第三和第四个模型systune.要限制调优目标的执行,使用以下命令:

要求的事情。模型= 2:4;

型号= NaN,调优目标适用于所有模型。

默认值:

开口

评估调优目标时要打开的反馈循环,指定为标识循环打开位置的字符向量的单元格数组。调优目标是根据在您确定的位置打开反馈循环所创建的开环配置进行评估的。

如果您正在使用调优目标来调优控制系统的Simulink模型,则万博1manbetx开口可以包括在模型中标记的任何线性分析点,或在slTuner(万博1manbetxSimulink控制设计)与Simulink模型相关联的接口。万博1manbetx使用addPoint(万博1manbetxSimulink控制设计)中添加分析点和循环开口slTuner接口。使用getPoints(万博1manbetxSimulink控制设计)中可用的分析点列表slTuner接口到您的模型。

如果使用调优目标来调优广义状态空间(一族)控制系统模型,则开口可以包括任何AnalysisPoint控制系统模型中的位置。使用getPoints中可用的分析点列表一族模型。

例如,如果开口= {'u1','u2'},然后在分析点打开循环来评估调优目标u1而且u2

默认值:{}

的名字

调优目标的名称,指定为字符向量。

例如,如果要求的事情是调优目标:

要求的事情。的名字='LoopReq';

默认值:[]

例子

全部折叠

创建一个需求,根据峰值时域响应、沉降时间和振荡阻尼来指定阶跃扰动响应。

假设你想要在“y”对注入的扰动' d '不要超过0.25的绝对值,并在5秒内稳定下来。创建一个TuningGoal。StepRejection要求捕获这些规格,还指定非振荡响应。

Req1 = TuningGoal。StepRejection (' d '“y”0.25 5);

省略阻尼比的显式值,ζ,相当于设置ζ= 1。因此,要求的事情指定非振荡响应。该软件将峰值和沉降时间转换为阶跃响应具有所需时域轮廓的参考传递函数。这个传递函数存储在ReferenceModel的属性要求的事情

Req1。ReferenceModel
ans = 0.92883 s ----------- (s+1.367)^2连续时间零/极/增益模型。

通过显示确认目标响应要求的事情

图()viewGoal (Req1)

图中包含一个轴对象。axis对象包含一个line类型的对象。该对象表示Reference。

假设您的应用程序可以容忍振荡,只要阻尼比小于0.4。创建指定此扰动响应的需求。

Req2 = TuningGoal。StepRejection (' d '“y”, 0.25, 5, 0.4);图()viewGoal (Req2)

图中包含一个轴对象。axis对象包含一个line类型的对象。该对象表示Reference。

创建一个要求,将阶跃扰动响应指定为传递函数。

假设您希望在分析点注入对扰动的响应d在你的控制系统中测量某一点“y”至少和传递函数一样被拒绝

H 年代 年代 年代 2 + 2 年代 + 1

创建一个TuningGoal。StepRejection要求。

H = tf([1 0],[1 2 1]);Req = TuningGoal。StepRejection (' d '“y”、H);

显示需求。

viewGoal(要求)

图中包含一个轴对象。axis对象包含一个line类型的对象。该对象表示Reference。

图由viewGoal显示指定传递函数的阶跃响应。这个响应就是目标对扰动的时域响应。

提示

  • 该调优目标对闭环传递函数施加了隐式稳定性约束输入输出,以在中确定的点上打开的循环进行计算开口.受此隐式约束影响的动力学为稳定的动力学对于这个调优目标。的MinDecay而且MaxRadius选项的systuneOptions控制这些隐式约束动态的边界。如果优化不能满足默认边界,或者默认边界与其他需求冲突,请使用systuneOptions更改这些默认值。

算法

控件调优控制系统时TuningGoal,软件将调优目标转换为规范化的标量值fx),x是控制系统中自由(可调)参数的矢量。然后,软件调整参数值以最小化fx)或驾驶fx)低于1(如果调优目标是硬约束)。

TuningGoal。StepRejection目的是使扰动对输出的增益低于参考模型的增益。调优目标的标量值fx)由:

f x W F 年代 T d y 年代 x

或者离散时间的等价物。在这里,Tdy年代x的闭环传递函数输入输出, 表示H规范(见规范).WF是从您在调优目标中指定的步进抑制配置文件派生的频率加权函数。的收益WF而且1 / ReferenceModel与峰值增益60 dB以内的增益值大致匹配。由于数值原因,加权函数在此范围外趋于平稳,除非指定一个参考模型在此范围外改变斜率。这个调整叫做正则化.因为极点WF接近年代= 0或年代可能导致较差的数值调节systune在优化问题中,不建议指定非常低频或非常高频动态的参考模型。

获得WF使用:

WF = getWeight(Req,Ts)

在哪里要求的事情调优目标和Ts是调优的样本时间(Ts = 0对于连续时间)。有关正则化及其效果的更多信息,请参见可视化调优目标

兼容性的考虑

全部展开

R2016a的行为发生了变化

在R2016a中引入