主要内容

频率响应估计量

估计植物的频率响应在模拟或实时

  • 图书馆:
  • 万博1manbetx仿真软件控制设计

  • 频率响应估计块

描述

使用频率响应估计量块使用物理设备或Simulink实时执行基于实验的估计万博1manbetx®在仿真模型。为了获得估计的频率响应,块同时:

  • 在额定工作点向装置注入正弦测试信号

  • 从工厂输出中收集响应数据

  • 计算估计的频率响应

你指定干扰设备和测量系统响应的频率。通过启动/停止信号触发估计过程。这个信号可以让你在任何时候开始估计,通常是当电站在标称工作点。在频率响应收敛后停止估计。

您可以对任何稳定的SISO设备使用在线频率响应估计。对于不稳定的设备,在线估计在闭环配置下工作,前提是闭环内部稳定。当且仅当标称闭环特征方程的根都位于开的左半平面时,闭环系统是内部稳定的。对于具有传递函数的植物G=NG/DG和控制器C=NC/DC时,特征方程为:

DGDC+NGNC= 0。

实际上,这种情况意味着没有不稳定的极点G是由零点抵消稳定的吗GC.对于不符合此条件的不稳定电厂,不要使用在线估算。

您可以生成代码并部署频率响应估计量块在硬件上进行实时估计。块支持用万博1manbetx万博1manbetx仿真软件编码器™,嵌入式编码器®,万博1manbetx仿真软件PLC编码器™.它不支持使用HDL Co万博1manbetxder™生成代码。

的详细信息频率响应估计量块,见:

有关在线频率响应估计的更多一般信息,请参见在线频率响应估计基础

港口

输入

全部展开

插入块到你的系统,这样这个端口接受一个控制信号或其他工厂的输入信号。例如,在一个闭环配置中,您可以如下图所示连接该端口。

在开环配置中,您可以将此输入端口连接到驱动您的工厂到所需的工作点进行估计的源。例如,你可以用a常数块设置为适当的值。

数据类型:|

连接这个端口到工厂的输出。

数据类型:|

要启动和停止估算过程,请在启动/停止端口。当信号的值为:

  • 负数或零到正,实验就开始了

  • 从正到负或零,实验停止

通常,您可以使用从0到1的信号来开始实验,从1到0的信号来停止实验。当实验不运行时,块不会在u +ΔΔu端口。在这种状态下,阻塞对植物的行为没有影响。

当设备处于所需的平衡工作点时,开始实验。在闭环配置中,使用控制器将设备驱动到工作点。在开环配置中,可以使用连接到的源块u驱动工厂到操作点。

让实验持续足够长的时间,让算法收集足够的数据,以便对它探测的所有频率进行良好的估计。块中显示了推荐的实验长度实验长度块参数的一部分。此值基于实验模式和您为实验指定的频率。

  • 实验模式正弦流,推荐实验长度为:

    2 π ω ( N e t , + N e t m , ) + 2 T N f r e q ,

    地点:

    • ω中指定的频率频率在rad / s参数()。

    • N频率频率是多少频率

    • N设置,是的对应值沉淀周期数参数。

    • Nestim,是的对应值估计周期数参数。

    • T实验取样时间,由样品时间(Ts)参数。

  • 实验模式叠加,推荐实验长度为最长周期的6倍。如果您的系统不需要太多的时间来衰减瞬态或噪声的平均,那么您可以使用较短的实验长度。有关如何在叠加模式下确定实验长度的更多信息,请参见叠加模式下的实验长度和数据采集窗口

在实验过程中避免任何负载干扰。负载干扰会使设备输出失真,并降低频率响应估计的准确性。

数据类型:|

的值频率参数。有关如何选择频率的信息,请参阅该参数。

当您通过此端口提供频率时,使用激励信号中的频率数参数。

依赖关系

要启用该端口,请输入激励信号源中,选择外部端口

数据类型:|

的值振幅参数。有关详细信息,请参见该参数。

依赖关系

要启用该端口,请输入激励信号源中,选择外部端口

数据类型:|

输出

全部展开

将该模块插入到您的系统中,以便该端口将输入信号馈送到您的工厂,如下图所示。

  • 当实验进行时启动/停止正),阻塞在此端口将测试信号注入电站。如果你有任何饱和或速率限制保护植物,从u +Δ进去。

  • 当实验没有运行时(启动/停止零或负),该块从uu +Δ.在这种状态下,阻塞对植物没有影响。

依赖关系

要启用该端口,请输入输出信号的配置中,选择控制动作+摄动

数据类型:|

