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

伪随机序列m和M的生成算法实现
伪随机序列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

定理 线性反馈移位寄存器能产生m 序列的充要条件为:反馈移位寄存器的特征多项式为本原多项式。

2 (2)GF 上本原多项式的实现算法 2.1二元域(2)GF 上的本原多项式

由于产生伪随机序列的反馈移位寄存器,其特征多项式系数C i 的取值为0或1,因此所寻找的本原多项式为(2)GF 上的多项式。

在二元域内不可以分解因式的多项式称为既约多项式,和普通代数一样,对于多项式

()0f α=,则称α为多项式的根。

输出a k

由抽象代数理论可以证明,若α是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 αα- 来

表示,n α用110(,,)n n n n ααα- 来表示,则1q α+可用110(,,)q q q n ααα- 左移一位来实现,若移位前最高位1q n α-=1,表示出现了n α,则1q α+的有序序列表示为

1

1

1

1

11

10

0(,,)n q n q n

n n αααααα+++--+++ ,加法为模2相加,这样可以得到α的连续幂。

在计算过程中,若q α=1(21n q <-),则判定为非本原多项式。若q α(21n q <-)都不为1,且21

n

α-为1,则判定()f x 为本原多项式。

图2寻找本原多项式总流程图

图3判断当前多项式是否为本原多项式流程图

3 m 序列实现

本原多项式系数可确定反馈逻辑

11221101

n

n n n n n i

n i

i a c a c a c a c a c a

----==++++=

4 M 序列实现

M 序列是一种非线性的伪随机序列,是由非线性移位寄存器产生的码长为2n 的周期序列。其构造方法,只要在m 序列适当的位置插入一个0状态,即可完成码长为2n -1的m 序列向码长为2n 的M 序列的转换。其反馈逻辑

1212121(,,)(,,)n m n n n f x x x f x x x x x x --=+ ,即

1122110121121

1

n

n n n n n n n i

n i

n n i a c a c a c a c a a a a c a

a a a --------==+++++=

+∑

生成m序列与gold序列

一、生成m序列 function [mseq] = m_sequence(fbconnection); n = length(fbconnection); N = 2^n-1; %m序列的长度 register = [zeros(1,n - 1) 1]; %定义移位寄存器的初始状态 mseq(1)= register(n); %m序列的第一个输出码元 for i = 2:N newregister(1)= mod(sum(fbconnection.*register),2); %寄存器与反馈的模2和 for j = 2:n, newregister(j)= register(j-1); end; register = newregister; %移位后的寄存器 mseq(i) = register(n); %新的寄存器输出 end clear all; close all; clc; fbconnection=[0 0 1 0 1]; %输入本原多项式系数,从C1开始 m_sequence=m_sequence(fbconnection); stem(m_sequence); %对m序列绘图 axis([0 35 -0.2 1.2]); grid on;

二、生成gold序列 function goldseq = g_sequence(connection1,connection2); msequence1 = m_sequence(connection1); %生成第一个m序列 msequence2 = m_sequence(connection2); %生成第二个m序列 N=2^length(connection1)-1; %gold序列长度 for i = 1:N; s = mod(msequence1+msequence2,2); %两个m序列模二加产生gold序列 goldseq = s; end clear all; close all; clc; connection1=[0 0 0 0 1 1]; connection2=[1 0 0 1 1 1]; goldseq = g_sequence(connection1,connection2);

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

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:伪随机序列的产生及应用设计 初始条件: 具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)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----

扩频编码M序列和gold序列

M序列 由n级移位寄存器所能产生的周期最长的序列。这种序列必须由非线性移位寄存器产生,并且周期为2n(n 为移位寄存器的级数)。例如,考察图中a的非线性反馈移位寄存器,其状态转移关系如表:

