物联网设备无线传输功率优化问题求解
不会吧,这真有人看?
BY hllinyu
2023年5月11日
一、实验内容
考虑一个包含 K 个终端设备的物联网。为了传输自身数据, 第 i 个设备以发射功率 p_i 向网关发送数据。所有设备的最大发射功率限制为 P_"max " , 即 p_i≤P_max; 所有设备的总发射功率限制为 P_"sum " , 即 ∑_(i=1)^K p_i≤P_"sum " , 其中 P_"max " 以及 P_"sum " 均为给定值。根据香农容量公式, 第 i 个设备的传输速率 r_i 可以表示为
r_i=log_2(1+p_i h_i ),
其中 h_i 表示第 i 个节点与网关之间的信道增益, 该值是一个定值, 与二者间的距离相关。为了实现物联网内数据的高效传输, 我们拟对所有设备的发射功率 {p_i } 进行优化, 在满足每个设备最大发射功率限制以及所有设备总功率限制的情况下, 使得物联网内所有设备的总传输速率 R_sum=∑_(i=1)^K r_i 最大。
1)请将上述问题建模成一个凸优化问题。
2) 请使用 Matlab 及 CVX 对该问题进行求解, 得到最大总传输速率以及对应的最优解。 其中 K=4,P_"max " =1,P_sum=3。h_i的取值分别为 1、2、3、4 。
3) 考虑如下等功率传输方式 p_i=P_max/K, 即所有设备以相同功率进行无线传输。使用问题2)中提供的参数值计算采用这种简单方案时的总传输速率, 并与问题2)中得到的总传输速率进行比较。
二、实验过程及结果(需要包含完整程序代码及运行结果截图)
1. 建模
设p=[p_1,p_2,⋯,p_K ]为所有设备的发射功率,r=[r_1,r_2,⋯,r_K ]为所有设备的传输速率,h=[h_1,h_2,⋯,h_K ]为所有设备与网关之间的信道增益,则该问题可以表示为:
其中第一个约束条件是香农容量公式,第二个约束条件是所有设备的总发射功率限制,第三个约束条件是所有设备的最大发射功率限制。
计算等功率传输方式下的总传输速率。等功率传输方式下,所有设备以相同功率进行无线传输,即 p_i=P_“max” /K。使用问题2)中提供的参数值计算采用这种简单方案时的总传输速率,并与问题2)中得到的总传输速率进行比较。计算公式如下:
R_“sum” =∑_(i=1)^K▒log_2(1+P_“max” /K h_i )
2. MATLAB 代码及运行结果截图
% 参数设置
K = 4; % 设备数
P_max = 1; % 最大发射功率
P_sum = 3; % 总发射功率
h = [1, 2, 3, 4]; % 信道增益
h = h(:);% 将行向量h转化成列向量
% 求解凸优化问题
cvx_begin
variable p(K)
maximize(sum(log(1 + p .* h)))
subject to
sum(p) <= P_sum;
p <= P_max;
cvx_end
% 输出结果
disp(['最大总传输速率:', num2str(sum(log(1 + p .* h))), ' bit/s']);
disp(['最优解:', num2str(p')]);
% 计算等功率传输方式下的总传输速率
p = ones(K, 1) * P_max / K;
R_sum = sum(log(1 + p .* h));
disp(['等功率传输方式下的总传输速率:', num2str(R_sum), ' bit/s']);
运行结果