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

下载本文档

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

文档简介

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<QuartusII)、MatLab、LabView、Protel、Multisim 等软件中的一种或几种。1.3 方案选择方案一:用C5

6、1单片机设计,观察波形优点:直接接触硬件,设计结果更真实可靠。缺点:成本高;不能直接得到序列;当寄存器数目发生变化则相应的程 序和硬件都要发生变化,不利于扩展。方案二:采用VHDL硬件描述语言设计优点:可以模拟设计出任何需要的逻辑器件,以实现相应的功能。 缺点:语言描述复杂,实际生活中有些逻辑器件是很难甚至不可能实现 的。方案三:使用 matlab 编程,直接输出序列 基于上述原因考虑,使用纯软件方式设计是最合适的。首先,不需要依赖 硬件环境;其次,程序只需一次编写,即可处处运行;再次,无论是波形或是 序列码均可直接得到;最后,在各种设计语言中, matlab 是最精通于科学数值 计算和图像生

7、成。第二章m序列的特性分析2.1 m序列的原理伪随机信号具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。目前广泛使用的伪随机信号都是由数字电路产生的周期序列得到的。产生 伪随机序列的电路包括线性反馈的移位寄存器:m序列和非线性反馈移存器;M序列om序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位 寄存器,如果反馈逻辑线路只由模 2和构成,则称为线性反馈移位寄存器。带 线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级 寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会

8、产 生一个序列,该序列称为移位寄存器序列。m序列码发生器是一种反馈移位型结构的电路,它由n位移位寄存器加异或反馈网络组成,其序列长度 m= 25-1,只有一个多余状态即全0状态,所以 称为最大线性序列码发生器。因为其结构已定型,且反馈函数和连接形式都有 一定的规律,因此利用查表的方式就设计出m序列码。列出部分 m序列码的反馈函数F和移存器位数n的对应关系。如果给定一个序列信号长度 m则根据m =2An-1求出n,由n查表2-1便可以得到相应的反馈函数 F。表2-1反馈函数Fn1 1反馈函数F37GIHJJ415一 15311 1 1663冋71271 182551 19511凹101023LH

