当前位置:文档之家› 伪随机码

伪随机码

伪随机码
伪随机码

课程设计任务书

学生姓名:周成浩专业班级:电信1404

指导教师:苏杨工作单位:信息工程学院

题目:伪随机序列的产生及应用设计

初始条件:

具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1、设计伪随机码电路:产生八位伪随机序列(如M序列、Gold序

列等);

2、了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如

DAC0808),观察其模拟信号的特性;

3、分析信号源的特点,使用EWB软件进行仿真;

4、安装和调试整个电路,并测试出结果;

5、进行系统仿真,调试并完成符合要求的课程设计书。

时间安排:

一周,其中3天硬件设计,2天硬件调试

指导教师签名:年月

系主任(或责任教师)签名:年月日

摘要

伪随机序列具有良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用。此次课设根据m序列、M序列的产生原理,利用1片74LS164或2片74LSl94级联加少量分立元件,采用手动置数和自启动2种方法设计了3种长度为255位的m序列发生器和256位M序列发生器。

关键词:伪随机码;m序列;M序列;移位寄存器;D/A转换

目录

1.设计项目要求与说明 (2)

2.设计相关知识介绍 (3)

2.1 伪随机序列的定义 (3)

2.2 设计方法对比 (3)

2.3 m序列原理及其产生 (5)

2.4 芯片介绍 (8)

3.仿真电路设计与调试 (12)

3.1 电路设计 (12)

3.2 仿真调试 (13)

4.实物安装与调试 (12)

4.1 电路的焊接 (16)

4.2 电路的调试 (16)

5.总结与体会 (16)

参考文献 (17)

附录一实物图 (179)

附录二元件清单 (20)

1.设计项目要求与说明

本次课设主要是以增进对伪随机序列的认识,加深对通信原理理论方面的理解,使学生了解如何产生伪随机序列以及D/A的工作原理及使用方法,并将伪随机序列输入D/A转换器,观察其模拟信号特性为目的。

任务书中要求设计伪随机码电路:产生八位伪随机序列(如m序列、M序列、Gold序列等);了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如DAC0808),观察其模拟信号的特性;分析信号源的特点,使用EWB软件进行仿真;安装和调试整个电路,并测试出结果;进行系统仿真,调试并完成符合要求的课程设计书。

2.设计相关知识介绍

2.1 伪随机序列的定义

伪随机噪声在通信系统中有着十分重要的作用。香农编码定理指出,在某些条件下为了实现最有效的通信。应采用具有高斯统计特性的白噪声信号。另外,为了实现可靠的保密通信,也希望利用白噪声。

然而,利用白噪声最大的困难在于白噪声无法重复产生,而只能用类似于白噪声特性的伪随机序列来逼近白噪声特性。伪随机噪声具有类似于随机噪声的统计特性,同时又便于重复的产生与处理。由于它具有随机噪声的优点,同时又避免了随机噪声的缺点,因此获得日益广泛的应用,如扩频通信、测距、导航、多址、保密编码和抗干扰系统、数字通信中的同步等。

伪随机噪声一般由数字电路产生的周期序列,称为伪随机序列。伪随机序列有时又被称为伪随机信号和伪随机码。如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。

一般的,伪随机序列指的是m 序列、M 序列和GOLD 序列。

2.2 设计方法对比

方案一:m 序列

最长线性移位寄存器通过移位产生的序列码,即为m 序列码,一定级数的移位寄存器产生m 序列的数目为

()

21r p N r p φ?=

??

?=-?

(公式1) 其中:r ,p 分别为m 序列的级数和周期;φ(p)为欧拉函数;N 为m 序列的数目。例如,如果移位寄存器的级数为3或4,那么为m 序列码的周期就是7或15。

本次课程设计采用的移位寄存器为8级,则周期为255。它是一个按一定规律周期变化的伪随机序列,具有随机噪声类似的特性,m 序列码自相关很好,不同的m 序列码{i a }和{i b }互相关性几乎为0。

优点:m 序列由于具有很好的为噪声性质,并且产生方法比较简单,受到广

泛应用。

缺点:m 序列的周期受到限制,只能为(21)r -。当r 较大时,相邻周期相距较大,有时不能从m 序列得到所需周期的伪随机序列。

方案二:M 序列

M 序列码是在m 序列的基础上升级的,在状态上,M 序列比m 序列多1个,即为全零状态。是一种具有随机特性和预先可确定性,以及可重复实现等优点的伪随机码。由于在一个周期内“1”和“0”出现概率大致相等,因此,具有类似白噪声的统计特性,可以代替白噪声,另外,由于是很长伪随机序列,也广泛应用在CDMA 通信。

一定级数的移位寄存器产生M 序列的数目为

()()1

22

2

r r r

N p --??=?

?=? (公式2) 式(2)中:r ,P 分别为m 序列的级数和周期;N 为m 序列的数目。对比式(1)和(2),可知:相同的寄存器的级数条件下,M 序列的周期是m 序列周期的2倍,而且,M 序列地址码数量比m 序列的地址码数量大许多倍。因此,为码分多址选择可用地址码创造了优良的条件,增强了多址能力。

优点:M 序列是非线性序列,可用的跳频图案很多,跳频图案的密钥量也大,并有较好的自相关和互相关特性,所以它是较理想的跳频指令码。

缺点:硬件产生时设备较复杂。 方案三:GOLD 序列

GOLD 序列是在m 序列基础上提出并分析的一种特性较好的伪随机序列,它是由两个码长相等、码时钟速率相同的m 序列优选对通过模2相加而构成的。

如果两个m 序列,他们的互相关函数的绝对值有界,且满足以下条件,

r 12

r 12r 为奇数

r 为偶数,但不能被4整除21,()21,ab R τ++?+?≤??+?

(公式3)

满足式(3),我们称这一对m 序列为优选对。每改变两个m 序列相对位移就可得到一个新的Gold 序列,当相对位移r 2-1位时,就可得到一族r 2-1个Gold

序列。再加上两个m 序列,共有r 2+1个Gold 序列码。

优点:Gold 序列具有良好的自、互相关特性,且地址数远远大于m 序列地址数。

缺点:当设计8级伪随机码时,无法找到优选对。

综上所述,M 序列和GOLD 序列都是基于m 序列产生的,此处为了提高个人能力,我选择了m 序列和M 序列的生成电路设计,由于后者是前者基础上产生的,所以M 序列的设计比较而言更为复杂。

2.3 m 序列原理及其产生

