实验1 白噪声和M序列的产生

合集下载

m序列产生及其特性实验

m序列产生及其特性实验

湖南科技大学移动通信实验报告姓 名: 吴文建 学 号: 1208030104专业班级: 应用电子技术教育一班 实验名称: m 序列产生及其特性实验 实验目的: 掌握m 序列的特性、产生方法及其应用 实验仪器:1、pc 机一台 2、 实验原理:1、m 序列的产生 :m 序列是由带线性反馈的移存器产生的。

结构如图:a n-1a n-r...a n-3a n-2C 1C rC 3C 2...C 0输出输出为反馈移位寄存器的结构,其中an-i 为移位寄存器中每位寄存器的状态,Ci 为第i 位寄存器的反馈系数。

Ci =1表示有反馈,Ci =0表示无反馈。

一个线性反馈移位寄存器能否产生m 序列,取决于它的反馈系数Ci (例如上图的C3)。

对于m 序列,Ci 的取值必须按照一个本原多项式:∑==ni ii x C x f 0)(中的二进制系数来取值。

n 级移位寄存器可以产生的m 序列个数由下式决定:rN r )12(-Φ=其中φ(x )为欧拉函数,表示小于等于x 并与x 互质的正整数个数(包括1在内)。

表1-1-1列出了部分m 序列的反馈系数C i ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。

表1-1-1 m序列的反馈系数表m序列的级数n m序列的周期P 反馈系数Ci(八机制)3 7 134 15 235 31 45,67,756 63 103,147,1557 127 203,211,217,235,277,313,325,345,3678 255 435,453,537,543,545,551,703,7479 511 1021,1055,1131,1157,1167,117510 1023 2011,2033,2157,2443,2745,327111 2047 4005,4445,5023,5263,6211,736312 4095 10123,11417,12515,13505,14127,1505313 8192 20033,23261,24633,30741,32535,3750514 16383 42103,51761,55753,60153,71147,6740115 32765 100003,110013,120265,133663,142305m序列的具有以下性质:(1)均衡性。

白噪声的产生与测试实验

白噪声的产生与测试实验
N0 。 设产生 N=20480 长度的 (2, 2
3)正态随机随机数,从中取 1024、10240、20480 个点的功率普密度,做比较,
观察这些随机数的功率谱密度随长度的变化。实际的白噪声功率普密度不是常 数。 ⑷ 根据白噪声的特性,确定哪些随机信号属于白噪声范畴。根据分析确定 白噪声与概率分布有关系吗? ⑸ 通过编程分别确定当5个均匀分布过程、5个指数分布分别叠加时,结果 是否是高斯分布。叠加次数对结果的影响?
Sn ( f ) N0 2
其中 N 0 /2就是白噪声的均方值。 白噪声的自相关函数位:
R ( ) N0 N ( ) 白噪声的自相关函数是位于τ=0处、强度为 0 的冲击函数。 2 2
这表明白噪声在任何两个不同的瞬间的取值是不相关的。同时也意味着白噪声能
随时间无限快的变化,因为它的带宽是无限宽的。下面我们给出几种分布的白噪 声。 随机过程的几种分布 均匀分布随机信号、正态分布(高斯分布)随机信号、指数分布随机信号等。
lim
T
(5)
取20480个点时的功率谱密度和自相关函数,如下图 (1) 功率谱密度:
(2) 随机信号叠加:
4.随机信号检验:
五、实验总结
这次试验让我们对白噪声有了很大的理解,最主要是在实验过程中用到了好 久不用的matlab软件,由于好长时间不用好多的函数的功能都忘记了,而且实验 过程中用到的好多函数以前都没接触过,所以还得花好长时间去查阅相关资料。 这次试验的目的其实让我们学会是利用matlab软件对信号分析,同时加深我们 对信号和噪声参数处理的理解,锻炼我们的实践动手能力。 参考文献:
均值表达了信号变化的中心趋势,或称之为直流分量。 在 MATLAB 中,可以用 mean()函数来计算。 (1)

白噪声的产生以及Matlab仿真

白噪声的产生以及Matlab仿真

一、白噪声和有色噪声定义
1.白噪声(white noise)
系统辨识中所用到的数据通常都是含有噪声的。

从工程实际出发,这种噪声往往可以视为具有有理谱密度的平稳随机过程。

白噪声是一种最简单的随机过程,是有一系列不相关的随机变量组成的理想化随机过程。

其自相关函数为dirac函数。

2.有色噪声(colored noise)
理想的白噪声只是一种理论上的抽象,在物理上是很难实现的,现实中并不存在这样的噪声。

因而,工程实际中测量数据所包含的噪声往往是有色造势。

所谓有色噪声(或相关噪声)是指序列中没一时刻的噪声相关。

有色噪声可以看成是由白噪声序列驱动的线性环节的输出。

二、白噪声与有色噪声区别
(1)其实由定义可以看出,白噪声不同时刻是不相关的,自相关函数为脉冲函数;有色噪声则是相关的。

(2)实际测试可以通过测试功率谱来区别,白噪声的功率谱在各频率的值都比较平均,有色噪声则会有较为明显的峰值。

白噪声
功率谱。

m序列实验报告

m序列实验报告

实验报告--m序列的产生及其特性实验班级:XXXXXX学号:XXXXX姓名:XXXXXM序列的产生及其特性实验一、实验目的掌握m序列的特性、产生方法及运用二、实验内容(1)编写MATLAB程序生成并观察m序列,识别其特征(2)观察m序列的相关特性三、实验原理m序列是有n级线性移位寄存器产生的周期为2n −1的码序列,是最长线性移位寄存器序列的简称。

码分多址系统主要采用两种长度的m序列:一种是周期为215 −1的m序列,又称短PN序列;另一种是周期为242 −1的m序列,又称为长PN码序列。

m序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。

四、实验分析在实验中我选择的是n=6的级数,选择了103、147、155这三个反馈系数1:当反馈系数会Ci=(103)8=(1000011)2原理框图2: 当反馈系数会Ci=(147)8=(1100111)2原理框图3: 当反馈系数会Ci=(155)8=(1101101)2原理框图五、实验程序clearclose all;clcG=127;%使用多项式(103)8=(1000011)2产生第一个m序列sd1=[0 0 0 0 0 1];%寄存器的初始状态PN1=[];%第一个序列for j=1:GPN1=[PN1 sd1(1)];if sd1(1)==sd1(2)temp1=0;else temp1=1;endsd1(1)=sd1(2);sd1(2)=sd1(3);sd1(3)=sd1(4);sd1(4)=sd1(5);sd1(5)=sd1(6);sd1(6)=temp1;endsubplot(3,1,1)stem(PN1)title('使用生成多项式(103)8=(1000011)2产生第一个m序列')%使用生成多项式(147)8=(1100111)2产生第二个m序列sd2=[0 0 0 0 0 1];%寄存器的初始状态PN2=[];%第一个序列for j=1:GPN2=[PN2 sd2(1)];if sd2(1)==sd2(2)temp1=0;else temp1=1;endif sd2(5)==temp1temp2=0;else temp2=1;endif sd2(6)==temp2temp3=0;else temp3=1;endsd2(1)=sd2(2);sd2(2)=sd2(3);sd2(3)=sd2(4);sd2(4)=sd2(5);sd2(5)=sd2(6);sd2(6)=temp3;endsubplot(3,1,2)stem(PN2)title('使用生成多项式(147)8=(1100111)2产生第二个m序列')%使用生成多项式(155)8=(1101101)2产生第三个m序列sd3=[0 0 0 0 0 1];%寄存器的初始状态PN3=[];%第一个序列for j=1:GPN3=[PN3 sd3(1)];if sd3(1)==sd3(2)temp1=0;else temp1=1;endif sd3(4)==temp1temp2=0;else temp2=1;endif sd3(5)==temp2temp3=0;else temp3=1;endsd3(1)=sd3(2);sd3(2)=sd3(3);sd3(3)=sd3(4);sd3(4)=sd3(5);sd3(5)=sd3(6);sd3(6)=temp3;endsubplot(3,1,3)stem(PN3)title('使用生成多项式(155)8=(1101101)2产生第三个m序列')六、实验结果七、m序列的相关性质PN1 =0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1PN2 =0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1PN3 =0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 11)均衡性在m序列的一个周期中,0和1的数目基本相等,1的数目比0的数目多一个,由PN1可知总共有32个1和31个0.2)游程分布M序列中取值相同的那些相继的元素合称为一个“游程”。

