通过概率整形技术对64QAM进行星座图整形,并输出GMI指标

简介: 通过概率整形技术对64QAM进行星座图整形,并输出GMI指标

1.算法描述

   对于现有开销为20%左右的FEC,Pre FEC 的BER门限大概是2.4e-2。根据BER和 SNR之间的理论关系,我们可以得到不同阶数QAM调制格式时,达到纠前无误码的Required SNR。假设对于QPSK和 8QAM,16QAM分别为a, b, c,其中a<b<c。那现在对于某一个通信系统(考虑某一波特率,某一给定距离下)的SNR的值介于a和b之间,那怎么办呢?如果传QPSK,SNR浪费了,如果传8QAM性能又比较差,不能满足无误码的要求。所以之前的系统中,这种情况往往是传QPSK,多余的SNR留作了系统裕量。无疑,这样显然浪费了SNR资源,效率没有最大化。还有一个问题,对于MQAM,每个符号携带的信息量是整数,这样在设计给定线路速率的时候,比如200G,如果采用双偏的QPSK调制,波特率为64G左右,而如果采用双偏的8QAM调制,波特率为45G左右,波特率的调节十分有限。如果考虑12.5GHz为精细度的Flex grid的话,分别至少要75GHz和62.5GHz的信道间隔。这对于提高频谱效率是不利的。要保证更高的频谱利用效率,应当调节波特率使之尽可能地充满最小的信道间隔。比如把200G的信号填充在50GHz间隔内。也许你会认为16QAM的话,只用32Gbaud,可以在50GHz间隔中传输的。但是200G 16QAM的传输距离大概仅能传输600km,根本满足不了很多的长距骨干网应用。因此,QAM调制在浪费SNR资源的同时,也给系统设计和优化带来了不少的麻烦。

  通过改变改变星座图不同位置符号出现的概率,让外圈星座点出现频率降低,有利于减小平均功率,相当于增加了最小欧氏距离,从而有更好的传输性能。这就是我们所说的概率星座整形(PCS)了。它究竟有什么好处呢?
  1. 具有整形增益,接近香农极限,如图5所示。
  2. 有望达到更高的传输容量,显著提升频谱效率,如图6所示。
  3. 传输速率可以灵活调整,以完美适配不同的传输信道,如图7所示。
  4. 无须多种支持多种QAM映射,仅使用方形QAM调制,需调整整形系数
  5. 无须调整FEC等技术方案

    PCS的关键在于如何对均匀概率的输出映射成非均匀概率幅度分布,而且该概率分布还应该是最优的。理论上可以证明Maxwell-Boltzman分布对于方形QAM整形是最优的概率分布。而这一过程是由概率适配器(Distribution Matcher,DM)来实现的,过程如图8所示。根据实现方法,DM可以分为三类,CCDM,ESS,HIDM。

    概率整形技术与现有的光通信系统相结合的呢?如图9所示,二进制数据经过DM后变成非均匀分布的符号,将这些整形后的符号以二进制标签来表示,以便于进行FEC编码,然后再像普通光通信一样,进行星座图的映射,电光调制,光纤传输,光电转换,DSP处理,解调,解码等过程后,再将二进制标签转化为符号,送入DM逆变换器中,恢复发送的数据。注意到,整形是在FEC之前完成的,并且如果采用概率幅度整形(PAS),一般PCS都是这样做的,整形和FEC是完全独立的,FEC也不会改变DM映射之后的概率分布,这给设计带来了很好的灵活性,也降低了实现的复杂度。正是基于此,Nokia在业内最先发布了支持PCS技术的相干DSP芯片PSE3,并且最近成功完成现场测试,验证了可行性。华为也将PCS成功应用于其自研ODSP芯片中,取得较好的效果。

2.仿真效果预览
matlab2022a仿真结果如下:

672eeb38cbcf074e77558a0ce34ad9f9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
66ec216ff076df123b18acfbb77469dc_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
e5eb2c043f626a2ddff24955dd805142_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序

    for ii= 1:1:order_QAM
        tempx1=datx(ii,1);
        if bitget(tempx1,i)==0
             tempx2     = x2(ii,1); 
             tempx4     = x4(ii,1); 
             xb0(n1,i)  = tempx2;
             pxb0(n1,i) = tempx4;
             n1 = n1+1;
        else 
             tempx2     = x2(ii,1); 
             tempx4     = x4(ii,1); 
             xb1(n2,i)  = tempx2;
             pxb1(n2,i) = tempx4;
             n2 = n2+1;
        end
    end
    n1=1;
    n2=1;
end
 
tic
SNR= -20:30;
for ijk= 1:length(SNR)
    ijk
    Nunifm_dqam = awgn(unifm_dqam,SNR(ijk),'measured');
    NPS_QAMs    = awgn(PS_QAMs,SNR(ijk),'measured');
    %GMI
    for k=1:Lens                            
        y_k     = NPS_QAMs(k,1);
        y_k_bit = imsgss(k,1);
        %分母条件概率
        q_chs   = ch_con_pro(PS_QAMs,NPS_QAMs,y_k,x,Lens);
        denss   = sum(q_chs.*px);
        for i = 1:log2(order_QAM)                 
            bit_temp = bitget(y_k_bit,i);       
            if bit_temp ==0
               x_bit  = xb0(:,i);
               px_bit =  pxb0(:,i);
            else
               x_bit  = xb1(:,i);
               px_bit =  pxb1(:,i);          
            end
.............................................................
n = n +1;
end
相关文章
|
3月前
|
Python
Python计算误码率,输入是0-1比特流矩阵和小数矩阵
本文提供了一个Python函数calculate_ber,用于计算两个NumPy矩阵表示的二进制信号和接收信号之间的误码率(BER),其中包括信号与接收信号的比较、误差计数以及BER的计算过程,并给出了具体的使用示例。
65 2
|
1月前
|
算法 数据安全/隐私保护
星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM
本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。
55 0
|
6月前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
65 1
|
6月前
|
语音技术 Python
量化模型是将浮点数运算转换为整数运算的过程
【2月更文挑战第32天】量化模型是将浮点数运算转换为整数运算的过程
64 1
|
11月前
|
C++
C++中浮点数据的精度输出控制?
C++中浮点数据的精度输出控制?
90 0
|
算法 异构计算
m基于PN导频序列和cordic算法的基带数据帧频偏估计和补偿FPGA实现,包含testbench
m基于PN导频序列和cordic算法的基带数据帧频偏估计和补偿FPGA实现,包含testbench
114 0
|
机器学习/深度学习
区间预测 | MATLAB实现QRBiGRU双向门控循环单元分位数回归时间序列区间预测
区间预测 | MATLAB实现QRBiGRU双向门控循环单元分位数回归时间序列区间预测
离散信道的线性分组编码和译码实现
离散信道的线性分组编码和译码实现
61 0
|
编解码 算法 Serverless
m通过概率整形技术对1024QAM进行星座图整形,并输出GMI指标
m通过概率整形技术对1024QAM进行星座图整形,并输出GMI指标
309 0
|
传感器 芯片
模拟量与数字量区别
模拟量与数字量区别
191 0