欢迎光临散文网 会员登陆 & 注册

MIMO检测中 Zero Forcing 算法比 ML 差的思考

2023-03-31 21:43 作者:乐吧的数学  | 我要投稿

(录制的视频在:

1) https://www.bilibili.com/video/BV1aL411S7ez/

2)https://www.bilibili.com/video/BV1TV4y1Q7yw/ )


MIMO 检测中, maximum likelihood (ML)  是最优的检测,其数学表达式为:


%5Chat%20X%20%3D%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7CY-HX%7C%7C%5E2%20%20%20%5Ctag%201


%5Cmathcal%7BX%7D 表示星座图的集合.  Y 是接收到的数据.



zero forcing (ZF) 是基于下面这个思想:

%5Ctilde%20X%20%3D%20argmin_%7BX%7D%20%7C%7CY-HX%7C%7C%5E2%20%20%20%20%5Ctag%202


公式 (2) 与公式 (1) 的区别在于对  X  的限制,公式 (1) 中的 X 要在调制的 constellation 星座图的点中选择,而公式 (2) 没有这个限制,可以自由选择,显然公式 (2) 的解会偏离公式 (1) 的解。



公式 (2) 的解,再用 maximum likelihood 方式进行解调:

%5Chat%20X%20%3D%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7C%20%5Ctilde%20X%20-%20X%7C%7C%5E2%20%20%20%5Ctag%203


由公式 (2) 得到的最优解为(当 H 是方阵且可逆):

%5Ctilde%20X%20%3D%20H%5E%7B-1%7D%20Y%20%20%5Ctag%204


将 (4) 代入 (3) 有:

%5Cbegin%7Baligned%7D%0A%5Chat%20X%20%26%3D%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7C%20%5Ctilde%20X%20-%20X%7C%7C%5E2%20%20%5C%5C%0A%26%3D%20%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7C%20H%5E%7B-1%7DY%20-%20X%7C%7C%5E2%20%5C%5C%0A%26%3D%20%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%20%5C%5C%0A%0A%5Cend%7Baligned%7D%20%5Ctag%205


这里假定 H 是方阵且可逆的,则 H 的逆矩阵也可以做 SVD 分解:

H%5E%7B-1%7D%20%3D%20U%5CSigma%20V%5EH%20%20%20%5Ctag%206


则公式 5 中的:

%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%7C%7C%20U%5CSigma%20V%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%20%20%5Ctag%207


我们把 %5CSigma%20V%5EH%20%20(Y%20-%20HX) 看成一个向量,则矩阵  U 因为是单位正交矩阵,所以,是一个刚性旋转,不改变被作用的向量的长度,因此 公式 (7) 可以继续推导为:

%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%7C%7C%20%5CSigma%20V%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%20%20%5Ctag%208


公式 (8) 中,我们把  Y- HX  看成一个向量,记为 Z,则 V%5EH  是对这个向量 Z 做旋转,不改变向量长度,旋转后的向量记为 %5Chat%20Z, 则 %5CSigma 矩阵,是对向量各个分量进行缩放:


%5CSigma%20%3D%20%5Cbegin%7Bbmatrix%7D%0A%20%20%5Clambda_1%20%26%20%20%26%20%5C%5C%0A%20%20%26%20...%20%26%20%5C%5C%0A%20%20%26%20%20%26%20%5Clambda_N%0A%5Cend%7Bbmatrix%7D


情况一: 所有特征值都相等

当 %5Clambda_1%3D%5Ccdots%3D%5Clambda_N%20%3D%20%5Clambda 时,公式 (8) 可以写成:

%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%7C%7C%20%5CSigma%20V%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%7C%7C%20%5Clambda%20I%20V%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%5Clambda%5E2%20%7C%7CV%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%5Ctag%209


因为 V%5EH 是单位正交的矩阵,因此,是一个刚性旋转,不改变后面向量的长度,因此公式 (9) 可以写成:

%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%20%3D%20%20%5Clambda%5E2%20%7C%7C%20(Y%20-%20HX)%7C%7C%5E2%20%5Ctag%20%7B10%7D


这种情况下, Zero Forcing 算法就与 Maximum Likelihood 算法的性能一致。



情况二:噪声非常小,趋近于 0

那么公式 (8) 中,一定能找到一个 X 向量,使得  Y - HX 为 0 向量,因为是 0 向量,所以,这个就是最小值,不可能找到另外一个向量 X' ,使得  (8) 的结果比 0 小。所以,在噪声为 0 的情况下,Zero Forcing 算法就与 Maximum Likelihood 算法的性能一致。



情况三:特征值不全都相等,也含有噪声



