主要内容

TFEST.

传递函数估计

描述

估计传递函数模型

例子

sys=特遣部队(数据np估计一个连续时间传递函数sys使用时域或频域数据数据和包含np波兰人。0的个数sysmax (np-1, 0)

例子

sys=特遣部队(数据np新西兰估计传递函数包含新西兰0。

例子

sys=特遣部队(数据np新西兰iodelay估计输入-输出对的带有传输延迟的传递函数iodelay

例子

sys=特遣部队(___名称,值使用由一个或多个名称-值对参数指定的附加选项。您可以将此语法与前面的任何输入参数组合一起使用。

配置初始参数

例子

sys=特遣部队(数据init_sys.使用线性系统init_sys.配置的初始参数sys

指定附加选项

例子

sys=特遣部队(___选择使用选项集指定评估行为选择.您可以将此语法与前面的任何输入参数组合一起使用。

估计初始条件

例子

sys集成电路) =特遣部队(___将估计的初始条件作为initialCondition对象。如果您计划使用相同的估计输入数据模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,请使用此语法。在模拟的第一部分中,结合初始条件可以获得更好的匹配。

例子

全部折叠

加载时域系统响应数据z1

负载Iddata1.z1

设置极点的数目np2然后估计传递函数。

np = 2;sys =特遣部队(z1, np);

sys是一个idtf模型包含估计的二极传递函数。

查看结果估计模型的分子和分母系数sys

sys。Nu米er一个来r
ans =1×22.4554 176.9856
sys。Denominator
ans =1×31.0000 3.1625 23.1631

要查看不确定性估计的分子和分母等信息,使用tfdata

加载时域系统响应数据z2并用它来估计一个包含两个极点和一个零的传递函数。

负载iddata2.z2;np = 2;新西兰= 1;sys =特遣部队(z2, np,新西兰);

sys是一个idtf模型包含估计的传递函数。

加载数据z2,这是一个iddata对象,该对象包含时域系统响应数据。

负载iddata2.z2

估计传递函数模型sys包含两个极点和一个零,并且包括已知的传输延迟iodelay

np = 2;新西兰= 1;iodelay = 0.2;sys =特遣部队(z2, np,新西兰,iodelay);

sys是一个idtf模型包含估计的传递函数IODelay属性设置为0.2秒。

加载时域系统响应数据z2并用它来估计系统的二极1 - 0传递函数。通过设置的值为传输函数指定一个未知的传输延迟iodelay

负载iddata2.z2;np = 2;新西兰= 1;iodelay =南;sys =特遣部队(z2, np,新西兰,iodelay);

sys是一个idtf模型包含估计的传递函数,其IODelay属性使用数据进行估计。

加载时域系统响应数据z2

负载iddata2.z2

估计一个具有两个极点和一个零的离散时间传递函数。指定样本时间TS.如0.1秒和传输延迟iodelay2秒。

np = 2;新西兰= 1;iodelay = 2;t = 0.1;sysd =特遣部队(iodelay z2, np,新西兰,“t”Ts)
sysd =从输入“u1”到输出“y1”:1.8 z^-1 z^(-2) * ---------------------------- 1 - 1.418 z^-1 + 0.6613 z^-2采样时间:0.1秒离散时间确定的传递函数。参数化:极点数:2零数:1自由系数:3参数及其不确定性使用“tfdata”、“getpvec”、“getcov”。状态:利用TFEST对时域数据“z2”进行估计。拟合估计数据:80.26% FPE: 2.095, MSE: 2.063

默认情况下,模型没有馈通,估计传递函数的分子多项式的前导系数为零b0.估计b0,指定直通的在估计财产。

加载估计数据z5

负载iddata5z5

首先,估计一个具有两个极点,一个零,无馈通的离散时间传递函数模型。得到样本时间TS.的属性z5

np = 2;新西兰= 1;sys =特遣部队(z5、np、新西兰“t”, z5.Ts);

估计的传递函数形式如下:

H z - 1 b 1 z - 1 + b 2 z - 2 1 + 一个 1 z - 1 + 一个 2 z - 2

默认情况下,模型没有馈通,估计传递函数的分子多项式的前导系数为零b0.估计b0,指定直通的在估计财产。

sys =特遣部队(z5、np、新西兰“t”, z5。Ts,“引线”,真的);

估计传递函数的分子多项式现在具有非零领先系数:

H z - 1 b 0 + b 1 z - 1 + b 2 z - 2 1 + 一个 1 z - 1 + 一个 2 z - 2

比较两种离散时间模型,有和没有馈通和传输延迟。

如果从测量的输入到输出有一个延迟,它可以归因于缺乏馈通或实际传输延迟。对于离散时间模型,缺乏馈通对应于一个样本在输入和输出之间的滞后。使用以下方法估计模型explthrough = false.iodelay = 0.从而产生一个离散时间系统,它等价于一个系统估计使用引线= trueIodelay = 1.这两个系统显示相同的时域和频域响应,例如,在阶跃和波德图上。然而,如果您使用这些模型进行简化,您会得到不同的结果balred或者将它们转换为它们的连续时间表示。因此,最佳实践是检查观察到的延迟是否可归因于传输延迟或缺乏馈通。

估计一个没有馈通的离散时间模型。

负载Iddata1.z1np = 2;新西兰= 2;sys1 =特遣部队(z1、np、新西兰“t”, z1.Ts);

因为SYS1.没有反馈因此有一个分子多项式 z - 1 SYS1.有一个样本的滞后。的IODelay房地产是0。

估计另一个带馈通的离散时间模型,并将其从两个0减少到1,从而产生一个样本的输入-输出延迟。

sys2 =特遣部队(z1, np nz-1 1,“t”z1。Ts,“引线”,真的);

比较模型的波德响应。

波德(sys1 sys2);

图中包含2个轴对象。标题为From: u1 To: y1的坐标轴对象1包含两个line类型的对象。这些对象表示sys1, sys2。axis对象2包含2个类型为line的对象。这些对象表示sys1, sys2。

作为系统基础的离散方程1和系统2是等价的,波德响应也是等价的。

将模型转换为连续时间,并比较这些模型的波德响应。

sys1c = d2c (sys1);sys2c = d2c (sys2);波德(sys1c sys2c);传说

图中包含2个轴对象。标题为From: u1 To: y1的坐标轴对象1包含两个line类型的对象。这些对象表示sys1c, sys2c。axis对象2包含2个类型为line的对象。这些对象表示sys1c, sys2c。

如图所示,当您将这两个模型转换为连续时间时,它们的Bode响应并不匹配。当没有馈通时,如sys1c,肯定有滞后。当有馈通时,如sys2c,不可能有延迟。连续时间馈通映射到离散时间馈通。连续时滞映射到离散时滞。

估计一个双输入,一个输出的离散时间传递函数,在第一个输入上有两个2个样本,在第二个输入上有0个样本。两个输入都没有馈通。

加载数据并将数据分割为估计和验证数据集。

负载iddata7z7泽= z7(施用);zv = z7 (200:400);

为每个输入到输出传递函数估算两个极点,单个输出传输函数,一个零一个零。

延迟= (2;0);英国《金融时报》=(假,假);模型=特遣部队(泽、2、1,“t”, z7。Ts,“引线”英国《金融时报》,“InputDelay”、延迟);

直通的您选择的值决定了前导分子系数是零(无馈通)还是非零馈通。延迟通常单独使用InputDelayIODelay财产。这个示例使用InputDelay只是为了表达耽搁。

验证估计模型。排除数据异常值进行验证。

我= 1:201;我(114:118)= [];选择= compareOptions (“样本”,我);比较(zv、模型选择)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表zv (y1),模型:81.01%。

利用正则化脉冲响应估计,建立15阶传递函数模型。

加载数据。

负载正则化申请表m0simdata

得到正则化脉冲响应(FIR)模型。

选择= impulseestOptions (“RegularizationKernel”“直流”);m0 =冲动(m0simdata, 70年,选择);

将订单减少到15后将模型转换为传输函数模型。

m = idtf (balred (ids (m0), 15));

将模型输出与数据进行比较。

比较(m0simdata, m);

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示m0simdata (y1), m: 63.82%。

为。创建一个选项集TFEST.它指定初始化和搜索方法。还要设置显示选项,该选项指定显示每个迭代的损失函数值。

选择= tfestOptions (“InitializeMethod”“n4sid”“显示”“上”“SearchMethod”“lsqnonlin”);

加载时域系统响应数据z2用它来估计一个有两个极点和一个零的传递函数。指定选择用于估计选项。

负载iddata2.z2;np = 2;新西兰= 1;iodelay = 0.2;SYS = TFEST(Z2,NP,NZ,Iodelay,OPT);

sys是一个idtf模型包含估计的传递函数。

加载时域系统响应数据z2,并用它来估计一个二极的1 - 0传递函数。指定输入延迟。

负载iddata2.z2;np = 2;新西兰= 1;input_delay = 0.2;sys =特遣部队(z2, np,新西兰,“InputDelay”, input_delay);

sys是一个idtf模型包含输入延迟为0.2秒的估计传递函数。

使用波德获得下列系统的幅值和相位响应:

H 年代 年代 + 0 2 年代 3. + 2 年代 2 + 年代 + 1

使用100个频率点,范围从0.1 rad/s到10 rad/s,得到频响数据。使用的朋友创建频率响应数据对象。

频率= logspace (1100);[mag,phase] = bode(tf([1 0.2],[1 2 1]),freq);data =朋友(玛格。* exp (1 j *期*π/ 180),频率);

估计一个三极,1 - 0传递函数使用数据

np = 3;新西兰= 1;sys =特遣部队(数据、np、新西兰);

sys是一个idtf模型包含估计的传递函数。

加载时域系统响应数据co2data,其中包含两个实验的数据,每个实验有两个输入和一个输出。将第一次实验的数据转换成iddata对象数据采样时间为0.5秒。

负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);

指定搜索方法的估计选项以及输入和输出偏移量。还要指定搜索迭代的最大次数。

选择= tfestOptions (“SearchMethod”“玲娜”);opt.InputOffset = (170; 50);opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions.MaxIterations = 50;

使用测量数据和估计选项集估计传递函数选择.将传输延迟指定为输出的输入。

np = 3;新西兰= 1;iodelay = [2 5];SYS = TFEST(数据,NP,NZ,Iodelay,OPT);

iodelay指定从第一个和第二个输入到输出的输入-输出延迟分别为2秒和5秒。

sys是一个idtf模型包含估计的传递函数。

加载时域系统响应数据,并使用它来估计系统的传递函数。指定已知和未知的传输延迟。

负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);

数据是一个iddata对象具有两个输入通道和一个输出通道,采样率为0.5秒。

创建一个选项集选择.指定搜索方法的估计选项以及输入和输出偏移量。还要指定搜索迭代的最大次数。

选择= tfestOptions (“显示”“上”“SearchMethod”“玲娜”);opt.inputoffset = [170;50]opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions.MaxIterations = 50;

中指定未知和已知的传输延迟iodelay, 使用2已知延迟2秒因为未知的延误。估计传递函数使用iodelay选择

np = 3;新西兰= 1;[2 nan];SYS = TFEST(数据,NP,NZ,Iodelay,OPT);

sys是一个idtf模型包含估计的传递函数。

用期望的分子和分母结构和延迟约束创建传递函数模型。

在本例中,实验数据由两个输入和一个输出组成。这两种传输延迟都是未知的,并且有相同的上限。此外,从输入到输出的传递函数在结构上是相同的。

init_sys = idtf (NaN(1、2),(1,南(1、3)),'iodelay'、南);init_sys.Structure (1) .IODelay。自由= true;init_sys.Structure (1) .IODelay。最大= 7;

init_sys.是一个idtf描述从一个输入到输出的传递函数结构的模型。传递函数由一个零、三个极点和一个传输延迟组成。的使用显示未知系数。

init_sys.Structure (1) .IODelay。自由= true表示运输延迟不是固定的。

init_sys.Structure (1) .IODelay。最大= 7设置传输延迟的上限为7秒。

指定从两个输入到输出的传递函数。

init_sys = [init_sys, init_sys];

加载时域系统响应数据并使用它来估计传递函数。在tfestOptions选项设置选择

负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);选择= tfestOptions (“显示”“上”“SearchMethod”“玲娜”);opt.InputOffset = (170; 50);opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions.MaxIterations = 50;sys =特遣部队(数据、init_sys选择);

sys是一个idtf模型包含估计的传递函数。

通过对比分析估计结果。创建一个compareOptions选项设置opt2并指定输入和输出偏移量,然后使用比较

Opt2 = CompareOptions;opt2.InputOffset = Opt.InputOffset;opt2.outputoffset = Opt.OutputOffset;比较(数据,sys,opt2)

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示数据(y1), sys: 66.19%。

对于给定的数据,估计一个包含不同极点数的多输入、单输出传递函数。

获得频率特性数据。

例如,使用的朋友为以下系统创建频率响应数据模型:

G e - 4 年代 年代 + 2 年代 3. + 2 年代 2 + 4 年代 + 5 e - 0 6 年代 5 年代 4 + 2 年代 3. + 年代 2 + 年代

使用100个频率点,范围从0.01 rad/s到100 rad/s,得到频响数据。

g = Tf({[112],[5]},{[112 4 5],[11 2 1 1 0]},0,'iodelay'0.6 [4]);data =朋友(G, logspace (2100);

数据是一个的朋友对象,该对象包含连续时间频率响应G

估计传递函数数据

Np = [3 4];Nz = [1 0];Iodelay = [4 0.6];sys =特遣部队(数据、np、新西兰,iodelay);

np指定估计传递函数中的极点数。第一个元素np表示从第一个输入到输出的传递函数包含三个极点。同样的,第二个元素np表示从第二个输入到输出的传递函数包含四个极点。

新西兰指定估计的传输函数中的零数。第一个元素新西兰指示从第一个输入到输出的传递函数包含一个零。同样的,第二个元素np指示从第二个输入到输出的传递函数不包含任何零。

iodelay指定从第一个输入到输出的传输延迟为4秒。从第二个输入到输出的传输延迟被指定为0.6秒。

sys是一个idtf模型包含估计的传递函数。

用频率响应数据估计描述不稳定系统的传递函数。

使用idtf构造传递函数模型G下列系统:

G 年代 + 2 年代 3. + 2 年代 2 + 4 年代 + 5 5 年代 4 + 2 年代 3. + 年代 2 + 年代 + 1

G = idtf({[1 2], 5},{[1 2 4 5],[1 2 1 1]});

使用idfrd以获得频率响应数据模型数据G.指定100个频率点,范围从0.01 rad/s到100 rad/s。

data = idfrd (G, logspace (2100);

数据是一个idfrd对象。

估计传递函数数据

Np = [3 4];Nz = [1 0];sys =特遣部队(数据、np、新西兰);

np指定估计传递函数中的极点数。第一个元素np表示从第一个输入到输出的传递函数包含三个极点。同样的,第二个元素np表示从第二个输入到输出的传递函数包含四个极点。

新西兰指定估计的传输函数中的零数。第一个元素新西兰指示从第一个输入到输出的传递函数包含一个零。同样的,第二个元素新西兰指示从第二个输入到输出的传递函数不包含任何零。

sys是一个idtf模型包含估计的传递函数。

极(系统)
ans =7×1复杂-1.5260 + 0.0000i -0.2370 + 1.7946i -0.2370  -  1.7946i -1.4656 + 0.0000i -1.0000 + 0.0000i 0.2328 + 0.7926i 0.2328  -  0.7926i 0.2328  -  0.7926I

sys是一个不稳定的系统,极点显示。

加载高密度的频响测量数据。这些数据对应于一个不稳定的过程,该过程使用反馈控制保持在平衡状态。

负载HighModalDensityData降维f

将数据打包为idfrd目标的识别和找到波德幅度响应。

g = idfrd(erfute(frf,[2 3 1]),f,0,“FrequencyUnit”“赫兹”);bodemag (G)

图中包含一个轴对象。axis对象包含一个类型为line的对象。这个对象表示G。

估计一个带有32个极点和32个零点的传递函数,并比较波德幅度响应。

sys =特遣部队(G, 32岁,32);bodemag(G, sys) xlim([0.01,2e3]) legend

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示G, sys。

加载并绘制数据。

负载iddata1icz1i情节(z1i)

图中包含2个轴对象。带标题Y1的轴对象1包含类型线的对象。此对象表示Z1i。带标题U1的轴对象2包含类型线的对象。此对象表示Z1i。

检查输出数据的初始值y (1)

ystart = z1i.y (1)
Ystart = -3.0491.

测量的输出不会以0开始。

估计一个二阶传递函数sys并返回估计的初始条件集成电路

(sys, ic) =特遣部队(z1i 2 1);集成电路
A: [2x2 double] X0: [2x1 double] C: [0.2957 5.2441] Ts: 0

集成电路是一个initialCondition对象的自由响应sys的初始状态向量X0.

模拟sys使用估计数据但不包含初始条件。用测量的输出绘制模拟输出。

y_no_ic = sim (sys, z1i);情节(y_no_ic z1i)传说(“模型响应”的输出数据

图中包含2个轴对象。带标题Y1的轴对象1包含2个类型的物体。这些对象表示模型响应,输出数据。带标题U1的轴对象2包含类型线的对象。此对象表示输出数据。

在模拟开始时,测量输出和模拟输出不一致。

将初始条件合并到simOptions选项设置。

选择= simOptions (“InitialCondition”、集成电路);y_ic = sim (sys、z1i选择);情节(y_ic z1i)传说(“模型响应”的输出数据

图中包含2个轴对象。带标题Y1的轴对象1包含2个类型的物体。这些对象表示模型响应,输出数据。带标题U1的轴对象2包含类型线的对象。此对象表示输出数据。

仿真结合了模型对输入信号的响应和对初始条件的自由响应。在仿真开始时,测量输出和模拟输出有较好的一致性。这个初始条件只对估计数据有效z1i

输入参数

全部折叠

估算数据,指定为iddata对象,一个的朋友对象,或者idfrd对象。

对时域估计,数据必须是一个iddata对象,该对象包含输入和输出信号值。

时间序列模型是不包含可测量输入的模型,不能使用TFEST..使用基于“增大化现实”技术ARX.,或armax而不是时间序列模型。

对频域估计,数据可以是以下情况之一:

  • 记录的频响数据(的朋友(控制系统工具箱)idfrd

  • iddata对象,其属性如下所示:

    • InputData-输入信号的傅里叶变换

    • outputData.-输出信号的傅里叶变换

    • 领域- - - - - -“频率”

估计数据必须是均匀抽样的。

对于多实验数据,所有实验的样本次数和样本间行为必须匹配。

你可以估计连续时间和离散时间模型(样本时间匹配的模型)数据)采用时域数据和离散时间频域数据。使用连续时间频域数据只能估计连续时间模型。

估计传递函数中的极点数,指定为非负整数或矩阵。

对于具有多个输入和/或多个输出的系统,可以应用全局值或单个值np为输入输出对,如下所示:

  • 相同数目的极点为每对-指定np作为一个标量。

  • 每对极点的个人数目-指定np作为一个ny——- - - - - -nu矩阵。ny输出的数量是和吗nu为输入的个数。

例如,请参见通过指定极点数来估计传递函数模型

估计传递函数中的零数,指定为非负整数或矩阵。

对于具有多个输入、多个输出或两者都有的系统,可以应用全局值或单个值新西兰为输入输出对,如下所示:

  • 相同数目的极点为每对-指定新西兰作为一个标量。

  • 每对极点的个人数目-指定新西兰作为一个ny——- - - - - -nu矩阵。ny输出的数量是和吗nu为输入的个数。

对于使用离散时间数据估计的连续时间模型,集合新西兰<=np

对于离散时间模型估计,指定新西兰为传递函数的分子多项式的零个数。例如,特遣部队(数据、2、1,Ts, data.Ts)估计一个传递函数的形式 b 1 z 1 / 1 + 一个 1 z 1 + b 2 z 2 , 尽管特遣部队(数据,2,2,Ts, data.Ts)估计 b 1 z 1 + b 2 z 2 / 1 + 一个 1 z 1 + b 2 z 2 .在这里,z-1为z变换滞后变量。有关离散时间传递函数的更多信息,请参见离散时间表示.例如,请参见估计离散时间传递函数

传输延迟,指定为非负整数标量,或者矩阵。

对于连续时间系统,在存储的时间单元中指定传输延迟TimeUnit的属性数据.对于离散时间系统,将传输延迟指定为整数,表示样本时间的倍数TS.

为MIMO系统Ny输出和Nu输入,集合iodelay到一个Ny——- - - - - -Nu数组中。这个数组的每个条目都是一个数值,表示对应输入-输出对的传输延迟。你也可以设置iodelay对标量值施加相同的延迟到所有输入输出对。

指定的值被视为固定延迟。表示未知的运输延迟,指定iodelay矩阵。

使用[]0表示没有传输延迟。

例如,请参见估计含有已知传输延迟的传递函数

评估选项,指定为tfestOptions选项设置。指定的选项选择包括:

  • 估计目标

  • 初始条件的处理

  • 估计中使用的数值搜索方法

例如,请参见使用估计选项集估计传递函数

的初始参数化的线性系统sys,指定为idtf模型或结构。你获得init_sys.要么通过使用测量数据进行估算,要么通过直接构建。

如果init_sys.是一个idtf模型,TFEST.使用的参数值init_sys.作为最初的估计sys

使用结构的属性init_sys.为分子、分母和传输延迟配置初始参数值和约束。例如:

  • 为…指定一个初始的猜测一个矩阵的init_sys.,设置init_sys.Structure.Numerator.Value根据最初的猜测。

  • 为。指定约束B矩阵的init_sys.

    • init_sys.Structure.Numerator.Minimum到分子系数的最小值。

    • init_sys.Structure.Numerator.Maximum到分子系数的最大值。

    • init_sys.Structure.Numerator.Free表示哪些分子系数可以自由估计。

    例如,请参见估计未知的传输函数,有约束的传输延迟

如果init_sys.不是一个idtf模型,软件首先转换init_sys.传递函数。TFEST.使用结果模型的参数作为估计的初始猜测。

如果没有指定选择,init_sys.是通过估算而不是构造获得的,那么软件使用来自init_sys.report.optionsed.

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:sys =特遣部队(数据、np、新西兰,Ts, 0.1)

估计模型的样本时间,指定为逗号分隔对,由“t”,要么0或者一个正标量。

  • 对于连续时间模型,指定“t”作为0

  • 对于离散时间模型,指定“t”作为数据样本,时间存储在单元中TimeUnit财产。在离散情况下,np新西兰的根数z-1分子和分母的多项式。

例如,请参见估计离散时间传递函数

每个输入通道的输入延迟,指定为逗号分隔对组成“InputDelay”和一个数字向量。

  • 对于连续时间模型,指定“InputDelay”在时间单位中存储TimeUnit财产。

  • 对于离散时间模型,指定“InputDelay”采样时间的整数倍TS..例如,设置“InputDelay”3.指定三个采样周期的延迟。

对于一个系统Nu输入,集合InputDelay到一个Nu1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。

若要对所有信道应用相同的延迟,请指定InputDelay作为一个标量。

例如,请参见指定估计传输函数的模型属性

用于离散时间传递函数的馈通,指定为逗号分隔对,由“引线”逻辑标量或Ny——- - - - - -Nu逻辑矩阵。Ny输出的数量是和吗Nu为输入的个数。若要对所有输入输出通道使用相同的馈通,请指定直通的作为一个标量。

考虑一个具有两个极点和三个零的离散时间模型:

H z 1 b 0 + b 1 z 1 + b 2 z 2 + b 3. z 3. 1 + 一个 1 z 1 + 一个 2 z 2

当模型有直接馈通时,b0是一个自由参数,其值与模型的其余参数一起被估计b1b2b3a1,a2.当模型没有馈通,b0固定为零。例如,请参见估计有馈通的离散时间传递函数

输出参数

全部折叠

确定的传递函数,返回为idtf对象。这个模型是使用指定的模型顺序、延迟和估计选项创建的。

中存储了有关评估结果和所使用选项的信息报告模型的属性。报告具有以下字段。

报告领域 描述
状态

模型状态摘要,指示模型是由施工创建还是通过估计获得。

方法

评估使用的命令。

InitializeMethod

用于初始化分子和分母的算法,用于使用时域数据估计连续时间传递函数,返回值为以下值之一:

  • 'IV'-仪器变量法

  • “svf”-状态变量过滤器方法

  • “gpmf”-广义泊松矩函数方法

  • “n4sid”-子空间状态空间估计方法

此字段特别有用,可查看使用时使用的算法InitializeMethod估计选项集中的选项为“所有”

N4Weight

权重矩阵用于奇异值分解步骤时InitializeMethod“n4sid”,以下列值之一返回:

  • “MOESP”—使用Verhaegen的MOESP算法。

  • “脑血管意外”使用Larimore的正则变量算法(CVA)。

  • “SSARX”-使用基于ARX估计的算法计算权重的子空间识别方法。

该字段在查看权重矩阵时特别有用N4Weight估计选项集中的选项为“汽车”

N4Horizon

使用前后预测视野InitializeMethod“n4sid”,作为包含三个元素的行向量返回(r sy苏), 在哪里r为最大前向预测层。sy是过去输出的数量,以及是用于预测的过去输入的数量。

InitialCondition

模型估计过程中初始条件的处理,返回如下值之一:

  • “零”—初始条件设置为零。

  • “估计”-初始条件作为独立的估计参数处理。

  • “展望”-初始条件估计使用最佳最小二乘拟合。

该字段对于查看初始条件是如何处理的特别有用InitialCondition估计选项集中的选项为“汽车”

适合

定量评估的估计,返回作为一个结构。看到损失函数和模型质量度量有关这些质量度量标准的更多信息。该结构有以下字段:

描述
FitPercent

归一化均方根误差(NRMSE)衡量模型响应与估计数据吻合的程度,用百分比表示fitpercent= 100(1-Nrmse)。

LossFcn

估计完成时损失函数的值。

均方误差

均方误差(MSE)衡量模型响应与估计数据吻合的程度。

消防工程

模型的最终预测误差。

另类投资会议

原始的模型质量的原始Akaike信息标准(AIC)测量。

AICc

样本规模小的AIC纠正。

保险代理人

标准化的另类投资会议。

BIC

贝叶斯信息准则(BIC)。

参数

模型参数估计值。

OptionsUsed

用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看到聚母选择为更多的信息。

RandState

估计开始时随机数流的状态。空的,[],如果在估计过程中没有使用随机化。有关更多信息,请参阅rng

DataUsed

用于估计的数据的属性作为具有以下字段的结构。

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

TS.

样品时间。

InterSample

输入样本间行为,返回为以下值之一:

  • “zoh”零阶保持保持采样之间的输入信号分段常数。

  • “呸”-一阶保持保持样本间的分段线性输入信号。

  • “提单”—限带行为是指连续时间输入信号在奈奎斯特频率以上的功率为零。

InputOffset

在估计期间从时域输入数据中删除偏移量。对于非线性模型,它是[]

OutputOffset

在估计过程中,从时域输出数据中去除偏移。对于非线性模型,它是[]

终止

用于最小化预测误差的迭代搜索的终止条件,返回为具有以下字段的结构:

描述
WhyStop

终止数值搜索的原因。

迭代

由估计算法执行的搜索迭代次数。

FirstOrderOptimality

-当搜索算法终止时梯度搜索向量的范数。

FcnCount

调用目标函数的次数。

UpdateNorm

梯度搜索向量的范数。当搜索方法为时省略“lsqnonlin”“fmincon”

LastImprovement

最后一次迭代中的标准改进,以百分比表示。当搜索方法为时省略“lsqnonlin”“fmincon”

算法

所使用的算法“lsqnonlin”“fmincon”搜索方法。使用其他搜索方法时省略。

对于不需要数值搜索优化的估计方法,终止字段是省略。

,以获取更多使用信息报告,请参阅评估报告

估计的初始条件,返回为initialCondition对象或对象数组initialCondition价值观。

  • 对于单实验数据集,集成电路以状态空间形式表示传递函数模型的自由响应(一个C矩阵)的估计初始状态(x0).

  • 用于多实验数据集Ne实验中,集成电路对象数组的长度是多少Ne它包含一组initialCondition每个实验的值。

如果TFEST.返回集成电路的值0你知道初始条件是非零的,设“InitialCondition”选项tfestOptions“估计”并将更新后的选项集传递给TFEST..例如:

选择= tfestOptions (“InitialCondition”“估计”) [sys,ic] = tfest(data,np,nz,opt)
默认的“汽车”设置“InitialCondition”使用“零”当初始条件对整个估计误差最小化过程的影响可以忽略不计时,采用该方法。指定“估计”确保软件的估算值集成电路

有关更多信息,请参阅initialCondition.有关使用此参数的示例,请参见获取并申请估计的初始条件

算法

全部折叠

详细介绍了所使用的估计算法TFEST.根据各种因素而变化,包括估计模型的采样和估计数据。

基于时域数据的连续时间传递函数估计

参数初始化

估计算法使用给定的方法初始化可估计参数InitializeMethod估计的选择。默认的方法是工具变量(IV)方法。

采用状态变量滤波器(State-Variable Filters, SVF)方法和广义泊松矩函数(Generalized Poisson矩函数,GPMF)方法对预滤波数据进行连续时间参数估计[1][2].常数 1 λ [1][2]对应于初始化选项(InitializeOptions)字段FilterTimeConstant.IV是简化的细化IV方法,在中称为SRIVC[3].这个方法有一个预过滤器,它是当前模型的分母,用SVF初始化。这个预过滤器迭代到MaxIterations时间,直到模型更改小于宽容MaxIterations宽容是否可以使用InitializeOptions结构。的“n4sid”初始化选项估计一个离散时间模型,使用N4SID估计算法,并将其转换为连续时间使用d2c

使用tfestOptions创建用于估计传递函数的选项集。

参数更新

用非线性最小二乘搜索方法对初始化的参数进行更新SearchMethod估计的选择。搜索方法的目标是使加权预测误差范数最小化。

基于时域数据的离散时间传递函数估计

对于离散数据,TFEST.使用相同的算法oe求分子和分母的多项式系数。在这个算法中,初始化是使用ARX.,然后是非线性最小二乘搜索更新,以最小化加权预测误差范数。

基于连续时间频域数据的连续时间传递函数估计

估计算法执行以下任务:

  1. 执行双线性映射以将传输函数的域(频率电网)转换为转换。对于连续时间模型,虚构轴被转换为单位磁盘。对于离散时间模型,原始域单元磁盘将转换为另一个单元磁盘。

  2. 执行sk迭代[4]解决非线性最小二乘问题-考虑一个多输入单输出系统。非线性最小二乘问题是最小化以下损失函数:

    最小化 D N k 1 n f | W ω k y ω k 1 n u N ω k D ω k u ω k | 2

    在这里,W是您指定的与频率相关的权重。D是要估计的传递函数模型的分母吗N分子对应于输入。yu分别为测量的输出数据和输入数据。nfnu频率和输入的数量,和w是频率。重新安排条件

    最小化 D N k 1 n f | W ω k D ω k D ω k y ω k 1 n u N ω k u ω k | 2

    为了执行S-K迭代,算法迭代求解

    最小化 D N k 1 n f | W ω k D 1 ω k D ω k y ω k 1 n u N ω k u ω k | 2

    在这里,当前迭代是,和Dm - 1(ω)是上一个迭代中确定的分母响应。现在迭代的每一步都是一个线性最小二乘问题,其中识别的参数捕获了响应D(ω)N我,米(ω)= 1, 2,…nu.通过选择初始化迭代D0(ω)= 1。

    • 算法的第一次迭代确定D1(ω).的D1(ω)N我,1(ω)多项式用单项基表示。

    • 第二次及以后的迭代表示多项式D(ω)N我,米(ω)用单位圆盘上的正交有理基函数表示。这些基函数有这样的形式

      B j ω 1 | λ j 1 | 2 λ j 1 r 0 j 1 1 λ j 1 ω ω λ r 1

      在这里,λj, m - 1j在前一步中确定的第一个极点-1迭代。λj, m - 1是的复共轭吗λj, m - 1,是单位硬盘上的频域变量。

    • 该算法最多运行20次迭代。如果在最近三次迭代中损失函数值的相对变化小于0.001,则迭代提前终止。

    如果指定传递函数系数的界限,这些界限对应于识别参数的仿射约束。如果只有等式约束(固定传递函数系数),则用代数方法解决相应的等式约束最小二乘问题。为此,该软件为等式约束矩阵的零空间计算一个正交基,然后在这个零空间内求解最小二乘问题。如果传递函数系数有上界或下界,则用内点法求解相应的不等式约束最小二乘问题。

  3. 执行线性优化- S-K迭代,即使它们收敛,也不总是产生局部最优解。为了找到优化问题的临界点,可以产生局部最优解,执行第二组迭代。临界点是一组非线性方程的解。万博 尤文图斯该算法通过对非线性方程组连续构造线性逼近,并在最小二乘意义下求解得到的线性方程组来寻找临界点。方程。

    • 方程为jth分母参数:

      0 2 k 1 n f 再保险 | W ω k | 2 B j ω k 1 n u N 1 ω k u ω k D 1 ω k | D 1 ω k | 2 D ω k y ω k 1 n u N ω k u ω k

    • 方程为j对应于输入的第一个分子参数l

      0 2 k 1 n f 再保险 | W ω k | 2 B j ω k u l ω k | D 1 ω k | 2 D ω k y ω k 1 n u N ω k u ω k

    第一次迭代从找到分子的最佳解开始N和分母DS-K迭代过程中的参数。不同于S-K迭代,基函数Bj(ω)不会在每次迭代中更改;迭代使用在S-K迭代中产生最佳解决方案的基本函数来执行。与前面一样,该算法最多运行20次迭代。如果在最近三次迭代中损失函数值的相对变化小于0.001,则迭代提前终止。

    如果你指定了传递函数系数的界限,这些界限将使用广义拉格朗日乘数被纳入必要的最优条件中。所得到的约束线性最小二乘问题用S-K迭代步骤中解释的相同方法求解。

  4. 返回最优解对应的传递函数参数- S-K和线性细化迭代步骤都不能保证损失函数值的改进。算法跟踪在这些步骤中观察到的最佳参数值,并返回这些值。

  5. 将步骤1中执行的双线性映射反转。

  6. 用中规定的非线性最小二乘搜索方法对传递函数参数进行迭代求精SearchMethod估计的选择。该步骤在以下情况下执行:

    • 当你指定强制性评估选择真正的(请求稳定性),该算法的步骤5的结果是不稳定的模型。不稳定的极在稳定边界内反射,并且得到的参数迭代地改进。有关估算选项的信息,请参阅tfestOptions

    • 将正则化惩罚添加到损失函数中正则化估计的选择。有关正则化的示例,请参见动态系统的正则化辨识

    • 使用离散时间数据估计连续时间模型(见基于离散时间频域数据的离散时间传递函数估计).

    • 您使用频域输入-输出数据来标识多输入模型。

如果你正在使用R2016a或更早版本的估计算法(见fest估计算法更新),利用连续时间频域数据估计连续时间模型,然后,对于连续时间数据和固定时延,使用Output-Error算法估计模型。对于连续时间数据和自由时延,采用状态空间估计算法。该算法采用N4SID估计方法初始化模型系数。初始化之后是非线性最小二乘搜索更新,以最小化加权预测误差范数。

基于离散时间频域数据的离散时间传递函数估计

估计算法与基于连续时间频域数据的连续时间传递函数估计,除了使用离散时间数据。

如果你正在使用R2016a或更早版本的估计算法(见fest估计算法更新),算法与基于时域数据的离散时间传递函数估计算法

请注意

该软件不支持使用连续时间频域数据估计离散时间万博1manbetx传递函数。

使用离散时间频域数据的连续时间传递函数估计

TFEST.命令首先从离散时间数据估计一个离散时间模型。该方法将估计模型转换为连续时间模型d2c命令。然后在估计数据的频率网格上计算得到的连续时间模型的频率响应。然后将期望的(用户指定的)结构的连续时间模型拟合到这个频率响应。利用频响数据得到连续时间模型的估计算法与使用连续时间数据的连续时间传递函数估计

如果你正在使用R2016a或更早版本的估计算法(见fest估计算法更新),状态空间估计算法用于从离散时间数据估计连续时间模型。该算法采用N4SID估计方法初始化模型系数。初始化之后是非线性最小二乘搜索更新,以最小化加权预测误差范数。

延迟估计

  • 当延迟值指定为,它们被估计从模型的分子和分母系数,使用延迟.如此确定的延迟值在使用非线性最小二乘搜索方法的迭代更新期间被视为固定值。因此,延迟值未迭代地更新。

  • 对于初始模型,init_sys.,:

    • init_sys.Structure.IODelay.Value指定为有限值

    • init_sys.Structure.IODelay.Free指定为真正的

    初始延迟值保持不变。

估计延迟通常是一个困难的问题。最佳实践是评估延迟的存在性和价值。为此,需要对建模的流程和功能使用物理洞察力,例如arxstruc延迟,冲动.有关确定输入延迟的示例,请参见模型结构选择:确定模型顺序和输入延迟

兼容性的考虑

全部展开

参考文献

加尼埃,H., M.门斯勒和A.理查德。来自抽样数据的连续时间模型识别:实施问题和性能评估国际控制杂志76,没有。13(二零零三年一月):1337-57。https://doi.org/10.1080/0020717031000149636。

[2] Ljung Lennart。连续时间模型辨识的实验IFAC诉讼卷42,不。10(2009):1175-80。https://doi.org/10.3182/20090706-3-_CR-2004.00195

杨、彼得和安东尼·杰克曼。递归时间序列分析的精密仪器变量方法第三部分。扩展。”国际控制杂志31日。4(1980年4月):741-64。https://doi.org/10.1080/00207178008961080。

[4] Drmač, Z., S. Gugercin, C. Beattie。基于正交的离散H向量拟合2近似。”SIAM科学计算杂志37岁的没有。2(2015年1月):A625-52。https://doi.org/10.1137/140961511。

Ozdemir, Ahmet Arda和Suat Gumussoy。“基于向量拟合的系统辨识工具箱中的传递函数估计”。IFAC-PapersOnLine50,不。1(2017年7月):6232-37。https://doi.org/10.1016/j.ifacol.2017.08.1026。

扩展功能

介绍了R2012a