当前位置:文档之家› 基于FPGA 的伪随机序列的生成方法及应用

基于FPGA 的伪随机序列的生成方法及应用

基于FPGA 的伪随机序列的生成方法及应用
基于FPGA 的伪随机序列的生成方法及应用

摘要:通过分析各种伪随机序列生成方法,提出了一种基于M 序列的连续抽样方法,可以生成满足自适应光学系统SPGD 控制算法要求的多路、相互独立以及服从伯努利分布的伪随机序列。该方法适合于用FPGA等超大规模集成电路实现,且具有占用硬件资源较少,实现方便等优点。用FPGA 实现了用于61 单元自适应光学系统SPGD 控制算法的伪随机序列,并将此方法应用于基于SPGD 控制算法的自适应光学系统实验中,实验表明,该方法能够满足自适应光学系统SPGD 算法的需求,系统实现成功闭环。

1 引言

随机序列是一组满足特定统计学规律的数据,在信号理论分析中应用非常普遍。由于精确的随机序列生成方法较为复杂,产生的随机序列不具有可重复性等特点,在很多应用场合使用伪随机序列。伪随机序列在扩频通信、信息加密和系统测试等诸多领域中都有着广泛的应用。在自适应光学SPGD 算法中,伪随机序列亦有相当重要的作用。

Vorontsov 等人在1997 年将SPGD 算法引入到自适应光学领域[2]。国内在近几年开始了对 SPGD 算法在自适应光学系统应用的研究,并且在计算机上用软件编程实现了算法,进行了自适应光学的系统实验[3]。自适应光学SPGD 控制算法的研究趋势是使用专用的信号处理硬件电路作为算法的实现平台,以获得更高的迭代速度和更好的收敛效果。Cauwenberghs等人设计了专用的模拟超大规模集成电路实现SPGD 控制算法,并且在一些应用领域进行了实验[5]。目前自适应光学系统的规模普遍达到几十上百单元。针对多单元自适应光学系统SPGD 控制算法的特殊要求,本文提出了一种适合于用FPGA 硬件电路产生满足算法要求的多路伪随机序列的生成方法,完成了FPGA 电路的硬件实现,并将其用于实现61 单元自适应光学SPGD控制算法,同时进行自适应光学的闭环实验。

2 自适应光学 SPGD 控制算法对伪随机序列的要求

SPGD(the Stochastic Parallel Gradient Descent algorithm)算法通过对多路的控制参数加入随机并行的扰动,使用性能指标测量值的变化量与控制参数的变化量进行控制参数的梯度估计,以迭代方式在梯度下降方向上进行控制参数的搜索。在自适应光学SPGD 算法中,控制参数为变形镜的控制电压,随机并行的扰动通过多路伪随机序列模拟。SPGD 算法中随机并行扰动的特性,对伪随机序列也提出了相应的要求[5]:

(1) 路数多。路数等于变形镜单元数(即变形镜上驱动单元的数目)。例如在一个61 单元的自适应光学系统中,就需要产生61 路的伪随机序列。

(2) 伪随机序列两两相互独立。相互独立可避免变形镜各驱动单元间的相互耦合。

(3) 伪随机序列符合伯努利分布,两个样本值出现的概率各为0.5。

3 硬件电路实现伪随机序列的传统方法

传统的生成伪随机序列的方法较多,如线性反馈移位寄存器法(LFSR,可产生M 序列),乘同余法,线性同余法,Gold 序列等[6],[7]。M 序列是一种常用的随机序列,符合SPGD 算法中单路随机序列伯努利分布的要求。但使用M 序列作为SPGD 算法中多路随机序列在实现上存在难点:算法要求多路伪随机序列,用多个不同的LFSR 结构去生成多路的伪随机序列,需要耗费大量的硬件资源,并且构造多路不同的LFSR 结构需耗费巨大的工作量。

Gold 序列优点在于只由两个M 序列构造,能够节省资源;并且改变两个M 序列模二和的相对位置即可构成多个Gold 序列,从而满足SPGD 算法中多路伪随机序列的要求。但在实际工程中如何方便改变两个M 序列的相对位置以产生多路的Gold 序列亦有难度。同时,Gold 序列亦存在非平衡性问题,不完符合伯努利分布。

