主要内容

idinput

生成支持系统辨识输入信号金宝app

描述

idinput命令生成一个输入信号为系统指定的特色。你可以使用生成的输入,模拟系统的响应研究系统行为。例如,您可以研究系统响应周期输入。系统可以是一个实际的物理系统或模型等模型金宝app®模型。你也可以设计最优实验。例如,您可以确定哪些输入信号隔离故障或非线性系统。您还可以使用idinput设计一个输入,有足够的带宽来激发你的系统的动态范围。

例子

u= idinput (N)返回一个单通道的随机二进制输入信号u的长度N。生成的信号值是1或1。

例子

u= idinput ([N,ν])返回一个ν声道输出的随机二进制输入信号,每个通道信号长度N。每个通道的信号不同于对方。

例子

u= idinput ([,ν,NumPeriod])返回一个ν声道输出周期随机指定的二进制输入信号的数量和时间。每个输入通道信号的长度NumPeriod*

例子

u= idinput (___,类型)指定类型的输入生成下列之一:

  • 苏格兰皇家银行的——随机二进制信号

  • “该公司”——随机高斯信号

  • “伪随机位序列”——伪随机二进制信号

  • 的正弦——Sum-of-sinusoids信号

使用任何以前的输入参数组合。

例子

u= idinput (___,类型,乐队)指定信号的频带。伪随机二进制信号(PRBS),乐队指定信号的时钟周期的倒数。

例子

u= idinput (___,类型,乐队,范围)指定的amplitude-range信号。

例子

(u,频率)= idinput (___正弦的,乐队,范围,SineData)指定了类型sum-of-sinusoids信号和指定的特征用来产生的正弦波信号SineData。您可以指定特征如正弦波的数量和频率间隔。正弦波的频率在返回频率

例子

全部折叠

生成一个与200个样本单通道随机二进制输入信号。

N = 200;u = idinput (N);

u200年是一个列向量的长度。中的值u要么是1或1。

创建一个iddata对象从生成的信号。对于这个示例,指定样品时间为1秒。

u = iddata ([], u, 1);

检查信号,情节。

情节(u)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。这个对象表示u。

生成的信号是一个随机二进制输入信号值1或1。您可以使用生成的输入信号来模拟系统的输出使用sim卡命令。

生成一个双通道与200个样本随机二进制输入信号。

N = 200;u = idinput ([N, 2]);

u是一个200 - 1或1 - 2矩阵的值。

创建一个iddata对象从生成的信号。对于这个示例,指定样品时间为1秒。

u = iddata ([], u, 1);

两个通道的信号,并检查信号。

情节(u)

图包含2轴对象。坐标轴对象1标题u1包含一个类型的对象。这个对象表示u。轴对象2标题u2包含一个类型的对象。这个对象表示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)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。这个对象表示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)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。这个对象表示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)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。该对象代表u2。

频内容生成的信号u2仅限于0-25赫兹。

一个伪随机二进制输入信号(PRBS)是一个确定性模拟白噪声信号的频率属性。一个伪随机位序列周期最大长度 2 n - - - - - - 1 ,整数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);标题(非周期信号的)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。这个对象表示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。

一个伪随机位序列周期最大长度 2 n - - - - - - 1 ,整数n是伪随机位序列的顺序。如果您所指定的时间不等于最大长度的伪随机位序列,生成的软件调整的周期信号获得最大长度的整数数字伪随机位序列,并发出警告。关于最大长度伪随机位序列的更多信息,请参阅伪随机二进制信号。在这个例子中,所需的时间,100年,不等于最大长度的伪随机位序列,因此,软件生成一个最大长度的伪随机位序列n =地板(log2(期))= 6。因此,伪随机位序列信号的周期是63 (= 2 6 - - - - - - 1 ),并生成信号的长度是189 (=NumPeriod* 63)。这个结果显示在生成的警告。

创建一个iddata对象从生成的信号,画出信号。指定的周期信号作为63个样本。

u1 = iddata ([], u1, 1,“时间”,63);情节(u1)标题(周期信号的)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。该对象代表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和时间 2 n - - - - - - 1 = 1 5 。最大长度伪随机位序列信息,请参阅伪随机二进制信号。软件然后延伸这个伪随机位序列,这样拉伸的周期信号 P = ( 1 / B ) ( 2 n - - - - - - 1 ) = 6 0

然而,由于这段时间小于指定的长度,100年,软件计算而不是最大长度的伪随机位序列的顺序m = n + 1 = 5。软件然后延伸这个伪随机位序列的时间是现在 P 2 = ( 1 / B ) ( 2 - - - - - - 1 ) = 1 2 4 。这个信号的软件返回第一个100样品u1。这个结果保证生成的信号是不定期但每4个样品是常数。

