一种降低存储器消耗的极化码译码方法和系统与流程

文档序号:11146800阅读:421来源:国知局
一种降低存储器消耗的极化码译码方法和系统与制造工艺

本发明属于光通信领域,具体涉及一种用于光信道传输的降低存储器消耗的极化码译码方法和系统。



背景技术:

宽带光网络是国家经济社会发展的重要基础,是国家工业化与信息化融合的重要纽带,

随着近年来视频交互、点对点文件传输等新兴业务的出现,用户对光网络带宽的需求也愈加强烈。目前全球正处于从低速10G/40G到高速的100G的过渡过程中,欧美运营商已经开展100G商用网络建设。国内的中国电信、中国移动、中国联通也先后启动了100G的实验室测试。因此,100Gbit/s光通信系统已经处于大规模商用部署的开始阶段。

2008年出现的极化码从理论上第一次严格证明了在二进制输入对称离散无记忆信道下,极化码可以“达到”香农容量,并且有较低的编码和译码复杂度。从某种意义上说,极化码理论上解决了近60年来信息论和编码领域一直想要解决的问题。虽然极化码的理论很优美,但其实际性能还不太理想,尽管随着列表连续消去译码算法(Successive Cancellation List(SCL)Decoding)等技术的提出,极化码性能有所改善,但是上述译码算法需要消耗大量的存储器来存放中间结果,不利于译码的硬件实现。



技术实现要素:

本发明的目的在于提供一种极化码译码方法和系统,降低存储器的消耗,并方便硬件实现。

为了实现上述目的,本发明采用以下技术方案:

一种降低存储器消耗的极化码译码方法,包括:

译码树的分块处理:在译码树中划分出若干块即子树,子树内采用SCL译码算法,子树外采用标准的SC译码算法;

译码操作的块间转移处理:针对译码树的分块进行安排,将子树编号索引,然后按照译码操作的时间顺序逐一对各子树进行SCL译码,各子树共享存储空间。

进一步地:

根据译码树的分块,仅在每一棵子树上进行SCL译码操作,保留若干条译码路径留待最终选择,而在子树外的其他部分上进行标准的SC译码操作,只保留局部最优的译码路径。

SCL译码的列表长度和分块数量根据译码器性能要求和硬件资源进行选择。

极化码SCL译码树的分块结构包括:

译码树的根节点,其是所有译码路径的起始,译码信息由此处开始发送;

针对第一层译码结果0的分块,该分块内每一层译码都采用SCL译码方法,保留L条译码路径,最终输出满足CRC条件的路径,或者是路径度量最高的路径;该分块的译码被首先执行;

针对第一层译码结果1的分块,该分块内每一层译码都采用SCL译码方法,保留L条译码路径。最终输出满足CRC条件的路径,或者是路径度量最高的路径;该分块的译码在后执行。

译码流程包括:

步骤301,读入待译码的数据;

步骤302,对第一个比特位进行SC译码,所得结果存于译码树的根节点中;

步骤303,将分块数目置为2,分块计数器置为0;

步骤304,判断分块计数器是否到达分块数目,如果是,则转入步骤308,如果否,则转入步骤305;

步骤305,按照分块计数器的数值选择分块,进入分块内译码,块内译码采用SCL译码方法,保留若干条译码路径,以待最终决策;

步骤306,将最终选定的译码路径送入CRC校验模块,如果校验通过,则将其作为译码结果,如果校验不通过,那么将路径度量最高的路径作为结果输出;

步骤307,存储该分块的译码路径结果;转入步骤304;

步骤308,输出最终的译码结果。

极化码SCL译码树的分块结构包括:

译码树的根节点,其是所有译码路径的起始,译码信息由此处开始发送;

译码树的第二层节点,该节点的译码采用SC方法,只保留LLR最高的译码路径,向下层传递;

针对第二层第一个节点译码结果0的分块,该分块内每一层译码都采用SCL方法,保留L条译码路径,最终输出满足CRC条件的路径,或者是路径度量最高的路径;该分块的译码被首先执行;随后各分块的SCL译码按照时间顺次进行;

针对第二层最后一个节点译码结果1的分块,该分块内每一层译码都采用SCL方法,保留L条译码路径,最终输出满足CRC条件的路径,或者是路径度量最高的路径;该分块的译码最后执行。

译码流程包括:

