CN112671511B - 基于部分重传的并行crc校验方法及系统 - Google Patents

基于部分重传的并行crc校验方法及系统 Download PDF

Info

Publication number
CN112671511B
CN112671511B CN202011539998.4A CN202011539998A CN112671511B CN 112671511 B CN112671511 B CN 112671511B CN 202011539998 A CN202011539998 A CN 202011539998A CN 112671511 B CN112671511 B CN 112671511B
Authority
CN
China
Prior art keywords
crc
level crc
level
check
code block
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.)
Active
Application number
CN202011539998.4A
Other languages
English (en)
Other versions
CN112671511A (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.)
Shanghai Institute of Microwave Technology CETC 50 Research Institute
Original Assignee
Shanghai Institute of Microwave Technology CETC 50 Research Institute
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 Shanghai Institute of Microwave Technology CETC 50 Research Institute filed Critical Shanghai Institute of Microwave Technology CETC 50 Research Institute
Priority to CN202011539998.4A priority Critical patent/CN112671511B/zh
Publication of CN112671511A publication Critical patent/CN112671511A/zh
Application granted granted Critical
Publication of CN112671511B publication Critical patent/CN112671511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供了一种基于部分重传的并行CRC校验方法及系统,包括:步骤M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息发送至接收端;步骤M2:接收端对CB分别进行CB级CRC校验;记录所有CB的TB级CRC校验结果CLa;步骤M3:对未通过校验的CB进行重传;步骤M4:对重传的CB进行TB级CRC校验,记录所有CB的TB级CRC校验结果temp;步骤M5:将前后两次传输对于的TB级CRC结果进行异或;步骤M6:当前仍存在CB级CRC校验未通过,则重复执行步骤M3至步骤M5,直至重传次数达到预设次或全部CB级CRC校验通过,记录传输次数Rt;步骤M7:当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将INIT添加到原始TB数据流前端,重复步骤M1至步骤M7,直至TB级CRC校验通过。

Description

