伪随机序列的研究与仿真本科毕业设计 下载本文

理工大学毕业设计(论文) 摘要

摘要

本毕业设计主要介绍了两种常用的反馈移位寄存器序列(m序列和Gold序列)的特性,并对其进行仿真研究。

伪随机序列良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用,特别是作为扩频码在CDMA系统中的应用已成为其中的关键问题。

在本论文中首先简要阐述了伪随机序列的研究现状及其相关意义,接着介绍了伪随机序列的发展历史,研究方法和研究工具。然后分别对m序列和Gold序列这两种常用的伪随机序列的生成过程、随机特性以及相关特性进行了详细的研究,并分析它们的优点以及存在的问题。最后在理论证明的基础上应用MATLAB仿真验证它们的随机特性,并用仿真做出m序列和Gold序列相关特性图形并加以比较。

关键词:伪随机序列;m序列;Gold序列;相关;

理工大学毕业设计(论文) m序列

ABSTRACT

Matlab software has been 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

2

理工大学毕业设计(论文) m序列

目录

摘要 ........................................................................................................................................................... 1 关键词:伪随机序列;m序列;Gold序列;相关; .............................................................................. 1 ABSTRACT............................................................................................................................................... 2 目录 ........................................................................................................................................................... 3 第一章 绪论 ............................................................................................................................................. 4

1伪随机序列的应用及其意义 ......................................................................................................... 4 1.1. 在通信加密中的应用.................................................................................................................... 4 1.2 在雷达信号设计中的应用 .............................................................................................................. 4 1.3 在通信系统中的应用........................................................................................................................ 4

2 伪随机序列的研究现状 ................................................................................................................ 5 3 研究内容 ....................................................................................................................................... 5 第二章 伪随机序列的简介 ...................................................................................................................... 6

2.1伪随机序列名称的由来 ............................................................................................................. 6 2.2 序列的自相关函数 .................................................................................................................... 6 第三章 m序列 ........................................................................................................................................ 8

3.1 m序列的定义 ............................................................................................................................. 8 3.2 m序列的产生 ............................................................................................................................. 8 3.3 m序列的性质 ........................................................................................................................... 12 3.4 m序列在数字通信加密中的应用 ................................................................................................... 16 第四章 Gold序列 .................................................................................................................................. 17

4.1 Gold序列的定义 ..................................................................................................................... 17 4.2 m序列优选对........................................................................................................................... 17 4.3 Gold序列的产生结构 ......................................................................................................... 20 4.4 Gold序列的性质 ................................................................................................................. 21 4.5 平衡Gold码........................................................................................................................ 23 第五章 序列的仿真及其仿真比较 ...................................................................................................... 24 5.1 m序列的仿真 .................................................................................................................................. 24

5.3 Gold序列仿真......................................................................................................................... 27 5.4相关性仿真 .............................................................................................................................. 29 5.4.1 m序列相关性仿真....................................................................................................................... 30 结论 ......................................................................................................................................................... 36 致谢 ......................................................................................................................................................... 36

参考文献 ......................................................................................................................................... 37

3

理工大学毕业设计(论文) m序列

第一章 绪论

伪随机信号既有随机信号所既有的良好的相关性,又既有随机信号所不具备的规律性。因此,伪随机既易于从干扰信号中被识别和分离出来,又容易方便的产生个重复,其相关函数接近白噪声的相关函数。伪随机具有可确定性,可重复性,易于实现相关接受和匹配接受,故具有很好的抗干扰性能。因此,伪随机序列在在相关辨识,伪码测距,导航,遥控遥测,扩频通信,多址通信,分离多径,无码测试,线形系统测量,数据加扰,信号同步等方面均有广泛应用。本研究着重讨论了最长度线性移位寄存器(简称m序列)和Gold序列。通过Matlab的仿真与实习,以及在现代通信中应用,对以后的理论研究和实验仿真奠定了基础。

1伪随机序列的应用及其意义

1.1. 在通信加密中的应用

m序列自相关性较好,容易产生和复制,而且具有伪随机性,利用m序列加密数字

信号使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。

1.2 在雷达信号设计中的应用

近年兴起的扩展频谱雷达所采用的信号是已调制的具有类似噪声性质的伪随机序列,它具有很高的距离分辨力和速度分辨力。这种雷达的接收机采用相关解调的方式工作,能够在低信噪比的条件下工作,同时具有很强的抗干扰能力。该型雷达实质上是一种连续波雷达,具有低截获概率性,是一种体制新、性能高、适应现代高技术战争需要的雷达。采用伪随机序列作为发射信号的雷达系统具有许多突出的优点。首先,它是一种连续波雷达,可以较好地利用发射机的功率。其次,它在一定的信噪比时,能够达到很好的测量精度,保证测量的单值性,比单脉冲雷达具有更高的距离分辨力和速度分辨力。最后,它具有较强的抗干扰能力,敌方要干扰这种宽带雷达信号,将比干扰普通的雷达信号困难得多。

1.3 在通信系统中的应用

伪随机序列是一种貌似随机,实际上是有规律的周期性二进制序列,具有类似噪声序列的性质,在CDMA中,地址码都是从伪随机序列中选取的,在CDMA中使用一种最易实现的伪随机序列:m序列,利用m序列不同相位来区分不同用户;为了数据安全,

4

理工大学毕业设计(论文) m序列

在CDMA的寻呼信道和正向业务信道中使用了数据掩码(即数据扰乱)技术,其方法是用长度为2的42次方减1的m序列用于对业务信道进行扰码(注意不是扩频),它在分组交织器输出的调制字符上进行,通过交织器输出字符与长码PN码片的二进制模工相加而完成

