的朋友

创建频率响应数据模型,转换为频率响应数据模型

语法

sys =朋友(响应、频率)
sys =朋友(响应、频率、Ts)
sys =的朋友
sysfrd =朋友(sys、频率)
sysfrd =朋友(sys、频率、单位)

描述

sys =朋友(响应、频率)创建频率响应数据(的朋友)模型对象sys从多维数组中存储的频率响应数据响应。向量频率表示频率响应数据的底层频率。看到FRD模型中参数响应的数据格式获取响应数据格式列表。

sys =朋友(响应、频率、Ts)创建一个离散时间的朋友模型对象sys对于标量采样时间Ts。集Ts= -1创建一个离散时间的朋友不指定示例时间的建模对象。

sys =的朋友创建一个空的朋友模型对象。

这些语法的输入参数列表后面可以跟表单的属性名/属性值对

PropertyName, PropertyValue

您可以使用这些额外的参数来设置模型的各种属性。有关的可用属性的更多信息的朋友模型,看到属性

强制FRD模型sys从任何现有LTI模型继承其所有通用LTI属性refsys,使用语法

sys =朋友(响应、频率、ltisys)

sysfrd =朋友(sys、频率)转换动态系统模型sys以频响数据表。频率响应按矢量提供的频率计算频率,在rad / TimeUnit,在那里TimeUnit输入动态系统的时间单位是否在TimeUnit的属性sys

sysfrd =朋友(sys、频率、单位)将动态系统模型转换为的朋友模型和解释频率频率向量的单位单位。的值列表单位可以拿,看到了吗FrequencyUnit财产属性

参数

当您指定一个SISO或MIMO FRD模型,或一个FRD模型数组时,输入参数频率总是长度向量吗Nf,在那里Nf是FRD中频率数据点的个数。输入参数的指定响应摘要如下表所示。

FRD模型中参数响应的数据格式

模型形式

响应数据格式

输出模型

向量的长度Nf响应(我)频率响应在这个频率吗频率(我)

再分配模型纽约输出和ν输入

纽约——- - - - - -ν——- - - - - -Nf多维数组响应(i, j, k)指定来自输入的频率响应j输出在频率频率(k)

S1——- - - - - -——- - - - - -Sn模型数组纽约输出和ν输入

大小多维数组[纽约νS1Sn)响应(i, j, k,:)指定输入频率响应数据的数组j输出在频率频率(k)

属性

的朋友对象具有以下属性:

频率

频率响应数据的频率点。指定频率方法指定的单元中的值FrequencyUnit财产。

FrequencyUnit

频率单位的模型。

FrequencyUnit的频率向量的单位频率财产。集FrequencyUnit以下值之一:

  • “rad / TimeUnit”

  • “周期/ TimeUnit”

  • “rad / s”

  • “赫兹”

  • “赫兹”

  • “兆赫”

  • “GHz”

  • “转”

的单位“rad / TimeUnit”“周期/ TimeUnit”是否相对于?中指定的时间单位TimeUnit财产。

更改此属性将更改整个系统行为。使用chgFreqUnit在不改变系统行为的情况下在频率单位之间进行转换。

默认值:“rad / TimeUnit”

ResponseData

频率响应数据。

“ResponseData”中属性将频率响应数据存储为复数的三维数组。对于输出系统,“ResponseData”中中指定的频率点处的频率响应值的向量“频率”财产。用于多输入多输出系统ν输入和纽约输出,“ResponseData”中是一个大小数组吗(纽约ν西北),在那里西北是频率点的个数。

IODelay

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

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

对于一个多输入多输出系统纽约输出和ν输入,设置IODelay到一个纽约——- - - - - -ν数组中。该数组的每个条目都是一个数值,表示相应输入/输出对的传输延迟。你也可以设置IODelay将相同的延迟应用于所有输入/输出对。

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

InputDelay

每个输入通道的输入延迟,指定为标量值或数字向量。对于连续时间系统,请在存储在TimeUnit财产。对于离散时间系统,指定输入延迟为采样时间的整数倍Ts。例如,InputDelay = 3表示延迟三次采样。

对于一个有ν输入,设置InputDelay到一个ν1的向量。这个向量的每个条目都是一个数值,表示对应输入通道的输入延迟。

你也可以设置InputDelay将相同的延迟应用于所有通道。

默认值:0

OutputDelay

输出延迟。OutputDelay是指定每个输出通道的时间延迟的数值向量。对于连续时间系统,请在存储在TimeUnit财产。对于离散时间系统,指定采样时间整数倍的输出延迟Ts。例如,OutputDelay = 3表示三个采样周期的延迟。