基于部分重传的并行CRC校验方法及系统
技术领域
本发明涉及差错校验技术领域,具体地,涉及基于部分重传的并行CRC校验方法及系统。
背景技术
在数据通信过程中,为了提高传输可靠性,判断接收端数据的正确性,除了使用信道编码技术之外,还会在发送数据的末端加入校验位。循环冗余校验码CRC由于其易于硬件实现,误码检测能力强,抗干扰性能优异,在网络数据传输中得到广泛应用。
CRC校验的基本思想是在发端数据流的尾部添加一串CRC校验码作为一组新数据流发给接收端,该校验码需要能够使生成的新数据流能与发送端和接收端共同选定的某个特定数整除,这个特定数由生成CRC校验码的生成多项式确定。在接收端对接收到的数据流采用“模2除法”除以这个特定数,如果结果没有余数,则说明校验通过,否则认为传输过程中出现错误比特。
CRC编码分为串行和并行两种方式,在低速通信中,CRC采用串行算法,由线性反馈移位寄存器实现,对于高速通信场景已无法适用。并行方式有查表法和公式法,查表法需要根据特定的并行度存储表项,硬件消耗大,可移植性低,难以实现高位宽并行数据校验。并行公式递推法目前使用较多。但是目前研究中都没有涉及对于TB比特流中每次传输仅解对部分CB块时进行TB块校验的方法。无论是在LTE还是NR中,TB都被划分成多个CB,而NR中引入了CBG概念,即可以选择以CBG为单位来指示重传ACK/NACK,此时重传的比特流可能只是TB中的某些CB块,按照传统的CRC校验方法进行TB级CRC校验需要在新传时开缓存来存储解对的码块对应的比特流,然后重传时读出来进行码块拼凑再做TB级CRC校验,这种处理方法会导致时延明显增加,影响用户体验速率,同时也增加了硬件的缓存空间。本发明的目的是致力于克服上述传统部分码块重传校验TB级CRC方案对系统延时和整体性能的影响,提出一种基于部分重传的并行CRC校验方法。
针对上述现有技术中的缺陷,本发明要解决的技术问题体现在以下几点:
1)解决仅重传部分CB时,进行TB级CRC校验带来的时延和存储问题;
2)解决利用部分解对CB结果进行TB级CRC校验时上次传输解对和本次传输解错CB部分的直接跳转问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于部分重传的并行CRC校验方法及系统。
根据本发明提供的一种基于部分重传的并行CRC校验方法,包括:
步骤M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
步骤M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa,其中CBii表示第ii个长度为L的码块,ii=0,1,2.......C-1;
步骤M3:对上一次CB级CRC校验未通过的码块进行重传;
步骤M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
步骤M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
步骤M6:当当前仍存在CB级CRC校验未通过,则重复执行步骤M3至步骤M5,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
步骤M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复执行步骤M1至步骤M7,直至TB级CRC校验通过。
优选地,所述步骤M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据。
优选地,所述步骤M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
优选地,所述采用公式法包括:对于初传解错的第jj个码块CBjj,在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择满足L=K*a+S*b,L个比特的CRC校验通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
其中,K位并行的公式表示为:
Figure BDA0002854277850000031
其中,Hx和Hy分别为对应的参数矩阵;
Figure BDA0002854277850000032
表示异或操作;D1表示K位并行的比特向量,C1表示k位并行后CRC状态;C0表示当前比特数据流初始的CRC状态;Cjj表示当前比特数据流初始的CRC状态,Cjj+1表示并行后的CRC状态;
优选地,所述步骤M5包括:
Figure BDA0002854277850000033
其中,
Figure BDA0002854277850000034
表示异或操作。
根据本发明提供的一种基于部分重传的并行CRC校验系统,包括:
模块M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
模块M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa,其中CBii表示第ii个长度为L的码块,ii=1,2.......c-1;
模块M3:对上一次CB级CRC校验未通过的码块进行重传;
模块M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
模块M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
模块M6:当当前仍存在CB级CRC校验未通过,则重复触发模块M3至模块M5执行,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
模块M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复触发模块M1至模块M7执行,直至TB级CRC校验通过。
优选地,所述模块M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据。
优选地,所述模块M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
优选地,所述采用公式法包括:对于初传解错的第jj个码块CBjj,在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择满足L=K*a+S*b,L个比特的CRC校验通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
其中,K位并行的公式表示为:
Figure BDA0002854277850000041
其中,Hx和Hy分别为对应的参数矩阵;
Figure BDA0002854277850000042
表示异或操作;D1表示K位并行的比特向量,C1表示k位并行后CRC状态;C0表示当前比特数据流初始的CRC状态;Cjj表示当前比特数据流初始的CRC状态,Cjj+1表示并行后的CRC状态;
优选地,所述模块M5包括:
Figure BDA0002854277850000043
其中,
Figure BDA0002854277850000044
表示异或操作。
与现有技术相比,本发明具有如下的有益效果:
1、本发明当仅重传部分CB时,进行TB级CRC校验无需对上次传输解对CB的比特流进行存储,只需要处理本次解对码块的TB级CRC校验,减少硬件缓存的同时也加快了CRC校验模块处理时间;
2、本发明利用部分CB结果进行TB级CRC校验时,对于上次传输解对和本次传输解错CB部分可通过公式直接跳转计算出下一个解对码块的初始CRC状态寄存器;
3、本发明适用于不同寄存器初始状态设置;
4、本发明克服传统部分码块重传场景TB级CRC校验的处理延时以及对吞吐的影响。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为LFSR结构框;
图2为TB块组成以及CB分组图;
图3为重传解码情况示意图;
图4为部分码块重传计算TB级CRC示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
一种基于部分重传的并行CRC校验方法是基于并行CRC处理,推导出仅传输部分码块时TB级CRC的快速计算方法,节省了硬件存储和CRC模块处理时间。
根据本发明提供的一种基于部分重传的并行CRC校验方法,如图1至图4所示,包括:
步骤M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
步骤M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa,其中CBii表示第ii个长度为L的码块,ii=1,2.......c-1;
步骤M3:对上一次CB级CRC校验未通过的码块进行重传;
步骤M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
步骤M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
Figure BDA0002854277850000061
其中,
Figure BDA0002854277850000062
表示异或操作。
步骤M6:当当前仍存在CB级CRC校验未通过,则重复执行步骤M3至步骤M5,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
步骤M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复执行步骤M1至步骤M7,直至TB级CRC校验通过。
具体地,所述步骤M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据;解对的码块组基站不会在发出。所有重传的码块组中,接收端仅处理上次传输解错的码块,对于错误的码块组中解对的码块不会再重复解码;
具体地,所述步骤M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
具体地,所述采用公式法包括:
对于m位crc校验,设(g0,g1,…,gm-1,gm)(g0=1、gm=1)为生成多项式G(x)=gmXm+gm-1Xm-1…+g1X+g0的低次项到高次项的系数;故当前CRC值与当前数据输入和前一级CRC值的关系为:
Figure BDA0002854277850000063
式中
Figure BDA0002854277850000064
为第j+1次数据输入后的第i+1位CRC值,
Figure BDA0002854277850000065
为第j次数据输入后的第i位CRC值,gi+1为CRC生成多项式中第i+1项的系数,dj+1为第j+1次的数据输入,
Figure BDA0002854277850000071
为第j次的数据输入后的第m-1位CRC值,j为自然数,i=0,1,…,m-1。
根据上述迭代关系可以推导出任意并行的CRC公式,具体并行度的选择根据CB大小决定,以K位并行为例,可得当前CRC中每一位的值为:
Figure BDA0002854277850000072
Figure BDA0002854277850000073
Figure BDA0002854277850000074
其中
Figure BDA0002854277850000075
Figure BDA0002854277850000076
Figure BDA0002854277850000077
Figure BDA0002854277850000078
对应的参数,假设Hx和Hy分别为对应的参数矩阵,则K位并行公式可表示为:C1=C0*Hx+D1*Hy,式中加号均代表异或操作;
对于初传解错的CBjj(jj=0,1,…,C-1),在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择要满足L=K*a+S*b,即L个比特的CRC校验可通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式可表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
根据本发明提供的一种基于部分重传的并行CRC校验系统,包括:
模块M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
模块M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa,其中CBii表示第ii个长度为L的码块,ii=0,1,2.......C-1;
模块M3:对上一次CB级CRC校验未通过的码块进行重传;
模块M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
模块M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
Figure BDA0002854277850000081
其中,
Figure BDA0002854277850000082
表示异或操作。
模块M6:当当前仍存在CB级CRC校验未通过,则重复触发模块M3至模块M5执行,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
模块M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复触发模块M1至模块M7执行,直至TB级CRC校验通过。
具体地,所述模块M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据;解对的码块组基站不会在发出。所有重传的码块组中,接收端仅处理上次传输解错的码块,对于错误的码块组中解对的码块不会再重复解码;
具体地,所述模块M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
具体地,所述采用公式法包括:
对于m位crc校验,设(g0,g1,…,gm-1,gm)(g0=1、gm=1)为生成多项式G(x)=gmXm+gm-1Xm-1…+g1X+g0的低次项到高次项的系数;故当前CRC值与当前数据输入和前一级CRC值的关系为:
Figure BDA0002854277850000083
式中
Figure BDA0002854277850000084
为第j+1次数据输入后的第i+1位CRC值,
Figure BDA0002854277850000085
为第j次数据输入后的第i位CRC值,gi+1为CRC生成多项式中第i+1项的系数,dj+1为第j+1次的数据输入,
Figure BDA0002854277850000086
为第j次的数据输入后的第m-1位CRC值,j为自然数,i=0,1,…,m-1。
根据上述迭代关系可以推导出任意并行的CRC公式,具体并行度的选择根据CB大小决定,以K位并行为例,可得当前CRC中每一位的值为:
Figure BDA0002854277850000091
Figure BDA0002854277850000092
Figure BDA0002854277850000093
其中
Figure BDA0002854277850000094
Figure BDA0002854277850000095
Figure BDA0002854277850000096
Figure BDA0002854277850000097
对应的参数,假设Hx和Hy分别为对应的参数矩阵,则K位并行公式可表示为:C1=C0*Hx+D1*Hy,式中加号均代表异或操作;
对于初传解错的CBjj(jj=0,1,…,C-1),在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择要满足L=K*a+S*b,即L个比特的CRC校验可通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式可表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
实施例2
实施例2是实施例1的变化例
TB级CRC以16位crc为例,初始CRC状态为全0,生成多项式为G(x)=x16+x12+x5+1,由于TB到CB的划分是等分的,且CB大小为Byte级,即均为8的倍数。
1)假设TB大小为58952,通过添加TBCRC,得La=58952+16=58968,通过码块分割可分为7个CB,每个CB大小为8424,即C=7,L=8424;
2)并行度K取8,8位并行的CRC校验公式中Hx和Hy分别为:
Figure BDA0002854277850000098
Figure BDA0002854277850000101
Figure BDA0002854277850000102
此时
Figure BDA0002854277850000103
8位并行公式可表示为:C1=C0*Hx+D1*Hy,式中加号均代表异或操作;
3)假设初传时{CB0,CB1,…,CB6}中,CB0、CB4、CB6解码错误,此时按照序列{000..00CB1 CB2 CB3000..00 CB5000..00}计算TB级CRC,即正确的CB正常输出,对于错误的CB按全0参与TB级CRC计算;
4)对于全0的CB可通过公式进行直接跳转,对于8位并行CRC,a=8424/8=1053,故CB1的初始CRC状态为C'=C0*(Hx)1053,将C0=C',由于CRC初始状态C0为全0,故若序列起始为全0CB,就可以直接忽略,跳转到第一个非零CB处,此时C0仍为全0。CB2的初始CRC状态为Cii+1=Cii*Hx+Dii+1*Hy,其中ii=0、1、…、1052,依此类推可以算出到CB6时对应的TB级CRC校验结果CLa
5)对于初传CB级CRC未校验通过的码块,将以CBG为单位反馈NACK,重传将按照错误的CBG下发数据,解对的CBG基站不会再发出。根据CBG分组规则,可得第一次重传将发送{CBG0,CBG2,CBG3},而接收端仅处理上次传输解错的CB,对于错误CBG中上次解对的CB不会再重复解码,假设第一次重传CB0和CB6解码正确,CB4解错。
6)对于上次传输解对的CB以及本次传输解错的CB均按照全0参与TB级CRC校验,此时参与TB级CRC校验的序列为{CB0000..00000..00000..00000..00000..00CB6},跳转公式如4)所示,CB1的初始CRC状态为Cii+1=Cii*Hx+Dii+1*Hy,其中ii=0、1、…、1052,CB6的初始CRC状态为C1054=C1053*(Hx)1053*5,记录到最后一个CB时对应的TB级CRC校验结果C1054+ii+1=C1054+ii*Hx+Dii+1*Hy,其中ii=0、1、…、1052,令temp=C2107,将前后两次传输对应的TB级CRC结果进行异或,更新校验结果存储,即
Figure BDA0002854277850000111
7)假设第一次重传CB4仍然解错,此时第二次重传将发送CBG2,而接收端仅处理上次传输解错的CB4,对于错误CBG中上次解对的CB5不会再重复解码,假设第二次重传CB4解码正确。
8)计算TB级CRC校验的方法同6),此时参与TB级CRC校验的序列为{000..00000..00000..00000..00CB4000..00000..00},由于初始状态为全0,则CB4的起始对应的CRC状态仍为全0,CB5的初始CRC状态为Cii+1=Cii*Hx+Dii+1*Hy,其中ii=0、1、…、1052,依此类推可以算出到CB6时对应的TB级CRC校验结果为temp=C1053*(Hx)2106,最后将前后两次传输对应的TB级CRC结果进行异或,更新校验结果存储,即
Figure BDA0002854277850000112
9)综上所述,通过2次重传后所有CB均解对,此时整体TB级CRC校验也已计算结束,若CLa为全0,则认为TB级CRC校验通过,否则认为校验失败。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于部分重传的并行CRC校验方法,其特征在于,包括:
步骤M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
步骤M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa
步骤M3:对上一次CB级CRC校验未通过的码块进行重传;
步骤M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
步骤M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
步骤M6:当当前仍存在CB级CRC校验未通过,则重复执行步骤M3至步骤M5,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
步骤M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复执行步骤M1至步骤M7,直至TB级CRC校验通过。
2.根据权利要求1所述的基于部分重传的并行CRC校验方法,其特征在于,所述步骤M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据。
3.根据权利要求1所述的基于部分重传的并行CRC校验方法,其特征在于,所述步骤M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
4.根据权利要求3所述的基于部分重传的并行CRC校验方法,其特征在于,所述采用公式法包括:对于初传解错的第jj个码块CBjj,在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择满足L=K*a+S*b,L个比特的CRC校验通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
其中,K位并行的公式表示为:
Figure FDA0002854277840000021
其中,Hx和Hy分别为对应的参数矩阵;
Figure FDA0002854277840000022
表示异或操作;D1表示K位并行的比特向量,C1表示k位并行后CRC状态;C0表示当前比特数据流初始的CRC状态;Cjj表示当前比特数据流初始的CRC状态,Cjj+1表示并行后的CRC状态。
5.根据权利要求1所述的基于部分重传的并行CRC校验方法,其特征在于,所述步骤M5包括:
Figure FDA0002854277840000023
其中,
Figure FDA0002854277840000024
表示异或操作。
6.一种基于部分重传的并行CRC校验系统,其特征在于,包括:
模块M1:初次传输时,发送端在TB数据流末端添加TB级CRC校验信息,对添加的TB级CRC校验信息后的新信息序列长度La进行码块分割,分割成C个长度为L的码块,再对各个码块分别添加CB级CRC、编码、速率匹配和交织,并发送至接收端;
模块M2:接收端对每个码块分别进行解交织、解速率匹配、译码以及CB级CRC校验;当第ii个码块CBii对应的CB级CRC校验通过时,输出对应码块做TB级CRC校验,当第ii个码块CBii对应的CB级CRC校验失败时,输出L个0比特流做TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果CLa
模块M3:对上一次CB级CRC校验未通过的码块进行重传;
模块M4:对重传的码块进行TB级CRC校验,对于上一次CB级CRC校验通过的码块以及当前CB级CRC校验未通过的码块均按照全0参与TB级CRC校验,当前CB级CRC校验通过的码块按对应码块的比特流进行TB级CRC校验,直至最后一个码块对应的CB级CRC校验完成,记录所有码块的TB级CRC校验结果temp;
模块M5:将前后两次传输对应的TB级CRC结果进行异或,更新校验结果CLa′存储;
模块M6:当当前仍存在CB级CRC校验未通过,则重复触发模块M3至模块M5执行,直至重传次数达到预设次或全部CB级CRC校验通过,记录当前传输次数Rt;
模块M7:当传输次数Rt为奇数或CRC寄存器初始状态INIT为全0时,CB级CRC均校验通过且CLa′为全0时,表示TB级CRC校验通过;当传输次数Rt为偶数且CRC寄存器初始状态INIT为非0时,将CRC寄存器初始状态INIT添加到原始TB数据流前端,重复触发模块M1至模块M7执行,直至TB级CRC校验通过。
7.根据权利要求6所述的基于部分重传的并行CRC校验系统,其特征在于,所述模块M3包括:将上一次CB级CRC校验未通过的码块以码块组为单位反馈给NACK,根据NACK反馈信息进行码块重传,重传时将上一次CB级CRC校验未通过的码块组下发数据。
8.根据权利要求6所述的基于部分重传的并行CRC校验系统,其特征在于,所述模块M2中输出L个0比特流做TB级CRC校验包括:当输出L个0比特流做TB级CRC校验时,则采用公式法直接跳转到下一个校验正确CB的CRC初始状态。
9.根据权利要求8所述的基于部分重传的并行CRC校验系统,其特征在于,所述采用公式法包括:对于初传解错的第jj个码块CBjj,在进行TB级CRC校验时,直接按长度为L的全0比特参与TB级校验,CRC并行度的选择满足L=K*a+S*b,L个比特的CRC校验通过a次K位并行和b次S位并行表示,假设S位并行对应的参数矩阵为Hx1和Hy1,则L个全0比特的CRC跳转公式表示为:Cjj+1=Cjj*(Hx)a*(Hx1)b
其中,K为并行的公式表示为:
Figure FDA0002854277840000031
其中,Hx和Hy分别为对应的参数矩阵;
Figure FDA0002854277840000032
表示异或操作;D1表示K位并行的比特向量,C1表示k位并行后CRC状态;C0表示当前比特数据流初始的CRC状态;Cjj表示当前比特数据流初始的CRC状态,Cjj+1表示并行后的CRC状态。
10.根据权利要求6所述的基于部分重传的并行CRC校验系统,其特征在于,所述模块M5包括:
Figure FDA0002854277840000033
其中,
Figure FDA0002854277840000034
表示异或操作。
CN202011539998.4A 2020-12-23 2020-12-23 基于部分重传的并行crc校验方法及系统 Active CN112671511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011539998.4A CN112671511B (zh) 2020-12-23 2020-12-23 基于部分重传的并行crc校验方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011539998.4A CN112671511B (zh) 2020-12-23 2020-12-23 基于部分重传的并行crc校验方法及系统

