您现在的位置:首页 >> 编解码 >> 内容

m基于SPA和积译码算法的LDPC误码率matlab仿真

时间:2023/3/18 21:31:13 点击:

  核心提示:14_040_m,包括程序操作录像+说明文档...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJaZl5pq

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

       LDPC ( Low-density Parity-check,低密度奇偶校验)码是由 Gallager 在1963 年提出的一类具有稀疏校验矩阵的线性分组码 (linear block codes),然而在接下来的 30 年来由于计算能力的不足,它一直被人们忽视。1996年,D MacKay、M Neal 等人对它重新进行了研究,发现 LDPC 码具有逼近香农极限的优异性能。并且具有译码复杂度低、可并行译码以及译码错误的可检测性等特点,从而成为了信道编码理论新的研究热点。

4.部分源码

........................................................

 

H       = func_H(Hb,eye(96));

[Rh,Ch] = size(H);

x        = [ones(1,Ch)];

EbN0     = [0:0.5:2];

 

 

Max_iter = 1;

 

 

for ij = 1:length(EbN0)

    for k = 1:100

    [k,ij]

    sigma = sqrt(1/(10^(EbN0(ij)/10)));

    %实际验证过程中,这个位置加入你的编码模块

    code  = (2*x-1);

    r     = code+randn(size(x))*sigma;

    %对应PPT公式

    Lv    = 2*r/(sigma^2);

    %SPA算法

    [ber,v1] = Sum_product_algorithm(Lv,H,Max_iter);

    %输入变量

    x(Rh+1:Ch);

    %输出变量

    v1(Rh+1:Ch);

    %计算错误数据

    err1(k,ij)=1-length(find(v1(Rh+1:Ch)==x(Rh+1:Ch)))/length(x(Rh+1:Ch));

    end

end

 

if Max_iter==1

   save R1.mat EbN0 err1

end

if Max_iter==5

   save R2.mat EbN0 err1

end

if Max_iter==10

   save R3.mat EbN0 err1

end

if Max_iter==25

   save R4.mat EbN0 err1

end

if Max_iter==100

   save R5.mat EbN0 err1

end

 

 

figure;

semilogy(EbN0,mean(err1,1),'b-o');

grid on

xlabel('EBNO');

ylabel('ber');

14_040_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168