基于MATLAB与Simulink的软件定义认知无线电应用系统
项目介绍
本项目是一个集成软件定义无线电(SDR)灵活性与认知无线电(CR)智能性的仿真开发系统。该系统旨在模拟现代无线通信环境中的频谱感知、智能决策与自适应传输过程。通过MATLAB环境下的算法建模,系统能够实时监测电磁环境,识别授权用户(Primary User, PU)的频谱占用情况,并引导次级用户(Secondary User, SU)在不干扰授权用户的前提下,动态接入频谱空穴(Spectrum Holes)。该系统为研究宽带无线通信中的频谱资源分配、感知算法优化以及自适应物理层技术提供了一个功能完备的软件仿真平台。
功能特性
- 频谱感知与监测:利用能量检测算法,对多个子带进行实时监测,精确判定频谱占用状态。
- 软件定义信号合成:支持多频段、多调制格式(如QPSK)的信号仿真,模拟真实的无线电物理层环境。
- 自适应调制与传输:根据信道信噪比(SNR)动态切换调制策略,涵盖BPSK、QPSK及16QAM。
- 资源分配与吞吐量计算:自动识别可用频段,并基于香农定理预测感知链路的高速数据传输能力。
- 性能评估与可视化:系统自动生成ROC曲线(检测概率与虚警概率关系)以及实时频谱利用率报告。
系统逻辑实现说明
主程序通过以下六个核心模块协同工作,完整实现了认知无线电的闭环控制流程:
- 参数配置模块:
系统定义了10MHz的采样频率,并将全频段划分为8个离散的子信带。通过设置预设虚警概率门限(Pfa=0.1),为后续的智能判决提供数学基准。
- 授权用户(PU)行为模拟:
系统随机生成各频段的占用逻辑状态。对于被占用的频段,系统通过物理层建模生成QPSK调制信号,经过16倍上采样与成形滤波后,利用复指数运算将其搬移至特定的中心频率上,最后叠加复高斯白噪声(AWGN)模拟真实信道。
- 能量检测感知逻辑:
这是系统的核心组件。系统利用四阶巴特沃斯(Butterworth)带通滤波器模拟SDR的可重构硬件滤波器,提取各子带信号。通过对采样点进行平方和计算,获得检测统计量。判决门限基于卡方分布的近似(利用逆Q函数)进行自适应调整,从而识别出频谱空穴。
- 自适应资源分配:
系统搜索检测结果为“空置”的所有频道,供次级用户接入。在通信模拟阶段,系统根据当前链路的信噪比环境执行逻辑预判:当SNR低于5dB时采用BPSK,5至12dB之间采用QPSK,超过12dB则切换至16QAM,以最大化频谱利用率。
- 系统统计特性分析:
程序通过遍历不同的虚警概率向量,利用Marcum Q函数计算并预测在特定信噪比下的理论检测概率(Pd),生成接收机工作特性(ROC)曲线,量化感知算法的可靠性。
- 多维度报告与可视化:
系统最后输出四张关键图表:实时功率谱密度分布图(高亮显示PU区域)、子带能量与动态门限对比图、系统感知特性ROC曲线,以及基于感知结果的吞吐量预测曲线。
关键函数与算法分析
- 能量检测算法(Energy Detection):
系统实现了基于非相干检测的能量感知。该算法不依赖于授权用户信号的先验知识,通过计算接收信号功率与预设噪声功率的比值,实现在极低信噪比条件下的快速感知。
- 自适应判决门限计算:
利用逆Q函数(qfuncinv)结合采样点数和目标虚警概率,实现了动态门限的数学推导。这保证了在不同噪声环境下,系统能自动平衡“漏检”与“错检”的风险。
- 通信容量建模:
采用香农公式(C = B * log2(1 + SNR))进行吞吐量评估。系统根据识别出的空闲子带数量,动态计算总可用带宽,直观反映了认知无线电技术对网络容量的提升作用。
- 物理层信号处理:
包含pskmod(相移键控调制)、upsample(增加采样率以模拟连续信号处理)以及butter(无限冲击响应滤波器设计)等关键步骤,完整复现了从基带到中频的软件定义无线电处理路径。
使用方法
- 环境配置:确保计算机安装了MATLAB环境以及相关的信号处理工具箱。
- 运行系统:在MATLAB命令行窗口执行主程序文件。
- 实时交互:程序将自动在命令行输出各信道的占用状态(锁定或空闲)以及平均频谱空穴利用率。
- 结果查看:通过自动生成的“认知无线电SDR系统仿真报告”窗口分析系统性能。用户可以根据图中的红虚线感知门限与子带能量柱状图,直观评估当前无线电环境的繁忙程度。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 依赖工具箱:Signal Processing Toolbox (信号处理工具箱), Communication Toolbox (通信工具箱)。
- 硬件建议:为了流畅运行频谱动态可视化,建议内存不少于8GB。