MIMO 检测中 zero forcing 算法的思想
MIMO 检测算法中, Zero Forcing 算法在很多书中是直接给出了计算公式的,本文试图从其最初始的思考点出发,来看一下这个算法背后的思想。
(录制的视频在:https://www.bilibili.com/video/BV1Eh41137JX/)
假设 MIMO 信道 模型为:
其中 H 为信道系数矩阵,是已知的(假设已经被准确地做了信道估计),Y 是接收到的信号,n 是高斯白噪声。
那么 Maximum Likelihood(ML) 算法是最优的检测,这个最优指的是使错误率最低(假定发送的 x 是等概率出现的),从最低错误率的角度出发,同时假定在每个天线处的高斯白噪声是独立同分布的,那么,这个 ML 算法的公式为:
遍历 X 的所有可能取值,找到是公式 (1) 最小的。
因为公式 (1) 的计算量非常大,在实际中是不可行的。那么对公式 (1) 放开条件,让 X 的取值,不仅限于星座图中的值,而是任何值,那么,这个就是 zero forcing(ZF) 算法的出发点,则公式 (1) 就变成:
注意 argmin 的下表中的 X ,没有做任何限制。公式 (2) 就是一个无约束的最优化问题,我们令:
接下来对公式 (3) 做进一步的推导(我们约定所有的向量都是列向量):
把公式 (4) 对 X 求导,公式 (4) 实际上是一个数,X 是一个向量,这个求导的过程,实际上就是对 (4) 用 X 的每个分量分别求一次导数并令其等于 0,得到 N ( 假如 X 是 N 维的列向量) 个方程,联合起来可以求解出 X 的每个分量。用矩阵形式来写就是:
则
进一步推导
最后:
如果 H 是方阵且 可逆,公式 (5) 可以写成:
这样得出的值,就是检测后的估计值,即用 Zero Forcing 算法估计出来的值,我们写成:
或者简化后的(H 是方阵且可逆的情况下):
然后,再做解调检测
后续思考: Zero Forcing 算法比 Maximum Likelihood 算法性能差的原因是啥?
