Skip to content

Commit

Permalink
User cone() to write conic quadratic constraints explicitly
Browse files Browse the repository at this point in the history
  • Loading branch information
tranlenam committed Sep 15, 2023
1 parent 5645ac0 commit 59b2d5e
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion Algorithm1AS.m
Original file line number Diff line number Diff line change
Expand Up @@ -62,21 +62,33 @@
-qadaptive*(mygamma(iUser)-gamma0(iUser))^2;
end

F = [w(:)'*w(:) <= Ptx]; % % sum power constraint
%F = [w(:)'*w(:) <= Ptx]; % % sum power constraint
F = [cone(w(:),sqrt(Ptx))]; % sum power constraint
F = [F,mygamma(:) >=0];
% (10c)
for iUser = 1:nUsers
for jUser = 1:nUsers-1
%{
F = [F,InnerProductApprox(h(:,iUser),w(:,jUser),w0(:,jUser)) ...
>= abs(h(:,iUser)'*w(:,jUser+1))^2];
%}
t = InnerProductApprox(h(:,iUser),w(:,jUser),w0(:,jUser));
F = [F,cone([h(:,iUser)'*w(:,jUser+1);(t-1)/2],...
(t+1)/2)]; % this is equivalent to t >= |h(:,iUser)'*w(:,jUser+1)|^2

end
end
% (11c)
for iUser = 1:nUsers-1
for jUser =iUser:nUsers
interference = h(:,jUser)'*w(:,iUser+1:nUsers);
%{
F = [F,QuadraticOverLinearApprox(h(:,jUser),w(:,iUser),w0(:,iUser),mygamma(iUser),gamma0(iUser))...
>=(effnoisepower+sum(abs(interference).^2))];
%}
t = QuadraticOverLinearApprox(h(:,jUser),w(:,iUser),...
w0(:,iUser),mygamma(iUser),gamma0(iUser));
F = [F,cone([sqrt(effnoisepower);interference(:);(t-1)/2],(t+1)/2)];
end
end

Expand Down

0 comments on commit 59b2d5e

Please sign in to comment.