认知无线电系统双门限能量检测仿真
项目简介
本项目专注于认知无线电(Cognitive Radio)频谱感知技术中的能量检测算法,具体实现了双门限(Double Threshold)检测机制的仿真。在感知主用户信号(Primary User)时,传统的单门限检测往往在低信噪比环境下受噪声不确定性影响较大,导致误判。本项目通过MATLAB构建仿真环境,引入高、低两个判决门限,将能量统计空间划分为无信号(H0)、不确定区域(Uncertain)和有信号(H1)三个部分,从而提高检测的鲁棒性。
该仿真代码完整模拟了信号生成、AWGN信道传输、能量统计量计算、判决逻辑处理以及蒙特卡洛(Monte Carlo)性能评估全过程,并生成多维度的性能分析图表。
功能特性
- 双门限检测机制:实现了基于高($P_{f_high}$)低($P_{f_low}$)两个虚警概率目标的门限设定,支持“不确定区域”的统计分析。
- 蒙特卡洛仿真:通过大量迭代(默认5000次)精确评估不同信噪比(SNR)下的检测概率($P_d$)和虚警概率($P_f$)。
- 理论与仿真对比:代码中既包含了基于大样本高斯近似的理论门限计算,也包含了基于实际随机数生成的仿真统计。
- 多维度可视化:自动生成检测概率曲线、不确定概率直方图、ROC曲线以及综合概率分布图。
- 高斯信号模型:采用高斯随机信号模拟未知的主用户信号,符合能量检测作为盲检测算法的应用场景。
系统要求
- 软件环境:MATLAB R2016a 及以上版本(代码未依赖特殊工具箱,基础版本即可运行)。
- 硬件要求:标准PC配置即可,因涉及5000次蒙特卡洛迭代,运算可能需要几秒钟至一分钟。
使用方法
- 下载本项目源代码。
- 在MATLAB中打开脚本文件。
- 直接运行由于主函数封装的脚本。
- 程序将在命令窗口(Command Window)输出仿真进度、理论门限值以及各SNR节点下的统计结果。
- 运行结束后,系统将自动弹出4张性能分析图表。
仿真实现细节剖析
本项目核心代码逻辑完全包含在主入口函数中,以下是对代码实际实现逻辑的详细分析:
1. 仿真参数初始化
代码首先定义了仿真的基础环境:
- 采样点数 (N):设定为1000,模拟大样本环境。
- 蒙特卡洛次数 (M):设定为5000,确保统计结果的平滑性。
- 信噪比 (SNR):扫描范围从 -20dB 到 0dB。
- 目标虚警概率:
* 单门限标准:$P_f = 0.1$。
* 双门限标准:设置较宽松的低门限对应 $P_{f_low} = 0.15$,较严格的高门限对应 $P_{f_high} = 0.05$。
2. 理论门限计算
代码利用能量检测统计量在H0(仅噪声)假设下服从卡方分布(大样本近似为高斯分布)的特性,通过Q函数的反函数计算理论门限:
- 单门限 ($lambda_{single}$):基于 $P_{f_target} = 0.1$ 计算。
- 低门限 ($lambda_{low}$):基于 $P_{f_low} = 0.15$ 计算,门限值较低。
- 高门限 ($lambda_{high}$):基于 $P_{f_high} = 0.05$ 计算,门限值较高。
计算结果会在控制台打印,用于验证理论数值的正确性。
3.核心蒙特卡洛循环
这是代码的主体部分,通过双重循环(外层SNR,内层迭代次数)模拟信号检测过程:
*
噪声:生成均值为0、方差为1的高斯白噪声。
*
主用户信号:生成高斯随机信号(模拟未知的PU信号),其功率由当前SNR决定。
*
H1假设:接收信号 = 信号 + 噪声。
*
H0假设:接收信号 = 纯噪声(用于验证虚警概率)。
- 能量计算:计算接收信号幅度的平方和,作为检验统计量。
- 判决逻辑:
*
单门限:若能量大于 $lambda_{single}$,判定为有信号。
*
双门限:
* 若能量 > $lambda_{high}$:判定为
H1 (有信号)。
* 若能量 < $lambda_{low}$:判定为
H0 (无信号)。
* 若 $lambda_{low} leq$ 能量 $leq lambda_{high}$:判定为
不确定 (Uncertain)。
4. 统计结果计算
在每次SNR迭代结束后,代码计算以下概率指标:
- 单门限检测概率 ($P_d$):正确检测次数 / 总迭代次数。
- 双门限绝对检测概率:双门限算法明确判定为H1的次数 / 总迭代次数。
- 不确定概率 ($P_{uncertain}$):落在双门限之间的次数 / 总迭代次数。
5. ROC 曲线生成
代码包含一个独立的部分用于生成ROC(接收机操作特性)曲线。为了保证曲线光滑且基于理论基准,
此处未使用蒙特卡洛统计,而是直接使用了理论公式:
- 固定 SNR = -10dB。
- 利用Q函数计算在该SNR下,不同虚警概率(0到1)对应的理论检测概率。
- 假设H1条件下统计量服从均值为 $N(P+1)$、方差为 $2N(P+1)^2$ 的高斯分布。
结果可视化说明
仿真运行结束后,代码将通过 figure 指令绘制以下四张图表:
- 检测性能对比图:
* 展示 $P_d$ 随 SNR 变化的曲线。
* 对比单门限检测与双门限检测(绝对检测率)的性能差异。通常双门限的绝对检测概率会略低于单门限,因为它剔除了不确定的样本。
- 不确定区域概率分析:
* 使用柱状图展示在不同SNR下,系统落入“不确定区域”的概率。
* 图表上直接标注了具体的概率数值,便于观察在低SNR下不确定性的增加。
- ROC 曲线:
* 展示在固定 SNR (-10dB) 下,检测概率 $P_d$ 与虚警概率 $P_f$ 的关系。
* 包含一条对角虚线作为随机猜测的参考基准。
- 双门限性能综合分析:
* 在同一张图上绘制三条曲线:正确检测概率、漏检概率(包含H0判决)和不确定概率。
* 直观展示随着信噪比提升,不确定概率和漏检概率下降,检测概率上升的趋势。