基于MATLAB的QPSK调制与解调系统仿真项目说明文档
项目介绍
本项目实现了一个完整的正交相移键控(QPSK)数字通信系统仿真模型。系统涵盖了从信源产生、基带处理、信号调制、信道模拟到相干解调与性能评估的全过程。通过该仿真,可以直观观察数字信号在时域和复平面内的形态演变,并定量分析在加性高斯白噪声(AWGN)干扰下系统的误码率(BER)表现。
功能特性
- 全流程仿真:包含随机比特流生成、串并转换、双极性映射、载波调制、噪声注入、相干解调、积分判决及并串恢复。
- 正交架构设计:严格遵循I/Q两路正交调制的原理,实现符号与载波相位的精确映射。
- 真实信道模拟:集成AWGN信道模型,支持自定义信噪比(SNR)范围,并自动进行符号能量与比特能量的功率校准。
- 多维度可视化:
* 时域波形图:展示原始比特与射频已调波波形的对应关系。
* 信号星座图:反映接收端采样点在复平面上的分布及噪声影响。
* 性能曲线图:对比展示仿真误码率与理论误码率的随信噪比变化的走势。
- 性能评估:自动计算误码率,验证数字通信系统的可靠性。
实现逻辑与步骤
- 参数初始化:
程序设定了比特流长度(2000 bit)、采样频率(10kHz)、载波频率(1kHz)及比特速率(500 bit/s)。通过计算得出符号周期以及每个符号对应的采样点数(sps),为后续波形合成打下基础。
- 符号映射与串并转换:
* 利用随机数函数生成二进制序列。
* 将串行比特流拆分为两路并行数据:奇数位进入同相分量(I路),偶数位进入正交分量(Q路)。
* 进行基带映射,将逻辑0映射为-1幅度,逻辑1映射为+1幅度,生成双极性不归零电平。
- QPSK信号调制:
* 对I路和Q路信号分别乘以互相正交的载波:I路乘以余弦函数 cos(2*pi*Fc*t),Q路乘以正弦函数 sin(2*pi*Fc*t)。
* 将两路结果相减并进行幅度归一化处理,合成最终的QPSK已调射频信号。
- AWGN信道模拟:
程序在不同的信噪比(0dB到12dB)下循环运行。在加入噪声时,考虑到QPSK每个符号携带2比特信息,程序对信噪比参数进行了+3dB的补偿,以准确模拟每比特能量(Eb)与噪声功率谱密(N0)的关系。
- 相干解调与积分判决:
* 接收端采用相干解调技术,将接收信号分别与本地相干载波相乘。
* 对乘积结果在符号周期内进行累加求和(等效于低通滤波与积分判决)。
* 基于零电平阈值进行硬判决:积分结果大于0判为逻辑1,否则判为逻辑0。
- 信号恢复与对比:
将判决后的I/Q路比特流重新交织合并(并串转换),重构原始位流,并使用误码计算函数统计误码个数。
关键函数与算法分析
- 调制算法:采用相位偏移映射,通过控制I、Q两路幅度信号(-1或1)来实现(π/4, 3π/4, 5π/4, 7π/4)四个相位的切换。
- 相干解调(Coherent Demodulation):利用载波的正交性,通过相乘器分离出I路和Q路分量。算法的关键在于信号能量的提取,即在每个符号长度(sps个点)内完成积分。
- 理论误码率计算:使用补误差函数(erfc)计算QPSK在AWGN信道下的理论下限,公式为 0.5 * erfc(sqrt(Eb/N0)),以此作为衡量仿真系统准确性的基准。
- 可视化逻辑:
* 使用 plot 函数绘制时域精细波形。
* 使用 scatter 函数绘制星座图,红色叉号代表理想映射点,蓝色散点代表受噪声污染后的接收判决点。
* 使用 semilogy 函数绘制对数坐标下的BER曲线,以便在低误码率区间观察性能。
使用方法
- 确保计算机安装有 MATLAB 2018a 或更高版本,并安装了 Communications Toolbox。
- 将程序代码完整复制到 MATLAB 编辑器中。
- 点击“运行”按钮或在命令行窗口输入函数名称。
- 程序运行完成后,将自动弹出两个图形窗口:
* 窗口1:显示前20位比特流波形、前10个符号的射频波形以及在10dB信噪比下的接收星座图。
* 窗口2:显示仿真误码率与理论误码率的对比曲线。
- 在命令行窗口中可查看总比特数及最高信噪比下的实测误码率统计结果。
系统要求
- 软件环境:MATLAB R2018a 及以上版本。
- 必备工具箱:Communication Toolbox(用于 awgn、biterr 以及相关通信性能分析函数)。
- 硬件要求:标准通用计算机配置,仿真运行时间约为 1-3 秒。