2 伪随机序列的研究现状

迄今为止,人们获得的伪随机序列仍主要是PC(相控)序列,移位寄存器序列(m和M序列),Gold序列,GMW序列,级联GMW序列,Kasami序列,Bent序列,No序列。

其中m序列是最有名和最简单的,也是研究的最透彻的序列。m序列还是研究其它序列的基础。它序列平衡,有最好的自相关特性,但互相关满足一定条件的族序列数很少(对于本原多项式的阶数小于等于13的m序列,互为优选对的序列数不多于6),且线性复杂度很小。M序列族序列数极其巨大(当寄存器级数等于6时,有226个序列)。但其生成困难,且其互相关特性目前知之甚少,一般很少用。Gold序列互相关函数为3值,序列部分平衡,有良好的相关特性,族序列数相对较大,但它有致命的弱点,线性复杂度很低,仅是相同长度的m序列的两倍,这制约了Gold序列的广泛应用,特别在抗干扰及密码学中的应用。GMW序列具有序列平衡,线性复杂度大,自相关性能好(同m序列)等优点。它是非线性序列,且数量比m序列多。作为单个序列GMW序列有优势,但一族GMW序列满足一定互相关条件的序列数很少。一般不用于多址通信作地址码。级联GMW序列平衡性和相关性同于GMW序列,族数比GMW序列多,一般情况下,线性复杂度比GMW序列大。Kasami序列分小集Kasami序列和大集Kasami序列。小集Kasami序列族序列数大,且互相关值达welch下界,大集Kasami序列族序列数非常大,互相关较小集Kasami序列为劣。它们都有共同的弱点,序列是不平衡的,线性复杂度不大(但比m, Gold序列稍大)。Bent序列是80年代初构造出来的,具有序列平衡,相关值达welch下界,族序列数多,线性复杂度大等优点。它在整个80年代,90年代大放光芒,也是目前综合性能最好的伪随机序列。但Bent序列构造较难,未有满足一定要求的快速算法。No序列是80年代末构造出来的一种新型伪随机序列,它的突出优点是线性复杂度很大,且相关值可达welch下界,族序列数多,但有序列不平衡的弱点。

3 研究内容

首先研究生成序列的反馈移位寄存器、反馈逻辑函数。主要研究它们的生成方法、随机特性、相关特性以及在实际中的应用,并分析它们的优缺点以及存在的问题。最

5

理工大学毕业设计(论文) m序列

后在理论证明的基础上应用MATLAB 仿真它们的随机特性,并应用仿真作出m序列和Gold序列相关特性图并加以比较。

第二章 伪随机序列的简介

2.1伪随机序列名称的由来

在抛一枚均匀硬币的时候,若出现正面正面记为1,反面记为-1,我们就得到一个随机的二元序列;当抛掷的次数足够多时,所得序列具有如下三条随机特性: 【1】. 列中1的个数和-1的个数接近相等。

【2】.把连在一起的1或-1称为“游程”,其中1或-1的个数称为此游程的长度。列中长度为1的游程约占总游程的1/2,长度为2的游程约占总游程的1/4,长度为3的游程约占总游程的1/8,????在同长度的所有游程中,1的游程与-1的游程各占半数光景。

【3】.序列的自相关函数的均值在原点为最高,离开原点时迅速下降。

以上是真正的二元随机序列的特性。通常所谓的“伪随机序列”是指具有此三条特性的一部分或全部二元序列。其所以加上个“伪”字,是因为这些序列尽管表面上满足随机特性,但是实际上,它们是按一定规律形成的“确定性的”序列。序列是否随机取决于其产生的过程,仅有其最终形式是无法判定的。在实际应用中,自相关函数的绝对值在原点之值应远远大于其他点之值,才便于在相关检测中把它们区别开来。

2.2 序列的自相关函数

对于任何实数序列{ak}定义其自相关函数为

1nk?1 C(?)=li

?aakn k??; (2.2.1)

这里当然要假定极限存在而且有限。整数?可以视为{ak }的相移量,而C(?)则是度量相移后的序列与原序列之间的相识程度。可证C(?)?C(0)。

6

理工大学毕业设计(论文) m序列

当序列{ak}以l为周期时,(2.2.1)可简化为:

1l C(?)= ?aklk?1ak?? (2.2.2)

既然(ak)为周期序列,故可向左向右两面周期延拓,因此(2.2.2)式中的? 可为任何整数。这是周期序列的“归一化”的自相关函数,通常为简便起见,可略去归一化因子“1l”而定义“非归一化”的自相关函数: C(?)=?akk?1lak?? (2.2.3)

今后一般采用(2.2.3)式来定义。C(0)通常称为“主峰”高度,而当,0l时,ak=0,故此时定义为: C(?)=

?aak?1kl??k??;

7

理工大学毕业设计(论文) m序列

第三章 m序列

3.1 m序列的定义

m序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列。

3.2 m序列的产生

m序列的理论研究与发展比较成熟,实现比较简便。利用n级移位寄存器可产生长度为2n-1的m序列。目前3G以及4G移动通信技术仍是通信领域的研究热点,其基本特征之一就是码分多址,其中的码就是PN码,PN码的选择直接影响到CDMA的容量、抗干扰能力、接入和切换速度等性能。因此,PN码技术作为3G以及4G通信系统的核心技术之一,已得到广泛的关注,研究与应用。在目前的CDMA系统IS-95中,就是采用基本的PN码——m序列作为地址码,利用它的不同相位来区分不同的用户。

