主要内容

特遣部队

估计传递函数模型

描述

估计传递函数模型

例子

sys=特遣部队(tt,np)估计连续时间传递函数sysnp波兰人,使用所有的输入和输出信号的时间表tt。0的数量在sys max (np1,0)。您可以使用该语法的输出和味噌系统。函数假设中的最后一个变量的时间表是单一输出信号。

你不能使用特遣部队估计时间序列模型,模型不包含输入。使用基于“增大化现实”技术,arx,或armax时间序列模型。

例子

sys=特遣部队(u,y,np)使用时域估计连续时间传递函数矩阵的输入信号和输出信号u,y。软件假定数据样本时间是1秒。你不能改变这个假定样本。如果你想估计模型与样本数据除了1秒时间,你有两个选择:

  1. 估计一个离散时间系统而不是通过设置示例使用的时间“t”名称-值参数。例如,sys =特遣部队(u, y, np, Ts, 0.1)集样品的时间0.1。您可以使用该语法的输出,味噌,MIMO系统。

  2. 转换矩阵数据时间表iddata对象之前,估计一个连续时间系统。这些格式允许您把采样时间知识整合到数据。有关更多信息,请参见u,y

不推荐从依赖于数据估计连续时间模型。

sys=特遣部队(数据,np)使用的时域或频域数据数据。使用这种语法尤其是当你想使用频域传递函数估计或频率响应数据,或者当你想利用额外的信息,比如intersample行为,数据样本,或标记实验,数据对象提供。

例子

sys=特遣部队(___,新西兰)指定0的数量新西兰。您可以使用该语法与任何以前的输入参数组合。

例子

sys=特遣部队(___,新西兰,iodelay)指定运输延误iodelay输入/输出双。

例子

sys=特遣部队(___,名称,值)使用额外的模型选项指定一个或多个参数名称-值对。例如,指定一个离散时间系统矩阵数据样本时间0.1使用sys =特遣部队(ym, np, Ts, 0.1)。指定输入和输出信号对应的变量名与变量用于MIMO时间表数据使用sys =特遣部队(数据、np、新西兰InputNames, u1, u2”,“OutputNames”,(“日元”、“y3))

配置初始参数

sys=特遣部队(tt,init_sys)使用线性系统init_sys配置的初始参数sys评估使用的时间表tt

sys=特遣部队(u,y,init_sys)使用矩阵数据u,y估计。如果init_sys是一个连续时间模型,建议使用时间表代替矩阵。

例子

sys=特遣部队(数据,init_sys)使用的数据对象数据估计。

指定额外的评估选项

例子

sys=特遣部队(___,选择)包含一个选项设置选择指定选项,例如估计目标,处理初始条件,正规化,数值搜索方法用于估计。您可以指定选择后的任何以前的输入参数组合。

回归估计初始条件

例子

(sys,集成电路)=特遣部队(___)估计初始条件作为回报initialCondition对象。如果你打算使用这个语法模拟或预测模型响应输入数据,然后使用相同的估计比较相同的估计输出数据的响应。结合初始条件收益率之间更好的匹配测量和模拟或预测数据在早期阶段的模拟。

例子

全部折叠

加载时域系统响应数据的时间表tt1

负载sdata1.mattt1;

极数np2和传递函数估计。

np = 2;sys =特遣部队(tt1、np);

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

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

sys.Numerator
ans =1×22.4554 - 176.9856
sys.Denominator
ans =1×31.0000 3.1625 23.1631

把分子和分母的估计的不确定性和其他信息,使用tfdata

加载系统时域响应数据z2和用它来估计一个传递函数,其中包含两个波兰人和一个零。

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

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

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

负载iddata2z2;

估计一个传递函数模型sys包含两个波兰人和一个零,其中包括一个已知的传输延迟iodelay

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

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

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

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

sys是一个idtf模型包含传递函数估计的IODelay财产估计使用数据。

负载系统时域响应数据,包含在输入和输出矩阵umat2ymat2

