基于Matlab的m序列发生器的设计

上传人:仙*** 文档编号:32876842 上传时间:2021-10-16 格式:DOC 页数:14 大小:234.02KB
返回 下载 相关 举报
基于Matlab的m序列发生器的设计_第1页
第1页 / 共14页
基于Matlab的m序列发生器的设计_第2页
第2页 / 共14页
基于Matlab的m序列发生器的设计_第3页
第3页 / 共14页
点击查看更多>>
资源描述
软件工程实践报告 题名称目: 基于Matlab的m序列发生器的设计 姓 名:专 业:班级学号: 摘要伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性. 因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,其相关函数接近白噪声的相关函数, 有随机噪声的优点,又避免了随机噪声的缺点. m序列是伪随机序列中最重要的序列中的一种 伪随机序列具有可确定性、可重复性,易于实现相关接受或匹配接受,故有很好的抗干扰性能. 因此伪随机序列在相关辩识、伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、误码测试、线形系统测量、数据加扰、信号同步等方面均有广泛的应用. m 序列是一类重要的伪随机序列,最早应用于扩频通信. 可以通过移位寄存器,利用MATLAB编程产生m序列。关键词: 伪随机序 m 序列 移位寄存器 仿真目录第一章 设计内容及要求1第二章 m序列设计方案选择2.1 方案一22.2 方案二2第三章 m序列产生和性质 3.1 m 序列的原理、结构及产生4 3.2 m序列的基本性质5第四章 m序列的程序代码及运行结果4.1 m序列程序6 4.2 输入本原多项式产生m序列6第五章 程序调试及运行结果分析8结论9参考文献10第一章 设计内容及要求基于Matlab的m序列发生器的设计 (1) 了解m序列的基本特性(游程特性) (2) 了解移位寄存器序列(3) 利用移位寄存器方法在Matlab中生成m序列第二章 m序列设计方案选择2.1 方案一编程实现m 序列MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。2.2 方案二图2.2 Simulink 实现m 序列Simulink 实现m 序列 (如图2.2所示) Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。 通过比较方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink直接搭建模块,在移位寄存器较少时利用此方法极为简单,可是当移位寄存器的数量增多时,要搭建那么多的模块就显得很繁琐,缺乏通用性,因此本次课程设计选择方案一.第三章 m序列产生和性质3.1 m 序列的原理、结构及产生m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。n级线性移位寄存器的如图3.1所示:输出 图3.1 n级线性移位寄存器图中表示反馈线的两种可能连接方式,=1表示连线接通,第n-i级输出加入反馈中;=0表示连接线断开,第n-i级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式为将等式左面的移至右面,并将代入上式,则上式可改写为定义一个与上式相对应的多项式其中x的幂次表示元素的相应位置。式称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m序列:(1) F(x)是不可约的,即不能再分解多项式;(2) F(x)可整除,这里;(3) F(x)不能整除,这里qp.满足上述条件的多项式称为本原多项式.这样产生m序列的充要条件就变成了如何寻找本原多项式.3.2 m序列的基本性质1) 均衡性. 在m 序列中一个周期内“1”的数目比“0”的数目多l 位,这表明,序列平均值很小.2) 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 序列数由下式决定:(2 n - 1) / n其中( X) 为欧拉数(即包括1 在内的小于X 并与它互质的正整数的个数) . 例如5 级移位寄存器产生的31 位m 序列只有6 个.5) m 序列具有良好的自相关特性,其自相关系数:从m 序列的自相关系数可以看出,m 序列是一个狭义伪随机码.Ra-NTc NTc 0图3.7 m序列信号的自相关函数 -(N+1)Tc -(N-1)Tc -Tc Tc (N-1)Tc (N+1)Tc 第四章 m序列的程序代码及运行结果4.1 m序列程序根据m 序列的特征方程:并根据其联接多项式编写Matlab 程序. 输入参数为由本原多项式所决定的反馈连接形式,其中用于产生m 序列的程序代码如下:function mseq=mseries(coefficients)len=length(coefficients); %所需的移位寄存器的长度L=2len-1; registers=zeros(1,len-1),1;%初始寄存器内容mseq(1)=registers(1); %m序列的第一个输出码元for i=2:Lnewregisters(1:len-1)=registers(2:len);newregisters(len)=mod(sum(coefficients.*registers),2);registers=newregisters;mseq(i)=registers(1);end将以上代码命名为mseries.m4.2 输入本原多项式产生m序列以5 阶移位寄存器为例来产生m 序列,由文献可知其特征多项式为本原多项式,亦及其反馈连接形式为 =0 0 1 0 1;移位寄存器结构为m序列程序代码为:coefficients=0 0 1 0 1;mseq=mseries(coefficients);stairs(mseq);保存为m_run.m在MATLAB的command window里运行 m_run,得到图4.1所示 图4.1 运行结果第五章 程序调试及运行结果分析通过运行结果可以看出是由0、1组成的阶梯形图形,Stairs函数功能是画阶梯形,生成一系列的m序列,成功实现了要求。在调试过程中遇到一些错误,例如:?Subscript indices must either be real positive integers or logicals.经过认真分析,解决了错误。结论课程设计是一个十分有价值,有意义的实践活动,把一个课题设计好不是一步到位的,是经过反复修改,不断调试的过程,其间有困难也有乐趣,使人对工程实践有一个初步的认识。本次课程设计完全实现了设计要求,利用软件实现m序列的生成,通过这次实践不但加深了对m序列的了解,而且对MATLAB编程有了很好的掌握,在不断的程序调错中提高了自己寻错的能力。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。参考文献:【1】 张卫钢.通信原理与通信技术.西安 .西安电子科技大学出版社【2】 李建新等.现代通信系统与仿真MATLAB通信工具箱.西安. 西安电子科技大学出版社.2007【3】 樊昌信.通信原理.北京.国防工业出版社- 10 -
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!