IDTF

与识别的参数传递函数模型

描述

sys= IDTF(NUM巢穴创建具有可识别的参数的连续时间传递函数(一IDTF模型)。NUM指定的传递函数分子系数的当前值。巢穴指定的传递函数的分母系数的当前值。

sys= IDTF(NUM巢穴Ts创建具有可识别的参数的离散时间传递函数。Ts是采样时间。

sys= IDTF(___名称,值创造与传递函数性能由一个或多个指定的名称,值对参数。

sys= IDTF(sys0将任何动力系统模型,sys0, 至IDTF模型的形式。

对象描述

一个IDTF模型代表一个系统作为连续时间或离散时间传递函数与可识别(可估)系数。

SISO传递函数是多项式与指数项的比率。在连续时间,

G 小号 = Ë - τ 小号 b ñ 小号 ñ + b ñ - 1 小号 ñ - 1 + + b 0 小号 + 一个 - 1 小号 - 1 + + 一个 0

在离散时间,

G ž - 1 = ž - ķ b ñ ž - ñ + b ñ - 1 ž - ñ + 1 + + b 0 ž - + 一个 - 1 ž - + 1 + + 一个 0

在离散时间,ž-ķ代表的时间延迟KT小号,其中Ť小号是采样时间。

对于IDTF车型,分母系数一个0,...,一个1而分子系数b0,...,bñ可以是估计的参数。(领先的分母系数总是固定为1。)的时间延迟τ(要么ķ在离散的时间)也可以是可估计的参数。该IDTF模型存储多项式系数一个0,...,一个1b0,...,bñ在里面分母分子模型的属性。时间延迟τ要么ķ存储在IODELAY模型的属性。

一个MIMO传递函数包含一个对应于系统中每个输入-输出对的SISO传递函数。对于IDTF模型,多项式系数和各输入输出对传输延迟是独立地估计的参数。

有三种方法可以得到IDTF模型。

  • 估计IDTF基于系统的输入 - 输出的测量模型,用tfest。该tfest命令估计传递函数系数和运输延迟的值。的估计值被存储在分子分母IODELAY结果的属性IDTF模型。该报告关于估计,例如处理的估计中使用的初始条件和选项生成的模型信息存储属性。

    当你获得IDTF通过估计模型,您可以提取估计系数,并从模型中的不确定性。要做到这一点,使用命令,如tfdatagetpar, 要么getcov

  • 创建一个IDTF模型使用IDTF命令。

    您可以创建一个IDTF建模为传递函数的估计配置初始参数,以适应测量的响应数据。当你这样做,你可以指定为分子和分母系数和传输延迟等值的约束。例如,您可以修复某些参数的值,或为自由参数指定最大或最小值。然后,您可以使用配置的模型作为输入参数tfest来估计与这些约束参数值。

  • 将现有动力系统模型到IDTF模型使用IDTF命令。

注意

不像IDSSidpolyIDTF使用了一个简单的噪声模型,并且没有对噪声进行参数化。

所以,H= 1在 ÿ = G ü + H Ë

例子

全部收缩

指定一个连续时间,单输入,单输出(SISO)传递函数与可估计的参数。的传递函数的初始值是:

G 小号 = 小号 + 4 小号 2 + 2 0 小号 +

NUM = [1 4];DEN = [1 20 5];G = IDTF(NUM,书房);

G是一个IDTF模型。NUM巢穴在下降的权力指定分子的初始值和分母多项式系数 小号 。具有初始值1和4的分子系数是可估计的参数。具有初始值20和5的分母系数也是可估计的参数。前分母系数总是固定为1。

您可以使用G指定用于与估计的初始参数tfest

指定一个连续时间,SISO传输函数与已知的输入延迟。传递函数初值为:

G 小号 = Ë - 8 小号 小号 +

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

名称,值输入对指定的延迟,输入名字,和输入单元。

NUM = 5;DEN = [1 5];input_delay = 5.8;input_name ='电压';input_unit ='伏特';G = IDTF(NUM,书房,'InputDelay',input_delay,'InputName'input_name,“InputUnit”,input_unit);

G 是一个IDTF模型。您可以使用G指定用于与估计的初始参数tfest。如果这样做,模特属性如InputDelayInputNameInputUnit应用于估计模型。评估过程处理InputDelay为固定值。如果你想估计延迟和指定的5.8秒的初始值,使用IODELAY属性。

指定与估计的参数离散时间SISO传递函数。的传递函数的初始值是:

H ž = ž - 0 1 ž + 0 8

指定采样时间0.2秒。

num = [1 -0.1];den = [1 0.8];t = 0.2;H = idtf (num窝,Ts);

NUM巢穴是分子的和初始值分母多项式系数。对于离散时间系统,在上升的大国指定的系数 ž - 1

Ts指定的采样时间为0.2秒的传递函数。

H是一个IDTF模型。分子和分母系数是估计的参数(除主导分母系数,其被固定到1)。

指定离散时间,两输入,两输出传递函数。该MIMO传输函数的初始值是:

H ž = [ 1 ž + 0 2 ž ž + 0 7 - ž + 2 ž - 0 3 3 ž + 0 3 ]

指定采样时间0.2秒。

num = {1, (1,0); [1、2], 3};洞穴= {(0.2),(0.7),(-0.3),(0.3)};t = 0.2;H = idtf (num、洞穴、Ts);

NUMS窝点在单元阵列指定的系数的初始值。在单元阵列中的每个条目对应于一个输入 - 输出对的传递函数的分子或分母。例如,第一行NUMS{1,[1,0]}。此单元阵列指定跨越的传递函数中的第一行而分子H。同样的,第一行窝点{[1,0.2],[1,0.7]},规定一个跨第一行的分母H

Ts指定的采样时间为0.2秒的传递函数。

H是一个IDTF模型。所有的多项式系数都是可估计的参数,除了每个分母多项式的导系数。这些系数总是固定为1。

指定的条件如下离散时间传递函数C 1-4 -1

H q - 1 = 1 + 0 4 q - 1 1 + 0 1 q - 1 - 0 3 q - 2

指定采样时间0.1秒。

NUM = [1 0.4];DEN = [1 0.1 -0.3];TS = 0.1;convention_variable ='Q ^ -1';H = IDTF(NUM,书房,TS,'变量',convention_variable);

用一个名称,值参数来指定变量C 1-4 -1

NUM巢穴在上升的大国的分子和分母多项式系数 q - 1

Ts指定的采样时间为0.1秒的传递函数。

H是一个IDTF模型。

指定一个具有可估计系数的传递函数,其初始值为静态增益矩阵:

H 小号 = [ 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) 转换功能。每个输入/输出信道是可估计的静态增益。增益的初始值由值在给定的矩阵中号

转换与可识别的参数的状态空间模型与可识别的参数的传递函数。

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

X Ť = [ - 0 2 0 0 - 0 3 ] X Ť + [ - 2 4 ] ü Ť + [ 0 1 0 2 ] Ë Ť ÿ Ť = [ 1 1 ] X Ť

A = [-0.2,0;0,-0.3];B = [2; 4];C = [1,1]。d = 0;K = [0.1;0.2];sys0 = IDSS(A,B,C,d,K,'NoiseVariance',0.1);SYS = IDTF(sys0);

一个Cdķ是矩阵指定sys0,可识别的状态空间模型以0.1的噪声方差。

SYS = IDTF(sys0)创建IDTF模型中,sys

负载时域系统响应数据,并使用它来估计的传递函数为系统。

加载iddata1z1;NP = 2;SYS = tfest(Z1,NP);

z1是一个IDDATA对象包含时域,输入输出数据。

NP指定估计的传递函数的极数。

sys是一个IDTF建模包含所估计的传递函数。

要查看最后的估计模型SYS的分子和分母系数,输入:

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

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

创建传递函数模型与识别系数的数组。阵列中的每个传递函数的形式为:

H 小号 = 一个 小号 + 一个

系数的初始值 一个 跨越阵列而变化,从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,书房);结束

第一个命令上预先分配的一维,10元件阵列,H,并与空填充它IDTF楷模。

模型数组的前两个维是输出维和输入维。其余维度是数组维度。H(:,:,k)的代表 ķ Ť H 建模在数组中。就这样对于循环替换 ķ Ť H 带有传递函数的数组中的项,传递函数的系数是用初始化后得到的 一个 = ķ / 1 0

输入参数

NUM

传递函数分子系数的初值。

对于SISO传递函数,指定的分子系数的初始值NUM作为行向量。指定系数的顺序为:

  • 降序的权力小号要么p(对于连续时间传递函数)

  • 升序的权力ž1要么q1(对于离散时间传递函数)

为NaN对于其初始值是不知道任何系数。

对于MIMO传输函数尹恩惠输出和怒江输入,NUM是一个尹恩惠-通过-怒江分子系数的单元阵列的每个输入/输出对。

巢穴

传递函数分母系数的初始值。

对于SISO传递函数,指定分母系数的初始值巢穴作为行向量。指定系数的顺序为:

  • 降序的权力小号要么p(对于连续时间传递函数)

  • 升序的权力ž1要么q1(对于离散时间传递函数)

领先系数巢穴必须1.使用为NaN对于其初始值是不知道任何系数。

对于MIMO传输函数尹恩惠输出和怒江输入,巢穴是一个尹恩惠-通过-怒江分母系数的单元阵列的每个输入/输出对。

Ts

采样时间。对于连续时间模型,TS = 0。对于离散时间模型,Ts是表示采样周期的正标量。该值在由指定为单位表示TIMEUNIT模型的属性。为了表示与未指定的采样时间,设置一个离散时间模型TS = -1

更改此属性不离散或重新采样模式。用C2DD2C对连续 - 离散时间之间转换。用D2D改变一个离散时间系统的采样时间。

默认:0(持续时间)

sys0

动力系统。

任何动力系统转换为一个IDTF模型。

什么时候sys0是所识别的模式,其估计的参数协方差在转换过程中丢失。如果你想转换,在使用过程中的估计的参数协方差翻译translatecov

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。的名字是参数的名称和是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

名称,值指定附加参数性能IDTF模型创建过程中的模型。例如,IDTF(NUM,书房, 'InputName', '电压')创建IDTF模型与InputName属性设置为电压

属性

IDTF对象属性包括:

分子

传递函数的值,分子系数。

如果你创建一个IDTF模型sys使用IDTF命令,sys.Numerator包含您与指定分子系数的初始值NUM输入参数。

如果获得IDTF使用tfest, 然后sys.Numerator包含分子系数的估计值。

对于一个IDTF模型sys,财产sys.Numerator是属性值的别名吗sys.Structure.Numerator.Value

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

  • 降序的权力小号要么p(对于连续时间传递函数)

  • 升序的权力ž1要么q1(对于离散时间传递函数)

初始值未知的系数存储为为NaN

对于MIMO传输函数尹恩惠输出和怒江输入,分子是一个尹恩惠-通过-怒江分子系数的单元阵列的每个输入/输出对。

分母

传递函数分母系数的值。

如果你创建一个IDTF模型sys使用IDTF命令,sys.Denominator包含您与指定分母系数的初始值巢穴输入参数。

如果获得IDTF模型sys通过使用识别tfest, 然后sys.Denominator包含分母系数的估计值。

对于一个IDTF模型sys,财产sys.Denominator是属性值的别名吗sys.Structure.Denominator.Value

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

  • 降序的权力小号要么p(对于连续时间传递函数)

  • 升序的权力ž1要么q1(对于离散时间传递函数)

领先系数分母固定为1,它的初始值是不知道被存储为任何系数为NaN

对于MIMO传输函数尹恩惠输出和怒江输入,分母是一个尹恩惠-通过-怒江分母系数的单元阵列的每个输入/输出对。

变量

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

  • 'S'- 默认为连续时间模型

  • 'P'——相当于'S'

  • 'Z ^ -1'- 默认为离散时间模型

  • 'Q ^ -1'——相当于'Z ^ -1'

的价值变量被反射在显示屏上,并且也影响的解释NUM巢穴系数矢量为离散时间模型。对于变量= 'Z ^ -1'要么'Q ^ -1'中,系数向量排序为升序的变量的权力。

IODELAY

运输延误。IODELAY是一个数值数组,指定为每个输入/输出对一个单独的传输延迟。

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

如果获得IDTF模型sys通过使用识别tfest, 然后sys.IODelay包含了传输延迟的估计值。

对于一个IDTF模型sys,财产sys.IODelay是属性值的别名吗sys.Structure.IODelay.Value

对于连续时间系统,传输延迟被存储在所述的时间单位表示TIMEUNIT财产。对于离散时间系统,指定传输用整数表示,表示采样时间的倍数的延迟Ts

对于MIMO系统尹恩惠输出和怒江输入,设置IODELAY作为一个尹恩惠-通过-怒江阵列。这个阵列的每个条目是表示用于相应的输入/输出一对传送延迟的数值。您可以设置IODELAY将相同的延迟应用于所有输入/输出对。

默认:0对所有的输入/输出对

结构体

有关的可估参数信息IDTF模型。Structure.NumeratorStructure.DenominatorStructure.IODelay包含有关分子系数,分母系数和传输延迟的信息,分别。每个包含以下字段:

  • - 参数值。例如,sys.Structure.Numerator.Value包含分子系数的初始值或估计值。

    为NaN表示未知参数值。为分母,领先的系数的值,指定由sys.Structure.Denominator.Value(1)固定为1。

    对于SISO模型,sys.Numeratorsys.Denominatorsys.IODelay是别名sys.Structure.Numerator.Valuesys.Structure.Denominator.Valuesys.Structure.IODelay.Value, 分别。

    对于MIMO模式,sys.Numerator {I,J}是…的别名sys.Structure .Numerator.Value (i, j)sys.Denominator {I,J}是…的别名sys.Structure(I,J).Denominator.Value。此外,sys.IODelay(I,J)是…的别名sys.Structure(I,J).IODelay.Value

  • 最低限度- 最小值,该参数可估计期间承担。例如,sys.Structure.IODelay.Minimum = 0.1将传输延迟限制为大于或等于0.1的值。

    sys.Structure.IODelay.Minimum必须大于或等于零。

  • 最大值- 最大值该参数可以估算期间承担。

  • 免费的- 布尔指定参数是否是一个免费的估计变量。如果你想估计在修复一个参数的值,设置相应的免费= FALSE。例如,sys.Structure.Denominator.Free = FALSE固定所有的分母系数sys在指定的值sys.Structure.Denominator.Value

    对于分母,值免费的为主导系数,通过指定sys.Structure.Denominator.Free(1), 总是(领先的分母系数总是固定为1)。

  • 规模-参数值的比例。规模没有估计中使用。

  • 信息- 用于存储参数的单位和标签结构阵列。该结构具有标签单元领域。

    指定参数的单位和标签作为字符向量。例如,'时间'

对于具有MIMO模型尹恩惠输出和怒江输入,结构体是一个尹恩惠-通过-怒江阵列。元素结构(I,J)包含对应于所述传递函数的信息(I,J)输入 - 输出对。

NoiseVariance

该模型的创新的方差(协方差矩阵)Ë

一个被识别的模型包含一个白的,高斯噪声的分量ËŤ)。NoiseVariance是该噪声分量的方差。典型地,所述模型估计功能(如tfest)确定此方差。

对于SISO模型,NoiseVariance是一个标量。对于MIMO模式,NoiseVariance是一个ñÿ-通过-ñÿ矩阵,ñÿ是在系统输出的数量。

报告

当使用估计的命令获得的传递函数模型包含有关估计选项和结果信息总结报告,如tfestimpulseest。用报告来查询它是如何估计,包括它的模型:

  • 估算方法

  • 估计选项

  • 搜索终止条件

  • 估计数据拟合和其它质量度量

内容报告是不相关的,如果模型是由建设创造。

米= IDTF([1 4],[1 20 5]);m.Report.OptionsUsed
ANS = []

如果您使用的估计命令,领域获得的传递函数模型报告包含关于估计数据、选项和结果的信息。

加载iddata2z2;米= tfest(z2,3);m.Report.OptionsUsed
InitializeMethod: 'IV' InitializeOptions:[1x1的结构] InitialCondition: '自动' 聚焦: '模拟' EstimateCovariance:1个显示: '断开' InputOffset:[] OutputOffset:[]正则化:[1x1的结构] SearchMethod: '自动' SearchOptions:[1x1的idoptions.search.identsolver] OutputWeight:[]高级:[1x1的结构]

报告是一个只读属性。

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

InputDelay

输入延迟。InputDelay为数值向量,指定每个输入通道的时间延迟。对于连续时间系统,请在存储在的时间单元中指定输入延迟TIMEUNIT财产。对于离散时间系统,指定输入延迟为采样时间的整数倍Ts。例如,InputDelay = 3装置的三个采样时间的延迟。

对于具有系统怒江输入,设置InputDelay怒江×1向量。该向量中的每个条目是表示用于对应的输入通道的输入延迟的数值。您还可以设置InputDelay一个标值应用相同的延迟到所有通道。

估计治疗InputDelay作为模型的一个固定的常数。估计使用IODELAY用于估计时间延迟的属性。若要指定用于估计时间延迟的初始值和约束,请使用sys.Structure.IODelay

默认:0所有输入通道

OutputDelay

输出延迟。

对于已识别的系统,比如IDTFOutputDelay被固定到零。

Ts

采样时间。对于连续时间模型,TS = 0。对于离散时间模型,Ts是表示采样周期的正标量。该值在由指定为单位表示TIMEUNIT模型的属性。为了表示与未指定的采样时间,设置一个离散时间模型TS = -1

更改此属性不离散或重新采样模式。用C2DD2C对连续 - 离散时间之间转换。用D2D改变一个离散时间系统的采样时间。

默认:0(持续时间)

TIMEUNIT

单位为时间变量,采样时间Ts和模型中的任何时间延迟,指定为下列值之一:

  • “纳秒”

  • 微秒的

  • “毫秒”

  • “秒”

  • “分钟”

  • '小时'

  • “天”

  • “周”

  • “月”

  • “年”

更改此属性对其他性能没有影响,因此改变了整个系统的行为。用chgTimeUnit时间单位之间的转换,而无需修改系统行为。

默认:“秒”

InputName

输入信道的名称,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“控制”

  • 字符向量的单元阵列 - 对于多输入模型。

可替代地,使用自动向量扩展到多输入的模型分配输入名称。例如,如果sys是一个双输入模式,输入:

sys.InputName = '控制';

输入名称自动扩展到{ '对照(1)'; '控制(2)'}

当您使用。来估计一个模型时IDDATA宾语,数据,软件自动设置InputNamedata.InputName

您可以使用速记符号ü参阅InputName财产。例如,sys.u相当于sys.InputName

输入频道名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 在互连模型时指定连接点

默认:“”所有输入通道

InputUnit

输入信道单元,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“秒”

  • 字符向量的单元阵列 - 对于多输入模型。

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

默认:“”所有输入通道

InputGroup

输入通道组。该InputGroup属性可以指定MIMO系统的输入通道进行分组,并通过名称来引用每个组。指定输入的基团的结构。在这种结构中,字段名是组名称和字段值是属于各组的输入通道。例如:

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

创建名为的输入组控制噪声分别包括输入通道1、2和3、5。然后,您可以从控制输入到使用所有输出:

SYS(:, '对照')

默认:没有域结构

OutputName

输出信道的名称,指定为以下情况之一:

  • 特征向量 - 对于单输出模式。例如,'测量'

  • 字符向量的单元阵列 - 对于多输出模式。

可替代地,使用自动向量扩展为多输出模式分配输出名称。例如,如果sys为双输出模型,输入:

sys.OutputName = '测量';

输出名称自动扩展到{ '测量(1)'; '测量(2)'}

当您使用。来估计一个模型时IDDATA宾语,数据,软件自动设置OutputNamedata.OutputName

您可以使用速记符号ÿ参阅OutputName财产。例如,sys.y相当于sys.OutputName

输出通道的名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 在互连模型时指定连接点

默认:“”对于所有输出通道

OutputUnit

输出信道单元,指定为以下情况之一:

  • 特征向量 - 对于单输出模式。例如,“秒”

  • 字符向量的单元阵列 - 对于多输出模式。

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

默认:“”对于所有输出通道

OutputGroup

输出信道组。该OutputGroup属性可以指定MIMO系统的输出通道分成组,并通过名称来引用每个组。指定输出的基团的结构。在这种结构中,字段名是组名称和字段值是属于各组的输出通道。例如:

sys.OutputGroup.temperature = [1];sys.InputGroup.measurement = [3-5];

创建一个名为输出组温度测量包括输出通道1和3,5。然后,您可以从所有输入提取子系统测量输出使用:

系统(“测量”,:)

默认:没有域结构

的名字

系统名称,指定为特征向量。例如,'system_1'

默认:“”

笔记

要与系统关联的任何文本,以字符串或字符向量的单元数组的形式存储。属性存储您提供的任何数据类型。例如,如果SYS1系统2是动态的系统模型,你可以设置自己的笔记属性如下:

sys1.Notes =“sys1有一个字符串。”;sys2.Notes =“sys2有一个字符向量。”;sys1.Notes sys2.Notes
ANS = “SYS1有一个字符串”。ANS =“SYS2具有字符向量”。

默认:(0×1的字符串)

用户数据

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

默认:[]

SamplingGrid

抽样模型阵列网格,指定为数据结构。

对于由采样一个或多个自变量衍生的识别线性(IDLTI)模型的阵列,此属性跟踪与每个模型相关联的变量的值。当您显示或绘制模型阵列所出现这个信息。使用此信息来跟踪结果反馈给独立变量。

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

例如,如果你收集在一个系统的各种操作点的数据,则可以分别识别每个操作点的模型,然后将结果一起堆叠成一个单一的系统阵列。您可以标记与有关工作点信息数组中的个别机型:

nominal_engine_rpm = [1000 5000 10000];sys.SamplingGrid =结构(“转”,nominal_engine_rpm)

在哪里sys是包含的rpm 1000,分别5000和10000,获得的三个识别模型的阵列。

对于由线性化的Simulink生成的模型阵列金宝app®在多个参数值或操作点上建模,软件进行填充SamplingGrid自动使用与数组中每个条目对应的变量值。例如,金宝appSimulink的控制设计™命令线性化slLinearizer填入SamplingGrid通过这种方式。

默认:[]

介绍了在R2012a