CN106233631B - 传输数据的方法和装置 - Google Patents

传输数据的方法和装置 Download PDF

Info

Publication number
CN106233631B
CN106233631B CN201480078171.4A CN201480078171A CN106233631B CN 106233631 B CN106233631 B CN 106233631B CN 201480078171 A CN201480078171 A CN 201480078171A CN 106233631 B CN106233631 B CN 106233631B
Authority
CN
China
Prior art keywords
code
superposition
code word
character
word
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
CN201480078171.4A
Other languages
English (en)
Other versions
CN106233631A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106233631A publication Critical patent/CN106233631A/zh
Application granted granted Critical
Publication of CN106233631B publication Critical patent/CN106233631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明实施例提供了一种传输数据的方法,能够提高译码时的纠错能力,方法包括:发送端确定目标码长L和原始码长K;根据原始码长K,生成初始码组,初始码组包括2K个初始码字;根据目标码长和2K个初始码字在初始码组中的排列顺序,生成叠加码组,叠加码组包括2K个叠加码字,2K个初始码字和2K个叠加码字一一对应,并将各初始码字和所对应的叠加码字进行叠加,生成分组码集合中各分组码字,以使分组码集合中,特征码距彼此之间的差值为±1或0,特征码距是各分组码字彼此之间的码距;根据分组码集合,对原始码字进行编码处理,以从分组码集合中各分组码字中,确定与原始码字相对应的目标分组码字;向接收端发送目标分组码字。

Description