代码—白噪声的产生和应用

代码—白噪声的产生和应用

1.乘同余法产生(0,1)均匀分布随机数%用乘同余法产生(0-1)均匀分布的随机序列v%也可以产生任意(a,b)均匀分布的随机序列a+v*(b-a)%初始化clc;clear;x0=1;%正奇数N=200;%递归次数,产生随机数的个数kk=8;M=2^kk;x=zeros(2*M,N);%本程序A的取值范围为[3,4*M+1],用x保存每个A对应的序列,再除M得到均匀分布随机序列v=zeros(1,N);%用于暂存一条随机序列%画出不同的A值对应的随机序列的周期图for i=1:2*MA=2*i+1;%A取奇数for k=1:N %乘同余法递推N次if k==1x(i,1)=mod(A*x0,M);elsex(i,k)=mod(A*x(i,k-1),M);endv(k)=x(i,k)/M; %将x除以M得到小于1的随机数放v中end %递推N次结束aa=find(v==min(v));%找出所有最小值的位置bb(i)=aa(2)-aa(1);%求出每个A对应的周期,序号i与A是一一对应的endi=1:2*M;figure(1)plot(2*i+1,log2(bb),'.')%A=2*i+1title('M=2^8时,不同的A值对应的随机序列的周期')xlabel('A');ylabel('log2(周期)');axis([1,2^10+10,0,7])%用矩阵显示出不同的A值对应的随机序列的周期,以便求出A与周期的关系p=1;TT=zeros(kk-2,8);%初始化,TT矩阵用于存储周期和对应的Afor j=kk-2:-1:0%所有的周期都是2的指数,且最大指数为kk-2w=find(bb==2^j);%找出周期为2^j的所有位置i%TT每一行第一个数为周期,第二个置NaN作为间隔,其余的为周期对应的A值%TT每个周期只取前6个值,不足6个的补0if(length(w)<6)TT(p,3:2+length(w))=2*w(1:length(w))+1;elseTT(p,3:8)=2*w(1:6)+1;endTT(p,1)=2^j;TT(p,2)=NaN;p=p+1;enddisplay('不同的A值对应的随机序列的周期:')TT%求当前给定A值对应的随机序列A=179;%典型值k=1:N ;v=x((A-1)/2,:)/M;figure(2)plot(k,v,'r');%画出随机序列图ylabel('随机数');title('(0-1)均匀分布的随机序列')%求当前给定A值对应的随机序列的周期T=0;for i=1:2*M;if(A==4*i-2-(-1)^i)T=2^(kk-2);elseif(A==8*i-4-(-1)^i*3)T=2^(kk-3);elseif(A==16*i-8-(-1)^i*7)T=2^(kk-4);elseif(A==32*i-16-(-1)^i*15)T=2^(kk-5);elseif(A==64*i-32-(-1)^i*31)T=2^(kk-6);elseif(A==256*i+1)%周期为1T=2^(kk-8);endendif(T==0)%即不满足以上几个条件的情况下周期为2 T=2;enddisplay('当前给定A值对应的随机序列的周期:') T%求随机序列的自相关函数[r,f]=xcorr(v,'unbiased');figure(3)%画出自相关函数图形plot(f,r)title('随机序列自相关函数')输出结果分析:不同的A值对应的随机序列的周期:T =64 NaN 3 5 11 13 19 21 …A=4*i-2-(-1)^i32 NaN 7 9 23 25 39 41 …A=8*i-4-(-1)^i*316 NaN 15 17 47 49 79 81 …A=16*i-8-(-1)^i*7 8 NaN 31 33 95 97 159 161 …A=32*i-16-(-1)^i*15 4 NaN 63 65 191 193 319 321 …A=64*i-32-(-1)^i*31 2 NaN 127 129 255 383 385 511 …1 NaN 257 513 769 1025 …A=256*i+1A=179时产生的随机序列,周期:T =642.混合同余法产生(0,1)均匀分布随机数%用混合同余法产生(0-1)均匀分布的随机序列v%也可以产生任意(a,b)均匀分布的随机序列a+v*(b-a)%初始化clcx0=1;%非负整数A=2^2+1;%典型值,n在[2,34]内取值,n越大,随机序列的波形越趋于周期三角波N=1000;%递归次数kk=8;M=2^kk;d=10;x=zeros(2^d,N);v=zeros(1,N);%画出不同的A值对应的随机序列的周期图for c=1:2^dfor k=1:N %乘同余法递推N次if k==1x(c,k)=mod(A*x0+c,M);elsex(c,k)=mod(A*x(c,k-1)+c,M);endv(k)=x(c,k)/M; %将x除以M得到小于1的随机数放v中end %递推N次结束a=find(v==min(v));b(c)=a(2)-a(1);%求出每个c对应的周期endfigure(1)plot(log2(b),'.')title('M=2^8时,不同的c对应的随机序列的周期')xlabel('c');ylabel('log2(周期)');axis([1,2^d,0,9])%用矩阵显示出不同的c值对应的随机序列的周期,以便求出c与周期的关系p=1;TT=zeros(kk,8);%初始化,TT矩阵用于存储周期和对应的cfor j=kk:-1:0%所有的周期都是2的指数,且最大指数为kkw=find(b==2^j);%找出周期为2^j的所有位置i%TT每一行第一个数为周期,第二个置NaN作为间隔,其余的为周期对应的c值%TT每个周期只取前6个值,不足6个的补0if(length(w)<6)TT(p,3:2+length(w))=w(1:length(w));elseTT(p,3:8)=w(1:6);endTT(p,1)=2^j;TT(p,2)=NaN;p=p+1;enddisplay('M=2^8时,不同的c值对应的随机序列的周期:') TT%求当前给定c值对应的随机序列c=1;k=1:N ;v=x(c,:)/M;figure(2)plot(k,v,'r');ylabel('随机数');title('(0-1)均匀分布的随机序列')%求当前给定c值对应的随机序列的周期for i=1:2^(kk-1);if(c==2*i-1)T=2^kk;elseif(c==4*i-2)T=2^(kk-1);elseif(c==8*i)T=2^(kk-2);elseif(c==16*i-12)T=2^(kk-3);elseif(c==32*i-20)T=2^(kk-4);elseif(c==64*i-36)T=2^(kk-5);elseif(c==128*i-68)T=2^(kk-6);elseif(c==256*i-132)T=2^(kk-7);elseif(c==256*i-4)T=2^(kk-8);endenddisplay('c值对应的随机序列的周期:')T%求随机序列的自相关函数%v=-1+2*v;%产生(-1,1)均匀分布随机序列[a,b]=xcorr(v,'unbiased');figure(3)%画出自相关函数图形plot(b,a)title('随机序列自相关函数')输出结果分析:M=2^8时,不同的c值对应的随机序列的周期:T =256 NaN 1 3 5 7 9 11 …c=2*i-1 128 NaN 2 6 10 14 18 22 …c=4*i-264 NaN 8 16 24 32 40 48 …c=8*i32 NaN 4 20 36 52 68 84 …c=16*i-12 16 NaN 12 44 76 108 140 172…c=32*i-20 8 NaN 28 92 156 220 284 348…c=64*i-36 4 NaN 60 188 316 444 572 700…c=128*i-68 2 NaN 124 380 636 892 …c=256*i-132 1 NaN 252 508 764 1020 …c=256*i-4当c=1时,得到的随机序列如下,周期:T =2563.统计近似抽样法产生正态分布随机数%产生均值为un,方差为Sigma的正态分布随机数%资料上的作法是错的%初始化clcN1=600;%产生正态分布随机数的个数un=0;%正态分布均值为Sigma=1;%正态分布方差为x0=1;%正奇数N2=N1+11;%递归次数,产生[0,1]均匀分布随机数的个数,每相邻12的和记作ksai kk=10;M=2^kk;A=179;%典型值,[0,1]均匀分布随机数周期为2^(kk-2)x=zeros(1,N2);a=zeros(1,N2);v=zeros(1,N1);%产生随机数for k=1:N1for i=1:N2if i==1x(1)=mod(A*x0,M);elsex(i)=mod(A*x(i-1),M);enda(i)=x(i)/M;endksai=sum(a(k:k+11));%每相邻12的和记作ksaiv(k)=un+Sigma*(ksai-6);endk=1:N1;plot(k,v,'r')title('均值为un,方差为Sigma的正态分布随机数')%求随机序列的自相关函数[a,b]=xcorr(v,'unbiased');figure(2)%画出自相关函数图形plot(b,a)title('随机序列自相关函数')输出结果分析:产生均值为0,方差为1的正态分布4.变换抽样法产生正态分布随机数clc;clear;a=rand(1,10000);%直接用函数产生(0,1)均匀分布b=rand(1,10000);c=sqrt(-2*log(a)).*cos(2*pi*b);d=sqrt(-2*log(a)).*sin(2*pi*b);figure(1)hist(c,20);%作频数直方图,表示对c分成20区间进行统计figure(2);normplot(c);%分布的正态性检验%红线是正态分布累积函数经过变换得到的,%蓝色的是数据(纵坐标基本上是概率累积,但是经过处理),%如果数据和正太分布概率累积吻合(几乎在这条直线上),就说明是正态分布。

