第【54期】--基于强化学习的NOMA通信系统资源动态调度算法研究--matlab完整代码

📅 2026/7/5 2:11:05
第【54期】--基于强化学习的NOMA通信系统资源动态调度算法研究--matlab完整代码
关注我追更更多通信仿真文章目录摘要1 研究背景和意义1.1 背景1.2 意义2 系统模型2.1 发射信号模型2.1.1 网络拓扑2.1.2 功率域NOMA2.2 无线信道模型2.2.1 路径损耗2.2.2 阴影衰落2.2.3 小尺度衰落2.2.4 复合信道增益2.3 接收信号2.3.1 NOMA叠加接收信号2.3.2 串行干扰消除SIC下的SINR推导2.3.2 无SIC场景下的SINR退化形式2.3.4 单包传输成功判据2.4 WRB数量的内在约束与权衡2.5.系统级性能指标2.5.1传输时隙数T2.5.2 丢包数N l o s t {N_{lost}}Nlost​2.5.3 统计平均指标2.6 资源调度优化问题建模2.6.1 决策变量与策略空间2.6.2 优化问题形式化描述3 基于Q-learning的资源调度算法设计3.1 马尔可夫决策过程建模3.2 Q值迭代与更新规则3.3 动作选择策略ε-贪婪3.4 算法流程4 仿真结果分析4.1 参数设置4.2 对比方案4.3 仿真图分析4.3.1 奖励的收敛性4.3.2 平均完成时隙和丢包率4.3.3 WRB的使用个数5 总结摘要随着第五代移动通信5G及未来物联网的快速发展海量设备接入与多样化业务需求对无线频谱效率和资源管理能力提出了严峻挑战。非正交多址接入Non-Orthogonal Multiple Access, NOMA通过功率域复用允许多个用户在相同资源块上并发传输显著提升了频谱利用率但接收端需依赖串行干扰消除Successive Interference Cancellation, SIC实现用户分离其性能对调度策略高度敏感。本文针对上行NOMA系统提出一种基于Q-Learning的动态无线资源块Wireless Resource Block, WRB数量调度算法。首先建立包含路径损耗、阴影衰落与瑞利衰落的广义信道模型推导SIC与非SIC两种模式下的信干噪比SINR闭式表达其次将WRB数量选择建模为马尔可夫决策过程MDP设计兼顾传输效率与资源成本的奖励函数采用Q-Learning实现无模型动态决策最后通过蒙特卡洛仿真对比固定调度与所提算法的性能。结果验证了强化学习在NOMA资源管理中的有效性。1 研究背景和意义1.1 背景移动通信技术历经五代演进从模拟语音到超高速数据不断刷新着人类连接世界的方式。随着5G商用部署的全面推进和6G研究的启动无线通信系统面临着前所未有的挑战一方面海量物联网Massive IoT设备接入要求网络具备超大规模连接能力另一方面增强移动宽带eMBB、超可靠低时延通信URLLC等多样化业务对频谱效率和传输可靠性提出了苛刻要求。传统正交多址接入Orthogonal Multiple Access, OMA技术通过将时域、频域或码域资源正交分割后分配给不同用户从根本上避免了多用户干扰。然而这种“正交性”的代价是频谱资源利用率的固有上限——当用户数量激增时正交资源的维度成为制约系统容量的瓶颈。非正交多址接入NOMA技术应运而生其核心思想是在发射端允许多个用户信号在相同资源块上功率域叠加在接收端利用串行干扰消除SIC按功率强弱依次解码从而突破正交资源的维度限制显著提升频谱效率[1]。NOMA已被3GPP认定为5G候选技术之一并在3GPP Release 16中正式纳入标准框架。然而NOMA的性能增益并非无条件获得。SIC接收机的有效性高度依赖复用用户间的功率差异和信道条件不恰当的调度策略可能导致干扰失控SINR急剧恶化反而劣于传统OMA方案。因此如何动态调整每个时隙的复用用户数和资源块数在传输效率与干扰抑制之间寻求最优权衡成为NOMA系统资源管理的核心问题。近年来强化学习Reinforcement Learning, RL凭借无模型、自适应的优势在无线资源管理领域得到广泛关注。1.2 意义本文聚焦于上行NOMA系统中无线资源块WRB数量的动态调度问题给出基于Q-Learning的调度算法设计。2 系统模型2.1 发射信号模型2.1.1 网络拓扑2.1.2 功率域NOMA2.2 无线信道模型2.2.1 路径损耗2.2.2 阴影衰落2.2.3 小尺度衰落2.2.4 复合信道增益2.3 接收信号2.3.1 NOMA叠加接收信号2.3.2 串行干扰消除SIC下的SINR推导2.3.2 无SIC场景下的SINR退化形式2.3.4 单包传输成功判据2.4 WRB数量的内在约束与权衡WRB之间虽正交无干扰但从通信理论角度其数量nw的取值受约束限制并非越大越好总功率预算约束WRB数量越大每个WRB内各数据包的分配功率均按比例降低SINR会降低。复用用户数稀释与SIC增益退化换言之从通信理论角度看增加 WRB 数量虽然降低了单 WRB 的复用度从而减少了干扰源但过度增加会稀释每个 WRB 内的用户数导致 SIC 增益退化。这一约束与前述的功率稀释效应共同作用使得系统性能随 nw的变化呈现非单调性而非简单地越大越好。2.5.系统级性能指标2.5.1传输时隙数T2.5.2 丢包数N l o s t {N_{lost}}Nlost​​2.5.3 统计平均指标由于信道衰落、节点位置和数据包分布的随机性采用蒙特卡洛统计方法进行性能评估。2.6 资源调度优化问题建模2.6.1 决策变量与策略空间2.6.2 优化问题形式化描述本文想设计一种调度策略在每个时隙根据当前剩余包数和当前 WRB 使用数决定下一时隙应该增加、保持还是减少 WRB使得完成全部数据包传输的总时隙和丢包率在统计意义上最小化。上述特性使得传统优化方法如穷举、动态规划、凸优化难以在线求解故需引入无模型强化学习算法进行逼近在“传输效率”与“干扰抑制”之间实现权衡。3 基于Q-learning的资源调度算法设计3.1 马尔可夫决策过程建模将资源调度问题重构为马尔可夫决策过程Markov Decision Process, MDP以规避传统优化方法对精确系统模型的依赖。具体定义如下3.2 Q值迭代与更新规则3.3 动作选择策略ε-贪婪3.4 算法流程4 仿真结果分析4.1 参数设置参数类别参数名称符号取值网络拓扑节点数N n N_nNn​10区域大小L × L L \times LL×L100 m × 100 m物理层发射功率P x P_xPx​1 W噪声功率N 0 N_0N0​10 − 5 10^{-5}10−5W路径损耗指数α \alphaα2.5阴影衰落标准差σ s \sigma_sσs​2 dB瑞利衰落参数σ f \sigma_fσf​4SINR 阈值β \betaβ5 × 10 − 8 5 \times 10^{-8}5×10−8资源调度最大 WRB 数N w N_wNw​5每 WRB 最大复用包数N max ⁡ N_{\max}Nmax​5数据包数量集合N p N_pNp​{10, 20, 30, 40, 50}蒙特卡洛运行次数N run N_{\text{run}}Nrun​2000最大允许时隙数T max ⁡ T_{\max}Tmax​⌊ N p / 3 ⌋ \lfloor N_p / 3 \rfloor⌊Np​/3⌋Q-Learning训练 episode 数E max ⁡ E_{\max}Emax​1000学习率α \alphaα0.8折扣因子γ \gammaγ0.2资源成本因子δ \deltaδ0.9衰减陡峭度κ \kappaκ10衰减中点位置e 0 e_0e0​E max ⁡ / 1.8 E_{\max} / 1.8Emax​/1.84.2 对比方案为评估Q-Learning动态调度算法的性能增益引入以下四类方案进行对比固定单WRB调度无SIC每个时隙固定使用1个WRB接收端不采用SICSINR按式 (2.11) 计算。该方案代表传统正交多址系统提供性能下界参考。固定单WRB调度有SIC每个时隙固定使用1个WRB接收端采用SICSINR按式 (2.10) 计算。该方案代表NOMA系统的基础性能但缺乏对负载变化的自适应能力。Q-Learning动态调度无SICQ-Learning智能体动态调整WRB数量但接收端不采用SIC用于评估强化学习在纯干扰场景下的调度增益。所有方案均使用完全相同的随机种子生成节点位置与数据包分布确保对比公平性。对于Q-Learning方案训练与评估使用相同的信道统计分布但每次独立运行重新生成信道实现评估其泛化性能。4.3 仿真图分析4.3.1 奖励的收敛性可以看到不同包数量奖励函数的收敛性。4.3.2 平均完成时隙和丢包率可以看到所提方案相对于基准算法的优势4.3.3 WRB的使用个数部分代码%设置全局中文字体防止乱码set(0,DefaultAxesFontName,SimHei);set(0,DefaultTextFontName,SimHei);set(0,DefaultLegendFontName,SimHei);clear;clc;close all;%%参数初始化 paramsinitParams();%%结果存储矩阵 T_SICzeros(params.Nrun,length(params.Np));%固定调度SIC 时隙数 T_no_SICzeros(params.Nrun,length(params.Np));%固定调度无SIC 时隙数 T_QL_SICzeros(params.Nrun,length(params.Np));%QLSIC 时隙数 T_QL_noSICzeros(params.Nrun,length(params.Np));%QL无SIC 时隙数%丢包数存储 LostPackets_noSICzeros(params.Nrun,length(params.Np));LostPackets_SICzeros(params.Nrun,length(params.Np));LostPackets_QL_SICzeros(params.Nrun,length(params.Np));LostPackets_QL_noSICzeros(params.Nrun,length(params.Np));%用户位置图并保存位置 userPositionsplotUserDistribution(params);%Q-Learning 过程记录奖励、时隙、WRB使用 rewardszeros(params.Nep,length(params.Np),params.Nrun);t_episodesQLzeros(params.Nep,length(params.Np),params.Nrun);nw_usedQLzeros(params.Nep,length(params.Np),params.Nrun);%%主循环遍历不同的数据包数量 NpfornpIndex1:length(params.Np)fprintf(开始仿真 Np %d\n,params.Np(npIndex));%生成数据包分布源-目的节点对 PinitializePacketDistribution(params,npIndex);channelGainscalculateGains(userPositions,params);SNR0zeros(1,params.Np(npIndex));fori1:params.Np(npIndex)SNR0(i)(params.Px*channelGains(P(i,1),P(i,2))^2)/params.N0;end beta0.5*min(SNR0);params.betabeta;%%对每个 Np 进行多次独立运行蒙特卡洛forrun1:params.Nrunfprintf( 第 %d 次运行 (Np%d)\n,run,params.Np(npIndex));%----1.固定调度无 SIC----[t_noSIC,lost_noSIC]runResourceAssignment(params,P,userPositions,false);T_no_SIC(run,npIndex)t_noSIC;LostPackets_noSIC(run,npIndex)lost_noSIC;%----2.固定调度有 SIC----[t_SIC,lost_SIC]runResourceAssignment(params,P,userPositions,true);T_SIC(run,npIndex)t_SIC;LostPackets_SIC(run,npIndex)lost_SIC;%----3.Q-Learning 动态调度有 SIC----[Q_SIC,t_QL_SIC_run,lost_QL_SIC_run,episode_rewards,t_episodes,nw_episodes]...runResourceAssignmentWithQL(params,P,userPositions,true);T_QL_SIC(run,npIndex)t_QL_SIC_run;LostPackets_QL_SIC(run,npIndex)lost_QL_SIC_run;rewards(:,npIndex,run)episode_rewards;t_episodesQL(:,npIndex,run)t_episodes;nw_usedQL(:,npIndex,run)nw_episodes;%----4.Q-Learning 动态调度无 SIC----[Q_noSIC,t_QL_noSIC_run,lost_QL_noSIC_run,~,~,~]...runResourceAssignmentWithQL(params,P,userPositions,false);T_QL_noSIC(run,npIndex)t_QL_noSIC_run;LostPackets_QL_noSIC(run,npIndex)lost_QL_noSIC_run;end end%%计算平均性能%平均时隙数 avgSlots_noSICmean(T_no_SIC,1);avgSlots_SICmean(T_SIC,1);avgSlots_QL_SICmean(T_QL_SIC,1);avgSlots_QL_noSICmean(T_QL_noSIC,1);%平均丢包率百分比 percLost_noSICmean(LostPackets_noSIC./repmat(params.Np,params.Nrun,1)*100,1);percLost_SICmean(LostPackets_SIC./repmat(params.Np,params.Nrun,1)*100,1);percLost_QL_SICmean(LostPackets_QL_SIC./repmat(params.Np,params.Nrun,1)*100,1);percLost_QL_noSICmean(LostPackets_QL_noSIC./repmat(params.Np,params.Nrun,1)*100,1);5 总结本文针对上行NOMA系统中无线资源块WRB数量的动态调度问题提出了一种基于Q-Learning的强化学习解决方案。通过建立包含复合信道模型和SIC接收机的系统模型将WRB调度问题形式化为马尔可夫决策过程并设计了兼顾传输效率与资源成本的奖励函数。仿真结果验证了强化学习在NOMA资源管理中的有效性与自适应性。未来工作可考虑更复杂的信道模型、多智能体协作以及在线学习机制以进一步提升算法在动态环境中的鲁棒性。仿真代码可见文末VX公众号包含往期博客所有代码所见即所得