第【78】期-- QAM与APSK高阶调制在AWGN信道下的性能分析 --MATLAB完整代码
关注我追更更多通信仿真代码文章目录摘要1. 引言2. 理论基础2.1 QAM调制原理与星座结构2.2 APSK调制原理与星座结构2.3 半径比对APSK性能的影响机理3 仿真分析3.1 仿真图3.2 部分代码4 总结摘要随着无线通信对频谱效率需求的持续提升高阶调制格式已成为现代通信系统的关键技术。本文针对正交幅度调制QAM与幅度相移键控APSK两种高频谱效率调制方式在加性高斯白噪声AWGN信道下进行了系统的误比特率BER性能仿真与分析。首先对不同阶数4、16、64、256的QAM调制进行了理论BER与蒙特卡罗仿真对比验证了调制阶数与功率效率之间的基本折中关系。其次在相同频谱效率下比较了QAM与APSK16-APSK和32-APSK的性能差异揭示了APSK因环形星座结构而具有的独特特性。最后重点研究了APSK的环间半径比对BER性能的影响通过改变16-APSK和32-APSK的内外环半径比例分析了星座几何参数对系统性能的敏感度。1. 引言随着移动通信、卫星广播及深空通信等领域的快速发展如何在有限的频谱带宽内传输更高的数据速率已成为通信系统设计的核心挑战。提高调制阶数是提升频谱效率的直接手段但高阶调制必然带来更高的信噪比SNR需求同时对信道非线性和硬件损伤更为敏感。因此在调制方式的选择和星座参数设计中需在频谱效率与功率效率之间进行精细的权衡。正交幅度调制Quadrature Amplitude Modulation, QAM以其结构简单、解调效率高的优势在数字通信系统中得到了广泛应用。从4-QAM等价于QPSK到256-QAM乃至更高阶数QAM通过同时在幅度和相位上承载信息实现了高频谱利用率。然而方形QAM星座存在较大的峰均功率比PAPR在经过非线性功率放大器如行波管放大器时会产生严重的非线性失真限制了其在卫星通信等功率受限场景中的应用。幅度相移键控Amplitude Phase Shift Keying, APSK作为一种替代方案其星座由多个同心圆环组成每个环上的星座点等相位间隔分布。与QAM相比APSK具有更低的PAPR对功放非线性具有更好的容忍度因此被广泛采用于DVB-S2/S2X第二代数字卫星广播标准等卫星通信标准中。然而APSK的BER性能高度依赖于环间半径比这一关键设计参数半径比的选择直接影响星座点间的最小欧氏距离进而决定系统的抗噪声能力。本文基于MATLAB通信工具箱在AWGN信道下对QAM和APSK两种调制格式进行系统的BER仿真研究。2. 理论基础2.1 QAM调制原理与星座结构由式(2.4)可定性分析调制阶数 M 对性能的影响随着 M增大星座点间距减小因子 3k/(M−1) 变小因此达到相同BER所需的Eb/N0增加。这是高阶调制提升频谱效率所付出的功率代价。2.2 APSK调制原理与星座结构与QAM相比APSK具有两个显著特点低峰均功率比PAPRAPSK星座点分布在多个圆环上信号幅度取值有限包络波动小对功放非线性失真不敏感适合卫星通信等功率放大器工作在饱和区的场景。相位旋转不变性在环形对称结构下APSK对载波相位误差的容忍度优于QAM。然而APSK的BER性能对环间半径比高度敏感。若半径比过小相邻环之间的最小欧氏距离减小跨环误判概率增加若半径比过大外环符号的平均能量增大在固定平均功率约束下内环符号能量被压缩同样导致性能损失。因此存在最优半径比使星座的最小欧氏距离最大化。2.3 半径比对APSK性能的影响机理最优半径比设计旨在最大化 min(d_intra,d_inter)环间距离d_inter成为瓶颈跨环误判显著当半径比过大时外环半径增大导致环内距离d_intra相对减小在外环点数固定时半径增大则弦长增大实际上环内距离随半径线性增大故过大的半径比会使外环平均功率过大而压缩内环能量影响整体性能。本文通过仿真不同半径比下的BER曲线直观展示这一敏感度。3 仿真分析3.1 仿真图可以看到QAM理论和仿真重合所有曲线均随信噪比增加而单调下降。随着调制阶数4→16→64→256升高BER曲线整体向右平移。高阶QAM将更多的比特压缩进一个符号星座点数量指数增长。在平均功率归一化的约束下星座点间的最小欧氏距离随阶数升高而缩小相邻点更容易被噪声混淆。在相同的调制阶数下QAM的BER性能略优于APSK。QAM的网格状星座在最小欧氏距离的利用率上优于APSK的环形结构。QAM的星座点更紧密地填充二维平面相同平均功率下能获得更大的最小距离。APSK 半径减半的配置BER恶化半径加倍的配置同样导致性能下降。APSK设计中的核心权衡半径比存在一个最优设计区间偏离该区间无论偏大或偏小均会导致性能损失。3.2 部分代码clear all;close all;%%公共参数 EbN0_dB-5:2:15;%信噪比范围 M4;%仅用于生成随机比特QAM/APSK共用 klog2(M);Nsymb20000;%每信噪比点仿真符号数可适当减小以加速扫描%生成固定随机比特保证所有调制使用相同比特序列公平比较 txBitsrandi([0,1],1,Nsymb*k);%由于各调制阶数不同此处仅作占位实际在每个函数内部重新生成%%图1不同阶数 QAM 的 BER 性能%计算各阶QAM[BERSim4QAM,BERTheo4QAM]BER_m_ary_QAM(4,EbN0_dB);[BERSim16QAM,BERTheo16QAM]BER_m_ary_QAM(16,EbN0_dB);[BERSim64QAM,BERTheo64QAM]BER_m_ary_QAM(64,EbN0_dB);[BERSim256QAM,BERTheo256QAM]BER_m_ary_QAM(256,EbN0_dB);figure;semilogy(EbN0_dB,BERTheo4QAM,r--,LineWidth,2);hold on;semilogy(EbN0_dB,BERSim4QAM,r-*,LineWidth,2);semilogy(EbN0_dB,BERTheo16QAM,b--,LineWidth,2);semilogy(EbN0_dB,BERSim16QAM,b-o,LineWidth,2);semilogy(EbN0_dB,BERTheo64QAM,m--,LineWidth,2);semilogy(EbN0_dB,BERSim64QAM,m-s,LineWidth,2);semilogy(EbN0_dB,BERTheo256QAM,g--,LineWidth,2);semilogy(EbN0_dB,BERSim256QAM,g-^,LineWidth,2);xlabel(E_b/N_0 [dB]);ylabel(误比特率 (BER));grid minor;title(不同阶数 QAM 的 BER 性能对比);legend(4-QAM理论,4-QAM仿真,16-QAM理论,16-QAM仿真,...64-QAM理论,64-QAM仿真,256-QAM理论,256-QAM仿真,Location,southwest);%%图2QAM 与 APSK 在相同阶数下的对比%16-APSK 与32-APSK使用基准半径比 M_16[4,12];R_16[1,2.5];M_32[4,12,16];R_32[1,2.5,4.3];[BER16APSK]BER_APSK(M_16,R_16,EbN0_dB);[BER32APSK]BER_APSK(M_32,R_32,EbN0_dB);%32-QAM 用于对比[BERSim32QAM,~]BER_m_ary_QAM(32,EbN0_dB);figure;semilogy(EbN0_dB,BERSim16QAM,r-*,LineWidth,2);hold on;semilogy(EbN0_dB,BERSim32QAM,b-*,LineWidth,2);semilogy(EbN0_dB,BER16APSK,r-o,LineWidth,2);semilogy(EbN0_dB,BER32APSK,b-o,LineWidth,2);xlabel(E_b/N_0 [dB]);ylabel(误比特率 (BER));grid minor;title(QAM 与 APSK 的 BER 性能对比);legend(16-QAM仿真,32-QAM仿真,16-APSK仿真,32-APSK仿真,Location,southwest);%%图3半径倍率变化原有简单缩放— 保留作为辅助 R_16_double[1,R_16(2)*2];R_16_half[1,R_16(2)/2];R_32_double[1,R_32(2:3)*2];R_32_half[1,R_32(2:3)/2];[BER16APSK_double]BER_APSK(M_16,R_16_double,EbN0_dB);[BER16APSK_half]BER_APSK(M_16,R_16_half,EbN0_dB);[BER32APSK_double]BER_APSK(M_32,R_32_double,EbN0_dB);[BER32APSK_half]BER_APSK(M_32,R_32_half,EbN0_dB);figure;semilogy(EbN0_dB,BER16APSK,r--,LineWidth,2);hold on;semilogy(EbN0_dB,BER32APSK,b--,LineWidth,2);semilogy(EbN0_dB,BER16APSK_half,r-o,LineWidth,2);semilogy(EbN0_dB,BER32APSK_half,b-o,LineWidth,2);semilogy(EbN0_dB,BER16APSK_double,r-*,LineWidth,2);semilogy(EbN0_dB,BER32APSK_double,b-*,LineWidth,2);xlabel(E_b/N_0 [dB]);ylabel(误比特率 (BER));grid minor;title(不同半径倍率下 APSK 的 BER 性能);legend(16-APSK原半径,32-APSK原半径,16-APSK半径减半,32-APSK半径减半,...16-APSK半径加倍,32-APSK半径加倍,Location,southwest);%%新增图4精细扫描半径比突出最优半径%针对16-APSK(M[4,12])固定内环半径1外环半径从1.5到5.0步进0.5R_outer_values1.5:0.5:5.0;N_radiilength(R_outer_values);BER_matrixzeros(N_radii,length(EbN0_dB));%存储所有半径下的BERfprintf(开始精细扫描半径比...\n);foridx1:N_radii R_test[1,R_outer_values(idx)];BER_matrix(idx,:)BER_APSK(M_16,R_test,EbN0_dB);fprintf( 外环半径 %.1f 完成\n,R_outer_values(idx));end%绘制图4(a)BER vs Eb/N0 随半径变化 figure;%使用颜色映射区分不同半径 colorsjet(N_radii);%彩虹色foridx1:N_radiisemilogy(EbN0_dB,BER_matrix(idx,:),Color,colors(idx,:),LineWidth,1.8);hold on;endxlabel(E_b/N_0 [dB]);ylabel(误比特率 (BER));grid minor;title(16-APSK 在不同外环半径下的 BER 性能内环半径固定为1);%添加颜色条显示半径值colormap(jet);caxis([R_outer_values(1),R_outer_values(end)]);colorbar(Ticks,R_outer_values,TickLabels,arrayfun((x)sprintf(%.1f,x),R_outer_values,UniformOutput,false));hold off;%绘制图4(b)在固定 Eb/N0 下 BER 随半径的变化例如 Eb/N010dB 和12dB Eb_fixed_idxfind(EbN0_dB10);%选取10dBifisempty(Eb_fixed_idx)[~,Eb_fixed_idx]min(abs(EbN0_dB-10));end BER_vs_radius_10dBBER_matrix(:,Eb_fixed_idx);Eb_fixed_idx2find(EbN0_dB12);ifisempty(Eb_fixed_idx2)[~,Eb_fixed_idx2]min(abs(EbN0_dB-12));end BER_vs_radius_12dBBER_matrix(:,Eb_fixed_idx2);figure;semilogy(R_outer_values,BER_vs_radius_10dB,ro-,LineWidth,2);hold on;semilogy(R_outer_values,BER_vs_radius_12dB,bs-,LineWidth,2);xlabel(外环半径 (内环半径1));ylabel(误比特率 (BER));grid minor;title(16-APSK 在固定 E_b/N_0 下 BER 随外环半径的变化);legend(E_b/N_0 10 dB,E_b/N_0 12 dB,Location,northwest);%标注最优半径[minBER10,idx10]min(BER_vs_radius_10dB);[minBER12,idx12]min(BER_vs_radius_12dB);text(R_outer_values(idx10),minBER10*1.5,sprintf(最优半径%.1f,R_outer_values(idx10)),Color,r);text(R_outer_values(idx12),minBER12*2,sprintf(最优半径%.1f,R_outer_values(idx12)),Color,b);hold off;fprintf(精细扫描完成。\n);4 总结本文通过MATLAB仿真系统对比了QAM与APSK两种高阶调制在AWGN信道下的BER性能。结果表明QAM在相同阶数下性能略优。同时揭示了APSK性能对环间半径比的高度敏感性为实际系统调制方式选择与参数优化提供了重要参考。仿真完整代码可见往期文章文末VX公众号包含往期博客所有代码所见即所得