当前位置:文档之家› 哈工大系统辨识实验一教材

哈工大系统辨识实验一教材

实验1 白噪声和M序列的产生
实验报告
哈尔滨工业大学
航天学院控制科学与工程系
专业:自动化
班级:110410420
姓名:
日期:2014 年10 月12 日
1.实验题目:白噪声和M序列的产生
3、M 序列生成原理
用移位寄存器产生M 序列的简化框图如下图所示。

该图表示一个由4个双稳态触发器顺序连接而成的4级移位寄存器,它带有一个反馈通道。

当移位脉冲来到时,每级触发器的状态移到下一级触发器中,而反馈通道按模2加法规则反馈到第一级的输入端。

1、生成均匀分布随机序列
(1)利用混合同余法生成[0, 1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。

要求序列长度为1200,推荐参数为a=65539,M=2147483647,0<x 0<M 。

(2)将[0, 1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。

(3)对上述随机序列进行独立性检验。

(该部分为选作内容)
2、生成高斯白噪声
利用上一步产生的均匀分布随机序列,令n=12,生成服从N(0,1)的白噪声,序列长度为100,并绘制曲线。

3、生成M 序列
M 序列的循环周期取为63126=-=P N ,时钟节拍Sec 1=∆t ,幅度1=a ,逻辑“0”为a ,逻辑“1”为-a ,特征多项式65()F s s s =⊕。

生成M 序列的结构图如下所示。

x(j+1)=x(j);
end
x(1)=temp;
end
for i=1:Np
if(y(i)==0)
y(i)=a;
else
y(i)=-a;
end
end
figure(5)
stairs(y);
ylim([-1.5,1.5]);
7.实验结果及分析
实验1.1
程序运行计算出序列的均值:mean_r =0.4897,与理论值0.5很接近;序列的方差var_r =0.0824,与理论值1/12很接近
使用混合同余法得到生成的0-1均布随机序列如下所示:
得到的该随机序列落在10个子区间的频率曲线图如下:
从上图可以发现用混合同余法得到的随机序列平均分布性较好。

实验1.2
生成的白噪声信号如下图所示:
生成的白噪声的频率统计图如下:
从上图中,我们可以看到,生成的白噪声信号基本服从N(0,1)分布
实验1.3
生成的M序列如下图所示:
验证M序列性质:
均衡特性:m序列每一周期中 1 的个数比0 的个数多 1 个(-a和a的个数差1)测试程序:
a=sum(y==0)
b=sum(y==1)
得到结果:a =31
b =32
结论:从测试结果看每一周期中一的个数比0的个数多1个,与结论相符。

游程特性:m序列的一个周期(p=2n-1)中,游程总数为2n-1。

其中长度为k的游程个数占游程总数的1/2k=2-k,而且,在长度为k游程中,连1游程与连0 游程各占一半,其中1≤k≤(n-2)。

长为(n-1)的游程是连0 游程,长为n 的游程是连 1 游程。

测试程序:
%游程性质测试程序
zero=1;one=1;
M_zero=zeros(1,16);
M_one=zeros(1,16);
for i=1:63
if(i<=62)
if(y(i)==1)
if(y(i)~=y(i+1))
M_one(one)= M_one(one)+1;
one=one+1;
else
M_one(one)= M_one(one)+1;
end
else
if(y(i)~=y(i+1))
M_zero(zero)=M_zero(zero)+1;
zero=zero+1;
else
M_zero(zero)=M_zero(zero)+1;
end
end
else
if(y(i)==1)
if(y(i)==y(1))
one=one+1;
M_one(one)=M_one(one)+1;
end
else
if(y(i)==y(1))
zero=zero+1;
M_zero(zero)=M_zero(zero)+1;
end
end
end
end
display(M_zero);
display(M_one);
得到的M序列0,1游程结果分别如下所示:
M_zero =
1 2 1 1 1 5 4 3 1 2 1 3 2 2 1 1
M_one =
2 2 1 1 6 1 2 1 1 4 1
3 1 1 2 2
发现游程特性符合结果。

移位相加特性:m序列和它的位移序列模二相加后所得序列仍是该m序列的某个位移序列。

测试程序:
%移位相加特性验证
M1=circshift(y',3)' %将所产生的M序列向左移位3
M2=xor(y,M1) %将所产生的移位序列与原M序列模2相加
flag=0;
i=1;
while 1
if(circshift(M2',i)'==y)
flag=1;
break;
end
i=i+1;
end
display(flag) %显示标志位
display(i) %显示移位次数
实验结果如下所示:
flag = 1
i =29
说明M序列移位29次后与相加后的M序列相等。

8.结论
本次试验主要实践了混合同余法,正态分布随机数产生方法,M序列生成原理,生成均匀分布随机序列,生成高斯白噪声,生成M序列。

使用混合同余法生成了服从N(0,1)分布的随机序列,同时根据独立同分布中心极限定理,得到了高斯白噪声。

在实验1-3中使用6个移位寄存器和反馈通道生成了周期为63的M序列,同时验证了M序列的相关性质,从结果看,完全成立。

本次实验主要是对M序列和其相关性质有了更深入的了解,同时也进一步熟悉了MATLAB,收获颇多。

相关主题