%% CVX function to perform BS-SDR detection of MIMO
function [q, Y]=BCSDR4q(y,H,Nt,Nr,M); Q=[H'*H -H'*y;-y'*H 0]; q=0.5*(log2(M)); % M is expected to be 4^q u=(2^q-1)^2; cvx_begin variable X(2*Nt+1,2*Nt+1) symmetric minimize (trace(Q*X)); subject to X(2*Nt+1,2*Nt+1)=1; diag(X(1:2*Nt,1:2*Nt))>=ones(2*Nt,1); diag(X(1:2*Nt,1:2*Nt))<=u*ones(2*Nt,1); X==semidefinite(2*Nt+1); cvx_end Y=X; q=Q;