国外最早使用模拟超大规模集成电路(Analog VLSI)做出SPGD 控制算法的Vorontsov 等人设计的随机数发生器,其本质也是LFSR 结构,使用了抽头的方法从而可以用一个 LFSR 结构同时产生19 路的伪随机序列[8],[1]。这种方法的缺陷是如果伪随机序列的路数序列超过19 路后,则用这个电路结构产生的各路伪随机数之间不是完全相互独立的。

4 连续抽样生成多路伪随机序列的方法

通过以上对M 序列,Gold 序列的分析,结合M 序列易于硬件实现,Gold 序列可生成多路序列的优点,以及基于时间抽样的思想,设计了如图1 所示硬件结构的68 路伪随机Gold 序列发生器。

图中所示结构包括两个时钟,两个相同的线性反馈移位寄存器,N 进制计数器,以及N 路伪随机序列的存取单元。两个时钟有特殊的关系,即时钟1 是时钟2 的N 分频。N 进制计数器的输出作为N 路伪随机序列存取单元的存储地址。存取单元及地址译码器可视为一个整体,在实现时使用深度为N,宽度为1bit 的双端口RAM 代替(一个端口存数据,另一个端口取数据)。此外,图中的“+”表示模二和。结构中的N 值,为本原抽样数,即使用N 对M 序列抽样后,可得到另一同周期的M 序列。

上述结构产生多路Gold 序列的原理如下:

⑤将这N个不同相位的M2 序列与M1 序列模二和,生成N 个不同的Gold 序列。该方法需要选定两个可构成Gold 序列的理想M 序列对,之后将能够从一个M 序列抽样出另一M 序列的本原抽样数N 预先计算出来。由于是预先计算,不需在硬件内实现,不占用硬件资源。因此该方法占用的资源较少,同时结构化的设计也适合于用硬件描述语言进行设计。

5 实验及结果分析

为验证上述伪随机序列生成方法的可行性,在FPGA 内对上述结构进行了硬件设计,并搭建了基于SPGD 控制算法的自适应光学系统平台。自适应光学系统实验平台的结构如下图3 所示,主要由激光器和扩束系统、倾斜镜TM、变形镜DM、CCD 相机、基于FPGA 的SPGD 算法控制处理器、数字到模拟转换器DAC和高压放大器HVA 等组成。光源从激光器发出后经TM 和DM 反射至CCD 相机,相机将图像数据传输给FPGA 板进行算法迭代,再输出电压至数模转换,最后经高压放大后控制61 单元的变形镜DM(驱动器的排布见图(3)和倾斜镜TM,完成闭环控制。

连续抽样法结构的主要参数: LFSR1 和LFSR2 对应的本原多项式为:

本原抽样数N 为68。该设计可

产生68路,

周期为1023 的Gold 序列。该参数设计主要以实验为主,本原多项式1F (x)的选取原则是反馈少,实现简单。本原抽样数要比61 稍大,保证能产生足够多的Gold 序列,如果过大亦会造成资源的浪费。

SPGD 算法包括伪随机序列发生器都在Xilinx公司的VII3000 FPGA 内实现。通过ChipScope 在线逻辑分析仪记录68 路Gold 序列,经计算验证这68 路Gold 满足相互独立的要求。针对Gold 序列的非平衡性问题,根据序列的周期性及对偶性,实验运用了一个简单的方法加以解决:将偶数周期的两个样本值互相交换,即应该输出1 时输出0,应该输出0 时输出1。因此每两个周期内的两个样本值出现的概率各为0.5,只要序列发生的时间足够长,长期统计平均,其概率亦各为0.5。因此通过实验验证表明连续抽样方法能够满足自适应光学SPGD 算法的要求。

自适应光学系统实验方面,以均值半径作为本实验中SPGD 算法的性能指标[4],向极小的方向进行梯度搜索,性能指标的收敛曲线如图4(a)所示。在迭代1000 次后,曲线就已接近极小值。图4(b)和7(c)是进行校正前后,CCD 相机中获取的远场光斑的光强分布图。校正前的峰值为96,校正后的峰值为230,校正后的远场光斑接近艾里斑,结果说明使用 SPGD 算法对静态的波前畸变达到了良好的效果,同时也验证了本方法所产生的伪随机序列能够在实际的SPGD 控制算法中正常工作。

6 结论

利用FPGA硬件电路生成了61单元自适应光学系统SPGD控制算法要求的68路伪随机序列。开展了基于SPGD控制算法自适应光学系统实验,系统能够实时闭环,结果表明了该方法的实用性。同时,该方法除了满足自适应光学系统SPGD控制算法的专用性外,也为生成大量的、任意多路的伪随机序列提供了一种通用的方法,在信号处理、信号加密等工程领域也具有一定的实际意义。

本文作者创新点:针对自适应光学系统的SPGD 控制算法对伪随机序列的要求,分析了两种适合于硬件实现的伪随机序列――M 序列及Gold 序列的特点,及直接用于SPGD 控制算法存在的问题。在M 序列抽样方法的基础上,提出了一种连续抽样生成多路Gold 序列的方法。该方法在对时间未要求的基础上,以时间来换取空间资源,减少了空间资源的占用,只需要两个LFSR 结构,解决了生成大量LFSR 结构的工作量问题,方便地实现了SPGD 控制算法要求的多路、独立伪随机序列的生成,并提出了解决了Gold 序列非平衡性问题的方法。

伪随机序列的产生及应用设计-通信原理课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:伪随机序列的产生及应用设计 初始条件: 具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计伪随机码电路:产生八位伪随机序列(如M序列、Gold 序列等); 2、了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如 DAC0808),观察其模拟信号的特性; 3、分析信号源的特点,使用EWB软件进行仿真; 4、进行系统仿真,调试并完成符合要求的课程设计说明书。 时间安排: 二十二周一周,其中3天硬件设计,2天硬件调试 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要................................................................................................................................ I 1理论基础知识 (1) 1.1伪随机序列 (1) 1.1.1伪随机序列定义及应用 (1) 1.1.2 m序列产生器 (2) 1.2芯片介绍 (4) 1.2.1移位寄存器74LS194. (4) 1.2.2移位寄存器74LS164 (5) 1.2.3 D/A转换器DAC0808 (6) 2 EWB软件介绍 (8) 3设计方案 (9) 4 EWB仿真 (11) 5电路的安装焊接与调试 (13) 6课程设计心得体会 (14) 参考文献 (15) 附录1 (16)

