HI! following is the code i have writted for coordinated beamforming using instantaneous channel state information. The code is giving me an error in the matrix constratints ,possibly concatenation.
I would really appreciate if you guys can identify the error as I am stuck and cannot debug my code,
Thank you in advance
clc;
close all;
clear all;
N=3;%number of cells
K=1;%number of user in each cell
U=3;%total number of users
M=6;%number of antenna per cell
W=zeros((N*M),K);
H=zeros(N,(N*M));
I=eye(N,N);
O=zeros(N,N);
P=zeros(N,(N*K));
L=zeros(1,K);
gamma=10;
a=sqrt(1+(1/gamma));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:K;
w_i=randn((N*M),1);
disp('&&&&&&&&&&&&&&&')
disp (w_i);
W(:,i)=W(:,i)+w_i;
end;
disp(W);
%filter specifications
for i=1:K;
for q=1:N
h_q= randn(1,M);
disp(h_q);
if q>1
H=blkdiag(H,h_q);
else
H=h_q;
end;
end;
disp(H);
if i==1
Hp=H;
elseif i>1
Hp=vertcat(Hp,H);
end;
L(i)=N;
end;
disp(Hp);
C=mat2cell(P,N,[L]);
for i=1:K
C{1,i}=I;
P=cell2mat(C);
disp(P);
C{1,i}=O;
e_i=zeros((N*M),1);
e_i(i)=1;
disp(e_i);
end;
for p=1:N
e_p=zeros(N,1);
e_p(p)=1;
disp(e_p);
end;
%%%%%%%%%%%%%%%%%%%problemmm%%%%%%%%%%%%%%%%%%%%
cvx_begin sdp
cvx_solver sedumi
variable x
variable W
l=[(vec(P*Hp*W))' 10];
m=[ vec(P*Hp*W) ; 10];
minimize(x)
Y =[ a*(e_p)'*P*(Hp)*W*e_i l ;......
m (a*(e_p)'*P*(Hp)*W*e_i)*I]>=0;
D=[ x (vec(W))'...
vec(W) x*I] >=0;
1<=p<=N;
1<=i<=K;
cvx_end;
disp(x);