现在我们给出一个m序列的列子。在下图3.2-1所示一个4级线性反馈移位寄存器。设其初始状态为(a3,a2,a1,a0)=(1,0,0,0),则在移位一次时,由a3和a0 模2相加产生新的输入a4=1?0=1,新的状态变为(a4,a3,a2,a1)=(1,1,0,0)。这样移位15次后又回到原始状态(1,0,0,0).不难看出,若初始状态全为“0”,即(0,0,0,0)则移位15次后得到的状态仍然是全“0”状态。这样便意味着在这种反馈移位寄存器中应该尽量避免出现全“0”状态,否则移位寄存器的状态将不会发生改变。因为4级移位寄存器共有24=16种可能的状态。除全“0”状态外,只有15种状态可用。这就是说,由任何4级反馈移位寄存器产生的序列的周期最长为15。

8

理工大学毕业设计(论文) m序列

a3 a2 a1

1000初始状态为:

11001110

1111011110110101

1010110101100011 1001010000100001 1000下图为一般的线性反馈移位寄存器原理方框图。

9

a0 理工大学毕业设计(论文) m序列

a

n?1 an?2 a 1a0 图 3.2-2 线性反馈移位寄存器原理方框图

图中各级移存器的状态使用ai来表示,ai=0或ai=1,i=整数。反馈线的连接状态用

c来表示,c=1表示此线接通;c=0表示此线断开。不难推想,反馈线的连接状态

iii不同,就可能改变此移位寄存器输出序列的周期p。为了进一步研究它们的关系,需

要建立几个基本的关系式。

设一个移位寄存器的初始状态为:a?1 a?2?a?n,经过1次移位后,状态变为

aa

0?1

?a?n?1。经过n次移位后,状态变为an?1an?2?a0,图3.2-2所示就是这一

状态。再移位一次时,移存器左端新得到的输入an,按照图中线路连接关系,可以写为:

a=can1n?1?ca2n?2???ca?ca=?can?11nn0i?1in?i (3.2.1)

因此,一般来说,对于任意一个ak,有

n ak=?ciak?i (3.2.2)

i?1 10

理工大学毕业设计(论文) m序列

式(3.2.2)称为递推方程(recursive equation),它给出了移位输入ak与移位前各级状态的关系。

上面给出的ci的取值决定了移存器的反馈连接和序列的结构,故ci是一个很重要的参量。现在将它用下列方程来表示:

12nf(x)=c0+c1x+c2x+?+cnx=?cix (3.2.3)

i?0ni这一方程称为特征方程(characteristic equation)。式中x仅指明其系数(1或0)代表ci的值,x本身的取值并无实际意义,也不需要去计算x的取值。

下面引出一个概念,叫做本原多项式(primitive polynomial),而一个n级移位寄存器能产生m序列的充要条件是他的特征多项式为一个n次本原多项式。若一个n次多项式f(x)满足下列条件:

(1) f(x)为既约的,所谓既约就是,多项式不能再分解因子了。 (2) f(x)可整除(x+1),m=2-1; (3) f(x)除不尽(x+1),q

列如4级移位寄存器产生m序列,m=2-1=15 将x+1分解因式:

415qminx15+1=(x+x+1)(x?x?1)(x?x?x?x?1)(x?x?1)(x+1)

43215443432121式中次数为4的有3项,但(x?x?x?x?1)是(x?1)的因子,不算本原多项式。本原多项式只有两项,(x+x+1)和(x?x?1)。

因此只有找到了本原多项式,就能由它来构成m序列产生器。但是寻找本原多项式不是很简单的。经过前人的大量计算已将常用的本原多项式列成表备查,如下表所示:

443 11

理工大学毕业设计(论文) m序列

n 2 3 4 5 6 7 8 9 10 11 12 13 本原多项式 代数式 x2?x?1 x3?x?1 x?x?1 x?x?1 x6?x?1 x7?x3?1 524八进制数字表示法 7 13 23 45 103 211 435 1021 2011 4005 10123 20033 n 14 15 16 17 18 19 20 21 22 23 24 25 本原多项式 代数式 x14?x10?x6?x?1 x15?x?1 x?x?x?x?1 x?x?1 x18?x7?1 x19?x5?x2?x?1 17316123八进制数字表示法 42103 100003 210013 400011 1000201 2000047 4000011 10000005 20000003 40000041 100000207 200000011 x8?x4?x3?x2?1 x9?x4?1 x10?x3?1 x11?x2?1 x12?x6?x4?x?1 x?x?x?x?1 1343x20?x3?1 x21?x2?1 x22?x?1 x23?x5?1 x24?x7?x2?x?1 x?x?1 253

3.3 m序列的性质

(1)均衡性(balance)

在m序列的一个周期中,“1”和“0”的数目基本相等。准确的说,“1”的个数比“0”的个数多一个。由于p=2?1为奇数,因而在每个周期中1的个数为(p+1)/2=2为偶数,而0的个数为(p-1)/2=2(2)游程分布

我们把一个序列中取值相同的那些连在一起的元素合称为一个“游程(run)”。在一个游程中元素个数称为游程长度。列如,以下给出的m序列:

12

n?1nn?1?1为奇数。这表明,序列的平均值很小。

理工大学毕业设计(论文) m序列

?1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0?

在其中的一个周期中(m=15),共有8个游程,其中长度为4的游程有一个,即“1 1 1 1”,长度为3的游程有一个,即“0 0 0”,长度为2的游程有两个,即“1 1”和“0 0”,长度为1的游程有4个,即两个“1”和两个“0”。

一般来说,在m序列中,长度为1的游程占总游程总数的1/2;长度为2的游程占游程总数的1/4;长度为3的游程占游程总数的1/8;?。严格讲,长度为k的游程数目占游程总数的2,其中1?k?(n?1)。而且在长度为k的游程中,连“1” 的游程和连“0”的游程各占一半。 (3) 移位相加特性

