传递函数估计
[
将估计的初始条件作为sys
,集成电路
) =特遣部队(___)initialCondition
对象。如果您计划使用相同的估计输入数据模拟或预测模型响应,然后将响应与相同的估计输出数据进行比较,请使用此语法。在模拟的第一部分中,结合初始条件可以获得更好的匹配。
加载时域系统响应数据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秒和传输延迟iodelay
2秒。
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);
估计的传递函数形式如下:
默认情况下,模型没有馈通,估计传递函数的分子多项式的前导系数为零b0
.估计b0
,指定直通的
在估计财产。
sys =特遣部队(z5、np、新西兰“t”, z5。Ts,“引线”,真的);
估计传递函数的分子多项式现在具有非零领先系数:
比较两种离散时间模型,有和没有馈通和传输延迟。
如果从测量的输入到输出有一个延迟,它可以归因于缺乏馈通或实际传输延迟。对于离散时间模型,缺乏馈通对应于一个样本在输入和输出之间的滞后。使用以下方法估计模型explthrough = false.
和iodelay = 0.
从而产生一个离散时间系统,它等价于一个系统估计使用引线= true
和Iodelay = 1
.这两个系统显示相同的时域和频域响应,例如,在阶跃和波德图上。然而,如果您使用这些模型进行简化,您会得到不同的结果balred
或者将它们转换为它们的连续时间表示。因此,最佳实践是检查观察到的延迟是否可归因于传输延迟或缺乏馈通。
估计一个没有馈通的离散时间模型。
负载Iddata1.z1np = 2;新西兰= 2;sys1 =特遣部队(z1、np、新西兰“t”, z1.Ts);
因为SYS1.
没有反馈因此有一个分子多项式
,SYS1.
有一个样本的滞后。的IODelay
房地产是0。
估计另一个带馈通的离散时间模型,并将其从两个0减少到1,从而产生一个样本的输入-输出延迟。
sys2 =特遣部队(z1, np nz-1 1,“t”z1。Ts,“引线”,真的);
比较模型的波德响应。
波德(sys1 sys2);
作为系统基础的离散方程1
和系统2
是等价的,波德响应也是等价的。
将模型转换为连续时间,并比较这些模型的波德响应。
sys1c = d2c (sys1);sys2c = d2c (sys2);波德(sys1c sys2c);传说
如图所示,当您将这两个模型转换为连续时间时,它们的Bode响应并不匹配。当没有馈通时,如sys1c
,肯定有滞后。当有馈通时,如sys2c
,不可能有延迟。连续时间馈通映射到离散时间馈通。连续时滞映射到离散时滞。
估计一个双输入,一个输出的离散时间传递函数,在第一个输入上有两个2个样本,在第二个输入上有0个样本。两个输入都没有馈通。
加载数据并将数据分割为估计和验证数据集。
负载iddata7z7泽= z7(施用);zv = z7 (200:400);
为每个输入到输出传递函数估算两个极点,单个输出传输函数,一个零一个零。
延迟= (2;0);英国《金融时报》=(假,假);模型=特遣部队(泽、2、1,“t”, z7。Ts,“引线”英国《金融时报》,“InputDelay”、延迟);
的直通的
您选择的值决定了前导分子系数是零(无馈通)还是非零馈通。延迟通常单独使用InputDelay
或IODelay
财产。这个示例使用InputDelay
只是为了表达耽搁。
验证估计模型。排除数据异常值进行验证。
我= 1:201;我(114:118)= [];选择= compareOptions (“样本”,我);比较(zv、模型选择)
利用正则化脉冲响应估计,建立15阶传递函数模型。
加载数据。
负载正则化申请表m0simdata;
得到正则化脉冲响应(FIR)模型。
选择= impulseestOptions (“RegularizationKernel”,“直流”);m0 =冲动(m0simdata, 70年,选择);
将订单减少到15后将模型转换为传输函数模型。
m = idtf (balred (ids (m0), 15));
将模型输出与数据进行比较。
比较(m0simdata, m);
为。创建一个选项集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秒的估计传递函数。
使用波德
获得下列系统的幅值和相位响应:
使用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)
对于给定的数据,估计一个包含不同极点数的多输入、单输出传递函数。
获得频率特性数据。
例如,使用的朋友
为以下系统创建频率响应数据模型:
使用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 = 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)
估计一个带有32个极点和32个零点的传递函数,并比较波德幅度响应。
sys =特遣部队(G, 32岁,32);bodemag(G, sys) xlim([0.01,2e3]) legend
加载并绘制数据。
负载iddata1icz1i情节(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)传说(“模型响应”,的输出数据)
在模拟开始时,测量输出和模拟输出不一致。
将初始条件合并到simOptions
选项设置。
选择= simOptions (“InitialCondition”、集成电路);y_ic = sim (sys、z1i选择);情节(y_ic z1i)传说(“模型响应”,的输出数据)
仿真结合了模型对输入信号的响应和对初始条件的自由响应。在仿真开始时,测量输出和模拟输出有较好的一致性。这个初始条件只对估计数据有效z1i
.
数据
- - - - - -估计的数据iddata
对象|的朋友
对象|idfrd
对象估算数据,指定为iddata
对象,一个的朋友
对象,或者idfrd
对象。
对时域估计,数据
必须是一个iddata
对象,该对象包含输入和输出信号值。
时间序列模型是不包含可测量输入的模型,不能使用TFEST.
.使用基于“增大化现实”技术
,ARX.
,或armax
而不是时间序列模型。
对频域估计,数据
可以是以下情况之一:
估计数据必须是均匀抽样的。
对于多实验数据,所有实验的样本次数和样本间行为必须匹配。
你可以估计连续时间和离散时间模型(样本时间匹配的模型)数据
)采用时域数据和离散时间频域数据。使用连续时间频域数据只能估计连续时间模型。
np
- - - - - -极数估计传递函数中的极点数,指定为非负整数或矩阵。
对于具有多个输入和/或多个输出的系统,可以应用全局值或单个值np
为输入输出对,如下所示:
相同数目的极点为每对-指定np
作为一个标量。
每对极点的个人数目-指定np
作为一个ny——- - - - - -nu矩阵。ny输出的数量是和吗nu为输入的个数。
例如,请参见通过指定极点数来估计传递函数模型.
新西兰
- - - - - -数量的零估计传递函数中的零数,指定为非负整数或矩阵。
对于具有多个输入、多个输出或两者都有的系统,可以应用全局值或单个值新西兰
为输入输出对,如下所示:
相同数目的极点为每对-指定新西兰
作为一个标量。
每对极点的个人数目-指定新西兰
作为一个ny——- - - - - -nu矩阵。ny输出的数量是和吗nu为输入的个数。
对于使用离散时间数据估计的连续时间模型,集合新西兰
<=np
.
对于离散时间模型估计,指定新西兰
为传递函数的分子多项式的零个数。例如,特遣部队(数据、2、1,Ts, data.Ts)
估计一个传递函数的形式
, 尽管特遣部队(数据,2,2,Ts, data.Ts)
估计
.在这里,z-1为z变换滞后变量。有关离散时间传递函数的更多信息,请参见离散时间表示.例如,请参见估计离散时间传递函数.
iodelay
- - - - - -运输延迟[]
(默认)|非负整数|矩阵传输延迟,指定为非负整数南
标量,或者矩阵。
对于连续时间系统,在存储的时间单元中指定传输延迟TimeUnit
的属性数据
.对于离散时间系统,将传输延迟指定为整数,表示样本时间的倍数TS.
.
为MIMO系统Ny输出和Nu输入,集合iodelay
到一个Ny——- - - - - -Nu数组中。这个数组的每个条目都是一个数值,表示对应输入-输出对的传输延迟。你也可以设置iodelay
对标量值施加相同的延迟到所有输入输出对。
指定的值被视为固定延迟。表示未知的运输延迟,指定南
在iodelay
矩阵。
使用[]
或0
表示没有传输延迟。
例如,请参见估计含有已知传输延迟的传递函数.
选择
- - - - - -估计选项n4sidOptions
选项设置init_sys.
- - - - - -初始参数化的线性系统sys
idtf
模型|线性模型|结构的初始参数化的线性系统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)
TS.
- - - - - -估计模型的样本时间0
(持续时间)(默认)|积极的标量估计模型的样本时间,指定为逗号分隔对,由“t”
,要么0
或者一个正标量。
例如,请参见估计离散时间传递函数.
InputDelay
- - - - - -输入延迟0
(默认)|标量|向量每个输入通道的输入延迟,指定为逗号分隔对组成“InputDelay”
和一个数字向量。
对于连续时间模型,指定“InputDelay”
在时间单位中存储TimeUnit
财产。
对于离散时间模型,指定“InputDelay”
采样时间的整数倍TS.
.例如,设置“InputDelay”
来3.
指定三个采样周期的延迟。
对于一个系统Nu输入,集合InputDelay
到一个Nu1的向量。这个向量的每一项都是一个数值,表示对应输入通道的输入延迟。
若要对所有信道应用相同的延迟,请指定InputDelay
作为一个标量。
例如,请参见指定估计传输函数的模型属性.
直通的
- - - - - -离散时间传递函数的馈通0
(默认)|1
|逻辑矩阵用于离散时间传递函数的馈通,指定为逗号分隔对,由“引线”
逻辑标量或Ny——- - - - - -Nu逻辑矩阵。Ny输出的数量是和吗Nu为输入的个数。若要对所有输入输出通道使用相同的馈通,请指定直通的
作为一个标量。
考虑一个具有两个极点和三个零的离散时间模型:
当模型有直接馈通时,b0是一个自由参数,其值与模型的其余参数一起被估计b1,b2,b3,a1,a2.当模型没有馈通,b0固定为零。例如,请参见估计有馈通的离散时间传递函数.
sys
-已识别的传递函数idtf
模型确定的传递函数,返回为idtf
对象。这个模型是使用指定的模型顺序、延迟和估计选项创建的。
中存储了有关评估结果和所使用选项的信息报告
模型的属性。报告
具有以下字段。
报告领域 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
模型状态摘要,指示模型是由施工创建还是通过估计获得。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitializeMethod |
用于初始化分子和分母的算法,用于使用时域数据估计连续时间传递函数,返回值为以下值之一:
此字段特别有用,可查看使用时使用的算法 |
||||||||||||||||||
N4Weight |
权重矩阵用于奇异值分解步骤时
该字段在查看权重矩阵时特别有用 |
||||||||||||||||||
N4Horizon |
使用前后预测视野 |
||||||||||||||||||
InitialCondition |
模型估计过程中初始条件的处理,返回如下值之一:
该字段对于查看初始条件是如何处理的特别有用 |
||||||||||||||||||
适合 |
定量评估的估计,返回作为一个结构。看到损失函数和模型质量度量有关这些质量度量标准的更多信息。该结构有以下字段:
|
||||||||||||||||||
参数 |
模型参数估计值。 |
||||||||||||||||||
OptionsUsed |
用于估计的选项集。如果没有配置自定义选项,这是一组默认选项。看到 |
||||||||||||||||||
RandState |
估计开始时随机数流的状态。空的, |
||||||||||||||||||
DataUsed |
用于估计的数据的属性作为具有以下字段的结构。
|
||||||||||||||||||
终止 |
用于最小化预测误差的迭代搜索的终止条件,返回为具有以下字段的结构:
对于不需要数值搜索优化的估计方法, |
,以获取更多使用信息报告
,请参阅评估报告.
集成电路
——初始条件initialCondition
对象|对象数组initialCondition
值估计的初始条件,返回为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]和[2]对应于初始化选项(InitializeOptions
)字段FilterTimeConstant
.IV是简化的细化IV方法,在中称为SRIVC[3].这个方法有一个预过滤器,它是当前模型的分母,用SVF初始化。这个预过滤器迭代到MaxIterations
时间,直到模型更改小于宽容
.MaxIterations
和宽容
是否可以使用InitializeOptions
结构。的“n4sid”
初始化选项估计一个离散时间模型,使用N4SID估计算法,并将其转换为连续时间使用d2c
.
使用tfestOptions
创建用于估计传递函数的选项集。
用非线性最小二乘搜索方法对初始化的参数进行更新SearchMethod
估计的选择。搜索方法的目标是使加权预测误差范数最小化。
估计算法执行以下任务:
执行双线性映射以将传输函数的域(频率电网)转换为转换。对于连续时间模型,虚构轴被转换为单位磁盘。对于离散时间模型,原始域单元磁盘将转换为另一个单元磁盘。
执行sk迭代[4]解决非线性最小二乘问题-考虑一个多输入单输出系统。非线性最小二乘问题是最小化以下损失函数:
在这里,W是您指定的与频率相关的权重。D是要估计的传递函数模型的分母吗N我分子对应于我输入。y和u分别为测量的输出数据和输入数据。nf和nu频率和输入的数量,和w是频率。重新安排条件
为了执行S-K迭代,算法迭代求解
在这里,米当前迭代是,和Dm - 1(ω)是上一个迭代中确定的分母响应。现在迭代的每一步都是一个线性最小二乘问题,其中识别的参数捕获了响应D米(ω)和N我,米(ω)为我= 1, 2,…nu.通过选择初始化迭代D0(ω)= 1。
算法的第一次迭代确定D1(ω).的D1(ω)和N我,1(ω)多项式用单项基表示。
第二次及以后的迭代表示多项式D米(ω)和N我,米(ω)用单位圆盘上的正交有理基函数表示。这些基函数有这样的形式
在这里,λj, m - 1是j在前一步中确定的第一个极点米-1迭代。λj, m - 1*是的复共轭吗λj, m - 1,问是单位硬盘上的频域变量。
该算法最多运行20次迭代。如果在最近三次迭代中损失函数值的相对变化小于0.001,则迭代提前终止。
如果指定传递函数系数的界限,这些界限对应于识别参数的仿射约束。如果只有等式约束(固定传递函数系数),则用代数方法解决相应的等式约束最小二乘问题。为此,该软件为等式约束矩阵的零空间计算一个正交基,然后在这个零空间内求解最小二乘问题。如果传递函数系数有上界或下界,则用内点法求解相应的不等式约束最小二乘问题。
执行线性优化- S-K迭代,即使它们收敛,也不总是产生局部最优解。为了找到优化问题的临界点,可以产生局部最优解,执行第二组迭代。临界点是一组非线性方程的解。万博 尤文图斯该算法通过对非线性方程组连续构造线性逼近,并在最小二乘意义下求解得到的线性方程组来寻找临界点。方程。
方程为jth分母参数:
方程为j对应于输入的第一个分子参数l:
第一次迭代从找到分子的最佳解开始N我和分母DS-K迭代过程中的参数。不同于S-K迭代,基函数Bj(ω)不会在每次迭代中更改;迭代使用在S-K迭代中产生最佳解决方案的基本函数来执行。与前面一样,该算法最多运行20次迭代。如果在最近三次迭代中损失函数值的相对变化小于0.001,则迭代提前终止。
如果你指定了传递函数系数的界限,这些界限将使用广义拉格朗日乘数被纳入必要的最优条件中。所得到的约束线性最小二乘问题用S-K迭代步骤中解释的相同方法求解。
返回最优解对应的传递函数参数- S-K和线性细化迭代步骤都不能保证损失函数值的改进。算法跟踪在这些步骤中观察到的最佳参数值,并返回这些值。
将步骤1中执行的双线性映射反转。
用中规定的非线性最小二乘搜索方法对传递函数参数进行迭代求精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
,延迟
,冲动
.有关确定输入延迟的示例,请参见模型结构选择:确定模型顺序和输入延迟.
TFEST.
估计算法更新
从R2016b开始,我们使用了一种新的算法对频域数据进行传递函数估计。使用新算法,您可能会看到更快、更准确的结果,特别是对于具有大范围频率和振幅的动态数据。然而,估计结果可能与以前版本的结果不匹配。要使用前面的估计算法执行估计,请添加“-R2016a”
的语法。
例如,假设您正在用np
使用频域数据的极点数据
.
sys =特遣部队(数据、np)
要使用前面的估计算法,请使用以下语法。
sys =特遣部队(数据、np、“-R2016a”)
加尼埃,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。
的并行计算支持可用于估计万博1manbetxlsqnonlin
搜索方法(需要最优化工具箱™)。要启用并行计算,请使用tfestOptions
,设置SearchMethod
来“lsqnonlin”
和集合SearchOptions.Advanced.UseParallel
来真正的
.
例如:
选择= tfestOptions;opt.SearchMethod =“lsqnonlin”;opt.SearchOptions.Advanced.UseParallel = true;
有一个对应于MATLAB的代码:
把它扔进introduciéndolo然后把它扔进MATLAB。Los navegadores web no admit comandos de MATLAB。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。