基于ZF-SIC均衡与串行干扰消除的5G NOMA系统性能仿真
项目介绍
本项目设计并实现了一个典型的5G移动通信非正交多址接入(NOMA)下行链路仿真系统。在5G高用户密度场景下,通过功率域复用技术实现频谱效率的提升。系统模拟了近端用户和远端用户在瑞利衰落信道下的通信过程,并在接收端采用迫零(ZF)均衡与串行干扰消除(SIC)算法进行信号恢复。该仿真框架能够直观展示NOMA系统在误码率(BER)和系统总和速率(Sum Rate)方面的表现。
功能特性
- 功率域复用(Power Domain Multiplexing):模拟发送端将不同功率等级的信号叠加在相同的时频资源上,实现非正交接入。
- 16QAM调制:采用高阶正交幅度调制技术,符合5G高数据速率的传输需求。
- MIMO-Rayleigh信道模拟:构建2x2 MIMO环境下的瑞利自发衰落信道,考虑多径效应对信号的影响。
- ZF线性均衡:通过计算迫零权重矩阵,消除MIMO信道带来的层间干扰,为后续NOMA解码提供基础。
- 迭代SIC接收机:实现串行干扰消除流程,按照功率从大到小的顺序解码用户信号,并通过剔除已解码成分来降低残留干扰。
- 性能评估与可视化:自动生成误码率曲线、系统容量曲线以及SIC处理前后的信号星座图对比。
实现逻辑
仿真流程严格遵循以下闭环逻辑:
- 参数初始化:配置仿真比特流大小、QAM阶数、SNR范围(0dB至30dB)以及2x2天线配置。
- 功率分配:为近端用户(User 1)和远端用户(User 2)分配差异化功率(0.2和0.8),确保远端用户在较差信道条件下仍能获得较高的解码优先级。
- 信号产生与叠加:
* 随机产生二进制比特流并进行16QAM映射。
* 按照分配比例进行功率增益处理并叠加形成复合信号。
- 信道传输:复合信号通过随机生成的复高斯信道矩阵,并加入加性高斯白噪声(AWGN)。
- 接收端处理:
* 均衡处理:利用信道矩阵的伪逆(ZF准则)对接收信号进行空间均衡,提取目标流。
* 第一级SIC解码:首先将叠加信号中的小功率信号视为干扰,先行解码功率较大的远端用户信号。
* 重构与减除:将解码后的远端用户比特重新调制并乘以其功率因子,从总均衡信号中减去该成分。
* 第二级SIC解码:在消除远端干扰后,对残余信号进行解码以提取近端用户信号。
- 统计分析:对比原始比特与解码比特计算BER,并根据各用户SINR计算信息论意义上的总和速率。
关键算法与实现细节
- 迫零(ZF)均衡器:
代码中使用权重矩阵 $W = (H^H H)^{-1} H^H$ 来抵消信道矩阵 $H$ 的影响。这种线性均衡方式在已知信道状态信息的情况下,能够有效提取出空间复用层中的叠加信号。
- 串行干扰消除(SIC)策略:
* 远端用户解码:直接对均衡后的信号进行16QAM解调。由于远端用户功率占优,其受到的近端信号干扰相对较小。
* 干扰重构:利用
qammod 函数重新还原远端信号的波形。
* 信号消除:通过向量减法 $y_{rem} = y_{equalized} - sqrt{P_2} cdot s_{reconstructed}$ 纯化近端用户的接收信号,理论上消除了主要干扰。
- 信道增益与速率计算:
系统中定义了平均信道增益 $h_{gain}$(基于信道矩阵的Frobenius范数)。
* 远端用户SINR计算:考虑噪声和近端用户的功率干扰。
* 近端用户SINR计算:假设SIC完全消除干扰,仅受噪声影响。
- 星座图分析:
仿真记录了SNR为20dB时的中间状态。通过对比SIC处理前(看似杂乱的多层叠加星座)和SIC处理后(恢复为清晰的16QAM星座)的图形,验证了干扰消除算法的有效性。
系统要求
- 运行环境:MATLAB R2018b 或更高版本。
- 必备工具箱:Communications Toolbox(用于调用 qammod, qamdemod, biterr 等核心函数)。
- 硬件建议:支持图形渲染的显示器(用于展示多维度性能曲线)。
使用方法
- 启动MATLAB并进入项目所在的工作目录。
- 在命令行窗口直接输入主函数名并回车。
- 仿真开始后,程序会依次遍历不同SNR点,并在完成时打印最后一点(30dB)的具体误码率数值。
- 仿真结束后,会自动弹出性能分析图窗,包含BER、和速率以及关键步骤的星座图。