译码器的结构

1 串行结构

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

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

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

2 并行结构

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

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

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

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

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

3 部分并行结构

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

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

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

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

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

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

相关推荐
hh随便起个名5 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
Dingdangcat866 小时前
城市交通多目标检测系统:YOLO11-MAN-FasterCGLU算法优化与实战应用_3
算法·目标检测·目标跟踪
tang&7 小时前
滑动窗口:双指针的优雅舞步,征服连续区间问题的利器
数据结构·算法·哈希算法·滑动窗口
拼命鼠鼠7 小时前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划
LYFlied7 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
式5167 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
橘颂TA8 小时前
【剑斩OFFER】算法的暴力美学——翻转对
算法·排序算法·结构与算法
叠叠乐8 小时前
robot_state_publisher 参数
java·前端·算法
hweiyu008 小时前
排序算法:冒泡排序
算法·排序算法