球形译码.docx
- 文档编号:15234550
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:12
- 大小:294.99KB
球形译码.docx
《球形译码.docx》由会员分享,可在线阅读,更多相关《球形译码.docx(12页珍藏版)》请在冰点文库上搜索。
球形译码
软件课程设计报告
-球形译码性能仿真
提高0502班付代宇学号:
************
1.概述
在BLAST检测中,目前采用的ZF(迫零)算法,MMSE(最小均方误差)算法,OSIC(排序连续干扰抵消)或ML(最大似然)准则来进行译码。
前三种算法,实现起来较简单,但是误码率性能较差;而使用ML检测能得到更好的性能,但是其复杂度较高,不易于实现。
基于ML检测的SD(球形译码)算法是一种性能优化,复杂度适中的检测算法。
已经证明,采用穷尽搜索的ML检测算法的复杂度随天线数呈指数增长,而SD算法的复杂度在很大信噪比范围内与天线数呈多项式关系。
故SD算法可以用较少的计算量来获得最大似然译码性能。
2.球形译码原理
2.1基本思路
球形译码的基本思想是在以一个矢量x为中心的半径为d的多维球内搜索格点,通过限制或者减少搜索半径从而减少搜索的点数,进而使得计算时间减少。
球形译码算法带来的优点在于它不需要象传统的最大似然译码算法那样需要在整个格内对所有的格点进行搜索,而只需要在一个事先设定的有限球形区域进行搜索,如果该区域所包含的点数相对于整个格内的总点数是相当小的,搜索时间就会大大减少。
影响球形译码的关键问题有:
(1)怎样选择搜索半径d。
如果d太大,则球内会包含太多的点,复杂度就会接近或者达到最大似然译码的指数级复杂度。
如果d太小,则球内可能一个格点都不包含,那么球形译码算法将得不到合理的解。
(2)怎样才能判断一个点是否在球内。
如果这种判断需要借助每一个格点和矢量之间的距离来判断的话,那么这种方法就不太理想,因为我们需要考察所有的点,所产生的计算量也是指数级的。
球形译码解决了第2个问题,此处均考虑信号为实数,因为复数可以通过增加一倍的维数,将实部和虚部分开,要判断一个点是否在半径为d的m维球内比较困难。
若将m变为1,则从球退化为一个间距,这个点就相当于某根天线发送信号的实部或虚部,这样操作就简单很多,可以知道这个点是否在这个距离内。
多根发送天线上的信号的实部和虚部分成很多维,每一维上有可能取值。
球形译码算法相当于构建了一棵树,树的第k层节点对应的是落在半径为d,维数为k的球内的格点。
2.2信号模型
一个具有M个发射天线,N个接收天线(
)的V-BLAST系统的信号模型可以表示为:
(1)
其中,r是某时刻的接收信号矢量,信道矩阵H是复数域的N*M矩阵,矩阵元素
表示从发送天线j到接收天线i之间的信道衰落系数,它们统计独立,且服从
分布。
N维矢量n为零均值复高斯白噪声,其协方差矩阵为:
。
图1VBLAST模型
2.3算法推导
球形译码在于解决下列问题:
(2)
其中
是整数格点集,s是发送信号。
现在就是寻找满足
(3)
其中
是选择的适当半径,不在球形译码算法的范围之内。
1.首先对信道矩阵进行QR分解,有
(4)
其中
,R是M*M维的上三角矩阵。
(5)
根据式(5)将式(3)变为:
(6)
由R是上三角矩阵,将式(6)进行展开,可以得到下式:
(7)
对式(7)进行分析可以发现,基于矢量2-范数的定义,式子右端是各项平方和相加。
(8)
注意到式(8)分成两部分,在求第k维的时候忽略后一部分,有:
(9)
2.现在开始从k=M开始求解,代入得到
(10)
因为都是实数操作,即可以确定
的可能取值范围。
3.开始进行迭代,k=M-1,代入式(9),有下式:
(11)
将上一步操作得到的
逐一代入式(11),可以得到对应各个
可能值的
,记录并保存;
令k=M-2,继续代入式(9),有可以在
和
的基础上得到
的可能取值范围;继续将k减小,进行同样操作,直到k=1,得到在
基础上的
。
若先找到了完整的
后,将初始半径进行更新,直到找不到完整的信号值结束算法;若首先在搜索过程中就找不到完整的
,则要考虑增大初始半径
。
2.4无穷范数球形译码
前面所讲述的均是2-范数球形译码,可以考虑改为无穷范数。
其基本思路不变,只是将对应式子式(6)和式(7)改为:
(12)
(13)
每一步都是在比较当前的最大值和新加入的行进行比较,如果发现两者之间的最大值,则对当前的最大值进行更新,同时求出每一维的参考信号点作为候选值,然后一次迭代,寻找一个最优的点的集合作为输出。
可以看出无穷范数球形译码操作和2-范数球形译码类似,总体来说,无穷范数球形译码的复杂度小于2-范数球形译码,但是性能有微小的损失。
2.5完整的球形译码
前面所述的球形译码均是在处理怎样才能判断一个点是否在球内这个问题,完整的球形译码必须包括选择搜索半径d,如果d太大,则球内会包含太多的点,复杂度就会接近或者达到最大似然译码的指数级复杂度。
如果d太小,则球内可能一个格点都不包含,那么球形译码算法将得不到合理的解。
如果要求性能完全符合最大似然检测的性能,则初始半径必须是一系列的值,选定初始值为d,如果在范围为d时寻找不到合适的点,则需要增大d的值,扩大的倍数为2倍;如果要求性能接近于最大似然检测的性能,则初始半径相比上面,要取较大,必须有一定的冗余。
对于只要求性能接近最大似然检测的性能的二范数的球形译码,初始半径的选取有公式如下:
其中n是发射天线数的2倍,
是噪声方差,
的取值有经验值为3。
对于性能要求达到最大似然检测的性能的二范数的球形译码,初始半径的的选取有公式如下:
其中n是发射天线数的2倍,
是噪声方差。
对于性能要求达到最大似然检测的性能的无穷范数的球形译码,初始半径的的选取有公式如下:
其中
是噪声方差。
3.仿真结果
以下是4*4收发天线MIMO系统,发送符号采用4QAM调制方式,分别对最大似然ML检测(红色),二范数球形译码(蓝色),无穷范数球形译码(绿色)进行仿真比较横坐标为SNR(dB),纵坐标为BER和仿真时间。
二范数球形译码的初始半径按经验公式给出,无穷范数球形译码初始半径为二范数球形译码的初始半径的2/3。
根据以上条件,仿真曲线如下图2和图3所示:
图2三种译码方式BER比较
图3三种译码方式仿真时间比较
在要求性能达到最大似然检测时,对两种形式的球形译码均采用一系列的初始半径,仿真结果如下:
图4三种译码方式性能比较
图5三种译码方式仿真时间比较
如果改变MIMO系统的天线数2根发射天线,2根接收天线,改变信号调制方式为16QAM,有相应的结果如下:
图6三种译码方式性能比较
图7三种译码方式仿真时间比较
如果改变MIMO系统的天线数3根发射天线,3根接收天线,改变信号调制方式为4QAM,有相应的结果如下:
图8三种译码方式性能比较
图9三种译码方式仿真时间比较
从上述一系列仿真结果可以看出,无穷范数球形译码、二范数球形译码、最大似然检测中,无穷范数球形译码性能最差,二范数球形译码性能居中,且相比最大似然检测损失dB很小,最大似然检测性能最好,通过仿真时间来看,最大似然检测耗费时间最长,二范数球形译码其次,无穷范数球形译码所需时间最少。
故用2范数球形译码来接近最大似然检性能是较佳的。
4.总结
本文档首先对球形译码的基本原理进行介绍,需要注意的点有:
(1)此处信号仅考虑的是将实数形式,因为对复数通过扩展维数来得到实数形式;
(2)球形译码算法中并没有说明如何来选择搜索半径d。
在完整的球形译码中,对于只要求性能接近最大似然检测的性能的二范数的球形译码,初始半径的选取有经验公式。
如果要求达到最大似然检测的性能,则需要对初始半径进行一系列的取值,以防止前面的半径范围内不能找到有效的信号点集合。
算法的复杂度在很大信噪比范围内与天线数呈多项式关系,故SD算法可以用较少的计算量来获得最大似然译码性能。
5.主要参考文献:
[1]刘俊,魏急波等,MIMO系统中球形译码算法的应用,现代电子技术,2008年第5期总268期
[2]MihailoStojnic,HarisVikalo,andBabakHassibi,SpeedinguptheSphereDecoderWith
andSDPInspiredLowerBounds,IEEETRANSACTIONSONSIGNALPROCESSING,vol.56,NO.2,FEBRUARY2008
[3]MiladEhtesham,MostafaNosrati,PerformanceEvaluationofSphereDecodingOverNakagami-mFadingMIMOChannels,IEEE,2007
[4]DominikSeethaler,HelmutBolcskei,InfinityNormSphere-Decoding,2008IEEEInternationalSymposiumonInformationTheory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 球形 译码