CN108833057A - 一种基于3gpp 5g-nr极化码的分布式crc处理方法 - Google Patents

一种基于3gpp 5g-nr极化码的分布式crc处理方法 Download PDF

Info

Publication number
CN108833057A
CN108833057A CN201810501114.2A CN201810501114A CN108833057A CN 108833057 A CN108833057 A CN 108833057A CN 201810501114 A CN201810501114 A CN 201810501114A CN 108833057 A CN108833057 A CN 108833057A
Authority
CN
China
Prior art keywords
bit
crc check
crc
decoding
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810501114.2A
Other languages
English (en)
Other versions
CN108833057B (zh
Inventor
傅扬升
刘武当
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huiruisitong Technology Co Ltd
Original Assignee
Guangzhou Huiruisitong Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huiruisitong Information Technology Co Ltd filed Critical Guangzhou Huiruisitong Information Technology Co Ltd
Priority to CN201810501114.2A priority Critical patent/CN108833057B/zh
Publication of CN108833057A publication Critical patent/CN108833057A/zh
Application granted granted Critical
Publication of CN108833057B publication Critical patent/CN108833057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

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

Description

一种基于3GPP 5G-NR极化码的分布式CRC处理方法
技术领域
本发明涉及通信技术领域,特别涉及一种基于3GPP 5G-NR极化码的分布式CRC处理方法,针对目前3GPP 5G-NR TS38.212协议中极化码的规定提出一种接收端对极化码的处理方案。
背景技术
极化码是由土耳其的教授Erdal Arikan于2008年提出的一种根据信道极化现象来编码的新的信道编码方式,是目前唯一一种可被理论证明能够达到香农信道容量极限的信道编码技术。已被第三代合作伙伴计划(3GPP)采纳作为5G-NR(5G-新无线电)控制信道的信道编码方式。
目前,在极化码领域中已有多项专利提到了极化码的构造、编码和译码等。但是目前关于极化码的专利多是一些比较细节的改进和处理,例如极化码的构造方法、针对极化码的速率匹配方式,以及对极化码串行抵消列表(SCL)译码算法的一些改进措施等等,并没有针对5G-NR中的极化码进行研究。对NR中的极化码进行研究时,发现在做分布式循环冗余校验(Distributed CRC check)时,当译码到CRC校验比特的时候,与CRC校验比特相关的信息比特可能还未完全译出,如果不加额外的判断,那么直接用已译码的信息比特进行CRC校验就会出错,导致错误的提前终止译码。
发明内容
针对现有问题,本发明提出了一种基于3GPP 5G-NR极化码的分布式CRC处理方法,引入了一个队列数据结构的缓冲区,用以保存那些还未译出相关信息比特的CRC校验比特索引,等待所有相关信息比特译出后再进行处理,使得CRC校验更准确。
本发明的目的通过以下的技术方案实现:一种基于3GPP 5G-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时,终止译码。
本发明与现有技术相比,具有如下优点和有益效果:
本发明针对3GPP NR协议的规定,同时在串行消除列表译码算法中实现了对速率匹配、奇偶校验比特和CRC校验比特的处理。与现有的发明相比,根据协议极化码编码前的交织改进了现有的算法,使其可以解决译码到CRC校验比特时与之相关的原始信息比特还未完全译出的问题。并且还提出了综合多个CRC校验比特校验的校验结果对SCL译码算法中的译码路径进行CRC校验,可以提高CRC校验的准确性。
附图说明
图1是5G NR极化码的发送和接收处理流程图。
图2是针对5G NR的串行抵消列表译码流程图。
图3是带奇偶校验码的路径度量值计算流程图。
图4是针对协议极化码编码前的交织方式存在的问题改进的分布式CRC校验流程图。
图5是结合多个比特的校验结果对译码路径进行CRC校验的示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
在对NR协议极化码进行研究时,发现NR协议中的交织方式可能导致在接收端做分布式CRC校验时,与之相关的信息比特可能还未完全译出,如果直接通过已译码的信息比特乘以该CRC校验比特对应的CRC生成矩阵的列,就会导致校验结果出错的问题。
针对这个问题,提出了一个基于队列数据结构的缓冲区。该缓冲区用于保存还未进行CRC校验的信息比特。每次在译码到CRC校验比特时,首先判断与之相关联的信息比特是否完全译出,如果未完全译出,则不进行CRC校验,把该CRC校验比特的索引放在队列缓冲区的尾部(rear),如果判断出与之相关联的信息比特完全译出,那么就进行CRC校验,并且保存当前CRC比特的校验结果,用以结合下一个CRC比特的校验结果来综合验证译码路径是否通过CRC校验,这个就是本发明提出的多比特CRC联合校验方法。
然后当前CRC校验结束后,再删除该队列缓冲区的前段(front)对应的该CRC校验比特的索引,再对下一个CRC校验比特进行CRC校验。
当判断出所有的译码路径都未通过以上所述方法的CRC校验时,则说明译码发生了错误,就提前终止译码,这样大大的减少了不必要的计算。
本发明是针对目前NR协议极化码编码前交织方式出现的问题进行改进,在不改变协议的情况下,在接收端解决交织方式导致的分布式CRC校验比特相关的信息未完全译出的问题。并提出了一种基于多分段CRC比特校验的方法,可以提高CRC校验的准确性。接下来介绍基于协议极化码的整个编译码流程,然后在分布式CRC校验部分介绍本专利的发明内容。
本发明的实现中,首先计算接收比特的LLR值,将其解比特交织。然后补齐被凿孔或者缩短的比特信息的LLR值,或者将重复发送比特的LLR值的向量长度还原为N。当速率匹配的方式为凿孔时,在接收长度为E的信息比特的前面补上(N-E)个0为被凿掉比特的LLR值。当速率匹配的方式为缩短时,在接收长度为E的信息比特后面补上(N-E)个大的正值,例如本专利中将其设为了100,作为被缩短比特的LLR值。当速率匹配的方式是重复时,则把重复比特的LLR值对应相加作为其LLR值。
然后将补完LLR值的信息比特进行子块解交织,对应协议中发送端在比特选择之前的子块交织。
然后将子块解交织后信息比特的位置进行位倒序。
然后开始进行串行抵消列表译码算法,当译码到奇偶校验比特时,根据奇偶校验函数计算奇偶校验比特的值,然后再计算对应的路径度量值。
当译码到CRC校验比特时,按照信息比特处理来计算路径度量值,计算完后,根据本发明前面提到的方法通过CRC校验比特对所有的译码路径进行CRC校验,即每次先把译出的CRC校验比特位置放入基于队列数据结构的缓冲区的尾部,然后判断缓冲区首部存储的CRC校验比特相关的信息比特是否完全译出,如果完全译出则进行CRC校验,并删除缓冲区的首部。否则不进行CRC校验,继续进行SCL译码。然后综合多个CRC校验比特的结果判断译码路径是否通过CRC校验。
本过程对所有基于协议控制信道的编码方案均适用。
如图1所示,为3GPP 5G-NR极化码的通用处理流程。首先产生长度为A的原始信息比特[a0,a1,…aA-1]。然后添加长度为L的CRC校验比特,得到信息比特[b0,b1,…bA-1,…,bA+L-1]。将信息比特交织,将CRC校验比特插入到信息比特中去。然后根据比特选择的方式确定编码长度N。再确定冻结比特、信息比特和奇偶校验比特的位置。将冻结比特、信息比特和奇偶校验比特放在对应的位置上,得到待编码比特[u0,u2,…uN-1]。接着乘以编码矩阵其中得到长度为N的编码比特然后进行子块交织。再进行比特选择,可能为凿孔、缩短或者重复,得到长度为E的输出比特[e0,e1,…eE-1]。然后进行比特交织。再进行BPSK调制。通过AWGN信道后,在接收端,先进行比特解交织。然后进行串行抵消列表译码,其中集成了BPSK解调、对比特选择的处理、子块解交织和解码,还包含了对奇偶校验比特和CRC校验比特的处理,并针对协议交织方式的问题给出了解决方案。译码完毕后去掉冻结比特和奇偶校验比特。再解交织。再去掉CRC校验比特,就得到解码的原始信息比特了。
如图2所示,1是串行抵消译码的输入信息,为已进行比特选择、经过BPSK并通过AWGN信道的接收信号。2是串行抵消译码的输出信息,为已译码的长度为N的比特。串行抵消译码的算法如下所示:
1.首先接收到长度为E的加噪声的比特,为输入1。
2.生成本地的各种信息。例如获得冻结比特和信息比特的位置、解交织的方式、获得CRC生成矩阵用于计算分布式的CRC校验比特。
3.获得SC译码蝶形结构最右侧的初始化LLR值。SCL译码算法等同于在多个路径上进行SC译码。所以SCL译码算法可以等同于‘SC译码算法+路径度量值PM’。而由于接收到的是经过速率匹配后的信息,长度可能并不是极化码译码所要求的2的整数次幂,所以在这一步还要对比特选择后凿孔的比特或者重复的比特进行处理,得到这些比特的LLR值,对于凿孔的比特,在计算的接收信息LLR值前补上(N-E)个0。对于缩短的比特,在计算的接收信息LLR值前补上(N-E)个大的正值。在这一步后应该得到长度为N的LLR值向量。
4.在处理完发送端比特选择的逆过程,还需要对长度为N的LLR值向量进行子块解交织,恢复到编码后比特的顺序。
5.再将恢复到编码后比特的顺序进行倒位序反转。
6.然后就开始遍历N个待译码比特,进行串行译码。与SC算法不同的是在每进行下一个比特的译码时都保留L个候选路径。
7.如果i<N,首先获取遍历的第i个比特比特序号i的倒位序i_inverse。否则的话就结束译码,输出2,为已译码的比特。
8.然后判断待保留的路径是否达到L,如果没有达到则复制扩展到最大路径L。这样做的目的主要是为了方便达到L条路径后每次剪枝的拷贝操作,以及符合定义的全部变量:SCL译码候选矩阵,是一个N×L矩阵。每行保留每次译码的L个候选路径,每列代表每条路径的译码比特。
9.递归计算每条路径第i个译码比特的LLR值。
10.将L条路径扩展为2L条路径,然后以此遍历计算每条路径的路径度量值。路径度量值是基于LLR值迭代计算的计算的。
11.当遍历计算完所有2L条扩展路径的PM值时,选出其中PM最大的L条路径作为下一级译码的候选路径,这也就是所谓的剪枝操作。
12.判断译码的第i个比特是否为CRC校验比特,如果是的话首先要对已译码的比特解交织,这是因为在发送端,添加了CRC校验比特后进行了交织,所以在接收端为了进行CRC校验首先需要解交织。
13.然后对所有L条路径的译码比特进行CRC校验,如果所有的路径都没有通过CRC校验,那么就提前终止译码,否则回到第7步开始对下一个比特译码。
图2还包含了对奇偶校验比特的处理,在节点3和节点4,节点3输入一个节点求其扩展路径的路径度量值,这个节点可能是信息比特、冻结比特或者奇偶校验比特。协议中插入的奇偶校验比特在这里处理,作为辅助计算路径度量值,来对译码路径进行选择,其流程如图3所示,描述如下:
1.节点3是译码第i个比特的第l条路径,需要计算其路径度量值,设第l条路径第i-1个译码比特的路径度量值为PMi-1(l),第i个比特第l条路径的LLR值为LLRi(l)。
2.判断待估计的比特是否为信息比特,如果是的话进行第3步,否则的话跳到第18步。
3.判断待估计的比特是否为奇偶校验比特,如果是的话进行第4步,否则的话跳到第14步。
4.根据协议定义的奇偶校验函数计算当前奇偶校验比特的值,根据LLR值得到估计比特判断和由奇偶校验函数计算得到的值ParityBitValue是否相等,如果 进行第6步,否则的话进行第7步。
5.PMi(l)=-∞。
6.判断if LLR>0,如果是的话进行第8步,否则跳到第11步。
7.判断if ParityBitValue==0,如果是的话进行第9步,否则跳到第10步。
8.PMi(l)=PMi-1(l),结束。
9.PMi(l)=PMi-1(l)-|LLRi(l)|,结束。
10.判断if ParityBitValue==1,如果是的话进行第12步,否则跳到第13步。
11.PMi(l)=PMi-1(l),结束。
12.PMi(l)=PMi-1(l)-|LLRi(l)|,结束。
13.判断候选比特是否和由LLR值估计的比特一致,是的话跳到第15步,否则跳到第16步。
14.PMi(l)=PMi-1(l),结束。
15.PMi(l)=PMi-1(l)-|LLRi(l)|,结束。
16.将已译码的原始信息比特个数加1,用于分布式CRC校验。
17.判断候选比特是否为0,是的话跳到第19步,否则的话跳到第20步。
18.PMi(l)=-∞。
19.判断if LLR>0,如果是的话进行第21步,否则跳到第22步。
20.PMi(l)=PMi-1(l),结束。
21.PMi(l)=PMi-1(l)-|LLRi(l)|,结束。
经过以上流程,就可以得到第i个译码比特第l条路径的路径度量值PMi(l),输出为节点4,为后续的剪枝操作做准备。剪枝操作就是从2L条候选路径中选出L条PM值最大的路径即可。
图2还包含了对分布式CRC校验比特的处理,节点5为已译码并解交织后的比特,当遇到CRC校验比特时对其做CRC校验。在对协议中交织后的CRC校验比特做校验时,发现协议的交织方案可能导致在做单个比特的CRC校验时,与该CRC校验比特相关联的原始信息比特可能还未译出,这样就可能导致错误的CRC校验结果,从而错误提前结束译码,针对这个问题,本发明提出了一种方法,可以判断与当前CRC校验比特相关的原始信息比特是否译出,如果没有译出,那么保存这个CRC校验比特的位置,当译出与之相关联的所有信息比特后再对齐进行CRC校验,根据图4,其过程如下:
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校验。
11)综合之前CRC校验比特的校验结果,判断本次校验中是否所有译码路径都未通过CRC校验。
12)如果所有的译码路径都未通过CRC校验,则说明本次译码出现了错误,提前终止译码。
13)如果不是所有的路径都未通过CRC校验,删除CRCBitIndexBuffer第一位,结束本次CRC校验,进行下一个比特的译码。
在分布式CRC校验的流程图中,输出6代表综合多个CRC校验比特进行判断,对每条路径是否通过CRC校验进行标记,然后在下一次CRC校验的时候会结合上一次的CRC校验结果共同判断译码路径是否通过CRC校验。结合图5给出详细的说明。
首先给定一个矩阵FailPathFlag,长度为L×CRCLength,其中L为SCL译码算法的译码路径条数。本例中假设有6个CRC校验比特,译码路径为8条。
当检测到第一个CRC校验比特并判断译出了所有与之相关的信息比特时,对8条路径进行CRC校验,并标记未能通过CRC校验的路径为1,记为FailPathFlag1,然后将结果保存到FailPathFlag的第一列,然后计算FailPathFlag每一行的总和,得到一个向量FailPathFlagAll,判断FailPathFlagAll是否全大于0,如果不是,则进行下一次CRC校验。
当检测到第二个CRC校验比特并判断译出了所有与之相关的信息比特时,对8条路径进行CRC校验,并标记未能通过CRC校验的路径为1,记为FailPathFlag2,然后将结果保存到FailPathFlag的第二列,然后计算FailPathFlag每一行的总和,更新向量FailPathFlagAll,判断FailPathFlagAll是否全大于0,如果不是,则进行下一次CRC校验。
依次类推,当检测到FailPathFlagAll都大于0时,终止译码。
在本例中,当最后一次CRC校验结束时,在节点6计算FailPathFlagAll输出,可以发现仅有第三条译码路径通过CRC校验,保留第三条路径作为译码结果。
这种方法的优越性在于可以更加准确的对译码路径是否通过CRC校验进行判断。例如,观察图5的第一条译码路径,在进行第一次和第二次CRC校验时(通过第一个和第二个CRC校验比特),它都没有通过CRC校验,但是由于单个的CRC校验比特检错能力有限,在进行第三次CRC校验时,它通过了CRC校验。如果按照现有的办法,每次仅使用单个CRC校验比特的校验结果来对译码路径是否通过CRC校验进行判断,那么就会导致CRC校验不准确。而本发明提出的办法可以综合第一次和第二次的CRC校验结果进行考虑,在综合后,发现该条路径是没有通过CRC校验的,这样就能更准确的对译码路径进行CRC校验判断。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.一种基于3GPP 5G-NR极化码的分布式CRC处理方法,其特征在于,包括以下步骤:
在接收端做分布式CRC校验时,设置一个基于队列数据结构的缓冲区,该缓冲区用于保存还未进行CRC校验的信息比特;每次先把译出的CRC校验比特位置放入缓冲区的尾部,然后判断缓冲区首部存储的CRC校验比特相关的信息比特是否完全译出,如果完全译出则进行CRC校验,并删除缓冲区的首部,否则不进行CRC校验,继续进行SCL译码。
2.根据权利要求1所述的基于3GPP 5G-NR极化码的分布式CRC处理方法,其特征在于,如果缓冲区首部存储的CRC校验比特相关的信息比特完全译出,进行CRC校验,并且保存当前CRC比特的校验结果,用以结合下一个CRC比特的校验结果来综合验证译码路径是否通过CRC校验。
3.根据权利要求1所述的基于3GPP 5G-NR极化码的分布式CRC处理方法,其特征在于,当前CRC校验结束后,删除该队列缓冲区的前段对应的该CRC校验比特的索引,再对下一个CRC校验比特进行CRC校验。
4.根据权利要求1-3之一所述的基于3GPP 5G-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的第一个CRC校验比特的位置;
9)判断与该CRC校验比特相关的所有信息比特是否译出,即判断与该CRC校验比特相关的所有信息比特是否为第三步获得的原始信息比特位置的子集,如果不是,则代表与该CRC校验比特相关的原始信息比特还未完全译出,无法进行CRC校验,则结束CRC校验过程;
10)如果都已译出,则通过已译出的原始信息比特计算该CRC校验比特,与通过路径度量值译码的CRC比特进行比较,进行CRC校验。
5.根据权利要求4所述的基于3GPP 5G-NR极化码的分布式CRC处理方法,其特征在于,综合之前CRC校验比特的校验结果,判断本次校验中是否所有译码路径都未通过CRC校验,如果所有的译码路径都未通过CRC校验,则说明本次译码出现了错误,提前终止译码,如果不是所有的路径都未通过CRC校验,删除CRCBitIndexBuffer第一位,结束本次CRC校验,进行下一个比特的译码。
6.根据权利要求5所述的基于3GPP 5G-NR极化码的分布式CRC处理方法,其特征在于,综合判断译码路径是否通过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时,终止译码。
CN201810501114.2A 2018-05-23 2018-05-23 一种基于3gpp 5g-nr极化码的分布式crc处理方法 Active CN108833057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810501114.2A CN108833057B (zh) 2018-05-23 2018-05-23 一种基于3gpp 5g-nr极化码的分布式crc处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810501114.2A CN108833057B (zh) 2018-05-23 2018-05-23 一种基于3gpp 5g-nr极化码的分布式crc处理方法

