CDMA系统中多址干扰对用户性能影响的仿真分析
项目介绍
本项目是一个基于直接序列码分多址(DS-CDMA)技术的通信系统仿真平台。其核心目标是模拟多用户环境下,由于不同用户共享同一频带且其所使用的扩频码互相关性不为零,而产生的多址干扰(MAI)对系统误码率(BER)性能的影响。通过对比实验,验证了多址干扰在多用户场景下趋向于高斯分布的理论假设,并评估了系统在不同抗噪声水平及用户负载下的稳定性。
功能特性
- 完整的DS-CDMA链路模拟:实现了从原始比特生成、BPSK调制、m序列扩频到信道叠加、加性高斯白噪声添加、相关解扩及判决输出的全过程。
- 多用户负载分析:支持设置不同的并行用户数量,定量分析系统容量对目标用户通信质量的压制效应。
- 理论与仿真对比:内置了基于标准高斯近似(SGA)理论的误码率计算模型,直观展示实际仿真曲线与数学模型的拟合程度。
- 干扰分布可视化:专门提供多址干扰分量的统计分布图,并辅以正态分布曲线,用于验证大数定律下干扰信号的统计特性。
- 处理增益评估:通过配置63位扩频因子,演示系统如何通过处理增益在中低信噪比环境下抑制噪声与干扰。
使用方法
- 启动MATLAB软件。
- 将仿真脚本文件放置于MATLAB当前工作路径。
- 直接运行脚本,程序将自动执行四种不同用户数(1人、5人、10人、20人)在SNR为0dB至16dB范围内的蒙特卡洛仿真。
- 运行结束后,程序将自动弹出两个可视化窗口并向命令行窗口输出特定信噪比下的性能分析数据。
系统要求
- 软件环境:MATLAB R2016b 及以上版本。
- 工具箱需求:无需特殊工具箱,使用MATLAB核心函数库即可。
关键实现逻辑
1. 信号扩频与调制
系统通过生成BPSK调制的随机比特流作为原始数据。每个用户的比特序列被映射为 +1 或 -1,随后与该用户特有的PN码(伪随机码)进行逐位乘法运算。扩频因子设定为63,意味着每个数据比特转换为包含63个码片的扩频信号。
2. 伪随机序列生成
程序内置了基于线性反馈移位寄存器(LFSR)的m序列生成函数。采用特征多项式 x^6 + x + 1 生成长度为63的伪随机码。通过为不同用户分配不同的寄存器初始状态,确立了多个用户之间的准正交性,这是产生多址干扰的物理基础。
3. 多址干扰与噪声模拟
在信道传输阶段,程序将所有用户的扩频信号在时域上直接累加,模拟共享信道的叠加过程。随后根据设定的信噪比(Eb/N0)计算出相应的能量方差,向合成信号中加入加性高斯白噪声。计算噪声标准差时,充分考虑了扩频因子带来的带宽增加对噪声功率的影响。
4. 相关接收与解扩
接收端针对目标用户(用户1),使用与之严格同步的本地扩频码进行相关运算。通过对接收信号与本地码的乘积进行积分(累加),利用扩频码的自相关性和互相关性,实现有用信号的提取和干扰信号的抑制。
5. 性能度量与算法细节
- 误码记录:通过判决函数比较解扩后的实数值,若符号与发送端不一致则记录一次错误。
- 高斯近似理论:采用标准计算公式,利用Q函数(或误差补函数erfc)结合信噪比和干扰方差来预测理论误码率,干扰方差被简化为(K-1)/(3*SF)。
- 干扰分布采样:程序通过2000次独立的随机实验,提取除目标用户外的其他用户信号在解扩器的输出值,以此构建多址干扰的概率密度直方图。
算法分析
程序的核心算法展示了CDMA系统的“软容量”特性:
- 抗干扰机制:当用户数为1时,系统性能接近纯AWGN环境下的BPSK理论极限。
- 干扰受限分析:随着用户数增加,多项曲线对比揭示了当干扰功率逐渐占据主导时,增加发射功率对降低误码率的贡献会进入边际递减阶段。
- 近似有效性分析:分布图验证了当用户数K较大时,多址干扰的分布呈现出明显的钟形特征,这证明了在进行大规模系统设计时使用高斯近似模型的合理性。