基于MATLAB的QPSK调制DS-CDMA多用户通信系统仿真平台
项目介绍
本仿真平台旨在模拟一个完整的直接序列扩频码分多址(DS-CDMA)通信系统,通过QPSK调制技术实现多用户在同一频带内的并行数据传输。系统深度模拟了真实无线环境中的物理层处理过程,包括信号的生成、频域扩展、脉冲成形、多径瑞利衰落信道干扰以及接收端的相干解调与解扩处理。通过蒙特卡洛仿真实验,系统能够定量分析在不同信号信噪比(Eb/No)环境下,多机干扰(MAI)与多径效应对通信质量的影响。
功能特性
- 多用户支持:系统默认支持4个用户并发传输,每个用户分配独立的直交扩频码。
- 高级调制方案:采用QPSK调制并结合Gray码映射规则,有效平衡传输速率与误码性能。
- 正交扩频技术:利用Hadamard矩阵生成的16位Walsh码作为扩频序列,确保各用户信号在解扩时的正交独立性。
- 脉冲成形与匹配滤波:在发送与接收端同步部署根升余弦(RRC)滤波器(滚降系数0.25),优化频谱效率并抑制码间串扰。
- 复杂信道仿真:高度还原3径瑞利衰落信道环境,模拟路径增益衰减与不同采样点的多径延迟,并叠加加性高斯白噪声。
- 性能评估指标:自动生成包含时域波形、功率谱密度(PSD)、收端星座图以及各用户BER(误码率)性能曲线的动态可视化结果。
实现逻辑与环节
系统内部逻辑严格遵循无线通信物理层标准,具体流程如下:
- 参数初始化:配置用户数、数据比特流长度、扩频因子(SF=16)、过采样率(sps=8)以及预设的Eb/No范围。
- 扩频序列准备:通过MATLAB内置的hadamard函数生成正交序列,并依据用户索引分配专属的扩频码片。
- 信号发射端处理:
- 随机生成二进制原始数据。
- 执行QPSK调制,将比特映射为复数符号。
- 扩频处理:将每个QPSK符号与16位扩频码进行矩阵乘法,扩展带宽。
- 上采样与RRC滤波:对扩频后的码片流进行8倍上采样并通入成形滤波器,生成连续基带信号。
- 信号叠加:将所有用户的信号在时域进行物理叠加,形成包含多机干扰的复合发射信号。
- 信道传输:
- 多径衰落:通过复高斯随机变量生成瑞利增益。
- 路径叠加:根据预设的3条延迟路径([0, 2, 5]个采样点)对信号进行移位并按功率增益比例求和。
- 噪声引入:根据输入的Eb/No计算对应的噪声功率,在采样点级别叠加白噪声。
- 接收端处理:
- 匹配滤波:使用相同的RRC滤波器进行匹配滤波,以获取最大信噪比。
- 同步与下采样:计算滤波器群延迟(24*2次采样点偏移),在最佳采样点采集数据。
- 解扩处理:将接收到的码片流重新矩阵化,并与用户对应的Walsh码进行互相关运算。
- 硬判决解调:对相关后的符号根据实部和虚部极性进行硬判决,还原二进制原始比特。
- 统计分析:计算各用户的实时误码率,并与理论环境下AWGN信道的QPSK误码性能曲线进行对比。
关键算法与细节分析
- 调制映射规则:系统内部执行Gray码映射逻辑,即00映射为1+j,01映射为-1+j,11映射为-1-j,10映射为1-j,随后进行归一化处理。
- 扩频实现:采用逐符号扩频算法,通过矩阵运算将[NumSymbols x 1]的符号向量转换为[NumSymbols x 16]的码片矩阵,再展平为一维码片流。
- 功率谱密度分析:利用周期图法(Periodogram)计算并绘制复合信号的功率谱,用户可直观观察到扩频后频谱的展宽现象。
- 采样同步:代码中针对RRC滤波器产生的双向延迟(48个采样点)进行了精确的手动步进补偿,确保解扩时码片对齐。
- 多径增益:采用线性增益转换(10^(dB/20)),确保信号在多径环境下的幅度衰减符合物理规律。
使用方法
- 启动MATLAB软件。
- 将仿真脚本文件放置于当前工作目录下。
- 在命令行窗口直接运行该主脚本函数。
- 运行结束后,系统将自动弹出四个分析图表,并在命令行窗口输出详细的用户误码率统计结果表。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Communications Toolbox(通信工具箱)和 Signal Processing Toolbox(信号处理工具箱)。
- 硬件配置:建议最低4GB内存,以支持蒙特卡洛大循环运算。