m 序列是最长线性反馈的移位寄存器序列的简称。它是由带线性反馈的移存器产生的周期最长的序列。在8级线性反馈移存器中,设其初值状态(87654321,,,,,,,a a a a a a a a )=(1,0,0,0,0,0,0,0),则在移位一次时,由8a 、4a 、3a 、 2a 模2相加产生新的输入8a =8a ⊕4a ⊕3a ⊕2a =1,新的状态变为(98765432,,,,,,,a a a a a a a a )=(1,1,0,0,0,0,0,0)。这样移位255次后又回到初始状态(1,0,0,0,0,0,0,0)。不难看出,若初始状态为全“0”,即(0,0,0,0,0,0,0,0),则移位后得到的仍为全“0”状态。这就意味着在这种反馈移存器中应该避免出现全“0”状态,否则移存器的状态将不会改变。因为8级移存器共有2的8次方256种可能的状态,除全“0”状态外,只剩255种状态可用。这就是说由任何8级反馈移存器产生的序列的周期最长为255,8级线性反馈移存器产生m 序列如图2.1所示。

8

1000000001000000 (21255)

(000010110000010110000000)

?

???

?

?-=???

?

???--

-

图2.1 8级反馈移存器产生m 序列原理图

m 序列的产生我们常常希望用尽可能少的技术产生尽可能长的序列。一般来

说,一个n 级线性反馈移存器可能产生的最长周期等于(21)-n ,我们讲这种最长的序列称为最长线性反馈移存寄存器序列,简称m 序列。

下图(图2.2)为一般的线性反馈移存原理方框图,图中各级移存器的状态用i a 表示,0=i a 或1,=i 整数。反馈线的连接状态用i c 表示,1=i c 表示此线接通(参加反馈);0=i c 表示此线断开。不难推想,反馈线的连接状态不同,就可能改变此移存器输出序列的周期0p 。

图2.2 线性反馈移存原理方框图

设一个n 级移存器的初始状态为:12...---n a a a ,经过1次移位后,状态变为

011...--+n a a a 。经过n 次移位后,状态为120...--n n a a a ,图1所示就是这一状态。再

移位1次时,移存器左端新得到的输入n a ,按照图中线路连接关系,可以写为

11221101...----==⊕⊕⊕⊕=∑n

n n n n n i n i i a c a c a c a c a c a (模2) (公式4)

因此,一般说来,对于任意一个输入k a ,有

1n

k i k i i a c a -==∑ (公式5)

上式中求和仍为按模2运算,上式称为递推方程,它给出移位输入k a 与移位前各级状态的关系。按照递推方程计算,可以用软件产生m 序列,不必用上图的硬件电路实现。

上面曾经指出,i c 的取值据诶的那个了移存器的反馈连接和序列的结构,故

i c 是一个很重要的参量。现在将它用下列方程表示:

2

0120

()...n

n

i n i i f x c c x c x c x c x ==++++=∑ (公式6)

这一方程称为特征方程。式中i

x 仅指明其系数(1或0)代表i c 的值,x 本身的取值并无实际意义,也不需要去计算x 的值。例如,若特征方程为

4()1f x x x =++ (公式7)

则它仅表示01,x x 和4x 的系数0141===c c c ,其余的i c 为0,即230==c c 。

同样,我们也可以将反馈移存器的输出序列{}k a 用代数方程表示为

2

0120()...k k k G x a a x a x a x ∞

==+++=∑ (公式8)

上式称为母函数。

递推方程、特征方程和母函数就是我们要建立的三个基本关系式。下面的几个定理将给出它们与线性反馈移存器及其产生的序列之间的关系:

定理1:()()()=f x G x h x 其中,h (x )为次数低于f (x )的次数的多样式。

定理2:一个n 级线性反馈移存器之相继状态具有周期性周期为21≤-n

p 。

定理3:若序列{}=k A a 具有最长周期(21)=-n p ,则其特征多项式f (x )应为既约多项式。

定理4:一个n 级移存器的特征多项式f (x )若为既约的,则由其产生的序列{}=k A a 的周期等于使f (x )能整除的(1)+p x 中最小整数p 。

有了上述定理之后,我们还需引入本原多项式的概念。若一个n 次多项式 f (x )满足下列条件: f (x )为既约的;

f (x )可整除(1)+m x ,21=-n m ;

f (x )除不尽

(1)+q

x ,q

这样,由定理4就可以简单写出一个线性反馈移存器能产生m 序列的充要条件为:反馈移存器的特征多项式为本原多项式。

由上述可见,只要找到了本原多项式,就能由它构成m 序列产生器。但是寻找本原多项式并不是很简单的,经过前人大量的计算已将常用本原多项式列成表备查,如在表1中列出了一部分。

表1 本原多项式

2.4 芯片介绍

2.4.1 移位寄存器74LS194

移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或者右移。既能够左移又能够右移的称为双向移位寄存器,只需改变左移、右移的控制信号便可以实现双向移位要求。根据移位寄存

3、2D 、

1D 、

L S 为左移串行输入端;1S 、0S 为操作模式控制端;C R 为直接异步清零端;CP 为时钟脉冲输入端。

74LS194有5种不同操作模式:并行送数寄存;右移(方向由3Q →0Q );左移(方向由0Q →3Q );保持及清零。1S 、0S 和CR

端的控制作用如表2所示。

表2 74LS194功能表

移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或并行数据转换为串行数据等。

利用74LS194循环寄存的功能,再通过特定的反馈电路,将一个反馈信号送到串行输入端,则可实现特定的序列信号。序列信号的长度和数值与移位寄存器的位数及反馈信号的逻辑功能值有关。

2.4.2 移位寄存器74LS164

74LS164芯片是一个8位串入并出移位寄存器,其8个输出脚分别对应着QA~QH 。VCC 接正5伏电源,GND 接地,CLR 接高电平,CLK 接脉冲信号(频率自选)。其管脚如图2.4所示:

图2.4 74LS164引脚排列图

其功能表如表3所示:

表3 74LS164功能表

2.4.3 D/A转换器DAC0808

DAC0808是倒T型电阻网络的权电流8位D/A转换器,它的内部由倒T型电阻网络、模拟开关、运算放大器和参考电压VREF四部分组成。芯片的引脚排列如图2.5所示。其中D0~D7是数字信号输入端,IO是求和电流输出端,V(+)、V(-)是基准电压输入端,COMP是外接补偿电容端,VCC、VEE是正、负电源输入端,GND是接地端。

EE O 7 6 5 4

图2.5 DAC0808引脚排列图

DAC0808输出的是电流,要转换成电压,还必须外接一个运算放大器和反馈R,外接运放后的输出电压为

电阻

f

∑=??-=7