m序列产生实验

m序列产生实验

m序列产生实验一、实验目的1、m序列产生的基本方法;2、m序列0状态消除的基本手段;二、实验仪器1、JH5001型通信原理实验箱一台;2、MaxplusII开发环境一台;3、JTAG下载电缆一根;4、CPLD下载板一块;5、微机一台;6、示波器一台;三、实验原理m序列产生电路在通信电路设计中十分重要,它广泛使用在扩频通信、信号产生、仪器仪表等等电路中。

m序列有时也称伪噪声(PN)或伪随机序列,在一段周期内其自相关性类似于随机二进制序列。

尽管伪噪声序列是确定的,但其具有很多类似随机二进制序列的性质,例如0和1的数目大致相同,将序列平移后和原序列的相关性很小。

PN序列通常由序列逻辑电路产生,一般是由一系列的两状态存储器和反馈逻辑电路构成。

二进制序列在时钟脉冲的作用下在移位寄存器中移动,不同状态的输出逻辑组合起来并反馈回第一级寄存器作为输入。

当反馈由独立的“异或”门组成(通常是这种情况),此时移位寄存器称为线性PN序列发生器。

如果线性移位寄存器在某些时刻到达零状态,它会永远保持零状态不变,因此输出相应地变为全零序列。

因为n阶反馈移位寄存器只有2n-1个非零状态,所以由n阶线性寄存器生成的PN序列不会超过2n-1个。