该模块在该端口生成扰动信号。通常,通过一个sum块从该端口注入扰动,如下图所示。

  • 当实验进行时启动/停止正),该块在该端口产生扰动信号。

  • 当实验没有运行时(启动/停止0或负数),此端口的信号为零。在这种状态下,阻塞对植物没有影响。

依赖关系

要启用该端口,请输入输出信号的配置中,选择扰动只

数据类型:|

该端口的信号包含块在频响估计实验中收集的数据,包括应用于被测对象的扰动信号和被测对象的响应。当需要记录实验数据以供后续使用时,请使用该端口。例如,您可以通过记录数据并离线执行估计来节省部署环境中的资源(参见评估模式).有两种方法可以访问频率响应实验数据。

  • 使用一个到工作空间块将数据写入MATLAB®工作区作为包含时间序列数据的结构。的保存格式参数的到工作空间块必须是时间序列.该结构有以下字段:

    • 准备好了-逻辑信号,指示哪些时间步包括在估计计算(1)中,哪些时间步被排除(0)。例如,对于正弦流模式,该信号仅对于落在用户确定的周期内的数据为1沉淀周期数估计周期数参数。在叠加模式下,只有在所述窗口内的数据信号为1叠加模式下的实验长度和数据采集窗口

    • 摄动——正弦扰动Δu适用于植物

    • PlantInput-植物输入信号u +Δ,在那里u信号是否在块输入端口采集y

    • PlantOutput-在模块输入端口采集的设备输出信号y

  • 使用Si万博1manbetxmulink数据日志将数据写入工作空间万博1manbetxSimulink.SimulationData.Dataset对象。在这种情况下,包含四个时间序列信号的结构存储在字段的结果数据集。例如,假设模型被配置为将记录的数据保存到一个变量中logsout,数据是唯一被记录的端口。在这种情况下,结构包含在logsout{1}.值

您可以使用该端口的数据进行离线频响估计。例如,你可以在MATLAB中通过将结构传递给frestimate指挥部。有关访问和使用实验数据的更多信息,请参见采集频响实验数据进行离线估计

数据类型:|

该端口的信号包含被测对象估计的频率响应,在一个向量中,每个频率都有一个条目频率参数。您可以使用到工作空间块,或者使用Simulink万博1manbetx数据日志将数据写入工作空间万博1manbetxSimulink.SimulationData.Dataset对象。

通常,最好的估计是在实验结束时得到的。因此,您可能不需要在该端口记录所有历史数据。相反,您可以丢弃除最后一个时间步骤外的每个时间步骤的值。例如,在一个到工作空间块,您可以设置限制数据点到最后参数为1。然后,当实验结束时,得到的工作空间变量包含一个复值向量,每个复值对应于中指定的频率频率参数。

依赖关系

要启用此端口,请设置评估模式在线

数据类型:|

参数

全部展开

块是在固定的采样时间运行的离散时间块,由此参数指定。你能估计的最大频率是奈奎斯特频率,π/Trad / s。最佳实践是使用比奈奎斯特频率至少快5倍的采样时间,

T=π/ (5ω马克斯)≅0.6 /ω马克斯或0.1/f马克斯,

在哪里,在哪里ω马克斯最高频率在吗频率在rad / sf马克斯是Hz的最高频率。样本时间必须足够小,以估计所需的最快频率,但又不能小到引入不必要的计算负担。

如果将示例时间设置为-1,则软件将根据块之外的源确定编译时的示例时间。将采样时间设置为-1将禁用块中的内部检查,以确保估计频率低于Nyquist频率。

小费

如果您希望在应用程序中以不同的示例时间运行已部署的块,请将此参数设置为-1,并将块放入触发子系统。然后,在所需的采样时间触发子系统。如果您不打算在部署后更改采样时间,请指定固定的有限采样时间。

程序化使用

块参数:谨慎
类型:标量
价值正标量| -1
违约:0.1

默认情况下,该块将控制信号作为输入,并提供控制信号加上端口的实验扰动u+Δu.然后将这个信号输入到植物输入,如下图所示。

此默认配置要求在控制器和设备之间插入块。如果您想自己将扰动信号添加到控制信号中,请选择扰动只.在这种配置中,块输出只包含端口上的扰动信号Δu.例如,使用求和块将这个扰动信号注入到植物中,如下图所示。

在这个构型中,因为频率响应估计量不是闭环的一部分,您可以在不中断循环配置的情况下将其注释掉。

根据仿真环境或硬件要求指定浮点精度。

程序化使用

块参数:BlockDataType
类型:特征向量
价值观:“双”|“单一”
违约:“双”