8

)2(2

i i

REF

F O Di V R R V

由上式可见,输出电压VO 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。

DAC0808有8位数据输入端,每位都是二进制取值,于是输入共有256个不同的组合状态,对应的输出也为256个电压之一,即输出电压不是整个电压范围内的任意值,而只能是其中的256个可能值。

3.仿真电路设计与调试

本次课程设计运用了三个方案,第一个方案采用一片74LS164构成八位移位寄存器,第二个和第三个方案采用两片74LS194构成八位移位寄存器。其中第一、第二方案用于产生m 序列,第三种方案用于产生M 序列。

要想产生周期为255的最长序列,要求m 序列发生器的特征多项式必须是8次本原多项式,通过查表得到其本原多项式为84321

x x x x ++++,即第8,4,3,

2级参与反馈经异或后送入下一级。

3.1 电路设计

3.1.1 方案一:m 序列(74LS164)

74LS164为8位串入并出移位寄存器。再通过外部接上门电路,从而构成一个8级反馈移存器,将74LS164的8位输出送入D/A 转换器,具体电路如图3.1所示。

图3.1 m 序列(74LS164)电路

3.1.2 方案二:m 序列(74LS194)

当电路处于全0状态时,采用此方法设计的m 序列发生器不具有自启动特性。为了使电路启动,可以断开开关S2,将74LSl94的工作方式控制端S0置高电平,这时S1和S0均为高电平,即S1S0=11,74LSl94处于置数状态,把输入端的初始状态10000000置到输出端。然后再闭合开关S2,使74LSl94的工作方式控制端S0处于低电平状态。这时工作方式控制端S1与S0,分别为低电平和高电平,即S1S0=01,74LSl94处于右移状态,在时钟作用下通过不断移位产生m 序列。

当初始状态为全零状态时,移位寄存器输出全0序列。为了避免这种情况,需设置全0排除电路,具体电路如图3.2所示。

图3.2 m序列(74LS194)电路

3.1.3 方案三:M序列(74LS194)

在设计电路时,如果按m序列的电路,很难把00000000这个状态加到其它255个状态的循环中,基于这种情况,设计M序列电路如图3.3所示。

图3.3 M序列(74LS194)电路

3.2 仿真调试

m序列和M序列产生电路设计完成进行仿真。

3.2.1 m序列(74LS164)电路仿真调试

选取QH端和DAC0808的输出端所接放大器输出进行仿真,仿真如图3.4所

示。

图3.4 m序列(74LS164)电路仿真波形

3.2.2 m序列(74LS194)电路仿真调试

首先让开关S2断开对74LS194进行置数10000000,然后闭合开关使74LS194工作,我们选取D7端和DAC0808的输出端所接放大器输出进行仿真,仿真如图3.5所示。

图3.5 m序列(74LS194)电路仿真波形

此序列即为通过反馈移存器产生的8位伪随机序列。其初始状态为10000000当m序列发生器启动时,它能生成长度为255的m序列。

3.2.3 M序列(74LS194)电路仿真调试

选取D7端和DAC0808的输出端进行仿真,仿真如图3.6所示。

图3.6 M序列(74LS194)电路仿真波形

此序列其初始状态为00000000当M序列发生器启动时,它能生成长度为256

的M序列。

4.实物安装与调试

综合比较这三种方案,我们课设小组讨论焊接方案一,因为此方案仅需要一枚74LS164,无论从焊接还是工作量上考虑,都是比较合适的。

4.1 电路的焊接

根据设计好的仿真图,进行实物焊接,具体步骤如下:(1)先用万用表检测元件参数是否符合要求。(2)按照原理图,元件装配。(3)装配完成后焊接该硬件,焊接时,以45度靠紧焊接面进行预热;然后将焊锡丝同时伸向被焊的组件脚及焊盘,一起接触被焊处;当焊锡丝熔化,向焊接处推入焊锡丝,使焊锡润湿焊盘与组件脚,当焊点上的焊锡成圆锥形时即抽离焊锡丝。在焊锡完全熔化后,移去烙铁头。如果焊点有连焊,应将焊锡线与烙铁头一起接触在连焊的焊点之间,待焊锡丝与助焊剂一起熔化后,移去焊锡丝,再将烙铁头侧放着向下移走,吸去多余的焊锡;焊点的标准是:焊点呈锥形,焊锡要适量,表面有光泽,光滑,清洁等.(4)焊接的实物图在附录一中展示。

4.2电路的调试

将焊接好的电路进行调试。接通电路电源,将QH点输出接到示波器,观察QH点的输出波形,若为一随机数字序列,则说明伪随机序列产生部分电路是正确的,若不是则有问题,需要继续调试,直到出现正确结果。再将的D/A转换器的输出接到示波器,观察模拟信号,若为一随机噪声,并且信号周期为255,则说明D/A转换部分电路也是正确的。若不是上诉情况则说明电路存在问题,需要找出问题所在,仔细检查电路是否设计正确、是否存在虚焊、是否焊接错误等,找出错误继续调试,直到调试成功为止,最终测得波形如下图4.1所示。

图4.1 实际测量波形图

5. 总结与体会

之前伪随机序列这一章老师在课堂上并没有详细讲解,所以在做课程设计之前,我们认真借阅了有关伪随机码的书籍。了解到m序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列。因为任务书中要求产生8位伪随机序列,故需要设计一个8级反馈移存器,我们直接购买的是一片74LS164,从而构成一个8级反馈移存器。在电路仿真方面,我们采用EWB与Multisim软件仿真,虽然以前也用过这两个软件,但是这次使我在软件的使用上更加的娴熟。

经过这几天的通信原理课程设计,我觉得学习像通信原理这样的专业课知识,不仅要掌握书本上的基本内容,还要灵活思考,善于变换,这样才能找到最优设计,达到事半功倍的效果。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

参考文献

[1] 周新民.工程实践与训练教程.武汉:武汉理工大学出版社,2009.

[2] 李群芳.单片机微型计算机与接口技术(第4版).北京:电子工业出版社,2012.

[3] 肖国镇. 伪随机序列及其应用. 北京:清华大学出版社,2009.6.

[4] 陈永真.全国大学生电子设计竞技试题精讲选.北京:电子工业出版社,2007.

现代密码学第二章知识点复习题20140912_105524

第二章流密码 一、填空: 1. 分组密码和流密码的根本区别在于____________________________ 2. n-LFSR最大周期是__________ 3. 已知一3-FSR,其反馈函数为f(a1,a2,a3)=a1⊕a2a3,且当前的状态(a3,a2,a1)=(101), 则其前两个状态分别是____________,输出序列的周期是____________ 4. n级m序列的异相自相关函数值为____________________ 5. 序列{a i}为m序列的充要条件是_________________________________ 6. 已知{a i}为m序列,且在该序列中最大0游程为4,则该序列的周期是_______ 7. 已知p(x)=x3+x+1, 则其产生的非0序列的异相自相关函数值是________ 8. n级M序列的周期是____________ 9. 已知一钟控生成器由LFSR1控制LFSR2,极小多项式分别为f1(x)=1+x+x3和 f2(x)=1+x2+x3,则产生序列的周期为___________________,线性复杂度为______________________。 10. 已知LFSR1为一10级m序列,LFSR2为以5级m序列,则构成的钟控序 列的周期为______,线性复杂度为______________ 11. n级m序列中长为i的1游程有多少_____,长为n的1游程有多少_____, 长为n的0游程有几个___ 12. 至少知道_________个连续的密钥流bit可以破译m序列 13. RC4算法的最大密钥长度是___________ 14. 已知某一n级LFSR其非零状态的状态转移图为一个大圈,则其产生的非0 序列的周期是________ 15. eSTREAM计划候选算法Grain v1的密钥长度______是针对硬件还是软件开 发的__________ 二、选择:每一项有1个或多个选项是正确的 1. 下面哪些多项式可以作为非退化的5-LFSR的反馈函数(状态转移函数)_____ A. 1+x+x4 B. x1⊕x2⊕x4x5 C. 1+x+x5 D. x4+x5 2.对于一个n-LFSR,设其序列生成函数为A(x),特征多项式p(x),全0状态除外,则下面那个要素与其它要素不是一一对应的________

伪随机码生成器

M序列发生器 M序列是最常用的一种伪随机序列,是一种线性反馈移位寄存器序列的简称。带线性反馈逻辑的移位寄存器设定各级寄存器的初试状态后,在时钟的触发下,每次移位后各级寄存器状态都会发生变化。其中一级寄存器(通常为末级)的输出,随着移位寄存器时钟节拍的推移会产生下一个序列,称为移位寄存器序列。他是一种周期序列,周期与移位寄存器的级数和反馈逻辑有关。 以4级移位寄存器为例,线性反馈结构如下图: 4级以为寄存器反馈图 其中a4=a1+a0

信号a4:a0禁止出现全0,否则将会出现全0,序列不变化。实验仿真 Code: library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --use IEEE.NUMERIC_STD.ALL; -- Uncomment the following library declaration if instantiating -- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity random_4 is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC;

din : in STD_LOGIC_VECTOR (3 downto 0); dout : out STD_LOGIC_VECTOR (3 downto 0); load : in STD_LOGIC); end random_4; architecture Behavioral of random_4 is signal rfsr :std_logic_vector(3 downto 0); --signal temp:std_logic; begin process(clk,reset,load,din) begin if (reset ='1') then rfsr <=(others =>'0'); elsif (clk' event and clk='1') then if(load ='1') then ----load =1 rfsr<= din; else rfsr(3) <= rfsr(0) xor rfsr(1); rfsr(2 downto 0) <= rfsr(3 downto 1); end if; end if; end process; ------signal rename----

(完整版)伪随机序列的毕业设计

摘要 本毕业设计主要介绍了两种常用的反馈移位寄存器序列(m序列和Gold序列)的特性,并对其进行仿真研究。 伪随机序列良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用,特别是作为扩频码在CDMA系统中的应用已成为其中的关键问题。 在本论文中首先简要阐述了伪随机序列的研究现状及其相关意义,接着介绍了伪随机序列的发展历史,研究方法和研究工具。然后分别对m序列和Gold序列这两种常用的伪随机序列的生成过程、随机特性以及相关特性进行了详细的研究,并分析它们的优点以及存在的问题。最后在理论证明的基础上应用MATLAB仿真验证它们的随机特性,并用仿真做出m 序列和Gold序列相关特性图形并加以比较。 关键词:伪随机序列;m序列;Gold序列;相关;

ABSTRACT Matlab software used extensively in many engineering fields due to its strong operation fanction. To expanding or compressing the signal spectrum in spread spectrum system,the signal is generally multipled by a spread Spectrum sequence. The character of spread spectrum sequence significantly affects the communication quality. In all PN sequences, m-sequence and Gold-sequence are often used asspread spectrum sequence. In this paper, the brief introduction of the theory, property and constructing means of the two sequences are given first, and the generation and analysis of them by programming with M language in MATLAB are given later. The simulation results show the correctness and feasibility of this method.The simple and intuitive method is convenient for the engineering personnel. KEYWORDS:PN sequence; Sequence; Spread spectrum sequence 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除

伪随机码发生器设计

伪随机码发生器设计 1 引言 随着科学技术的进步,现代战争样式向信息战形式发展。现代战争胜负对于信息获取的依赖程度前所未有的提高。在现代战争中,若己方的通讯交流方式早敌军破获,则地方将获取己方部队动向或实施信息干扰。将会使部队陷入极其危险地境地中。因此,信息战对通讯加密手段的要求极高。 伪随机序列(Pseudonoise Sequence)又称伪噪声或伪随机码,具有类似随机信号的一些统计特性,但又是有规律的,容易产生和复制的。最大长度线性移位寄存器序列(m序列)是保密通信中非常重要的一种伪随机序列,它具有随机性、规律性及较好的自相关和互相关性,而且密钥量很大。利用m序列加密数字信号,使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。这样,通过对m序列的应用,将大大的提高通讯的保密程度和防窃取能力。这样的通讯手段被称为扩展频谱通信 扩展频谱通信(Spread Spectrum Communication)是将待传送的信息数据被伪随机编码也就是扩频序列调制,实现频谱扩展以后再在信道中传输,接收端则采用与发送端完全相同的编码进行解调和相关处理,从而恢复出原始的信息数据。在这其中,伪随机码发生器是十分重要的一环,是对信息加密的核心器件。m序列伪随机码发生器即使通过m序列的方式对信息数据编码。 本系统所设计的伪随机码发生器,产生m序列伪随机码。系统采用AT89S51单片机作为控制芯片,控制使用LCD12864显示处理器产生的m序列伪随机码,并且可通过按键对参数修改,设置初始码及m 序列长度。单片机根据设定的初始码及m序列长度,按照约定的逻辑运算关系,循环往复的产生0或者1。 2 发生器系统设计 2.1总体设计 系统分为信息处理、实时显示和按键修改共五大模块。 系统总体结构框图如图1所示:

实验一 伪随机码发生器实验

实验一伪随机码发生器实验 电科1103 杨帆 3110104337 一、实验目的 1、掌握伪随机码的特性。 2、掌握不同周期伪随机码设计。 3、用基本元件库和74LS系列元件库设计伪随机码。 4、了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。 5、学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。 6、熟悉通信原理实验板的结构。 二、实验仪器 1、计算机一台 2、通信基础实验箱一台 3、100MHz示波器一台 三、实验原理 伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源; 扰码;误码测试;扩频通信;保密通信等领域。伪随机码的特性包括四个方 面: 1、由n级移位寄存器产生的伪随机序列,其周期为-1; 2、信码中“0”、“1”出现次数大致相等,“1”码只比“0”码多一个; 3、在周期内共有-1游程,长度为i 的游程出现次数比长度为i+1的游程出现 次数多一倍; 例如:四级伪码产生的本原多项式为X 4 +X 3+1。 利用这个本原多项式构成的4级伪随机序列发生器产生的序列为: 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 四、实验内容及步骤 1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计 电路原理图如图1-2所示。

在MAXPLUS II 环境下输入上述电路,其中:dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器 clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚

扩频系统使用的伪随机码PN码

第六章 扩频系统使用的伪随机码(PN 码) 在扩展频谱系统中,常使用伪随机码来扩展频谱。伪随机码的特性,如编码类型,长度,速度等在很大程度上决定了扩频系统的性能,如抗干扰能力,多址能力,码捕获时间。 6.1 移位寄存器序列 移位寄存器序列是指由移位寄存器输出的由“1”和“0”构成的序列。相应的时间波形是指由“1”和“-1”构成的时间函数,如图6-1所示。 图6-1 (a )移位寄存器序列 (b )移位寄存器波形 移位寄存器序列的产生如图6-2 。主要由移位寄存器和反馈函数构成。移位寄存 器内容为),,,(21n x x x f 或1,反馈函数的输入端通过系数与移位寄存器的各级状态相联()(1)(0通或断=i c )输出通过反馈线作为1x 的输入。移位寄存器在时钟的作用下把反馈函数的输出存入1x ,在下一个时钟周期又把新的反馈函数的输出存入1x 而把原1x 的内容移入2x ,依次循环下去,n x 不断输出。 根据反馈函数对移位寄存器序列产生器分类: (1) 线性反馈移位寄存器序列产生器(LFSRSG ):如果),,(1n x x f 为n x x ,,1 的模2加。 (2) 非线性反馈移位寄存器序列产生器(NLFSRSG ):如果),,(1n x x f 不是n x x ,,1 的 模2加。 例1: LFSRSG :n=4,4314321),,,(x x x x x x x f ⊕⊕= (a) 图6-2 移位寄存器序列生成器

共16个不同状态,1111,0000为死态,每个状态只来自一个前置态。 例2: LFSRSG :n=4,4143214321),,,(,1,0,0,1x x x x x x f c c c c ⊕===== 设初态为:1,1,1,14321====x x x x ,则移位寄存器状态转移图如下:

基于MATLAB的伪随机序列发生器的设计

通信工程专业 计算机课程设计 题目基于MATLAB的伪随机序列发生器的设计 学生姓名学号 所在院(系) 专业班级 指导教师 完成地点 2013年 11 月 12 日

计算机课程设计任务书 院(系) 专业班级学生姓名 一、课程设计题目基于matlab的伪随机序列发生器的设计 二、课程设计工作自 2013 年 10 月 27 日起至 2013 年 11 月 22 日止 三、课程设计进行地点: 四、课程设计的内容要求: 1、要求完成七级m 序列发生器的设计(本原多项式自定); 2、要求完成五级gold 序列发生器的设计(本原多项式自定); 3、采用matlab实现,并对其进行调试运行; 4、要求能清楚观察到稳定的序列。 指导教师系(教研室) 通信工程系 接受任务开始执行日期 2013年10月27日学生签名 基于matlab的伪随机序列发生器的设计

[摘要]伪随机序列码越来越受到人们的重视,被广泛用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。本文主是对基于matlab的伪随机序列发生器的设计,及其利用matlab软件对其进行仿真和利用simulink对其仿真性能的研究,主要阐述了扩频系统中m序列和gold序列的产生。在第一部分中介绍了课题研究的背景,第二部分中介绍了扩频系统的相关知识,第三部分介绍了m序列和Gold序列产生的原理和方法,第四部分利用matlab和simulink对其进行仿真。 [关键词]伪随机序列 m序列移位寄存器 Design of the pseudo-random sequence generator based on matlab

伪随机序列

太原理工大学现代科技学院 移动通信技术课程实验报告 专业班级 学号 姓名 指导教师

实验名称 伪随机序列 同组人 专业班级 学号 姓名 成绩 一、 实验目的 掌握数字锁相环的组成、工作原理及在位同步恢复中的应用。 通过本实验掌握m 序列的特性、产生方法及应用。 通过本实验掌握Gold 序列的特性、产生方法及应用,掌握Gold 序列与m 序列的区别. 二、 实验内容 1、观察位同步电路信号波形及特性。 2、观察数字锁相环提取位同步的相位抖动 。 3、观察m 序列,识别其特征。 4、观察m 序列的自相关特性。 5、观察Gold 序列,识别其特征。 6、观察Gold 序列的自相关特性及互相关特性。 三、 实验原理 1数字基带信号本身是否含有位同步信息与其码型有密切关系。二进制基带信号中的位同步离散谱分量是否存在,取决于二进制基带矩形脉冲信号的占空比。若单极性二进制矩形脉冲信号的码元周期为T s ,脉冲宽度为τ,则NRZ 码的τ=T s ,则NRZ 码除直流分量外不存在离散谱分量,即没有位同步离散谱分量1/T s ;RZ 码的τ满足0<τ

专业实验类:伪随机信号发生器

H a r b i n I n s t i t u t e o f T e c h n o l o g y EDA技术高级应用 实验报告 姓名:禾小鬼 同组人: 学号:16S 班级:信息2班 指导教师:xxx 院系:电信学院

实验二伪随机信号发生器 一、实验原理 实验要求设计一个伪随机信号发生器,什么是伪随机信号发生器?如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。因此可以说,伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。特性为序列中两种元素出现的个数大致相等;如果把n个元素连续出现叫做一个长度为n的元素游程,则序列中长度为n的元素游程比长度为n+1的元素游程多一倍;序列有类似白噪声的自相关函数。 实验指导书上已经给出一个4位伪随机信号发生器的原理图,如图1所示,一个4位的移位寄存器,第1级和第4级的输出信号通过一个异或门反馈到第1级的输入。随着连续的时钟周期信号,可以生成15个不同的测试向量。 图1 伪随机二进制序列产生器 在开始之前,首先要明确设计目的,我们的想要用电路图方法实现设计一个“伪随机信号发生器”。首先设计一个4位伪随机信号发生器,按照图1所示连接电路即可。然后,扩展到多位。

人教版高中数学必修三 第二章 统计第三章简单随机抽样-知识点

第三章 简单随机抽样 第一节 简单随机抽样概述 一、简单随机抽样的概念 简单随机抽样也叫作纯随机抽样。其概念可有两种等价的定义方法: 定义之一:简单随机抽样就是从总体N 个抽样单元中,一次抽取n 个单元时,使全部可能的)(N n A 种不同的样本被抽到的概率均相等,即都等于1/A 。 按简单随机抽样,抽到的样本称为简单随机样本。 按上述定义,在抽取简单随机样本之前,应将所有可能的互不相同的样本一一列举出来。但当N 与n 都比较大时,要列出全部可能的样本是不现实的。因此,按上述定义进行抽样是不太方便的。 定义之二:简单随机抽样是从总体的N 个抽样单元中,每次抽取一个单元时,使每一个单元都有相等的概率被抽中,连续抽n 次,以抽中的n 个单元组成简单随机样本。 由于定义二无需列举全部可能的样本,故比较便于组织实施。但按这个定义进行抽样时,仍然需要掌握一个可以赖以实施抽样的抽样框。 二、简单随机抽样的具体实施方法 常用的有抽签法和随机数法两种。 (一)抽签法 抽签法是先对总体N 个抽样单元分别编上1到N 的号码,再制作与之相对应的N 个号签并充分摇匀后,从中随机地抽取n 个号签(可以是一次抽取n 个号签,也可以一次抽一个号签,连续抽n 次),与抽中号签号码相同的n 个单元即为抽中的单元,由其组成简单随机样本。 抽签法在技术上十分简单,但在实际应用中,对总体各单元编号并制作号签的工作量可能会很繁重,尤其是当总体容量比较大时,抽签法并不是很方便,而且也往往难以保证做到等概率。因此,实际工作中常常使用随机数法。 (二)随机数法 随机数法就是利用随机数表、随机数骰子或计算机产生的随机数进行抽样。由于计算机产生的随机数实际上是伪随机数,不是真正的随机数,特别是直接采用一般现成程序时,产生的随机数往往不能保证其随机性。因此,一般使用随机数表,或用随机数骰子产生的随机数,特别在n 比较大时。 1、随机数表及其使用方法 随机数表是由0到9的10个阿拉伯数字进行随机排列组成的表。 所谓随机排列,即每个数字都是按等概和重复独立抽取的方式排定的。在编制时,使用一种特制的电器或用计算机,将0至9的10个数字随机地自动摇出,每个摇出的数字就是一个随机数字。为使用方便,可依其出现的次序,按行或按列分成几位一组进行排列。根据不同的需要,它们所含数字的多少以及分位和排列的方式尽可以不同。 目前,世界上已编有许多种随机数表。其中较大的有兰德公司编制,1955年出版的100万数字随机数表,它按五位一组排列,共有20万组;肯德尔和史密斯编制,1938年出版的10万数字随机数表,它也按五位一组排列,共有25000组。我国常用的是中国科学院数学研究所概率统计室编印的《常用数理统计表》中的随机数表。 随机数表的用途很多,不仅可以组织等概样本,也可组织不等概样本。 简单随机抽样属等概率抽样,在使用随机数表时,要注意以下几点:

实验一伪随机码发生器实验

实验一 伪随机码发生器实验 一、实验目的 1、 掌握伪随机码的特性。 2、 掌握不同周期伪随机码设计。 3、 用基本元件库和74LS系列元件库设计伪随机码。 4、 了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。 5、 学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。 6、 熟悉通信原理实验板的结构。 二、实验仪器 1、 计算机 一台 2、 通信基础实验箱 一台 3、 100MHz 示波器 一台 三、实验原理 伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源;扰码;误码测试;扩频通信;保密通信等领域。伪随机码的特性包括四个方面: 1、 由n 级移位寄存器产生的伪随机序列,其周期为-1; n 2 2、 信码中“0”、“1” 出现次数大致相等,“1”码只比“0”码多一个; 3、 在周期内共有-1游程,长度为 i 的游程出现次数比长度为 i+1的 游程出现 次数多一倍; n 24、 具有类似白噪声的自相关函数,其自相关函数为: ()() ?? ? ?≤≤=??=2 210 12/11n n τττρ 其中n 是伪随机序列的寄存器级数。 例如:四级伪码产生的本原多项式为X 4+X 3+1。 利用这个本原多项式构成的4级伪随机序列发生器产生的序列为: 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 相应的波形图如图1-1所示:

图1-1 四级伪随机序列波形图 用4个D 触发器和一个异或门构成的伪码发生器具有以下特性: 1、 周期为24-1=15; 2、 在周期内“0”出现24 -1-1=7次,“1”出现24 -1=8次; 3、 周期内共有24 -1 =8个游程; 4、 具有双值自相关特性,其自相关系数为: ????≤≤??==2 21)12(10 14 4τ / τ ρ(τ) 四、实验内容及步骤 1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计 电路原理图如图1-2所示。 图1-2 四级伪随机码电路原理图 在MAXPLUS II 环境下输入上述电路,其中: dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器 clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚 1.2 实验电路编译及FPGA 引脚定义 完成原理图输入后按以下步骤进行编译: (1) 在Assign Device 菜单选择器件MAX7128SLC84。

伪随机序列

伪随机序列 扩频通信技术在发送端以扩频码进行扩频调制,在接收端以相关解扩技术进行收信,这一过程使其具有诸多优良特性,即抗干扰性能好、隐蔽性强、干扰小、易于实现码分多址等。 扩频调制即是将扩频码与待传输的基带数字信号进行模二叠加(时域相乘)。扩频调制后的信号还需经过载波调制后才可发送至信道。而接收端则采用相干解扩和解调,恢复出原始数据信息,以达到抑制干扰的目的。 扩频调制是通过伪随机码或伪随机序列来实现的。从理论上讲,用纯随机序列来扩展信号的频谱是最重要的,但是接收端必须复制同一个伪随机序列,由于伪随机序列的不可复制性,因此,在工程中,无法使用纯随机序列,而改为采用伪随机序列。 各类扩频通信系统都有伪随机编码序列,而且具有良好随机特性和相关特性的扩频编码对于扩频通信是至关重要的,对扩频通信的性能具有决定性的重要作用。在扩频通信系统中,抗干扰、抗截获、信息数据隐蔽和保密、多径保护和抗衰落、多址通信、实现同步捕获等都与扩频编码密切相关。能满足上述要求的扩频编码应具有如下的理想特性: (1)有尖锐的自相关特性; (2)有处处为零的互相关; (3)不同码元数平衡相等; (4)有足够的编码数量; (5)有尽可能大的复杂度。 m序列 m序列是最长线性移位寄存器序列的简称。顾名思义,m序列是由多级移位寄存器或其延迟元件通过线性反馈产生的最长的码序列。在二进制移位寄存器中,若n为移位寄存器的级数,n级移位寄存器共有2n个状态,除去全零状态外,还剩下2n-1种状态,因此它能产生最大长度的码序列为2n-1位。故m序列的线性反馈移位寄存器称做最长线性移位寄存器。 产生m序列的移位寄存器的电路结构,即反馈线连接不是随意的,m序列的

伪随机序列发生器

伪随机序列发生器 一、实验目的: 理解伪随机序列发生器的工作原理以及实现方法,掌握MATLAB\DSP BUILDER设计的基本步骤和方法。 二、实验条件: 1. 安装WindowsXP系统的PC机; 2. 安装QuartusII6.0 EDA软件; 的序列发生器,并通 ⒈ ⒉ ⒊⒋⒌⒍⒎⒏ ⒐ ⒑ ⒒⒓⒔⒕⒖⒗ 四、实验原理: 对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列),由于载有信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性,不利于数字信号的传输。对此,可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;然后在接受端进行解扰操作,恢复到原来的信号。伪随机序列广泛应用与这类加扰与解扰操作中。我们下面用DSP BUILDER来构建一中伪随机序列发生器——m序列发生器,这是一种很常见的伪随机序列发生器,可以由线性反馈器件来产生,如下图:

