基于能量检测的频谱感知仿真项目
项目介绍
本项目是一个基于 MATLAB 开发的认知无线电频谱感知仿真框架,重点实现了能量检测(Energy Detection)技术。能量检测作为一种对主用户信号先验信息依赖程度最低的盲检测技术,其核心原理是通过比对接收信号的平均能量与预设门限来判定信道状态。该程序完整模拟了从信号生成、AWGN 信道传输到统计判决的全过程,并提供了多维度的性能分析可视化。
功能特性
- 能量分布可视化:直观展示在仅噪声(H0)和信号加噪声(H1)两种统计假设下的能量概率密度分布。
- 多信噪比 ROC 曲线:自动生成不同 SNR 条件下的接收机操作特性曲线,用于评估虚警概率与检测概率的权衡关系。
- 灵敏度分析:模拟在固定虚警概率要求下,检测概率随信噪比变化的动态趋势。
- 实时感知模拟:通过模拟多个时隙的随机占用状态,评估探测器在动态环境下的实际判定准确度。
- 蒙特卡罗验证:内置高次数的蒙特卡罗循环,确保仿真结果的统计准确性。
系统要求
- MATLAB R2016b 或更高版本。
- 安装有 Statistics and Machine Learning Toolbox(用于调用正态分布反函数计算门限)。
使用方法
- 在 MATLAB 环境中打开主仿真程序。
- 直接运行脚本,程序将自动执行所有仿真模块。
- 仿真完成后,系统将弹出包含四个子图的分析界面,并同步在命令行窗口输出详细的感知技术仿真报告。
- 用户可根据需要修改脚本开头的基本参数(如采样点数 N、蒙特卡罗次数、目标虚警率等)进行定制化实验。
核心实现逻辑与功能说明
此程序通过以下四个主要阶段实现频谱感知仿真:
- 能量分布概率图分析
程序首先固定信噪比为 -10dB,通过 2000 次蒙特卡罗实验分别计算 H0 状态(仅包含复高斯白噪声)和 H1 状态(包含复高斯随机信号和噪声)的平均能量。利用直方图展示两者的 PDF 分布,从而体现能量检测器区分信号与噪声的理论基础。
- 多 SNR 条件下的 ROC 曲线绘制
程序设定了 -15dB、-12dB、-10dB 和 -5dB 四组信噪比。针对每一个信噪比,在 log 空间生成的虚警概率(Pfa)范围内扫描。系统根据正态分布近似理论计算对应的判决门限,并统计检测成功的次数,最终绘制出检测概率(Pd)随 Pfa 变化的曲线。
- 检测概率随信噪比变化的趋势分析
在固定目标虚警概率为 0.1 的前提下,程序在 -20dB 到 5dB 的区间内以 2dB 为步长进行遍历。通过计算每个信噪比点下的实际检测概率,量化系统在极低信噪比环境下的检测局限性。
- 动态时域感知判定演示
程序模拟了 20 个观测时隙,主用户的出现与否由随机序列决定。系统利用预设门限对每个时隙的能量进行实时比对,并将判决结果(1 表示忙,0 表示闲)与实际状态进行对比,通过茎状图直观反映感知性能。
关键算法与技术细节
- 信号模型
系统采用复高斯信号模型,噪声建模为均值为 0、方差归一化的复白高斯噪声。信号功率由指定的信噪比(SNR)线性值决定。
- 测试统计量
程序采用平均能量作为测试统计量。公式为:信号绝对值平方的和除以采样点数 N。这一处理方式能够有效平滑噪声波动。
- 理论门限计算
判决门限的计算基于正态分布近似法(当采样点 N 较大时)。在噪声功率归一化为 1 的情况下,程序利用 norminv 函数结合目标虚警概率和采样点数 N,计算出能够严格控制虚警率的判定界限。
- 性能评价指标
项目的核心评估指标包括:
- 虚警概率 (Pfa):实际无信号却判定为有信号的概率。
- 检测概率 (Pd):实际有信号且正确判定为有信号的概率。
- 漏检概率 (Pm):实际有信号却判定为无信号的概率(1 - Pd)。