基于Matlab的m序列发生器的设计_第1页
基于Matlab的m序列发生器的设计_第2页
基于Matlab的m序列发生器的设计_第3页
基于Matlab的m序列发生器的设计_第4页
基于Matlab的m序列发生器的设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

通信工程专业"通信原理"课程设计题目基于MATLAB/Simulink的m序列发生器的设计学生薛康**1113024126陕西理工学院物理与电信工程学院专业班级通信工程专业1104班指导教师井敏英完成地点理工学院物理与电信工程学院实验2014年11月20日摘要m序列是一种典型的伪随机序列,它在扩频通信、流密码、信道编码等领域有着十分广泛的应用。本文介绍了m序列构造方法及根本性能,并利用Matlab中的Simulink仿真系统及M语言编程实现它们的产生和分析。仿真结果验证了该方法的正确性和可行性.关键词:m序列;Matlab;仿真Abstract:msequenceisatypicalpseudo-randomsequence,Ithasbeenwidelyusedinspread-spectrummunications,streamcipher,channelcoding,andotherfields.thepaperintroducesmsequenceconstructionmethodandthebasicperformance.msequenceshavebeenproducedandanalysisbySimulinkSystemandMProgrammingLanguageofMatlab.Thesimulationresultsshowcorrectnessandfeasibilityofthemethod.Keywords:mSequence;Matlab;Simulation引言伪随机噪声具有类似于随机噪声的*些统计特性,同时又能够重复产生。由于它具有随机噪声的优点,又防止了随机噪声的缺点,因此获得了日益广泛的实际实用。这种周期性数字序列称为随机序列,有时又称为随机信号和伪随机码。m序列是伪随机序列中最重要的序列中的一种,它不但具有易于产生的特点,还具有良好的自相关特性,在扩频通信中得到了广泛的应用。目录第一章设计容及要求············································1第二章m序列设计方案选择2.1方案一···················································22.2方案二···················································2第三章m序列产生和性质3.1m序列的原理、构造及产生·································33.2m序列的根本性质··········································4第四章m序列的程序代码及运行结果4.1m序列程序··················································4.2输入本原多项式产生m序列····································54.3m序列自相关函数…………6第五章程序调试及运行结果分析·····································7结论·······························································8参考文献··························································8第一章设计容及要求基于Matlab的m序列发生器的设计:基于Matlab语言编程,生成m序列,具体要求如下:1、m序列的本原多项式为:2、采用伽罗瓦型移位存放器构造3、利用Matlab编程环境求m序列的自相关函数第二章m序列设计方案选择2.1方案一编程实现m序列MATLAB编程非常简单,无需进展变量声明,可以很方便的实现m序列。方案二图2.2Simulink实现m序列Simulink实现m序列(如图2.2所示)Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、构造和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。通过比拟方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink直接搭建模块,在移位存放器较少时利用此方法极为简单,可是当移位存放器的数量增多时,要搭建则多的模块就显得很繁琐,缺乏通用性,因此本次课程设计选择方案一.第三章m序列产生和性质3.1m序列的原理、构造及产生m序列是最长线性反应移位存放器序列的简称,m序列是由带线性反应的移位存放器产生的.由n级串联的移位存放器和和反应逻辑线路可组成动态移位存放器,如果反应逻辑线路只由模2和构成,则称为线性反应移位存放器。带线性反应逻辑的移位存放器设定初始状态后,在时钟触发下,每次移位后各级存放器会发生变化。其中任何一级存放器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位存放器序列。n级线性移位存放器的如图3.1所示:输出输出图3.1n级线性移位存放器图中表示反应线的两种可能连接方式,=1表示连线接通,第n-i级输出参加反应中;=0表示连接线断开,第n-i级输出未参加反应。因此,一般形式的线性反应逻辑表达式为将等式左面的移至右面,并将代入上式,则上式可改写为定义一个与上式相对应的多项式其中*的幂次表示元素的相应位置。式称为线性反应移位存放器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(*)满足以下三个条件时,就一定能产生m序列:(1)F(*)是不可约的,即不能再分解多项式;(2)F(*)可整除,这里;(3)F(*)不能整除,这里q<p.满足上述条件的多项式称为本原多项式.这样产生m序列的充要条件就变成了如何寻找本原多项式.3.2m序列的根本性质1)均衡性.在m序列中一个周期“1”的数目比“02)m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已.例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列.3)m序列发生器中移位存放器的各种状态,除全0状态外,其他状态只在m序列中出现1次.如7位m序列中顺序出现的状态为111,110,101,010,100,001和011,然后再回到初始状态111.4)m序列发生器中,并不是任何抽头组合都能产生m序列.理论分析指出,产生的m序列数由下式决定:Φ(2n-1)/n其中Φ(*)为欧拉数(即包括1在的小于*并与它互质的正整数的个数).例如5级移位存放器产生的31位m序列只有6个.5)m序列具有良好的自相关特性,其自相关系数:从m序列的自相关系数可以看出,m序列是一个狭义伪随机码.RRa-NTcNTc0图3.2m序列信号的自相关函数-(N+1)Tc-(N-1)Tc-TcTc(N-1)Tc(N+1)Tc第四章m序列的程序代码及运行结果4.1m序列程序根据m序列的特征方程:并根据其联接多项式编写Matlab程序.输入参数为由本原多项式所决定的反应连接形式,以五阶m序列为例,其中用于产生m序列的程序代码如下:m=5an=[00001];%初始存放器的容=[00101];%为移位存放器len=length(an);%所需移位存放器的容an=[zeros(1,len-1),1];L=2^len-1;%m序列的长度m(1)=an(1);%m序列的第一个输出码元fori=2:Lan1(1:len-1)=an(2:len);an1(len)=mod(sum(.*an),2);%存放器与反应的模2和an=an1;%移位后的存放器m(i)=an(1);%新的存放器输出endstairs(m)%对m序列绘图将以上代码命名为Untitled.m运行结果见图4.14.2输入本原多项式产生m序列以5阶移位存放器为例来产生m序列,由文献可知其特征多项式为本原多项式,亦及其反应连接形式为[]=[00101];移位存放器构造为m序列m序列利用Matlab编程环境求m序列的自相关特性程序:cleara=[1101010001110111110010011000010];b=[0110101000111011111001001100001];L=length(b);N=120;*=[1:N];fork=1:Nc=*or(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(*,R);grid运行结果见图4.2图4.1m序列的输出图4.25级线性反应移位存放器产生m序列的相关特性第五章程序调试及运行结果分析通过运行结果可以看出是由0、1组成的阶梯形图形,Stairs函数功能是画阶梯形,生成一系列的m序列,成功实现了要求。在调试过程中遇到一些错误,例如:"""Subscriptindicesmusteitherberealpositiveintegersorlogicals.经过认真分析,解决了错误。结论课程设计是一个十分有价值,有意义的实践活动,把一个课题设计好不是一步到位的,是经过反复修改,不断调试的过程,其间有困难也有乐趣,使人对工程实践有一个初步的认识。本次课程设计完全实现了设计要求,利用软件实现m序列的生成,通过这次实践不但加深了对m序列的了解,而且对MATLAB编程有了很好的掌握,在不断的程序调错中提高了自己寻错的能力。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。参考文献[1]贺冰,

温馨提示

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

最新文档

评论

0/150

提交评论