译码器的结构

1 串行结构

串行译码器是译码器中设计最为简单的一种,在信息处理过程中因为只有一对信息处理单元,因此各个节点需要排队处理,所以校验节点的更新是逐行进行的,变量节点的更新是逐列进行的。

含有m个校验节点和n个变量节点的校验矩阵的译码时间可如下计算:如果进行一次变量节点更新的时间为,进行一次校验节点更新所需时间为,那么进行串行译码,一次处理过程所需要的时间就为,下图描述了串行译码器的结构。

串行译码器结构简单,占用硬件资源少,但是这种串行的结构,减少硬件资源的同时也会拖慢译码速度,对于高吞吐率、高译码速率的译码要求来说不符合设计要求。

2 并行结构

全并行译码器的吞吐率最高,这种高吞吐率是以庞大的硬件资源作为支撑的,这种结构每一个节点都需要一个处理模块,规模庞大。

如上一小结所述的𝑚 × 𝑛大小的校验矩阵,那么在校验矩阵中的每一个节点都需要一个处理模块,共需要𝑚 + 𝑛个处理单元,对应变量节点和校验节点的信息更新处理模块。

进行一次变量节点更新的时间为,进行一次校验节点更新所需时间为,那么并行译码器的时间就为+,这相较于串行译码器的结构,虽然消耗了大量的资源,但是带来了译码速度的大幅度提高。下图为并行译码器的结构示意图。

如上图所示为全并行的译码器结构,在三种结构中译码速率最高、时延低,吞吐量比串行译码器有很大提升,但是硬件资源的消耗也十分庞大,当码长增大时,需要的硬件资源会平方倍的增长。

此外,这种译码器的结构灵活性较差,不适合可变码长和码率的译码器结构,因此全并行结构适合有高吞吐量要求的固定码长、固定码率和固定校验矩阵的LDPC码。

3 部分并行结构

为了使译码速率和资源消耗能够得到一个折中,部分并行译码器在这种需求下被提出。这种部分并行的结构能够提升译码速率、根据并行度的大小可以提高译码系统的吞吐量而且减少资源消耗。

所以这种部分并行的结构应用更为广泛。如果一个部分并行结构的译码器,它的行并行度设为,列并行度为,按照前文提到的校验节点处理时间和变量节点处理时间,那么进行一次迭代所需要的时间为

可以看到相较于串行译码器的结构,时间上有不小提升,提升的时间多少和并行度的设定有关。

部分并行译码器与串行译码相比,提升了译码速率,同时也减少了全并行译码大量资源的消耗。部分并行译码器的结构如下图所示。

对于QC-LDPC 码来说,行并行度和列并行度的划分就可以根据子矩阵来进行划分,每个子矩阵内节点的更新由一对变量节点更新模块和校验节点更新模块处理。

同一时刻,所有并行模块共同处理同一行的节点,下一时刻处理下一行,直到所有行都被处理完,就完成了一次水平迭代;水平迭代完成之后,所有校验阶段处理单元同时更新对应子矩阵的某一列,直到所有列都被处理完成,完成了一次垂直迭代。就完成了一次迭代处理过程。

相关推荐
团子的二进制世界3 小时前
G1垃圾收集器是如何工作的?
java·jvm·算法
吃杠碰小鸡3 小时前
高中数学-数列-导数证明
前端·数学·算法
故事不长丨3 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
long3163 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
近津薪荼3 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
熊文豪3 小时前
探索CANN ops-nn:高性能哈希算子技术解读
算法·哈希算法·cann
熊猫_豆豆4 小时前
YOLOP车道检测
人工智能·python·算法
艾莉丝努力练剑4 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
JMchen1234 小时前
AI编程与软件工程的学科融合:构建新一代智能驱动开发方法学
驱动开发·python·软件工程·ai编程
liann1194 小时前
3.1_网络——基础
网络·安全·web安全·http·网络安全