Publications (2)

Publication Number Publication Date
CN112671511A CN112671511A (zh) 2021-04-16
CN112671511B true CN112671511B (zh) 2022-03-18

Family

ID=75408791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011539998.4A Active CN112671511B (zh) 2020-12-23 2020-12-23 基于部分重传的并行crc校验方法及系统

Country Status (1)

Country Link
CN (1) CN112671511B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467724B (zh) * 2021-07-28 2024-06-04 浙江大华技术股份有限公司 一种crc校验码存储方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103378941A (zh) * 2012-04-24 2013-10-30 马维尔国际有限公司 用于无线通信系统的循环冗余校验方法和模块
CN108933642A (zh) * 2017-05-22 2018-12-04 普天信息技术有限公司 一种基于码块分组的下行重传方法、基站及终端
CN109428670A (zh) * 2017-08-23 2019-03-05 深圳市中兴微电子技术有限公司 一种数据差错校验方法及装置、计算机存储介质
CN110417519A (zh) * 2018-04-28 2019-11-05 华为技术有限公司 一种数据传输方法及装置
CN111385057A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 一种数据的重传解码方法、装置、系统及通信设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103378941A (zh) * 2012-04-24 2013-10-30 马维尔国际有限公司 用于无线通信系统的循环冗余校验方法和模块
CN108933642A (zh) * 2017-05-22 2018-12-04 普天信息技术有限公司 一种基于码块分组的下行重传方法、基站及终端
CN109428670A (zh) * 2017-08-23 2019-03-05 深圳市中兴微电子技术有限公司 一种数据差错校验方法及装置、计算机存储介质
CN110417519A (zh) * 2018-04-28 2019-11-05 华为技术有限公司 一种数据传输方法及装置
CN111385057A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 一种数据的重传解码方法、装置、系统及通信设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R1-1711472 "Considerations on TB-CRC Failure";KT Corp.;《3GPP tsg_ran\WG1_RL1》;20170616;全文 *

