CVX. Disciplined convex programming error: Invalid constraint: {complex affine} >= {complex affine}

clc
clear all
N=3; %number of antennas
K=2; %number of users
channel=sqrt(1/2)*(randn(N,K)+1j*randn(N,K));
SINR_constraint_dB=(0:5:40);
N0=1;
for SINR_constraint_dB=0:5:40
    SINR_constraint=10.^(SINR_constraint_dB/10);
    cvx_solver sedumi
    cvx_begin
        for i=1:K
            H(:,:,i)=channel(:,i)*channel(:,i)';
        end
        variable T(N,N,K) hermitian semidefinite
        expression a(K+1);
        a(1)=0;
        for k=1:K
            a(k+1)=a(k)+trace(T(:,:,k));
        end
        minimize a(K+1);
        subject to
            expression b;
            for ii=1:K
                b=trace(H(:,:,ii)*T(:,:,ii));
                expression c(K+1);
                c(1)=0;
                for k=1:K
                    c(k+1)=c(k)+trace(H(:,:,ii)*T(:,:,k));
                end
                b >= SINR_constraint*((c(K+1)-b)+N0);
            end
    cvx_end
end

There is error in this code:
Error using cvxprob/newcnstr (line 192)
Disciplined convex programming error:
Invalid constraint: {complex affine} >= {complex affine}
Error in >= (line 21)
b = newcnstr( evalin( ‘caller’, ‘cvx_problem’, ‘[]’ ), x, y, ‘>=’ );
Error in test1 (line 32)
b >= SINR_constraint*((c(K+1)-b)+N0);

How can I solve this problem?

The RHS of that inequality is complex, even though H(:,:,i) is real, because T is declared hermitian, so is complex.

You haven’t shown us what the value of b is, so I don’t know whether that is also complex.

I don’t know what you want the inequality to be. You can have inequalities for whichever or both of

real(LHS) >= real(RHS)
imag(LHS) >= imag(LHS)

you want.

One or both sides of an equality constraint may be complex; inequality constraints, on the other hand, must be real.