LTE上行链路比例公平调度算法仿真平台
本仿真平台旨在评估LTE上行链路场景下,传统蜂窝用户(CUE)与点到点(D2D)通信用户在复用模式(Underlay)下的资源调度表现。通过实现比例公平(PF)调度算法,系统能够在最大化吞吐量与保障用户公平性之间取得平衡。
功能特性
- 动态用户部署:支持在给定小区半径内随机分布蜂窝用户,并根据距离约束部署D2D用户对。
- 多层次信道建模:系统综合考虑了路径损耗(Log-distance模型)、阴影衰落(对数正态分布)以及快衰落(瑞利分配),模拟真实的无线预测环境。
- 比例公平(PF)调度核心:实现了基于瞬时速率与历史平均吞吐量之比的调度逻辑,有效防止边缘用户饥饿。
- D2D资源复用策略:D2D用户以Underlay模式复用CUE的上行资源块(RB),通过干扰感知逻辑选择最优复用路径。
- 性能评估指标:提供系统总吞吐量、用户平均吞吐量、Jain公平性指数以及基于SNR的丢包率(PLR)等多维度数据分析。
- 可视化分析:自动生成资源分配热力图及各项性能随D2D用户规模变化的演化曲线。
系统要求
- 软件环境:MATLAB R2018b 或更高版本。
- 硬件要求:基础版MATLAB即可运行,无需额外工具箱。
使用方法
- 设置仿真参数:在代码起始部分的参数设置区,可以根据需要调整用户数量(numCUE)、D2D对数范围(numDUE_range)、资源块数量(numRBs)以及仿真时长(numTTI)。
- 运行仿真:点击运行脚本,系统将依次遍历不同规模的D2D用户场景。
- 数据观察:仿真结束后,系统将自动弹出5个分面图表,展示吞吐量、公平性、丢包率以及详细的资源分配时间-频率热图。
实现逻辑
本系统的核心逻辑在主程序中通过嵌套循环结构实现:
- 环境初始化:建立以基站为中心的小区模型,为CUE和D2D对生成地理坐标。D2D用户对由发射机(DT)和接收机(DR)组成,其间距限制在设定范围内。
- D2D规模迭代循环:程序在外层循环改变D2D用户的数量,以此分析用户密度对蜂窝系统的干扰影响。
- 传输间隔(TTI)循环:在每个TTI内,系统执行以下操作:
* 信道状态更新:根据用户当前的地理位置和快衰落模型,计算所有干扰链路和信号链路的信道增益。
* CUE调度决策:对于每一个资源块(RB),系统筛选出PF优先级(瞬时速率/平均吞吐量)最高的蜂窝用户。
* D2D复用决策:每个D2D对遍历所有RB,计算在复用该RB资源且考虑互干扰情况下的PF优先级,选择最优RB执行Underlay通信。
* 吞吐量计算与更新:计算受干扰后的实际SINR,得出瞬时速率,并利用滑动平均窗函数(1/W)对用户的长时平均吞吐量进行迭代更新。
- 统计汇总:在所有TTI结束后,计算当前场景下的总吞吐量均值和Jain公平性指数。
关键函数与算法细节分析
- 比例公平(PF)算法实现:
算法通过 P = R(t) / T(t) 计算优先级,其中 R(t) 是当前RB上的可达速率,T(t) 是通过滑动平均维护的历史吞吐量。该机制确保了当用户信道条件好时通过 R(t) 获得调度,而当用户长期未被调度导致 T(t) 下降时,其调度权重会相应提升。
- 干扰受限的复用逻辑:
在D2D资源分配中,程序同时考虑了两路干扰:CUE对D2D接收机的干扰(C2DR)以及D2D发射机对基站接收CUE信号的干扰(D2B)。只有当SINR满足香农公式计算出的速率足以优化PF权重时,RB才会被选定复用。
- 路径损耗模型:
采用简化版对数路径损耗模型,基准损耗设为128.1 dB,随距离的对数以3.76为因子增加,并叠加高斯随机过程作为阴影衰落。
- 丢包率分析模块:
系统集成了一个简化的物理层映射模型。它基于QPSK调制下的误码率(BER)计算公式,通过 complementary error function (erfc) 将接收端SNR映射为BER,进而推导出在100比特数据包长度下的丢包率(PLR)。
- Jain公平性指数:
利用公式 (sum(x)^2) / (n * sum(x^2)) 计算。该指数越接近1,表示系统在不同用户(包括蜂窝和D2D用户)之间的资源分配越均衡。
- 资源分配热力图:
通过 imagesc 函数实时记录并展示了25个资源块在100个TTI内的用户占用情况,不同颜色代表不同的CUE索引,直观展示了PF调度器在时频域上的跳变特性。