周期为2n-1的线性反馈寄存器产生的序列称为最大长度(ML)序列——m序列。

m 序列发生器的一般组成m 序列发生器一般组成如上图所示,它用n 级移位寄存器作为主支路,用若干级模2加法器作为各级移位寄存器的抽头形成线性反馈支路。

各抽头的系数hi 称为反馈系数,它必须按照某一个n 次本原多项式:∑==ni i i x h x h 0)(中的二进制系数来取值。

在伪序列发生模块中,可以根据本原多项式的系数,…..h 8、h 7、h 6、h 5、h 4、h 3、h 2、h 1、h 0产生m 序列,这些系数可表示8进制数(1代表相连抽头进入反馈回路,0代表该抽头不进入反馈回路),如:13、23、103、203四、 课题设计要求在输入时钟256KHz 的时钟作用下,可在外部跳线器的控制下改变产生不同的m 序列,在程序中定义的几个变量为:输入: Main_CLK :输入 256KHz 主时钟 M_Sel[1..0]:选择输出不同的m 序列当 Mode[]=0:本原多项式为13(8进制表示); 当 Mode[]=1:本原多项式为23(8进制表示); 当 Mode[]=2:本原多项式为103(8进制表示); 当 Mode[]=3:本原多项式为203(8进制表示);输出: M_Out :m 序列输出 说明:1、 M_Sel[1..0]与复接模块的m_sel0、m_sel1相连; M_Out 在测试点TPB01输出;五、 实验步骤1、将JH5001二次开发光盘内的基本程序m.tdf 及其它相关程序(在光盘的“2th\student_m ”子目录下)拷入机器内。

系统建模与辨识 产生白噪声

系统建模与辨识 产生白噪声

实验一、Matlab/Simulink上机练习一、实验内容1、系统辨识信号的产生:U=idinput(N,type,Band,levels,auxvar);2、用simulink产生Noise,Sine,PRBS,用示波器观测波形;3、产生白噪声信号,计算其平均值,方差(和功率谱);4、选一模型对象,求其阶跃响应,然后再用白噪声作输入,计算某系统输出。

二、实验结果1、idinput函数产生系统辨识常用的典型信号。

格式u = idinput(N,'sine',band,levels,sinedata)指定产生信号的类型,可选类型如下%产生高斯随机信号u1=idinput(500,'rgs')stairs(u1)title('高斯随机信号')ylim([-5 5])%产生二值随机信号u2=idinput(500,'rbs')stairs(u2)title('二值随机信号')ylim([-1.5 1.5])%产生二值伪随机信号u3=idinput(500,'prbs') stairs(u3)title('二值伪随机信号') ylim([-1.5 1.5])m=mean(u3)2、3、% 产生白噪声N=100 a=idinput(100,'prbs') stairs(a)title('白噪声N=100') ylim([-1.5 1.5])m1=mean(a)v1=var(a)结果m1 =-0.1200v1 =0.99564、。

实验1---白噪声和M序列的产生

实验1---白噪声和M序列的产生

实验1 白噪声和M序列的产生实验报告1.实验题目:白噪声和M序列的产生.实验对象或参数、生成均匀分布随机序列1)利用混合同余法生成[0, 1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。

要求序列长度为1200,推荐参数为a=655395.程序框图7.实验结果及分析1、生成均匀分布随机序列 (1)生成的0-1均布随机序列如下所示:200400600800100012000.10.20.30.40.50.60.70.80.91计算序列的均值和方差程序代码:mean_R = mean(R)var_R = var(R)均值和方差实际值:mean_R =0.4969var_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。

结论:容易看到,实际值与理论值较接近。

(2)该随机序列落在10个子区间的频率曲线图如下:结论:从结果图可以容易看到,该序列的均匀性较好。

2、生成高斯白噪声生成的白噪声如下图:-2.5-2-1.5-1-0.500.511.52生成的白噪声的频率统计图如下:0510152025结论:从结果图知,生成的白噪声基本服从N(0,1)分布。

3、生成M 序列生成的M 序列如下(n = 63):010203040506070-1.5-1-0.50.511.5验证M 序列性质:均衡特性:m 序列每一周期中 1 的个数比 0 的个数多 1 个(-a 和a 的个数差1) 测试程序:number_a = sum(M_XuLie == a);number_a_c = sum(M_XuLie == -a);number_anumber_a_c 结果:number_a =31number_a_c =32结论:从测试结果看性质成立游程特性:m 序列的一个周期(p =2n -1)中,游程总数为2n -1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

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

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

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

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

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

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

要求编写Matlab程序生成该M序列,绘制该信号曲线,并分析验证M序列的性质。

C1C2C3C4C5C6 CP
M(6)
M(5)
+
M(4)
M(3)
M(2)
M(1)
M(0)
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;
7.实验结果及分析
1、生成均匀分布随机序列 (1)生成的0-1均布随机序列如下所示:
200
400
600
800
1000
1200
00.10.2
0.30.40.50.60.70.80.91
计算序列的均值和方差 程序代码:
mean_R = mean(R) var_R = var(R)
均值和方差实际值: mean_R = 0.4969 var_R =
0.0837
均值和方差理论值: mean_R =0.5
var_R =1/12( = 0.083333)
结论:容易看到,实际值与理论值较接近。

(2)该随机序列落在10个子区间的频率曲线图如下:
结论:从结果图可以容易看到,该序列的均匀性较好。

2、生成高斯白噪声
生成的白噪声如下图:
-2.5
-2-1.5-1-0.500.511.52
生成的白噪声的频率统计图如下:
05
10
15
20
25
结论:从结果图知,生成的白噪声基本服从N(0,1)分布。

3、生成M 序列
生成的M 序列如下(n = 63)

010203040506070
-1.5
-1
-0.5
0.5
1
1.5
验证M序列性质:
均衡特性:m序列每一周期中 1 的个数比0 的个数多1 个(-a和a的个数差1)
测试程序:
number_a = sum(M_XuLie == a);
number_a_c = sum(M_XuLie == -a);
number_a
number_a_c
结果:
number_a =
31
number_a_c =
32
结论:从测试结果看性质成立
游程特性: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);
for n = 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 =
8 4 2 1 1 0
test_number_a_c =
10 3 2 1 0 1
结论:从测试结果看性质成立
移位相加特性:m序列和它的位移序列模二相加后所得序列仍是该m序列的某个位移序列。

测试程序:
M_XuLie = M_XuLie';
M_XuLie = -0.5 * (M_XuLie - 1);
M_result = 1; % 验证成功则为1
for n = 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
for k = 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);
结果:
M_result =
1
结论:从测试结果看性质成立
8.结论
本次试验主要实践了混合同余法,正态分布随机数产生方法,M序列生成原理,生成均匀分布随机序列,生成高斯白噪声,生成M序列。

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

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

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

相关文档
最新文档