当前位置:文档之家› 伪随机码及计算机的产生

伪随机码及计算机的产生

伪随机码及计算机的产生
伪随机码及计算机的产生

Vol. 2 1,N o. 2 Journal of Liaoning Technical University (Natural Science ) Apr., 2002

收稿日期:2001-05-16 作者简介:吴明捷,(1943-)男,上海人,硕士,教授。本文编校:杨瑞华 

文章编号:1008-0562(2002)02-0203-04 

伪随机码及计算机的产生

吴明捷,杜天苍

(北京石油化工学院 信息工程学院,北京 102600)

摘 要:扩频通信系统的频谱扩展是借助于扩频函数而实现的,典型的扩频函数就是伪随机序列码,实用的伪随机码必须是具有随

机性,有尖锐的自相关特性,有较小的互相关值,要有较多的序列数,同时,还要求系列平衡,易于实现等特点。m 序列和 gold 序 列伪随机码满足以上条件,是应用广泛的扩频函数。文中介绍了这两个随机码的原理、性能和构造方法。并介绍了由本原多项式和递 推公式用计算机产生、计算和组成序列集的方法。方法简练,适合工程技术人员参考。

关键词:扩频通信;伪随机序列;m 系列;Gold 序列;扩频函数 中图号:TN 914.4 文献标识码:A

1 对扩频伪随机码的要求 

在扩频通信系统中,实现扩频和解扩的根本技术就是将信号与伪随机码相乘,从而得到频谱的扩展和压缩。产生伪随机码就是系统的关键,利用计算机产生和计算扩频伪随机码,将大大简化这一过程。

扩频序列应具有如下理想特性:(1)有尖锐的自相关特性(2)尽可能小的互相关值(3)足够多的序列数(4)序列平衡(5)工程上易于实现。 最大长度线性移位寄存器序列(简称 m 序列)是一类重要的伪随机序列,最早应用于扩频通信,也是目前研究得最深入的伪随机序列。Gold 序列具有优良的互相关特性,序列数远远多于m序列,便于扩频多址应用。本文将对m 序列与 Gold 序列加以介绍。

2 m 序列的基本知识

m 序列又称最长线性反馈移存器序列,它可由线性反馈移位寄存器生成,如图1所示。在图1中示出一个一般的线性反馈移存器的组成。 图中一级移存器的状态用a i 表示,a i =0 或a i =1, i =整数。反馈线的连接状态用c i 表示,c i =1 表示此线接通(参加反馈), c i = 0表示此线断开。

移存器在定时脉冲的控制下,一步步向外移

位输出,其速率称 Chip 速率。由于反馈的存在, 移存器的输入端受控地输入信号。不难看出,若初始状态为全“0”,则移位后得到的仍为全“0” ,

图1 线性反馈移位寄存器 Fig.1 linear feedback shift register

因此应避免出现全“0”状态,又因为 n 级移存器共有2n 种可能的不同状态,除全“0”状态外,剩下2n -1种状态可用。每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某一状态,其后的过程便周而复始了。反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期 P =2n -1 。按图中线路连接关系,可以写为:

∑=????=

⊕⊕⊕⊕=n

i i

n i n n n n n a

c a c a c a c a c a 1

0112211... (模2)

该式称为递推方程。

上面曾经指出,c i 的取值决定了移位寄存器的反馈连接和序列的结构。现在将它用下列方程表

示:

()∑==+???+++=n

i i i n

n x c x c x c x c c x f 0

2

210

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

x 仅指明其系

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

()41x x x f ++= 则它仅表示x 0 ,x 1 和x 4

的系数c 0=c 2=c 4=1,其余为零。m 序列的理论已经很成熟,我们给出一些结论。

经严格证明:若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产生 m 序列。

这里略去本原多项式的定义,现将常用本原多项式列成表备查,请见参考文献(1)。只要找到本原多项式,就可构成m 系列发生器。定义逆多项式 为1