其特征多项式为: ()∑==n i i i x C x F 0 注:其中的乘法和加法运算都是模二运算,即逻辑与和逻辑或。 可以证明,对于一个n 次多项式,与其对应的随机序列的周期为。 12?n 接下来我们以为例,利用DSP BUILDER 构建这样一个伪随机序列发生器。 125++x x 开Simulink 浏览器。 Simulink 我们可以看到在Simulink 工作库中所安装的Altera DSP Builder 库。 2. 点击Simulink 的菜单File\New\Model 菜单项,新建一个空的模型文件。

伪随机序列

目录 伪随机序列 (2) 1 基本原理 (2) 1.1 背景 (2) 1.2 实现原理 (2) 2 实现方式 (3) 3 FPGA的实现 (5) 3.1 设计思路 (5) 3.2 代码实现分析 (5) 3.2.1斐波那契方式 (5) 3.2.2伽罗瓦方式 (9) 4 总结 (12)

伪随机序列 1 基本原理 1.1 背景 随着通信技术的发展,在某些情况下,为了实现最有效的通信应采用具有白噪声统计特性的信号;为了实现高可靠的保密通信,也希望利用随机噪声;另外在测试领域,大量的需要使用随机噪声来作为检测系统性能的测试信号。然而,利用随机噪声的最大困难是它难以重复再生和处理。伪随机序列的出现为人们解决了这一难题。伪随机序列具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理,有预先的可确定性和可重复性。由于它的这些优点,在通信、雷达、导航以及密码学等重要的技术领域中伪随机序列获得了广泛的应用。而在近年来的发展中,它的应用范围远远超出了上述的领域,如计算机系统模拟、数字系统中的误码测试、声学和光学测量、数值式跟踪和测距系统等也都有着广阔的使用。 伪随机序列通常由反馈移位寄存器产生,又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器,即为通常说的m序列,因其理论成熟,实现简单,应用较为广泛。 m序列的特点: (1)每个周期中,“1”码出现2n-1次,“0”码出现2n-1次,即0、1出现概率几乎相等。 (2)序列中连1的数目是n,连0的数目是n-1。 (3)分布无规律,具有与白噪声相似的伪随机特性。 1.2 实现原理 在二进制多级移位寄存器中,若线性反馈移位寄存器(LFSR)有n 阶(即有n级寄存器),则所能产生的最大长度的码序列为2n-1位。如果数字信号直接

