基于Matlab产生m序列_第1页
基于Matlab产生m序列_第2页
基于Matlab产生m序列_第3页
基于Matlab产生m序列_第4页
基于Matlab产生m序列_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、前言1第一章设计任务21.2 设计内容21.3 设计要求21.4 系统框图2第二章m序列的分析42 m序列的含义42 m序列产生的原理52 m序列的性质62 自相关特性7第三章m序列的设计8特征多项式确定8本原多项式的确定9m序列的发生10第四章程序调试及结果分析11m序列的仿真结果及分析12该设计的序列相关性仿真结果及分析13结论14参考文献15附录:程序代码16、乙刖百扩频通信因其具有抗干扰、抗多径衰落、抗侦察等优点在通信领域中得到广泛应用。扩频序列的设计和选择是扩频通信的关键技术,扩频序列性能的优劣在很大程度上决定了通信系统的多址干扰和符号问干扰的大小,从而直接影响到系统的性能。因此,深

2、入研究扩频序列的性质,构造设计具有良好相关性的扩频序列,来满足扩频系统的要求,是直接序列扩频系统的核心课题。白噪声是一种随机过程,它有极其优良的相关特性。但至今无法实现白噪声的放大、调制、检测、同步及控制等,而只能用类似于白噪声统计特性的伪随机序列来逼近它,并作为扩频系统的扩频码。常见的伪随机序列有m序列、GOLD序列、M序列、Walsh序列等。m序列是目前研究最为彻底的伪随机序列,m序列容易产生,有优良的自相关和互相关特性。序列是伪随机序列的一种情况。他可以在很多领域中都有重要应用。由n级移位寄存器所能产生的周期最长的序列。这种序列必须由非线性移位寄存器产生,并且周期为2n(n为移位寄存器的

3、级数)。通过对伪随机码中常用的m序列的结构和性质进行了分析,本文给出了基于MATLAB平台的m序列生成算法及代码伪随机序列分析。第一章设计任务设计内容掌握PN序列的相关知识,掌握m序列的产生原理及其在matlab中的产生方法,对特定长度的m序列,分析其性质,及其用来构造其它序列的方法;研究伪随机序列在跳频通信中的应用方法。设计要求m序列的本原多项式为:A(x)=x5+x2+1,移位寄存器结构如图1.1图1.1移位寄存器结构各寄存器初值分别为00001一,参照该移位寄存器的结构图,用Matlab语言编写程序,生成m序列。系统框图产生m序列的框图如下图1.2系统框图m序列的含义m序列是最长线性移位

4、寄存器的简称。顾名思义,m序列是由多级移位寄存器中,若N为移位寄存器的级数,n级移位寄存器共有2n个状态,除去全0状态外还剩下不2n_1种状态,因此它能产生的最大长度的码序列为2n-1位。产生m序列的线性反馈移们寄存器称作最长线性移位寄存器。产生m序列的移位寄存器的电路结构,其反馈线连接不是随意的,m序列的周期P也不能取任意值,而必须满足p=2n1,式中,n是移位寄存器的级数。m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度M=2n1,只有一个多余状态即全0状态,所以称为最大线性序列码发生器。由于其结构已定型,且反馈函数和连接形式都有一定的规律,因此利

5、用查表的方式就设计出m序列码。列出部分m序列码的反馈函数F和移存器位数n的对应关系。如果给定一个序列信号长度M,则根据M=2n-1求出n,由n查表2-1便可以得到相应的反馈函数F。表2-1反馈函数FnM=2n-1反馈函数F37q.q3q2©q3,415Q1eQ4,Q3Q4531Q2Q5,Q3出Q5663Q®Q67127Q®Q7,Q3份Q78255Q1©Q8,Q3Q89511Q4份Q9101023Q7份Q10112047Q2©Q11124095Q1Q4®Q5Q12m序列产生的原理移位寄存器的后续状态可以用当前状态及特定矩阵来表示,这个矩

6、阵是nxn阶矩阵,称为A矩阵,A矩阵的第r行对应移位寄存器第r级反馈输入状态。对于一个n级移位寄存器序列产生器,其A矩阵的第一个元素31n必定为1,否则,该序列发生器就必然退化为级数小于n的移位寄存器序列发生器。一个n级简单线性移位寄存器序列发生器,其A矩阵有如下形式ClC2C3-Cn110000A=lo1000aaaaaa-00010_n河在给定移位寄存器的初始状态后,可由A矩阵求出后续状态,即X(j)="X1(j)'X2(j)=A*(j-1)二A-X1(j-1)1X2(j-1)a11321_Xn(j-1)_3n1a123223n2anIx1(j-1)32nX2(j1)ma

7、+3nn|_Xn(j-1)_n因此,Xj(j)=EarXr(j-1),且X(jk)=Ak_X(j)r1当Ak=I单位矩阵时,有X(j+k)=X(j),即移位寄存器中的内容在第j个状态和第j+k个状态是相同的,即序列发生器从第j个状态开始,经过k次状态转移后,又回到了第j个状态,产生的序列长度就为k0因此,对于最大长度线性移位寄存器序列发生器,必然有AN=A2n,=I(2-1)对于nn阶矩阵A,若X为其特征值,则有A-xI=0,由于在二进制系统中,-1=1,A-xI=0,整理化简得(2-2)XnCXn4C2Xn”C3Xn“C»x1=0定义特征方程和特征多项式分别为(2-3)(2-4)n

