The constraint needs to be corrected by variable M to be used for the problem change

 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);
Y = reshape(QPSK_mapper_replace(msg_bits),[K,L]);%产生星座符号矩阵
X0 = chirp_generator( Nt,fc,Tp,B );
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),0]);
temp1 = kron(eye(L),B);
temp2 = kron(eye(L),eye(Nt));
F = [temp1'*temp1,-temp1'*vec(C);-vec(C)'*temp1,vec(C)'*vec(C)]; 
W = [temp2'*temp2,-temp2'*vec(X0);-vec(X0)'*temp2,vec(X0)'*vec(X0)]; 
cvx_begin sdp 
    variable M(Nt*L+1,Nt*L+1) hermitian
    M(Nt*L+1,Nt*L+1)==1;
    minimize(real(trace(F*M)))
    subject to
        trace(A1*M) == L*power;
        trace(W*M) <=1;
    M == hermitian_semidefinite(Nt*L+1);
cvx_end

My question is why the solution status of CVX shows unsolvable and what went wrong during CVX solving.

I suggest you post full log output. I doubt many people here have QPSK_mapper_replace or chirp_generator.

The problem with the program has nothing to do with QPSK_mapper_replacechirp_generator, I just added M (NtL+1, Nt*L+1) ==1 to the original correct problem;

@Michal_Adamaszek 's point is that forum readers can’t run your program because they can’t generate the input data. Therefore readers have to see the solver and CVX output in order to provide help. You should post that in any event. If you can include all the input data in the program and eliminate the need for readers to have those functions, then they’d also be able to run it themselves.

One obvious thing you can do is try a different solver. if you have Mosek available, try that.