第【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 Mklog2​M4总传输比特数n nn100,000等效符号数n / k n / kn/k25,000比特信噪比范围E b / N 0 E_b/N_0Eb​/N0​0 ~ 10 dB步进 1 dB信道模型—加性高斯白噪声AWGN调制映射方式—格雷编码Gray / 自然二进制编码Binary解调准则—最大似然ML等价于最小欧氏距离噪声生成—复高斯白噪声实虚部分别独立生成3.3 仿真结果分析可以看到格雷编码的误码率显著低于二进制编码且与理论值高度吻合验证了格雷编码通过最小化相邻星座点汉明距离有效降低误比特率的核心优势3.4 部分代码clc,clear,close all;%%1.数据生成M16;%调制阶数 klog2(M);%每符号比特数(k4)n100000;%处理的总比特数 dataInrandi([01],n,1);%生成随机二进制序列 dataInMatrixreshape(dataIn,length(dataIn)/k,k);dataSymbolsInbi2de(dataInMatrix);%转换为符号索引(0~15)%%2.调制dataModQAM_mod_Binary(dataSymbolsIn);%自然二进制编码调制 dataModGQAM_mod_Gray(dataSymbolsIn);%格雷编码调制%%3.AWGN 信道与 BER 计算EbNo_vec0:1:10;%Eb/N0 扫描范围(dB)ber_veczeros(size(EbNo_vec));%二进制编码 BER berG_veczeros(size(EbNo_vec));%格雷编码 BER theoretical_berzeros(size(EbNo_vec));%理论 BERforh1:length(EbNo_vec)snrEbNo_vec(h)10*log10(k);receivedSignalawgn_channel(dataMod,snr);receivedSignalGawgn_channel(dataModG,snr);dataSymbolsOutQAM_demod_Binary(receivedSignal);dataSymbolsOutGQAM_demod_Gray(receivedSignalG);dataOutMatrixde2bi(dataSymbolsOut,k);dataOutdataOutMatrix(:);dataOutMatrixGde2bi(dataSymbolsOutG,k);dataOutGdataOutMatrixG(:);[~,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]);%宽屏显示foridx1:length(EbNo_demo)snr_demoEbNo_demo(idx)10*log10(k);%生成两种编码的含噪信号注意使用相同的噪声种子为了公平对比可固定随机种子%但为了显示典型效果这里分别独立生成 rx_binaryawgn_channel(dataMod,snr_demo);rx_grayawgn_channel(dataModG,snr_demo);%----左子图二进制编码----subplot(length(EbNo_demo),2,(idx-1)*21);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)*22);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公众号包含往期博客所有代码所见即所得

相关新闻

Unity UI进阶:RectTransform组件的参数详解与应用

Unity UI进阶:RectTransform组件的参数详解与应用

Unity UI进阶:RectTransform组件的参数详解与应用📚 本章学习目标:深入理解RectTransform组件的参数详解与应用的核心概念与实践方法,掌握关键技术要点,了解实际应用场景与最佳实践。本文属于《Unity工程师成长之路教程…

2026/8/2 10:16:30 阅读更多 →
I2C ADC模块实战指南:从ADS1115原理到Arduino/树莓派高精度数据采集

I2C ADC模块实战指南:从ADS1115原理到Arduino/树莓派高精度数据采集

1. 项目缘起:为什么需要一块独立的I2C ADC模块?在嵌入式开发和电子DIY项目中,模拟信号采集是一个绕不开的经典需求。无论是读取电位器的旋转角度、测量光照强度、监控电池电压,还是采集各类传感器的模拟输出(如温度、压…

2026/8/2 10:15:30 阅读更多 →
PCA9685 PWM驱动器:16通道舵机/LED控制解决方案与Arduino实战

PCA9685 PWM驱动器:16通道舵机/LED控制解决方案与Arduino实战

1. 项目概述:为什么你需要一个16通道的PWM驱动器?如果你玩过Arduino控制舵机或者LED灯带,大概率会遇到一个头疼的问题:板子上的PWM引脚不够用。Arduino Uno只有6个数字PWM引脚,就算全用上,想做个多关节的机…

2026/8/2 10:15:30 阅读更多 →

最新新闻

【SD图生图终极指南】:20年AI视觉工程师亲授5大核心技巧,90%新手踩坑的3个致命误区全规避

【SD图生图终极指南】:20年AI视觉工程师亲授5大核心技巧,90%新手踩坑的3个致命误区全规避

更多请点击: https://codechina.net 第一章:SD图生图的核心原理与工作流全景解析 Stable Diffusion(SD)的图生图(img2img)模式并非简单地对输入图像进行像素级编辑,而是以潜在空间(…

2026/8/2 15:36:55 阅读更多 →
AI内容审核机制失效的7个致命信号:从误杀率飙升到合规危机,一线工程师紧急修复手册

AI内容审核机制失效的7个致命信号:从误杀率飙升到合规危机,一线工程师紧急修复手册

更多请点击: https://codechina.net 第一章:AI内容审核机制失效的7个致命信号:从误杀率飙升到合规危机,一线工程师紧急修复手册 当AI审核系统开始将医疗科普文章标记为“虚假健康信息”,把开源许可证文本判定为“版权…

2026/8/2 15:36:55 阅读更多 →
从Arduino原型到PCB设计:使用Upverter实现Grove模块的电路固化

从Arduino原型到PCB设计:使用Upverter实现Grove模块的电路固化

1. 项目概述:从面包板到PCB的必经之路如果你刚拿到一个Grove Arduino初学者套件,正兴奋地用杜邦线连接各种传感器和屏幕,那么恭喜你,你已经迈出了硬件世界的第一步。但很快,你就会遇到一个所有创客和硬件工程师都会面临…

2026/8/2 15:36:55 阅读更多 →
reTerminal E1004边缘计算终端:从开箱到工业应用实战指南

reTerminal E1004边缘计算终端:从开箱到工业应用实战指南

1. 项目概述:为什么选择 reTerminal E1004 作为你的第一个边缘计算设备?如果你正在寻找一款能让你快速上手、功能全面且开箱即用的边缘计算和物联网开发板,那么 reTerminal E1004 绝对是一个绕不开的选择。它不像那些只有核心板和密密麻麻排针…

2026/8/2 15:36:55 阅读更多 →
PIR运动传感器原理与实战:从热释电效应到智能感知系统集成

PIR运动传感器原理与实战:从热释电效应到智能感知系统集成

1. 从“动静”到“信号”:PIR运动传感器的核心价值如果你玩过Arduino或者树莓派,想给项目加点“感知”能力,那Grove - PIR运动传感器大概率是你购物车里的常客。这东西看起来平平无奇,一个白色半球形透镜,几根引线&…

2026/8/2 15:36:55 阅读更多 →
时间序列预测建模全流程解析:从ARIMA到机器学习实战指南

时间序列预测建模全流程解析:从ARIMA到机器学习实战指南

1. 项目概述:为什么时间序列预测是科研新手的“必修课”? 如果你刚踏入科研领域,无论是经济学、气象学、生物信息学还是工程学,大概率会遇到一个共同的任务:基于历史数据预测未来。这个任务的核心,就是时间…

2026/8/2 15:35:55 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →