译码器的结构

1 串行结构

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

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

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

2 并行结构

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

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

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

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

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

3 部分并行结构

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

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

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

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

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

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

相关推荐
复杂网络11 小时前
论最小 Agent 计算机的形态
算法
kisshyshy1 天前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷1 天前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络1 天前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络1 天前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao4001 天前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao4001 天前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法
JieE2123 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2124 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack204 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法