当前位置: 首页 > news >正文

第【100】期--基于格雷编码的QAM系统在AWGN信道下的误码率分析--MATLAB完整代码

关注我,追更更多通信仿真代码!

文章目录

    • 摘要
    • 一、引言
    • 二、系统模型与理论基础
      • 2.1 16-QAM系统基带模型
      • 2.2 星座映射策略与汉明距离分析
      • 2.3 最大似然译码
      • 2.4 理论误码率
    • 三、仿真系统设计
      • 3.1 映射细节
      • 3.2 仿真参数
      • 3.3 仿真结果分析
      • 3.4 部分代码
    • 四、结论

摘要

正交幅度调制(QAM)凭借其卓越的频谱效率,在现代高速数字通信系统中占据核心地位。本文以16-QAM调制解调系统为研究对象,深入探讨了格雷编码与自然二进制编码两种星座映射策略对系统抗噪声性能的影响机理。基于加性高斯白噪声(AWGN)信道模型,采用最大似然准则下的最小欧氏距离解调算法,建立了完整的基带仿真链路。通过对比仿真实验与理论误码率曲线,定量分析了两种映射方式在符号判决过程中的汉明距离分布差异。研究结果表明,格雷编码通过将相邻星座点之间的汉明距离最小化,在噪声引起的星座点偏移判决中显著降低了比特错误概率,验证了格雷编码在高阶QAM系统中的工程应用价值。

一、引言

  • 随着无线通信技术的飞速发展,有限的频谱资源与日益增长的传输速率需求之间的矛盾愈发突出。正交幅度调制(Quadrature Amplitude Modulation, QAM)作为一种将信息载荷同时赋予载波幅度与相位的二维调制技术,能够在有限的信道带宽内高效传输多比特信息,因而被广泛采纳为数字电视广播、Wi-Fi协议簇以及4G/5G蜂窝通信等标准的核心物理层技术。

  • 在QAM系统中,二进制比特流至复数星座点的映射规则直接影响着系统的端到端误码性能。理论分析表明,当接收信号受高斯白噪声干扰落入相邻星座点的判决域时,所产生的比特错误数取决于两星座点对应比特序列的汉明距离。自然二进制编码因未考虑空间邻接关系,常导致相邻星座点具有较大的汉明距离;而格雷编码则通过精心设计的映射表,确保任意几何相邻点之间仅相差一个比特。

  • 本文旨在通过构建完整的MATLAB仿真链路,系统评估上述两种映射方式在AWGN信道下的误码率差异。

二、系统模型与理论基础

2.1 16-QAM系统基带模型

2.2 星座映射策略与汉明距离分析

星座映射是将 k 位信息比特唯一映射至星座点集合 S 的数学法则,本质上建立了汉明空间与欧氏空间之间的拓扑对应关系。


2.3 最大似然译码

2.4 理论误码率

三、仿真系统设计

3.1 映射细节




从表中可直观验证:任意水平或垂直相邻的两个星座点,其对应的 4 比特序列均仅在 1 个位上存在差异(汉明距离恒为 1)。

3.2 仿真参数

参数名称符号/说明取值/设置
调制阶数M MM16
每符号比特数k = log ⁡ 2 M k = \log_2 Mk=log2M4
总传输比特数n nn100,000
等效符号数n / k n / kn/k25,000
比特信噪比范围E b / N 0 E_b/N_0Eb/N00 ~ 10 dB,步进 1 dB
信道模型加性高斯白噪声(AWGN)
调制映射方式格雷编码(Gray) / 自然二进制编码(Binary)
解调准则最大似然(ML),等价于最小欧氏距离
噪声生成复高斯白噪声,实虚部分别独立生成

3.3 仿真结果分析


可以看到,格雷编码的误码率显著低于二进制编码,且与理论值高度吻合,验证了格雷编码通过最小化相邻星座点汉明距离有效降低误比特率的核心优势

3.4 部分代码

