哈工大系统辨识实验一.docx
《哈工大系统辨识实验一.docx》由会员分享,可在线阅读,更多相关《哈工大系统辨识实验一.docx(12页珍藏版)》请在冰豆网上搜索。
哈工大系统辨识实验一
HarbinInstituteofTechnology
实验1白噪声和M序列的产生
实验报告
专业:
班级:
姓名:
日期:
一、实验目的
1、熟悉并掌握产生均匀分布随机序列方法以及进而产生高斯白噪声方法
2、熟悉并掌握M序列生成原理及仿真生成方法
二、实验原理
1、混合同余法
混合同余法是加同余法和乘同余法的混合形式,其迭代式如下:
式中a为乘子,
为种子,b为常数,M为模。
混合同余法是一种递归算法,即先提供一个种子
,逐次递归即得到一个不超过模M的整数数列。
2、正态分布随机数产生方法
由独立同分布中心极限定理有:
设随机变量
相互独立,服从同一分布,且具有数学期望和方差:
则随机变量之和
的标准化变量:
近似服从
分布。
如果
服从[0,1]均匀分布,则上式中
,
。
即
近似服从
分布。
3、M序列生成原理
用移位寄存器产生M序列的简化框图如下图所示。
该图表示一个由4个双稳态触发器顺序连接而成的4级移位寄存器,它带有一个反馈通道。
当移位脉冲来到时,每级触发器的状态移到下一级触发器中,而反馈通道按模2加法规则反馈到第一级的输入端。
三、实验内容
1、生成均匀分布随机序列
(1)利用混合同余法生成[0,1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。
要求序列长度为1200,推荐参数为a=65539,M=2147483647,0(2)将[0,1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。
(3)对上述随机序列进行独立性检验。
(该部分为选作内容)
2、生成高斯白噪声
利用上一步产生的均匀分布随机序列,令n=12,生成服从N(0,1)的白噪声,序列长度为100,并绘制曲线。
3、生成M序列
M序列的循环周期取为
,时钟节拍
,幅度
,逻辑“0”为a,逻辑“1”为-a,特征多项式
。
生成M序列的结构图如下所示。
要求编写Matlab程序生成该M序列,绘制该信号曲线,并分析验证M序列的性质。
4.实验对象或参数
1.生成均匀分布的随机序列的长度为1200,a=65539,M=2147483647,02.白噪声的序列长度为100,n=12,N(0,1)。
3.M序列的循环周期取为
,时钟节拍
,幅度
,逻辑“0”为a,逻辑“1”为-a,特征多项式
。
5.程序框图
1.生成均匀分布随机序列。
2.生成高斯白噪声。
3.生成M序列
6.程序代码
%1.1产生随机序列
clear;
clf;
closeall;
a=65539;
M=2147483647;
b=2;
x
(1)=56326;
R
(1)=x
(1)/M;
fori=2:
1200
x(i)=mod(a*x(i-1)+b,M);
R(i)=x(i)/M;
end
plot(R);
%1.2验证序列分布的均匀性
%求序列的均值
sum=0;
fori=1:
1200
sum=sum+R(i);
end
average=sum/1200;
%求序列的方差
e=0;
fori=1:
1200
e=e+(R(i)-average)^2;%求序列的方差
end
e=e/1200;
disp('方差为:
\n')
disp(e)
disp('平均值为:
\n')
disp(average)
%画序列分布频率曲线图
%因为将[0,1]区间分为10个子区间,故将序列R(i)*10,再用ceil取整,
%其整数部分即可代表一个区间,又可作为数组下标,方便储存落在每个
%区间的序列个数.
tot=zeros(10,1);
fori=1:
1200
temp=ceil(R(i)*10);%求落在每个区间的序列的个数
tot(temp)=tot(temp)+1;
end
tot=tot/1200;%求落在每个区间的序列的频率
figure;
bar(tot)
axis([0,11,0,0.15]);
%2生成高斯白噪声
y=zeros(100,1);
fori=1:
100
forj=1:
12
y(i)=y(i)+R((i-1)*12+j);
end
y(i)=y(i)-6;
end
figure;
plot(y);
%画白噪声序列分布频率曲线图
toty=zeros(100,1);
fori=1:
100
temp=ceil((y(i)+5)*10);
toty(temp)=toty(temp)+1;
end
toty=toty/100;
figure;
x=-5:
0.1:
4.9;
bar(x,toty);
%3生成M序列
X=ones(1,6);
figure
n=200;
x=zeros(1,n);
forj=1:
n
temp=xor(X(6),X(5));
fori=6:
-1:
2
X(i)=X(i-1);
end
X
(1)=temp;
x(j)=X(6);
end
x=2*x-ones(1,n);
forj=1:
n
line([j-1,j],[x(j),x(j)]);
holdon;
end
forj=1:
n-1
line([j,j],[x(j),x(j+1)])
holdon;
end
line([0,n],[0,0])
axis([0,n,-1.5,1.5]);
7.实验结果及分析
从上图可以看出生成的序列已经是均匀分布随机序列。
上图的频率分布符合正态分布,说明生成的序列是服从N(0,1)的白噪声
分析上图可以看出信号的周期为63。
8.结论
利用混合同余法生成的[0,1]区间上符合均匀分布的随机序列的均值和方差分别为0.5048和0.0857,与理论值近似相等。
将[0,1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。
由折线图可知,每个小区间内随机数的出现次数都在120次左右,分布比较均匀
生成的63位M序列如下:
111111000001000011000101001111010001110010010110111011001101010