类Turbo变序列消息传递并行的LDPC译码器转让专利

申请号 : CN202110923924.9

文献号 : CN113612582B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宫丰奎杨浩张南王奇明惠腾飞许鹏飞

申请人 : 西安电子科技大学

摘要 :

本发明公开一种类Turbo变序列消息传递高速并行的LDPC译码器,包括软信息速率匹配缓存单元,输出存储判决单元,环路控制器和环形迭代模块的四层结构;所述环形迭代模块由变量节点信息变序列传递单元,变量节点信息更新单元,校验节点信息类Turbo传递单元,校验节点信息更新单元串联组成。本发明的译码器能够同时对多路并行输入的校验子矩阵权重大于1的LDPC码字进行译码,具有高效的消息传递策略,可支持高速并行数据处理的优点,可适用于对高速并行的低密度奇偶校验码LDPC的译码工作。

权利要求 :

1.一种类Turbo变序列消息传递并行的LDPC译码器,其特征在于,包括软信息速率匹配缓存单元,输出存储判决单元,环路控制器和环形迭代模块的四层结构;所述环形迭代模块由变量节点信息变序列传递单元,变量节点信息更新单元,校验节点信息类Turbo传递单元,校验节点信息更新单元串联组成;

所述软信息速率匹配缓存单元包括串联的延迟查找表ROM和两级缓存结构,所述延迟查找表ROM的输入端口与LDPC译码器的输入端口连接,用于对N路并行输入的信道软信息进行取址延迟,1≤N≤28;第一级缓存的输入端口分别与延迟查找表的输出端口和LDPC译码器的输入端口连接,用于将取址延迟后的N路信道软信息以每标准扩展因子个为一组存入RAM,根据标准扩展因子数选取软信息速率匹配缓存单元的输出端口总数,对于N以内任意并行路数的输入,软信息速率匹配缓存单元通过对各路输入按照延迟查找表ROM信息进行不同的延迟和顺序调整,以每标准扩展因子为一组存入RAM中,再按照重复K次重复读出的方式产生变量节点信息更新单元的输入数据;第二级缓存的输入端口与环路控制器的输出端口连接,第二级缓存的输出端口与变量节点信息更新单元的输入端口连接,用于对分组后的信道软信息按照迭代次数K进行重复读取, 所述输出存储判决单元包括串联的取址延迟器和输出缓存器,所述取址延迟器的输入端口与变量节点信息更新单元的输出端口连接,用于将判决后的比特信息以每N个为一组输出;所述输出缓存器的输入端口与取址延迟器的输出端口连接,输出缓存器的输出端口与LDPC译码器的输出端口连接,用于对最后一次迭代产生的信道软信息进行硬判决;

所述环路控制器包括串联的时序状态机和时序控制器;所述时序状态机的输入端口与LDPC译码器的输入端口连接,用于统计该译码器的输入有效使能并更新该译码器工作状态;所述时序控制器的输入端口与时序状态机的输出端口连接,时序控制器的输出端口分别与软信息速率匹配缓存单元,输出存储判决单元和环形迭代模块的输入端口连接,用于分别向软信息速率匹配缓存单元、输出存储判决单元和环形迭代模块发出工作控制指令;

所述变量节点信息变序列传递单元包括依次串联的桶形循环右移器,分层产生器,分组产生器;所述桶形循环右移器的输入端口与校验节点更新单元的输出端口连接,用于根据校验子矩阵的偏移量对变量节点信息进行排序;所述分层产生器的输入端口与桶形循环右移器的输出端口连接,用于将变量节点信息按照校验矩阵的列重分为两层,变量节点信息以整列为单位进行更新,分层产生器根据校验矩阵的分层数确定分层产生器和分组产生器的逻辑连接方式;所述分组产生器的输入端口与分层产生器的输出端口连接,分组产生器的输出端口与变量节点更新单元的输入端口连接,用于对变量节点信息按照校验矩阵的列信息进行分组,分组产生器改变变量节点信息在列上的先后顺序,以产生的校验单位矩阵为基准确定分层产生器和变量节点信息更新单元的逻辑连接方式;

