CDMA通信系统仿真及抑制多址干扰的技术研究
2012-09-25马文君
陈 青,马文君
(上海理工大学 光电信息计算机工程学院,上海200093)
0 引 言
码分多址(CDMA)是在扩频通信技术上发展起来的一种崭新而成熟的无线通信技术,具有通信质量高、抗干扰能力强、频谱利用率高、能进行多址通信等优点[1,2]。它利用相互正交的不同编码分配给不同用户调制信号,实现多用户同时使用同一频率接入系统和网络的通信。在CDMA通信系统中,多个用户共享同一频段。为了区分不同用户的传输信息,系统为每个用户分配了各不相同的扩频序列,但扩频序列一般为非完全正交,不理想的相关性将引起各用户之间的相互干扰,这种现象称为多址干扰(Multiple-Access Interference,MAI)[3,4]。
当CDMA系统中用户数较少时,MAI因伪随机码良好的互相关性而不太严重,但随着同时接入系统用户数目的增加以及信号功率的增大,MAI的功率也相应增加,甚至会引起“呼吸效应”和“远近效应”。远近效应(Far/Near)的存在,将进一步降低系统性能,使系统容量受到限制[5]。多址干扰的存在,使CDMA多用户通信系统的性能不再只取决于系统的信噪比,很大程度上还会受MAI强弱的影响。因此,多址干扰成为影响CDMA系统性能的主要因素。
多址干扰是与CDMA系统相伴而生,其存在会使系统容量和性能降低,但其本质上并不是纯粹无用的白噪声,它含有通信用户之间的相关信息,是有一定规律性和结构性的伪随机信号。因此,从理论上可以利用多址干扰结构上所提供的一些特点,按照某种准则来消除多址干扰,从而提高系统容量,改善系统性能。
本文考虑了伪随机码所具备的特性,在实现CDMA通信系统仿真的基础上,对传统单用户检测技术、解相关线性多用户检测技术和最小均方误差多用户检测技术进行了讨论分析。
1 多用户检测技术
在传统单用户的CDMA系统中,都将干扰用户的信息作为高斯白噪声来处理,而没有加以充分利用,大大降低了系统的性能。多用户检测技术是在传统单用户检测基础上,把所有用户的信号都当成有用信号,充分利用干扰用户间的互相关信息(如扩频序列相关特性,信号幅度变化,信号同步等),根据一定的多用户检测算法来消除或减弱多址干扰的影响,以提高系统性能和容量。多用户检测技术可以弥补扩频码互相关性不理想所带来的消极影响,能抑制多址干扰和多径干扰,消除或减弱远近效应,是提高和改善系统性能的有效措施[6]。
线性多用户检测主要有下面几类:解相关检测、最小均方误差检测、盲自适应多用户检测和多项式检测。其中前三类只能用于短码系统,而多项式检测可以在长码系统中应用。本文主要研究前两类检测系统。
1.1 解相关线性多用户检测
由Lupas和Verdu提议的解相关器又称为零驱动检测器,它是将多用户通信环境的多址干扰等效为一个信道的传输响应矩阵,即码字之间的相关矩阵R,该矩阵仅与各用户的扩频序列以及序列间的相对时延有关[7]。求逆即得到信道传输逆矩阵T,然后将多用户信号经过K个匹配滤波器输出,再将输出后的逆矩阵进行求逆运算,以等效地消除各用户扩频序列间的相关性,从而达到消除多址干扰的目的。实际上T是一个非因果的无限冲击响应的矩阵传递函数,是不可实现的,在实际情况中要将T截断为有限长。具体实现可以采用横向滤波器,其具有以下特点:
(1)必须知道所有用户的扩频码及其特性;
(2)必须得到所有用户的定时;
(3)必须计算互相关矩阵R的逆矩阵;其性能独立于干扰功率,不需估计功率的大小;不需对用户幅度进行估计。
由于放大噪声功率,会扩大噪声影响,从而造成解调信号时延较大。也就是说解相关检测是以提高背景噪声为代价来消除多址干扰。
1.2 最小均方误差多用户检测
使用最小均方误差准则,可以得到最小均方误差多用户检测(MMSE)。与解相关多用户检测不同,它不会增强噪声。MMSE检测器是在消除多址干扰和增大信道噪声这两者之间采取折中而达到某种平衡。从性能上讲,在信噪比低的情况下,MMSE检测器优于解相关检测器,而在信噪比高的情况下,解相关检测器则比MMSE性能更优。
MMSE检测器的主要缺陷在于:需要估计接收信号的强度,对估计误差比较敏感;其性能依赖于干扰用户的功率。
因此与解相关检测器相比,MMSE检测的抗远近效应能力较差。
2 系统仿真及主要仿真环节
利用MATLAB/Si mulink平台,模拟了一个小区内十个用户的码元发送、扩频、接收、解扩和判决的基本过程[8,9]。CDMA通信系统框图如图1所示。
图1 CDMA通信系统框图
2.1 信号源
CDMA通信系统传输采用双极性信号。本系统信号源利用S-函数编写了一个自定义模块,其功能是生成随机±1序列,在S-函数的主程序中调用mdlInitializeSizes例程。初始化如下:设sizes.Nu mCont States=0;
sizes.Nu mDisc States=0;
sizes.Nu mOutputs=1;
sizes.Nu mInputs=0;
sizes.Dir Feedt hr ough=0;
sizes.Nu mSample Ti mes=1;
x0=[];
ts=[1 0];
调用 mdl Outputs例程进行输出,sys=2*randint-1即可生成随机±1序列。紧跟在用户信号生成模块之后,调用一个gain模块,设置相应的增益参数即可对各个用户的功率进行控制,如图2。
图2 信号源子块
2.2 伪随机序列发生器模块
本系统运用Embedded MATLAB Function block,编写了一个m序列发生器模块。如图3所示,该模块设置单输入单输出,输入为对应的5级左移移位寄存器的反馈系数,输出为一个P=25-1=31的m序列。根据文献7可知其特征多项式f(x)=x5+x2+1为本原多项式,其反馈连接形式为[C1C2C3C4C5]=[1 0 0 0 1];
其中用于生成m序列的代码如下:
f unction ms= mseries(coefficients)
len=length(coefficients);
L=2^len-1;
registers=[zer os(1,len-1),1];
newregisters=zeros(1,len);
a=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
a(1)=registers(1);
f or i=2:L
newregisters(1:len-1)=registers(2:len);
newregisters(len)= mod(su m(coefficients.*registers'),2);
registers=newregisters;
a(i)=registers(1);end
图3 m序列发生器
2.3 扩频子块
直接序列扩展频谱系统是目前应用较广泛的一种扩展频谱系统。其过程是将待传送的信息码元与伪随机序列相乘,在频域上将二者的频谱卷积,将信号的频谱展宽,展宽后的频谱呈窄带高斯特性,经载波调制之后发送出去。在接收端,一般首先恢复同步的伪随机码,将伪随机码与调制信号相乘,这样就得到经过信息码元调制的载波信号,再作载波同步,解调后得到信息码元(如图4)。
本系统采用直接序列扩频方式实现多址接入。仿真时将原信号与伪随机序列相乘,从而实现扩频。
图4 直接序列扩频子块
2.4 多用户检测子块
解相关检测器的基本思想是首先计划各个用户信号(一般取单个字符或部分字符)之间基于扩展码的互相关矩阵并求取其逆,然后对接收信号进行解相关计算,最后再对解相关信号进行判决。
最小均方误差多用户检测则对解相关多用户检测进行改进,在线性变换时引入与信道噪声功率成正比的修正项。
解相关多用户检测和最小均方误差多用户检测的线性算子用自定义模块或和其它一些模块分别组合完成,如图5所示。图中自定义模块使用inv函数来求矩阵的逆矩阵,R_matrix模块求扩展码的互相关矩阵。
图5 线性算子
3 仿真结果及分析
在每一个仿真步长(1 s)内,每个用户发送一个信息码元,10个用户则对应发送10个用户信息码元。在信源后调用gain模块对功率进行控制,然后用10个P=31的m序列分别对这10个用户的信息码元进行扩频(相乘)处理,合路相加并加入高斯白噪声。在接收端用和发送端相同的10个m序列分别对信息码元进行解扩(相乘)处理,最后进行积分、判决,完成了对这10个用户的信息码元的恢复。对于这10个用户中的每一个用户,一个仿真步长(1 s)内可完成一个信息码元的恢复,若要发送5 000个码元,仿真时间设置为5 000 s即可,这是传统单用户检测的情况。
对解相关线性多用户检测和最小均方误差多用户检测,只需在传统单用户检测输出的基础上乘以相应算法的线性算子即可。本系统线性解相关多用户检测的线性算子为Ldec=R-1,最小均方误差多用户检测的线性算子为LMMSE=[R+σ2A-1]-1 。
误码率(Bit Error Rate,BER)是CDMA无线通信系统的重要性能指标。通过本系统仿真,分别计算这三类检测方法的误码率,比较各个方法的性能,然后再根据信源功率的不同分析其对误码率的影响。
3.1 改变误码噪声功率测试误码率变化
设置用户信息功率依次为1 1 1 1 1 1 1 1 1 1,噪声功率从7开始逐渐增大,信源功率维持不变,仿真时间设置为5 000 s,用信源1(功率为1倍)观察三种检测方法误码率的变化情况。
表1分别给出三种检测方法的误码率比较结果,噪声功率分别为7、10、15、20、25、30(倍)六种情况,从上到下依次为传统单用户检测,解相关线性多用户检测,最小均方误差多用户检测。
分析可得,三类检测方法的误码率都随着噪声功率的增强而增大,并可以明显看出同一个信噪比时,解相关线性多用户检测和最小均方误差多用户检测性能要好于传统单用户检测,如图6所示。但由于最小均方差需要估计接收信号的强度,对估计误差比较敏感,所以相对解相关线性多用户检测,误码率要相对大一些。
表1 噪声功率改变下的误码率比较
3.2 改变信源功率测试误码率变化
设置用户信源功率依次为1、1.5、2、2.5、3(倍),其他信源功率维持不变为1。噪声功率维持30不变,仿真时间设置为5 000 s,用信源观察三种检测方法误码率的变化情况。
表2分别给出三种检测方法的误码率比较结果,从上到下依次为传统单用户检测,解相关线性多用户检测,最小均方误差多用户检测。
表2 在信源功率改变下的误码率比较
分析可得,在同一功率时,解相关线性多用户检测和最小均方误差多用户检测性能要优于传统单用户检测,如图7所示。并且可以明显的看出三类检测方法的误码率随信源功率增强而减小,当用户功率(信源功率)足够强时,三类检测方法的误码率基本可以控制在极小的误差范围内。
4 结 论
图7 在信源功率改变下的误码率比较
本系统通过MATLAB/Si mulink建立仿真平台,模拟各个模块(包括信源,伪随机序列、扩频和误码计算模块)设计出整个系统。实验表明,CDMA通信系统具有良好的传输性,在用户功率较大时,误码率基本可以控制在极小的误差范围内。
针对抑制多址干扰,系统加入解相关线性多用户检测和最小均方误差多用户检测技术,相对单用户检测有良好的性能。解相关线性多用户检测器在抑制多址干扰方面占有明显的优势。
最小均方差多用户检测虽然传输性能好于单用户检测技术,但由于误差过大,始终误码率大于现行解相关多用户检测技术,若能加以改进,系统的灵活性、可扩展性和实用性则能进一步提升。
[1] 孟宪艳.无线扩频通信技术[J].有线电视技术,2007,14(11):66-68.
[2] 胡礼鸿,雷武虎.无线扩频通信及其应用[J].中兴新通讯,1997,3(6):29-32.
[3] 郭江锋,李福平.CDMA中的多用户检测技术及研究动态[J].科技情报开发与经济,2006,16(4):252-254.
[4] 董飞胜,李大扣,李晓辉,柴 靓.基于CDMA系统的加速功率控制和多用户检测 [J].信息技术,2009,4:109-111.
[5] Lops M,Ricci C,Tulino A M.Narrow-band-interference suppression in multi-user CDMA systems[J].IEEE Trans.Corn.1998,46(9):l 163-1 175.
[6] 唐湘义.DS.CDMA系统中线性多用户检测技术的研究[D].南宁:广西大学,2003,9-12.
[7] 梅 轲,刘 辉.码分多址(CDMA)系统 MMSE-MUD算法研究[J].中国新通信,2009,(09):9-11.
[8] 李建新,刘乃安.现代通信系统分析与仿真 MATLAB通信工具箱[M].西安:西安电子科技大学出版社,2000.
[9] 张志德,冯春苗,林 霖.基于Si mulink的CDMA通信系统原理仿真[J].科技信息,2009,11:419-420.