伪随机序列在CDMA通信系统用的应用31概述在扩频系统中.doc_第1页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中.doc_第2页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中.doc_第3页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中.doc_第4页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 伪随机序列在CDMA通信系统用的应用3.1 概述在扩频系统中,伪随机码序列起着很重要的作用。在直扩系统中,在发送端用伪随机码(PN码)将信号频谱扩展,送入信道进行传输,在接收端用相同的PN码完成解扩。扩频系统的性能同采用的伪随机码的性能有很大关系,伪随机码性能的好坏,直接关系到整个性能的好坏。shannon编码定理指出:只要信息速率Rd小于信道容量C,则总可以找到某种编码方法,使在码字相当长的条件下,能够几乎无差错的从受到高斯白噪声干扰的信号中复制出原发送信号。高斯白噪声的理想特性为:式中为白噪声的双边噪声谱密度。从理论上讲,纯随机序列去扩展信号频谱是最理想的。但是很难实现白噪声的放大、调制、检测、同步及在接收机中为了解扩复制一个同发送端扩频码相同的副本。因此,工程上只能用伪随机码(PN码)或伪噪声序列作为扩频码。伪随机序列具有类似噪声的性质,但它又是周期性有规律的,既容易产生,又可以复制。在实际应用系统中,对伪随机序列的要求一般如下:1、易于产生;2、具有随机性;3、尽可能长的周期;4、平衡性,即随机序列中0和1的个数相等;5、自相关函数具有类似于白噪声自相关函数的性质;6、良好的互相关特性。最简单、最常用的伪随机编码是m序列。m序列有尖锐的自相关特性,有较小的互相关值,码元平衡,但序列数目不多,序列复杂度不大。1976年R.Gold提出了新的一类序列:Gold序列,它与m序列的相关特性大致相同,但序列数目却大大增加,序列复杂度也有所改善,也是一种非常重要的扩频序列。3.1.1随机序列的数学定义白噪声是一种随机过程,瞬时值服从正态分布,自相关函数和功率谱密度有极好的相关性,伪随机序列是针对白噪声演化而来的,只有“0”和“1”两种电平,因此伪随机编码概率分布不具备正态分布形式。但当序列足够长时,由中心极限定理可知,它趋近于正态分布,由此,伪随机序列定义如下:凡自相关函数具有:式的序列称为狭义伪随机序列。凡自相关函数具有:形式的序列,成为第一类广义伪随机序列。凡互相关系数具有式的序列,称为第二类广义伪随机序列。凡相关函数满足(1)、(2)、(3)三者之一的序列,统称为伪随机序列。由上面的四种定义可以看出,狭义伪随机序列是第一类广义伪随机序列的一种特例。3.2 M序列m序列是线性反馈移位寄存器的最大长度序列,它的生成可以用移位寄存器序列发生器的特征多项式f(x)来确定,一个本原特征多项式对应一个最大长度序列,也就是对应一个m序列。线性反馈移位寄存器的结构如下图3-1:图3-1线性反馈移位寄存器结构图图中,f(x)为反馈特征多项式,表示为:能够产生m序列的f(x)应满足:为不可约多项式;为本原多项式,即能被f(x)整除(P为m序列的周期,)。同时,对一个给定的移位寄存器序列定义一个系数为多项式:上式中的系数就是移位寄存器输出序列。相应的g(x)多项式就确定了,反之亦然。生成多项式。线性反馈移位寄存器序列一旦给出,其由于可以由g(x)得到an,因此g(x)称为生成多项式。m序列的表达方式一般有以下两种:直接用反馈抽头位置表示:例如,反馈特性多项式为,就可表示为1,5。用八进制数表示:如上例,反馈特征多项式,它的系数矩阵为100011(依次由高阶向低阶表示),则用八进制表示就为43。3.2.1 m序列的特性CDMA通信要求扩频序列具有较好的伪随机特性,m序列的特性包括:在每一序列周期中,“+1”的码元个数和“-1”的码元个数仅相差1位;在每一序列周期中,连续出现“+1”或“-1”的码元长(游程)数目为u,那么码元数为1的游程有u/2个,为2的有u/4个,为3的有u/8个,。其中,“+l”和“-1”的游程数目相同。序列的(周期)自相关函数是二值的,有:m序列就是能够满足上述条件的最主要也是最基本的狭义伪随机序列。它的特性还有:(1)周期为 ;(2)移位相加特性:一个m序列经移位后的序列与原序列相加得到的新序列仍为m序列。(3)相关特性:自相关函数互相关特性:同周期m序列的互相关函数的均值为1,且最大值:两个周期互素的m序列的互相关函数:3.3 Gold序列m序列优选对如果周期为的两个m序列A、B,当B=Aq,且e=gcd(n,k)与n满足n/e为奇数,则m序列A、B之间的互相关函数具有优选三值特性,为:m序列优选对的寻找方法有分圆陪集法、相关验证法、求特征根法和采样法四种。其中分圆陪集法和相关验证法在本质上都是通过一一求解两个m序列的互相关函数值,然后再根据m序列优选对的优选三值特性进行判断从而得到m序列优选对的方法,这里我们不做详细介绍了。Gold序列的生成m序列是相关特性很好的伪随机序列,它的优选对互相关值己接近Welch给出的相关特性下限。但是,它们能彼此构成优选对的数目很少,不便用于CDMA扩频通信。1967年R.Gold提出和讨论了新的一类序列-Gold序列,Gold序列的构成如下:如果序列,是周期为的m序列优选对,它们按下式构成Gold序列:其中T表示循环移位,到表示循环移位i次。A序列的循环移位序列也是m序列。则和A,B序列一起构成Gold序列集合G(A,B)。因此gold序列的基本结构如下所示:图3-2 GOLD 序列产生器上图为Gold序列发生器的模型,由同步时钟控制的两个m序列发生器的周期相同,速率也相同,因而二者保持一定的相位关系,产生的Gold序列的周期与这两个子序列的周期也相同。当改变两个m序列的相对位移时,就会得到一个新的Gold序列。Gold序列的周期和m序列相同,但每对n级m序列优选对可产生个Gold序列,序列数比m序列的数目多很多,这点有利于CDMA通信系统的用户容量的增加。而且Gold序列具有良好的自、互相关特性的一种伪随机序列。第三代移动通信系统中的WCDMA系统就采用Walsh(信道编码)+Gold序列(区分小区)和Walsh (信道编码)+Gold序列(区分用户)进行前/后向扩频编码。3.4 M序列和GOLD序列的对比分析Gold序列是由m序列优选对经过移位相加得到的,在一个Gold序列族中包含有产生这个Gold序列族的两个互为优选对的m序列本身以及它们经过移位相加得到的新序列。因此,Gold序列与m序列在相关特性上既十分相似又存在一定差别。自相关特性Gold序列族中,除了产生此族的两个m序列外,其余Gold序列的自相关特性均虽然较m序列的自相关特性稍差,但当级数n较大时,其归一化旁瓣峰值依旧很小,仍然可以认为是理想的。通过m序列添加小项的M序列的自相关特性没有m序列理想,且旁瓣峰值也较同级的Gold序列稍大,但是随着阶数n的增加M序列的自相关主峰值愈发尖锐,归一化旁瓣峰值变得非常小,自相关特性趋于理想化。互相关特性任一对Gold序列的互相关函数都满足优选三值特性,但是m序列却并不都是优选对,甚至有的m序列对的互相关峰值可能达到较大的值,从而影响是否为相同m序列的判决。同时,Gold序列的数目要远大于m序列的数目。因此,在互相关特性上,Gold序列要优于m序列。M序列的互相关特性没有Gold序列好,它不具有优选三值特性。M序列与m序列相似,存在非优选三值特性的互相关函数,但是随着周期的增加,序列间的互相关特性也会更优。但是,实际系统中采用的M序列都是通过m序列添加小项得到的,序列数目和m序列相同,如果用互相关特性来区分用户,可用的地址数太少。所以,在扩频通信系统中仅利用了M序列的自相关特性(不同用户采取不同的公值),而没有用到M序列的互相关特性。进而可以认为M序列的互相关特性的好坏不会影响实际系统的性能。第四章 基于MATLAB/Simulink的CDMA系统的仿真与分析4.1 设计前言在MATLAB通信工具箱中有SLMULINK仿真模块和MATLAB函数,形成一个运算函数和仿真模块的集合体,用来进行通信领域的研究、开发、系统设计和仿真。通信工具箱中的模块可供直接使用,并允许修改,使用起来十分方便,因而完全可以满足使用者设计和运算的需要。 MATLAB通信工具箱中的系统仿真,分为用SIMULINK模块框图进行仿真和用MATLAB函数进行的仿真两种。在用SIMULINK模块框图的仿真中,每个模块,在每个时间步长上执行一次,就是说,所有的模块在每个时间步长上同时执行。这种仿真被称为时间流的仿真。而在用MATLAB函数的仿真中,函数按照数据流的顺序依次执行,意味着所处理的数据,首先要经过一个运算阶段,然后再激活下一个阶段,这种仿真被称为数据流仿真。某些特定的应用会要求采用两种仿真方式中的一种,但无论是哪种,仿真的结果是相同的。 CDMA是指在各发送端使用不相同、相互(准)正交的地址码调制所传送的信息,而在接收端在利用码型的(准)正交性,通过相关检测,从混合信号中选出相应的信号的一种技术。实现CDMA的理论基础是扩频通信,即在发送端将待发送的数据用伪随机码进行调制,实现频谱扩展,然后进行传输,而在接收端则采用同样的编码进行解扩及相关处理,恢复原始的数据信息。扩频通信有直接序列(DS)、跳频(FH)、线性调频(chirp)、跳时(TH)等方式。采用扩频通信的优点很多,如抗干扰、抗噪声、抗多径衰落的能力强,能在低功率谱密度下工作,保密性好,可多址复用和任意选址及进行高度测量等等。Simulink 是 MATLAB 提供的用于对动态系统进行建模、仿真和分析的工具包。Simulink提供了专门用于显示输出信号的模块,可以在仿真过程中随时观察仿真结果。同时,通过Simulink 的存储模块,仿真数据可以方便地以各种形式保存到工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外,Simulink 把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。基于上述优点,Simulink 称为一种通用的仿真建模工具,广泛应用于通信仿真、数字信号处理、模糊逻辑、神经网络、机械控制和虚拟现实等领域。 根据输出信号与输入信号的关系,Simulink 提供 3 种类型的模块:连续模块、离散模块和混合模块。连续模块是指输出信号随着输入信号发生连续变化的模块,离散模块则是输出信号以固定间隔变化的模块。对于连续模块,Simulink 采用积分方式计算输出信号的数值,因此,连续模块主要涉及导数的计算及其积分。离散模块的输出信号在下一个抽样时刻到来之前保持恒定,这时候 Simulink 只需以一定的间隔计算输出信号的数值。混合模块是根据输入信号的类型来确定输出信号类型的,它既能够产生连续输出信号,也能够产生离散输出信号。4.2 系统基本结构本文利用Simulink平台,模拟了一个小区内四个用户的码元发送,扩频,接收,解扩,判决的CDMA通信基本过程,仿真基本流程如图4-1所示:图4-1 CDMA系统在每一个仿真步长(1秒)内,每个用户发送一个信息码元,4个用户则对应发送4个用户信息码元,然后用4个P=31的m序列分别对这4个用户的信息码元进行扩频(相乘)处理,然后合路相加并加入高斯白噪声。在接收端用和发送端相同的4个m序列分别对信息码元进行解扩(相乘)处理,最后进行积分,判决,完成了对这4个用户的信息码元的恢复,即对于这4个用户中的每一个用户,一个仿真步长(1秒)内完成了一个信息码元的恢复,若要发送5000个码元,仿真时间设置为5000秒即可,这是传统单用户检测的情况。4.2.2 利用SIMULINK设计系统发射端 本系统设计的是利用MATLAB2007b来,应此对于SIMULINK模块必须用该版本的MATLAB才能打开。其中发送端的基本结构如下:图4-2 CDMA系统的发送端用户发送的信号的模拟 为了便于观察和数据的对比,我采用发送常数信号1来作为用户的发送信号,打开SIMULINK,添加Constant模块,来模拟用户,其具体的参数设置如下:图4-3 CONSTANT模块参数设置伪随机序列的产生在扩频调制中,我通常运用PN码来进行信号的扩频处理,这里运用Embedded MATLAB Function block编写了一个m序列发生器模块,模块有一个输入,一个输出,输出为一个P=31的m序列。PN码的产生,实际上就是利用移位寄存器来实现伪随机序列,其MATLAB核心代码如下:for i= 2:L newregisters(1:len-1) = registers(2:len); newregisters(len) = mod(sum(coefficients.*registers),2); registers=newregisters; a(i)=registers(1);end利用这个模块,我们就可以参身周期为31的伪随机序列了。扩频调制设计所谓扩频调制,就是信号和PN码进行相乘,我们只要利用SIMULINK的乘法模块就可以了。图4-4 一路用户的扩频调制过程信号和路设计 重复以上的步骤,我们可以得到4个用户的扩频调制,然后我们将4路信号进行合路。并加入一个Random Number模块,生成均值是0,方差为1的高斯正态分布随机信号做为噪声。其中Random Number模块的参数设置如下:图4-5 噪声模块的参数设置4.2.3 利用SIMULINK设计系统接收端系统接收端的具体结构如下:图4-6 系统的接收图解扩模块设计 解扩模块的就是扩频调制的逆运算,应此我们只要再次利用PN码来对信号相乘,得到解扩信号就可以了。信号还原模块设计 将得到的信号进行符号判决,就可以还原发送的信号了,符号判决模块的设置如下:图4-7 判决模块至此,我们完成利用SIMULINK设计了最基本的CDMA系统了。4.3 基于MATLAB的CDMA系统性能分析 上节我们介绍了利用SIMULINK建立一个简单的四用户的CDMA系统,下面我们利用MATLAB对系统的性能进行仿真。来验证系统的正确性。 下面我们主要来分析一下整个系统的代码部分:N=31; %伪随机序列的阶数R=(ones(UserNumber)+(N-1)*eye(UserNumber)/N; %相关系数矩阵b=2*randint(UserNumber,inflength)-1; %用户信息矩阵coefficients=1 0 1 0 0; %PN码生成系数mseq=mseries(coefficients); %有生成系数产生随机序列mseq=mseq(1:UserNumber,1:N); 以上代码主要功能是,产生PN码作为信号的扩频码,从而产生用于信号检测的扩频信号。 %产生噪声n1=Pn*normrnd(0,1,1,inflength*N);n=zeros(UserNumber,inflength);for j=1:inflength ntemp=n1(1,(j-1)*N+1):j*N); n(:,j)=(mseq*ntemp)/N;end 这个代码的主要作用就是产生检测信号用的噪声,将噪声添加到四个用户信号的合成信号中。 A=diag(a); y=R*A*b+n; %传统的单用户检测 ydec=inv(R)*y; %线性解相关多用户检测 ymmse=inv(R+sigma2*inv(A)*y; %最小均方误差多用户检测 for i=1:UserNumber ylen(i)=length(find(sign(real(y(i,:)-b(i,:); ydeclen(i)=length(find(sign(real(ydec(i,:)-b(i,:); ymmselen(i)=length(find(sign(real(ymmse(i,:)-b(i,:); BER_y(i)=ylen(i)/inflength; BER_ydec(i)=ydeclen(i)/inflength; BER_ymmse(i)=ymmselen(i)/inflength; end 以上代码我们主要用到了三种检测方式,1.传统的单用户检测;2.线性解相关多用户检测;3.最小均方误差多用户检测。4.4 仿真结论分析4.4.1 SIMULINK仿真结论分析我们设置四个用户的发送信号都是常数1,我们来观察CDMA几个主要模块的波形情况。用户发送信号图4-8 用户发送信号1添加的噪声信号图4-9 噪声信号CDMA系统发送端信号图4-10 发送出去的信号接收到的信号图4-11 接收到的信号 通过将前后发送和接收信号的对比,我们利用普通用户信号检测的方法进行对比,可以得到如下的对比结果:图4-12 误码率 可见在连续发送的相同数据的情况下,接收端的正确率也是比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论