主要内容

增益和相位裕度图,检查增益和相位裕度

线性系统的增益和相位边缘由非线性近似而来动态仿真模块模型

  • 库:
  • Simulink控制设计/线性分析图

    Simulink控制设计/模型验证

  • 增益和相位裕度图块

描述

增益和相位裕度图而且检查增益和相位裕度block从非线性Simulink中计算线性系统®在模拟过程中建模并显示增益和相位裕度。的默认设置之外,这些块是相同的界限选项卡。

  • 增益和相位裕度图不定义默认边界。

  • 检查增益和相位裕度块定义默认边界并为断言启用这些边界。

您可以在表格或Bode、Nichols或Nyquist图中查看页边距。

有关线性系统频域分析的更多信息,请参见频域响应

在仿真过程中,软件在指定的线性化输入和输出之间对模型的部分进行线性化,然后绘制线性系统的响应图。你也可以在MATLAB中把线性系统保存为变量®工作区。

Simulink模型可以是连续的、离散的或多速率的,并且可以有时间延迟。因为在这个块中只能指定一个线性化输入/输出对,所以线性系统是单输入单输出(SISO)。

您可以为增益和相位裕度分别指定一个最小边界,并在选定的图形或表上查看它们。您还可以在模拟过程中检查边界是否满足要求。

  • 如果满足了所有的边界,则块不执行任何操作。

  • 如果一个边界不满足,块断言和警告消息出现在MATLAB命令窗口。你也可以指定块:

    • 求一个MATLAB表达式。

    • 停止模拟并将该块聚焦。

在模拟过程中,块还可以输出逻辑断言信号。

  • 如果满足所有边界,则信号为真(1).

  • 如果任何边界不满足,则信号为假(0).

要计算和绘制模型各个部分的增益和相位边缘,可以添加多个增益和相位裕度图而且检查增益和相位裕度块。

这些块不支持代码生成,只能在正常的模拟模式。

港口

输入

全部展开

使用此输入端口(由外部触发图标)连接外部触发信号进行模型线性化计算。要指定要检测的触发信号类型,请使用触发类型参数。

依赖关系

若要启用此端口,请设置线性化的参数外部触发

输出

全部展开

将断言信号的值输出为逻辑值。中指定的任何边界界限如果违反TAB,则断言信号为假(0).否则,此信号为真(1).

缺省情况下,输出信号的数据类型为double。若要将输出数据类型设置为布尔型,请在Simulink模型中,在“配置参数”对话框中,选择将逻辑信号实现为布尔数据参数。此设置适用于模型中生成逻辑信号的所有块。

您可以使用断言信号来设计复杂的断言逻辑。有关示例,请参见使用Simulink控制设计和Simulink验证块验证模型

依赖关系

要启用此端口,请选择输出断言信号参数。

参数

全部展开

选择以下方法之一以显示计算得到的增益和相位裕度。

  • 波德-波德图

  • 尼克尔斯-尼科尔斯图

  • 尼奎斯特——奈奎斯特的情节

  • 表格——表

有关使用绘图的更多信息,请参见利用情节

编程使用

块参数:PlotType
类型:特征向量
值:“预示”|“尼古拉斯”|“奈奎斯特”|“表”
默认值:“预示”

若要查看在模拟过程中计算的增益和相位裕度,请在开始模拟之前单击此按钮。的边界界限Tab,它们也显示在图上。

要在打开块时显示图形,请选择显示地块在块上打开参数。

有关使用绘图的更多信息,请参见利用情节

选择此参数可在打开块时打开绘图。然后,您可以在绘图窗口中执行任务,例如添加或修改边界,而不是使用块参数。要从绘图窗口访问块参数,请选择编辑或者点击参数图标

有关使用绘图的更多信息,请参见利用情节

编程使用

块参数:LaunchViewOnOpen
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

打开响应优化器应用程序优化模型响应,以满足设计上规定的要求界限选项卡。

此按钮仅当您拥有时可用Simulink设计优化™软件安装。

有关响应优化的详细信息,请参见优化设计以满足阶跃响应要求(GUI)(Simulink设计优化)而且满足时域和频域要求的设计优化(GUI)(Simulink设计优化)

线性化

控件上的参数可指定要线性化的模型部分和其他线性化设置线性化选项卡。选项卡上的默认设置与增益和相位边际图而且检查增益和相位裕度块。