所述变量节点信息更新单元的输入端口与变量节点信息更新单元、变量节点信息变序列传递单元的输出端口和输出存储判决单元连接,输出端口与校验节点信息类Turbo传递单元的输入端口连接,用于并行计算和更新标准扩展因子个变量节点信息;

所述校验节点信息类Turbo传递单元包括依次串联的桶形循环左移器,分层合并器,分组合并器;所述桶形循环左移器的输入端口与变量节点更新单元的输出端口连接,用于对校验节点信息进行排序;所述分层合并器的输入端口与桶形循环左移器的输出端口连接,用于将两层的校验节点信息合并为一层,分层合并器按照Turbo译码的分层思想,以校验子矩阵的列信息为基准确定桶形循环左移器和分组合并器的逻辑连接方式;所述分组合并器的输入端口与分层合并器的输出端口连接,分组合并器的输出端口与校验节点更新单元的输入端口连接,用于对校验节点信息按照校验矩阵的行信息进行合并,分组合并器恢复检验节点信息在行上从左到右的排列顺序,以校验矩阵的行信息为基准确定分层合并器和校验节点信息更新单元的逻辑连接方式;

所述校验节点信息更新单元的输入端口与校验节点信息类Turbo传递单元的输出端口连接,输出端口与变量节点信息变序列传递单元的输入端口连接,用于并行计算和更新标准扩展因子个校验节点信息。

说明书 :

类Turbo变序列消息传递并行的LDPC译码器

技术领域

[0001] 本发明涉及通信技术领域,更进一步涉及无线通信技术领域中一种类Turbo变序列消息传递高速并行的低密度奇偶校验码LDPC(Low Density Parity Check Code)译码器。本发明提供一种变序列消息传递高速并行LDPC译码器结构,该结构下的译码器具有高效的消息传递策略,可支持高速并行数据处理的特点,可适用于对高速并行的低密度奇偶校验码LDPC的译码工作。

背景技术

[0002] LDPC编码由于具有结构灵活、译码复杂度相对较低、可并行操作等特点,被广泛研究和应用。在2016年11月的RAN87会议期间,学术界和工业界对于各类信道编码性能及标准进行了确认,会议确定5G增强移动带宽场景中数据信道采用LDPC 码。这次会议后,LDPC码成为主流空间无线通信系统中的关键技术。此外,随着业务传输可靠性要求的不断提高,LDPC码已经成为许多标准下通信系统的重要构成部分,包括数字卫星广播、无线局域网、国际空间数据系统咨询委员会等。逐渐增长的用户需求对通信传输速率提出了越来越高的要求。由于具有高编码增益特性的LDPC 校验矩阵规模巨大,在高速并行实现时计算复杂度极高。因此,针对目前众多场景的高速应用需求,对于大规模的校验矩阵,高速并行的低密度奇偶校验码LDPC译码器显得尤为重要。
[0003] 建荣半导体(深圳)有限公司在其申请的专利文献“QC‑LDPC解码器及存储设备”(专利申请号:201821798640.1,授权公告号:CN209486658U)中公开了一种高解码性能的低成本QC‑LDPC解码器及存储设备。该LDPC译码器包括:用于根据变量节点的变量信息,计算所述校验节点的校验信息的若干个校验节点处理电路;用于根据所述校验节点返回的校验信息,更新所述变量节点的变量信息的若干个变量节点处理电路;用于以预设的压缩因子,将循环移位矩阵分割为若干个子矩阵,并且根据所述子矩阵,令所述循环移位矩阵中两行或以上的校验节点共用一个所述校验节点处理电路的矩阵分割电路;用于根据变量信息判断解码是否成功的校验电路。该发明将循环移位矩阵缩减为多个子矩阵,对于校验节点处理电路和变量节点处理电路的数量要求大大下降,从而可以在保持解码性能的同时,有效的降低LDPC解码器的成本。该译码器存在的不足之处是,首先,该译码器仅适用于单位子矩阵,对于子矩阵行重大于1的情况,无法直接进行压缩运算与信息传递,对于不同业务的需求,该译码器无法满足校验子矩阵权重大于1的译码需求;其次,该译码器的串行输入特性限制了其最大吞吐率,在处理高速输入信号时现有FPGA的系统时钟频率无法满足,不适用于高速并行的译码需求。
[0004] 联想(北京)有限公司在其申请的专利文献“LDPC解码器和LDPC解码方法”(专利申请号:201410024648.2,申请公布号:CN104796156A)中公开了一种LDPC 解码器。该LDPC译码器包括:变量更新节点模块,包括M个变量更新节点计算单元,用于对输入的消息执行变量节点更新计算,从而获得变量节点更新后信息;校验更新节点模块,包括N个校验更新节点计算单元,用于对输入的消息执行校验节点更新计算,从而获得校验节点更新后消息;全局互连模块,用于将所述M个变量更新节点计算单元的每个和所述N个校验更新节点计算单元的每个互相连接;控制单元,用于执行控制,使得获得的变量节点更新后信息传递给所述N个校验更新节点计算单元的每个,以及使得获得的校验节点更新后消息传递给所述M个变量更新节点计算单元的每个,从而能够并行解码2个不同码字。该发明将通过控制单元解决数据拥塞,支持了并行输入。该译码器存在的不足之处是,该译码器只能并行解码2个码字,芯片资源利用率较低,且两路并行灵活性较差,无法用于灵活并行的译码需求。

