单片机matlab方式产生伪随机m序列_第1页
单片机matlab方式产生伪随机m序列_第2页
单片机matlab方式产生伪随机m序列_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、信息科学与技术学院通信原理课程设计课题名称:伪随机m序列发生器的设计学生姓名:张昕灏 2018508087学院:信息科学与技术学院专业年级:电子信息项目2018级指导教师:田敏副教授完成日期:二O三年七月十二日目录前言1第一章设计内容及要求21.1设计内容21.2设计要求21.3方案选择2第二章m序列的特性分析42.1 m序列的原理42.2均衡特性52.3游程分布52.4线性叠加性62.5自相关特性6第三章m序列设计83.1设计流程图83.2特征多项式确定83.3本原多项式确定 103.4 m 序列的最终产生 以五阶移位寄存器举例) 11 第四章 设计成果分析及总结 134.1 仿真结果分析

2、134.2 设计总结 14 心得体会 15 参考文献 16 附录 matlab 程序 17 附录 51 单片机实现方法 18电路图 18设计说明 18结果验证 18C51 代码及与对应 matlab 代码 20 数模转换输出代码: 20 反馈链接状态及波形输出控制代码 22 使用器件、八 、-前言扩展频谱通信是一种不同于常规通信系统的新调制理论和技术,简称扩频 通信 1 。其设计思想是将待传输的信息信号用特定的扩频码扩展频谱后成为宽 带信号进行传输,接收时再采用相应的技术手段将频谱压缩,恢复原来待传信 息信号的带宽,从而实现通信。扩频通信具有两个特点:传输信号的带宽远大 于原始信息信号的带宽;