若要指定要线性化的模型部分,请从Simulink模型中选择信号,并将其添加为线性化输入或输出。

线性化输入输出表

在表中,布洛克:端口:总线元素列显示每个信号的以下信息。

  • 源数据块

  • 信号所连接的源块的输出端口

  • 总线元素名称(如果信号在总线中)

配置列中,从以下类型中选择线性分析点的类型。有关线性分析点的更多信息,请参见指定要线性化的模型部分

  • 开环输入—循环开启后线性化输入点

  • 开环输出—循环开启前线性化输出点

  • 移圈-在循环开始之前指定一个输出点,然后是一个输入

  • 输入扰动-为信号指定一个附加输入

  • 输出测量-对信号进行测量

  • 循环打破—循环开启

  • 灵敏度-指定一个附加输入和一个输出测量

  • 互补的敏感性—输出后加一个输入

请注意

如果模拟模型时没有指定线性化输入或输出,该软件将在MATLAB命令窗口中生成警告,并且不会计算线性系统。

编辑线性化输入和输出

添加线性化输入和输出:

  1. 单击,展开信号选择区域+

    展开对话框,显示a单击模型中的一个信号以选择它区域。

  2. 在Simulink模型中,选择一个或多个信号。

    所选信号出现在模型的信号表格

    添加了信号的信号表

  3. (可选)对于总线信号,展开总线以选择单个元素。

    提示

    对于大型总线或其他大型信号列表,您可以过滤信号名称。在按名称筛选框,输入搜索文本。名称匹配区分大小写。

    单击,修改过滤选项向下的箭头.有关筛选选项的详细信息,请参见启用正则表达式而且将过滤后的结果显示为平面列表参数。

  4. 将所选信号添加到输入/输出线性化表,点击左箭头键

  5. 配置列,指定信号类型。

或者,如果模型中定义了线性化输入和输出,则可以将它们添加到输入/输出线性化表。导入图标

的信号移除输入/输出线性化表中,选择信号,单击删除图标

控件中的信号,若要突出显示Simulink模型中信号的源块输入/输出线性化表,单击突出显示图标

选择此选项可启用使用MATLAB正则表达式对信号名称进行滤波。例如,输入新台币按名称筛选文本框显示名称以小写字母结尾的所有信号t(以及他们的直系父母)。有关更多信息,请参见正则表达式

依赖关系

单击,启用该参数向下的箭头旁边是按名称筛选文本框中。

选择此选项以平面列表格式显示过滤后的信号列表。平面列表格式使用点符号来反映总线信号的层次结构。的文本对信号进行过滤按名称筛选文本框中。

下图显示了一组经过筛选的嵌套总线信号的平面列表格式示例。

依赖关系

单击,启用该参数向下的箭头旁边是按名称筛选文本框中。

使用此参数指定何时要计算线性模型。

若要在指定的模拟快照时间内计算线性模型,请将此参数设置为模拟快照.属性指定快照时间快照时间参数。

在以下情况使用模拟快照:

  • 知道模型何时处于稳态工作点的一次或多次

  • 想要在特定时间计算线性系统

若要在基于触发器的模拟事件中计算线性模型,请将此参数设置为外部触发.选择此选项将向块添加一个触发输入端口,您可以将外部触发信号连接到该端口。要指定要检测的触发器类型,请使用触发类型参数。

当仿真过程中产生的信号表明模型处于感兴趣的稳态条件时,使用外部触发器。例如,对于一个飞机模型,当燃料质量是最大燃料质量的一个给定分数时,你可能想要计算线性系统。

编程使用

块参数:LinearizeAt
类型:特征向量
值:“SnapshotTimes”|“ExternalTrigger”
默认值:“SnapshotTimes”

若要在特定的仿真时间计算线性系统,例如您知道模型达到稳态工作点的时间,请指定一个或多个快照时间。若要指定多个快照时间,请将此参数指定为一个正向量。

快照时间必须小于或等于Simulink模型中指定的仿真时间。

有关在模拟快照时间线性化模型的示例,请参见:

依赖关系

若要启用此参数,请设置线性化的参数模拟快照

编程使用

块参数:SnapshotTimes
类型:特征向量
值:' 0 '|正实数|正实数向量
默认值:' 0 '

