无线多输入多输出***的接收机检测方法
技术领域
本发明涉及的是一种无线通信技术领域的方法,具体地涉及一种无线多输入多输出***的接收机检测方法。
背景技术
传统的多输入多输出(Multiple Input Multiple Output,MIMO)技术,是通过利用基站和用户端的多天线结构,实现分集和空分复用,从而增加***吞吐量的一种技术,因为成为3GPP-LTE,IEEE802.16e WIMAX的研究热点。近年来,随着turbo译码和LDPC译码技术的发展,MIMO接收机的译码与信道译码技术的结合能够大幅降低***的误码率。最大似然检测(ML)为最优的接收机检测算法,但ML检测的复杂度随着发射天线数和调制阶数呈指数型增长。次优的线性检测算法如迫零(ZF)和最小均方误差(MMSE)准则,虽然复杂度低,但都不能达到接收满分集度,性能远低于ML检测算法。多输入多输出***中的软输出球形译码检测方法能够大幅降低***的复杂度。
经对现有文献检索发现,Studer.C等在《IEEE Transaction on Information Theory》(美国电气与电子工程师协会信息理论期刊,2010年10月第56卷第4827至第4842页)上,发表了“Soft-InputSoft-Output Single Tree-Search Sphere Decoding”(“单树搜索的软输出软输入球形译码”),该文提出了,在多天线多输入多输出***中的,在搜索过程中动态更新每一个比特的软值和ML硬判值,该文献证明了STS球形译码算法性能是最优的,且保证每一个节点只需被访问一次,但这种软输出球形译码仍然复杂度较高,不易实现。又经检索发现,Markus M等在《Signal Processing》(信号处理杂志,2010年10月第90卷第2863页至第2876页)上,发表了“Implementation aspects of list spheredecoder algorithms for MIMO-OFDM systems”(“在MIMO-OFDM***中列表球形译码的应用”),该文通过K-Best球形译码或Dijkstra(迪杰斯特拉)球形译码算法的列表球形译码计算软值,但列表球形译码不能保证列表中ML硬判值的比特极性一定有相反项,造成LLR值的计算误差,影响***性能。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种低复杂度的软输出球形译码算法,降低接收机的复杂度。本发明结合Dijkstra球形译码算法推广到单树搜索的软输出球形译码,通过构造查找表LUT(Look Up Table),改进了Dijkstra球形译码的节点扩展搜索算法,快速地得到ML硬判值和LLR值,减少搜索空间,降低了接收机复杂度,且性能与ML检测一致。本发明具有在准ML性能且复杂度低的特点,并且适用各种多输入多输出***的特点。
根据本发明的一个方面,所述无线多输入多输出***的接收机检测方法包括以下步骤:
步骤1:对信道矩阵H进行QR分解,得到Q矩阵和上三角矩阵R;将Q矩阵的共轭转置与接收信号向量y相乘,得到接收信号的均衡信号
步骤2:建立节点扩展顺序的查找表LUT(Look Up Table);
步骤3:计算搜索中心,根据搜索中心及调制方式得到查找表的下标,得到初始选中节点,压入栈中;
步骤4:从栈中移除选中节点,并根据选中节点的扩展兄弟节点,更新半径,判断当前节点的半径是否小于当前搜索半径,是则砍掉当前节点及其所有分支,否则将兄弟节点压入栈中;
步骤5:判断选中节点是否为叶子节点,如果是叶子节点,则进行软值表的维护,否则向下一层扩展搜索,计算搜索中心及调制方式得到查找表的下标,得到子节点,判断当前节点的半径是否小于当前搜索半径,是则砍掉当前节点及其所有分支,否则将子节点压入栈中;
步骤6:断当前栈是否为空,如果为空,则到步骤7;否则根据栈中的的存储空间和权值选择下一次迭代选中的节点,返回步骤5;
步骤7:据软值表进行LLR值计算。
优选地,在所述步骤2中,查找表建立步骤为:
假设树搜索到第i层,则部分向量
已知,定义c
i为第i层的搜索中心
式一
则所述式一改写为:
式二
节点首先访问距离搜索中心ci最近的星座点si,然后按照与ci由近到远的次序进行排序搜索访问;当MIMO***的调制方式确定,调制符号集即确定,因而可以根据ci所属位置区域对星座点的扩展顺序进行排列,建立查找表LUT;其中,将每个星座点的区域分成4块,按照空间的距离由近到远对星座点的访问次序进行排列,4-QAM需要的查找表大小为16,16-QAM需要的查找表大小为64,64-QAM需要的查找表大小为256。
优选地,在所述步骤3和步骤5中,搜索中心计算过程为:
假设树搜索到第i层,则部分向量
已知,定义c
i为第i层的搜索中心
优选地,在所述步骤3和步骤4中,节点扩展过程为:
假设当前栈要向下一层扩展的节点为Nc=(s=s(i),d(s),p,q,i),栈中剩余的空间为M,其中s为当前的解向量,i为当前节点位于的层数,p和q分别为在当前所选择查找表的下标和当前节点在第i层的星座点的下标,其中,节点扩展方法包括如下子步骤:
1)从栈中移除节点Nc=(s=s(i),d(s),p,q,level=i),M=M+1,扩展第level=i层与节点N最近的节点,即令sf=(LUT(p,q+1),s(i+1)),计算d(sf),如果d(sf)<R0将节点Nf=(s=sf,d(sf),p,q=q+1,level=i)存入栈中,M=M-1;
2)如果节点Nc是叶子节点即i=1时,进行LLR值更新和ML解更新,否则将向下一层扩展,通过下式
计算搜索中心ci-1,得到查找表下标p,令sexp=(LUT(p,0),s(i)),计算d(sexp),如果d(sexp)<R0将节点Nexp=(s=sexp,d(sexp),p,q=0,i-1)存入栈中,M=M-1。
优选地,在所述步骤3和步骤4中,半径更新过程为:
半径更新分为两部分:
1)对于已知部分向量,即k≥i,m=1,2,…,Q,半径R
0与
的
相关,即
2)对于还没搜索的部分向量,即k<i,m=1,2,…,Q,半径R0与所有的相关,即
优选地,在所述步骤4中,软值表更新过程为:
初始化为 分两种情况:
1)当得到一个新的ML解时,即d(s)<d(s
ML),则将所有符合
比特位的
更新为
并且更新s
ML=s和d(s
ML)=d(s);
2)若d(s)>d(s
ML),此时只需更新
的值,当
且
时,更新
优选地,在所述步骤6中,节点选择方法为:
令nmax=min(M+2,NT),将栈中的节点根据d(s)进行从小到大排序,选择具有最小的d(s)且满足i<nmax的节点,设选中的节点为Nc。
优选地,在所述步骤7中,LLR值计算方法为:
对于 利用下式计算LLR值
附图说明
图1所示为本发明方法查找表建立的原理图;
图2所示为在4×4MIMO***下,在QPSK调制下,不同接收机检测方法的误码率对比示意图;
图3所示为在4×4MIMO***下,在16QAM调制下,不同接收机检测方法的误码率对比示意图;
图4所示为在4×4MIMO***下,在QPSK调制下,不同接收机检测方法的搜索空间对比及复杂度对比示意图;
图5所示为在4×4MIMO***下,在16QAM调制下,不同接收机检测方法的搜索空间对比及复杂度对比示意图;
图6所示为无线多输入多输出***框图;
图7所示为本发明的实现步骤框图。
具体实施方式
下面参照附图对本发明的实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。下面给出本发明的具体实施例,适用于长期演进***及进阶长期演进***。需要说明的是,本发明不限于实施例中所描述的应用,也可适用于其它使用多输入多输出技术和接收检测技术的无线通信***。
实施例
为使本发明的目的,技术方案和优点更加清楚,下面将结合附图和具体实施实例对本发明进行详细描述。
本实施例采用的***模型为具有N
T个发送天线N
R个接收天线的MIMO***,不失一般性,令N
R=N
T,发射信息比特通过信道编码模块,交织器模块和串并转换调制模块后得到N
T×1发射信号向量
其中Ω为调制符号集,|Ω|=2
Q(Q为调制阶数)。对应的N
R×1接收信号向量
所以MIMO***的模型为:
y=Hs+n (1)
式(1)中的H为信道矩阵,n表示均值为0,方差为σ2的高斯加性白噪声。
对信道矩阵H进行QR分解得到H=QR,其中R是上三角矩阵,Q为正交矩阵,式(1)式可以写成
其中
定义
为向量
的第i个元素,r
ij为上三角矩阵R的第(i,j)个元素。定义部分信号向量
向量s
(i)看成一棵树的节点,设i=N
T+1层为根节点,i=1层为叶子节点,每个节点共有2
Q个子节点,每个叶子节点s
(1)都为一个解向量。欧氏距离
可以通过部分欧氏距离(PED)迭代计算得到:
di=di+1+|ei|2,i=NT,NT-1,…,1 (3)
MIMO接收机输出发端比特数据bk,m,k∈{1,…,NT},m∈{1,…,Q}的软值估计,max-log的软值LLR(Log Likelihood Ratio)的定义式为:
式(5)中,L(b
k,m)表示发射向量符号s
k第m个比特的LLR值,
表示向量s中的符号s
k第m个比特的值为±1的集合。由式(5)观察可以得到,其中一个最小值为ML解s
ML的欧氏距离
其中
对应的另一个最小值为:
为发射向量符号s
k第m个比特的极性是s
ML的相反项。所以式(2)可以改写为:
设集合
为符合发射向量符号s
k第m个比特的极性是s
ML的相反项条件的集合,则MIMO最大似然检测和max-log LLR值计算过程可以等价位一棵代价树的搜索过程,即在集合
和集合
中搜索具有最小欧氏距离的叶子节点,得到d(s
ML)和N
T×Q个
值。
本发明实施例采用了基于度量优先的Dijkstra软输出球形译码检测方法,如图7所示,包括如下步骤:
步骤201:对信道矩阵H进行QR分解,得到Q矩阵和上三角矩阵R。
步骤202:将Q矩阵的共轭转置与接收信号向量y相乘,得到接收信号的均衡信号
即
通过对等效矩阵R和均衡信号
构建的搜索树来进行软输出球形译码。
步骤203:建立查找表LUT,设置球形译码的半径R0=∞,可用的存储空间大小为M。
具体的查找表LUT建立过程为,假设树搜索到第i层,则部分向量
已知,定义c
i为第i层的搜索中心
则式(9)改写为:
节点首先访问距离搜索中心ci最近的星座点si,然后按照与ci由近到远的次序进行排序搜索访问。当MIMO***的调制方式确定,调制符号集即确定,因而可以根据ci所属位置区域对星座点的扩展顺序进行排列,建立查找表LUT。为降低查找表的存储空间,本发明将每个星座点的区域分成4块,按照空间的距离由近到远对星座点的访问次序进行排列,如图1所示,以16QAM调制为例,当搜索中心ci落入斜线阴影区域时,16个星座点按照先后顺序和阴影区域的距离排序,其中,该顺序可以根据实际需要进行变化,这并不影响本发明的实质内容,例如图1(a)中,星座点“9”和“10”的顺序就有可能调换,然后仿真结果表明,这种近似处理对性能几乎没有影响。为了覆盖QAM调制中所有可能的星座点,4-QAM需要的查找表大小为16,16-QAM需要的查找表大小为64,64-QAM需要的查找表大小为256。
步骤204:计算
根据
及调制方式得到查找表的下标p,得到初始点
设存储节点将
M=M-1。
步骤205:从栈中移除节点Nc=(s=s(i),d(s),p,q,i),M=M+1,扩展第i层与节点Nc最近的节点,令sf=(LUT(p,q+1),s(i+1)),计算d(sf)根据当前向量sf更新球形译码的半径R0。如果d(sf)<R0,将Nf=(s=sf,d(sf),p,q=q+1,i)存入栈中,M=M-1;否则转到步骤206。
本步骤的球形译码的半径更新方法为:
当搜索树得到部分解向量
时,所以球形译码的半径更新分为两部分
(1)对于已知部分向量,即k≥i,m=1,2,…,Q,半径R
0与
的
相关,即
(2)对于还没搜索的部分向量,即k<i,m=1,2,…,Q,半径R
0与所有的
相关,即
步骤206:如果节点N
c为叶子节点(i=1),更新软值表
和s
ML;否则向下一层扩展,通过式(10)计算搜索中心c
i-1,得到查找表下标p,令s
exp=(LUT(p,0),s
(i)),计算d(s
exp),根据s
exp更新半径R
0(半径更新方法与步骤205一致)。如果d(s
exp)<R
0,将N
exp=(s=s
exp,d(s
exp),p,q=0,i-1)存入栈中,M=M-1;否则转到步骤207。
本步骤中的更新软值表的过程为:
初始化
当树搜索到达叶子节点时即得到新的解向量s
(1)才进行软值表更新,分两种情况:
(1)当得到一个新的ML解时,即d(s)<d(s
ML),则将所有符合
比特位的
更新为
并且更新s
ML=s和d(s
ML)=d(s)。这样保证了在当前在所有与s
ML相反的比特位的
都为当前最小值。
(2)若d(s)>d(s
ML),此时只需更新
的值,当
且
时,跟新
步骤207:令nmax=min(M+2,NT),将栈中的节点根据d(s)进行从小到大排序,选择具有最小的d(s)的节点且满足层数i<nmax,设选中的节点为Nc。如果当前栈不为空即M≠0,,转到步骤3;否则转到步骤205。
步骤208:根据式(5)计算每一个比特的LLR值L(bk,m),输出结果。
图2、图3、图4、图5为本发明实施例的球形译码算法与传统的几种球形译码算法性能和复杂度的比较。
仿真参数如下:信道采用郊区宏小区SCM信道,载频为2GHz,带宽为3MHz,信道编码采用turbo编码,调制方式为QPSK和16QAM,码率为378/1024,发射天线数:4,接收天线数:4。
图2、图3给出了不同方法下软判决的误码率曲线比较,本发明提出的译码方法与STS球形译码方法法的性能几乎一致,相比于K-BEST列表球形译码方法,性能有较大的提升,并且在高阶调制16QAM下,性能提升越明显。
图4、图5给出了不同接收机检测方法的复杂度的比较,复杂度的比较是通过搜索过程中搜索节点的数目比较,由图4、图5可见,本发明提出的译码方法搜索的节点数目与STS-SD译码方法的下降趋势类似,但较STS-SD译码方法,搜索空间即访问过的节点数减小,并且访问过的节点数的变化幅度与STS-SD译码方法相比较小,利于估计***的硬件实现开销,译码时延和吞吐率。与利于硬件实现的K-BSET列表球形译码相比,本发明提出的球形译码方法在低阶调制(QPSK)下,性能较K-BSET(64)球形译码方法更好,且搜索节点数更少。在高阶调制(16QAM)下,性能远好于K-BSET(16)球形译码方法,且搜索节点数增长幅度很小,在硬件实现和性能上有较好的折中。
从图2、图3、图4、图5对比说明,本发明实例在保持高性能的前提下,有效的降低了***的复杂度。