状态(a k-3,a k-2,a k-1)的接续状态是(a k-2,a k-1,a k),其中a k=a k-3嘰a k-1嘰1嘰a k-2a k-1是一种非线性逻辑。从任一状态出发,例如从(000)出发,其接续状态恰好构成一个完全循环(图b),由此产生一个周期为23=8的3级序列。M序列最早是用抽象的数学方法构造的。它出现于组合数学的一些数学游戏中,例如L.欧拉关于哥尼斯堡的七桥问题等。后来发现这种序列具有某些良好的伪随机特性。例如,M序列在一个周期中,0与1的个数各占一半。同时,同样长度的0游程与1游程也各占一半。所有这些性质在数据通信、自动控制、光学技术和密码学诸领域中均有重要应用。 隐蔽通信内容的通信方式。为了使非法的截收者不能理解通信内容的含义,信息在传输前必须先进行各种形式的变化,成为加密信息,在收信端进行相应的逆变化以恢复原信息。电报通信、电话通信、图像通信和数据通信,都有相应的保密技术问题。另一方面,为了从保密通信中获得军事、政治、经济、技术等机密信息,破译技术也在发展。保密技术和破译技术是在相互对立中发展起来的。 1881年世界上出现了第一个电话保密专利。电话保密开始是采用模拟保密或置乱的方法,即把话音的频谱或时间分段打乱。置乱后的信号仍保持连续变化的性质。在第二次世界大战期间,频域和时域的置乱器在技术上已基本成熟。70年代以来,由于采用集成电路,电话保密通信得到进一步完善。但置乱器仍是有线载波和短波单边带电话保密通信的主要手段。模拟保密还可以采用加噪声掩盖、人工混响或逆向混响等方法,但因恢复后话音的质量大幅度下降或保密效果差,这些方法没有得到推广应用。数字保密是由文字密码发展起来的。数字信号(包括由模拟信号转换成的数字信号),由相同速率的密码序列加密,成为数字保密信号;保密信号传输到收信端后由同一密码序列去密,恢复原数字信号。随着集成电路的发展,数字保密通信已成为保密通信的主要发展方向。话音、图像等模拟信号都可以用数字保密方式。一般来说,数字破译要比模拟破译困难得多。数字保密的主要限制是传输数字信号所需带宽要比传输模拟信号的带宽大好多倍。 模拟保密通信话音信号置乱后的带宽基本保持不变,这是模拟保密通信的一个特点。但是,置乱后恢复的话音质量有所下降。置乱的过程越复杂,则话音质量下降的程度越大。 倒频用倒频器(图1)把话音频谱颠倒过来,使高频变为低频,低频变为高频,这是最简单的一种频域置乱方法。频域置乱器的基本电路是平衡调制器和带通滤波器。平衡调制器可以搬移和倒置频谱,而滤波器可以滤取所需要的频谱成分。输入的话音信号经过平衡调制器后输出上、下两个边带。适当地选择

伪随机序列的产生与仿真

基于MATLAB 的伪随机序列的产生 及相关特性的仿真 一、相关概念: 平稳随机过程的各态历经性, 随机信号的频谱特性, 自相关函数, 互相关函数 二、工程背景与理论基础 根据香农的理论,在高斯白噪声干扰情况下,在平均功率受限的信道上,实现有效和可靠通信的最佳信号是具有白噪声统计特性的信号。扩频通信正是由此而来的,在扩频通信最大的优点就是具有强大的抗噪声性能,使有用信号几乎可以淹没在噪声传播。 故扩频通信对扩频序列一般有如下要求: (1)尖锐的自相关特性 (2)尽可能小的互相关值 (3)足够多的序列数,具有良好的伪随机性 (4)序列均衡性好,0、1等概 (5)工程上易于实现 伪随机序列具有以上所以有点,故在CDMA 扩频通信系统中,伪随机序列被作为扩频码之一。下面在理论上阐述下伪随机序列(即m 序列)的产生原理及其所具有的相关数学性质。然后在用MATLAB 语言实现m 序列的产生,并就其相关特性进行仿真,仿真结果结果表明该方法是可行的。 1、 m 序列简单介绍 m 序列是最长线性反馈移位寄存器序列的简称,是由带线性反馈的移位寄存器的周期最长的序列。它是周期为r N=2-1的伪随机序列,r 是移位寄存器的阶数。 下面是IS-95CDMA 系统中I 信道引导PN 序列的生成多项式和线性反馈移位寄存器的框图。 I 支路生成表达式:15139875()1I P x x x x x x x =++++++ 123456789101112131415 输出 图1-1 I 路信号产生器 m 序列具有以下基本性质: (1)均衡性:在m 序列的一个周期中,“1”的个数之比“0”的个数多一个。这表明序列平均性很好,即“1”和“0”几乎就是随机出现的,具有较好的随机性。 (2)具有尖锐的自相关特性,相互不同码字之间几乎是完成正交的。 周期函数的自相关函数定义为:/2/201R()()()T s s T T s t s t dt ττ-=+?,式中0T 是s()t 的周期。

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

