I want to solve this problem
1 次查看(过去 30 天)
显示 更早的评论
The constraints are not convex so cvx is inapplicable. (I tried CVX previously.)
I am thinking of using matlab optimization toolbox. I tried the following codes but they failed.
Nt = 4 ;
M = 64 ;
Gamma_R = 10^(3/10);
Gamma_T = 10^(3/10);
gamma_r = 0 ;
gamma_t = 0 ;
noise_variance_dBm = -70;
noise_variance = 10^(-70/10)*1E-3 ;
h_r =(randn(M,1)+1i*randn(M,1))/sqrt(2);
h_t =(randn(M,1)+1i*randn(M,1))/sqrt(2);
h_d =(randn(Nt,1)+1i*randn(Nt,1))/sqrt(2);
Phi_r =(diag(diag(rand(M,M)+1i*rand(M,M))))/sqrt(2);
Phi_t =(diag(diag(rand(M,M)+1i*rand(M,M))))/sqrt(2);
for n = 1:length(Nt)
N = Nt(n);
G = (randn(M,N)+1i*randn(M,N))/sqrt(2);
end
theta_r = zeros(M,M) ;
theta_t = zeros(M,M) ;
zeta = zeros(M,M) ;
a_r = [h_r'*Phi_r*G+h_d' , h_r'*Phi_r*G+h_d']*[eye(Nt), zeros(Nt,Nt);zeros(Nt,Nt),zeros(Nt,Nt)]; %.*[2*Nt,2*Nt] ;
a_t = [h_r'*Phi_r*G+h_d' , h_r'*Phi_r*G+h_d']*[zeros(Nt,Nt), zeros(Nt,Nt);zeros(Nt,Nt),eye(Nt)]; %.*[2*Nt,2*Nt] ;
b_r = [h_t'*Phi_t*G , h_t'*Phi_t*G ]*[eye(Nt), zeros(Nt,Nt);zeros(Nt,Nt),zeros(Nt,Nt)] ;
b_t = [h_t'*Phi_t*G , h_t'*Phi_t*G ]*[zeros(Nt,Nt), zeros(Nt,Nt);zeros(Nt,Nt),eye(Nt)] ;
%%
Asc = a_r;
bsc = sqrt(Gamma_R)*sqrt(abs(a_t).^2 + noise_variance^2);
dsc = 0;
gamma = 0 ;
conecons(2) = secondordercone(Asc,bsc,dsc,gamma);
Does anyone have ideas how Matlab toolboxes can be used to solve the problem or how the problem can be solved with matlab based libraries?
7 个评论
回答(1 个)
Alan Weiss
2022-7-1
You can use secondordercone by making a new variable m, a linear objective m, and another second-order cone constraint:
Minimize m such that .
You have to be careful when using complex numbers. Optimization toolbox solvers generally don't work well with complex numbers. Please check that you are satisfying the assumptions of the toolbox.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Mathematics and Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!