指定是通过块参数还是通过外部端口提供实验扰动信号的频率和振幅。

  • 块参数—选择,启用频率振幅参数。

  • 外部端口—选择,启用wamp输入端口。如果您想在部署后改变扰动信号的频率和振幅,请使用此选项。

程序化使用

块参数:正弦源
类型:特征向量,字符串
价值观:“块参数”|“外部端口”
违约:“块参数”

用于估计设备频率响应的频率。块在每一个频率上注入一个扰动,或者同时(当实验模式叠加)或者按顺序(实验模式正弦流).你可以估计的最高频率受到奈奎斯特频率的限制,π/Trad / s,T您设置的值是样品时间(Ts)参数。

实验模式叠加:

  • 为了保持合理的收敛速度和估计精度,通常使用20-30个频率进行估计。最佳实践是指定不超过50个频率。

  • 最佳做法是将最低频率和最高频率之间的范围限制在20年以内。这一限制降低了某些频率的响应占主导地位而影响对其他频率响应的估计的可能性。

  • 试图线性化一个包含频率响应估计量使用叠加模式和超过50个频率的块会产生误差。误差表示:“模型包含太多线性化的元素。请缩小模型尺寸。”要完成线性化,您必须注释掉频率响应估计器块或减少频率的数量。

实验模式正弦流在美国,对频率的数量或范围没有建议的限制。然而,由于正弦流扰动的顺序性质,每增加一个频率点都会增加所需的实验时间(见启动/停止输入端口详情)。此外,太宽的频率范围要求您对高频使用快速的采样时间,而对较低的频率则是低效的。

在这两种模式中,当您在闭环配置中使用块时,频率远高于开环带宽可能会导致不准确的估计。

提示

此参数不可调优。要在部署后提供频率,请设置激励信号源外部端口并使用w输入端口。有关更多信息,请参见部署实时使用的频率响应估计算法

依赖关系

要启用该参数,请设置激励信号源块参数

程序化使用

块参数:频率
类型:向量
价值观:积极的实际价值
违约:“[0.5 - 1 2]”

指示频率参数以弧度/秒或赫兹为单位。

要启用该参数,请设置激励信号源块参数

程序化使用

块参数:FreqUnits
类型:字符串,特征向量
价值观:“rad / s”,“赫兹”
违约:“rad / s”

指定注入到装置中的扰动信号的振幅。要对所有频率使用相同的振幅,请指定一个标量值。如果您知道响应在估计的频率范围内发生显著变化,那么您可以使用一个矢量为每个频率指定不同的振幅。例如,您可以在已知共振频率附近使用一个较小的值,在rolrolf频率之上使用一个较大的值。这个向量的长度必须与你提供的向量相同频率

振幅必须是:

  • 大到足以使摄动克服装置执行器中的任何死区,并产生高于噪声水平的响应

  • 小到足以保持电站在接近标称工作点的近似线性区域内运行,并避免使电站的输入或输出饱和

实验模式叠加,正弦信号的叠加没有相移。因此,最大扰动可以超过任何单独分量的振幅,直到所有振幅的总和。确保最大的可能扰动是在您的工厂执行器的范围内。使执行器饱和会给估计的频率响应引入误差。

小费

此参数不可调优。为了提供部署后的振幅,设置激励信号源外部端口并使用amp输入端口。有关更多信息,请参见部署实时使用的频率响应估计算法

依赖关系

要启用该参数,请设置激励信号源块参数

程序化使用

块参数:振幅
类型:标量、矢量
违约:'1'

当您通过外部端口提供实验频率时w,指定频率数(此时矢量信号的长度w)使用此参数。

依赖关系

要启用该参数,请设置激励信号源外部端口

程序化使用

块参数:NumOfFreq
类型:标量
违约:“3”