m序列和Gold序列特性研究

扩频通信实验报告 - I- Harbin Institute of Technology 扩频通信实验报告 课程名称: 扩频通信 实验题目: Gold 码特性研究 院 系: 电信学院 班 级: 通信一班 姓 名: 学 号: 指导教师: 迟永钢 时 间: 2012年5月8日 哈尔滨工业大学

第1章实验要求 1.以r=5 1 45E为基础,抽取出其他的m序列,请详细说明抽取过程; 2.画出r=5的全部m序列移位寄存器结构,并明确哪些序列彼此是互反多项式; 3.在生成的m序列集中,寻找出m序列优选对,请确定优选对的数量,并画 出它们的自相关和互相关函数图形; 4.依据所选取的m序列优选对生成所有Gold序列族,确定产生Gold序列族的 数量,标出每个Gold序列族中的所有序列,并实例验证族内序列彼此的自相关和互相关特性; 5.在生成的每个Gold序列族内,明确标出平衡序列和非平衡序列,并验证其 分布关系。 6.完整的作业提交包括:纸质打印版和电子版两部分,要求两部分内容统一, 且在作业后面附上源程序,并加必要注释。 7.要求统一采用Matlab软件中的M文件实现。

第2章 实验原理 2.1 m 序列 二元m 序列是一种伪随机序列,有优良的自相关函数,是狭义伪随机序列。m 序列易于产生于复制,在扩频技术中得到了广泛应用。 2.1.1 m 序列的定义 r 级非退化的移位寄存器的组成如图1所示,移位时钟源的频率为c R 。r 级线性移位寄存器的反馈逻辑可用二元域GF(2)上的r 次多项式表示 2012() {0,1}r r i f x c c x c x c x c =++++∈ (1) 图 2-1 r 级线性移位寄存器 式(1)称为线性移位寄存器的特征多项式,其给出的表示反馈网络的而逻辑关系式是现行的。因此成为线性移位寄存器。否则称为,非线性移位寄存器。 对于动态线性移位寄存器,其反馈逻辑也可以用线性移位寄存器的递归关系式来表示 112233 {0,1}i i i i r i r i a c a c a c a c a c ----=++++∈ (2) 特征多项式(1)与递归多项式(2)是r 级线性移位寄存器反馈逻辑的两种不同种表示法,因其应用的场合不同而采用不同的表示方法。以式(1)为特征多项式的r 级线性反馈移位寄存器所产生的序列,其周期21r N ≤-。假设以GF(2)域上r 次多项式(1)为特征多项式的r 级线性移位寄存器所产生的非零序列{}i a 的周期为21r N =-,称序列为{}i a 是最大周期的r 级线性移位寄存器序列,简称m 序列。

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

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

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

第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},按如下方法实施:

Gold序列与m序列仿真应用

1. 绪论 m 序列具有优良的双值自相关特性,但互相关特性不是很好。作为CDMA 通信地址码时,由于互相关特性不理想,使得系统内多址干扰影响增大,且可用地址码数量较少。在某些应用场合,利用狭义伪随机序列复合而成复合序列更为有利。这是因为通过适当方法构造的复合序列具有某些特殊性质。Gold 序列就是一种复合序列,而且具有良好的自相关与互相关特性,地址码数量远大于m 序列,且易于实现、结构简单,在工程上得到广泛应用。 表1是m 序列和Gold 序列的主要性能比较,表中max ?为m 序列的自相关峰值,(0)s ?为自相关主峰;()t n 为Gold 序列的互相关峰值,(0)g ?为其自相关主峰。从表1中可以看出:当级数n 一定时,Gold 序列中可用序列个数明显多于m 序列数,且Gold 序列的互相关峰值和主瓣与旁瓣之比都比m 序列小得多,这一特性在实现码分多址时非常有用。 表1. m 序列和Gold 序列性能比较 在引入Gold 序列概念之前先介绍一下m 序列优选对。m 序列优选对,是指在m 序列集中,其互相关函数绝对值的最大值(称为峰值互相关函数)max ()R τ最接近或达到互相关值下限(最小值)的一对m 序列。 设{a i }是对应于r 次本原多项式F 1(x )所产生的m 序列, {b i } 是另一r 次本原多项式F 2(x )产生的m 序列,峰值互相关函数满足 12 max 2 221()214r ab r r R τr ++?+?≤??+? 为奇数 为偶数但不是的整倍数 (1) 则m 序列{a i }与{b i }构成m 序列优选对。 例如:6r =的本原多项式61()1F x x x =++与6522()1F x x x x x =++++所产生的m 序列{}i a 与{}i b ,其峰值互相关函数2622 2 max ()172 12117r ab R τ++=≤+=+=。满足式(1) ,故{}i a 与{}i b 构成m 序列优选对。而本原多项式65323()1F x x x x x =++++所产生的m 序列 {}i c ,与m 序列{}i a 的峰值互相关函数max ()2317ac R τ=>,不满足上式,故{}i a 与{}i c 不 是m 序列优选对。 2. Gold 序列 1967年,R·Gold 指出:“给定移位寄存器级数r 时,总可找到一对互相关函数值是最小的码序列,采用移位相加方法构成新码组,其互相关旁瓣都很小,且自相关函数和互相关函数均有界”。这样生成的序列称为Gold 码(Gold 序列)。 Gold 序列是m 序列的复合序列,由两个码长相等、码时钟速率相同的m 序列优选对的模2

