Gold序列产生仿真课程设计报告.doc

上传人:jian****018 文档编号:8952251 上传时间:2020-04-02 格式:DOC 页数:18 大小:269.50KB
返回 下载 相关 举报
Gold序列产生仿真课程设计报告.doc_第1页
第1页 / 共18页
Gold序列产生仿真课程设计报告.doc_第2页
第2页 / 共18页
Gold序列产生仿真课程设计报告.doc_第3页
第3页 / 共18页
点击查看更多>>
资源描述
目 录一 基本原理11.1伪随机序列11.11伪随机序列的相关概念11.12伪随机序列的数学11.13伪随机序列的相关特性21.2m序列31.3Gold序列51.31Gold序列的产生原理51.32Gold序列的基本性质6二 设计过程62.1 MATLAB编程简介62.2 设计思路与流程图72.3 仿真程序8三 仿真结果9四 结果分析94.1相关性的理论分析 94.2自相关 114.3互相关 13五 总结17一:基本原理Gold序列是RGold提出的一种基于m序列的码序列,这种序列有较优良的自相关和互相关特性,构造简单,产生的序列数多,因而获得了广泛的应用。1.1伪随机序列1.1.1伪随机序列相关概念伪随机序列作为扩频通信系统中的一部分是十分关键的,它关系到扩频系统的性能。四十年代末,信息论的奠基人香农(C.E.Shannon)提出的编码定理指出:只要信息速率Rb小于信道容量C,则总可以找到某种编码方法,在码周期相当长的条件下,能够几乎无差错的从收到高斯噪声干扰的信号中复制出原发信息。这里有两个条件,一是Rb=C,二是编码的码周期足够长。同时香农在证明编码定理的时候,提出用具有白噪声统计特性的信号来编码。白噪声是一种随机过程,它的瞬时值服从正态分布,功率谱在很宽频带内都是均匀的。但是至今无法实现对白噪声放大、调制、检测、同步及控制等,而只能用具有类似于限带白噪声统计特性的伪随机序列信号来逼近它,并作为扩频系统的扩频码。六十年代末,一些易于产生、加工和复制且具有白噪声性质的“伪噪声编码技术”日趋成熟,因此高效抗干扰编码通信变得蓬勃发展起来。同时用各种不同波形的正交码来实现波形分割的码分多址通信也相继出现,实现了无线用户的随意呼叫通信。这种技术在地面多址通信和卫星通信中都可采用。由于码分多址通信有抗干扰性能强和一定程度的保密性等一系列优点,所以首先引起国防军事通信部国防军事通信部门的注意,并出现了一些军用战略卫星通信的码分系统和超短波战术通信的码分系统。民用通信方面,也相继出现一些具体的方案。伪随机序列(伪随机码)的一般定义是:如果一个序列,一方面它的结构(或形式)是可以预先确定的,并且是可以重复地产生和复制的;另一方面它又有某种随机序列的随机特性(即统计特性),我们称这种序列为伪随机序列(伪随机码)。伪随机序列虽然只有两个电平,但却具有类似白噪声的相关特性,只是幅度概率分布不再服从高斯分布。它应具有如下特性:(l)每一周期内0和1出现的次数近似相等。(2)每一周期内,长度为n比特的游程出现的次数比长度为n+1比特游程次数多一倍(游程是指相同码元的码元串)。(3)对于狭义伪随机序列,将给定随机序列位移任何一个非零数目个元素,所得的序列将和原序列有一半的元素相同,一半的元素不同。1.1.2 伪随机序列的数学定义白噪声是一种随机过程,瞬时值服从正态分布,自相关函数和功率谱密度有极好的相关性,伪随机序列是针对白噪声演化而来的,只有“0”和“1”两种电平,因此伪随机编码概率分布不具备正态分布形式。但当序列足够长时,由中心极限定理可知,它趋2近于正态分布,由此,伪随机序列定义如下:(1)凡自相关函数具有 (2.1)式的序列称为狭义伪随机序列。(2)凡自相关函数具有 (2.2)形式的序列,成为第一类广义伪随机序列。(3)凡互相关系数具有 或 (2.3)形式的序列,称为第二类广义伪随机序列。(4)凡相关函数满足(1)、(2)、(3)三者之一的序列,统称为伪随机序列。由上面的四种定义可以看出,狭义伪随机序列是第一类广义伪随机序列的一种特例。1.1.3 伪随机序列的相关特性扩频系统中,对伪随机序列而言,最关心的问题就是其相关特性,包括自相关性、互相关性及部分相关性。下面分别给出这些相关函数的定义。设有两条长为N的序列a和b,序列中的元素分别为ai,bi,(i=1,2,3,N)。则序列的自相关函数定义为: (2.4)由于a是周期为P的序列,故有ai+p=ai,其归一化自相关函数a()定义为: (2.5)序列a和b的互相关函数定义为: (2.6)归一化互相关函数定义为: (2.7)对于二进制序列,可以表示为: (2.8)其中,A为序列a和b对应码元相同的数目,D为不相同的数目。若ab()=0,则序列a和序列b正交,定义a的部分相关函数和归一化部分相关函数为 (式中t为某一整数) : (2.9)定义序列a和序列b的部分互相关函数和归一化部分互相关函数分别为: (2.10)1.2 m序列m序列是最长线性移位寄存器序列的简称。它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。由于m序列容易产生、规律性强、有许多优良的性能,在扩频通信中最早获得广泛的应用。如图2.1所示,m序列可由二进制线性反馈移位寄存器产生。它主要由n个串联的寄存器、移位脉冲产生器和模2加法器组成。 图中第i级移存器的状态ai表示,ai=0 或ai=1,i=整数。反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈),ci=0表示此线断开。由于反馈的存在,移存器的输入端受控地输入信号。不难看出,若初始状态为全“0”,则移位后得到的仍为全“0”,因此应避免出现全“0”状态,又因为n级移存器共有2n-1种可能的不同状态,除全“0”状态外,剩下2n-1种状态可用。每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某一状态,其后的过程便周而复始了。反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到周期P=2n-1。按图中线路连接关系,可以写为: (模2) (2.11) 该式称为递推方程。图2.1 线性反馈移位寄存器上面曾经指出,ci的取值决定了移位寄存器的反馈连接和序列的结构。现在将它用下列方程表示: (2.12)这一方程称为特征多项式。式中xi仅指明其系数ci的值(1或0),x本身的取值并无实际意义,也不需要去计算x的值。例如,若特征方程为f(x)=1+x+x4则它仅表示x0,x1和x4的系数c0=c1=c4=1,其余为零。经严格证明:若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产生m序列。只要找到本原多项式,就可构成m系列发生器。表2.1给出了部分本原多项式。表2.1 部分本原多项式 m序列的基本性质如下:(1)周期性:m序列的周期p取决于它的移位寄存器的级数, p=2n-1(2)平衡特性:m序列中0和1的个数接近相等;m序列中一个周期内“1”的数目比“0”的数目多1个。(3)游程特性:m序列中长度为1的游程约占游程总数的1/2,长度为2的游程约占游程总数的1/22 ,长度为3的游程约占游程总数的1/23 (4)线性叠加性:m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已。例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列。用公式表示为: (2.13)其中: u(i)、up(i)、uq(i)分别为原序列、平移p个元素后的序列及平移相加后得到的序列中的第i个元素。(5)二值自相关特性:码位数越长越接近于随机噪声的自相关特性。m序列的自相关函数计算式为 (2.14)其中:,为码序列的最大长度,亦即m序列的周期; Tc为m序列码的码元宽度。可见,相关函数是个周期函数。(6)m序列发生器中,并不是任何抽头组合都能产生m序列。理论分析指出,产生的m序列数由下式决定: (2.15)其中(x)为欧拉数(即包括1在内的小于x并与它互质的正整数的个数)。例如5级移位寄存器产生的31位m序列只有6个1.3 Gold序列m序列虽然性能优良,但同样长度的m序列个数不多,且序列之间的互相关值并不都好。RGold提出了一种基于m序列的码序列,称为Gold 码序列。随着级数n的增加,Gold码序列的数量远超过同级数的m序列的数量,且Gold码序列具有良好的自相关特性和互相关特性,得到了广泛的应用。 1.3.1 Gold序列的产生原理Gold序列就是为了解决m序列个数不多且m序列之间的互相关函数值不理想而提出的,它是用一对周期和速率均相同的m序列优选对模2加后得到的。其发生器结构框图如图3.1所示: 图3.1 Gold序列发生器Gold序列具有良好的自、互相关特性,且地址数远远大于m序列地址数。如有两个m序列,它们的互相关函数的绝对值有界,且满足以下条件: (3.1)我们称这一对m序列为优选对。每改变两个m序列相对位移就可得到一个新的Gold序列,当相对位移2n-1位时,就可得到一族2n-1个Gold序列。再加上两个m序列,共有2n+1个Gold序列码。1.3.2 Gold序列的基本性质(1)平衡性: Gold 码序列分为平衡码和非平衡码。Gold序列的平衡特性有3种,也就是Gold序列有3种“0”和“1”情况:“1”码元数目仅比“0”码元数目多一个,这就是平衡Gold序列。“1”码元过多。“1”码元过少。后两种序列是不平衡Gold序列。当n为奇数时,在周期N的N+2个Gold序列中,有2n-1个序列是平衡的。即平衡码数量占50%,非平衡码数量占50%。当n为偶数,但不能被4整除时,在周期N=2n-1的N+2个Gold序列中, 平衡码占75%,非平衡码占25%。相比较而言,m序列是平衡的,“1”码和“0”码的个数基本相等。(2)自相关特性:Gold证明了Gold码序列的自相关函数的所有非最高峰的取值是三值。其自相关函数值所有非最高峰取值R如下式。其中p=2n-1,p为Gold码序列的周期。 (3.2)在位移k=0 ,R取得最高峰,即R=1,此时同m序列一样,具有尖锐的自相关峰值。 因此Gold码序列应具有四个值的自相关函数值。(3.2)式中t的取值是,当n为奇数时,。当n为偶数,且不是4的整倍数时,。(3)互相关特性:Gold码序列具有较好的互相关特性,Gold码序列的互相关函数值的最大值不超过其m序列优选对的互相关值。Gold码也具有三值互相关函数值,其取值同(3.2)式。当n为奇数时,序列族中约50%的码序列的互相关函数值为-1/p;而n为偶数时,有75%的码序列的互相关函数值为-1/p。二:设计过程2.1 MATLAB编程简介Matlab语言是当今国际上科学界最具影响力,也是最有活力的软件。它起源于矩阵运算, 并已经发展成一种高度集成的计算机语言。 Matlab具有强大的数学运算能力,方便实用的绘图功能及语言的高度集成。Matlab是矩阵实验室(Matrix Laboratory)之意。 Matlab除具备卓越的数值计算能力外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能。2.2 设计思路与流程图2.21流程图 产生gold序列流程图2.22思路:1产生m序列我们以6阶移位寄存器为例,来产生m序列。特征多项式fx6+x+1为本原多项式,亦即反馈连接形式为C1,C2,C3,C4,C5= 1 0 0 0 0 1 1时,输出序列为m序列。在实际的应用中,可以根据不同的本原多项式来实现不同的m序列。只需要输入本原多项式的方程,即可在Matlab环境中实现自己所要的不同周期的m序列。2产生Gold序列对6阶移位寄存器,由本原多项式f(x)= x6+x+1和本原多项式f(x)= x6+x5+x2+x+1生成的m序列为m序列优选对,以此优选对为例来产生Gold序列。2.3 仿真程序r=6;N=2r-1;%移位寄存器的长度和序列的长度s1(1:6)=1 0 0 0 0 1; %initial value 1s2(1:6)=1 0 0 0 0 0; %initial value 1f1=1 0 0 0 0 1 1; %特征多项式fx6+x+1;f2=1 1 0 0 1 1 1;%特征多项式fx6+x5+x2+x+1;for n=r+1:N;%进行循环s1(n)=mod(sum(s1(n-r:n-1).*s1(1:r),2);%产生m序列end;for n=r+1:N;%进行循环s2(n)=mod(sum(s2(n-r:n-1).*s2(1:r),2);%产生m序列end;for n=r+1:N;%进行循环s=mod(s1+s2,2);%进行模2加gold_sequence_1=s;figure(1);%产生gold序列stem(gold_sequence_1);end;三 仿真结果 仿真产生的Gold序列得到gold序列值为:000001100001011110001011101101010110000100011000001111101010101通过运行结果可以看出是由0、1组成的阶梯形图形,stem函数使结果明显,其中r=6时,l=2r-1=63位。通过计算两个m序列摩尔加得到的gold序列与理论计算值一致,达到了实验要求。四: 结果分析4.1 相关性的理论分析伪随机码大都具有尖锐的自相关特性和较好的互相关特性,同一码组内的各个码元占据的频带可以做到很宽且平衡相等。基本的伪随机码序列互相关性都不够好。因此,实际的CDMA系统中常选用自相关性好的伪随机码作为扩频码,而另外选择互相关性好的编码作为地址码。下面对伪随机码的自相关特性和互相关特性加以简要分析。在数学上, 信号的自相关性是用自相关函数来表征的,而自相关函数所解决的是信号与它自身相移以后的相似性问题,其定义如下: (4.1)(4.1)式中,f(t)为信号的时间函数,为时间延迟,f(t)为f(t)经时间的延时后得到的信号。当f(t)与f(t)完全重叠,即=0时,自相关函数值a()为一常数(通常为1);当两信号不完全重叠,即0时,自相关函数值a()很小(通常为一负值)。其重要意义是:对通信系统的接收端而言,只有包含伪随机序列与接收机本地产生的伪随机序列相同且同步的信号才能被检测出来,其他不同步(有延时)的信号,即使包含的伪随机序列完全相同,也会作为背景噪声(多址干扰)来对待。以m序列为例,其自相关函数曲线如图4.3所示。其中,P为序列的周期长度,RP为序列的码元速率,其倒数1/RP为子码宽度。由图4.3可见,由于同步且完全相同的m序列的自相关函数值为1(最大), 因此接收机的相关器能够很容易地捕获该信号并进行接收;其它的m序列,即使完全相同,只要时延差大于一个子码宽度,自相关函数值就会迅速下降到-1/P,相关器就不会捕获该信号了。此外,在接收端和发送端满足序列同步和位同步(由PN码的捕获和跟踪系统保证)的前提下,同一个伪随机序列只要其相位被错动(偏置)不同数目的子码宽度, 就可以用作多个用户的扩频序列。4.1 m序列自相关函数伪随机码序列除自相关性外,与其它同类码序列的相似性和相关性也很重要。例如有许多用户共用一个信道,要区分不同用户的信号,就得靠相互之间的区别或不相似性来区分。换句话说,就是要选用互相关性小的信号来表示不同的用户。对于两个不同的信号f (t)与g (t),它们之间的互相关函数定义为: (4.2)如果两个信号都是完全随机的,在任意延迟时间都不相同, 则(4.2)式的结果为0, 同时称这两个信号是正交的。如果二者有一定的相似性, 则结果不完全为0。通常希望两个信号的互相关函数值越小越好, 这样它们就越容易被区分, 且相互之间的干扰也就越小。4.2 自相关性当输入为一个序列时,求其自相关函数。代码如下:clear all%先要清除clcr=6;N=2r-1; s1(1:6)=1 0 0 0 0 0; %initial value 1s2(1:6)=1 0 0 0 0 0; %initial value 1f1=1 0 0 0 0 1 1; %特征多项式fx6+x+1;f2=1 1 0 0 1 1 1; %特征多项式fx6+x5+x2+x+1;for n=r+1:N %creat pn 1s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r),2);%产生m序列end%figure(0);%plot(s1,n);%grid on;for n=r+1:N %creat pn 2s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r),2);%产生m序列ends=mod(s1+s2,2); %creat pn goldgold_sequence_1 = s;figure(1);stem(gold_sequence_1);grid on;gold_sequence_1=2*gold_sequence_1-1; %变为双极性序列for j=0:N-1 s3(j+1)=sum(gold_sequence_1.*gold_sequence_1(1+j:N),gold_sequence_1(1:j)/N;%自相关函数分析endj=-N+1:N-1;%进行循环rho=fliplr(s3(2:N),s3;figure(2)plot(j,rho);axis(-30 30 -1 1.2);title(第一个gold序列的自相关函数)%y1=xcorr(gold_sequence_1);%t=1:1:120;%figure(2);%plot(y1);%axis(0,120,-1,40);%grid图4.2 伪随机序列的相关性对比:图 4.3 m序列自相关性图图4.4 Gold序列自相关性图由图4.3和图4.4可以看出:m 序列自相关曲线要比Gold序列自相关曲线整体上平缓,由此也可以得出,m序列的自相关性比Gold序列的自相关性要好。4.3互相关性:仿真代码如下:Clea3r all%先要清除r=6;N=2r-1; %移位寄存器的长度和序列的长度s1(1:6)=1 0 0 0 0 0; %initial value 1s2(1:6)=1 0 0 0 0 0; %initial value 1f1=1 0 0 0 0 1 1; %特征多项式fx6+x+1;f2=1 1 0 0 1 1 1; %特征多项式fx6+x5+x2+x+1;for n=r+1:N %creat pn 1s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r),2);%产生m序列end%figure(0);%plot(s1,n);%grid on;for n=r+1:N %creat pn 2s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r),2);%产生m序列ends=mod(s1+s2,2); %creat pn goldgold_sequence_1 = s;figure(1);stem(gold_sequence_1);grid on;r=6;M=2r-1; s1(1:6)=1 0 0 0 1 0; %initial value 1s2(1:6)=1 0 0 0 1 0; %initial value 1f1=1 0 0 0 0 1 1; %特征多项式fx6+x+1;f2=1 1 0 0 1 1 1; %特征多项式fx6+x5+x2+x+1;for n=r+1:M %creat pn 3s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r),2);%产生m序列end%figure(0);%plot(s1,n);%grid on;for n=r+1:M %creat pn 4s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r),2);%产生m序列ends=mod(s1+s2,2); %creat pn goldgold_sequence_2 = s;figure(2);stem(gold_sequence_2);grid on;gold_sequence_1=2*gold_sequence_1-1;%变为双极性序列gold_sequence_2=2*gold_sequence_2-1;%变为双极性序列for j=0:M-1 s3(j+1)=sum(gold_sequence_1.*gold_sequence_2(1+j:M),gold_sequence_2(1:j)/M;%互相关函数分析endj=-M+1:M-1;rho=fliplr(s3(2:M),s3;%图形figure(3)plot(j,rho);axis(-30 30 -1 1.2);title(第一个gold序列的互相关函数)%y1=xcorr(gold_sequence_1);%t=1:1:120;%figure(3);%plot(y1);%axis(0,120,-1,40);%grid对比m序列:图 4.5 m序列互相关性图图4.6 Gold序列互相关性图比较图4.5和图4.6可以看出,Gold序列的互相关曲线与m序列相比要更小,Gold序列的互相关性比m序列的互相关性好。五:总结Gold序列是RGold提出的一种基于m序列的码序列,这种序列有较优良的自相关和互相关特性,构造简单,产生的序列数多,因而获得了广泛的应用。本设计性试验通过自己查表,用matlab的m文件生成需要的Gold序列,然后又就所设计的序列进行自相关和互相关性分析。本文在简要介绍扩频通信技术和CDMA通信系统相关原理的基础上,较为深入的研究了伪随机序列中的m序列与Gold序列的产生方法及各自的性质,设计了相应的Matlab程序,并利用Matlab、Gold序列的相关性进行了分析。本实验熟知m序列虽然性能优良,但同样长度的m序列个数不多,且序列之间的互相关值并不都好。Gold码序列自相关特性虽然略逊于m序列,但其互相关特性比m序列要好,这与理论分析高度吻合。Gold序列可以软件实现,也可以硬件实现,但是通过本次设计可以看到软件设计的许多优点。 本实验自主设计,自主编程,对不熟知的扩频技术自学过程掌握了伪随机序列的各种特性,增强自学能力,扩张了视野。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!