一种基于3GPP 5G-NR极化码的分布式CRC处理方法技术

技术编号:19486162 阅读:32 留言:0更新日期:2018-11-17 11:24
本发明专利技术公开了一种基于3GPP 5G‑NR极化码的分布式CRC处理方法,针对在3GPP 5G‑NR协议极化码中,协议中的交织方式导致在接收端做分布式CRC校验时,与之相关的信息比特可能还未完全译出,如果直接通过已译码的信息比特乘以该CRC校验比特对应的CRC生成矩阵的列,就会导致校验结果出错的问题,提出了一个基于队列数据结构的缓冲区用以解决这个问题;此外,还结合多个CRC校验比特的校验结果对SCL译码算法中的译码路径进行CRC校验的方法,可以提高CRC校验的准确性。

【技术实现步骤摘要】
一种基于3GPP5G-NR极化码的分布式CRC处理方法
本专利技术涉及通信
,特别涉及一种基于3GPP5G-NR极化码的分布式CRC处理方法,针对目前3GPP5G-NRTS38.212协议中极化码的规定提出一种接收端对极化码的处理方案。
技术介绍
极化码是由土耳其的教授ErdalArikan于2008年提出的一种根据信道极化现象来编码的新的信道编码方式,是目前唯一一种可被理论证明能够达到香农信道容量极限的信道编码技术。已被第三代合作伙伴计划(3GPP)采纳作为5G-NR(5G-新无线电)控制信道的信道编码方式。目前,在极化码领域中已有多项专利提到了极化码的构造、编码和译码等。但是目前关于极化码的专利多是一些比较细节的改进和处理,例如极化码的构造方法、针对极化码的速率匹配方式,以及对极化码串行抵消列表(SCL)译码算法的一些改进措施等等,并没有针对5G-NR中的极化码进行研究。对NR中的极化码进行研究时,发现在做分布式循环冗余校验(DistributedCRCcheck)时,当译码到CRC校验比特的时候,与CRC校验比特相关的信息比特可能还未完全译出,如果不加额外的判断,那么直接用已译码的信息比特进行CRC校验就会出错,导致错误的提前终止译码。
技术实现思路
针对现有问题,本专利技术提出了一种基于3GPP5G-NR极化码的分布式CRC处理方法,引入了一个队列数据结构的缓冲区,用以保存那些还未译出相关信息比特的CRC校验比特索引,等待所有相关信息比特译出后再进行处理,使得CRC校验更准确。本专利技术的目的通过以下的技术方案实现:一种基于3GPP5G-NR极化码的分布式CRC处理方法,包括以下步骤:在接收端做分布式CRC校验时,设置一个基于队列数据结构的缓冲区,该缓冲区用于保存还未进行CRC校验的信息比特;每次先把译出的CRC校验比特位置放入缓冲区的尾部,然后判断缓冲区首部存储的CRC校验比特相关的信息比特是否完全译出,如果完全译出则进行CRC校验,并删除缓冲区的首部,否则不进行CRC校验,继续进行SCL译码。优选的,如果缓冲区首部存储的CRC校验比特相关的信息比特完全译出,进行CRC校验,并且保存当前CRC比特的校验结果,用以结合下一个CRC比特的校验结果来综合验证译码路径是否通过CRC校验。优选的,当前CRC校验结束后,删除该队列缓冲区的前段对应的该CRC校验比特的索引,再对下一个CRC校验比特进行CRC校验。具体的,包括如下步骤:1)首先定义一个用于保存CRC位置的寄存器CRCBitIndexBuffer,用于存储还未进行校验的CRC比特交织前的比特位置,即CRC校验矩阵对应的列;然后定义一个路径标记矩阵,长度为搜索路径数×CRC校验比特数,用于对一条路径是否通过CRC校验进行标记,可对多次校验的结果进行综合判断;2)判断已译出的信息比特数是否大于0,如果还没有译出信息比特,那么就结束CRC校验进行下一步译码;3)解交织获得所有原始信息比特的位;4)获得当前译码比特交织前的位置;5)根据位置判断该比特是否为CRC比特,如果不是则结束CRC校验进行下一个比特的译码;6)如果是的话,把该CRC校验比特的位置放入CRCBitIndexBuffer最后,更新CRCBitIndexBuffer;7)判断CRCBitIndexBuffer是否为空,如果为空代表没有要校验的CRC比特,则结束CRC校验过程,进行下一个比特的译码;8)如果CRCBitIndexBuffer不为空,则提取CRCBitIndexBuffer的第一个CRC校验比特的位置;9)判断与该CRC校验比特相关的所有信息比特是否译出,即判断与该CRC校验比特相关的所有信息比特是否为第三步获得的原始信息比特位置的子集,如果不是,则代表与该CRC校验比特相关的原始信息比特还未完全译出,无法进行CRC校验,则结束CRC校验过程;10)如果都已译出,则通过已译出的原始信息比特计算该CRC校验比特,与通过路径度量值译码的CRC比特进行比较,进行CRC校验。优选的,综合之前CRC校验比特的校验结果,判断本次校验中是否所有译码路径都未通过CRC校验,如果所有的译码路径都未通过CRC校验,则说明本次译码出现了错误,提前终止译码,如果不是所有的路径都未通过CRC校验,删除CRCBitIndexBuffer第一位,结束本次CRC校验,进行下一个比特的译码。具体的,首先给定一个矩阵FailPathFlag,长度为L×CRCLength,其中L为SCL译码算法的译码路径条数,假设有X个CRC校验比特,译码路径为Y条;当检测到第一个CRC校验比特并判断译出了所有与之相关的信息比特时,对Y条路径进行CRC校验,并标记未能通过CRC校验的路径为1,记为FailPathFlag1,然后将结果保存到FailPathFlag的第一列,然后计算FailPathFlag每一行的总和,得到一个向量FailPathFlagAll,判断FailPathFlagAll是否全大于0,如果不是,则进行下一次CRC校验;当检测到第二个CRC校验比特并判断译出了所有与之相关的信息比特时,对Y条路径进行CRC校验,并标记未能通过CRC校验的路径为1,记为FailPathFlag2,然后将结果保存到FailPathFlag的第二列,然后计算FailPathFlag每一行的总和,更新向量FailPathFlagAll,判断FailPathFlagAll是否全大于0,如果不是,则进行下一次CRC校验;依次类推,当检测到FailPathFlagAll都大于0时,终止译码。本专利技术与现有技术相比,具有如下优点和有益效果:本专利技术针对3GPPNR协议的规定,同时在串行消除列表译码算法中实现了对速率匹配、奇偶校验比特和CRC校验比特的处理。与现有的专利技术相比,根据协议极化码编码前的交织改进了现有的算法,使其可以解决译码到CRC校验比特时与之相关的原始信息比特还未完全译出的问题。并且还提出了综合多个CRC校验比特校验的校验结果对SCL译码算法中的译码路径进行CRC校验,可以提高CRC校验的准确性。附图说明图1是5GNR极化码的发送和接收处理流程图。图2是针对5GNR的串行抵消列表译码流程图。图3是带奇偶校验码的路径度量值计算流程图。图4是针对协议极化码编码前的交织方式存在的问题改进的分布式CRC校验流程图。图5是结合多个比特的校验结果对译码路径进行CRC校验的示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例1在对NR协议极化码进行研究时,发现NR协议中的交织方式可能导致在接收端做分布式CRC校验时,与之相关的信息比特可能还未完全译出,如果直接通过已译码的信息比特乘以该CRC校验比特对应的CRC生成矩阵的列,就会导致校验结果出错的问题。针对这个问题,提出了一个基于队列数据结构的缓冲区。该缓冲区用于保存还未进行CRC校验的信息比特。每次在译码到CRC校验比特时,首先判断与之相关联的信息比特是否完全译出,如果未完全译出,则不进行CRC校验,把该CRC校验比特的索引放在队列缓冲区的尾部(rear),如果判断出与之相关联的信息比特完全译出,那么就进行CRC校验,并且保存当前CRC比本文档来自技高网...

