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

m基于码率兼容打孔LDPC码ms最小和译码算法的LDPC编译码matlab误码率仿真

时间:2023/12/27 22:04:33 点击:

  核心提示:0X_035,包括程序操作录像...

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

   为了实现码率兼容,引入打孔操作。打孔操作是指在码字中删除一些校验位,使得总码率在一定范围内可调。具体实现时,可以按照一定规则随机删除一些校验位,或者根据码率要求计算需要删除的校验位数。打孔操作后,可以得到一个新的校验矩阵H',其中每一行仍是一个奇偶校验位,但每一列可能不再是完整的码字。

4.部分源码

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

for i = 1:Iters

    % 更新校验节点消息

    for m = 1:M

        % 获取与当前校验节点相连的变量节点索引  

        tmp2 = H_row(m,2:(H_row(m,1)+1));

        % 移除超出范围的索引

        tmp2(tmp2>N) = [];

        for n = tmp2

            % 再次获取与当前校验节点相连的变量节点索引 

            array_n1 = H_row(m,2:(H_row(m,1)+1));

            % 移除当前节点自身  

            array_n1(array_n1==n) = [];

            % 移除超出范围的索引  

            array_n1(array_n1>N) = [];

            % 更新校验节点消息  

            Message_check(m,n) = min(abs(Message_variable(m,array_n1)))*prod(sign(Message_variable(m,array_n1)));

        end

    end

    

    % 更新变量节点消息

    for n = 1:N

        % 获取与当前变量节点相连的校验节点索引 

        tmp1 = H_col(n,2:(H_col(n,1)+1));

        % 移除超出范围的索引  

        tmp1(tmp1>M) = [];

        for m = tmp1

            % 再次获取与当前变量节点相连的校验节点索引

            array_m1 = H_col(n,2:(H_col(n,1)+1));

            % 移除当前节点自身

            array_m1(array_m1==m) = [];

            % 移除超出范围的索引

            array_m1(array_m1>M) = [];

            % 更新变量节点消息

            Message_variable(m,n) = vi(n) + sum(Message_check(array_m1,n));

        end

    end

    

    % 进行硬判决,生成解码序列w  

    for n =1:N

        % 获取与当前变量节点相连的校验节点索引  

        tmp1 = H_col(n,2:(H_col(n,1)+1));

        % 移除超出范围的索引

        tmp1(tmp1>M) = [];

        % 判断硬判决结果  

        if vi(n)+sum(Message_check(tmp1,n))>=0

            w(n) = 0;

        else

            w(n) = 1;

        end

    end

    

    %校验判决校验判决,检查是否满足所有校验方程,若满足则提前结束迭代  

    if sum(mod(w*H(1:M,1:N)',2))==0% 计算校验和,若为零则说明满足所有校验方程 

        break;

    end

    

end

0X_035

---

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