QPSK调制与解调系统全流程仿真项目介绍
项目概述
本项目是一个基于MATLAB环境开发的完整数字信号传输系统,专门用于演示和分析四相相移键控(QPSK)的调制与解调全过程。系统实现了从原始随机比特流生成到最终误码率分析的完整链路,涵盖了脉冲成形、信道加噪、匹配滤波和星座图映射等关键通信技术。
功能特性
- 完整链路仿真:涵盖源符号生成、QPSK编码、上采样、RRC滤波、AWGN信道模拟、匹配滤波、抽样判决及误码率统计。
- 理论与实践对比:内置理论误码率计算公式,可自动对比蒙特卡洛仿真结果与理论值的吻合程度。
- 高性能脉冲成形:采用根升余弦(RRC)滤波器进行脉冲成形和匹配滤波,有效控制信号带宽并抑制符号间干扰(ISI)。
- 多维度可视化:系统生成包含星座图对比、时域波形、功率谱密度(PSD)以及BER性能曲线在内的综合视图。
- 参数化驱动:支持灵活调整滚降系数、采样率、码元数量及信噪比范围。
使用方法
- 确保计算机已安装MATLAB(建议R2016b及以上版本)。
- 在MATLAB工作路径中打开本项目代码文件。
- 在命令行窗口直接运行主仿真函数。
- 程序运行完成后,将自动弹出包含四个子图的性能分析界面,并在控制台输出仿真参数总结。
系统要求
- 软件环境:MATLAB
- 工具箱依赖:本代码采用自研函数实现了核心算法,无需特定的通信工具箱(如Signal Processing Toolbox)即可实现基础仿真功能,具有极高的独立性。
---
系统实现逻辑与核心功能说明
1. 信号源产生与预处理
系统通过伪随机数生成器产生指定长度的二进制比特流。为了满足QPSK双比特映射的要求,代码会自动检测并修正比特总数的奇偶性,随后通过重构矩阵实现串并转换,将连续比特划分为同相(I)和正交(Q)支路。
2. QPSK灰码调制
映射过程严格遵循灰码(Gray Coding)规则,以降低误比特率。具体的映射逻辑为:
- 00 映射为 (1 + j) / sqrt(2)
- 01 映射为 (-1 + j) / sqrt(2)
- 11 映射为 (-1 - j) / sqrt(2)
- 10 映射为 (1 - j) / sqrt(2)
映射完成后进行能量归一化处理,确保信号在复平面上的平均功率一致。
3. 发送端脉冲成形
为了限制信号带宽,系统首先对符号序列进行上采样(零值填充),然后使用根升余弦滤波器(RRC)进行卷积运算。这一过程在时域平滑了信号跳变,在频域压缩了占据带宽。
4. 物理信道模拟
系统通过蒙特卡洛模拟循环测试不同信噪比(Eb/No)下的性能。在信道模块中,代码会根据当前Eb/No值计算对应的SNR,并测量信号的实际功率,向复信号中加入符合统计规律的加性高斯白噪声。
5. 接收端处理与解调
- 匹配滤波:接收信号再次通过相同的RRC滤波器,实现信噪比最大化输出。
- 定时抽样:在理想同步假设下,系统以符号周期为步长,在滤波结果的中心位置提取采样点。
- 硬判决解映射:通过判定采样点在复平面的象限归属,恢复出I/Q支路的原始比特信息。
---
解读关键算法与函数
脉冲成形滤波器设计 (Root Raised Cosine)
系统内置了手动实现的滤波系数计算算法。该算法基于滚降系数(beta)和截断半径(span)计算时域响应,并考虑了t=0以及t=1/(4*beta)等特殊奇异点的数值处理。最后进行能量归一化,确保滤波器增益不改变信号功率。
误码率分析算法
- 仿真误码率:采用逐比特对比法,计算恢复比特序列与原始序列的差异。
- 理论误码率:利用complementary error function(erfc)实现QPSK在AWGN信道下的理论性能计算公式,即 Pb = 0.5 * erfc(sqrt(Eb/No)),作为性能基准。
信道噪声计算
代码精确计算了实部和虚部的噪声功率分配。在复数系统中,为了保持总噪声功率符合SNR要求,实部和虚部各自承担了一半的噪声方差。
功率谱密度评估
系统利用周期图法(Periodogram)计算成形信号的谱功率分布,通过归一化频率坐标展示信号的主瓣宽度及旁瓣衰减特性,直观体现了脉冲成形对频谱效率的提升。