伪随机序列matlab仿真

MATLAB实验报告 姓名:李金玮 学号:14061114 班级:14184111

实验七伪随机序列的产生与相关特性分析 一、实验目的 1、了解伪随机序列的相关知识。 2、了解m 序列的相关知识,了解其相关性质。 3、学会用matlab 实现方框图描述的系统,并由此产生m 序列。 二、相关理论知识 (1)伪随机序列 伪随机序列, 又称伪随机码, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。例如,在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等。伪随机发生器在测距、通信等领域的应用日益受到人们重视。 伪随机信号与随机信号的区别在于: 随机信号是不可预测的, 它在将来时刻的取值只能从统计意义上去描述;伪随机序列实质上不是随机的, 而是收发双方都知道的确定性周期信号。之所以称其为伪随机序列, 是因为它表现出白噪声采样序列的统计特性, 在不知其生成方法的侦听者看来像真的随机序列一样。m 序列作为一种基本的PN 序列,具有很强的系统性、规律性和相关性。 (2)m 序列的产生 ①线性反馈移位寄存器 m 序列发生器的系统框图如图。其中加法器为“模2 相加”运算,寄存器与反馈的每一位只有1、0 两种状态。

由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为 输出序列是一个周期序列。其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。当移位寄存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定。当初始状态为全零状态时,移位寄存器输出全0序列。为了避免这种情况,需设置全0 排除电路。 三、实验任务 编写程序利用5级移位寄存器产生m序列,初始状态全1,抽头系数[1 0 0 1 1 1]。 四.我自己的实验代码 clear all close all solve=0; zk=0 a=[1,1,1,1,1]%an c=[1,1,1,0,1,1] lena=length(a) lenb=length(c) newc=fliplr(c) shuchu=zeros(1,lena) for zk=1:2^(lena+1) for k=1:lena zhong(k)=a(k)*newc(k); lenz=length(zhong) %solve=0; end%%%%得到每个被加数 for t=1:lenz solve=solve+zhong(lenz-t+1) if solve>=2 solve=0