()(~x

f x x f n =,例如,()

14++x x 与

()

1)1()(~

34144++=++=??x x x x x x f 互为逆多项式,它也

是本原多项式,所以每一本原多项式能组成两个 m 序列。

从后面m 序列的性质说明,m 序列具有优良的伪随机特性,非常适用于扩频通信中作扩频码使用,因此m 序列又称为伪随机序列。

本课题采用芯片STEL-2000中,匹配滤波器位数限定小于64位,因此,选用最长的m 序列只能是 n =6,下面我们将其全部列于下面,以供采用。

当 n =6 时,理论上可以证明共有6个长度为63的m 序列,它们由以下本原多项式产生

()16

1++=x x x f ;()15

6

2++=x x x f

()1

3

4

6

3++++=x x x x x f ;()

12

3

5

6

4++++=x x x x x f ;

()1

2565+++=x x x x f ;

()1

466+++=x x x x f

用计算机计算结果,这6个m 序列分别为

m1 11111101010110011011101101001001110

0010111100101000110000100000

m2 111111000001000011000101001111010001110

010010110111011001101010

m3 111111010000011100001001000110110010110

101110111100110001010100

m4 11111100101010001100111101110101101001101

1000100100001110000010 m5 11111101101000100001011001010100100111100

0001101110011000111010

m6 11111101011100011001110110000011110010010

1010011010000100010110

3 m 序列的性质 

(1) 均衡性:在m 序列的一周期中,“1”的个数比“0”的个数只多一个。这表明,序列平均值很小,它可降低载漏发射功率,防止载漏干扰。 (2) 尖锐的自相关特性:伪随机序列的自相关函数、互相关函数对于扩频通信,尤其在同步捕捉中,十分重要,下面较详细讨论之。 系列a 、b 的互相关函数的定义为

()∑=+=

p

i j

i i

b a b

a p j R 1

.1

式中P ─系列的周期。若两个函数相等,称自

相关函数,记作R (j )。对于取值是+1和-1,周期为P 的二进制码元序列自相关函数

R (j )=1 , j =0 ,

R (j )=-1/P , j =1,2,… P -1 。

自相关函数也有周期性,周期是12?=n

p 。m

序列的自相关函数只有两种取值(1和-1/P )。有时我们把这类序列称为双值自相关序列。

图2 m 序列的相关函数 Fig.2 correlation function of m sequence

由上图容易看出,当周期 P 很长及码元宽度很小时,R (τ)近于冲激函数δ(t )的形状。如果,我们只关心最大自相关值,它等于12?=n p ,伪随机码越长该值越大。最小自相关值等于-1。(自相关函

-P

第2期 吴明捷等: 伪随机码及计算机的产生 205 数为-/p ,近似为0)

伪随机码的尖锐的相关特性,对于扩频通信是极其重要的,在技术上,一般在接收机用一个本地伪随机码,测量其与接收信号的相关特性,一旦信号与其相关,便出现一个相关峰值,也就是找到了这个同步信号并找到了它的起点(相位),如果相关值不尖锐,或者还有旁瓣峰值,在噪声的干扰下,便容易造成误判决。因此,扩频系统中,扩频函数尖锐的相关特性对于抗噪声干扰,同步提取,码分选址,克服多径效应等方面都能表现出优良的性能。在芯片STEL -2000中就是利用m 系列码作同步头,实现同步捕捉的。

4 m 序列优选对及 Gold 序列族 

m 序列是一双值自相关序列,有优良的自相关特性。但是,在码分多址通信中,不同地址的扩频码互相关值要小,以便互不干扰,使用m 序列作为地址码时,组成互相关值小的序列集很少。例如,经计算机搜索,9 级移位寄存器产生的m 序列有48个,但找不到多于3个序列的组,其中任意两序列之间的互相关最大值不超过33。若地址数要多,只有降低互相关要求。当互相关值不超过65 时,可以从48个序列挑出几组6个 m 序列的集。因此对于多址应用来说,其地址数实在太少了。这是 m 系列的最大的缺点。

Gold 序列具有良好的自、互相关特性,且地址数远远大于m 序列地址数,结构简单,易于实现,因此Gold 码在码分多址通信中得到了广泛的应用。

4.1 m序列优选对 

这里我们定义m 系列优选对:设a 是对应于n 级本原多项式f (x )所产生的m 序列,b 是对应于n 级本原多项式g (x )所产生的m 序列,当它们的互相关函数值()k R b a .满足 ()12

2

1.+≤+n b a k R ( n 为奇数)

,()122

2

.+≤

+n b a k R (n 为偶数)

,则m 序列a 和b 构成一对优选对。例如,当n =9 时,自相关值为511,

优选对互相关值为不超过33,既优选对互相关值大大小于自相关值。 4.2 Gold 序列族

Gold 码是由两个码长相等,码时钟速率相同的m 序列优选对模2和构成。每改变两个m 序列相对位移就可得到一个新的Gold 序列,当相对位移(n

2-1)位时,

就可得到一族(n

2 -1)个Gold 序列。再加上两个m 序列,共有(n

2 +1)个Gold 序列码。 Gold 码互相关值不超过优选对互相关值,具有三值互相关函数,其值为)12