一个m序列Mp与其经过任意次移位产生的另一个不同序列Mr模2加,得到的仍是Mp的某次延迟移位序列Ms,即: Mp??k

M=Mrs (3.3.1)

我们来举个例子。一个m=7的m序列Mp,设Mp的一个周期为1110010.另一个序列Mr是Mp向右移位一次的结果,即Mr相应的一个周期为0111001。这两个序列的模2和为 1110010?0111001=1001011,得出的为Ms的一个相应的周期序列,它与Mp移位5次后的结果相同。 (4)自相关函数

m序列具有非常重要的自相关特性。在m序列中,常常用+1代表 0,用-1代表 1。 此时定义:设长为 p的m序列, 记作 a1,a2,a3,?,ap(p?2n?1)。经过j次移位后,m序列为aj?1,aj?2,aj?3,?,aj?p,其中ai?p?ai (以 p 为周期),以上两序列的对应项相乘然后相加, 利用所得的总和

p a1?aj?1?a2?aj?2?a3?aj?3??ap?aj?p??aiaj?i (3.3.2)

i?1 13

理工大学毕业设计(论文) m序列

来衡量一个m序列与它的j次移位序列之间的相关程度,并把它叫做m序列(a1,a2,a3,?,ap)的自相关函数。记作

R(j)??aiaj?i (3.3.3)

i?1p当采用二进制数字 0 和 1 代表码元的可能取值时

A?DA?D (3.3.4) ?A?Dp R(j)?

R(j)?[ai?ai?j?0的数目]?[ai?ai?j?1的数目]p

由移位相加特性可知,ai?ai?j仍是m序列中的元素, 所以上式分子就等于m序列中一个周期中 0 的数目与 1 的数目之差。 另外由m序列的均衡性可知, 在一

个周期中 0 比 1 的个数少一个, 故得A-D=-1(j为非零整数时)或p(j为零时)。 因此得

j?0?1 R(j)?? (3.3.5)

j??1,?2,?,?(p?1)?1/p?m序列的自相关函数只有两种取值(1和-1/p)。R(j)是一个周期函数,即

R(j)?R(j?kp),式中,k=1,2,?, p=(2n-1)为周期。 而且R(j)是偶函数, 即 R(j)?R(?j) j=整数 。

上面数字序列的自相关函数R(j)只定义在离散的点上。但是,若把吗m序列

当作周期性连续函数求其自相关函数,则从周期函数的自相关函数的定义:

1T0/2 R(?)=s(t)s(t??)dt ?T0?T0/2式中T0为s(t)的周期。

14

理工大学毕业设计(论文) m序列

我们可以求出其自相关函数表达式为:

-1/m

R(?)= 1-m?1T??iT0 (3.3.6)

0按照式(3.3.5)和(3.3.6)画出R(j)和R(?)的曲线如下图所示:

