优化译码器存储极化码译码性能的方法技术

技术编号:23055689 阅读:15 留言:0更新日期:2020-01-07 15:38
本发明专利技术公开的一种优化译码器存储极化码译码性能的方法,利用本发明专利技术可以显著降低存储资源占用。本发明专利技术通过下述技术方案予以实现:在CRC‑SCL译码器基础上,将长度为N的Polar码划分为P个Polar码子块连接构成的底层模块和顶层模块,P个不同的数据分块共用同一个CRC‑SCL译码器进行译码,不同数据分块独立添加CRC校验比特,通过仿真筛选得到每个分块需要添加的最优CRC比特长度;译码器采用CRC‑SCL译码算法先后对P个Polar码子块进行译码,在译码树上对译码器候选码字进行搜索,估计每个数据分块在子译码树上的候选码字,对候选码字进行CRC校验,并在P个Polar码子块之间采用SC译码算法,得到最终的译码结果。

A method to optimize the decoding performance of stored polarization codes in decoder

【技术实现步骤摘要】
优化译码器存储极化码译码性能的方法
本专利技术涉及通信系统中信道编解码领域,具体地涉及Polar码(极化码)的译码算法和译码器实现方法。
技术介绍
极化码(PolarCodes)是一种结构性与迭代性极强的信道编码,而且能够被严格证明它的渐进性能够达到香农极限容量,是信道编码领域中唯一被严格证明能够达到香农极限容量的编码技术,是在二进制离散无记忆信道下达到香农容量的信道编码方式,同时,它具有较低的编解码复杂度。因此极化码近来成为一种最受欢迎的可以达到香农容量的信道编码方式,同时它具有较低的编解码复杂度。然而,由于传统的连续消除译码器是串行译码,所以实际应用中所需要的大码长会造成很高的译码延迟。极化码代表一类新兴的纠错码,它的功率接近一个离散无记忆信道的容量。由于极化码产生时间不长,其在中短码长下实用的编译码方案的性能显得不具有竞争力,提出极化码的Arikan在除了二进制删除信道(BEC)外,没有给出其它信道中极化码的低复杂度的编码方案,在译码方面极化码的传统SC译码的性能也不是很好,这限制了极化码的实用。为了提高极化码的有限码长的性能,现有技术提出了几种可选择的译码算法,例如连续消除译码算法(SuccessiveCancellation,SC)、SC译码过程和升级算法和列表译码算法。连续消除译码算法SC是针对极化码的一种低复杂度译码算法,在码长趋于无限长时具有很好的性能,但是中短码长下性能并不理想。Polar码的SC译码算法,可设置不同信噪比,不同码长,可改为SCL算法和CA_SCL算法。核心部分采用C程序编写,主要框架采用matlab编写。SC译码过程合同阶段代码树可以使用称为合同阶段编码树的统一框架来形容SC译码过程和升级算法,例如SCL/SCS译码过程。在这个代码树中,除了叶子节点和冻结节点,每个节点都有两个子孩子,对应的分叉分别标着0和1。包括从根节点到其中一个叶子节点的分支序列的译码路径和相应的可靠性可以用APP来测量。每个节点相邻的数字提供了从根节点到该节点的译码路径的APP度量标准。极化码的SC译码过程与合同级代码树相比,被称为渴望搜索算法。在与确定级的信息位结合的这两种分支中,概率被用来进一步处理。不论何时一个位被错误地确定,在以后的译码过程中纠正错误将成为不可能。为了提高译码器的纠错性能,在SC译码算法的基础上,不断有改进的译码算法被提出来。其中,可以极大的提高译码性能的基于列表的连续消除(SCL)译码算法,SCL通过引入候选码字列表,被称作是广度优先算法,在与信息位有关的每一级中,SCL算法通过在每个候选路径上附加位0或1使候选路径的数量加倍。通过最佳度量标准挑选出了L条最佳候选路径并将它们存储在列表中。SCL译码器通过级搜索到了代码树,与SC译码器具有相同的方式。但是不像SC译码器,经过每一级的处理后仅有一种路径被保留,并且允许最大L个候选路径进一步探索。与传统SC译码相比,SCL译码器在译码过程中会保留消息比特的两种可能取值,即0和1都会作为备选可能存储起来,并计算当前路径的可靠程度。当所保留的路径数目超过某个门限值L的时候,便对路径进行修剪,只保留最可靠的L条路径,并继续后续的译码直到到达最后的第N个比特位置。由于SCL译码器没有立即做硬判决而是保留了两种可能的取值,因此会减少硬判决带来错误的可能性,从而提升最终的译码性能,列表译码改进了串行抵消算法的贪心深度优先搜索方式,是一种性能优异的译码算法。它的关键部分排序模块最为耗时,成为列表译码算法实用化的瓶颈。仿真结果表明,SCL算法与SC算法相比,性能得到了显著提升。但是和传统的Turbo码和低密度奇偶校验(LDPC)码相比还是有一定差距。SCL算法采用软判决方式,通过对数似然比LLR判决来进行译码,虽然性能获得了很大的改善,但是算法复杂度随着列表长度或路径宽度值的增加而增加。LDPC编码的优化也是一个非常耗时的过程。变量和检查程度分布只能由计算机优化搜索,并且主要方法生成奇偶校验矩阵图(或因子图)的LDPC码也是一个计算机辅助施工过程。循环冗余校验(CyclicRedundancyCheck,CRC)辅助的SCL译码通过先对信息序列进行CRC校验,再对CRC校验的信息序列进行极化编码,在进行SCL译码后,译码器选择能够通过CRC校验的度量最大的路径作为输出,可以进一步优化性能。仿真表明在相同码长码率条件下,CRC-SCL译码算法可以获得优于LDPC码的误码块性能。但是传统的CRC-SCL译码器在整个译码树上通过SCL算法搜索得到L个最可靠的候选码字,然后通过CRC校验,选择通过校验或者路径度量最小的候选码字作为最终输出,因此需要保存整个译码树内部LLR值的L个备份。在有限码长条件下,CRC-SCL译码算法的性能随列表大小L的增大而逐渐提升,当L等于1时回退到SC译码算法。但当L增大时,由于要在更多路径中做选择和剪裁,以及存储更多的中间变量,译码算法的时间复杂度和空间复杂度也会大大增加。尤其是空间存储资源的消耗,严重限制了其在高性能和低功耗条件下的应用。这些众所周知的算法对于中长代码实际应用过于复杂,所以他们只是被视为参考其它极性码的解码算法的性能比较。目前的研究主要集中在优化性能和提升译码速度方面,存储资源优化方面的研究比较少,还没有能够显著减少的实现方法。现有技术SC的衍生堆栈译码方案,其原理与SCL译码方案实际上是一样的,都是区别与SC针对于当前的局部最优化条件,同时存储了很多备用码字,以减少译码过程中将最优译码方案提前舍弃的概率,相较于SCL算法的优点在于其译码时延更小一些,但是在Eb/N0较小时它的存储需求大于SCL算法,在Eb/N0较大一些时其存储需求会减小,并且会小于SCL的存储需求,后者的存储需求不随Eb/N0变化。现阶段极化码的码长没办法做得很长,而在短码情况下,极化码的译码性能是极化码通向实用之路的一个瓶颈。
技术实现思路
本专利技术的目的是针对上述现有技术存在的不足之处,提供一种能够在不影响译码性能的情况下,显著降低存储资源占用的优化译码器存储极化码译码性能的方法。本专利技术的目的可以通过如下技术方案实现:一种优化译码器存储极化码译码性能的方法,其特征在于包括如下步骤:在CRC-SCL译码器基础上,将译码树分为由P个子译码树构成的底部译码树和顶部译码树,并将长度为N的Polar码划分为P个Polar码子块连接构成的底层模块和顶层模块,P个不同的数据分块共用同一个CRC-SCL译码器进行译码,为了进一步提高分块后译码器的性能,在不同分块消息比特中添加循环冗余校验CRC比特长度进行优选,采用仿真筛选的方法得到前i-1个分块都译码正确的情况下,第i个分块添加不同长度CRC比特时,根据Polar码子块的错误概率FER,选择FER性能最好的CRC长度作为第i个分块需要添加的CRC比特长度;译码器采用CRC-SCL译码算法先后对P个Polar码子块进行译码,在译码树上对译码器候选码字进行搜索,搜索估计每个数据分块在子译码树上的候选码字,得到L个候选码字后对候选码字进行CRC校验,并在P个Polar码子块之间采用SC译码本文档来自技高网
...