(12

1++n p

-,(n 为奇数)

(121

2

2++n p

,(n 为偶数)和p

1?,(12?=n p )。

Gold 码之间具有上述三值互相关特性,验算一下可知,这些互相关值,都大大低于自相关值,且约有50%-75%以上的Gold 码序列有最低的互相关函数值(p

1-

)。这一特点说明,Gold 码系列适用于码分多址。Gold 码的自相关函数也同互相关函数一样取三值,不同族序列间互相关函数已不是三值而是多值。

由优选对模2加产生的 Gold 族12?n 个序列已不再是m 序列。Gold 码族中任意两序列之间互相关函数都满足上述之值。由于 Gold 码这一特性,使得码族中任一码序列都可作为地址码,这样,采用Gold 码族作地址码,其地址数大大超过了用 m 序列作地址码的数量,所以Gold 序列在多址技术中得到了广泛的应用。 4.3 平衡Gold码

Gold 码可以分为平衡码和非平衡码,平衡码序列中1和0之差为1,非平衡码多于1,平衡吗约占总码的一半,例如N =9,平衡码数量为257个(包括两个m 序列),非平衡码数量为256个。在直接系列扩频系统中码的平衡性对载波抑制度有密切的关系。码不平衡系统载漏增大。因此选用 Gold 码族作扩频码时,应选用平衡码。本扩频系统拟取级数n =6在个n 2 +1个 Gold 码中有49个 Gold 码 是平

206 辽宁工程技术大学学报(自然科学版)第21卷 

衡的,理论计算十分繁琐,这可先生成所有Gold 码,再由计算机挑选得到。

5 用计算机产生和分析伪随机码 

寻找(产生)各种伪随机系列,计算它的自相关值和互相关值,组成互为优选的系列集,这些都是十分繁琐的工作,手工计算是很艰难的。借助计算机或单片机将使该项工作简单易行,下面扼要加以介绍。生成m序列码子程序框图略,关键是用递推方程编写m系列生成程序。首先根据本原多项式及其逆多项式,输入C0—C N-1值。其余的任务可完全由计算机完成,还可以做一些必要的验证工作,以免出现错误。

生成和计算Gold码子程序框图略,其关键是求两个m系列码的互相关系数,判断是否满足优选对的条件,然后求出Gold码。这些都是移位、相加等运算,计算机处理十分方便。最后求出平衡Gold码并组成系列集。

主程序就是综合调用这两个子程序加上必要的验算,打印输出等,这里不再介绍。

经过精心选择构造的伪随机码,经必要的验证计算后,可以存储在微处理器的寄存器中,或存储在专用扩频芯片中(如芯片STEL-2000)按照指令随时调用,完成各种功能。

参考文献:

[1] 查光明.扩频通信[M].西安:电子科技大学出版社,1992. 64-79.

[2] 王秉钩.扩频通信[M]. 天津:天津大学出版社,1992, 104-114.

[3] 李振玉,郭建文.应用微处理机产生和分析伪随机码序列[[M].北京:北

方交通大学科情室.1993.

The Pseudonoise Sequence Code and the Birth for Computer

WU Ming-jie,DU Tian-cang

(College of information Engineering ,Beijing Institute of Petro-chemical Technology,Beijing 102600,China)

Absract:Spectra expanding of spread-spectrum communication system make use of the spread-spectrum function,the typical spread-spectrum function is pseudonoise sequence code, the practical pseudonoise Sequence code must have the quality of randomness and sharp autocorrelation,it must have little cross correlation value and much set value ,it also demands of set balancing and being easy to achieve .Set m and set Gold pseudo-random code are widely applicated Spread-spectrum functions which can meet the qualification .This paper popularly introduces the theory ,property and conforming means of the two tatted code .It also introduces the method of obtaining,calculating and making up set volume by using computer from igional multinomial and recursion formula . The simple methode is convenient for engineering personnel.

Key word: spread-spectrum communication; pseudonoise sequence; m sequence; gold Sequence;

spread-spectrum function

伪随机码生成器

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----

伪随机码发生器设计

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

C语言中产生随机数的方法

C语言中产生随机数的方法 引例:产生10个[100-200]区间内的随机整数。 #include #include //rand函数的头文件 #include //时间函数的头文件 int main() { int i; //循环变量 srand((unsigned) time(NULL)); //产生随机数的起始数据(以时间为种子) for (i=0; i<10; i++) //printf("%d\n", rand()); //产生[0,0x7fff)即[0,32767)以内的随机整数 //printf("%d\n", rand()%100); //产生0-99的随机整数 printf("%d\n", rand()%(200-100+1) + 100); //产生[100,200]内的随机整数return 0; } 在C语言中产生随机数需要以下几个函数的配合使用。 (1)rand函数——产生伪随机数 原型:int rand(void) 头文件:stdlib.h 功能:产生从0到RAND_MAX之间的随机数。RAND_MAX的值通常是0x7fff(十六进制数7FFF,也就是十进制数32767)。 例: #include #include int main() { int k; k = rand(); printf("%d\n", k); return 0; } 编译运行,发现每次运行程序产生的随机数都是一样的。 计算机中产生随机数,实际是采用一个固定的数作为“种子”,在一个给定的复杂算法中计算结果,所以叫“伪随机数”。 C语言中由于采用固定的序列作为种子,所以每次执行所取的是同一个数。 为上面的例子增加一个循环结构: #include #include int main() { int k,i;

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

实验一伪随机码发生器实验 电科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 ------ 伪随机码输出引脚

基于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

扩频系统使用的伪随机码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 ,则移位寄存器状态转移图如下:

伪随机数列发生器-TsouShih

8位伪随机数列发生器 天津工业大学理学院 XXX XXXXXXX 2011年12月09日

背景 如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。因此可以说,伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。伪随机序列的特性对系统的性能有重要的影响,因此有必要了解和掌握伪随机序列的的概念和特性。 原理 伪随机数列的概念与特性 伪随机数列也称作PN码。它具有近似随机数列(噪声)的性质,它的相关函数接近白噪声的相关函数 (Δ函数 ),即有窄的高峰或宽的功率谱密度 ,使它易于从其他信号或干扰中分离出来。而又能按一定的规律(周期)产生和复制的序列。因为随机数列是只能产生而不能复制的,所以称其为“伪”随机数列。广泛应用于通信、雷达、导航等重要的技术领域。近年来 ,在自动控制、计算机、声学、光学测量、数字式跟踪和测距系统 ,以及数字网络系统的故障分析检测也得到广泛的应用。 伪随机数列具有这样的特点: (1)每个周期中,“1”码出现2n-1次,“0”码出现2n-1次,即0、1出现概率几乎相等。 (2)序列中连1的数目是n,连0的数目是n-1。 (3)分布无规律,具有与白噪声相似的伪随机特性。

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

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所示连接电路即可。然后,扩展到多位。

真随机数产生方法

ATmega1 28单片机的真随机数发生矗时间:2009-12-16 15:39:00 来源:单片机与嵌入式系统作者:刘晓旭,曹林,董秀成西华大学 ATmega1 28单片机的真随机数发生矗时间:2009-12-16 15:39:00 来源:单片机与嵌入式系统作者:刘晓旭,曹林,董秀成西华大学 引言 随机数已广泛地应用于仿真、抽样、数值分析、计算机程序设计、决策、美学和娱乐之中。常见的随机数发生器有两种:使用数学算法的伪随机数发生器和以物理随机量作为发生源的真随机数发生器。要获取真正随机的真随机数,常使用硬件随机数发生器的方法来获取。这些真随机数都是使基于特定的真随机数发生源(如热噪声、电流噪声等),每次获取的真随机数都是不可测的,具有很好的随机性。 真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用,构建一种基于硬件真随机数发生源,具有广泛的应用价值。但目前硬件真随机数发生源均较复杂,而且很少有基于单片机的真随机数发生器。本文利用RC充放电的低稳定度,根据AVR单片机的特点设计了一种性价比极高的真随机数发生器。该随机数发生器使用元件很少,稳定性高,对一些价格敏感的特殊场合,如金融、通信、娱乐设备等有较大的应用意义。 1 基本原理和方法 1.1 基本原理 串联的RC充放电电路由于受到漏电流、电阻热噪声、电阻过剩噪声、电容极化噪声等诸多不确定性因素的影响,其充放电稳定度一般只能达到10-3。利用这种RC充放电的低稳定度特性实现廉价的真随机数发生源。 Atmel公司AVR单片机ATmega 128以其速度快、功能强、性价比高等优点广泛应用于各种嵌入式计算场合。利用AVR单片机引脚配置灵活多样的特点,使用Amnega128 两个I/O口作为真随机数的电气接口。 其原理如图1所示。主要原理是利用串联RC电路的不确定性产生真随机数源,收集数据,通过AVR单片机ATmega128和主时钟电路量化RC电路的充放电时问,获得不确定的2位二进制数据,再利用程序将每4次采集的数据综合,最后产生1个8位的真随机数。

EXCEL随机数据生成方法

求教:我的电子表格中rand()函数的取值范围是-1到1,如何改回1到0 回答:有两种修改办法: 是[1-rand()]/2, 或[1+rand()]/2。 效果是一样的,都可生成0到1之间的随机数 电子表格中RAND()函数的取值范围是0到1,公式如下: =RAND() 如果取值范围是1到2,公式如下: =RAND()*(2-1)+1 RAND( ) 注解: 若要生成a 与b 之间的随机实数: =RAND()*(b-a)+a 如果要使用函数RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按F9,将公式永久性地改为随机数。 示例 RAND() 介于0 到1 之间的一个随机数(变量) =RAND()*100 大于等于0 但小于100 的一个随机数(变量) excel产生60-70随机数公式 =RAND()*10+60 要取整可以用=int(RAND()*10+60) 我想用excel在B1单元个里创建一个50-80的随机数且这个随机数要大于A1单元个里的数值,请教大家如何编写公式! 整数:=ROUND(RAND()*(80-MAX(50,A1+1))+MAX(50,A1+1),0) 无需取整数:=RAND()*(80-MAX(50,A1))+MAX(50,A1)

要求: 1,小数保留0.1 2,1000-1100范围 3,不要出现重复 =LEFT(RAND()*100+1000,6) 至于不许重复 你可以设置数据有效性 在数据-有效性设 =countif(a:a,a1)=1 选中a列设有效性就好了 其他列耶可以 急求excel随机生成数字的公式,取值要在38.90-44.03之间,不允许重复出现,保留两位小数,不允许变藏 =round(RAND()*5+38.9,2) 公式下拉 Excel随机数 Excel具有强大的函数功能,使用Excel函数,可以轻松在Excel表格产生一系列随机数。 1、产生一个小于100的两位数的整数,输入公式=ROUNDUP(RAND()*100,0)。 RAND()这是一个随机函数,它的返回值是一个大于0且小于1的随机小数。ROUNDUP 函数是向上舍入数字,公式的意义就是将小数向上舍入到最接近的整数,再扩大100倍。 2、产生一个四位数N到M的随机数,输入公式=INT(RAND()*(M-N+1))+N。 这个公式中,INT函数是将数值向下取整为最接近的整数;因为四位数的随机数就是指从1000到9999之间的任一随机数,所以M为9999,N为1000。RAND()的值是一个大于0且小于1的随机小数,M-N+1是9000,乘以这个数就是将RAND()的值对其放大,用INT 函数取整后,再加上1000就可以得到这个范围内的随机数。[公式=INT(RAND()*(9999-1000+1))+1000] 3、Excel函数RANDBETWEEN是返回位于两个指定数之间的一个随机数。使用这一个函数来完成上面的问题就更为简单了。要使用这个函数,可能出现函数不可用,并返回错误值#NAME?。 选择"工具"菜单,单击"加载宏",在"可用加载宏"列表中,勾选"分析工具库",再单击"确定"。接下来系统将会安装并加载,可能会弹出提示需要安装源,也就是office安装盘。放入光盘,点击"确定",完成安装。 现在可以在单元格输入公式=RANDBETWEEN(1000,9999)。 最后,你可以将公式复制到所有需要产生随机数的单元格,每一次打开工作表,数据都会自动随机更新。在打开的工作表,也可以执行功能键F9,每按下一次,数据就会自动随机更新了。

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

实验一 伪随机码发生器实验 一、实验目的 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。

伪随机序列发生器

伪随机序列发生器 一、实验目的: 理解伪随机序列发生器的工作原理以及实现方法,掌握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 菜单项,新建一个空的模型文件。

一维正态分布随机数序列的产生方法

一维正态分布随机数序列的产生方法 一、文献综述 1.随机数的定义及产生方法 1).随机数的定义及性质 在连续型随机变量的分布中,最简单而且最基本的分布是单位均匀分布。由该分布抽取的简单子样称,随机数序列,其中每一个体称为随机数。 单位均匀分布也称为[0,1]上的均匀分布。 由于随机数在蒙特卡罗方法中占有极其重要的位置,我们用专门的符号ξ表示。由随机数序列的定义可知,ξ1,ξ2,…是相互独立且具有相同单位均匀分布的随机数序列。也就是说,独立性、均匀性是随机数必备的两个特点。 随机数具有非常重要的性质:对于任意自然数s,由s个随机数组成的 s维空间上的点(ξn+1,ξn+2,…ξn+s)在s维空间的单位立方体Gs上 均匀分布,即对任意的ai,如下等式成立: 其中P(·)表示事件·发生的概率。反之,如果随机变量序列ξ1, ξ2…对于任意自然数s,由s个元素所组成的s维空间上的点(ξn+1,…ξn+s)在Gs上均匀分布,则它们是随机数序列。 由于随机数在蒙特卡罗方法中所处的特殊地位,它们虽然也属于由具有已知分布的总体中产生简单子样的问题,但就产生方法而言,却有着本质上的差别。 2).随机数表 为了产生随机数,可以使用随机数表。随机数表是由0,1,…,9十个数字组成,每个数字以0.1的等概率出现,数字之间相互独立。这些数字序列叫作随机数字序列。如果要得到n位有效数字的随机数,只需将表中每n 个相邻的随机数字合并在一起,且在最高位的前边加上小数点即可。例如,某随机数表的第一行数字为7634258910…,要想得到三位有效数字的随机数依次为0.763,0.425,0.891。因为随机数表需在计算机中占有很大内存, 而且也难以满足蒙特卡罗方法对随机数需要量非常大的要求,因此,该方法不适于在计算机上使用。 3).物理方法