PN(伪随机码)码发生器的设计

通信系统专业课程设计 一.课题名称:PN(伪随机码)码发生器的设计 二.设计目的: 1、巩固加深对电子线路的基本知识,提高综合运用专业知识的能力; 2、培养学生查阅参考文献,独立思考、设计、钻研专业知识相关问题的能力; 3、通过实际制作安装电子线路,学会单元电路以及整机电路的调试与分析方法; 4、掌握相关电子线路工程技术规范以及常规电子元器件的性能技术指标; 5、了解电气图国家标准以及电气制图国家标准,并利用电子CAD正确绘制电路图; 6、培养严肃认真的工作作风与科学态度,建立严谨的工程技术观念; 7、培养工程实践能力、创新能力和综合设计能力。 三.设计要求: 1、通信系统的原理框图,说明系统中各主要组成部分的功能; 2、根据选用的软件编好用于系统仿真的测试文件; 3、拟采用的实验芯片的型号可选89c51、TSC 5402、5416、2407及ALTERA的EPM7128 CPLD或EP1K30进行硬件验证; 4、独立完成课程设计报告,严禁报告内容雷同; 5、电路图中的图形符号必须符合国家或国际标准。 四.所用仪器设备: Altera的MAX 7000S系列芯片;方正文祥电脑。 五.设计内容: 1、伪随机序列产生原理及作用: 随着通信理论的发展,早在20世纪40年代,香农就曾指出,在某些情况下,为了实现最有效的通信,应采用具有白噪声的统计特性的信号。另外,为了实现高可靠的保密通信,也希望利用随机噪声。然而,利用随机噪声最大困难是它难以重复产生和处理。直到60年代,伪随机噪声的出现才使这一难题得到解决。

