基于能量检测的认知无线电频谱感知ROC曲线分析系统
项目介绍
本项目是一个专门用于认知无线电(Cognitive Radio)领域频谱感知性能评估的仿真系统。其核心目标是实现并分析能量检测(Energy Detection)算法。能量检测作为一种对主用户信号先验信息要求最低的感知技术,其性能优劣直接影响认知用户的介入决策。本系统通过高保真的数学建模,在MATLAB环境下重现了从信号采样、噪声建模到决策判决的全过程。系统不仅提供了基于数学公式的理论闭式解计算,还集成了大规模蒙特卡洛(Monte Carlo)仿真框架,通过两者的对比验证,不仅展示了感知算法的有效性,也揭示了信噪比、虚警概率与检测概率之间的深层量化关系。
功能特性
- 理论与仿真双重验证:系统同时运行理论推导逻辑与随机过程仿真,直观展现高斯近似理论在实际复杂信号环境下的准确度。
- 动态ROC曲线生成:支持在不同信噪比(SNR)配置下,自动生成受试者工作特征曲线(ROC),即检测概率(Pd)随虚警概率(Pfa)变化的轨迹。
- 灵敏度定量分析:具备固定虚警概率下的检测性能分析功能,能够描绘检测概率随信噪比增长的演变趋势图。
- 复信号模型建模:采用复高斯白噪声(AWGN)模型,完全契合现代无线通信系统中下变频后的等效基带信号特性。
- 自动化阈值计算:系统能够根据预设的虚警概率要求,通过对噪声分布的统计特性分析,自动计算出最优的判决门限。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 核心函数依赖:需要支持统计学相关的数学函数,如 erfcinv(反补误差函数)和 erfc(补误差函数)。
- 硬件建议:由于包含大规模蒙特卡洛迭代(10,000次及以上),建议配备4GB以上内存。
核心功能与实现逻辑描述
本系统的实现流程严格遵循无线信号处理的标准规范,主要分为四个核心阶段:
- 参数初始化阶段
系统首先定义感知环境的基础参数。采样点数(N)设定为1000点,这决定了感知的观察时间跨度;蒙特卡洛仿真次数设定为10000次,以保证统计结果具有足够的置信度。针对ROC分析,设定了-15dB、-12dB和-10dB三个典型低信噪比场景;针对灵敏度分析,设定信噪比在-20dB到0dB之间平滑变化。
- ROC曲线生成逻辑
系统对每一个设定的信噪比进行循环计算:
- 理论计算逻辑:考虑到采样点数较大,系统利用中心极限定理,将能量统计量近似为正态分布。在H0(主用户不存在)假设下,能量期望为N,方差为N;在H1(主用户存在)假设下,结合线性信噪比计算新的期望与方差。利用反补误差函数(erfcinv)根据Pfa求得理论阈值,再利用补误差函数(erfc)积分求得Pd。
- 仿真实现逻辑:通过随机数发生器生成符合复高斯分布的噪声(H0)和信号加噪声(H1)。计算接收序列的绝对值平方和作为能量观测值。为了提高仿真精度,系统通过对H0状态下的上万次能量观测值进行降序排列,根据索引位置动态确定各Pfa对应的经验阈值,随后统计H1状态下超过该阈值的比例。
- 检测概率与SNR关系分析逻辑
在固定虚警概率(Pfa=0.1)的约束下,系统对信噪比向量进行遍历:
- 计算在不同信噪比条件下由公式推导出的理论检测限。
- 模拟真实的信号接收过程,在每一个SNR点上通过蒙特卡洛实验统计实际的检测成功率,最终合成Pd-SNR性能曲线。
- 结果可视化与数据输出
系统自动开启图形窗口,生成双子图布局:
- 左侧图表:对比展示不同SNR下的理论与仿真ROC曲线,利用散点表示仿真点,实线表示理论值,清晰呈现检测性能随SNR提升而向上凸起的趋势。
- 右侧图表:展示在固定Pfa下,随着信噪比增强,检测概率从0迅速攀升至1的“S”型典型特征。
- 命令行输出:实时反馈仿真进度,并在计算完成后输出特定SNR点(如0dB)下的核心检测指标数据。
实现细节分析
- 信号模型:系统生成的原始信号与噪声均经过 1/sqrt(2) 的归一化处理,确保单位方差,从而使信噪比(SNR)的控制精确到dB级别。
- 能量统计量:代码中使用 sum(abs(x).^2) 实现,这代表了非相干解调中的能量累加器,不依赖主用户的载波频率或相位信息。
- 高斯近似:在理论计算部分,代码利用了当N足够大时卡方分布收敛于正态分布的特性。这一简化处理不仅提高了计算效率,也为系统性能评估提供了简洁的数学表达式。
- 阈值映射:仿真部分通过对噪声能量分布进行排序(sort 'descend')来寻找阈值,这种方法比传统的直方图法更精确,尤其在极低虚警概率下表现出更好的鲁棒性。