进行LDPC编码时扔掉了前面2Zc的信息位,为何如此设计?在解码时如何恢复?

article/2025/10/14 0:46:32
好久没发文章了,拿去年的周报水一篇吧。 其实我也不是研究LDPC的,就是之前被导师提过这个问题,就看了一阵子。下面进入正文——

   

LDPC基础概念

   对于这个问题,还是需要对LDPC码有初步的了解,下面先由一个普通的规则LDPC校验矩阵引出一些基础概念和其工作方式。

   对于一个简单的LDPC校验矩阵H:
在这里插入图片描述
   
   其中,行数表示校验节点的个数,列数表示变量节点的个数。在此例中,校验节点个数为6,变量节点个数为12.

   可以将其表示为Tanner图的形式,一类为校验节点,一类为可变节点:

在这里插入图片描述
   
   在Tanner图中,与每一个校验节点相连的变量节点构成一个Parity Check Set,在实际进行校验时,若要校验某个变量节点对应的信息位是否错误,则需要对所有包含此个变量节点的Parity Check Set进行奇偶校验。

下面用一个基础矩阵的一部分进行说明为何要去掉部分信息位:

 忘了在哪本书里看到的图,sorry
   
    可以观察到,此基础矩阵最左边列的列重很大,目的是保证校验节点通过与前几个变量节点的充分连接,来达到校验节点彼此之间信息的顺畅流通——体现在Tanner图中,就是前两个变量节点与大多数校验节点相连。单从理论上分析:若不对其进行任何操作,则前两个系统比特需要跟所有   在同一个Parity Check Set中的其他变量节点对应的系统比特  进行奇偶校验操作,但由于此两个系统比特出现在几乎所有Parity Check Set中,因此这种校验在大多数情况下是重复的。
   
   大量分析和仿真也表明,如果不传输左边列重很大的变量节点所对应的系统比特,LDPC码的性能会进一步提高。“为了保证首次传输的性能,通常A矩阵最前面两列对应的信息比特也被打孔。”

结论

   在实际编码中,需要首先确定一个基础矩阵和一个扩展因子(Lifting Size),它们共同构造一个扩展矩阵,并基于这个扩展矩阵对输出的信息位进行编码、对接收端的信息进行校验。比如:对于一个[2, 4]的基础矩阵和Lifting Size=3,扩展矩阵的大小为[23, 43]=[6, 12]。

   因此,在实际编码中,需要打掉前 2Zc 的信息位长度,从而提高编码性能,而且由于打孔的同时还引入了冗余比特,所以接收端可以进行译码,而不会对信息传输造成影响。


http://chatgpt.dhexx.cn/article/bJ6pQKMc.shtml

相关文章

基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...

