伪随机码发生器设计Word格式.docx

上传人:b****8 文档编号:22087839 上传时间:2023-02-02 格式:DOCX 页数:16 大小:330.45KB
下载 相关 举报
伪随机码发生器设计Word格式.docx_第1页
第1页 / 共16页
伪随机码发生器设计Word格式.docx_第2页
第2页 / 共16页
伪随机码发生器设计Word格式.docx_第3页
第3页 / 共16页
伪随机码发生器设计Word格式.docx_第4页
第4页 / 共16页
伪随机码发生器设计Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

伪随机码发生器设计Word格式.docx

《伪随机码发生器设计Word格式.docx》由会员分享,可在线阅读,更多相关《伪随机码发生器设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

伪随机码发生器设计Word格式.docx

图2AT89S51单片机管脚分布图

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口除了作为普通I/O口,还有第二功能:

P3.0RXD(串行输入口);

P3.1TXD(串行输出口);

P3.2/INT0(外部中断0);

P3.3/INT1(外部中断1);

P3.4T0(T0定时器的外部计数输入);

P3.5T1(T1定时器的外部计数输入);

P3.6/WR(外部数据存储器的写选通);

P3.7/RD(外部数据存储器的读选通);

P3口同时为闪烁编程和编程校验接收一些控制信号;

I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。

读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。

只有读端口时才真正地把外部的数据读入到内部总线。

89C51的P0、P1、P2、P3口作为输入时都是准双向口。

除了P1口外P0、P2、P3口都还有

其他的功能。

RST:

复位输入端,高电平有效。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

地址锁存允许/编程脉冲信号端。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序存储器的选通信号,低电平有效。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:

外部程序存储器访问允许。

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

片内振荡器反相放大器和时钟发生器的输入端。

XTAL2:

片内振荡器反相放大器的输出端。

LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;

其显示分辨率为128×

64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×

4行16×

16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

其基本特性为:

低电源电压(VDD:

+3.0--+5.5V);

显示分辨率:

128×

64点;

内置汉字字库,提供8192个16×

