m基于归一化最小和译码算法的LDPC误码率性能仿真,对比不同的迭代次数,量化位宽以及归一化参数alpha

目录

1.算法仿真效果

2.MATLAB核心程序

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

4.完整MATLAB


1.算法仿真效果

matlab2022a仿真结果如下:

 

 

2.MATLAB核心程序

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
% rx: 接收到序列
% H: 校验矩阵
% iteration: 译码迭代次数
% parameter: 归一化参数,值为1表最小和算法;值为其他值,是对最小和算法的改进,归一化最小和,参数一般为常数0.75 
[M N] = size(H);
Lci = rx;
Lrji = zeros(M, N);
Pibetaij = zeros(M, N);
Lqij = H.*repmat(Lci, M, 1);
for n = 1:iteration
    n
   alphaij = sign(Lqij);
   betaij = abs(Lqij);
   % ----- Horizontal step -----
   for i = 1:M
      c1 = find(H(i, :));
      for k = 1:length(c1)
         minOfbetaij = realmax;
         for l = 1:length(c1)
            if l ~= k  
               if betaij(i, c1(l)) < minOfbetaij
                  minOfbetaij = betaij(i, c1(l));
               end
            end           
         end
         prodOfalphaij = prod(alphaij(i, c1))*alphaij(i, c1(k)); %找到出去当前位的符合乘积
         Lrji(i, c1(k)) =parameter*prodOfalphaij*minOfbetaij;      
      end
   end
   % ------ Vertical step ------
   for j = 1:N
      r1 = find(H(:, j));
      for k = 1:length(r1)         
         Lqij(r1(k), j) = Lci(j) + sum(Lrji(r1, j)) - Lrji(r1(k), j);    
      end
      LQi = Lci(j) + sum(Lrji(r1, j));
      if LQi < 0
         vHat(j) = 1;
      else
         vHat(j) = 0;
      end                 
   end
   if H*vHat'==zeros(M,1)
       break;
   end
end
% fprintf('Min-sum is done...\n');
14_022_m

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

        LDPC码是麻省理工学院Robert Gallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现简单,易于进行理论分析和研究,译码简单且可实行并行操作,适合硬件实现。

      LDPC ( Low-density Parity-check,低密度奇偶校验)码是由 Gallager 在1963 年提出的一类具有稀疏校验矩阵的线性分组码 (linear block codes),然而在接下来的 30 年来由于计算能力的不足,它一直被人们忽视。1996年,D MacKay、M Neal 等人对它重新进行了研究,发现 LDPC 码具有逼近香农极限的优异性能。并且具有译码复杂度低、可并行译码以及译码错误的可检测性等特点,从而成为了信道编码理论新的研究热点。
         Mckay ,Luby 提出的非正则 LDPC 码将 LDPC 码的概念推广。非正则LDPC码 的性能不仅优于正则 LDPC 码,甚至还优于 Turbo 码的性能,是目前己知的最接近香农限的码。
Richardson 和 Urbank 也为 LDPC 码的发展做出了巨大的贡献。首先,他们提出了一种新的编码算法,在很大程度上减轻了随机构造的 LDPC 码在编码上的巨大运算量需求和存储量需求。其次,他们发明了密度演进理论,能够有效的分析出一大类 LDPC 译码算法的译码门限。仿真结果表明,这是一个紧致的译码门限。最后,密度演进理论还可以用于指导非正则 LDPC码 的设计,以获得尽可能优秀的性能。
       LDPC水印系统结构框图LDPC码具有巨大的应用潜力,将在深空通信、光纤通信、卫星数字视频、数字水印、磁/光/全息存储、移动和固定无线通信、电缆调制/解调器和数字用户线(DSL)中得到广泛应用。
        M.Chiain 等对 LDPC 码用于有记忆衰落信道时的性能进行了评估。B.Myher 提出一种速率自适应 LDPC 编码调制的方案用于慢变化平坦衰落信道,经推广还可用于 FEC-ARQ 系统。
Flarino 开发的集成了 V-DLPC 的 flash-OFDM 移动无线芯片组己可用于基于 IP 的移动宽带网。VOCAL Technologies.Ltd 提出了一种用于 WLAN 的LDPC/Turbo 不对称解决方案,即下行链路采用 LDPC 码,上行链路采用 Turbo码。研究表明采用该方案后用于IEEE802.11 a/b/gWLAN移动终端的电池寿命可延长至原来的4倍。
        工业界也己经有 LDPC 编译码芯片问世。其中,处于领先地位的 Flarion公司 推出的基于 ASIC 的 Vector-LDPC 解决方案使用了约 260 万门,最高可以支持 50000的码长,0.9 的码率,最大迭代次数为 10,译码器可以达到 10Gbps 的吞吐量,其性能己经非常接近香农限,可以满足目前大多数通信业务的需求。AHA 公司、Digital Fountain公司也都推出了自己的编译码解决方案。


1.译码器是基于归一化最小和算法

3.码型选择:CCSDS标准中推荐的用于深空通信的(8176,7154)QC-LDPC码,码率为7/8(0.875)

4.(8176,7154)QC-LDPC码的校验矩阵程序(Matlab)

5.BP译码算法,最小和译码算法(MSA),归一化的最小和译码算法以及未经编码的采用BPSK调制。这几种译码算法的误码率对比程序及误码率曲线对比图。

6.归一化最小和译码算法中修正因子α的选取,考虑选取在不同迭代次数下的α的平均值,给出选取过程的文档,再在取定的α下仿真比较最小和译码算法和归一化最小和译码算法在不同迭代次数下的误码率(matlab)

7.码型分析文档

8.采用归一化最小和译码算法在不同迭代次数的仿真程序以及对比图,作为选择最大迭代次数的依据(matlab)

4.完整MATLAB

V

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱C编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值