主要内容

frestimate

频率响应估计金宝app模型

描述

例子

sys= frestimate (模型io输入估计Simulink的频率响应金宝app®模型采用指定的输入信号,运行点由模型初始条件定义,分析点由模型初始条件定义io

sys= frestimate (模型人事处io输入在操作点初始化模型人事处在估计频率响应之前。如果模型初始条件不是稳定状态或不是感兴趣的工作点,则使用此语法指定不同的工作点。

例子

syssimout] = frestual (模型人事处io输入还返回模拟模型输出。要使用模拟结果查看器检查估计结果时,请使用此语法(frest.simView).

___] = frestual (___选项使用附加选项计算频率响应。您可以将此语法用于前面的任何输入和输出参数组合。

sys= frestimate (数据频率单位利用仿真数据估计频率响应频率响应估计器离线估计模式下的块。仅对使用该块记录的数据使用此语法。

例子

全部折叠

估算装置的开环响应watertank模型。打开模型。

模型=“watertank”;open_system(模型)

为了估计装置的开环响应,定义一个线性化I/O集,用分析点指定模型的这一部分。在控制器输出处定义一个输入分析点,在设备输出处定义一个开环输出点。

io (1) = linio (“watertank / PID控制器”, 1“输入”);io (2) = linio (“watertank /水箱系统”, 1“openoutput”);

为估计找到一个稳态工作点。对于本例,使用从模型初始条件导出的稳态工作点。

Watertank_spec = operspec(模型);opOpts = findopOptions(“DisplayReport”“关闭”);op = findop(model,watertank_spec,opOpts);

创建用于估计的输入信号。对于这个例子,使用一个正弦流信号,它在指定的频率上发送一系列单独的正弦扰动。

Input = frest。Sinestream (“频率”、logspace(3 2、30));

估计模型的指定部分的频率响应。其结果是一个频率响应模型,包含在正弦信号中指定的每个频率的响应。

systemes = fretifate(模型,op,io,输入);大小(系统)
一个输出,一个输入,30个频率点的FRD模型。

检查测量的频率响应。

波德(sys,‘*’

线性化Simulink模金宝app型,并使用频响估计来验证精确的线性化结果。

打开watertank模型。

模型=“watertank”;open_system(模型);

获得装置开环响应的线性化。为此,定义线性化I/O点,并在模型初始条件附近找到稳态工作点。然后,对模型进行线性化。

io (1) = linio (“watertank / PID控制器”, 1“输入”);io (2) = linio (“watertank /水箱系统”, 1“openoutput”);Watertank_spec = operspec(模型);opOpts = findopOptions(“DisplayReport”“关闭”);op = findop(model,watertank_spec,opOpts);Syslin =线性化(模型,op,io);

为了检查线性化,使用相同的分析点和工作点来估计频率响应。在本例中,使用一个正弦输入信号进行估计。

Input = frest。Sinestream (“频率”logspace (3 2, 20));systemes = fretifate(模型,op,io,输入);

比较精确的线性化和估计的响应在频域使用波德图。

波德(syslin“b -”系统,的r *)传说(精确线性化的“估计”

通过“模拟结果查看器”,您可以逐个频率地检查频率响应估计的结果。控件打开查看器frest.simView命令。方法存储模拟数据simout的输出参数frestimate

估算装置的开环响应watertank模型。首先,打开模型。

模型=“watertank”;open_system(模型)

定义指定工厂的线性化I/O集,并找到用于估计的稳态工作点。

io (1) = linio (“watertank / PID控制器”, 1“输入”);io (2) = linio (“watertank /水箱系统”, 1“openoutput”);Watertank_spec = operspec(模型);opOpts = findopOptions(“DisplayReport”“关闭”);op = findop(model,watertank_spec,opOpts);

然后,创建一个用于估计的输入信号,并估计模型指定部分的频率响应。使用simout输出参数来存储估计数据。

Input = frest。Sinestream (“频率”logspace (10));[sysse,simout] = fretimate (model,op,io,input);

打开模拟结果查看器。

frest.simView (simout、输入、系统)

查看器向您显示稳态时间响应,以及在查看器的波德图部分选择的范围内所有频率的响应的FFT。这些图可以帮助您确定响应何时偏离预期响应。有关使用模拟结果查看器的详细信息,请参见分析估计的频率响应

如果您有一个正在估计的系统的线性模型,您可以使用该模型作为在查看器中进行比较的基线响应。例如,您可以将通过精确线性化得到的模型与估计的频率响应进行比较。使用线性化I/O集和工作点来计算的精确线性化watertank工厂。

Syslin =线性化(模型,io,op);

再次打开模拟结果查看器,这次提供syslin作为输入参数。

frest.simView (simout输入、sys syslin)

查看器的波德图部分包括显示准确响应的一行syslin.此视图可用于识别估计响应偏离线性化的特定频率。

输入参数

全部折叠

金宝appSimulink模型,指定为字符串或字符向量。模型必须在当前工作文件夹中或MATLAB中®路径。

包含输入、输出和循环开口的分析点集,指定为线性化I/O对象。分析点集定义了您想要估计其频响的Simulink模型的子集。金宝app创建io

  • 使用定义输入、输出和开口linio

  • 如果在Simulink模型中指定了输入、输出和开口,则使用金宝appgetlinio

对于频响估计,I/O点不能在总线信号上。io必须对应于Simulink模型金宝app模型或者模型层次结构中的普通模式模型引用。(如果你使用frestimate使用模型引用中的输出分析点每个顶级模型允许的实例总数参考型号的配置参数必须为1。)

为估计指定I/O点类似于为线性化指定它们。有关指定线性化输入、输出和开口的详细信息,请参见指定要线性化的模型部分

用于扰动模型的输入信号,指定为以下之一:

有关创建用于频率响应估计的输入信号的详细信息,请参见估计输入信号

初始化模型以进行估计的操作点,指定为OperatingPoint使用下列函数之一创建的对象。

通常,您使用稳态工作点进行估计。如果您没有指定操作点,估计过程将从模型初始条件指定的操作点开始。该工作点由初始状态和存储在模型中的输入信号值组成。

估计选项,指定为frestimateOptions对象。可用的选项包括为评估启用并行计算(需要并行计算工具箱™)。

用于离线估计的响应数据记录频率响应估计器块,指定为下列之一:

  • 对象中写入数据而获得的结构数据块的输出端口到MATLAB工作空间使用到工作空间块。的保存格式参数。到工作空间Block必须为Timeseries

  • 一个金宝appSimulink.SimulationData.Dataset对象中得到的数据,利用Simulink进行数据日志金宝app的写入数据端口到MATLAB工作区。

有关更多信息,请参见数据端口说明频率响应估计器块引用页或收集频响实验数据进行离线估计

脱机估计的频率,指定为正数值的向量。方法收集响应数据时频率响应估计器块指定估计实验的频率频率块参数。使用相同的频率向量频率当您对记录的数据执行脱机估计时。

脱机估计的频率单位,指定为字符串之一“rad / s”“赫兹”或者其中一个特征向量“rad / s”“赫兹”.方法收集响应数据时频率响应估计器块,您可以使用频率单位块参数指定估计实验的频率单位。在对记录的数据执行脱机估计时,指定相同的单位。

输出参数

全部折叠

估计频率响应,作为频率响应返回(的朋友)模型对象。的的朋友模型具有线性化分析点中指定的尽可能多的输入和输出io

频率sys根据你用于估计的输入信号,如下所示:

  • 如果您使用的是用弗列斯特。Sinestream的频率。sys是在正流信号中指定的频率。

  • 如果您使用任何其他输入信号,频率由函数执行的FFT计算来确定,以提取频率响应(参见算法).

如果你使用数据参数来提供使用频率响应估计器块,然后sys是SISO模型。在这种情况下,频率sys你提供的频率是频率输入参数。

在估计过程中收集的模拟数据,以单元格数组的形式返回金宝app仿真软件。Timeseries对象。单元格数组有维度——- - - - - -n,在那里I/O集合中输出点的数量是多少io,n是输入点的个数。此数据可用于:

限制

  • 如果你使用frestimate使用模型引用中的输出分析点每个顶级模型允许的实例总数所引用型号的配置参数必须为1。

提示

  • 对于多输入多输出(MIMO)系统,frestimate在每个输入通道分别注入信号,以模拟相应的输出信号。估计算法使用输入和模拟输出来计算MIMO频率响应。如果您想在多输入系统的线性化输入点注入不同的输入信号,请将系统视为单独的单输入系统。为每个线性化输入点执行独立的频响估计frestimate,并将频响结果串联起来。

算法

全部折叠

frestimate注入您指定的输入信号(u美国东部时间t)的输入分析点。它模拟模型并收集响应信号(y美国东部时间t)在输出分析点,如下所示为一个正流输入。

一般来说,frestimate通过计算快速傅里叶变换输出信号和输入信号的比值来估计频率响应:

R e 年代 p F F T y e 年代 t t F F T u e 年代 t t

  • 对于正流输入信号,该函数丢弃在每个频率信号的指定沉降周期内收集的数据。(见输入信号)。如果正流信号的滤波选项是有效的,则该函数将以相应频率对剩余信号应用带通滤波器,并再丢弃一个周期以去除任何剩余的瞬态信号。该函数使用结果信号的FFT进行计算分别地.由此产生的的朋友模型包含了正流中的所有频率。

  • 对于啁啾输入信号,该函数将丢弃比例中的任何频率分别地落在为啁啾指定的频率范围之外。由此产生的的朋友该模型包含了傅里叶变换中处于啁啾范围内的所有频率。

  • 对于其他输入信号,其结果为的朋友包含了傅里叶变换中的所有频率。

使用频响估计器块的数据进行估计

您可以使用frestimate (数据频率单位中的数据执行脱机估计频率响应估计器块。在这种情况下,frestimate使用准备好了字段的数据结构,以确定哪些数据点包括FFT计算分别地

  • 对于正流模式,该信号指示在每个频率丢弃哪个周期,由沉降周期数块参数。

  • 对于叠加模式,此信号指示哪些数据落在数据收集窗口内用于估计的最低频率的周期数参数。

frestimate篡改分别地生成结果的朋友模型,其中包含您在块实验参数中指定的频率。有关更多信息,请参见频率响应估计器块引用页。

选择功能

应用程序

模型线性化电路

金宝app仿真软件块

频率响应估计器

扩展功能

版本历史

在R2009b中引入