Also Published As

Publication number Publication date
CN112671511A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN109379086B (zh) 低复杂度的码率兼容的5g ldpc编码方法和编码器
US9071275B2 (en) Method and device for implementing cyclic redundancy check codes
US20160087755A1 (en) Methods and apparatus employing fec codes with permanent inactivation of symbols for encoding and decoding processes
US9106259B2 (en) Method and apparatus for performing a CRC check
US20050229075A1 (en) Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals
US9444494B2 (en) Systems and methods for network coding using convolutional codes
CN101814922A (zh) 基于bch码的多位错纠错方法和装置以及存储系统
US8700971B2 (en) Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
CN101795175B (zh) 数据的校验处理方法及装置
CN113110954A (zh) 一种crc码并行计算方法、装置及其应用
CN112671511B (zh) 基于部分重传的并行crc校验方法及系统
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
US8924829B2 (en) Device and method for turbo-encoding a block of data
US7266760B1 (en) Method and apparatus for calculating cyclic redundancy checks for variable length packets
CN116861493A (zh) 一种校验码生成方法、处理器及电子设备
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR101436973B1 (ko) 슈퍼차지드 코드들
KR20060121312A (ko) 컨볼루션 터보 부호 인터리버
WO2012109872A1 (zh) 通信系统中的循环冗余校验处理方法、装置和lte终端
CN113821370B (zh) 一种用于数据传输错误校验的高速crc产生方法和装置
EP4120572A1 (en) Coding method and apparatus for data communication
CN108574490A (zh) 计算循环冗余校验crc编码的方法及装置
CN112821984B (zh) 无线局域网数据处理方法、装置及设备
CN115567164A (zh) 向量信令码信道的流水线式前向纠错方法和装置
CN114443347B (zh) 一种可配置crc码计算方法

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