8、F(x)="Crxn-r0nf(x)-CrXrr0其中Co=1,Cn=12.2m序列的性质扩展频谱通信要求扩频序列应具有较好的随机特性,而m序列既具有一定的随机特性,又具有一定的周期性,因而它是一种伪随机序列,m序列应具有移位相加特性、平衡特性和游程特性。.移位相加特性(线性叠加性)一个m序列an与其经任意次延迟移位后产生的另一个不同序列an4k模2相加,得到是仍是该m序列的延迟移位序列。例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列。.平衡特性在m序列的每个2n1周期中,“1”码元出现的数目为2n

9、二次,"0”码元出现的数目为2n1次,即“0”的个数比“1”的个数少一个。伪随机序列的平衡性是指序列中“1”的数目只比“0”的数目多1。码的平衡性由码序列中的直流分量决定。平衡性好,则载波抑制度大,从而有利扩频通信的抗干扰能力以及保密和抗侦破能力。其物理意义是不平衡码会使扩频后的信号中出现一些稳定的信号,从而易于被检测而导致保密能力的降低。.游程特性游程是指在一个序列周期中连续排列的取值相同的码元的合称,所谓的游程长度就是一个游程中码元的个数。而m序列的分布特性为.m序列的一个周期(M=2n-1)中,游程总数为2n七.当na2,且1游程长度k&企,长度为k的游程占游程总数的%

10、k,其中0游程和1游程各占一半;.长度为n-1的游程只有一个,是0游程;.长度为n的游程只有一个,是1有游程。2.3自相关特性周期为p的m序列的自相关函数为:R()A-DADA-DP(2-5)其中:A该序列与其j次移位序列一个周期中对应元素相同数目D该序列与其j次移位序列一个周期中对应元素不同数目P序列周期上式可改写为:r(t)_二ai九=0的数目gJai4T=1的数目(2-6)由移位相加特性和均衡特性,可知m序列的自相关函数为:1=0IR(w)=(1PT00(2-7)对于一个周期为p=2n1的m序列an(an取值1或0),其自相关函数如图1-5所示。由图可见,当t=0时,m序列的自相关函数R

11、&)出现峰值1;当七偏离0时,相关函数曲线很快下降;当1EiEp-1,相关函数值为-1/p;当工=p时,又出现峰值;如此周而复始。当周期P很大时,m序列的自相关函数与白噪声类似。这一特性很重要,相关检测就是利用这一特性,在有或无信号相关函数值的基础上识别信号,检测自相关函数值为1的码序列。从m序列的自相关系数可以看出,m序列是一个狭义伪随机码。知当m序列的移位值为其周期的整数倍时,其自相关值取得最大值为1,移位值取其他值时,其自相关值包为-1/p。其自相关函数如图2.1所示。R(t)1-1;11;0piR()图2.1m序列的自相关函数第三章m序列的设计3.1特征多项式确定n级线性移位寄

12、存器的如图3.1所示:1输出色图3.1n级线性移位寄存器图中G表示反馈线的两种可能连接方式,G=1表示连线接通,第n-i级输出加入反馈中;G=0表示连接线断开,第n-i级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式为:nan=C1anC2an©"L©Cna0=ZCian_L(mod2)(3-1)i1将上式左面的an移至右面,并将an=C°an(C0=1)代入上式,则上式可改写为0二£Gan,(3-2)i=0定义一个与上式相对应的多项式nF(x)=ZCiXi(3-3)i=0根据上式可以确定m序列的特征多项式:nf(x)=00+0x1+cnx

13、nCjXi(3-4)i=0f(x)的次数n表示移存器的级数。Ci取值(1或0)确定反馈线连接状态。线性移位寄存器的相继状态具有周期性,周期p<2n-1o用多项式f(x)来描述线性反馈移位寄存器的反馈连接状态。其中x的幕次表示元素的相应位置。上式称为线性反馈移位寄存器的特征多项式。本原多项式的确定特征多项式与输出序列的周期有密切关系。当f(x)满足下列三个条件时,就一定能产生m序列:f(x)是不可约的,即不能再分解多项式;f(x)可整除xp+1,这里p=2n-1;f(x)不能整除xq+1,这里q<po满足上述3个条件的多项式称为本原多项式。一个本原多项式对应一个最大长度移位m序列,只

14、要知道或找到了本原多项式,就能由它构造m序列发生器,这样产生m序列的充要条件就变成了如何寻找本原多项式。寻找本原多项式是一件繁琐的工作,计算的到的结果已列表。表3-1本原多项式系数n本原多项式的八进制系数表达式代数式27x2+x+1313x3+x+1423x4+x+1545x5+x2+161036.x+x+172117.3+,x+x+18435x8+x4+x3+x+1910219.4.x+x+110201110+3+4x十x+111400511十2十一x十x+1121012312+6+4+x+x+x+x+1表3-1给出其中部分结果,每个n只给出一个本原多项式为了使序列发生器尽量简单,常用的只有

