when I try the following program,I came across with the following problems
cvx_begin
variable w_x(n,1) complex;
aaa=w_x'*Rx*w_x;
minimize(aaa+norm(w_x'*a_x,1));
subject to
w_x'*steer==1;
cvx_end
cvx_status
Error using ==> cvx.mtimes at 258
Disciplined convex programming error:
Invalid quadratic form: product is complex.
Error in ==> Capon_beamforming at 37
aaa=max(abs(w_x’Rx w_x));
I am new to cvx,please help me out!!!
Considering that you are dealing with a beamforming problem, maybe you are interested in minimize “abs(aaa)” or “norm(aaa)” instead of the complex value directly.
If R_x is hermitian, how to deal with it? THX
mcg
(Michael C. Grant)
April 10, 2016, 3:09am
5
In that case, w_x'*Rx*w_x
is supposed to be real, but it won’t be due to floating-point roundoff error. So just replace it with real(w_x'*Rx*w_x)
.
1 Like
Hi all, did you get the solution following the Michael’s answer ? I got the same error but when I tried with Real, it doesn’t work.