发明内容

[0005] 本发明的目的是针对上述现有技术存在的不足,提供一种类Turbo变序列消息传递高速并行的低密度奇偶校验码LDPC译码器,用于解决现有技术的译码器仅适用于单位子矩阵,无法满足校验子矩阵权重大于1的译码需求,以及芯片资源利用率较低,且两路并行灵活性较差,无法用于灵活并行的译码需求的问题。
[0006] 实现本发明目的的思路是,由于本发明译码器中设置的变量节点信息变序列传递单元,对变量节点信息按照校验矩阵的列信息进行分组,从而对权重大于1的校验子矩阵信息进行了分组提取,满足了校验子矩阵权重大于1的译码需求。由于本发明译码器中设置的校验节点信息类Turbo传递单元,将两层的校验节点信息合并为一层,从而减少了一半的桶形循环左移器和变量节点更新单元,适用于提高芯片资源利用率的译码需求。由于本发明译码器中设置的软信息速率匹配缓存单元,将取址延迟后的 N路信道软信息以每标准扩展因子个为一组存入RAM,从而对不同并行路数进行了统一处理,适用于灵活并行译码需求。
[0007] 本发明的译码器中包括软信息速率匹配缓存单元,输出存储判决单元,环路控制器和环形迭代模块的四层结构;所述环形迭代模块由变量节点信息变序列传递单元,变量节点信息更新单元,校验节点信息类Turbo传递单元,校验节点信息更新单元串联组成;
[0008] 所述软信息速率匹配缓存单元包括串联的延迟查找表ROM和两级缓存结构,所述延迟查找表ROM的输入端口与LDPC译码器的输入端口连接,用于对N路并行输入的信道软信息进行取址延迟,1≤N≤28;所述第一级缓存的输入端口分别与延迟查找表的输出端口和LDPC译码器的输入端口连接,用于将取址延迟后的N路信道软信息以每标准扩展因子个为一组存入RAM;所述第二级缓存的输入端口与环路控制器的输出端口连接,第二级缓存的输出端口与变量节点信息更新单元的输入端口连接,用于对分组后的信道软信息按照迭代次数K进行重复读取,
[0009] 所述输出存储判决单元包括串联的输出缓存器和取址延迟器,所述输出缓存器的输入端口与取址延迟器的输出端口连接,输出缓存器的输出端口与LDPC译码器的输出端口连接,用于对最后一次迭代产生的信道软信息进行硬判决;所述取址延迟器的输入端口与变量节点信息更新单元的输出端口连接,用于将判决后的比特信息以每N个为一组输出;
[0010] 所述环路控制器包括串联的时序状态机和时序控制器;所述时序状态机的输入端口与LDPC译码器的输入端口连接,用于统计该译码器的输入有效使能并更新该译码器工作状态;所述时序控制器的输入端口与时序状态机的输出端口连接,时序控制器的输出端口分别与软信息速率匹配缓存单元,输出存储判决单元和环形迭代模块的输入端口连接,用于分别向软信息速率匹配缓存单元、输出存储判决单元和环形迭代模块发出工作控制指令;
[0011] 所述变量节点信息变序列传递单元包括依次串联的桶形循环右移器,分层产生器,分组产生器;所述桶形循环右移器的输入端口与校验节点更新单元的输出端口连接,用于根据校验子矩阵的偏移量对变量节点信息进行排序;所述分层产生器的输入端口与桶形循环右移器的输出端口连接,用于将变量节点信息按照校验矩阵的列重分为两层;所述分组产生器的输入端口与分层产生器的输出端口连接,分组产生器的输出端口与变量节点更新单元的输入端口连接,用于对变量节点信息按照校验矩阵的列信息进行分组;
[0012] 所述变量节点信息更新单元的输入端口与变量节点信息更新单元、变量节点信息变序列传递单元的输出端口和输出存储判决单元连接,输出端口与校验节点信息类Turbo传递单元的输入端口连接,用于并行计算和更新标准扩展因子个变量节点信息;
[0013] 所述校验节点信息类Turbo传递单元包括依次串联的桶形循环左移器,分层合并器,分组合并器;所述桶形循环左移器的输入端口与变量节点更新单元的输出端口连接,用于对校验节点信息进行排序;所述分层合并器的输入端口与桶形循环左移器的输出端口连接,用于将两层的校验节点信息合并为一层;所述分组合并器的输入端口与分层合并器的输出端口连接,分组合并器的输出端口与校验节点更新单元的输入端口连接,用于对校验节点信息按照校验矩阵的行信息进行合并;
[0014] 所述校验节点信息更新单元的输入端口与校验节点信息类Turbo传递单元的输出端口连接,输出端口与变量节点信息变序列传递单元的输入端口连接,用于并行计算和更新标准扩展因子个校验节点信息。
[0015] 本发明与现有技术相比较,具有如下优点:
[0016] 第一,由于本发明的软信息速率匹配缓存单元,通过将取址延迟后的N路信道软信息以每标准扩展因子个为一组存入RAM,克服了现有技术中串行输入特性限制了其最大吞吐率,在处理高速输入信号时现有FPGA的系统时钟频率无法满足,不适用于高速并行的译码需求的问题,同时还克服了现有技术中译码器只能并行解码2个码字,且两路并行灵活性较差,无法用于灵活并行的译码需求的问题,使得本发明可同时对多路并行输入的LDPC码字进行译码。
[0017] 第二,由于本发明的变量节点信息变序列传递单元,通过对变量节点信息按照校验矩阵的列信息进行分组,克服了现有技术中译码器仅适用于单位子矩阵,无法满足校验子矩阵权重大于1的译码需求的问题,使得本发明可对校验子矩阵权重大于1的 LDPC码字进行译码。
[0018] 第三,由于本发明的校验节点信息类Turbo传递单元,将两层的校验节点信息合并为一层,通过对校验节点信息按照校验矩阵的行信息进行合并,克服了现有技术中芯片资源利用率较低的问题,使得本发明中LDPC译码器具有较低的资源复杂度,降低了译码器的硬件实现成本。

