MIMO中继系统的信道估计算法的研究
2019-04-12张魁元李建平
张魁元,李建平
(中国传媒大学信息工程学院,北京100024)
1 引言
MIMO技术的出现改变了通信发展的新格局,带来了新的研究热潮。在MIMO通信系统中加入中继模块,可以减少信号传输的衰弱现象,还可以大幅度扩大网络的覆盖面积[1-2]。在MIMO中继系统中,很多技术需要在知道信道状态信息的情况下才能进行研究,比如功率分配[3]、编解码技术[4]、天线选择[5]、信道容量[6]等。但是,如果不能知道精确的信道状态信息,就会造成系统性能的下降。因此,有效的进行信道估计对于中继系统具有重要意义。
目前有很多对MIMO中继系统的研究工作[7-8]。文献[7]提出一种MIMO两跳中继信道进行估计的方法。这里和其他文献一样,也使用了AF协议。当发送功率受到一定的限制时,对信源到中继节点的信道估计问题作出优化,并且将信号分解成多个分量,使得代价函数更加简单。虽然求出了最佳的导频信号,但是它使用的是不断尝试取值来求解最佳情况,这会消耗一定的复杂度。文献[8]分析了发送节点的最佳信道训练序列情况。但是,这里是利用从中继到信宿的传输部分所得到的信道状态信息的估计结果,来分析信源到中继部分的状态信息做估计。也就是说,将后一部分的估计结果作为条件来估计前一部分的内容,得到另一个估计的值。这样的话如果已估计的值有一定误差的话,就势必会影响其他估计的值,可能会使得估计效果变得有问题。
本文是基于PARAFAC模型下的信道估计方法,通过构造具有分解唯一性的PARAFAC模型,利用文献[1]相同的ALS算法,并在此基础上,在算法里加入松弛因子,并对它选取适当的值。利用ALS算法的信道估计结果作为初始值,然后将初始值放到拥有松弛因子的ω-ALS的算法中进行迭代更新,最终使其收敛。通过对复杂度以及性能的分析,进一步提高了算法的收敛性,减少了ALS算法由于初始值的随机性所造成的不稳定性,更进一步减小了算法迭代次数和算法复杂度。
2 引入松弛因子的结合算法的估计
2.1 系统模型的介绍
由图1可知,MIMO系统由三个部分组成,它们分别是信源节点、单中继以及信宿组成,中继节点采用放大转发形式。我们设定这三个节点分别有M、R以及N根天线数目。为了分析信道的估计,我们把模型简单化,信源直接到信宿的信号传输不在本文的研究范围之内,只是考虑中继节点两边的信道。我们把两个部分的信道用分别H1以及H2表示,这两个信道我们定位准静态平坦衰落信道,其中H1∈R×M、H2∈N×R,信道中的所有元素都服从复高斯随机变量,即均值是0与方差是1的独立同分布形态。
图1 MIMO中继系统模型
所提方法包括2个阶段,第1个阶段包含1个时间块,第2个阶段包含K个时间块,其中,每个时间块包含L个时隙。假设信道CSI(信道状态信息)在这2个阶段内是恒定不变的,且信宿已知2个阶段的中继放大矩阵。在第1阶段,信源发送正交信道训练序列S∈CN×L,其中SSH=IN。中继接收的信号Yr∈CL×R和信宿接收的信号Yd∈CM×L分别表示为:
Yr=H1S+Wr
(1)
(2)
(3)
将式(3)的两边同时乘以 SH可得:
(4)
(5)
考虑一个H维矩阵X∈CM×N×P,它的PARAFAC模型的标量形式可表示为:
(6)
式中:m=1,2,3,...,M,n=1,2,...,N。X(m,n,p)是X的对应元素,H2∈(m,r),H1∈(r,n)和Q∈(p,r)表示PARAFAC模型的三个加载矩阵,kH2,kQ与kH1分别表示H2,Q和H1的Kruskal秩[9],若满足:
kH2+kQ+kH1≥2R+2
(7)
则可以说明加载矩阵符合本质唯一性。将PARAFAC标量模型X(m,n,p)根据式(7)进行剖面展开得到三个式子:
(8)
(9)
其中,符号⊙表示Khatri-Rao矩阵乘积。
2.2 引入松弛因子的信道估计
本文提出一种ALS和ω-ALS两种算法相结合的方式来拟合PARAFAC模型,利用ALS的估计结果来作为ω-ALS的初始值,从而估计出信道矩阵H1和H2,然后利用Kruskal-Rao的乘积公式将式(8)(9)相互迭代。首先随机初始化H1和H2,并将Q的初始值提前设定。
松弛因子一般的作用是改善一个算法迭代的收敛情况,可以根据具体的情况或者要求来加快或者减慢算法的收敛速度。当然,减慢收敛速度肯定是对算法所带来的稳定性有一定的要求。当ω等于1时,它相当于不使用松弛因子,和原算法一样;当ω的值大于1时,我们称为超松弛因子,它的作用是把指定算法的收敛速度变快;而当它的值小于1时,我们一般称作欠松弛因子,它主要的目的是改善运算过程的稳定性。一般情况下,我们根据具体的情况来择优松弛因子的数值。比如说如果算法的收敛情况不太好的时候,我们可以加入一个值小于1的欠松弛因子,这样可能就会改善一定收敛条件。其中Fluent算法里就是加入了欠松弛因子,这样的话两次迭代值相差减小可以防止迭代过程中可能发生的发散现象。当然这样的话收敛速度就会有些不理想。
一般情况下,松弛因子的取值在0到2之间。如果松弛因子越大,算法的计算速度越快,但是结果就会变得越不稳定,也就是说很难收敛。如果把松弛因子变小,结果容易稳定,但迭代次数会变多,收敛速度回变慢。当然松弛因子数值的选取,还要根据具体的模型算法来决定,适当的选取松弛因子的数值范围,才能达到想要的效果。
对于ALS算法,通过每一次迭代,利用式(9)、(10)、(11)得到:
通过LS拟合来更新H1
=(Q⊙H2)+X(1)
(10)
(11)
通过式(11)(12)不断更新来保持LS拟合。ALS算法在第t次迭代的代价函数上是:
(12)
(13)
(14)
其中松弛因子ω一般情况去固定的值,通常取1.2,1.3等。
然后将得到的新的估计值代入(11)(12)中进行迭代更新运算来提高LS拟合,直到满足收敛条件为止。
结合算法的实现步骤总结如下:
结束。否则跳转到步骤(2)
(7)根据步骤(2)(3)(4)求得估计值,如果|γ(t)-γ(t-1)|/γ(t)=ε(ε=10-6),迭代更新结束。否则跳转到步骤(7)。
2.3 算法复杂度的分析
—个具体数值为例,在下文的表中,当M=N=R=4和P=3时,ALS算法需要120次迭代才能达到收敛,每次迭代所需要的乘法数目为1764。结合算法第一部分需要58次迭代达到收敛条件,第二部分需要30次迭代达到收敛要求。一个算法的计算复杂度不仅仅是知道单次的迭代复杂度,还要知道收敛时所提的算法所需要的迭代次数。一般情况将以上两点想成之后就会得到最终的算法复杂度。那么采用结合算法共需要88次叠法,因化采用结合算法,算法共节省了28%的乘法。
下面的表1表示了两种算法在仿真运行时所需要的时间,其中时间以秒为基本单位,运算用时取到小数点后三位。一般情况下,CPU的用时可以说明一个算法在算法复杂度上的不同。那么由表1可知,不同的发射功率Q下,引入松弛因子的ALS算法在MIMO中继模型下所需要的时间都比ALS算法更少,说明引入松弛因子ALS算法的工作效率更好,这也就是说它的算法复杂度更低,速度更快。
表1 不同算法CPU运行时间
3 仿真与分析
利用仿真技术对所提算法的性能进行简单分析,并与原有的ALS算法进行比较。
所提算法的性能由归一化均方误差(NMSE)来表示,定义由式(15)表示:
(15)
我们假设,信源与信宿的天线数目相同,且导频信号L与信源天线数相同,令N=M=L=4。其中松弛因子取1.4,中继信噪比为20db。H1与H2矩阵为均值为0方差为1的独立同分布的复高斯随机矩阵.有图显示,随着信噪比的不断增加,所提算法的性能不断降低。
图2考察了引入松弛因子的算法与原算法ALS的性能比较,假设训练块P=3。由仿真图可以看出,随着信噪比增加,两种算法的估计结果都越来越好。所提算法和原算法的曲线走势几乎重合,两者的NMSE近乎相同。由算法复杂度的表格得知,所提算法在性能几乎不变的前提下,一定量的降低了算法复杂度,提高了算法的收敛速度。
图2 两种算法的性能比较
图3考察天线数对所提示算法的性能影响。当令M=N=R,当天线数分别为4和5时,显示在不同信噪比下引入松弛因子后的性能曲线,从图中表明,信噪比在增大,H1与H2的NMSE的值在变小。这样一来,通过引入更多的天线数量,使得信道估计的结果更加准确,性能变得更好。这说明:在多天线系统中,虽然在信号传输过程中会存在信道衰弱现象,但是由于天线数的不断增加,它们之间的分集作用越强,使得利用空间分集技术可以进一步的改善衰落现象。最终让整个MIMO系统传输信号时更加稳定。
图3 不同天线数的性能对比
图4考察了在相关信道的条件下,强相关与弱相关对于所提算法H1与H2信道估计的影响。在本文中采用了Kronecker模型[11]:
图4 加入信道相关性后性能的变化
图5分析了信道训练数目S对系统性能的影响。由图可知,当信道训练数目增加时,随着信道训练数目的增加,信道矩阵H1、H2的NMSE都变小了,得出所估计的系统性能变的更好。这说明由于训练符号增多,导致可获得的信道状态信息更多。这样一来,在信道估计时,能够更加准确地得出结果。当然增加过多的训练数目会导致浪费一部分的带宽使用情况,使得频带使用率降低。
图5 训练数目不同对性能的影响
4 结论
本文提出了一种基于PARAFAC模型的信道估计算法,在算法中引入了松弛因子,将ALS算法分成两个部分,其中一部分收敛到一定程度后再加入松弛因子进行迭代,直到达到收敛条件为止。在与原有算法性能精度几乎一样的前提下,降低了算法复杂度加快了收敛速度。对于MIMO中继系统的研究有着一定的参考价值。