【技术保护点】
1.一种优化译码器存储极化码译码性能的方法,其特征在于包括如下步骤:在CRC-SCL译码器基础上,将译码树分为由P个子译码树构成的底部译码树和顶部译码树,并将长度为N的Polar码划分为P个Polar码子块连接构成的底层模块和顶层模块,P个不同的数据分块共用同一个CRC-SCL译码器进行译码,为了进一步提高分块后译码器的性能,在不同分块消息比特中添加循环冗余校验CRC比特长度进行优选,采用仿真筛选的方法得到前i-1个分块都译码正确的情况下,第i个分块添加不同长度CRC比特时,根据Polar码子块的错误概率FER,选择FER性能最好的CRC长度作为第i个分块需要添加的CRC比特长度;译码器采用CRC-SCL译码算法先后对P个Polar码子块进行译码,在译码树上对译码器候选码字进行搜索,搜索估计每个数据分块在子译码树上的候选码字,得到L个候选码字后对候选码字进行CRC校验,并在P个Polar码子块之间采用SC译码算法,得到最终的译码结果。/n

【技术特征摘要】
1.一种优化译码器存储极化码译码性能的方法,其特征在于包括如下步骤:在CRC-SCL译码器基础上,将译码树分为由P个子译码树构成的底部译码树和顶部译码树,并将长度为N的Polar码划分为P个Polar码子块连接构成的底层模块和顶层模块,P个不同的数据分块共用同一个CRC-SCL译码器进行译码,为了进一步提高分块后译码器的性能,在不同分块消息比特中添加循环冗余校验CRC比特长度进行优选,采用仿真筛选的方法得到前i-1个分块都译码正确的情况下,第i个分块添加不同长度CRC比特时,根据Polar码子块的错误概率FER,选择FER性能最好的CRC长度作为第i个分块需要添加的CRC比特长度;译码器采用CRC-SCL译码算法先后对P个Polar码子块进行译码,在译码树上对译码器候选码字进行搜索,搜索估计每个数据分块在子译码树上的候选码字,得到L个候选码字后对候选码字进行CRC校验,并在P个Polar码子块之间采用SC译码算法,得到最终的译码结果。