【技术保护点】
1.一种基于3GPP 5G‑NR极化码的分布式CRC处理方法,其特征在于,包括以下步骤:在接收端做分布式CRC校验时,设置一个基于队列数据结构的缓冲区,该缓冲区用于保存还未进行CRC校验的信息比特;每次先把译出的CRC校验比特位置放入缓冲区的尾部,然后判断缓冲区首部存储的CRC校验比特相关的信息比特是否完全译出,如果完全译出则进行CRC校验,并删除缓冲区的首部,否则不进行CRC校验,继续进行SCL译码。

【技术特征摘要】
1.一种基于3GPP5G-NR极化码的分布式CRC处理方法,其特征在于,包括以下步骤:在接收端做分布式CRC校验时,设置一个基于队列数据结构的缓冲区,该缓冲区用于保存还未进行CRC校验的信息比特;每次先把译出的CRC校验比特位置放入缓冲区的尾部,然后判断缓冲区首部存储的CRC校验比特相关的信息比特是否完全译出,如果完全译出则进行CRC校验,并删除缓冲区的首部,否则不进行CRC校验,继续进行SCL译码。2.根据权利要求1所述的基于3GPP5G-NR极化码的分布式CRC处理方法,其特征在于,如果缓冲区首部存储的CRC校验比特相关的信息比特完全译出,进行CRC校验,并且保存当前CRC比特的校验结果,用以结合下一个CRC比特的校验结果来综合验证译码路径是否通过CRC校验。3.根据权利要求1所述的基于3GPP5G-NR极化码的分布式CRC处理方法,其特征在于,当前CRC校验结束后,删除该队列缓冲区的前段对应的该CRC校验比特的索引,再对下一个CRC校验比特进行CRC校验。4.根据权利要求1-3之一所述的基于3GPP5G-NR极化码的分布式CRC处理方法,其特征在于,包括如下步骤:1)首先定义一个用于保存CRC位置的寄存器CRCBitIndexBuffer,用于存储还未进行校验的CRC比特交织前的比特位置,即CRC校验矩阵对应的列;然后定义一个路径标记矩阵,长度为搜索路径数×CRC校验比特数,用于对一条路径是否通过CRC校验进行标记,可对多次校验的结果进行综合判断;2)判断已译出的信息比特数是否大于0,如果还没有译出信息比特,那么就结束CRC校验进行下一步译码;3)解交织获得所有原始信息比特的位;4)获得当前译码比特交织前的位置;5)根据位置判断该比特是否为CRC比特,如果不是则结束CRC校验进行下一个比特的译码;6)如果是的话,把该CRC校验比特的位置放入CRCBitIndexBuffer最后,更新CRCBitIndexBuffer;7)判断CRCBitIndexBuffer是否为空,如果为空代表没有要校验的CRC比特,则结束CRC校验过程,进行下一个比特的译码;8)如果CRCBitIndexBuffer不为空,则提取CRCBitIndexBuffer的第一个C...

【专利技术属性】
技术研发人员:傅扬升刘武当
申请(专利权)人:广州慧睿思通信息科技有限公司
类型:发明
国别省市:广东,44

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

1