
1、最近有大量小伙伴在问关于通信领域里面CVX的代码编写问题因此计划新开系列文章讲解无线通信优化问题中关于MATLAB CVX工具的使用。2、计划前期先写经典的简单通信问题的CVX求解以打实基础后期再针对目前热门的通信方向如RISNOMAUAVISAC等方向的复杂非凸问题的近似迭代后的CVX求解。3、本文为第【三】期讲解MU-MIMO系统简单的功率分配问题的SDR高斯随机化。博主往期所写热门文章cvx安装无线通信中的优化问题matlab中cvx的使用心得文章目录1. 引言2 理论基础2.1 信号模型2.2 功率最小化问题3. 半正定松弛3.1 松弛问题3.2 最优性分析3.3 高斯随机化流程3.4 CVX代码4 总结1. 引言多天线技术是第五代及未来移动通信系统的关键组成部分。在下行多用户场景中基站利用多根天线同时服务多个单天线用户通过空间复用显著提升频谱效率。然而用户间干扰成为限制性能的主要因素线性波束成形作为一种低复杂度方案被广泛研究。设计波束成形向量以最小化总发射功率同时满足每个用户的服务质量QoS需求如SINR门限是一个经典的优化问题。该问题在波束成形向量空间中是非凸的但其等价形式——发射协方差矩阵优化——可转化为凸半定规划问题其核心思想是将秩一约束松弛为半正定约束。该方法在文献中被称为SDR松弛已被证明在多数情况下能够给出最优的秩一解或者在秩大于一时提供功率下界。本文基于此框架建立完整的系统模型推导SDP松弛形式并通过蒙特卡洛仿真分析随机信道下的功率性能。2 理论基础2.1 信号模型2.2 功率最小化问题3. 半正定松弛半正定松弛理论基础Zhi-quan Luo 老师的经典著作 《Semidefinite Relaxation of Quadratic Optimization Problems》3.1 松弛问题松弛掉秩一约束仅保留半正定约束得到松弛问题需要注意的是3.2 最优性分析3.3 高斯随机化流程3.4 CVX代码完整代码clear;clc;close all;%系统参数K4;%用户数 M4;%基站天线数 sigma20.025^2;%噪声功率 num_realizations20;%每个 gamma 下的信道样本数 L200;%随机化采样次数 gamma_vec0.5:0.5:3;avg_power_sdpzeros(size(gamma_vec));avg_power_randzeros(size(gamma_vec));fprintf(开始扫描不同 gamma 值 (SDP 随机化)...\n);forg_idx1:length(gamma_vec)gammagamma_vec(g_idx);power_sum_sdp0;power_sum_rand0;valid_count0;forz1:num_realizations%-----生成信道-----H_chrandn(K,M);Hzeros(M,M,K);fori1:K h_iH_ch(i,:);H(:,:,i)h_i*h_i;end%-----SDP 松弛求解下界-----cvx_begin quiet variableX(M,M,K)complex variables(K,1)nonnegative obj0;fori1:K objobjreal(trace(X(:,:,i)));endminimize(obj)subject tofori1:K sigreal(trace(H(:,:,i)*X(:,:,i)));cstr0;forj1:Kifj~i cstrcstrreal(trace(H(:,:,i)*X(:,:,j)));end end sig-gamma*cstr-s(i)gamma*sigma2;X(:,:,i)hermitian_semidefinite(M);end cvx_endif~strcmp(cvx_status,Solved)continue;end%-----高斯随机化构造上界-----best_rand_powerinf;forl1:L W_randzeros(M,K);fori1:K XiX(:,:,i);[V,D]eig(0.5*(XiXi));Dmax(real(D),0);Xi_sqrtV*sqrt(D)*V;rXi_sqrt*(randn(M,1)1i*randn(M,1))/sqrt(2);W_rand(:,i)r;end%正确计算每个用户的SINR SINRszeros(K,1);fori1:K w_iW_rand(:,i);%信号功率 sigreal(w_i*H(:,:,i)*w_i);%干扰功率来自其他用户int0;forj1:Kifj~i w_jW_rand(:,j);intintreal(w_j*H(:,:,i)*w_j);end endSINRs(i)sig/(intsigma2);end%检查是否所有用户满足SINRgammaifall(SINRsgamma-1e-6)total_powersum(sum(abs(W_rand).^2,1));iftotal_powerbest_rand_power best_rand_powertotal_power;end end endifisinf(best_rand_power)continue;end power_sum_sdppower_sum_sdpobj;power_sum_randpower_sum_randbest_rand_power;valid_countvalid_count1;endifvalid_count0avg_power_sdp(g_idx)power_sum_sdp/valid_count;avg_power_rand(g_idx)power_sum_rand/valid_count;fprintf(γ%.2f:有效样本%d,SDP下界%.4f,随机化上界%.4f\n,...gamma,valid_count,avg_power_sdp(g_idx),avg_power_rand(g_idx));elseavg_power_sdp(g_idx)NaN;avg_power_rand(g_idx)NaN;fprintf(γ %.2f: 无可行样本\n,gamma);end end%绘图figure;plot(gamma_vec,avg_power_sdp,b-o,LineWidth,2,DisplayName,SDP 下界 (松弛));hold on;plot(gamma_vec,avg_power_rand,r-s,LineWidth,2,DisplayName,随机化上界 (可行解));hold off;xlabel(SINR 门限 \gamma (线性值));ylabel(平均最小发射功率);title([M,num2str(M),, K,num2str(K),..., 每个γ下信道数,num2str(num_realizations),, 随机化次数,num2str(L)]);legend(Location,best);grid on;可以看到SDR 松弛为功率最小化问题提供了可靠的下界其紧性在低 SINR 时表现优异在高 SINR 时虽有下降但仍可作为性能基准高斯随机化能够以较高概率从 SDR 松弛解中构造出满足原始 SINR 约束的可行波束成形向量且所得平均功率上界与 SDR 下界之间的相对间隙在低 γ 时趋近于零。4 总结本文系统介绍了 MU-MIMO 下行链路中基于 QoS 约束的功率最小化波束成形问题。通过将原始非凸的秩一约束问题松弛为半正定规划SDP并利用 CVX 求解器获得最优协方差矩阵。针对松弛解可能秩大于一的情况进一步采用高斯随机化技术从 SDP 解中恢复出可行的波束成形向量从而为原始问题提供一个紧致的上界。仿真结果表明SDR 松弛在低 SINR 门限下能提供接近最优的下界而高斯随机化构造的可行解功率与下界间隙很小验证了 SDR随机化框架在该类问题中的有效性与实用性。关注博客vx公众号获取完整通信问题仿真代码