伪随机序列发生器本科毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

伪随机码生成器

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

Gold序列的仿真研究

Gold序列的仿真研究 Gold序列的仿真研究 摘要: Gold序列是R·Gold提出的一种基于m序列的码序列,这种序列有较优良的自相关和互相关特性,构造简单,产生的序列数多,因而获得了广泛的应用。本文对Gold序列进行仿真研究,首先介绍了扩频通信中常用的m序列和Gold序列码产生的方法原理和性质,运用Matlab对Gold码的生成和性能进行了仿真分析。 关键词:伪随机序列;Gold序列;m序列;Matlab仿真 SIMULATION OF GOLD SEQUENCES Abstract:Gold sequences is proposed by R ? Gold which is based on m sequences. Gold sequences has good properties, such as good autocorrelation and cross-correlation, easy to construct and more sequences, etc, therefore it has wide applications. This paper investigates the Gold sequences. The principle and performance of m sequences and Gold sequences in spread spectrum communication are first introduced in the paper. Simulation by Matlab is also provided in the paper to analyze the nature of Gold sequences. Key words: Pseudo-random sequence;Gold sequence;m sequence;Matlab simulation

伪随机序列

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

实验名称 伪随机序列 同组人 专业班级 学号 姓名 成绩 一、 实验目的 掌握数字锁相环的组成、工作原理及在位同步恢复中的应用。 通过本实验掌握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<τ

伪随机序列m和M的生成算法实现

m-M 文档 1 相关概念 随机序列:可以预先确定又不能重复实现的序列 伪随机序列:具有随机特性,貌似随机序列的确定序列。 n 级线性移位寄存器,能产生的最大可能周期是21n p =-的序列,这样的序列称为m 序列。 n 级非线性移位寄存器,能产生的最大周期是2n 的序列,这样的序列称为M 序列。 图1线性移位寄存器 线性移位寄存器递推公式 11221101 n n n n n n i n i i a c a c a c a c a c a ----==++++= ∑ 线性移位寄存器的特征方程式 010 ()n n i n i i f x c c x c x c x ==+++= ∑ ,ci 取值为0或1 定义 若一个n 次多项式f (x )满足下列条件: (1) f (x )为既约多项式(即不能分解因式的多项式); (2) f (x )可整除(x p +1), p =2n -1; (3) f (x )除不尽(x q +1), q

