当前位置: 首页 > news >正文

介绍一种LDPC码译码器

        介绍比特翻转译码原理以及LDPC码译码器的设计。

1 译码理论

比特翻转(BF)译码算法是硬判决算法的一种。

主要译码思想是:当有一个校验矩阵出错时,BF 算法认为在这个校验矩阵中一定至少存在一个位置的码字信息是错误的;同时,BF 算法认为出现在出错校验矩阵中的次数最多的比特是最有可能出现误码的。所以,BF 算法在每次迭代时对这些比特进行翻转。


        在每一次迭代中翻转码字Z 中的比特,并计算伴随式S,当伴随式S 为全零向量或者达到最大迭代次数时结束译码。
        但是,比特翻转译码算法就会有一个缺陷,即当一个正确码字所在的四个校验方程出错时,译码器也会判断出错。由于校验矩阵的稀疏性,正确码字的四个校验方程同时出错的概率极低,所以只翻转最大对应比特。

        但是,当时,正确码字的两个校验方程出错概率就较高,此时进行批量比特翻转就会带来更多新的误码。

2 译码器模块

        译码器模块中包含的两个子模块为伴随式计算模块和翻转位置计算模块,分别计算每次迭代的伴随式S 和比特翻转位置,在迭代结束后译码器按位输出译码后的码字。译码器模块框图如下图所示。

        首先从外部输入码字到顶层模块中的寄存器,当一帧数据输入完毕后,顶层模块控制伴随式计算模块运行并将寄存器中的数据按位输入到伴随式计算模块中。伴随式计算模块计算完毕后,将S 输出给顶层模块,然后顶层模块进行判断:若S 为全零向量或译码达到最大迭代次数时,结束译码然后开始按位输出译码后的码字;否则,控制翻转位置计算模块运行,并将S 输入到该模块当中。翻转位置计算模块由S 计算需要翻转的比特位置,然后输出给顶层模块进行比特翻转;翻转完毕后,进行下一次译码迭代。

http://www.dtcms.com/a/224879.html

相关文章:

  • uv:现代化的 Python 包和项目管理工具
  • 解常微分方程组
  • GoogLeNet网络模型
  • 西瓜书第五章——感知机
  • 《江西棒球资讯》棒球运动发展·棒球1号位
  • 信息安全之为什么引入公钥密码
  • 5.31 专业课复习笔记 12
  • day42 简单CNN
  • 计算机组织原理第三章
  • C 语言栈实现详解:从原理到动态扩容与工程化应用(含顺序/链式对比、函数调用栈、表达式求值等)
  • AI Agent的“搜索大脑“进化史:从Google API到智能搜索生态的技术变革
  • 题海拾贝:P8598 [蓝桥杯 2013 省 AB] 错误票据
  • 给跑步入门的一个训练课表
  • Docker-搭建MySQL主从复制与双主双从
  • BLE 广播与扫描机制详解:如何让设备“被看见”?
  • 1.JS逆向简介
  • 应急响应靶机-web3-知攻善防实验室
  • Another Redis Desktop Manager 1.3.7 安装教程 - 详细步骤图解 (Windows)
  • CppCon 2014 学习:Parallelizing the Standard Algorithms Library
  • 2024 CKA模拟系统制作 | Step-By-Step | 20、题目搭建-节点维护
  • Linux之MySQL安装篇
  • 6个月Python学习计划 Day 10 - 模块与标准库入门
  • OpenHarmony标准系统-HDF框架之音频驱动开发
  • leetcode77.组合:回溯算法中for循环与状态回退的逻辑艺术
  • LeetCode - 206. 反转链表
  • 软件性能之CPU
  • leetcode hot100刷题日记——30.两数之和
  • 设计模式——单例设计模式(创建型)
  • 【MFC】如何设置让exe的控制台不会跟着exe退出而退出
  • 【KWDB 创作者计划】_探秘浪潮KWDB数据库:从时间索引到前沿技术