基于循环平稳谱估计的认知无线电频谱感知系统
本系统是一套专为认知无线电(CR)研制的频谱感知仿真方案。它利用通信信号固有的循环平稳特性,在极低信噪比以及噪声功率不确定的环境下,实现对授权主用户信号的精确检测与参数提取。相比于传统的能量检测算法,本系统通过分析信号在循环频率域的特征,能够有效抑制高斯白噪声的干扰,具备更强的抗噪性能和特征提取能力。
功能特性
- 多维度信号生成:模拟生成标准BPSK调制信号,支持自定义载波频率、码元速率及采样率。
- 循环平稳谱估计:实现基于频率平滑原理的谱相关函数(SCF)估计,能够展示信号在频率(f)与循环频率($alpha$)维度的联合分布。
- 主用户特征提取:自动搜索循环频率轴上的非零特征峰值,实现对载波频率(2倍关系)等关键参数的盲估计。
- 性能深度评估:集成蒙特卡洛仿真实验,自动计算并绘制检测概率(Pd)随信噪比(SNR)变化的ROC趋势曲线。
- 全方位可视化:提供三维谱图、等高线图、循环频率切片图以及性能曲线图,直观展现信号的物理特征。
系统要求
- 开发环境:MATLAB R2018b 或更高版本。
- 必备工具箱:Signal Processing Toolbox(信号处理工具箱)。
- 硬件建议:由于涉及多次循环平稳计算和蒙特卡罗仿真,建议内存不少于8GB,CPU主频不低于2.0GHz。
系统实现逻辑
本程序在执行过程中遵循以下核心逻辑流程:
- 信号产生模块:
- 设定采样率为1000Hz,仿真时长为0.2秒。
- 产生随机双极性码元(±1),通过矩形脉冲成形拟合码元速率(50 Baud)。
- 将基带信号加载于200Hz的载波上,生成标准BPSK射频信号。
- 信道模拟模块:
- 生成标准正态分布的随机序列作为加性高斯白噪声(AWGN)。
- 根据预设的信噪比(如-10dB)计算噪声功率增益,并将其叠加至调制信号中。
- 核心算法:谱相关估计(SCF):
- 将时域信号分解为多个重叠的子段。
- 对每个子段进行汉明窗加窗处理及FFT变换,构建时频矩阵。
- 通过计算频率对之间的互相关,利用时间平均法进行谱相关函数估计。
- 最终输出平滑后的S(f, $alpha$)矩阵,其中涵盖了信号在循环频率维度的独特印记。
- 决策判决逻辑:
- 在生成的循环谱矩阵中排除$alpha=0$(平稳成分/噪声层)附近的干扰。
- 搜索矩阵的全局极大值点,并提取该点对应的循环频率$alpha$。
- 系统将该估计值与设定的物理参数(如2*fc)进行比对,若峰值超过设定的统计阈值,则判定主用户存在。
- 自动化实验评估:
- 程序在-20dB到4dB的范围内遍历信噪比。
- 每次实验执行50次蒙特卡洛迭代,通过经验阈值统计检测成功的概率。
关键函数与算法分析
- 快速循环谱估计器:这是系统的核心算法函数。它采用了分段FFT与频率相关操作。算法通过计算频率轴上不同频率点之间的相关性,将平稳的噪声能量分散在整个平面,而将具有循环平稳性的BPSK信号能量聚集在特定的循环频率点(如2倍载频处),从而实现信号提取。
- 特征点搜索算法:程序通过在$alpha$轴中避开直流分量(即避开信号的功率谱密度部分),寻找由调制引起的谱相关峰值。这是实现载波识别和信号探测的关键步骤。
- 性能评估机制:系统通过动态生成包含不同噪声强度的信号,实时计算检测统计量。其阈值选取基于信号窗口的平均能级,能够反应算法在不同环境下的鲁棒性。
使用方法
- 打开MATLAB软件,将工作目录指向程序所在文件夹。
- 在命令行窗口直接输入主程序名并回车运行。
- 程序将依次在命令行输出:
- 设定的载频、码率与SNR。
- 经过算法搜索后估计出的主用户特征循环频率。
- 最终的信道状态结论(“主用户存在”或“信道空闲”)。
- 系统将自动弹出图表窗口,展示信号的3D循环谱分布图、等高线图、特定频点的切片图以及随SNR变化的检测概率曲线。
注意事项
- 在进行高性能评估时,如果需要更高的ROC精度,可以适当增大程序中的蒙特卡洛迭代次数(num_monte_carlo),但这会增加计算时间。
- 该系统目前针对BPSK信号进行了优化,其特征峰通常出现在载波频率的两倍处(2fc)以及码元速率的相关位置。