由抽象代数理论可以证明,若α是n 次本原多项式()f x 的根,则集合2 2 {0,1,}n F α-= 可 构成一个有限的扩域(2)n G F 。F 中的任一元素都可表示为1110n n a a a αα--+++ ,这样n 个分量的有序序列110(,,,)n a a a - 就可表示F 中的任一元素。 若既约多项式()f x 的根能够形成扩域(2)n G F ,则该多项式是本原多项式,否则不是本原多项式。 2.2 二元域(2)GF 上的本原多项式算法实现 (2)GF 上n 次多项式的通式为 1 2 1210()...n n n n n f x x a x a x a x a ----=++++,系数是二元域上的元素(0,1) 既约多项式既不能整除,1x x +,0和1不可能是()f x 的根,即0a =1, ()f x 的项数一定为奇数。 另外,一个既约多项式是否能形成(2)n G F ,从而判断它是否为本原多项式。N 次多项式的扩域,其中,120,1,,,n ααα 一定在扩域中,需要判断的是12 2 ,n n αα+- 是否也在扩域 中,从而形成全部扩域(2)n G F ,若在,则该n 次既约多项式是本原多项式,否则不是。 (1)给定二元多项式 1 2 1210()...n n n n n f x x a x a x a x a ----=++++,01a = 设α是f(x)扩域中的一个元素,且f(α)=0则有: n n-1 n-11=a ++a +1αα α (1) (2)从n α开始,计算α的连续幂。在计算过程中,当遇到α的幂次为n 时,将(1)代入,一直计算到n 2 -2 α (形成GF (2n )),再计算n 2 -1 α 。若n 2-1 α =1,则证明()f x 能被n 21 x 1-+整 除,而不能整除1q x +(21n q <-),判定为本原多项式。在计算α的连续幂过程中,若 q x =1(21n q <-),则证明()f x 能被1q x +整除,判定为非本原多项式,停止计算。 在计算机实现时,n 个分量的有序序列110(,,)n a αα- 与α的任一连续幂有着一一对应的 关系,可以用有序序列110(,,)n a αα- 来表示α的任一连续幂。q α用110(,,)q q q n a αα- 来

PN码的设计

课程名称:通信系统课程设计课题名称:PN码的设计 系部:电气与信息工程学院专业班级:通信13101 学号:201316020115 学生姓名:朱恩邦 指导教师:侯清莲 完成时间:2016-12-28 报告成绩:

目录 摘要....................................................... 错误!未定义书签。ABSTRACT.. (4) 第一章前言 (5) 1.1设计的提出 (5) 1.2 伪随机序列的应用及其意义 (5) 1.3 伪随机序列研究现状 (6) 1.4设计内容 (6) 第二章伪随机序列与仿真工具的简介 (6) 2.1 伪随机序列理论的发展历史 (7) 2.2 伪随机序列的构造方法 (8) 2.3 MATLAB简介 (8) 第三章m序列 (10) 3.1 m序列的定义 (10) 3.2 m序列的产生 (10) 3.3 m序列的性质 (12) 3.4 m序列的计数 (16) 第四章Gold序列 (16) 4.1 Gold序列的定义 (16) 4.2 m序列优选对 (17) 4.3 Gold序列的产生结构 (20) 4.4 Gold码的性质 (21) 4.5 平衡Gold码 (23) 第五章序列的仿真及其仿真比较 (23) 5.1 m序列的仿真 (23) 5.2 Gold序列的仿真 (26) 5.3 MATLAB环境中伪随机序列相关函数的实现及特性 (28) 5.4 两种相关函数间的相关特性比较 (29) 第六章心得体会 (30) 参考文献: (31)

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

随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法讲义

摘要 摘要 本文着重讨论了随机数生成方法、随机数生成法比较以及检验生成的随机序列的随机性的方法。 在随机序列生成方面,本文讨论了平方取中法、斐波那契法、滞后斐波那契法、移位法、线性同余法、非线性同余法、取小数法等,并比较了各方法的优劣性。 在统计检验方面,介绍了统计检验的方法,并用其检验几种随机数生成器生成的随机数的随机性。 最后介绍了两种新的随机数生成法,并统计检验了生成随机序列的随机性。关键词:随机数,随机数生成法,统计检验 I