负载sdata2.matumat2ymat2

估计离散传递函数与两极和一个零。指定样品时间Ts0.1秒和传输延迟iodelay2秒。

np = 2;新西兰= 1;iodelay = 2;t = 0.1;sysd =特遣部队(iodelay umat2 ymat2, np,新西兰,“t”Ts)
sysd =从输入“u1”输出“日元”:1.8 z z ^ ^ 1 (2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1.418 z ^ 1 + 0.6613 z ^ 2样品时间:0.1秒的离散传递函数。参数化:极数:2 0数量:1很多免费的系数:3使用“tfdata”、“getpvec”、“getcov”参数及其不确定性。状态:使用tf时域数据的估计。适合估算数据:80.26%消防工程: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

比较两个离散时间模型和无引线和传输延迟。

如果有延迟的测量输入输出,它可以将缺少引线或归因于一个实际的传输延迟。对于离散时间模型,没有直通的对应于一个滞后的输入和输出之间的一个示例。估计一个模型使用引线= falseiodelay = 0从而产生一个离散时间系统,相当于一个系统估计的使用引线= trueiodelay = 1。两个系统显示同一时间和频域响应,例如,在一步,预示着阴谋。然而,你会得到不同的结果,如果你减少使用这些模型balred或将它们转换为连续时间表示。因此,最佳实践是检查是否观察到的延迟可以归因于运输延迟或缺乏引线。

估计没有直通的离散时间模型。

负载iddata1z1np = 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轴对象。坐标轴对象1的标题:u1:日元ylabel级(dB)包含2线类型的对象。这些对象代表sys1 sys2。坐标轴对象2 ylabel阶段(度)包含2线类型的对象。这些对象代表sys1 sys2。

构成系统的离散方程1和系统2是等价的,所以是预示反应。

将模型转换为连续时间和比较这些模型的波德反应。

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

图包含2轴对象。坐标轴对象1的标题:u1:日元ylabel级(dB)包含2线类型的对象。这些对象代表sys1c sys2c。坐标轴对象2 ylabel阶段(度)包含2线类型的对象。这些对象代表sys1c sys2c。

图所示,两个模型的波德反应不匹配,当你将它们转换为连续时间。当没有直通的,sys1c,必须有一些延迟。当有直通的,sys2c,不可能有延迟。连续时间引线映射到离散时间引线。连续时间延迟映射到离散时间延迟。

估计两个输入,一个输出离散传递函数的延迟两个样本在第一输入和零第二输入样本。两个输入没有直通的。

数据和将数据加载到评估和验证数据集。

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

估计两个输入,一个输出传递函数与两极每个input-to-output传递函数和一个零。

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

直通的值你选择决定是否主要分子系数是零(无引线)(非零引线)。延迟通常表达了单独使用InputDelayIODelay财产。这个示例使用InputDelay只有表达延迟。

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

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

图包含一个坐标轴对象。坐标轴对象与ylabel y1包含2线类型的对象。这些对象代表验证数据(日元),模型:81.01%。

确定一个15阶传递函数模型通过使用正规化脉冲响应估计。

加载数据。

负载regularizationExampleDatam0simdata;

获得一个正规化的脉冲响应(杉木)模型。

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

模型转化为一个减少为15后传递函数模型。

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

模型输出的数据进行比较。

比较(m0simdata, m);

图包含一个坐标轴对象。坐标轴对象与ylabel y1包含2线类型的对象。这些对象代表验证数据(y1) m: 63.82%。

创建一个选项设置特遣部队指定的初始化和搜索方法。还设置显示选项,该选项指定每个迭代的损失函数值被显示。

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

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

负载iddata2z2;np = 2;新西兰= 1;iodelay = 0.2;sys =特遣部队(z2、np、新西兰、iodelay选择);

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

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

负载iddata2z2;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);(杂志、相位)=预示(tf(0.2[1],[1 2 1 1]),频率);data =朋友(玛格。* exp (1 j *期*π/ 180),频率);