创建一个iddata对象从生成的信号。对于这个示例,指定样品时间为1秒。

u1 = iddata ([], u1, 1);

情节,并检查信号。

情节(u1);标题(非周期的信号的)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。该对象代表u1。

生成的信号是一个非周期的伪随机位序列长度为100。的信号保持不变至少4样品之前每个变化值。因此,信号满足中指定的时钟周期乐队

现在产生一个周期信号与100 -样本期和3期。

u2 = idinput (100, 1, 3,“伪随机位序列”、乐队、范围);
警告:PRBS信号的周期更改为60。因此,生成的信号的长度将达到180。

生成一个周期信号与指定的时钟周期,软件生成u23重复的原始信号的周期P = 60。因此,的长度u2P * NumPeriod = 60 * 3 = 180。这种变化在时间和长度生成的信号显示在生成的警告。

创建一个iddata对象从生成的信号,画出信号。指定信号的周期为60秒。

u2 = iddata ([], u2, 1,“时间”、60);情节(u2)标题(周期信号的)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。该对象代表u2。

生成的信号是一个周期伪随机位序列和一个60秒的期和3期。的信号保持不变至少4样品之前每个变化值。因此,信号满足指定的时钟周期。

你可以生成一个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 (“振幅”)

图包含一个坐标轴对象。坐标轴对象与标题单面振幅谱的u (t),包含频率(rad /小时),ylabel振幅包含一个干细胞类型的对象。

生成的图显示了10个正弦波的频率用于生成信号。例如,情节表明第一正弦波的频率为12.57 rad /小时,一样的频率(1)

生成的信号转换成一个iddata对象,并画出信号。指定样品时间为0.01小时。

u = iddata ([], u, Ts,“TimeUnit”,“小时”);情节(u)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。这个对象表示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)

图包含一个坐标轴对象。标题u1的坐标轴对象包含一个类型的对象。该对象代表u2。

信号u2生成使用12个正弦曲线和一段时间的0.5小时和3期。

输入参数

全部折叠

生成的输入数据的样本数量,指定为一个真正的正整数。单通道输入数据,生成的输入uN行。对于一个ν声道输出的输入数据,u作为一个返回N——- - - - - -ν矩阵,每个通道信号长度N

生成的信号的输入通道数量,指定为一个真正的正整数。

每个周期的样本数量生成的信号,指定为一个真正的正整数。使用这个指定一个周期信号的输入。指定的时间NumPeriod。每个输入通道信号生成的NumPeriod *时期样本。

生成的时间信号,指定为一个真正的正整数。使用这个指定一个周期信号的输入。指定的信号。每个输入通道信号生成的NumPeriod *时期样本。

生成的信号类型,指定为以下值之一:

  • 苏格兰皇家银行的——生成一个随机二进制信号。一个随机二进制信号是一个随机过程,假定只有两个值。您可以指定这些值使用范围。生成一个带限信号,指定的通频带乐队。生成一个周期信号,指定NumPeriod

  • “该公司”——生成一个随机的高斯信号。生成的高斯信号均值μ和标准差σ,μ-σ,μ+σ=范围。生成一个带限高斯信号,指定的通频带乐队。生成一个周期与高斯信号n样本期间重演次,指定作为nNumPeriod作为

  • “伪随机位序列”生成一个伪随机二进制信号(PRBS)。伪随机位序列是一个周期,确定性信号white-noise-like属性两个值之间的变化。您可以指定这两个值使用范围。您还可以指定时钟周期,最小数量的采样间隔信号的值不会改变。您指定的时钟周期的倒数乐队

    生成的信号的长度并不总是你指定的一样。长度取决于你是否需要一个周期或非周期的信号和你指定的时钟周期。有关更多信息,请参见伪随机二进制信号

  • 的正弦这是一个sum-of-sinusoids——生成一个信号。软件选择同样频率的正弦曲线分布在选择网格和分配每个随机相位正弦信号。每个正弦信号的软件然后尝试几个随机阶段并选择给最小的信号传播的阶段。信号传播的区别是信号的最小和最大值对所有样本。sum-of-sinusoids生成信号的振幅来满足范围你指定。

    您可以指定正弦波的特点,用于生成信号,如正弦波的数量和他们的频率间隔,SineData论点。