随机数产生方法

伪随机数的产生,现在用得较多的是“线性同余法" 就是下面这个式子 R(n+1) = [R(n) * a + b] mod c 为使随机数分布尽量均匀,a、b 均为质数, c 一般取值域内的最大值(mod 是求余数) 从这个式了可以看出,每次产生的随机数都跟上一次产生的数有关系,那么,第一个数是怎么来的呢?这就是线性同余法中必须用的的”种子",也就是说,给定某个种子后,所产生的随机数序列是固定的,在计算机编程中,一般使用系统时间来初始化种子,就是前面代码中的 srand((unsigned)time(NULL)); 这一句了。因为每次运行程序的时间肯定不一样,所以产生散列肯定也不一样,从而达到“随机”的目的。 a,b,c 的取值我用的是 a=3373, b=1, c=32768 下面的两个子程序是我在我的项目(S7-200 226)中产生随机的系统编号用的,因为我的编号中只有4位数采用了随机数,所以下面的程序中用的是整型,最大范围为32767。如果需要更宽范围的随机数,可以采用双字类型,并适当修改程序,代码很简单,就是将上面那个表达式用 S7-200 的指令表示出来就行了。 这两个子程序是从 MicroWIN V4.0 中导出来的,可以将它们用文本编辑器保存为 AW L 文件后直接导入 MicroWIN。 使用时在第一个扫描周期调用 Srand 初始种子,需要随机数的地方调用 Random Random 有了个最大范围参数,可以限制生成的随机数的最大范围,比如我只需要4位随机数,所以一般这样调用 CALL Random, 10000, vw0,生成的数就在 0-9999 范围内 下面是代码: SUBROUTINE_BLOCK Srand:SBR17 TITLE=初始化随机数种子 // // 直接使用系统时钟的分秒来作为种子 VAR_OUTPUT seed:WORD; END_VAR

