for K = 5
T = 70; N = 140; delta = T/N;
w = [50,150,200,450,475;
125,100,350,300,450];
for c = 1:K
data(1,c) = 200; % 初始化需要传输的数据量(bit)
end
for c = 1:K
data2(1,c) = 2^200; % 初始化需要传输的数据量(bit)
end
for c = 1:K
energy(1,c) = 0.0001; % 初始化需要传输的数据量(bit)
end
for c = 1:2
for n = 1:N
Q_int(c,n) = 500/N*n; % 初始化无人机路径
end
end
for k = 1:K
for n = 1:N
L_int(k,n) =1; % 初始化无人机路径
end
end
for a = 1:K
for n = 1:N
P_int(a,n) = 4; % 初始化发射功率
end
end
N_0 = -100; H = 20;
% 噪声功率(单位转换)
dBm = N_0 ;
sigma = power(10, dBm/10 ) /1000 ; % 单位 w
% Unit conversion of beta_0
beta = 1000 ;
% variables
%T = 75; N = 140;
delta = T/N;
% the square of distance between UAV and kth GN in time slot n
for k = 1:K
for n = 1:N
d(k,n) = norm( Q_int(:,n) - w(:,k) );
SoD(k,n) = power( d(k,n), 2 ) + power(H,2);
phi(k,n) = beta/sigma/SoD(k,n); % 计算 phi_k[n]
changshu1(k,n) = log2(L_int(k,n)+phi(k,n).*P_int(k,n))
changshu2(k,n) = beta*P_int(k,n)/SoD(k,n)
end
end
% 使用CVX工具包求解调度参数
cvx_begin
% cvx_solver mosek
variables A(K,N)
maximize (delta*sum( A(k,:).*changshu1(k, ))
subject to
% constraint 21
for k = 1:K
delta*sum( A(k,:).*changshu1(k,:) ) >= data(k);
end
for k = 1:K
delta*sum( (L_int(k,:)-A(k,:)).*changshu2(k,:) ) >= energy(k);
end
%13 14
for n = 1:N
sum(A(:,n)) <= 1;
end
% 19 20
for k = 1:K
for n = 1:N
A(k,n) >= 0;
end
end
cvx_end
E_1 = delta*sum( A(k,:).*changshu1(k, );
cvx_begin
% cvx_solver mosek
variables P(K,N)
maximize (delta*(sum( A(k,:).*(log(phi(k,:).P(k,:)+L_int(k,:)) -0.2(2^(sum(P(k,:))))))))
subject to
% constraint 21
for k = 1:K
delta*(sum( A(k,:).*(log(phi(k,:).*P(k,:)+L_int(k,:))))) >= data(k) ;
end
%13 14
for k = 1:K
beta* delta*sum( (L_int(k,:)-A(k,:))/SoD(k,:).*P(k,:) ) >= energy(k);
end
% 19 20
for k = 1:K
for n = 1:N
0 <= P(k,n) <=20;
end
end
for n = 1:N
P(1,n)== P(2,n) == P(3,n)== P(4,n) == P(5,n);
end
cvx_end
Thanks, you give me a great help.