数据校验方法及装置的制造方法

文档序号:9869701阅读:636来源:国知局
数据校验方法及装置的制造方法
【技术领域】
[0001] 本发明设及通信领域,具体而言,设及一种数据校验方法及装置。
【背景技术】
[0002] 数字通信系统的发射端通常包括信源、信道编码器和调制器等部分,接收端通常 包括解调器、信道译码器、和信宿,图1为现有技术中数字通信系统示意图,如图1所示。 信道编码器用于给信息比特按照一定的规则引入冗余信息W便接收端信道译码器能够在 一定程度上纠正信息在信道上传输时发生的误码。因此信道编码是一种前向纠错编码 (F'orward Error Correction,简称为阳C)技术。
[0003] 一般来讲,FEC编码就是由信息比特序列生成校验比特序列的过程,信息比特序列 和校验比特序列共同组成了常说的码字比特序列。常用的FEC编码包括化rbo码、低密度 奇偶校验码化OW Denisity Parity化eck Code,简称为LDPC)和卷积码等;例如LTE系统 中就采用了化rbo码用于数据传输;I邸E 802. 11系统中采用的是LDPC码和卷积码。
[0004] LTE的二进制化rbo编码是一种带有内部交织器的并行级联码,一般由两个结构 相同的递归系统卷积码巧escursive System Code,简称为RSC)分量码编码器并行级联而 成。Turbo码内交织器在第二个分量码编码器之前将输入的二进制信息序列中的比特位置 进行随机置换,当交织器充分大时,Turbo码就具有近似随机长码的特性。Turbo码的编码 结构如图2所示。输入的二进制信息序列Xk经过第一个分量码编码器生成一路校验序列 Zk。同时Xk经过化rbo码内交织器交织后,由第二个分量码编码器生成另一路校验序列Z' k。 阳0化]Turbo码的译码器也有两个级联的子译码器构成,分别是第一分量译码器和第二 分量译码器,如图3所示,其中第一分量译码器输出的信息比特的边信息(也称外信息, extrinsic information)经过!"Urbo码的内交织后作为先验信息(prior information)输 入第二分量译码器。同样,第二分量译码器输出的信息比特的边信息经过解交织后作为先 验信息输入第一分量译码器。如此形成迭代译码的结构。译码器输出的软信息是第二分量 译码器输出的边信息加上输入的先验信息经过解交织后再与信道输入的软信息之和。经过 几次迭代后译码器对输出的软信息进行判决,生成译码器对信息比特序列的估计。
[0006] LDPC码是一种基于稀疏校验矩阵的线性分组码,利用它的校验矩阵的稀疏性,可 W实现低复杂度的编译码。LDPC奇偶校验矩阵的图形表示形式是二分图。二分图和校验矩 阵H之间具有一一对应的关系,一个M*N的奇偶校验矩阵H定义了每个具有N比特的码字 满足M个奇偶校验集的约束。一个二分图包括N个变量节点和M个奇偶校验节点。当第m 个校验设及到第n个比特位,即H中第m行第n列的元素血,n = 1时,将有一根连线连接 校验节点m和变量节点n。二分图中,任何同一类的节点之间都不会有连接,并且二分图中 的总边数和校验矩阵中非零元素的个数相等。
[0007] LDPC码的译码可W采用基于置信传播化elief propagation)的迭代算法(简称 信传算法)。信传算法是基于二分图结构的译码算法,由于在算法的运行过程中,可靠性信 息在二分图的变量节点和校验节点之间来回地传送,因此称为信传算法。信传算法有概率 域和对数域两种形式,概率域算法设及到较多乘法,实现起来代价比较大,数值稳定性也比 较差,而对数域算法主要是加法,容易实现,数值稳定性也比较好。图4展示了基于二分图 的信传算法译码过程,其中较验节点(方形节点)表示一个较验方程,变量节点(圆形节 点)表示一个码字比特。在迭代译码过程中,可靠性信息在二分图的变量节点和校验节点 之间来回的传送,变量节点发送到较验节点的信息为该码字比特取值的外信息,较验节点 发送到变量节点的信息为该较验方程较验通过的可靠性信息。基于信传算法的LDPC译码 器经过迭代后可W输出码字比特(包括信息比特和校验比特)的软信息。经过几次迭代后 译码器对输出的软信息进行判决,生成译码器对信息比特序列的估计。
[0008] 卷积码是另一种常用的FEC码,卷积码的特点是当对某一时刻的输入信息进行编 码时,不仅根据本时刻的输入,而且根据本时刻之前P个时刻的输入共同决定输出的码字, 即码字的产生一共受到P+1个输入时刻的制约。卷积码是一种有限状态机,它的编码和译 码都可W借助格栅图来分析。
[0009] 卷积码的译码的基本思路是W接收到的码字为基础,逐个计算它与其他所有可能 出现的,连续的格栅路径的距离,选出其中可能性最大的一条作为译码的估计。目前最常用 的卷积码译码算法是维特比于1967年提出的维特比(Viterbi)算法,维特比算法本质上是 一种最大似然译码。经典的维特比算法只能输出硬判决信息。我们也可W采用SOVA算法 (Soft-0u1:put Viterbi Algorithm, SOVA)或者BCJR算法等软输出的译码算法生成关于信 息比特的软信息。SOVA算法是是1984年由化genauer和化eher提出的一种软输出的维特 比算法。BCJR算法是一种最大后验概率(maximum a posteriori,简称为MAP)译码算法, 由 B址 1,Cocke, Jelinek 和 Raviv 在 1974 年提出。
[0010] 前面所说的各种阳C码的译码方法可W获得关于码字比特或者信息比特的译码 估计。但是译码的结果是否正确则需要通过一些检错手段才能知晓。循环冗余校验码 (切clic Re化ndan巧化eck codes,简称为CRC)是一种系统的缩短循环码,同时也是一种 优秀的检错码,由于它具有复杂度低,性能优良的特点,被广泛应用于各种通信系统中。在 人们熟悉的3Gpp LTE协议里,从物理层到高层都大量使用了 CRC码来进行数据的正确性校 验。
[0011] 在现有LTE系统里,物理层数据共享信道是W传输块(Transmission Block,简称 为TB)为基本单位进行数据传输的。接收端通过TB的循环冗余校验码(CRC)来判断当前 TB是否被正确接收。若TB被正确接收,接收端向发送端反馈ACK消息;若TB没有正确接 收,接收端向发送端反馈NACK消息。 阳01引当传输块(TB)块大小超过规定的口限,例如6120比特时,发送端通常要进行码块 (CB)分割,将一个TB分割成多个CB,每个CB分别进行编码、速率匹配、码块级联、调制等操 作后再发送给接收端。 阳01引 LTE协议规定当一个TB包括多个CB时,每个CB在编码前也要添加CRC,CB的CRC 用于译码的提前终止。
[0014] LTE协议一共规定了 24、16、8比特S种长度的CRC,其中在物理共享信道的数据传 输中,TB CRC和CB CRC都是24比特,只不过运两个CRC的生成多项式不同。
[0015] 随着物联网、机器通信(Machine Type Communication,简称为MTC)等新应用的 大量涌现,大量用户的小数据包通信业务变得越来越重要。小数据包通常是指单个TB块的 长度为几十到几百比特的数据。根据现有的LTE协议,运种长度的TB仍然需要添加长度为 24比特的TB CRC。虽然24比特的CRC能够提供很好的差错检测的性能,但是对于小数据 包来说,会带来较大的冗余率,从而降低了无线信道的传输效率。举例来说,一个长度为24 比特的TB块添加24比特的TB CRC后,冗余率达到了 50%,再经过信道编码后实际的冗余 率会还进一步提高;即使是长度为208比特的TB块,添加了 24比特的CRC后,冗余率也至 少有10. 3%。
[0016] 如何降低小数据包的冗余率,提高传输效率? 一个容易想到的方法是减小CRC的 长度,例如将数据包的TB CRC从24比特减小为8比特。然而,运种方法的缺陷也是非常明显 的:减小CRC的长度会造成误检率的上升。例如8比特的CRC仅能用于长度不超过2 7-1-127 比特的TB块,且误检率接近4%,较高误检率无法满足实际系统的需求。
[0017] 此外,在另外一些无线宽带通信系统里,例如IE邸的802. 11系统,是没有码块CRC 的,一个码块的大小通常也只有几百比特。如果想要提高数据重传的效率,可W对该系统做 一些改进,例如,对码块添加CB CRC,运样接收端就可W知道各码块的接收状态,从而设计 一些高效的数据重传方案。但是,如果添加的CRC长度太长一样会造成实际传输效率的下 降,如果添加的CRC长度太短则又无法满足对误检率的要求。
[0018] 针对相关技术中,CRC校验码太长导致实际传输速率下降,而CRC校验码太短右无 法保证误检率的问题,尚未提出有效的技术方案。

