本发明属于通信技术领域,更进一步涉及无线通信信道传输技术领域中的一种多用户多输入多输出MU-MIMO(Multiuser Multiple-Input Multiple-Output)系统的高斯消息传递迭代检测方法。本发明可用于对多用户多输入多输出MU-MIMO系统中的用户消息进行译码。
背景技术:
多用户多输入多输出MU-MIMO系统会是未来无线通信中十分重要的通信系统。多用户多输入多输出MU-MIMO能够在吞吐量上有显著提升,在能耗上又有很大程度的降低,因此能够满足下一代多用户无线通信系统的高吞吐量和高服务质量的需求。
高效的多用户多输入多输出MU-MIMO系统的检测算法是基于因子图的消息传递算法,一种是高斯置信度传播检测方法,它是利用只包含变量节点的因子图来更新消息的检测方法,另一种是高斯消息传递迭代检测方法,它是利用包含变量节点和和节点的成对因子图来更新消息的检测方法。
东南大学在其申请的专利“一种大规模MIMO检测方法及检测装置”(申请日:2015年12月7日,申请号:201510889908.7,公开号:CN 105515627A)中公开了一种用于大规模MIMO检测的方法和装置。该方法在BP(Belief Propagation)迭代开始前,先对所有确定性变量进行归一量化处理,使其位于[-1,1]的范围内,然后将各归一量化后的确定性变量用带符号的随机比特流表示。在BP迭代过程中,通过随机计算完成消息的更新和传递。在BP迭代完成后,将迭代输出的随机比特流转换为确定性变量,作为输出软信息。该方法将实数域BP算法与随机计算相结合,在保证与确定性检测相同的检测性能下,其硬件消耗及系统延时仅随发送或接收天线数的增加呈线性增加,从而能够很好地适应大规模MIMO的场景。但是,该方法仍然存在的不足之处是,采用只包含变量节点的因子图检测方法,与包含变量节点和和节点的成对因子图检测方法相比,有较高的计算复杂度和较高的均方误差。
S.Yoon等人在其发表的论文“Low-Complexity MIMO Detection Based on Belief Propagation Over Pairwise Graphs”(IEEE Transactions on Vehicular Technology,2014:2363-2377)中提出了一种高斯消息传递迭代检测方法。该方法是一种高效的分布式检测方法,基于变量节点和和节点的成对因子图,用户消息在变量节点和和节点之间迭代传递,满足迭代次数后就能判决译码出用户信号。该方法存在的不足之处是,在消息传递时,直接传递的是信号的均值和方差,而未对均值和方差进行修正,该方法的谱半径不是最小值而导致的不一定收敛和收敛的速度较慢,不能够用于实际的多用户多输入多输出MU-MIMO系统。
技术实现要素:
本发明的目的在于克服上述现有技术的不足,提供了一种多用户多输入多输出MU-MIMO系统的高斯消息传递迭代检测方法,使得高斯消息传递迭代检测方法收敛速度更快,并且复杂度降低。
为了实现上述目的,本发明方法的思路是:因为高斯消息传递迭代检测方法的均值不一定收敛于最小均方误差,不收敛的原因是高斯消息传递迭代检测方法的谱半径不是最小值,所以需要引入松弛参数去优化谱半径,使得谱半径最小,于是提出一种修正的高斯消息传递迭代检测方法,使得在用户数小于天线数的情况下该方法保证收敛并且有更快收敛速度。
本发明的具体步骤包括如下:
(1)接收消息序列:
(1a)多用户多输入多输出MU-MIMO系统的接收端接收到接收序列;
(1b)根据独立的高斯分布生成信道状态矩阵的每个元素;
(1c)按照下式,计算松弛参数:
w=1/(1+β)
其中,w表示松弛参数,β表示多用户多输入多输出MU-MIMO系统的用户数与天线数的比值;
(1d)按照下式,用松弛参数w分别修正接收序列和信道状态矩阵:
其中,y′表示用松弛参数w对接收序列y缩放得到的修正接收序列,H′表示用松弛参数w对信道状态矩阵H缩放得到的修正信道状态矩阵;
(1e)将多用户多输入多输出MU-MIMO系统的每个用户表示为一个变量节点,将多用户多输入多输出MU-MIMO系统的每个天线表示为一个和节点;当信道状态矩阵中第j行第f列元素大于0时,将第g个变量节点和第h个和节点之间相连,将信道状态矩阵中第j行第f列元素的值作为连线的权重;
(2)初始化:
(2a)在[1,100]范围内,设置最大迭代次数;
(2b)将第1次迭代每个变量节点向和节点传递的均值设为0;
(2c)将第1次迭代每个变量节点到和节点的方差设为1020;
(3)更新和节点消息:
(3a)按照下式,用修正的接收序列和信道状态矩阵更新和节点向变量节点传递的均值:
其中,表示第m个和节点向第k个变量节点传递的均值,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,s表示和节点,t表示当前迭代次数,y′m表示修正的接收序列的第m个元素,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,K},ha′b表示修正的信道状态矩阵的第a行第b列元素,a与m的取值对应相等,b与i的取值对应相等,表示第i个变量节点向第m个和节点传递的均值,v表示变量节点。
(3b)利用和节点方差更新公式,更新和节点向变量节点传递的方差:
(4)更新变量节点消息:
(4a)利用变量节点方差更新公式,更新变量节点向和节点传递的方差;
(4b)按照下式,用松弛参数w和修正的信道状态矩阵更新变量节点向和节点传递的均值:
其中,表示第k个变量节点向第m个和节点传递的均值,t表示当前迭代次数,v表示变量节点,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,表示第k个和节点向第m个变量节点传递的方差,∑表示求和操作,p表示第p个和节点,p∈{1,2,…,K},h'dc表示修正的信道状态矩阵的第d行第c列的元素,d与p的取值对应相等,c与k的取值对应相等,表示第p个和节点向第k个变量节点传递的方差,s表示和节点,表示第p个和节点向第k个变量节点传递的均值,w表示松弛参数,表示第k个变量节点向第m个和节点传递的均值,表示多用户多输入多输出MU-MIMO系统的噪声方差;
(5)判断当前迭代次数是否等于最大迭代次数,若是,则执行步骤(6),否则,执行步骤(3);
(6)判决变量节点的方差和信号值:
(6a)利用变量节点方差判决公式,判决变量节点的方差;
(6b)按照下式,判决多用户多输入多输出MU-MIMO系统每个用户的信号值:
其中,表示多用户多输入多输出MU-MIMO系统第k个用户的信号值,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,表示多用户多输入多输出MU-MIMO系统第k个用户的信号方差,hb'c表示修正的信道状态矩阵的第b行第c列元素,b与i的取值对应相等,c与k的取值对应相等,表示第i个变量节点向第k个和节点传递的方差,t表示当前迭代次数,s表示和节点,表示第i个变量节点向第k个和节点传递的均值,w表示松弛参数,表示第k个和节点向第u个变量节点传递的均值,v表示变量节点;
(7)输出信号:
将多用户多输入多输出MU-MIMO系统每个用户的信号值和方差输出。
本发明与现有技术相比具有以下优点:
第一,由于本发明利用松弛参数w修正接收序列和信道状态矩阵,增加一项更新变量节点向和节点传递的均值,从而克服了现有技术高斯消息传递迭代检测方法由于谱半径不是最小值而导致的不一定收敛和收敛的速度较慢的缺点,使本发明在多用户多输入多输出MU-MIMO系统的用户数小于天线数时一定收敛,并且收敛速度更快。
第二,由于本发明利用了包含变量节点和和节点的成对因子图去更新消息,克服了现有技术利用只包含变量节点的因子图去更新消息有较高的计算复杂度和较高的均方误差的缺点,使本发明有更低的计算复杂度和更低的均方误差。
附图说明
图1是本发明的流程图;
图2是本发明的消息更新规则示意图;
图3是本发明与高斯消息传递迭代检测方法在不同迭代次数下的均方误差对比的仿真图;
图4是本发明与最小均方误差检测方法、高斯置信度传播检测方法、高斯消息传递迭代检测方法复杂度对比的仿真图。
具体实施方式
下面结合附图对本发明做进一步描述。
参照附图1,对本发明的实现方法做进一步描述。
步骤1,接收消息序列。
多用户多输入多输出MU-MIMO系统的接收端接收到接收序列。
根据独立的高斯分布生成信道状态矩阵的每个元素。
按照下式,计算松弛参数:
w=1/(1+β)
其中,w表示松弛参数,β表示多用户多输入多输出MU-MIMO系统的用户数与天线数的比值;
按照下式,用松弛参数w分别修正接收序列和信道状态矩阵:
其中,y′表示用松弛参数w对接收序列y缩放得到的修正接收序列,H′表示用松弛参数w对信道状态矩阵H缩放得到的修正信道状态矩阵;
将多用户多输入多输出MU-MIMO系统的每个用户表示为一个变量节点,将多用户多输入多输出MU-MIMO系统的每个天线表示为一个和节点;当信道状态矩阵中第e行第f列元素大于0时,将第g个变量节点和第h个和节点之间相连,将信道状态矩阵中第e行第f列元素的值作为连线的权重。
步骤2,初始化。
在[1,100]范围内,设置最大迭代次数。
将第1次迭代每个变量节点向和节点传递的均值设为0。
将第1次迭代每个变量节点到和节点的方差设为1020。
步骤3,更新和节点消息。
按照下式,用修正的接收序列和信道状态矩阵更新和节点向变量节点传递的均值:
其中,表示第m个和节点向第k个变量节点传递的均值,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,s表示和节点,t表示当前迭代次数,y′m表示修正的接收序列的第m个元素,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,K},ha′b表示修正的信道状态矩阵的第a行第b列元素,a与m的取值对应相等,b与i的取值对应相等,表示第i个变量节点向第m个和节点传递的均值,v表示变量节点。
按照和节点方差更新公式,更新和节点向变量节点传递的方差。
所述的和节点方差更新公式如下:
其中,表示第m个和节点向第k个变量节点传递的方差,t表示当前迭代次数,s表示和节点,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,K},hab表示修正的信道状态矩阵的第a行第b列元素,a与m的取值对应相等,b与i的取值对应相等,表示第i个变量节点向第m个和节点传递的方差,v表示变量节点,表示多用户多输入多输出MU-MIMO系统的噪声方差。
步骤4,更新变量节点消息。
按照变量节点方差更新公式,更新变量节点向和节点传递的方差。
所述的变量节点方差更新公式如下:
其中,表示第k个变量节点向第m个和节点传递的方差,t表示当前迭代参数,v表示变量节点,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,∑表示求和操作,p表示第p个变量节点,p∈{1,2,…,K},hdc表示修正的信道状态矩阵的第d行第c列元素,d与p的取值对应相等,c与k的取值对应相等,表示第p个和节点向第k个变量节点传递的方差,s表示和节点,表示多用户多输入多输出MU-MIMO系统第k个用户的信号方差。
按照下式,用松弛参数w和修正的信道状态矩阵更新变量节点向和节点传递的均值:
其中,表示第k个变量节点向第m个和节点传递的均值,t表示当前迭代次数,v表示变量节点,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,表示第k个和节点向第m个变量节点传递的方差,∑表示求和操作,p表示第p个和节点,p∈{1,2,…,K},h'dc表示修正的信道状态矩阵的第d行第c列的元素,d与p的取值对应相等,c与k的取值对应相等,表示第p个和节点向第k个变量节点传递的方差,s表示和节点,表示第p个和节点向第k个变量节点传递的均值,w表示松弛参数,表示第k个变量节点向第m个和节点传递的均值,表示多用户多输入多输出MU-MIMO系统的噪声方差。
结合附图2,对步骤3和步骤4做进一步说明。
图2(a)是对和节点的消息更新规则的进一步描述。图2(a)中的xk表示第k个变量节点,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,表示第k个变量节点服从的高斯分布,表示多用户多输入多输出MU-MIMO系统的用户的信号方差,ym表示第m个和节点,nq表示第q个信道噪声值,q与m的取值对应相等,表示第q个信道噪声服从的高斯分布,表示多用户多输入多输出MU-MIMO系统的信道噪声方差。hac表示修正的信道状态矩阵的第a行第c列元素,a与m的取值对应相等,c与k的取值对应相等,haC表示修正的信道状态矩阵的第a行第C列元素,C与K的取值对应相等,箭头指消息传递的方向。
图2(a)说明第m个和节点向第k个变量节点传递的消息(均值或方差)等于接收序列的第m个值减去上一次迭代后除了第k个变量节点之外的所有变量节点向第m个和节点传递的消息(均值或方差)与其对应信道状态元素的乘积的和。
图2(b)是对变量节点的消息更新规则的进一步描述。图2(b)中的xk表示第k个变量节点,表示第k个变量节点服从的高斯分布,表示多用户多输入多输出MU-MIMO系统的用户的信号方差,ym表示第m个和节点,m∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,nq表示第q个信道噪声值,q与m的取值对应相等,表示第q个信道噪声服从的高斯分布,表示多用户多输入多输出MU-MIMO系统的信道噪声方差。hac表示修正的信道状态矩阵的第a行第c列元素,a与m的取值对应相等,c与k的取值对应相等,hAc表示修正的信道状态矩阵的第A行第c列元素,A与M的取值对应相等,箭头指消息传递的方向。
图2(b)说明第k个变量节点向第m个和节点传递的消息(均值或方差)等于上一次迭代后除了第m个和节点之外的所有变量节点向第k个变量节点传递的消息(均值或方差)与其对应信道状态元素的乘积的和。
步骤5,判断当前迭代次数是否等于最大迭代次数,若是,则执行步骤6,否则,将迭代次数加1,执行步骤3。
步骤6,判决变量节点的方差和信号值。
按照变量节点方差判决公式,判决变量节点的方差。
所述的变量节点方差判决公式如下:
其中,表示第k个变量节点的方差,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,hbc表示修正的信道状态矩阵的第b行第c列元素,b与i的取值对应相等,c与k的取值对应相等,表示第u个变量节点向第k个和节点传递的方差,t表示当前迭代次数,s表示和节点,表示多用户多输入多输出MU-MIMO系统第k个用户的信号方差。
按照下式,判决多用户多输入多输出MU-MIMO系统每个用户的信号值:
其中,表示多用户多输入多输出MU-MIMO系统第k个用户的信号值,k∈{1,2,…,K},K表示多用户多输入多输出MU-MIMO系统的用户总数,∑表示求和操作,i表示第i个变量节点,i∈{1,2,…,M},M表示多用户多输入多输出MU-MIMO系统的天线总数,表示多用户多输入多输出MU-MIMO系统第k个用户的信号方差,hb'c表示修正的信道状态矩阵的第b行第c列元素,b与i的取值对应相等,c与k的取值对应相等,表示第i个变量节点向第k个和节点传递的方差,t表示当前迭代次数,s表示和节点,表示第i个变量节点向第k个和节点传递的均值,w表示松弛参数,表示第k个和节点向第u个变量节点传递的均值,v表示变量节点。
步骤7,输出信号。
输出多用户多输入多输出MU-MIMO系统每个用户的信号值和方差。
下面结合仿真图,对本发明的效果做进一步的描述。
1.仿真条件:
本发明对多用户多输入多输出MIMO系统修正的高斯消息传递迭代检测方法进行了仿真,信源信号服从独立同分布而信道状态矩阵中的元素服从独立同分布K表示多用户多输入多输出MU-MIMO系统用户数,M表示多用户多输入多输出MU-MIMO系统天线数,M根天线均接收来自K个用户的消息与来自信道的噪声的叠加。
2.仿真内容:
本发明仿真了不同信噪比下,多用户多输入多输出MIMO系统中修正的高斯消息传递迭代检测方法,计算检测出的信号与信源发送的信号相比的均方误差,所有的仿真结果都是经过500次随机实现求平均。
3.仿真结果分析:
图3给出了多用户多输入多输出MU-MIMO系统中修正的高斯消息传递迭代检测方法和高斯消息传递迭代检测方法的均方误差的对比。横坐标是信噪比,纵坐标是均方误差。
图3(a)表示多用户多输入多输出MU-MIMO系统中用户数1000、天线数1500、最大迭代次数100的高斯消息传递迭代检测方法在不同信噪比下的均方误差。图3(a)中以右三角标示的实线代表最小均方误差检测方法,以“*”标示的实线从上到下分别代表迭代次数在1,6,11,…,100时的高斯消息传递迭代检测方法。
图3(b)表示多用户多输入多输出MU-MIMO系统中用户数1000、天线数1500、最大迭代次数100的修正的高斯消息传递迭代检测方法在不同信噪比下的均方误差。图3(b)中以右三角标示的实线代表最小均方误差检测方法,以圆圈标示的实线从上到下分别代表迭代次数在1,6,11,…,100时的修正的高斯消息传递迭代检测方法。
图3(c)表示多用户多输入多输出MU-MIMO系统中用户数100、天线数150、最大迭代次数20的高斯消息传递迭代检测方法在不同信噪比下的均方误差。图3(c)中以右三角标示的实线代表最小均方误差检测方法,以“*”标示的实线从上到下分别代表迭代次数为1到20时的高斯消息传递迭代检测方法。
图3(d)表示多用户多输入多输出MU-MIMO系统中用户数100、天线数150、最大迭代次数20的修正的高斯消息传递迭代检测方法在不同信噪比下的均方误差,图3(d)中以右三角标示的实线代表最小均方误差检测方法,以圆圈的标示的实线从上到下分别代表迭代次数为1到20时修正的高斯消息传递迭代检测方法。
从图3(a)中可以看出,在多用户多输入多输出MU-MIMO系统用户数与天线数的比值是时,高斯消息传递迭代检测方法是发散的。从图3(b)中可以看出,在多用户多输入多输出MU-MIMO系统用户数与天线数的比值是时,修正的高斯消息传递迭代检测方法收敛于最小均方误差检测。这说明,高斯消息传递迭代检测方法不一定收敛于最小均方误差检测,而修正的高斯消息传递迭代检测方法总是收敛于最小均方误差检测。对比图3(c)和图3(d)可以得出,修正的高斯消息传递迭代检测方法比高斯消息传递迭代检测方法的收敛速度更快。
表1比较了修正的高斯消息传递迭代检测方法和高斯消息传递迭代检测方法收敛性。表1中的“+”(“-”)表示右极限(左极限)。表1中的说明了当多用户多输入多输出MU-MIMO系统用户数与天线数的比值或者时,修正的高斯消息传递迭代检测方法和高斯消息传递迭代检测方法都是收敛的,β表示多用户多输入多输出MU-MIMO系统用户数与天线数的比值。同时,表1还说明当多用户多输入多输出MU-MIMO系统用户数与天线数的比值β→1_时,修正的高斯消息传递迭代检测方法仍然是收敛的,但是高斯消息传递迭代检测方法是发散的。
表1.不同检测方法的收敛性对比一览表
图4给出三个现有技术(多用户多输入多输出MU-MIMO系统中最小均方误差检测方法、高斯置信度传播检测方法、高斯消息传递迭代检测方法)与本发明计算复杂度的对比。多用户多输入多输出MU-MIMO系统的用户数是500,天线数是3500。图4中的横坐标是检测方法的均方误差,纵坐标是的计算复杂度。复杂度的计算要保证每种检测方法和最小均方误差检测方法之间允许的相对均方误差小于0.1。图4中以右三角标示的实线代表最小均方误差检测方法,以上三角标示的虚线代表高斯置信度传播检测方法,加圆圈的实线代表高斯消息传递迭代检测方法,以菱形标示的实线代表修正的高斯消息传递迭代检测方法。
从图4中可以得出修正的高斯消息传递迭代检测方法的计算复杂度随着均方误差的减小而增加,即想要得到更低的均方误差,需要付出更多的计算复杂度。在相同的均方误差下,最小均方误差检测方法、高斯置信度传播检测方法、高斯消息传递迭代检测方法和修正的高斯消息传递迭代检测方法的计算复杂度依次递减。