ABSTRACT ABSTRACT This article focuses on methods of random number generator, random number generation method comparison and test the randomness of the generated random sequence method. In random sequence generation, the article discusses the square method, Fibonacci method, lagged Fibonacci method, the shift method, linear congruential method, linear congruence method, taking minority law, and Comparison of advantages and disadvantages of each method. In statistical test, the introduction of the statistical test method, and used to test some random number generator random random numbers generated. Finally, two new random number generation method, and statistical tests of randomness to generate a random sequence. Key Words: random number,random number generator,statistical test II

伪随机码发生器设计

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

一种新的混沌伪随机序列生成方式

第28卷第7期电子与信息学报V ol.28No.7 2006年7月 Journal of Electronics & Information Technology Jul.2006 一种新的混沌伪随机序列生成方式 罗启彬 张 健 (中国工程物理研究院电子工程研究所绵阳 621900) 摘要利用构造的Hybrid混沌映射,通过周期性改变混沌迭代初值来产生混沌伪随机序列。理论和统计分析可知,该混沌序列的各项特性均满足伪随机序列的要求,产生方法简单,具有较高的安全性和保密性,是一类很有应用前景的伪随机加密序列。 关键词混沌序列, 加密, Lyapunov指数,自相关 中图分类号:TN918 文献标识码:A 文章编号:1009-5896(2006)07-1262-04 A New Approach to Generate Chaotic Pseudo-random Sequence Luo Qi-bin Zhang Jian (Institute of Electronic Engineering, CAEP, Mianyang 621900,China) Abstract This paper proposes hybrid mapping to generate chaotic sequence, by altering initial value periodically. The results show that the properties of the hybrid chaotic sequence are good,and the sequence generator can be easily realized. It is a class of promising pseudo-random sequence in practical applications. Key words Chaotic sequence, Encryption, Lyapunov exponent, Auto-correlation 1 引言 混沌序列是一种性能优良的伪随机序列,其来源丰富,生成方法简单。通过映射函数、生成规则以及初始条件便能确定一个几乎无法破译的加密序列。因此,混沌加密受到越来越多的关注,近年来被广泛应用于保密通信领域[1-4]。 将混沌理论应用于流密码是1989年由Matthews[5]最先提出。迄今为止,利用混沌映射产生随机序列的理论研究很多。但是,混沌序列发生器总是用有限精度来实现,其特性由于有限精度效应会与理论结果大相径庭。因此,有限精度效应是混沌序列从理论走向应用的主要障碍。文献[6]用m 序列与产生的混沌序列“异或”来克服有限精度的影响,但由于微扰是随机的,不易产生,而且系统分布以及相关性能取决于附加的m序列而不是混沌系统本身。文献[7]通过构造变参数复合混沌系统来实现有限精度混沌系统。本文利用构造的分段非线性Hybrid映射,通过周期性地改变混沌迭代初值的办法来产生混沌序列,克服了序列有限精度效应的影响。计算机数值实验表明所产生的混沌序列的各项特性均较好,产生方法简单,具有较高的安全性,是一类很有应用前景的伪随机加密序列。 本文第2节给出了混沌随机序列发生器的产生过程,在此基础上讨论了混沌系统的扰动问题;第4节通过计算机仿真来验证所产生的混沌伪随机序列的性质;最后是结论。 2004-11-22收到,2005-08-08改回 中国工程物理研究院科学技术基金面上资助课题(20050429) 2 序列产生 由于Logistic映射和Tent映射的复杂度都不高,由此产生的混沌加密序列的安全性能都不是非常理想。本文把两者相结合,构造出一种新的混沌迭代映射——Hybrid映射: 2 1 1 2 (1)10 =()= 1, 0<1 k k k k k k b u x x x f x u x x + ???<≤ ? ? ?< ?? , (1) 该映射不但继承了Logistic映射和Tent映射容易产生的特点,而且还能增加混沌系统的安全性。 当初值x0=0.82,u1=1.8,u2=2.0,b=0.85时,此映射处于混沌态,产生的混沌序列如图1所示,其中横轴是迭代次数k,纵轴是经不断迭代得到的混沌状态空间变量x(k)。图1(a)为初值等于0.82的Hybrid混沌映射时序图,图1(b)为Hybrid映射对迭代初值高度敏感性的示意图(初值相差10-15)。 图1 (a) Hybrid mapping 的随机特性 (b) Hybrid mapping 对初值的敏感特性 Fig.1 (a) Randomicity of Hybrid mapping (b) Sensitivity of Hybrid mapping 把生成的实值混沌随机序列{x k}转化为二进制随机序列{S k},按如下方法实施:

伪随机序列发生器

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

水印代码

clear all; %logistic序列生成算法 figure(1); an=linspace(3.1,3.99,400); hold on;box on;axis([min(an),max(an),-1,2]); N=64*64; xn=zeros(1,N); for a=an; x=rand; for k=1:20; x=a*x*(1-x); end for k=1:N; x=a*x*(1-x); xn(k)=x; b(k,1)=x; end plot(a*ones(1,N),xn,'k.','markersize',1); end c=reshape(b,64,64); %二维矩阵调制 for a1=1:64; for a2=1:64; if c(a1,a2)>=0.5; d(a1,a2)=1; else d(a1,a2)=0; end; end; end %水印加密 e=imread('c:\new\123.BMP'); e=double(e); f=bitxor(d,e);%mm=imread('c:\new\0.BMP');nn=double(mm);%h=bitxor(d,mm); g=bitxor(d,f); figure(2); subplot(2,2,1); imshow(d);title('混沌序列矩阵'); subplot(2,2,2); imshow(e);title('水印图像'); subplot(2,2,3); imshow(f);title('混沌加密水印图像'); imwrite(f,'c:\new\0.BMP'); subplot(2,2,4);

伪随机序列

目录 伪随机序列 (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位。如果数字信号直接

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,每按下一次,数据就会自动随机更新了。

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

随机数生成方法

University of Sydney School of Information Technologies Generating Random Variables Pseudo-Random Numbers Definition : A sequence of pseudo-random numbers ()i U is a deterministic sequence of numbers in []1,0 having the same relevant statistical properties as a sequence of random numbers. The most widely used method of generating pseudo-random numbers are the congruential generators: ()M X U M c aX X i i i i =+=?mod 1 for a multiplier a , shift c , and modulus M , all integers. The sequence is clearly periodic, with maximum period M . The values of a and c must be carefully chosen to maximise the period of the generator, and to ensure that the generator has good statistical properties. Some examples: M a c 259 1313 0 232 69069 1 231-1 630360016 0 232 2147001325 715136305 Reference: Ripley, Stochastic Simulation , Chapter 2

正交编码与伪随机序列

正交编码与伪随机序列

————————————————————————————————作者: ————————————————————————————————日期: ?

3. 正交编码与伪随机序列 在数字通信中,正交编码与伪随机序列都是十分重要的技术。正交编码不仅可以用作纠错编码,还可用来实现码分多址通信。伪随机序列在误码率测量、时延测量、扩频通信、通信加密及分离多径等方面有十分广泛的应用。 3.1. 正交编码 一、几个概念 1、互相关系数 设长为n的编码中码元只取+1、-1,x 和y是其中两个码组 )...,(21n x x x x =,)...,(21n y y y y =,其中)1,1(,-+∈i i y x 则x、y 间的互相关系数定义为 ∑==n i i i y x n y x 1 1),(ρ 如果用0表示+1、1表示-1,则 D A D A y x +-= ),(ρ,其中A 是相同码元的个数,D 为不同码元的个数。 2、自相关系数 自相关系数定义为:∑=+=n i j i i x x x n j 1 1)(ρ,其中下标的计算按模n 计算。 3、正交编码 若码组C y x ∈?,,(C 为所有编码码组的集合)满足0),(=y x ρ,则称C 为正交编码。即:正交编码的任意两个码组都是正交的。 例1:已知编码的4个码组如下: )1,1,1,1();1,1,1,1();1,1,1,1();1,1,1,1(4321--=--=--=++++=S S S S 试计算1S 的自相关系数、21,S S 的互相关系数。 4、超正交编码 若两个码组的互相关系数0<ρ,则称这两个码组互相超正交。如果一种编码中任何两个码组间均超正交,则称这种编码为超正交编码。 例2:例1中取后三个码组,且去掉第1位构成的编码为超正交编码。 (0,1,1),(1,1,0)(1,0,1) 5、双正交编码 由正交编码及其反码便组成双正交编码。

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