主要内容

idfrd

频率响应数据或模型

句法

h = idfrd(响应、频率、Ts)
H = IDFRD(响应,频率,TS,'Covaredata,Covariance,'SpectrumData',Spec,'Noisecovariance',Speccov)
h = idfrd(响应、频率、Ts,……
'p1',v1,'pn',Vn)
h = idfrd (mod)
h = idfrd(mod,freqs)

描述

h = idfrd(响应、频率、Ts)构建A.idfrd存储频率响应的对象,响应,频率值下的线性系统,频率Ts为样本时间。对于连续时间系统,设置t = 0

H = IDFRD(响应,频率,TS,'Covaredata,Covariance,'SpectrumData',Spec,'Noisecovariance',Speccov)还存储了响应的不确定性,协方差,添加剂干扰的光谱(噪音),规范以及噪音的协方差,SCOMCOV.

h = idfrd(响应、频率、Ts,……
'p1',v1,'pn',Vn)
构建A.idfrd存储具有由所指定的属性的频率响应模型的对象idfrd属性-值模型。

h = idfrd (mod)将系统识别工具箱™或控制系统工具箱™线性模型转换为默认频率的频率响应数据,包括输出噪声谱及其协方差。

h = idfrd(mod,freqs)将系统识别工具箱或控制系统工具箱线性模型转换为频率响应数据弗里克

对于模型

y T. = G 问: T. + H 问: E. T.

idfrd对象存储传递函数估计 G E. 一世 ω 以及添加剂噪声的光谱(φ.V.)在输出。

φ. V. ω = λ T. | H E. 一世 ω T. | 2

在哪里λ估计方差是E.T.),和T.为样本时间。

对于连续时间系统,噪声频谱由:

φ. V. ω = λ | H E. 一世 ω | 2

从给定的响应创建idfrd

响应是一个三维维度纽约-通过-nu.-通过-Nf,有纽约作为输出的数量,nu.输入的数量,和Nf频率的数量(即,长度)弗里克)。响应(肯塔基州,ku, kf)因此,来自输入的复值频率响应ku.输出ky.频率 ω =弗里克(KF)。在定义SISO系统的响应时,响应可以作为矢量给出。

弗里克是长度的柱矢量Nf包含响应的频率。

Ts为样本时间。TS = 0.表示连续时间模型。

INTSAMPLE行为:用于离散时间频率响应数据(t > 0),您还可以指定当最初从实验中收集样本时的输入信号的输入信号的异常行为。要指定Intersample行为,请使用:

mf = idfrd(响应,频率,ts,'Intersample','zoh');

对于多输入系统,使用ν- 1个单元格阵列,其中ν是输入的数量。该绰号属性与连续时间数据无关。

协方差是一个5-D阵列,包含频率响应的协方差。它有维度纽约-通过-nu.-通过-Nf-by-2-by-2。结构是这样的协方差(KY,KU,KF,:,:)是响应的2 × 2协方差矩阵吗响应(肯塔基州,ku, kf)。1-1元素是实体部分的方差,2-2元素是虚构部分的方差,1-2和2-1元素是真实和虚部之间的协方差。挤压(协方差(Ky,Ku,Kf,:,:))因此,给出了相应响应的协方差矩阵。

频谱信息的格式如下:

规格是一个三维维度纽约-通过-纽约-通过-Nf,这样规范(ky1 ky2 kf)输出时噪声之间的交叉谱是什么KY1以及输出的噪音KY2,频率FREQS(KF)。什么时候KY1 = KY2输出时噪声的(功率)谱KY1因此。对于单输出模型,规格可以作为矢量给出。

SCOMCOV.是一个三维维度纽约-通过-纽约-通过-Nf,这样Speccov(KY1,KY1,KF)是相应功率谱的方差。

要是频谱将被包装在idfrd对象,设置response = []

转换为IDFRD.

一个idfrd还可以从给定的线性识别的模型计算对象,摩擦

如果频率弗里克未指定,基于模型的动态进行默认选择摩擦