则公式 (8) 可以写成:
%5Cbegin%7Baligned%7D%0A%7C%7CH%5E%7B-1%7D%20(Y%20-%20HX)%7C%7C%5E2%0A%26%3D%20%7C%7C%20%5CSigma%20V%5EH%20%20(Y%20-%20HX)%7C%7C%5E2%20%5C%5C%0A%5C%5C%0A%26%3D%20%7C%7C%20%5Cbegin%7Bbmatrix%7D%0A%20%20%5Clambda_1%20%5Chat%20Z_1%20%5C%5C%0A%20%20%20...%20%20%5C%5C%0A%20%20%20%5Clambda_N%20%20%5Chat%20Z_N%0A%5Cend%7Bbmatrix%7D%20%20%7C%7C%5E2%0A%5C%5C%0A%5C%5C%0A%26%20%3D%20%5Clambda_1%5E2%20%7C%7C%5Chat%20Z_1%20%7C%7C%5E2%20%2B%20%5Ccdots%20%2B%20%5Clambda_1%5EN%20%7C%7C%5Chat%20Z_N%20%7C%7C%5E2%20%20%20%0A%5Cend%7Baligned%7D%0A%5Ctag%20%7B11%7D

公式 (11) 中第一个等号那里,相当于对向量  Y-HX 先做旋转,然后再在各个维度上做缩放,例如都是都是逆时针旋转一个固定角度,两个维度分别是放大三倍和缩小一倍(以二维向量为例子,方便画图理解),则不同的向量,即使长度相同,但是角度不同,经过旋转和缩放后,长度将会不同.



下图蓝色是初始向量,旋转 %5Calpha 后变成绿色向量,然后经过 X 轴放大 三倍, Y 轴缩小 1/2 ,变成右边紫色向量。






用相同的旋转和缩放,对下图蓝色初始向量进行操作,得到右边紫色向量。


从上面两个实例可以看出,旋转缩放前,第一个图的原始向量要比第二个图的原始向量要短,但是做了同样的旋转缩放后,第一个图的结果向量反而比第二个图的结果向量要长,可见,旋转缩放后,会改变向量长度的大小关系,进而影响 Zero Forcing 算法达不到 Maximum Likelihood 算法的效果,即可能找到的不是最优解。



现在我们来对比一下公式 (1) 和公式 (5) 中的第二行,为了讨论方便,我都列在这里:


%5Chat%20X%20%3D%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7CY-HX%7C%7C%5E2%20%20%20%20%5Ctag%20%7B12%7D


%5Chat%20X%20%3D%20%20argmin_%7BX%5Cin%20%5Cmathcal%7BX%7D%5E%7BM_t%7D%7D%20%7C%7C%20H%5E%7B-1%7DY%20-%20X%7C%7C%5E2%20%20%20%5Ctag%20%7B13%7D



这两个公式看起来很像,都是在 X 的所有可能取值中进行遍历,找对应向量长度的最小值,但是,从几何意义上,这两者有本质性的区别,我们接下来分析一下,并且能看出来  Zero Forcing 算法为什么比 Maximum Likelihood 算法的性能要差了。

我们以 H 矩阵是方阵且可逆的, H 做 SVD 分解为:

H%3DU%5CSigma%20V%5EH





其中 U ,V 都是单位正交矩阵,在几何上就是对向量做旋转,而  是对角矩阵,对角线上的元素是其特征值。



公式 (12) 的含义是,发送的某个特定数据,经过 H 矩阵作用,然后加高斯噪声,得到的结果是 Y,然后遍历所有 X 的可能取值,对每个取值同样做 H 矩阵的作用,然后与收到的 Y 比较,最近的那个就是最佳估计。



公式 (13) 的含义,是收到的数据 Y  (发送的某个特定数据,经过 H 矩阵作用,然后加高斯噪声,得到的结果是 Y,  Y = HX + W) 通过 H 的反作用回到发送时的情况,然后再与 X 的各种取值进行比较。那么这个反作用的时候,是把噪声 W 也反作用了。本来噪声在各个天线上(体现在空间中的各个维度上),是同性分布的,即相同的概率分布,但是经过 H 的反作用后,噪声就会有的被放大,有的被缩小,导致各个维度上的概率分布是不同的。



我们以 2x2 MIMO 为例子,用 BPSK 调制,那么每根天线上发送的要么是 +1, 要么是 -1,则两根天线上发的数据就有四种组合,我们把在某个时刻两个天线上发送的数据看成一个向量,则这个向量是二维的,那么我们就可以在二维空间上来理解.



那么,我们发送的向量,在二维空间中,只有四个向量,分别在四个象限的中间点上,以 横坐标为第一个维度,纵坐标为第二个维度,则四个向量在二维空间中的坐标分别为 [+1,+1],  [-1,+1], [-1, -1], [+1, -1]. 如下图所示,以先旋转一个角度,再横坐标放大为原来的 3 倍,纵坐标缩小为原来的 1/2, 然后再做已给旋转。我们来看公式 (12)  和 (13) 对应的效果。




旋转拉伸之后的




原始噪声的分布






反变换之后的噪声分布






下图是仿真结果,用 4x4 的 MIMO.


MIMO检测中 Zero Forcing 算法比 ML 差的思考的评论 (共 条)

分享到微博请遵守国家法律