Publications (2)

Publication Number Publication Date
CN108833057A true CN108833057A (zh) 2018-11-16
CN108833057B CN108833057B (zh) 2021-08-17

Family

ID=64147225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810501114.2A Active CN108833057B (zh) 2018-05-23 2018-05-23 一种基于3gpp 5g-nr极化码的分布式crc处理方法

Country Status (1)

Country Link
CN (1) CN108833057B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688694A (zh) * 2019-10-18 2021-04-20 王晋良 用于列表型连续消去的解码器及其解码方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227189A (zh) * 2015-09-24 2016-01-06 电子科技大学 分段crc辅助的极化码编译码方法
CN105337696A (zh) * 2015-10-08 2016-02-17 东南大学 基于分段crc校验的极化解码方法
CN105933010A (zh) * 2016-04-15 2016-09-07 华南理工大学 一种基于分段校验辅助的低复杂度极化码译码scl算法
CN106209113A (zh) * 2016-07-29 2016-12-07 中国石油大学(华东) 一种极化码的编解码方法
CN106452460A (zh) * 2016-09-21 2017-02-22 华中科技大学 一种极化码与重复码级联的纠错编码方法
CN106788456A (zh) * 2016-12-14 2017-05-31 电子科技大学 一种极化码编译码方法
CN106849960A (zh) * 2017-01-19 2017-06-13 东南大学 基于极化码的分段crc校验堆栈译码方法及架构
CN107425857A (zh) * 2017-06-19 2017-12-01 华为技术有限公司 一种极化码编译码方法及装置
US20170353193A1 (en) * 2016-06-01 2017-12-07 Samsung Electronics Co., Ltd. Apparatus and method for encoding with cyclic redundancy check and polar code
KR101856417B1 (ko) * 2017-04-26 2018-05-09 인하대학교 산학협력단 극 부호­crc 연접 부호를 이용한 병렬 연속 제거 극 부호화-복호화 방법 및 장치

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227189A (zh) * 2015-09-24 2016-01-06 电子科技大学 分段crc辅助的极化码编译码方法
CN105337696A (zh) * 2015-10-08 2016-02-17 东南大学 基于分段crc校验的极化解码方法
CN105933010A (zh) * 2016-04-15 2016-09-07 华南理工大学 一种基于分段校验辅助的低复杂度极化码译码scl算法
US20170353193A1 (en) * 2016-06-01 2017-12-07 Samsung Electronics Co., Ltd. Apparatus and method for encoding with cyclic redundancy check and polar code
CN106209113A (zh) * 2016-07-29 2016-12-07 中国石油大学(华东) 一种极化码的编解码方法
CN106452460A (zh) * 2016-09-21 2017-02-22 华中科技大学 一种极化码与重复码级联的纠错编码方法
CN106788456A (zh) * 2016-12-14 2017-05-31 电子科技大学 一种极化码编译码方法
CN106849960A (zh) * 2017-01-19 2017-06-13 东南大学 基于极化码的分段crc校验堆栈译码方法及架构
KR101856417B1 (ko) * 2017-04-26 2018-05-09 인하대학교 산학협력단 극 부호­crc 연접 부호를 이용한 병렬 연속 제거 극 부호화-복호화 방법 및 장치
CN107425857A (zh) * 2017-06-19 2017-12-01 华为技术有限公司 一种极化码编译码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAI NIU,KAI CHEN: "CRC-Aided Decoding of Ploar Codes", 《IEEE COMMUNICATIONS LETTERS》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688694A (zh) * 2019-10-18 2021-04-20 王晋良 用于列表型连续消去的解码器及其解码方法