估计一个三极,一个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 = 5 [2];sys =特遣部队(数据、np、新西兰、iodelay选择);

iodelay指定input-to-output从第一和第二输入输出延迟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;iodelay =[2南);sys =特遣部队(数据、np、新西兰、iodelay选择);

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)

图包含一个坐标轴对象。坐标轴对象与ylabel y1包含2线类型的对象。这些对象代表验证数据(日元),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 = {[1 - 2], [5]}, {[1 2 4 5], [1 2 1 1 0]}, 0,“IODelay”0.6 [4]);data =朋友(G, logspace (2100);

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

估计的传递函数数据

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

np指定的极数估计的传递函数。的第一个元素np表明,第一个输入到输出的传递函数包含三个波兰人。类似的,第二个元素np表明传递函数从第二个输入输出包含四个波兰人。

新西兰指定0的数量估计的传递函数。的第一个元素新西兰表明,第一个输入到输出的传递函数包含一个0。类似的,第二个元素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 1]});

使用idfrd获得一个频率特性的数据模型数据G。指定100个频率点从0.01 rad / s - 100 rad / s。

data = idfrd (G, logspace (2100);

数据是一个idfrd对象。

估计的传递函数数据

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

np指定的极数估计的传递函数。的第一个元素np表明,第一个输入到输出的传递函数包含三个波兰人。类似的,第二个元素np表明传递函数从第二个输入输出包含四个波兰人。

新西兰指定0的数量估计的传递函数。的第一个元素新西兰表明,第一个输入到输出的传递函数包含一个0。类似的,第二个元素新西兰表明,第二个输入到输出的传递函数不包含任何零。

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

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

sys是一个不稳定的系统,随着杆显示显示。

加载高密度频率特性测量数据。数据对应于一个不稳定的过程维持在平衡使用反馈控制。

负载HighModalDensityData降维f

作为一个包数据idfrd对象识别和发现预示级响应。

G = idfrd(排列(润扬悬索桥(1 2 3)),f, 0,“FrequencyUnit”,“赫兹”);bodemag (G)

图包含一个坐标轴对象。坐标轴对象ylabel级(dB)包含一个类型的对象。这个对象表示G。

估计32波兰人和32 0的传递函数,并比较波德级响应。

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

图包含一个坐标轴对象。坐标轴对象ylabel级(dB)包含2线类型的对象。这些对象代表G,系统。

数据加载和阴谋。

负载iddata1icz1i情节(z1i)

图包含2轴对象。坐标轴对象1标题y1包含一个类型的对象。该对象代表z1i。坐标轴对象2标题u1包含一个类型的对象。该对象代表z1i。

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

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

测量的输出不从0开始。

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

(sys, ic) =特遣部队(z1i 2 1);集成电路
ic = initialCondition属性:答:[2 x2双]X0: [2 x1双]C: [0.2957 - 5.2441] Ts: 0

集成电路是一个initialCondition对象,该对象封装了免费的反应sys在状态方程形式,初始状态向量X0

模拟sys使用估计数据但没有将初始条件。模拟输出和测量输出的阴谋。

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

图包含2轴对象。坐标轴对象1标题y1包含2线类型的对象。这些对象代表模型响应,输出数据。坐标轴对象2标题u1包含一个类型的对象。这个对象表示输出数据。

测量和模拟输出仿真开始时不一致。

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

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

图包含2轴对象。坐标轴对象1标题y1包含2线类型的对象。这些对象代表模型响应,输出数据。坐标轴对象2标题u1包含一个类型的对象。这个对象表示输出数据。

仿真模型结合响应输入信号与自由响应初始条件。测量和模拟输出现在有更好的协议的仿真。这个初始条件是有效的估计数据z1i

输入参数

全部折叠

估计数据,指定为一个均匀采样时间表包含输入和输出信号变量或multiexperiment数据单元阵列的时间表。

使用整个时间表

如果您想要使用的所有输入和输出变量tt和组织的变量,输入变量的集合是紧随其后的输出变量的集合,然后:

  • 对于输出系统,指定tt作为一个N年代2时间表,在那里N年代样品的数量和两个吗时间表变量分别代表了测量输入信号和输出信号。

  • 对于MIMO系统,指定tt作为一个N年代————(Nu+Ny)时间表,在那里Nu输入和数量吗Ny是输出的数量。第一个Nu剩下的变量必须包含的输入信号Ny变量必须包含输出信号。

    当你估计状态空间或传递函数模型时,您还必须显式地指定输入和输出通道,下面的部分将介绍。

  • 对于multiexperiment数据,指定数据作为Ne1单元阵列的时间表,Ne是实验的数量。所有的样品时间实验必须匹配。

使用选定的变量从时间表

如果您想要使用的变量的一个子集时间表,或者输入和输出变量是混杂在一起的,用的“InputName”“OutputName”名称-值参数指定要使用哪个变量。

例如,假设tt包含六个变量:“u1”,“u2”,“u3”,“日元”,“日元”,“y3”。估计,你想要使用的变量“u1”“u2”作为输入变量“日元”“y3”作为输出。使用以下命令来执行评估:

sys =特遣部队(tt, __“InputName”,“u1”“u2”,“OutputName”,(“日元”“y3))

关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱

估计数据,指定输出系统的一对N年代1实值矩阵含有均匀采样输入和输出时域信号值。在这里,N年代是样品的数量。

对于MIMO系统,指定u,y作为输入/输出矩阵对以下维度:

  • u- - - - - -N年代——- - - - - -Nu,在那里Nu输入的数量。

  • y- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。

对于multiexperiment数据,指定u,y作为一对1×-Ne细胞阵列,Ne是实验的数量。所有的样品时间实验必须匹配。

限制

估计数据对象,指定为一个iddata对象,一个的朋友对象,或一个idfrd对象包含均匀采样输入和输出值。默认情况下,软件集的样本时间模型的样本时间估计数据。

对于multiexperiment数据,所有的样品时间和intersample行为实验必须匹配。

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

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

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

  • iddata指定对象的属性如下:

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

    • OutputData——输出信号的傅里叶变换

    • - - - - - -“频率”

限制

你不能使用离散频域数据估计连续时间模型。

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

对系统有多个输入和/或多个输出,您可以应用一个全球价值和个人价值np对输入/输出,如下:

  • 相同数量的波兰人对于每一对——指定np作为一个标量。

  • 个人对每一对极数——指定np作为一个Ny——- - - - - -Nu矩阵。Ny输出的数量和吗Nu输入的数量。

例如,看到的通过指定极数估计传递函数模型

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

的系统多输入、多输出,或者两者都是,您可以应用一个全球价值和个人价值新西兰对输入/输出,如下:

  • 相同数量的波兰人对于每一对——指定新西兰作为一个标量。

  • 个人对每一对极数——指定新西兰作为一个Ny——- - - - - -Nu矩阵。Ny输出的数量和吗Nu输入的数量。

连续时间模型估计使用离散数据,设置新西兰< =np

对于离散时间模型的评估,指定新西兰随着零数量的分子多项式的传递函数。例如,特遣部队(tt、2、1, Ts, data.Ts)估计的传递函数形式 b 1 z 1 / ( 1 + 一个 1 z 1 + b 2 z 2 ) ,而特遣部队(tt, 2, 2, Ts, data.Ts)估计 ( b 1 z 1 + b 2 z 2 ) / ( 1 + 一个 1 z 1 + b 2 z 2 ) 。在这里,z1是z变换滞后变量。关于离散传递函数的更多信息,请参阅离散时间表示。例如,看到的估计离散传递函数

传输延迟、指定为一个非负整数标量或矩阵。

对于连续时间系统,指定运输延误的时间单元中存储TimeUnit的属性数据。对于离散时间系统,运输延误指定为整数表示延迟的多个样本Ts

分布式天线系统Ny输出和Nu输入,设置iodelay到一个Ny——- - - - - -Nu数组中。这个数组的每个条目是一个数值,表示相应的输入/输出的传输延迟。你也可以设置iodelay一个标量值应用相同的所有输入/输出对延迟。

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

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

例如,看到的估计传递函数包含已知的传输延迟

估计选项,指定为一个tfestOptions选项。选项指定的选择包括:

  • 估计目标

  • 处理初始条件

  • 数值搜索方法用于估计

  • Intersample行为

例如,看到的估计传递函数使用估计选项集

线性系统,配置的初始参数sys指定为一个idtf模型、线性模型或结构。你获得init_sys通过执行评估使用测量数据或直接施工。

如果init_sys是一个idtf模型中,特遣部队使用的参数值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传递函数。特遣部队使用生成的模型的参数估计的初始猜测。

如果你不指定选择,init_sys是通过评估而不是建设,软件使用评估选项init_sys.Report.OptionsUsed

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

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

输入通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。

如果您正在使用数据源,时间表中的名称InputName必须的一个子集的时间表变量。

例子:sys =特遣部队(tt, __, InputName, [u1”“u2”])选择的变量u1u2作为输入通道的时间表tt用于估计。

输出通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。

如果您正在使用数据源,时间表中的名称OutputName必须的一个子集的时间表变量。

例子:sys =特遣部队(tt, __“OutputName”,(“日元”“y3))选择的变量日元y3作为输出通道的时间表tt用于估计。

样品的时间估计模型,指定为0或积极的标量。

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

  • 对于离散时间模型,指定“t”作为数据样本时间单位定义为以下:

    • 排课数据——时间表时间

    • 依赖于数据——秒

    • 数据对象,例如iddata对象-data.TimeUnit财产

    在离散情况下,np新西兰指根的数量z1分子和分母多项式。

    获得的数据采样时间的时间表tt,使用时间表财产tt.Properties.Timestep

例如,看到的估计离散传递函数

为每个输入通道输入延迟,指定为一个标量或数值向量。

  • 对于连续时间模型,指定“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是一个免费的估计参数的值以及模型的其余部分参数b1,b2,b3,a1,a2。当模型没有直通的,b0是固定为零。例如,看到的估计与直通的离散传递函数

输出参数

全部折叠

确定传递函数,作为一个返回idtf模型。这个模型是使用指定的模型创建的订单,延误,估计选项。

评估结果和信息存储在选择使用报告模型的属性。报告有以下字段。

报告字段 描述
状态

总结模型的状态,这表明模型是由建设或是否得到评估。

方法

评估使用的命令。

InitializeMethod

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

  • “四”——工具变量方法

  • “svf”——状态变量滤波器的方法

  • “gpmf”——广义泊松时刻函数的方法

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

这个字段是特别有用的视图时使用的算法InitializeMethod估计选项设置选项“所有”

N4Weight

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

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

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

  • “SSARX”使用子空间识别方法,使用一个ARX estimation-based算法计算权重。

这个字段是特别有用的视图时使用的加权矩阵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

选项设置用于估计。如果没有配置自定义选项,这是一组缺省选项。看到polyestOptions为更多的信息。

RandState

的随机数流的估计。空的,[]评估期间,如果随机化是不习惯。有关更多信息,请参见rng

DataUsed

属性的数据用于估计,作为结构与以下字段返回。

描述
的名字

数据集的名称。

类型

数据类型。

长度

数据样本的数量。

Ts

样品时间。

InterSample

输入intersample行为,返回以下值之一:

  • “zoh”——零维护样本之间的分段常数输入信号。

  • “呸”——一阶保持维护一个分段线性输入信号之间的样本。

  • “提单”——带限行为指定连续时间输入信号零功率高于奈奎斯特频率。

InputOffset

在估计抵消从时域输入数据。对于非线性模型,它是[]

OutputOffset

在估计抵消从时域输出数据。对于非线性模型,它是[]

终止

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

描述
WhyStop

原因终止数值搜索。

迭代

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

FirstOrderOptimality

规范的梯度搜索在搜索算法终止时向量。

FcnCount

目标函数的次数。

UpdateNorm

规范的梯度搜索过去迭代向量。省略搜索方法“lsqnonlin”“fmincon”

LastImprovement

标准改进在过去的迭代,表示为一个百分比。省略搜索方法“lsqnonlin”“fmincon”

算法

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

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

使用的更多信息报告,请参阅评估报告

估计初始条件,作为一个返回initialCondition对象或一个对象数组initialCondition值。

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

  • 为综合实验室的数据集Ne实验中,集成电路是一个对象数组的长度吗Ne包含一组initialCondition每个实验值。

如果特遣部队返回集成电路的值0你知道你有非零初始条件,设置“InitialCondition”选项tfestOptions“估计”并通过更新的选项设置特遣部队。例如:

选择= tfestOptions (“InitialCondition”,“估计”)(sys、ic) =特遣部队(数据、np、新西兰、选择)
默认的“汽车”设置“InitialCondition”使用“零”方法当初始条件有一个微不足道的影响总体估计误差最小化的过程。指定“估计”确保软件估算值集成电路

有关更多信息,请参见initialCondition。使用这个参数的一个示例,请参阅获得和应用估计初始条件

算法

全部折叠

所使用的估计算法的细节特遣部队取决于各种因素,包括抽样估计的模型和估计数据。

连续时间传递函数估计使用时域数据

参数初始化

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

可变状态过滤器(SVF)方法和广义泊松时刻函数(GPMF)连续时间参数估计方法使用预滤器数据[1][2]。常数 1 λ [1][2]对应于初始化选项(InitializeOptions)字段FilterTimeConstant。第四是第四简化精炼方法,叫做SRIVC[3]。这种方法有一个预滤器分母的当前模型,与SVF初始化。这个前置滤波器迭代MaxIterations次,直到模型变化小于宽容MaxIterations宽容选项,您可以指定使用吗InitializeOptions结构。的“n4sid”初始化选项估计一个离散时间模型,使用N4SID估计算法,它将连续时间使用d2c

使用tfestOptions创建选项设置用来估计一个传递函数。

参数更新

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

使用时域数据离散传递函数估计

对于离散数据,特遣部队使用相同的算法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

    执行sk迭代,迭代算法解决

    最小化 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. 执行线性细分- sk迭代,即使他们收敛,并不总是产生局部最优解。找到一个临界点的可以产生局部最优解的优化问题,第二组迭代执行。临界点是一组非线性方程组的解。金宝搏官方网站算法搜索一个临界点,先后构建线性近似非线性方程和解决由此产生的线性方程最小二乘意义上的。方程。

    • 方程为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 ) ) }

    • 方程为jth分子参数对应于输入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和分母D参数在sk迭代。与sk迭代,功能的基础Bj(ω)不改变在每个迭代;基函数的迭代执行,取得了最佳的解决方案在sk迭代。和之前一样,最多20个迭代算法运行。迭代终止早期如果损失函数的相对变化值小于0.001,最后三个迭代。

    如果您指定界限传递函数系数,这些界限纳入必要的使用广义拉格朗日乘数法最优性条件。由此产生的约束线性最小二乘问题就可以使用相同的方法来解决在sk迭代步骤解释道。

  4. 返回相对应的传递函数参数最优解- sk)和线性优化迭代步骤并不能保证损失函数值的改善。算法跟踪这些步骤期间观察到的最佳参数值,并返回这些值。

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

  6. 执行迭代改进的传递函数参数中指定使用非线性最小二乘搜索方法SearchMethod估计的选择。这一步是实现下列情形:

    • 当你指定EnforceStability评估选择真正的请求(稳定),第五步的结果这个算法是一个不稳定的模型。稳定边界和内部的不稳定极点反映所得的参数迭代改进。估计信息选项,请参阅tfestOptions

    • 当你添加一个正规化罚款损失函数使用正则化估计的选择。关于正则化的一个例子,看看正规化的动态系统的识别

    • 你估计一个连续时间模型使用离散数据(见使用离散频域数据离散传递函数估计)。

    • 您使用频域输入/输出数据来确定多输入模型。

