Sir, the described below are convex optimization problem which are relaxed using sdp. It can be solved by cvx or not . plz check it.
Sir, please check this code and tell me my fault…
$$\mathop{\min}{\hat{{ X}}}{ P}{{\rm tot}}(\hat{{ X}}):{\rm SINR}{{\rm i}}(\hat{{ X}})\geq\alpha{i},\ \ \ i=1,2, \ldots, M;\hat{{ X}}\succeq 0.$$
where,$${ P}{{\rm tot}}(\hat{{ X}}) :=\langle { A}\hat{{ X}}{ A}^{H}[(\sigma{s}^{2}{ HH}^{H}+\sigma_{{\rm re}}^{2}{ I}{N})^{T}\otimes { I}{N}]\rangle$$
and
$$\hat{{ X}}={\rm v}\tilde{{\rm e}}{\rm c}^{H}({ X}){\rm v}\tilde{{\rm e}}{\rm c}({ X})\in {\cal C}^{(RN_{R}^{2})\times(RN_{R}^{2})}.$$
and X is a N*N matrix.
Will u plz tell that how \hat{{ X}} can be used in cvx to solve the problem. Plz pay your kind attention towards this problem.
I am attaching the code … plz verify it.
clc;
clear all;
close all;
M=3;
N=5;
R=1;
n_r=N/R; %since N=R*n_r
sig=10^(20/10) ; %varisnce of signal
s_r=10^(0/10) ; %variance of received signal
iden=eye(N); %identity function of n*n matrix
sigde=10^(0/10);
SINR_db=1:10;
for r=1:R
J_r=[zeros((r-1)*n_r,n_r);eye(n_r);zeros((R-r)*n_r,n_r)];
H(:,:,r)=J_r;
end
J_r1=H(:,:,1);
%J_r2=H(:,:,2);
for r=1:R
A=kron(eye(n_r),J_r);
%B(:,:,r)=G
end
for i=1:M
h_temp=(randn(1,N) + sqrt(-1) * randn(1,N)) / sqrt(2);
k(:,:,i)=transpose(h_temp);
Hup(:,i)=k(:,:,i);
end
k1=k(:,:,1);
k2=k(:,:,2);
k3=k(:,:,3);
%Hup=[k1,k2,k3];
Htrans=conj(transpose(Hup));
%n=k1*conj(transpose(k1));
product=A*conj(transpose(A))*(kron(transpose((sig*Hup*Htrans)+s_r*iden),iden));
ptot=real(trace(product));
%yalmip program for SINR of equation 12
for i=1:M
l_temp=(randn(1,N) + sqrt(-1) * randn(1,N)) / sqrt(2);
l(:,:,i)=conj(transpose(l_temp));
Ldown(:,i)=l(:,:,i);
end
l1=l(:,:,1);
l2=l(:,:,2);
l3=l(:,:,3);
%Ldown=[l1,l2,l3];
for i=1:M
hi=k(:,:,i);
hi_h=conj(transpose(hi));
li=conj(l(:,:,i));
li_h=conj(transpose(li));
num{i}=sig*(A*conj(transpose(A)*(kron(transpose(hi*hi_h),(li*li_h)))));
for j=1:M
hsum(i)=hi(j)*hi_h(j);
if j==i
hsum(i)=hsum(i) - hi(j)*hi_h(j);
end
end
den{i}=(A*conj(transpose(A))*kron(transpose(sig*hsum(i) + (s_r*iden)),(li*li_h)));
%sinri(i)=num(i)/den(i);
%S=10*log10(sinri(i));
%sdisplay(sinri(i));
end
thdb=1:10;
th=10.^(thdb/10);
for l=1:length(thdb)
for i=1:M
DF{i}=num{i}-th(l)*den{i};
end
cvx_begin sdp
variable Y(N^2,N^2) symmetric
minimize(trace(real(product*Y)))
subject to
for i=1:M
trace(DF{i}*Y)>=th(l)*sigde;
end
%Y>=0;
norm(Y,Inf) <= 1;
Y==semidefinite(N^2);
cvx_end
Q=cvx_optval;
opt_power(l) = Q;
end
plot(thdb,opt_power,'-*m')
Sir, plz verify my code, I m not getting any solution of this…