clc,clear,close all;%%====================1.数据生成====================M=16;%调制阶数 k=log2(M);%每符号比特数(k=4)n=100000;%处理的总比特数 dataIn=randi([01],n,1);%生成随机二进制序列 dataInMatrix=reshape(dataIn,length(dataIn)/k,k);dataSymbolsIn=bi2de(dataInMatrix);%转换为符号索引(0~15)%%====================2.调制====================dataMod=QAM_mod_Binary(dataSymbolsIn);%自然二进制编码调制 dataModG=QAM_mod_Gray(dataSymbolsIn);%格雷编码调制%%====================3.AWGN 信道与 BER 计算====================EbNo_vec=0:1:10;%Eb/N0 扫描范围(dB)ber_vec=zeros(size(EbNo_vec));%二进制编码 BER berG_vec=zeros(size(EbNo_vec));%格雷编码 BER theoretical_ber=zeros(size(EbNo_vec));%理论 BERforh=1:length(EbNo_vec)snr=EbNo_vec(h)+10*log10(k);receivedSignal=awgn_channel(dataMod,snr);receivedSignalG=awgn_channel(dataModG,snr);dataSymbolsOut=QAM_demod_Binary(receivedSignal);dataSymbolsOutG=QAM_demod_Gray(receivedSignalG);dataOutMatrix=de2bi(dataSymbolsOut,k);dataOut=dataOutMatrix(:);dataOutMatrixG=de2bi(dataSymbolsOutG,k);dataOutG=dataOutMatrixG(:);[~,ber]=biterr(dataIn,dataOut);[~,berG]=biterr(dataIn,dataOutG);ber_vec(h)=ber;berG_vec(h)=berG;theoretical_ber(h)=3/8*erfc(sqrt(0.4*10^(EbNo_vec(h)/10)));end%%====================4.绘制 BER 曲线====================figure(1);semilogy(EbNo_vec,ber_vec,'r-s','LineWidth',1.5,'MarkerFaceColor','r');hold on;semilogy(EbNo_vec,berG_vec,'b-o','LineWidth',1.5,'MarkerFaceColor','b');semilogy(EbNo_vec,theoretical_ber,'k-','LineWidth',2);grid on;xlabel('Eb/N0 (dB)');ylabel('Bit Error Rate (BER)');title('16-QAM 误码率性能对比');legend('自然二进制编码 (仿真)','格雷编码 (仿真)','格雷编码 (理论)','Location','southwest');hold off;%%====================5.绘制星座图(对比二进制与格雷编码)====================EbNo_demo=[0,6,12];%低、中、高信噪比figure(2);set(gcf,'Position',[100,100,1400,900]);%宽屏显示foridx=1:length(EbNo_demo)snr_demo=EbNo_demo(idx)+10*log10(k);%生成两种编码的含噪信号(注意使用相同的噪声种子?为了公平对比,可固定随机种子)%但为了显示典型效果,这里分别独立生成 rx_binary=awgn_channel(dataMod,snr_demo);rx_gray=awgn_channel(dataModG,snr_demo);%----左子图:二进制编码----subplot(length(EbNo_demo),2,(idx-1)*2+1);plot(real(rx_binary),imag(rx_binary),'b.','MarkerSize',4);hold on;plot(real(dataMod),imag(dataMod),'r*','MarkerSize',10,'LineWidth',1.5);hold off;grid on;axis([-55-55]);axis square;xlabel('同相分量 (I)');ylabel('正交分量 (Q)');title(['Eb/N0 = ',num2str(EbNo_demo(idx)),' dB (二进制编码)']);legend('接收信号','理想星座','Location','best');%----右子图:格雷编码----subplot(length(EbNo_demo),2,(idx-1)*2+2);plot(real(rx_gray),imag(rx_gray),'b.','MarkerSize',4);hold on;plot(real(dataModG),imag(dataModG),'r*','MarkerSize',10,'LineWidth',1.5);hold off;grid on;axis([-55-55]);axis square;xlabel('同相分量 (I)');ylabel('正交分量 (Q)');title(['Eb/N0 = ',num2str(EbNo_demo(idx)),' dB (格雷编码)']);legend('接收信号','理想星座','Location','best');endsgtitle('16-QAM 星座图对比:二进制编码 vs 格雷编码');%%====================6.保存结果====================saveas(figure(1),'BER_Curve.png');saveas(figure(2),'Constellation_Comparison.png');disp('仿真完成!BER 曲线和星座对比图已保存。');