如果您使用的是R2016a或更早的估计算法(见tf估计算法更新)估算一个连续时间模型使用连续时间频率域数据,然后连续时间数据和固定延迟,输出误差算法用于模型估计。连续时间数据和免费延迟,使用了状态估计算法。在这个算法中,初始化使用N4SID估计模型系数的方法。这个初始化是紧随其后的是非线性最小二乘搜索更新加权预测误差范数最小化。

使用离散频域数据离散传递函数估计

估计算法是一样的连续时间传递函数估计使用连续时间频率域数据,除了使用离散数据。

如果您使用的是R2016a或更早的估计算法(见tf估计算法更新),该算法是一样的使用时域数据离散传递函数估计算法

请注意

这个软件不支持使用连续时间频域数据的离散传递金宝app函数估计。

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

特遣部队命令首先估计一个离散时间模型的离散数据。然后估计模型转换为连续时间模型使用d2c命令。生成的连续时间模型的频率响应计算的电网频率估计数据。的连续时间模型所需的(指定)结构是适合这个频率响应。使用频率特性数据的估计算法得到连续时间模型的算法是一样的连续时间传递函数估计使用连续时间数据

如果您使用的是R2016a或更早的估计算法(见tf估计算法更新),状态估计算法是用于估计从离散数据连续时间模型。在这个算法中,初始化使用N4SID估计模型系数的方法。这个初始化是紧随其后的是非线性最小二乘搜索更新加权预测误差范数最小化。