R j) ( 1 -P -3 -2 -1 0 1 2 3 P -1 P j

图3.3-1 m序列的自相关函数

可以看出,两者是重合的。由图还可以看出,当周期T0非常长和码元宽度T0/m极小时,R(?)接近于冲激函数?(?)的形状。

由上述可知,m序列的自相关函数只有两种取值:0和1/m。有时我们把这类自

相关函数只有两者取值的序列称为双值自相关序列。 (5)功率谱密度

根据信号的自相关函数与功率谱密度构成一对傅里叶变换。因此,我们很容易对自相关函数的自相关函数(3.3.6)作傅里叶变换,求出其功率谱密度:

m?1?sin(?T0/2m)? P(?)=

?m??/2mT0??s

22n???n?0??(???2?nT)+

10m2?(?) (3.3.7)

按照式(3.3.7)我们可以画出它的功率谱密度曲线:

15

理工大学毕业设计(论文) m序列 2Tc1Tc1Tc2Tc ? ?

由图可以看出,在T0??和m/T0??时,Ps(?)的特性趋于白噪声的功率谱密度特性。

3.4 m序列在数字通信加密中的应用

在加密的基本思想是:用m序列将携带信息的数字信号在统计结构上随机化,即“白化”,以达到隐藏信息的目的,对于0,1序列,在实现时要用m序列与原信号进行异或,得到的密文是类似于白噪声的伪随机序列。将这种加密序列在信道里传输,被他人窃听也无法理解其内容。解密时只有用完全相同的m序列对密文再次进行异或,才能还原出原信号。其原理图如下所示:

信源 发送 信道 接收 用户 m序列 发生器 m序列 发生器

16

理工大学毕业设计(论文) m序列

第四章 Gold序列

4.1 Gold序列的定义

Gold序列是一种伪随机序列,具有伪随机序列的所有特性,是R.Gold在1967

年提出的。它是由两个相等长度的m序列优选对或者互逆的特征m序列对移位模2和构成。每改变两个m序列相对位移就得到一个新的gold序列。当相对移位2?1时,就得到一个族2?1个gold序列,再加上原来两个m序列,共有2?1个gold序列。

nnn4.2 m序列优选对

下面我们引出m序列优选对的概念。设a是对应于n级本原多项式,f(x)是所产生的m序列,b是n级本原多项式g(x)所产生的m序列,当它们的互相关函数值{Ra,b(k)}满足:

Ra,b(k)?2(n?1)2?1 (n为奇数) Ra,b(k)?2(n?2)2?1 (n为偶数)

则m序列a和b构成一对优先对。

优先对序列较之其它序列有良好的互相关性,它们的互相关峰值为,例如,对10阶移位寄存器,优先对的最大互相关为65,而由10阶具有不同反馈连接的移位寄存器产生的60种可能的m序列间最大的互相关却是383,是65的近6倍!良好的互相关特性对于多址通信(如 CDMA系统)至关重要。然而在m序列中具有这种良好的互相关特性的优先对实在是太少了,对于CDMA应用来说远远不够。于是,Gold序列被给了出来。

17

理工大学毕业设计(论文) m序列

N=? 由primpoly.m得到其所对应的所有的本原多项式 调用m_sequence得本原多项式所对应的m序列 让所有m序列任意两两组合并求出他们的互相关值 Ra,b(k)?2(n?2)2?1(n为奇数) Ra,b(k)?2(n?1)2?1(n为偶数) 满足上式要求 求出当N=?时所对应的m序列优选对

图4.2—1 生成m序列优先对的流程图

今后我们称m序列联通集是满足下列条件的集:该集合中每一对m序列间的互相关函数均为理想的三值互相关函数。等长的m序列联通集中平移不等价的m序列最大个数记为Mn,且称最大可能的联通集叫最大联通集。Mn的计算比较麻烦,且难以给出一般的公式。下表给出一些Mn的值:

18

理工大学毕业设计(论文) m序列

n 2n?1 m序列个数 2 2 6 6 18 16 48 60 176 144 630 756 1800 2048 所有m序列间的 R?值 5 9 11 23 41 95 113 383 287 1407 ?703 ?5631 ?2047 ?4095 M2 0 3 2 6 0 2 3 4 0 4 3 2 0 n t(n) 5 9 9 17 17 33 33 65 65 129 129 257 257 513 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32767 65535 表4-1 n?16时的最大可能的Mn值

表4-2 以n=6为例:当n=6时,共能得到6个本原多项式

本原多项式 x6?x?1 x6?x4?x3?x?1 x6?x5?1 所对应的特征相量 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 x6?x5?x2?x?1 x6?x5?x3?x2?1 x?x?x?x?1 654

19

理工大学毕业设计(论文) m序列

表4-3 由m序列互相关值满足的条件判断共得出9对m序列优选对

m序列优选对所对应的本原多项式 x6?x?1与x6?x4?x3?x?1 x6?x?1与x6?x5?1 x6?x?1与x6?x5?x2?x?1 x6?x4?x3?x?1与x6?x5?x3?x2?1 x6?x4?x3?x?1与x6?x5?x4?x?1 x6?x5?1与x6?x5?x3?x2?1 x6?x5?1与x6?x5?x4?x?1 x6?x5?x2?x?1与x6?x5?x3?x2?1 x6?x5?x2?x?1与x6?x5?x4?x?1 特征相量 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 1 1 4.3 Gold序列的产生结构

可以证明,若f(x),g(x)为一组m序列优选对中的两个不同的本原多项式,令f(x)产生的序列为G(F1),g(x)产生的序列为G(F2),f(x)?g(x)所产生的序列为

G(F1,F2),则有G(F1,F2)=G(F1)?G(F2)。上式表明两本原多项式乘积所产生的序列等于两个本原多项式分别产生的模2和序列。

故产生Gold码序列的结构形式有两种,一种是串联成级数为2n级的线性移位寄存器;另一种是两个n级并联而成,图3和图4分别为n=6级的串联型和并联型结构图,其本原多项式分别为:

它们产生f(x)?x6?x?1,g(x)?x6?x5?x2?x?1这两种结构是完全等效的,

Gold码的周期都是p?2n?1。

20

理工大学毕业设计(论文) m序列

h(x)?g(x)?f(x)?1?x3?x5?x6?x8?x11?x12

(4.3.1)

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12

图4-4 码长为63,移位寄存器级数n=12 的Gold码发生器

x1 x2 x3x4 x5 x6 输出 xx1 x2 x3 x4 x5 x6

图4-5 码长为63,移位寄存器级数n=6 的并联型Gold码发生

4.4 Gold序列的性质 (1) 平衡性

21

理工大学毕业设计(论文) m序列

Gold序列分为平衡码和非平衡码。当n为奇数时,平衡码数量占50%,非平衡

码占50%,当n为偶数,但不能被4整除时,平衡码占75%,非平衡码占25%。

(2) Gold序列的数量

Gold序列是m序列的复合码,是由两个码长相等,码时钟速率相等的m序列优先对模2加组成。两个m序列优先对经过不同移位相加就得到一个新的Gold序列,两个n级移位寄存器共有2?1个不同的相对移位,加上原来的两个m序列本身,所以两个n级移位寄存器就可以产生2n?1n个Gold序列,周期为2n?1。这样,Gold序列

6数比m序列数多的多,如n=6时,m序列只有6个,而Gold序列数有2?1=65个。 (3) Gold序列的自相关性

Gold证明了Gold码序列的自相关函数的所有非最高峰的取值是三值。其自相关函数所有非最高峰值R如下式:

-1 pt (4.4.1) pt?2 p -

-n其中p=2?1,为Gold码序列的周期。

在位移k=0时,R取得最高峰值,即R=1,此时同m序列一样,具有尖锐的自相关峰值。因此Gold码序列具有4个峰值的自相关函数值。式(4.4.1)中t的取值是,当n为奇数时,t=

2n?12?!,当n为偶数,且不说4的整数倍时,t=2n?22?1

(4) 互相关性

Gold码序列具有较好的互相关性,Gold码序列的互相关函数值的最大值不超过其m序列优先对的互相关值。Gold序列码也具有三值互相关函数值,其取值同(4.4.1)式。当n为奇数时,序列族中约有50%的码序列的互相关函数值为-1/p;而n为偶数时,有75%码序列的互相关函数值为-1/p。

22

理工大学毕业设计(论文) m序列

4.5 平衡Gold码

早在50年代,哈尔凯维奇就从理论上证明:要克服多径衰落干扰的影响,信道中传输的最佳信号形式应该是具有白噪声统计特性的信号形式。扩频函数(伪码)逼近白噪声的统计特性,因而扩频通信具有抗多径干扰的能力。香农也指出:在高斯噪声的干扰下,有限平均功率的信道上,实现有效和可靠通信的最佳信号是具有白噪声统汁特性的信号。而白噪声统计特性中的一个重要特性就是平衡特性。

Gold序列具有序列多、相关值低等特点,但其平衡性不一致。R.Gold的研究认为,Gold序列的平衡性有三种,即Gold序列有三种0,1分布情况:一种是l码元数目比0码元数目仅多一个,这就是平衡Gold序列;另一种是l码元过多;再一种是l码元过少,这两种部是非平衡序列。当p为奇数时,在周期N=2r?1的2r?1个Gold序列中,有2r?1个序列平衡,即序列中l码元数为2r?1个,比0码元数多一个;有2(r?1)?2(r?1)2个序列,序列中l码元数为2(r?2)?2(r?3)2个,即l码元过多;另外有2(r?1)?2(r?1)2个序列,序列中l码元数有2(r?2)?2(r?3)2个,即l码元过少。对n为奇数的Gold序列集合,有50%的序列是平衡的。当n为偶数(但不为4的倍数)时,在N=2r?1的N+2个Gold序列中,有2r?1?2r?2?1个序列是平衡的,为Gold序列集合巾序列数的75%。

在扩频通信中,序列的平衡性对通信质量影响很大。在扩频系统中伪随机序列是用正电平和负电平来表示的,平衡序列中正负电平大致相当,使得发送信号的直流分量小,而且具有更好的频谱特性。这不仅在工程中更容易实现,而且可以有效抑制载频、降低发射功率、不易被侦破等。反之,如果序列不平衡,将破坏扩频通信系统的保密、抗干扰和抗侦破能力。

23

理工大学毕业设计(论文) m序列

第五章 序列的仿真及其仿真比较

5.1 m序列的仿真

我们以7阶移位寄存器为例,来产生m序列。先求其本原多项式,打开Matlab程序,输入primpoly(7,’all’)能得到7阶移位寄存器所对应的所有的本原多项式。输出结果为:

>> primpoly(7,'all')

Primitive polynomial(s) =

D^7+D^1+1 D^7+D^3+1

D^7+D^3+D^2+D^1+1 D^7+D^4+1

D^7+D^4+D^3+D^2+1 D^7+D^5+D^2+D^1+1 D^7+D^5+D^3+D^1+1 D^7+D^5+D^4+D^3+1

D^7+D^5+D^4+D^3+D^2+D^1+1 D^7+D^6+1

D^7+D^6+D^3+D^1+1 D^7+D^6+D^4+D^1+1 D^7+D^6+D^4+D^2+1 D^7+D^6+D^5+D^2+1

D^7+D^6+D^5+D^3+D^2+D^1+1 D^7+D^6+D^5+D^4+1

D^7+D^6+D^5+D^4+D^2+D^1+1 D^7+D^6+D^5+D^4+D^3+D^2+1

ans =

131

24

理工大学毕业设计(论文) m序列

137 143 145 157 167 171 185 191 193 203 211 213 229 239 241 247 253

再以其中一个特征多项式f(x)?x7?x3?1为本原多项式,亦即反馈连接形式为

[C1,C2,C3,C4,C5,C6,C7]?[0,0,1,0,0,0,1]时,输出序列为m序列。以下是产生m序列的

程序代码:

fbconnection=[0 0 1 0 0 0 1];

mseq=m_sequence(fbconnection);

保存为mxulie.m然后在MATLAB命令窗口输入m_sequence([0 0 1 0 0 0 1]),返回结果:

>> m_sequence([0 0 1 0 0 0 1])

ans =

Columns 1 through 26

10000001001001101001111011

Columns 27 through 52

10000111111100011101100010

Columns 53 through 78

10010111110101010000101101

Columns 79 through 104

25

理工大学毕业设计(论文) m序列

11100111001010110011000001

Columns 105 through 127

10110101101001001000

图5.4-1 m序列

其中自编函数m_sequence.m用来产生m序列,输入参数为由本原多项式所对应的反馈连接形式。其代码如下:

function[mseq]=m_sequence(fbconnection) n=length(fbconnection); N=2^n-1;

register=[zeros(1,n-1) 1]; %定义移位寄存器的初始状态

26

理工大学毕业设计(论文) m序列

mseq(1)=register(n); %m序列的第一个输出码元 for i=2:N

newregister(1)=mod(sum(fbconnection.*register),2);

for j=2:n,

newregister(j)=register(j-1); end;

register=newregister; mseq(i)=register(n); stairs(mseq); end

在实际的应用中,可以根据不同的本原多项式来实现不同的m序列。只需要输入本原多项式的方程,即可在Matlab环境中实现自己所要的不同周期的m序列。

5.3 Gold序列仿真

对5阶移位寄存器,由本原多项式f(x)=1+x3+x5和本原多项式f(x)=1+x2+x3+x4+x5生成的m序列为m序列优选对,以此优选对为例来产生Gold序列。程序如下:

%产生Gold序列的程序 clear;

fb1=input('请输入第一个本原多项式所对应的反馈连接形式: '); fb2=input('请输入第二个本原多项式所对应的反馈连接形式: '); [mseq]=m_sequence(fb1);

27

理工大学毕业设计(论文) m序列

mseq1=mseq;

[mseq]=m_sequence(fb2); mseq2=mseq; N=2^length(fb1)-1; for shift_amount=0:N-1

shift_mseq2=[mseq2(shift_amount+1:N) mseq2(1:shift_amount)]; goldsequence(shift_amount+1,:)=mod(mseq1+shift_mseq2,2); end; goldsequence

将其保存为mygold. m ,运行后在Matlab命令窗口输入mygold并回车,返回结果为31×31的矩阵,其每一行即为一个Gold 序列,这里列出前三行:

请输入第一个本原多项式所对应的反馈连接形式: [1 0 1 0 0 ] 请输入第二个本原多项式所对应的反馈连接形式: [1 1 1 1 0 ] goldsequence =

0000000000000000000000000000000 1000000000000000000000000000001 1000000000000000000000000000010

28

理工大学毕业设计(论文) m序列

5.4相关性仿真

伪随机码大都具有尖锐的自相关特性和较好的互相关特性,同一码组内的各个码元占据的频带可以做到很宽且平衡相等。基本的伪随机码序列互相关性都不够好。因此,实际的CDMA系统中常选用自相关性好的伪随机码作为扩频码,而另外选择互相关性好的编码作为地址码。下面对伪随机码的自相关特性和互相关特性加以简要分析。在数学上, 信号的自相关性是用自相关函数来表征的,而自相关函数所解决的是信号与它自身相移以后的相似性问题,其定义如下:

?a(?)?1T?T/2T/2f(?)f(t??)dt (5.4.1)

(5.4.1)式中,f(t)为信号的时间函数,τ为时间延迟,f(t?τ)为f(t)经时间τ的延时后得到的信号。当f(t)与f(t?τ)完全重叠,即τ=0时,自相关函数值Φa(τ)为一常数(通常为1);当两信号不完全重叠,即τ≠0时,自相关函数值Φa(τ)很小(通常为一负值)。其重要意义是:对通信系统的接收端而言,只有包含伪随机序列与接收机本地产生的伪随机序列相同且同步的信号才能被检测出来,其他不同步(有延时τ)的信号,即使包含的伪随机序列完全相同,也会作为背景噪声(多址干扰)来对待。以m序列为例,其自相关函数曲线如图5.4-2所示。其中,P为序列的周期长度,RP为序列的码元速率,其倒数1/RP为子码宽度。由图5.4-2可见,由于同步且完全相同的m序列的自相关函数值为1(最大), 因此接收机的相关器能够很容易地捕获该信号并进行接收;其它的m序列,即使完全相同,只要时延差τ大于一个子码宽度,自相关函数值就会迅速下降到-1/P,相关器就不会捕获该信号了。此外,在接收端和发送端满足序列同步和位同步(由PN码的捕获和跟踪系统保证)的前提下,同一个伪随机序列只要其相位被错动(偏置)不同数目的子码宽度, 就可以用作多个用户的扩频序列。

5.4-2 m序列自相关函数

29

理工大学毕业设计(论文) m序列

伪随机码序列除自相关性外,与其它同类码序列的相似性和相关性也很重要。例如有许多用户共用一个信道,要区分不同用户的信号,就得靠相互之间的区别或不相似性来区分。换句话说,就是要选用互相关性小的信号来表示不同的用户。对于两个不同的信号f (t)与g (t),它们之间的互相关函数定义为:

1T/2?c(?)??f(?)g(t??)dt (5.4.2)

TT/2如果两个信号都是完全随机的,在任意延迟时间τ都不相同, 则(5.4.2)式的结果为0, 同时称这两个信号是正交的。如果二者有一定的相似性, 则结果不完全为0。通常希望两个信号的互相关函数值越小越好, 这样它们就越容易被区分, 且相互之间的干扰也就越小。

5.4.1 m序列相关性仿真

自编函数ccorr. m用来求两个伪随机序列的互相关函数,输入为两个相同长度的伪随机序列,返回互相关值。当输入为一个序列时,求其自相关函数。函数代码如下:

function r=ccorr(seq1,seq2) if nargin==1 seq2=seq1; end

N=length(seq1); for k=-N+1:-1

shift=[seq2(k+N+1:N) seq2(1:k+N)]; r(N+k)=seq1*shift'; end for k=0:N-1

shift=[seq2(k+1:N) seq2(1:k)]; r(N+k)=seq1*shift'; end

30

理工大学毕业设计(论文) m序列

我们以上述所产生的m序列和生成的前两组Gold序列为例,分析伪随机序列的相关特性。为方便起见,这里把序列中的“1”和“0”分别映射成“1”和“-1”。

ind1=find(mseq==0); mseq(ind1)=-1;

ind2=find(goldsequence==0); %把“0”映射成“-1” goldsequence(ind2)=-1; r1=ccorr(mseq); r2=ccorr(mseq1,mseq2); r3=ccorr(goldsequence(1,:));

r4=ccorr(goldsequence(1,:), goldsequence(2,:)); N=length(mseq);

axis=-N+1:N-1; %定义横轴使自相关峰值移到0点 plot(axis,r1,axis,r2,'--',axis,r3,':',axis,r4,'.-'); xlabel('k'); ylabel('R(k)');

title('伪随机序列的相关性');

legend('m序列自相关性','m序列互相关性','Gold序列自相关性','Gold序列互相关性');

在MATLAB命令窗口中运行上述代码,将会得到图5.4-3所示: 将4条相关性曲线分别建立坐标系,编程如下: ind1=find(mseq==0); mseq(ind1)=-1;

ind2=find(goldsequence==0); goldsequence(ind2)=-1; r1=ccorr(mseq); r2=ccorr(mseq1,mseq2); r3=ccorr(goldsequence(1,:));

r4=ccorr(goldsequence(1,:),goldsequence(2,:)); N=length(mseq); axis=-N+1:N-1;

subplot(2,2,1),plot(axis,r1); title('m序列自相关性'); xlabel('k'); ylabel('R(k)'); grid;

31

理工大学毕业设计(论文) m序列

subplot(2,2,2),plot(axis,r2); title('m序列互相关性'); xlabel('k'); ylabel('R(k)'); grid;

subplot(2,2,3),plot(axis,r3); title('gold序列自相关性'); xlabel('k'); ylabel('R(k)'); grid;

subplot(2,2,4),plot(axis,r4); title('gold序列互相关性'); xlabel('k'); ylabel('R(k)'); grid

在MATLAB命令窗口中运行上述代码,将能得到图5.4-3,5.4-4, 5.4-5,5.4-6所示。

上述仿真结果,我们所有的m_sequence([1 1 0 0 1]);产生第一个gold序列所对应的本原多项式是:[1 1 0 0 1],产生第二个gold序列的本原多项式是:[1 0 0 1 1]。 若要改变输入多项式可在MATLAB中输入。

32

理工大学毕业设计(论文) m序列

图5.4-2 伪随机序列的相关性

5.4-3 m序列互相关性

33

理工大学毕业设计(论文) m序列

5.4-4 m序列自相关性

5.4-5 Gold序列自相关性

34

理工大学毕业设计(论文) m序列

5.4-6 gold序列互相关性

从上面的仿真结果我们可以发现:

由图5.4-4和图5.4-5可以看出:m 序列自相关曲线要比Gold序列自相关曲线整体上平缓,由此也可以得出,m序列的自相关性比Gold序列的自相关性要好。 比较图5.4-3和图5.4-6可以看出,Gold序列的互相关曲线与m序列相比要更小,Gold序列的互相关性比m序列的互相关性好。

35

理工大学毕业设计(论文) m序列

结论

伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的

可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用。本文首先通过对伪随机序列中m序列和Gold序列的研究,从理论上了解了m序列及Gold序列是如何产生的以及他们之间的一些相关特性。并结合仿真工具Matlab软件,研究仿真了这两种伪随机序列的产生,m序列的自相关特性,Gold序列的自相关和互相关特性。最后从理论上分析和探讨m序列与Gold序列的优缺点。

两种序列均具有尖锐的自相关特性,但是m序列的旁瓣要比Gold序列小,说明m序列的自相关特性相对来说比较好。

从m序列和Gold序列的功率谱密度可以看出它们均具有类似白噪声的特性。 由m序列和Gold序列的互相关函数可以看出,Gold序列的互相关函数与m序列类似,且其最大值是相等的。但是,具有与m序列相关特性的Gold序列数比m序列优选对的数目要多得多。由此可知,Gold序列的互相关特性要比m序列的好,这就为使用Gold序列来区别不同用户提供了保证。相反,一般不用m序列作为扩频的地址码来区别用户。

在序列数量方面,随着n的增加,Gold序列以2的次幂增长。但是,m序列数目的增加很慢。

在平衡性方面,m序列均是平衡的。在周期N?2n?1的N+2个Gold序列中,当n为奇数时,有12的序列是平衡的;当n是偶数时,有34的序列是平衡的。 在Gold序列仿真的过程中,由于随着移位寄存器级数n的增大,产生的Gold序列的数量呈幂次增长。当n增大到一定值时,仿真结果的数量远超过Matlab软件所能显示的结果的数量,从而不能完全显示,使得对n值大时的Gold序列仿真产生不便。

致谢

本论文的设计与各方面的帮助是分不开的,特别是我的指导老师钟老师远在千里之外,却还在自身忙碌的学习时间里抽取时间给我找了很多和本论文相关的资料。本论文涉及的内容在大三学习的教材《通信原理》略有简介,而钟老师当时也是在百忙中给我们上了半个学期的课时,很多很难懂得的原理,在钟老师的推导下,让我们很容易的理解消化了很多知识点,让我们收获甚多。钟老师的那种对学识的追求值得我们07通信每一位学子学习。

36

理工大学毕业设计(论文) m序列

参考文献

[1] 瑞典 Hans-Jurgen Zepernick 德国 Adolf Filger 著 伪随机信号处理。北京:电子工业出版社,甘良才等译,2007

[2] 樊昌信、曹丽娜 通信原理(第六版)。北京:国防工业出版社,2010

[3] 张志军 基于Matlab的伪随机序列的实现。新乡师范高等专科学校学报第五期 2003

[4] 陈海龙、李宏 基于MATLAB的伪随机序列的产生和分析 西北工业大学学报第五期 2003 [5] 王群、庞晶、苏双臣 产生伪随机序列的一种方法。北华航空工业学院学报第五期 2007 [6] 王哲 伪随机序列的Matlab实现与分析 科技创新导报 2008

[7] 伊晓琦、殷奎喜、李中惠、万惠琳, 伪随机序列及其在通信加密中的应用 信息安全 2005 [8] 金桂梅、李永冰、王萌,伪随机序列的仿真与分析 现代电子技术第14期总第301期 2009 [9] PN Sequence Generator . http://www.mathworks.com [10] Gold Sequence Generator. http://www.mathworks.com

[11] Carl Andren. Short PN Sequence For Direct Sequence Spread Spectrum Radios.Harris Semiconductor Palm Bay,Florida

[12] Andy Miller and Michael Gulotta.PN Generators Using the SRL Macro.XXPP211(v1.1)Janary 9,2001

37