信息安全基础综合实验讲义(伪随机数产生器)-2012版

第二部分 伪随机数产生器实验 在密码技术中,建立单个数是“随机的”并没有意义。对随机性的要求总是基于数的序列而言。真正的随机数符合均匀分布且其生成不能重现。计算机通过算法产生的随机数并不是真正意义上的随机数序列,只能称为伪随机数序列。产生伪随机数序列的算法称为伪随机数产生器。产生高质量的伪随机数序列对信息的安全性具有十分重要的作用,比如密钥产生、数字签名、身份认证和众多的密码学协议等都要用到随机序列。 一、实验目的 熟悉常用的伪随机数产生器算法。运用高级程序设计语言实现一种伪随机数产生器算法的程序,加深对伪随机数产生器算法的理解。 二、实验原理 计算机产生的随机数是使用确定的算法计算出来的。一旦知道了随机数算法和初始种子,就能够知道随机序列中任何一个随机数的值,因此,计算机产生的随机数是一种伪随机数。伪随机数的生成算法称为伪随机数产生器。伪随机数有多种生成算法。 1. 线性同余算法 到目前为止,使用最为广泛的随机数产生技术是由Lehmer 首先提出的称为线性同余算法,即使用下面的线性递推关系产生一个伪随机数列x 1,x 2,x 3,… 这个算法有四个参数,分别是: a 乘数 0 ≤ a < m c 增量 0 ≤ c < m m 模数 m > 0 x 0 初始种子(秘密) 0 ≤ x 0 < m 伪随机数序列{ x n }通过下列迭代方程得到: 1()mod n n x ax c m +=+ 如果m 、a 、c 和x 0都是整数,那么通过这个迭代方程将产生一系列的整数,其中每个数都在0 ≤ x n < m 的范围内。数值m 、a 和c 的选择对于建立一个好的伪随机数产生器十分关键。为了形成一个很长的伪随机数序列,需要将m 设置为一个很大的数。一个常用准则是将m 选为几乎等于一个给定计算机所能表示的最大非负整数。因而,在一个32位计算机上,通常选择的m 值是一个接近或等于231的整数。此外,为了使得随机数列不易被重现,

