注水算法浅析--特征波束形成的功率最优分配
录制的视频在:https://www.bilibili.com/video/BV15G41177rN/
MIMO 中,发射方在决定每个发射天线的发射功率时,可以用更高效的策略来分配,前提是发送方需要知道信道的系数矩阵 H。
通过对 H 做 SVD 分解:
假设我们考虑的都是 NxN 的情况,即 N 个发射天线 N 个接收天线。 其中:
那么若待发送的符号为
用 V 来对之做预编码:
则接收的数据为
接收方把接收的数据乘以 ,则:
则
则根据信道容量公式:
其中 为 第 i 根天线发射的能量.
则总的信道容量为:
问题就变成:如何把总功率(假定归一化为 1)分配给 N 根发射天线,让信道容量最大?用公式可以表示为:
这是一个典型的求解最优化的问题。
我们先把约束条件中 的条件先不考虑,则用拉格朗日乘数法有:
对 求导,并令结果为 0:
可以解得:
其中,
又根据总功率为 1有:
所以:
算法说明:
初始化: 设置迭代次数 n = 1
1)计算
2)根据步骤 1) 中的计算结果,求解分配给每个信道的功率
3)如果最后一个分配的功率为负,则把这个信道舍弃,不参与分配,即给分配的功率为 0. 迭代次数 n 递增 1,返回步骤 1); 若分配的功劳没有负的,则结束。
这个算法中之所以有迭代,是因为我们的最优化问题里面要求 ,所以,如果不考虑这个条件下,分配的功率为 负的,证明这个信道起的作用是抵消作用,就不应该给分配功率。则把这个剔除掉,不让其参与功率分配,然后再继续在剩下的信道中继续分配功率。
其实这也好理解,如果一个信道比如完全断开了,那一点功率也不应该给他分配。但是,这个投入产出比的合理点,就是我们要寻找的。
