基于卷积码的BPSK/QPSK调制解调及误码率分析仿真系统
项目介绍
本仿真系统基于MATLAB平台,构建了一个完整的数字通信链路模型,用于深入研究和评估在加性高斯白噪声(AWGN)信道环境下,卷积码对BPSK(二进制相移键控)和QPSK(正交相移键控)调制系统性能的提升作用。系统涵盖了从信源产生、卷积编码、信号调制、信道模拟、信号解调、维特比译码到误码率统计统计及可视化的全过程。通过对比编码前后以及不同调制方式下的误码率(BER)表现,量化分析编码增益,为理解现代移动通信中的前向纠错(FEC)技术提供直观的实验支撑。
功能特性
- 端到端系统仿真:实现了从随机比特流生成到最终译码恢复的完整通信流程。
- 卷积纠错机制:采用行业标准的 (2, 1, 7) 卷积码,支持自定义多项式和约束长度。
- 多调制方案对比:同步支持 BPSK 和 QPSK 两种典型调制方式,并在相同 Eb/No 条件下进行横向对比。
- 维特比硬判决译码:集成高效率的维特比(Viterbi)算法,利用最大似然准则进行纠错。
- 性能指标可视化:具备误码率性能曲线绘制功能,能够清晰对比仿真值与理论值之间的偏差。
- 星座图分析:提供解调前的接收信号星座图,直观展示噪声对不同相位调制信号的影响。
- 自动化报告生成:在控制台实时输出 SNR、编码后 BER 以及理论 BER 的详尽统计表格。
使用方法
- 环境配置:确保计算机已安装 MATLAB 软件及通信系统工具箱(Communication Toolbox)。
- 参数调整:根据实验需求,可直接在代码顶部的参数设置区修改仿真比特总数、信噪比范围(EbNo_dB)或卷积码参数。
- 启动仿真:运行主程序,系统将自动依次执行编码、调制、信道模拟及译码计算。
- 结果查看:仿真结束后,系统将自动弹出误码率对比曲线图和信号星座图,并在命令行窗口打印性能数据报告。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Communications Toolbox(用于卷积编码、维特比译码及 AWGN 信道函数)。
- 硬件要求:标准 PC 硬件配置,建议内存 8GB 以上以处理大规模比特序列仿真。
功能实现逻辑与算法细节
- 信源与编码逻辑
系统生成 100,000 个随机二进制比特作为初始信息。随后利用特定生成多项式([171 133])和约束长度(7)构建卷积网格结构。编码器码率为 1/2,意味着每输入 1 个比特将产生 2 个编码比特。
- BPSK 调制与信道模拟
编码后的比特序列通过映射变换为 -1(逻辑0)和 1(逻辑1)。系统根据设定的 Eb/No 计算对应的信号信噪比,在计算功率时考虑了码率带来的能量损耗。信号通过 AWGN 函数模拟信道干扰。
- QPSK 调制与格雷映射
系统将双比特分组映射到复平面的四个星座点。通过手动实现的映射逻辑,将输入的比特对转化为相应的 I/Q 分量,并进行 1/sqrt(2) 的功率归一化处理。在信道模拟中,通过比 BPSK 多 3dB 的符号功率设置(Es/N0 = Eb/N0 + 10*log10(2*R))来保证 Eb/No 的一致性。
- 硬判决解调与维特比译码
接收端通过实部和虚部的正负判定进行硬判决解调。译码阶段采用维特比算法,设置回溯长度为 35(约 5 倍约束长度),采用截断模式(trunc)进行处理,平衡了译码延迟与收敛性能。
- 性能评估与理论对比
在每个信噪比点下,系统分别计算卷积码 BPSK、卷积码 QPSK、未编码 BPSK 以及未编码 QPSK 的误码率。同时根据标准公式 0.5 * erfc(sqrt(Eb/No_linear)) 计算未编码系统的理论误码率界限。
- 可视化实现
系统利用对数纵坐标(semilogy)绘制 BER 随 Eb/No 变化的趋势线。通过 subplot 为 BPSK 和 QPSK 分别绘制接收信号的散点图,以此展示在特定信噪比下信号点的分布扩散情况,辅助分析解调可靠性。