对于一个有纽约输出,OutputDelay到一个纽约* 1向量,其中每个条目都是一个数值,表示对应输出通道的输出延迟。你也可以设置OutputDelay将相同的延迟应用于所有通道。

默认值:0表示所有输出通道

Ts

样品时间。对于连续时间模型,t = 0。对于离散时间模型,Ts是表示采样周期的正标量。属性指定的单元表示此值TimeUnit模型的属性。若要表示具有未指定样本时间的离散时间模型,请设置Ts = 1

更改此属性不会对模型进行离散化或重新取样。

默认值:0(持续时间)

TimeUnit

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

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

更改此属性不会影响其他属性,因此会更改整个系统行为。使用chgTimeUnit在时间单位之间转换而不改变系统行为。

默认值:“秒”

InputName

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

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

  • 单元格字符向量数组-用于多输入模型。

或者,使用自动向量展开来为多输入模型分配输入名称。例如,如果sys为双输入模型,输入:

sys.InputName= 'controls';

输入名称自动扩展到{“控制(1)”,“控制”(2)}

你可以使用简写符号u查阅InputName财产。例如,sys.u相当于sys.InputName

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

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

  • MIMO系统的子系统提取

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

默认值:所有输入通道

InputUnit

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

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

  • 单元格字符向量数组-用于多输入模型。

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

默认值:所有输入通道

InputGroup

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

sys.InputGroup。控制= [1 2]; sys.InputGroup.noise = [3 5];

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

sys(:,“控制”)

默认值:没有字段的结构体

OutputName

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

  • 字符向量-用于单输出模型。例如,“测量”

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

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

sys.OutputName= 'measurements';

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

你可以使用简写符号y查阅OutputName财产。例如,sys.y相当于sys.OutputName

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

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

  • MIMO系统的子系统提取

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

默认值:对于所有输出通道

OutputUnit

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

  • 字符向量-用于单输出模型。例如,“秒”

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

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

默认值:对于所有输出通道

OutputGroup

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

sys.OutputGroup。温度= [1]; sys.InputGroup.measurement = [3 5];

创建名为的输出组温度测量分别包含输出通道1和3、5。然后可以从所有输入提取子系统测量输出使用:

系统(“测量”,:)

默认值:没有字段的结构体

的名字

系统名,指定为字符向量。例如,“system_1”

默认值:

笔记

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

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

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

用户数据

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

默认值:[]

SamplingGrid

模型数组的采样网格,指定为数据结构。

对于通过采样一个或多个独立变量派生的模型数组,此属性跟踪与数组中每个模型关联的变量值。当您显示或绘制模型数组时,将显示此信息。使用此信息将结果追溯到独立变量。

将数据结构的字段名设置为采样变量的名称。将字段值设置为与数组中每个模型相关联的采样变量值。所有采样变量应该是数值和标量值,所有采样值的数组应该与模型数组的维度匹配。

例如,假设你创建一个11乘1的线性模型数组,sysarr,通过不时拍摄线性时变系统的快照t = 0:10。下面的代码使用线性模型存储时间样本。

sysarr。SamplingGrid =结构(“时间”0:10)

类似地,假设你创建一个6×9的模型数组,通过独立采样两个变量,ζw。下面的代码附加了(ζ,w)

[zeta,w] = ndgrid(<6个zeta>值,<9个w>值)M。SamplingGrid =结构(“ζ”ζ,' w 'w)

当您显示,数组中的每个条目都包含相应的ζw值。

(::1,- 1)(ζ= 0.3 w = 5) = 25 - - - - - - - - - - - - - - - - s ^ 2 + 3 s + 25米(:,:,2,1)(ζ= 0.35 w = 5) = 25 - - - - - - - - - - - - - - - - - s ^ 2 + 3.5 s + 25…

用于通过线性化Simulink生成的模型数组万博1manbetx®模型在多个参数值或操作点,软件填充SamplingGrid自动使用与数组中每个条目对应的变量值。例如,万博1manbetx仿真软件控制设计™命令线性化slLinearizer填充SamplingGrid以这种方式。

默认值:[]

例子

创建频率特性模型

从频率矢量和响应数据创建SISO FRD模型:

生成频率矢量和响应数据freq = logspace(1,2);resp = . 05 *(频率)。* exp(我* 2 *频率);创建一个FRD模型sys = FRD (resp,freq);

之前介绍过的R2006a