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

注水算法浅析--特征波束形成的功率最优分配

2022-10-18 23:55 作者:乐吧的数学  | 我要投稿

录制的视频在:https://www.bilibili.com/video/BV15G41177rN/

MIMO 中,发射方在决定每个发射天线的发射功率时,可以用更高效的策略来分配,前提是发送方需要知道信道的系数矩阵 H。

通过对 H 做 SVD 分解:

S%20%3D%20U%20%5CSigma%20V%5EH
假设我们考虑的都是 NxN 的情况,即 N 个发射天线 N 个接收天线。 其中:

%5CSigma%20%3D%0A%5Cbegin%7Bbmatrix%7D%0A%5Csqrt%7B%5Clambda_1%7D%20%260%20%26...%20%260%20%5C%5C%0A0%20%26%20%5Csqrt%7B%5Clambda_2%7D%20%26%20...%20%26%200%20%5C%5C%0A...%20%5C%5C%0A0%20%26%200%20%26%20...%20%26%20%5Csqrt%7B%5Clambda_N%7D%20%5C%5C%0A%0A%5Cend%7Bbmatrix%7D
那么若待发送的符号为

%5Ctilde%20S%20%3D%0A%5Cbegin%7Bbmatrix%7D%0A%5Ctilde%20s_1%20%5C%5C%0A%5Ctilde%20s_2%5C%5C%0A...%20%5C%5C%0A%5Ctilde%20s_N%0A%5Cend%7Bbmatrix%7D


用 V 来对之做预编码:

S%20%3D%0A%5Cbegin%7Bbmatrix%7D%0As_1%20%5C%5C%0A%20s_2%5C%5C%0A...%20%5C%5C%0A%20s_N%0A%5Cend%7Bbmatrix%7D%0A%20%3D%20V%20%5Ctilde%20S


则接收的数据为

r%20%3D%20HS%20%2B%20z


接收方把接收的数据乘以 U%5EH ,则:

%5Ctilde%20r%20%3D%20U%5EH%20r%20%3D%20U%5EH%20H%20V%20%5Ctilde%20S%20%2B%20U%5EH%20z%20%5C%5C%0A%3D%20U%5EH%20U%5CSigma%20V%5EH%20V%20%5Ctilde%20S%20%2B%20U%5EH%20z%20%5C%5C%0A%3D%5CSigma%20%5Ctilde%20S%20%2B%20%5Ctilde%20z




r_i%20%3D%20%5Csqrt%7B%5Clambda%20_i%7D%20%5Ctilde%20s_i%20%2B%20%5Ctilde%20z_i


则根据信道容量公式:

C_i%20%3D%20log_2(1%2BP_i%20%5Clambda_i)


其中  P_i 为 第  i 根天线发射的能量.

则总的信道容量为:

C%20%3D%20%5Csum_%7Bi%3D1%7D%5EN%20log_2(1%2BP_i%20%5Clambda_i)


问题就变成:如何把总功率(假定归一化为 1)分配给 N 根发射天线,让信道容量最大?用公式可以表示为:

%5Cbegin%7Baligned%7D%0A%26%20%7Bmax%7D_%7B%5C%7Bp_i%5C%7D%7D%20%20%5Csum_%7Bi%3D1%7D%5EN%20log_2(1%2BP_i%20%5Clambda_i)%20%20%5C%5C%0A%5Cquad%20%5C%5C%0A%26S.T.%20%EF%BC%9A%20%20%5Csum_%7Bi%3D1%7D%5EN%20P_i%20%3D%201%20%20%20%5C%5C%0A%5Cquad%20%5C%5C%0A%26%5Cquad%20%5Cquad%20%5Cquad%20%20%20%20%20%20P_i%20%5Cge%200%2C%20i%3D1%2C2%2C...%2CN%0A%20%0A%5Cend%7Baligned%7D


这是一个典型的求解最优化的问题。

我们先把约束条件中 P_i%20%5Cge%200 的条件先不考虑,则用拉格朗日乘数法有:

J(P_1%2CP_2%2C...%2CP_N)%20%3D%20%5Csum_%7Bi%3D1%7D%5EN%20log_2(1%2BP_i%20%5Clambda_i)%20%2B%20%5Cbeta%20%5Csum_%7Bi%3D1%7D%5EN%20P_i


对 P_i 求导,并令结果为 0:

%5Cfrac%7B%5Cpartial%20J%7D%7B%5Cpartial%20P_i%7D%20%3D%20%5Cfrac%7B%5Clambda_i%7D%7B(1%2BP_i%20%5Clambda_i)ln2%7D%20%2B%20%5Cbeta%20%3D%200


可以解得:

P_i%5E%7Bopt%7D%20%3D%20-%5Cfrac%7B1%7D%7B%5Cbeta%20%20ln2%7D%20-%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D%20%3D%20%5Cmu%20-%20%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D


其中,%5Cmu%20%3D%20%5Cfrac%7B1%7D%7B%5Cbeta%20ln2%7D


又根据总功率为 1有:

%0A%5Csum_%7Bi%3D1%7D%5EN%20(%5Cmu%20-%20%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D)%20%3D%20N%20%5Cmu%20-%5Csum_%7Bi%3D1%7D%5EN%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D%3D1


所以:

%5Cmu%20%3D%20%20%5Cfrac%7B1%7D%7BN%7D%20(1%2B%20%5Csum_%7Bi%3D1%7D%5EN%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D)


算法说明:

初始化: 设置迭代次数 n = 1

1)计算 %5Cmu


%5Cmu%20%3D%20%5Cfrac%7B1%7D%7BN-n%2B1%7D%20(%201%2B%20%5Csum_%7Bi%3D1%7D%5E%7BN-n%2B1%7D%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D)


2)根据步骤 1) 中的计算结果,求解分配给每个信道的功率

P_i%5E%7Bopt%7D%20%3D%20%5Cmu%20-%20%20%5Cfrac%7B1%7D%7B%5Clambda_i%7D%2C%20%5Cquad%20%20i%3D1%2C2%2C...%2C(N-n%2B1)


3)如果最后一个分配的功率为负,则把这个信道舍弃,不参与分配,即给分配的功率为 0.  迭代次数 n 递增 1,返回步骤 1); 若分配的功劳没有负的,则结束。

这个算法中之所以有迭代,是因为我们的最优化问题里面要求 P_i%20%5Cge%200,所以,如果不考虑这个条件下,分配的功率为 负的,证明这个信道起的作用是抵消作用,就不应该给分配功率。则把这个剔除掉,不让其参与功率分配,然后再继续在剩下的信道中继续分配功率。

其实这也好理解,如果一个信道比如完全断开了,那一点功率也不应该给他分配。但是,这个投入产出比的合理点,就是我们要寻找的。


注水算法浅析--特征波束形成的功率最优分配的评论 (共 条)

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