基于m序列的直接序列扩频

扩频通信实验 实验名称:基于m序列的直接序列扩频 专业班级:通信111501班 学生姓名:穆琦沈傲立孙琳王瑞学熊晓倩

学号:201115040111 13 16 20 27 指导教师:郑秀萍 时间:2014.10.29 1 需求分析 在通信发射端将载波信号展宽到较宽的频段上;在接收端,用同样的扩频码序列进行解扩和解调,把展宽的信号还原成原始信息.通过扩展频谱的相关处理,大大降低了频谱的平均能量密度,可在负信噪比条件下工作,获得了高处理增益,从而降低了被截获和检测的概率,避免了干扰影响.通过仿真模型结果分析抗噪声性能结果。 2 概要设计 扩频通信系统分为直接序列扩频系统、跳频扩频系统、跳时扩频系统和混合式扩频系统。直接序列扩频系统,又称“平均”系统或伪噪声系统,就是采用高码率的扩频码序列PN 码(伪随机码),在发送端与编码数据信号进行模2 加,产生一扩频序列,这一码序列由于码元很窄,占用了很宽的频带,达到扩频的目的,然后用扩频序列去调制载波并予以传输。在接收端接收到的扩频信号经高频放大混频之后,用与发端相同且同步的伪随机码对扩频信号进行相关解扩,由于收发端伪随机码的相关系数为1,故可以完全恢复所传的信息,而干扰和噪声由于与接收机伪

随机码不相关,在相关解调时大大降低进入信号通频带内的干扰。它是目前应用较广泛的一种扩展频谱系统。在国外已获得成功的空间探测器“喷气推进实验室(JPL)测距技术”就是一种直接序列调制,TATS-1 军用卫星中的扩展频谱多址(SSMA)系统等都使用DSSS。 直接序列扩频系统的接收一般采用相关接收,并分成两步,即解扩和解调。在接收端,接收信号经过数控振荡器放大混频后,用与发射端相同且同步的由M 序列发生器产生的伪随机码对中频信号进行相关解扩,把扩频信号恢复成窄带信号,然后再由基带滤波器进行解调,最后恢复出原始信息序列。扩频与解扩过程中,利用PN序列生成器模块( PN Sequence Generator ) ,产生6级、传输速率500b/s的PN伪随机序列来达到扩频和多址接入效果,这里扩频增益为50倍.扩频的运算是信息流与PN码相乘或模二加的过程.解扩的过程与扩频过程完全相同,即将接收的信号用PN码进行第二次扩频处理.要求使用的PN码与发送端扩频用PN码不仅码字相同,而且相位相同.否则会使有用信号自身相互抵消.解扩处理将信号压缩到信号频带内,由宽带信号恢复为窄带信号.同时将干扰信号扩展,降低干扰信号的谱密度,使之进入到信息频带内的功率下降,从而使系统获得处理增益,提高系统的抗干扰能力.调制与解调使用二相相移键控PSK方式. 为了方便分析, 我们可对系统作如下假设: 系统各用户同步;系统各用户功率相同;仅考虑系统MAI和白噪声干扰引起的误码, 忽略信号传输、调制解调过程中的误码。 3 开发工具和编程语言 开发工具:

伪随机序列发生器

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

Gold序列产生及其特性实验

湖南科技大学 移动通信实验报告 姓名:吴文建 学号:1208030104 专业班级:应用电子技术教育一班 实验名称:GOLD序列产生及其特性实验 实验目的:1)掌握Gold序列的特性、产生方法及应用。 2) 掌握Gold序列与m序列的区别。 实验仪器:1、pc机一台2、 实验原理: m序列虽然性能优良,但同样长度的m序列个数不多,且m序列之间的互相关函数并不理想(为多值函数)。 1.m序列优选对 m序列优选对是指在m序列集中,其互相关函数最大值的绝对值满足下式的两条n介m序列: 2.Gold序列的产生方法 Gold序列是m序列的组合序列,由同步时钟控制的两个码元不同的m序列优选对逐位模2加得到。这两个序列发生器的周期相同,速率相同,因而两者保持一定的相位关系,这样产生的组合序列与这两个自序列的周期也相同。当改变两个序列的相对位移,会得到一个新的Gold序列。Gold序列具有以下性质: (1)两个m序列优选对经不同移位相加产生的新序列都是Gold序列,两个n级移位寄存器可以产生2n+1个Gold序列,周期均为2n?1。 (2)Gold序列的周期性自相关函数是一个三值函数,与m序列相比,具有良好的互相关特性。 Gold序列的产生有两种形式:并联形式和串联形式 实验步骤: 1.预习Gold序列的产生原理及性质及独立设计Glod序列产生方法。 2.画出Gold序列仿真流程图。

3.编写MATLAB程序并上机调试。 4.比较m序列与Glod序列的异同。 5.撰写实验报告。 实验数据、结果表达及误差分析: 实验仿真图形如图所示 实验编写程序(此程序在实验五编写程序之上方可运行):function c=gold() n=7; a=[1 1 1 1 1 1 1 1]; co=[]; for v=1:2^n-1 co=[co,a(1)]; a(8)=mod(a(5)+a(1),2); a(1)=a(2); a(2)=a(3); a(3)=a(4); a(4)=a(5); a(5)=a(6); a(6)=a(7); a(7)=a(8); end m1=co; b=[1 0 1 0 0 0 0 1];

m序列产生及其特性

一、实验目的 通过本实验掌握m 序列的特性、产生方法及应用。 二、实验内容 1、观察m 序列,识别其特征。 2、观察m 序列的自相关特性。 三、基本原理 m 序列是有n 级线性移位寄存器产生的周期为21n -的码序列,是最长线性移位寄存器序列的简称。码分多址系统主要采用两种长度的m 序列:一种是周期为1521-的m 序列,又称短PN 序列;另一种是周期为 4221-的m 序列,又称为长PN 码序列。m 序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽, 即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。 3、m 序列的互相关函数 两个码序列的互相关函数是两个不同码序列一致程度(相似性)的度量,它也是位移量的函数。当使 用码序列来区分地址时,必须选择码序列互相关函数值很小的码,以避免用户之间互相干扰。 研究表明,两个长度周期相同,由不同反馈系数产生的m 序列,其互相关函数(或互相关系数)与自 相关函数相比,没有尖锐的二值特性,是多值的。作为地址码而言,希望选择的互相关函数越小越好,这 样便于区分不同用户,或者说,抗干扰能力强。 在二进制情况下,假设码序列周期为P 的两个m 序列,其互相关函数R xy (τ)为 ()xy R A D τ=- (9-9) 式中,A 为两序列对应位相同的个数,即两序列模2加后“0”的个数;D 为两序列对应位不同的个数, 即两序列模2加后“1”的个数。 为了理解上述指出的互相关函数问题,在此以5n =时由不同的反馈系数产生的两个m 序列为例计算它 们的互相关系数,以进一步讲述m 序列的互相关特性。将反馈系数为8(45)和8(75)时产生的两个5级m 序 列分别记做:1m :1000010010110011111000110111010和2m :111110111000101011010000110100,序列1m 和 2m 的互相关函数如表9-3所示。 表9-3序列1m 和2m 的互相关函数表

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

相关文档
最新文档