步骤501,读入待译码的数据;

步骤502,对第一个比特位进行SC译码,所得结果存于译码树的根节点中;

步骤503,对第二个比特位进行SC译码,所得结果存于译码树的根节点中;保留所有的译码树分支,向下层传递。

步骤504,将分块数目置为2,分块计数器置为0;

步骤504’,判断分块计数器是否到达分块数目,如果是,则转入步骤508,如果否,则转入步骤505;

步骤505,按照分块计数器的数值选择分块,进入分块内译码,块内译码采用SCL译码方法,保留若干条译码路径,以待最终决策;

步骤506,将最终选定的译码路径送入CRC校验模块,如果校验通过,则将其作为译码结果,如果校验不通过,那么将路径度量最高的路径作为结果输出;

步骤507,存储该分块的译码路径结果;转入步骤504’;

步骤508,输出最终的译码结果。

一种降低存储器消耗的极化码译码系统,包括:

译码树的分块处理装置:在译码树中划分出若干块即子树,子树内采用SCL译码算法,子树外采用标准的SC译码算法;

译码操作的块间转移处理装置:针对译码树的分块进行安排,将子树编号索引,然后按照译码操作的时间顺序逐一对各子树进行SCL译码,各子树共享存储空间。

本发明的极化码译码算法是使用分块列表连续消去的新译码方法,由于只在块内作SCL译码,即保留若干条译码路径留待最终选择,而在块外只做普通SC译码,只保留局部最优的译码路径,同时,块内的译码操作按照时分原则进行处理,所以各块的存储空间可以共享,也就是说,无需对整个译码树分配存储空间,只需对一个分块(子树)分配存储空间即可。本发明提供的极化码译码算法能够显著降低存储器的消耗,其不需要额外增加算法的复杂度,充分利用硬件实现的并行特性;通过适当地选取参数,可以在较低的存储器的前提下,取得比传统译码算法更好的性能。

附图说明

图1极化码SCL译码树的结构;

图2为本发明一种实施例的极化码SCL译码树的分块方法示例图(I);

图3为本发明一种实施例针对分块方法(I)的译码流程图;

图4为本发明另一种实施例的极化码SCL译码树的分块方法示例图(II);

图5为本发明另一种实施例针对分块方法(II)的译码流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图以及实施例,对本发明进行进一步的详细说明。理当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限制本发明。

在本发明实施例中,一种降低存储器消耗的极化码译码方法,包括:

译码树的分块处理:在译码树中划分出若干块即子树,子树内采用SCL译码算法,子树外采用标准的SC译码算法;

译码操作的块间转移处理:针对译码树的分块进行安排,将子树编号索引,然后按照译码操作的时间顺序逐一对各子树进行SCL译码,各子树共享存储空间。

各子树的译码操作按照时间顺序执行。模块间共享存储空间,因模块(子树)较小,译码路径较短,所以存储器消耗得以降低。

进一步地,根据译码树的分块,仅在每一棵子树上进行SCL译码操作,保留若干条译码路径留待最终选择,而在子树外的其他部分上进行标准的SC译码操作,只保留局部最优的译码路径。

在本发明实施例中,列表长度和分块数量可以根据译码器性能要求和硬件资源做灵活选择。

在本发明实施例中,所述的译码树的分块专门针对列表连续消去译码算法中的译码树进行处理。标准的CRC辅助列表连续消去译码需要产生出若干个成功概率值较高的码本组合,并从中挑选满足CRC限制的码本。在没有码本满足CRC限制的情况下选择成功概率最大的码本组合。本发明将译码树分为若干块,也称为子树。SCL译码操作仅在每一棵子树上进行,而子树外的其他部分上进行标准的SC译码操作。

译码操作的块间转移针对译码树的分块进行安排,将已有分块编号索引,然后按照译码操作的时序关系逐一对分块进行SCL译码。

块间存储空间的共享能够节省存储空间。由于只在块内作SCL译码,即保留若干条译码路径留待最终选择,而在块外只做普通SC译码,只保留局部最优的译码路径,同时,块内的译码操作按照时分原则进行处理,所以各块的存储空间可以共享,也就是说,无需对整个译码树分配存储空间,只需对一个分块(子树)分配存储空间即可。

