CN105991227B - 数据编码方法及装置 - Google Patents
数据编码方法及装置 Download PDFInfo
- Publication number
- CN105991227B CN105991227B CN201510083909.2A CN201510083909A CN105991227B CN 105991227 B CN105991227 B CN 105991227B CN 201510083909 A CN201510083909 A CN 201510083909A CN 105991227 B CN105991227 B CN 105991227B
- Authority
- CN
- China
- Prior art keywords
- bits
- block
- error correction
- check
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
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)
Abstract
本发明公开了一种数据编码方法及装置,其中,该方法包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。通过本发明,解决了相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益,在比较低的编码码率下性能优异。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据编码方法及装置。
背景技术
在无线数字通信系统中,包括发送端和接收端两个大部分,其中一般发送端包括信源模块、信道编码模块、调制模块和发射模块等,而接收端则是按相反的操作解出信源数据,一般包括接收模块、解调模块、信道译码模块和获取信源模块等。可见,在数字通信中,信道编码是一个关键模块,主要是为了提高数据传输的可靠性,利用信道编码码字的冗余信息将数据在传输过程出现的错误纠正过来。
常用的纠错编码技术如LDPC编码、Turbo编码、卷积编码、RS编码等。其中,LDPC是低密度奇偶校验编码,它的校验矩阵非常稀疏,故而译码复杂度不高,同时具有天然的译码并行性,可以并行译码获得比较高的译码吞吐量,而且性能非常接近香农极限,现在LDPC编码方式已用于多种通信系统中;Turbo编码通过两个分量码对信息进行编码,利用两部分分量码进行迭代译码,可以提高译码性能,在中低码率时性能非常好,而且码率和码长可以比较灵活设置,很好适应各种通信数据,在现有的LTE通信系统中主要采用的是Turbo编码方式;卷积编码当前编码输出不仅与当前信息有关还和以前的若干信息有关,类似于卷积特性,译码效果比较好,在许多系统中也都有使用;RS编码是一种最短码距最大化码,而且译码可以采用流水线式译码,译码速度高速而且吞吐量高。
为了让接收端能正确判断接收到的数据包或者编码码字中的信息块是正确的,在数字通信中还需要对数据包或者码字信息块进行校验,即添加一些校验序列,使得接收端利用该校验序列判断接收的数据包或者编码码字信息块正确与否。常用的校验方法为循环冗余校验码,其信息块长度以及校验码长度可以任意设置,使用非常简便,数据块接收完时,对完整数据块进行模二除求余算法,通过余数是否为全零判断该接收数据块的正确性,在较多通信系统中都使用循环冗余校验码。
在一些室内通信或者其他需要极低信噪比才能工作的场景中,为了使得一些重要数据能正常传输,则需要采用极低的编码码率,一般有两种方式进行:1、对原有数据块重复传输多次,或者利用扩频序列将数据扩频发送;2、采用极低码率的编码方式,以实现译码工作点在较低信噪比下工作。第1种方式是一种传统数据传输方法,通过重复或者扩频以提高发射功率来增加接收正确性,即如果性能达不到要求则多传输一次或者增加发射功率,一定程度上可以提高数据传输的可靠性,但并不能很好的利用信道纠错编码增益。虽然简单扩频重复会带来一定的增益,而且在重复次数较少情况下时代价不是很高,但是,重复次数较多时,需要付出的代价会越来越多。如在802.11ad中,定向吉比特级控制数据块(DMGcontrol PHY),为了在极低的信噪比下工作,则将数据头(head)编码采用低于1/2码率进行编码并通过扩频系列扩频32倍,数据域data)部分采用码率为1/2进行编码并通过扩频系列扩频32倍,从而可以使得工作点在信噪比为-15dB左右。采用第2种方式,即采用极低码率编码方式实现,则会带来比较大的译码复杂度。
针对相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据编码方法及装置,以至少解决相关技术中的编码方式不能很好的利用信道纠错编码增益的问题。
根据本发明的一个方面,提供了一种数据编码方法,包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
进一步地,对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的所述m个校验包包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特包括:当m等于1,对所述集合的所有比特进行异或得到1个校验比特;当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
进一步地,在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,还包括:在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
进一步地,在编码处理得到m个校验包之后,且在对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块之前,还包括:去除NCW个纠错编码块中的填充比特。
进一步地,去除NCW个纠错编码块中的填充比特包括:去除m个校验包中的填充生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,所述NCW个信息数据块中NCW的数值为所述NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,NCW1=mod(L,LDPCW-1),表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0且小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
进一步地,所述NCW个信息数据块中NCW的数值为所述NCW个信息数据块中前NCW-1个信息数据块的长度为最后1个信息数据块长度为L-LDPCW×(NCW-1);其中,表示大于等于实数x的最小整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
进一步地,对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于的整数,a2s是大于等于0小于的整数,表示小于等于实数x的最大整数,表示大于等于实数x的最小整数。
进一步地,对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于的整数。
进一步地,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块包括:若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。进一步地,所述h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
进一步地,在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,还包括:通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括所述数据头的总编码数据块:对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
进一步地,所述纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
根据本发明的另一方面,还提供了一种数据编码装置,包括:分割模块,用于对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;添加模块,用于对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;纠错编码模块,用于在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;编码处理模块,用于对所述NCW个纠错编码块进行得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;复制模块,用于对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
进一步地,所述编码处理模块包括:编码处理子模块,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
进一步地,所述编码处理子模块包括:处理单元,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
进一步地,所述处理单元包括:第一处理子单元,用于当m等于1,对所述集合的所有比特进行异或得到1个校验比特;第二处理子单元,用于当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,所述编码处理子模块包括:编码单元,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
进一步地,所述装置还包括:第一填充模块,用于在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,第二填充模块,用于在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
进一步地,所述装置还包括:去除模块,用于去除NCW个纠错编码块中的填充比特。
进一步地,所述去除模块包括:第一去除单元,用于去除m个校验包中的填充生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,第二去除单元,用于去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,所述复制模块包括:第一复制单元,用于对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1 j是大于等于0小于的整数,a2s是大于等于0小于的整数,表示小于等于实数x的最大整数,表示大于等于实数x的最小整数。
进一步地,所述复制模块包括:第二复制单元,用于对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于的整数。
进一步地,所述复制模块包括:第三复制单元,用于若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
进一步地,所述装置还包括:确定模块,用于通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括所述数据头的总编码数据块:对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
通过本发明,采用对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数,解决了相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益,在比较低的编码码率下性能优异,
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据编码方法的流程图;
图2是根据本发明实施例的对NCW个纠错编码块进行编码处理的示意图;
图3是根据本发明实施例的数据编码装置的框图;
图4是根据本发明优选实施例的数据编码装置的框图一;
图5是根据本发明优选实施例的数据编码装置的框图二;
图6是根据本发明优选实施例的数据编码装置的框图三;
图7是根据本发明实施例的某一比特数据块中循环连续比特的示意图;
图8是根据本发明优选实施例的数据编码装置的框图四;
图9是根据本发明实施例的编码后数据格式的示意图;
图10是根据本发明实施例的仿真结果的示意图;
图11是根据本发明实施例的LDPC编码块和校验包中填充比特的示意图;
图12是根据本发明优选实施例的数据头的编码方式的示意图一;
图13是根据本发明优选实施例的数据头的编码方式的示意图二;
图14是根据本发明实施例的数据头和数据的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种数据编码方法,图1是根据本发明实施例的数据编码方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
步骤S104,对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
步骤S106,在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
步骤S108,对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
步骤S110,对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
通过上述步骤,对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列;在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;对该NCW个纠错编码块进行编码处理得到该NCW个纠错编码块的m个校验包;对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的总编码数据块,解决了相关技术中相关技术中的编码方式不能很好的利用信道纠错编码增益的问题,从而能够更好的利用编码增益。
该NCW个信息数据块中NCW的数值为该NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,NCW1=mod(L,LDPCW-1),表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
图2是根据本发明实施例的对NCW个纠错编码块进行编码处理的示意图,如图2所示,对该NCW个纠错编码块中相同索引位置的所有比特202构成的集合204进行编码,获得n个长度都为m比特的编码校验块206,由n个该编码校验块中相同索引位置的所有比特构成该m个校验包208,其中,n是大于0的整数。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码
获得m校验比特包括:当m等于1,对该集合的所有比特进行异或得到1个校验比特,即校验包
为其中,C0到是NCW个纠错编码块;当m等于2,对该集合
的所有比特进行异或得到第0个校验比特,对包括该集合的所有比特和第0个校验比特在内
的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数,其中,汉明编码是一种只能纠错1个错误的编码方式,译码时其校正伴随式可以直接索引出任意1个位置的错误,所以是一种完备码,汉明编码可以是二进制编码也可以是非二进制编码。
在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数;或者,在码块分割之前在源数据包的首部或者尾部填充e比特,使得源数据包总长度变为L'比特,其中,L'是大于等于L的整数,e是大于等于0的整数。
在编码处理得到m个校验包之后,且在对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的该总编码数据块之前,去除NCW个纠错编码块中的填充比特。
去除NCW个纠错编码块中的填充比特可以包括:去除m个校验包中的填充生成比特,该校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;或者,去除m个校验包中的完全填充生成比特,其中,该校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
NCW个信息数据块中NCW的数值为该NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,NCW1=mod(L,LDPCW-1),表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0且小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;
或者,NCW个信息数据块中NCW的数值为该NCW个信息数据块中前NCW-1个信息数据块的长度为最后1个信息数据块长度为L-LDPCW×(NCW-1);其中,表示大于等于实数x的最小整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
对该NCW个纠错编码块复制h1份和该m个校验包复制h2份得到用于传输的总编码数据块可以包括:对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;所述n1j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;所述n2s比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于的整数,a2s是大于等于0小于的整数,表示小于等于实数x的最大整数,表示大于等于实数x的最小整数。
对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的总编码数据块可以包括:对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;所述n'j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;所述n's比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于的整数。
对该NCW个纠错编码块和该m个校验包复制h份得到用于传输的该总编码数据块还可以包括:若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。进一步地,该h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,通过长度为L0比特的数据头确定该源数据包,其中,该长度为L0比特的数据头至少包含以下参数之一:该源数据包的长度,该源数据包的编码调制方式,该数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括该数据头的总编码数据块:对长度为L0的该数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并该数据头和该编码校验块得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k的数据块,对填充后的该数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的该数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的该数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块再填充f2比特,获得长度为k的数据块,对该再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块;对该母码编码块复制h0份,得到包括该数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
上述的纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
本发明实施例还提供了一种数据编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的数据编码装置的框图,如图3所示,包括:
分割模块32,用于对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
添加模块34,用于对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
纠错编码模块36,用于在添加循环冗余校验序列后的该NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
编码处理模块38,用于对该NCW个纠错编码块进行得到该NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
复制模块310,用于对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数。
图4是根据本发明优选实施例的数据编码装置的框图一,如图4所示,该编码处理模块38包括:
编码处理子模块42,用于对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个该编码校验块中相同索引位置的所有比特构成该m个校验包,其中,n是大于0的整数。
上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
进一步地,编码处理子模块42包括:处理单元,用于对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。在一个可选的实施例中,处理单元可以包括:第一处理子单元,用于当m等于1,对该集合的所有比特进行异或得到1个校验比特;第二处理子单元,用于当m等于2,对该集合的所有比特进行异或得到第0个校验比特,对包括该集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
进一步地,该编码处理子模块42包括:编码单元,用于对该NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
图5是根据本发明优选实施例的数据编码装置的框图二,如图5所示,该装置还包括:
第一填充模块52,用于在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,
第二填充模块54,用于在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数;或者,
第三填充模块56,用于在码块分割之前在源数据包的首部或者尾部填充e比特,使得源数据包总长度变为L'比特,其中,L'是大于等于L的整数,e是大于等于0的整数。
图6是根据本发明优选实施例的数据编码装置的框图三,如图6所示,该装置还包括:
去除模块62,用于去除NCW个纠错编码块中的填充比特。
在一个可选的实施例中,去除模块62可以包括:第一去除单元,用于去除m个校验包中的填充生成比特,该校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;或者,第二去除单元,用于去除m个校验包中的完全填充生成比特,其中,该校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
进一步地,复制模块310包括:第一复制单元,用于对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;所述n1j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;所述n2s比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1 j是大于等于0小于的整数,a2s是大于等于0小于的整数,表示小于等于实数x的最大整数,表示大于等于实数x的最小整数。
进一步地,复制模块310包括:第二复制单元,用于对对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;所述n'j比特的获得方式不限于此;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;所述n's比特的获得方式不限于此;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于的整数。
图7是根据本发明实施例的某一比特数据块中循环连续比特的示意图,如图7所示,从一个数据块中从第x1比特开始的循环连续x2比特是指:一个数据块从第x1比特开始取从前往后取出循环连续的x2比特802,如果碰到尾部无数据了则从首部开始取,直到取到x2个比特为止;或者从后往前取出循环连续的x2比特804,如果碰到首部无数据了则从尾部开始取,直到取到x2比特为止。
进一步地,复制模块310包括:第三复制单元,用于若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
图8是根据本发明优选实施例的数据编码装置的框图四,如图8所示,该装置还包括:
确定模块82,用于通过长度为L0比特的数据头确定该源数据包,其中,该长度为L0比特的数据头至少包含以下参数之一:该源数据包的长度,该源数据包的编码调制方式,该数据头的循环冗余校验码,扰码器的初始状态信息;通过以下方式之一得到包括该数据头的总编码数据块:对长度为L0的该数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并该数据头和该编码校验块得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k的数据块,对填充后的该数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的该数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的该数据块进行纠错编码或者填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;对长度为L0的该数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对该重复后的数据块再填充f2比特,获得长度为k的数据块,对该再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并该长度为L0的数据头和该编码校验块,得到母码编码块,对该母码编码块复制h0份,得到包括该数据头的总编码数据块;其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
下面结合本可选实施例对本发明实施例进行进一步说明。
为提高通信系统的源数据包在极低编码码率下的传输可靠性和性能,增强系统鲁棒性,本可选实施例提供一种数据编码方法,以提高整体数据包传输的可靠性和性能,用于发送端,包括:对长度为L比特的源数据包进行码块分割得到NCW个信息数据块,对每个信息数据块添加循环冗余校验序列;在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,使得所有NCW个信息数据块的长度都达到k0比特,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1);对所述填充后的NCW个信息数据块进行纠错编码,获得NCW个纠错编码块,长度都为n比特;对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由所述n个编码校验块中相同索引位置的所有比特构成m个校验包;对所述NCW个纠错编码块复制h1份和m个校验包复制h2份得到总编码数据块;发送所述总编码数据块;其中,L是大于0的整数,NCW是大于等于1的整数,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,n是大于0的整数,m是大于等于1的整数,h1和h2是大于1的实数。
优选地,所述对长度为L的源数据包进行码块分割得到NCW个信息数据块,包括:NCW的数值为所述NCW个信息数据块中前NCW1个信息数据块的长度为LDPCW,后NCW-NCW1个信息数据块长度为LDPCW-1;其中,NCW1=mod(L,LDPCW-1),表示大于等于实数x的最小整数,mod(x1,x2)表示整数x1对整数x2的求余操作,k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数。
优选地,所述对NCW个纠错编码块分别复制h1份之前,先去除填充比特;所述对m个校验包分别复制h2次之前,先去除m个校验包中全是由填充比特经过编码处理得到的比特数据。
优选地,所述h1和h2的值依赖于以下参数的一个或者多个:纠错编码块的数目NCW、校验包的数目m和常数值A0;其中,NCW是大于等于1的整数,m是大于等于1的整数,A0是大于等于1的整数。其中,所述h1和h2的数值是大于等于1的整数。
优选地,所述的对第j个纠错编码块复制h1份,得到n1j比特,其特征在于,n1j是大于0小于等于的整数;所述的对第s个校验包复制h2份,得到n2s比特,其特征在于,n2s是大于0小于等于的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数。
优选地,所述的对第j个纠错编码块复制h1份,共有份纠错编码块,其中有份是完整的第j个纠错编码块,长度都为nj,有份是非完整的第j个纠错编码块,其取自第j个纠错编码块中从第g1比特开始的循环连续n'j比特;所述份的获得方式不限于此;所述的对第s个校验包复制h2份,共有份校验包,其中有份是完整的第s个校验包,长度都为ns,有份是非完整的第s个校验包,其取自第s个校验包中从第g2比特开始的循环连续n's比特;所述份的获得方式不限于此;如图11所示,从一个数据块中从第x1比特开始的循环连续x2比特是指:一个数据块从第x1比特开始取从前往后取出循环连续的x2比特1102,如果碰到尾部无数据了则从首部开始取,直到取到x2比特为止;或者从后往前取出循环连续的x2比特1104,如果碰到首部无数据了则从尾部开始取,直到取到x2比特为止;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1是大于等于0的整数,n'j是小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2是大于等于0的整数,n's是小于等于的整数。
优选地,所述a个纠错编码块中相同索引位置的所有比特构成的集合进行的编码方法是m比特异或编码,其中m是大于等于1的整数。上述m比特异或编码是指:所有输入的c比特的集合D,对集合D的一个子集S1进行二进制异或相加,获得第1个校验比特,如,所述S1是包括集合D的所有元素;对集合D和第1个校验比特组成的新集合的一个子集S2进行二进制异或相加,获得第2个校验比特,如,所述S2是包括新集合中的所有偶数下标集合;对集合D和第1个校验比特、第2个校验比特组成的新集合的一个子集S3进行二进制异或相加,获得第3个校验比特,如,所述S3是包括新集合中的所有奇数下标集合;依次类推,对集合D和前m-1个校验比特组成的新集合的一个子集Sm进行二进制异或相加,获得第m个校验比特;所述的m比特异或编码方式不限于此。
优选地,还包括一个长度为L0的数据头,所述数据头至少包含以下参数的一个或者多个:数据头的循环冗余校验码、所述源数据包的长度和所述源数据包的编码调制方式;所述数据头的编码方式为以下方式之一:
方式1:对长度为L0的数据头进行纠错编码,获得长度为Lp比特的编码校验块;合并所述数据头和所述编码校验块得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式2:对长度为L0的数据头填充f比特,获得长度为k的数据块;对所述填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式3:对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块;对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块;对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
方式4:对长度为L0的数据头填充f比特,获得长度为k1的数据块;填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2比特的数据块;对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块;
方式5:对长度为L0的数据头填充f1比特,获得长度为k1的数据块;填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2比特的数据块;对所述重复后的数据块再填充f2比特,获得长度为k的数据块;对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块;合并所述长度为L0的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0份,获得数据头总编码数据块;发送所述数据头总编码数据块。
其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
实施例1(10个块,整块)
在一个数字通信系统中,如802.11aj通信系统中,需要传输的源数据包(数据域data)大小为3280比特,源数据包中包含16比特的所述源数据包的循环冗余校验序列,所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特。包括:
对长度为L=3280比特的源数据包进行码块分割得到NCW=10个信息数据块,长度都为328比特,对每个信息数据块添加8比特的循环冗余校验序列,得到NCW=10个长度为336比特的信息数据块;由于所有信息数据块的长度已经达到LDPC编码需要的336比特,在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei=0比特,ei等于0的话不需要进行填充,i=0,1,…,9;对所述填充后的NCW=10个信息数据块进行LDPC编码,获得NCW=10个LDPC编码块,长度都为n=672比特;对所述所有LDPC编码块中相同索引位置的所有比特构成的集合进行m=1比特异或编码,获得672个长度都为1比特的编码校验块,由所述672个编码校验块中相同索引位置的所有比特构成1个校验包;其中,所述的LDPC编码的基础矩阵如表1所示(扩展因子为42):
表1
-1 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
0 | -1 | -1 | 34 | -1 | 12 | -1 | 36 | 18 | 0 | -1 | -1 | -1 | -1 | -1 | -1 |
8 | -1 | 0 | -1 | 0 | -1 | 0 | -1 | -1 | 13 | 0 | -1 | -1 | -1 | -1 | -1 |
-1 | 16 | 40 | -1 | 32 | -1 | 22 | -1 | -1 | -1 | 19 | 0 | -1 | -1 | -1 | -1 |
-1 | 20 | -1 | 22 | -1 | 2 | -1 | 28 | 32 | -1 | -1 | 21 | 0 | -1 | -1 | -1 |
30 | -1 | 18 | -1 | -1 | 14 | -1 | 30 | -1 | 37 | -1 | -1 | 31 | 0 | -1 | -1 |
40 | -1 | 12 | -1 | 38 | -1 | 6 | -1 | -1 | -1 | 26 | -1 | -1 | 13 | 0 | -1 |
-1 | 24 | -1 | 20 | 10 | -1 | 2 | -1 | -1 | -1 | -1 | 18 | -1 | -1 | 5 | 0 |
图9是根据本发明实施例的编码后数据格式的示意图,如图9所示,对所述NCW=10个LDPC编码块分别包复制h1=32份和1个校验分别包复制h2=32份得到总编码数据块,即所述总编码数据块中包含32份所述10个LDPC编码块和32份所述1个校验包,h1=h2=32,发送所述总编码数据块。
图10是根据本发明实施例的仿真结果的示意图,如图10所示,与11ad中的编码方案性能比较,可见具有较优的性能增益(有1dB以上增益),说明发明方案有具有创新性。
实施例2(10块,填充,复制参数与块数关系)
在一个数字通信系统中,如802.11aj通信系统中,需要传输的源数据包(数据域data)大小为3248比特,所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特,包括:
对长度为L=3248比特的源数据包进行码块分割,信息数据块最大长度k0=328比特,由公式得到NCW=10个信息数据块,根据公式计算得到LDPCW=325,由公式NCW1=mod(L,LDPCW-1)计算得到NCW1=8,所以,所述NCW=10个信息数据块中前NCW1=8个信息数据块的长度为LDPCW=325比特,后NCW-NCW1=2个信息数据块长度为LDPCW-1=324比特;对每个信息数据块添加8比特的循环冗余校验序列,获得前8个信息数据块长度为333比特,后2个信息数据块长度为332比特;由于所有信息数据块的长度都不达到LDPC编码需要的336比特,所以所述10个信息数据块中,前8个信息数据块首部或者尾部填充ei=3比特,i=0,1,…,7;后2个信息数据块在首部或者尾部填充ei=4比特,i=8,9,使得所有信息数据块的长度都达到336比特;对所述填充后的NCW=10个信息数据块进行LDPC编码,获得NCW=10个LDPC编码块,长度都为n=672比特;对所述所有LDPC编码块中相同索引位置的所有比特构成的集合进行m=1比特异或编码,获得672个长度都为1比特的编码校验块,由所述672个编码校验块中相同索引位置的所有比特构成1个校验包;先去除10个LDPC编码块中的填充比特,以及去除校验包中全部由填充比特经过1比特异或编码得到比特数据(完全填充生成比特),图11是根据本发明实施例的LDPC编码块和校验包中填充比特的示意图,如图11所示,去除10个LDPC编码块中的所有填充比特1102,去除校验包中3比特的完全填充生成比特1106(该3比特全由填充比特经过1比特异或编码得到)或者去除校验包中4比特的填充生成比特(该4比特由至少1比特的填充比特经过1比特异或编码得到);然后,对去除填充比特数据后的所述NCW=10个LDPC编码块1104复制h1份和1个校验包1108复制h2份得到总编码数据块,h1和h2的数值以下三个参数决定:纠错编码块的数目NCW、校验包的数目m和常数值A0;其中,此时NCW=10,m=1,A0=32,由公式计算得到h1=h2=29,即所述总编码数据块中包含29份所述10个LDPC编码块和29份的所述1个校验包;或者由公式计算得到h1=h2=30,即所述总编码数据块中包含30份的所述10个LDPC编码块和30份的所述1个校验包;发送所述总编码数据块。
实施例3(5块,小数,部分填充)
实施例3与实施例2的区别在于:对去除填充比特数据后的所述NCW=10个LDPC编码块1104复制h1份和1个校验包403复制h2份得到总编码数据块,其中h1=25.4,h2=25.4,由于h1和h2的数值是实数,所以需要进行特殊处理,具体复制方法如下:前8个LDPC编码块复制经过复制得到比特,nj=669,对第j个纠错编码块复制h1份,共有份,其中有份是完整的第j个纠错编码块,长度都为nj=669,有份是不完整的第j个纠错编码块,该份比特数据取自第j个纠错编码块中从第g1=10比特开始的循环连续比特,j=0,1,…,7;后2个LDPC编码块复制得到比特,nj=668,对第j个纠错编码块复制h1份,共有份,其中有份是完整的第j个纠错编码块,长度都为nj=668,有份是不完整的第j个纠错编码块,该份比特数据取自第j个纠错编码块中从第g1=10比特开始的循环连续比特,j=8,9;所述1个校验包复制h2份复制得到ns=669,共有份,其中有份是完整的校验包,长度都为ns=669,有份是不完整的校验包,该份比特数据取自校验包中从第g2=15比特开始的循环连续比特;获得总编码数据块。
实施例4(包括数据头)
本实施例与实施例1~实施例3的区别在于:除了源数据包(数据域data)外,还包括一个长度为L0=40比特的数据头,该数据头至少包含以下参数的一个或者多个:数据头的循环冗余校验码、所述源数据包的长度和所述源数据包的编码调制方式;所述数据头的编码方式为以下方式之一:
方式1:对长度为L0=40的数据头进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述数据头和所述编码校验块得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为(336+40)×16=6016比特;发送所述数据头总编码数据块;
方式2:对长度为L0=40的数据头填充f=296比特,获得长度为k=336比特的数据块;对所述填充后的数据块进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40比特的数据头和所述编码校验块,得到母码编码块,长度为376比特;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式3:图12是根据本发明优选实施例的数据头的编码方式的示意图一,如图12所示,对长度为L0=40的所述数据头填充f1=2比特,获得长度为k1=42的数据块;对填充后长度为k1=42的数据块重复i=1次,获得总长度为k2=84比特的数据块;对所述重复后的数据块进行纠错编码或者填充f2=252比特然后进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式:4:图13是根据本发明优选实施例的数据头的编码方式的示意图二,如图13所示,对长度为L0=40的数据头填充f=128比特,获得长度为k1=168的数据块;填充后长度为k1=168的数据块包括j=4个连续子数据块,每个子数据块长度为42比特,每个子数据块的长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),对这j=4个子数据分组分别重复i=1次,获得总长度为k2=336比特的数据块;对所述重复后的数据块进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;发送所述数据头总编码数据块;
方式5:如图12所示,对长度为L0=40的数据头填充f1=2比特,获得长度为k1=42的数据块;填充后长度为k1=42的数据块包括j=1个连续子数据块,每个子数据块的长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),对这j=1个子数据分组分别重复i=1次,获得总长度为k2=84比特的数据块;对所述重复后的数据块再填充f2=252比特,获得长度为k=336的数据块;对所述再填充后的数据块进行纠错编码,获得长度为Lp=336比特的编码校验块;合并所述长度为L0=40的数据头和所述编码校验块,得到母码编码块;对所述母码编码块复制h0=16份,获得数据头总编码数据块,长度为376×16=6016比特;其中,以上所述的LDPC编码的基础矩阵如表2所示(扩展因子为42):发送所述数据头总编码数据块。
表2
-1 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
0 | -1 | -1 | 34 | -1 | 12 | -1 | 36 | 18 | 0 | -1 | -1 | -1 | -1 | -1 | -1 |
8 | -1 | 0 | -1 | 0 | -1 | 0 | -1 | -1 | 13 | 0 | -1 | -1 | -1 | -1 | -1 |
-1 | 16 | 40 | -1 | 32 | -1 | 22 | -1 | -1 | -1 | 19 | 0 | -1 | -1 | -1 | -1 |
-1 | 20 | -1 | 22 | -1 | 2 | -1 | 28 | 31 | -1 | -1 | 21 | 0 | -1 | -1 | -1 |
30 | -1 | 18 | -1 | -1 | 14 | -1 | 30 | -1 | 37 | -1 | -1 | 31 | 0 | -1 | -1 |
40 | -1 | 12 | -1 | 38 | -1 | 6 | -1 | -1 | -1 | 26 | -1 | -1 | 13 | 0 | -1 |
-1 | 24 | -1 | 20 | 10 | -1 | 2 | -1 | -1 | -1 | -1 | 18 | -1 | -1 | 5 | 0 |
将以上经过编码后的源数据包(数据域data)编码数据块和数据头总编码数据块合并,并进行调制,调制过程如下:其中星座调制采用差分二进制相移键控(DifferentialBinary Phase Shift Keying,简称为DBPSK):编码输出总编码数据块的比特序列表示为[c0,c1,c2,c3,c4,…],变换成非差分数据流为sk=2ck-1,然后转换成差分数据流为dk=sk×d(k-1),其中,初始化d-1=1。最后,通过以下计算得到发送的数据流波形:rk=dk×exp(jπk/2),k=0,1,2,3,4,5…。
实施例5
在802.11aj(45G)通信系统的控制物理层(control PHY)中,需要传输的源数据包(数据域data)大小为4096比特(512字节),除了源数据包(数据部分data)外,还包括40比特的数据头(head),如图14所示的数据头(head)1400和源数据包(数据部分data)1401。所用的编码方式为LDPC编码,码率为1/2,码长为672比特,所以LDPC编码需要的信息比特为336比特,校验比特为336比特。图14是根据本发明实施例的数据头和数据的示意图,如图14所示,包括:
数据头(head)的编码包括:在40比特的数据头(head)的首部填充2比特,将信息块长度扩展到42比特,长度正好等于LDPC码的扩展因子(扩展因子等于42,目的在于以扩展因子为基数进行重复,LDPC码译码性能更优),表示为([0,0],b0,b1,…,b39),然后对填充后的数据重复1次,获得重复后数据块,表示为B'=([0,0],b0,b1,…,b39,[0,0],b0,b1,…,b39)。对重复后数据块进行再填充252比特,扩展到336比特,进行1/2码率LDPC编码获得编码码字C=([0,…,0]1×252,B',[p0,…,p335]),满足LDPC编码要求H×CT=0,其中,[p0,…,p335]是LDPC编码得到的校验比特。合并数据头(head)所有比特和LDPC编码的校验比特得到母码编码块(b0,b1,…,b39,p0,p1,…,p335),对母码数据块进行速率匹配得到(40+336)×h0比特的数据头(head)总编码数据块,匹配方法为将母码编码块复制h0份,其中,h0=16或者h0=12。数据部分(data)的编码:LDPC码块的有效信息长度最长为LDPCW=328比特,数据域(data)需要的LDPC码块数为在NCW个LDPC码块中,前NCW1个LDPC码块的有效信息长度为LDPCW1比特,余下的NCW-NCW1个LDPC码块的有效信息长度为LDPCW1-1比特,其中参数LDPCW1和NCW1计算如下:
NCW1=mod((Length×8),(LDPCW1-1))
对数据部分(data)进行码块分割得到NCW信息块,对每个信息块添加8比特的CRC序列,然后分别填充em=336-Lm比特的‘0’元素,长度都达到336比特,表示为其中,Lm是添加CRC序列后第m个信息块的比特长度,Bm是码块分割得到的第m个信息块,m=0,1,…,NCW-1;进行码率为1/2的LDPC编码,获得LDPC码字Cm=(B'm,[p0,…,p335]),满足LDPC编码要求对NCW个LDPC编码块中相同索引位置的所有比特构成的集合进行1比特异或编码,获得672个长度都为1比特,构成1个校验包,即校验包为去除所有LDPC编码块中的填充比特后,对每个LDPC编码块分别复制h1份;去除校验包C'中的完全填充生成比特后,所述完全填充生成比特是指:全是由填充比特经过1比特异或编码得到的比特数据,复制h1份;合并这2复制后数据得到数据部分(data)的总编码数据块;其中,
合并以上所述的数据头(head)总编码数据块和数据部分(data)总编码数据块得到控制PHY总编码数据块。将控制PHY总编码数据块的数据流进行调制成复数星座符号,其中星座调制采用差分二进制相移键控(DBPSK,differential binary phase shiftkeying),调制过程如下:数据流输出序列表示为[c0,c1,c2,c3,c4,…],首先变换成非差分BPSK数据流为sk=2ck-1,然后差分DBPSK数据流为dk=sk×d(k-1),其中,初始化d-1=1;最后,得到发送的数据流波形:rk=dk×exp(jπk/2),k=0,1,2,3,4,5…。其中,以上所述的LDPC编码的基础矩阵如表3所示(扩展因子为42):发送所述数据头总编码数据块。
表3
-1 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
0 | -1 | -1 | 34 | -1 | 12 | -1 | 36 | 18 | 0 | -1 | -1 | -1 | -1 | -1 | -1 |
8 | -1 | 0 | -1 | 0 | -1 | 0 | -1 | -1 | 13 | 0 | -1 | -1 | -1 | -1 | -1 |
-1 | 16 | 40 | -1 | 32 | -1 | 22 | -1 | -1 | -1 | 19 | 0 | -1 | -1 | -1 | -1 |
-1 | 20 | -1 | 22 | -1 | 2 | -1 | 28 | 32 | -1 | -1 | 21 | 0 | -1 | -1 | -1 |
30 | -1 | 18 | -1 | -1 | 14 | -1 | 30 | -1 | 37 | -1 | -1 | 31 | 0 | -1 | -1 |
40 | -1 | 12 | -1 | 38 | -1 | 6 | -1 | -1 | -1 | 26 | -1 | -1 | 13 | 0 | -1 |
-1 | 24 | -1 | 20 | 10 | -1 | 2 | -1 | -1 | -1 | -1 | 18 | -1 | -1 | 5 | 0 |
实施例6(其他编码方式)
实施例6与实施例1~实施例5的区别在于纠错编码方式,所用纠错编码方法是卷积编码、RS编码、Turbo编码或者BCH编码。
通过上述实施例,提高了整体数据包的性能,从而提高接收鲁棒性,相对于传统数据编码方案性能更优。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (29)
1.一种数据编码方法,其特征在于,包括:
对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数,所述h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
2.根据权利要求1所述的方法,其特征在于,对所述NCW个纠错编码块进行编码处理得到所述NCW个纠错编码块的所述m个校验包包括:
对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
3.根据权利要求2所述的方法,其特征在于,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:
对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
4.根据权利要求3所述的方法,其特征在于,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特包括:
当m等于1,对所述集合的所有比特进行异或得到1个校验比特;
当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
5.根据权利要求2所述的方法,其特征在于,对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码包括:
对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
6.根据权利要求1所述的方法,其特征在于,在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块之前,还包括:
在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;
或者,在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
7.根据权利要求6所述的方法,其特征在于,在编码处理得到m个校验包之后,且在对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块之前,还包括:
去除NCW个纠错编码块中的填充比特。
8.根据权利要求7所述的方法,其特征在于,去除NCW个纠错编码块中的填充比特包括:
去除m个校验包中的填充生成比特,其中,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个填充比特经过编码处理得到的比特数据;
或者,去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
11.根据权利要求1所述的方法,其特征在于,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块包括:
对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;
12.根据权利要求1所述的方法,其特征在于,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块包括:
对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;
13.根据权利要求1所述的方法,其特征在于,对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的所述总编码数据块包括:
若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;
其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
16.根据权利要求1所述的方法,其特征在于,在对长度为L比特的源数据包进行码块分割得到NCW个信息数据块之前,还包括:
通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;
通过以下方式之一得到包括所述数据头的总编码数据块:
对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
17.根据权利要求1至16中任一项所述的方法,其特征在于,所述纠错编码为以下之一:LDPC编码,Turbo编码,卷积编码。
18.一种数据编码装置,其特征在于,包括:
分割模块,用于对长度为L比特的源数据包进行码块分割得到NCW个信息数据块;
添加模块,用于对每个信息数据块添加循环冗余校验序列,其中,L是大于0的整数,NCW是大于等于1的整数;
纠错编码模块,用于在添加循环冗余校验序列后的所述NCW个信息数据块进行纠错编码,获得NCW个纠错编码块;
编码处理模块,用于对所述NCW个纠错编码块进行得到所述NCW个纠错编码块的m个校验包,其中,m是大于等于1的整数;
复制模块,用于对所述NCW个纠错编码块复制h1份和所述m个校验包复制h2份得到用于传输的总编码数据块,其中,h1和h2是大于1的实数,所述h1和h2的值至少由以下参数之一确定:纠错编码块的数目NCW、校验包的数目m和常数值A0,其中,A0是大于等于1的整数。
19.根据权利要求18所述的装置,其特征在于,所述编码处理模块包括:
编码处理子模块,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行编码,获得n个长度都为m比特的编码校验块,由n个所述编码校验块中相同索引位置的所有比特构成所述m个校验包,其中,n是大于0的整数。
20.根据权利要求19所述的装置,其特征在于,所述编码处理子模块包括:
处理单元,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行m比特异或编码获得m校验比特,其中m是大于等于1的整数。
21.根据权利要求20所述的装置,其特征在于,所述处理单元包括:
第一处理子单元,用于当m等于1,对所述集合的所有比特进行异或得到1个校验比特;
第二处理子单元,用于当m等于2,对所述集合的所有比特进行异或得到第0个校验比特,对包括所述集合的所有比特和第0个校验比特在内的集合中奇数或者偶数索引位置的所有比特进行异或得到第1个校验比特。
22.根据权利要求21所述的装置,其特征在于,所述编码处理子模块包括:
编码单元,用于对所述NCW个纠错编码块中相同索引位置的所有比特构成的集合进行汉明编码或者BCH编码获得m校验比特,其中m是大于等于1的整数。
23.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第一填充模块,用于在添加循环冗余校验序列后的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块,其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数;或者,
第二填充模块,用于在码块分割之后且添加循环冗余校验序列之前的第i个信息数据块的首部或者尾部填充ei比特,得到长度均为k0比特的NCW个信息数据块;其中,ei是大于等于0的整数,i=0,1,…,(NCW-1),k0是大于0小于等于k'的整数,k'=k-l,k是纠错编码需要输入信息比特数目,k是大于0的整数,l是循环冗余校验序列长度,l是大于0的整数。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
去除模块,用于去除NCW个纠错编码块中的填充比特。
25.根据权利要求24所述的装置,其特征在于,所述去除模块包括:
第一去除单元,用于去除m个校验包中的填充生成比特,所述校验包中的填充生成比特是:由NCW个纠错编码块中的至少1个或者1个以上的填充比特经过编码处理得到的比特数据;或者,
第二去除单元,用于去除m个校验包中的完全填充生成比特,其中,所述校验包中的完全填充生成比特为全由填充比特经过编码处理得到的比特数据。
26.根据权利要求18所述的装置,其特征在于,所述复制模块包括:
第一复制单元,用于对所述NCW个纠错编码块中的第j个纠错编码块复制h1份,得到n1j比特,包括,对第j个纠错编码块复制份得到比特的数据块,所述得到的n1j比特是所述数据块中第a1j比特开始的循环连续n1j比特,其中,n1j是大于等于且小于等于的整数;对所述m个校验包中的第s个校验包复制h2份,得到n2s比特,包括:对第s个纠错编码块复制份得到比特的数据块,所述得到的n2s比特是所述数据块中第a2s比特开始的循环连续n2s比特,其中,n2s是大于等于且小于等于的整数;其中,j=0,1,…,(NCW-1),s=0,1,…,(m-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,ns是第s个校验包的比特数目,ns是大于0的整数,h1和h2是大于1的实数,a1j是大于等于0小于的整数,a2s是大于等于0小于的整数,表示小于等于实数x的最大整数,表示大于等于实数x的最小整数。
27.根据权利要求18所述的装置,其特征在于,所述复制模块包括:
第二复制单元,用于对对所述NCW个纠错编码块中的第j个纠错编码块复制h1份之后,得到份纠错编码块,长度为比特,其中,有份是完整的第j个纠错编码块,其余的份是第j个纠错编码块的n'j比特,所述n'j比特取自第j个纠错编码块中从第g1j比特开始的循环连续n'j比特;对所述m个校验包中的第s个校验包复制h2份之后,得到份校验包,长度为比特,其中,有份是完整的第s个校验包,其余的份是第s个校验包的n's比特,所述n's比特取自第s个校验包中从第g2s比特开始的循环连续n's比特;其中,j=0,1,…,(NCW-1),h1和h2是大于1的实数,nj是第j个纠错编码块的比特数目,nj是大于0的整数,g1j是大于等于0小于nj的整数,n'j是大于等于0且小于等于的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数,g2s是大于等于0小于ns的整数,n's是小于等于的整数。
28.根据权利要求18所述的装置,其特征在于,所述复制模块包括:
第三复制单元,用于若h1和h2的值为整数,则对所述NCW个纠错编码块中第j个纠错编码块复制h1份,得到nj×h1比特,对所述m个校验包中第s个校验包分别复制h2份,得到ns×h2比特;其中,j=0,1,…,(NCW-1),nj是第j个纠错编码块的比特数目,nj是大于0的整数,s=0,1,…,(m-1),ns是第s个校验包的比特数目,ns是大于0的整数。
29.根据权利要求18所述的装置,其特征在于,所述装置还包括:
确定模块,用于通过长度为L0比特的数据头确定所述源数据包,其中,所述长度为L0比特的数据头至少包含以下参数之一:所述源数据包的长度,所述源数据包的编码调制方式,所述数据头的循环冗余校验码,扰码器的初始状态信息;
通过以下方式之一得到包括所述数据头的总编码数据块:
对长度为L0的所述数据头进行纠错编码,获得长度为Lp比特的编码校验块,合并所述数据头和所述编码校验块得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f比特,获得长度为k的数据块,对填充后的所述数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并长度为L0的所述数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,对填充后长度为k1的数据块重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对重复后的所述数据块进行纠错编码或者再填充f2比特然后进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
对长度为L0的所述数据头填充f1比特,获得长度为k1的数据块,填充后长度为k1的数据块包括j个连续子数据块,对这j个子数据分组分别重复i次,获得总长度为k2=k1×(i+1)比特的数据块,对所述重复后的数据块再填充f2比特,获得长度为k的数据块,对所述再填充后的数据块进行纠错编码,获得长度为Lp比特的编码校验块,合并所述长度为L0的数据头和所述编码校验块,得到母码编码块,对所述母码编码块复制h0份,得到包括所述数据头的总编码数据块;
其中,L0是大于0的整数,Lp是大于0的整数,h0是大于0的整数,f是大于等于0的整数,k是纠错编码需要输入信息比特数目,k是大于0的整数,k1是大于L0且小于等于k的整数,j是大于0的整数,i是大于0的整数,k2是大于k1且小于等于k的整数,f1是大于等于0的整数,f2是大于等于0的整数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083909.2A CN105991227B (zh) | 2015-02-15 | 2015-02-15 | 数据编码方法及装置 |
PCT/CN2016/072514 WO2016127820A1 (zh) | 2015-02-15 | 2016-01-28 | 数据编码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083909.2A CN105991227B (zh) | 2015-02-15 | 2015-02-15 | 数据编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991227A CN105991227A (zh) | 2016-10-05 |
CN105991227B true CN105991227B (zh) | 2020-03-03 |
Family
ID=56614133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510083909.2A Active CN105991227B (zh) | 2015-02-15 | 2015-02-15 | 数据编码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105991227B (zh) |
WO (1) | WO2016127820A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108242972B (zh) * | 2016-12-26 | 2020-12-15 | 华为技术有限公司 | 非正交传输数据的方法和设备 |
CN108282246B (zh) | 2017-01-05 | 2023-09-01 | 华为技术有限公司 | 信息处理的方法、设备和通信系统 |
CN110383726A (zh) * | 2017-03-09 | 2019-10-25 | 华为技术有限公司 | 用于长ldpc码的mcs |
CN109412608B (zh) | 2017-03-24 | 2019-11-05 | 华为技术有限公司 | Polar编码方法和编码装置、译码方法和译码装置 |
CN108134652B (zh) * | 2017-12-22 | 2020-09-25 | 重庆金山医疗器械有限公司 | 一种减少ph胶囊无线检测系统数据丢失的方法及系统 |
CN110391871B (zh) * | 2018-04-19 | 2021-11-19 | 华为技术有限公司 | 数据编译码方法和装置、olt、onu和pon系统 |
CN109639608B (zh) * | 2018-12-18 | 2020-08-11 | 深圳市华星光电技术有限公司 | 数据编码的方法 |
CN111585582B (zh) * | 2020-05-14 | 2023-04-07 | 成都信息工程大学 | 一种基于阵列运算且码距自由确定的编码方法 |
CN113938248B (zh) * | 2020-07-14 | 2023-04-28 | 华为技术有限公司 | 数据报文纠错方法和数据报文纠错装置 |
CN115347976A (zh) * | 2021-05-12 | 2022-11-15 | 华为技术有限公司 | 一种编译码方法、通信装置以及系统 |
CN113438055B (zh) * | 2021-06-24 | 2022-04-08 | 西安电子科技大学 | 基于不等冗余插入的卷积网络编码传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790966A (zh) * | 2004-12-17 | 2006-06-21 | 中兴通讯股份有限公司 | 自适应编码调制方法 |
CN1953335A (zh) * | 2005-10-21 | 2007-04-25 | 中兴通讯股份有限公司 | 支持任何码率/码长的低密度奇偶校验码编码装置和方法 |
CN101060338A (zh) * | 2007-06-18 | 2007-10-24 | 中兴通讯股份有限公司 | 一种卷积码速率匹配的方法和装置 |
CN101136722A (zh) * | 2007-10-15 | 2008-03-05 | 北京交通大学 | 一种适用于高速移动终端的数据发送方法及传输设备 |
ES2395480T3 (es) * | 2008-11-16 | 2013-02-13 | Lg Electronics Inc. | Aparato para transmitir y recibir una señal y método para transmitir y recibir una señal |
CN103873071A (zh) * | 2012-12-10 | 2014-06-18 | 华为技术有限公司 | 一种前向纠错编码、译码方法和装置、通信设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656593B (zh) * | 2009-09-15 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 前向纠错编码方法、前向纠错译码方法及其装置 |
CN102111242B (zh) * | 2011-03-16 | 2013-08-07 | 北京智网能达科技有限公司 | 一种降低电力线载波通信中窄带噪声干扰的方法 |
-
2015
- 2015-02-15 CN CN201510083909.2A patent/CN105991227B/zh active Active
-
2016
- 2016-01-28 WO PCT/CN2016/072514 patent/WO2016127820A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790966A (zh) * | 2004-12-17 | 2006-06-21 | 中兴通讯股份有限公司 | 自适应编码调制方法 |
CN1953335A (zh) * | 2005-10-21 | 2007-04-25 | 中兴通讯股份有限公司 | 支持任何码率/码长的低密度奇偶校验码编码装置和方法 |
CN101060338A (zh) * | 2007-06-18 | 2007-10-24 | 中兴通讯股份有限公司 | 一种卷积码速率匹配的方法和装置 |
CN101136722A (zh) * | 2007-10-15 | 2008-03-05 | 北京交通大学 | 一种适用于高速移动终端的数据发送方法及传输设备 |
ES2395480T3 (es) * | 2008-11-16 | 2013-02-13 | Lg Electronics Inc. | Aparato para transmitir y recibir una señal y método para transmitir y recibir una señal |
CN103873071A (zh) * | 2012-12-10 | 2014-06-18 | 华为技术有限公司 | 一种前向纠错编码、译码方法和装置、通信设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105991227A (zh) | 2016-10-05 |
WO2016127820A1 (zh) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105991227B (zh) | 数据编码方法及装置 | |
US7293222B2 (en) | Systems and processes for fast encoding of hamming codes | |
KR101161193B1 (ko) | 파일 다운로드 및 스트리밍 시스템 | |
CN107026709B (zh) | 一种数据包编码处理方法及装置、基站及用户设备 | |
JP5329239B2 (ja) | 通信システムのための多体ベース符号の生成器および復号化器 | |
US7721184B2 (en) | Method and apparatus for fast encoding of data symbols according to half-weight codes | |
US20230124403A1 (en) | Transmitter and parity permutation method thereof | |
CN111865496B (zh) | 发送器及其产生附加奇偶校验的方法 | |
CN112165335B (zh) | 发送设备和接收设备 | |
US20220131557A1 (en) | Transmitter and parity permutation method thereof | |
US9071274B2 (en) | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding | |
US10862510B2 (en) | Transmitter and shortening method thereof | |
US20230299876A1 (en) | Transmitter and shortening method thereof | |
CN106209302B (zh) | 数据传输处理方法及装置 | |
CN111884763B (zh) | 一种发送方法和接收方法 | |
KR101145673B1 (ko) | 특정 구조를 가지는 lt코드를 이용한 부호화 방법 및 이를 기반으로 하는 랩터 코드를 이용한 부호화 방법 | |
CN112187287B (zh) | 发送设备和接收设备 | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
CN111052614B (zh) | 消息处理和对应装置 | |
KR102198773B1 (ko) | 송신 장치 및 그의 펑처링 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |