伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx

上传人:b****5 文档编号:18205297 上传时间:2022-12-14 格式:DOCX 页数:15 大小:203.57KB
下载 相关 举报
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx_第1页
第1页 / 共15页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx_第2页
第2页 / 共15页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx_第3页
第3页 / 共15页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx_第4页
第4页 / 共15页
伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx

《伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx》由会员分享,可在线阅读,更多相关《伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

伪随机序列在CDMA通信系统用的应用31概述在扩频系统中Word文档格式.docx

·

凡自相关函数具有:

式的序列称为狭义伪随机序列。

形式的序列,成为第一类广义伪随机序列。

凡互相关系数具有

式的序列,称为第二类广义伪随机序列。

凡相关函数满足

(1)、

(2)、(3)三者之一的序列,统称为伪随机序列。

由上面的四种定义可以看出,狭义伪随机序列是第一类广义伪随机序列的一种特例。

3.2M序列

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.1m序列的特性

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.3Gold序列

m序列优选对

如果周期为

的两个m序列A、B,当B=A[q],

,且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-2GOLD序列产生器

上图为Gold序列发生器的模型,由同步时钟控制的两个m序列发生器的周期相同,速率也相同,因而二者保持一定的相位关系,产生的Gold序列的周期与这两个子序列的周期也相同。

当改变两个m序列的相对位移时,就会得到一个新的Gold序列。

Gold序列的周期和m序列相同,但每对n级m序列优选对可产生

个Gold序列,序列数比m序列的数目多很多,这点有利于CDMA通信系统的用户容量的增加。

而且Gold序列具有良好的自、互相关特性的一种伪随机序列。

第三代移动通信系统中的WCDMA系统就采用Walsh(信道编码)+Gold序列(区分小区)和Walsh(信道编码)+Gold序列(区分用户)进行前/后向扩频编码。

3.4M序列和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-1CDMA系统

在每一个仿真步长(1秒)内,每个用户发送一个信息码元,4个用户则对应发送4个用户信息码元,然后用4个P=31的m序列分别对这4个用户的信息码元进行扩频(相乘)处理,然后合路相加并加入高斯白噪声。

在接收端用和发送端相同的4个m序列分别对信息码元进行解扩(相乘)处理,最后进行积分,判决,完成了对这4个用户的信息码元的恢复,即对于这4个用户中的每一个用户,一个仿真步长(1秒)内完成了一个信息码元的恢复,若要发送5000个码元,仿真时间设置为5000秒即可,这是传统单用户检测的情况。

4.2.2利用SIMULINK设计系统发射端

本系统设计的是利用MATLAB2007b来,应此对于SIMULINK模块必须用该版本的MATLAB才能打开。

其中发送端的基本结构如下:

图4-2CDMA系统的发送端

用户发送的信号的模拟

为了便于观察和数据的对比,我采用发送常数信号1来作为用户的发送信号,打开SIMULINK,添加Constant模块,来模拟用户,其具体的参数设置如下:

图4-3CONSTANT模块参数设置

伪随机序列的产生

在扩频调制中,我通常运用PN码来进行信号的扩频处理,这里运用EmbeddedMATLABFunctionblock编写了一个m序列发生器模块,模块有一个输入,一个输出,输出为一个P=31的m序列。

PN码的产生,实际上就是利用移位寄存器来实现伪随机序列,其MATLAB核心代码如下:

fori=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路信号进行合路。

并加入一个RandomNumber模块,生成均值是0,方差为1的高斯正态分布随机信号做为噪声。

其中RandomNumber模块的参数设置如下:

图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=[10100];

%PN码生成系数

mseq=mseries(coefficients);

%有生成系数产生随机序列

mseq=mseq(1:

UserNumber,1:

N);

以上代码主要功能是,产生PN码作为信号的扩频码,从而产生用于信号检测的扩频信号。

%产生噪声

n1=Pn*normrnd(0,1,1,inflength*N);

n=zeros(UserNumber,inflength);

forj=1:

inflength

ntemp=n1(1,((j-1)*N+1):

j*N);

n(:

j)=(mseq*ntemp'

)/N;

这个代码的主要作用就是产生检测信号用的噪声,将噪声添加到四个用户信号的合成信号中。

A=diag(a);

y=R*A*b+n;

%传统的单用户检测

ydec=inv(R)*y;

%线性解相关多用户检测

ymmse=inv(R+sigma^2*inv(A))*y;

%最小均方误差多用户检测

fori=1:

UserNumber

ylen(i)=length(find(sign(real(y(i,:

)))-b(i,:

)));

ydeclen(i)=length(find(sign(real(ydec(i,:

ymmselen(i)=length(find(sign(real(ymmse(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.1SIMULINK仿真结论分析

我们设置四个用户的发送信号都是常数1,我们来观察CDMA几个主要模块的波形情况。

用户发送信号

图4-8用户发送信号1

添加的噪声信号

图4-9噪声信号

CDMA系统发送端信号

图4-10发送出去的信号

接收到的信号

图4-11接收到的信号

通过将前后发送和接收信号的对比,我们利用普通用户信号检测的方法进行对比,可以得到如下的对比结果:

图4-12误码率

可见在连续发送的相同数据的情况下,接收端的正确率也是比较高的,从而验证了SIMULNIK建立的模型的正确性。

4.4.2MATLAB仿真结论分析

测试传码5000个情况下10个用户的误码率是一个比较传统单用户检测,线性解相关多用户检测,最小均方误差多用户检测之间的误码率性能的程序,运行本程序首先出现一个对话框,等待输入相应的仿真参数,如图4-11所示:

图4-13仿真界面

其中第一行为用户数,第二行为用户信息码元个数,第三行为各个用户对应的信号功率,第四行为噪声功率,第五行为要观察的用户,默认值如图中所示。

设置用户信号功率依次为1,2,3,4是由于用户距离基站的远近不同,故信号功率有差别,用此来模拟远近效应。

信噪比的计算拿第一个用户作为基准,当噪声功率设置为10时,信噪比s/n=20lg(1/10)=-20dB。

第五行设置为1表示要观察第一个用户,信号功率较大的用户的误码率明显低于信号功率较小的用户。

表4-1测试结果

信号功率

1

2

3

4

5

6

7

8

噪声功率

10

误码率

0.2987

0.1255

0.0506

0.0121

0.0030

0.0002

无码个数

2987

1255

506

121

30

信噪比

-20

-13.979

-10.457

-7.958

-6.021

-4.437

-3.098

-1.938

我们可以看到,随着用户信号功率的变大,误码个数越来越少,即信号的接收正确率越高。

图4-14误码率与信号功率曲线图

4.5本章总结

本章中给出了仿真测试报告,用编写好的MATLAB程序给出仿真结果,分析比较了传统单用户检测、线性解相关多用户检测和最小均方误差多用检测之间的误码率性能;

并根据编写好的Simulink仿真模型,设置好相应的仿真参数,对比了这几种不同检测方法的误码率,以达到分析它们之间性能差异的目的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1