在不同实施例中,列表长度和分块数量的确定可以根据硬件资源和译码性能综合确定。如果硬件资源充足,则可以选择较大的分块和较长的列表,反之则选择较小的分块和较短的列表。

参见图1,极化码SCL译码树的结构:

节点11:译码树的根节点,是所有译码路径的起始,译码信息由此处开始发送。

路径12:对于每一个非无效位而言,生成两个不同的路径,遍历0、1两种可能,同时针对两种不同可能,。计算译码的似然比(LLR),并将该似然比向下一层传递。

节点13:每一层产生的节点都包含两种信息,其一是译码值,即0或1;其二是基于LLR计算的译码路径度量。

路径14:为了避免译码复杂度的指数增长,只保留固定数量的译码路径。也就是说,所有译码路径中,具有最高度量的L条路径被保留。

参见图2,一种实施例中,极化码SCL译码树的分块方法(I)基于如下结构:

节点21,译码树的根节点,是所有译码路径的起始,译码信息由此处开始发送。

模块22,针对第一层译码结果0的分块。该分块内每一层译码都采用SCL译码方法,保留L条译码路径。最终输出满足CRC条件的路径,或者是路径度量最高的路径。该分块的译码被首先执行。

模块23,针对第一层译码结果1的分块。该分块内每一层译码都采用SCL译码方法,保留L条译码路径。最终输出满足CRC条件的路径,或者是路径度量最高的路径。该分块的译码在模块22后执行。

图3示出了针对分块方法(I)的译码流程如下。

步骤301,读入待译码的数据;

步骤302,对第一个比特位进行SC译码,所得结果存于译码树的根节点中;

步骤303,将分块数目置为2,分块计数器置为0;

步骤304,判断分块计数器是否到达分块数目,如果是,则转入步骤308,如果否,则转入步骤305;

步骤305,按照分块计数器的数值选择分块,进入分块内译码。块内译码采用SCL译码方法,保留若干条译码路径,以待最终决策;

步骤306,将最终选定的译码路径送入CRC校验模块,如果校验通过,则将其作为译码结果,如果校验不通过,那么将路径度量最高的路径作为结果输出;

步骤307,存储该分块的译码路径结果。转入步骤304;

步骤308,输出最终的译码结果。

参见图4,极化码SCL译码树的分块方法(II)基于如下结构:

节点41,译码树的根节点,是所有译码路径的起始,译码信息由此处开始发送。

节点42,译码树的第二层节点,该节点的译码采用SC方法,并不维护多条译码路径,只是保留LLR最高的译码路径,向下层传递

模块43,针对第二层第一个节点译码结果0的分块。该分块内每一层译码都采用SCL方法,保留L条译码路径。最终输出满足CRC条件的路径,或者是路径度量最高的路径。该分块的译码被首先执行。随后各分块的SCL译码按照时间顺次进行。

模块44,针对第二层最后一个节点译码结果1的分块。该分块内每一层译码都采用SCL方法,保留L条译码路径。最终输出满足CRC条件的路径,或者是路径度量最高的路径。该分块的译码最后执行。

图5示出了针对分块方法(II)的译码流程如下。

步骤501,读入待译码的数据;

步骤502,对第一个比特位进行SC译码,所得结果存于译码树的根节点中;

步骤503,对第二个比特位进行SC译码,所得结果存于译码树的根节点中;保留所有的译码树分支,向下层传递;

步骤504,将分块数目置为2,分块计数器置为0;

步骤504’,判断分块计数器是否到达分块数目,如果是,则转入步骤508,如果否,则转入步骤505;

步骤505,按照分块计数器的数值选择分块,进入分块内译码。块内译码采用SCL译码方法,保留若干条译码路径,以待最终决策;

步骤506,将最终选定的译码路径送入CRC校验模块,如果校验通过,则将其作为译码结果,如果校验不通过,那么将路径度量最高的路径作为结果输出;

步骤507,存储该分块的译码路径结果。转入步骤504’;

步骤508,输出最终的译码结果。

在另一种实施例中,一种降低存储器消耗的极化码译码系统,包括:

译码树的分块处理装置:在译码树中划分出若干块即子树,子树内采用SCL译码算法,子树外采用标准的SC译码算法;

译码操作的块间转移处理装置:针对译码树的分块进行安排,将子树编号索引,然后按照译码操作的时间顺序逐一对各子树进行SCL译码,各子树共享存储空间。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1