【发明内容】

[0019] 为了解决上述技术问题,本发明提供了一种数据校验方法及装置。
[0020] 根据本发明的一个方面,提供了一种数据校验方法,所述方法包括:接收传输节点 发送的包含第一数据块的传输信号,其中,所述第一数据块的长度为N比特,所述第一数据 块由长度为K比特的第二数据块经过前向纠错码FEC编码后生成,所述第二数据块是由长 度为L比特的第S数据块经过循环冗余校验码CRC编码后生成,其中,N,K,L都是正整数, 且N > K > L ;根据所述传输信号得到第一数据块的第一估计数据块,W及根据所述传输信 号得到所述第二数据块的第二估计数据块;根据所述第一估计数据块与FEC码空间的关 系,和/或所述第二估计数据块的CRC校验结果对所述第=数据块进行校验。
[0021] 优选地,根据所述第一估计数据块与FEC码空间的关系,和/或所述第二估计数据 块的CRC校验结果对所述第=数据块进行校验,包括:在所述第一估计数据块是所述FEC码 空间的码字,且所述第二估计数据块的CRC校验正确时,判断所述第=数据块接收正确;在 所述第一估计数据块不是所述FEC码空间的码字,和/或所述第二估计数据块的CRC校验 失败时,判断所述第=数据块接收错误。
[0022] 优选地,在所述第一数据块为一个码块或者包含一个码块的传输块时,所述第一 估计数据块是所述FEC码空间的码字是指:所述码块或者所述传输块是所述FEC码空间中 的码字;或者,在所述第一数据块为包含了多个数据块的传输块时,所述第一估计数据块是 所述FEC码空间的码字是指:所述多个数据块均为所述FEC码空间中的码字。
[0023] 优选地,在判断所述第S数据块接收正确时,向所述传输节点发送确认字符ACK 信息;在判断所述第S数据块接收错误时,则向所述传输节点发送非确认字符NACK信息。
[0024] 优选地,所述阳C编码包括W下至少之一:Turbo码、低密度奇偶校验LDPC码、卷 积码。
[00巧]优选地,当所述FEC编码为化rbo码时,通过W下至少之一方式确定数据块是否为 所述FEC码空间中的码字:
[00%]方式一;
[0027] 将第j次迭代后第一分量译码器输出的K比特对应的边信息A?分别与第一阔值 Yi进行比较,若Ar > ,则比特i判决为"1 ",若Ar < ^.则比特i判决为0,根据判决结果 生成比特序列Ei,其中,i G {0,1,2,……K-U中的整数,j为大于或者等于1的整数,ei用 于表征所述为所述第一分量译码器输出的边信息;
[002引将第j次迭代后第二分量译码器输出的K个比特的边信息分别与所述第一阔 值Y进行比较,若作 > 耳,则比特i判决为"1",若作< ,则比特i判决为0,根据判决结 果生成比特序列Es,其中,62用于表征所述Ap为所述第二分量译码器输出的边信息;
[0029] 对所述比特序列E康用化rbo码的内交织器图样进行交织,生成交织后的比特序 列Eft,比较Ef与Ez的大小关系,若E;" = E!,则由所述Turbo码译码经过j次迭代生成的数 据块是所述阳C码空间中的码字;若Ei" *马,则所述经过j次迭代生成的数据块不是所述 FEC码空间中的码字,其中,int用于表征所述Eft为经过交织后的信息或比特序列;或者,
[0030] 对Ez采用化rbo码的内交织器进行解交织,生成解交织后的比特序列比较Ei 与Ef,若Ef = L|则由所述化rbo码译码经过j次迭代生成的数据块是所述阳C码空间 中的码字;若Ef #巧,则所述经过j次迭代生成的数据块不是所述阳C码空间中的码字, 其中,dei用于表征所述Ef为经过解交织后的信息或比特序列;
[0031] 方式二: 阳〇巧比较第j次迭代后Turbo码译码器输出的K个比特的软信息的符号sign(.'V)与第 j-1次迭代后译码器输出的软信息站阱(AfI) ,若每个比特的:sign(A/-)与Sign(Af-I)都相同, 则由所述化rbo码译码经过j次迭代生成的数据块是所述FEC码空间中的码字;若至少有 一个比特的sign(A/)与sign(A/ I)不同,则所述经过j次迭代生成的数据块不是所述阳C 码空间中的码字,其中,i G (〇,1,2,……K-1}中的整数,j为大于或者等于2的整数; 阳03引 方式S :
[0034] 比较第j次迭代后化rbo码译码器输出的K个比特的软信息的符号si:gn(/V/)与第 j-1次迭代后译码器输出的软信息的符号I).若sign(A/)与sign(A; I)相同的比特的 数目大于或等于第二阔值Yz,则由所述化rl3〇码译码经过j次迭代生成的数据块是所述FEC 码空间中的码字;若SigrK八/)与sign(A,' I '1相同的比特数小于或等于所述第二阔值Y2,则所 述经过j次迭代生成的数据块不是所述阳C码空间中码字,其中,i G (0,1,2,……K-1}中 的整数,j为大于或者等于2的整数;或者,
[00对若sign(八/ I)与sign(八/ I)不同的比特数小于或等于第S阔值Ys,则由所述化rbo 码译码经过j次迭代生成的数据块是所述阳C码空间中的码字;若sign(A;')与SigrUA/ 不 同的比特数大于所述第S阔值Ys,则所述经过j次迭代生成的数据块不是所述FEC码空间 中的码字;
[0036] 方式四:
[0037] 比较第j次迭代输入第二分量译码器的K个比特的先验信息的符号sign(A;''〇 与第j次迭代第二分量译码器输出的K个比特的边信息的符号若sign(八;'0 与sign(A:'-' j相同的比特数大于或等于第四阔值Y4,则由所述化rbo码译码经过j次迭 代生成的数据块是所述阳C码空间中的码字;若agn( A:'〇与sign(A:'〇相同的比特数小 于第四阔值Y4,则所述经过j次迭代生成的数据块不是所述FEC码空间中的码字,其中, i G {0,1,2,……K-U中的整数,j为大于或者等于2的整数,其中,曰2用于表征所述 5!谷0(.'\;'〇为输入所述第二分量译码器的先验信息;或者,
[0038] 若sign(A:.'〇与sign(A.;'〇不同的比特数小于或等于第五阔值Ys,则由所述l\irbo码 译码经过j次迭代生成的数据块是所述阳C码空间中的码字;若sign(A;2)与sign(A;e 2)不同 的比特数大于第五阔值Ys,所述经过j次迭代生成的数据块不是所述FEC码空间中的码字;
[0039] 方式五:
[0040] 将第j次迭代后化rbo码译码器输出的K个比特的软信息的绝对值|Af|与第 六阔值Ye比较,如果|A/|中的最小值大于所述第六阔值Ye,则由所述化rbo码译码经过 j次迭代生成的数据块是所述FEC码空间中的码字;如果|A,'|中的最小值小于或等于所 述第六阔值Ye,则所述经过j次迭代生成的数据块不是所述FEC码空间中的码字,其中, i G {0,1,2,……K-1}中的整数,j为大于或者等于1的整数; 柳41] 方式六:
[0042] 将第j次迭代后化rbo码译码器输出的K个比特的软信息的绝对值的均值
与第屯阔值Y,比较,如果S '大于所述第屯阔值Y 7,则由所述化rbo码译码经 过j次迭代生成的数据块是所述FEC码空间中的码字;如果S'小于或等于所述第屯阔值Y,, 则所述经过j次迭代生成的数据块不是所述FEC码空间中的码字,其中,i G (0,1,2,…… K-1}中的整数,j为大于或者等于1的整数;
[0043] 方式屯:
[0044] 第j次迭代后化rbo码译码器输出的K个比特的软信息的绝对值之和
与第j-1次迭代后化rbo码译码器输出的K个比特的软信息的绝对值之和
如果S,小于或等于S,1,则由所述化rbo码译码经过j次迭代生成的数据块是所述FEC码 空间中的码字;如果S'大于S ' 1,则所述经过j次迭代生成的数据块不是所述FEC码空间中 的码字,其中,i G (〇,1,2,……K-1}中的整数,j为大于或者等于2的整数,所述第一阔 值Yi至第屯阔值Y 7均为大于或者等于0的整数。
[0045] 优选地,当所述FEC编码为所述LDPC码时,通过W下至少之一方式确定数据块是 否为所述FEC码空间中的码字:
[0046] 方式一;
[0047] 第j次迭代后,将LDPC译码器输出的N个码字比特的软信息Af与第八阔值Ys比 较,若A/ K,则比特i判决为"1 ",若A/<与,则比特i判决为"0",根据判决结果生成数 据块的估计怎,其中,i G {〇, 1,2,……N-1}中的整数,j为大于或者等于1的整数; W48] 如果fx //r = 0,则由所述LDPC码译码经过j次迭代生成的玄是所述阳C码空间 中的码字;如果换巧f卖0,则所述孩不是所述FEC码空间中的码字,其中,H是所述LDPC码 的校验矩阵;
[0049] 方式二:
[0050] 第j次迭代后,将LDPC译码器输出的N个码字比特的软信息A/与第八阔值Ys比 较,若,则比特i判决为"1",若,则比特i判决为"0",根据判决结果生成 所述第一数据块的估计i,对所述估计i取前K个比特生成所述比特序列的估计>,:其中, i G {0,1,2,……N-1}中的整数,j为大于或者等于1的整数;
[0051] 对所述^进行所述LDPC编码生成数据块C,如果i.=C,:则所述i是所述阳C码空间 中的码字;如果E ^、,则所述i不是所述FEC码空间中的码字; 阳05引方式S :
[005引比较第j次迭代后LDPC码译码器输出的N个码字比特的软信息的符号siCT(A,')与 第j-1次迭代后译
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1