之前不懂系统辨识的理论,输入信号随便用了一个阶跃信号,后来发现阶跃信号其实很菜,不足以激励起系统的全部动态特性,额,实验数据立马弱爆了。。。M序列是工程中常用的输入信号,它的性质类似于白噪声,而白噪声是理论上最好的输入信号,可见M序列的价值。下面介绍M序列的matlab产生方法,看到很多论坛产生M 序列的程序复用性不高,而matlab就提供了产生M序列的专门函数,这里尝试一下。
idinput函数
产生系统辨识常用的典型信号。
politician
格式
u = idinput(N,type,band,levels)
punchout[u,freqs] = idinput(N,'sine',band,levels,sinedata)
Nsweetie
产生的序列的长度,如果N=[N nu],则nu为输入的通道数,如果N=[P nu M],则nu指定通道数,P为周期,M*P为信号长度。默认情况下,nu=1,M=1,即一个通道,一个周期。
Type
指定产生信号的类型,可选类型如下
stairs(ms)
title('M序列')语法结构
ylim([-0.5 1.5])
好听英文名结果如下
splice同时,matlab给出如下警告
Warning: The PRBS signal delivered is the 12 first values of a full quence of length 15.
即函数的输出为周期为15(大于12的第一个2^n-1的值)PRBS信号的前12个值组成的序列。如
ms = idinput(15, 'prbs', [0 1], [0 1]);
英语四级成绩figure
2011山西高考分数线
stairs(ms)
title('M序列')
ylim([-0.5 1.5])
可以看到指定12时的序列为指定15时的序列的前面部分。
对于M>1时,水浒传人物性格
ms = idinput([12,1,2], 'prbs', [0 1], [0 1]);
坚持英文
figure
stairs(ms)
title('M序列')
ylim([-0.5 1.5])
结果如下