I want to resolve the cvx problem like as below
p = (p1, p2, p3 … pk);
=============================================================================
cvx_begin
variable p(K) nonnegative
fp_1_sum = 0;
Lp_1_sum = 0;
Lp_2_sum = 0;
for pk = 1:K
fp_interference_sum = 0;
Lp_interference_sum = 0;
for pj = 1:K
fp_interference = abs( H_sum * w(:,pj) )^2 * p(pj); % fp_interference
fp_interference_sum = fp_interference_sum + fp_interference;
if pj ~= pk
Lp_interference = abs( H_sum * w(:,pj) )^2 * p0(pj);
Lp_interference_sum = Lp_interference_sum + Lp_interference;
end
end
fp_1 = log(fp_interference_sum + noise) / log(2);
fp_1_sum = fp_1_sum + fp_1;
Lp_1 = log(Lp_interference_sum + noise) / log(2);
Lp_1_sum = Lp_1_sum + Lp_1;
Lp_2_right_sum = 0;
for pjj = 1:K
if pjj ~= pk
Lp_2_right = ( abs( H_sum * w(:,pjj) )^2 * ( p(pjj) - p0(pjj) ) ) / ( Lp_interference_sum * log(2) );
Lp_2_right_sum = Lp_2_right_sum + Lp_2_right;
end
end
Lp_2_sum = Lp_2_sum + Lp_2_right_sum;
end
fp = fp_1_sum - lambda * P_sum;
Lp = Lp_1_sum + Lp_2_sum;
maximize (fp - Lp)
subject to
sum(p) <= Pmax
for pks = 1:K
p_qos_3_sum = 0;
for pjs = 1:K
if pjs ~= pks
p_qos_3 = abs( H_sum * w(:,pjs) )^2 * p(pjs);
p_qos_3_sum = p_qos_3_sum + p_qos_3;
end
end
p(pks) * abs( H_sum * w(:,pks) )^2 + ( 1 - 2^(Rmin) ) * ( p_qos_3_sum + noise ) >= 0
end
cvx_end
Error using + (line 83)
Disciplined convex programming error:
Illegal operation: {concave} - {complex affine}
Error in - (line 21)
z = plus( x, y, true, cheat );
Error in P_Optimize (line 163)
maximize (fp - Lp)
I do not have any idea to resolve the issue…
could you help me if you find some bugs? thanks