认知无线电中基于干扰图模型的动态频谱分配分析系统
项目介绍
本系统是一个基于MATLAB开发的认知无线电动态频谱资源管理仿真平台。其核心理念是利用图论方法将复杂的无线电干扰关系抽象为“冲突图(Conflict Graph)”模型。在该模型中,无线网络中的次级用户(SU)被定义为图的节点,而用户间的电磁干扰约束则被抽象为节点间的连接边。系统旨在通过科学的频谱指配算法,在避免同频干扰的前提下,最大化频谱资源在该区域内的利用效率和系统整体吞吐量。
功能特性
- 拓扑自动化构建:系统能够自动在指定区域内生成随机分布的次级用户节点,并根据距离门限模型建立精确的干扰邻接矩阵。
- 双算法对比分析:集成了基于节点度的贪婪着色算法(Greedy Coloring)以及基准随机分配算法,用于评估不同调度策略的优劣。
- 多维性能指标评估:系统不仅计算基础的接入成功率,还整合了基于物理层参数的信道容量计算。
- 全方位的可视化输出:提供干扰拓扑图、分配映射矩阵、性能对比直方图等多种视觉表现形式。
系统逻辑实现
程序严格遵循以下逻辑流程进行仿真:
- 参数初始化:预设40个次级用户、6个可用信道以及1000m x 1000m的仿真区域。设定干扰保护距离为250m,作为判定用户间是否存在冲突的物理门限。
- 冲突图构建:
- 随机生成用户坐标。
- 通过遍历计算任意两节点间的欧氏距离。
- 若两节点距离小于干扰门限,则在邻接矩阵中标记为1,代表互为干扰源,不能共享同一信道。
- 频谱分配算法执行:
- 贪婪着色策略:首先计算每个节点的“度”(即干扰邻居的数量),按照降序排列。算法优先处理干扰最严重的节点,为其在可用信道集合中寻找序号最小且不与已分配邻居冲突的信道。
- 随机分配策略:每个用户随机抽取信道,若与邻居发生冲突则分配失败(标记为0),以此作为贪婪算法的对照基准。
- 性能指标计算:
- 频谱利用率:统计成功获得信道分配的用户比例。
- 系统总吞吐量:基于香农定理,结合发射功率、噪声功率(-100dBm)及路径损耗指数(3.5),估算各分配方案下的物理层传输能力。
- 冲突概率:衡量在给定干扰约束下,系统无法容纳的用户比例。
关键算法与技术细节分析
系统将空间物理距离转化为逻辑约束。邻接矩阵(adjMatrix)是整个分配算法的基础数据结构,它将复杂的电磁环境简化为二元冲突关系,极大降低了资源调度的计算复杂度。
在频谱指配过程中,通过按“节点度”排序(Node Degree Sorting),系统应用了图着色理论中的启发式搜索策略。这种做法能够优先解决约束条件最多的节点,有效避免了分配后期的“无解”僵局,从而在多信道环境下显著提升频谱复用率。
系统在计算吞吐量时,采用了路径损耗模型进行链路增益估算。通过 txPower、pathLossExp 和 noisePower 的参数组合,计算得到参考信噪比(SNR),并利用 log2(1 + SNR) 公式将 MAC 层的分配结果映射为物理层的比特速率(Mbps)。
程序通过四分屏画布展示结果。左侧展示物理空间的干扰网络拓扑;右侧通过热力图(imagesc)展示用户与信道的占用映射关系,可直观观察信道的复用情况(空间复用);底部通过柱状图直接对比两套算法在效率与产出上的数据差异。
使用方法
- 启动 MATLAB 软件(建议版本 R2016b 及以上)。
- 将仿真程序所在的文件夹设置为当前工作路径。
- 在命令行窗口输入程序主函数名称并回车。
- 系统会自动运行并弹出窗口,展示仿真生成的拓扑图、分配矩阵及性能统计。
- 在 MATLAB 命令行窗口查看输出的详细仿真报告,包括利用率和吞吐量的具体数值。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 操作系统:Windows, macOS 或 Linux。
- 硬件配置:标准个人电脑即可,无需高性能计算显卡。