Also Published As

Publication number Publication date
CN108833057B (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN106452460B (zh) 一种极化码与重复码级联的纠错编码方法
CN105227189B (zh) 分段crc辅助的极化码编译码方法
CN101777924B (zh) 一种Turbo码译码方法和装置
CN108365914B (zh) Polar码编译码方法及装置
CN101656541B (zh) Rs码的译码方法和装置
CN106209113A (zh) 一种极化码的编解码方法
CN108540141A (zh) Polar码编译码方法及装置
CN107017892B (zh) 一种校验级联极化码编码方法及系统
CN106888025A (zh) 一种基于极化码的级联纠错编译码方法和系统
CN109936377A (zh) 一种分段crc辅助的极化码编码和译码方法
CN105680883A (zh) 一种极化码和多比特偶校验码级联的纠错编码方法
CN101867379A (zh) 一种循环冗余校验辅助的卷积码译码方法
CN101667840B (zh) 一种咬尾译码方法及装置
CN107248866A (zh) 一种降低极化码译码时延的方法
CN110098838A (zh) Ldpc-rs乘积码的纠错纠删迭代译码方法
KR19990064118A (ko) 소프트 디시젼 중첩 복호기내의 확인 및 프레임 신호 품질 검출방법 및 장치
CN108958963A (zh) 一种基于ldpc和循环冗余校验码的nand flash差错控制方法
CN107395214B (zh) 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN109981224A (zh) 一种深空通信信道编译码系统及其方法
CN108833057A (zh) 一种基于3gpp 5g-nr极化码的分布式crc处理方法
CN103856218B (zh) 译码处理方法及译码器
CN101425869A (zh) 一种译码方法及装置
CN107888334A (zh) 基于lt码与ldpc码级联的随机编、译码器及方法
US20210203362A1 (en) Method of interleaved polar codes and interleaved polar encoder used therein
CN101431340B (zh) 一种里德-所罗门码的快速自适应置信度传播译码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 510000 no.2-8, North Street, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou huiruisitong Technology Co.,Ltd.

Address before: 605, No.8, 2nd Street, Ping'an 2nd Road, Xianzhuang, lirendong village, Nancun Town, Panyu District, Guangzhou City, Guangdong Province 511442

Patentee before: GUANGZHOU HUIRUI SITONG INFORMATION TECHNOLOGY Co.,Ltd.

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20221228

Granted publication date: 20210817

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20240327

Granted publication date: 20210817