附图说明

[0019] 图1是本发明译码器结构示意图;
[0020] 图2是本发明软信息速率匹配缓存单元示意图;
[0021] 图3为本发明分层合并器的示意图。

具体实施方式

[0022] 下面结合附图对本发明做进一步的描述。
[0023] 参照图1,对本发明的译码器结构做进一步的描述。
[0024] 本发明的译码器包括软信息速率匹配缓存单元,输出存储判决单元,环路控制器和环形迭代模块的四层结构;所述环形迭代模块由变量节点信息变序列传递单元,变量节点信息更新单元,校验节点信息类Turbo传递单元,校验节点信息更新单元串联组成。
[0025] 所述软信息速率匹配缓存单元包括串联的延迟查找表ROM和两级缓存结构,所述延迟查找表ROM的输入端口与LDPC译码器的输入端口连接,用于对N路并行输入的信道软信息进行取址延迟,1≤N≤28;所述第一级缓存的输入端口分别与延迟查找表的输出端口和LDPC译码器的输入端口连接,用于将取址延迟后的N路信道软信息以每标准扩展因子个为一组存入RAM;所述第二级缓存的输入端口与环路控制器的输出端口连接,第二级缓存的输出端口与变量节点信息更新单元的输入端口连接,用于对分组后的信道软信息按照迭代次数K进行重复读取,
[0026] 所述软信息速率匹配缓存单元用于将取址延迟后的N路信道软信息以每标准扩展因子个为一组存入RAM是指,根据标准扩展因子数选取软信息速率匹配缓存单元的输出端口总数,对于N以内任意并行路数的输入,软信息速率匹配缓存单元通过对各路输入按照延迟查找表ROM信息进行不同的延迟和顺序调整,以每标准扩展因子个为一组存入RAM中,再按照重复K次重复读出的方式产生变量节点信息更新单元的输入数据。
[0027] 结合本发明的实施例对校验子矩阵以及标准扩展因子做进一步描述。
[0028] 本发明的实施例为四路并行输入的LDPC译码,LDPC码的码长n为8176,信息序列长度k为7154,标准扩展因子为511,校验矩阵由32个子矩阵组成,对应的校验矩阵如下:
[0029]
[0030] 其中,Ai,j表示校验矩阵中第i行第j列的校验子矩阵,i=1,2;j=1,2,…,16,校验子矩阵是维度为511×511的循环矩阵,即通过对矩阵的第一行数据循环右移可以得到整个校验子矩阵。每个校验子矩阵中第一行“1”的位置由表1定义。
[0031] 参照图2,对本发明的软信息速率匹配缓存单元做进一步描述。
[0032] 该实施例的软信息速率匹配缓存单元实现了对4路并行输入的支持,每路输入的位宽为4bit。根据延迟查找表的信息,对4路并行输入的信道软信息进行取址延迟,将每帧8176个信道软信息划分为16组各包含511个信道软信息的分组,再将这16个分组存储到固定位宽为2044bit的RAM中。当环路控制器对软信息速率匹配缓存单元的读控制信号有效时,按照最大迭代次数10,在每一帧码字的解码过程内重复10次读出。
[0033] 所述输出存储判决单元包括串联的输出缓存器和取址延迟器,所述输出缓存器的输入端口与取址延迟器的输出端口连接,输出缓存器的输出端口与LDPC译码器的输出端口连接,用于对最后一次迭代产生的信道软信息进行硬判决;所述取址延迟器的输入端口与变量节点信息更新单元的输出端口连接,用于将判决后的比特信息以每N个为一组输出。
[0034] 表1 LDPC码校验矩阵循环块第一行数据一览表
[0035]循环块 每个子矩阵第一行中1的位置 校验矩阵中1的位置
A1,1 0,176 0,176
A1,2 12,239 523,750
A1,3 0,352 1022,1374
A1,4 24,431 1557,1964
A1,5 0,392 2044,2436
A1,6 151,409 2706,2964
A1,7 0,351 3066,3417
A1,8 9,359 3586,3936
A1,9 0,307 4088,4395
A1,10 53,329 4652,4928
A1,11 0,207 5110,5317
A1,12 18,281 5639,5902
A1,13 0,399 6132,6531
A1,14 202,457 6845,7100
A1,15 0,247 7154,7401
A1,16 36,261 7701,7926
A2,1 99,471 99,471
A2,2 130,473 641,984
A2,3 198,435 1220,1457
A2,4 260,478 1793,2011
A2,5 215,420 2259,2464
A2,6 282,481 2837,3036
A2,7 48,396 3114,3462
A2,8 193,445 3770,4022
A2,9 273,430 4361,4518
A2,10 302,451 4901,5050
A2,11 96,379 5206,5489
A2,12 191,386 5812,6007
A2,13 244,467 6376,6599
A2,14 364,470 7007,7113
A2,15 51,382 7205,7536
A2,16 192,414 7857,8079
[0036] 本发明的实施例中取址延迟器的输入端口与变量节点信息更新单元的输出端口连接,用于将判决后的比特信息以每N个为一组输出是指,取址延迟器的输入端口与变量节点信息更新单元的位宽为511的输出端口相连,存入位宽为511bit的RAM 后,以每4个为一组作为译码器的输出。
[0037] 所述环路控制器包括串联的时序状态机和时序控制器;所述时序状态机的输入端口与LDPC译码器的输入端口连接,用于统计该译码器的输入有效使能并更新该译码器工作状态;所述时序控制器的输入端口与时序状态机的输出端口连接,时序控制器的输出端口分别与软信息速率匹配缓存单元,输出存储判决单元和环形迭代模块的输入端口连接,用于分别向软信息速率匹配缓存单元、输出存储判决单元和环形迭代模块发出工作控制指令。
[0038] 所述变量节点信息变序列传递单元包括依次串联的桶形循环右移器,分层产生器,分组产生器。
[0039] 所述分层产生器用于将变量节点信息按照校验矩阵的列重分为两层是指,变量节点信息以整列为单位进行更新,分层产生器根据校验矩阵的分层数确定分层产生器和分组产生器的逻辑连接方式。
[0040] 所述分组产生器用于对变量节点信息按照校验矩阵的列信息进行分组是指,分组产生器改变变量节点信息在列上的先后顺序,以产生的校验单位矩阵为基准确定分层产生器和变量节点信息更新单元的逻辑连接方式。
[0041] 本发明的实施例中分组产生器用于对变量节点信息按照校验矩阵的列信息进行分组是指,将分层产生器产生的2层信息,分别按照每一列上2个子矩阵中1的排列顺序进行读取。例如对于第1列,有A1,1和A2,1两个子矩阵,A1,1第一列中1的位置为0和176,A2,1第一列中1的位置为99和471,则分层产生器产生第一列中A1,1和A2,1包含的2层信息,分组器按照0、176、99、471的顺序将变量节点信息分为4 组,对于每一帧的8176列变量节点信息都按照上述方式进行分组。
[0042] 所述桶形循环右移器的输入端口与校验节点更新单元的输出端口连接,用于根据校验子矩阵的偏移量对变量节点信息进行排序;所述分层产生器的输入端口与桶形循环右移器的输出端口连接,用于将变量节点信息按照校验矩阵的列重分为两层;所述分组产生器的输入端口与分层产生器的输出端口连接,分组产生器的输出端口与变量节点更新单元的输入端口连接,用于对变量节点信息按照校验矩阵的列信息进行分组。
[0043] 所述变量节点信息更新单元的输入端口与变量节点信息更新单元、变量节点信息变序列传递单元的输出端口和输出存储判决单元连接,输出端口与校验节点信息类Turbo传递单元的输入端口连接,用于并行计算和更新标准扩展因子个变量节点信息。
[0044] 所述校验节点信息类Turbo传递单元包括依次串联的桶形循环左移器,分层合并器,分组合并器。
[0045] 所述分层合并器用于将两层校验节点信息合并为一层是指,分层合并器按照 Turbo译码的分层思想,以校验子矩阵的列信息为基准确定桶形循环左移器和分组合并器的逻辑连接方式。将第一层校验节点信息存入RAM中,在第二层校验节点信息到来时,将两层校验信息同时输出到分组合并器中。
[0046] 参照图3,对本发明的分层合并器做进一步描述。
[0047] 数据选择器按照校验子矩阵的列信息,将输入的第一层校验节点信息存入RAM 中,在第二层校验节点信息到来时,将两层校验信息输出到延迟器中,延迟器将两层校验节点信息对齐后同时输出。
[0048] 所述分组合并器用于对校验节点信息按照校验矩阵的行信息进行合并是指,分组合并器恢复检验节点信息在行上从左到右的排列顺序,以校验矩阵的行信息为基准确定分层合并器和校验节点信息更新单元的逻辑连接方式。
[0049] 所述桶形循环左移器的输入端口与变量节点更新单元的输出端口连接,用于对校验节点信息进行排序;所述分层合并器的输入端口与桶形循环左移器的输出端口连接,用于将两层的校验节点信息合并为一层;所述分组合并器的输入端口与分层合并器的输出端口连接,分组合并器的输出端口与校验节点更新单元的输入端口连接,用于对校验节点信息按照校验矩阵的行信息进行合并。
[0050] 所述校验节点信息更新单元的输入端口与校验节点信息类Turbo传递单元的输出端口连接,输出端口与变量节点信息变序列传递单元的输入端口连接,用于并行计算和更新标准扩展因子个校验节点信息。