CN117294316B - 一种基于bch码的耦合结构拉链码编译码方法及系统 - Google Patents
一种基于bch码的耦合结构拉链码编译码方法及系统 Download PDFInfo
- Publication number
- CN117294316B CN117294316B CN202311580156.7A CN202311580156A CN117294316B CN 117294316 B CN117294316 B CN 117294316B CN 202311580156 A CN202311580156 A CN 202311580156A CN 117294316 B CN117294316 B CN 117294316B
- Authority
- CN
- China
- Prior art keywords
- buffer
- area
- real
- zipper
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008878 coupling Effects 0.000 title claims description 28
- 238000010168 coupling process Methods 0.000 title claims description 28
- 238000005859 coupling reaction Methods 0.000 title claims description 28
- 239000000872 buffer Substances 0.000 claims abstract description 180
- 238000012546 transfer Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 17
- 230000007704 transition Effects 0.000 claims description 8
- 230000017105 transposition Effects 0.000 claims description 8
- 238000012937 correction Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005429 filling process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种基于BCH码的耦合结构拉链码编译码方法及系统,所述方法的步骤包括:将原始数据进行填充;以拉链对为单位进行编码,将当前拉链对的真实缓冲子区的信息位转置,填充对应虚拟缓冲子区的第一转置区域中;对虚拟缓冲子区的第一转置区域和真实缓冲子区的信息位中第一区域进行BCH编码,填充真实缓冲子区的第一校验区域;对真实缓冲子区第一校验区域进行转置,填充第一位置拉链对虚拟缓冲子区的第二转置区域;对虚拟缓冲子区的第二转置区域、第三转置区域和真实缓冲子区的信息位中的第二区域进行BCH编码,填充当前拉链对真实缓冲子区第二校验区域;对真实缓冲子区的第二校验区域进行转置,填充第二位置的拉链对的虚拟缓冲子区第三转置区域。
Description
技术领域
本发明涉及数字通信技术领域,尤其涉及一种基于BCH码的耦合结构拉链码编译码方法及系统。
背景技术
近几年多媒体应用的广泛应用大大增加了互联网的流量需求。因此,光纤通信系统作为现代通信的支柱之一,需要高性能的前向纠错码(FEC,Forward Error Correction)来满足光传输网络(OTN,optical transport network)日益增长的数据需求。应用于OTN的FEC大致可分为三代。这三代的特点分别是硬决策解码的代数码、迭代硬决策解码的串联码和软决策解码的基于图形的码。此外,第2.5代纠错码具有空间耦合的类乘积码结构和迭代硬决策解码的特点,目前仍然适用于100G以上的光通信系统。
当下光纤通信追求400Gb/s及以上的数据速率。随着数据速率的提高,能够带来显著净编码增益(NCG,net coding gain)的先进FEC码显得尤为重要。软判决FEC码在提供NCG上具有极大的优势,但由于软信息译码时存在较高的功耗和解码延迟,并不是非常高数据速率应用下的最佳候选FEC。在这种情况下,选取一些简单但功能强大的硬判决 FEC码或是进行软硬判决结合是较优的选择。
目前有一种更为先进的编码结构——拉链码(Zipper Codes),可以用于描述在光通信系统中的一类空间耦合乘积码,但是,目前现有技术的拉链码编码方式通常需要在第一个虚拟缓冲子区和最后一个真实缓冲子区中补充较大的随机矩阵或0矩阵,导致冗余较大。
发明内容
鉴于此,本发明的实施例提供了一种基于BCH码的耦合结构拉链码编译码方法,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的一个方面提供了一种基于BCH码的耦合结构拉链码编译码方法,拉链码的结构包括真实缓冲区和对应的虚拟缓冲区,所述真实缓冲区包括多个真实缓冲子区,所述虚拟缓冲区包括多个虚拟缓冲子区,每个真实缓冲子区均对应一个虚拟缓冲子区,并与对应的虚拟缓冲子区构成一个拉链对,所述方法的步骤包括:
获取原始数据,将所述原始数据填充至由多个所述真实缓冲子区的信息位构成的区域中,全部所述真实缓冲子区的信息位构成的区域为真实缓冲区中的信息位区域;
以拉链对为单位进行编码,在对每个拉链对的处理过程中,将当前的拉链对的所述真实缓冲子区的信息位的矩阵进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码,将编码得到的校验位比特填充至当前的拉链对的真实缓冲子区的第一校验区域;
对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码,填充至当前的拉链对的真实缓冲子区的第二校验区域;
对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
在对拉链码中的每个拉链对均处理后,将所述拉链码的真实缓冲区的数据进行发送。
采用上述方案,本方案首先不需要在虚拟缓冲区的前m-r行填充一个不包含原始信息的随机矩阵或0矩阵,本方案中虚拟缓冲区的前m-r行均由拉链对的所述真实缓冲子区的信息位进行转置得到,真实缓冲区中也不需要进行随机矩阵或0矩阵的填充,降低了编码过程中的冗余,另一方面,本方案的校验位填充过程中,分别与第一位置的拉链对虚拟缓冲子区的第二转置区域及第二位置的拉链对虚拟缓冲子区的第三转置区域产生耦合关系,增加拉链对之间的耦合性。
在本发明的一些实施方式中,顺序对所述拉链码中的拉链对进行编号,所述第一位置的拉链对为当前的拉链对的下一个编号的拉链码,所述第二位置的拉链对为当前的拉链对的下两个编号的拉链码。
在本发明的一些实施方式中,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,确定当前的拉链对的虚拟缓冲子区的第二转置区域和第三转置区域是否被填充数据,若第二转置区域和第三转置区域中的任一个未被填充数据,则在虚拟缓冲子区的第二转置区域和第三转置区域中补充随机矩阵或0矩阵。
在本发明的一些实施方式中,所述真实缓冲子区的信息位和虚拟缓冲子区的第一转置区域均为矩形区域,在对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码的步骤中,所述真实缓冲子区的信息位中的第一区域为从所述真实缓冲子区的信息位的长度范围中截取所述虚拟缓冲子区的信息位的宽度范围的区域。
在本发明的一些实施方式中,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,所述第二区域和第一区域组成所述真实缓冲子区的信息位。
在本发明的一些实施方式中,所述方法的步骤还包括,接收所述拉链码的真实缓冲区的数据,对接收到的数据进行解码,得到解码数据。
在本发明的一些实施方式中,在对接收到的数据进行解码的步骤中,基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据,将包括真实缓冲区和虚拟缓冲区的完整数据进行解码。
在本发明的一些实施方式中,在基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据的步骤中,
逐个处理所述真实缓冲子区,在对每个真实缓冲子区的处理过程中,将当前的真实缓冲子区的信息位进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
当前的真实缓冲子区和虚拟缓冲子区构成当前的拉链对,对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
得到包括真实缓冲区和虚拟缓冲区的完整数据。
在本发明的一些实施方式中,在将包括真实缓冲区和虚拟缓冲区的完整数据进行解码的步骤中,采用锚点解码的方式进行解码。
本发明的第二方面还提供一种基于BCH码的耦合结构拉链码编译码系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法所实现的步骤。
本发明的第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于BCH码的耦合结构拉链码编译码方法所实现的步骤。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明基于BCH码的耦合结构拉链码编译码方法一种实施方式的示意图;
图2为拉链对间相互耦合的拉链码码字结构示意图;
图3为本方案编码示意图;
图4为本方案接收端解码示意图;
图5为本发明基于BCH码的耦合结构拉链码编译码方法另一种实施方式的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
在现有的技术中,阶梯码是一种很流行的编码结构,在编码的码字结构上进行改进,在译码时可以采用硬判决的方式,可以提供0.42dB的 NCG,在当前光纤通信的标准中已有采用阶梯码来提升编码性能的方案。
而拉链码是更加先进的一类结构,用于描述在光通信系统中的一类空间耦合乘积码,在广义上也包含阶梯码、编织块码、连续交织BCH码等。目前常采用的一种就是阶梯码对应的拉链码结构,其结构较为简单,容易实现。但是,目前现有技术的阶梯码对应的拉链码码字结构较为简单,码字内各块之间的耦合性较低,因此误码率还有降低的空间;这种结构通常需要第一个虚拟缓冲子区及最后一个真实缓冲子区填充一个随机矩阵或0矩阵以满足拉链码对码字结构的要求,导致产生较大的冗余。在译码方案上,拉链码通常采用迭代译码的方式以获得较低的功耗和时延;但目前有一种针对阶梯码的锚点译码方式,这种锚点算法相对于其它迭代译码算法来说译码的准确性和可靠性大大提高,因此可以将这种译码方式进行调整应用到拉链码的结构中,以此提升译码性能。
本发明的步骤具体包括:
如图1所示,本发明提出一种基于BCH码的耦合结构拉链码编译码方法,拉链码的结构包括真实缓冲区和对应的虚拟缓冲区,所述真实缓冲区包括多个真实缓冲子区,所述虚拟缓冲区包括多个虚拟缓冲子区,每个真实缓冲子区均对应一个虚拟缓冲子区,并与对应的虚拟缓冲子区构成一个拉链对,所述方法的步骤包括:
步骤S100,获取原始数据,将所述原始数据填充至由多个所述真实缓冲子区的信息位构成的区域中,全部所述真实缓冲子区的信息位构成的区域为真实缓冲区中的信息位区域;
在具体实施过程中,拉链码中采用的编码方式为BCH编码,BCH码(Bose-Chaudhuri-Hocquenghem Code)是一种纠错码,用于在通信和数据存储过程中检测和纠正错误,是一种多级、循环、错误校正、变长数字编码。
BCH编码的原理是在给定任意一个有限域及其扩展域/>中(其中q是素数或素数的幂,/>为正整数),对于扩展域中,根据生成多项式编码产生的q进制、纠错位数为t的循环码/>,编码得到码长为/>的本原BCH码。在输入信息位时,可以根据需求将本原BCH码的前/>位信息位置为0,即可得到码长为/>、信息位为、纠错位数为t的缩短BCH码。
在具体实施过程中,拉链码是一种空间耦合码,拉链码的每一行均为一个BCH分组码,每个BCH码字表示为C(n, k),即码字长度为n,信息位长度为k,校验位长度为m-k=r,因此拉链码的列数为n列,校验位区域的列数为r;拉链码由多个拉链对组成,每个拉链对中包含m个BCH码字,每个拉链对左侧为虚拟缓冲子区,右侧为真实缓冲子区,为了满足由真实缓冲区映射到虚拟缓冲区的矩阵大小需求,因此真实缓冲子区与虚拟缓冲子区均为m行m列,并且有m=n/2;每个拉链对的虚拟缓冲子区均属于信息位区域,真实缓冲子区的左侧m-r行为真实缓冲子区的信息位区域。
在具体实施过程中,所述原始数据为待发送数据的由0和1构成的二进制比特流。
如图2和3所示,以真实缓冲子区为例,真实缓冲子区/>的信息位构成的区域为图2中/>的区域。
步骤S200,以拉链对为单位进行编码,在对每个拉链对的处理过程中,将当前的拉链对的所述真实缓冲子区的信息位的矩阵进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
如图2和3所示,在具体实施过程中,真实缓冲子区表示拉链码中第0个拉链对的真实缓冲子区,虚拟缓冲子区/>表示拉链码中第0个拉链对的虚拟缓冲子区,真实缓冲子区与虚拟缓冲子区/>构成拉链码中第0个拉链对,同理,真实缓冲子区/>与虚拟缓冲子区构成一个拉链对,真实缓冲子区/>与虚拟缓冲子区/>构成拉链码中第1个拉链对,真实缓冲子区/>与虚拟缓冲子区/>构成一个拉链对,真实缓冲子区/>与虚拟缓冲子区/>构成拉链码中第2个拉链对,真实缓冲子区/>与虚拟缓冲子区/>构成拉链码中第N个拉链对。
如图2和3所示,在具体实施过程中,表示真实缓冲子区/>的信息位,/>表示虚拟缓冲子区/>的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域;/>表示虚拟缓冲子区/>的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域;/>表示虚拟缓冲子区/>的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域,/>表示虚拟缓冲子区/>的第三转置区域;/>表示虚拟缓冲子区/>的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域,/>表示虚拟缓冲子区/>的第三转置区域。
如图2和3所示,在具体实施过程中,在将当前的拉链对的所述真实缓冲子区的信息位的矩阵进行转置,填充对应的虚拟缓冲子区的第一转置区域中的步骤中,将所述真实缓冲子区的信息位的数据构成的矩阵进行转置,填充到对应的虚拟缓冲子区的第一转置区域中。
步骤S300,对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码,将编码得到的校验位比特填充至当前的拉链对的真实缓冲子区的第一校验区域;
如图3中(c)所示,在具体实施过程中,对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码,将编码得到的校验位比特填充至当前的拉链对的真实缓冲子区的第一校验区域,若当前拉链对为第0个拉链对,则将和/>的第一区域数据进行BCH编码,填充至/>。
步骤S400,对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
如图3中(c)所示,在具体实施过程中,对中的数据构成的矩阵进行转置,填充至/>。
步骤S500,对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码,填充至当前的拉链对的真实缓冲子区的第二校验区域;
如图3中(d)所示,在具体实施过程中,对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码,填充至当前的拉链对的真实缓冲子区的第二校验区域,若当前拉链对为第0个拉链对,则将虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位/>中的第二区域进行BCH编码,填充至当前的拉链对的真实缓冲子区的第二校验区域/>,在编码过程中,若第二转置区域、第三转置区未填充,则优先补充0矩阵再编码。
在具体实施过程中,所述真实缓冲子区和虚拟缓冲子区均为边长为m的正方形,所述真实缓冲子区的第二校验区域为边长为r的正方形;所述真实缓冲子区的第一校验区域为长为m-r,宽为r的矩形;所述真实缓冲子区的信息位为长为m,宽为m-r矩形;所述虚拟缓冲子区的第一转置区域为长为m,宽为m-r矩形;所述虚拟缓冲子区的第二转置区域为长为m-r,宽为r的矩形;所述虚拟缓冲子区的第三转置区域为边长为r的正方形。
采用上述方案,根据本发明提出的结构进行BCH码编码并进行拉链码结构填充时,会将信息位与BCH编码后得到的校验位分别进行映射,将校验位统一映射到拉链对的最后几行,以此将校验位保护起来。
步骤S600,对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
如图3中(d)所示,在具体实施过程中,对当前的拉链对的真实缓冲子区的第二校验区域中数据构成的矩阵进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域/>中。
步骤S700,在对拉链码中的每个拉链对均处理后,将所述拉链码的真实缓冲区的数据进行发送。
在具体实施过程中,在将所述拉链码的真实缓冲区的数据进行发送的步骤中,将编码后的二进制数据进行调制,映射到QAM星座图中,再将调制信号加载到激光上,输入到光纤中进行传输。
采用上述方案,本方案首先不需要在虚拟缓冲区的前m-r行填充一个不包含原始信息的随机矩阵或0矩阵,本方案中虚拟缓冲区的前m-r行均由拉链对的所述真实缓冲子区的信息位进行转置得到,真实缓冲区中也不需要进行随机矩阵或0矩阵的填充,降低了编码过程中的冗余,另一方面,本方案的校验位填充过程中,分别与第一位置的拉链对虚拟缓冲子区的第二转置区域及第二位置的拉链对虚拟缓冲子区的第三转置区域产生耦合关系,提高了编码过程中各个拉链对间的耦合性,降低误码率。
在本发明的一些实施方式中,顺序对所述拉链码中的拉链对进行编号,所述第一位置的拉链对为当前的拉链对的下一个编号的拉链码,所述第二位置的拉链对为当前的拉链对的下两个编号的拉链码。
在本发明的一些实施方式中,所述拉链对可以从0开始编号,具体的,所述第一位置的拉链对为当前的拉链对的下一个编号的拉链码,若当前处理的是第0个拉链对,则下一个编号的拉链对为第1个拉链对,所述第二位置的拉链对为当前的拉链对的下两个编号的拉链码,若当前处理的是第0个拉链对,则下两个编号的拉链对为第2个拉链对。
在本发明的一些实施方式中,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,确定当前的拉链对的虚拟缓冲子区的第二转置区域和第三转置区域是否被填充数据,若第二转置区域和第三转置区域中的任一个未被填充数据,则在虚拟缓冲子区的第二转置区域和第三转置区域中补充随机矩阵或0矩阵以得到完整的拉链码结构。
在本发明的一些实施方式中,如图2和3所示,图中0的位置即为未被填充数据的补0处理,构成各个位置的值均为0的矩阵,也可以补充不包含原始信息的随机矩阵以填充得到完整的拉链码结构。
如图3所示,图3中阴影为每个处理步骤中处理的区域,在本发明的一些实施方式中,所述真实缓冲子区的信息位和虚拟缓冲子区的第一转置区域均为矩形区域,在对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码的步骤中,所述真实缓冲子区的信息位中的第一区域为从所述真实缓冲子区的信息位的长度范围中截取所述虚拟缓冲子区的信息位的宽度范围的区域。
如图3所示,在本发明的一些实施方式中,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,所述第二区域和第一区域组成所述真实缓冲子区的信息位。
如图4和5所示,在本发明的一些实施方式中,所述方法的步骤还包括,步骤S800,接收所述拉链码的真实缓冲区的数据,对接收到的数据进行解码,得到解码数据。
在具体实施过程中,对接收到的信号进行行色散补偿、偏振均衡、QAM解调等处理后,将得到的二进制数据流进行输入到译码器中进行译码。
在本发明的一些实施方式中,在对接收到的数据进行解码的步骤中,基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据,将包括真实缓冲区和虚拟缓冲区的完整的数据进行解码。
在本发明的一些实施方式中,在基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据的步骤中,
如图4所示,获取到的真实缓冲区中的真实缓冲子区分别表示为、/>、/>……,/>表示真实缓冲子区/>的信息位,/>表示虚拟缓冲子区/>的第一转置区域,表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域;表示虚拟缓冲子区的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域;/>表示虚拟缓冲子区的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域,/>表示虚拟缓冲子区/>的第三转置区域;/>表示虚拟缓冲子区/>的第一转置区域,/>表示真实缓冲子区/>的第一校验区域,/>表示真实缓冲子区/>的第二校验区域,/>表示虚拟缓冲子区/>的第二转置区域,/>表示虚拟缓冲子区/>的第三转置区域。
逐个处理所述真实缓冲子区,在对每个真实缓冲子区的处理过程中,将当前的真实缓冲子区的信息位进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
具体的,如图4所示,在处理真实缓冲子区的过程中,将当前的真实缓冲子区的信息位/>进行转置,填充对应的虚拟缓冲子区的第一转置区域/>中。
当前的真实缓冲子区和虚拟缓冲子区构成当前的拉链对,对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
具体的,如图4所示,在处理真实缓冲子区的过程中,当前的真实缓冲子区/>和虚拟缓冲子区/>构成当前的拉链对,对当前的真实缓冲子区的第一校验区域/>进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域/>。
对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
具体的,如图4所示,在处理真实缓冲子区的过程中,对当前的拉链对的真实缓冲子区的第二校验区域/>进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域/>。
得到包括真实缓冲区和虚拟缓冲区的完整数据。
在本发明的一些实施方式中,在将包括真实缓冲区和虚拟缓冲区的完整的数据进行解码的步骤中,采用锚点解码的方式进行解码。
在本发明的一些实施方式中,在采用锚点解码的方式进行解码的步骤中将真实缓冲区和虚拟缓冲区的数据构成矩阵,进行解码。
如图4所示,在具体实施过程中,根据锚点解码的原理,逐行进行BCH的译码,如图4所示,用“×”来表示错误接收的位。图中第i2和i3行都有灰色叉标记的错误,根据交织器映射,会从行i2复制行i3中的错误,当解码器尝试解码行i3时,解码器检测到错误(i3, j2)。位(i2, j3)和(i3, j2)都受到码字i3纠错的影响,即位(i2, j3, i3, j2)被翻转。利用纠偏集εi3 ={i2},εi3表示受码字i3纠错影响的码字的行索引的集合,码字i3成为锚点。当解码器试图解码码字i1时,发生纠错,其中纠错位在实际缓冲区中用“○”标记。因此,有εi1 ={i3},εi1表示受码字i1纠错影响的码字的行索引的集合。由于码字i3是锚点,因此可以避免位翻转,最后,可以得到Li1 = {i3}和Li3 = {i1},Li3来表示与第i3行解码结果冲突的行索引集,Li1来表示与第i1行解码结果冲突的行索引集。
本发明实施例还提供一种基于BCH码的耦合结构拉链码编译码系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法所实现的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于BCH码的耦合结构拉链码编译码方法所实现的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于BCH码的耦合结构拉链码编译码方法,其特征在于,拉链码的结构包括真实缓冲区和对应的虚拟缓冲区,所述真实缓冲区包括多个真实缓冲子区,所述虚拟缓冲区包括多个虚拟缓冲子区,每个真实缓冲子区均对应一个虚拟缓冲子区,并与对应的虚拟缓冲子区构成一个拉链对,所述方法的步骤包括:
获取原始数据,将所述原始数据填充至由多个所述真实缓冲子区的信息位构成的区域中,全部所述真实缓冲子区的信息位构成的区域为真实缓冲区中的信息位区域;
以拉链对为单位进行编码,在对每个拉链对的处理过程中,将当前的拉链对的所述真实缓冲子区的信息位的矩阵进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码,将编码得到的校验位比特填充至当前的拉链对的真实缓冲子区的第一校验区域;
对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码,填充至当前的拉链对的真实缓冲子区的第二校验区域;
对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
在对拉链码中的每个拉链对均处理后,将所述拉链码的真实缓冲区的数据进行发送。
2.根据权利要求1所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,顺序对所述拉链码中的拉链对进行编号,所述第一位置的拉链对为当前的拉链对的下一个编号的拉链码,所述第二位置的拉链对为当前的拉链对的下两个编号的拉链码。
3.根据权利要求1所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,确定当前的拉链对的虚拟缓冲子区的第二转置区域和第三转置区域是否被填充数据,若第二转置区域和第三转置区域中的任一个未被填充数据,则在虚拟缓冲子区的第二转置区域和第三转置区域中补充随机矩阵或0矩阵。
4.根据权利要求1所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,所述真实缓冲子区的信息位和虚拟缓冲子区的第一转置区域均为矩形区域,在对当前的拉链对的虚拟缓冲子区的第一转置区域和所述真实缓冲子区的信息位中的第一区域中的数据进行BCH编码的步骤中,所述真实缓冲子区的信息位中的第一区域为从所述真实缓冲子区的信息位的长度范围中截取所述虚拟缓冲子区的信息位的宽度范围的区域。
5.根据权利要求1所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,在对当前的拉链对的虚拟缓冲子区的第二转置区域、第三转置区域和所述真实缓冲子区的信息位中的第二区域中的数据进行BCH编码的步骤中,所述第二区域和第一区域组成所述真实缓冲子区的信息位。
6.根据权利要求1所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,所述方法的步骤还包括,接收所述拉链码的真实缓冲区的数据,对接收到的数据进行解码,得到解码数据。
7.根据权利要求6所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,在对接收到的数据进行解码的步骤中,基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据,将包括真实缓冲区和虚拟缓冲区的完整数据进行解码。
8.根据权利要求7所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,在基于接收到的所述真实缓冲区中的真实缓冲子区的数据构建虚拟缓冲区中的数据的步骤中,
逐个处理所述真实缓冲子区,在对每个真实缓冲子区的处理过程中,将当前的真实缓冲子区的信息位进行转置,填充对应的虚拟缓冲子区的第一转置区域中;
当前的真实缓冲子区和虚拟缓冲子区构成当前的拉链对,对当前的拉链对的真实缓冲子区的第一校验区域进行转置,填充至第一位置的拉链对的虚拟缓冲子区的第二转置区域;
对当前的拉链对的真实缓冲子区的第二校验区域进行转置,填充至第二位置的拉链对的虚拟缓冲子区的第三转置区域;
得到包括真实缓冲区和虚拟缓冲区的完整数据。
9.根据权利要求7所述的基于BCH码的耦合结构拉链码编译码方法,其特征在于,在将包括真实缓冲区和虚拟缓冲区的完整数据进行解码的步骤中,采用锚点解码的方式进行解码。
10.一种基于BCH码的耦合结构拉链码编译码系统,其特征在于,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1~9任一项所述方法所实现的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311580156.7A CN117294316B (zh) | 2023-11-24 | 2023-11-24 | 一种基于bch码的耦合结构拉链码编译码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311580156.7A CN117294316B (zh) | 2023-11-24 | 2023-11-24 | 一种基于bch码的耦合结构拉链码编译码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117294316A CN117294316A (zh) | 2023-12-26 |
CN117294316B true CN117294316B (zh) | 2024-03-26 |
Family
ID=89258944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311580156.7A Active CN117294316B (zh) | 2023-11-24 | 2023-11-24 | 一种基于bch码的耦合结构拉链码编译码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294316B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227194A (zh) * | 2008-01-22 | 2008-07-23 | 炬力集成电路设计有限公司 | 用于并行bch编码的电路、编码器及方法 |
CN112655207A (zh) * | 2018-11-30 | 2021-04-13 | Oppo广东移动通信有限公司 | 编码方法、编码器以及计算机存储介质 |
WO2023025321A1 (en) * | 2021-08-27 | 2023-03-02 | Huawei Technologies Co., Ltd. | Systems and methods for executing forward error correction coding |
CN116455410A (zh) * | 2023-01-18 | 2023-07-18 | 暨南大学 | 一种基于广义集成交织码的多维耦合拉链码编码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110115824A1 (en) * | 2009-11-13 | 2011-05-19 | Bally Gaming, Inc. | Multimedia Codec System and Method Providing Bink Support |
JP2016014972A (ja) * | 2014-07-01 | 2016-01-28 | 富士通株式会社 | 通信制御装置,ストレージ装置及び通信制御プログラム |
-
2023
- 2023-11-24 CN CN202311580156.7A patent/CN117294316B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227194A (zh) * | 2008-01-22 | 2008-07-23 | 炬力集成电路设计有限公司 | 用于并行bch编码的电路、编码器及方法 |
CN112655207A (zh) * | 2018-11-30 | 2021-04-13 | Oppo广东移动通信有限公司 | 编码方法、编码器以及计算机存储介质 |
WO2023025321A1 (en) * | 2021-08-27 | 2023-03-02 | Huawei Technologies Co., Ltd. | Systems and methods for executing forward error correction coding |
CN116455410A (zh) * | 2023-01-18 | 2023-07-18 | 暨南大学 | 一种基于广义集成交织码的多维耦合拉链码编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117294316A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110226289B (zh) | 接收器和用于解码的方法 | |
US10998922B2 (en) | Turbo product polar coding with hard decision cleaning | |
KR101270815B1 (ko) | 다양한 클래스의 코드들을 인코딩 및 디코딩하는 애플리케이션을 갖는 인-플레이스 변환 | |
JP3256517B2 (ja) | 符号化回路、回路、パリティ生成方法及び記憶媒体 | |
CN101405944B (zh) | 一种ldpc码的纠删译码方法及系统 | |
US20050204268A1 (en) | Decoding and error correction for algebraic geometric codes | |
US8843810B2 (en) | Method and apparatus for performing a CRC check | |
CN116530023A (zh) | 具有外部块码和内部极化调整卷积码的串行级联码 | |
Immler et al. | Variable-length bit mapping and error-correcting codes for higher-order alphabet pufs—extended version | |
KR20080074858A (ko) | 데이터를 복호화 및 부호화하는 방법 및 장치 | |
EP3713096B1 (en) | Method and device for decoding staircase code, and storage medium | |
CN111555760B (zh) | 纠正随机错误和长突发删除的多进制符号级乘积码方法 | |
CN117294316B (zh) | 一种基于bch码的耦合结构拉链码编译码方法及系统 | |
US7392454B2 (en) | Error locating methods and devices for algebraic geometric codes | |
US8132078B2 (en) | Decoding method for algebraic geometric codes and associated device | |
El Kasmi Alaoui et al. | High Speed Soft Decision Decoding of Linear Codes Based on Hash and Syndrome Decoding. | |
CN112889221A (zh) | 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定 | |
US20020116681A1 (en) | Decoder, system and method for decoding trubo block codes | |
EP1643653A1 (en) | Iterative decoding of low-density parity-check (LDPC) codes | |
Shahariar Parvez et al. | Design and implementation of hamming encoder and decoder over FPGA | |
WO2020234185A1 (en) | A method of marking bits, a method of decoding bits, a bit marking device, a decoder, a receiver and a chip | |
CN111600613B (zh) | 一种校验方法、装置、译码器、接收机及计算机存储介质 | |
TWI783727B (zh) | 使用極化碼之通訊系統及其解碼方法 | |
Huang et al. | Research of Error Control Coding and Decoding | |
JP6771184B2 (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 |