本站所有资源均为高质量资源,各种姿势下载。
本仿真项目基于 MATLAB 环境,系统地模拟了认知无线电(Cognitive Radio)中的核心技术流程。项目侧重于次用户(Secondary User, SU)如何通过频谱感知发现并利用主用户(Primary User, PU)留下的频谱空洞,同时采用先进的波形设计技术降低干扰并提升传输可靠性。
本仿真涵盖了认知无线电物理层的主要研究方向:
项目代码严格按照以下六个阶段执行:
阶段一:系统参数初始化 定义仿真环境的基础物理参数,包括 10MHz 的采样率、128 个总子载波和 32 长度的循环前缀(CP)。同时预设主用户的频谱占用掩码,模拟三个特定频段被占用的情况。
阶段二:频谱感知模拟 采用能量检测器(Energy Detector)对当前电磁环境进行感知。通过 1000 次蒙特卡洛实验,在特定的背景噪声和信号强度下,计算不同阈值对应的虚警概率(Pfa)与检测概率(Pd),从而评估感知的准确性。
阶段三:次用户载波映射与功率控制 系统识别出未被主用户占用的“空洞”子载波,并将次用户数据映射至这些空闲位置。为了减少对相邻频段的干扰,系统通过自适应掩码和窗口技术对子载波功率分配进行管理。
阶段四:信号调制与传输链路 在发射端执行 IFFT 变换,并添加循环前缀。引入了升余弦窗函数进行谱成形,以抑制 OFDM 信号的带外辐射。信号通过一个三径衰落信道,并故意引入采样频率偏置(SFO)来模拟实际硬件的不完美性。
阶段五:信号接收与处理 接收端首先针对采样频率偏置进行线性相位补偿。随后进行时间同步与 FFT 变换。利用已知的信道状态信息进行频域迫零均衡,消除多径效应对子载波星座图的影响。
阶段六:性能指标可视化 生成六个维度的结果图,包括频谱空洞填充示意图、信号功率谱密度(PSD)、能量检测 ROC 曲线、符号误码率(BER)性能曲线、均衡后的星座图映射以及子载波功率分布图。
能量检测算法 该算法不依赖于主用户信号的先验知识。代码通过计算观测时间内信号样本的能量总和,并将其与基于高斯假设和预设虚警概率计算出的理论阈值进行比较。利用逆 Q 函数实现阈值的精确设定。
旁瓣抑制技术 (Symmetric RC Windowing) 为了解决传统 OFDM 矩形窗导致的带外泄露问题,代码实现了一个自定义的升余弦窗函数。通过在 OFDM 符号的边界处进行平滑过渡(由 alpha 参数控制),显著降低了次用户信号对主用户相邻频段的干扰。
采样频率偏置 (SFO) 建模与补偿 SFO 在时域表现为随时间线性增加的相位偏差。仿真中通过复指数函数模拟此效应,并在接收端使用反向相位的复指数进行对冲补偿,从而保证了子载波星座图在解调时的稳定性。
迫零 (ZF) 均衡 针对三径信道产生的频率选择性衰落,项目在频域对所有活跃子载波进行信道逆响应处理。这一逻辑修复了因多径干扰导致的相位旋转和幅度衰减,是实现低 BER 传输的关键。
软件环境:MATLAB R2016b 或更高版本。 所需工具箱:Signal Processing Toolbox(用于 pwelch 等谱分析函数)。
直接在 MATLAB 命令行窗口执行主脚本文件。仿真将自动开始运行蒙特卡洛实验,计算不同 SNR 下的误码率。执行完毕后会弹出多子图的可视化窗口,展示从感知到传输的完整闭环结果。可以通过修改初始化参数中的主用户占用分布或 SNR 范围来观察系统在不同环境下的鲁棒性。