Trivial infeasibilities detected; solution determined analytically

        variable X1(Nt,Nt) hermitian;  
        variable X2(Nt,Nt) hermitian;
        variable W(48,48) hermitian; 
        expressions Temp1 Temp2 Temp3 Temp4; minimize  real (trace(X1) + trace(X2) + trace(W)- lamad_maxW_op - trace( v_max_op*v_max_op'* (W-V) ))  ;
        subject to
            [X1, (Rx1^(-1)*H_s2r*P2)'; Rx1^(-1)* H_s2r*P2, FM1F + Rx1^(-1)] == hermitian_semidefinite(16);
            [X2, (Rx2^(-1)*H_s1r*P1)'; Rx2^(-1)* H_s1r*P1, FM2F + Rx2^(-1)] == hermitian_semidefinite(16);
            W == hermitian_semidefinite(48);
            real( trace( Temp2 ) )<=4;
            real( trace( Temp3 ) )<=4;
            real( trace( Temp4 ) )<=4;

when Nt=4,the problem can be solved.But when Nt=2:
Trivial infeasibilities detected; solution determined analytically. Status: Infeasible Optimal value

The most likely explanation is you have made mistake. Based on the very limited information you provide that is the best guess.

If you provide data etc. so it is possible to reproduce the issue you may be lucky that someone investigate the issue. Including log information is also very useful. For instance if you use CVX+MOSEK then the MOSEK solution summary provide a lot of useful information.

But it can works sometimes and sometimes not when Nt=2.
What kind of reasons can cause this problem?

This occurs when CVX’s presolve believes it can determine the solution without even calling the solver. For instance, if it sees a constraint that reduces to 1 == 0, it knows the model is infeasible.

This of course depends on the exact numerical values being fed in, so without the data it is not possible to know for sure whether CVX is doing the right thing or making a mistake.