四、结论

本文通过 MATLAB 仿真验证了格雷编码在 16-QAM 系统中的抗噪声优势。仿真结果表明,在 AWGN 信道下,格雷编码通过最小化相邻星座点间的汉明距离,相比自然二进制编码能显著降低误比特率,其性能曲线与理论值高度吻合。这证实了格雷编码在高阶 QAM 调制中的工程价值,为实际通信系统设计提供了参考。

完整仿真代码可见往期文章文末VX公众号(包含往期博客所有代码),所见即所得

http://www.jsqmd.com/news/1312761/

相关文章:

  • 本地车主福音:宏宇汽修一站式服务,全天候为您保驾护航 - 国麟测评
  • SQL注入实战:从靶场到真实漏洞的攻防演练
  • 郑州激光切管机靠谱工厂盘点,源头厂家甄选不踩坑 - 优企甄选
  • (2026最新)丽水防水补漏本地人必选的正规靠谱公司推荐-房屋漏水检测维修师傅上门-卫生间厨房阳台房顶外墙漏水检测精准测漏 - 吉林同城获客
  • 广州地址挂靠公司口碑好测评推荐:广州服务机构实力盘点与挑选攻略 - 米諾
  • 西山区昆明防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • 2026 年 8 月沈阳非急救医疗转运产业全景调研与本土合规企业运营实录 - 平台推荐官
  • 新手做抖店无货源副业怎么操作?1688代发+抖掌柜自动化流程详解 - 抖掌柜
  • QQ空间历史说说数据导出工具GetQzonehistory:技术实现与隐私保护完整指南
  • 南山防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • SenseCAP Indicator Matter开发板实战:从环境搭建到应用开发全解析
  • 屯溪防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • 专科生AI降重指南:9款工具实测与实操技巧
  • 北京朝阳区防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • 意式质感人居,匠筑安庆理想家|安庆大维装饰,把低调奢华搬进寻常生活 - 安庆大维装饰
  • 电动车托运怎么便宜?2026年寄电动车避坑指南(附省钱方案) - 快递物流资讯
  • URB4805LD-60WR3 适配优选 钡特电源 VB60-48S05LD|60W工业48V转5V模块电源硬件参数技术解析
  • 普洱思茅区防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • Unity面试必备:Lua核心特性与热更新实战解析
  • 为什么宝格丽无钻款式流通更快?走访顺义多家二奢商户找到答案 - 生活时报
  • 理性看待整装套餐,选择装修公司需要看清这几个核心维度 - 新概念装饰
  • 做抖音电商副业怎么规避发货地址风险?合规运营技巧分享 - 抖掌柜
  • Cocos2d-x二维游戏场景性能优化:从架构设计到渲染调优实战
  • 2026年餐饮设备更新周期加速,广州二手物资回收行业如何实现高效闭环? - 优质品牌商家
  • 四川全自动称重系统厂家推荐:2026年主流品牌与服务能力分析 - 优质品牌商家
  • 终极网盘直链下载助手:无需客户端,九大平台文件下载完全指南
  • 深度学习图像分类数据集—水质量识别分类
  • 3步实现PNG到SVG的无损转换:vectorizer让你的图像无限放大不失真
  • 阿里云天池免费GPU实战指南:从零部署PyTorch项目到云端训练
  • 2026年成都端午粽子选购指南:本地靠谱渠道与品牌推荐参考 - 优质品牌商家