在外部触发信号中指定要检测的触发器为以下类型之一。

  • 前沿-使用触发信号的上升边;也就是说,当信号从01

  • 下降沿-使用触发信号的下降边;也就是说,当信号从10

依赖关系

若要启用此参数,请设置线性化的参数外部触发

编程使用

块参数:TriggerType
类型:特征向量
值:“上升”|“下降”
默认值:“上升”

选择此选项可启用过零检测。

当你设置线性化的参数模拟快照,启用过零检测可确保软件在指定的快照时间精确地计算线性模型快照时间参数。

当你设置线性化的参数外部触发,启用过零检测,确保软件在检测到外部触发器的准确时间计算线性模型。要指定触发器的类型,请使用触发类型参数。

如果清除此选项,该软件将在由可变步长Simulink求解器选择的仿真时间计算线性系统,这可能不对应于精确的快照时间或检测到触发信号的准确时间。

例如,考虑可变步长求解器选择模拟时间的情况Tn1而且Tn.如下图所示,指定的快照时间T提前可以选择之间的仿真次数。如果启用过零检测,求解器还会实时模拟模型T提前然后计算这一点的线性模型。

类似地,外部触发器可以一次检测到T三角这是在选定的模拟时间之间。如果启用过零检测,求解器还会实时模拟模型T三角然后计算这一点的线性模型。

在这两种情况下,如果不启用过零检测,软件将在任意一种情况下计算线性模型Tn1Tn

有关过零检测的详细信息,请参见讨论二阶导数过零检测

依赖关系

当您使用固定步长的Simulink求解器时,此参数将被忽略。

编程使用

块参数:ZeroCross
类型:特征向量
值:“上”|“关闭”
默认值:“上”

选择此选项可计算具有精确延迟的线性模型。如果清除此选项,线性模型将使用任何延迟的Padé近似值。

有关带延迟的线性化模型的更多信息,请参见用延迟线性化模型

编程使用

块参数:UseExactDelayModel
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

为计算具有指定采样时间的线性系统,该软件使用中指定的方法在模型中叠加采样时间采样时间速率转换方法参数。

您可以将采样时间设置为以下值之一。

  • 汽车—如果模型中的所有块都是连续时间,则使用的采样时间为0.否则,将采样时间设置为模型中非零采样时间的最小公倍数。

  • 正有限值-创建一个离散时间模型与指定的采样时间

  • 0-创建一个连续时间模型

编程使用

块参数:SampleTime
类型:特征向量
值:“汽车”|正的有限值|' 0 '
默认值:“汽车”

在线性化期间转换采样时间的方法,指定为以下值之一。

  • 零级举行-零阶保持器,其中控制输入在采样时间内分段恒定Ts.这种方法通常在时域表现较好。

  • Tustin(双线性)-无频率预翘曲的双线性(Tustin)近似。该软件舍入小数时间延迟到采样时间的最接近倍数。这种方法通常在频域表现较好。

  • 带预整经的塔斯丁-双线性(Tustin)近似频率预翘曲。属性指定前曲频Prewarp频率参数。这种方法通常在频域表现较好。使用此方法可以确保在感兴趣的频率区域进行匹配。

  • 在可能的情况下向上采样,否则零级保持-在可能的情况下对离散时间系统进行采样;否则,使用零级握持器。

  • 如果可能的话,向上取样,否则,塔斯汀-在可能的情况下对离散时间系统进行采样;否则,使用塔斯廷近似。

  • 如果可能,上样,否则用预整-在可能的情况下对离散时间系统进行采样;否则,使用带频率预翘曲的Tustin近似。

只有当你将一个离散时间系统转换为一个新的更快的采样时间时,你才能向上采样,这个时间是原始系统采样时间的整数倍。

有关多速率模型的速率转换和线性化的更多信息,请参见:

请注意

如果您使用的汇率转换方法不是零级举行,转换后的状态不再具有与原始状态相同的物理意义。结果,结果LTI系统中的状态名变为“?”

依赖关系

若要启用此参数,请设置线性系统采样时间参数的值汽车

编程使用

块参数:RateConversionMethod
类型:特征向量
值:“zoh”|“tustin”|“prewarp”|“upsampling_zoh”|“upsampling_tustin”|“upsampling_prewarp”
默认值:“zoh”