15、3项的本原多项式表中列出的本原多项式都是项数最少的,为了简便起见,用八进制数字记载本原多项式的系数。由系数写出本原多项式非常方便。本文探讨n=5时,本多项式系数的八进制表示为45,将45写为二进制码100101,从右向左第一个1对应于C0,按系数可写出F(x)=x5+x3+1。从左向右的第一个1对应于C。,按系数可写出对应的寄存器函数匕1C2C3C440010。1m序列的发生根据m序列的特征方程:(3-5)nf(x)=c0,ex,c2x2*+cnxn-Gxii=0可知本原多项式为f(x)=x5+x2+1的5阶移位寄存器为©1C2C3C4C5.1-100101】,移位寄存器结构为图3.

16、2移位寄存器结构图初始化寄存器为I.D5D4D3D2D1I-1000011,寄存器首先左移位可知m(0)=0,这时依据图3.2可得知反馈D1=C5©C30由于为5阶寄存器,码长N=25-1=31。故要循环31次,得到所需的m序列。用Matlab仿真程序如下:functionmseq=m_sequence(fbconnection);n=length(fbconnection);N=2An-1;%m序列的长度register=zeros(1,n-1)1;%定义移位寄存器的初始状态mseq(1)=register(n);%m序列的第一个输出码元fori=2:Nnewregister(1)

17、=mod(sum(fbconnection.*register),2);%寄存器与反馈的模2和forj=2:nnewregister(j)=register(j-l);end;register=newregister;%移位后的寄存器%新的寄存器输出mseq(i)=register(n);end将以上代码命名为m_sequence.m以上可根据阶位不同而做出不同的m序列生成自相关函数程序:cleara=1101010001110111110010011000010;b=0110101000111011111001001100001;L=length(b);N=120;x=1:N;fork=1:

18、Nc=xor(a,b);D=sum(c);A=L-D;R(k)=(A-D)/(A+D);b=b(L),b(1:L-1);plot(k,R(k);holdonendplot(x,R);grid第四章程序调试及结果分析m序列的仿真结果及分析在MATLAB的commandwindow里输入clear;fbconnection=01001;m_sequence=m_sequence(fbconnection);stairs(m_sequence)%对m序歹!J绘图axis(035-0.21.2);gridon;得到图4.1所示:图4.1运行结果通过运行结果可以看出是由0、1组成的阶梯形图形,Stair

19、s函数功能是画阶梯形,生成一系列的m序列,成功实现了要求。由于m序列全为01的集合,直接的stairs绘制使得01的位置不清楚,使用stem(m_sequence)t新运行得到图42这样就明显看到m序列的位置。或者使用axis(xminxmaxyminymax);调整图形在面板中的位置。30区IFigureHo图4.2新运行图形得到m序列返回值为:m_sequence=Columns1through101000Columns11through201101Columns21through311110010110000110由以上仿真结果可以看出:对于不同的初始状态,输出序列的初始位置就不同。移位

20、寄存器的反馈逻辑决定是否产生m序列。起始状态仅仅决定序列的起始点,而不同的反馈系数产生不同的码序列。该设计的序列相关性仿真结果及分析所得自相关函数图形如图4.3回凶Figure81图4.3自相关函数由以上仿真结果可以看出:m序列的自相关系数出现在e=0处出现尖峰,并以P为周期重复出现。尖峰底宽为21;。工越小,相关峰越尖锐。周期P越大,|-1/P就越小。在这种情况下,m序列的自相关性就越好。两个长度周期相同,由不同反馈系数产生的m序列,其互相关与自相性相比没有尖锐的二值特性,是多值的。作为地址码而言,希望选择的互相关函数越小越好,这样便于区分不同的用户,或者说,抗干扰能力强。结论本文设计的题目

21、是m序列发生器的设计,文中介绍的扩频伪随机码m序列的Matlab生成源程序是基于线性反馈移位寄存器结构而编写的,更清楚的描述了m序列的生成过程中的数字逻辑。本方法应用移位寄存器理论,从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性m序列移位寄存器反馈逻辑式之间的关系。m序列是目前应用最广泛的伪随机序列,本文通过利用Matlab工具对m序列进行了生成及相关性分析,仿真结果表明,该方法是可行的。分析得出m序列具有良好的相关特性,符合伪随机序列的基本性质,用m序列可以构造出合适的扩频序列,在军事通信等领域具有广泛应用前景。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。参考文献1查光明.熊贤祚.扩频通信M.西安:西安电子科技大学出版社.19902田日才.扩频通信M.北京:清华大学出版社.2007.2006.53孙屹,李妍.MATLAB通信仿真开发手册M.北京:国防工业出版社,4王哲.伪随机序列的Matlab实现与分析J.科技创新导报.2008.235樊昌信,张甫翊,吴成柯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论