9、J112047I X I1240951 一 12.2均衡特性伪随机序列的平衡性是指序列中“ 1”的数目只比“ 0”的数目多I。码的 平衡性由码序列中的直流分量决定。平衡性好,则载波抑制度大,从而有利扩 频通信的抗干扰能力以及保密和抗侦破能力。其物理意义是不平衡码会使扩频 后的信号中出现一些稳定的信号,从而易于被检测而导致保密能力的降低。2.3游程分布游程是一个序列中取值(1或0相同连在一起的元素的统称,所谓的游程 长度就是一个游程中元素的个数。而 m序列的分布特性为:1 .m序列的一个周期(p=2An-1中,游程总数为2An-1。2 .当1 游程长度k Wn-1,游程数目占总数2Ak。当1 k

10、 n-2,连“1”和连“ 0”游程各占一半。2.4线性叠加性m序列和其移位后的序列逐位模 2相加,所得的序列还是 m序列,只是相移 不同而已.例如1110100与向右移3位后的序列1001110逐位模2相加后的序 列为0111010 ,相当于原序列向右移1位后的序列,仍是m序列。2.5自相关特性周期为p的m序列的自相关函数为:R ( j)其中:A 该序列与其j次移位序列一个周期中对应元素相同数目D 该序列与其j次移位序列一个周期中对应元素不同数目P 序列周期上式可改写为:叭t =的数目一吐心+二1的数目R j) - 匚P由移位相加特性和均衡特性,可知 m序列的自相关函数为:1j=0 亠= -

11、1 ".p尸izi从m序列的自相关系数可以看出,m序列是一个狭义伪随机码。当 m序列 的移位值为其周期的整数倍时,其自相关值取得最大值为 2An-1 ,移位值取其 他值时,其自相关值恒为-1。其自相关函数如图2-1所示。Af;1A/ 八/ I I图2-1m序列的自相关函数3.1设计流程图第三章m序列设计3.2特征多项式确定n级线性移位寄存器的如图3-2所示:图3-2n级线性移位寄存器图中表示反馈线的两种可能连接方式,=1表示连线接通,第n-i级输因此,一般形式的线性反馈逻辑表达式为:将上式左面的移至右面,并将为代入上式,则上式可改写定义一个与上式相对应的多项式根据上式可以确定m序列的

12、特征多项式:f(x 的次数n表示移存器的级数。Ci取值(11或0 确定反馈线连接状态。线性移位寄存器的相继状态具有周期性,周期p 25 -1。用多项式f(x来描述线性反馈移位寄存器的反馈连接状态。其中x的幕次表示元素的相应位置。上式称为线性反馈移位寄存器的特征多项式。3.3本原多项式确定特征多项式与输出序列的周期有密切关系.当F(x满足下列三个条件时,就 一定能产生m序列:(1 F(x是不可约的,即不能再分解多项式;(2 F(x可整除一,这里 (3 F(x不能整除丄,这里qvp.满足上述条件的多项式称为本原多项式.这样产生m序列的充要条件就变成了如 何寻找本原多项式。寻找本原多项式是一件繁琐的

13、工作,计算得到的结果已列表3-1本原多项式系数n本原多项式的八进制系数表达 式代数式27313| = |423Lil5456103Ll72118435 =«=i910211 i =11020181140051210123i =«=j表3-1给出其中部分结果,每个n只给出一个本原多项式为了使序列发生 器尽量简单,常用的只有3项的本原多项式表中列出的本原多项式都是项数最 少的,为了简便起见,用八进制数字记载本原多项式的系数。由系数写出本原 多项式非常方便。本文探讨n=5时,本多项式系数的八进制表示为 45,将45凶写为二进制码100 101,从右向左第一个1对应于,按系数可写出

14、I*BI k IJ 1。从左向右的第一个1对应于,按系数可写出对应的寄存器函数=0 0 1 0 1。3.4 m序列的最终产生 以五阶移位寄存器举例)根据m序列的特征方程:F=0可知本原多项式为 ' 的5阶移位寄存器为日=0,这时依据特征式得知反馈。因为为5阶寄存器,码长一n。故要循环31次,得到所需的m序列。程序代码5如下:fun cti on m=mxu(c n> %cn为移位寄存器len=le ngth(c n>。%所需的移位寄存器的长度L=2Alen-1 。 %m序列的长度an=zeros(1,len-1>,1。 %初始寄存器内容m(1>=a n(1>

15、;。川序列的第一个输出码元 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=

16、mxu(cn>。得到图4-1所示:0、1组成的阶梯形图形,stairs函数功能图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 C

17、1> <> <p <><> c1> <> <X> <> -1111i051015202530图4-2新运行图形这样就明显看到m序列的位置。4.2设计总结本文设计的题目是 m序列发生器的设计,文中介绍的扩频伪随机码m序列的Matlab生成源程序是基于线性反馈移位寄存器结构而编写的,更清楚的描述 了 m序列的生成过程中的数字逻辑。本方法应用移位寄存器理论,从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性 m序列移位寄存器反馈逻辑式之间的关系,然后采用 C语言编程,并借助Matlab开发平台实现

18、 序列。m序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计 的许多优点。在课程设计的过程中,查询了大量的资料,通过相关资料的查 阅,还掌握了通信领域的有关知识,扩大了知识面。心得体会通信原理是一门很有趣的课程,任何一个系统都是一个复杂的整体,学习 通信原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部 分的工作原理。这样一来,不仅不能在短时间内较深入理解通信系统的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教案过程中,我总是处于 “学会了一些新知识,弄清了一些原来保留的问题,又出 现了一些新问题 ”的循环中,直到课程结束时,才把保留的

19、问题勉强搞清楚。实验中,我不仅复习和巩固了通信原理中的很多知识,而且学到了很多在 书本上所没有学到过的知识。且充分了解到画程序流程图的必要性。通过程序 流程图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都 有一个很清楚的思路,在程序测试的过程中也有利于查错。参考文献1 贾怀义,毕红军,宫剑 . 基于 m 序列扩频码的研究 . 北方交通大学学报, 20012 杨睿 . 论伪随机序列及其应用 . 沈阳项目学院学报 <自然科学版), 20093 樊昌信,曹丽娜 . 通信原理 (第 6 版>. 北京: 国防工业出版社, 20064 廖振明. m 序列的互相关特性研究 .国防

20、科学技术大学, 20095 张志军. 基于 matlab 的伪随机序列的实现 . 新乡高等师范学校学报, 2003附录 matlab 程序function m=mxu(cn> %cn 为移位寄存器len=length(cn> 。 %所需的移位寄存器的长度L=2Alen-1 。 %m序列的长度an=zeros(1,len-1>,1。 %初始寄存器内容m(1>=a n(1>。川序列的第一个输出码元for i=2:Lan1(1:len-1>=an(2:len>。an1(len>=mod(sum(cn.*an>,2> 。 %寄存器与反馈的模

21、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.1MP2±W10P2M<H 陀昭齿P2JWA 何F2.7ZA1I5P3JWRXD P3i.1ilTXC FSiiwra ps.wJfT 料4TQP3 5JT1F3 TfS附录图1单

22、片机连接电路产生 m序列的电路图设计说明因为使用硬件设计的 m序列发生器,与硬件和程序都紧密相关,如果序列 长度发生变化,则相应的程序电路都会变化,所以在此仅以四级设计方式举 例。附录图1中的开关从左至右表示 cn=swl sw2 sw3 sw4,开关合上表示连 接。下面的开关5,是输出波形开关,开关合上一次输出一个完整序列波形, 如果一直合上则连续输出。在本设计中,最组要的模块是数模转换,因为使用单片机得到的仅仅是一组数字。要应用到实际系统中,就必须转换为电压或电流值,才有实际意义结果验证因为篇幅有限,仅以cn=1001为例演示验证。因为单片机不能输出序列,故而将程序略加修改成标准c语言,在

23、计算机上得出的结果所示:al 3 =sum%2; /anl (len)(srnri (cn. *an) ,2)沁寄存器与反慷的撲2利for(j=0;j<4;j+)附录图2标准c语言方式验证得到的序列 该结果与实际计算和matlab所得结果完全一致。接下来验证单片机上的序列波形,波形图如下:从波形图上可以看到,序列的起点处是在第一下降沿处,从波形宽度来id iuxul ()for (j = :i; jS; j-n-)for(j=0;j4;j+SUID-= (C j *己j ;C51代码及与对应 matlab代码曰m已ma :2=3;a3=l;/an= zeros (lf len-1 f 1

24、 ; % 初始寄存輕内容faO=a0 ;/m(l=an(l);刼序列的第一个输出码元 5UID=0;for(1=1;i15;i+ /for i=2:L al j = aj-H; /snl(1:len-1=an(2:len;al 3 = suni%2 ; /anl (len rrnnd (sumfcn. *an f 2;分寄存器与反馈的模2和 for (j=0;j4;j+j =al j ;/an=anl;%移位后的寄存器h i=a 0; / mi)=an 1)的寄存器输出/end数模转换输出代码:#in elude vintrin s.h#define nops(。 do_nop_(。_nop_

25、(。_nop_(。_nop_(。_nop_(。 while(0#defi ne PCF8591 0x90sbit ADDA_SCL=P37。sbit ADDA_SDA=P3A6。bit ack。void 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_l2c(ADDA_SDA=1 。n ops(

26、。ADDA_SCL=1。n ops(。ADDA_SDA=0。n ops(。ADDA_SCL=0。/* I2C? a e? i?t .*/ 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 。elseADDA_SDA=0 。 nops(>。ADDA_SCL=1 。 nops(>。ADDA_SCL=0 。ADDA_SDA=1 。nops(>。ADDA_SCL=1 。nops(>。if (ADDA_SDA=1>ack=0。elseack=1。ADDA_SCL=0 。bit DAC

温馨提示

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

最新文档

评论

0/150

提交评论