idinput
生成支持系统辨识输入信号金宝app
语法
描述
的idinput
命令生成一个输入信号为系统指定的特色。你可以使用生成的输入,模拟系统的响应研究系统行为。例如,您可以研究系统响应周期输入。系统可以是一个实际的物理系统或模型等模型金宝app®模型。你也可以设计最优实验。例如,您可以确定哪些输入信号隔离故障或非线性系统。您还可以使用idinput
设计一个输入,有足够的带宽来激发你的系统的动态范围。
例子
随机生成一个二进制输入信号
生成一个与200个样本单通道随机二进制输入信号。
N = 200;u = idinput (N);
u
200年是一个列向量的长度。中的值u
要么是1或1。
创建一个iddata
对象从生成的信号。对于这个示例,指定样品时间为1秒。
u = iddata ([], u, 1);
检查信号,情节。
情节(u)
生成的信号是一个随机二进制输入信号值1或1。您可以使用生成的输入信号来模拟系统的输出使用sim卡
命令。
生成一个多通道随机二进制输入信号
生成一个双通道与200个样本随机二进制输入信号。
N = 200;u = idinput ([N, 2]);
u
是一个200 - 1或1 - 2矩阵的值。
创建一个iddata
对象从生成的信号。对于这个示例,指定样品时间为1秒。
u = iddata ([], u, 1);
两个通道的信号,并检查信号。
情节(u)
情节展示了两个生成的随机二进制信号值1或1。
周期随机生成一个二进制输入信号
生成一个单通道周期随机二进制输入信号与10样品和5期的信号。
NumChannel = 1;时间= 10;NumPeriod = 5;u = idinput ([NumChannel, NumPeriod]);
u
是一个列向量的长度50 (= * NumPeriod)时期。中的值u
要么是1或1。
创建一个iddata
对象从生成的信号。指定样品时间为1秒。
u = iddata ([], u, 1);
画出信号。
情节(u)
指定,生成的单通道周期随机二进制输入信号有一个10秒的,有5个整个周期的信号。
生成一个周期随机高斯输入信号在指定的频率范围
生成一个单通道周期随机高斯输入信号有50个样品和5期的信号。首先生成使用整个频率范围的信号,然后指定一个通频带。
NumChannel = 1;时间= 50;NumPeriod = 5;u = idinput ([NumChannel, NumPeriod],“该公司”);
u
是一个列向量的长度为250 (= * NumPeriod)时期。
创建一个iddata
对象从生成的信号,画出信号。对于这个示例,指定样品的时间为0.01秒。
u = iddata ([], u, 0.01);情节(u)
图显示u
包含一个随机的50个样本,重复5次。信号是一个零均值和方差的高斯白噪声信号。
因为样品时间是0.01秒,生成的信号有一段0.5秒。信号的频率内容横跨整个可用范围(0-50赫兹)。
指定0 25 Hz之间的通频带(=奈奎斯特频率的0.5倍)。
乐队= 0.5 [0];u2 = idinput ([NumChannel, NumPeriod],“该公司”、带);
创建一个iddata
对象,并画出信号。
u2 = iddata ([], u2, 0.01);情节(u2)
频内容生成的信号u2
仅限于0-25赫兹。
生成一个非周期的伪随机二进制输入信号
一个伪随机二进制输入信号(PRBS)是一个确定性模拟白噪声信号的频率属性。一个伪随机位序列周期最大长度 ,整数n是伪随机位序列的顺序。有关更多信息,请参见伪随机二进制信号。
指定单通道伪随机位序列值开关2和2之间。
范围= (2,2);
指定信号的时钟周期为1样本。即信号在每个时间步长值可以改变。指定PRBS信号的时钟周期乐队
= [0 B],在那里B
是所需的时钟周期的倒数。
乐队= [0 1];
生成一个非周期的伪随机位序列长度为100的样品。
u = idinput (100“伪随机位序列”、乐队、范围);
警告:伪随机位序列信号传递是100年的第一个完整的序列长度的值127。
一个伪随机位序列本身是周期性的。生成一个非周期的信号,软件生成一个最大长度的伪随机位序列长度为127,一段大于所需数量的样本,100。软件返回生成的伪随机位序列的第一个100个样本。这一行动确保生成的信号不是周期性,显示在生成的警告。
创建一个iddata
对象从生成的信号。对于这个示例,指定样品时间为1秒。
u = iddata ([], u, 1);
情节,并检查生成的信号。
情节(u);标题(非周期信号的)
生成的信号是一个非周期的伪随机位序列长度为100的开关2和2之间。
生成一个周期伪随机二进制输入信号
指定该伪随机二进制输入信号(PRBS)开关2和2之间。
范围= (2,2);
指定信号的时钟周期为1样本。即信号在每个时间步长值可以改变。指定PRBS信号的时钟周期乐队
= [0 B],在那里B
是所需的时钟周期的倒数。
乐队= [0 1];
生成一个单通道,周期伪随机位序列的100样品和3期的信号。
u1 = idinput (100, 1, 3,“伪随机位序列”、乐队、范围);
警告:伪随机位序列的周期信号改为63。因此,生成的信号的长度将达到189。
一个伪随机位序列周期最大长度
,整数n是伪随机位序列的顺序。如果您所指定的时间不等于最大长度的伪随机位序列,生成的软件调整的周期信号获得最大长度的整数数字伪随机位序列,并发出警告。关于最大长度伪随机位序列的更多信息,请参阅伪随机二进制信号。在这个例子中,所需的时间,100年,不等于最大长度的伪随机位序列,因此,软件生成一个最大长度的伪随机位序列n =地板(log2(期))= 6
。因此,伪随机位序列信号的周期是63 (=
),并生成信号的长度是189 (=NumPeriod
* 63)。这个结果显示在生成的警告。
创建一个iddata
对象从生成的信号,画出信号。指定的周期信号作为63个样本。
u1 = iddata ([], u1, 1,“时间”,63);情节(u1)标题(周期信号的)
生成的信号是一个周期伪随机位序列与三个时期。
生成伪随机二进制输入信号与指定的时钟周期
生成周期和非周期的伪随机二进制输入信号(PRBS)指定的时钟周期。
生成一个单通道伪随机位序列之间的开关2和2。指定信号的时钟周期为4个样品。即信号保持恒定的连续至少4样品才可以改变。指定PRBS信号的时钟周期乐队
= [0 B],在那里B
是所需的时钟周期的倒数。
范围= (2,2);乐队= [0]1/4;
首先生成一个非周期的长度为100的信号。
u1 = idinput (100“伪随机位序列”、乐队、范围);
警告:伪随机位序列信号传递是100年的第一个完整的序列长度的值124。
理解生成的警告,首先注意代码相当于生成单通道伪随机位序列100 -样本期和1期。
u1 = idinput([100年,1,1],“伪随机位序列”,乐队,范围);
生成的伪随机位序列信号前保持不变至少4样品值可以改变。首先满足这个需求,软件计算的顺序尽可能最小的最大长度伪随机位序列n =地板(log2(周期* B)) = 4
和时间
。最大长度伪随机位序列信息,请参阅伪随机二进制信号。软件然后延伸这个伪随机位序列,这样拉伸的周期信号
。
然而,由于这段时间小于指定的长度,100年,软件计算而不是最大长度的伪随机位序列的顺序m = n + 1 = 5
。软件然后延伸这个伪随机位序列的时间是现在
。这个信号的软件返回第一个100样品u1
。这个结果保证生成的信号是不定期但每4个样品是常数。
创建一个iddata
对象从生成的信号。对于这个示例,指定样品时间为1秒。
u1 = iddata ([], u1, 1);
情节,并检查信号。
情节(u1);标题(非周期的信号的)
生成的信号是一个非周期的伪随机位序列长度为100。的信号保持不变至少4样品之前每个变化值。因此,信号满足中指定的时钟周期乐队
。
现在产生一个周期信号与100 -样本期和3期。
u2 = idinput (100, 1, 3,“伪随机位序列”、乐队、范围);
警告:PRBS信号的周期更改为60。因此,生成的信号的长度将达到180。
生成一个周期信号与指定的时钟周期,软件生成u2
3重复的原始信号的周期P = 60
。因此,的长度u2
是P * NumPeriod = 60 * 3 = 180
。这种变化在时间和长度生成的信号显示在生成的警告。
创建一个iddata
对象从生成的信号,画出信号。指定信号的周期为60秒。
u2 = iddata ([], u2, 1,“时间”、60);情节(u2)标题(周期信号的)
生成的信号是一个周期伪随机位序列和一个60秒的期和3期。的信号保持不变至少4样品之前每个变化值。因此,信号满足指定的时钟周期。
生成一个Sum-of-Sinusoids信号
你可以生成一个sum-of-sinusoids正弦波信号使用默认的特点。另外,您配置数量的正弦波,正弦波的频率和阶段。这个例子展示了这两种方法。
指定的信号有50个样本在每一期和三期。还规定了信号幅度范围是1 - 1。
时间= 50;NumPeriod = 3;范围= [1];
指定信号的频率范围。sum-of-sinusoids信号,您指定的上下频率通带在奈奎斯特频率的分数。在这个例子中,使用整个频率范围在0和奈奎斯特频率之间。
乐队= [0 1];
首先生成正弦波信号使用默认的特点。默认情况下,软件使用10正弦波产生信号。软件分配一个随机相位正弦信号,然后更改这些阶段得到最小的信号传播的10倍。信号传播的区别是信号的最小和最大值对所有样本。
(u,频率)= idinput (1 NumPeriod][时期,的正弦、乐队、范围);
软件返回sum-of-sinusoids信号u
正弦信号的频率频率
。中的值频率
规模的假设,样品时间是1单位。假设样品时间是0.01小时。检索的实际频率在rad /小时,的值除以样本。
t = 0.01;%样本时间的小时频率=频率/ Ts;频率(1)
ans = 12.5664
频率(1)
是第一个正弦波的频率。看看软件选择的频率,看到SineData
参数的描述idinput
参考页面。
确认10正弦波被用来生成信号,您可以查看信号的频率的内容。执行信号的傅里叶变换,并画出单面振幅谱的信号。
ufft = fft (u);Fs = 2 *π/ Ts;%在rad /小时采样频率L =长度(u);w = (0: L - 1) * Fs / L;茎(w (1: L / 2), abs (ufft (1: L / 2)))%的阴谋,直到奈奎斯特频率标题(“u (t)的单面振幅谱”)包含(的频率(rad /小时))ylabel (“振幅”)
生成的图显示了10个正弦波的频率用于生成信号。例如,情节表明第一正弦波的频率为12.57 rad /小时,一样的频率(1)
。
生成的信号转换成一个iddata
对象,并画出信号。指定样品时间为0.01小时。
u = iddata ([], u, Ts,“TimeUnit”,“小时”);情节(u)
信号u
生成使用10个正弦曲线和一段时间的0.5小时和3期。
现在修改数量、频率和相位的正弦曲线用于生成sum-of-sinusoids信号。使用12正弦曲线和试着15个不同的阶段。设置频率的正弦信号,指定GridSkip
= 2。软件选择频率的正弦曲线的交点电网频率2 *π* [1:GridSkip:修复(周期/ 2)]/
和通频带π*乐队
。
NumSinusoids = 12;NumTrials = 15;GridSkip = 2;SineData = [NumSinusoids、NumTrials GridSkip];u2 = idinput (1 NumPeriod][时期,的正弦、乐队、范围、SineData);
生成的信号转换成一个iddata
对象,并画出信号。
u2 = iddata ([], u2, Ts,“TimeUnit”,“小时”);情节(u2)
信号u2
生成使用12个正弦曲线和一段时间的0.5小时和3期。
输入参数
ν
- - - - - -数量的输入通道
1
(默认)|真正的正整数
生成的信号的输入通道数量,指定为一个真正的正整数。
期
- - - - - -在每个时期的样本数量
真正的正整数
每个周期的样本数量生成的信号,指定为一个真正的正整数。使用这个指定一个周期信号的输入。指定的时间NumPeriod
。每个输入通道信号生成的NumPeriod *时期
样本。
NumPeriod
- - - - - -生成的时间信号
1
(默认)|真正的正整数
生成的时间信号,指定为一个真正的正整数。使用这个指定一个周期信号的输入。指定的信号期
。每个输入通道信号生成的NumPeriod *时期
样本。
类型
- - - - - -生成的信号的类型
苏格兰皇家银行的
(默认)|“该公司”
|“伪随机位序列”
|的正弦
生成的信号类型,指定为以下值之一:
苏格兰皇家银行的
——生成一个随机二进制信号。一个随机二进制信号是一个随机过程,假定只有两个值。您可以指定这些值使用范围
。生成一个带限信号,指定的通频带乐队
。生成一个周期信号,指定期
和NumPeriod
。“该公司”
——生成一个随机的高斯信号。生成的高斯信号均值μ和标准差σ,μ-σ,μ+σ=范围
。生成一个带限高斯信号,指定的通频带乐队
。生成一个周期与高斯信号n
样本期间重演米
次,指定期
作为n
和NumPeriod
作为米
。“伪随机位序列”
生成一个伪随机二进制信号(PRBS)。伪随机位序列是一个周期,确定性信号white-noise-like属性两个值之间的变化。您可以指定这两个值使用范围
。您还可以指定时钟周期,最小数量的采样间隔信号的值不会改变。您指定的时钟周期的倒数乐队
。生成的信号的长度并不总是你指定的一样。长度取决于你是否需要一个周期或非周期的信号和你指定的时钟周期。有关更多信息,请参见伪随机二进制信号。
的正弦
这是一个sum-of-sinusoids——生成一个信号。软件选择同样频率的正弦曲线分布在选择网格和分配每个随机相位正弦信号。每个正弦信号的软件然后尝试几个随机阶段并选择给最小的信号传播的阶段。信号传播的区别是信号的最小和最大值对所有样本。sum-of-sinusoids生成信号的振幅来满足范围
你指定。您可以指定正弦波的特点,用于生成信号,如正弦波的数量和他们的频率间隔,
SineData
论点。
乐队
- - - - - -生成的信号的频率范围
[0 1]
(默认)|1×2行向量
生成的信号的频率范围,指定为1×2行向量包含最小和最大频率值。
如果
类型
是“该公司”
,苏格兰皇家银行的
,或的正弦
——指定乐队
作为一个通频带[wlow whigh]
。在那里,wlow
和whigh
上下通频带的频率,用分数表示的奈奎斯特频率。例如,生成一个输入白噪声的特点,使用乐队= [0 1]
。软件实现随机高斯信号的频率内容(
“该公司”
)使用idfilt
eighth-order巴特沃斯,非因果滤波器。生成一个随机二进制信号(苏格兰皇家银行的
),软件使用相同的过滤器,然后使信号的二进制。因此,生成的随机二进制信号的频率内容可能不匹配指定的通频带。为
的正弦
信号,正弦信号的频率选择同样分布在一个选择网格在指定的通频带。有关更多信息,请参见SineData
参数描述。如果
类型
是“伪随机位序列”
——指定乐队
作为[0 B]
,在那里B
是信号的时钟周期的倒数。时钟周期的最小数量的采样间隔信号的值不会改变。因此,生成的信号是恒定间隔的长度1 / B
样本。如果1 / B
不是一个整数,软件使用吗地板(1 / B)
时钟周期。
范围
- - - - - -生成的输入信号范围
[1]
(默认)|双元素行向量
生成的输入信号范围,指定为一个双元素的行向量形式[umin, umax]
。
如果
类型
是苏格兰皇家银行的
或“伪随机位序列”
——生成的信号u
有值umin
或umax
。如果
类型
是的正弦
——生成的信号u
之间有值umin
和umax
。如果
类型
是“该公司”
——生成高斯信号均值μ和标准差σ,这样umin
和umax
分别等于μ-σ和μ+σ。例如,范围= [1]
返回一个零均值和方差的高斯白噪声信号。
SineData
- - - - - -正弦曲线的特征
[10 10 1]
(默认)|三元素行向量[NumSinusoids, NumTrials GridSkip]
描述用于生成sum-of-sinusoids信号的正弦曲线,指定为一个三元素行向量[NumSinusoids, NumTrials GridSkip]
。在那里,
NumSinusoids
是正弦曲线的数量用于生成信号。默认值是10
。NumTrials
是许多不同的随机相关阶段的正弦曲线的软件试图找到最低的信号传播。信号传播的区别是信号的最小和最大值对所有样本。的最大振幅sum-of-sinusoids信号取决于不同的正弦曲线的相对阶段。找到给最小的信号传播的阶段,软件尝试
NumTrials
不同随机选择的阶段来找到最好的相位值。例如,假设NumSinusoids
是20.
和NumTrials
是5
。软件尝试5组不同的相对阶段20正弦曲线,并选择给最小的信号传播的阶段。的默认值NumTrials
是10
。GridSkip
用于描述正弦信号的频率。软件选择的频率正弦信号的交叉频率电网2 *π* [1:GridSkip:修复(周期/ 2)]/
和通带π*(乐队乐队(1)(2))
。多路输入信号,软件使用不同频率的频率网格生成不同的输入通道。您可以使用GridSkip
奇数和偶数控制频率倍数,例如,检测不同类型的非线性。提取频率
频率
所选择的软件生成信号,使用以下语法。(u,频率)= idinput (__)
输出参数
频率
- - - - - -频率的正弦波
矩阵列向量|
用于sum-of-sinusoids频率的正弦波信号,返回一个列向量的长度等于正弦信号的数量,NumSinusoids
。你指定NumSinusoids
在SineData
论点。频率值比例假设样本时间是1单位。检索的实际频率值除以样本。例如,看到的生成一个Sum-of-Sinusoids信号。
多路输入信号,频率
是一个ν
——- - - - - -NumSinusoids
矩阵的k行包含相对应的频率k通道。信息软件选择的频率,如何看SineData
参数描述。
更多关于
伪随机二进制信号
伪随机二进制信号(PRBS)是周期性的,确定性信号white-noise-like属性两个值之间的变化。
生成一个伪随机位序列为:
在这里,
是过去的输入向量,n是伪随机位序列顺序,快速眼动
表示剩余的时
是除以2。因此,一个伪随机位序列只能用0和1的值。根据软件规模这些值范围
你指定。此外,过去的输入向量
只能采取2n
值。这些值,所有零的状态将被忽略,因为它将导致未来信号等于零。因此,一个伪随机位序列是一种固有的周期信号的最大周期长度2n1
。下表列出了最大长度可以不同的订单n伪随机位序列。
订单n | 最大长度的伪随机位序列(2n1 ) |
---|---|
2 | 3 |
3 | 7 |
4 | 15 |
5 | 31日 |
6 | 63年 |
7 | 127年 |
⋮ | ⋮ |
32 | 4294967295 |
请注意
软件不产生信号周期大于2321
。
由于伪随机位序列本质上是周期性的,生成的信号的长度和时间取决于您指定的时钟周期和你是否需要一个周期或非周期的信号。时钟周期的最小数量的采样间隔信号的值不会改变。你指定的时钟周期乐队
。
时钟周期= 1样本(乐队= B [0] = [0 1]
):
生成一个非周期的信号的长度
N
,(NumPeriod
= 1),软件首先计算一个周期大于最大长度伪随机位序列N
。软件然后返回第一个N
样品的伪随机位序列u
。这个动作可以确保u
不是周期性的。例如,如果N
是100,软件创建一个最大长度的伪随机位序列127(订单7),并返回第一个100样品u
。例如,看到的生成一个非周期的伪随机二进制输入信号。
生成一个周期信号(
NumPeriod
> 1),软件调整的周期信号获得最大长度的整数数字伪随机位序列。为此,软件计算伪随机位序列n =地板(log2(时期)
和时间P = 2n1
。信号u
然后生成NumPeriod
这个伪随机位序列的重复周期的信号P
。因此,的长度u
是P * NumPeriod
。例如,看到的生成一个周期伪随机二进制输入信号。
在多信道情况下,信号是最大限度地发生了变化。也就是说,不同的输入是最小化之间的重叠。这意味着
期/ NumPeriod
订单是一个上界为模型,您可以使用这样的估计信号。
时钟周期> 1样本(乐队= B [0], B < 1
):
生成的信号必须至少保持不变1 / B
样本。首先满足这个需求,软件计算的顺序尽可能最小的最大长度伪随机位序列地板(n = log2(周期* B))
和时间2n1
。软件然后伸展拉伸信号的伪随机位序列,时期P = B1(2n1)
。
生成一个非周期的信号的长度
N
,如果时间P
拉伸信号大于或等于N
第一,软件的回报N
样品的拉伸信号u
。这将确保u
非周期的但常数每1 / B
样本。注意,对于一个非周期的信号,期
等于N
。如果这段时间
P
小于N
相反,软件计算一个最大长度的伪随机位序列n2 = n + 1
。软件然后延伸这个伪随机位序列的时间是现在P2= B1(2n21)
。软件然后返回第一个N
这个信号的样本u
。生成一个周期信号,软件生成
u
作为NumPeriod
重复拉伸信号的周期P
。因此,的长度u
是P * NumPeriod
。
例如,看到的生成伪随机二进制输入信号与指定的时钟周期。
引用
[1]Soderstrom、t和p .斯托伊卡。,C5.3章系统识别,普伦蒂斯霍尔出版社,1989。
[2]Ljung, L。,Section 13.3 in为用户系统标识:理论普伦蒂斯霍尔PTR, 1999。
版本历史
之前介绍过的R2006a
MATLABコマンド
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してくださ了对いweb这类ブラウザーはMATLABコマンドをサポートしていません。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。