生成的信号的频率范围,指定为1×2行向量包含最小和最大频率值。

  • 如果类型“该公司”,苏格兰皇家银行的,或的正弦——指定乐队作为一个通频带[wlow whigh]。在那里,wlowwhigh上下通频带的频率,用分数表示的奈奎斯特频率。例如,生成一个输入白噪声的特点,使用乐队= [0 1]

    软件实现随机高斯信号的频率内容(“该公司”)使用idfilteighth-order巴特沃斯,非因果滤波器。生成一个随机二进制信号(苏格兰皇家银行的),软件使用相同的过滤器,然后使信号的二进制。因此,生成的随机二进制信号的频率内容可能不匹配指定的通频带。

    的正弦信号,正弦信号的频率选择同样分布在一个选择网格在指定的通频带。有关更多信息,请参见SineData参数描述。

  • 如果类型“伪随机位序列”——指定乐队作为[0 B],在那里B是信号的时钟周期的倒数。时钟周期的最小数量的采样间隔信号的值不会改变。因此,生成的信号是恒定间隔的长度1 / B样本。如果1 / B不是一个整数,软件使用吗地板(1 / B)时钟周期。

生成的输入信号范围,指定为一个双元素的行向量形式[umin, umax]

  • 如果类型苏格兰皇家银行的“伪随机位序列”——生成的信号u有值uminumax

  • 如果类型的正弦——生成的信号u之间有值uminumax

  • 如果类型“该公司”——生成高斯信号均值μ和标准差σ,这样uminumax分别等于μ-σ和μ+σ。例如,范围= [1]返回一个零均值和方差的高斯白噪声信号。

描述用于生成sum-of-sinusoids信号的正弦曲线,指定为一个三元素行向量[NumSinusoids, NumTrials GridSkip]。在那里,

  • NumSinusoids是正弦曲线的数量用于生成信号。默认值是10

  • NumTrials是许多不同的随机相关阶段的正弦曲线的软件试图找到最低的信号传播。信号传播的区别是信号的最小和最大值对所有样本。

    的最大振幅sum-of-sinusoids信号取决于不同的正弦曲线的相对阶段。找到给最小的信号传播的阶段,软件尝试NumTrials不同随机选择的阶段来找到最好的相位值。例如,假设NumSinusoids20.NumTrials5。软件尝试5组不同的相对阶段20正弦曲线,并选择给最小的信号传播的阶段。的默认值NumTrials10

  • GridSkip用于描述正弦信号的频率。软件选择的频率正弦信号的交叉频率电网2 *π* [1:GridSkip:修复(周期/ 2)]/和通带π*(乐队乐队(1)(2))。多路输入信号,软件使用不同频率的频率网格生成不同的输入通道。您可以使用GridSkip奇数和偶数控制频率倍数,例如,检测不同类型的非线性。

    提取频率频率所选择的软件生成信号,使用以下语法。

    (u,频率)= idinput (__)

输出参数

全部折叠

生成的输入信号,返回一个列向量的长度N单通道输入或一个N——- - - - - -ν矩阵的ν路信号。你使用生成的信号模拟系统的响应sim卡

您可以创建一个iddata对象从u通过指定输出数据[]

u = iddata ([], u);

iddata对象,您还可以指定信号的属性,如样品时间,输入名称,和周期性。

用于sum-of-sinusoids频率的正弦波信号,返回一个列向量的长度等于正弦信号的数量,NumSinusoids。你指定NumSinusoidsSineData论点。频率值比例假设样本时间是1单位。检索的实际频率值除以样本。例如,看到的生成一个Sum-of-Sinusoids信号

多路输入信号,频率是一个ν——- - - - - -NumSinusoids矩阵的k行包含相对应的频率k通道。信息软件选择的频率,如何看SineData参数描述。

更多关于

全部折叠

伪随机二进制信号

伪随机二进制信号(PRBS)是周期性的,确定性信号white-noise-like属性两个值之间的变化。

生成一个伪随机位序列为:

u ( t ) = r e ( 一个 1 u ( t 1 ) + + 一个 n u ( t n ) , 2 )

在这里, u ( t 1 ) , u ( t n ) 是过去的输入向量,n是伪随机位序列顺序,快速眼动表示剩余的时 ( 一个 1 u ( t 1 ) + 一个 n u ( t n ) ) 是除以2。因此,一个伪随机位序列只能用0和1的值。根据软件规模这些值范围你指定。此外,过去的输入向量 u ( t 1 ) , u ( t n ) 只能采取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。因此,的长度uP * 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。因此,的长度uP * NumPeriod

例如,看到的生成伪随机二进制输入信号与指定的时钟周期

引用

[1]Soderstrom、t和p .斯托伊卡。,C5.3章系统识别,普伦蒂斯霍尔出版社,1989。

[2]Ljung, L。,Section 13.3 in为用户系统标识:理论普伦蒂斯霍尔PTR, 1999。

版本历史

之前介绍过的R2006a