基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)(开题报告,论文10700字,程序代码,录像) 摘 要 随着无线通信技术的不断发展与进步,数字电视广播、移动视频点播等对数据吞吐量要求很高的业务逐渐变得可能。为了在有限的带宽内用有限的发射功率保证信息在空间传…

ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码

ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码 1、ldpcMATLAB(ldpc编码的MATLAB例子,内容相对来说还是比较详细的。值得参考借鉴。) 2、LDPCmatlab(LDPC码的matlab实现,把解码的部分改过了&#xff…

通信算法之四十:5G NR LDPC编码译码性能仿真

1.码率1/5,增益14dB 2.码率1/12,增益17.8dB [ 相应MATLAB仿真代码。咨询qq:1279682290 ]

DVB-S2系统中LDPC译码器的实现 LDPC编码器的实现 FPGA DVB-S2、DVB-S2X LDPC 编码IP、LDPC译码 IP

DVB S2 LDPC 译码器.IP core IP Core特点: 1.全部代码由FPGA代码实现; 2.支持DVB-S2、DVB-S2X全部格式; 3.支持编码、译码; 4.支持标标准中16200、32400、64800三种帧长; 5.支持ACM、VCM、CCM模式,参…

UCI和数据复用在pusch上传输(第六部分)---ldpc编码

ldpc编码针对的是上下行数据的编码,也是5G最重要的一种编码。 1 TB块添加CRC 这个是和UCI POLAR区别的一个地方,UCI是对每个cb块添加crc. % Get transport block size after CRC attachment according to 38.212% 6.2.1 and 7.2.1, and assign CRC po…

【编码译码】基于matlab实现LDPC编码和解码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【LDPC编码】CDR系统中LDPC编码,LDPC编码的码长为9216

1.软件版本 matlab2013b 2.系统描述 在广播通信系统中,消息发送的速度和性能是一对矛盾,当发送速度快,则必然会降低消息的可靠性,当要求系统的性能,则必然会降低发送码率。为了提高系统的性能,并尽可能的…

5G LDPC编码流程

参照3GPP的标准文档,摘录其中下行共享信道与寻呼信道的LDPC编码流程,以便于进行对应的软件仿真 传输块加CRC校验   记待传输的数据块序列为 a 0 , a 1 , ⋯ , a A − 1 a_0,a_1,\cdots,a_{A-1} a0​,a1​,⋯,aA−1​,其中 A A A为传输块的负…

linux杀进程

linux学习心得 查看所有进行中的后台进程 命令 :ps aux ps命令查看应用进程。 后面的参数 -a : 显示现行终端机下的所有进程,包括其他用户的进程; -u :以用户为主的进程状态 ; x :通常与 a …

Linux找到进程并杀死

第一种情况: 写脚本的时候没没把程序杀死,再次启动发现端口被占用了,于是找到原来的端口然后kill掉重启 用下面2个命令可以: netstat -tunlp|grep 8080t:表示查看tcp u:表示查看udp n:表示端口…

在 Linux 中杀死一个进程

在 Linux 中,假如一个进程的 PID 为 3810,那么结束一个进程可以使用如下命令: $ kill -9 3810 以 Postman 为例,首先我们需要找到它的进程号,然后才能杀死。 查找进程号使用 ps 命令,不过有一个强大的参…

Linux命令行下杀死一个进程

在做项目的时候经常会出现程序死机、锁死、无响应等情况,这时候就需要找到程序相应的进程将其杀掉即可。步骤如下: 1.定位进程 top命令:可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用…

linux中进程杀不死解决办法

如图,多次在kill -9 此进程后依然存在 先说解决办法,输入过滤命令ps -ef|grep xxx(此处写要过滤的进程名字),例如 之后kill掉对应的进程号,如图 问题解决。 如果有多个子进程可以先过滤再一起杀死&#xf…

Linux中kill命令杀不掉进程的解决办法

1、进程杀不掉的原因有两种: (1)这个进程是僵尸进程 ; (2)此进程是"核心态"进程。 2、解决办法: (1)进入到“/proc/进程号”目录下,执行“cat stat…

Linux 批量杀进程

1.查需要杀死的进程 ps -ef | grep yum 2.去除掉里面的grep ps -ef | grep yum | grep -v grep 3.打印kill命令 ps -ef | grep yum | grep -v grep | awk {print "kill "$2} 4.执行kill命令 ps -ef | grep yum | grep -v grep | awk {print "kill "$2} …

linux 找出谁杀了进程

目录 Linux Signal 到底是什么信号 OOM 谁发的信号 systemtap audit 案例与总结 服务端的程序,一般都希望比较长时间的运行,比如7*24小时。不过,程序也需要更新,比如修Bug,比如增加新功能,比如修复增…

Linux操作系统之批量杀死进程

前言 在Linux操作系统中,一般常用的杀死进程的命令是 kill 、 pkill 、 killall ,根据杀死单个进程拓展至批量杀死进程。 1、查看指定名称的进程,如下查看运行wps程序的进程: ps -ef | grep wps | grep -v grep 结果如下&…

在 VUE中,动态加载JS文件

需求 在vue组件中需要调用的函数方法名是相同的(接口相同),但是按照页面不同需要导入不同JS文件 。如下: 然而上面这种写法肯定是行不通的,但表达的需求很明确。根据menuId的不同从JS文件中获取方法 解决方案 promi…

原生js实现动态加载js文件?

一、写在前面 今天拼多多笔试题&#xff0c;题目如下&#xff1a; 实现一个动态加载函数function loadScript(src, attrs)返回Promise, 其中 src是脚本地址&#xff0c;attrs是脚本属性。二、具体实现 <script>function loadScript(src, attrs) {return new Promise((r…

JavaScript网页实例:在网页里动态加载JavaScript

把一些逻辑独立的JavaScript脚本文件单独加载&#xff0c;是一种常见的JavaScript动态加载技术。这样做的好处有很多&#xff0c;比如可以减少不必要的JavaScript脚本文件的加载&#xff0c;以提高网页浏览速度。 补充代码&#xff0c;要求用户在网页中点击【动态加载】按钮后…