估计协方差:

  • 如果你获得摩擦通过识别,该软件计算估计的协方差idfrd对象中的不确定性信息摩擦。除了灰盒模型,该软件使用高斯近似公式进行所有模型类型的计算。对于灰盒模型(idgrey),软件应用数值微分。数值导数的步长由Nudst.

  • 如果您创建摩擦使用命令如IDS.idtf.idprocidgrey,或Idpoly.,然后软件集Covaredata[]

延迟治疗:如果摩擦包含延迟,软件分配延迟idfrd对象,H, 如下:

  • h.Inputdelay = mod.inputdelay.

  • h.iodelay = mod.iodelay + repmat(mod.outputdelay,[1,nu])

    表达方式repmat (mod.OutputDelay[1,ν])返回包含每个输入/输出对的输出延迟的矩阵。

子模型的频率响应可以通过标准子引用得到,H = IDFRD(m(2,3))h = idfrd(m(:,[])))给A.H那只是包含频谱

idfrd模型可以绘制b光谱,和奈奎斯特,它接受参数模型的混合,例如idtf.idfrd模型作为论点。注意温泉SPAFDR.,和ETFE.返回它们的估计结果为idfrd对象。

构造函数

idfrd对象表示复杂的频率响应数据。在您可以创建一个之前idfrd对象,您必须按照描述导入数据频率响应数据表示

注意

idfrd对象只能封装一个频率响应数据集。它不支持金宝appiddata.相当于多生水平数据。

使用以下语法创建数据对象fr_data.

fr_data = idfrd(响应,f,ts)

假设纽约为输出通道数,nu.是输入通道的数量,以及NF.是频率值的矢量。响应是一个纽约-通过-nu.-通过-NF.三维数组。F是包含响应频率的频率向量。Ts为采样时间,用于测量或计算频率响应。如果你用的是连续时间系统Ts0.

响应(肯塔基州,ku, kf),在哪里ky.ku.,和参考K.输出、输入和频率值分别被解释为输入的复值频率响应ku.输出ky.频率f (kf)

您可以在创建object属性时指定对象属性idfrd对象使用构造函数语法:

fr_data = idfrd(响应,f,ts,'property1',value1,...,'propertyn',valuen)

属性

idfrd对象属性包括:

Respolatedata.

频率响应数据。

“ResponseData”中属性将频率响应数据存储为三维复数数。对于SISO系统,“ResponseData”中是在指定的频率点处的频率响应值的矢量'频率'财产。用于MIMO系统ν输入和纽约输出,“ResponseData”中数组的大小是多少[ny nu nw],在哪里西北为频率点个数。

频率

频率响应数据的频率点。指定频率由此指定的单位价值施工财产。

施工

模型的频率单元。

频率矢量的单位频率属性,指定为以下值之一:

  • 'rad / mountunit'

  • '周期/时间'

  • “rad / s”

  • “赫兹”

  • “赫兹”

  • 'MHz'

  • “GHz”

  • 'rpm'

单位'rad / mountunit''周期/时间'相对于规定的时间单位TimeUnit财产。

更改此属性更改整体系统行为。利用chgfrequnit.(控制系统工具箱)在不修改系统行为的情况下在频率单位之间进行转换。

默认:'rad / mountunit'

频谱

系统输出干扰的功率谱和跨光谱(噪声)。指定频谱作为3-D阵列的复数。

指定频谱作为具有尺寸的三维阵列纽约-通过-纽约-通过-Nf。在这里,纽约是输出的数量和Nf为频率点个数。SpectrumData (ky1 ky2 kf)输出时噪声之间的交叉谱是什么KY1以及输出的噪音KY2,频率FREQS(KF)。什么时候KY1 = KY2输出时噪声的(功率)谱KY1因此。

对于单输出模型,请指定频谱作为向量。

Covaredata

响应数据协方差矩阵。

指定Covaredata作为一个有维的5维数组纽约-通过-nu.-通过-Nf-by-2-by-2。在这里,纽约nu.,和Nf是输出,输入和频率点数。CovarianceData(肯塔基州,ku, kf、::)是响应数据的2×2协方差矩阵Respolatedata(KY,KU,KF)。1-1元素是实体部分的方差,2-2元素是虚构部分的方差,1-2和2-1元素是真实和虚部之间的协方差。

