[发明专利]一种基于AVX-512指令集的5G极化码自适应高效译码方法有效
申请号: | 202010471932.X | 申请日: | 2020-05-29 |
公开(公告)号: | CN111786744B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 王闻今;侯宏卫;房天昊 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H03M13/15;H03M13/09 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 孟红梅 |
地址: | 211189 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 avx 512 指令 极化 自适应 高效 译码 方法 | ||
1.一种基于AVX-512指令集的5G极化码自适应高效译码方法,其特征在于:包括以下步骤:
(1)根据极化码配置生成Fast-SSC算法和FSL算法的参数查找表;
(2)对接收到的实值对数似然比通过AVX-512指令集并行量化,将定点对数似然比存入内存;
(3)根据Fast-SSC算法判决节点信息查找表循环执行步骤(4)~步骤(6),所有节点判决完成时转入步骤(7);
(4)通过AVX-512指令集以单路径方式并行更新判决节点对数似然比;
(5)对节点进行判决,通过重编码得到对应译码结果,重编码过程基于AVX-512指令集的置换和混合指令并行实现;
(6)通过AVX-512指令集以单路径方式并行更新部分和;
(7)对Fast-SSC算法译码结果进行循环冗余校验,若通过,则直接输出结果并开始下一次译码,否则转入第(8)步;
(8)根据FSL算法判决节点信息查找表循环执行步骤(9)~步骤(13),所有节点判决完成时转入步骤(14);
(9)通过AVX-512指令集以多路径方式并行更新判决节点对数似然比,每条路径根据路径记录矩阵对应行获得更新开始层源路径;
(10)生成节点初步判决结果,并对判决节点对数似然比绝对值进行排序,获得排序后的索引,排序过程通过AVX-512指令集的置换和混合指令以多路径键值对型双调排序方式进行;
(11)对每一条路径分裂生成子路径并计算子路径度量值,对子路径度量值通过AVX-512指令集的置换和混合指令以分组形式的键值对型提前终止双调排序结构进行排序;
(12)对路径记录矩阵的每一行进行更新,更新过程通过AVX-512指令集的置换指令完成;
(13)通过AVX-512指令集以多路径方式并行更新部分和,并且更新路径在每一层的源路径通过路径记录矩阵的对应行获得;
(14)对每条路径的译码结果进行循环冗余校验,选择可通过循环冗余校验的路径中路径度量值最小的作为最终结果;
存储结构对码树每一层的节点进行了空间复用,所述步骤(4)中单路径方式的对数似然比更新和/或所述步骤(9)中多路径方式的对数似然比更新并不是每次都从根节点处开始更新,而是通过参数初始化时预存的开始更新深度查找表确定开始更新的深度;
所述步骤(5)中的重编码过程基于AVX-512指令集的置换和混合指令,包括以下步骤:
(5.1)读取重编码数据,存入AVX-512寄存器;
(5.2)循环执行步骤(5.3)~步骤(5.5),当重编码数据层数到达叶子节点层时转入步骤(5.6);
(5.3)根据重编码数据所在层数,通过置换指令将AVX-512寄存器中的上下分支数据互换,存入置换后寄存器;
(5.4)将AVX-512寄存器与置换后寄存器按位异或,存入置换后寄存器;
(5.5)根据重编码数据所在层数,使用混合指令将置换后寄存器上分支数据与AVX-512寄存器下分支数据进行混合,存入AVX-512寄存器;
(5.6)将AVX-512寄存器中数据按顺序存储;
所述步骤(9)的多路径对数似然比更新和所述步骤(13)的部分和更新过程根据所在层数进行并行方式转换:当所在层节点数据可以填充AVX-512寄存器时使用路径内并行,每次仅更新一条路径的对数似然比或部分和;当所在层节点数据无法充满AVX-512寄存器时使用路径间并行,并在加载和存储的过程中通过掩码特性保证互不干扰,每次更新多条路径的对数似然比或部分和;
所述步骤(10)中判决节点对数似然比绝对值的排序过程通过AVX-512指令集的置换和混合指令以多路径键值对型双调排序方式进行,包括以下步骤:
(10.1)预先将所需要的置换向量和混合掩码分别生成置换向量查找表和混合掩码查找表;
(10.2)循环执行步骤(10.3)~步骤(10.6),当所有数据完成排序后,转入步骤(10.7);
(10.3)读取多条路径待排序数据,存入AVX-512寄存器;
(10.4)根据置换向量查找表,通过vpermw指令对数据向量和索引向量进行置换;
(10.5)通过vpcmpw指令将置换前与置换后的数据向量进行比较,得到结果掩码;
(10.6)根据混合掩码查找表和步骤(10.5)的结果掩码,通过vpblendmw指令,对置换前后的数据向量和索引向量进行混合;
(10.7)将索引向量按顺序存储;
所述步骤(11)中对子路径度量值的部分排序通过AVX-512指令集的置换和混合指令以分组形式的键值对型提前终止双调排序结构进行,包括以下步骤:
(11.1)预先将所需要的置换向量和混合掩码分别生成置换向量查找表和混合掩码查找表;
(11.2)按照待排序子路径数和AVX-512指令集最大可排序尺寸对子路径度量值进行分组,对每一组循环执行步骤(11.3)~步骤(11.6),达到提前终止排序阶段时转入步骤(11.8),若分裂得到的子路径数小于L,则不进行排序,直接进入路径记录矩阵更新步骤,其中L表示FSL算法路径分裂后保留的最大路径数;
(11.3)读取子路径度量值,存入AVX-512寄存器;
(11.4)根据置换向量查找表,通过vpermw指令对数据向量和索引向量进行置换;
(11.5)通过vpcmpw指令将置换前与置换后的数据向量进行比较,得到结果掩码;
(11.6)根据混合掩码查找表和步骤(11.5)的结果掩码,通过vpblendmw指令,对置换前后的数据向量和索引向量进行混合;
(11.7)将分组排序结果整合后对整合路径度量值重新循环执行步骤(11.3)~步骤(11.6),达到提前终止排序阶段时转入步骤(11.8);
(11.8)将最终排序结果的索引向量按顺序存储;
所述步骤(9)中多路径对数似然比更新和所述步骤(13)中多路径部分和更新结合路径记录矩阵查找源路径,所述路径记录矩阵根据路径剪枝后的保留路径信息进行更新,包括以下步骤:
在FSL算法开始译码前,将路径记录矩阵的每一行初始化为1,2,…,L索引;其中L表示FSL算法路径分裂后保留的最大路径数;
在多路径对数似然比更新时,取路径记录矩阵中当前节点开始更新层对应行作为开始更新时的源路径记录;
在多路径部分和更新前,通过AVX-512指令集的vpermw指令,以路径剪枝后的保留路径信息作为置换向量对路径记录矩阵的每一行进行置换;
在多路径部分和更新时,在每一层更新开始前,取路径记录矩阵中当前更新层对应行作为该层更新时的源路径记录;
在多路径部分和更新后,将路径记录矩阵的第1行至下一节点开始更新层对应行之间的每一行赋为1,2,…,L索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010471932.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空调器
- 下一篇:一种奖牌自动夹取翻转装置及其使用方法