用于塔斯廷速率转换(以弧度/秒为单位)的预扭曲频率,指定为重采样前后小于奈奎斯特频率的标量值。

依赖关系

若要启用此参数,请设置采样时间速率转换方法参数设置为以下值之一。

  • 带预整经的塔斯丁

  • 如果可能,上样,否则用预整

编程使用

块参数:PreWarpFreq
类型:特征向量
值:积极的标量
默认值:“十”

要使用完整的块路径显示计算线性系统的状态、输入和输出名称,请选择此参数。例如,在scdcstr模型中的状态Integrator1装运箱子系统显示其完整块路径为scdcstr /装运箱/ Integrator1

如果清除此参数,则只使用状态、输入和输出的名称,这在信号名称是唯一的并且您知道它们在Simulink模型中的位置时非常有用。在前面的示例中,积分器块的状态名显示为Integrator1

计算出的线性系统是一个状态空间对象(党卫军).系统的状态、输入和输出名称出现在以下状态空间对象属性中。

输入、输出或状态名称 状态-空间对象属性
线性化输入名称 InputName
线性化输出名称 OutputName
国家的名字 StateName

编程使用

块参数:UseFullBlockNameLabels
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

当选择整个总线作为线性化输入或输出时,选择此参数可使用计算线性系统中各个总线元素的信号名称。如果不启用此选项,则使用总线通道号。

请注意

不建议选择整个总线信号。相反,选择单个总线元素。

当线性化输入或输出来自以下块之一时,出现总线信号名称。

  • 包含总线对象的根级输入块

  • 总线创建块

  • 子系统块,其源可以追溯到总线创建者块的输出

  • 子系统块,其源仅通过虚拟或非虚拟子系统边界追溯到根级导入

依赖关系

当您的模型包含mux/总线混合物时,不支持使用此参数。

编程使用

块参数:UseBusSignalLabels
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

界限

属性上的参数可定义增益和相位边缘边界,以检查是否违反这些边界界限选项卡。控件的此选项卡上的默认设置不同增益和相位裕度图而且检查增益和相位裕度块。

选择此参数可检查增益和相位边缘是否违反指定的边界。

缺省情况下,该参数为空增益和相位裕度图块,并为检查增益和相位裕度块。

依赖关系

属性时,此参数仅用于断言启用断言参数。

编程使用

块参数:EnableMargins
类型:特征向量
值:“上”|“关闭”
默认值:“关闭”增益和相位裕度图块,“上”检查增益和相位裕度

您可以为增益裕度指定一个以分贝为单位的下限。若要指定不限制增益裕度,可将该参数设置为[]

缺省情况下,增益边际限为[]增益和相位裕度图块和20.检查增益和相位裕度块。

您还可以在绘图窗口中编辑增益边界。有关更多信息,请参见利用情节

依赖关系

若要检查在模拟过程中是否违反增益边际界限,请同时选择在断言中包括增益和相位裕度而且启用断言参数。

编程使用

块参数:GainMargin
类型:特征向量
值:正有限数
默认值:“[]”增益和相位裕度图块,“20”检查预兆特征

您可以以程度为单位指定相位边缘的单个下界。若要指定不限制相位裕度,请将此参数设置为[]

缺省情况下,相位边界为[]增益和相位裕度图块和30.检查增益和相位裕度块。

您还可以在绘图窗口中编辑相位边界。有关更多信息,请参见利用情节

依赖关系

若要检查在模拟过程中是否违反相位边缘界限,请同时选择在断言中包括增益和相位裕度而且启用断言参数。

编程使用

块参数:PhaseMargin
类型:特征向量
值:正有限数
默认值:“[]”增益和相位裕度图块,“30”检查预兆特征

使用下列选项之一指定用于确定增益和相位裕度的反馈符号。

  • 负面的反馈-使用负面反馈

  • 积极的反馈-使用积极的反馈

要确定反馈符号,请检查线性化输入和输出定义的路径是否包含反馈总和块。

  • 如果路径包含总和块,指定正反馈。

  • 路径中不包含总和块时,指定与总和块。

例如,在验证飞机的频域特性,检查增益和相位裕度块在求和块中包含负号。因此,反馈符号是正的。

编程使用

块参数:FeedbackSign
类型:特征向量
值:' 1 '|“+ 1”
默认值:' 1 '

日志记录