3、传输信号的带宽主要有扩频码决定,此扩频码通常是 伪随机码。伪随机码 (pseudo randomcode 简称 PN 码,可以人为产生与复制, 具有类似白噪声的性质,相关函数具有尖锐的特性,功率谱占据很宽的频带, 易于从其他信号或干扰中分离出来,具有优良的抗干扰特性,其特点是:具有 尖锐的自相关函数;互相关函数值应足够小;有足够长的码周期,以确保抗侦 破与抗干扰的要求;码的数量足够多,以实现码分多址的要求;平衡性好,以 满足抗干扰的要求;项目上易于产生、加工、复制与控制 2 。扩频通信的优势 主要来自于伪随机码具有白噪声的统计特性。而随着扩频速率的不断提高,扩 频码的长度急剧增加,利用计算机设

4、计并验证扩频码的各项指标能大大提高效 率。通过对伪随机码中常用的 m 序列的结构和性质进行了分析,给出了基于 MATLA平台的m序列生成算法及代码伪随机序列分析.软件平台选择Matlab , Malab 是美国 Math Works 公司推出的一种以矩阵为基本编程单位的高效数值计 算语言。 Matlab 在编程效率、可读性、可移植性与可扩充性上,远远优于其他 高级编程语言,是公认的最优秀的科技应用软件。第一章 设计内容及要求1.1 设计内容题目:伪随机m序列发生器的设计1、建立通信系统的基本数学模型 要根据通信系统的基本原理,确定总的系统功能,将各部分功能模块化, 并找出各部分之间的关系,画出

5、系统框图。2、按设计的系统框图组建系统。3、根据系统性能指标,设置和调整各模块参数。4、实现系统运行仿真,观察分析结果 ( 分析窗口、动态探针、实时显示 。1.2 设计要求拿到题目后首先根据通信系统原理框图进行建模,然后在微机上进行设计 和软件仿真,如仿真结果不满足要求,则修改设计,直到满足要求为止。1)按题目要求的功能进行设计,电路各个组成部分须有设计说明;2)设计软件可以是 systemview、MaxPlus II %cn为移位寄存器len=le ngth(c n。%所需的移位寄存器的长度L=2Alen-1 。 %m序列的长度an=zeros(1,len-1,1。 %初始寄存器内容m(1

6、=a n(1。川序列的第一个输出码元 for i=2:Lan1(1:len-1=an(2:len。an1(len=mod(sum(cn.*an,2 。 %寄存器与反馈的模 2 和 an=an1。 %移位后的寄存器 m(i=an(1 。 %新的寄存器输出endstairs(m ; %对m序列绘图 axis(0L+1-0.11.1。end将以上代码命名为 mxu.m以上可根据阶位不同而做出不同的 m序列第四章设计成果分析及总结4.1 仿真结果分析在 MATLAB勺 comma nd win dow里 输入:cn=0 0 1 0 1。m=mxu(cn。得到图4-1所示:0、1组成的阶梯形图形,sta

7、irs函数功能图4-1 运行结果0 0 0 0 1 11010 0Colum ns 12 through 221 1 1 0 1 00111 0Columns 23 through 311 0 0 1 1 1010得到m序列返回值为:Colum ns 1 through 11通过运行结果可以看出是由是画阶梯形,生成一系列的 m序列,成功实现了要求。因为m序列全为0 1的集合,直接的stairs 绘制使得0, 1的位置不清楚,使用stem(mxu重新运行得到图4-2- C C1 p c1 -1111i051015202530图4-2新运行图形这样就明显看到m序列的位置。4.2设计总结本文设计的题

8、目是 m序列发生器的设计,文中介绍的扩频伪随机码m序列的Matlab生成源程序是基于线性反馈移位寄存器结构而编写的,更清楚的描述 了 m序列的生成过程中的数字逻辑。本方法应用移位寄存器理论,从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性 m序列移位寄存器反馈逻辑式之间的关系,然后采用 C语言编程,并借助Matlab开发平台实现 序列。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计 的许多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查 阅,还掌握了通信领域的有关知识,扩大了知识面。心得体会通信原理是一门很有趣的课程,任何一个系统都是一个复杂的

9、整体,学习 通信原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部 分的工作原理。这样一来,不仅不能在短时间内较深入理解通信系统的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教案过程中,我总是处于 “学会了一些新知识,弄清了一些原来保留的问题,又出 现了一些新问题 ”的循环中,直到课程结束时,才把保留的问题勉强搞清楚。实验中,我不仅复习和巩固了通信原理中的很多知识,而且学到了很多在 书本上所没有学到过的知识。且充分了解到画程序流程图的必要性。通过程序 流程图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都 有一个很清楚的思路,在程序测试的

10、过程中也有利于查错。参考文献1 贾怀义,毕红军,宫剑 . 基于 m 序列扩频码的研究 . 北方交通大学学报, 20012 杨睿 . 论伪随机序列及其应用 . 沈阳项目学院学报 . 北京: 国防工业出版社, 20064 廖振明. m 序列的互相关特性研究 .国防科学技术大学, 20095 张志军. 基于 matlab 的伪随机序列的实现 . 新乡高等师范学校学报, 2003附录 matlab 程序function m=mxu(cn %cn 为移位寄存器len=length(cn 。 %所需的移位寄存器的长度L=2Alen-1 。 %m序列的长度an=zeros(1,len-1,1。 %初始寄存器

11、内容m(1=a n(1。川序列的第一个输出码元for i=2:Lan1(1:len-1=an(2:len。an1(len=mod(sum(cn.*an,2 。 %寄存器与反馈的模 2 和an=an1。 %移位后的寄存器m(i=an(1 。 %新的寄存器输出endstem(m; %寸m序列绘图axis(0L+1-0.11.1。end附录51单片机实现方法电路图P1JQ P1.1F15P1JS P1 4F I %P1J9 Pl 7i=iTE?jC5lPODTADOPO3D2P0.3/*03FU 刚AMFDfl/ADBPO.7/AD7F1JCWMF2.1MP2W10P2MH 陀昭齿P2JWA 何F2

12、.7ZA1I5P3JWRXD P3i.1ilTXC FSiiwra ps.wJfT 料4TQP3 5JT1F3 TfS附录图1单片机连接电路产生 m序列的电路图设计说明因为使用硬件设计的 m序列发生器,与硬件和程序都紧密相关,如果序列 长度发生变化,则相应的程序电路都会变化,所以在此仅以四级设计方式举 例。附录图1中的开关从左至右表示 cn=swl sw2 sw3 sw4,开关合上表示连 接。下面的开关5,是输出波形开关,开关合上一次输出一个完整序列波形, 如果一直合上则连续输出。在本设计中,最组要的模块是数模转换,因为使用单片机得到的仅仅是一组数字。要应用到实际系统中,就必须转换为电压或电流

13、值,才有实际意义结果验证因为篇幅有限,仅以cn=1001为例演示验证。因为单片机不能输出序列,故而将程序略加修改成标准c语言,在计算机上得出的结果所示:al 3 =sum%2; /anl (len)(srnri (cn. *an) ,2)沁寄存器与反慷的撲2利for(j=0;j/ADDA_SCL=0 。 nops(。ADDA_SDA=0 。 nops(。ADDA_SCL=1 。 nops(。ADDA_SDA=1 。 nops(。*/ void SendByte(unsigned char c/unsigned char i 。for (i=0 。 iif (c & 0x80 ADDA_SDA=

14、1 。elseADDA_SDA=0 。 nops(。ADDA_SCL=1 。 nops(。ADDA_SCL=0 。ADDA_SDA=1 。nops(。ADDA_SCL=1 。nops(。if (ADDA_SDA=1ack=0。elseack=1。ADDA_SCL=0 。bit DACconversion(unsigned char sla, unsigned char c, unsigned char val/Start_I2c( 。SendByte(sla。if (ack=0 return(0 。SendByte(c 。if (ack=0 return(0 。SendByte(val 。if

15、 (ack=0 return(0 。Stop_I2c( 。return(1 。void transformData(unsigned char a /transformData(wave 。 DACconversion(PCF8591,0x40, a 。反馈链接状态及波形输出控制代码#include #includeDA.c #define keyAll P2 #define uchar unsigned charsbit key仁P2P。sbit key2=P2A1 osbit key3=P2A2。sbit key4=P2A3 。sbit key5=P2A4 。uchar i,j,sum 。uchar a4,a14,b15,c4 。void mxu1( 。void main(

温馨提示

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

评论

0/150

提交评论