星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM

简介: 本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。

1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):

1.jpeg
2.jpeg
3.jpeg

2.算法涉及理论知识概要
星座图整形技术(Constellation Shaping Techniques)是现代光纤通信系统中提升数据传输效率的关键技术之一,通过优化星座点的布局和调制符号的使用概率,能在不增加系统功率或带宽的前提下,显著提高系统的谱效率和误码率性能。下面将从原理角度深入对比标准QAM(Quadrature Amplitude Modulation)、概率整形QAM(Probabilistic Shaping QAM)以及几何整形QAM(Geometric Shaping QAM),

2.1 标准QAM
标准QAM是一种广泛使用的多进制调制技术,它通过在两个正交载波上同时传输多个离散的振幅水平,以达到高数据速率传输的目的。对于一个M-QAM星座图,有M=I2个星座点,其中I是每个轴上的星座点数。每个星座点代表一个复数值,通常按照等边网格排列。标准QAM的调制与解调过程遵循等概率原则,即所有星座点被使用的概率相同。

a6abcbb7a9ad8f4af5cbc6be08e28f09_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.2 概率整形QAM(PS-QAM)
概率整形QAM通过改变各个星座点的使用概率,使得具有较低能量的符号出现得更频繁,从而降低整个系统的平均能量,进而提高信号的传输效率。这一过程实际上是对信号进行软决策前向纠错编码(FEC)之前的一种非均匀映射。概率整形的核心是利用非均匀的符号分布来逼近容量极限,通常采用高斯分布,因为高斯分布是最接近香农极限的分布。

560d756a673843a4c971abfe85fa2f6d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.3 几何整形QAM(GS-QAM)
几何整形QAM则是直接在星座图的几何结构上进行优化,通过调整星座点的位置,使得相邻点之间的距离最大化,以此来减少符号间的相互干扰,提高抗噪声性能。这种技术不改变符号的使用概率,而是通过优化星座点布局来改善系统的性能。

  在M-QAM星座图中,优化的目标可以是最大化最小欧氏距离:

056d67b996f61f093fff924aefcfe2cf_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   几何整形的优化问题可以转化为一个组合优化问题,例如通过遗传算法、模拟退火等全局优化技术寻找最优星座点布局。

   标准QAM因其简单性和广泛的应用基础,在很多系统中仍占有一席之地。概率整形QAM更适合对能效有严格要求的长距离光纤通信系统。几何整形QAM在对抗信道干扰方面有独特优势,适用于干扰严重的通信环境。

3.MATLAB核心程序

    for k=1:1:LEN                          
        y_k = Re_PS_QAMdata(k,1);
        y_k_bit = PS_randomData(k,1);

        q_ch_con_pro = func_pro(PS_QAMdata,Re_PS_QAMdata(1:length(PS_QAMdata)),y_k,x,LEN);%分母条件概率
        denominator = sum(q_ch_con_pro.*px);

        for i = 1:1:log2(M)                  
            bit_temp = bitget(y_k_bit,i);       
            if bit_temp ==0
               x_bit = x_bit_0(:,i);
               px_bit =  px_bit_0(:,i);
            else
                x_bit = x_bit_1(:,i);
                px_bit = px_bit_1(:,i);          
            end
            % 分子条件概率 
            q_ch_con_pro_bit = func_pro(PS_QAMdata,Re_PS_QAMdata(1:length(PS_QAMdata)),y_k,x_bit,LEN);
            numerator = sum(q_ch_con_pro_bit.*px_bit);

            GMI_temp1 = log2(numerator/denominator);
            GMI_bit(i,1) = GMI_temp1;
        end
        GMI_temp2(k,1) = sum(GMI_bit);
        if isnan(GMI_temp2(k,1))==1
           GMI_temp2(k,1) =0; 
        end
    end
    % 计算GMI总和
    GMI_symbol  = sum(GMI_temp2);
    GMI         = Hx + GMI_symbol/LEN;
    % 存储最小的GMI或调制阶数的对数
    GMI2(ij,ll) = min(GMI,log2(M));
0X_066m
相关文章
|
3天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
48 31
|
3天前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。
|
2天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
10天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
10天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
224 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
140 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
107 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章

下一篇
DataWorks