指定每个频率的扰动是否按顺序施加(正弦流)或同时(叠加).

  • 正弦流-在这种模式下,在每个频率上分别施加一个扰动。指定在每个频率上允许系统结算的周期数沉淀周期数参数。指定使用估计周期数参数。有关用于估计的正弦流信号的更多信息,请参阅Sinestream输入信号

  • 叠加-在这种模式下,扰动信号一次包含所有指定的频率。用于频率矢量处的频响估计ω= (ω1、……ωN]振幅A= (A1、……AN,则扰动信号为:

    Δ u = A ( ω t )

    最佳实践是在叠加信号中使用不超过50个频率。

正弦流该模式比传统模式更精确,可适应更宽的频率范围叠加模式(请参阅频率参数)。正弦流模式的干扰性也可以更小,因为扰动的总大小永远不会大于振幅参数。然而,由于正弦波扰动的顺序性质,每增加一个频率点都会增加建议的实验时间(见启动/停止输入端口详情)。因此,估计实验通常要快得多叠加结果令人满意。

小费

试图线性化一个包含频率响应估计量使用叠加模式和超过50个频率的块会产生误差。误差表示:“模型包含太多线性化的元素。请缩小模型尺寸。”要完成线性化,您必须注释掉频率响应估计器块或减少频率的数量。

程序化使用

块参数:ExperimentMode
类型:特征向量,字符串
价值观:“Sinestream”|“叠加”
违约:“Sinestream”

在正弦流实验模式中,块在你指定的每个频率注入单独的扰动频率.使用沉淀周期数指定在开始估计该频率之前,在每个频率上等待多长时间。等待允许电站响应中的任何瞬态衰减,提高估计频率响应的准确性。等待更多的周期可以提高估计的准确性,但也增加了实验时间。

要对所有频率使用相同数量的稳定周期,请指定一个正标量值。如果知道瞬态在要估计的频率范围内以不同的速率沉降,则可以使用向量为每个频率指定不同的沉降周期数。

有关用于估计的正弦流信号的更多信息,请参阅Sinestream输入信号

可调:是的

依赖关系

要启用该参数,请使用实验模式中,选择正弦流

程序化使用

块参数:NumOfSetPeriod
类型:整数的向量
违约:'2'

在正弦流实验模式中,块在你指定的每个频率注入单独的扰动频率.使用估计周期数指定在每个频率上使用多少注入信号的周期进行估计。使用更多的周期可以提高估计的准确性,但也增加了实验时间。

要对所有频率使用相同数量的估计周期,请指定一个大于或等于2的标量值。您可以使用向量为每个频率指定不同的稳定周期数。当您知道您的系统在某些频率上的噪声较小,或者您不太关心某些频率上的准确性时,这种方法是有用的。

有关用于估计的正弦流信号的更多信息,请参阅Sinestream输入信号

可调:是的

依赖关系

要启用该参数,请使用实验模式中,选择正弦流

程序化使用

块参数:NumOfEstPeriod
类型:整数的向量
违约:“4”

在叠加实验模式下,当实验运行时,块在所有频率上同时施加扰动。块使用这个参数来确定要使用多长时间的数据收集窗口进行估计。有关数据收集窗口的详细信息,请参见叠加模式下的实验长度和数据采集窗口

依赖关系

要启用该参数,请使用实验模式中,选择叠加

程序化使用

块参数:NumOfSlowestPeriod
类型:整数
违约:“3”

指定是在线执行频率响应估计计算,还是只收集频率响应数据,以便稍后进行离线估计。

  • 在线—块在实验运行时收集实验数据并计算估计的频率响应。你可以得到结果估计的频率响应的朋友端口(有关更多信息,请参阅端口描述)。

  • 离线—块只采集实验数据,不计算估计的频率响应。你可以在数据端口(有关更多信息,请参阅端口描述)。然后可以离线执行频率响应估计。例如,您可以使用MATLAB中的数据来计算估计的频率响应frestimate命令。有关更多信息,请参见采集频响实验数据进行离线估计

程序化使用

块参数:EstimationMode
类型:特征向量,字符串
价值观:“在线”|“离线”
违约:“在线”

选择生成显示估计频率响应的波德图。在估计实验期间,图定期更新。如果您有一个表示预期植物响应或其他相关基线的LTI模型,请将其包含在图中以供参考基线植物模型参数。

提示

  • 加速包含一个。的模型的修整或线性化频率响应估计量阻断,清除该参数。

程序化使用

块参数:UseBodePlot
类型:特征向量,字符串
价值观:“关闭”|“开”
违约:“关闭”

指定用估计的频率响应绘制的基线模型。使用LTI模型,例如特遣部队,党卫军,或的朋友模型。

例子:(1 1000)特遣部队(10)

依赖关系

要启用该参数,请选择波德图显示

程序化使用

块参数:BaselinePlant
类型:线性时不变模型
违约:“[]”

在频率响应估计实验期间,块更新波德图与估计的频率响应,正如您指定的这个参数。如果刷新Bode图花费的时间太长,则增加该值。

依赖关系

要启用该参数,请选择波德图显示

程序化使用

块参数:PlotRefreshFactor
类型:整数
违约:“100”

更多关于

全部展开

算法

全部展开

参考文献

[1]威尔斯特德,体育。技术报告10:频率响应分析.英国汉普郡法恩伯勒:Solartron仪器公司,1997年。

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。万博1manbetx

在R2019a中引入