控件上的参数可控制是否保存模拟期间计算的线性化结果日志记录选项卡。选项卡上的默认设置与增益和相位裕度图而且检查增益和相位裕度块。

选择此参数可保存计算出的线性系统,以便进一步分析或控制设计。数据保存在具有以下字段的结构中。

  • 时间-计算线性系统的仿真时间。

  • -表示线性系统的状态空间模型。如果线性系统在多次仿真中计算,状态空间模型的数组。

  • operatingPoints-操作点对应于每个线性系统中的.要启用此字段,请选择为每次线性化保存操作点参数。

要指定所保存数据结构的名称,请使用变量名财产。

所保存数据结构的位置取决于Simulink模型的配置。

  • 如果模型未配置为将仿真输出保存为单个对象,则数据结构是MATLAB工作空间中的变量。

  • 如果将模型配置为将模拟输出保存为单个对象,则数据结构为仿真软件。SimulationOutput对象,该对象包含已记录的模拟数据。

若要将模型配置为将模拟输出保存在单个对象中,请在“配置参数”对话框中选择单次仿真输出参数。

有关在Simulink中记录数据的更多信息,请参见导出仿真数据仿真软件。SimulationOutput参考页面。

编程使用

块参数:SaveToWorkspace
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

指定用于存储模拟期间计算的线性系统的数据结构的名称。

该名称在所有数据记录模型块中使用的变量名中必须唯一,例如线性分析图块、模型验证块、范围块,到工作空间块和模拟返回变量,如时间、状态和输出。

有关在Simulink中记录数据的更多信息,请参见导出仿真数据仿真软件。SimulationOutput参考页面。

依赖关系

要启用此参数,请选择将数据保存到工作区参数。

编程使用

块参数:SaveName
类型:特征向量
默认值:“sys”

选择此参数可保存计算每次线性化的工作点。选择此参数将添加operatingPoints字段中保存的数据结构。

依赖关系

要启用此参数,请选择将数据保存到工作区参数。

编程使用

块参数:SaveOperatingPoints
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

断言

控件上定义边界时,控制块的断言行为界限TAB被违反时,使用参数上的断言选项卡。选项卡上的默认设置与增益和相位裕度图而且检查增益和相位裕度块。

方法上定义的边界是否为界限TAB在模拟过程中满足时,选择此参数。当不满足绑定时,断言失败并生成警告。

清除此参数将禁用断言;也就是说,该块不再检查是否满足指定的边界。块图标也会更新,表示断言已被禁用。

块,其中X表示断言被禁用。

默认情况下,在界限标签:

  • 增益和相位裕度图块没有定义边界。

  • 检查增益和相位裕度块已经定义了边界。

您可以配置您的Simulink模型以启用或禁用所有模型验证块并覆盖启用断言参数。为此,请在Simulink模型中,在“配置参数”对话框中指定模型验证块启用参数。

编程使用

块参数:启用
类型:特征向量
值:“上”|“关闭”
默认值:“上”

上指定的边界时,指定MATLAB表达式求值界限TAB被违反。表达式中使用的所有变量必须在MATLAB工作空间中。

依赖关系

要启用此参数,请选择启用断言参数。

编程使用

块参数:回调
类型:特征向量
值:MATLAB的表情
默认值:

控件上指定的边界时停止模拟界限TAB被侵犯时,选中此参数。如果不选择此选项,则在MATLAB命令窗口中以警告的形式报告绑定违规,并继续模拟。

如果从Simulink模型运行仿真,当断言失败时,发生绑定违规的块将突出显示,并在“仿真诊断”窗口中显示错误消息。

请注意

由于选择此选项会在断言失败时立即停止模拟,因此不会报告稍后在模拟过程中可能发生的绑定违反。如果希望报告所有绑定违规,请不要选择此选项。

依赖关系

要启用此参数,请选择启用断言参数。

编程使用

块参数:stopWhenAssertionFail
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

添加z1断言信号输出端口到块。该端口将断言的值输出为布尔信号。当边界定义在界限,则断言失败,断言信号为0.否则,断言信号为1

您可以使用断言信号来设计复杂的断言逻辑。有关示例,请参见使用Simulink控制设计和Simulink验证块验证模型

编程使用

块参数:出口
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

更多关于

全部展开

版本历史

在R2010b中引入

Baidu
map