




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与技术学院通信原理课程设计课题名称:伪随机m序列发生器的设计学生姓名:张昕灏学 院:信息科学与技术学院专业年级:电子信息工程2010级指导教师:田敏副教授完成日期:二一三年七月十二日目录前言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仿真结果分析134.2设计总结14心得体
2、会15参考文献16附录matlab程序17附录51单片机实现方法18电路图18设计说明18结果验证18C51 代码及与对应matlab代码20数模转换输出代码:20反馈链接状态及波形输出控制代码22使用器件23前言扩展频谱通信是一种不同于常规通信系统的新调制理论和技术,简称扩频通信1。其设计思想是将待传输的信息信号用特定的扩频码扩展频谱后成为宽带信号进行传输,接收时再采用相应的技术手段将频谱压缩,恢复原来待传信息信号的带宽,从而实现通信。扩频通信具有两个特点:传输信号的带宽远大于原始信息信号的带宽;传输信号的带宽主要有扩频码决定,此扩频码通常是伪随机码。伪随机码(pseudo randomco
3、de)简称PN码,可以人为产生与复制,具有类似白噪声的性质,相关函数具有尖锐的特性,功率谱占据很宽的频带,易于从其他信号或干扰中分离出来,具有优良的抗干扰特性,其特点是:具有尖锐的自相关函数;互相关函数值应足够小;有足够长的码周期,以确保抗侦破与抗干扰的要求;码的数量足够多,以实现码分多址的要求;平衡性好, 以满足抗干扰的要求;工程上易于产生、加工、复制与控制2。扩频通信的优势主要来自于伪随机码具有白噪声的统计特性。而随着扩频速率的不断提高,扩频码的长度急剧增加,利用计算机设计并验证扩频码的各项指标能大大提高效率。通过对伪随机码中常用的m序列的结构和性质进行了分析,给出了基于MATLAB平台的
4、m序列生成算法及代码伪随机序列分析. 软件平台选择Matlab,Malab是美国Math Works公司推出的一种以矩阵为基本编程单位的高效数值计算语言。Matlab在编程效率、可读性、可移植性与可扩充性上,远远优于其他高级编程语言,是公认的最优秀的科技应用软件。 第一章 设计内容及要求1.1设计内容题目:伪随机m序列发生器的设计1、建立通信系统的基本数学模型 要根据通信系统的基本原理,确定总的系统功能,将各部分功能模块化,并找出各部分之间的关系,画出系统框图。2、按设计的系统框图组建系统。3、根据系统性能指标,设置和调整各模块参数。4、实现系统运行仿真,观察分析结果(分析窗口、动态探针、实时
5、显示)。1.2设计要求拿到题目后首先根据通信系统原理框图进行建模,然后在微机上进行设计和软件仿真,如仿真结果不满足要求,则修改设计,直到满足要求为止。(1)按题目要求的功能进行设计,电路各个组成部分须有设计说明;(2)设计软件可以是systemview、MaxPlus II(QuartusII)、MatLab、LabView、Protel、Multisim等软件中的一种或几种。1.3方案选择 方案一: 用C51单片机设计,观察波形优点:直接接触硬件,设计结果更真实可靠。缺点:成本高;不能直接得到序列;当寄存器数目发生变化则相应的程序和硬件都要发生变化,不利于扩展。 方案二:采用硬件描述语言设计
6、优点:可以模拟设计出任何需要的逻辑器件,以实现相应的功能。缺点:语言描述复杂,实际生活中有些逻辑器件是很难甚至不可能实现的。方案三:使用matlab编程,直接输出序列基于上述原因考虑,使用纯软件方式设计是最合适的。首先,不需要依赖硬件环境;其次,程序只需一次编写,即可处处运行;再次,无论是波形或是序列码均可直接得到;最后,在各种设计语言中,matlab是最精通于科学数值计算和图像生成。第二章 m序列的特性分析2.1 m序列的原理伪随机信号具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。目前广泛使用的伪随机信号都是由数字电路产生的周期序列得到的。产生伪随机序列的电路包括线性反馈的移位
7、寄存器:m序列和非线性反馈移存器;M序列3。m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度m2n-1,只有一个多余状态即全0状态,所以称为最大线性序列码发生器。由于其结构已定型
8、,且反馈函数和连接形式都有一定的规律,因此利用查表的方式就设计出m序列码。列出部分m序列码的反馈函数F和移存器位数n的对应关系。如果给定一个序列信号长度m,则根据m2n-1求出n,由n查表2-1便可以得到相应的反馈函数F。表2-1 反馈函数Fn反馈函数F37,4155316637127825595111010231120471240952.2均衡特性伪随机序列的平衡性是指序列中“1”的数目只比“0” 的数目多l。码的平衡性由码序列中的直流分量决定。平衡性好,则载波抑制度大,从而有利扩频通信的抗干扰能力以及保密和抗侦破能力。其物理意义是不平衡码会使扩频后的信号中出现一些稳定的信号,从而易于被检测
9、而导致保密能力的降低。2.3游程分布游程是一个序列中取值(1 或 0)相同连在一起的元素的统称 ,所谓的游程长度就是一个游程中元素的个数。而m序列的分布特性为:. m序列的一个周期(p=2n-1)中,游程总数为2n-1。. 当 <游程长度k n-1,游程数目占总数2k。 当 k n-2,连“”和连“0”游程各占一半。2.4线性叠加性m 序列和其移位后的序列逐位模2 相加,所得的序列还是m 序列,只是相移不同而已. 例如1110100与向右移3 位后的序列1001110逐位模2相加后的序列为0111010 ,相当于原序列向右移1位后的序列,仍是m 序列。2.5自相关特性周期为p 的m序列的
10、自相关函数为: 其中:A 该序列与其j次移位序列一个周期中对应元素相同数目D 该序列与其j次移位序列一个周期中对应元素不同数目P 序列周期上式可改写为:由移位相加特性和均衡特性,可知m序列的自相关函数为: 从m 序列的自相关系数可以看出,m 序列是一个狭义伪随机码。当m序列的移位值为其周期的整数倍时,其自相关值取得最大值为2n- 1,移位值取其他值时,其自相关值恒为-1。其自相关函数如图2-1所示4。图2-1 m序列的自相关函数第三章 m序列设计3.1设计流程图图3-1 程序流程图举例3.2特征多项式确定n级线性移位寄存器的如图3-2所示:图3-2 n级线性移位寄存器图中表示反馈线的两种可能连
11、接方式,=1表示连线接通,第n-i级输出加入反馈中;=0表示连接线断开,第n-i级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式为:将上式左面的移至右面,并将代入上式,则上式可改写为定义一个与上式相对应的多项式根据上式可以确定m序列的特征多项式: f(x)的次数n表示移存器的级数。Ci取值(或)确定反馈线连接状态。线性移位寄存器的相继状态具有周期性,周期p 2n -1。用多项式f(x)来描述线性反馈移位寄存器的反馈连接状态。其中x的幂次表示元素的相应位置。上式称为线性反馈移位寄存器的特征多项式。3.3本原多项式确定特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能
12、产生m序列:(1) F(x)是不可约的,即不能再分解多项式;(2) F(x)可整除,这里;(3) F(x)不能整除,这里q<p.满足上述条件的多项式称为本原多项式.这样产生m序列的充要条件就变成了如何寻找本原多项式。寻找本原多项式是一件繁琐的工作,计算得到的结果已列表。表3-1 本原多项式系数n本原多项式的八进制系数表达式 代数式 27313423545610372118435910211020111140051210123表3-1给出其中部分结果,每个n只给出一个本原多项式为了使序列发生器尽量简单,常用的只有3项的本原多项式表中列出的本原多项式都是项数最少的,为了简便起见,用八进制数字
13、记载本原多项式的系数。由系数写出本原多项式非常方便。本文探讨n=5时,本多项式系数的八进制表示为45,将45写为二进制码100 101,从右向左第一个1对应于,按系数可写出。从左向右的第一个1对应于,按系数可写出对应的寄存器函数 =0 0 1 0 1。3.4 m序列的最终产生(以五阶移位寄存器举例)根据m 序列的特征方程: 可知本原多项式为的5阶移位寄存器为 =0 0 1 0 1,移位寄存器结构为 初始化寄存器为 =0 0 0 0 1,寄存器首先左移位。可知=0,这时依据特征式得知反馈。由于为5阶寄存器,码长。故要循环31次,得到所需的m序列。程序代码5如下:function m=mxu(cn
14、) %cn为移位寄存器len=length(cn); %所需的移位寄存器的长度L=2len-1; %m序列的长度an=zeros(1,len-1),1;%初始寄存器内容m(1)=an(1); %m序列的第一个输出码元for i=2:Lan1(1:len-1)=an(2:len);an1(len)=mod(sum(cn.*an),2);%寄存器与反馈的模2和an=an1;%移位后的寄存器m(i)=an(1);%新的寄存器输出end stairs(m);%对m序列绘图axis(0 L+1 -0.1 1.1);end将以上代码命名为mxu.m以上可根据阶位不同而做出不同的m序列第四章 设计成果分析及
15、总结4.1仿真结果分析在MATLAB的command window里输入:cn=0 0 1 0 1;m=mxu(cn);得到图4-1所示:图4-1 运行结果得到m序列返回值为: Columns 1 through 11 0 0 0 0 1 1 1 0 1 0 0 Columns 12 through 22 1 1 1 0 1 0 0 1 1 1 0 Columns 23 through 31 1 0 0 1 1 1 0 1 0通过运行结果可以看出是由0、1组成的阶梯形图形,stairs函数功能是画阶梯形,生成一系列的m序列,成功实现了要求。由于m序列全为0 1的集合,直接的stairs绘制使得
16、0,1的位置不清楚,使用stem(mxu)重新运行得到图4-2。图4-2新运行图形这样就明显看到m序列的位置。4.2设计总结本文设计的题目是m序列发生器的设计,文中介绍的扩频伪随机码m序列的Matlab生成源程序是基于线性反馈移位寄存器结构而编写的,更清楚的描述了m序列的生成过程中的数字逻辑。本方法应用移位寄存器理论,从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性m序列移位寄存器反馈逻辑式之间的关系,然后采用C语言编程,并借助Matlab开发平台实现序列。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。在课程设计的过程中,查询了大量的资料,通过
17、相关资料的查阅,还掌握了通信领域的有关知识,扩大了知识面。心得体会通信原理是一门很有趣的课程,任何一个系统都是一个复杂的整体,学习通信原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解通信系统的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题勉强搞清楚。实验中,我不仅复习和巩固了通信原理中的很多知识,而且学到了很多在书本上所没有学到过的知识。且充分了解到画程序流程图的必要性。通过
18、程序流程图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,在程序测试的过程中也有利于查错。参考文献1贾怀义,毕红军,宫剑. 基于m序列扩频码的研究. 北方交通大学学报,20012杨睿. 论伪随机序列及其应用. 沈阳工程学院学报(自然科学版),20093樊昌信,曹丽娜. 通信原理(第6版). 北京:国防工业出版社,20064廖振明. m序列的互相关特性研究. 国防科学技术大学,20095张志军. 基于matlab的伪随机序列的实现. 新乡高等师范学校学报,2003附录matlab程序function m=mxu(cn) %cn为移位寄存器len=length(c
19、n); %所需的移位寄存器的长度L=2len-1; %m序列的长度an=zeros(1,len-1),1;%初始寄存器内容m(1)=an(1); %m序列的第一个输出码元for i=2:Lan1(1:len-1)=an(2:len);an1(len)=mod(sum(cn.*an),2);%寄存器与反馈的模2和an=an1;%移位后的寄存器m(i)=an(1);%新的寄存器输出end stem(m);%对m序列绘图axis(0 L+1 -0.1 1.1);end附录51单片机实现方法电路图附录图1 单片机连接电路产生m序列的电路图设计说明由于使用硬件设计的m序列发生器,与硬件和程序都紧密相关,
20、如果序列长度发生变化,则相应的程序电路都会变化,所以在此仅以四级设计方式举例。附录图1中的开关从左至右表示cn=sw1 sw2 sw3 sw4,开关合上表示连接。下面的开关5,是输出波形开关,开关合上一次输出一个完整序列波形,如果一直合上则连续输出。在本设计中,最组要的模块是数模转换,因为使用单片机得到的仅仅是一组数字。要应用到实际系统中,就必须转换为电压或电流值,才有实际意义。结果验证因为篇幅有限,仅以cn=1 0 0 1为例演示验证。由于单片机不能输出序列,故而将程序略加修改成标准c语言,在计算机上得出的结果所示:附录图2 标准c语言方式验证得到的序列 该结果与实际计算和matlab所得结
21、果完全一致。接下来验证单片机上的序列波形,波形图如下:附录图3 单片机仿真输出的波形从波形图上可以看到,序列的起点处是在第一下降沿处,从波形宽度来看,大致满足000 1111 0 1 0 11 00 1这一变化规律。C51 代码及与对应matlab代码数模转换输出代码:#include <intrins.h>#define nops(); do_nop_();_nop_();_nop_();_nop_();_nop_(); while(0) #define PCF8591 0x90 sbit ADDA_SCL=P37; sbit ADDA_SDA=P36; bit ack; voi
22、d Start_I2c();void Stop_I2c();void SendByte(unsigned char c);void transformData(unsigned char a);bit DACconversion(unsigned char sla, unsigned char c, unsigned char val);void Start_I2c()/ADDA_SDA=1; nops();ADDA_SCL=1;nops(); ADDA_SDA=0; nops(); ADDA_SCL=0; nops();/* * ·¢ËÍI2C
23、9;áÊøÌõ¼þ. */void Stop_I2c()/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; i<8; i+)if (c<<i) & 0x80)ADDA_SDA=1;else ADDA_SDA=0; nops();ADDA_SCL=1;nops(); ADDA_SCL=0; ADDA_SDA=1;nops(); ADDA_SCL=1;nops();if (ADDA_SDA=1)ack=0; else ack=1; ADDA_SCL=0;bit DACco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 右眼白内障护理
- 音乐会作文350字9篇
- 一年级写人作文我的偶像650字(9篇)
- 学习跆拳道200字8篇
- 保险代理业务合作协议与风险控制
- 买卖商品保证协议
- 日记硬币进课堂350字(14篇)
- 采购合同详细规范与交易条件确认书
- 2024年康复医学治疗技术士考试题库及答案
- 在除夕夜做饭作文(12篇)
- 2025年全国统一高考数学试卷(全国二卷)含答案
- 国企改革笔试题库及答案
- GM/T 0129-2023SSH 密码协议规范
- 2025届成都青羊区四校联考七下英语期末考试试题含答案
- 初中数学基础必刷题
- T/CAEPI 23-2019地下式城镇污水处理厂工程技术指南
- 食品供应链食品安全员职责
- 人教版数学九年级上册第一单元测试卷(附答案)
- 小学生手工面条课件
- 《无人机介绍》课件
- 2025年陕西榆林市榆神煤炭榆树湾煤矿有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论