挤压(协方差(Ky,Ku,Kf,:,:))

noisecovariance.

功率谱方差。

指定noisecovariance.作为具有尺寸的三维阵列纽约-通过-纽约-通过-Nf。在这里,纽约是输出的数量和Nf为频率点个数。Noisecovariance(KY1,KY1,KF)是相应功率谱的方差。从模型中消除噪声分量的影响,请指定NoiseVariance0.。零方差使得预测的输出与模拟输出相同。

报告

摘要报告,其中包含有关使用估计命令(例如温泉SPAFDR.,和ETFE.。利用报告查询估计的型号,包括其:

  • 估计方法

  • 估计选项

  • 搜索终止条件

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

内容报告如果模型是由施工创造的,则是无关紧要的。

f = logspace (1100);[mag,相位]= bode(idtf([1 .2],[1 2 1]),f);响应=杂志。* exp (1 j *期*π/ 180);m = idfrd(响应,f, 0.08);m.Report.Method
ans =''

如果您使用估计命令获得频率响应模型,字段报告包含关于评估数据、选项和结果的信息。

加载Iddata3.;m = spa (z3);m.Report.Method
ans =水疗

报告是只读属性。

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

绰号

输入intersample行为。

指定采样之间的输入信号在离散时间和连续时间之间转换时的行为。此属性对于离散时间有意义idfrd仅限型号。

绰号到以下之一:

  • 'ZOH'- 用于构建/估计频率响应数据的输入信号受到零阶保持过滤器。

  • 'foh'-输入信号采用一阶保持滤波器。

  • 'BL'- 输入信号在奈奎斯特频率上方没有电源(pi / sys.ts.rad / s)。通常使用抗混叠滤波器和采样器通过实验测量输入信号的情况。理想情况下,将数据视为连续时间。也就是说,如果用于估计频率响应的信号受到抗锯齿滤波器,则设置sys.Ts为零。

对于多输入数据,请指定绰号作为A.ν- 1个单元格阵列,其中ν是输入的数量。

Iodelay

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

对于连续时间系统,请在存储在中的时间单位中指定传输延迟TimeUnit财产。对于离散时间系统,以采样时间的整数倍指定传输延迟,Ts

用于MIMO系统纽约产出和ν输入,设置Iodelay到一个纽约-通过-ν阵列。此阵列的每个条目是一个数字值,表示相应的输入/输出对的传输延迟。你也可以设置Iodelay将相同的延迟应用到所有的输入/输出对。

默认:0.对于所有输入/输出对

inputdelay.

每个输入通道的输入延迟,指定为标量值或数字向量。对于连续时间系统,指定在时间单位存储的输入延迟TimeUnit财产。对于离散时间系统,请在图案时间的整数倍数中指定输入延迟Ts。例如,InputDelay = 3.意味着延迟三个样本时间。

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

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

默认:0.

outputdelay.

输出延迟。

对于已经确定的系统,比如idfrdoutputdelay.固定为零。

Ts

采样时间。对于连续时间模型,TS = 0.。对于离散时间模型,Ts一个正标量表示的样本时间用的单位是TimeUnit属性的模型。为表示采样时间未指定的离散时间模型,设ts = -1

更改此属性不会离散或重新确定模型。

默认:1

TimeUnit

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

  • '纳秒'

  • '微秒'

  • '毫秒'

  • '秒'

  • “分钟”

  • '小时'

  • '天'

  • '周'

  • “月”

  • “年”

更改此属性不会影响其他属性,因此会更改整个系统行为。利用chgtimeUnit.(控制系统工具箱)在不修改系统行为的情况下在时间单位之间转换。

默认:'秒'

InputName.

输入通道名称,指定为以下之一:

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

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

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

sys.InputName ='控件';

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

当您使用iddata.对象,数据,软件自动设置InputName.data.InputName

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

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

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

  • 提取MIMO系统子系统

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

默认:''对于所有输入通道

InpoinUnit.

输入通道单元,指定为以下之一:

  • 字符矢量 - 对于单输入模型,例如,'秒'

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

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

默认:''对于所有输入通道

InputGroup.

输入通道组。该InputGroup.属性允许您将MIMO Systems的输入通道分配成组,然后通过名称引用每个组。将输入组指定为结构。在此结构中,字段名称是组名,字段值是属于每个组的输入通道。例如:

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

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

SYS(:,'控件')

默认:没有字段的结构

outputName.

输出通道名称,指定为以下之一:

  • 字符矢量 - 用于单输出模型。例如,'测量'

  • 字符向量单元阵列 - 用于多输出模型。

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

sys.outputname ='测量';

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

当您使用iddata.对象,数据,软件自动设置outputName.data.outputname.

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

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

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

  • 提取MIMO系统子系统

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

默认:''所有输出通道

OutputUnit.

输出通道单元,指定为以下之一:

  • 字符矢量 - 用于单输出模型。例如,'秒'

  • 字符向量单元阵列 - 用于多输出模型。

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

默认:''所有输出通道

产量组

输出通道组。该产量组属性允许您将MIMO系统的输出通道分配到组中,并按名称引用每个组。将输出组指定为结构。在这个结构中,字段名是组名,字段值是属于每个组的输出通道。例如:

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

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

系统(“测量”,:)

默认:没有字段的结构

的名字

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

默认:''

笔记

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

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

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

用户数据

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

默认:[]

SamplingGrid

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

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

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

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

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

在哪里sys是一个数组,其中包含分别以转速1000、5000和10000获得的三个已识别模型。

用于通过线性化模拟链接生成的模型阵列金宝app®软件填充多个参数值或操作点的模型SamplingGrid自动使用与数组中每个条目对应的变量值。例如,金宝appSimulink Control Design™命令线性化(金宝appSimulink Control Design)SLINESERIZER.(金宝appSimulink Control Design)填充SamplingGrid如此。

默认:[]

子项目

不同的渠道idfrd通过子排放来检索。

h(输出,输入)

H(2,3)因此,从输入通道3到输出信道2的响应数据,如果适用,则输出信道2的输出频谱数据也可以由其名称引用h(“权力”,{“电压”、“速度”})

水平连接

添加输入通道,

H = [H1,H2,...,HN]

创造一个idfrd模型H,有Respolatedata.包含所有输入通道H1,......,HN。输出通道香港必须是相同的,以及频率向量。频谱将被忽略。

垂直连接

添加输出通道,

H = [H1; H2; ......; HN]

创造一个idfrd模型HRespolatedata.包含所有输出通道H1,H2,...,HN。输入通道香港都必须是相同的,以及频率向量。频谱还可以为新输出附加。输出通道之间的横梁频谱H1,H2,...,HN然后设置为零。

转换为Iddata.

你可以转换一个idfrd反对频域iddata.对象

数据= IDDATA(IDFRDMODEL)

看到iddata.

例子

全部收缩

查看和修改属性idfrd对象,使用点表示法。

以下示例显示了如何创建一个idfrd包含100个频率响应值的对象,采样时间为0.08s并获得其属性。

创建一个idfrd目的。

f = logspace (1100);[MAG,阶段] = BODE(IDTF([1 .2],[1 2 1 1]),f);响应=杂志。* exp (1 j *期*π/ 180);FR_DATA = IDFRD(响应,F,0.08);

响应F是MATLAB工作空间浏览器中的变量,分别表示频率响应数据和频率值。

您可以使用get (fr_data)查看所有属性idfrd目的。您可以在创建时指定属性idfrd对象使用构造函数语法。例如,fr_data = idfrd(y,u,ts,'property1',value1,...,'propertyn',valuen)

使用点表示法更改现有的属性值idfrd目的。例如,更改名称idfrd目的。

fr_data。Name ='dc_converter';

如果你进口fr_data.进入系统识别应用程序,这个数据被命名DC_CONVERTER.在应用程序中,而不是变量名称fr_data.

在R2006A之前介绍