(2)将[0,1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。
(3)对上述随机序列进行独立性检验。
(该部分为选作内容)
2、生成高斯白噪声
利用上一步产生的均匀分布随机序列,令n=12,生成服从N(0,1)的白噪声,序列长度为100,并绘制曲线。
3、生成M序列
M序列的循环周期取为
,时钟节拍
,幅度
,逻辑“0”为a,逻辑“1”为-a,特征多项式
。
生成M序列的结构图如下所示。
要求编写Matlab程序生成该M序列,绘制该信号曲线,并分析验证M序列的性质。
5.程序框图
实验1-1
实验1-2
实验1-3
6.程序代码
%实验1-1
Xulie_Length=1200;
A=65539;
M=2147483647;
b=0;
R(Xulie_Length)=0;
X
(1)=199119;
R
(1)=X
(1)/M;
forn=1:
(Xulie_Length-1)
X(n+1)=mod((A*X(n)+b),M);
R(n+1)=X(n+1)/M;
end
figure
(1);
plot(R);title('均匀分布随机序列')
figure
(2);
hist(R);title('10个均匀子区间均匀分布随机序列柱状图')%Histogram柱状图
mean_R=mean(R)%Averageormeanvalue.平均值
var_R=var(R)%Variance.差值
---------------------------------------------------------------------------------------------------------------------
%实验1-2
clearall;
N=12;
SEQ_LENGTH=100;
G(SEQ_LENGTH)=0;
forn=1:
SEQ_LENGTH
fort=1:
N
G(n)=G(n)+R(N*(n-1)+t);
end
end
G=G-6;
figure(3);
plot(G);title('高斯白噪声')
figure(4);
hist(G);title('高斯白噪声频率统计柱状图')
---------------------------------------------------------------------------------------------------------------------
%实验1-3
clearall;
number=2^6-1;
a=1;
%手动初始化M
M
(1)=1;
M
(2)=0;
M(3)=0;
M(4)=1;
M(5)=1;
M(6)=0;
M_XuLie(number)=0;
forn=1:
number
temp=xor(M(6),M(5));
if(temp==0)
M_XuLie(n)=a;
else
M_XuLie(n)=-a;
end
M(6)=M(5);
M(5)=M(4);
M(4)=M(3);
M(3)=M
(2);
M
(2)=M
(1);
M
(1)=temp;
end
figure(5);
stairs(M_XuLie);title('M序列')%梯状图
ylim([-1.51.5]);
7.实验(shíyàn)结果及分析
1、生成(shēnɡchénɡ)均匀分布随机序列
(1)生成(shēnɡchénɡ)的0-1均布随机(suíjī)序列如下所示:
计算(jìsuàn)序列的均值和方差
程序代码:
mean_R=mean(R)
var_R=var(R)
均值和方差实际值:
mean_R=
0.4969
var_R=
0.0837
随机变量X服从均匀分布U(a,b),则均值为(a+b)/2,方差为(b-a)先平方再除以12。
[0,1]区间均值和方差理论值:
mean_R=(0+1)/2=0.5;
var_R=1/12=0.083333。
结论:
容易看到,实际(shíjì)值与理论值较接近。
(2)该随机(suíjī)序列落在10个子区间的频率(pínlǜ)曲线图如下:
结论:
从结果图可以容易看到,该序列(xùliè)的均匀性较好。
2、生成高斯(ɡāosī)白噪声
生成的白噪声如下图:
生成的白噪声的频率统计图如下:
结论:
从结果图知,生成的白噪声基本(jīběn)服从N(0,1)分布(fēnbù)。
3、生成(shēnɡchénɡ)M序列(xùliè)
生成(shēnɡchénɡ)的M序列如下(n=63):
验证(yànzhèng)M序列性质:
均衡(jūnhéng)特性:
m序列(xùliè)每一周期中1的个数比0的个数多1个(-a和a的个数差1)
测试程序:
number_a=sum(M_XuLie==a);
number_a_c=sum(M_XuLie==-a);
number_a
number_a_c
结果(jiēguǒ):
number_a=
31
number_a_c=
32
结论:
从测试结果看性质(xìngzhì)成立
游程特性:
m序列的一个周期(p=2n-1)中,游程总数为2n-1。
其中长度为k的游程个数占游程总数的1/2k=2-k,而且,在长度为k游程中,连1游程与连0游程各占一半,其中1≤k≤(n-2)。
长为(n-1)的游程是连0游程,长为n的游程是连1游程。
测试程序:
M_XuLie_Ext=[M_XuLie,-M_XuLie(end)];
run=int8(0);
test_number_a(6)=int8(0);
test_number_a_c(6)=int8(0);
forn=1:
length(M_XuLie)
run=run+1;
if(M_XuLie_Ext(n)~=M_XuLie_Ext(n+1))
if(M_XuLie_Ext(n)==a)
test_number_a(run)=test_number_a(run)+1;
else
test_number_a_c(run)=test_number_a_c(run)+1;
end
run=0;
end
end
display(test_number_a);
display(test_number_a_c);
结果:
test_number_a=
842110
test_number_a_c=
1032101
结论:
从测试结果看性质成立
移位相加特性:
m序列和它的位移序列模二相加后所得序列仍是该m序列的某个位移序列。
测试程序:
M_XuLie=M_XuLie';
M_XuLie=-0.5*(M_XuLie-1);
M_result=1;%验证成功则为1
forn=1:
(length(M_XuLie)-1)
M_XuLie_Shift=circshift(M_XuLie,n);
M_XuLie_Add=mod((M_XuLie+M_XuLie_Shift),2);
is_shift_found=0;%false
fork=0:
(length(M_XuLie)-1)
%if(isequal(circshift(M_XuLie,k),M_XuLie_Add))
if(circshift(M_XuLie,k)==M_XuLie_Add)
is_shift_found=1;
end
end
if(is_shift_found==0)
M_result=0;
end
end
display(M_result);
结果(jiēguǒ):
M_result=
1
结论(jiélùn):
从测试结果看性质成立
8.结论(jiélùn)
本次(běncì)试验主要实践了混合同余法,正态分布随机数产生方法,M序列生成原理,生成均匀分布随机序列,生成高斯白噪声,生成M序列。
使用混合同余法生成了服从N(0,1)分布的随机序列,同时根据独立同分布中心极限定理,得到了高斯(ɡāosī)白噪声。
在实验1-3中使用6个移位寄存器和反馈通道生成了周期为63的M序列,同时验证了M序列的相关性质,从结果看,完全成立。
本次实验主要是对M序列和其相关性质有了更深入的了解,同时也进一步熟悉了MATLAB,收获颇多。
内容总结
(1)
(2)该随机序列落在10个子区间的频率曲线图如下:
结论:
从结果图可以容易看到,该序列的均匀性较好
(2)2、生成高斯白噪声
生成的白噪声如下图:
生成的白噪声的频率统计图如下:
结论:
从结果图知,生成的白噪声基本服从N(0,1)分布
(3)在实验1-3中使用6个移位寄存器和反馈通道生成了周期为63的M序列,同时验证了M序列的相关性质,从结果看,完全成立