伪随机噪声具有类似于随机噪声的一些统计特性,同时又便于重复产生和处理。由于它具有随机噪声的优点,又避免了它的缺点,因此获得了日益广泛的应用。目前广泛应用的伪随机序列都是由数字电路产生的周期序列得到的,我们称这种周期序列为伪随机序列。 对与伪随机序列有如下几点要求: ①应具有良好的伪随机性,即应具有和随机序列类似的随机性; ②应具有良好的自相关、互相关和部分相关特性,即要求自相关峰值尖锐,而互相关和部分相关值接近于零。这是为了接收端准确检测,以减少差错; ③要求随机序列的数目以保证在码分多址的通信系统中,有足够的地址提供给不同的用户; ④要求设备简单,易实现,成本低。 通常产生伪随机序列的电路为一反馈移存器。它又分为线形反馈移存器和非线形反馈移存器两类。由线形反馈移存器产生出的周期最长的二进制数字序列称为最大长度线形反馈移存器,通常称为m序列。由于它的理论比较成熟,实现比较简便,实际应用也比较广泛,故在这里以m序列发生器为例,设计伪随机序列发生器。 m序列是由带线形反馈的移存器产生的周期最长的一种序列。线形反馈移位寄存器由时钟控制若干个串接的存储器所组成。在时钟信号的控制下,寄存器的存储信号由上一级向下一级传递。如果让某些寄存器的输出反馈回来进行运算,运算结果作为第一级寄存器的输入,则我们可以得到一个移位寄存器序列。如果移位寄存器的反馈函数和初始状态不同,那么可得到不同的移位寄存器序列。线性移位寄存器的一般形式如图1所示,总共有1,2,3,…,N个寄存器,他们的状态为X i (i=1,2,3,…,n), 经C i (I=1,2,3,…,n)相乘后模2加,再反馈。这里C i ∈(0,1),且乘法规则是 0·0=0·1=1·0=0,1·1=1。实际上C i =0表示断开,C i =1表示连接。因此这个N阶移 位寄存器的反馈函数为: F(X1,X2,…,X n)=∑i n=1C i X i 特征多项式是: f(x)= ∑ i n =1 C i X i=C +C 1 X1+C 2 X2+…+C n X n 特征多项式中的X i (i=0,1,2...n)与移位寄存器的第i个触发器相对应。