伪随机序列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

随机数产生原理及实现

电子信息与通信工程学院 实验报告 实验名称随机数的产生 课程名称随机信号分析 姓名顾康学号U201413323 日期6月6日地点南一楼东204 成绩教师董燕

以上为6种分布的实验结果 1.均匀分布 随机变量X~U(0,1)的一组样本值的模拟值一般采用某种数值计算方法产生随机数序列,在计算机上运算来得到,通常是利用递推公式: Xn=f(Xn-1,.....,Xn-k) 1.1 同余法 Xn+1 = λXn(mod M) Rn=Xn/M R1 R2...Rn即为(0,1)上均匀分布的随机数列。而上述方法是伪随机的,{Rn}本质上是递推公式给定的周期序列,周期T可看做logλ(M)。

解决方法是:选择模拟参数并对序列进行统计检验。 1.2选择模拟参数 1)周期长度取决于Xo,λ, M的选择 2)通过选取适当的参数可以改善随机数的性质 几组参考的取值 Xo =1 , λ=7 , M=10^10 Xo =1 , λ=5^13 , M=2 *10^10 Xo =1 , λ=5^17 , M=10^12 1.3对数列进行统计检验 对应序列能否看作X的独立同分布样本,须检验其独立性和均匀性 for i=2:1:size %同余法均匀分布 x(i)= mod ( v*x(i-1), M); y(i)=x(i)/M; end subplot(2,3,1); hist(y,100) [ahat,bhat,ACI,BCI]=unifit(y)% 以0.95的置信度估计样本的参数 首先我们的标准是U ~(0,1),而实验值,ACI表示ahat的范围[-0.0030,0], BCI表示bhat的范围[1.0000,1.0030]。同时样本的均值和方差分别为0.4932 和0.0830,结论与理论值很接近。该样本以0.95的可信度服从(0,1)均匀分布。 2.伯努利分布 2.1算法原理

MATLAB伪随机数发生器

MATLAB伪随机数发生器.txt生活是过出来的,不是想出来的。放得下的是曾经,放不下的是记忆。无论我在哪里,我离你都只有一转身的距离。 均匀性较好的随机数生成 zz from https://www.doczj.com/doc/c013775549.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的差异性尤为严重。

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个触发器相对应。

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