2020-11-16

该博客主要探讨无线通信中路径损耗的计算(eq1)及其对信道容量的影响(eq4)。通过定义约束条件(如变量范围、能量约束等),使用cvx求解器进行优化,最小化路径损耗并确保信道容量大于特定阈值。同时,涉及将dB值与十进制值之间的转换以及获取可实现的数据速率。整个过程旨在优化无线通信系统的性能。
摘要由CSDN通过智能技术生成

function [Xr, Theta] = solveP2(Qr) %Qr 为初始的轨迹
global M K Ek rk

% Equation (1)
pathloss = eq1(Qr);

% Equation (4)
R = eq4(pathloss);

cvx_begin quiet %(P2)
%variable 是待优化的变量
variables x(M,K);v %M X K
variables theta(1,1); %松弛变量

minimize(sum(theta))
subject to:
0 <= x <= 1; % Constraint(11)
sum(x.*Ek, 1) <= theta % Constraint(5)
sum(x.*R, 1) >= rk % Constraint(6)
sum(x , 2) <= 1 % Constraint(7)
cvx_end

Xr = x;

Theta = sum(theta);

end

function [pathloss] = eq1(Qr)
global K M H w %传感器 时隙数量 飞行高度 %用于记录每个时隙下每个SN的坐标状态

Qr = repelem(Qr,1,1,K); %matrix
d = (H^2 + sum((Qr - w).^2 ,1)).^(0.5) %1 X100 X 4 100个时间间隔 4个传感器
pathloss = getPathLoss(d); % eq1
pathloss = reshape(pathloss, [M,K] ); % matrix
end

function [R] = eq4(pathloss)
R = getAchievableRate(pathloss);
end

function [dB] = dec2dB(dec)
dB = 10*log10(dec);
end

function [dec] = dB2dec(dB)
dec = 10.^(dB/10);
end

function [R] = getAchievableRate(pathloss)
% input, pathloss is dB scale
% output, R’s unit is bps/hz
global F_1 Pk sigma_2 Lamda
R = log2(1+(F_1PkdB2dec(pathloss)) / (dB2dec(sigma_2)*dB2dec(Lamda)));
end

function [pathloss] = getPathLoss(d)
% input, d is decimal scale 十进制
% output pathloss is dB scale
global beta0 alpha

da = -alpha*dec2dB(d);
pathloss = beta0 + da;

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值