2.如权利要求1所述的优化译码器存储极化码译码性能的方法,其特征在于:如果有一个候选码字通过CRC校验,则把它传递给译码树的顶层模块;如果没有候选码字通过校验或者有多个候选码字通过校验,则选择置信度最高的候选码字传递给译码树的顶层模块,在译码树的顶层执行SC译码算法,选择路径度量值最小的候选码字作为最终输出;在第i-1个Polar码子块译码结束之后输出第i-1个译码分段,在剩余译码树上的P个Polar码子块之间采用SC译码算法,通过计算单元计算第i个Polar码子块译码所需的初始LLR值,重复上述操作,直到P个译码分段都计算结束,得到最终的码字。


3.如权利要求1所述的优化译码器存储极化码译码性能的方法,其特征在于:在执行译码时将译码长度为N,列表大小为L的Polar码划分为P个子块,且P为2的整数次幂。


4.如权利要求1所述的优化译码器存储极化码译码性能的方法,其特征在于:分块CRC-SCL译码器把译码树划分为多个分块,在每个分块上执行SCL运算,每个分块选出一个通过CRC校验的候选码字,然后送往下一个分块,并保存每个分块的内部LLR值的L个备份,多个分块的计算使用共同的存储空间。


5.如权利要求1所述的优化译码器存储极化码译码性能的方法,其特征在于:译码器分块的划分和编...

【专利技术属性】
技术研发人员:李晓光甘明兰天
申请(专利权)人:西南电子技术研究所中国电子科技集团公司第十研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1