主要内容

idtf.

具有可识别参数的传递函数模型

描述

一个idtf.模型表示作为连续时间或离散时间传递函数的系统,具有可识别(可估计)系数。用idtf.创建传送功能模型或转换动态系统模型转移功能表格。

SISO转移函数是具有指数术语的多项式之比。连续,

G S. = E. τ. S. B. N S. N + B. N 1 S. N 1 + ... + B. 0. S. m + 一种 m 1 S. m 1 + ... + 一种 0.

在离散时间,

G Z. 1 = Z. K. B. N Z. N + B. N 1 Z. N + 1 + ... + B. 0. Z. m + 一种 m 1 Z. m + 1 + ... + 一种 0.

在离散时间,Z.-K.代表一个延迟的延迟kt.S., 在哪里T.S.是采样时间。

为了idtf.模型,分母系数一种0.,......,一种m-1和分子系数B.0.,......,B.N是可估计的参数。(主分母系数总是固定为1。)时间延迟τ.(或者K.在离散时间中)也可以是可估计的参数。这idtf.模型存储多项式系数一种0.,......,一种m-1B.0.,......,B.N在里面分母分子分别模型的属性。时间延迟τ.或者K.存储在Iodelay.模型的财产。

不像IDS.Idpoly.idtf.将噪声参数固定为1而不是参数化。所以,在 y = G + H E. H= 1。

MIMO传递函数包含对应于系统中的每个输入输出对对应的SISO传递函数。为了idtf.模型,每个输入输出对的多项式系数和传输延迟是独立的可估计参数。

创建

你可以获得一个idtf.模型对象以三种方式之一。

  • 估计idtf.基于系统输入输出测量的模型TFEST..这TFEST.命令估计传输功能系数和传输延迟的值。估计值存储在分子分母, 和Iodelay.由此产生的属性idtf.模型。当您引用分子和分母属性时,您可以使用快捷方式数字den.这报告生成模型的属性存储有关估计的信息,例如处理估计中使用的初始条件和选项。例如,您可以使用以下命令估计并获取有关传输功能的信息。

    sys = tfest(数据,nx);num = sys.numerator;den = sys.den;sys.report.

    有关估计的更多例子idtf.模型中,看到TFEST.

    当你获得一个idtf.通过估计模型,可以从模型中提取估计系数及其不确定性。为此,可以使用如下命令tfdata.getpar., 或者getcov

  • 创建一个idtf.模型使用idtf.命令。例如,创建一个idtf.用你指定的分子和分母建模。

    sys = iDTF(Num,DEN)
    你可以创建一个idtf.模型配置初始参数估计传递函数,以拟合测量响应数据。这样做时,可以对分子和分母系数以及传输延迟等值指定约束条件。例如,您可以固定一些参数的值,或指定自由参数的最小值或最大值。然后,您可以使用配置的模型作为输入参数TFEST.使用这些约束估计参数值。对于例子,见建立连续时间传递函数模型创建离散时间传递函数

  • 将现有的动态系统模型转换为idtf.模型使用idtf.命令。例如,转换状态空间模型sys_ss.转移函数。

    sys_tf = iDTF(SYS_SS);
    有关更详细的例子,请参阅将可识别的状态空间模型转换为可识别的传输功能

有关可用于提取信息或转换信息的函数的信息idtf.模型对象,见对象功能

描述

创建传递函数模型

例子

SYS.= IDTF(分子,分母)创建具有可识别参数的连续时间传输功能模型。分子指定传输函数分子系数的当前值。分母指定传递函数分母系数的当前值。

例子

SYS.= IDTF(分子,分母,TS)创建具有采样时间的离散时间传输函数模型TS.

例子