传输数据的方法和装置
技术领域
本发明涉及通信领域,并且更具体地,涉及传输数据的方法和装置。
背景技术
目前,已知一种分组编码技术,将信源的信息序列按照独立的分组进行编码,即,编码时将每K个信息位(也称为信息比特)分为一组进行独立处理,变换成长度为L(L>K)的二进制码组。例如,在重复分组编码技术中,简单的把信息比特进行2倍或2倍以上的重复,例如,当K=2,L=4时,能够得到如下的分组码:0000,0101,1010,1111。
但是这种重复分组编码技术中,译码时的纠错能力较差,即,利用重复分组编码技术生成的每个分组码中的4个比特错了任何1个比特时都没有办法纠错,例如,0000错一个比特可能变成0001,但并不能判断是0000错一个比特还是0101错一个比特。
因此,希望提供一种技术,能够提高译码时的纠错能力。
发明内容
本发明提供一种传输数据的方法和装置,能够提高译码时的纠错能力。
第一方面,提供了一种传输数据的方法,该方法包括:发送端确定目标码长L,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;确定原始码长K,该原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L>K≥2;根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字;根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字;向该接收端发送该目标分组码字。
结合第一方面,在第一方面的第一种实现方式中,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,该根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距w,包括:当K=2时,如果L是3的整数倍,则w=2L/3;当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,当K≥4时,该根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,包括:确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K -2],x≥1;以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:x:y=(q-p):s,x·L0+y·L1=L。
结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,当K=2,且L为奇数时,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
结合第一方面及其上述实现方式,在第一方面的第八种实现方式中,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
结合第一方面及其上述实现方式,在第一方面的第九种实现方式中,当t≥2时,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及该向该接收端发送该目标分组码字,包括:在第一时刻,发送第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;在第二时刻,发送第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
结合第一方面及其上述实现方式,在第一方面的第十种实现方式中,该在第二时刻,发送第二子目标分组码字之前,该方法还包括:接收该接收端发送的码距信息,该码距信息是该接收端根据目标平均值确定的,其中,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括至少一个与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;根据该码距信息,确定目标码距;该在第二时刻,发送第二子目标分组码字,包括:根据该目标码距,确定该第二子目标分组码字,以使由该初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各该第一目标局部分组码字彼此之间的码距中的最小值大于该目标码距;在该第二时刻,发送该第二子目标分组码字。
结合第一方面及其上述实现方式,在第一方面的第十一种实现方式中,该码距信息用于指示该目标码距,该目标码距d是该接收端根据该目标平均值e和目标阈值f确定的,其中,d>e/f,0<f<0.5。
结合第一方面及其上述实现方式,在第一方面的第十二种实现方式中,该码距信息用于指示该目标平均值,以及该根据该目标码距信息,确定该目标码距,包括:根据该目标平均值e和目标阈值f确定该目标码距d,其中,d>e/f,0<f<0.5。
结合第一方面及其上述实现方式,在第一方面的第十三种实现方式中,该目标阈值f是根据该发送端与该接收端之间的信道状况确定的。
结合第一方面及其上述实现方式,在第一方面的第十四种实现方式中,在生成该分组码集合中各该分组码字之后,该方法还包括:对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
第二方面,提供了一种传输数据的方法,该方法包括:接收端确定目标码长L,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;确定原始码长K,该原始码长是原始码字包括的比特的数量,其中,L>K≥2;根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字;根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;接收发送端发送的与该原始码字相对应目标分组码字,该目标分组码字是该发送端根据该分组码集合,对该原始码字进行编码处理而从该分组码集合中各该分组码字中确定的;根据该分组码集合,对该目标分组码字进行译码处理,以获取该原始码字。
结合第二方面,在第二方面的第一种实现方式中,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
结合第二方面及其上述实现方式,在第二方面的第二种实现方式中,该根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距w,包括:当K=2时,如果L是3的整数倍,则w=2L/3;当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
结合第二方面及其上述实现方式,在第二方面的第三种实现方式中,当K≥4时,该根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,包括:确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K -2],x≥1;以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:x:y=(q-p):s,x·L0+y·L1=L。
结合第二方面及其上述实现方式,在第二方面的第四种实现方式中,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
结合第二方面及其上述实现方式,在第二方面的第五种实现方式中,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
结合第二方面及其上述实现方式,在第二方面的第六种实现方式中,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
结合第二方面及其上述实现方式,在第二方面的第七种实现方式中,当K=2,且L为奇数时,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
结合第二方面及其上述实现方式,在第二方面的第八种实现方式中,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
结合第二方面及其上述实现方式,在第二方面的第九种实现方式中,当t≥2时,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及该接收发送端发送的与该原始码字相对应目标分组码字,包括:在第一时刻,接收第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;在第二时刻,接收第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
结合第二方面及其上述实现方式,在第二方面的第十种实现方式中,该在第二时刻,接收第二子目标分组码字之前,该方法还包括:确定目标平均值,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;根据该目标平均值,确定码距信息;向该发送端发送该码距信息。
结合第二方面及其上述实现方式,在第二方面的第十一种实现方式中,该根据该目标平均值,确定码距信息,包括:根据该目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,d>e/f,0<f<0.5。
结合第二方面及其上述实现方式,在第二方面的第十二种实现方式中,该目标阈值f是根据该发送端与该接收端之间的信道状况确定的。
结合第二方面及其上述实现方式,在第二方面的第十三种实现方式中,该根据该目标平均值,确定码距信息,包括:根据该目标平均值,确定码距信息,该码距信息用于指示该目标平均值e。
结合第二方面及其上述实现方式,在第二方面的第十四种实现方式中,在生成该分组码集合中各该分组码字之后,该方法还包括:对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
第三方面,提供了一种传输数据的装置,该装置包括:确定单元,用于确定目标码长L以及原始码长K,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,该原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L≥3,L>K≥2;生成单元,用于根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;编码单元,用于根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字;发送单元,用于向该接收端发送该目标分组码字。
结合第三方面,在第三方面的第一种实现方式中,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该生成单元具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距,根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距w,生成该叠加码组。
结合第三方面及其上述实现方式,在第三方面的第二种实现方式中,该生成单元具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
结合第三方面及其上述实现方式,在第三方面的第三种实现方式中,当K≥4时,该生成单元具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:x:y=(q-p):s,x·L0+y·L1=L。
结合第三方面及其上述实现方式,在第三方面的第四种实现方式中,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
结合第三方面及其上述实现方式,在第三方面的第五种实现方式中,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该生成单元具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
结合第三方面及其上述实现方式,在第三方面的第六种实现方式中,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
结合第三方面及其上述实现方式,在第三方面的第七种实现方式中,当K=2,且L为奇数时,该生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
结合第三方面及其上述实现方式,在第三方面的第八种实现方式中,该生成单元具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
结合第三方面及其上述实现方式,在第三方面的第九种实现方式中,当t≥2时,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及该发送单元具体用于在第一时刻,发送第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;在第二时刻,发送第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
结合第三方面及其上述实现方式,在第三方面的第十种实现方式中,该装置还包括:接收单元,用于接收该接收端发送的码距信息,该码距信息是该接收端根据目标平均值确定的,其中,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括至少一个与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;该确定单元还用于根据该码距信息,确定目标码距,根据该目标码距,确定该第二子目标分组码字,以使由该初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各该第一目标局部分组码字彼此之间的码距中的最小值大于该目标码距。
结合第三方面及其上述实现方式,在第三方面的第十一种实现方式中,该码距信息用于指示该目标码距,该目标码距d是该接收端根据该目标平均值e和目标阈值f确定的,其中,d>e/f,0<f<0.5。
结合第三方面及其上述实现方式,在第三方面的第十二种实现方式中,该码距信息用于指示该目标平均值,以及该确定单元具体用于根据该目标平均值e和目标阈值f确定该目标码距d,其中,d>e/f,0<f<0.5。
结合第三方面及其上述实现方式,在第三方面的第十三种实现方式中,该目标阈值f是根据该装置与该接收端之间的信道状况确定的。
结合第三方面及其上述实现方式,在第三方面的第十四种实现方式中,在生成该分组码集合中各该分组码字之后,该生成单元还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
第四方面,提供了一种传输数据的装置,该装置包括:确定单元,用于确定目标码长L和原始码长K,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,该原始码长是原始码字包括的比特的数量,其中,L≥3,L>K≥2;生成单元,用于根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;接收单元,用于接收发送端发送的与该原始码字相对应目标分组码字,该目标分组码字是该发送端根据该分组码集合,对该原始码字进行编码处理而从该分组码集合中各该分组码字中确定的;译码单元,用于根据该分组码集合,对该目标分组码字进行译码处理,以获取该原始码字。
结合第四方面,在第四方面的第一种实现方式中,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
结合第四方面及其上述实现方式,在第四方面的第二种实现方式中,该生成单元具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
结合第四方面及其上述实现方式,在第四方面的第三种实现方式中,当K≥4时,该生成单元具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:x:y=(q-p):s,x·L0+y·L1=L。
结合第四方面及其上述实现方式,在第四方面的第四种实现方式中,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
结合第四方面及其上述实现方式,在第四方面的第五种实现方式中,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该生成单元具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
结合第四方面及其上述实现方式,在第四方面的第六种实现方式中,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
结合第四方面及其上述实现方式,在第四方面的第七种实现方式中,当K=2,且L为奇数时,该生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
结合第四方面及其上述实现方式,在第四方面的第八种实现方式中,该生成单元具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
结合第四方面及其上述实现方式,在第四方面的第九种实现方式中,当t≥2时,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及该接收单元具体用于在第一时刻,接收第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;在第二时刻,接收第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
结合第四方面及其上述实现方式,在第四方面的第十种实现方式中,该在第二时刻,该确定单元还用于确定目标平均值,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同,根据该目标平均值,确定码距信息;以及该装置还包括:发送单元,用于向该发送端发送该码距信息。
结合第四方面及其上述实现方式,在第四方面的第十一种实现方式中,该确定单元具体用于根据该目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,d>e/f,0<f<0.5。
结合第四方面及其上述实现方式,在第四方面的第十二种实现方式中,该目标阈值f是根据该发送端与该装置之间的信道状况确定的。
结合第四方面及其上述实现方式,在第四方面的第十三种实现方式中,该确定单元具体用于根据该目标平均值,确定码距信息,该码距信息用于指示该目标平均值e。
结合第四方面及其上述实现方式,在第四方面的第十四种实现方式中,该生成单元还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
根据本发明实施例的传输数据的方法和装置,通过使分组码集合各该分组码字彼此之间的码距相同(即,特征码距彼此之间的差值为0)或相差±1(即,特征码距彼此之间的差值为±1),并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本文所述的各个实施例的无线通信系统的示图。
图2是在无线通信环境中执行本发明实施方式的传输数据的方法的设备(即,发送端设备)的示图。
图3是本发明一个实施例的传输数据的方法的流程图。
图4是本发明实施例所使用的QPSK调制的示意图。
图5是本发明实施例所使用的8QAM调制的示意图。
图6是在无线通信环境中执行本发明另一实施方式的传输数据的方法的设备(即,接收端设备)的示图。
图7是本发明另一个实施例的传输数据的方法的流程图。
图8是本发明一个实施例的传输数据的装置的结构框图。
图9是本发明另一个实施例的传输数据的装置的结构框图。
图10是在无线通信环境中能够使用前述的传输数据的方法的设备的示意图。
图11是在无线通信环境中能够使用前述的传输数据的方法的另一设备的示意图。
具体实施方式
现在参照附图描述多个实施例,其中用相同的附图标记指示本文中的相同元件。在下面的描述中,为便于解释,给出了大量具体细节,以便提供对一个或多个实施例的全面理解。然而,很明显,也可以不用这些具体细节来实现所述实施例。在其它例子中,以方框图形式示出公知结构和设备,以便于描述一个或多个实施例。
在本说明书中使用的术语"部件"、"模块"、"系统"等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
此外,结合接入终端描述了各个实施例。接入终端也可以称为系统、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理、用户装置或UE(User Equipment,用户设备)。接入终端可以是蜂窝电话、无绳电话、SIP(Session Initiation Protocol,会话启动协议)电话、WLL(Wireless Local Loop,无线本地环路)站、PDA(Personal Digital Assistant,个人数字处理)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备。此外,结合基站描述了各个实施例。基站可用于与移动设备通信,基站可以是GSM(Global System for Mobilecommunications,全球移动通讯)或CDMA(Code Division Multiple Access,码分多址)中的BTS(Base Transceiver Station,基站),也可以是WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)中的NB(NodeB,基站),还可以是LTE(Long TermEvolution,长期演进)中的eNB或eNodeB(evolved Node B,演进型基站),或者中继站或接入点,或者未来5G网络中的基站设备等。
此外,本发明的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语"制品"涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,CD(Compact Disk,压缩盘)、DVD(Digital Versatile Disk,数字通用盘)等),智能卡和闪存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语"机器可读介质"可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
现在,参照图1,示出根据本文所述的各个实施例的无线通信系统100。无线通信系统100包括基站102,基站102可包括多个天线组。每个天线组可以包括一个或多个天线,例如,一个天线组可包括天线104和106,另一个天线组可包括天线108和110,附加组可包括天线112和114。图1中对于每个天线组示出了2个天线,然而可对于每个组使用更多或更少的天线。基站102可附加地包括发射机链和接收机链,本领域普通技术人员可以理解,它们均可包括与信号发送和接收相关的多个部件(例如处理器、调制器、复用器、解调器、解复用器或天线等)。
基站102可以与一个或多个接入终端(例如接入终端116和接入终端122)通信。然而,可以理解,基站102可以与类似于接入终端116或122的任意数目的接入终端通信。接入终端116和122可以是例如蜂窝电话、智能电话、便携式电脑、手持通信设备、手持计算设备、卫星无线电装置、全球定位系统、PDA和/或用于在无线通信系统100上通信的任意其它适合设备。如图所示,接入终端116与天线112和114通信,其中天线112和114通过前向链路118向接入终端116发送信息,并通过反向链路120从接入终端116接收信息。此外,接入终端122与天线104和106通信,其中天线104和106通过前向链路124向接入终端122发送信息,并通过反向链路126从接入终端122接收信息。在FDD(Frequency Division Duplex,频分双工)系统中,例如,前向链路118可利用与反向链路120所使用的不同频带,前向链路124可利用与反向链路126所使用的不同频带。此外,在TDD(Time Division Duplex,时分双工)系统中,前向链路118和反向链路120可使用共同频带,前向链路124和反向链路126可使用共同频带。
被设计用于通信的每组天线和/或区域称为基站102的扇区。例如,可将天线组设计为与基站102覆盖区域的扇区中的接入终端通信。在基站102通过前向链路118和124分别与接入终端116和122进行通信的过程中,基站102的发射天线可利用波束成形来改善前向链路118和124的信噪比。此外,与基站通过单个天线向它所有的接入终端发送信号的方式相比,在基站102利用波束成形向相关覆盖区域中随机分散的接入终端116和122发送信号时,相邻小区中的移动设备会受到较少的干扰。
在给定时间,基站102、接入终端116或接入终端122可以是无线通信发送装置和/或无线通信接收装置。当发送数据时,无线通信发送装置可对数据进行编码以用于传输。具体地,无线通信发送装置可获取(例如生成、从其它通信装置接收、或在存储器中保存等)要通过信道发送至无线通信接收装置的一定数目的数据比特。这种数据比特可包含在数据的传输块(或多个传输块)中,传输块可被分段以产生多个码块。
图2示出了在无线通信环境中适用本发明的传输数据的方法的系统200的示意性框图。系统200包括无线通信设备202,该无线通信设备202被显示为经由信道发送数据。尽管示出为发送数据,但无线通信设备202还可经由信道接收数据(例如,无线通信设备202可同时发送和接收数据,无线通信设备202可以在不同时刻发送和接收数据,或其组合等)。无线通信设备202例如可以是基站(例如图1的基站102等)、接入终端(例如图1的接入终端116、图1的接入终端122等)等。
无线通信设备202可包括编码器204,速率匹配装置205,发射机206。可选地,当无线通信设备202经由信道接收数据时,该无线通信设备202还可以包括一个接收机,该接收机可以单独存在,也可以与发射机206集成在一起形成一个收发机。
其中,编码器204用于对要从无线通信设备202传送的数据进行编码(具体地说是分组编码,随后对该过程进行详细说明)得到目标分组码字。
速率匹配装置205,用于对该目标分组码字进行交织和速率匹配等,以生成交织的输出比特。
此外,发射机206可随后在信道上传送经过速率匹配装置205处理后的经过速率匹配的输出比特。例如,发射机206可以将相关数据发送到其它不同的无线通信装置(未示出)。
图3是本发明一个实施例的传输数据的方法300的示意性流程图,图3所示的方法300可以由无线通信设备(即发送端)执行,该发送端可以是基站也可以是用户设备,同样,接收端也可以是基站或用户设备,本发明并未特别限定。
该方法300包括:
S310,发送端确定目标码长L,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;
S320,确定原始码长K,该原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L>K≥2;
S330,根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字;
S340,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
S350,根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字;
S360,向该接收端发送该目标分组码字。
其中,S310至S350可以由上述无线通信设备202中的编码器204执行,S360可以由无线通信设备202中的速率匹配装置205和发射机206执行。
下面,首先对编码器204中的执行动作进行详细说明。
具体地说,在S310,发送端可以根据用户需求或网络需求等,确定编码后的分组码字的码长L,其中,该码长L大于原始码字(即,需要编码的原始数据)的码长。
在S320,发送端可以获取上述原始码字的码长K(即,码字包括的比特数),在本发明实施例中,该原始码字的码长K≥2。
在S330,发送端可以根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,例如,
如果该原始码长K=2,则该初始码组可以包括22=4个码字,(不区别排列顺序)分别为:00,01,10,11。
如果该原始码长为K=3,则该初始码组可以包括23=8个码字,(不区别排列顺序)分别为:000,001,010,011,100,101,110,111。
需要说明的是,当K≥4时,该初始码组需要根据K-1时所生成的分组码集合生成,例如,K=4时的初始码组是根据K=3时的分组码集合生成的,K=5时的初始码组是根据K=4时的分组码集合生成的,以此类推,随后对该过程进行详细说明。
另外,以上列举的K=2和K=3时所生成的初始码组中各码字的排列顺序仅为示例性说明,本发明并未限定于此,各码字的顺序可以任意确定。
当各初始码字的顺序确定之后,在S340,可以对初始码组中各初始码字的排列顺序进行记录,并根据初始码组中各初始码字的排列顺序,该确定叠加码组中各叠加码字的排列顺序。
下面,首先对K=2时,确定叠加码组中各叠加码字的顺序的过程进行详细说明,在本发明实施例中,当K=2时,提供了2种生成叠加码组的方式。
方式1
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
具体地说,在本发明实施例中,排在第i位的初始码字可以与排在第i位的叠加码字相对应,或者说,在初始码组中排在第i位的初始码字可以与在叠加码组中排在第i位的叠加码字构成分组码集合中排在第i位的分组码字,由于如上所述确定了初始码组中各初始码字的排列顺序,因此,需要根据初始码字的排列顺序,确定叠加码字的排列顺序。
首先,可以确定叠加码组中排在任意位置的叠加码字,即,在确定了第i个叠加码字的位置之后,如果跟第i个初始码字码距最大的初始码字的位置为j,若第j个叠加码字没确定,则增加约束条件:第j个叠加码字跟第i个叠加码字的码距不大于跟其它可能的叠加码字的码距,如果还已经选择了其它位置的叠加码字,那么还应增加其它约束条件,假如其它位置第h个叠加码字已经确定,那么第j个初始码字跟第h个初始码字的码距为r,于是约束条件是第j个叠加码字跟第h个叠加码字的码距为s,使得r+s=w或w-1,这里,w是最终可能得到的生成码字之间的最大码距,一般情况下w等于初始码字的最大码距加1或加2。
在满足所有约束条件时如果有多个码字,则可任选一个,否则只有一个确定的码字作为叠加码字。如果跟第i个初始码字码距最大的初始码字的位置的叠加码字都已经确定,那么可以继续任意确定下一个位置的叠加码字,比如确定第u个叠加码字,同样,它需要在满足所有约束条件下选择一个码字,约束条件是第u个初始码字跟已确定的叠加码字的第h个位置的初始码字的码距为r,第u个叠加码字跟第h个叠加码字的码距为s,使得r+s=w或w-1。这样直到选择出所有位置的叠加码字,就可以形成最终的码组。
作为上述w的确定方法,在本发明实施例中,可以列举:
当K=2时,如果L是3的整数倍,则w=2L/3;
当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数。
为了便于理解,以下,以首先确定叠加码组中排在第一位的叠加码字的情况为例,对K=2时,叠加码组的确定过程进行说明。
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
例如,当K=2,L=4时,叠加码组包括2K=4个叠加码字,每个叠加码字的码长为L-K=2。
设初始码组表示为A={A1,A2,A3,A4},其中,A1=00,A2=01,A3=10,A4=11,则对于叠加码组B={B1,B2,B3,B4},
首先,叠加码组B中排在第一位的叠加码字B1可以任意确定,例如,可以令B1=01。
在初始码组中,各初始码字中,排在四位的初始码字A4与A1的码距最大(码距为2),因此,下一步确定与A4相对应的叠加码字B4。在本发明实施例中,各叠加码字中,码字00与01的码距以及码字11与01的码距均最小(码距为1),因此,可以令B4=00或B4=11,为了便于理解和说明,不失一般性,令B4=11。
其后,可以确定叠加码组B中剩余的任意一位的码字,不失一般性,例如,这里首先确定叠加码组B中排在第二位的叠加码字B2,B2可以从剩余码字中任意确定,例如,可以令B2=00。
由于叠加码组B中仅有四个码字,因此,叠加码组B中排在第三位的叠加码字B3为剩余的最后一个码字,即,B3=10。
由此,可以生成叠加码组B={B1,B2,B3,B4},其中,B1=01,B2=00,B3=10,B4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括两个比特的叠加码字排列在所对应的包括两个比特的初始码字之后,而形成包括四个比特的码字。即,生成的分组码集合可以表示为{A1B1,A2B2,A3B3,A4B4},其中,A1B1=0001,A2B2=0100,A3B3=1010,A4B4=1111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为2或3,差值为±1或0,需要说明的是,该差值可以根据上述码距的选择而确定,例如,如果是码距2与码距3之间的差异,可以表示为2-3=-1,也可以表示为3-2=1,如果是码距2与码距2之间的差异,可以表示为2-2=0,如果是码距3与码距3之间的差异,可以表示为3-3=0,为了避免赘述,以下对于相同过相似情况,省略详细说明。
根据本发明实施例的传输数据的方法,通过如上所述生成分组码集合,在进行译码判决时,能够获得比重复编码更好的性能,直观地看,重复编码每个分组4个比特错了任何1个比特时都没有办法纠错,如0000错一个比特可能变成0001,但并不能判断是0000错一个比特还是0101错一个比特,而本发明的编码方式能保证部分位置的一个比特出错时可以进行纠错,如0001错一个比特可能变成0011,可以判断出是0001错1个比特,因为0011与0001的码距为1,而0011与0100的码距为3、0011与1010的码距为2,0011与1111的码距为2,均大于1。
应理解,以上列举的初始码组的排列仅为示例性说明,本发明并未限定于此,再例如,当K=2,L=4时,叠加码组包括2K=4个叠加码字,每个叠加码字的码长为L-K=2。
设初始码组表示为A={A1,A2,A3,A4},其中,A1=11,A2=10,A3=00,A4=01,则对于叠加码组B={B1,B2,B3,B4},
首先,叠加码组B中排在第一位的叠加码字B1可以任意确定,例如,可以令B1=01。
在初始码组中,各初始码字中,排在三位的初始码字A3与A1的码距最大(码距为2),因此,下一步确定与A3相对应的叠加码字B3。在本发明实施例中,各叠加码字中,码字00与01的码距以及码字11与01的码距均最小(码距为1),因此,可以令B3=00或B3=11,为了便于理解和说明,不失一般性,令B3=00。
其后,可以确定叠加码组B中剩余的任意一位的码字,不失一般性,例如,这里首先确定叠加码组B中排在第二位的叠加码字B2,B2可以从剩余码字中任意确定,例如,可以令B2=10。
由于叠加码组B中仅有四个码字,因此,叠加码组B中排在第四位的叠加码字B4为剩余的最后一个码字,即,B4=11。
由此,可以生成叠加码组B={B1,B2,B3,B4},其中,B1=01,B2=10,B3=00,B4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括两个比特的叠加码字排列在所对应的包括两个比特的初始码字之后,而形成包括四个比特的码字。即,生成的分组码集合可以表示为{A1B1,A2B2,A3B3,A4B4},其中,A1B1=1101,A2B2=1010,A3B3=0000,A4B4=0111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为2或3,差值为±1或0。
并且,在本发明实施例中,可以生成对于原始码长相同,且目标码长相异的多种分组码集合,其中,原始码长为K且目标码长为L+2的分组码集合可以基于原始码长为K且目标码长为L的分组码集合。
例如,在生成的K=2,L=4的分组码集合{A1B1,A2B2,A3B3,A4B4}后,可以生成K=2,L=6的分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4},此情况下,叠加码组可以表示为{B1C1,B2C2,B3C3,B4C4},其中,B={B1,B2,B3,B4},C={C1,C2,C3,C4}为子叠加码组。分组码集合{A1B1,A2B2,A3B3,A4B4}为针对分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}的局部分组码集合。
具体地说,子叠加码组C中,第一个码字C1可以任意选择,例如,令C1=00,A3B3与A1B1与之间的码距最大,因此,与00码距最小的01或10应当分配给C3,例如,令C3=10。剩余的C2和C4可以任意确定,例如令C2=01,C4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括四个比特的叠加码字(包括两个子叠加码字)排列在所对应的包括两个比特的初始码字之后,而形成包括六个比特的码字。即,生成的分组码集合可以表示为{A1B1C1,A2B2C2,A3B3C3,A4B4C4},其中,A1B1C1=110100,A2B2C2=101001,A3B3C3=000010,A4B4C4=011111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为4,差值为0。
再例如,在生成的K=2,L=6的分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}后,可以生成K=2,L=8的分组码集合{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4},此情况下,叠加码组可以表示为{B1C1D1,B2C2D2,B3C3D3,B4C4D4},其中,B={B1,B2,B3,B4},C={C1,C2,C3,C4},D={D1,D2,D3,D4}为子叠加码组。分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}为针对分组码集合{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4}的局部分组码集合。
具体地说,子叠加码组D中,第一个码字D1可以任意选择,例如,令D1=00,由于局部分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}中各码字彼此之间的码距均相同,因此,与00码距最小的01或10可以分配给任意码字,例如,令C3=10。剩余的C2和C4可以任意确定,例如令C2=01,C4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括六个比特的叠加码字(包括三个子叠加码字)排列在所对应的包括两个比特的初始码字之后,而形成包括八个比特的码字。即,生成的分组码集合可以表示为{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4},其中,A1B1C1D1=11010000,A2B2C2D2=10100101,A3B3C3D3=00001010,A4B4C4D4=01111111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为5或6,差值为±1或0。
同样地,根据上述列举的方式1,可以生成K=2,L为任意偶数(L≥4的)的分组码集合。
下面,对方式1中L为奇数(L≥3的)时分组码集合的生成方式进行说明。
可选地,当K=2,且L为奇数时,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
具体地说,当L为奇数时,L-1为偶数,此情况下,目标码长为L-1的分组码集合的生成方式已在上述描述中说明,目标码长为L的分组码集合由目标码长为L-1的分组码集合(或初始码组)中的各码字分别叠加一个比特而生成,并且,叠加码组由各个码字中叠加的一个比特构成。
对于目标码长为L-1的分组码集合,如果任两个码字的码距都相同,那么在满足比特0和比特1数量相等的约束下,叠加码组中的顺序可以任意确定,如果不是任两个码字的码距都相同,则必须同时满足所有约束使得对于目标码长为L-1的分组码集合中若第i个码字跟第j个码字的码距不大于其余任意两个不同码字的码距,那么叠加的第i个比特跟第j个比特必须不一样,如果有多种满足约束的码字,则可以任选一种。
例如,当K=2,L=3时。
设初始码组表示为A’={A1’,A2’,A3’,A4’},其中,A1’=00,A2’=01,A3’=10,A4’=11。
由于A1’与A2’的码距为1,A1’与A3’的码距为1,均小于A1’与A4’码距(2),因此对于叠加码组B’={B1’,B2’,B3’,B4’},B1’必须与B2’及B3’相异,例如,如果B1’为1,则B2’及B3’必须为0,同理,B4’必须为1。
由此,可以生成叠加码组B’={B1’,B2’,B3’,B4’},其中,B1’=1,B2’=0,B3’=0,B4’=1。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括一个比特的叠加码字排列在所对应的包括两个比特的初始码字之后,而形成包括三个比特的码字。即,生成的分组码集合可以表示为{A1’B1’,A2’B2’,A3’B3’,A4’B4’},其中,A1’B1’=001,A2’B2’=010,A3’B3’=100,A4’B4’=111。
对于如上该生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为2,差值为0。
再例如,当K=2,L=5时。
如上所述,能够如上述得到K=2,L=4的分组码集合,称为针对K=2,L=5的分组码集合的局部分组码集合,将该局部分组码集合中的各码字叠加一个比特,从而生成K=2,L=5的分组码集合。
例如,如上所述,该局部分组码集合为表示为{A1’B1’,A2’B2’,A3’B3’,A4’B4’},其中,A1’B1’=0001,A2’B2’=0100,A3’B3’=1010,A4’B4’=1111。
由于A1’B1’与A4’B4’的码距为3,A2’B2’与A3’B3’的码距为3,均小于A1’B1’与A2’B2’码距(4),因此,对于叠加码组C’={C1’,C2’,C3’,C4’},C1’必须与C4’相异,C2’必须与C3’相异。
例如,可以生成叠加码组C’={C1’,C2’,C3’,C4’},其中,C1’=0,C2’=1,C3’=0,C4’=1。
其后,可以将局部分组码集合中的各码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括一个比特的叠加码字排列在所对应的包括四个比特的局部分组码字之后,而形成包括五个比特的码字。即,生成的分组码集合可以表示为{A1’B1’C1’,A2’B2’C2’,A3’B3’C3’,A4’B4’C4’},其中,A1’B1’C1’=11010,A2’B2’C2’=10101,A3’B3’C3’=00000,A4’B4’C4’=01111。
对于如上该生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为3或4,差值为±1或0。
再例如,当K=2,L=7时。
如上所述,能够如上述得到K=2,L=6的分组码集合,称为针对K=2,L=7的分组码集合的局部分组码集合,将该局部分组码集合中的各码字叠加一个比特,从而生成K=2,L=7的分组码集合。
例如,如上所述,该局部分组码集合为表示为{A1’B1’C1’,A2’B2’C2’,A3’B3’C3’,A4’B4’C4’},其中,A1’B1’C1’=110100,A2’B2’C2’=101001,A3’B3’C3’=000010,A4’B4’C4’=011111。
由于该局部分组码集合中各码字彼此之间的码距相同,因此,对于叠加码组D’={D1’,D2’,D3’,D4’},各码字可以任意确定。
例如,可以生成叠加码组D’={D1’,D2’,D3’,D4’},其中,D1’=0,D2’=0,D3’=1,D4’=1。
其后,可以将局部分组码集合中的各码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括一个比特的叠加码字排列在所对应的包括四个比特的局部分组码字之后,而形成包括五个比特的码字。即,生成的分组码集合可以表示为{A1’B1’C1’D1’,A2’B2’C2’D2’,A3’B3’C3’D3’,A4’B4’C4’D4’},其中,A1’B1’C1’D1’=1101000,A2’B2’C2’D2’=1010010,A3’B3’C3’D3’=0000101,A4’B4’C4’D4’=0111111。
对于如上该生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为4或5,差值为±1或0。
再例如,当K=2,L=9时。
如上所述,能够如上述得到K=2,L=8的分组码集合,称为针对K=2,L=9的分组码集合的局部分组码集合,将该局部分组码集合中的各码字叠加一个比特,从而生成K=2,L=9的分组码集合。
例如,如上所述,该局部分组码集合为表示为{A1’B1’C1’D1’,A2’B2’C2’D2’,A3’B3’C3’D3’,A4’B4’C4’D4’},其中,A1’B1’C1’D1’=11010000,A2’B2’C2’D2’=10100101,A3’B3’C3’D3’=00001010,A4’B4’C4’D4’=01111111。
由于A1’B1’C1’D1’与A2’B2’C2’D2’的码距为5,A3’B3’C3’D3’与A4’B4’C4’D4’的码距为5,均小于A1’B1’C1’D1’与A4’B4’C4’D4’码距(6),因此,对于叠加码组E’={E1’,E2’,E3’,E4’},E1’必须与E2’相异,E3’必须与E4’相异。
例如,可以生成叠加码组E’={E1’,E2’,E3’,E4’},其中,E1’=1,E2’=0,E3’=0,E4’=1。
其后,可以将局部分组码集合中的各码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括一个比特的叠加码字排列在所对应的包括八个比特的局部分组码字之后,而形成包括九个比特的码字。即,生成的分组码集合可以表示为{A1’B1’C1’D1’E1’,A2’B2’C2’D2’E2’,A3’B3’C3’D3’E3’,A4’B4’C4’D4’E4’},其中,A1’B1’C1’D1’E1’=110100001,A2’B2’C2’D2’E2’=101001010,A3’B3’C3’D3’E3’=000010100,A4’B4’C4’D4’E4’=011111111。
对于如上该生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为6,差值为0。
同样地,根据上述列举的方式1,可以生成K=2,L为任意奇数(L≥3的)的分组码集合。
方式2
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字。
具体地说,当L为偶数时,L-2为偶数,此情况下,目标码长为L的分组码集合由目标码长为L-2的分组码集合(或初始码组)中的各个码字分别叠加的两个比特而构成,并且,叠加码组由各个码字中叠加的两个比特构成。
叠加码组第一个码字(包括两个比特)可以任意选择,与该第一个码字之间的码距为最大值(由于叠加码组中各码字包括两个比特,因此该最大值为2)的码字应当放到第i位,其中,在目标码长为L-2的分组码集合中第i个码字跟第一个码字的码距不大于其余任一个码字与第一个码字的码距,剩余的码字可以任意选择。
例如,当K=2,L=4时,叠加码组包括2K=4个叠加码字,每个叠加码字的码长为L-K=2。
设初始码组表示为A={A1,A2,A3,A4},其中,A1=00,A2=01,A3=10,A4=11,则对于叠加码组B={B1,B2,B3,B4},
首先,叠加码组B中排在第一位的叠加码字B1可以任意确定,例如,可以令B1=01。
在叠加码组B中,10与B1的码距最大(码距为2),因此,下一步确定10在叠加码组B中的位置。
在初始码组中,各初始码字中,排在四位的初始码字A4与A1的码距最大(码距为2),或者说,在初始码组中,A2与A1的码距或A3与A1的码距都不大于A4与A1的码距,因此,码字10可以分配给与A2相对应的叠加码字B2,或码字10可以分配给与A3相对应的叠加码字B3。在本发明实施例中,为了便于理解和说明,不失一般性,令B3=10。
其后,可以确定叠加码组B中剩余的任意一位的码字,不失一般性,例如,这里首先确定叠加码组B中排在第二位的叠加码字B2,B2可以从剩余码字中任意确定,例如,可以令B2=00。
由于叠加码组B中仅有四个码字,因此,叠加码组B中排在第四位的叠加码字B4为剩余的最后一个码字,即,B4=11。
由此,可以生成叠加码组B={B1,B2,B3,B4},其中,B1=01,B2=00,B3=10,B4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括两个比特的叠加码字排列在所对应的包括两个比特的初始码字之后,而形成包括四个比特的码字。即,生成的分组码集合可以表示为{A1B1,A2B2,A3B3,A4B4},其中,A1B1=0001,A2B2=0100,A3B3=1010,A4B4=1111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为2或3,差值为±1或0。
根据本发明实施例的传输数据的方法,通过如上所述生成分组码集合,在进行译码判决时,能够获得比重复编码更好的性能,直观地看,重复编码每个分组4个比特错了任何1个比特时都没有办法纠错,如0000错一个比特可能变成0001,但并不能判断是0000错一个比特还是0101错一个比特,而本发明的编码方式能保证部分位置的一个比特出错时可以进行纠错,如0001错一个比特可能变成0011,可以判断出是0001错1个比特,因为0011与0001的码距为1,而0011与0100的码距为3、0011与1010的码距为2,0011与1111的码距为2,均大于1。
应理解,以上列举的初始码组的排列仅为示例性说明,本发明并未限定于此,再例如,当K=2,L=4时,叠加码组包括2K=4个叠加码字,每个叠加码字的码长为L-K=2。
设初始码组表示为A={A1,A2,A3,A4},其中,A1=11,A2=10,A3=00,A4=01,则对于叠加码组B={B1,B2,B3,B4},
首先,叠加码组B中排在第一位的叠加码字B1可以任意确定,例如,可以令B1=01。
在叠加码组B中,10与B1的码距最大(码距为2),因此,下一步确定10在叠加码组B中的位置。
在初始码组中,各初始码字中,排在三位的初始码字A3与A1的码距最大(码距为2),或者说,在初始码组中,A2与A1的码距或A4与A1的码距都不大于A3与A1的码距,因此,码字10可以分配给与A2相对应的叠加码字B2,或码字10可以分配给与A4相对应的叠加码字B4。在本发明实施例中,为了便于理解和说明,不失一般性,令B2=10。
其后,可以确定叠加码组B中剩余的任意一位的码字,不失一般性,例如,这里首先确定叠加码组B中排在第三位的叠加码字B3,B3可以从剩余码字中任意确定,例如,可以令B3=00。
由于叠加码组B中仅有四个码字,因此,叠加码组B中排在第四位的叠加码字B4为剩余的最后一个码字,即,B4=11。
由此,可以生成叠加码组B={B1,B2,B3,B4},其中,B1=01,B2=10,B3=00,B4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括两个比特的叠加码字排列在所对应的包括两个比特的初始码字之后,而形成包括四个比特的码字。即,生成的分组码集合可以表示为{A1B1,A2B2,A3B3,A4B4},其中,A1B1=1101,A2B2=1010,A3B3=0000,A4B4=0111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为2或3,差值为±1或0。
并且,在本发明实施例中,可以生成对于原始码长相同,且目标码长相异的多种分组码集合,其中,原始码长为K且目标码长为L+2的分组码集合可以基于原始码长为K且目标码长为L的分组码集合。
例如,在生成的K=2,L=4的分组码集合{A1B1,A2B2,A3B3,A4B4}后,可以生成K=2,L=6的分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4},此情况下,叠加码组可以表示为{B1C1,B2C2,B3C3,B4C4},其中,B={B1,B2,B3,B4},C={C1,C2,C3,C4}为子叠加码组。分组码集合{A1B1,A2B2,A3B3,A4B4}为针对分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}的局部分组码集合。
具体地说,子叠加码组C中,第一个码字C1可以任意选择,例如,令C1=00,与A1B1与之间的码距最大的A3B3,因此,与00码距最大11应当分配给C2或C4,例如,令C4=11。剩余的C2和C3可以任意确定,例如令C2=01,C3=10。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括四个比特的叠加码字(包括两个子叠加码字)排列在所对应的包括两个比特的初始码字之后,而形成包括六个比特的码字。即,生成的分组码集合可以表示为{A1B1C1,A2B2C2,A3B3C3,A4B4C4},其中,A1B1C1=110100,A2B2C2=101001,A3B3C3=000010,A4B4C4=011111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为4,差值为0。
再例如,在生成的K=2,L=6的分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}后,可以生成K=2,L=8的分组码集合{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4},此情况下,叠加码组可以表示为{B1C1D1,B2C2D2,B3C3D3,B4C4D4},其中,B={B1,B2,B3,B4},C={C1,C2,C3,C4},D={D1,D2,D3,D4}为子叠加码组。分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}为针对分组码集合{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4}的局部分组码集合。
具体地说,子叠加码组D中,第一个码字D1可以任意选择,例如,令D1=00,由于局部分组码集合{A1B1C1,A2B2C2,A3B3C3,A4B4C4}中各码字彼此之间的码距均相同,因此,与00码距最小的01或10可以分配给任意码字,例如,令C3=10。剩余的C2和C4可以任意确定,例如令C2=01,C4=11。
其后,可以将各初始码字和所对应的(这里,是指序号相同的)叠加码字进行“叠加”,这里,叠加是指将上述包括六个比特的叠加码字(包括三个子叠加码字)排列在所对应的包括两个比特的初始码字之后,而形成包括八个比特的码字。即,生成的分组码集合可以表示为{A1B1C1D1,A2B2C2D2,A3B3C3D3,A4B4C4D4},其中,A1B1C1D1=11010000,A2B2C2D2=10100101,A3B3C3D3=00001010,A4B4C4D4=01111111。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
由此可见,分组码集合中,各码字彼此之间的码距为5或6,差值为±1或0。
同样地,根据上述列举的方式2,可以生成K=2,L为任意偶数(L≥4的)的分组码集合。
另外,方式2中L为奇数(L≥3的)时分组码集合的生成方式与方式1中L为奇数(L≥3的)时分组码集合的生成方式相似,这里,为了避免赘述,省略重复说明。
即,可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
下面,对K=3时,确定叠加码组中各叠加码字的顺序的过程进行详细说明。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
具体地说,在本发明实施例中,排在第i位的初始码字可以与排在第i位的叠加码字相对应,或者说,在初始码组中排在第i位的初始码字可以与在叠加码组中排在第i位的叠加码字构成分组码集合中排在第i位的分组码字,由于如上所述确定了初始码组中各初始码字的排列顺序,因此,需要根据初始码字的排列顺序,确定叠加码字的排列顺序。
首先,可以确定叠加码组中排在任意位置的叠加码字,即,在确定了第i个叠加码字的位置之后,如果跟第i个初始码字码距最大的初始码字的位置为j,若第j个叠加码字没确定,则增加约束条件:第j个叠加码字跟第i个叠加码字的码距不大于跟其它可能的叠加码字的码距,如果还已经选择了其它位置的叠加码字,那么还应增加其它约束条件,假如其它位置第h个叠加码字已经确定,那么第j个初始码字跟第h个初始码字的码距为r,于是约束条件是第j个叠加码字跟第h个叠加码字的码距为s,使得r+s=w或w-1,这里,w是最终可能得到的生成码字之间的最大码距,一般情况下w等于初始码字的最大码距加1或加2。
在满足所有约束条件时如果有多个码字,则可任选一个,否则只有一个确定的码字作为叠加码字。如果跟第i个初始码字码距最大的初始码字的位置的叠加码字都已经确定,那么可以继续任意确定下一个位置的叠加码字,比如确定第u个叠加码字,同样,它需要在满足所有约束条件下选择一个码字,约束条件是第u个初始码距跟已确定的叠加码字的第h个位置的初始码字的码距为r,第u个叠加码字跟第h个叠加码字的码距为s,使得r+s=w或w-1。这样直到选择出所有位置的叠加码字,就可以形成最终的码组。
作为上述w的确定方法,在本发明实施例中,可以列举:
当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
为了便于理解,以下,以首先确定叠加码组中排在第一位的叠加码字的情况为例,对K=3时,叠加码组的确定过程进行说明。
需要说明的是,经实验发现,当K=3使,在L小于6时,无法获得分组码集合,因此,在本发明实施例中,当K=3时,需要满足L≥6。
首先,对K=3,L=6时,分组码集合的确定过程进行说明。
设初始码组表示为A={A1,A2,A3,A4,A5,A6,A7,A8},其中,A1=000,A2=001,A3=010,A4=011,A5=100,A6=101,A7=110,A8=111,则对于叠加码组B={B1,B2,B3,B4,B5,B6,B7,B8},
首先,叠加码组B中排在第一位的叠加码字B1可以任意确定,例如,可以令B1=111。即,A1B1=000111
与B1相对应的初始码字为A1,并且,在初始码组中,各初始码字中,排在八位的初始码字A8(即,111)与A1(即,000)的码距最大(即,码距为3),因此,下一步确定与A8相对应的叠加码字B8。在本发明实施例中,各叠加码字中,码字101与B1(即,111)的码距、码字011与B1(即,111)的码距以及码字110与B1(即,111)的码距均为最小(即,码距为1),因此,可以令B8=101或B8=011或B8=110,为了便于理解和说明,不失一般性,令B8=101。即,A8B8=111101,A1B1与A8B8之间的码距为4
由于A1=000与A8=111彼此之间的码距最大,并A1所对应的叠加码字B1以及A8所对应的叠加码字B8已经确定,因此,其后,可以确定任意位置的叠加码字,不失一般性,例如,确定B2
与B2相对应的初始码字为A2=001,并且,A2与A1之间的码距为1,A2与A8之间的码距为2,如果B2与B1(111)之间的码距为1,则A2B2与A1B1之间的码距为2,由于A1B1与A8B8之间的码距为4,因此,出现A1B1与A8B8之间的码距(4)-A2B2与A1B1之间的码距(2)=2的情况,即,码距之差大于1,不满足约束条件,因此B2与B1(111)之间的码距必须为2或3。
同理,如果B2与B8(101)之间的码距为3,则A2B2与A8B8之间的码距为5,由于在初始码组中,与一个码字的码距为最小码距(1)的码字有多个,而与一个码字的码距为最大码距(3)的码字只有一个,同样,在叠加码组中,与一个码字的码距为最小码距(1)的码字有多个,而与一个码字的码距为最大码距(3)的码字只有一个,导致最终生成的分组码集合中,部分码距小于4(例如,可能为3或2),即,码距之差大于1,不符合约束条件,因此B2与B8(101)之间的码距必须为1或2。
满足这两个约束的码字有多个,此时可任选一个,不失一般性,例如,确定B2=001。即,A2B2=001001,A1B1与A2B2之间的码距为3,A8B8与A2B2之间的码距为3。
与B2相对应的初始码字为A2,并且,在初始码组中,各初始码字中,排在七位的初始码字A7(即,110)与A2(即,001)的码距最大(即,码距为3),因此,下一步确定与A7相对应的叠加码字B7
由于A7与A2之间的码距为最大码距,因此需要使B7与B2之间的码距为最小码距(即,码距为1),同时,B7与其它已选择的叠加码字(即,B1和B8)的码距也要满足约束条件,即:
由于A7(即,110)与A1(即,000)之间的码距(记做x1)为2,A7(即,110)与A8(即,111)之间的码距(记做x2)为1,并且如上所述,已确定的分组码集合中码字之间的码距为3或4(或者说,分组码集合中,各码字之间的最大码距为4),
因此,B7与B1(即,111)之间码距(记做y1)需要满足:
x1+y1=4或4-1,即,B7与B1(即,111)之间码距只能为1或2,
并且,B7与B8(即,101)之间码距(记做y2)需要满足:
x2+y2=4或4-1,即,B7与B8(即,101)之间码距只能为2或3。
满足上述所有约束条件的叠加码字为011,即,B7=011,A7B7=110011。
然后再任意确定下一个位置的叠加码字,不失一般性,例如,确定B3,同样先确定跟已选择的叠加码字的码距约束,
与确定B2时的原理相似,由于A3(即,010)与A1之间的码距为1,因此,B3与B1之间的码距必须为2或3,
由于A3(即,010)与A2之间的码距为2,因此,B3与B2之间的码距必须为1或2,
由于A3(即,010)与A7之间的码距为1,因此,B3与B7之间的码距必须为2或3,
由于A3(即,010)与A8之间的码距为2,因此,B3与B8之间的码距必须为1或2,
满足约束的码字有000和100,可任选一个,不失一般性,例如,令B3=000。即,A3B3=010000。
与B3相对应的初始码字为A3,并且,在初始码组中,各初始码字中,排在六位的初始码字A6(即,101)与A3(即,010)的码距最大(即,码距为3),因此,下一步确定与A6相对应的叠加码字B6
由于A6与A3之间的码距为最大码距,因此需要使B6与B3之间的码距为最小码距(即,码距为1),同时,B6与其它已选择的叠加码字(即,B1、B8、B2、B7)的码距也要满足约束条件,即:
由于A6(即,101)与A1(即,000)之间的码距(记做x3)为2,A6与A2(即,001)之间的码距(记做x4)为1,A6与A7(即,110)之间的码距(记做x5)为2,A6与A8(即,111)之间的码距(记做x6)为1,并且如上所述,已确定的分组码集合中码字之间的码距为3或4(或者说,分组码集合中,各码字之间的最大码距为4),
因此,B6与B1(即,111)之间码距(记做y3)需要满足:
x3+y3=4或4-1,即,B6与B1(即,111)之间码距只能为1或2,
并且,B6与B2(即,001)之间码距(记做y4)需要满足:
x4+y4=4或4-1,即,B6与B2(即,001)之间码距只能为2或3。
并且,B6与B7(即,011)之间码距(记做y5)需要满足:
x5+y5=4或4-1,即,B6与B7(即,011)之间码距只能为1或2,
并且,B6与B8(即,101)之间码距(记做y6)需要满足:
x6+y6=4或4-1,即,B6与B8(即,101)之间码距只能为2或3。
满足上述所有约束条件的叠加码字为010,即,B6=010,A6B6=101010。
类似地,能够确定B4=110,A4B4=011110,B5=100,A5B5=100100。
从而,能够得到分组码集合,该分组码集合表示为AB={A1B1,A2B2,A3B3,A4B4,A5B5,A6B6,A7B7,A8B8},其中,A1B1=000111,A2B2=001001,A3B3=010000,A4B4=011110,A5B5=100100,A6B6=101010,A7B7=110011,A8B8=111101。
对于如上所述生成的分组码集合,其码距矩阵可以表示为
并且,在如上所述获得K=3,L=6的分组码集合后,可以在各码字之后叠加单比特而构成K=3,L=7的分组码集合。具体的叠加方法,与上述K=2时叠加单比特时的方法相似,这里,为了避免赘述,省略其详细说明。例如,单比特叠加码可以依次为0,1,0,1,1,0,1,0。于是生成的K=3,L=7的分组码集合为{0001110,0010011,0100000,0111101,1001001,1010100,1100111,1111010},并且,其码距矩阵如下
并且,在如上所述获得K=3,L=6的分组码集合后,可以在各码字之后叠加双比特而构成K=3,L=8的分组码集合。具体的叠加方法,与上述K=3。L=6时,在初始码字后叠加三比特叠加码字的方法相似,这里,为了避免赘述,省略其详细说明。例如,双比特叠加码可以依次为00,01,10,11,00,01,10,11。由初始码组叠加其它码组生成新的长度的好码码组的方法跟前面所说的一样。比如前面所述的已得到的n=6的好码码组{000111,001001,010000,011110,100100,101010,110011,111101},叠加单比特码组可以为{0,1,0,1,1,0,1,0}。于是生成的K=3,L=8的分组码集合为{00011100,00100111,01000001,01111010,10010010,10101001,11001111,11110100},并且,其码距矩阵如下
前面分析对于K=3,已经得到L=6、7、8的分组码集合。因为L=7的分组码集合中所有码字码距都相等,由此可得到所有长度L=7p-1,7p,7p+1的分组码集合,其中p为大于等于1的整数。
具体地说,当p>1时,初始码组由(p-1)个L=7的分组码集合组成(各码字彼此之间的码距相等),叠加码组分别是L=6、7、8的分组码集合组成(各码字彼此之间的码距相等或相差±1)。
对于由O个码组叠加而成的一个新的码组(即,第二个码组排在第N位的码字添加到第一个码组中排在第N位的码字后面,以后每个码组对应位置的码字依次添加到已形成的码组对应位置的码字后面,直到最后一个码组),新的码组对应的码距矩阵等于O个码组分别对应的码距矩阵之和。这是因为新的码组的码距矩阵中的每个码距元素等于原有O个码距矩阵中对应的所有码距元素之和。
因此,对于(p-1)个L=7的分组码集合组成的码组,其码距矩阵非零元素的差值为±1或0。
下面,对K≥4时,生成分组码集合的过程进行说明。
可选地,当K≥4时,该根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,包括:
确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
具体地说,在一个码组(相当于本发明实施例中的分组码集合,以下,为了便于理解和说明,称为码组)中,如果第i个码字跟第j个码字的顺序进行交换,则新生成的码组的码距矩阵相对于原码组的码距矩阵,仅第i、j行与第i、j列发生变化,其余行列均不变,且新的码距矩阵中第i行、第j行、第i列、第j列除了0元素之外的数值排列,分别等于原码距矩阵第j行、第i行、第j列、第i列除了0元素之外的数值排列。
并且,如果令新的码距矩阵元素用b加下标表示,原矩阵元素用a加下标表示,不妨设i<j,则满足以下关系式:
bi1=aj1,…,bi(i-1)=aj(i-1),bii=0,bi(i+1)=aji,…,bij=aj(j-1),bi(j+1)=aj(j+1),…,biN=ajN
bj1=ai1,…,bj(i-1)=ai(i-1),bji=ai(i+1),…,bj(j-1)=aij,bjj=0,bj(j+1)=ai(j+1),…,bjN=aiN
这是因为仅交换第i个和第j个码字,其余码字不变,所以码距矩阵其余行列不变,并且新的码组第i个码字跟其余码字的码距,等于原码组第j个码字跟其余码字的码距,新的码组第j个码字跟其余码字的码距,等于原码组第i个码字跟其余码字的码距,所以新码距矩阵第i行、第j行、第i列、第j列除了0元素之外的数值排列,分别等于原来的码距矩阵第j行、第i行、第j列、第i列除了0元素之外的数值排列。
从而,当K≥4时,可以基于上述描述,生成各码字彼此之间的码距相同或相差±1的码组(即,上述分组码集合)。为了叙述方便,称所有不同码字之间码距都相同的码组称为“严格好码”。
设已经构造出目标码长为L0,原始码长为(K-1)的严格好码,令该严格好码为a,其码距矩阵为A。
则可以构造码组b,该构造码组b由四个码组a构成,即,码组b中包括2K个码字,其中,码组b中前2K-1个码字中排在第N位的码字是由一个码组a中排在第N位的码字接在另一个个码组a中排在第N位的码字之后,叠加而成,码组b中后2K-1个码字是依次复制前2K-1个码字。
如上所述生成的码组b的码距矩阵可以表示为:
其中,矩阵A具有2k-1行和2k-1列,矩阵A主对角线上的元素均为0,其余元素均相等,记做s。
交换码组b的码字顺序,使得码距矩阵A中不在主对角线上的零元素都交换到副对角线上,即,码组b的第i个码字跟第(2k-1-i+1)个码字交换顺序,码组b的第(2k-1+i)个码字跟第(2k-i+1)个码字交换顺序,其中i=1,2,…,2k-2
从而,经上述变换后的码距矩阵的主对角线和副对角线上的元素为零,其余非零元素均相等,且等于矩阵A当中的非零元素。经经上述变换后得到的码组记做码组d,码组d的码距矩阵为D。
设叠加码组由y个码组f组成,码组f包括2k个码字,每个码字的码长为L1,并且,码组f对应的码距矩阵F的副对角线上的元素均为q,其余非零元素(即不是主对角线上的元素)均为p,且q>p>0。
则令初始码组由x个码组d组成,叠加码组由y个码组f组成,则当x、s、y、p、q、L0、L1和L满足以下关系式时,能够得到分组码集合
x:y=(q-p):s
x·L0+y·L1=L
另外,在上述严格好码基础上,可以进一步以它为初始码组,叠加单比特码组,其中0和1的数量相等,这样可以形成新的码长的好码。
需要说明的是,关于原始码长为K-1的严格好码的存在,在前面的实施例当中,已知K=2和K=3的时候存在一系列的严格好码,因此对于更大的K也是可以找到严格好码的。例如,K=4时的严格好码可以基于K=3时的严格好码获得,K=5时的严格好码可以基于K=4时的严格好码获得,依次类推。
另外,关于上述叠加码组f,其每一个码字都需要满足以下约束:
第i个码字的第c个比特跟第(2k-i+1)个码字的第c个比特必须不同,即一个为1则另一个必须为0,反之亦然。满足这样的约束的比特组合有2^2k-1种(“^”表示幂),由所有这些满足约束的比特排列(比特列向量)以任意顺序组合而成的码组,其码距矩阵必然有副对角线上的元素均为2^2k-1,而其余非零元素为2^(2k-1-1)。即p=2^(2k-1-1),q=2^2k-1,按照上述方法就可以构造出信息比特为k位的严格好码。
在本发明实施例中,叠加码组f也可以是现有技术当中的其它满足条件的码组,一个例子是扩展汉明码,即每个汉明码码字都添加一位奇校验位或偶校验位。汉明码的码长(对应本发明中的目标码长)为(2m-1),信息比特(对应本发明中的原始码长)为(2m-1-m)位,这里m≥3且m是整数。这样扩展汉明码的码距矩阵当中除了副对角线的非零元素为2m,其余非零元素均为4。即p=4,q=2m
从而,根据上述方法,可以确定目标码长为L(L≥3),原始码长为K(L>K≥2)的分组码集合。
可选地,在生成该分组码集合中各该分组码字之后,该方法还包括:
对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
具体地说,例如,上述K=2,L=4时得到的分组码集合为{0001,0100,1010,1111}。
如果对每个码字的第2个比特和第3个比特进行交换,得到的分组码集合为{0001,0010,1100,1111},各码字之间的码距仍然相同或相差±1。
可选地,在生成该分组码集合中各该分组码字之后,该方法还包括:
对该组码集合中第c个码字与第d个码字进行对调。
具体地说,例如,上述K=2,L=4时得到的分组码集合为{0001,0100,1010,1111}。
如果分组码集合中的第1个码字和第2个码字进行交换,得到的分组码集合为{0100,0001,1010,1111},各码字之间的码距仍然相同或相差±1。
另外,还可以同时调换码字与比特,例如,上述K=2,L=4时得到的分组码集合为{0001,0100,1010,1111}。
如果对每个码字的第2个比特和第3个比特进行交换,并且分组码集合中的第1个码字和第2个码字进行交换,得到的分组码集合为{0001,0100,1010,1111},各码字之间的码距仍然相同或相差±1。
从而,如果一个分组码集合中不同比特用不同的频率分量或子载波进行承载(或者不同时隙发送),在频率选择性较强(或时间选择性较强)的信道下,不同比特顺序的分组码集合的性能可能会有差异。如果各码字在相邻频率分量或子载波承载的部分比特之间的差异尽量分布均匀,则能够获得较好的性能。比如前面得到的两种分组码集合{0001,0100,1010,1111}和{0001,0010,1100,1111},假设每个分组由4个子载波承载。第一种码组的第一个码字跟其余码字前两个比特的差异分别为1,1,2,而第二种码组的第一个码字跟其余码字前两个比特的差异分别为0,2,2,其余码字的差异也类似。这样看来第一种码组各码字前两个比特之间的差异分布更均匀,这样能够取得较好的分集效果。
在如上所述获得分组码集合后,在S350,发送端可以根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字。在本发明实施例中,可以提供两种编码方法
方法a
采用映射的方法,即,在发射端和接收端可以建立映射表项,该映射表项记录有可能的原始码字与分组码集合中的各分组码字之间的映射关系。
这里,可能的原始码字是根据原始码字的长度确定的,例如,如果原始码字的长度为K,则可能的原始码字共2K个,与分组码集合中分组码字的数量相同。
例如,当K=2,L=4时,可以建立以下表1所示映射表项。
表1
从而,发送端的编码器可以根据输入的原始码字(或者说,信息比特序列),从存储的映射表项中,查找所对应的分组码字。
类似地,在接收端,在通过解调等而从接收到的来自发送端的数据中,获取分组码字,并从存储的映射表项中,查找所对应的原始码字,从而完成译码。
需要说明的是,在本发明实施例中,受通信信道质量的影响,接收端从来自发送端的数据中获取的分组码字(以下,为了便于区分,记做分组码字A)与发送端实际发送的分组码字(以下,为了便于区分,记做分组码字B)可能存在差异,此情况下,接收端可以确定分组码字A与根据S310至S340所述方式生成的分组码集合中的各分组码字之间的码距,如果分组码字A与分组码集合中唯一的一个分组码字(以下,为了便于区分,记做分组码字C)之间的码距为最小码距,则接收端可以认为该分组码字C为发送端实际发送的分组码字B。
例如,当K=2,L=4时,分组码字B(0001)错一个比特可能变成分组码字A(0011),因为0011与0001(分组码字C)的码距为1,而0011与0100的码距为3、0011与1010的码距为2,0011与1111的码距为2,均大于1,因此,能够提高纠错性能。
另外,为了确保数据传输的准确性,接收端和发送端所存储的映射表项需要一致。
方法b
可以采取代数的方法进行编码。例如,当K=2,L=4时,设原始码字包括的比特为x1和x2,编码码元比特为c1,c2,c3,c4,那么有如下的约束条件(其中“+”表示模二加,即1+1=0,0+1=1):
c1=x1,
c2=x2,
c3=x1,
c4=x1+x2+1
从而,编码器输出的目标分组码可以表示为c1c2c3c4
上述分组码字是非线性的,因此编码器是非线性的(带有非信息比特的码元约束,这里是固定的常数“1”)。但是根据S310至S340所述方式也可以构造线性分组码字。例如还是K=2,L=4的情况,初始码组仍为{00,01,10,11}。因为线性分组码隐含了一个推论是码组包含全零码字,因此叠加码组第一个必须为00,跟00码距为2的11只能放到第2或第3位,其余位置任选,比如叠加码组为{00,11,01,10},于是生成的线性分组码的分组码集合为{0000,0111,1001,1110}。其约束条件如下:
c1=x1,
c2=x2,
c3=x2,
c4=x1+x2
从而,编码器输出的目标分组码可以表示为c1c2c3c4。
对于上述线性分组码字,还可以通过编码理论的其它代数方法进行编码。例如,可以构造生成矩阵。这个例子当中的生成矩阵G(生成矩阵每一列的两个元素,分别是几个约束方程当中x1和x2的系数)为如下矩阵
编码时,2比特的原始码字构成一个行向量x=(x1,x2),那么编码输出可以表示为c=x*G。
另外,非线性分组码字的编码也可以用类似的代数方法进行编码,但是编码器要更复杂一些。例如还是K=2,L=4的情况,分组码集合为{0001,0100,1010,1111},编码时,不仅需要一个生成矩阵G,还需要一个叠加生成向量g,2比特的原始码字构成一个行向量x=(x1,x2),那么编码输出可以表示为c=x*G+g。这里,g=0001,G为如下矩阵
在接收端,对于分组码字的译码,可以列举以下方法:
如果用硬判决译码,则可以用代数译码的方法。如果分组码字属于线性分组码,则可以利用监督矩阵进行译码,如前面所述的线性分组码0000,0111,1001,1110。由生成矩阵可以得到监督矩阵。具体而言,生成矩阵G是单位矩阵跟另一个矩阵组合而成,即G=I|Q,单位矩阵是主对角线上的元素都是1,其余元素都是0的矩阵,这里
目标码长为L,原始码长为K的线性分组码的生成矩阵是K行L列的,构成生成矩阵的单位矩阵I是K行K列的,Q矩阵是K行(L-K)列的。监督矩阵H=P|I,其中P=QT,即P矩阵是Q矩阵的转置矩阵,H矩阵由P矩阵与单位矩阵组成。因此在这里
因此
译码时,让硬判决之后的比特向量R跟监督矩阵相乘,得到错误向量E,即E=H*R如果错误向量是零向量,则判断为没有误码,否则判断为有误码,且根据错误向量的具体情况可以得到误码的位置,从而可以实现纠错。比如这里如果发送码字是0111,硬判决后接收码字也是0111,那么R=0111,E=R*HT=00,其中,HT是H矩阵的转置矩阵,因此判断没有误码。如果发送码字是0111,硬判决后接收码字是0101,那么E=10,可以判断误码在第3位。如果硬判决后接收码字是0011,那么E=11,可以判断误码在第2位。如果硬判决后接收码字是1111或0110,那么E=01,此时不能判断误码在什么位置,只能知道有误码。因此纠错表可以如以下表2所示
表1
错误向量 误码位置 纠错操作
00 无误码 不处理
01 不确定,第1或第4位 不处理(或者触发报错)
10 第3位 第3位取反
11 第2位 第2位取反
对于非线性分组码,也可以用类似的方法。比如前面所述的非线性分组好码0001,0100,1010,1111。其监督矩阵可以跟线性编码相同的方法产生,但它跟判决比特向量相乘的结果还需要再叠加一个监督向量才能进行同样的纠错,监督向量取生成向量的后(L-K)位,此处叠加的监督向量为01。当然这个叠加操作可以反映到纠错表的调整当中,即可以不叠加监督向量,但是调整错误向量与误码位置的对应关系。例如,在这里纠错表可以如以下表3所示,并且,不需要额外叠加监督向量。
表2
除了代数译码法之外,无论硬判决还是软判决,通常性能最好的方法是采取最小均方误差准则的译码方法。即如果判决后的码元向量为c={c1,c2,…,cn},如果硬判决,那么每个向量元素为±1或0,否则是一个多比特表示的数字。最小均方误差就是求所有的可能的发送码字向量跟判决后的码元向量的均方误差(对应每个向量元素的差的平方和的平方根)最小的发送码字向量,判决为真正的接收码字。
但是通常最小均方误差计算量太大,并不实用,较实用的是等价的相关译码法,跟最小均方误差法相比,只是把求均方差改成求相关(即对应位置元素的积的和),并且选择最大相关值的码字作为译码输出。在软判决的时候,由于发送码字可以用比特序列表示,不涉及到幅度,因此可以把相关运算简化为加减法运算,不需要进行乘法运算,复杂度大大下降,性能却保持不变。
但是相关译码仍需要做大量的加减法运算,在码长n较长,码字数量较多的情况下仍然有较高的复杂度,但是可以进一步简化。以前面所述的分组码集合{0000,0111,1001,1110}为例,相关运算时,发送码字当中的0会映射成-1,1会映射为1,设判决后的接收码元构成的列向量y={y1,y2,y3,y4}T,码组当中以每个码字为一行构成的矩阵C,那么相关译码法就是求列向量z=C*y当中最大的元素位置,从而选出对应的码字。易知,如果最大元素位置为i,那么C/m*y当中最大元素的位置也是i,这里m是一个正的常数,且(C+A)*y当中最大元素的位置也是i,这里A是一个矩阵,它每一行都由相同的向量构成。根据这两个性质对码字矩阵C进行变换,得到变换矩阵D=(C+A)/m,其中A的每一行都相同,每一行的每个元素是C当中对应列的各元素绝对值的最大值,这样(C+A)当中所有元素均大于等于0,m则是(C+A)所有元素的公约数。在二进制编码时,D矩阵当中的元素变成0或1,由于做相关运算时0元素对应的运算可以省略,因此计算量可以大大减少,同时如果D矩阵两行如果有两个或以上的位置都有1,那么其加法运算可以只计数一次,记录下来给另一行的运算使用。对于前述好码的例子,映射后的码字矩阵为:
从而,可以确定
进而,可以确定
只有含有非零元素的位置才需要进行加法运算(5次),比原来12次运算大大减少。进一步的,由于第2行跟第4行的第2和第3列都是1,因此可以只做一次加法运算(一共4次)。
进一步简化,由于最终比较判断译码的时候一般需要进行多次两两比较,每次比较其实只需要D的两个行向量参与计算,因此D每两个行向量构成一个新的矩阵,用Dij表示,其中i<j,表示第i行与第j行的行向量构成的矩阵,令Fij=Dij+B,B也是由相同的两行构成的矩阵,按照前述性质,不会改变最大值判决结果,这里使得Fij当中非零元素尽量少,即如果Dij两行的其中一列的元素相同,那么B当中该列的元素可以取这个相同元素的相反值,使Fij对应列的元素变成零。如上述例子
按上面的分析应当变为
经过这样变换之后,使得加法运算次数又减少1次(一共只有3次),此时译码运算就变得非常简单了。
码距是衡量码字纠错能力的重要参数。两个码字之间的码距是指两个码字对应位置码元差别的总和。码距也称为“汉明距”。码组的最小码距是指任意两个码字之间的码距的最小值。为了让码组达到较好的纠错性能,需要让最小码距最大化。
在如上所述确定原始码字对应的目标分组码字后,在S360,发送端可以向接收端发送该目标分组码字。
需要说明的是,在本发明实施例中“发送该目标码字”可以包括对目标码字的例如,速率匹配处理、数模转换、调制、上变频、滤波、功率放大等处理,以及通过无线通信资源对经上述处理而生成的模拟信号的发送。并且,上述列举的处理仅为示例性说明,本发明并未特别限定,而且,上述处理可以与现有技术相似,这里,为了避免赘述,省略其详细说明。
其中,在对信号进行调制时,可以基于上述分组码集合的特性进行。
具体地说,在调制(或者说,联合调制)中,为了让性能最佳,需要使调制之后的符号距离(称为,欧氏距离)最大化。例如,可以令调制时同相分量(图4中I方向分量)的幅度跟正交分量(图4中Q方向分量)的幅度相异(否则一般是相同的),其比例为a:b,需要说明的是,如图4所示,在实际应用中,星座点之间的距离由a2和/或b2表示。
不失一般性,以对K=2,L=4时生成的分组码集合(以下,为了便于理解,称为好码码组)的调制为例,进行说明,该好码码组为{0001,0100,1010,1111}。
图4示出了QPSK调制的示意图,例如,如果根据上述好码码组对原始码字进行编码而得到的目标分组码字为0001,则该目标分组码字在调制后,为图4所示星座图中位于第三象限的点和位于第二象限的点构成,其中,上述两点在不同时刻分别发送的,例如,首先发送上述位于第三象限的点,再发送位于第二象限的点,从而接收端能够根据各点的发送时间,解调出发送端所发送的码字。
并且,如图4所示,如果编码后每2个比特映射到一个调制符号,且采用正交相移键控(QPSK,Quadrature Phase Shift Keying)调制方式,如果用图4中所示各星座点之间的欧氏距离来表示上述好码码组中各码字之间的码距,则可以得到如下矩阵。
当上述矩阵中所有非零元素(即,上述好码码组各码字之间的码距)的差异最小(例如,差值为零)时,可以使性能最优化。即,在本发明实施例中,当2b2=2a2+b2时,可以使性能最优化。此,情况下求得I、Q路调制幅度之比为
另外,对于二相相移键控(BPSK,Binary Phase Shift Keying)等二进制调制方式,不存在两个正交的分量,例如,只有同相分量而没有正交分量。
这种情况下,可以令不同比特的调制幅度不一样,例如,对于如上所述获得的K=2,L=8时生成的分组码集合(以下,为了便于理解,称为好码码组),该好码码组为{11010000,10100101,00001010,01111111}。假如序号从1开始,设奇数序号跟偶数序号的比特调制幅度之比为a:b,在实际应用中,星座点之间的距离由a2和/或b2表示。这样,用欧氏距离表示的码距矩阵如下
为了保持发射功率不变,必须满足a2+b2=K2是一个常数。要使码距矩阵当中元素差异最小,可以使用最小均方差异准则,在这里就是令不同元素之间的差异的平方和最小。发现有三种元素:a2+4b2=4K2-3a2,3a2+2b2=2K2+a2,4a2+2b2=2K2+2a2。设x=(a/K)2,这样就相当于求4-3x,2+x和2+2x之间差异最小的x,按照最小均方差异准则,就是求使得以下多项式最小化的x,其中0≤x≤1
[(4-3x)-(2+x)]2+[(4-3x)-(2+2x)]2+[(2+x)-(2+2x)]2
如上所述,求得x=3/7,因此得到a2=9/49K2,从而b2=40/49K2。所以得到奇数序号跟偶数序号的比特调制幅度之比为
再举一个更高阶调制和更多信息比特的例子,以对K=3,L=6时生成的分组码集合(以下,为了便于理解,称为好码码组)的调制为例,该好码码组为{000111,001001,010000,011110,100100,101010,110011,111101}。
图5示出了8正交振幅调制(8QAM,8Quadrature Amplitude Modulation)的示意图,如图5所示,对编码后的比特进行8正交振幅调制,同样设I、Q路幅度之比为a:b,在实际应用中,星座点之间的距离由a2、b2表示,从而,由欧氏距离表示的码距矩阵如下:
如果要保持发射功率不变,则必须满足2a2+b2=K2是一个常数(调制星座图所有符号的平均功率为常数)。要使欧氏距离矩阵当中元素差异最小,可以使用最小均方差异准则,在这里就是令不同元素之间的差异的平方和最小。一共有28种元素(每种出现了两次),若设x=(a/K)2,这样就相当于求{4-6x,4,5x,4-4x,1+2x,8-15x,5-2x},{1,4-7x,8-14x,2-2x,4-7x,5-8x,5-9x},{5-6x,1+6x,1+3x,2-4x,5-6x,2+x,8-14x}和{5-9x,2,4+3x,1+2x,2-3x,1+6x,1+3x}之间差异最小的x。按照最小均方差异准则,就是求使得这些数两两之间的差的平方和最小的x,其中0≤x≤1/2。这样求出x=0.378,因此得到a2=0.378K2,从而b2=0.244K2。所以得到奇数序号跟偶数序号的比特调制幅度之比为a:b=1.24。
综上所述,确定使得不同码字进行调制之后的欧氏距离的差异最小时的调制幅度的比例,这个比例是指同相分量与正交分量的幅度之比,或者不同位置的调制幅度的比例,如奇数序号跟偶数序号的调制符号的幅度比例,又或者分r种幅度,第(n*r+i)个调制符号的幅度都是Ai,其中n是大于等于0的整数,i是1~r的整数,求比例A1:A2:…:Ar。“欧氏距离”是指调制符号之间的差异,可以在星座图上反映出来。差异最小是指如果可以让所有欧氏距离都相等,则是指都相等,否则可以用一个最小差异的准则,比如最小均方差异准则(即所有欧氏距离之差的平方和),又比如令所有欧氏距离之差的绝对值之和最小。
在频率选择性强的信道当中,联合调制会被频率选择性破坏,性能可能会下降,此时可以在发送端根据频率衰落情况进行幅度补偿。
例如,发送端可以根据信道互易性,用之前收到对端的数据,估计信道频率选择性,这适用于估计值生成的时间距离发送时间的间隔远小于信道相干时间的情况。为此接收端可以向发送端发送信道探测包(如不携带数据净荷的空数据包),用于频率选择性估计。
再例如,在接收端进行频率选择性估计,然后把数据发送给发送端,用于补偿子载波衰落。
信道频率选择性估计的方法有很多,一般通过信道估计方法估计出不同频率分量或子载波的衰落比例,然后发送信号之前根据衰落比例来补偿不同频率分量或子载波的幅度。比如有n个频率分量或子载波,其衰落比例为A1:A2:…:An,那么就令其幅度补偿之比为1/A1:1/A2:…:1/An,且功率保持不变。在补偿之后再进行前面所说的联合调制的操作,或者在联合调制之后进行补偿操作。即此时每个调制符号的幅度由根据信道频率选择性估计所做出的幅度补偿比例,以及联合调制确定的幅度比例共同确定。
为了保证纠错编码在不同信道场景下的性能,一般还要考虑交织映射的方法。即编码后的比特并非是按顺序发送的,而是经过一定的交织或映射之后,以新的顺序进行发送。这是考虑到信道衰落或突发干扰造成的连续时间的比特错误,如果不把编码后的比特打散,连续的错误很容易就超过纠错的能力从而导致无法正确译码。这里针对上述的编码方式提出几种交织映射的方法。
例如,方法一,可以考虑最大分集的交织映射,需要使编码后的同一个分组的比特跟前后比特有固定间隔N,这样对于原始码长为K,目标码长为L的分组码集合,第(m*N+i)个分组第j个比特交织映射后的顺序为第{m·N·L+(j-1)·N+i}个比特(序号从1开始算),这里m是大于等于0的整数,i∈[1,N],j∈[1,L]。
不失一般性,以对K=2,L=4时生成的分组码集合(以下,为了便于理解,称为好码码组)的交织映射为例,该好码码组为{0001,0100,1010,1111}。假如在交织映射之前,上述编码后的输出为0001、1010、1111、0100,交织固定间隔为4,那么这种方法交织映射后的输出为0110、0011、0110、1010。
再例如,方法二,可以考虑同符号映射的交织映射,与上述方法一类似,但同一个分组的比特需要每连续M个映射为同一个调制符号,编码后的同一个分组的比特跟前后调制符号的比特有固定间隔N,这种方式有利于提高在非衰落信道当中的高阶调制的性能。对于分组码长为L,原始码长为N的分组码集合,其中,L%M=0,N%M=0,即L和N都能被M整除,第(m·N/M+i)个分组第(M·j+q)个比特交织映射后的顺序为第{m·N·L/M+j·N+(i-1)·M+q}个比特(序号从1开始算),这里m是大于等于0的整数,i∈[1,N/M],j∈[0,L/M-1],q∈[1,M]。
不失一般性,以对K=2,L=4时生成的分组码集合(以下,为了便于理解,称为好码码组)的交织映射为例,该好码码组为{0001,0100,1010,1111}。交织固定间隔为8,编码后每连续2个比特必须映射到一起,那么这种方法交织映射后的输出为0001、1011、0100、1011。
在例如,方法三,在方法一中没有考虑到与调制的联合,可能导致同一个分组码字的所有比特可能都在同一个调制分量上,因此在方法一的基础上,可以进一步交换比特的顺序,使得属于同一分组的各个比特能够均匀分布到各个调制分量上来。即按照方法一交织映射后的比特再进行一次交织映射,假设有T种调制分量,则有T种映射方式,其中第h种方式把比特b1,b2,…,bT分别映射到第wh1,wh2,…,whT个比特的位置,需要满足当u≠v时,wut≠wvt对所有t=1,2,…,T都成立,即每种映射方式,都会把一个比特映射到一个不同的位置。满足这种映射方式的方法有很多,最简单的是循环移位,即第1种映射方式把比特b1,b2,…,bT分别映射到第1,2,…,T个位置,第2种映射方式分别映射到第2,3,…,T,1个位置,第3种映射方式分别映射到第3,4,…,T,1,2个位置,……第T种映射方式分别映射到第T,1,2,…,T-1个位置。那么还是基于前面所述的分组码集合为{0001,1010,1111,0100},如果T=2,一种映射方法映射之后的结果变成{0110,0011,0110,0101}。
除了上述三种方法之外还有其它的方法可以实现相同的性能,这些方法可以看作是同一个纠错分组码内的比特按照一定规则进行顺序交换之后,再按上述的一种方法进行交织映射。
对于具体的方法,可能又会有具体的实现方式。如方法一属于块交织,可以用传统的按行写入,按列读出的方法,用一块N行L列的存储区,每N个分组比特为一块,每个分组都依次写入每一行,每个分组好码都恰好填满每一行的L列,填完存储区之后再逐列的把比特读出来,就完成了交织映射操作。方法二是属于扩展的块交织,存储区的大小是N/M行,L列,每N/M个分组比特为一块,写存储区的操作跟方法一相同,读的时候是逐M列读出,即每M列比特再按照行的顺序读出来。方法三相当于在方法一的模块结构之后又附加一个映射单元。
接收端解交织是跟发送端相反的操作。
例如,在方法一中,发送端分块按行写入按列读出,那么接收端可以分块按列写入,按行读出,每一块的行列数跟发送端相同,即以LN个接收比特为一块,把第[(j-1)·N+i]个比特映射为第i个分组第j个比特,其中i是1~N整数,j是1~n的整数。
在方法二中,接收端分块按多列写入,即每M列再按照行的顺序写入,按行读出,每一块的行列数跟发送端相同,即以nN/M个接收比特为一块,把第[j·N+(i-1)·M+q](序号从1开始算)个比特映射为第i个分组第(M·j+q)个比特,这里i是1~N/M的整数,j是0~n/M-1的整数,q是1~M的整数。
在方法三中,接收端则先按照T种映射方式进行反向映射之后再用方法一相同的方法进行反向映射。
另外,不同交织映射的方法适用于不同信道环境下,特别是跟信道的频率选择特性有关。因此可以根据信道频率选择性采取不同的比特映射方式,发送端在物理层的帧头携带指示的信息,表明交织映射的方法,接收端可以根据指示采取正确的方法来解交织。
下面,对本发明实施例的传输数据的方法中,链路自适应的方式进行说明,该链路自适应的过程可以由上述无线通信设备202中的发射机206执行。
可选地,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距中的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
具体地说,如上所述,在本发明实施例中,叠加码组可以由多个子叠加码组构成,例如,当K=2,L=9时,叠加码组可以由四个子叠加码组构成,前三个子叠加码组中的各叠加码字包括两个比特位,最后一个叠加码组中的各叠加码字包括一个比特位。以下表4示出了K=2,L=9该分组码集合的构成。
表4
并且,在本发明实施例中,上述初始码组可以与不同的叠加码组构成目标码长相异的各种分组码集合,并且,在各分组码集合中,各码字之间的码距均相等或相差±1。
例如,由表4中的初始码组和子叠加码组A可以构成K=2,L=4的分组码集合,其中,各码字彼此之间的码距为2或3。
再例如,由表4中的初始码组、子叠加码组A和第二子叠加码组B可以构成K=2,L=6的分组码集合,其中,各码字彼此之间的码距为4。
再例如,由表4中的初始码组、子叠加码组A、子叠加码组B和子叠加码组C可以构成K=2,L=8的分组码集合,其中,各码字彼此之间的码距为5或6。
如上所述,根据本发明实施例的方法形成的分组码集合,长度较长的分组码集合可以基于长度较短的分组码集合叠加生成。从而,能够利用该特点进行上述链路自适应,具体地说,是混合自动请求重传(HARQ,Hybrid Automatic Repeat Request)的处理。
可选地,当t≥2时,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及
该向该接收端发送该目标分组码字,包括:
在第一时刻,发送第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,发送第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
具体地说,HARQ是一种快速的链路自适应的方法,一开始以较高的速率发送数据,如果发送失败,即收不到正确的应答ACK,或收到错误的应答NACK,就重新发送一份数据,但是跟一般的自动请求重传不同,重新发送的数据在接收端跟已接收的数据会进行合并处理,这无疑会大大增强接收的信噪比。而数据速率因为重传实际上是降低了,因此实现了在信道条件较好的时候以较高速率发送数据(此时能收到正确的应答),信道条件较差的时候以较低速率发送数据(需要重传合并)。一般的重传合并,只是增强了接收信号的能量,仅等效于信息比特信噪比的增强,而结合纠错编码的重传合并,每次重传可能采用不同的编码方式,如带有不同位置的校验位,或者传输不同打孔位置的码字,这样还能取得额外的纠错编码增益。
上述的分组码集合可以用于这种结合纠错编码的HARQ的过程。例如,第1次发送是原始码字所对应的一种码长的分组码字(以下,为了便于理解和区分,记做分组码字M),第i次发送的原始码字所对应的一种码长的分组码字(以下,为了便于理解和区分,记做分组码字N),其中分组码字N的码长(即目标码长)大于分组码字M的码长,并且,分组码字N可以是由分组码字M叠加一个或多个子叠加码组生成的。这样第i次发送的时候,只需要发送叠加码组就可以了。
在接收端再把每次接收的码字组合起来进行译码。比如信息比特位是k=2的情况,以下表5示出了基于表4所示各跟组码集合的结构而确定的发送策略。
表5
这里,需要说明的是,每次发送的码字可以进行单独的译码,也可能不能进行单独的译码。如上例所示,第二次、第三次发送的叠加码字是可以单独求出发送比特的,但第四次发送的叠加码字不能进行单独接收处理。根据前面分析,对于任意k≥2都存在这样的一系列分组码集合,在该分组码集合中,各码字之间的码距相同,并且,该分组码集合可以包含无穷多种分组长度。如k=2时,目标码长L可以等于3及以上的任意整数,k=3时,目标码长L可以取7p-1,7p或7p+1的值,其中p为大于等于1的整数。
应理解,以上列举的发送策略仅为示例性说明,本发明并不限定于此,例如,每次发送的码字的数量和长度还可以根据接收端对所接收到的码字的译码判决来确定,即,
可选地,该在第二时刻,发送第二子目标分组码字之前,该方法还包括:
接收该接收端发送的码距信息,该码距信息是该接收端根据目标平均值确定的,其中,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该接收码字包括至少一个与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;
根据该目标码距信息,确定目标码距;
该在第二时刻,发送第二子目标分组码字,包括:
根据该目标码距,确定该第二子目标分组码字,以使由该初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各该第一目标局部分组码字彼此之间的码距中的最小值大于该目标码距;
在该第二时刻,发送该第二子目标分组码字。
具体地说,纠错分组码同时也可以进行检错,即根据码距的大小可以判断出差错严重情况。接收端在不能正确译码的时候,可以计算出所接收到的至少一个码字与分组码集合中所有码字的最小码距的平均值e,就可以判断出差错严重程度,并且把这一信息附带在错误应答NACK报文当中,返回给发送端。例如,在一个数据包中包括Z个码字(各码字均为根据如上确定的分组码集合进行编码后的码字)的情况下,首先确定第1个码字与分组码集合中各分组码字的最小码距e1,再确定第2个码字与分组码集合中各分组码字的最小码距e2,以此类推,直至确定最后一个码字与分组码集合中各分组码字的最小码距ez,其后,确定上述最小码距的平均值e=(e1+e2+…ez)/Z。
需要说明的是,在本发明实施例中,数据包中可以包括多个码字,也可以仅包括一个码字,例如,只包括如上所述确定的目标分组码字,此情况下,上述最小码距的平均值e为目标分组码字与分组码集合中各分组码字的最小码距。
发送端根据差错严重程度决定选择下一次发送时码字的分组长度。例如,之前已经发送的码字累计的码组最小码距为D,那么再次发送时要让新的码字累计的码组最小码距变成d,并且使得d>e/f,其中,f是一个预设的目标阈值。
可选地,该目标阈值f是根据该发送端与该接收端之间的信道状况确定的。
具体地说,作为示例而非限定,该目标阈值f取值范围是(0,0.5),取值越大链路自适应的粒度越小,在链路条件较差的情况下有可能会产生更多的重传,但在链路条件较好的情况下会有更高的平均吞吐量。如上面的例子,第一、二、三、四次发送的码组或叠加码组之后,累计的码组最小码距分别为2、4、5、6。若取f=0.4,第一次发送的码组最小码距为2,若不能正确译码,计算平均码距为1.5,则需要下一次累计的码组最小码距在e/f=3.75以上,因此可以只发送第二次叠加的码字,使得累计的码组最小码距为4。但如果计算平均码距为1.8,则需要下一次累积的码组最小码距要大于e/f=4.5,此时需要发送4比特长度的叠加码字,使得累计的码组最小码距为5。
另外,在本发明实施例中,如果发送端和接收端能够对通信的信道质量进行估计,则可以预先协商上述目标阈值f,从而,在上述HARQ过程中,接收端仅需向发送端传输上述平均码距e即可,即,
可选地,该码距信息用于指示该目标平均值,以及
该根据该目标码距信息,确定目标码距,包括:
根据该目标平均值e和目标阈值f确定该目标码距d,其中,
d>e/f,0<f<0.5。
或者,在本发明实施例中,接收端也可以自行确定上述目标阈值f,并根据该目标阈值f和上述平均码距e,计算出新的码字累计的码组最小码距d,并发送给发送端,即
可选地,该码距信息用于指示该目标码距,该目标码距d是该接收端根据该目标平均值e和目标阈值f确定的,其中,
d>e/f,0<f<0.5。
从而,根据本发明实施例提供的HARQ过程,能够实现高性能低复杂度的操作。由于可以构成无穷多种长度的分组码,所以可以一直保证每次叠加操作都有额外的编码增益,并且能够灵活控制每次重传的信息量。
根据本发明实施例的传输数据的方法,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
图6示出了在无线通信环境中适用本发明的传输数据的方法的系统400的示意性框图。系统400包括无线通信设备402,该无线通信设备402被显示为经由信道接收数据。尽管示出为接收数据,但无线通信设备402还可经由信道发送数据(例如,无线通信设备402可同时发送和接收数据,无线通信设备402可以在不同时刻发送和接收数据,或其组合等)。无线通信设备402例如可以是基站(例如图1的基站102等)、接入终端(例如图1的接入终端116、图1的接入终端122等)等。
无线通信设备402可包括接收机404和译码器406。可选地,当无线通信设备402经由信道发送数据时,该无线通信设备402还可以包括一个发射机,该发射机可以单独存在,也可以与接收机404集成在一起形成一个收发机。
其中,接收机404可在信道上接收(一个或多个)无线通信装置(即,发送端,图中未示出)发送的数据包,该数据包中携带有该无线通信装置发送的编码后的(一个或多个)目标分组码字。
译码器406用于对接收机404接收到的数据进行译码(具体地说是分组译码,随后对该过程进行详细说明)得到原始码字。
图7是本发明一个实施例的传输数据的方法500的示意性流程图,图7所示的方法500可以由无线通信设备(即接收端)执行,该接收端可以是基站也可以是用户设备,同样,发送端也可以是基站或用户设备,本发明并未特别限定。
该方法500包括:
S510,接收端确定目标码长L,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;
确定原始码长K,该原始码长是原始码字包括的比特的数量,其中,L>K≥2;
S520,根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字;
S530,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
S540,接收发送端发送的与该原始码字相对应目标分组码字,该目标分组码字是该发送端根据该分组码集合,对该原始码字进行编码处理而从该分组码集合中各该分组码字中确定的;
S550,根据该分组码集合,对该目标分组码字进行译码处理,以获取该原始码字。
具体地说,在S510,接收端可以根据用户需求或网络需求等,确定发送端发送的分组码字的码长L,其中,该码长L大于原始码字(即,发送端需要编码的原始数据)的码长。
在S520,接收端可以获取上述原始码字的码长K(即,码字包括的比特数),在本发明实施例中,该原始码字的码长K≥2。
需要说明的是,在本发明实施例中,为了实现可靠的数据传输,接收端和发送端所确定的分组码字的码长L和原始码字的码长K一致,例如,该分组码字的码长L和原始码字的码长K可以由发送端和接收端协商确定,也可以由网络管理员统一下发至发送端和接收端,还可以由通信协议预先规定,本发明并未特别限定。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
可选地,该根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距w,包括:
当K=2时,如果L是3的整数倍,则w=2L/3;
当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
可选地,当K≥4时,该根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,包括:
确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
可选地,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
可选地,当K=2,且L为奇数时,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
即,在S530,接收端可以生成分组码集合,该过程可以与上述方法300中发送端设备确定分组码集合的过程相似,这里,为了避免赘述,省略其详细说明。
在S540,接收端可以通过无线信道,接收数据包,其中,该数据包中可以携带上述发送端对原始码字进行编码后而生成的目标分组码字。
在S550,在通过调制解调等而从接收到的来自发送端的数据包中,获取分组码字,并从存储的映射表项(例如,上述表1)中,查找所对应的原始码字,从而完成译码。
需要说明的是,在本发明实施例中,受通信信道质量的影响,接收端从来自发送端的数据中获取的分组码字(以下,为了便于区分,记做分组码字A)与发送端实际发送的分组码字(以下,为了便于区分,记做分组码字B)可能存在差异,此情况下,接收端可以确定分组码字A与如上所述生成的分组码集合中的各分组码字之间的码距,如果分组码字A与分组码集合中唯一的一个分组码字(以下,为了便于区分,记做分组码字C)之间的码距为最小码距,则接收端可以认为该分组码字C为发送端实际发送的分组码字B。
例如,当K=2,L=4时,分组码字B(0001)错一个比特可能变成分组码字A(0011),因为0011与0001(分组码字C)的码距为1,而0011与0100的码距为3、0011与1010的码距为2,0011与1111的码距为2,均大于1,因此,能够提高纠错性能。
另外,为了确保数据传输的准确性,接收端和发送端所存储的映射表项需要一致。
或者,接收端也可以采取代数的方法进行译码。
例如,如果用硬判决译码,则可以用代数译码的方法。如果属于线性分组码,则可以利用监督矩阵进行译码,如前面所述的线性分组码0000,0111,1001,1110。由生成矩阵可以得到监督矩阵。具体而言,生成矩阵G是单位矩阵跟另一个矩阵组合而成,即G=I|Q,单位矩阵是主对角线上的元素都是1,其余元素都是0的矩阵,这里
目标码长为L,原始码长为K的线性分组码的生成矩阵是K行L列的,构成生成矩阵的单位矩阵I是K行K列的,Q矩阵是K行(L-K)列的。监督矩阵H=P|I,其中P=QT,即P矩阵是Q矩阵的转置矩阵,H矩阵由P矩阵与单位矩阵组成。因此在这里
因此
译码时,让硬判决之后的比特向量R跟监督矩阵相乘,得到错误向量E,即E=H*R如果错误向量是零向量,则判断为没有误码,否则判断为有误码,且根据错误向量的具体情况可以得到误码的位置,从而可以实现纠错。比如这里如果发送码字是0111,硬判决后接收码字也是0111,那么R=0111,E=R*HT=00,其中,HT是H矩阵的转置矩阵,因此判断没有误码。如果发送码字是0111,硬判决后接收码字是0101,那么E=10,可以判断误码在第3位。如果硬判决后接收码字是0011,那么E=11,可以判断误码在第2位。如果硬判决后接收码字是1111或0110,那么E=01,此时不能判断误码在什么位置,只能知道有误码。因此纠错表可以上述表2所示
对于非线性分组码,也可以用类似的方法。比如前面所述的非线性分组好码0001,0100,1010,1111。其监督矩阵可以跟线性编码相同的方法产生,但它跟判决比特向量相乘的结果还需要再叠加一个监督向量才能进行同样的纠错,监督向量取生成向量的后(L-K)位,此处叠加的监督向量为01。当然这个叠加操作可以反映到纠错表的调整当中,即可以不叠加监督向量,但是调整纠错表跟错误向量的对应关系。例如,在这里纠错表可以如上述表3所示,并且,不需要额外叠加监督向量。
除了代数译码法之外,无论硬判决还是软判决,通常性能最好的方法是采取最小均方误差的译码方法。即如果判决后的码元向量为c={c1,c2,…,cn},如果硬判决,那么每个向量元素为0或1,否则是一个多比特表示的数字。最小均方误差就是求所有的可能的发送码字向量跟判决后的码元向量的均方误差(对应每个向量元素的差的平方和的平方根)最小的发送码字向量,判决为真正的接收码字。
但是通常最小均方误差计算量太大,并不实用,较实用的是等价的相关译码法,跟最小均方误差法相比,只是把求均方差改成求相关(即对应位置元素的积的和),并且选择最大相关值的码字作为译码输出。在软判决的时候,由于发送码字可以用比特序列表示,不涉及到幅度,因此可以简化为加减法运算,不需要进行乘法运算,复杂度大大下降,性能却保持不变。
但是相关译码仍需要做大量的加减法运算,在码长n较长,码字数量较多的情况下仍然有较高的复杂度,但是可以进一步简化。以前面所述的分组码集合{0000,0111,1001,1110}为例,相关运算时,发送码字当中的0会映射成-1,1会映射为1,设判决后的接收码元构成的列向量y={y1,y2,y3,y4}T,码组当中以每个码字为一行构成的矩阵C,那么相关译码法就是求列向量z=C*y当中最大的元素位置,从而选出对应的码字。易知,如果最大元素位置为i,那么C/m*y当中最大元素的位置也是i,这里m是一个正的常数,且(C+A)*y当中最大元素的位置也是i,这里A是一个矩阵,它每一行都由相同的向量构成。根据这两个性质对码字矩阵C进行变换,得到变换矩阵D=(C+A)/m,其中A的每一行都相同,每一行的每个元素是C当中对应列的各元素绝对值的最大值,这样(C+A)当中所有元素均大于等于0,m则是(C+A)所有元素的公约数。在二进制编码时,D矩阵当中的元素变成0或1,由于做相关运算时0元素对应的运算可以省略,因此计算量可以大大减少,同时如果D矩阵两行如果有两个或以上的位置都有1,那么其加法运算可以只计算一次,记录下来给另一行的运算使用。对于前述好码的例子,映射后的码字矩阵为:
从而,可以确定
进而,可以确定
只有含有非零元素的位置才需要进行加法运算(5次),比原来12次运算大大减少。进一步的,由于第2行跟第4行的第2和第3列都是1,因此可以只做一次加法运算(一共4次)。
进一步简化,由于最终比较判断译码的时候一般需要进行多次两两比较,每次比较其实只需要D的两个行向量参与计算,因此D每两个行向量构成一个新的矩阵,用Dij表示,其中i<j,表示第i行与第j行的行向量构成的矩阵,令Fij=Dij+B,B也是由相同的两行构成的矩阵,按照前述性质,不会改变最大值判决结果,这里使得Fij当中非零元素尽量少,即如果Dij两行的其中一列的元素相同,那么B当中该列的元素可以取这个相同元素的相反值,使Fij对应列的元素变成零。如上述例子
按上面的分析应当变为
经过这样变换之后,使得加法运算次数又减少1次(一共只有3次),此时译码运算就变得非常简单了。
可选地,该根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,包括:
根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距中的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
具体地说,如上该,在本发明实施例中,叠加码组可以由多个子叠加码组构成,例如,当K=2,L=9时,叠加码组可以由四个子叠加码组构成,前三个子叠加码组中的各叠加码字包括两个比特位,最后一个叠加码组中的各叠加码字包括一个比特位。上述表4示出了K=2,L=9该分组码集合的构成。
并且,在本发明实施例中,上述初始码组可以与不同的叠加码组构成目标码长相异的各种分组码集合,并且,在各分组码集合中,各码字之间的码距均相等或相差±1。
例如,由表4中的初始码组和子叠加码组A可以构成K=2,L=4的分组码集合,其中,各码字彼此之间的码距为2或3。
再例如,由表4中的初始码组、子叠加码组A和第二子叠加码组B可以构成K=2,L=6的分组码集合,其中,各码字彼此之间的码距为4。
再例如,由表4中的初始码组、子叠加码组A、子叠加码组B和子叠加码组C可以构成K=2,L=8的分组码集合,其中,各码字彼此之间的码距为5或6。
如上该,根据本发明实施例的方法形成的分组码集合,长度较长的分组码集合可以基于长度较短的分组码集合叠加生成。从而,能够利用该特点进行上述链路自适应,具体地说,是HARQ的处理。
可选地,t≥2,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及
该接收发送端发送的与该原始码字相对应目标分组码字,包括:
在第一时刻,接收第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,接收第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
具体地说,HARQ是一种快速的链路自适应的方法,一开始以较高的速率发送数据,如果发送失败,即收不到正确的应答ACK,或收到错误的应答NACK,就重新发送一份数据,但是跟一般的自动请求重传不同,重新发送的数据在接收端跟已接收的数据会进行合并处理,这无疑会大大增强接收的信噪比。而数据速率因为重传实际上是降低了,因此实现了在信道条件较好的时候以较高速率发送数据(此时能收到正确的应答),信道条件较差的时候以较低速率发送数据(需要重传合并)。一般的重传合并,只是增强了接收信号的能量,仅等效于信息比特信噪比的增强,而结合纠错编码的重传合并,每次重传可能采用不同的编码方式,如带有不同位置的校验位,或者传输不同打孔位置的码字,这样还能取得额外的纠错编码增益。
上述的分组码集合可以用于这种结合纠错编码的HARQ的过程。例如,第1次发送是原始码字所对应的一种码长的分组码字(以下,为了便于理解和区分,记做分组码字M),第i次发送的原始码字所对应的一种码长的分组码字(以下,为了便于理解和区分,记做分组码字N),其中分组码字N的码长(即目标码长)大于分组码字M的码长,并且,分组码字N可以是由分组码字M叠加一个或多个子叠加码组生成的。这样第i次发送的时候,只需要发送叠加码组就可以了。
在接收端再把每次接收的码字组合起来进行译码。比如信息比特位是k=2的情况,上述表5示出了基于表4所示各跟组码集合的结构而确定的发送策略。
这里,需要说明的是,每次发送的码字可以进行单独的译码,也可能不能进行单独的译码。如上例所示,第二次、第三次发送的叠加码字是可以单独求出发送比特的,但第四次发送的叠加码字不能进行单独接收处理。根据前面分析,对于任意k≥2都存在这样的一系列分组码集合,在该分组码集合中,各码字之间的码距相同,并且,该分组码集合可以包含无穷多种分组长度。如k=2时,目标码长L可以等于3及以上的任意整数,k=3时,目标码长L可以取7p-1,7p或7p+1的值,其中p为大于等于1的整数。
应理解,以上列举的发送策略仅为示例性说明,本发明并不限定于此,例如,每次发送的码字的数量和长度还可以根据接收端对所接收到的码字的译码判决来确定,即,
可选地,该在第二时刻,接收第二子目标分组码字之前,该方法还包括:
确定目标平均值,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;
根据该目标平均值,确定码距信息;
向该发送端发送该码距信息。
具体地说,纠错分组码同时也可以进行检错,即根据码距的大小可以判断出差错严重情况。接收端在不能正确译码的时候,可以计算出所接收到的至少一个码字与分组码集合中所有码字的最小码距的平均值e,就可以判断出差错严重程度,并且把这一信息附带在错误应答NACK报文当中,返回给发送端。例如,在一个数据包中包括Z个码字(各码字均为根据如上确定的分组码集合进行编码后的码字)的情况下,首先确定第1个码字与分组码集合中各分组码字的最小码距e1,再确定第2个码字与分组码集合中各分组码字的最小码距e2,以此类推,直至确定最后一个码字与分组码集合中各分组码字的最小码距ez,其后,确定上述最小码距的平均值e=(e1+e2+…ez)/Z。
需要说明的是,在本发明实施例中,数据包中可以包括多个码字,也可以仅包括一个码字,例如,只包括如上该确定的目标分组码字,此情况下,上述最小码距的平均值e为目标分组码字与分组码集合中各分组码字的最小码距。
发送端根据差错严重程度决定选择下一次发送时码字的分组长度。例如,之前已经发送的码字累计的码组最小码距为D,那么再次发送时要让新的码字累计的码组最小码距变成d,并且使得d>e/f,其中,f是一个预设的目标阈值。
可选地,该根据该目标平均值,确定码距信息,包括:
根据该目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,
d>e/f,0<f<0.5。
具体地说,作为示例而非限定,该目标阈值f取值范围是(0,0.5),取值越大链路自适应的粒度越小,在链路条件较差的情况下有可能会产生更多的重传,但在链路条件较好的情况下会有更高的平均吞吐量。如上面的例子,第一、二、三、四次发送的码组或叠加码组之后,累计的码组最小码距分别为2、4、5、6。若取f=0.4,第一次发送的码组最小码距为2,若不能正确译码,计算平均码距为1.5,则需要下一次累计的码组最小码距在e/f=3.75以上,因此可以只发送第二次叠加的码字,使得累计的码组最小码距为4。但如果计算平均码距为1.8,则需要下一次累积的码组最小码距要大于e/f=4.5,此时需要发送4比特长度的叠加码字,使得累计的码组最小码距为5。
可选地,该目标阈值f是根据该发送端与该接收端之间的信道状况确定的。
另外,在本发明实施例中,如果发送端和接收端能够对通信的信道质量进行估计,则可以预先协商上述目标阈值f,从而,在上述HARQ过程中,接收端仅需向发送端传输上述平均码距e即可,
可选地,该根据该目标平均值,确定码距信息,包括:
根据该目标平均值,确定码距信息,该码距信息用于指示该目标平均值e。
从而,根据本发明实施例提供的HARQ过程,能够实现高性能低复杂度的操作。由于可以构成无穷多种长度的分组码,所以可以一直保证每次叠加操作都有额外的编码增益,并且能够灵活控制每次重传的信息量。
根据本发明实施例的传输数据的方法,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
上文中,结合图1至图7,详细描述了根据本发明实施例的传输数据的方法,下面,将结合图8和图9,详细描述根据本发明实施例的传输数据的装置。
图8是本发明一个实施例的传输数据的装置600的结构框图。图8的传输数据的装置600包括:
确定单元610,用于确定目标码长L以及原始码长K,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,该原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L≥3,L>K≥2;
生成单元620,用于根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
编码单元630,用于根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字;
发送单元640,用于向该接收端发送该目标分组码字。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元620具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距,根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距w,生成该叠加码组。
可选地,该生成单元620具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
可选地,当K≥4时,该生成单元620具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
可选地,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元620具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元620具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
可选地,当K=2,且L为奇数时,该生成单元620具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
可选地,该生成单元620具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
可选地,t≥2,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及
该发送单元640具体用于在第一时刻,发送第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,发送第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
可选地,该装置600还包括:
接收单元650,用于接收该接收端发送的码距信息,该码距信息是该接收端根据目标平均值确定的,其中,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括至少一个与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;
该确定单元610还用于根据该码距信息,确定目标码距,根据该目标码距,确定该第二子目标分组码字,以使由该初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各该第一目标局部分组码字彼此之间的码距中的最小值大于该目标码距。
可选地,该码距信息用于指示该目标码距,该目标码距d是该接收端根据该目标平均值e和目标阈值f确定的,其中,
d>e/f,0<f<0.5。
可选地,该码距信息用于指示该目标平均值,以及
该确定单元610具体用于根据该目标平均值e和目标阈值f确定该目标码距d,其中,
d>e/f,0<f<0.5。
可选地,该目标阈值f是根据该装置600与该接收端之间的信道状况确定的。
可选地,在生成该分组码集合中各该分组码字之后,该生成单元620还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
根据本发明实施例的传输数据的装置600可对应于本发明实施例的传输数据的方法300的实施主体,并且,该传输数据的装置600中的各单元和上述其他操作和/或功能分别为了实现图3中的方法300的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的传输数据的装置,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
图9是本发明另一个实施例的传输数据的装置700的结构框图。图9的传输数据的装置700包括:
确定单元710,用于确定目标码长L和原始码长K,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,该原始码长是原始码字包括的比特的数量,其中,L≥3,L>K≥2;
生成单元720,用于根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
接收单元730,用于接收发送端发送的与该原始码字相对应目标分组码字,该目标分组码字是该发送端根据该分组码集合,对该原始码字进行编码处理而从该分组码集合中各该分组码字中确定的;
译码单元740,用于根据该分组码集合,对该目标分组码字进行译码处理,以获取该原始码字。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元720具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
可选地,该生成单元720具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
可选地,当K≥4时,该生成单元720具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
可选地,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元720具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该生成单元720具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
可选地,当K=2,且L为奇数时,该生成单元720具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
可选地,该生成单元720具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
可选地,t≥2,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及
该接收单元730具体用于在第一时刻,接收第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,接收第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
可选地,该在第二时刻,该确定单元710还用于确定目标平均值,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同,根据该目标平均值,确定码距信息;以及
该装置700还包括:
发送单元750,用于向该发送端发送该码距信息。
可选地,该确定单元710具体用于根据该目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,
d>e/f,0<f<0.5。
可选地,该目标阈值f是根据该发送端与该装置700之间的信道状况确定的。
可选地,该确定单元710具体用于根据该目标平均值,确定码距信息,该码距信息用于指示该目标平均值e。
可选地,该生成单元720还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
根据本发明实施例的传输数据的装置700可对应于本发明实施例的传输数据的方法500的实施主体,并且,该传输数据的装置700中的各单元和上述其他操作和/或功能分别为了实现图7中的方法500的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的传输数据的装置,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
图10是在无线通信环境中能够使用前述的传输数据的方法的设备800的示意图。如图10所示,该设备800包括:
总线810;
与所述总线810相连的处理器820;
与所述总线810相连的存储器830;
与所述总线810相连的发射机840;
其中,该处理器820通过所述总线810,调用所述存储器830中存储的程序,以用于确定目标码长L,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;
确定原始码长K,该原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L>K≥2;
根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字;
根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
根据该分组码集合,对该原始码字进行编码处理,以从该分组码集合中各该分组码字中,确定与该原始码字相对应的目标分组码字;
控制发射机840向该接收端发送该目标分组码字。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该处理器820具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
可选地,该处理器820具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
可选地,当K≥4时,该处理器820具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
可选地,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该处理器820具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及该处理器820具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
可选地,当K=2,且L为奇数时,该处理器820具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
可选地,该处理器820具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
可选地,t≥2,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及该处理器820具体用于在第一时刻,控制发射机840发送第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,控制发射机840发送第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
可选地,该设备800还包括接收机850,以及该处理器820具体用于控制该接收机850接收该接收端发送的码距信息,该码距信息是该接收端根据目标平均值确定的,其中,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括至少一个与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同;
根据该码距信息,确定目标码距;
该在第二时刻,发送第二子目标分组码字,包括:
根据该目标码距,确定该第二子目标分组码字,以使由该初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各该第一目标局部分组码字彼此之间的码距中的最小值大于该目标码距。
可选地,该码距信息用于指示该目标码距,该目标码距d是该接收端根据该目标平均值e和目标阈值f确定的,其中,
d>e/f,0<f<0.5。
可选地,该码距信息用于指示该目标平均值,以及该处理器820具体用于根据该目标平均值e和目标阈值f确定该目标码距d,其中,
d>e/f,0<f<0.5。
可选地,该目标阈值f是根据该设备800与该接收端之间的信道状况确定的。
可选地,该处理器820还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
在本发明实施例中,处理单器还可以称为CPU。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和信号。存储器的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,传输信号的设备可以嵌入或者本身可以就是例如个人电脑之类的标准以太网通信设备,传输信号的设备的各个模块通过总线系统耦合在一起,其中,总线系统除包括信号总线之外,还包括电源总线、控制总线和状态信号总线。
处理器可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,解码单元或者处理单元读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的传输数据的设备800可对应于本发明实施例的方法中的发送端,并且,该传输数据的设备800中的各单元即模块和上述其他操作和/或功能分别为了实现图3中的方法300的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的传输数据的设备,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
图11示出了在无线通信环境中能够使用前述的传输数据的方法的设备900,如图11所示,该设备900包括:
总线910;
与所述总线910相连的处理器920;
与所述总线910相连的存储器930;
与所述总线910相连的接收机940;
其中,该处理器920通过所述总线910,调用所述存储器930中存储的程序,以用于确定目标码长L和原始码长K,该目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,该原始码长是原始码字包括的比特的数量,其中,L≥3,L>K≥2;
用于根据该原始码长K,生成初始码组,该初始码组包括2K个初始码字,根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括2K个叠加码字,该2K个初始码字和该2K个叠加码字一一对应,并将各该初始码字和所对应的叠加码字进行叠加,生成该分组码集合中各该分组码字,以使该分组码集合中,特征码距彼此之间的差值为±1或0,该特征码距是各该分组码字彼此之间的码距;
用于控制接收机940接收发送端发送的与该原始码字相对应目标分组码字,该目标分组码字是该发送端根据该分组码集合,对该原始码字进行编码处理而从该分组码集合中各该分组码字中确定的;
用于根据该分组码集合,对该目标分组码字进行译码处理,以获取该原始码字。
可选地,当K≤3时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该处理器920具体用于根据该目标码长L和该原始码长K,确定该叠加码组中各叠加码字之间的最大码距;
根据该2K个初始码字在该初始码组中的排列顺序,以及该叠加码组中各叠加码字之间的最大码距,生成该叠加码组。
可选地,该处理器920具体用于当K=2时,如果L是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定该叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定该叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
可选地,当K≥4时,该处理器920具体用于确定子分组码集合,该子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,该子分组码集合是根据第一初始码组和第一叠加码组生成的,该第一初始码组包括2K-1个彼此相异的第一初始码字,每个该第一初始码字包括K-1个比特,该第一叠加码组是根据该子分组码字包括的比特数为L0和该2K-1个第一初始码字在该第一初始码组中的排列顺序确定的,该叠加码组包括2K-1叠加码字,每个该叠加码字包括L0-K+1个比特,该子分组码集合中,各码字之间的码距中的码距均为s,其中,L0<L;
将四个该子分组码集合叠加,以生成中间分组码集合,该中间分组码集合包括2K个中间分组码字,该中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个该子分组码集合中排在第z位的子分组码字叠加而成;
将该中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将该中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,该初始码组包括x个该子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各该子叠加码组包括2K个码长为L1的叠加码字,各该子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
可选地,该2K个初始码字中的第a个初始码字与该2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
可选地,当K=2,且L为偶数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该处理器920具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第一排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第一排序处理后的各子叠加码组,生成该叠加码组,在经该第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第二子叠加码字排在第i1位,其中,该第二子叠加码字是该第m个子叠加码组中与该第一子叠加码字之间的码距最大的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是该2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据该2K个初始码字在该初始码组中的排列顺序,对各该子叠加码组分别进行第二排序处理,以确定各该子叠加码组中各子叠加码字的排列顺序,并根据经该第二排序处理后的各子叠加码组,生成该叠加码组,其中,在经该第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为该第m个子叠加码组中的任意码字,该第m个子叠加码组中的第四子叠加码字排在第i2位,该第四子叠加码字是该第m个子叠加码组中与该第三子叠加码字之间的码距最小的码字,并且,对于由该第m个子叠加码组之前的m-1个子叠加码组与该初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在该第i2位的第三局部分组码字是该2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
可选地,当K=2,且L为奇数时,该初始码组包括2K个彼此相异的初始码字,每个该初始码字包括K个比特,以及
该处理器920具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第三排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第六子叠加码字排在第i3位,该第六子叠加码字是该第m个第一子叠加码组中与该第五子叠加码字之间的码距最大的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在该第i3位的第五局部分组码字是该2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经该第三排序处理后的第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第四排序处理,其中:
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果该第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经该第三排序处理后的第一子叠加码组和经该第四排序处理后的第二子叠加码组,生成该叠加码组。
可选地,当K=2,且L为奇数时,该处理器920具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,该第一子叠加码组是该(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,该第二子叠加码组是该(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据该2K个初始码字在该初始码组中的排列顺序,对各该第一子叠加码组分别进行第五排序处理,以确定各该第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为该第m个第一子叠加码组中的任意码字,该第m个第一子叠加码组中的第八子叠加码字排在第i5位,该第八子叠加码字是该第m个第一子叠加码组中与该第七子叠加码字之间的码距最小的码字,并且,对于由该第m个第一子叠加码组之前的m-1个第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在该第i5位的第九局部分组码字是该2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经该第五排序处理后的该第一子叠加码组与该初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据该2K个局部分组码字的排列,对该第二子叠加码组进行第六排序处理,其中
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则该第二子叠加码组中0码字和1码字的数量相等,且该第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果该第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使该第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经该第五排序处理后的第一子叠加码组和经该第六排序处理后的第二子叠加码组,生成该叠加码组。
可选地,该处理器920具体用于根据该目标码长和该2K个初始码字在该初始码组中的排列顺序,生成叠加码组,该叠加码组包括t个子叠加码组,各该子叠加码组包括2K个子叠加码字,其中,对于由该初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由该初始码组中排在第u位的初始码字和各该t0个子叠加码组中排在第u位的子叠加码字叠加而成,在该目标局部分组码集合中,目标特征码距彼此之间的差值为0,该目标特征码距是各该目标局部分组码字彼此之间的码距,其中,该t0个子叠加码组包括该t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
可选地,t≥2,该目标分组码字包括该初始码组中与该原始码字相对应的目标初始码字,以及各该子叠加码组中与该原始码字相对应的目标子叠加码字,以及
该处理器920具体用于在第一时刻,控制接收机940接收第一子目标分组码字,该第一子目标分组码字包括该目标初始码字以及各该子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,控制接收机940接收第二子目标分组码字,该第二子目标分组码字包括各该子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,该第二时刻处于该第一时刻之后,c2=c1+1,c3≤t。
可选地,在第二时刻,该处理器920还用于确定目标平均值,该目标平均值是该接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,该至少一个接收码字包括与该第一子目标分组码字相对应的第一接收码字,该第一分组码集合中的各分组码字包括的比特数量与各该接收码字包括的比特数量相同,根据该目标平均值,确定码距信息;以及
该设备900还包括:
发射机950,用于向该发送端发送该码距信息。
可选地,该处理器920具体用于根据该目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,
d>e/f,0<f<0.5。
可选地,该目标阈值f是根据该发送端与该设备900之间的信道状况确定的。
可选地,该处理器920具体用于根据该目标平均值,确定码距信息,该码距信息用于指示该目标平均值e。
可选地,该处理器920还用于对该组码集合中各该分组码字的第a位比特与第b位比特进行对调。
在本发明实施例中,处理单器还可以称为CPU。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和信号。存储器的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,传输信号的设备可以嵌入或者本身可以就是例如个人电脑之类的标准以太网通信设备,传输信号的设备的各个模块通过总线系统耦合在一起,其中,总线系统除包括信号总线之外,还包括电源总线、控制总线和状态信号总线。
处理器可以实现或者执行本发明方法实施例中的公开的各步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用解码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,解码单元或者处理单元读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,在本发明实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的传输数据的设备900可对应于本发明实施例的传输数据的方法500的实施主体,并且,该传输数据的设备900中的各单元和上述其他操作和/或功能分别为了实现图7中的方法500的相应流程,为了简洁,在此不再赘述。
根据本发明实施例的传输数据的设备,通过使分组码集合各该分组码字彼此之间的码距相同或相差±1,并且使发送端根据该分组码集合进行编码,接收端根据该分组码集合进行译码,能够提高译码时的纠错能力。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
需要说明的是,在本发明实施例中,±1是指该数值为1或-1,例如,2和3之间的差值可以表示为2-3=-1,也可以表示为3-2=1,均表示2和3之间的差值,只是基于减数与被减数的选择而相异。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (60)

1.一种传输数据的方法,其特征在于,所述方法包括:
发送端确定目标码长L,所述目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;
确定原始码长K,所述原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L>K≥2;
根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字;
根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括2K个叠加码字,所述2K个初始码字和所述2K个叠加码字一一对应,并将各所述初始码字和所对应的叠加码字进行叠加,生成所述分组码集合中各所述分组码字,以使所述分组码集合中,特征码距彼此之间的差值为±1或0,所述特征码距是各所述分组码字彼此之间的码距;
根据所述分组码集合,对所述原始码字进行编码处理,以从所述分组码集合中各所述分组码字中,确定与所述原始码字相对应的目标分组码字;
向所述接收端发送所述目标分组码字。
2.根据权利要求1所述的方法,其特征在于,当K≤3时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w;
根据所述2K个初始码字在所述初始码组中的排列顺序,以及所述叠加码组中各叠加码字之间的最大码距w,生成所述叠加码组。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w,包括:
当K=2时,如果L是3的整数倍,则w=2L/3;
当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
4.根据权利要求1中任一项所述的方法,其特征在于,当K≥4时,所述根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字,包括:
确定子分组码集合,所述子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,所述子分组码集合是根据第一初始码组和第一叠加码组生成的,所述第一初始码组包括2K-1个彼此相异的第一初始码字,每个所述第一初始码字包括K-1个比特,所述第一叠加码组是根据所述子分组码字包括的比特数为L0和所述2K-1个第一初始码字在所述第一初始码组中的排列顺序确定的,所述叠加码组包括2K-1叠加码字,每个所述叠加码字包括L0-K+1个比特,所述子分组码集合中,各码字之间的码距均为s,其中,L0<L;
将四个所述子分组码集合叠加,以生成中间分组码集合,所述中间分组码集合包括2K个中间分组码字,所述中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个所述子分组码集合中排在第z位的子分组码字叠加而成;
将所述中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将所述中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,所述初始码组包括x个所述子初始码组,其中,v∈[1,2K-2],x≥1;以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成包括y个子叠加码组的叠加码组,以使各所述子叠加码组包括2K个码长为L1的叠加码字,各所述子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
5.根据权利要求1所述的方法,其特征在于,所述2K个初始码字中的第a个初始码字与所述2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
6.根据权利要求5所述的方法,其特征在于,当K=2,且L为偶数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第一排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第一排序处理后的各子叠加码组,生成所述叠加码组,在经所述第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第二子叠加码字排在第i1位,其中,所述第二子叠加码字是所述第m个子叠加码组中与所述第一子叠加码字之间的码距最大的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是所述2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第二排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第二排序处理后的各子叠加码组,生成所述叠加码组,其中,在经所述第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第四子叠加码字排在第i2位,所述第四子叠加码字是所述第m个子叠加码组中与所述第三子叠加码字之间的码距最小的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在所述第i2位的第三局部分组码字是所述2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
7.根据权利要求5所述的方法,其特征在于,当K=2,且L为奇数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第三排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第六子叠加码字排在第i3位,所述第六子叠加码字是所述第m个第一子叠加码组中与所述第五子叠加码字之间的码距最大的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在所述第i3位的第五局部分组码字是所述2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经所述第三排序处理后的第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第四排序处理,其中:
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经所述第三排序处理后的第一子叠加码组和经所述第四排序处理后的第二子叠加码组,生成所述叠加码组。
8.根据权利要求5所述的方法,其特征在于,当K=2,且L为奇数时,所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第五排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第八子叠加码字排在第i5位,所述第八子叠加码字是所述第m个第一子叠加码组中与所述第七子叠加码字之间的码距最小的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在所述第i5位的第九局部分组码字是所述2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经所述第五排序处理后的所述第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第六排序处理,其中
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经所述第五排序处理后的第一子叠加码组和经所述第六排序处理后的第二子叠加码组,生成所述叠加码组。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括t个子叠加码组,各所述子叠加码组包括2K个子叠加码字,其中,对于由所述初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由所述初始码组中排在第u位的初始码字和各所述t0个子叠加码组中排在第u位的子叠加码字叠加而成,在所述目标局部分组码集合中,目标特征码距彼此之间的差值为0,所述目标特征码距是各所述目标局部分组码字彼此之间的码距,其中,所述t0个子叠加码组包括所述t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
10.根据权利要求9所述的方法,其特征在于,当t≥2时,所述目标分组码字包括所述初始码组中与所述原始码字相对应的目标初始码字,以及各所述子叠加码组中与所述原始码字相对应的目标子叠加码字,以及
所述向所述接收端发送所述目标分组码字,包括:
在第一时刻,发送第一子目标分组码字,所述第一子目标分组码字包括所述目标初始码字以及各所述子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,发送第二子目标分组码字,所述第二子目标分组码字包括各所述子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,所述第二时刻处于所述第一时刻之后,c2=c1+1,c3≤t。
11.根据权利要求10所述的方法,其特征在于,所述在第二时刻,发送第二子目标分组码字之前,所述方法还包括:
接收所述接收端发送的码距信息,所述码距信息是所述接收端根据目标平均值确定的,其中,所述目标平均值是所述接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,所述至少一个接收码字包括至少一个与所述第一子目标分组码字相对应的第一接收码字,所述第一分组码集合中的各分组码字包括的比特数量与各所述接收码字包括的比特数量相同;
根据所述码距信息,确定目标码距;
所述在第二时刻,发送第二子目标分组码字,包括:
根据所述目标码距,确定所述第二子目标分组码字,以使由所述初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各所述第一目标局部分组码字彼此之间的码距中的最小值大于所述目标码距;
在所述第二时刻,发送所述第二子目标分组码字。
12.根据权利要求11所述的方法,其特征在于,所述码距信息用于指示所述目标码距,所述目标码距d是所述接收端根据所述目标平均值e和目标阈值f确定的,其中,
d>e/f,0<f<0.5。
13.根据权利要求11所述的方法,其特征在于,所述码距信息用于指示所述目标平均值,以及
所述根据所述码距信息,确定目标码距,包括:
根据所述目标平均值e和目标阈值f确定所述目标码距d,其中,
d>e/f,0<f<0.5。
14.根据权利要求12或13所述的方法,其特征在于,所述目标阈值f是根据所述发送端与所述接收端之间的信道状况确定的。
15.根据权利要求1至8中任一项所述的方法,其特征在于,在生成所述分组码集合中各所述分组码字之后,所述方法还包括:
对组码集合中各所述分组码字的第a位比特与第b位比特进行对调,其中第a位比特与第b位比特为各所述分组码字中任意两个不同比特位的比特。
16.一种传输数据的方法,其特征在于,所述方法包括:
接收端确定目标码长L,所述目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,其中,L≥3;
确定原始码长K,所述原始码长是原始码字包括的比特的数量,其中,L>K≥2;
根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字;
根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括2K个叠加码字,所述2K个初始码字和所述2K个叠加码字一一对应,并将各所述初始码字和所对应的叠加码字进行叠加,生成所述分组码集合中各所述分组码字,以使所述分组码集合中,特征码距彼此之间的差值为±1或0,所述特征码距是各所述分组码字彼此之间的码距;
接收发送端发送的与所述原始码字相对应目标分组码字,所述目标分组码字是所述发送端根据所述分组码集合,对所述原始码字进行编码处理而从所述分组码集合中各所述分组码字中确定的;
根据所述分组码集合,对所述目标分组码字进行译码处理,以获取所述原始码字。
17.根据权利要求16所述的方法,其特征在于,当K≤3时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w;
根据所述2K个初始码字在所述初始码组中的排列顺序,以及所述叠加码组中各叠加码字之间的最大码距w,生成所述叠加码组。
18.根据权利要求17所述的方法,其特征在于,所述根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w,包括:
当K=2时,如果L是3的整数倍,则w=2L/3;
当K=2时,如果L不是3的整数倍,则w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
19.根据权利要求16中任一项所述的方法,其特征在于,当K≥4时,所述根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字,包括:
确定子分组码集合,所述子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,所述子分组码集合是根据第一初始码组和第一叠加码组生成的,所述第一初始码组包括2K-1个彼此相异的第一初始码字,每个所述第一初始码字包括K-1个比特,所述第一叠加码组是根据所述子分组码字包括的比特数为L0和所述2K-1个第一初始码字在所述第一初始码组中的排列顺序确定的,所述叠加码组包括2K-1叠加码字,每个所述叠加码字包括L0-K+1个比特,所述子分组码集合中,各码字之间的码距均为s,其中,L0<L;
将四个所述子分组码集合叠加,以生成中间分组码集合,所述中间分组码集合包括2K个中间分组码字,所述中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个所述子分组码集合中排在第z位的子分组码字叠加而成;
将所述中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将所述中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,所述初始码组包括x个所述子初始码组,其中,v∈[1,2K-2],x≥1;以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成包括y个子叠加码组的叠加码组,以使各所述子叠加码组包括2K个码长为L1的叠加码字,各所述子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
20.根据权利要求16所述的方法,其特征在于,所述2K个初始码字中的第a个初始码字与所述2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
21.根据权利要求20所述的方法,其特征在于,当K=2,且L为偶数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第一排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第一排序处理后的各子叠加码组,生成所述叠加码组,在经所述第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第二子叠加码字排在第i1位,其中,所述第二子叠加码字是所述第m个子叠加码组中与所述第一子叠加码字之间的码距最大的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是所述2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第二排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第二排序处理后的各子叠加码组,生成所述叠加码组,其中,在经所述第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第四子叠加码字排在第i2位,所述第四子叠加码字是所述第m个子叠加码组中与所述第三子叠加码字之间的码距最小的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在所述第i2位的第三局部分组码字是所述2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
22.根据权利要求20所述的方法,其特征在于,当K=2,且L为奇数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第三排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第六子叠加码字排在第i3位,所述第六子叠加码字是所述第m个第一子叠加码组中与所述第五子叠加码字之间的码距最大的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在所述第i3位的第五局部分组码字是所述2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经所述第三排序处理后的第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第四排序处理,其中:
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经所述第三排序处理后的第一子叠加码组和经所述第四排序处理后的第二子叠加码组,生成所述叠加码组。
23.根据权利要求20所述的方法,其特征在于,当K=2,且L为奇数时,所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第五排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第八子叠加码字排在第i5位,所述第八子叠加码字是所述第m个第一子叠加码组中与所述第七子叠加码字之间的码距最小的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在所述第i5位的第九局部分组码字是所述2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经所述第五排序处理后的所述第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第六排序处理,其中
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经所述第五排序处理后的第一子叠加码组和经所述第六排序处理后的第二子叠加码组,生成所述叠加码组。
24.根据权利要求16至23中任一项所述的方法,其特征在于,所述根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,包括:
根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括t个子叠加码组,各所述子叠加码组包括2K个子叠加码字,其中,对于由所述初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由所述初始码组中排在第u位的初始码字和各所述t0个子叠加码组中排在第u位的子叠加码字叠加而成,在所述目标局部分组码集合中,目标特征码距彼此之间的差值为0,所述目标特征码距是各所述目标局部分组码字彼此之间的码距,其中,所述t0个子叠加码组包括所述t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
25.根据权利要求24所述的方法,其特征在于,当t≥2时,所述目标分组码字包括所述初始码组中与所述原始码字相对应的目标初始码字,以及各所述子叠加码组中与所述原始码字相对应的目标子叠加码字,以及
所述接收发送端发送的与所述原始码字相对应目标分组码字,包括:
在第一时刻,接收第一子目标分组码字,所述第一子目标分组码字包括所述目标初始码字以及各所述子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,接收第二子目标分组码字,所述第二子目标分组码字包括各所述子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,所述第二时刻处于所述第一时刻之后,c2=c1+1,c3≤t。
26.根据权利要求25所述的方法,其特征在于,所述在第二时刻,接收第二子目标分组码字之前,所述方法还包括:
确定目标平均值,所述目标平均值是所述接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,所述至少一个接收码字包括与所述第一子目标分组码字相对应的第一接收码字,所述第一分组码集合中的各分组码字包括的比特数量与各所述接收码字包括的比特数量相同;
根据所述目标平均值,确定码距信息;
向所述发送端发送所述码距信息。
27.根据权利要求26所述的方法,其特征在于,所述根据所述目标平均值,确定码距信息,包括:
根据所述目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,
d>e/f,0<f<0.5。
28.根据权利要求27所述的方法,其特征在于,所述目标阈值f是根据所述发送端与所述接收端之间的信道状况确定的。
29.根据权利要求26所述的方法,其特征在于,所述根据所述目标平均值,确定码距信息,包括:
根据所述目标平均值,确定码距信息,所述码距信息用于指示所述目标平均值e。
30.根据权利要求16至23中任一项所述的方法,其特征在于,在生成所述分组码集合中各所述分组码字之后,所述方法还包括:
对组码集合中各所述分组码字的第a位比特与第b位比特进行对调,其中第a位比特与第b位比特为各所述分组码字中任意两个不同比特位的比特。
31.一种传输数据的装置,其特征在于,所述装置包括:
确定单元,用于确定目标码长L以及原始码长K,所述目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,所述原始码长是需要发送给接收端的原始码字包括的比特的数量,其中,L≥3,L>K≥2;
生成单元,用于根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字,根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括2K个叠加码字,所述2K个初始码字和所述2K个叠加码字一一对应,并将各所述初始码字和所对应的叠加码字进行叠加,生成所述分组码集合中各所述分组码字,以使所述分组码集合中,特征码距彼此之间的差值为±1或0,所述特征码距是各所述分组码字彼此之间的码距;
编码单元,用于根据所述分组码集合,对所述原始码字进行编码处理,以从所述分组码集合中各所述分组码字中,确定与所述原始码字相对应的目标分组码字;
发送单元,用于向所述接收端发送所述目标分组码字。
32.根据权利要求31所述的装置,其特征在于,当K≤3时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w,根据所述2K个初始码字在所述初始码组中的排列顺序,以及所述叠加码组中各叠加码字之间的最大码距w,生成所述叠加码组。
33.根据权利要求32所述的装置,其特征在于,所述生成单元具体用于当K=2时,如果L是3的整数倍,则确定所述叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定所述叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定所述叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
34.根据权利要求31中任一项所述的装置,其特征在于,当K≥4时,所述生成单元具体用于确定子分组码集合,所述子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,所述子分组码集合是根据第一初始码组和第一叠加码组生成的,所述第一初始码组包括2K-1个彼此相异的第一初始码字,每个所述第一初始码字包括K-1个比特,所述第一叠加码组是根据所述子分组码字包括的比特数为L0和所述2K-1个第一初始码字在所述第一初始码组中的排列顺序确定的,所述叠加码组包括2K-1叠加码字,每个所述叠加码字包括L0-K+1个比特,所述子分组码集合中,各码字之间的码距均为s,其中,L0<L;
将四个所述子分组码集合叠加,以生成中间分组码集合,所述中间分组码集合包括2K个中间分组码字,所述中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个所述子分组码集合中排在第z位的子分组码字叠加而成;
将所述中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将所述中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,所述初始码组包括x个所述子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各所述子叠加码组包括2K个码长为L1的叠加码字,各所述子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
35.根据权利要求31所述的装置,其特征在于,所述2K个初始码字中的第a个初始码字与所述2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
36.根据权利要求35所述的装置,其特征在于,当K=2,且L为偶数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第一排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第一排序处理后的各子叠加码组,生成所述叠加码组,在经所述第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第二子叠加码字排在第i1位,其中,所述第二子叠加码字是所述第m个子叠加码组中与所述第一子叠加码字之间的码距最大的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是所述2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第二排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第二排序处理后的各子叠加码组,生成所述叠加码组,其中,在经所述第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第四子叠加码字排在第i2位,所述第四子叠加码字是所述第m个子叠加码组中与所述第三子叠加码字之间的码距最小的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在所述第i2位的第三局部分组码字是所述2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
37.根据权利要求35所述的装置,其特征在于,当K=2,且L为奇数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第三排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第六子叠加码字排在第i3位,所述第六子叠加码字是所述第m个第一子叠加码组中与所述第五子叠加码字之间的码距最大的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在所述第i3位的第五局部分组码字是所述2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经所述第三排序处理后的第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第四排序处理,其中:
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经所述第三排序处理后的第一子叠加码组和经所述第四排序处理后的第二子叠加码组,生成所述叠加码组。
38.根据权利要求35所述的装置,其特征在于,当K=2,且L为奇数时,所述生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第五排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第八子叠加码字排在第i5位,所述第八子叠加码字是所述第m个第一子叠加码组中与所述第七子叠加码字之间的码距最小的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在所述第i5位的第九局部分组码字是所述2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经所述第五排序处理后的所述第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第六排序处理,其中
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经所述第五排序处理后的第一子叠加码组和经所述第六排序处理后的第二子叠加码组,生成所述叠加码组。
39.根据权利要求31至33、35至38中任一项所述的装置,其特征在于,所述生成单元具体用于根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括t个子叠加码组,各所述子叠加码组包括2K个子叠加码字,其中,对于由所述初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由所述初始码组中排在第u位的初始码字和各所述t0个子叠加码组中排在第u位的子叠加码字叠加而成,在所述目标局部分组码集合中,目标特征码距彼此之间的差值为0,所述目标特征码距是各所述目标局部分组码字彼此之间的码距,其中,所述t0个子叠加码组包括所述t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
40.根据权利要求39所述的装置,其特征在于,当t≥2时,所述目标分组码字包括所述初始码组中与所述原始码字相对应的目标初始码字,以及各所述子叠加码组中与所述原始码字相对应的目标子叠加码字,以及
所述发送单元具体用于在第一时刻,发送第一子目标分组码字,所述第一子目标分组码字包括所述目标初始码字以及各所述子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,发送第二子目标分组码字,所述第二子目标分组码字包括各所述子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,所述第二时刻处于所述第一时刻之后,c2=c1+1,c3≤t。
41.根据权利要求40所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述接收端发送的码距信息,所述码距信息是所述接收端根据目标平均值确定的,其中,所述目标平均值是所述接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,所述至少一个接收码字包括至少一个与所述第一子目标分组码字相对应的第一接收码字,所述第一分组码集合中的各分组码字包括的比特数量与各所述接收码字包括的比特数量相同;
所述确定单元还用于根据所述码距信息,确定目标码距,根据所述目标码距,确定所述第二子目标分组码字,以使由所述初始码组和c3个子叠加码组构成的包括2K个第一目标局部分组码字的第一目标局部分组码集合中,各所述第一目标局部分组码字彼此之间的码距中的最小值大于所述目标码距。
42.根据权利要求41所述的装置,其特征在于,所述码距信息用于指示所述目标码距,所述目标码距d是所述接收端根据所述目标平均值e和目标阈值f确定的,其中,
d>e/f,0<f<0.5。
43.根据权利要求41所述的装置,其特征在于,所述码距信息用于指示所述目标平均值,以及
所述确定单元具体用于根据所述目标平均值e和目标阈值f确定所述目标码距d,其中,
d>e/f,0<f<0.5。
44.根据权利要求42或43所述的装置,其特征在于,所述目标阈值f是根据所述装置与所述接收端之间的信道状况确定的。
45.根据权利要求31至38中任一项所述的装置,其特征在于,在生成所述分组码集合中各所述分组码字之后,所述生成单元还用于对组码集合中各所述分组码字的第a位比特与第b位比特进行对调,其中第a位比特与第b位比特为各所述分组码字中任意两个不同比特位的比特。
46.一种传输数据的装置,其特征在于,所述装置包括:
确定单元,用于确定目标码长L和原始码长K,所述目标码长是需要生成的分组码集合中每个分组码字包括的比特的数量,所述原始码长是原始码字包括的比特的数量,其中,L≥3,L>K≥2;
生成单元,用于根据所述原始码长K,生成初始码组,所述初始码组包括2K个初始码字,根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括2K个叠加码字,所述2K个初始码字和所述2K个叠加码字一一对应,并将各所述初始码字和所对应的叠加码字进行叠加,生成所述分组码集合中各所述分组码字,以使所述分组码集合中,特征码距彼此之间的差值为±1或0,所述特征码距是各所述分组码字彼此之间的码距;
接收单元,用于接收发送端发送的与所述原始码字相对应目标分组码字,所述目标分组码字是所述发送端根据所述分组码集合,对所述原始码字进行编码处理而从所述分组码集合中各所述分组码字中确定的;
译码单元,用于根据所述分组码集合,对所述目标分组码字进行译码处理,以获取所述原始码字。
47.根据权利要求46所述的装置,其特征在于,当K≤3时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于根据所述目标码长L和所述原始码长K,确定所述叠加码组中各叠加码字之间的最大码距w;
根据所述2K个初始码字在所述初始码组中的排列顺序,以及所述叠加码组中各叠加码字之间的最大码距w,生成所述叠加码组。
48.根据权利要求47所述的装置,其特征在于,所述生成单元具体用于当K=2时,如果L是3的整数倍,则确定所述叠加码组中各叠加码字之间的最大码距w=2L/3;
当K=2时,如果L不是3的整数倍,则确定所述叠加码组中各叠加码字之间的最大码距w=[2L/3]+1,[2L/3]为小于等于2L/3的最大整数;
当K=3时,确定所述叠加码组中各叠加码字之间的最大码距w=[4L/7],其中,[4L/7]为小于等于4L/7的最大整数。
49.根据权利要求46中任一项所述的装置,其特征在于,当K≥4时,所述生成单元具体用于确定子分组码集合,所述子分组码集合包括2K-1个子分组码字,每个子分组码字包括的比特数为L0,所述子分组码集合是根据第一初始码组和第一叠加码组生成的,所述第一初始码组包括2K-1个彼此相异的第一初始码字,每个所述第一初始码字包括K-1个比特,所述第一叠加码组是根据所述子分组码字包括的比特数为L0和所述2K-1个第一初始码字在所述第一初始码组中的排列顺序确定的,所述叠加码组包括2K-1叠加码字,每个所述叠加码字包括L0-K+1个比特,所述子分组码集合中,各码字之间的码距均为s,其中,L0<L;
将四个所述子分组码集合叠加,以生成中间分组码集合,所述中间分组码集合包括2K个中间分组码字,所述中间分组码集合中排在第z位和排在第z+2K-1位的中间分组码字由两个所述子分组码集合中排在第z位的子分组码字叠加而成;
将所述中间分组码集合中排在第v位的中间分组码字与排在第2K-1-v+1位的中间分组码字交换位置,并将所述中间分组码集合中排在第2K-1+v位的中间分组码字与排在第2K-v+1位的中间分组码字交换位置,以生成子初始码组,所述初始码组包括x个所述子初始码组,其中,v∈[1,2K-2],x≥1;
生成包括y个子叠加码组的叠加码组,以使各所述子叠加码组包括2K个码长为L1的叠加码字,各所述子叠加码组的码距矩阵中副对角线上的元素均为q,其余非零元素均为p,其中,q>p>0,y≥1,并且,满足以下公式:
x:y=(q-p):s
x·L0+y·L1=L。
50.根据权利要求46所述的装置,其特征在于,所述2K个初始码字中的第a个初始码字与所述2K个叠加码字中的第a个叠加码字对应,a为正整数,且,a≤2K
51.根据权利要求50所述的装置,其特征在于,当K=2,且L为偶数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于生成L/2-1个子叠加码组,每个子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第一排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第一排序处理后的各子叠加码组,生成所述叠加码组,在经所述第一排序处理后的第m个子叠加码组中,排在第一位的第一子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第二子叠加码字排在第i1位,其中,所述第二子叠加码字是所述第m个子叠加码组中与所述第一子叠加码字之间的码距最大的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第一局部分组码集合,排在第i1位的第一局部分组码字是所述2K个局部分组码字中与排在第一位的第二局部分组码字之间的码距最小的码字;或
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述子叠加码组分别进行第二排序处理,以确定各所述子叠加码组中各子叠加码字的排列顺序,并根据经所述第二排序处理后的各子叠加码组,生成所述叠加码组,其中,在经所述第二排序处理后的第m个子叠加码组中,排在第一位的第三子叠加码字为所述第m个子叠加码组中的任意码字,所述第m个子叠加码组中的第四子叠加码字排在第i2位,所述第四子叠加码字是所述第m个子叠加码组中与所述第三子叠加码字之间的码距最小的码字,并且,对于由所述第m个子叠加码组之前的m-1个子叠加码组与所述初始码组构成的包括2K个局部分组码字的第二局部分组码集合,排在所述第i2位的第三局部分组码字是所述2K个局部分组码字中与排在第一位的第四局部分组码字之间的码距最大的码字。
52.根据权利要求50所述的装置,其特征在于,当K=2,且L为奇数时,所述初始码组包括2K个彼此相异的初始码字,每个所述初始码字包括K个比特,以及
所述生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第三排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第五子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第六子叠加码字排在第i3位,所述第六子叠加码字是所述第m个第一子叠加码组中与所述第五子叠加码字之间的码距最大的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第三局部分组码集合,排在所述第i3位的第五局部分组码字是所述2K个局部分组码字中与排在第一位的第六局部分组码字之间的码距最小的码字;
在由经所述第三排序处理后的第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第四局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第四排序处理,其中:
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,或
如果所述第四局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相异,当排在第i4位的第七局部分组码字和第j4位的第八局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i4位的子叠加码字与第j4位的子叠加码字相同;
根据经所述第三排序处理后的第一子叠加码组和经所述第四排序处理后的第二子叠加码组,生成所述叠加码组。
53.根据权利要求50所述的装置,其特征在于,当K=2,且L为奇数时,所述生成单元具体用于生成(L-1)/2个子叠加码组,其中,第一子叠加码组包括2K个子叠加码字,每个子叠加码字包括2个比特,所述第一子叠加码组是所述(L-1)/2个子叠加码组中的前(L-1)/2-1个子叠加码组,第二子叠加码组包括2K个子叠加码字,每个子叠加码字包括1个比特,所述第二子叠加码组是所述(L-1)/2个子叠加码组中的最后一个子叠加码组;
根据所述2K个初始码字在所述初始码组中的排列顺序,对各所述第一子叠加码组分别进行第五排序处理,以确定各所述第一子叠加码组中各子叠加码字的排列顺序,其中,在第m个第一子叠加码组中,排在第一位的第七子叠加码字为所述第m个第一子叠加码组中的任意码字,所述第m个第一子叠加码组中的第八子叠加码字排在第i5位,所述第八子叠加码字是所述第m个第一子叠加码组中与所述第七子叠加码字之间的码距最小的码字,并且,对于由所述第m个第一子叠加码组之前的m-1个第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第五局部分组码集合,排在所述第i5位的第九局部分组码字是所述2K个局部分组码字中与排在第一位的第十局部分组码字之间的码距最大的码字;
在由经所述第五排序处理后的所述第一子叠加码组与所述初始码组构成的包括2K个局部分组码字的第六局部分组码集合中,根据所述2K个局部分组码字的排列,对所述第二子叠加码组进行第六排序处理,其中
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距完全相同,则所述第二子叠加码组中0码字和1码字的数量相等,且所述第二子叠加码组中各子叠加码字的排列顺序任意确定,
如果所述第六局部分组码集合中,各局部分组码字彼此之间的码距不完全相同,则当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距非各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相异,当排在第i6位的第十一局部分组码字和第j6位的第十二局部分组码字之间的码距为各局部分组码字彼此之间的码距中的最大码距时,使所述第二子叠加码组中排在第i6位的子叠加码字与第j6位的子叠加码字相同;
根据经所述第五排序处理后的第一子叠加码组和经所述第六排序处理后的第二子叠加码组,生成所述叠加码组。
54.根据权利要求46至53中任一项所述的装置,其特征在于,所述生成单元具体用于根据所述目标码长和所述2K个初始码字在所述初始码组中的排列顺序,生成叠加码组,所述叠加码组包括t个子叠加码组,各所述子叠加码组包括2K个子叠加码字,其中,对于由所述初始码组和t0个子叠加码组构成的包括2K个目标局部分组码字的目标局部分组码集合,排在第u位的目标局部分组码字由所述初始码组中排在第u位的初始码字和各所述t0个子叠加码组中排在第u位的子叠加码字叠加而成,在所述目标局部分组码集合中,目标特征码距彼此之间的差值为0,所述目标特征码距是各所述目标局部分组码字彼此之间的码距,其中,所述t0个子叠加码组包括所述t个子叠加码组中的排在第1位的子叠加码组至排在第t0位的子叠加码组,t≥1,t0∈[1,t]。
55.根据权利要求54所述的装置,其特征在于,当t≥2时,所述目标分组码字包括所述初始码组中与所述原始码字相对应的目标初始码字,以及各所述子叠加码组中与所述原始码字相对应的目标子叠加码字,以及
所述接收单元具体用于在第一时刻,接收第一子目标分组码字,所述第一子目标分组码字包括所述目标初始码字以及各所述子叠加码组中排在第1位的子叠加码组至排在第c1位的子叠加码组中目标子叠加码字,其中,c1≥1;
在第二时刻,接收第二子目标分组码字,所述第二子目标分组码字包括各所述子叠加码组中排在第c2位的子叠加码组至排在第c3位的子叠加码组中目标子叠加码字,其中,所述第二时刻处于所述第一时刻之后,c2=c1+1,c3≤t。
56.根据权利要求55所述的装置,其特征在于,所述在第二时刻,所述确定单元还用于确定目标平均值,所述目标平均值是所述接收端所接收到的至少一个接收码字与第一分组码集合中的各分组码字之间的最小码距的平均值,所述至少一个接收码字包括与所述第一子目标分组码字相对应的第一接收码字,所述第一分组码集合中的各分组码字包括的比特数量与各所述接收码字包括的比特数量相同,根据所述目标平均值,确定码距信息;以及
所述装置还包括:
发送单元,用于向所述发送端发送所述码距信息。
57.根据权利要求56所述的装置,其特征在于,所述确定单元具体用于根据所述目标平均值e和目标阈值f,确定用于指示目标码距d的码距信息,其中,
d>e/f,0<f<0.5。
58.根据权利要求57所述的装置,其特征在于,所述目标阈值f是根据所述发送端与所述装置之间的信道状况确定的。
59.根据权利要求56所述的装置,其特征在于,所述确定单元具体用于根据所述目标平均值,确定码距信息,所述码距信息用于指示所述目标平均值e。
60.根据权利要求46至53中任一项所述的装置,其特征在于,所述生成单元还用于对组码集合中各所述分组码字的第a位比特与第b位比特进行对调,其中第a位比特与第b位比特为各所述分组码字中任意两个不同比特位的比特。
CN201480078171.4A 2014-05-22 2014-05-22 传输数据的方法和装置 Active CN106233631B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/078150 WO2015176284A1 (zh) 2014-05-22 2014-05-22 传输数据的方法和装置

Publications (2)

Publication Number Publication Date
CN106233631A CN106233631A (zh) 2016-12-14
CN106233631B true CN106233631B (zh) 2019-04-12

Family

ID=54553237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480078171.4A Active CN106233631B (zh) 2014-05-22 2014-05-22 传输数据的方法和装置

Country Status (3)

Country Link
US (1) US9755662B2 (zh)
CN (1) CN106233631B (zh)
WO (1) WO2015176284A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11171758B2 (en) * 2017-03-24 2021-11-09 Qualcomm Incorporated Code block grouping and feedback that support efficient retransmissions
CN107277050B (zh) * 2017-07-27 2021-02-26 维沃移动通信有限公司 一种数据处理方法、服务器、终端及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787401A (zh) * 2005-11-11 2006-06-14 南京邮电大学 码分多址系统中的联合延迟空时发射分集方案
EP2075917A1 (en) * 2007-12-24 2009-07-01 Lg Electronics Inc. Channel coding method of variable length information using block code
WO2010117775A2 (en) * 2009-04-06 2010-10-14 Intel Corporation Full-rate, full-diversity space-time block code technique for multiple transmissions using simple linear decoding complexity

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4905259A (en) * 1988-04-18 1990-02-27 Nardi Jerry S Method of constructing block codes
JP4412005B2 (ja) * 2004-03-05 2010-02-10 株式会社日立製作所 適応変調方法並びにデータレート制御方法
EP2115981A4 (en) * 2007-01-31 2013-11-20 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODE BLOCK SEGMENTATION IN A MOBILE COMMUNICATION SYSTEM
US8458571B2 (en) * 2008-01-14 2013-06-04 Zte Corporation Data transmission method and equipment
CN101222297B (zh) * 2008-01-31 2011-12-07 复旦大学 交织码和网络编码结合的数据分发方法
EP2482464B1 (en) * 2009-09-25 2019-01-23 Panasonic Intellectual Property Corporation of America Encoding apparatus, decoding apparatus, encoding method, decoding method, and communication system
CN102437858B (zh) * 2011-08-31 2013-11-06 北京理工大学 一种卷积码编码器结构的改进方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1787401A (zh) * 2005-11-11 2006-06-14 南京邮电大学 码分多址系统中的联合延迟空时发射分集方案
EP2075917A1 (en) * 2007-12-24 2009-07-01 Lg Electronics Inc. Channel coding method of variable length information using block code
WO2010117775A2 (en) * 2009-04-06 2010-10-14 Intel Corporation Full-rate, full-diversity space-time block code technique for multiple transmissions using simple linear decoding complexity

Also Published As

Publication number Publication date
WO2015176284A1 (zh) 2015-11-26
US9755662B2 (en) 2017-09-05
US20170126247A1 (en) 2017-05-04
CN106233631A (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
CN111954982B (zh) 无线通信系统和广播系统中使用极性码进行编码和解码的装置和方法
US11212054B2 (en) Data transmission method and apparatus
CN102684828B (zh) 用于编码传输的多维星座图的旋转
US11728830B2 (en) Methods and apparatus for processing LDPC coded data
CN106416083A (zh) 一种打孔的极化码的构造方法和装置
CN107835063A (zh) 信息传输的方法、发送端设备和接收端设备
CN106877973A (zh) 极化码处理的方法及通信设备
US20060233127A1 (en) Efficient HARQ control and channel quality feedback reporting for multicarrier systems
CN102037671A (zh) Wcdma和lte网络中harq的重传设置的选择
CN109861694A (zh) 极化码的处理方法和设备
US11258535B2 (en) Method and apparatus for transmitting information
CN105027487A (zh) 用于跨传输块共享解码时间的方法和装置
CN107819545A (zh) 极化码的重传方法及装置
CN104202281B (zh) 多元码调制映射方法及装置
US10411754B2 (en) Apparatus and method for non-orthogonal transmissions
JP2018504026A (ja) データ送信方法、送信側装置、および受信側装置
CN108365850A (zh) 编码方法、编码装置和通信装置
CN102907033A (zh) 移动通信网络中用于通过信号传送控制信息的系统和方法
CN110098898A (zh) 使用用于多输入多输出(mimo)信道的极化码的设备和方法
CN106233631B (zh) 传输数据的方法和装置
CN109150378A (zh) 一种数据处理方法及数据处理装置
CN108289009B (zh) 一种被用于信道编码的ue、基站中的方法和设备
WO2020114573A1 (en) Devices, methods and computer programs for spatial diversity via enhanced bit interleaving in wireless communications
CN103780362B (zh) 一种lte系统中基于mmib的链路性能预测方法及系统
KR102570190B1 (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