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

介绍一种LDPC码译码器

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

1 译码理论

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

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


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

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

2 译码器模块

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

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

http://www.xdnf.cn/news/750925.html

相关文章:

  • Python 爱心图案代码
  • 计算晶体结构和电子能带的软件
  • 【Python高阶】面向对象
  • C语言-10.字符串
  • 【Day41】
  • 非常有趣的桌面萌宠互动软件
  • 单板机8088C语言计划
  • 前端面经 get和post区别
  • 使用交叉编译工具提示stubs-32.h:7:11: fatal error: gnu/stubs-soft.h: 没有那个文件或目录的解决办法
  • Baklib内容中台革新企业知识实践
  • AI 社交和AI情绪价值的思考
  • 高并发抽奖系统优化方案
  • python训练营day40
  • 共享内存-systemV
  • Python应用for循环遍历寻b
  • homework 2025.03.31 chinese(class 3)
  • DeepSeek R1-0528:深度思考能力的重大跃升与技术突破全解析
  • 一文读懂Automotive SPICE
  • Day41 Python打卡训练营
  • 【HW系列】—Windows日志与Linux日志分析
  • 远程线程注入
  • 【PhysUnits】15.5 引入P1后的标准化表示(standardization.rs)
  • Cesium快速入门到精通系列教程一
  • AtCoder AT_abc408_d [ABC408D] Flip to Gather
  • C++ 变量声明(Declaration)和定义(Definition)的区别
  • 【系统配置与部署类】linux系统下的desktop图标文件配置
  • 如何配置国内docker镜像源?
  • leetcode3128. 直角三角形-medium
  • [VMM]现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理
  • 人工智能在智能健康监测中的创新应用与未来趋势