SYS.= IDTF(___名称,价值函数创建一个传递函数特性由一个或多个指定名称,价值对论点。在前一个语法中的任何输入参数组合后指定名称值对参数。

将动态系统模型转换为传输功能模型

例子

SYS.= IDTF(SYS0.转换任何动态系统模型SYS0.idtf.模型形式。

输入参数

展开全部

将任何动态系统转换为idtf.模型。

SYS0.为已识别模型,其估计参数协方差在转换过程中丢失。如果您想在转换期间转换估计参数协方差,请使用翻译

特性

展开全部

传输函数分子系数的值,指定为行向量或单元数组。

对于SISO传输函数,按以下顺序作为行向量存储分子系数的值:

  • 下行权力S.或者P.(用于连续时间传输函数)

  • 上升权力Z.-1或者问:-1(用于离散时间传递函数)

任何初始值未知的系数存储为

用于MIMO传输功能纽约产出和ν输入,分子是A.纽约-经过-ν每个输入/输出对的分子系数的单元阵列。有关MIMO传输功能的示例,请参阅创建MIMO离散时间传输功能

如果你创建一个idtf.模型SYS.使用idtf.命令,sys.numerator.包含分子系数的初始值分子输入参数。

如果你获得了一个idtf.模型通过识别使用TFEST., 然后sys.numerator.包含分子系数的估计值。

idtf.模型SYS.,物业sys.numerator.是属性价值的别名sys.structure.numerator.value.

传递函数分母系数的值,指定为行向量或小区阵列。

对于SISO传输函数,按以下顺序作为行向量存储分母系数的值:

  • 下行权力S.或者P.(用于连续时间传输函数)

  • 上升权力Z.-1或者问:-1(用于离散时间传递函数)

领先的系数分母固定为1.初始值未知的任何系数存储为

用于MIMO传输功能纽约产出和ν输入,分母是一个纽约-经过-ν每个输入输出对的小区分母系数阵列。有关MIMO传输功能的示例,请参阅创建MIMO离散时间传输功能

如果你创建一个idtf.模型SYS.使用idtf.命令,sys。D.E.Nominator包含您使用的分母系数的初始值分母输入参数。

如果你获得了一个idtf.模型SYS.通过识别使用TFEST., 然后sys。D.E.Nominator包含分母系数的估计值。

idtf.模型SYS.,物业sys。D.E.Nominator是属性价值的别名sys.structure.Denominator.Value.

传递函数显示变量,指定为以下值之一:

  • '- 连续时间模型默认

  • 'P'——相当于'

  • 'z ^ -1'- 用于离散时间模型的默认值

  • 'q ^ -1'——相当于'z ^ -1'

的价值多变的被反映在显示器中,并影响了对的解释分子分母离散时间模型的系数向量。当多变的被设定为'z ^ -1'或者'q ^ -1',系数向量被命令作为变量的升序。

举个例子多变的财产,看到指定传输函数显示变量

传输延迟,指定为包含每个输入输出对的单独传输延迟的数字数组。

对于连续时间系统,运输延迟在存储在中的时间单位中表示时髦财产。对于离散时间系统,传输延迟表示为表示示例时间倍增的整数TS.

用于MIMO系统纽约产出和ν输入,设置Iodelay.作为A.纽约-经过-ν数组中。这个数组的每个条目都是一个数值,表示对应输入-输出对的传输延迟。你可以设置Iodelay.到标量值以向所有输入输出对应用相同的延迟。

如果你创建一个idtf.模型SYS.使用idtf.然后,命令sys.iodelay.包含使用名称值对参数指定的传输延迟的初始值。

如果你获得了一个idtf.模型SYS.通过识别使用TFEST., 然后sys.iodelay.包含运输延迟的估计值。

idtf.模型SYS.,物业sys.iodelay.是属性价值的别名sys.structure.iodelay.Value.

有关可估计参数的特定财产信息idtf.模型,指定为单个结构或结构数组。

  • Siso系统 - 单结构。

  • MIMO系统与纽约产出和ν输入 -纽约-经过-ν数组中。元素结构(i, j)包含对应于传输函数的信息(I,J)输入输出对。

srings.numerator.结构.Denominator., 和结构包含分别包含有关分子系数,分母系数和传输延迟的信息。每个参数结构包含以下字段。

场地 描述 例子
价值 参数值。每个属性都是相应的别名价值进入结构财产SYS.表示未知的参数值。 sys.structure.numerator.value.包含SISO分子系数的初值或估计值。sys.numerator.是这个属性价值的别名。sys.numerator {i,j}是MIMO财产的别名sys.Structure .Numerator.Value (i, j)
最低限度 参数在估计过程中可以假定的最小值。 sys.structure.iodelay.minimum = 0.1将传输延迟约束到大于或等于0.1的值。sys.structure.iodelay.minimum.必须大于等于零。
最大值 参数在估计期间可以假设的最大值。 sys.structure.iodelay.maximum = 0.5将传输延迟约束到小于或等于0.5的值。sys.structure.iodelay.maximum.必须大于等于零。
自由 布尔值,指定参数是否为自由估计变量。如果您想在估计期间固定参数的值,请设置相应的值自由价值错误的.对于分母,价值自由对于指定的领先系数sys.structure.Denominator.Free(1), 总是错误的(主要的分母系数始终固定为1)。 sys.structure.Denominator.Free = False.修复所有分母系数SYS.指定的值sys.structure.Denominator.Value.
规模 参数值的比例。估计算法不使用规模
信息 包含字段的结构数组标签单元用于存储参数标签和单位。将参数标签和单位指定为字符向量。 '时间'

模型创新的差异(协方差矩阵)E.,指定为标量或矩阵。

  • SISO模型 - 标量

  • MIMO模型与Ny输出 -Ny-经过-Ny矩阵

识别的模型包括白色高斯噪声分量E.T.)。noisavariance.是这个噪声分量的方差。通常,模型估计函数(如TFEST.)确定这种方差。

此属性是只读的。

摘要报告包含有关使用估计命令获得的传输函数模型的估计选项的信息,例如TFEST.暂时.用报告要查找所识别的模型的估计信息,包括:

  • 估计方法

  • 估算选项

  • 搜索终止条件

  • 估计数据适合和其他质量指标

如果您通过构造创建模型,则报告是无关紧要的。

Sys = idtf([1 4],[1 20 5]);sys.Report.OptionsUsed
ans = []

如果使用估计命令获取模型,则报告包含关于估计数据、选项和结果的信息。

加载iddata2.Z2;sys = tfest(z2,3);sys.Report.OptionsUsed
InitializeMethod:'IV'initializeOptions:[1×1结构]初始信息:'auto'显示:'关闭'informOffset:[] OutputOffset:[]估计尺寸:1正则化:[1×1结构] SearchMethod:'Auto'SearchOptions:[1×1 idOptions.Search.IDentsolver]加权Filter:[]强制性:0输出重量:[]高级:[1×1结构]

有关此属性以及如何使用它的更多信息,请参阅相应估计命令参考页的Output Arguments部分估计报告

每个输入通道的输入延迟,指定为标量值或数字向量。对于连续时间系统,请在存储在中的时间单位中指定输入延迟时髦财产。对于离散时间系统,请在图案时间的整数倍数中指定输入延迟TS..例如,设置inputdelay.3.指定三个采样时间的延迟。

适用于系统N输入,设置inputdelay.对A.N-by-1矢量。此向量的每个条目是表示相应输入通道的输入延迟的数值。

你也可以设置inputdelay.对标量值对所有通道应用相同的延迟。

估计差异inputdelay.作为模型的固定常数。估计使用Iodelay.用于估计时间延迟的属性。要指定估计时延的初始值和约束,请使用sys.structure.iodelay.

对于识别的系统,例如idtf.outputdelay.固定为零。

示例时间,指定为以下方式之一。

  • 连续时间模型,0.

  • 具有指定采样时间模型的离散时间模型 - 正标量标量表示在指定的单位中表示的采样周期时髦模型属性

  • 具有未指明采样时间的离散时间模型 --1

更改此属性不会离散或重新确定模型。用汇集D2C.在连续时间表示和离散时间表示之间进行转换。用D2D.更改离散时间系统的采样时间。

单位为时间变量,采样时间TS.,以及模型中的任何时间延迟,指定为标量。

更改此属性不会重新确定或转换数据。修改属性仅更改现有数据的解释。用chgtimeUnit.将数据转换为不同的时间单位。

输入通道名称,指定为字符向量或单元格数组。

  • 单输入模型 - 字符向量,例如,'控制'

  • 多输入模型 - 字符向量单元阵列

或者,使用自动矢量扩展为多输入模型分配输入名称。例如,如果SYS.是一个双输入模型,输入:

sys.InputName ='控件';

输入名称自动展开{'控件(1)';'控件(2)'}

当您使用一个估计模型时iddata.目的数据,软件自动设置InputName.data.InputName.

您可以使用速记表示法参考InputName.财产。例如,sys.u.相当于sys.inputname.

您可以通过多种方式使用输入通道名称,包括:

  • 识别模型显示和绘图上的频道

  • 提取MIMO系统的子系统

  • 互连模型时指定连接点

输入通道单元,指定为字符向量或单元格数组。

  • 单输入模型 - 字符向量

  • 多输入模型 - 字符向量单元阵列

InpoinUnit.跟踪输入信号单元。InpoinUnit.对系统行为没有影响。

输入通道组,指定为结构。这InputGroup.属性允许您将MIMO Systems的输入通道分成组,以便您可以通过名称引用每个组。在里面InputGroup.结构,将字段名设置为组名,并将字段值设置为属于每个组的输入通道。

例如,创建名为的输入组控制噪音分别包括输入通道1 2和3 5。

sys.inputgroup.controls = [1 2];sys.inputgroup.noise = [3 5];

然后,您可以从中提取子系统控制使用以下语法输入所有输出:

SYS(:,'控件')

输出通道名称,指定为字符向量或单元格数组。

  • 单输入模型 - 字符向量,例如,'测量'

  • 多输入模型 - 字符向量单元阵列

或者,使用自动矢量扩展为多输出模型分配输出名称。例如,如果SYS.是一个双输出模型,输入:

sys.outputname ='测量';

输出名称自动展开{“测量(1)”,“测量”(2)}

当您使用一个估计模型时iddata.目的数据,软件自动设置OutputNamedata.outputname.

您可以使用速记表示法y参考OutputName财产。例如,sys.y.相当于sys。OutputName

您可以通过多种方式使用输出通道名称,包括:

  • 识别模型显示和绘图上的频道

  • 提取MIMO系统的子系统

  • 互连模型时指定连接点

输出通道单元,指定为字符向量或单元格数组。

  • 单输入模型 - 字符向量,例如,'秒'

  • 多输入模型 - 字符向量单元阵列

OutputUnit.跟踪输出信号单元。OutputUnit.对系统行为没有影响。

输出通道组,指定为结构。这产量组属性允许您将MIMO Systems的输出通道划分为组,并按名称引用每个组。在里面产量组结构,将字段名称设置为组名称,以及属于每个组的输出通道的字段值。

例如,创建名为的输出组温度测量包括输出通道1和3,5。

sys.outputgroup.temperature = [1];sys.outputgroup.measurement = [3 5];

然后,您可以将子系统从所有输入中提取到测量使用以下语法输出:

SYS('测量',:)

例如,指定为字符向量的系统名称,'system_1'

您要与系统关联的任何文本,指定为字符串或字符向量阵列。该属性存储您提供的任何数据类型。例如,如果SYS1.SYS2.是动态系统模型,可以设置它们吗笔记属性如下。

sys1。笔记=“sys1有一个字符串。”;sys2.notes =.sys2有一个字符向量。;sys1.notes sys2.notes.
ans =“sys1有一个字符串。”ans ='sys2有一个字符矢量。

与系统相关联的数据,指定为任何MATLAB数据类型。

用于模型阵列的采样网格,指定为结构。

对于通过采样一个或多个独立变量来导出的识别线性(IDLTI)模型的阵列,该属性跟踪与每个模型关联的变量值。显示或绘制模型阵列时出现此信息。使用此信息将跟踪结果追溯到独立变量。

将数据结构的字段名称设置为采样变量的名称。将字段值设置为与数组中的每个模型关联的采样变量值。所有采样变量必须是数字和标量值,并且所有采样值阵列必须匹配模型阵列的尺寸。

例如,假设您在系统的各种操作点收集数据。您可以单独识别每个操作点的模型,然后将结果堆叠在一起中成一个系统阵列。您可以使用关于操作点的信息标记数组中的各个模型。

Nominal_engine_rpm = [1000 5000 10000];sys。SamplingGrid =结构('rpm',名称_engine_rpm)

在这里,SYS.是包含在1000,5000和10000 rpm的三个识别模型的阵列。

用于通过线性化Simulink生成的模型数组金宝app®软件填充多个参数值或操作点的模型SamplingGrid.自动使用与数组中的每个条目对应的变量值。

对象功能

一般来说,任何适用于的功能动态系统模型适用于一个idtf.模型对象。这些功能有四种一般类型。

  • 操作和返回的函数idtf.模型对象使您能够进行转换和操作idtf.模型。例如:

    • 合并合并估计idtf.模型。

    • 汇集转换A.idtf.从持续的离散时间。用D2C.转换A.idtf.从离散到连续时间。

  • 用于执行分析和模拟功能的函数idtf.对象,如波德SIM

  • 检索或解释模型信息的功能,例如建议getpar.

  • 功能转换idtf.对象进入不同的模型类型,例如Idpoly.对于时域或IDFRD.对于频域

以下列表包含您可以使用的功能的代表子集idtf.模型。

展开全部

翻译 在模型转换操作中翻译参数协方差
setpar. 设置属性,例如线性模型参数的值和界限
chgtimeUnit. 改变动态系统的时间单位
D2D. 重新采用离散时间模型
D2C. 将模型从离散时间转换为连续时间
汇集 从持续离散时间转换模型
合并 合并估计模型

展开全部

SIM 模拟鉴定模型的响应
预测 使用扩展或Unspented Kalman滤波器或粒子滤波器预测状态和状态估计在下次步骤中的误差协方差
相比 比较识别的模型输出和测量输出
冲动 动态系统的脉冲响应图;脉冲响应数据
动态系统的步骤响应图;步骤响应数据
波德 频率响应或幅度和相位数据的Bode图

展开全部

tfdata. 访问传输功能数据
得到 访问模型属性值
getpar. 获取线性模型参数的值和界限等属性
getcov 识别模型的参数协方差
建议 对数据或估计线性模型的分析和建议

展开全部

Idpoly. 具有可识别参数的多项式模型
IDS. 具有可识别参数的状态空间模型
IDFRD. 频率响应数据或模型

例子

全部收缩

指定具有可估计参数的连续时间单输入单输出(SISO)传递函数。传递函数的初始值由以下等式给出:

G S. = S. + 4. S. 2 + 2 0. S. + 5.

num = [1 4];DEN = [1 20 5];g = IDTF(NUM,DEN)
G = S + 4 ------------- S ^ 2 + 20 s + 5连续时间识别传递函数。参数化:极点:2零数:1个自由系数:4使用“TFDATA”,“GETPVEC”,“GETCOV”参数及其不确定性。状态:通过直接建设或转型创建。未估计。

G是一个idtf.模型。数字den在下降功率中指定分子和分母多项式系数的初始值 S. .初值为1和4的分子系数是可估计的参数。初值为20和5的分母系数也是可估计的参数。主分母系数总是固定为1。

您可以使用G指定初始参数化以进行估计TFEST.

使用已知的输入延迟指定连续时间,SISO传输函数。传递函数初始值由以下等式给出:

G S. = E. - 5. 8. S. 5. S. + 5.

用名称标记传输函数的输入'电压'并指定输入单元伏特

使用名称值对参数指定延迟,输入名称和输入单元。

num = 5;den = [1 5];Input_delay = 5.8;input_name =.'电压';input_unit ='伏特';g = iDTF(Num,Den,'inputdelay',input_delay,...'InputName',input_name,'Inputunit',input_unit);

G 是一个idtf.模型。您可以使用G指定初始参数化以进行估计TFEST..如果您这样做,诸如inputdelay.InputName., 和InpoinUnit.应用于估计的模型。估算过程处理inputdelay.作为固定值。如果要估算延迟并指定初始值为5.8 s,请使用Iodelay.物业。

指定具有可估计参数的离散时间SISO传输函数。传递函数的初始值由以下等式给出:

H Z. = Z. - 0. 1 Z. + 0. 8.

将采样时间指定为0.2秒。

num = [1-0.1];den = [1 0.8];ts = 0.2;H = IDTF(NUM,DEN,TS);

数字den是分子和分母多项式系数的初始值。对于离散时间系统,请在升序中指定升序的系数 Z. - 1

TS.指定传输函数的采样时间为0.2秒。

H是一个idtf.模型。分子和分母系数是可估计参数(除了固定为1的前位定系数之外。

指定离散时间,双输入,双输出传递函数。MIMO传递函数的初始值由以下等式给出:

H Z. = [ 1 Z. + 0. 2 Z. Z. + 0. 7. - Z. + 2 Z. - 0. 3. 3. Z. + 0. 3. ]

将采样时间指定为0.2秒。

nums = {1,[1,0]; [ -  1,2],3};dens = {[1,0.2],[1,0.7]; [1,-0.3],[1,0.3]};ts = 0.2;H = IDTF(NUMS,DENS,TS);

数字d指定单元格阵列中系数的初始值。单元格阵列中的每个条目对应于一个输入输出对的传递函数的分子或分母。例如,第一行数字{1,[1,0]}.此单元格数组指定第一行传输功能的分器H.同样,第一排d{[1,0.2],[1,0.7]},指定第一行的分母H

TS.指定传输函数的采样时间为0.2秒。

H是一个idtf.模型。除了每个分母多项式的前导系数之外,所有多项式系数是可评估的参数。这些系数始终固定为1。

以下列条件指定以下离散时间传输函数q ^ -1

H 问: - 1 = 1 + 0. 4. 问: - 1 1 + 0. 1 问: - 1 - 0. 3. 问: - 2

将采样时间指定为0.1秒。

Num = [1 0.4];Den = [1 0.1 -0.3];t = 0.1;convention_variable ='q ^ -1';H = IDTF(NUM,DEN,TS,'多变的', convention_variable);

使用名称值对参数指定变量q ^ -1

数字den是分子和分母多项式系数在上升功率 问: - 1

TS.指定传输函数的采样时间为0.1秒。

H是一个idtf.模型。

指定具有可估计系数的传输函数,其初始值由以下静态增益矩阵给出:

H S. = [ 1 0. 1 1 1 0. 3. 0. 2 ]

m = [1 0 1;1 1 0;3 0 2];H = IDTF(M);

H是一个idtf.描述三输入的模型(nu = 3.),三个输出(纽约= 3.) 转换功能。每个输入输出通道是可估计的静态增益。增益的初始值由矩阵中的值给出m

使用可识别参数转换具有可识别参数的状态空间模型。

将下列可识别的状态空间模型转换为可识别的传递函数。

X T. = [ - 0. 2 0. 0. - 0. 3. ] X T. + [ - 2 4. ] T. + [ 0. 1 0. 2 ] E. T. y T. = [ 1 1 ] X T.

a = [-0.2,0;0,-0.3];B = [2; 4];c = [1,1];d = 0;k = [0.1;0.2];sys0 = IDS(A,B,C,D,K,'noisevariance',0.1);sys = iDTF(SYS0);

一种B.CD., 和K.是指定的矩阵SYS0.,一个可识别的状态空间模型,噪声方差为0.1。

sys = iDTF(SYS0)创造一个idtf.模型SYS.

加载时域系统响应数据Z1

加载Iddata1.Z1;

设置杆的数量NP.2并估计传递函数。

np = 2;sys = tfest(z1,np);

SYS.是一个idtf.包含估计的双极传递函数的模型。

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

sys.numerator.
ans =.1×22.4554 176.9856
sys。D.E.Nominator
ans =.1×31.0000 3.1625 23.1631

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

创建具有可识别系数的传输函数模型数组。阵列中的每个传输函数都是表单:

H S. = 一种 S. + 一种

系数的初始值 一种 以0.1到1.0的数组在阵列上变化,增量为0.1。

H = IDTF(零(1,1,10));为了k = 1:10 num = k / 10;den = [1 k / 10];h(::,k)= iDTF(NUM,DEN);结尾

第一个命令预先释放一维10个元素阵列,H,并用空填充它idtf.模型。

模型阵列的前两个维度是输出和输入尺寸。剩余尺寸是阵列尺寸。H(:,:,k)代表了 K. T. H 阵列中的模型。就这样为了循环取代了 K. T. H 具有传输函数的阵列中的条目,其系数被初始化 一种 = K. / 1 0.

在R2012A介绍