延迟估计

  • 当延迟值被指定为,软件使用延迟从模型分别估计分子和分母系数。特遣部队然后把这些延迟值作为固定的迭代更新模型的其余部分。因此,延迟值没有迭代更新。

  • 默认情况下,离散数据(Ts> 0),延迟限制了搜索延迟一系列0 30样品。对于连续时间模型,这翻译到0 30不等Ts时间单位。对于连续时间的数据(Ts= 0),延迟限制搜索范围清廉的时间单位。你可以改变这些限制,首先创建一个模板模型init_sys使用idtf然后,设置的值init_sys.Structure.IODelay.Minimuminit_sys.Structure .IODelay.Maximum (i, j)

  • 对于一个初始模型,init_sys,:

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

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

    初始延迟值保持不变。

延迟估计通常是一个困难的问题。一个最佳实践是评估延迟的存在和价值。为此,使用物理洞察力的过程建模和等功能arxstruc,延迟,冲动。确定输入延迟的一个例子,看到模型结构选择:决定模型秩序和输入延迟

引用

[1]加尼叶,H。,M. Mensler, and A. Richard. “Continuous-Time Model Identification from Sampled Data: Implementation Issues and Performance Evaluation.”76年国际期刊的控制,没有。(2003年1月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 - fr - 2004.00195。

年轻的[3],彼得,安东尼Jakeman。“精制的工具变量方法递归的时间序列分析第三部分。扩展。”国际期刊的控制31日。4(1980年4月):741 - 64。https://doi.org/10.1080/00207178008961080。

[4]Drmač,Z。,S. Gugercin, and C. Beattie. “Quadrature-Based Vector Fitting for Discretized H2近似。”暹罗期刊在科学计算37岁的没有。2(2015年1月):A625-52。https://doi.org/10.1137/140961511。

[5]奥兹德米尔、阿尔和Suat Gumussoy。“在系统辨识工具箱通过传递函数估计矢量拟合。”IFAC-PapersOnLine50,不。1(2017年7月):6232 - 37。https://doi.org/10.1016/j.ifacol.2017.08.1026。

版本历史

介绍了R2012a

全部展开