频率特性的数据模型
用FRD.
创建实值或复数值频率响应数据模型,或转换动态系统模型以频响数据模型形式表示。
频率响应数据模型存储具有相应频率点的复杂频率响应数据。例如,频率响应数据模型H(JW.我),存储每个输入频率的频率响应w我,在那里我= 1,…,n.的FRD.
模型对象可以表示连续时间或离散时间下的SISO或MIMO频响数据模型。有关更多信息,请参见频率响应数据(FRD)模型.
你也可以用FRD.
创建广义频率响应数据(genfrd
)模型。
你可以获得FRD.
模型以下列方式之一。
的频率响应数据创建模型FRD.
命令。例如,您可以创建FRD.
模型采用特定频率的频响数据。
例如,请参见频率响应数据模型.
转换一个线性模型,如党卫军
模型转换为一个FRD.
通过计算模型在指定频率下的频率响应来建立模型。
例如,请参见将状态空间模型转换为频率响应数据模型.
使用离线频率响应估计工作流估计模型。这些工作流需要金宝app®控制设计™软件
有关更多信息,请参见在命令行估计频率响应(金宝app仿真软件控制设计)和使用模型线性化估计频率响应(金宝app仿真软件控制设计).
使用一个或多个名称 - 值参数设置频率响应数据模型的属性,以任何以前的输入参数组合。sys
=朋友(___,名称,价值
)
响应
- - - - - -频率响应数据频率响应数据,指定为向量或多维复数数组。
对于单输入单输出(SISO)系统,请指定在中规定的频率点处的频率响应值向量频率
.
对于MIMO系统ν
输入和纽约
输出,指定一个纽约
——- - - - - -ν
——- - - - - -Nf
数组,Nf
为频率点的个数。
对于一个S1
-…———Sn
一系列模型ν
输入和纽约
输出时,指定大小为[纽约
ν
Nf
S1
...Sn
].
例如,一个响应
的大小(纽约
,ν
,Nf
,3.
,4
表示3 × 4模型数组的响应数据。每个模型都有纽约
输出,ν
输入,Nf
频率点。
这个输入设置了ResponseData财产。
频率
- - - - - -频率点频率点对应于响应
,指定为包含Nf
点。频率
可以包含正频率和负频率。
这个输入设置了频率财产。
ts
- - - - - -样品时间样本时间,指定为标量。
输入设置Ts财产。
ltiSys
- - - - - -动态系统动态系统,指定为SISO或MIMO动态系统模型或者一组动态系统模型。你可以使用的动态系统包括:
ResponseData
- - - - - -频率响应数据频率响应数据,指定为复数的多维数组。
对于输出系统,ResponseData
是一个1
——- - - - - -1
——- - - - - -Nf
的频率响应值的数组Nf
中指定的频率点频率
财产。
对于MIMO系统ν
输入和纽约
输出,ResponseData
是一个纽约
——- - - - - -ν
——- - - - - -Nf
数组,Nf
为频率点的个数。
例如,ResponseData (kf,肯塔基州,ku)中
表示来自输入的频率响应ku.
到输出ky.
在频率频率(KF)
.
对于一个S1
-…———Sn
一系列模型ν
输入和纽约
输出,ResponseData
是一个大小为[纽约
ν
Nf
S1
...Sn
].
例如,一个ResponseData
的大小(纽约
,ν
,Nf
,3.
,4
表示3 × 4模型数组的响应数据。每个模型都有纽约
输出,ν
输入,Nf
频率点。
频率
- - - - - -频率点频率点对应于ResponseData
,指定为包含Nf
指定的单位点FrequencyUnit
.
FrequencyUnit
- - - - - -频率矢量单位“rad / TimeUnit”
(默认)|“周期/ TimeUnit”
|“rad / s”
|“赫兹”
|“赫兹”
|“兆赫”
|“GHz”
|“转”
频率矢量的单位频率
属性,指定为以下值之一:
“rad / TimeUnit”
“周期/ TimeUnit”
“rad / s”
“赫兹”
“赫兹”
“兆赫”
“GHz”
“转”
的单位“rad / TimeUnit”
和“周期/ TimeUnit”
是相对于TimeUnit
财产。
更改此属性不会重新取样或转换数据。修改属性只会改变现有数据的解释。用chgFreqUnit
将数据转换成不同的频率单位。
IODelay
- - - - - -运输延迟0
(默认)|标量|纽约
——- - - - - -ν
数组运输延误,指定为下列情形之一:
标量-为SISO系统指定传输延迟,或为MIMO系统的所有输入/输出对指定相同的传输延迟。
纽约
——- - - - - -ν
array—为MIMO系统的每个输入/输出对指定单独的传输延迟。在这里,纽约
输出的数量是和吗ν
为输入的个数。
对于连续时间系统,使用指定的时间单位指定传输延迟TimeUnit
财产。对于离散时间系统,以采样时间的整数倍指定传输延迟,Ts
.
InputDelay
- - - - - -输入延迟0
(默认)|标量|ν
1的向量每个输入通道的输入延迟,指定为如下之一:
标量-指定SISO系统的输入延迟或多输入系统的所有输入延迟。
ν
-by-1向量-为多输入系统的输入指定单独的输入延迟ν
为输入的个数。
对于连续时间系统,用指定的时间单位指定输入延迟TimeUnit
财产。对于离散时间系统,指定输入延迟为采样时间的整数倍,Ts
.
有关更多信息,请参见线性系统的时滞.
OutputDelay
- - - - - -输出延迟0
(默认)|标量|纽约
1的向量每个输出通道的输出延迟,指定为下列之一:
标量-指定SISO系统的输出延迟或多输出系统的所有输出的相同延迟。
纽约
-by-1向量-为多输出系统的输出指定单独的输出延迟,其中纽约
是输出的数量。
对于连续时间系统,用指定的时间单位指定输出延迟TimeUnit
财产。对于离散时间系统,请在示例时间的整数倍数中指定输出延迟,Ts
.
有关更多信息,请参见线性系统的时滞.
Ts
- - - - - -样品时间0
(默认)|积极的标量|-1
采样时间,指定为:
0
连续时间系统。
表示离散时间系统采样周期的正标量。指定Ts
在指定的时间单位TimeUnit
财产。
-1
用于采样时间不确定的离散时间系统。
请注意
改变Ts
不离散或重新取样模型。
TimeUnit
- - - - - -时间变量的单位“秒”
(默认)|“纳秒”
|微秒的
|的毫秒
|“分钟”
|“小时”
|“天”
|“周”
|“月”
|“年”
|……时间变量单位,指定为下列单位之一:
“纳秒”
微秒的
的毫秒
“秒”
“分钟”
“小时”
“天”
“周”
“月”
“年”
改变TimeUnit
对其他属性没有影响,但是改变了整个系统的行为。用chgtimeUnit.
在不改变系统行为的情况下在时间单位之间进行转换。
InputName
- - - - - -输入通道名称''
(默认)|特征向量|字符向量的单元格数组输入通道名称,指定为下列之一:
字符向量,用于单输入模型。
字符向量的单元数组,用于多输入模型。
''
,没有指定任何输入通道的名称。
或者,您可以使用自动向量展开为多输入模型分配输入名称。例如,如果sys
是一个双输入模型,输入如下:
sys。InputName =“控制”;
输入名称自动展开为{“控制(1)”,“控制”(2)}
.
您可以使用速记表示法u
参考InputName
财产。例如,sys.u
相当于sys。InputName
.
用InputName
到:
在模型显示和绘图中识别通道。
提取MIMO系统的子系统。
在连接模型时指定连接点。
InputUnit
- - - - - -输入通道单元''
(默认)|特征向量|字符向量的单元格数组输入通道单位,指定为下列单位之一:
字符向量,用于单输入模型。
字符向量的单元数组,用于多输入模型。
''
,对于任何输入通道,没有指定单位。
用InputUnit
指定输入信号单元。InputUnit
对系统行为没有影响。
InputGroup
- - - - - -输入通道组输入通道组,指定为结构。用InputGroup
将MIMO系统的输入通道分组,并按名称引用每一组。的字段名InputGroup
是组名,字段值是每个组的输入通道。例如,输入以下命令以创建名为控制
和噪音
包括输入通道1
和2
,3.
和5
,分别。
sys.inputgroup.controls = [1 2];sys.inputgroup.noise = [3 5];
然后您可以从控制
输入到所有输出使用以下。
sys (:,“控制”)
默认情况下,InputGroup
是一个没有字段的结构。
OutputName
- - - - - -输出通道名称''
(默认)|特征向量|字符向量的单元格数组输出通道名称,指定为以下任意一个:
字符向量,用于单输出模型。
字符向量的单元数组,用于多输出模型。
''
,没有指定任何输出通道的名称。
或者,您可以使用自动向量展开为多输出模型分配输出名称。例如,如果sys
是一个双输出模型,请输入以下内容。
sys。OutputName =“测量”;
输出名称自动展开为{“测量(1)”,“测量”(2)}
.
您也可以使用速记符号y
参考OutputName
财产。例如,sys.y
相当于sys。OutputName
.
用OutputName
到:
在模型显示和绘图中识别通道。
提取MIMO系统的子系统。
在连接模型时指定连接点。
OutputUnit
- - - - - -输出通道单元''
(默认)|特征向量|字符向量的单元格数组输出通道单元,指定为以下之一:
字符向量,用于单输出模型。
字符向量的单元数组,用于多输出模型。
''
,对于任何输出通道,没有指定单位。
用OutputUnit
指定输出信号单元。OutputUnit
对系统行为没有影响。
产量组
- - - - - -输出通道组输出通道组,指定为结构。用产量组
将MIMO系统的输出通道分组,并按名称引用每一组。的字段名产量组
是组名,字段值是每个组的输出通道。例如,创建名为温度
和测量
包括输出通道1
,3.
和5
,分别。
sys.OutputGroup.temperature = [1];sys.InputGroup.measurement = [3 5];
然后,您可以将子系统从所有输入中提取到测量
使用以下命令输出。
系统(“测量”:)
默认情况下,产量组
是一个没有字段的结构。
的名字
- - - - - -系统名称''
(默认)|特征向量系统名,指定为字符向量。例如,“system_1”
.
笔记
- - - - - -指定的文本{}
(默认)|特征向量|字符向量的单元格数组要与系统关联的用户指定的文本,指定为字符向量或字符向量的单元格数组。例如,系统分配的
.
用户数据
- - - - - -用户指定的数据[]
(默认)|任何MATLAB®数据类型要与系统关联的用户指定的数据,指定为任何MATLAB数据类型。
SamplingGrid
- - - - - -模型阵列的采样网格模型阵列的采样网格,指定为结构阵列。
用SamplingGrid
跟踪与模型数组中每个模型关联的变量值,包括已识别的线性时不变(IDLTI)模型数组。
将结构的字段名设置为抽样变量的名称。将字段值设置为与数组中每个模型相关联的采样变量值。所有抽样变量必须是数值标量,所有抽样值的数组必须与模型数组的维数相匹配。
例如,你可以创建一个11乘1的线性模型数组,sysarr
,通过对线性时变系统进行定时快照t = 0:10
.下面的代码使用线性模型存储时间样本。
sysarr。SamplingGrid =结构(“时间”0:10)
类似地,你可以创建一个6乘9的模型数组,米
,通过对两个变量独立抽样,ζ
和w
.以下代码映射(ζ,w)
值米
.
[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)“ζ”ζ,'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模型生成的模型阵列,软件填充金宝appSamplingGrid
自动使用数组中每个条目对应的变量值。例如,金宝appSimulink控制设计命令线性化
(金宝app仿真软件控制设计)和slLinearizer
(金宝app仿真软件控制设计)填充SamplingGrid
自动。
默认情况下,SamplingGrid
是一个没有字段的结构。
以下列表包含您可以使用的功能的代表子集FRD.
模型。一般来说,许多函数适用于动态系统模型也适用于aFRD.
对象。FRD.
模型不适用于任何时域分析功能。
chgFreqUnit |
频率响应数据模型的频率单元 |
chgtimeUnit. |
改变动态系统的时间单位 |
frdfun |
应用一个函数到一个的每个频率的频率响应值FRD. 模型对象 |
f选择 |
在FRD模型中选择频率点或范围 |
插值函数 |
插入的朋友模型 |
fcat |
沿频率维度连接FRD模型 |
疯狂 |
FRD模型的点态峰值增益 |
pidtune |
线性对象模型的PID整定算法 |
创建一个FRD.
频率响应数据的对象。
对于本例,加载为水箱模型收集的频率响应数据。
负载wtankData.mat
该数据包含为频率范围收集的频率响应数据 rad /年代 rad / s。
创建模型。
SYS = FRD(响应,频率)
SYS =频率(RAD / S)响应--------------------- 0.0010 1.562C + 01 - 1.9904i 0.0018 1.560E + 01 - 2.0947I 0.00341.513E + 01 - 3.3670I 0.0062 1.373E + 01 - 5.4306I 0.0113 1.047E + 01 - 7.5227I 0.0207 5.82990 0.03992 0.0379 2.340E + 00 - 5.6271I 0.0695 7.6271I 0.0695 7.7652S 0.0695 7.6271I 0.06990 0.0379 2.340E-0.017990-01 - 1.9295i 0.2336 7.216e-02 - 1.0648i 0.4281 2.157e-02 - 0.5834i 0.7848 6.433e-03 - 0.3188i 1.4384 1.916e-03 - 0.1740i 2.6367 5.705e-04 - 0.0950i 4.8329 1.698e-04- 0.0518I 8.8587 5.055E-05 - 0.0283I 16.2378 1.5052-05 - 0.0154I 29.7635 4.478E-06 - 0.0084I 54.0559 1.333E-06 - 0.0046I 100.0000 3.967E-07 - 0.0025i连续时间频率响应。
阴谋sys
.
波德(系统)
对于本例,考虑随机生成的响应数据和频率。
生成一个3 × 2 × 7的复杂阵列和一个频率矢量,有7个点,在0.01和100 rad/s之间。设置样本时间Ts
5秒。
Rng (0) r = randn(3,2,7)+1i*randn(3,2,7);w = logspace(2, 2、7);Ts = 5;
创建模型。
sys =朋友(r, w, Ts)
SYS =从输入1到:频率(RAD / S)输出1输出2 --------------------------- 0.01000.5377 + 0.3192i 1.8339 + 0.3129i 0.0464 -0.4336 + 1.0933i 0.3426 + 1.1093i 0.2154 0.7254 - 0.0068i -0.0631 + 1.5326i 1.0000 1.4090 - 1.0891i 1.4172 + 0.0326i 4.6416 0.4889 - 1.4916i 1.0347 - 0.7423i 21.5443 0.8884 - 0.1924I -1.1471 + 0.8886i 100.0000 0.3252 - 0.1774i -0.7549 - 从输入1到0.1961i到:频率(rad / s)输出3 ---------------------0。0100-2。2588 - 0.8649i 0.0464 3.5784 - 0.8637i 0.2154 0.7147 - 0.7697i 1.0000 0.6715 + 0.5525i 4.6416 0.7269 - 1.0616i 21.5443 -1.0689 - 0.7648i 100.0000 1.3703 + 1.4193i From input 2 to: Frequency(rad/s) output 1 output 2 ---------------- -------- -------- 0.0100 0.8622 - 0.0301i 0.3188 - 0.1649i 0.0464 2.7694 + 0.0774i -1.3499 - 1.2141i 0.2154 -0.2050 + 0.3714i -0.1241 - 0.2256i 1.0000 -1.2075 + 1.1006i 0.7172 + 1.5442i 4.6416 -0.3034 + 2.3505i 0.2939 - 0.6156i 21.5443 -0.8095 - 1.4023i -2.9443 - 1.4224i 100.0000 -1.7115 + 0.2916i -0.1022 + 0.1978i From input 2 to: Frequency(rad/s) output 3 ---------------- -------- 0.0100 -1.3077 + 0.6277i 0.0464 3.0349 - 1.1135i 0.2154 1.4897 + 1.1174i 1.0000 1.6302 + 0.0859i 4.6416 -0.7873 + 0.7481i 21.5443 1.4384 + 0.4882i 100.0000 -0.2414 + 1.5877i Sample time: 5 seconds Discrete-time frequency response.
指定的数据产生两个输入,三个输出FRD.
模型。
对于本例,使用从传递函数模型继承的属性创建频率响应数据模型。
创建传递函数sys1
与TimeUnit
属性设置为“分钟”
和InputDelay
属性设置为3。
numerator1 = (2,0);denominator1 = (1 8 0);sys1 =特遣部队(numerator1 denominator1,“TimeUnit”,“分钟”,“InputDelay”3)
* --------- s^2 + 8s连续时间传递函数。
propValues1 = {sys1.TimeUnit, sys1.InputDelay}
propValues1 =1×2个单元阵列{“分钟”}{[3]}
创建一个FRD.
具有继承属性的模型sys1
.
Rng (0) response = randn(1,1,7)+1i*randn(1,1,7);w = logspace(2, 2、7);sys2 =朋友(响应,w, sys1)
sys2 = Frequency(rad/minute) Response --------------------- -------- 0.0100 0.5377 + 0.3426i 0.0464 1.8339 + 3.5784i 0.2154 -2.2588 + 2.7694i 1.0000 0.8622 - 1.3499i 4.6416 0.3188 + 3.0349i 21.5443 -1.3077 + 0.7254i 100.0000 -0.4336 - 0.0631i输入延迟(分钟):3连续时间频率响应。
propValues2 = {sys2.TimeUnit, sys2.InputDelay}
propValues2 =1×2个单元阵列{“分钟”}{[3]}
观察到这一点FRD.
模型sys2
具有相同的性质sys1
.
对于本例,加载为水箱模型收集的频率响应数据。
负载wtankData.mat
该模型有一个输入,电压,和一个输出,水高度。
创建一个FRD.
模型,指定输入和输出名称。
sys = frd(响应,频率,“InputName”,“电压”,“OutputName”,“高度”);
绘制频率响应图。
波德(系统)
输入和输出名称显示在Bode图中。在处理MIMO系统的响应图时,为输入和输出命名可能很有用。
对于本例,计算FRD.
以下国家空间模型的模型:
使用状态空间矩阵创建状态空间模型。
A = [-1 -1;1 -2];B = [1 1;2 -1];C = [1 0];D = [0 1];ltiSys = ss (A, B, C, D);
转换状态空间模型ltiSys
到一个FRD.
用于频率在0.01和100 rad/s之间的模型。
w = logspace (2, 2, 50);sys =朋友(ltiSys w);
比较频率响应。
波德(ltiSys“b”系统,“r——”)
答案是相同的。
创建数组FRD.
模型,您可以指定频率响应数据的多维数组。
例如,当您将响应数据指定为大小为[纽约
ν
NF
S1
...Sn
时,函数返回aS1
——-…——-Sn
的数组FRD.
模型。每个模型都有纽约
输出,ν
输入,NF
频率点。
在0.1和10 rad/s之间的10个频率点上生成一个2 × 3的随机响应数据阵列,具有一个输出,两个输入模型。
10 w = logspace (1, 1);r = randn(1、2、10 2 3)+ 1我* randn(1、2、10、2、3);sys =朋友(r, w);
从模型数组中提取索引(2,1)处的模型。
sys21 =系统(:,:2 1)
SYS21 =从输入1到:频率(RAD / S)输出1 --------------------- 0.1000 0.6715 + 0.0229i 0.1668 0.7172 - 1.7502I 0.27830.4889 - 0.8314i 0.4642 0.7743 0.7743 0.2939 - 2.0026I 1.2915 0.8884 + 0.5201I 2.1544 -1.0689 - 0.03488 3.5938 -2.9443 + 1.01871 -2.9443 + 1.0187I 5.9948 0.3252 - 0.7145I 10.0000 1.3703 - 0.2248 - 从输入2到:频率(rad /s)输出1 --------------------- 0.1000 -1.2075 - 0.2620I 0.1668 1.6302 - 0.2857I 0.2783 1.0347 - 0.9792I 0.4642 -0.3034 - 0.5336I 0.4642 -0.3034 - 0.5336i0.7743 -0.7873 + 0.9642I 1.2915 -1.1471 - 0.0200i 2.1544 -0.8095 - 0.7982I 3.5938 1.4384 - 0.1332I 5.9948 -0.7549 + 1.3514I 10.0000 -1.7115 - 0.5890I连续时间频率响应。
你可以在一个frd对象中指定负频率值。当您希望捕获具有复杂系数的模型的频率响应数据时,此功能非常有用。
创建一个具有正负值的频率矢量。
w0 =排序([-logspace (2, 2, 50) 0 logspace (2, 2, 50)]);
创建一个具有复杂系数的状态空间模型。
一个=[-3.50,-1.25 - -0.25;2、0];B = (1, 0);C = (-0.75 - -0.5, 0.625 - -0.125);D = 0.5;Gc = ss (A, B, C, D);
将模型转换为指定频率的FRD模型。
sys =朋友(Gc, w0);
绘制模型的频率响应图。
波德(Gc,“b”系统,“r——”)
情节反应非常吻合。该图显示了复系数模型的两个分支,一个为正频率,有一个右箭头,另一个为负频率,有一个左箭头。在两个分支中,箭头表示频率增加的方向。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。