CN110034847B - 级联编码方法及装置 - Google Patents

级联编码方法及装置 Download PDF

Info

Publication number
CN110034847B
CN110034847B CN201810032429.7A CN201810032429A CN110034847B CN 110034847 B CN110034847 B CN 110034847B CN 201810032429 A CN201810032429 A CN 201810032429A CN 110034847 B CN110034847 B CN 110034847B
Authority
CN
China
Prior art keywords
sequence
data
bit
cache
coding
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
CN201810032429.7A
Other languages
English (en)
Other versions
CN110034847A (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
Priority to CN201810032429.7A priority Critical patent/CN110034847B/zh
Publication of CN110034847A publication Critical patent/CN110034847A/zh
Application granted granted Critical
Publication of CN110034847B publication Critical patent/CN110034847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/27Coding, 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 using interleaving techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种级联编码装置,包括:第一级编码交织器和第二级编码器。第一级编码交织器包括第一缓存和第二缓存,其中,第一缓存存储当前时刻的信息数据,第二缓存存储前一时刻在第一缓存中存储的数据;第一级编码交织器将第一缓存中的第m行数据和第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将第m校验数据存入第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;再按照预设方式对第一缓存中的数据进行交织,得到第一码字,第二级编码器对第一码字进行第二级编码,得到第二码字,并发送出去。其中,采用该预设方式交织,可以降低两级编码装置各自产生的码字之间的误码相关性。

Description

级联编码方法及装置
技术领域
本申请涉及编码领域,尤其涉及一种级联编码的方法及装置。
背景技术
目前,高速光传输网络正朝着大容量、分组化、智能化的方向发展。高速光传输网络需要采用高效的前向纠错码(Forward Error Correction,FEC)来对抗光传输过程中的光学损伤(如未补偿的色散,偏振模色散,和非线性效应等),并在长距离传输时保持足够低的误比特率。在现有传输网络中,级联码可以平衡编码增益性能和编译码复杂度,因此得到广泛应用。级联码是采用两次或者更多次编码方法组合的形式来实现,其中最常见的是两级级联码。
然而,在常用的两级级联码***中,两种不同码字之间的误码相关性会导致***性能劣化,本申请针对这一问题,提出一种级联编码方法和装置,可以去除不同码字之间误码相关性,且复杂度较低。
发明内容
本申请的目的在于提供一种级联编码方法及装置,解决了级联码***中两种不同码字之间由于误码相关性导致的***性能劣化问题。
第一方面,提供一种级联编码装置,包括:第一级编码交织器和第二级编码器,所述第一级编码交织器包括第一缓存和第二缓存,其中,所述第一缓存存储当前时刻的信息数据,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;所述第一级编码交织器用于将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;所述第一级编码交织器按照预设方式对所述第一缓存中的数据进行交织,得到第一码字,其中,所述预设方式为下列四种方式中的任意一种:
(1)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第k1列的数值;
(2)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第k1列的数值;
(3)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第W-1-k1列的数值;
(4)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
所述第二级编码器,用于对所述第一码字进行第二级编码,得到第二码字,并发送出去。
本申请实施例通过按照预设方式进行数据交织,可以保证第二码字中包含的任意两个数据就不可能来自于第一缓存中的同一行或同一列,降低了两种不同码字之间的误码相关性,且编码复杂度较低。
第二方面,提供一种级联编码装置,包括:第一级编码交织器和第二级编码器,所述第一级编码交织器包括第一缓存和第二缓存,其中,所述第一缓存存储当前时刻的信息数据,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;所述第一级编码交织器用于将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;按照第一预设方式对所述第一缓存中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,所述第一预设方式为下列四种方式中的任意一种:
(1)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第k2列的数值;
(2)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第k2列的数值;
(3)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第W-P-1-k2列的数值;
(4)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
按照第二预设方式对所述第一缓存中位于第W-P列到第W-1列的校验数据进行交织,得到校验序列,其中,所述第二预设方式为下列四种方式中的任意一种:
(1)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第k3+(W-P)列的数值;
(2)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第W-1-k3列的数值;
(4)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P;
将所述信息序列和所述校验序列合并,得到第一码字;所述第二级编码器,用于对所述第一码字进行第二级编码,得到第二码字,并发送出去。
本申请实施例分别对信息数据和校验数据进行交织,然后再合并成第一码字,可以在第一码字中,简单区分出信息数据和校验数据的位置,保持了第一码字的***化形式,而且通常情况下,第一缓存中信息数据的列数大于第二级编码的码字长度,也可以起到降低两种不同码字之间的误码相关性,提升码性能的作用。
结合第一方面或第二方面,在第一方面或第二方面的第一种可能的实现方式中,所述第二级编码器包括***模块和编码模块,所述***模块用于在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,其中,s和d均为正整数,s为所述第二码字的信息长度的正整数倍;所述编码模块,用于对所述第三码字进行第二级编码,得到第二码字,并发送出去。本实施例将通过填充一定长度的预设序列,让进行第二级编码的第三码字码长是第二码字的信息长度的整数倍,保证所有数据都能进行编码。
结合第一方面或第二方面的第一种可能的实现方式,在第一方面或第二方面的第二种可能的实现方式中,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
结合第一方面或第二方面,在第一方面或第二方面的第三种可能的实现方式中,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
结合第一方面或第二方面的第三种可能的实现方式,在第一方面或第二方面的第四种可能的实现方式中,所述级联编码装置还包括CRC编码器,第一***模块和删除模块;所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;所述删除模块,用于将接收的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述第二级编码器包括第二***模块和编码模块;所述第二***模块,用于在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;所述编码模块,用于对所述第六序列进行汉明(128,119)编码。
结合第一方面或第二方面的第三种可能的实现方式,在第一方面或第二方面的第五种可能的实现方式中,所述级联编码装置还包括CRC编码器和第一***模块;所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;
所述第二级编码器包括第二***模块和编码模块;所述第二***模块,用于在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120的所述第一码字;所述编码模块,用于对所述第五序列进行汉明(128,119)编码。
第三方面,提供一种级联编码方法,包括:接收当前时刻的信息数据,其中,所述当前时刻的信息数据在第一缓存中存储,前一时刻在所述第一缓存中存储的数据在第二缓存中存储;将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;按照预设方式对所述第一缓存中的数据进行交织,得到第一码字,其中,所述预设方式为下列四种方式中的任意一种:
(1)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第k1列的数值;
(2)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第k1列的数值;
(3)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第W-1-k1列的数值;
(4)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
对所述第一码字进行第二级编码,得到第二码字,并发送出去。
本申请实施例通过按照预设方式进行数据交织,可以保证第二码字中包含的任意两个数据就不可能来自于第一缓存中的同一行或同一列,降低了两种不同码字之间的误码相关性,且编码复杂度较低。
第四方面,提供一种级联编码方法,包括:接收当前时刻的信息数据,其中,所述当前时刻的信息数据在第一缓存中存储,前一时刻在所述第一缓存中存储的数据在第二缓存中存储;将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
按照第一预设方式对所述第一缓存中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,所述第一预设方式为下列四种方式中的任意一种:
(1)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第k2列的数值;
(2)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第k2列的数值;
(3)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第W-P-1-k2列的数值;
(4)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
按照第二预设方式对所述第一缓存中位于第W-P列到第W-1列的校验数据进行交织,得到校验序列,其中,所述第二预设方式为下列四种方式中的任意一种:
(1)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第k3+(W-P)列的数值;
(2)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第W-1-k3列的数值;
(4)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P;
将所述信息序列和所述校验序列合并,得到第一码字;对所述第一码字进行第二级编码,得到第二码字,并发送出去。
本申请实施例分别对信息数据和校验数据进行交织,然后再合并成第一码字,可以在第一码字中,简单区分出信息数据和校验数据的位置,保持了第一码字的***化形式,而且通常情况下,第一缓存中信息数据的列数大于第二级编码的码字长度,也可以起到降低两种不同码字之间的误码相关性,提升码性能的作用。
结合第三方面或第四方面,在第三方面或第四方面的第一种可能的实现方式中,对所述第一码字进行第二级编码,具体包括:在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,对所述第三码字进行第二级编码,其中,s和d均为正整数,s为所述第二码字的信息长度的正整数倍。本实施例将通过填充一定长度的预设序列,让进行第二级编码的第三码字码长是第二码字的信息长度的整数倍,保证所有数据都能进行编码。
结合第三方面或第四方面的第一种可能的实现方式,在第三方面或第四方面的第二种可能的实现方式中,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
结合第三方面或第四方面,在第三方面或第四方面的第三种可能的实现方式中,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
结合第三方面或第四方面的第三种可能的实现方式,在第三方面或第四方面的第四种可能的实现方式中,在接收当前时刻的信息数据之前,所述方法还包括:对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
在得到所述第一码字之后,所述方法还包括:将接收到的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述对所述第一码字进行第二级编码,具体包括:在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;对所述第六序列进行汉明(128,119)编码。
结合第三方面或第四方面的第三种可能的实现方式,在第三方面或第四方面的第五种可能的实现方式中,在接收当前时刻的信息数据之前,所述方法还包括:对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
所述对所述第一码字进行第二级编码,具体包括:在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120比特的所述第一码字;对所述第五序列进行汉明(128,119)编码。
本申请实施例通过按照预设方式进行数据交织,可以起到降低两种不同码字之间的误码相关性的作用,且编码复杂度较低,易于实现。
附图说明
图1为通信***的结构框图;
图2为本申请实施例提供的级联编码方法流程图;
图3为本申请另一实施例提供的交织方式的示意图;
图4为本申请另一实施例提供的交织方式的示意图;
图5为本申请另一实施例提供的级联编码方法流程图;
图6为本申请另一实施例提供的交织方式的示意图;
图7为本申请另一实施例提供的交织方式的示意图;
图8为本申请另一实施例提供的级联编码方法的执行流程图;
图9为本申请另一实施例提供的第一缓存和第二缓存中数据的排列方式示意图;
图10为本申请另一实施例提供的级联编码方法的执行流程图;
图11为本申请另一实施例提供的级联编码方法的执行流程图;
图12为本申请另一实施例提供的级联编码装置的结构框图;
图13为本申请另一实施例提供的级联编码装置的结构框图。
图14为本申请另一实施例提供的级联编码装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1示出通信***的结构框图,在发送端,信源提供待发送的数据流;编码器接收该数据流,并对其进行编码,将编码后的数据流发给发送器;发送器将编码后的数据流转换成实际信号送入信道;在接收端,接收器将接收信号转换后得到数据流并送入译码器进行译码,恢复出原有数据,发给信宿。其中,本申请提供的级联编码方法应用于图1所示的编码器中,是通信***中非常重要的一环。
本申请实施例提供一种级联编码方法,如图2所示,包括:
201、接收当前时刻的信息数据;
具体的,在级联编码装置中包括第一缓存和第二缓存,该当前时刻的信息数据在第一缓存中存储,而前一时刻在所述第一缓存中存储的数据在第二缓存中存储。假设当前时刻为t,则t时刻接收到的信息数据存储在第一缓存中,而t-1时刻在第一缓存中存储的所有数据都转移到第二缓存中。
202、将该第一缓存中的第m行数据和该第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将第m校验数据存入第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
具体的,假设信息数据为256行×244列,且m=3,n=1,则第一缓存中的第3行数据与第二缓存中的第1列数据共同组成244+256=500比特的数据,对该500比特的数据进行(Bose-Chaudhuri-Hocquenghem,BCH)编码,得到长度为510比特的BCH码字,其中,多出来的10比特信息即为第3校验数据,将第3校验数据存入第一缓存的第3行中;以此类推,得到256个10比特的校验数据,分别存入第一缓存的256行中,这里m的取值对应唯一的n的取值,对应关系是预先写好的。
值得注意的是,第二缓存存储的是前一时刻在第一缓存中存储的所有数据,也就是说,第二缓存包括了前一时刻在第一缓存中存储的信息数据和校验数据,即第二缓存中的数据为256行×254列。此时,第一缓存中数据的行数256大于第二缓存中数据的列数254,第二缓存中的数据列数少了两列,则在第二缓存的数据中增加额外的2列全0数据,将第二缓存中的列数补齐,这样,在当前时刻,就可以得到256个10比特的校验数据。
203、按照预设方式对第一缓存中的数据进行交织,得到第一码字,其中,该预设方式为下列四种方式中的任意一种:
(1)第一码字的第W×r+k1个数据为第一缓存中第j1行第k1列的数值;
(2)第一码字的第W×r+k1个数据为第一缓存中第R-1-j1行第k1列的数值;
(3)第一码字的第W×r+k1个数据为第一缓存中第j1行第W-1-k1列的数值;
(4)第一码字的第W×r+k1个数据为第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为第一缓存中数据的列数,R为第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
具体的,以第一种预设方式为例,假设第一缓存中的数据为256行×254列,即W=254,R=256,则在r=0,k1=0的情况下(W×r+k1=0),第一码字的第0个数据为第一缓存中第0行第0列的数值;在r=0,k1=1的情况下,第一码字的第1个数据为第一缓存中第1行第1列的数值;在r=0,k1=2的情况下,第一码字的第2个数据为第一缓存中第2行第2列的数值;该预设方式如图3所示,从左到右依次读取标记为0的连线上的数据,再读取标记为1的连线上的数据,以此类推,按照此种方式对第一缓存中的数据进行交织,得到第一码字。类似地,以第二种预设方式为例,在r=0,k1=0的情况下(W×r+k1=0),第一码字的第0个数据为第一缓存中第255行第0列的数值;在r=0,k1=1的情况下,第一码字的第1个数据为第一缓存中第254行第1列的数值;在r=0,k1=2的情况下,第一码字的第2个数据为第一缓存中第253行第2列的数值;此时,该预设方式如图4所示,从右到左依次读取标记为0的连线上的数据,再读取标记为1的连线上的数据,以此类推。而第三种预设方式,则与第二种预设方式类似,区别在于:在依次读取图4中每条具有标记的连线上的数据时,读取方向是从左到右;而第四种预设方式,则与第一种预设方式类似,区别在于:在依次读取图3中每条具有标记的连线上的数据时,读取方向是从右到左。
可选地,按照预设方式对第一缓存中的数据进行交织,得到第一码字,具体包括:按行或按列读取第一缓存中存储的数据;将读取的数据按行或按列存入第三缓存中;按照预设方式将第三缓存中的数据读出,得到第一码字。此种可选方案是本申请实施例的一种变型,将第一缓存中的数据都存入到一个新的缓存中,也就是第三缓存,在第三缓存中按照步骤203中所示的预设方式中的任一种对第三缓存中的数据进行交织,得到第一码字。值得注意的是,在第一缓存中可以按行或按列读取,再存入第三缓存时,也可以任选按行或按列中的一种,有四种组合方式,本实施例不做限定。
204、对第一码字进行第二级编码,得到第二码字,并发送出去,其中,第一缓存中任意两个在同一行或同一列的比特映射到不同的第二码字中。由于按照步骤203中所示的预设方式交织,第一码字中的相邻比特不可能来自于第一缓存中的同一行或同一列,进一步说,位于图3或图4中具有相同标记的连线上的数据均不位于第一缓存中的同一行,也不位于第一缓存中的同一列;只要第二码字中的信息长度小于具有相同标记的连线上的数据的总数,则第二码字中包含的任意两个数据就不可能来自于第一缓存中的同一行或同一列。
可选地,对第一码字进行第二级编码,具体包括:在第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,对第三码字进行第二级编码,其中,s和d均为正整数,s为第二码字的信息长度的正整数倍。在本实施例中,通过填充一定长度的预设序列,让进行第二级编码的第三码字码长是第二码字的信息长度的整数倍,保证所有数据都能进行编码,其中,预设序列可以全0,也可以是其他任意形式。
本申请的上述实施例通过按照预设方式进行数据交织,可以保证第二码字中包含的任意两个数据就不可能来自于第一缓存中的同一行或同一列,降低了两种不同码字之间的误码相关性,且编码复杂度较低。
本申请另一实施例提供一种级联编码方法,如图5所示,包括:
501、接收当前时刻的信息数据,其中,当前时刻的信息数据在第一缓存中存储,前一时刻在第一缓存中存储的数据在第二缓存中存储;
502、将第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将第m校验数据存入第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值。其中,第一级编码的具体方式在前一实施例中已经描述过,本实施例在此不再赘述。
503、按照第一预设方式对第一缓存中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,第一预设方式为下列四种方式中的任意一种:
(1)信息序列的第(W-P)×r+k2个数据为第一缓存中第j2行第k2列的数值;
(2)信息序列的第(W-P)×r+k2个数据为第一缓存中第R-1-j2行第k2列的数值;
(3)信息序列的第(W-P)×r+k2个数据为第一缓存中第j2行第W-P-1-k2列的数值;
(4)信息序列的第(W-P)×r+k2个数据为第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为第一缓存中数据的列数,R为第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
504、按照第二预设方式对第一缓存中位于第W-P列到第W-1列的校验数据进行交织,得校验序列,其中,第二预设方式为下列四种方式中的任意一种:
(1)校验序列的第P×r+k3个数据为第一缓存中第j3行第k3+(W-P)列的数值;
(2)校验序列的第P×r+k3个数据为第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)校验序列的第P×r+k3个数据为第一缓存中第j3行第W-1-k3列的数值;
(4)校验序列的第P×r+k3个数据为第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P;
505、将信息序列和校验序列合并,得到第一码字。
具体的,本实施例的步骤503和504是分别对信息数据和校验数据进行交织,然后再合并成第一码字,可以简单区分出信息数据和校验数据的位置,保持了第一码字的***化形式。值得注意的是,第一预设方式和第二预设方式与上一个实施例中提到的所述预设方式类似,都是保证输出序列的相邻比特不来自于第一缓存的同一行或同一列;这里以第一预设方式和第二预设方式均采用第一种实现方式为例进行说明,假设第一缓存中的数据为256行×254列,信息数据占256行×244列,检验数据占256行×10列,即W=254,R=256,P=10,则在r=0,k2=0,k3=0的情况下,信息序列的第0个数据为第一缓存中第0行第0列的数值,校验序列的第0个数据为第一缓存中第0行第244列的数值;在r=0,k2=1,k3=1的情况下,信息序列的第1个数据为第一缓存中第1行第1列的数值,校验序列的第1个数据为第一缓存中第1行第245列的数值;在r=0,k1=2,k3=2的情况下,信息序列的第2个数据为第一缓存中第2行第2列的数值,校验序列的第2个数据为第一缓存中第2行第246列的数值;此时,第一预设方式和第二预设方式如图6所示,分别在第一缓存中存储信息数据的位置和存储校验数据的位置开始,从左到右依次读取标记为0的连线上的数据,再读取标记为1的连线上的数据,以此类推,分别对第一缓存中的信息数据和校验数据进行交织,将交织后的得到的信息序列和校验序列合并,得到第一码字。
类似地,以第一预设方式和第二预设方式均采用第二种实现方式为例,在r=0,k2=0,k3=0的情况下,信息序列的第0个数据为第一缓存中第255行第0列的数值,校验序列的第0个数据为第一缓存中第255行第244列的数值;在r=0,k2=1,k3=1的情况下,信息序列的第1个数据为第一缓存中第254行第1列的数值,校验序列的第1个数据为第一缓存中第254行第243列的数值;在r=0,k2=2,k3=2的情况下,信息序列的第2个数据为第一缓存中第253行第2列的数值,校验序列的第2个数据为第一缓存中第253行第242列的数值;此时,该预设方式如图7所示,分别在第一缓存中存储信息数据的位置和存储校验数据的位置开始,从右到左依次读取标记为0的连线上的数据,再读取标记为1的连线上的数据,以此类推。而第三种预设方式,则与第二种预设方式类似,区别在于:在依次读取图7中每条具有标记的连线上的数据时,读取方向是从左到右;而第四种预设方式,则与第一种预设方式类似,区别在于:在依次读取图6中每条具有标记的连线上的数据时,读取方向是从右到左。
应理解,第一预设方式和第二预设方式都有四种,再执行的时候,互不影响,组合起来有16种可选方式,例如图6与图7所示的方案就是其中的两种。另外,如果将信息数据和校验数据分别存入第三缓存和第四缓存中,再按照第一预设方式和第二预设方式分别对各自缓存中的信息数据和校验数据进行交织,则信息数据占第三缓存的第0行到255行以及第0列到第243列,校验数据占第四缓存的第0行到255行以及第0列到第9列;此时,由于不需要在同一个缓存中对两种数据分别交织,故第一预设方式和第二预设方式采用与上一个实施例描述的预设方式相同即可,区别仅在于:W,R分别为各自缓存中数据的列数和行数,即对信息数据进行交织时,W=244,R=256;对校验数据进行交织时,W=10,R=256。进一步地,无论是在第一缓存中分别对信息数据和校验数据交织,还是将信息数据和校验数据分别存入新的缓存,再分别交织,信息数据的交织方式和校验数据的交织方式均无需对应,也就是说,第一预设方式选择第一种实现方式时,第二预设方式仍可以选择四种实现方式中的任一种,彼此并不会有限制,反之亦然。
可选地,还可以先按行或按列读取第一缓存中存储的数据;将读取的数据按行或按列存入第五缓存中;按照第一预设方式对第五缓存中的信息数据进行交织,得到信息序列;按照第二预设方式对第五缓存中的校验数据进行交织,得到校验序列;将信息序列和校验序列合并,得到第一码字。此种可选方案也本实施例的一种变型,将第一缓存中的数据都存入到第五缓存,在第五缓存中分别按照第一预设方式和第二预设方式对信息数据和校验数据进行交织,再合并得到第一码字。此时,W和R的取值分别为第五缓存中数据的列数和行数。
506、对第一码字进行第二级编码,得到第二码字,并发送出去。
可选地,对第一码字进行第二级编码,具体包括:在第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,对第三码字进行第二级编码,其中,s和d均为正整数,s为第二码字的信息长度的正整数倍。在本实施例中,通过填充一定长度的预设序列,让进行第二级编码的第三码字码长是第二码字的信息长度的整数倍,保证所有数据都能进行编码。
本申请实施例分别对信息数据和校验数据进行交织,然后再合并成第一码字,可以在第一码字中,简单区分出信息数据和校验数据的位置,保持了第一码字的***化形式,而且通常情况下,第一缓存中信息数据的列数大于第二级编码的码字长度,也可以起到降低两种不同码字之间的误码相关性,提升编码性能的作用。
应理解,本申请给出了预设方式、第一预设方式和第二预设方式的四种实现方案,但本申请并不排除还有其他实施方式,只要可以满足使第二码字中包含的任意两个数据不来自于第一缓存中的同一行或同一列,或者说可以满足第二码字中的大部分数据彼此不属于第一缓存的同一行或同一列即可。例如,在图3,4,6,7所示的预设方式基础上,改动几个比特的输出位置,让具有相同标记的连线变成曲线或折线或者各种不规则的连线形式等方式;以及仍按照图3,4,6,7所示的预设方式,但读取的时候是随机读取(刚开始读取标记为0的连线上的数据,读几个比特之后,就换到另一条连线上),或者从标记为b的连线开始读取(b为正整数),或者从某一条连线的中间开始读取等方式,均可以作为本申请的可能实现方式。
下面用两个具体例子来对本申请实施例做详细的说明:
实施例一:
第一级编码包括阶梯编码,第二级编码包括汉明(128,119)编码;信息数据包括512行×478列,校验数据包括512行×32列,其基本框图如图8所示。假设当前时刻为t时刻,则第一缓存中存储的是t时刻的512行×478列的信息数据,第二缓存中存储的是第一缓存在t-1时刻存的512行×510列的数据,由于第一缓存中数据的行数512比第二缓存中数据的列数510大2,因此,第二缓存中的数据包括额外的两列全0数据,如图9所示。再按照预设的对应关系,第一缓存中的任意一行数据与第二缓存中唯一的一列数据共同进行BCH(1022,990)编码,得到码长为1022的BCH码字;假设是第一缓存中的第三行数据与第二缓存中的对应列进行BCH编码,则将BCH码字中的32比特校验数据存入第一缓存的第三行中,依次类推,第一缓存存储了t时刻的信息数据和校验数据,总共512行×510列。
再按照预设方式对第一缓存中的数据进行交织,得到第一码字,该预设方式包括(以预设方式采用第一种实现方式为例):
第一码字的第L个数据为第一缓存中第j行第k1列的数值,其中,W为510,是第一缓存中数据的列数,R为512,是第一缓存中数据的行数,r,k1,j为整数,0≦r≦R-1,0≦k1≦W-1,j=(r+k1)mod R,L=W×r+k1。在r=0,k1=0时,j=0,L=0,则第一码字的第0个数据为第一缓存中第0行第0列的数值;在r=0,k1=1时,j=1,L=1,则第一码字的第1个数据为第一缓存中第1行第1列的数值;在r=0,k1=509时,j=509,L=509,则第一码字的第509个数据为第一缓存中第509行第509列的数值;进一步地,在r=1,k1=0时,j=1,L=510,则第一码字的第510个数据为第一缓存中第1行第0列的数值;在r=1,k1=1时,j=2,L=511,则第一码字的第511个数据为第一缓存中第2行第1列的数值;该读取方式如图3所示,从左到右依次读取标记为0-511的连线上的数据。
为了保证第一码字中的每一个比特都进行汉明(128,119)编码,在第一码字的尾部添加85+119×i比特的预设序列,将第一码字的长度增加为512×510+85+119×i=(2195+i)×119,经过汉明(128,119)编码后,可以得到2195+i个码字,其中,预设序列可以全0,也可以是其他任意形式,i为非负整数。
应理解,无论在交织时是否区分信息数据和校验数据,最终得到的第一码字的长度都是512×510=261120比特。如果不区分信息数据和校验数据,则第一码字的每510个比特来自于图3或图4上具有相同标记的连线上,即每510个比特不位于第一缓存中的同一行或同一列;而第二码字的信息长度119比特小于510比特,则第二码字中包含的任意两个数据不可能来自于第一缓存中的同一行或同一列,可以起到降低两种不同码字之间的误码相关性的作用,且编码复杂度较低;如果区分信息数据和校验数据,则信息序列的每478个比特来自于图3或图4上具有相同标记的连线上,即每478个比特不位于第一缓存中的同一行或同一列;校验序列每32比特来自于图3或图4上具有相同标记的连线上,即每32个比特不位于第一缓存中的同一行或同一列;由于信息序列在第一码字中占比更大,故也可以起到降低两种不同码字之间的误码相关性的作用;另外,区分信息数据和校验数据,可以在第一码字中简单识别出信息数据和校验数据的位置,保持了第一码字的***化形式。
实施例二:
第一级编码包括阶梯编码,第二级编码包括汉明(128,119)编码;第一缓存中的信息数据包括512行×478列,第一缓存中的校验数据包括512行×32列,其基本框图如图10所示。在接收当前时刻的信息数据之前,所述方法还包括:
对244664比特的第一序列进行32比特的(Cyclic redundancy check,CRC)循环冗余校验编码,得到长度为244696比特的第二序列;在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,其中,该6比特填充序列可以为任意形式,如全0序列,全1序列等,本实施例不做限制;在第三序列的尾部***34比特的全0序列,得到244736比特的信息数据;对该信息数据执行实施例一的第一级编码,得到长度为261120比特的第一码字,其编码方式在实施例一种有过详细描述,本申请在此不再赘述。
将接收到的第一码字包括的该34比特全0序列删除,得到长度为261086的第四序列;对接下来的四个长度为244664比特的数据流依次进行相同的操作,依次得到四个长度为261086的第四序列,总共五个第四序列合并成为长度为1305430的第五序列。
在第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列;对第六序列进行汉明(128,119)编码。其中,该预设序列可以全0,也可以是其他任意形式,本申请实施例对此不做限定。
可选地,可以不执行删除该34比特全0序列的数据的步骤,在连续得到五个第一码字之后,将五个第一码字合并,得到长度为1305600比特的第四序列;在第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列;对第五序列进行汉明(128,119)编码,其基本框图如图11所示。
本申请另一实施例提供了一种级联编码装置,如图12所示,包括:第一级编码交织器1210和第二级编码器1220,
第一级编码交织器1210包括第一缓存和第二缓存,此时,第一缓存存储当前时刻的信息数据,第二缓存存储前一时刻在第一缓存中存储的数据;该第一级编码交织器1210用于将第一缓存中的第m行数据和第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将第m校验数据存入第一缓存的第m行中,此时,第一缓存存储当前时刻的信息数据和校验数据,m和n均为整数,且m的取值对应唯一的n的取值。
具体的,假设信息数据为512行×478列,且m=3,n=1,则第一缓存中的第3行数据与第二缓存中的第1列数据共同组成512+478=990比特的数据,对该990比特的数据进行BCH(1022,990)编码,得到长度为1022比特的BCH码字,其中,多出来的32比特信息即为第3校验数据,将第3校验数据存入第一缓存的第3行中;以此类推,得到512个32比特的校验数据,分别存入第一缓存的512行中,这里m的取值对应唯一的n的取值,对应关系是预先写好的。
值得注意的是,第二缓存存储的是前一时刻在第一缓存中存储的所有数据,也就是说,第二缓存包括了前一时刻在第一缓存中存储的信息数据和校验数据,即第二缓存中的数据为512行×510列。此时,第一缓存中数据的行数512大于第二缓存中数据的列数510,第二缓存中的数据列数少了两列,则在第二缓存的数据中增加额外的2列全0数据,将第二缓存中的列数补齐,这样,在当前时刻,就可以得到512个32比特的校验数据。
第一级编码交织器1210按照预设方式对第一缓存中的数据进行交织,得到第一码字,其中,该预设方式为下列四种方式中的任意一种:
(1)第一码字的第W×r+k1个数据为第一缓存中第j1行第k1列的数值;
(2)第一码字的第W×r+k1个数据为第一缓存中第R-1-j1行第k1列的数值;
(3)第一码字的第W×r+k1个数据为第一缓存中第j1行第W-1-k1列的数值;
(4)第一码字的第W×r+k1个数据为第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为第一缓存中数据的列数,R为第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
可选地,第二级编码交织器1210还可以分别对信息数据和校验数据进行交织,得到信息序列和校验序列,再将两个序列合并得到第一码字。具体的,按照第一预设方式对第一缓存1211中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,第一预设方式为下列四种方式中的任意一种:
(1)信息序列的第(W-P)×r+k2个数据为第一缓存中第j2行第k2列的数值;
(2)信息序列的第(W-P)×r+k2个数据为第一缓存中第R-1-j2行第k2列的数值;
(3)信息序列的第(W-P)×r+k2个数据为第一缓存中第j2行第W-P-1-k2列的数值;
(4)信息序列的第(W-P)×r+k2个数据为第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为第一缓存中数据的列数,R为第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
按照第二预设方式对第一缓存1211中位于第W-P列到第W-1列的校验数据进行交织,得到校验序列,其中,第二预设方式为下列四种方式中的任意一种:
(1)校验序列的第P×r+k3个数据为第一缓存中第j3行第k3+(W-P)列的数值;
(2)校验序列的第P×r+k3个数据为第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)校验序列的第P×r+k3个数据为第一缓存中第j3行第W-1-k3列的数值;
(4)校验序列的第P×r+k3个数据为第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P。该可选方案分别对信息数据和校验数据进行交织,然后再合并成第一码字,可以在第一码字中,简单区分出信息数据和校验数据的位置,保持了第一码字的***化形式。
第二级编码器1220,用于对第一码字进行第二级编码,得到第二码字,并发送出去。
可选地,第二级编码器1220包括***模块1221和编码模块1222,***模块1221用于在第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,其中,s和d均为正整数,s为第二码字的信息长度的正整数倍;编码模块1222,用于对第三码字进行第二级编码,得到第二码字,并发送出去。在本实施例中,通过填充一定长度的预设序列,让进行第二级编码的第三码字码长是第二码字的信息长度的整数倍,保证所有数据都能进行编码,其中,预设序列可以全0,也可以是其他任意形式,本申请实施例不做限定。
具体的,在第一缓存1211中的信息数据包括512行×478列,第一缓存1211中的校验数据包括512行×32列,第二级编码器1220执行汉明(128,119)编码时,d=85+119×i,i为非负整数。
可选地,第一级编码包括阶梯编码,第二级编码包括汉明(128,119)编码;第一缓存1211中的信息数据包括512行×478列,第一缓存1212中的校验数据包括512行×32列。该级联编码装置的结构框图如图13所示,级联编码装置包括第一级编码交织器1310,第二级编码器1320,CRC编码器1330和第一***模块1340;
CRC编码器1330用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;第一***模块1340,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在第三序列的尾部***34比特全0序列,得到244736比特的信息数据;将信息数据发送给第一级编码交织器1310;
第一级编码交织器1310执行编码交织之后,得到长度为512×510=261120比特的第一码字,执行过程在前面实施例中有详细描述,本实施例在此不再赘述。
可选地,该级联编码装置还包括删除模块1350,用于将第一码字包括的该34比特全0序列的数据删除,得到长度为261086的第四序列;第二级编码器1320包括第二***模块1321和编码模块1322,其中,第二***模块1321,用于在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,第五序列包括连续五个第四序列;编码模块1322对第六序列进行汉明(128,119)编码,得到第二码字,并发送出去。
可选地,该级联编码装置还可以不包括删除模块,此时,***模块1321用于在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,此时的第四序列包括连续五个长度为261120的第一码字;编码模块1322对第五序列进行汉明(128,119)编码,得到第二码字,并发送出去。
需要注意的是,添加的预设序列可以是全0的序列,也可以是其他的任意形式,本实施例在此不做限定。
本申请另一实施例提供一种级联编码装置1400,如图14所示,包括:输入接口1401,处理器1402和输出接口1403;处理器1402,用于通过输入接口1401接收信息数据,通过输出接口1403发送第二码字,以及实施上述实施方式中级联编码装置1400所实施的各步骤及功能,此处不再赘述。
本申请提实施例供了一种计算机可读存储介质或者计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述方法实施例中涉及的编码方法。
可以理解的是,图14仅仅示出了编码装置的简化设计。在实际应用中,编码装置可以包含任意数量的接口和处理器等,而所有可以实现本申请实施例的终端都在本申请实施例的保护范围之内。
进一步可以理解的是,在本申请实施例中涉及的处理器可以是中央处理单元(Central Processing Unit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,说明书通篇提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本发明的各种实施例中,上述各过程的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (24)

1.一种级联编码装置,其特征在于,包括:第一级编码交织器和第二级编码器,
所述第一级编码交织器包括第一缓存和第二缓存,其中,所述第一缓存存储当前时刻的信息数据,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;
所述第一级编码交织器用于将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
所述第一级编码交织器按照预设方式对所述第一缓存中的所述信息数据和所述校验数据进行交织,得到第一码字,其中,所述预设方式为下列四种方式中的任意一种:
(1)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第k1列的数值;
(2)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第k1列的数值;
(3)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第W-1-k1列的数值;
(4)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
所述第二级编码器,用于对所述第一码字进行第二级编码,得到第二码字,并发送出去。
2.根据权利要求1所述的级联编码装置,其特征在于,所述第二级编码器包括***模块和编码模块,
所述***模块用于在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,其中,s和d均为正整数,s为所述第二码字的信息长度的正整数倍;
所述编码模块,用于对所述第三码字进行第二级编码,得到第二码字,并发送出去。
3.根据权利要求2所述的级联编码装置,其特征在于,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
4.根据权利要求1所述的级联编码装置,其特征在于,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
5.根据权利要求4所述的级联编码装置,其特征在于,所述级联编码装置还包括CRC编码器,第一***模块和删除模块,
所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;
所述删除模块,用于将接收的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述第二级编码器包括第二***模块和编码模块,
所述第二***模块,用于在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;
所述编码模块,用于对所述第六序列进行汉明(128,119)编码。
6.根据权利要求4所述的级联编码装置,其特征在于,所述级联编码装置还包括CRC编码器和第一***模块,
所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;
所述第二级编码器包括第二***模块和编码模块,
所述第二***模块,用于在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120的所述第一码字;
所述编码模块,用于对所述第五序列进行汉明(128,119)编码。
7.一种级联编码装置,其特征在于,包括:第一级编码交织器和第二级编码器,
所述第一级编码交织器包括第一缓存和第二缓存,其中,所述第一缓存存储当前时刻的信息数据,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;
所述第一级编码交织器用于将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
按照第一预设方式对所述第一缓存中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,所述第一预设方式为下列四种方式中的任意一种:
(1)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第k2列的数值;
(2)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第k2列的数值;
(3)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第W-P-1-k2列的数值;
(4)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
按照第二预设方式对所述第一缓存中位于第W-P列到第W-1列的校验数据进行交织,得到校验序列,其中,所述第二预设方式为下列四种方式中的任意一种:
(1)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第k3+(W-P)列的数值;
(2)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第W-1-k3列的数值;
(4)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P;
将所述信息序列和所述校验序列合并,得到第一码字;
所述第二级编码器,用于对所述第一码字进行第二级编码,得到第二码字,并发送出去。
8.根据权利要求7所述的级联编码装置,其特征在于,所述第二级编码器包括***模块和编码模块,
所述***模块用于在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,其中,s和d均为正整数,s为所述第二码字信息长度的正整数倍;
所述编码模块,用于对所述第三码字进行第二级编码,得到第二码字,并发送出去。
9.根据权利要求8所述的级联编码装置,其特征在于,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
10.根据权利要求7所述的级联编码装置,其特征在于,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
11.根据权利要求10所述的级联编码装置,其特征在于,所述级联编码装置还包括CRC编码器,第一***模块和删除模块,
所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;
所述删除模块,用于将接收的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述第二级编码器包括第二***模块和编码模块,
所述第二***模块,用于在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;
所述编码模块,用于对所述第六序列进行汉明(128,119)编码。
12.根据权利要求10所述的级联编码装置,其特征在于,所述级联编码装置还包括CRC编码器和第一***模块,
所述CRC编码器用于对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
所述第一***模块,用于在第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;将所述信息数据发送给所述第一级编码交织器;
所述第二级编码器包括第二***模块和编码模块,
所述第二***模块,用于在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120的所述第一码字;
所述编码模块,用于对所述第五序列进行汉明(128,119)编码。
13.一种级联编码方法,其特征在于,包括:
接收当前时刻的信息数据,其中,所述当前时刻的信息数据在第一缓存中存储,前一时刻在所述第一缓存中存储的数据在第二缓存中存储;
将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
按照预设方式对所述第一缓存中的所述信息数据和所述校验数据进行交织,得到第一码字,其中,所述预设方式为下列四种方式中的任意一种:
(1)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第k1列的数值;
(2)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第k1列的数值;
(3)所述第一码字的第W×r+k1个数据为所述第一缓存中第j1行第W-1-k1列的数值;
(4)所述第一码字的第W×r+k1个数据为所述第一缓存中第R-1-j1行第W-1-k1列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,r,k1,j1为整数,0≦r≦R-1,0≦k1≦W-1,j1=(r+k1)mod R;
对所述第一码字进行第二级编码,得到第二码字,并发送出去。
14.根据权利要求13所述的级联编码方法,其特征在于,对所述第一码字进行第二级编码,具体包括:
在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,对所述第三码字进行第二级编码,其中,s和d均为正整数,s为所述第二码字的信息长度的正整数倍。
15.根据权利要求14所述的级联编码方法,其特征在于,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
16.根据权利要求13所述的级联编码方法,其特征在于,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
17.根据权利要求16所述的级联编码方法,其特征在于,
在接收当前时刻的信息数据之前,所述方法还包括:
对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
在得到所述第一码字之后,所述方法还包括:
将接收到的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述对所述第一码字进行第二级编码,具体包括:
在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;
对所述第六序列进行汉明(128,119)编码。
18.根据权利要求16所述的级联编码方法,其特征在于,
在接收当前时刻的信息数据之前,所述方法还包括:
对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
所述对所述第一码字进行第二级编码,具体包括:
在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120比特的所述第一码字;
对所述第五序列进行汉明(128,119)编码。
19.一种级联编码方法,其特征在于,包括:
接收当前时刻的信息数据,其中,所述当前时刻的信息数据在第一缓存中存储,前一时刻在所述第一缓存中存储的数据在第二缓存中存储;
将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行第一级编码,得到第m校验数据,将所述第m校验数据存入所述第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;
按照第一预设方式对所述第一缓存中位于第0列到第W-P-1列的信息数据进行交织,得到信息序列,其中,所述第一预设方式为下列四种方式中的任意一种:
(1)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第k2列的数值;
(2)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第k2列的数值;
(3)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第j2行第W-P-1-k2列的数值;
(4)所述信息序列的第(W-P)×r+k2个数据为所述第一缓存中第R-1-j2行第W-P-1-k2列的数值;
其中,W为所述第一缓存中数据的列数,R为所述第一缓存中数据的行数,W,R,P,r,k2,j2为整数,0≦r≦R-1,0≦k2≦W-P-1,j2=(r+k2)mod(W-P);
按照第二预设方式对所述第一缓存中位于第W-P列到第W-1列的校验数据进行交织,得到校验序列,其中,所述第二预设方式为下列四种方式中的任意一种:
(1)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第k3+(W-P)列的数值;
(2)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第k3+(W-P)列的数值;
(3)所述校验序列的第P×r+k3个数据为所述第一缓存中第j3行第W-1-k3列的数值;
(4)所述校验序列的第P×r+k3个数据为所述第一缓存中第R-1-j3行第W-1-k3列的数值;
其中,k3,j3为整数,0≦k3≦P-1,j3=(r+k3)mod P;
将所述信息序列和所述校验序列合并,得到第一码字;
对所述第一码字进行第二级编码,得到第二码字,并发送出去。
20.根据权利要求19所述的级联编码方法,其特征在于,对所述第一码字进行第二级编码,具体包括:
在所述第一码字的尾部***长度为d比特的预设序列,得到长度为s的第三码字,对所述第三码字进行第二级编码,其中,s和d均为正整数,s为所述第二码字的信息长度的正整数倍。
21.根据权利要求20所述的级联编码方法,其特征在于,所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列,所述第二级编码包括汉明(128,119)编码,d=85+119×i,i为非负整数。
22.根据权利要求19所述的级联编码方法,其特征在于,所述第一级编码包括阶梯编码,所述第二级编码包括汉明(128,119)编码;所述第一缓存中的信息数据包括512行×478列,所述第一缓存中的校验数据包括512行×32列。
23.根据权利要求22所述的级联编码方法,其特征在于,
在接收当前时刻的信息数据之前,所述方法还包括:
对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
在得到所述第一码字之后,所述方法还包括:
将接收到的261120比特的第一码字包括的所述34比特全0序列的数据删除,得到长度为261086的第四序列;
所述对所述第一码字进行第二级编码,具体包括:
在1305430比特的第五序列的尾部***714比特的预设序列,得到长度为1306144比特的第六序列,其中,所述第五序列包括连续五个所述第四序列;
对所述第六序列进行汉明(128,119)编码。
24.根据权利要求22所述的级联编码方法,其特征在于,
在接收当前时刻的信息数据之前,所述方法还包括:
对244664比特的第一序列进行32比特的CRC编码,得到长度为244696比特的第二序列;
在所述第二序列的尾部***6比特填充序列,得到244702比特的第三序列,在所述第三序列的尾部***34比特的全0序列,得到244736比特的所述信息数据;
所述对所述第一码字进行第二级编码,具体包括:
在1305600比特的第四序列的尾部***544比特的预设序列,得到长度为1306144比特的第五序列,其中,所述第四序列包括连续五个长度为261120比特的所述第一码字;
对所述第五序列进行汉明(128,119)编码。
CN201810032429.7A 2018-01-12 2018-01-12 级联编码方法及装置 Active CN110034847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810032429.7A CN110034847B (zh) 2018-01-12 2018-01-12 级联编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810032429.7A CN110034847B (zh) 2018-01-12 2018-01-12 级联编码方法及装置

Publications (2)

Publication Number Publication Date
CN110034847A CN110034847A (zh) 2019-07-19
CN110034847B true CN110034847B (zh) 2022-01-14

Family

ID=67234867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810032429.7A Active CN110034847B (zh) 2018-01-12 2018-01-12 级联编码方法及装置

Country Status (1)

Country Link
CN (1) CN110034847B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611463A (zh) * 2012-04-09 2012-07-25 上海交通大学 多进制低密度奇偶校验码的级联编译码***及方法
CN103378940A (zh) * 2012-04-17 2013-10-30 马维尔国际有限公司 用于td-scdma***的上行信道编码方法及装置
CN103840870A (zh) * 2013-12-31 2014-06-04 重庆邮电大学 3d mimo信道下一种有限反馈开销降低方法
CN107078832A (zh) * 2014-10-27 2017-08-18 索尼公司 一种装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043483A (zh) * 2006-03-20 2007-09-26 松下电器产业株式会社 一种基于低密度校验码的高阶编码调制方法
US8442163B2 (en) * 2009-08-24 2013-05-14 Eric Morgan Dowling List-viterbi hard iterative decoder for multilevel codes
US8761323B2 (en) * 2011-09-28 2014-06-24 Telefonaktiebolaget Lm Ericsson (Publ) Impairment covariance and combining weight updates during iterative turbo interference cancellation reception
CN102857241B (zh) * 2012-09-27 2016-03-09 中国传媒大学 一种cmmb中多码率rs码的并行编码器和编码方法
US9692453B2 (en) * 2015-05-19 2017-06-27 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611463A (zh) * 2012-04-09 2012-07-25 上海交通大学 多进制低密度奇偶校验码的级联编译码***及方法
CN103378940A (zh) * 2012-04-17 2013-10-30 马维尔国际有限公司 用于td-scdma***的上行信道编码方法及装置
CN103840870A (zh) * 2013-12-31 2014-06-04 重庆邮电大学 3d mimo信道下一种有限反馈开销降低方法
CN107078832A (zh) * 2014-10-27 2017-08-18 索尼公司 一种装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
V2V System Level Performance;Qualcomm Inc.;《3GPP R1-1608943》;20160930;全文 *

Also Published As

Publication number Publication date
CN110034847A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
US6658605B1 (en) Multiple coding method and apparatus, multiple decoding method and apparatus, and information transmission system
KR101110586B1 (ko) 연결된 반복 및 대수 코딩
US6557139B2 (en) Encoding apparatus and encoding method for multidimensionally coding and encoding method and decoding apparatus for iterative decoding of multidimensionally coded information
US7039837B2 (en) Signal coding
US7802167B1 (en) Apparatus and method for detecting extended error bursts
US20020035709A1 (en) Apparatus and method for providing turbo code interleaving in a communications system
US20030188253A1 (en) Method for iterative hard-decision forward error correction decoding
US11652498B2 (en) Iterative bit flip decoding based on symbol reliabilities
US8898550B2 (en) Encoding of data for transmission
JPH05244020A (ja) インターリーブ式の誤り訂正符号を復号化するための復号器能力強化方法
JP2000513164A (ja) 誤り保護付き可変長コーディング
US7640462B2 (en) Interleaver and de-interleaver
JP4420924B2 (ja) 情報ビット系列を符号化する方法および符号化器
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
KR20080112088A (ko) 인터리빙 수행 방법
JP2002043953A (ja) 誤り訂正方法及び誤り訂正装置
CN101427474B (zh) 一种疑符辅助块码解码器及其相关方法
CN100488057C (zh) 数字信号的优化交织
CN110034847B (zh) 级联编码方法及装置
US20030038739A1 (en) Method for compressing data
CN1199517A (zh) 数字信息信号的传送与接收
CN110034846B (zh) 一种编码方法及装置
CN113472362A (zh) 用于数据通信的编码方法及装置
JP4420925B2 (ja) 情報ビット系列を符号化する方法および符号化器
JP3559480B2 (ja) 可変長符号化方法およびその復号化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant