Nt = 9;
Nr = 9;
K = 4;
L = 20;
power = 10^(0/10);
fc = 10;
B = 10;
Tp = 2;
rou = 0.3;
H = (randn(Nt,K)+j*randn(Nt,K))/sqrt(2);
N_pbits = 2*K*L;
msg_bits = randi([0,1],1,N_pbits);
QPSK_table = [1+j -1+j 1-j -1-j]/sqrt(2);
for ii=1:length(msg_bits)/2
temp=2*msg_bits(ii*2-1)+msg_bits(ii*2);
QPSK_symbols(ii)=QPSK_table(temp+1);
end
Y = reshape(QPSK_symbols,[K,L]);%产生星座符号矩阵
u = B/Tp;
fs = B;
sp_num = fs*Tp;
t = linspace(0,Tp,sp_num);
for ii = 1:Nt
X0(ii,:) = exp(j*2*pi*10*ii*fc*(t-1)).*exp(j*pi*u*(t-1).^2);
end
p1 = sqrt(rou);%根号rou
p2 = sqrt(1-rou);
at = [1;exp(-j*pi/2);exp(-j*pi);exp(-j*pi*3/2);exp(-j*pi*2);exp(-j*pi*5/2);exp(-j*pi*3);exp(-j*pi*7/2);exp(-j*pi*4)]';
ar = [0,-j*pi*at(2)*sqrt(3)/2,-j*pi*at(3)*sqrt(3),-j*pi*at(4)*3/2*sqrt(3),-j*pi*at(5)*2*sqrt(3),-j*pi*at(6)*5/2*sqrt(3),-j*pi*at(7)*3*sqrt(3),-j*pi*at(8)*7/2*sqrt(3),-j*pi*at(9)*4*sqrt(3)].';
s = j*sqrt((1-rou)*1/3);
aj = ar*at;
B = [p1*H,s*aj].';%eye函数表示对角元素为1,其余全为零的N*N矩阵;.'表示一般转置
C = [p1*sqrt(power)*Y;zeros(Nr,L)];%根号power*Y=S的转置,X_arbi等于参考波形X0的转置
A1 = diag([ones(1,Nt*L),1]);
A3 = zeros(Nt*L+1,Nt*L+1);
A3(1,1)=1;
temp1 = kron(eye(L),B);
F = [temp1'*temp1,-temp1'*vec(C);-vec(C)'*temp1,vec(C)'*vec(C)];
cvx_begin sdp
variable M(Nt*L+1,Nt*L+1) hermitian
minimize(real(trace(F*M)));
subject to
norm(diag(M),inf)<=power/Nt;
trace(A1*M) == L*power+1;
M == hermitian_semidefinite(Nt*L+1);
cvx_end
[V,D] = eig(M);
[value,num] = max(diag(D));
x = sqrt(value)*V(:,num);
X = reshape(x(1:Nt*L),Nt,L);
In my code ,I run the cvx with norm(diag(M),inf)<=power/Nt;
.the problem can be solved.And I run the cvx with trace(A1*M) == L*power+1;
the problem can also be solved.but when I use the to constraints in the cvx. the problem becomes infeasible.I don’t know how to deal with it.