%CVX
cvx_begin quiet
cvx_solver SDPT3
variables X(N,K);
variables Kao(N,K);
variables Smax(1,1);%目标
variables f(N,K);%频率
variables fuav(N,K);
expression Ec(1,K);
expression Eget(1,K);
expression Schuan(1,K);
expression Sjisuan(1,K);
expression Ecu(1,K);
expression Euav(1,1);
maximize(Smax)
subject to:
%频率约束
0<=f<=fk; %√
0<=fuav<=fu; %√
%散射系数约束
0<=Kao<=1; %√
%收集能量和本地计算约束
for k=1:K
Ec(1,k)=0;
Eget(1,k)=0;
for n=1:N
Ec(1,k)=gamacpow_pos(f(n,k),3)delta_t+Ec(1,k);%√
Eget(1,k)=yitaAr(n,k)(1-Kao(n,k))*Pk(n,k)*delta_t+Eget(1,k);%√
Ec(1,k)<=Eget(1,k);%√
end
end
%上传数据和计算量约束
for k=1:K
Schuan(1,k)=0;%√
Sjisuan(1,k)=0;%√
for n=1:N
Schuan(1,k)=Ar(n,k)log(1 + (Pk(n,k)Kao(n,k)dB2dec(beta0)) ./ (dBm2dec(sigma_2) * norm(Qr(:,n)-u(:,k))^(alpha/2)) )/log(2)+Schuan(1,k);%要泰勒展开%√
Sjisuan(1,k)=fuav(n,k)/C+Sjisuan(1,k);%√
Schuan(1,k)>=Sjisuan(1,k);%√
end
end
%目标
for k=1:K
Ecu(1,k)=0;%√
for n=1:N
Ecu(1,k)=Ecu(1,k)+delta_tf(n,k)/C+delta_tfuav(n,k)/C;%√
end
Ecu(1,k)>=Smax;%√
end
%无人机能耗约束
Euav=0;
for k=1:K
for n=1:N
Euav=gamacpow_pos(fuav(n,k),3)*delta_t+Euav;
end
end
Ef+Euav<=E0;
cvx_end