MATLAB伪随机数发生器

MATLAB伪随机数发生器.txt生活是过出来的,不是想出来的。放得下的是曾经,放不下的是记忆。无论我在哪里,我离你都只有一转身的距离。 均匀性较好的随机数生成 zz from https://www.doczj.com/doc/c43880336.html,/lanmuyd.asp?id=3379 随机数生成算法[1]是一类重要的算法,广泛应用于仿真技术等场合。然而,目前的伪随机数生成器(Pseudo-random number generator, PRNG)[2]存在一个重要缺陷,即样本分布与真实分布不一致,这主要发生在以下两种情况:①抽样代价过高,样本数目较少;②空间维数较高[3]。 因此,有必要寻找一类新的随机数发生器。准随机数发生器(Quasi-random number generator,QRNG)[4]能够生成稳定、低差异性的(low-discrepancy)样本,而与样本数目或空间维数无关[5]。故针对蒙特卡罗积分结果不稳定的情况,提出一种基于QRNG的蒙特卡罗积分,发现比传统方法性能有所提升。 伪随机数介绍 伪随机数是由确定的算法生成的,其分布函数与相关性均能通过统计测试。与真实随机数的差别在于,它们是由算法产生的,而不是一个真实的随机过程。一般地,伪随机数的生成方法主要有以下3种[6]: (1)直接法(Direct Method),根据分布函数的物理意义生成。缺点是仅适用于某些具有特殊分布的随机数,如二项式分布、泊松分布。 (2)逆转法(Inversion Method),假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。该方法原理简单、编程方便、适用性广。 (3)接受拒绝法(Acceptance-Rejection Method):假设希望生成的随机数的概率密度函数(PDF)为f,则首先找到一个PDF为g的随机数发生器与常数c,使得f(x)≤cg(x),然后根据接收拒绝算法求解。由于算法平均运算c次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。显然,该算法的缺点是较难确定g与c。 因此,伪随机数生成器(PRNG)一般采用逆转法,其基础是均匀分布,均匀分布PRNG 的优劣决定了整个随机数体系的优劣[7]。下文研究均匀分布的PRNG。 伪随机数生成器的缺点 重复做N=10000次试验,每次产生S=20与S=100个随机分布的样本,同时采用Kolmogorov- Smirnov假设检验(hypothesis test)来确定样本是否满足均匀分布。规定: ① 0假设(null hypothesis)为样本服从均匀分布;② 1假设(alternative hypothesis)为样本不服从均匀分布。 采用P值(∈[0, 1])衡量,P值越趋近于0,表示越有理由拒绝0假设,即样本不服从均匀分布;P值越趋近于1,表示越有理由接受0假设,即样本服从均匀分布。 如图1与图2所示:随着P值下降,样本也越来越不服从均匀分布。实践中希望P值越大越好。然而统计学的结论显示,P值一定服从均匀分布,与N、S大小无关,这表明由于随机性,总会出现某次抽样得到的样本不服从、甚至远离均匀分布。另外,样本大小的不同,造成检验标准的不同,直观上看S=100对应的均匀分布普遍比S=20对应的更均匀。因此,小样本情况下均匀分布PRNG的差异性尤为严重。

伪随机序列发生器设计

实验七伪随机序列发生器设计 一、实验目的 1.掌握伪随机序列(m序列)发生器的基本原理和设计方法; 2.深入理解VHDL中signal和variable的不同及其应用; 二、设计描述及方法 1.伪随机序列概述 在扩展频谱通信系统中,伪随机序列起着十分关键的作用。在直接序列扩频系统得发射端,伪随机序列将信息序列的频谱扩展,在接收端,伪随机序列将扩频信号恢复为窄带信号,进而完成信息的接收。 m序列又称为最长线形反馈移位寄存器序列,该序列具有很好的相关性能。m序列发生器的基本结构为: 其中(C r,C r-1,…,C0)为反馈系数,也是特征多项式系数。这些系数的取值为“1”或“0”,“1” 表示该反馈支路连通,“0”表示该反馈支路断开。 下图为实际m序列发生器的电路图: 图中利用D触发器级联的方式完成移位寄存器的功能。在系统清零后,D触发器输出状态均为低电平,为了避免m序列发生器输出全“0”信号,图中在“模二加”运算后添加了一个“非门”。从图中A、B、C、D四个节点均可得到同一m序列,只是序列的初始相位不同。 特征多项式系数决定了一个m序列的特征多项式,同时也决定了一个m序列。下表给出了部分m 序列的反馈系数(表中的反馈系数采用八进制表示)

2.电路设计基本方法 本实验要设计一个寄存器级数为5的m序列发生器,从m序列发生器反馈系数表可知,有三个反馈系数可选,即可以产生三种不同的m序列;在以下设计的接口描述中choice(1 downto0)为m序列选择输入信号,clk为时钟输入信号,reset为复位信号,psout为m序列输出信号。 三、程序代码 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mps is port (clk,reset : in std_logic; choice : in std_logic_vector(1 downto 0); psout: out std_logic ); end mps; architecture behave of mps is signal a :std_logic_vector(4 downto 0); signal k:std_logic; begin process(clk,reset,choice,a)

相关主题
文本预览
相关文档 最新文档