首页 > 编程语言 >m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真

时间:2024-05-09 22:13:55浏览次数:30  
标签:误码率 NMS Selch 译码 算法 归一化 优化

1.算法仿真效果

matlab2022a仿真结果如下:

 

遗传优化迭代过程:

 

 

 

误码率对比:

 

 

 

 

 

2.算法涉及理论知识概要

       低密度奇偶校验码(Low-Density Parity-Check Code, LDPC码)因其优越的纠错性能和近似香农极限的潜力,在现代通信系统中扮演着重要角色。归一化最小和(Normalized Min-Sum, NMS)译码算法作为LDPC码的一种高效软译码方法,通过调整归一化因子来改善其性能。而基于遗传优化的NMS译码算法最优归一化参数计算,旨在通过进化计算策略自动寻找最佳的归一化参数,进一步提升译码性能。

 

       LDPC码是由稀疏校验矩阵定义的一类线性分组码。其校验矩阵H具有较低的行和列权重,这使得使用迭代算法进行译码成为可能。NMS算法是基于最小和(Min-Sum, MS)算法的改进版本,旨在减小最小和算法的过估计问题。

 

      在NMS算法中,每个消息更新规则可以表示为:

 

 

 

        遗传算法(Genetic Algorithm, GA)是一种基于自然选择和遗传机制的全局搜索优化方法,适用于解决复杂的非线性优化问题。在基于遗传优化的NMS译码参数搜索中,归一化因子R被视为一个需要优化的基因,通过不断迭代的“选择”、“交叉”和“变异”操作,寻找使译码性能最优的R值。

 

       在迭代过程中,遗传算法通过不断探索搜索空间,逐渐逼近这个全局最优解。值得注意的是,归一化因子R的取值范围通常限制在(0, 1]区间内,因为过大的R可能导致消息放大失真,而过小的R则可能无法有效抑制过估计。

 

3.MATLAB核心程序

 

while gen < MAXGEN
      gen
      Pe0 = 0.999;
      pe1 = 0.001; 
 
      FitnV=ranking(Objv);    
      Selch=select('sus',Chrom,FitnV);    
      Selch=recombin('xovsp', Selch,Pe0);   
      Selch=mut( Selch,pe1);   
      phen1=bs2rv(Selch,FieldD);   
 
      for a=1:1:NIND  
          X           = phen1(a,:);
          %计算对应的目标值
          [epls]      = func_obj(X);
          E           = epls;
          JJ(a,1)     = E;
      end 
      
      Objvsel=(JJ);    
      [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen=gen+1; 
 
 
      Error2(gen) = mean(JJ);
end 
figure
plot(Error2,'linewidth',2);
grid on
xlabel('迭代次数');
ylabel('遗传算法优化过程');
legend('Average fitness');
 
................................................................................
fitness=mean(Ber);
 
figure
semilogy(SNR, Ber,'-b^',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.2,0.9,0.5]);
 
xlabel('Eb/N0(dB)'); 
ylabel('Ber');
title(['归一化最小和NMS,GA优化后的alpha = ',num2str(aa)])
grid on;
save NMS4.mat SNR Ber Error2 aa

 

  

 

标签:误码率,NMS,Selch,译码,算法,归一化,优化
From: https://www.cnblogs.com/51matlab/p/18183171

相关文章

  • m基于LDPC编译码的matlab误码率仿真,对比SP,MS,NMS以及OMS四种译码算法
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       低密度奇偶校验码(LDPC)译码是现代通信系统中一种高效的错误校正技术,广泛应用于无线通信、卫星通信和数据存储等领域。LDPC码因其良好的纠错性能和接近香农极限的潜力而受到重视。本文......
  • 使用归一化盒过滤器对图像进行平滑处理
    使用归一化盒过滤器对图像进行平滑处理前言在OpenCV中提供了一些函数将不同的线性滤波器应用于平滑图像:NormalizedBoxFilter归一化盒过滤器GaussianFilter高斯滤波器MedianFilter中值滤波器BilateralFilter双边过滤器其中归一化盒过滤器是最简单的,我们就从归一......
  • js--参数归一化-日期格式化函数
    //参数归一化///*日期时间格式化date:日期时间isFillZero:是否需要0补位*/functionformate(date,formater,isFillZero=false){formater=_formatNormalize(formater)function_isFillZero(value,length){if(isFillZero){return(value+'').p......
  • 卷积神经网络基础---批量归一化(BN层、 Batch Normalization)
    原文链接:https://blog.csdn.net/weixin_43972154/article/details/1201998331.BN层的作用BN层使得神经网络能够设定较高的初始学习率,加速模型收敛过程;将数据进行归一化处理,即在网络的每一层输入的时候,插入了一个归一化层,然后再进入网络的下一层。这样能提高网络的泛化能力,使得网......
  • 计算机视觉中各种归一化算法
    归一化算法是对激活函数的输入进行归一化将featuremapshape设为[N,C,H,W],其中N表示batchsize,C表示通道数,H、W分别表示特征图的高度、宽度BatchNormalization在batch上,对N、H、W做归一化,保留通道C的维度。对较小的batchsize效果不好,BN适用于固定深度的前向神经网络,如C......
  • 【MATLAB源码-第173期】基于matlab的RS编码的2FSK通信系统误码率仿真,通过AWGN信道输出
    操作环境:MATLAB2022a1、算法描述通信系统的基本框架在现代通信系统中,数据的传输通常涉及四个基本步骤:源编码、信道编码、调制和传输。源编码主要负责压缩数据,减少传输的数据量。信道编码则通过添加冗余信息来提高传输数据的可靠性。调制是将数字信号转换为适合在物理信道......
  • 【MATLAB源码-第10期】基于matlab的pi/4DQPSK,π/4DQPSK的误码率BER理论和实际对比仿
    1、算法描述蓝牙是一种被广泛应用的无线通信标准,工作在2.4GHz-2.4835GHz频段范围,所用的调制方式有:GFSK,PI/4-DQPSK。北美第二代数字蜂窝移动通信系统D-AMPS和日本的JDC蜂窝系统均采用PI/4-DQPSK,欧洲的GSM系统采用GMSK。PI/4-DQPSK与GMSK等恒包络调制技术相比有更高的频谱利......
  • 归一化技术比较研究:Batch Norm, Layer Norm, Group Norm
    归一化层是深度神经网络体系结构中的关键,在训练过程中确保各层的输入分布一致,这对于高效和稳定的学习至关重要。归一化技术的选择(Batch,Layer,GroupNormalization)会显著影响训练动态和最终的模型性能。每种技术的相对优势并不总是明确的,随着网络体系结构、批处理大小和特定任务......
  • 基于Volterra级数的DFE判决反馈均衡器可见光通信系统误码率matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述      Volterra级数是一种描述非线性系统行为的强大工具。在一个非线性系统中,输出信号y(t)可以通过输入信号x(t)的多个卷积和来表示,形成所谓的Volterra级数。第一阶Volterra核(线性部......
  • NMS 系列:soft,softer,weighted,iou-guided, Diou, Adaptive
    系列文章目录IOU系列:IOU,GIOU,DIOU,CIOU文章目录系列文章目录一、NMS简介(一)为什么要使用NMS(二)NMS的算法流程(三)NMS的置信度重置函数(四)NMS的局限性(五)改进思路二、Soft-NMS概述(一)Soft-NMS的思想(二)Soft-NMS的置信度重置函数三、softerNMS(一)提出背景(二)softerNMS的核心......