16点阵汉字(简繁体可选;

内置128个16×

8点阵字符;

2MHZ时钟频率;

显示方式:

STN、半透、正显;

驱动方式:

1/32DUTY,1/5BIAS;

视角方向:

6点;

背光方式:

侧部高亮白色LED,功耗仅为普通LED的1/5—1/10;

通讯方式:

串行、并口可选;

内置DC-DC转换电路,无需外加负压;

无需片选信号,简化软件设计;

工作温度:

0℃-+55℃,存储温度:

-20℃-+60℃。

其管脚分布如表1所示:

表1LCD12864管脚分布表

LCD12864与51单片机连接如图3所示:

 

本发生器系统采用独立式键盘,独立式按键是直接用I/O口线构成单个按键电路,每个按键单独占用一根I/O线。

如图4所示是一个通过P0口连接3个按键。

图4独立式按键接口图

如图所示,按键一段连接阻值为10k的上拉电阻与+5v电源相连,另一端接地。

独立式按键电路配置灵活,软件结构简单,适合接口空余较多时的情况。

2.3发生器软件设计

发生器系统软件采用C语言编写,C语法限制不太严格,程序设计自由度大虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

相对而言具有以下优点:

(1)简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

(2)运算符丰富

C的运算符包含的范围很广泛,共有种34个运算符。

C语言把括号、赋值、强制类型转换等都作为运算符处理。

从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

(3)数据结构丰富

C的数据类型有:

整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。

能用来实现各种复杂的数据类型的运算。

并引入了指针概念,使程序效率更高。

另外C语言具有强大的图形功

能,支持多种显示器和驱动器。

且计算功能、逻辑判断功能强大。

(4)C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

软件主程序流程图如图5所示,中断子程序流程图如图6所示。

图5主程序流程图图6中断子程序流程图

如图5所示,程序经初始化后,系统开始工作。

系统初始默认为m值为7的伪随机码序列。

当按键被按下,有产生一个高电平的信号时,程序执行中断子程序。

在中断子程序中,由于三个按键接不同的口,系统即按不同的参数运行。

3m序列伪随机码理论设计

3.1伪随机码基本特性

伪随机码又称为随机序列,它是具有类似于随机序列基本特性的

确定序列。

通常广泛应用于二进制序列。

二进制独立随即序列在概率论中称为伯努利(Bernoulli)序列,它由两个(符号)0,1或1,-1组成,序列中不同位置的元素取值相互独立,0或1的出现概率相等,简称此种序列为随机序列。

随机序列具有以下三个基本特性:

(1)在序列中“0”和“1”出现的相对概率各位1/2。

(2)序列中连0或连1称为游程,连0或连1的个数称为游程的长度。

序列中长度为1的游程数占游程总数的1/2;

长度为2的游程数占游程总数的1/4;

长度为3的有成熟占游程总数的1/8;

长度为n的游程数占游程总数的n

2/1。

次性质称为随机序列的游程特性。

(3)如果将给定的随机序列位移任何个元素,则所得到的序列和原序列对应的元素有一半相同,一半不同。

如果确定序列近似满足以上三个特性,则称此确定序列为伪随机序列。

3.2m序列伪随机码性质

最长线性反馈移存器序列是最常见和最常用的一种伪随机序列,简称m序列,它是由具有线性反馈的移位寄存器产生的周期最长的序列。

m序列每一周期中1的个数比0的个数多1个。

由于12-=np为奇数,因而在每一周期中1的个数为122/1(-=+np为偶

数,而0的个数为121(1-=--np为奇数。

如,当15=p,1的个数为8,0的个数为7。

当p足够大时,在一个周期中1与0出现的次数基本相等。

把一个序列中取值(1或0)相同连在一起的元素合称为一个游程。

在一个游程中元素的个数称为游程长度。

例如m序列:

在次m序列一个周期的15个元素中,共有8个游程。

m序列的一个周期(12-=np中,游程总数为1

2-n。

其中长度为1

的游程个数占游程总数的1/2;

长度为2的游程个数占游程总数的1/4;

长度为3的游程个数占游程总数的1/8;

……一般地,长度为n的游程个数占游程总数的k

在长度为n游程中,连1游程与连0游程各占一半,长为(1-n)的游程是连0游程,长为n的游程是连1游程。

周期为p的m序列pm和它的任意延迟位移后的序列rm模二相加后所得序列仍是该m序列的某个位移序列sm,即:

s

rpmmm=⊕

其中:

sm为pm某次延迟位移后的序列。

例如:

11001

0001111010=pm,…

m序列具有非常重要的自相关特性。

在m序列中,常常用+1代表0,用-1代表1。

此时定义:

设长为p的m序列,记作:

,,321aaa…12(-=n

ppa

m序列,,,321aaa…12(-=nppa经过j次位移后m序列为:

,321+++jjjaaa…pja+

其中ipiaa=+(以p为周期),以上两序列的对应项相乘然后相加,利用所得的总和:

3

12111+++⋅+⋅+⋅jjjaaaaaa…∑=++=⋅+p

ii

jipjpaaaa1

衡量一个m序列与它的j次移位序列之间的相关程度,并把它叫做m序列(,,,321aaa…pa)的自相关函数。

记作:

∑=+=p

jiaajR1(

(1)

令:

4为m序列与它坳次移位序列在一个周期中对应元素相同的数目;

D为m序列与它的j次移位序列在一个周期中对应元素不同的数目。

当采用二进制数字0和1代表码元的可能取值时,公式

(1)可表示为

pD

ADADAjR-=+-=

(2)

或可以改写为:

[][]

paaaaDADAjRjiijii的数目

的数目10(=⊕-=⊕=+-=

++(3)

由移位相加特性可知,jiiaa+⊕仍是m序列中的元素;

所以上式分

子就等于m序列中一个周期中0的数目与1的数目之差。

另外由m序列的均衡性可知,在一个周期中0比1的个数少一个。

故得:

(1

为零时为非零整数jjpDA⎩⎨

⎧-=-

其自相关函数图如图7所示:

图7m序列自相关函数图

如果我们对一个正态分布白噪声取样,若取样值为正,记为+1,取样值为负,记为-1,将每次取样所得极性排成序列,可以写成:

…+,-1,+1,+1,+1,-1,-1,+1,-1,…这是一个随机序列,它具有如下基本性质:

(1序列中+1和-1出现的概率相等;

(2序列中长度为1的游程约占1/2,长度为2的游程约占1/4,长度为3的游程约占1/8,.一般地,长度为k的游程约占k

2/1,而且+1,-1游程的数目各占一半;

(3由于白噪声的功率谱为常数,因此其自相关函数为一冲击函数(τδ。

由此可见,m序列的性质与随机噪声相似,因此称为伪随机序列。

3.3m序列的产生

下面以长度(周期)为7的m序列为例说明m序列的产生过程。

如图8所示,长度等于7的m序列(简称7位m序列)产生电路的逻辑框图。

在CP时钟脉冲的作用下移存器的状态不断变化,每输出一位,经图8所示流程产生新的一位。

表2为移存器状态变化表。

表2状态变化表

假设移存器的初始状态为0,0,1210===aaa。

由表2可见,在第7个时钟脉冲时移存器的状态又回到初始状态,这说明此序列的长度等于7。

如果移存器的初始状态为全0,即0,0,0210===aaa。

则此状态在时钟脉冲作用下不会改变。

即全0初始状态下产生的序列为全0序列。

非全0状态下,移存器状态变化的顺序由图9及图10表示:

1=

CP

图8m序列产生电路逻辑框图

图9非全0状态下的状态转移图图10全0状态下的状态转移图其中图3圆圈中的数字与210,,aaa相对应。

上述7位码m序列产生器由三级移位寄存器组成,每一级移位寄存器有两个可能状态(0,1),

三级移位寄存器的所有可能状态为823

=种:

000,001,010,011,

100,101,110,111。

其中全0状态不能进入m序列产生器的移存器,否则将出现全0序列。

由此可见,三级移存器组成的线性反馈电路所

产生的序列周期不会超过7123

=-种。

一般情况下,由n级移存器组成的线性反馈电路所产生的序列周期不会超过12-n

如图11所示为

由n级具有线性反馈逻辑移存器所组成的码序列发生器的框图:

图11线性反馈移位寄存器序列发生器

图11中反馈输出na与移存器状态321---nnnaaa…0a的关系可用式(4)表示:

1

5247

na=332211---⊕⊕nnnacacac…0acn⊕(4)

其中系数1,0(∈kc,,3,2,1=k…,n。

0=kc时,图5中相应的反馈连接断开;

1=kc时,相应的反馈连接接通。

由此可见,系数321ccc…nc的取值决定了反馈逻辑。

反馈逻辑可由特征多项式(xf表示:

++++=332210(xcxcxccxf…nnxc+(5)

其中1,0(∈kc,,3,2,1=k…,n;

n为寄存器级数。

因为码序列发生器中反馈逻辑总是接入的,所以式(5)中10=c。

41(xxxf++=,表示有4=n,有4级寄存器,且:

1,0,0,14321====cccc。

不同特征多项式对应不同的反馈逻辑,即对应不同的序列。

由n

级移存器组成的线性反馈电路所产生的序列周期不会超过12-n,其中

周期等于12-n的序列即是m序列(最长线性反馈移存器序列)。

构成m序列产生器必须找到相应的本原多项式。

经过前人的大量计算,已将常用的本原多项式列成表,如表3所示

表3m序列计数表

线性反馈逻辑用本原多项式表示称为代数表示法,此外,还可以用八进制数和二进制数表示。

表3列出了这三种表示法。

同长度不同反馈系数的m序列的数日等于同幂次的本原多项式的数目。

可以证明:

n幂次本原多项式的数目为:

nNns12(-Φ=(6)

(xΦ为欧拉函数,它等于:

小于x的并与x互质的数的个数(包括l在内)。

例如,15=x,则小于15并与l5互质的数为:

1,2,4,7,8,11,13,14,共8个,则815(=Φ;

24/8==sN。

3.4m序列伪随机码在军事中的应用

扩频通信,即扩展频谱通信(SpreadSpectrumCommunication,它与光纤通信、卫星通信,一同被誉为进入信息时代的三大高技术通信传输方式。

具有巨大的发展前景。

扩展频谱通信(SpreadSpectrumCommunication)的原理发表的很早,它是将待传送的信息数据被伪随机编码也就是扩频序列调制,实现频谱扩展以后再在信道中传输,接收端则采用与发送端完全相同的编码进行解调和相关处理,从而恢复出原始的信息数据。

从这里我们可以看出,扩展频谱通信(以下简称扩频通信)作为一种新的通信方式与一般的常见的窄带通信方式是不同的,它们刚好相反,它是在发送端经过扩展频谱以后,在信道中进行宽带传输,然后在接收端进行相关处理以及解扩后恢复成窄带后解调数据。

恢复出原始信息数据。

因此,扩频通信具有伪随机编码调制和相关处理两个特点。

也正是这两个特点,使得扩频通信方式有许多优点:

如抗干扰、抗噪音、抗多径衰落、具有保密性、功率谱密度低,具有隐蔽性和低的截获概率、可多址复用和任意选址、可以用于高精度测量等。

正是由于扩频通信方式具有上述的优点,所以扩频通信虽然是一

种新型的通信方式,但是引起了人们的广泛注意,得到了迅速的发展和广泛的应用。

从扩频通信的应用发展来看,真正开始研究它的应用的是在上个世纪50年代中期美国开始的。

刚开始一直用于军事通信领域,因为在军事通信中,一般通信方式在强干扰存在的情况下,很难准确的检测出发送来的信号,由于扩频通信具有很好的保密信和抗干扰性,所以首先开始了在军事通信领域的应用。

成为扩频通信研究发展的开端,从此,军事通信机关对军事通信、空间探测、卫星侦察等方面广泛应用扩频通信技术。

利用m序列加密的码分多址(CDMA通信码分多址具有如下几个优点:

(1抗干扰能力强

在地址码相关特性较理想和频谱扩展程度较高的条件下,码分多址具有很强的抑制干扰能力,直接表现在扩频解调器的输出信噪比相对于输入信噪比要高得多。

(2较好的保密通信能力

由于采用了扩频调制,在信道中传输所需的载波与噪声的功率比很低(约为-20dB),信号完全隐蔽在噪声、干扰之中,不易被发现;

用独特的地址码进行扩频调制相当于一次加密,增加了破译的难度。

(3实现多址连接较灵活方便

所以码分多址方式也以很快的增长速度在地面的移动通信系统

和无线接入网中应用,即将投入商用的第三代移动通信就是采用了码分多址方式。

利用m序列加密的码分多址通信码的流程图如图12所示:

图12m序列加密码分多址通信码流程图

由图所示,信号源产生信号1X经m序列发生器信号Y调制,得到一个加密信号E。

该信号经发送,通过信道被用户接受。

用户所得加密信号E按照相同的m序列发生器信号Y解调,将信号源信号1X还原,使之能被用户使用。

4使用Proteus软件对伪随机码发生器仿真

4.1Proteus软件介绍

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

Proteus是世界上著名的EDA工具(仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。

Proteus软件的主要功能。

(1)原理布图;

(2)PCB自动或人工布线;

(3)SPICE电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

除此以外还可仿真处理器及其外围电路,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

在Proteus绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。

这在相当程度上替代了传统的单片机实验的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

4.2电路图绘制

在Protues中,根据系统仿真所需功能,绘制电路图如图13所示。

图13系统电路图单片机所用晶振为1MHz,P0口接三个独立式按键,P2口接LCD12864。

4.3仿真结果仿真结果如图14所示,每按下一个键,显示出的数字就做出改变。

在液晶屏的上部有欢迎使用四个字,第二排显示伪随机码,第二位做出循环改变。

4结论本文所论述的伪随机码发生器系统较为简单,仅仅针对m值为3、4和5做了三种不同情况的显示。

通过显示结果可以发现,当m值为5时,重复周期就达到了31。

在实际扩频通讯中,m值越高,则加密性能越好。

但是,一但敌军通过计算,比较还是能够比较容易的找到显示规律,从而窃取情报。

因此就需要对发生器做进一步的研究,比如将m值不同的两个序列混合编码输出。

总之,这需要在本文提出的设计思想上做更进一步的反复论证与试验。

致谢本次毕业设计在指导老师韩彦征的精心指导下完成的,毕业设计的全过程导师提供了有用的思路大量的心血和汗水。

毕业设计是检验

和锻

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1