WO2023060865A1 - Encoding method and device, and decoding method and device - Google Patents

Encoding method and device, and decoding method and device Download PDF

Info

Publication number
WO2023060865A1
WO2023060865A1 PCT/CN2022/087391 CN2022087391W WO2023060865A1 WO 2023060865 A1 WO2023060865 A1 WO 2023060865A1 CN 2022087391 W CN2022087391 W CN 2022087391W WO 2023060865 A1 WO2023060865 A1 WO 2023060865A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
code block
overhead
matrix
gel
Prior art date
Application number
PCT/CN2022/087391
Other languages
French (fr)
Chinese (zh)
Inventor
格里岑弗拉基米尔•维塔利耶维奇
李启庆
弗拉迪斯拉夫奥博连采夫·尼古拉耶维奇
马耶夫斯基阿列克谢•爱德华多维奇
于鸿晨
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023060865A1 publication Critical patent/WO2023060865A1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present application relates to the field of optical communication, and more specifically, to a codec method and a codec device.
  • forward error correction code forward error correction
  • spatially coupled error correction codes spatially coupled error correction code, SC ECC
  • SC ECC spatially coupled error correction code
  • the embodiment of the present application provides a codec method and codec device, which can reduce the error floor and enhance the spatially coupled forward error correction code, so as to realize the spatially coupled code in the low-delay, high-throughput, high-speed communication transmission scenario in the application.
  • an encoding method including: encoding an original data stream to generate a forward error correction (FEC) code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N is an integer greater than zero; send the FEC code block.
  • FEC forward error correction
  • a decoding method including: receiving a forward error correction FEC code block; decoding the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N are integers greater than zero.
  • the currently transmitted FEC code block is based on the structure of the existing spatially coupled code, coupled with a generalized error location code (generalized error location codes, GEL) code to generate additional redundancy, as Each row generates the original redundancy of the existing spatially coupled code.
  • GEL generalized error location codes
  • the currently transmitted FEC code block is based on the structure of the spatially coupled code, and coupled with the GEL code to generate original redundancy and additional redundancy.
  • the original redundancy can be generated by the inner code B 1 of the GEL code according to the complete GEL codec method; or, the original redundancy can be generated by the component code B of the original space-coupled code according to the partial GEL codec method, which exists in Each row of the FEC code block, and each row of the FEC code block is half of the codeword B.
  • Additional redundancy is generated by the outer code A2 of the GEL, present in some rows of the FEC code block.
  • the FEC code block includes s matrices of n rows and h columns arranged in h rows and h columns of matrices.
  • the FEC code block contains k 2 ⁇ h+K ⁇ m 2 payload bits (ie, bits of the original data stream), m 1 ⁇ h bits of original overhead and (hK) ⁇ m 2 bits of overhead.
  • s, h, n, m 1 , k 2 , K, and m 2 are all positive integers.
  • the second overhead code block may occupy some bits in any one data code block of the multiple data code blocks.
  • the second overhead code block is a matrix located in rows 14-15 and columns 7-14 of the seventh code block, which is not specifically limited in the present application.
  • the first overhead code block of the space-coupled code in this implementation is generated by the GEL inner code B 1 (that is, according to the complete GEL encoding and decoding method), or the first overhead code block is generated by the original space
  • the component code B of the coupled code is generated (that is, according to a partial GEL encoding and decoding mode); the second overhead code block is generated by re-encoding the encoding result of the inner code with the outer code of the GEL.
  • additional redundancy eg, a second overhead code block
  • additional redundancy provides increased error correction capability, which is beneficial for reducing the error floor and providing faster convergence.
  • overhead symbol can be replaced in non-specific cases
  • overhead code block can include “overhead symbol” and “redundant symbol” , “check symbol”, etc.
  • code block and “matrix” can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix.
  • one symbol may correspond to multiple bits
  • one code block may include multiple symbols
  • a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
  • the original data stream may include multiple bits, symbols, etc., which are not specifically limited in this application.
  • a suitable new space-coupled code is designed to allow low-complexity decoding
  • any code word in the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code is selected as the component of the spatially coupled code codes to generate a first overhead code block and a second overhead code block.
  • the check matrix H B of the C GEL is used to check the column code of the GEL code
  • the second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
  • GEL codes are a class of block codes with good properties.
  • the H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2 ⁇ n ⁇ 2 ⁇ n, the check matrix H 1 of B 1 in rows k+1 to 2 ⁇ n, and the check matrix H 1 of k 2 + Lines 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 .
  • the first to k 2 rows of H 3 include a k 2 ⁇ k 2 identity matrix and a 2 ⁇ nk 2 zero matrix.
  • the m 2 ⁇ (hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding.
  • the matrix determined in rows k+1 to 2 ⁇ n is all 0s before encoding, and is used to store the first overhead after encoding.
  • h, n, m 1 , k 2 , K, k, and m 2 are all positive integers.
  • the component code GEL there are two encoding methods of the component code GEL.
  • the first one is to use the complete GEL code C GEL encoding method for encoding, using the code from the historical code block and k 2 ⁇ h+K ⁇ m 2 payload bits to generate all m 1 ⁇ h+(hK) ⁇ m 2 check bits (ie, original overhead + additional overhead).
  • the transposition of the selected corresponding sub-matrix from the transmitted s different FEC code blocks constitutes That is, the historical code block.
  • the second is to use GEL codes.
  • the encoding process of the GEL part generates overhead, using blocks from historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits, and m 2 ⁇ (hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ⁇ h-bit original overhead.
  • the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed Encoding, putting the generated parity check matrix into the m 2 ⁇ (hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method.
  • the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2 ⁇ n rows as the first overhead .
  • h represents the number of codeword symbols after encoding
  • K represents the number of payload symbols before encoding
  • D represents the minimum Hamming distance after encoding.
  • the component code A i of the spatially coupled code is a GEL code
  • the component code A i includes a historical code block C i , a plurality of data code blocks, a first overhead code block and the second overhead code block.
  • the historical code block C i may refer to a code block before the current FEC code block to be transmitted. Among them, the historical code block C i can be understood as transmitted in sequence.
  • one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
  • the component code is a GEL code; wherein, C GEL is composed of 4 inner codes and The matrix of 2 ⁇ n rows and h columns of 3 outer codes, the code length of the inner code and the code length of the outer code are 2 ⁇ n and h respectively, and the inner code B 0 of C GEL is the identity code word [2 ⁇ n, 2 ⁇ n,1] 2 , B 1 is the codeword [2 ⁇ n,k,d] 2 , B 2 is the codeword [2 ⁇ n,k 2 ,d 2 ] 2 , B 3 is the all-zero codeword,
  • the outer code A 1 of C GEL is the Galois Field
  • 2 ⁇ n is the number of bits contained in the encoded codewords of B 0 , B 1 , and B 3
  • 2 ⁇ n, k, and k 2 are respectively contained in the codewords of B 0 , B 1 , and B 3
  • the number of bits, 1, d and d 2 are the minimum Hamming distances of the encoded codewords of B 0 , B 1 and B 3 respectively.
  • h is the number of symbols contained in the encoded codewords of A2 and A3
  • K and h are the number of symbols contained in the codewords before and after A2 and A3 encoding respectively.
  • m 1 , m 2 , m 3 represent the number of bits contained in the symbols in A 1 , A 2 and A 3 codewords respectively (or, they can also represent the extended field GF(2 m1 ) of GF(2), GF (2 m2 ), the dimensions of the elements in GF(2 m3 ) under the vector representation).
  • the historical code block includes n ⁇ h bits
  • the multiple data code blocks include k 2 h+K m 2 bits of the original data stream (that is, payload bits )
  • the first overhead code block includes m 1 ⁇ h bits of original overhead
  • the second overhead code block includes (hK) ⁇ m 2 bits of additional overhead.
  • V i is a binary matrix with h rows and n columns
  • V i is an all-zero matrix with h rows and n columns;
  • the component code in the space coupling code is a GEL code
  • the GEL code is The code word of each column in the GEL code is the component code B[2 n, k, d] 2 of the original space coupling code (for example, OFEC code block);
  • V T is the transpose of matrix V
  • N 0 is a non-negative integer determined according to the coupling mode of space-coupled codes
  • the continuously sent FEC code blocks constitute a semi-infinite sequence
  • one FEC code block includes N rows and K columns
  • the corresponding semi-infinite sequence includes N rows and infinitely many columns.
  • the semi-infinite sequence V is the bit sum of the first overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code Bits of the second overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits and k 2 ⁇ h+K ⁇ m 2 payload bits to generate all m 1 ⁇ h+(hK) ⁇ m 2 original overhead and additional overhead.
  • the semi-infinite sequence V is the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code, and the bits of the first overhead code block generated based on the bits of the second overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits and m 2 ⁇ (hK) overhead to generate m 1 ⁇ h bits of original overhead.
  • the FEC code block V i is a sub-matrix for the component code A i A' i transpose (A' i ) rearrangement of T , wherein, the component code A i is a matrix of 256 rows and 16 columns, and the sub-matrix A' i is the rear 128 row and 16 column matrix of A i , and the component code A i includes Historical code block C i , a plurality of data code blocks and the first overhead code block, V i includes 8 sub-matrices V i,t (r,c) of 16 rows and 16 columns arranged in a row-wise matrix of 16 rows and 128 columns , i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are the row number and column number of the sub-matr
  • the code word C of the GEL code and the GEL inner code B 0 are Identity code word [256,256,1] 2
  • B 1 is extended BCH code word [256,239,6] 2
  • B 2 is extended BCH code word [256,231,8] 2
  • the code word C of GEL code A 1 of GEL outer code is the all-zero code word on GF(2 17 )
  • a 2 is the cyclic RS code on GF(2 8 )
  • a 3 is the identity codeword on GF(2 231 )
  • the sub-matrix A' i transpose (A' i ) T of the component code A i is a plurality of data code blocks, the first overhead code block and the second overhead code
  • the transposition of the block, (A′ i ) T includes 8 sub-matrices of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c is the row number and column number of sub-matrix (A' i,t (r,c)) T respectively, t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c is an integer greater than or equal to 0 and less than or equal to 15.
  • the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, when the FEC code block When i in V i is an even number, select the j-th 16-row 16-column matrix V i-19+2*j, j of the historical FEC code block with the serial number i-19+2*j, and then transpose and rearrange Transpose to obtain C i, j in the historical code block; when i in the FEC code block V i is an odd number, select the jth 16th row 16 of the historical FEC code block with the sequence number i-21+2*j The column matrix V i-21+2*j,j is transposed and rearranged and then transposed to obtain C i,j in the historical code block.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the FEC code block V i select the j-th 16-row 16-column matrix V i-27+j, j of the historical FEC code block with the serial number i-27+j to transpose and rearrange and then transpose to obtain C i in the historical code block ,j .
  • the data code block is the same as the second overhead code block
  • the code block constitutes a code block with 16 rows and 111 columns (among them, columns 103-110 (serial numbers start from 0) of rows 14-15 (serial numbers start from 0) are the second overhead code blocks, and the rest are original data ),
  • the first overhead code block is an encoding information matrix with 16 rows and 17 columns.
  • the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
  • the rearrangement rule definition of ⁇ as follows:
  • ⁇ i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
  • the FEC code block V is composed of Eight rearranged sub-matrixes B t are determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is greater than or equal to 0 and less than or equal to 7 integer.
  • the GEL code is 256 A matrix block with 16 rows and 16 columns, wherein, the matrix block of the 0-127 row is determined from the historical FEC code block, the matrix block of the 128-230 row is a data code block, and the first 14 columns of the matrix block of the 231-238 row are For the data code block, the second overhead code block occupies the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
  • an encoding device including: a processing unit, configured to encode an original data stream to generate a forward error correction (FEC) code block, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N are integers greater than zero; the transceiver unit is used to send the FEC code block.
  • FEC forward error correction
  • a decoding device including: a transceiver unit, used for forward error correction FEC code blocks; a processing unit, used for decoding the FEC code blocks to restore the original data stream, and the FEC code blocks include multiple A data code block, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in the FEC code block M rows of blocks, where M is less than or equal to N, where M and N are integers greater than zero.
  • the currently transmitted FEC code block is based on the structure of the existing spatially coupled code, coupled with the general error position GEL code to generate additional redundancy, and generate the existing spatially coupled code for each row The original redundancy of the code.
  • the currently transmitted FEC code block is based on the structure of the spatially coupled code, and coupled with the GEL code to generate original redundancy and additional redundancy.
  • the original redundancy can be generated by the inner code B 1 of the GEL code according to the complete GEL codec method; or, the original redundancy can be generated by the component code B of the original space-coupled code according to the partial GEL codec method, which exists in Each row of the FEC code block, and each row of the FEC code block is half of the codeword B.
  • Additional redundancy is generated by the outer code A2 of the GEL, present in some rows of the FEC code block.
  • the FEC code block includes s matrices of n rows and h columns arranged in h rows and h columns of matrices.
  • the FEC code block contains k 2 ⁇ h+K ⁇ m 2 payload bits (ie, bits of the original data stream), m 1 ⁇ h bits of original overhead and (hK) ⁇ m 2 bits of overhead.
  • the second overhead code block may occupy some bits in any one data code block of the multiple data code blocks.
  • the second overhead code block is a matrix located in rows 14-15 and columns 7-14 of the seventh code block, etc., which is not specifically limited in the present application.
  • the first overhead code block of the space-coupled code in this implementation is generated by the GEL inner code B 1 (that is, according to the complete GEL encoding and decoding method), or the first overhead code block is generated by the original space
  • the component code B of the coupled code is generated (that is, according to a partial GEL encoding and decoding mode); the second overhead code block is generated by re-encoding the encoding result of the inner code with the outer code of the GEL.
  • the additional redundancy in this implementation (eg, a second overhead code block) provides improved error correction capability, which is beneficial for reducing the error floor and providing faster convergence.
  • overhead symbol can be replaced in non-specific cases
  • overhead code block can include “overhead symbol”, “redundant symbol”, “Check symbol”, etc.
  • code block and “matrix” can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix.
  • one symbol may correspond to multiple bits
  • one code block may include multiple symbols
  • a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
  • the original data stream may include multiple bits, symbols, etc., which are not specifically limited in this application.
  • the processing unit is also used to: select any codeword in the general error location GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code A component code serving as a spatially coupled code to generate a first overhead code block and a second overhead code block.
  • the processing unit is further configured to: when the second overhead code block is generated according to the code word C GEL of the GEL code, use the parity check matrix H B of C GEL to pair GEL The column code of the code is checked, and the second overhead code block is generated by encoding the row code of the first parity check matrix.
  • the first parity check matrix is determined according to the product of the sub-matrix of H B and the sub-matrix of the GEL code .
  • GEL codes are a class of block codes with good properties.
  • the H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2 ⁇ n ⁇ 2 ⁇ n, the check matrix H 1 of B 1 in rows k+1 to 2 ⁇ n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 .
  • the first to k 2 rows of H 3 include a k 2 ⁇ k 2 identity matrix and a 2 ⁇ nk 2 zero matrix.
  • the m 2 ⁇ (hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding.
  • the matrix determined in rows k+1 to 2 ⁇ n is all 0s before encoding, and is used to store the first overhead after encoding.
  • the first is to use the complete GEL code C GEL encoding method to encode, using the historical code block bits and k 2 h+K m 2 payload bits to generate all m 1 h+(hK) m 2 parity bits (that is, original overhead m 1 h+extra overhead m 2 ⁇ (hK) ).
  • the second is to use GEL codes.
  • the encoding process of the GEL part generates overhead, using blocks from historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits, and m 2 ⁇ (hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ⁇ h-bit original overhead.
  • the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed Encoding, putting the generated parity check matrix into the m 2 ⁇ (hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method.
  • the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2 ⁇ n rows as the first overhead .
  • the component code A i of the space-coupled code is a GEL code
  • the component code A i includes a historical code block C i , a plurality of data code blocks, a first overhead code block and the second overhead code block.
  • the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
  • one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
  • the component code is a GEL code; wherein, C GEL includes 4 inner codes and The matrix of 2 ⁇ n rows and h columns of 3 outer codes, the code length of the inner code and the code length of the outer code are 2 ⁇ n and h respectively, and the inner code B 0 of C GEL is the identity code word [2 ⁇ n, 2 ⁇ n,1] 2 , B 1 is the codeword [2 ⁇ n,k,d] 2 , B 2 is the codeword [2 ⁇ n,k 2 ,d 2 ] 2 , B 3 is the all-zero codeword,
  • the outer code A 1 of C GEL is the Galois Field
  • the historical code block includes n ⁇ h bits
  • the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits )
  • the first overhead code block includes m 1 ⁇ h bits of original overhead
  • the second overhead code block includes (hK) ⁇ m 2 bits of additional overhead.
  • V i is a binary matrix with h rows and n columns
  • V i is an all-zero matrix with h rows and n columns;
  • the component code in the space coupling code is a GEL code
  • the GEL code is The codeword of each column in the GEL code is the component code B[2 ⁇ n,k,d] 2 of the original space-coupled code (eg, OFEC code block).
  • V T is the transpose of matrix V
  • N 0 is a non-negative integer determined according to the coupling mode of space-coupled codes
  • the continuously sent FEC code blocks constitute a semi-infinite sequence
  • one FEC code block includes N rows and K columns
  • the corresponding semi-infinite sequence includes N rows and infinitely many columns.
  • the semi-infinite sequence V is the bit sum of the first overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code Bits of the second overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits and k 2 ⁇ h+K ⁇ m 2 payload bits to generate all m 1 ⁇ h+(hK) ⁇ m 2 original overhead and additional overhead.
  • the semi-infinite sequence V is the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code, and the bits of the first overhead code block generated based on the bits of the second overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits and m 2 ⁇ (hK) overhead to generate m 1 ⁇ h bits of original overhead.
  • the FEC code block V i is a sub-matrix for the component code A i A' i transpose (A' i ) rearrangement of T , wherein, the component code A i is a matrix of 256 rows and 16 columns, and the sub-matrix A' i is the rear 128 row and 16 column matrix of A i , and the component code A i includes Historical code block C i , a plurality of data code blocks and the first overhead code block, V i includes 8 sub-matrices V i,t (r,c) of 16 rows and 16 columns arranged in a row-wise matrix of 16 rows and 128 columns , i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are the row number and column number of the sub-matr
  • the code word C of the GEL code GEL inner code B 0 is Identity code word [256,256,1] 2
  • B 1 is extended BCH code word [256,239,6] 2
  • B 2 is extended BCH code word [256,231,8] 2
  • the code word C of GEL code A 1 of GEL outer code is the all-zero code word on GF(2 17 )
  • a 2 is the cyclic RS code on GF(2 8 )
  • a 3 is the identity codeword on GF(2 231 )
  • the sub-matrix A' i transpose (A' i ) T of the component code A i is a plurality of data code blocks, the first overhead code block and the second overhead code
  • the transposition of the block, (A′ i ) T includes 8 sub-matrices of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c is the row number and column number of sub-matrix (A' i,t (r,c)) T respectively, t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c is an integer greater than or equal to 0 and less than or equal to 15.
  • the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, when the FEC code block When i in V i is an even number, select the j-th 16-row 16-column matrix V i-19+2*j, j of the historical FEC code block with the serial number i-19+2*j, and then transpose and rearrange Transpose to obtain C i, j in the historical code block; when i in the FEC code block V i is an odd number, select the jth 16th row 16 of the historical FEC code block with the sequence number i-21+2*j The column matrix V i-21+2*j,j is transposed and rearranged and then transposed to obtain C i,j in the historical code block.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the FEC code block V i select the j-th 16-row 16-column matrix V i-27+j, j of the historical FEC code block with the serial number i-27+j to transpose and rearrange and then transpose to obtain C i in the historical code block ,j .
  • the data code block and the second overhead code determines a code block with 16 rows and 111 columns (wherein, the 103-110 columns (serial numbers start from 0) of the 14th-15th rows (serial numbers start from 0) are the second overhead code blocks, and the rest are original data),
  • the first overhead code block is an encoding information matrix with 16 rows and 17 columns. After rearranging the bits (or symbols) in the original data, the first overhead and the second overhead code block, the coded FEC code block can be obtained.
  • the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
  • the rearrangement rule of ⁇ is defined as follows:
  • ⁇ i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
  • the FEC code block V i is composed of Eight rearranged sub-matrixes B t are determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is greater than or equal to 0 and less than or equal to 7 integer.
  • the GEL code is 256 A matrix block with 16 rows and 16 columns, wherein, the matrix block of the 0-127 row is determined from the historical FEC codeword, the matrix block of the 128-230 row is a data code block, and the first 14 columns of the matrix block of the 231-238 row are For the data code block, the second overhead code block occupies the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
  • a coding device including a processor, and optionally, a memory, the processor is used to control the transceiver to send and receive signals, the memory is used to store a computer program, and the processor is used to call from the memory And run the computer program, so that the encoding device executes the method in the above first aspect or any possible implementation manner of the first aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory can be integrated with the processor, or the memory can be set separately from the processor.
  • the encoding device further includes a transceiver, which may specifically be a transmitter (transmitter) and a receiver (receiver).
  • a transceiver which may specifically be a transmitter (transmitter) and a receiver (receiver).
  • a decoding device including a processor, and optionally, a memory
  • the processor is used to control the transceiver to send and receive signals
  • the memory is used to store a computer program
  • the processor is used to call from the memory And run the computer program, so that the coding device executes the method in the above second aspect or any possible implementation manner of the second aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory can be integrated with the processor, or the memory can be set separately from the processor.
  • the decoding device further includes a transceiver, which may specifically be a transmitter (transmitter) and a receiver (receiver).
  • a transceiver which may specifically be a transmitter (transmitter) and a receiver (receiver).
  • a codec device including: various modules or units for implementing the method in the first aspect or any possible implementation manner of the first aspect; or, for implementing the second aspect or the second Each module or unit of the method in any possible implementation of the aspect.
  • an optical communication system including: a codec device, configured to execute the method in the above first aspect or any possible implementation manner of the first aspect, or to execute the above second aspect or the method in the first aspect The method in any one of the possible implementations of the two aspects.
  • a computer-readable storage medium stores computer programs or codes, and when the computer programs or codes run on a computer, the computer executes the above-mentioned first aspect or the first aspect The method in any possible implementation manner, or causing the computer to execute the above second aspect or the method in any possible implementation manner of the second aspect.
  • a chip including at least one processor, the at least one processor is coupled to a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the installed
  • the encoding device of the chip system executes the method in the above-mentioned first aspect or any possible implementation of the first aspect, or makes the decoding device installed with the chip system execute the above-mentioned second aspect or any of the possible implementations of the second aspect method in .
  • the chip may include an input circuit or interface for sending information or data, and an output circuit or interface for receiving information or data.
  • a computer program product in an eleventh aspect, includes computer program code, and when the computer program code is run by a coding device, the coding device is made to perform any one of the above-mentioned first aspect or the first aspect.
  • a codec method is provided, by using one of the coding methods such as general error location GEL, general concatenated GCC, tensor product (tensor product) and general integrated interleaving code word GII as Component codes of space-coupled codes, resulting in overhead.
  • the first overhead equal to the overhead size of the current spatially coupled code
  • the second overhead and the characteristics of the GEL code
  • decoding is performed using the current spatially coupled code.
  • the delay is reduced, the slope of the performance curve is improved, and the bit error floor is significantly reduced; the output bit error rate (bit error rate) is reduced by negligible power and complexity costs, and a reasonable overhead (overhead).
  • BER bit error floor is reduced to 1e-15 level.
  • FIG. 1 is a schematic diagram of an example of spatial coupling where the component codes applicable to the present application are BCH codes.
  • FIG. 2 is a schematic diagram of an example of a spatially coupled code to which the block code of the present application is applied.
  • FIG. 3 is a schematic diagram of an example of a decoding process of sliding window decoding to which the spatially coupled code of the present application is applied.
  • FIG. 4 is a schematic diagram of an example of a general error location GEL code applicable to this application.
  • FIG. 5 is a schematic diagram of an example of the encoding process of the GEL code to which this application is applied.
  • FIG. 6 is a schematic diagram of an example of a decoding process of a GEL code to which the present application is applied.
  • FIG. 7 is a schematic diagram showing an example of using GEL codes as component codes in a space coupling structure to which the present application is applied.
  • FIG. 8 is a schematic diagram of an example of using GEL codes as component codes in a spatially coupled staircase applicable to the present application.
  • Fig. 9 is a schematic diagram of an example of the error floor of the staircase and staircase-GEL codes applicable to the present application.
  • FIG. 10 is a schematic diagram of an example of a spatial coupling FEC encoding method applicable to the present application.
  • FIG. 11 is a schematic diagram of an example of a decoding method for spatial coupling forward error correction applicable to the present application.
  • Fig. 12 is a schematic diagram of an example of a coupling frame structure of the space coupling code open FEC and the GEL code applicable to the present application.
  • FIG. 13 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application.
  • Fig. 14 is a schematic diagram of another example of the FEC applicable to the optical transmission scenario of the present application.
  • Fig. 15 is a schematic diagram of an example of a spatial coupling forward error correction coding device applicable to the present application.
  • Fig. 16 is a schematic diagram of an example of a spatial coupling forward error correction decoding device applicable to the present application.
  • Fig. 17 is a schematic diagram of an example of a spatial coupling forward error correction coding device applicable to the present application.
  • Fig. 18 is a schematic diagram of an example of a spatial coupling forward error correction decoding device applicable to the present application.
  • FEC forward error correction
  • Spatial coupling codes include braided block codes (braided block codes, BBC), continuous interleaved BCH (continuously-interleaved bose-chaudhuri-hocquenghem, CI-BCH) codes, staircase codes (staircase), open forward error correction codes (open forward error correction, OFEC) and zipper codes, these error-correcting codes take advantage of low decoding complexity to achieve high performance.
  • spatially coupled error correction code spatially coupled error correction code, SC ECC
  • SC ECC spatially coupled error correction code
  • FIG. 1 is a schematic diagram of an example of a spatially coupled code in which the component code applicable to the present application is a BCH code.
  • the 128-bit Info_Pad represents the historical code block, and some bits in the previously transmitted codeword (through a certain mapping relationship ), 111 bits are the original data bits to be transmitted currently.
  • Different space coupling codes can be simply understood as different rules for selecting the Info_Pad of the component codes.
  • the component code of the original open FEC is a (256, 239) single parity bit extended BCH code.
  • the transmitted i-th FEC code block W i includes eight matrices of 16 rows and 16 columns, i represents the serial number of the FEC code block, and W i,t can be used to represent the t-th code block in W i (0 ⁇ t ⁇ 7 integer).
  • a 16-row 111-column data code block D i is obtained from the current information to be transmitted, and a 16-row 239-column code block to be encoded is obtained by splicing the historical code block C i code block and the data code block D i back and forth, and then for each Extended BCH (256, 239) encoding for one line, and finally a code block A i with 16 rows and 256 columns can be obtained, which is equivalent to 16 sub-matrices with 16 rows and 16 columns arranged in rows, and A i,p represents the pth in A i A code block with 16 rows and 16 columns (0 ⁇ p ⁇ 15).
  • the first 16 rows and 128 columns of A i come from the historical code block C i and will not be transmitted.
  • A' i is divided into eight 16-row and 16-column matrices A' i,t , where A' i,t represents the t-th 16-row and 16-column code block in A' i (0 ⁇ t ⁇ 7). After rearranging each sub-matrix A' i in A' i , W i can be obtained.
  • the rearrangement rules can be arbitrary, and W is ⁇ (W) after rearrangement.
  • ⁇ (W) i,j represents the element corresponding to the i-th (0 ⁇ i ⁇ 15) row and j-th column (0 ⁇ j ⁇ 15) column of the matrix.
  • the rearrangement rules in open FEC can be expressed by the following formula:
  • This implementation can utilize the interleaving relationship between codewords to improve error correction capabilities, that is, to improve bit error performance.
  • the number of trap sets is higher and the error floor is higher.
  • FIG. 2 is a schematic diagram of an example of a space-coupled code to which this application is applied. That is, a spatially coupled code is constructed from the historical code block and the newly input data code block. As shown in Figure 2, each code block consists of information symbols (data) and parity symbols (overhead).
  • any space-coupled code can be simply constructed by the following process: data is divided into blocks; where each block is composed of information symbols and check symbols; current information symbols are put into new code blocks; new code blocks The verification part of is obtained by selecting some symbols in the historical coding block, combining with the current information symbols, and performing component code coding (GEL in this application).
  • the core part of this implementation is the selected block code (the component codes are block codes) and the mapper.
  • the main difference between these different types of space-coupled codes lies in the internal structure of the mapper and the selected component codes.
  • Decoding of space-coupled codes is performed using a "sliding window" decoding technique. That is, the receiver collects s code block matrices V i from the channel and/or from previous processing, V i+1? ,...,V i+s-1 (window). Then, the decoding step of sliding window decoding (as shown in Fig. 3) is applied for decoding. Thereafter, the window "shifts" and the decoder utilizes only the following matrices V i+1 , V i+2 , . . . , V i+s .
  • FIG. 3 is a schematic diagram of an example of a decoding process of sliding window decoding to which the spatially coupled code of the present application is applied.
  • the specific decoding steps are as follows:
  • the codewords that can generate the second overhead include: generalized concatenated codewords (generalized concatenated code, GCC), generalized error location codes (generalized error location codes, GEL) codes, locally repairable codes (locally repairable codes, LRC), generalized integrated interleaved (generalized integrated interleaved, GII) code, etc.
  • GCC generalized concatenated code
  • GEL generalized error location codes
  • LRC locally repairable codes
  • GII generalized integrated interleaved
  • the second overhead of the GEL is a matrix obtained by matrix multiplication of the GEL code sub-matrix by the H B matrix, and then the overhead of the row code generated by performing row code encoding on the matrix.
  • FIG. 4 is a schematic diagram of an example of a general error location GEL code applicable to this application.
  • the GEL code structure includes row codes and column codes, and the check symbols of the GEL code are usually obtained by encoding the check symbols of the column codes by using the row codes.
  • Row codes can also be called outer codes, and column codes can also be called inner codes.
  • F q be a finite field with q elements
  • B i be [n,k i ,d i ] q linear code, where i ⁇ 0,1,...,L ⁇ , n represents the encoded code character
  • k represents the length of the payload symbol before encoding
  • d represents the minimum Hamming distance after encoding.
  • H i is a m i ⁇ n sub-matrix
  • m i can represent the number of bits contained in the codeword symbol of the outer code A i , and can also be expressed as the dimension under the vector representation of the elements in the F Qi field.
  • m i k i ? 1 ? k i ⁇ ⁇ 1,2,...,L ⁇ ; moreover, the matrix H i , H i? 1 ,...,H 1 form the parity check matrix of Bi .
  • N represents the codeword length after encoding
  • K represents the payload length before encoding
  • D represents the minimum Hamming distance after encoding.
  • C satisfies the following conditions:
  • the linear subspace C based on the n ⁇ N matrix of F q is called the general error location (GEL) code, which has L+1 inner code and L outer code B 0 , B 1 ,..., BL and A 1 , A 2 , ... A L .
  • GEL general error location
  • c represents an n ⁇ N matrix in C
  • c is an element in C space.
  • the outer code uses a systematic form of encoding and adopts a special form of matrix H B , namely:
  • I i is the identity matrix of m i ⁇ m i ;
  • O i,j is the zero matrix of m i ⁇ m j ;
  • P i,j is the m i ⁇ m j matrix based on the finite field F q .
  • the codeword c of the GEL code can be split into 2L sub-matrices whose size is m i ⁇ K i or m i ⁇ (NK i ), where i ⁇ 1,2 ,...,L ⁇ , as follows:
  • X i and Y i are respectively m i ⁇ K i and m i ⁇ (NK i ) sub-matrices, i ⁇ 1,2,...,N ⁇ .
  • Fig. 5 is a schematic diagram of an example of the encoding process of the GEL code applicable to the present application.
  • the specific decoding steps are as follows:
  • the matrix H B -1 is the standard matrix inverse of H B.
  • FIG. 6 is a schematic diagram of an example of a decoding process of a GEL code to which the present application is applied.
  • the specific decoding steps are as follows:
  • the decoding of the GEL code can be done step by step. In fact, a partial iterative loop and update can be performed on the codeword v. It can reduce the number of erroneous symbols in a codeword, but it cannot correct all errors. Encoding and decoding using GEL codes will help to enhance existing spatially coupled codes and design new spatially coupled codes
  • FIG. 7 is a schematic diagram showing an example of using GEL codes as component codes in a space coupling structure to which the present application is applied.
  • GEL codes as component codes in a space coupling structure to which the present application is applied.
  • FIG. 7 in order to design long GEL codes with high performance, it is necessary to use codewords with larger minimum Hamming distance in larger finite fields.
  • existing GEL codes do not support iterative decoding. Therefore, the embodiment of the present application adopts the GEL code as the component code in the spatial coupling structure.
  • FIG. 8 is a schematic diagram of an example of using GEL codes as component codes in a spatially coupled staircase applicable to the present application.
  • the component code can correct up to two errors using the original overhead, and has a relatively high error floor.
  • the designed GEL-based ladder code can correct up to 2 errors per column, and may correct up to 3 errors in some columns using original overhead and additional overhead.
  • FIG. 9 is a schematic diagram of an example of the error floor of the staircase and staircase-GEL codes applicable to the present application.
  • the combination of staircase and GEL structure has better performance and lower error. That is, the FEC obtained by the staircase-GEL code space coupling has a lower error floor and a better slope of the performance curve. It should be understood that both FECs have the same overhead and delay.
  • the error floor has nothing to do with the delay of the decoding algorithm, the two are independent.
  • staircase-GEL is suitable for high-rate and extremely low-latency structures, which cannot be achieved by Staircase-BCH and GEL respectively.
  • Classical staircase-BCH requires a large decoding window size to avoid poor performance.
  • the present application provides a codec method to obtain subcodes of the original code with better properties (i.e., larger minimum distance) by adding additional overhead, and to provide performance improvement, reduce errors in decoding new features.
  • Reduce latency by adding overhead improve the slope of the performance curve, and significantly reduce the error floor; reduce the error floor to 1e-15 by outputting BER at negligible power and complexity costs, and adding reasonable OH .
  • "at least one” means one or more than two.
  • "And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
  • a and/or B which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural.
  • the character "/" generally indicates that the contextual objects are an "or” relationship.
  • FIG. 10 is a schematic diagram of an example of a method 1000 for spatially coupled FEC coding applicable to the present application.
  • the specific implementation steps include:
  • the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block (for example, as shown in FIG. 13 ), wherein the FEC code block includes N rows, and the first overhead code block is located in the FEC code block In each row of the N rows, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
  • the original data stream may include bits, symbols, etc., which are not specifically limited in the present application.
  • the first overhead code block is generated by encoding the information matrix to be encoded determined by the data code block and the second overhead code block based on the encoding method of the space coupling code
  • the second overhead code block is based on the general error location GEL code , general concatenated code GCC, tensor product and general integrated interleaved GII code generated by any one codeword
  • the second check symbol occupies Q bits of the data code block
  • Q is an integer greater than zero.
  • a possible implementation is to select any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the second overhead code block.
  • the check matrix H B of C GEL is used to check the column code of the GEL code
  • the second overhead code block is the first
  • the first check matrix is generated by encoding the row codes of the check matrix, and the first check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
  • GEL codes are a class of block codes with good properties.
  • the H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2 ⁇ n ⁇ 2 ⁇ n, the check matrix H 1 of B 1 in rows k+1 to 2 ⁇ n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 .
  • the first to k 2 rows of H 3 include a k 2 ⁇ k 2 identity matrix and a 2 ⁇ nk 2 zero matrix.
  • the m 2 ⁇ (hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding.
  • the matrix determined in rows k+1 to 2 ⁇ n is all 0s before encoding, and is used to store the first overhead after encoding.
  • the improved space-coupled code is a special subcode of the original space-coupled code.
  • the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed Encoding, putting the generated parity check matrix into the m 2 ⁇ (hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method.
  • the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2 ⁇ n rows as the first overhead .
  • the component code A i of the spatially coupled code is a GEL code
  • the component code A i includes a historical code block C i , multiple data code blocks, a first overhead code block, and a second overhead code block.
  • the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
  • one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
  • V i is composed of s square matrices (V i,0 V i,1 ... V i,s-1 ) of h ⁇ h (h rows and h columns). So a semi-infinite sequence V can be defined as:
  • V i is an all-zero matrix of h ⁇ n (h rows and n columns);
  • Each row of is a codeword in the codeword space of the component code B of the space-coupled code
  • the original space coupling code corresponds to the semi-infinite sequence
  • W i is a binary matrix of h ⁇ n (h rows and n columns)
  • h is a divisor of n
  • s n/h.
  • W i is composed of s square matrices (W i,0 W i,1 ...W i,s-1 ) of h ⁇ n (h rows and h columns). So a semi-infinite sequence can be defined as:
  • the matrix W i is an all-zero matrix of h ⁇ n (h rows and n columns);
  • a suitable new space-coupled code is designed to allow FEC codewords with low-complexity decoding process and low error floor at low delay and high throughput Applications in high-volume, high-speed communication transmission scenarios.
  • the semi-infinite sequence V is the bits of the first overhead code block and the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code.
  • the semi-infinite sequence V is based on historical code blocks bits and k 2 ⁇ h+K ⁇ m 2 payload bits to generate all m 1 ⁇ h+(hK) ⁇ m 2 original overhead and additional overhead.
  • the semi-infinite sequence V is based on the encoding method of the GEL code, based on the bits of the historical code block and the bits of the original data stream, the bits of the generated second overhead code block, and the bits based on the second overhead code block
  • the bits of are the bits of the generated first overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits and m 2 ⁇ (hK) overhead to generate m 1 ⁇ h bits of original overhead.
  • the modified semi-infinite sequence V contains (hK) ⁇ m 2 additional overheads in each code block V i , while retaining the structure of the original space-coupled code.
  • the extra overhead is introduced by the GEL codeword C GEL , which is more overhead than the overhead of the original space-coupled code.
  • the inner code word B 0 and B 3 of C GEL are the identity code word [2 n, 2 n, 1] 2 and the all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code word, B 2 is the codeword [2 ⁇ n,k 2 ,d2] 2 , which is also the subcode of B 1 , so there is According to the above description of GEL, the obtained H B matrix is:
  • all the outer codes of the GEL code word C GEL are code words defined on different extension fields of the binary field. That is, the outer code A 1 of C GEL is the Galois Field The all-zero codeword on A 2 is the Galois Field codeword on A 3 is Galois field identity codeword on Wherein, in this implementation, A 2 is used as an error correction code for encoding and decoding.
  • the historical code block includes n ⁇ h bits
  • the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits) of the original data stream
  • the first overhead code block includes m 1 ⁇ h bits of original overhead
  • the second overhead code block includes (hK) ⁇ m 2 bits of overhead.
  • the FEC code block V i is a rearrangement of the transpose (A' i ) T of the sub-matrix A' i of the component code A i , where the component code A i is a matrix with 256 rows and 16 columns, The sub-matrix A' i is the last 128 rows and 16 columns matrix of A i , the component code A i includes the historical code block C i , multiple data code blocks and the first overhead code block, V i includes eight sub-matrixes with 16 rows and 16 columns Matrix V i,t (r, c) is a matrix of 16 rows and 128 columns arranged in the row direction, i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are sub-matrixes V i, The row number and column number of t (r,c), t is an integer greater than or equal to 0 and less than or equal to 7, i is an
  • the sub-matrix A' i transpose (A' i ) T of the component code A i is the transpose of multiple data code blocks, the first overhead code block and the second overhead code block
  • (A' i ) T includes 8 sub-matrices (A' i,t (r,c)) of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c are sub-matrices (A' i,t (r,c))
  • the row number and column number of T , t is an integer greater than or equal to 0 and less than or equal to 7
  • i is an integer greater than or equal to
  • r and c are greater than or equal to 0 and less than or an integer equal to 15.
  • the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15, c is greater than or equal to 7 and An integer less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is greater than or equal to 0 and An integer less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  • the historical code block C i includes 8 sub-matrices C i,t with 16 rows and 16 columns arranged in the column direction, and a matrix with 128 rows and 16 columns, when i in the FEC code block V i is an even number , select the j-th 16-row and 16-column matrix V i-19+2*j ,j of the historical FEC code block with the serial number i-19+2*j to transpose and rearrange and then transpose to obtain the historical code block C i,j in ; when i in the FEC code block V i is an odd number, select the j-th 16-row 16-column matrix V i-21+2 of the historical FEC code block whose serial number is i-21+ 2*j *j,j are transposed and rearranged and then transposed to obtain C i,j in the historical code block.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the sequence number of the FEC code block V i is i-27+ The j-th 16-row and 16-column matrix V i-27+j,j of j 's historical FEC code block is transposed, rearranged and then transposed to obtain C i,j in the historical code block.
  • the code word C of the GEL code GEL inner code B 0 is the identity code word [256,256,1] 2
  • B 1 is the extended BCH code word [256,239,6] 2
  • B 2 is the extended BCH code word [256,231,8] 2
  • the outer code A 1 is the all-zero code word on GF(2 17 )
  • a 2 is the cyclic RS code on GF(2 8 )
  • a 3 is the identity codeword on GF(2 231 )
  • the data code block and the second overhead code block determine a 16-row 111-column code blocks (wherein, the 14th-15th row (the serial number starts from 0), the 103-110 column (the serial number starts from 0) is the second overhead code block, and the rest is the original data), the first overhead code block is 16 An encoded information matrix with 17 rows and 17 columns. After rearranging the bits (or symbols) in the data code block, the first overhead code block and the second overhead code block, an encoded FEC code block can be obtained.
  • the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
  • the rearrangement rule of ⁇ is defined as follows:
  • ⁇ i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
  • the FEC code block V i consists of 8 rearranged sub-matrices B t is determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is an integer greater than or equal to 0 and less than or equal to 7.
  • the GEL code is an information matrix block with 256 rows and 16 columns
  • the matrix blocks of rows 0-127 are determined from historical FEC code blocks
  • the matrix blocks of rows 128-230 are data code blocks
  • the first 14 columns of information matrix blocks of rows 231-238 are data code blocks
  • the second The overhead code blocks occupy the last two columns of the matrix block in rows 231-238 of the GEL code
  • the first overhead code block is located in rows 239-255.
  • FIG. 11 is a schematic diagram of an example of a method 1100 for spatially coupled FEC decoding applicable to the present application.
  • the specific implementation steps include:
  • the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block (for example, as shown in FIG. 13 ), wherein the FEC code block includes N rows, and the first overhead code block is located in the FEC code block In each row of the N rows, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
  • the original data stream may include bits, symbols, etc., which are not specifically limited in the present application.
  • overhead symbol can be replaced in non-specific cases
  • overhead code block can include “overhead symbol”, “redundant symbol”, “Check symbol”, etc.
  • code block and “matrix” can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix.
  • one symbol may correspond to multiple bits
  • one code block may include multiple symbols
  • a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
  • the first overhead code block is generated by encoding the information matrix to be encoded determined by the data code block and the second overhead code block based on the encoding method of the space coupling code
  • the second overhead code block is based on the general error location GEL code , general concatenated code GCC, tensor product and general integrated interleaved GII code generated by any one codeword
  • the second overhead code block occupies Q bits of the data code block, and Q is an integer greater than zero.
  • a possible implementation is to select any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the second overhead code block.
  • the check matrix H B of C GEL is used to check the column code of the GEL code
  • the second overhead code block is It is generated by encoding the row codes of the first check matrix, and the first check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
  • GEL codes are a class of block codes with good properties.
  • the H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2 ⁇ n ⁇ 2 ⁇ n, the check matrix H 1 of B 1 in rows k+1 to 2 ⁇ n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 .
  • the first to k 2 rows of H 3 include a k 2 ⁇ k 2 identity matrix and a 2 ⁇ nk 2 zero matrix.
  • the m 2 ⁇ (hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding.
  • the matrix determined in rows k+1 to 2 ⁇ n is all 0s before encoding, and is used to store the first overhead after encoding.
  • the improved space-coupled code is a special subcode of the original space-coupled code.
  • the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed Encoding, putting the generated parity check matrix into the m 2 ⁇ (hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method.
  • the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2 ⁇ n rows as the first overhead .
  • the component code A i when the component code A i is a GEL code, the component code A i includes a historical code block C i , multiple data code blocks, a first overhead code block, and a second overhead code block.
  • the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
  • one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
  • V i is composed of s square matrices (V i,0 V i,1 ... V i,s-1 ) of h ⁇ h (h rows and h columns). So a semi-infinite sequence V can be defined as:
  • V i is an all-zero matrix of h ⁇ n (h rows and n columns);
  • Each row of is a codeword in the codeword space of the component code B of the space-coupled code
  • the original space coupling code corresponds to the semi-infinite sequence
  • W i is a binary matrix of h ⁇ n (h rows and n columns)
  • h is a divisor of n
  • s n/h.
  • W i is composed of s square matrices (W i,0 W i,1 ...W i,s-1 ) of h ⁇ n (h rows and h columns). So a semi-infinite sequence can be defined as:
  • the matrix W i is an all-zero matrix of h ⁇ n (h rows and n columns);
  • a suitable new space-coupled code is designed to allow FEC codewords with low-complexity decoding process and low error floor at low delay and high throughput Applications in high-volume, high-speed communication transmission scenarios.
  • the semi-infinite sequence V is the bits of the first overhead code block and the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code.
  • the semi-infinite sequence V is based on historical code blocks bits and k 2 ⁇ h+K ⁇ m 2 payload bits to generate all m 1 ⁇ h+(hK) ⁇ m 2 original overhead and additional overhead.
  • the semi-infinite sequence V is based on the encoding method of the GEL code, based on the bits of the historical code block and the bits of the original data stream, the bits of the generated second overhead code block, and the bits based on the second overhead code block
  • the bits of are the bits of the generated first overhead code block.
  • the semi-infinite sequence V is based on historical code blocks bits, k 2 ⁇ h+K ⁇ m 2 payload bits and m 2 ⁇ (hK) overhead to generate m 1 ⁇ h bits of original overhead.
  • the modified semi-infinite sequence V contains (hK) ⁇ m 2 additional overheads in each code block V i , while retaining the structure of the original space-coupled code.
  • the extra overhead is introduced by the GEL codeword C GEL , which is more overhead than the overhead of the original space-coupled code.
  • the inner code word B 0 and B 3 of C GEL are the identity code word [2 n, 2 n, 1] 2 and the all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code word, B 2 is the codeword [2 ⁇ n,k 2 ,d2] 2 , which is also the subcode of B 1 , so there is According to the above description of GEL, the obtained H B matrix is:
  • all the outer codes of the GEL code word C GEL are code words defined on different extension fields of the binary field. That is, the outer code A 1 of C GEL is the Galois Field The all-zero codeword on A 2 is the Galois Field codeword on A 3 is Galois field identity codeword on Wherein, in this implementation, A 2 is used as an error correction code for encoding and decoding.
  • the historical code block includes n ⁇ h bits
  • the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits) of the original data stream
  • the first overhead code block includes m 1 ⁇ h bits of original overhead
  • the second overhead code block includes (hK) ⁇ m 2 bits of overhead.
  • the FEC code block V i is a rearrangement of the transpose (A' i ) T of the sub-matrix A' i of the component code A i , where the component code A i is a matrix with 256 rows and 16 columns, The sub-matrix A' i is the last 128 rows and 16 columns matrix of A i , the component code A i includes the historical code block C i , multiple data code blocks and the first overhead code block, V i includes eight sub-matrixes with 16 rows and 16 columns Matrix V i,t (r, c) is a matrix of 16 rows and 128 columns arranged in the row direction, i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are sub-matrixes V i, The row number and column number of t (r,c), t is an integer greater than or equal to 0 and less than or equal to 7, i is an
  • the sub-matrix A' i transpose (A' i ) T of the component code A i is the transpose of multiple data code blocks, the first overhead code block and the second overhead code block
  • (A' i ) T includes 8 sub-matrices (A' i,t (r,c)) of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c are sub-matrices (A' i,t (r,c))
  • the row number and column number of T , t is an integer greater than or equal to 0 and less than or equal to 7
  • i is an integer greater than or equal to
  • r and c are greater than or equal to 0 and less than or an integer equal to 15.
  • the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15, c is greater than or equal to 7 and An integer less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is greater than or equal to 0 and An integer less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  • the historical code block C i includes 8 sub-matrices C i,t with 16 rows and 16 columns arranged in the column direction, and a matrix with 128 rows and 16 columns, when i in the FEC code block V i is an even number , select the j-th 16-row and 16-column matrix V i-19+2*j,j of the historical FEC code block with the serial number i-19+2*j to transpose and rearrange and then transpose to obtain the historical code block C i,j in ; when i in the FEC code block V i is an odd number, select the j-th 16-row 16-column matrix V i-21+2 of the historical FEC code block whose serial number is i-21+ 2*j *j,j are transposed and rearranged and then transposed to obtain C i,j in the historical code block.
  • the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the sequence number of the FEC code block V i is i-27+ The j-th 16-row and 16-column matrix V i-27+j,j of j 's historical FEC code block is transposed, rearranged and then transposed to obtain C i,j in the historical code block.
  • the code word C of the GEL code GEL inner code B 0 is the identity code word [256,256,1] 2
  • B 1 is the extended BCH code word [256,239,6] 2
  • B 2 is the extended BCH code word [256,231,8] 2
  • the outer code A 1 is the all-zero code word on GF(2 17 )
  • a 2 is the cyclic RS code on GF(2 8 )
  • a 3 is the identity codeword on GF(2 231 )
  • the data code block and the second overhead code block determine a 16-row 111-column
  • the code blocks of (among them, lines 14-15 (serial numbers start from 0), columns 103-110 (serial numbers start from 0) are the second overhead code blocks, and the rest are original data), and the first overhead code block is 16 lines A matrix of encoded information with 17 columns.
  • the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
  • the rearrangement rule of ⁇ is defined as follows:
  • ⁇ i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
  • the FEC code block V i consists of 8 rearranged sub-matrices B t is determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is an integer greater than or equal to 0 and less than or equal to 7.
  • the GEL code is an information matrix block with 256 rows and 16 columns
  • the matrix blocks of rows 0-127 are determined from historical FEC code blocks
  • the matrix blocks of rows 128-230 are data code blocks
  • the first 14 columns of information matrix blocks of rows 231-238 are data code blocks
  • the second The overhead code blocks occupy the last two columns of the matrix block in rows 231-238 of the GEL code
  • the first overhead code block is located in rows 239-255.
  • the component code B is the extended binary BCH[256,239,6] 2
  • the component code in the new spatially coupled code is the GEL code
  • the GEL code is a matrix of 256 rows and 16 columns including 4 inner codes and 3 outer codes.
  • GEL code word C GEL inner code word B 0 and B 3 are the identity code word [256,256,1] 2 and all-zero code word respectively
  • B 1 and the component code B of the original space coupling code are the same code word [256,239,6] 2
  • B 2 is the extended BCH codeword [256,231,8] 2
  • B 1 and B 2 are the extensions of the original binary BCH code in the narrow sense, and the extended bits are obtained through single parity check.
  • the generator polynomial of B 2 g 2 (x) x 24 +x 23 +x 21 +x 20 +x 19 +x 17 +x 16 +x 15 +x 13 +x 8 +x 7 +x 5 + x 4 + x 2 +1
  • B 3 is an all-0 codeword with a length of 256.
  • the outer codewords of GEL include three codewords of length 16 on different binary domain extension domains. That is, A 1 is an all-zero codeword on the GF(2 17 ) field. A 2 is on the field of GF(2 8 ) A cyclic (Reed-Solomon, RS) codeword of the form whose generator polynomial is ⁇ is the primitive element of GF(2 8 ). A 3 is the identity codeword on GF(2 231 ) field
  • the GEL code word C GEL is a linear block code in the binary field with a length of 4096 and a dimension of 3808.
  • a code word c in the code word C GEL can be regarded as a 256 ⁇ 16 binary matrix.
  • each column in the codeword c in GEL is a codeword constructed by the codeword B1 construction rule.
  • the matrix product of H2 and c is the codeword of RS code A2 .
  • codeword C 1 can be divided into 3 steps:
  • the failed column can mark the corresponding column of the A2 codeword, and in the second decoding process, the symbol of A2 corresponding to the marked column is erased.
  • the Error and/or erasure values obtained during the A2 decoding process are the adjoint values of the columns involved in the H2 parity check matrix. Since H 2 and H 1 determine the parity check matrix of the code word B 2 , the syndromes calculated in the first and second steps of the decoding process proposed above can be passed through the syndrome decoder of B 2 Decoding column.
  • the component codes in the new space coupling code are GEL codes.
  • VT is the matrix transpose of V.
  • g is a non-negative integer
  • ⁇ i, k (V) is some arrangement of matrix items
  • k can take values 0, 1, 2, ..., 15, which is not specifically limited in this application.
  • the number in each cell of each row represents the element in this cell of the matrix after rearrangement, which is the element corresponding to the column of this row before the matrix arrangement.
  • the encoding of this semi-infinite sequence is to use the encoding process of code word C1 to perform continuous encoding matrix by matrix. That is, one can use the matrix and 1760-bit payload (original information, that is, multiple data code blocks) as the information bits of the codeword, and then obtain 288 overheads consisting of 16 additional overheads (second overhead) and 272 original overheads (first overhead) A matrix V i of parity bits, payload, and parity bits.
  • FIG. 12 is a schematic diagram of an example of the combination of open FEC and GEL codes applicable to this application.
  • the GEL code C 1 outer code A2 combined with the inner code B 2 generates an additional 16-bit second overhead, the first overhead of which is generated by the inner codeword eBCH[256,239,6].
  • eBCH means that the BCH codeword is expanded by a single-bit parity bit (that is, a parity bit is added to the lowest bit of the BCH codeword to ensure that the modulo two sum of the entire codeword bits is 0). Codeword.
  • Table 3 is the general design of the OFEC space coupling structure and GEL as component codes applicable to the embodiments of the present application, and g is a constant. Among them, the extra overhead bit is generated by the principle of GEL encoding. Its internal code is eBCH[256,239,6] and eBCH[256,231,8], and its external code is RS[16,14,3].
  • each frame corresponds to a codeword of the GEL code, which can be represented as a 16 ⁇ 256-bit block, and each row is a codeword of the eBCH [256, 239, 6].
  • Each frame is half of the corresponding GEL code, and the second half can be obtained using the coupling structure of the open FEC. If the other 14 codewords of the frame are error-free, up to 2 lines can be decoded into eBCH[256,231,8] (correcting up to 3 errors in that line) using 16 bits of overhead.
  • the component code ⁇ is the extended binary BCH[256,239,6] 2 , in the new space coupling code
  • the component code of is GEL code
  • the GEL code word C GEL is a matrix including 4 inner codes and 3 outer codes.
  • GEL code word C GEL inner code word B 0 and B 3 are the identity code word eBCH[256,256,1] 2 and all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code
  • the word eBCH[256,239,6] 2 , B 2 is the extended BCH code word eBCH[256,231,8] 2 , B 1 and B 2 are the extensions of the original binary BCH code in the narrow sense, and the extended bits are obtained through single parity check.
  • B 0 is the identity code word eBCH[256,256,1] 2
  • B 1 is the same code word [256,239,6] 2 as the component code B of the original space-coupled code
  • B 3 is a codeword of all 0s with a length of 256.
  • the outer codewords of GEL include three codewords of length 16 on different binary domain extension domains. That is, A 1 is an all-zero codeword on the GF(2 17 ) field. A 2 is on the field of GF(2 8 ) A cyclic RS codeword of the form whose generator polynomial is ⁇ is the primitive element of GF(2 8 ). A 3 is the identity codeword on GF(2 231 ) field
  • the GEL codeword C 1 is a linear block code over a binary field with length 4096 and dimension 3808.
  • a code word c in code word C 1 can be regarded as a 256 ⁇ 16 binary matrix.
  • each column in the codeword c in GEL is a codeword constructed by the codeword B1 construction rule.
  • the matrix product of H2 and c is the codeword of RS code A2 .
  • codeword C 1 can be divided into 3 steps:
  • the failed column can mark the column corresponding to the A2 codeword
  • the A2 symbol corresponding to the marked column is erased.
  • the Error and/or erasure values obtained during the A2 decoding process are the adjoint values of the columns involved in the H2 parity check matrix. Since H 2 and H 1 determine the parity check matrix of the code word B 2 , the adjoint formula calculated in the first and second steps of the decoding process proposed above can be decoded by the adjoint formula of B 2 Decoder column.
  • the GEL code C GEL is used to generate additional overhead bits.
  • the component codes in the new space coupling code are GEL codes.
  • Semi-infinite sequence determined by 16 ⁇ 128 binary matrix
  • VT is the matrix transpose of V.
  • g is a non-negative integer
  • ⁇ i, k (V) is some arrangement of matrix items
  • k can take values 0, 1, 2, ..., 15, which is not specifically limited in this application.
  • the number in each cell of each row represents the element of the matrix in this cell after rearrangement, which is the element of the column corresponding to this row before the matrix arrangement.
  • the encoding of this semi-infinite sequence is to use the encoding process of code word C1 to perform continuous encoding matrix by matrix. That is, one can use the matrix and 1760-bit payload (original information, for example, multiple data code blocks involved in this application) as the information bits of the codeword, and then obtain 16 additional overheads (second overhead) and 272 original overheads (first overhead) Overhead) is a matrix V i of 288 parity bits, payload, and parity bits.
  • Table 4 shows the main design of a similar OFEC spatial coupling structure and GEL as component codes applicable to the embodiment of the present application.
  • the GEL code C 1 outer code A 2 combined with the inner code B 2 generates an additional 16-bit second overhead, the first overhead of which is generated by the inner codeword eBCH[256,239,6].
  • Table 5 is a general design of a space-coupled code structure similar to OFEC but more compact and GEL as a component code applicable to the embodiment of the present application, and g is a constant. Among them, the extra overhead bit is generated by the principle of GEL encoding. Its internal code is eBCH[256,239,6] and eBCH[256,231,8], and its external code is RS[16,14,3].
  • matrices with 16 rows and 16 columns are generated from the transmitted historical FEC code blocks according to the coupling rules of specific space coupling codes to form historical code blocks.
  • the historical code block and the current code block are spliced into a matrix Q with 16 rows and 256 columns. Transpose this matrix to get a matrix Q T with 256 rows and 16 columns.
  • there is only original data in Q and the first overhead and the second overhead are filled with all 0s.
  • the matrix Y (256 rows and 16 columns) is transposed to obtain Y T (16 rows and 256 columns), and the 128-255 columns of Y T are selected and rearranged to obtain the FEC code block to be transmitted.
  • the generated first overhead is equivalent to the overhead obtained by performing eBCH[256,239] encoding on the first 239 bits of each row of Y T when the second overhead position is filled with all 0s).
  • FIG. 13 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application.
  • the abscissa is the input BER
  • the ordinate is the bit error rate BER. It can be seen from the figure that the error floor of the FEC with additional overhead is significantly lower than that of the original FEC.
  • the power consumption estimation can include: SD1 P3 HD2 ⁇ 280mW, SD1 P6 HD2 ⁇ 450mW.
  • SDx Py HD z x represents the number of iterations of soft-decision decoding, y represents the number of selected least reliable positions, and z represents the number of iterations of hard-decision decoding.
  • the original FEC has 15.3% OH.
  • FEC adds +1% redundancy (over head, OH) as additional overhead. It can be seen that at negligible added power and complexity cost, the slope of the FEC performance curve with overhead is significantly improved, achieving 0.5/0.7dB at an output BER of 1e-15 gain.
  • FIG. 14 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application.
  • the abscissa is the input bit error rate (BER), and the ordinate is the output BER. It can be seen from the figure that the error floor of the FEC with additional overhead is significantly lower than that of the original FEC.
  • the power consumption estimation can include: SD1 P6 HD5 ⁇ 600mW. .
  • SDx Py HD z x represents the number of iterations of soft-decision decoding, y represents the number of selected least reliable positions, and z represents the number of iterations of hard-decision decoding.
  • the original FEC has 15.3% OH.
  • FEC adds +1% OH as an additional overhead. It can be seen that the slope of the FEC performance curve with overhead is significantly improved with negligible power and complexity cost
  • this application provides a method for spatially coupled forward error correction codec, by adding additional overhead to obtain a subcode of the original code with better properties (ie, a larger minimum Hamming distance), As well as new features in decoding that provide performance improvements and reduce errors. Support new requirements for latency and performance, improve the slope of the performance curve and significantly reduce the error floor, provide backward compatibility and improvements in FEC characteristics, design a single FEC that supports various performance, latency and complexity requirements. Reduces bit error floor to 1e-15 level at negligible power and complexity cost and adds reasonable OH by outputting BER or less;
  • the technical solution of this application can improve the minimum distance of FEC; reduce the bit error level, and improve the convergence of iterative decoding by using all overhead (original and extra); reduce the number of trap sets; low delay, high rate, low bit error rate , Low-complexity decoding process to achieve high performance.
  • Fig. 15 is a schematic diagram of an example of encoding equipment for spatially coupled forward error correction codes provided by an embodiment of the present application.
  • the device 1500 may include a processing unit 1520 and a transceiver unit 1510 .
  • the device 1500 may correspond to the encoding device in the above method embodiments, for example, may be an encoding device, or a component configured in the encoding device (such as a circuit, a chip, or a chip system, etc.).
  • the processing unit 1520 is configured to encode the original data stream to generate a forward error correction FEC code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, where , the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are greater than zero an integer of
  • the transceiver unit 1510 is configured to send the FEC code block.
  • the device 1500 may correspond to the encoding device in the method 1000 according to the embodiment of the present application, and the device 1500 may include a unit for performing the method performed by the encoding device in the method 1000 in FIG. 10 . Moreover, each unit in the device 1500 and other operations and/or functions mentioned above are respectively intended to implement a corresponding flow of the method 1000 in FIG. 10 .
  • the transceiver unit 1510 in the coding device 1500 can be implemented by a transceiver, for example, it can correspond to the transceiver 1820 in the coding device shown in FIG.
  • the processor implements, for example, may correspond to the processor 1810 in the encoding device 1800 shown in FIG. 18 .
  • the transceiver unit 1510 in the coding device 1500 can be realized through an input/output interface, a circuit, etc.
  • the processing unit 1520 in the coding device 1500 can be It is realized by the processor, microprocessor or integrated circuit integrated on the chip or chip system.
  • Fig. 16 is a schematic diagram of an example of a spatial coupling forward error correction decoding device provided by an embodiment of the present application.
  • the device 1600 may include a processing unit 1620 and a transceiver unit 1610 .
  • the device 1600 may correspond to the decoding device in the above method embodiment, for example, may be a decoding device, or a component (such as a circuit, a chip, or a chip system, etc.) configured in the decoding device.
  • the transceiver unit 1610 is configured to receive a forward error correction FEC code block
  • the processing unit 1620 is configured to decode the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, the first overhead code block and the second overhead code block, wherein the FEC code block includes N rows, The first overhead code block is located in each of the N lines of the FEC code block, the second overhead code block is located in the M lines of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
  • the device 1600 may correspond to the decoding device in the method 1100 according to the embodiment of the present application, and the device 1600 may include a unit for performing the method performed by the decoding device in the method 1100 in FIG. 11 . Moreover, each unit in the device 1600 and the above-mentioned other operations and/or functions are respectively intended to implement a corresponding flow of the method 1100 in FIG. 11 .
  • the transceiver unit 1610 in the decoding device 1600 can be implemented by a transceiver, for example, it can correspond to the transceiver 1820 in the encoding device shown in FIG.
  • the processor implements, for example, may correspond to the processor 1810 in the encoding device 1800 shown in FIG. 18 .
  • the transceiver unit 1610 in the coding device 1600 can be realized through an input/output interface, a circuit, etc.
  • the processing unit 1620 in the coding device 1600 can be It is realized by the processor, microprocessor or integrated circuit integrated on the chip or chip system.
  • Fig. 17 is a schematic diagram of an example of a spatial coupling forward error correction coding device provided by an embodiment of the present application.
  • the apparatus 1700 may include a processor 1710 and a transceiver 1720 .
  • a memory 1730 is also included.
  • the processor 1710, the transceiver 1720 and the memory 1730 communicate with each other through an internal connection path, the memory 1730 is used to store instructions, and the processor 1710 is used to execute the instructions stored in the memory 1730 to control the transceiver 1720 to send signals and /or to receive a signal.
  • the encoding apparatus 1700 may correspond to the encoding device in the above method embodiments, and may be used to execute various steps and/or processes performed by the encoding device in the above method embodiments.
  • the memory 1730 may include read-only memory and random-access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory.
  • the memory 1730 can be an independent device, or can be integrated in the processor 1710 .
  • the processor 1710 may be used to execute the instructions stored in the memory 1730, and when the processor 1710 executes the instructions stored in the memory, the processor 1710 is used to execute the steps of the above-mentioned method embodiments corresponding to the encoding device and/or or process.
  • the encoding device 1700 is the encoding device in the foregoing embodiments.
  • the processor 1710 is configured to encode the original data stream to generate a forward error correction FEC code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, where , the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are greater than zero an integer of
  • the transceiver 1720 is configured to send the FEC code block.
  • the transceiver 1720 may include a transmitter and a receiver.
  • the processor 1710, memory 1730 and transceiver 1720 may be devices integrated on different chips.
  • the processor 1710 and the memory 1730 may be integrated in a baseband chip, and the transceiver 1720 may be integrated in a radio frequency chip.
  • the processor 1710, the memory 1730 and the transceiver 1720 may also be devices integrated on the same chip. This application is not limited to this.
  • the encoding device 1700 is a component configured in an encoding device, such as a circuit, a chip, a chip system, and the like.
  • the transceiver 1720 may also be a communication interface, such as an input/output interface, a circuit, and the like.
  • the transceiver 1720, the processor 1710 and the memory 1720 may be integrated in the same chip, such as a baseband chip.
  • Fig. 18 is a schematic diagram of an example of a spatial coupling forward error correction decoding device provided by an embodiment of the present application.
  • the apparatus 1800 may include a processor 1810 and a transceiver 1820 .
  • a memory 1830 is also included.
  • the processor 1810, the transceiver 1820 and the memory 1830 communicate with each other through an internal connection path, the memory 1830 is used to store instructions, and the processor 1810 is used to execute the instructions stored in the memory 1830 to control the transceiver 1820 to send signals and /or to receive a signal.
  • the decoding apparatus 1800 may correspond to the decoding device in the foregoing method embodiments, and may be configured to execute various steps and/or processes performed by the decoding device in the foregoing method embodiments.
  • the memory 1830 may include read-only memory and random-access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory.
  • the memory 1830 can be an independent device, or can be integrated in the processor 1810 .
  • the processor 1810 may be used to execute the instructions stored in the memory 1830, and when the processor 1810 executes the instructions stored in the memory, the processor 1810 is used to execute the steps of the above-mentioned method embodiments corresponding to the decoding device and/or or process.
  • the decoding apparatus 1800 is the decoding device in the foregoing embodiments.
  • the transceiver 1820 is configured to receive a forward error correction FEC code block
  • the processor 1810 is configured to decode the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, the first overhead code block and the second overhead code block, wherein the FEC code block includes N rows, The first overhead code block is located in each of the N lines of the FEC code block, the second overhead code block is located in the M lines of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
  • the transceiver 1820 may include a transmitter and a receiver.
  • the processor 1810, memory 1830 and transceiver 1820 may be devices integrated on different chips.
  • the processor 1810 and the memory 1830 may be integrated in a baseband chip, and the transceiver 1820 may be integrated in a radio frequency chip.
  • the processor 1810, the memory 1830 and the transceiver 1820 may also be devices integrated on the same chip. This application is not limited to this.
  • the decoding apparatus 1800 is a component configured in a decoding device, such as a circuit, a chip, a chip system, and the like.
  • the transceiver 1820 may also be a communication interface, such as an input/output interface, a circuit, and the like.
  • the transceiver 1820, the processor 1810 and the memory 1820 may be integrated in the same chip, for example, integrated in a baseband chip.
  • the actions or methods executed by the controller may be implemented in whole or in part by software, hardware, firmware or any other combination.
  • the actions or methods performed by the controller may be fully or partially implemented in the form of computer program products.
  • the computer program product comprises one or more computer instructions or computer programs.
  • the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (such as infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center that includes one or more sets of available media.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium, and the semiconductor medium may be a solid-state hard disk.
  • the memory and the processor in the foregoing apparatus embodiments may be physically independent units, or the memory and the processor may also be integrated together, which is not limited in the present application.
  • the processor in this embodiment of the present application may be an integrated circuit chip capable of processing signals.
  • each step of the above-mentioned method embodiments may be completed by an integrated logic circuit of hardware in a processor or instructions in the form of software.
  • the processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable Logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the methods disclosed in the embodiments of the present application may be directly implemented by a hardware coded processor, or executed by a combination of hardware and software modules in the coded processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
  • the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM direct memory bus random access memory
  • direct rambus RAM direct rambus RAM
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Abstract

Provided in the embodiments of the present application are an encoding method and a decoding method. The encoding method comprises: encoding an original data stream to generate a forward error correction (FEC) code block, which comprises a plurality of data code blocks, first overhead code blocks and second overhead code blocks, wherein the FEC code block comprises N rows, the first overhead code blocks are located in each of the N rows of the FEC code block, the second overhead code blocks are located in M rows of the FEC code block, M is less than or equal to N, and M and N are integers greater than 0; and sending the FEC code block. By means of the method, a spatially coupled forward error correction code can be enhanced, and an error floor is lowered, thereby realizing the application of a spatially coupled code in a communication transmission scenario having a low delay, high throughput and a high rate.

Description

编解码方法和编解码设备Codec method and codec device
本申请要求于2021年10月15日提交俄罗斯联邦知识产权局、申请号为2021130126、申请名称为“编解码方法和编解码设备”的外国专利申请的优先权,以及要求于2021年11月29日提交俄罗斯联邦知识产权局、申请号为2021134795、申请名称为“编解码方法和编解码设备”的外国专利申请的优先权其全部内容通过引用结合在本申请中。This application claims the priority of a foreign patent application with application number 2021130126 entitled "Coding method and codec device" filed at Rospatent on October 15, 2021, and claims on November 29, 2021 Priority of a foreign patent application with application number 2021134795 entitled "Coding method and coding device" filed at Rospatent Federal Institute of Intellectual Property, the entire content of which is incorporated in this application by reference.
技术领域technical field
本申请涉及光通信领域,并且更具体地,涉及一种编解码方法和编解码设备。The present application relates to the field of optical communication, and more specifically, to a codec method and a codec device.
背景技术Background technique
随着数字通信系统的发展与通信信道数据速率的提高,不可避免地导致传输错误大量增加。因此,前向纠错码(forward error correction,FEC)由于降低传输误码数量的点成为关注的重点。然而,现代数据传输系统的前向纠错码设计是一项具有挑战性的任务,因为它必须同时提供高性能、低延迟和低功耗等。With the development of digital communication systems and the increase of communication channel data rates, it is inevitable that a large number of transmission errors will increase. Therefore, the forward error correction code (forward error correction, FEC) has become the focus of attention due to the point of reducing the number of transmission errors. However, FEC code design for modern data transmission systems is a challenging task as it must simultaneously provide high performance, low latency, and low power consumption, etc.
当前,空间耦合纠错码(spatially coupled error correction code,SC ECC)的结构在其特性上存在局限性,导致降低误码平层的技术非常有限,进而无法满足低延迟、高速率、低误码率的通信场景。Currently, the structure of spatially coupled error correction codes (spatially coupled error correction code, SC ECC) has limitations in its characteristics, resulting in very limited technologies for reducing the error floor, which cannot meet the requirements of low delay, high speed, and low bit error. High-rate communication scenarios.
因此,如何降低误码平层,增强空间耦合前向纠错码,从而实现空间耦合码在低延迟、高吞吐量、高速率的通信传输场景中的应用是亟待解决的问题。Therefore, how to reduce the error floor and enhance the spatially coupled forward error correction code, so as to realize the application of the spatially coupled code in low-delay, high-throughput, and high-speed communication transmission scenarios is an urgent problem to be solved.
发明内容Contents of the invention
本申请实施例提供一种编解码方法和编解码设备,能够降低误码平层,增强空间耦合前向纠错码,从而实现空间耦合码在低延迟、高吞吐量、高速率的通信传输场景中的应用。The embodiment of the present application provides a codec method and codec device, which can reduce the error floor and enhance the spatially coupled forward error correction code, so as to realize the spatially coupled code in the low-delay, high-throughput, high-speed communication transmission scenario in the application.
第一方面,提供了一种编码方法,包括:对原始数据流进行编码,以生成前向纠错FEC码块,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数;发送FEC码块。In a first aspect, an encoding method is provided, including: encoding an original data stream to generate a forward error correction (FEC) code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N is an integer greater than zero; send the FEC code block.
第二方面,提供了一种解码方法,包括:接收前向纠错FEC码块;对FEC码块进行解码,以恢复原始数据流,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数。In a second aspect, a decoding method is provided, including: receiving a forward error correction FEC code block; decoding the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N are integers greater than zero.
示例性的,在本申请实施例中,当前传输的FEC码块基于已有空间耦合码的结构,结合通用错误位置(generalized error location codes,GEL)码进行耦合,以产生额外的冗余,为每一行生成已有空间耦合码的原始冗余。Exemplarily, in the embodiment of the present application, the currently transmitted FEC code block is based on the structure of the existing spatially coupled code, coupled with a generalized error location code (generalized error location codes, GEL) code to generate additional redundancy, as Each row generates the original redundancy of the existing spatially coupled code.
具体地,当前传输的FEC码块基于空间耦合码的结构,结合GEL码进行耦合,以产 生原始冗余和额外的冗余。其中,原始冗余可以根据完整的GEL编解码方式,由GEL码的内码B 1生成;或者,原始冗余可以根据部分GEL编解码方式,由原空间耦合码的分量码B生成,存在于FEC码块的每一行,同时FEC码块的每一行是码字B一半。额外冗余由GEL的外码A 2生成,存在于FEC码块的部分行中。FEC码块包括s个h行h列矩阵排列的n行h列的矩阵。该FEC码块包含k 2·h+K·m 2净荷比特(即,原始数据流的比特),m 1·h比特的原始开销以及(h-K)·m 2比特的额外开销。 Specifically, the currently transmitted FEC code block is based on the structure of the spatially coupled code, and coupled with the GEL code to generate original redundancy and additional redundancy. Among them, the original redundancy can be generated by the inner code B 1 of the GEL code according to the complete GEL codec method; or, the original redundancy can be generated by the component code B of the original space-coupled code according to the partial GEL codec method, which exists in Each row of the FEC code block, and each row of the FEC code block is half of the codeword B. Additional redundancy is generated by the outer code A2 of the GEL, present in some rows of the FEC code block. The FEC code block includes s matrices of n rows and h columns arranged in h rows and h columns of matrices. The FEC code block contains k 2 ·h+K·m 2 payload bits (ie, bits of the original data stream), m 1 ·h bits of original overhead and (hK)·m 2 bits of overhead.
其中,s、h、n、m 1、k 2、K、m 2均为正整数。 Wherein, s, h, n, m 1 , k 2 , K, and m 2 are all positive integers.
可选地,第二开销码块可以占用该多个数据码块中的任意一个数据码块中的部分比特。例如,第二开销码块是位于第7个码块中的第14-15行,第7-14列的矩阵等,本申请对此不作具体限定。Optionally, the second overhead code block may occupy some bits in any one data code block of the multiple data code blocks. For example, the second overhead code block is a matrix located in rows 14-15 and columns 7-14 of the seventh code block, which is not specifically limited in the present application.
需要说明的是,该实现方式中的空间耦合码的第一开销码块是GEL内码B 1(即,根据完整的GEL编解码方式)生成的,或者,第一开销码块是由原空间耦合码的分量码B(即,根据部分GEL编解码方式)生成的;第二开销码块是GEL外码对内码的编码结果再编码生成的。 It should be noted that the first overhead code block of the space-coupled code in this implementation is generated by the GEL inner code B 1 (that is, according to the complete GEL encoding and decoding method), or the first overhead code block is generated by the original space The component code B of the coupled code is generated (that is, according to a partial GEL encoding and decoding mode); the second overhead code block is generated by re-encoding the encoding result of the inner code with the outer code of the GEL.
在该实现方式中,额外的冗余(例如,第二开销码块)提供了纠错能力的提升,这有利于减少误码平层和提供更快的收敛性。In this implementation, additional redundancy (eg, a second overhead code block) provides increased error correction capability, which is beneficial for reducing the error floor and providing faster convergence.
在本申请实施例中,“开销符号”、“冗余符号”、“校验符号”在非特定情况下可以互为替换,“开销码块”可以包括“开销符号”、“冗余符号”、“校验符号”等,“码块”和“矩阵”在非特定情况下可以互为替换,或者说,码块是由矩阵组成的。其中,一个符号可以对应多个比特,一个码块可以包括多个符号,码块包含多个比特或者多个符号,本申请对此不作具体限定。In this embodiment of the application, "overhead symbol", "redundant symbol" and "check symbol" can be replaced in non-specific cases, and "overhead code block" can include "overhead symbol" and "redundant symbol" , "check symbol", etc., "code block" and "matrix" can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix. Wherein, one symbol may correspond to multiple bits, one code block may include multiple symbols, and a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
示例性的,该原始数据流可以包括多个比特、符号等,本申请对此不作具体限定。Exemplarily, the original data stream may include multiple bits, symbols, etc., which are not specifically limited in this application.
根据本申请提供的方案,通过添加额外开销(例如,基于通用错误位置(generalized error location codes,GEL)、(generalized concatenated code,GCC)、张量乘积和通用集成交织(generalized integrated interleaved,GII)中的任意一种码字生成)获得具有更好属性(即,更大的最小汉明距离)的原始码的子码,以及提供性能改进、降低错误解码中的新特征。在原有空间耦合码的结构(例如,开放前向纠错码(open forward error correction,OFEC)的基础上,通过引入额外开销的方式,设计合适的新空间耦合码,以允许具有低复杂度解码过程和低误码平层的FEC码字在低延迟、高吞吐量、高速率的通信传输场景中的应用。According to the scheme provided by this application, by adding additional overhead (for example, based on generalized error location codes (generalized error location codes, GEL), (generalized concatenated code, GCC), tensor product and generalized integrated interleaved (generalized integrated interleaved, GII) Any kind of codeword generation) to obtain subcodes of the original code with better properties (ie, larger minimum Hamming distance), as well as new features that provide performance improvements and reduce error decoding. Based on the structure of the original space-coupled codes (for example, open forward error correction (OFEC), by introducing additional overhead, a suitable new space-coupled code is designed to allow low-complexity decoding The application of FEC codewords with process and low error level in low-latency, high-throughput, high-speed communication transmission scenarios.
结合第一或第二方面,在某些实现方式中,选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成第一开销码块和第二开销码块。In combination with the first or second aspect, in some implementations, any code word in the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code is selected as the component of the spatially coupled code codes to generate a first overhead code block and a second overhead code block.
结合第一或第二方面,在某些实现方式中,当第二开销码块是根据GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对GEL码的列码进行校验,第二开销码块是对第一校验矩阵的行码进行编码生成的,第一校验矩阵是根据H B的子矩阵和GEL码的子矩阵的乘积确定的。 In combination with the first or second aspect, in some implementations, when the second overhead code block is generated according to the codeword C GEL of the GEL code, the check matrix H B of the C GEL is used to check the column code of the GEL code The second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
其中,GEL码是具有良好特性的一类分组码。GEL码中用于生成列码校验符号的H B矩阵为2·n×2·n的校验矩阵,第k+1至2·n行为B 1的校验矩阵H 1,第k 2+1至k行为H 2, H 1和H 2构成B 2的校验矩阵。第1至k 2行为H 3,包括一个k 2×k 2的单位矩阵和一个2·n-k 2的零矩阵。 Among them, GEL codes are a class of block codes with good properties. The H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2·n×2·n, the check matrix H 1 of B 1 in rows k+1 to 2·n, and the check matrix H 1 of k 2 + Lines 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 . The first to k 2 rows of H 3 include a k 2 ×k 2 identity matrix and a 2·nk 2 zero matrix.
具体地,GEL编码前,GEL码矩阵中仅有净荷数据。第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵编码前为0,编码后用于存放第二开销。第k+1至2·n行确定的矩阵编码前为全0,编码后用于存放第一开销。 Specifically, before GEL encoding, there is only payload data in the GEL code matrix. The m 2 ×(hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding. The matrix determined in rows k+1 to 2·n is all 0s before encoding, and is used to store the first overhead after encoding.
其中,h、n、m 1、k 2、K、k、m 2均为正整数。 Wherein, h, n, m 1 , k 2 , K, k, and m 2 are all positive integers.
在本申请实施例中,分量码GEL的编码方式有两种,第一种是使用完整的GEL码C GEL的编码方式进行编码,利用来自历史码块
Figure PCTCN2022087391-appb-000001
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的校验位(即,原始开销+额外开销)。
In the embodiment of this application, there are two encoding methods of the component code GEL. The first one is to use the complete GEL code C GEL encoding method for encoding, using the code from the historical code block
Figure PCTCN2022087391-appb-000001
and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 check bits (ie, original overhead + additional overhead).
应理解,在当前净荷数据编码之前,从已传输的s个不同的FEC码块中的选择对应子矩阵的转置构成了
Figure PCTCN2022087391-appb-000002
即历史码块。
It should be understood that before the encoding of the current payload data, the transposition of the selected corresponding sub-matrix from the transmitted s different FEC code blocks constitutes
Figure PCTCN2022087391-appb-000002
That is, the historical code block.
第二种是采用GEL码C GEL部分的编码过程生成额外开销,使用来自历史码块
Figure PCTCN2022087391-appb-000003
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,采用原空间耦合码分量码的编码方式生成m 1·h比特的原始开销。
The second is to use GEL codes. The encoding process of the GEL part generates overhead, using blocks from historical code blocks
Figure PCTCN2022087391-appb-000003
bits, k 2 ·h+K·m 2 payload bits, and m 2 ×(hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ·h-bit original overhead.
具体地,H B矩阵乘GEL码矩阵后,第1至k 2保持原值,第k 2+1至k行得到列码第一校验矩阵,再对该列码第一校验矩阵进行
Figure PCTCN2022087391-appb-000004
编码,将生成的校验矩阵放入GEL码矩阵的第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵中,作为第二开销的生成方式。此时,对第1至k行的每一列进行内码B 1(即,原空间耦合码的分量码B)编码,所得校验比特为第一开销放入第k+1至2·n行。
Specifically, after the H B matrix is multiplied by the GEL code matrix, the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed
Figure PCTCN2022087391-appb-000004
Encoding, putting the generated parity check matrix into the m 2 ×(hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method. At this time, the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2·n rows as the first overhead .
其中,h表示编码后的码字符号数量,K表示编码前净荷符号数量,D表示编码后的最小汉明距离。Among them, h represents the number of codeword symbols after encoding, K represents the number of payload symbols before encoding, and D represents the minimum Hamming distance after encoding.
结合第一或第二方面,在某些实现方式中,当空间耦合码的分量码A i为GEL码时,分量码A i包括历史码块C i、多个数据码块、第一开销码块和第二开销码块。 In combination with the first or second aspect, in some implementations, when the component code A i of the spatially coupled code is a GEL code, the component code A i includes a historical code block C i , a plurality of data code blocks, a first overhead code block and the second overhead code block.
需要说明的是,本申请实施例中历史码块C i可以是指当前待传输FEC码块之前的码块。其中,历史码块C i可以理解为以
Figure PCTCN2022087391-appb-000005
序列的形式进行传输的。
It should be noted that, in the embodiment of the present application, the historical code block C i may refer to a code block before the current FEC code block to be transmitted. Among them, the historical code block C i can be understood as
Figure PCTCN2022087391-appb-000005
transmitted in sequence.
应理解,空间耦合码的编码方式核心之一是构建当前时刻分量码A i的待编码码块,i为大于或等于0的整数。 It should be understood that one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
结合第一或第二方面,在某些实现方式中,当第二开销码块是根据GEL码的码字C GEL生成时,分量码为GEL码;其中,C GEL是包括4个内码和3个外码的2·n行h列的矩阵,内码的码长和外码的码长分别为2·n和h,C GEL的内码B 0为恒等码字[2·n,2·n,1] 2,B 1为码字[2·n,k,d] 2,B 2为码字[2·n,k 2,d 2] 2,B 3为全零码字,C GEL的外码A 1是伽罗华域
Figure PCTCN2022087391-appb-000006
上的全零码字,A 2是伽罗华域
Figure PCTCN2022087391-appb-000007
上的码字
Figure PCTCN2022087391-appb-000008
A 3是伽罗华域
Figure PCTCN2022087391-appb-000009
上的恒等码字
Figure PCTCN2022087391-appb-000010
m 1=2·n-k,m 2=k-k 2,m 3=k 2
In combination with the first or second aspect, in some implementations, when the second overhead code block is generated according to the code word C GEL of the GEL code, the component code is a GEL code; wherein, C GEL is composed of 4 inner codes and The matrix of 2·n rows and h columns of 3 outer codes, the code length of the inner code and the code length of the outer code are 2·n and h respectively, and the inner code B 0 of C GEL is the identity code word [2·n, 2·n,1] 2 , B 1 is the codeword [2·n,k,d] 2 , B 2 is the codeword [2·n,k 2 ,d 2 ] 2 , B 3 is the all-zero codeword, The outer code A 1 of C GEL is the Galois Field
Figure PCTCN2022087391-appb-000006
The all-zero codeword on A 2 is the Galois Field
Figure PCTCN2022087391-appb-000007
codeword on
Figure PCTCN2022087391-appb-000008
A 3 is Galois field
Figure PCTCN2022087391-appb-000009
identity codeword on
Figure PCTCN2022087391-appb-000010
m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
其中,2·n为B 0、B 1、B 3编码后的码字所包含的比特数,2·n、k和k 2分别为B 0、B 1、B 3编码前的码字所包含的比特数,1、d和d 2分别为B 0、B 1、B 3编码后的码字的最小汉明距离。h为A 2和A 3编码后的码字所包含的符号数量,K和h分别为A 2和A 3编前后的码字所包含的符号数量。m 1,m 2,m 3分别表示A 1、A 2和A 3码字中的符号所包含的的比特数量(或者,也可分别表示GF(2)的扩域GF(2 m1),GF(2 m2),GF(2 m3)中元素在向量表示下的维度)。 Among them, 2·n is the number of bits contained in the encoded codewords of B 0 , B 1 , and B 3 , and 2·n, k, and k 2 are respectively contained in the codewords of B 0 , B 1 , and B 3 The number of bits, 1, d and d 2 are the minimum Hamming distances of the encoded codewords of B 0 , B 1 and B 3 respectively. h is the number of symbols contained in the encoded codewords of A2 and A3 , and K and h are the number of symbols contained in the codewords before and after A2 and A3 encoding respectively. m 1 , m 2 , m 3 represent the number of bits contained in the symbols in A 1 , A 2 and A 3 codewords respectively (or, they can also represent the extended field GF(2 m1 ) of GF(2), GF (2 m2 ), the dimensions of the elements in GF(2 m3 ) under the vector representation).
结合第一或第二方面,在某些实现方式中,历史码块包括n×h比特,多个数据码块包 括原始数据流的k 2·h+K·m 2比特(即,净荷比特),第一开销码块包括m 1×h比特的原始开销,第二开销码块包括(h-K)·m 2比特的额外开销。 In combination with the first or second aspect, in some implementations, the historical code block includes n×h bits, and the multiple data code blocks include k 2 h+K m 2 bits of the original data stream (that is, payload bits ), the first overhead code block includes m 1 ×h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of additional overhead.
结合第一或第二方面,在某些实现方式中,在发送FEC码块时,生成的半无限序列为
Figure PCTCN2022087391-appb-000011
其中,V i是一个h行n列的二进制矩阵,V i包括s个h行h列的方阵(V i,0 V i,1 ... V i,s-1),s=n/h,s、h和n为大于0的整数;
In combination with the first or second aspect, in some implementations, when sending the FEC code block, the generated semi-infinite sequence is
Figure PCTCN2022087391-appb-000011
Among them, V i is a binary matrix with h rows and n columns, and V i includes s square matrices with h rows and h columns (V i,0 V i,1 ... V i,s-1 ), s=n/ h, s, h and n are integers greater than 0;
当i=0,1,2,...,N 0时,矩阵V i是h行n列的全零矩阵; When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix with h rows and n columns;
当i>N 0时,空间耦合码中的分量码为GEL码,GEL码为
Figure PCTCN2022087391-appb-000012
GEL码中的每一列的码字为原始空间耦合码(例如,OFEC码块)的分量码B[2·n,k,d] 2
When i>N 0 , the component code in the space coupling code is a GEL code, and the GEL code is
Figure PCTCN2022087391-appb-000012
The code word of each column in the GEL code is the component code B[2 n, k, d] 2 of the original space coupling code (for example, OFEC code block);
其中,V T是矩阵V的转置,N 0是根据空间耦合码的耦合方式确定的非负整数,π i,k(V)是根据任意的重排列规则对矩阵V进行重排后确定的,k=0,1,2,...,s-1。 Among them, V T is the transpose of matrix V, N 0 is a non-negative integer determined according to the coupling mode of space-coupled codes, π i,k (V) is determined after rearranging matrix V according to any rearrangement rules , k=0,1,2,...,s-1.
需要说明的是,连续发送的FEC码块构成了半无限序列,一个FEC码块包括N行K列,则对应的半无限序列包括N行无穷多列。It should be noted that the continuously sent FEC code blocks constitute a semi-infinite sequence, and one FEC code block includes N rows and K columns, and the corresponding semi-infinite sequence includes N rows and infinitely many columns.
结合第一或第二方面,在某些实现方式中,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第一开销码块的比特和第二开销码块的比特。In combination with the first or second aspect, in some implementations, the semi-infinite sequence V is the bit sum of the first overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code Bits of the second overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000013
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的原始开销和额外开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000013
bits and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 original overhead and additional overhead.
结合第一或第二方面,在某些实现方式中,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第二开销码块的比特,以及基于第二开销码块的比特,生成的第一开销码块的比特。In combination with the first or second aspect, in some implementations, the semi-infinite sequence V is the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code, and the bits of the first overhead code block generated based on the bits of the second overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000014
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,生成m 1·h比特的原始开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000014
bits, k 2 ·h+K·m 2 payload bits and m 2 ×(hK) overhead to generate m 1 ·h bits of original overhead.
结合第一或第二方面,在某些实现方式中,当空间耦合码的分量码为GEL码,且空间耦合结构与open FEC相似时,FEC码块V i是对分量码A i的子矩阵A′ i转置(A′ i) T的重排列,其中,分量码A i是256行16列的矩阵,子矩阵A′ i是A i的后128行16列矩阵,分量码A i包括历史码块C i、多个数据码块和第一开销码块,V i包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,i为FEC码块的行号,t为FEC码块的列号,r和c分别为子矩阵V i,t(r,c)的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 In combination with the first or second aspect, in some implementations, when the component code of the spatial coupling code is a GEL code, and the spatial coupling structure is similar to open FEC, the FEC code block V i is a sub-matrix for the component code A i A' i transpose (A' i ) rearrangement of T , wherein, the component code A i is a matrix of 256 rows and 16 columns, and the sub-matrix A' i is the rear 128 row and 16 column matrix of A i , and the component code A i includes Historical code block C i , a plurality of data code blocks and the first overhead code block, V i includes 8 sub-matrices V i,t (r,c) of 16 rows and 16 columns arranged in a row-wise matrix of 16 rows and 128 columns , i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are the row number and column number of the sub-matrix V i,t (r,c) respectively, and t is greater than or equal to 0 and less than or an integer equal to 7, i is an integer greater than or equal to 0, r and c are integers greater than 0 and less than or equal to 15.
结合第一或第二方面,在某些实现方式中,当空间耦合码的分量码A i为GEL码,且空间耦合结构与open FEC相似时,GEL码的码字C GEL内码B 0是恒等码字[256,256,1] 2,B 1是扩展BCH码字[256,239,6] 2,B 2是扩展BCH码字[256,231,8] 2,m 1=17,m 2=8,m 3=231,GEL码的码字C GEL外码A 1是GF(2 17)上的全零码字,A 2是GF(2 8)上的循环RS码
Figure PCTCN2022087391-appb-000015
A 3是GF(2 231)上的恒等码字
Figure PCTCN2022087391-appb-000016
In combination with the first or second aspect, in some implementations, when the component code A i of the spatial coupling code is a GEL code, and the spatial coupling structure is similar to open FEC, the code word C of the GEL code and the GEL inner code B 0 are Identity code word [256,256,1] 2 , B 1 is extended BCH code word [256,239,6] 2 , B 2 is extended BCH code word [256,231,8] 2 , m 1 =17, m 2 =8, m 3 = 231, the code word C of GEL code A 1 of GEL outer code is the all-zero code word on GF(2 17 ), and A 2 is the cyclic RS code on GF(2 8 )
Figure PCTCN2022087391-appb-000015
A 3 is the identity codeword on GF(2 231 )
Figure PCTCN2022087391-appb-000016
例如,空间耦合码的h=16,s=8,N 0=15+2·g,当i>N 0时,i j=i+2·(j-g)+(-1) i-16,j=0,1,2,...,7;再例如,空间耦合码的h=16,s=8,N 0=g+7,当i>N 0时,i j=i+j-g-8,j=0,1,2,...,7。 For example, for space-coupled code h=16, s=8, N 0 =15+2·g, when i>N 0 , i j =i+2·(jg)+(-1) i -16, j =0,1,2,...,7; for another example, h=16, s=8, N 0 =g+7 of the space-coupled code, when i>N 0 , i j =i+jg-8 , j=0,1,2,...,7.
结合第一或第二方面,在某些实现方式中,分量码A i的子矩阵A′ i转置(A′ i) T是多个数据码块、第一开销码块和第二开销码块的转置,(A′ i) T包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 In combination with the first or second aspect, in some implementations, the sub-matrix A' i transpose (A' i ) T of the component code A i is a plurality of data code blocks, the first overhead code block and the second overhead code The transposition of the block, (A′ i ) T includes 8 sub-matrices of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c is the row number and column number of sub-matrix (A' i,t (r,c)) T respectively, t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c is an integer greater than or equal to 0 and less than or equal to 15.
其中,A' i,t(t=0,1,2…7)分别表示大小为256行16列分量码码字的第129~144行,第145~160行,…第225~240行,第241~256行所构成的16行16列矩阵。 Wherein, A' i, t (t=0,1,2...7) represent respectively the 129th~144th lines, the 145th~160th lines, ... the 225th~240th lines of the component code code words of 256 lines and 16 columns in size, A matrix with 16 rows and 16 columns composed of rows 241 to 256.
结合第一或第二方面,在某些实现方式中,第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 In combination with the first or second aspect, in some implementations, the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
结合第一或第二方面,在某些实现方式中,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,当FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,j;当FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn combination with the first or second aspect, in some implementations, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, when the FEC code block When i in V i is an even number, select the j-th 16-row 16-column matrix V i-19+2*j, j of the historical FEC code block with the serial number i-19+2*j, and then transpose and rearrange Transpose to obtain C i, j in the historical code block; when i in the FEC code block V i is an odd number, select the jth 16th row 16 of the historical FEC code block with the sequence number i-21+2*j The column matrix V i-21+2*j,j is transposed and rearranged and then transposed to obtain C i,j in the historical code block.
结合第一或第二方面,在某些实现方式中,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的16行128列的矩阵,FEC码块V i选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn combination with the first or second aspect, in some implementations, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the FEC code block V i select the j-th 16-row 16-column matrix V i-27+j, j of the historical FEC code block with the serial number i-27+j to transpose and rearrange and then transpose to obtain C i in the historical code block ,j .
结合第一或第二方面,在某些实现方式中,当原空间耦合码是类似open FEC的结构,且第二开销码块是基于GEL码编码方式生成时,数据码块是和第二开销码块构成了一个16行111列的码块(其中,第14-15行(序号从0开始)的第103-110列(序号从0开始)为第二开销码块,其余部分为原始数据),第一开销码块是16行17列的编码信息矩阵。对数据码块、第一开销码块和第二开销码块中的比特(或者符号)进行重新排列后,即可得到编码后的FEC码块。In combination with the first or second aspect, in some implementations, when the original space coupling code is a structure similar to open FEC, and the second overhead code block is generated based on the GEL code encoding method, the data code block is the same as the second overhead code block The code block constitutes a code block with 16 rows and 111 columns (among them, columns 103-110 (serial numbers start from 0) of rows 14-15 (serial numbers start from 0) are the second overhead code blocks, and the rest are original data ), the first overhead code block is an encoding information matrix with 16 rows and 17 columns. After rearranging the bits (or symbols) in the data code block, the first overhead code block and the second overhead code block, an encoded FEC code block can be obtained.
其中,第一开销码块与OFEC的开销码块处于相同位置,第二开销码块处于相当于OFEC原始数据码块的一部分位置。Wherein, the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
结合第一或第二方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,π的重排列规则定义如下:In combination with the first or second aspect, in some implementations, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the rearrangement rule definition of π as follows:
Figure PCTCN2022087391-appb-000017
Figure PCTCN2022087391-appb-000017
其中,
Figure PCTCN2022087391-appb-000018
表示i和j的异或,下表对应上述规则对应,表中的数字表示重排后的矩阵当前位置所在元素,是原始矩阵W同一行的第几列对应的元素。其中,ω i,j表示16行16列的矩阵W中第i行第j列的元素,i和j分别为大于或等于0且小于或等于15的整数。
in,
Figure PCTCN2022087391-appb-000018
Indicates the XOR of i and j. The following table corresponds to the above rules. The numbers in the table indicate the element at the current position of the rearranged matrix, which is the element corresponding to the column of the same row of the original matrix W. Wherein, ω i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
应理解,上述重排列规则π仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above rearrangement rule π is only an exemplary description, and should not constitute any limitation to the technical solution of the present application.
结合第一或第二方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码, 且第二开销码块是基于GEL码编码方式生成时,FEC码块V i由8个重新排列后的子矩阵B t确定,i表示FEC码块的序号,V i,t表示第t个16行16列的子矩阵B t,t为大于或等于0且小于或等于7的整数。 In combination with the first or second aspect, in some implementations, when the original spatial coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the FEC code block V is composed of Eight rearranged sub-matrixes B t are determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is greater than or equal to 0 and less than or equal to 7 integer.
结合第一或第二方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,此时GEL码是256行16列的矩阵块,其中,第0-127行矩阵块是从历史FEC码块确定的,第128-230行的矩阵块为数据码块,第231-238行矩阵块的前14列为数据码块,第二开销码块占用GEL码的第231-238行矩阵块的后两列,第一开销码块位于第239-255行。In combination with the first or second aspect, in some implementations, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the GEL code is 256 A matrix block with 16 rows and 16 columns, wherein, the matrix block of the 0-127 row is determined from the historical FEC code block, the matrix block of the 128-230 row is a data code block, and the first 14 columns of the matrix block of the 231-238 row are For the data code block, the second overhead code block occupies the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
应理解,以上仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above is only an exemplary description, and should not be construed as any limitation to the technical solution of the present application.
第三方面,提供了一种编码设备,包括:处理单元,用于对原始数据流进行编码,以生成前向纠错FEC码块,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数;收发单元,用于发送FEC码块。In a third aspect, an encoding device is provided, including: a processing unit, configured to encode an original data stream to generate a forward error correction (FEC) code block, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N are integers greater than zero; the transceiver unit is used to send the FEC code block.
第四方面,提供了一种解码设备,包括:收发单元,用于前向纠错FEC码块;处理单元,用于对FEC码块进行解码,以恢复原始数据流,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数。In the fourth aspect, a decoding device is provided, including: a transceiver unit, used for forward error correction FEC code blocks; a processing unit, used for decoding the FEC code blocks to restore the original data stream, and the FEC code blocks include multiple A data code block, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in the FEC code block M rows of blocks, where M is less than or equal to N, where M and N are integers greater than zero.
示例性的,在本申请实施例中,当前传输的FEC码块基于已有空间耦合码的结构,结合通用错误位置GEL码进行耦合,以产生额外的冗余,为每一行生成已有空间耦合码的原始冗余。Exemplarily, in the embodiment of the present application, the currently transmitted FEC code block is based on the structure of the existing spatially coupled code, coupled with the general error position GEL code to generate additional redundancy, and generate the existing spatially coupled code for each row The original redundancy of the code.
具体地,当前传输的FEC码块基于空间耦合码的结构,结合GEL码进行耦合,以产生原始冗余和额外的冗余。其中,原始冗余可以根据完整的GEL编解码方式,由GEL码的内码B 1生成;或者,原始冗余可以根据部分GEL编解码方式,由原空间耦合码的分量码B生成,存在于FEC码块的每一行,同时FEC码块的每一行是码字B一半。额外冗余由GEL的外码A 2生成,存在于FEC码块的部分行中。FEC码块包括s个h行h列矩阵排列的n行h列的矩阵。该FEC码块包含k 2·h+K·m 2净荷比特(即,原始数据流的比特),m 1·h比特的原始开销以及(h-K)·m 2比特的额外开销。 Specifically, the currently transmitted FEC code block is based on the structure of the spatially coupled code, and coupled with the GEL code to generate original redundancy and additional redundancy. Among them, the original redundancy can be generated by the inner code B 1 of the GEL code according to the complete GEL codec method; or, the original redundancy can be generated by the component code B of the original space-coupled code according to the partial GEL codec method, which exists in Each row of the FEC code block, and each row of the FEC code block is half of the codeword B. Additional redundancy is generated by the outer code A2 of the GEL, present in some rows of the FEC code block. The FEC code block includes s matrices of n rows and h columns arranged in h rows and h columns of matrices. The FEC code block contains k 2 ·h+K·m 2 payload bits (ie, bits of the original data stream), m 1 ·h bits of original overhead and (hK)·m 2 bits of overhead.
可选地,第二开销码块可以占用该多个数据码块中的任意一个数据码块中的部分比特。例如,第二开销码块是位于第7个码块中的第14-15行,第7-14列的矩阵等,本申请对此不作具体限定。Optionally, the second overhead code block may occupy some bits in any one data code block of the multiple data code blocks. For example, the second overhead code block is a matrix located in rows 14-15 and columns 7-14 of the seventh code block, etc., which is not specifically limited in the present application.
需要说明的是,该实现方式中的空间耦合码的第一开销码块是GEL内码B 1(即,根据完整的GEL编解码方式)生成的,或者,第一开销码块是由原空间耦合码的分量码B(即,根据部分GEL编解码方式)生成的;第二开销码块是GEL外码对内码的编码结果再编码生成的。 It should be noted that the first overhead code block of the space-coupled code in this implementation is generated by the GEL inner code B 1 (that is, according to the complete GEL encoding and decoding method), or the first overhead code block is generated by the original space The component code B of the coupled code is generated (that is, according to a partial GEL encoding and decoding mode); the second overhead code block is generated by re-encoding the encoding result of the inner code with the outer code of the GEL.
该实现方式中额外的冗余(例如,第二开销码块)提供了纠错能力的提升,这有利于减少误码平层和提供更快的收敛性。The additional redundancy in this implementation (eg, a second overhead code block) provides improved error correction capability, which is beneficial for reducing the error floor and providing faster convergence.
在本申请实施例中,“开销符号”、“冗余符号”“校验符号”在非特定情况下可以 互为替换,“开销码块”可以包括“开销符号”、“冗余符号”、“校验符号”等,“码块”和“矩阵”在非特定情况下可以互为替换,或者说,码块是由矩阵组成的。其中,一个符号可以对应多个比特,一个码块可以包括多个符号,码块包含多个比特或者多个符号,本申请对此不作具体限定。In this embodiment of the application, "overhead symbol", "redundant symbol" and "check symbol" can be replaced in non-specific cases, and "overhead code block" can include "overhead symbol", "redundant symbol", "Check symbol", etc., "code block" and "matrix" can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix. Wherein, one symbol may correspond to multiple bits, one code block may include multiple symbols, and a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
示例性的,该原始数据流可以包括多个比特、符号等,本申请对此不作具体限定。Exemplarily, the original data stream may include multiple bits, symbols, etc., which are not specifically limited in this application.
结合第三或第四方面,在某些实现方式中,处理单元还用于:选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成第一开销码块和第二开销码块。In combination with the third or fourth aspect, in some implementations, the processing unit is also used to: select any codeword in the general error location GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code A component code serving as a spatially coupled code to generate a first overhead code block and a second overhead code block.
结合第三或第四方面,在某些实现方式中,处理单元还用于:当第二开销码块是根据GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对GEL码的列码进行校验,第二开销码块是对第一校验矩阵的行码进行编码生成的,第一校验矩阵是根据H B的子矩阵和GEL码的子矩阵的乘积确定的。 In combination with the third or fourth aspect, in some implementations, the processing unit is further configured to: when the second overhead code block is generated according to the code word C GEL of the GEL code, use the parity check matrix H B of C GEL to pair GEL The column code of the code is checked, and the second overhead code block is generated by encoding the row code of the first parity check matrix. The first parity check matrix is determined according to the product of the sub-matrix of H B and the sub-matrix of the GEL code .
其中,GEL码是具有良好特性的一类分组码。GEL码中用于生成列码校验符号的H B矩阵为2·n×2·n的校验矩阵,第k+1至2·n行为B 1的校验矩阵H 1,第k 2+1至k行为H 2,H 1和H 2构成B 2的校验矩阵。第1至k 2行为H 3,包括一个k 2×k 2的单位矩阵和一个2·n-k 2的零矩阵。 Among them, GEL codes are a class of block codes with good properties. The H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2·n×2·n, the check matrix H 1 of B 1 in rows k+1 to 2·n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 . The first to k 2 rows of H 3 include a k 2 ×k 2 identity matrix and a 2·nk 2 zero matrix.
具体地,GEL编码前,GEL码矩阵中仅有净荷数据。第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵编码前为0,编码后用于存放第二开销。第k+1至2·n行确定的矩阵编码前为全0,编码后用于存放第一开销。 Specifically, before GEL encoding, there is only payload data in the GEL code matrix. The m 2 ×(hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding. The matrix determined in rows k+1 to 2·n is all 0s before encoding, and is used to store the first overhead after encoding.
分量码GEL的编码方式有两种,第一种是使用完整的GEL码C GEL的编码方式进行编码,利用来自历史码块
Figure PCTCN2022087391-appb-000019
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的校验位(即,原始开销m 1·h+额外开销m 2×(h-K))。
There are two encoding methods of the component code GEL, the first is to use the complete GEL code C GEL encoding method to encode, using the historical code block
Figure PCTCN2022087391-appb-000019
bits and k 2 h+K m 2 payload bits to generate all m 1 h+(hK) m 2 parity bits (that is, original overhead m 1 h+extra overhead m 2 ×(hK) ).
第二种是采用GEL码C GEL部分的编码过程生成额外开销,使用来自历史码块
Figure PCTCN2022087391-appb-000020
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,采用原空间耦合码分量码的编码方式生成m 1·h比特的原始开销。
The second is to use GEL codes. The encoding process of the GEL part generates overhead, using blocks from historical code blocks
Figure PCTCN2022087391-appb-000020
bits, k 2 ·h+K·m 2 payload bits, and m 2 ×(hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ·h-bit original overhead.
具体地,H B矩阵乘GEL码矩阵后,第1至k 2保持原值,第k 2+1至k行得到列码第一校验矩阵,再对该列码第一校验矩阵进行
Figure PCTCN2022087391-appb-000021
编码,将生成的校验矩阵放入GEL码矩阵的第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵中,作为第二开销的生成方式。此时,对第1至k行的每一列进行内码B 1(即,原空间耦合码的分量码B)编码,所得校验比特为第一开销放入第k+1至2·n行。
Specifically, after the H B matrix is multiplied by the GEL code matrix, the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed
Figure PCTCN2022087391-appb-000021
Encoding, putting the generated parity check matrix into the m 2 ×(hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method. At this time, the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2·n rows as the first overhead .
本申请实施例中,除非特别说明,“解码”和“译码”可以等价互换,本申请对此不作具体限定。In the embodiment of the present application, unless otherwise specified, "decoding" and "decoding" can be equivalently interchanged, and the present application does not specifically limit this.
结合第三或第四方面,在某些实现方式中,当空间耦合码的分量码A i为GEL码时,分量码A i包括历史码块C i、多个数据码块、第一开销码块和第二开销码块。 In combination with the third or fourth aspect, in some implementations, when the component code A i of the space-coupled code is a GEL code, the component code A i includes a historical code block C i , a plurality of data code blocks, a first overhead code block and the second overhead code block.
需要说明的是,本申请实施例中历史码块C i可以是指当前待传输FEC码块之前的码块。 It should be noted that, in the embodiment of the present application, the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
应理解,空间耦合码的编码方式核心之一是构建当前时刻分量码A i的待编码码块,i为大于或等于0的整数。 It should be understood that one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
结合第三或第四方面,在某些实现方式中,当第二开销码块是根据GEL码的码字C GEL 生成时,分量码为GEL码;其中,C GEL是包括4个内码和3个外码的2·n行h列的矩阵,内码的码长和外码的码长分别为2·n和h,C GEL的内码B 0为恒等码字[2·n,2·n,1] 2,B 1为码字[2·n,k,d] 2,B 2为码字[2·n,k 2,d 2] 2,B 3为全零码字,C GEL的外码A 1是伽罗华域
Figure PCTCN2022087391-appb-000022
上的全零码字,A 2是伽罗华域
Figure PCTCN2022087391-appb-000023
上的码字
Figure PCTCN2022087391-appb-000024
A 3是伽罗华域
Figure PCTCN2022087391-appb-000025
上的恒等码字
Figure PCTCN2022087391-appb-000026
m 1=2·n-k,m 2=k-k 2,m 3=k 2
In combination with the third or fourth aspect, in some implementations, when the second overhead code block is generated according to the code word C GEL of the GEL code, the component code is a GEL code; wherein, C GEL includes 4 inner codes and The matrix of 2·n rows and h columns of 3 outer codes, the code length of the inner code and the code length of the outer code are 2·n and h respectively, and the inner code B 0 of C GEL is the identity code word [2·n, 2·n,1] 2 , B 1 is the codeword [2·n,k,d] 2 , B 2 is the codeword [2·n,k 2 ,d 2 ] 2 , B 3 is the all-zero codeword, The outer code A 1 of C GEL is the Galois Field
Figure PCTCN2022087391-appb-000022
The all-zero codeword on A 2 is the Galois Field
Figure PCTCN2022087391-appb-000023
codeword on
Figure PCTCN2022087391-appb-000024
A 3 is Galois field
Figure PCTCN2022087391-appb-000025
identity codeword on
Figure PCTCN2022087391-appb-000026
m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
结合第三或第四方面,在某些实现方式中,历史码块包括n×h比特,多个数据码块包括原始数据流的k 2·h+K·m 2比特(即,净荷比特),第一开销码块包括m 1×h比特的原始开销,第二开销码块包括(h-K)·m 2比特的额外开销。 In combination with the third or fourth aspect, in some implementations, the historical code block includes n×h bits, and the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits ), the first overhead code block includes m 1 ×h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of additional overhead.
结合第三或第四方面,在某些实现方式中,在发送FEC码块时,生成的半无限序列为
Figure PCTCN2022087391-appb-000027
其中,V i是一个h行n列的二进制矩阵,V i包括s个h行h列的方阵(V i,0 V i,1 ... V i,s-1),s=n/h,s、h和n为大于0的整数;
In combination with the third or fourth aspect, in some implementations, when sending the FEC code block, the generated semi-infinite sequence is
Figure PCTCN2022087391-appb-000027
Among them, V i is a binary matrix with h rows and n columns, and V i includes s square matrices with h rows and h columns (V i,0 V i,1 ... V i,s-1 ), s=n/ h, s, h and n are integers greater than 0;
当i=0,1,2,...,N 0时,矩阵V i是h行n列的全零矩阵; When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix with h rows and n columns;
当i>N 0时,空间耦合码中的分量码为GEL码,GEL码为
Figure PCTCN2022087391-appb-000028
GEL码中的每一列的码字为原始空间耦合码(例如,OFEC码块)的分量码B[2·n,k,d] 2
When i>N 0 , the component code in the space coupling code is a GEL code, and the GEL code is
Figure PCTCN2022087391-appb-000028
The codeword of each column in the GEL code is the component code B[2·n,k,d] 2 of the original space-coupled code (eg, OFEC code block).
其中,V T是矩阵V的转置,N 0是根据空间耦合码的耦合方式确定的非负整数,π i,k(V)是根据任意的重排列规则对矩阵V进行重排后确定的,k=0,1,2,...,s-1。 Among them, V T is the transpose of matrix V, N 0 is a non-negative integer determined according to the coupling mode of space-coupled codes, π i,k (V) is determined after rearranging matrix V according to any rearrangement rules , k=0,1,2,...,s-1.
需要说明的是,连续发送的FEC码块构成了半无限序列,一个FEC码块包括N行K列,则对应的半无限序列包括N行无穷多列。It should be noted that the continuously sent FEC code blocks constitute a semi-infinite sequence, and one FEC code block includes N rows and K columns, and the corresponding semi-infinite sequence includes N rows and infinitely many columns.
结合第三或第四方面,在某些实现方式中,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第一开销码块的比特和第二开销码块的比特。In combination with the third or fourth aspect, in some implementations, the semi-infinite sequence V is the bit sum of the first overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code Bits of the second overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000029
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的原始开销和额外开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000029
bits and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 original overhead and additional overhead.
结合第三或第四方面,在某些实现方式中,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第二开销码块的比特,以及基于第二开销码块的比特,生成的第一开销码块的比特。In combination with the third or fourth aspect, in some implementations, the semi-infinite sequence V is the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code, and the bits of the first overhead code block generated based on the bits of the second overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000030
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,生成m 1·h比特的原始开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000030
bits, k 2 ·h+K·m 2 payload bits and m 2 ×(hK) overhead to generate m 1 ·h bits of original overhead.
结合第三或第四方面,在某些实现方式中,当空间耦合码的分量码为GEL码,且空间耦合结构与open FEC相似时,FEC码块V i是对分量码A i的子矩阵A′ i转置(A′ i) T的重排列,其中,分量码A i是256行16列的矩阵,子矩阵A′ i是A i的后128行16列矩阵,分量码A i包括历史码块C i、多个数据码块和第一开销码块,V i包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,i为FEC码块的行号,t为FEC码块的列号,r和c分别为子矩阵V i,t(r,c)的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 In combination with the third or fourth aspect, in some implementations, when the component code of the spatial coupling code is a GEL code, and the spatial coupling structure is similar to open FEC, the FEC code block V i is a sub-matrix for the component code A i A' i transpose (A' i ) rearrangement of T , wherein, the component code A i is a matrix of 256 rows and 16 columns, and the sub-matrix A' i is the rear 128 row and 16 column matrix of A i , and the component code A i includes Historical code block C i , a plurality of data code blocks and the first overhead code block, V i includes 8 sub-matrices V i,t (r,c) of 16 rows and 16 columns arranged in a row-wise matrix of 16 rows and 128 columns , i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are the row number and column number of the sub-matrix V i,t (r,c) respectively, and t is greater than or equal to 0 and less than or an integer equal to 7, i is an integer greater than or equal to 0, r and c are integers greater than 0 and less than or equal to 15.
结合第三或第四方面,在某些实现方式中,当空间耦合码的分量码A i为GEL码,且空间耦合结构与open FEC相似时,GEL码的码字C GEL内码B 0是恒等码字[256,256,1] 2,B 1 是扩展BCH码字[256,239,6] 2,B 2是扩展BCH码字[256,231,8] 2,m 1=17,m 2=8,m 3=231,GEL码的码字C GEL外码A 1是GF(2 17)上的全零码字,A 2是GF(2 8)上的循环RS码
Figure PCTCN2022087391-appb-000031
A 3是GF(2 231)上的恒等码字
Figure PCTCN2022087391-appb-000032
In combination with the third or fourth aspect, in some implementations, when the component code A i of the spatial coupling code is a GEL code, and the spatial coupling structure is similar to that of open FEC, the code word C of the GEL code GEL inner code B 0 is Identity code word [256,256,1] 2 , B 1 is extended BCH code word [256,239,6] 2 , B 2 is extended BCH code word [256,231,8] 2 , m 1 =17, m 2 =8, m 3 = 231, the code word C of GEL code A 1 of GEL outer code is the all-zero code word on GF(2 17 ), and A 2 is the cyclic RS code on GF(2 8 )
Figure PCTCN2022087391-appb-000031
A 3 is the identity codeword on GF(2 231 )
Figure PCTCN2022087391-appb-000032
例如,空间耦合码的h=16,s=8,N 0=15+2·g,当i>N 0时,i j=i+2·(j-g)+(-1) i-16,j=0,1,2,...,7;再例如,空间耦合码的h=16,s=8,N 0=g+7,当i>N 0时,i j=i+j-g-8,j=0,1,2,...,7。 For example, for space-coupled code h=16, s=8, N 0 =15+2·g, when i>N 0 , i j =i+2·(jg)+(-1) i -16, j =0,1,2,...,7; for another example, h=16, s=8, N 0 =g+7 of the space-coupled code, when i>N 0 , i j =i+jg-8 , j=0,1,2,...,7.
结合第三或第四方面,在某些实现方式中,分量码A i的子矩阵A′ i转置(A′ i) T是多个数据码块、第一开销码块和第二开销码块的转置,(A′ i) T包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 In conjunction with the third or fourth aspect, in some implementations, the sub-matrix A' i transpose (A' i ) T of the component code A i is a plurality of data code blocks, the first overhead code block and the second overhead code The transposition of the block, (A′ i ) T includes 8 sub-matrices of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c is the row number and column number of sub-matrix (A' i,t (r,c)) T respectively, t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c is an integer greater than or equal to 0 and less than or equal to 15.
结合第三或第四方面,在某些实现方式中,第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 In combination with the third or fourth aspect, in some implementations, the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
结合第三或第四方面,在某些实现方式中,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,当FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,j;当FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn combination with the third or fourth aspect, in some implementations, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, when the FEC code block When i in V i is an even number, select the j-th 16-row 16-column matrix V i-19+2*j, j of the historical FEC code block with the serial number i-19+2*j, and then transpose and rearrange Transpose to obtain C i, j in the historical code block; when i in the FEC code block V i is an odd number, select the jth 16th row 16 of the historical FEC code block with the sequence number i-21+2*j The column matrix V i-21+2*j,j is transposed and rearranged and then transposed to obtain C i,j in the historical code block.
结合第三或第四方面,在某些实现方式中,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的16行128列的矩阵,FEC码块V i选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn combination with the third or fourth aspect, in some implementations, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the FEC code block V i select the j-th 16-row 16-column matrix V i-27+j, j of the historical FEC code block with the serial number i-27+j to transpose and rearrange and then transpose to obtain C i in the historical code block ,j .
结合第三或第四方面,在某些实现方式中,当原空间耦合码是类似open FEC的结构,且第二开销码块是基于GEL码编码方式生成时,数据码块和第二开销码块确定一个16行111列的码块(其中,第14-15行(序号从0开始)的第103-110列(序号从0开始)为第二开销码块,其余部分为原始数据),第一开销码块是16行17列的编码信息矩阵。对原始数据、第一开销和第二开销码块中的比特(或者符号)进行重新排列后,即可得到编码后的FEC码块。In combination with the third or fourth aspect, in some implementations, when the original space coupling code is a structure similar to open FEC, and the second overhead code block is generated based on the GEL code encoding method, the data code block and the second overhead code The block determines a code block with 16 rows and 111 columns (wherein, the 103-110 columns (serial numbers start from 0) of the 14th-15th rows (serial numbers start from 0) are the second overhead code blocks, and the rest are original data), The first overhead code block is an encoding information matrix with 16 rows and 17 columns. After rearranging the bits (or symbols) in the original data, the first overhead and the second overhead code block, the coded FEC code block can be obtained.
其中,第一开销码块与OFEC的开销码块处于相同位置,第二开销码块处于相当于OFEC原始数据码块的一部分位置。Wherein, the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
结合第三或第四方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,π的重排列规则定义如下:In combination with the third or fourth aspect, in some implementations, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the rearrangement rule of π is defined as follows:
Figure PCTCN2022087391-appb-000033
Figure PCTCN2022087391-appb-000033
其中,
Figure PCTCN2022087391-appb-000034
表示i和j的异或,下表对应上述规则对应,表中的数字表示重排后的矩 阵π(W)当前位置所在元素,是原始矩阵W同一行的第几列对应的元素。其中,ω i,j表示16行16列的矩阵W中第i行第j列的元素,i和j分别为大于或等于0且小于或等于15的整数。
in,
Figure PCTCN2022087391-appb-000034
Indicates the XOR of i and j. The following table corresponds to the above rules. The numbers in the table indicate the element at the current position of the rearranged matrix π(W), which is the element corresponding to the column of the same row of the original matrix W. Wherein, ω i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
应理解,上述重排列规则π仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above rearrangement rule π is only an exemplary description, and should not constitute any limitation to the technical solution of the present application.
结合第三或第四方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,FEC码块V i由8个重新排列后的子矩阵B t确定,i表示FEC码块的序号,V i,t表示第t个16行16列的子矩阵B t,t为大于或等于0且小于或等于7的整数。 In combination with the third or fourth aspect, in some implementations, when the original spatial coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the FEC code block V i is composed of Eight rearranged sub-matrixes B t are determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is greater than or equal to 0 and less than or equal to 7 integer.
结合第三或第四方面,在某些实现方式中,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,此时GEL码是256行16列的矩阵块,其中,第0-127行矩阵块是从历史FEC码字确定的,第128-230行的矩阵块为数据码块,第231-238行矩阵块的前14列为数据码块,第二开销码块占用GEL码的第231-238行矩阵块的后两列,第一开销码块位于第239-255行。In combination with the third or fourth aspect, in some implementations, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the GEL code is 256 A matrix block with 16 rows and 16 columns, wherein, the matrix block of the 0-127 row is determined from the historical FEC codeword, the matrix block of the 128-230 row is a data code block, and the first 14 columns of the matrix block of the 231-238 row are For the data code block, the second overhead code block occupies the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
应理解,以上仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above is only an exemplary description, and should not be construed as any limitation to the technical solution of the present application.
第五方面,提供了一种编码设备,包括,处理器,可选地,还包括存储器,该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得编码设备执行上述第一方面或第一方面中任一种可能实现方式中的方法。In a fifth aspect, a coding device is provided, including a processor, and optionally, a memory, the processor is used to control the transceiver to send and receive signals, the memory is used to store a computer program, and the processor is used to call from the memory And run the computer program, so that the encoding device executes the method in the above first aspect or any possible implementation manner of the first aspect.
可选地,该处理器为一个或多个,该存储器为一个或多个。Optionally, there are one or more processors, and one or more memories.
可选地,该存储器可以与该处理器集成在一起,或者该存储器与处理器分离设置。Optionally, the memory can be integrated with the processor, or the memory can be set separately from the processor.
可选地,该编码设备还包括收发器,收发器具体可以为发射机(发射器)和接收机(接收器)。Optionally, the encoding device further includes a transceiver, which may specifically be a transmitter (transmitter) and a receiver (receiver).
第六方面,提供了一种解码设备,包括,处理器,可选地,还包括存储器,该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得编码设备执行上述第二方面或第二方面中任一种可能实现方式中的方法。In a sixth aspect, a decoding device is provided, including a processor, and optionally, a memory, the processor is used to control the transceiver to send and receive signals, the memory is used to store a computer program, and the processor is used to call from the memory And run the computer program, so that the coding device executes the method in the above second aspect or any possible implementation manner of the second aspect.
可选地,该处理器为一个或多个,该存储器为一个或多个。Optionally, there are one or more processors, and one or more memories.
可选地,该存储器可以与该处理器集成在一起,或者该存储器与处理器分离设置。Optionally, the memory can be integrated with the processor, or the memory can be set separately from the processor.
可选地,该解码设备还包括收发器,收发器具体可以为发射机(发射器)和接收机(接收器)。Optionally, the decoding device further includes a transceiver, which may specifically be a transmitter (transmitter) and a receiver (receiver).
第七方面,提供了一种编解码设备,包括:用于实现第一方面或第一方面任一种可能实现方式中的方法的各个模块或单元;或者,用于实现第二方面或第二方面任一种可能实现方式中的方法的各个模块或单元。In a seventh aspect, a codec device is provided, including: various modules or units for implementing the method in the first aspect or any possible implementation manner of the first aspect; or, for implementing the second aspect or the second Each module or unit of the method in any possible implementation of the aspect.
第八方面,提供了一种光通信系统,包括:编解码设备,用于执行上述第一方面或第一方面任一种可能实现方式中的方法,或者,用于执行上述第二方面或第二方面任一种可能实现方式中的方法。In an eighth aspect, an optical communication system is provided, including: a codec device, configured to execute the method in the above first aspect or any possible implementation manner of the first aspect, or to execute the above second aspect or the method in the first aspect The method in any one of the possible implementations of the two aspects.
第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序或代码,该计算机程序或代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任一种可能实现方式中的方法,或者,使得该计算机执行上述第二方面或第二方面 任一种可能实现方式中的方法。In the ninth aspect, a computer-readable storage medium is provided, the computer-readable storage medium stores computer programs or codes, and when the computer programs or codes run on a computer, the computer executes the above-mentioned first aspect or the first aspect The method in any possible implementation manner, or causing the computer to execute the above second aspect or the method in any possible implementation manner of the second aspect.
第十方面,提供了一种芯片,包括至少一个处理器,该至少一个处理器与存储器耦合,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的编码设备执行上述第一方面或第一方面任一种可能实现方式中的方法,或者使得安装有该芯片系统的解码设备执行上述第二方面或第二方面任一种可能实现方式中的方法。In a tenth aspect, a chip is provided, including at least one processor, the at least one processor is coupled to a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the installed The encoding device of the chip system executes the method in the above-mentioned first aspect or any possible implementation of the first aspect, or makes the decoding device installed with the chip system execute the above-mentioned second aspect or any of the possible implementations of the second aspect method in .
其中,该芯片可以包括用于发送信息或数据的输入电路或者接口,以及用于接收信息或数据的输出电路或者接口。Wherein, the chip may include an input circuit or interface for sending information or data, and an output circuit or interface for receiving information or data.
第十一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码被编码设备运行时,使得该编码设备执行上述第一方面或第一方面任一种可能实现方式中的方法;或者,当该计算机程序代码被解码设备运行时,使得该解码设备执行上述第二方面或第二方面任一种可能实现方式中的方法。In an eleventh aspect, a computer program product is provided, the computer program product includes computer program code, and when the computer program code is run by a coding device, the coding device is made to perform any one of the above-mentioned first aspect or the first aspect. A method in an implementation manner; or, when the computer program code is executed by a decoding device, the decoding device is made to execute the second aspect or the method in any possible implementation manner of the second aspect.
根据本申请实施例的方案,提供了一种编解码方法,通过将通用错误定位GEL、通用级联GCC、张量乘积(tensor product)和通用集成交织码字GII等编码方式中的一种作为空间耦合码的分量码,得到额外开销。基于第一开销(等同于当前空间耦合码的开销大小)、第二开销、以及GEL码的特征,利用当前空间耦合码的方式进行译码。通过修改分量码,减少延迟,改善性能曲线的斜率,并显著降低误码平层;通过可忽略不计的功率和复杂性成本,以及增加合理的开销(overhead)将输出误码率(bit error rate,BER)的误码平层降低至1e-15级。According to the solution of the embodiment of the present application, a codec method is provided, by using one of the coding methods such as general error location GEL, general concatenated GCC, tensor product (tensor product) and general integrated interleaving code word GII as Component codes of space-coupled codes, resulting in overhead. Based on the first overhead (equal to the overhead size of the current spatially coupled code), the second overhead, and the characteristics of the GEL code, decoding is performed using the current spatially coupled code. By modifying the component codes, the delay is reduced, the slope of the performance curve is improved, and the bit error floor is significantly reduced; the output bit error rate (bit error rate) is reduced by negligible power and complexity costs, and a reasonable overhead (overhead). , BER) the bit error floor is reduced to 1e-15 level.
附图说明Description of drawings
图1是适用本申请的分量码为BCH码的空间耦合的一例示意图。FIG. 1 is a schematic diagram of an example of spatial coupling where the component codes applicable to the present application are BCH codes.
图2是适用本申请的分组码的空间耦合码的一例示意图。FIG. 2 is a schematic diagram of an example of a spatially coupled code to which the block code of the present application is applied.
图3是适用本申请的空间耦合码的滑动窗口解码的解码过程的一例示意图。FIG. 3 is a schematic diagram of an example of a decoding process of sliding window decoding to which the spatially coupled code of the present application is applied.
图4是适用本申请的通用错误位置GEL码的一例示意图。FIG. 4 is a schematic diagram of an example of a general error location GEL code applicable to this application.
图5是适用本申请的GEL码的编码过程的一例示意图。FIG. 5 is a schematic diagram of an example of the encoding process of the GEL code to which this application is applied.
图6是适用本申请的GEL码的解码过程的一例示意图。FIG. 6 is a schematic diagram of an example of a decoding process of a GEL code to which the present application is applied.
图7是适用本申请的在空间耦合构造中使用GEL码作为分量码的一例示意图。FIG. 7 is a schematic diagram showing an example of using GEL codes as component codes in a space coupling structure to which the present application is applied.
图8是适用本申请的在空间耦合staircase中使用GEL码作为分量码的一例示意图。FIG. 8 is a schematic diagram of an example of using GEL codes as component codes in a spatially coupled staircase applicable to the present application.
图9是适用本申请的staircase和staircase-GEL码的误码平层的一例示意图。Fig. 9 is a schematic diagram of an example of the error floor of the staircase and staircase-GEL codes applicable to the present application.
图10是适用本申请的用于空间耦合前向纠错编码方法的一例示意图。FIG. 10 is a schematic diagram of an example of a spatial coupling FEC encoding method applicable to the present application.
图11是适用本申请的用于空间耦合前向纠错解码方法的一例示意图。FIG. 11 is a schematic diagram of an example of a decoding method for spatial coupling forward error correction applicable to the present application.
图12是适用本申请的空间耦合码open FEC与GEL码耦合框架结构的一例示意图。Fig. 12 is a schematic diagram of an example of a coupling frame structure of the space coupling code open FEC and the GEL code applicable to the present application.
图13是适用本申请的用于光传输场景的FEC的一例示意图。FIG. 13 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application.
图14是适用本申请的用于光传输场景的FEC的另一例示意图。Fig. 14 is a schematic diagram of another example of the FEC applicable to the optical transmission scenario of the present application.
图15是适用本申请的用于空间耦合前向纠错编码设备的一例示意图。Fig. 15 is a schematic diagram of an example of a spatial coupling forward error correction coding device applicable to the present application.
图16是适用本申请的用于空间耦合前向纠错解码设备的一例示意图。Fig. 16 is a schematic diagram of an example of a spatial coupling forward error correction decoding device applicable to the present application.
图17是适用本申请的用于空间耦合前向纠错编码装置的一例示意图。Fig. 17 is a schematic diagram of an example of a spatial coupling forward error correction coding device applicable to the present application.
图18是适用本申请的用于空间耦合前向纠错解码装置的一例示意图。Fig. 18 is a schematic diagram of an example of a spatial coupling forward error correction decoding device applicable to the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
数字通信系统的发展与通信信道中数据速率的提升紧密相关,导致大量传输错误的增加。前向纠错码(forward error correction,FEC)的目的是最小化传输误码数量。The development of digital communication systems is closely related to the increase of data rate in communication channels, resulting in the increase of a large number of transmission errors. The purpose of forward error correction (FEC) is to minimize the number of transmission errors.
目前,适合高性能、高速率应用的最佳FEC是基于空间耦合或连续交织的思想。空间耦合与分组码的结合被广泛运用于数据传输和存储过程中误码的纠删。Currently, the best FEC for high-performance, high-speed applications is based on the idea of spatial coupling or continuous interleaving. The combination of spatial coupling and block codes is widely used in erasure correction of errors in data transmission and storage.
空间耦合码包括编织块码(braided block codes,BBC)、连续交织BCH(continuously-interleaved bose-chaudhuri-hocquenghem,CI-BCH)码、阶梯码(staircase)、开放前向纠错码(open forward error correction,OFEC)和拉链码(zipper),这些纠错码利用低解码复杂度来实现高性能。Spatial coupling codes include braided block codes (braided block codes, BBC), continuous interleaved BCH (continuously-interleaved bose-chaudhuri-hocquenghem, CI-BCH) codes, staircase codes (staircase), open forward error correction codes (open forward error correction, OFEC) and zipper codes, these error-correcting codes take advantage of low decoding complexity to achieve high performance.
一般地,将具有较小纠错能力的二进制BCH码作为空间耦合码的分量码,以获得低复杂度的解码过程。由于具有编解码过程复杂度低和高性能的特征,空间耦合纠错码(spatially coupled error correction code,SC ECC)适用于高吞吐量光通信(例如,400Gb/s和800Gb/s)。Generally, a binary BCH code with a small error correction capability is used as a component code of a spatially coupled code to obtain a low-complexity decoding process. Due to the characteristics of low complexity and high performance in the encoding and decoding process, spatially coupled error correction code (spatially coupled error correction code, SC ECC) is suitable for high-throughput optical communication (for example, 400Gb/s and 800Gb/s).
图1是适用本申请的分量码为BCH码的空间耦合码的一例示意图。如图1所示,以(256,239)BCH编码作为分量码的空间耦合码为例,128比特的Info_Pad代表历史码块,与前面已传输的码字中某些bit(通过某种映射关系)对应,111比特是当前要传输的原始数据bit。不同空间耦合码可以简单理解成选择分量码的Info_Pad的规则不同。FIG. 1 is a schematic diagram of an example of a spatially coupled code in which the component code applicable to the present application is a BCH code. As shown in Figure 1, taking the (256, 239) BCH code as an example of the spatial coupling code of the component code, the 128-bit Info_Pad represents the historical code block, and some bits in the previously transmitted codeword (through a certain mapping relationship ), 111 bits are the original data bits to be transmitted currently. Different space coupling codes can be simply understood as different rules for selecting the Info_Pad of the component codes.
以开放前向纠错码open FEC为例,原来的open FEC的分量码是一个(256,239)的单奇偶校验位扩展BCH编码。经过open FEC编码后,传输的第i个FEC码块W i包括8个16行16列的矩阵,i表示FEC码块序号,可用W i,t表示W i中的第t个码块(0≤t≤7整数)。 Taking the open forward error correction code open FEC as an example, the component code of the original open FEC is a (256, 239) single parity bit extended BCH code. After open FEC encoding, the transmitted i-th FEC code block W i includes eight matrices of 16 rows and 16 columns, i represents the serial number of the FEC code block, and W i,t can be used to represent the t-th code block in W i (0 ≤t≤7 integer).
为了得到第i行经过open FEC编码后传输的码块W i,需要从已传输码块W n按特定的交织关系获得一个历史码块C i,其大小与W i一样,同样包括8个16行16列的矩阵按行排列的矩阵,C i,t表示C i中的第t个16行16列码块(0≤t≤7),n小于t。C i,t即是W m,t经过转置后重排列的结果。m=i+2*(t-2)+(-1) i-16,m的取值如表1所示。 In order to obtain the code block W i transmitted after the i-th row is encoded by open FEC, it is necessary to obtain a historical code block C i from the transmitted code block W n according to a specific interleaving relationship, which has the same size as W i and also includes 8 16 A matrix with 16 rows and 16 columns is a matrix arranged in rows, C i, t represents the t-th 16-row and 16-column code block (0≤t≤7) in C i , and n is less than t. C i,t is the rearrangement result of W m,t after transposition. m=i+2*(t-2)+(-1) i -16, the value of m is shown in Table 1.
表1Table 1
Figure PCTCN2022087391-appb-000035
Figure PCTCN2022087391-appb-000035
然后,由当前待传输信息获得一个16行111列数据码块D i,将历史码块C i码块和数据码块D i前后拼接得到一个16行239列的待编码码块,然后对每一行进行扩展BCH(256,239)编码,最后可以得到一个16行256列码块A i,等效16个16行16列的子矩阵按行排列,A i,p表示A i中的第p个16行16列码块0≤p≤15)。A i的前16行128列来自于历史码块C i,不会被传输,A i=20后16行128列的子矩阵A′ i,包含当前16行111列数据和16行17列开销。A′ i分割成8个16行16列矩阵A′ i,t,A′ i,t表示A′ i中的第t个16行16列码块(0≤t≤7)。将A′ i中的每个子矩阵A′ i进行重排列后,即可得到W iThen, a 16-row 111-column data code block D i is obtained from the current information to be transmitted, and a 16-row 239-column code block to be encoded is obtained by splicing the historical code block C i code block and the data code block D i back and forth, and then for each Extended BCH (256, 239) encoding for one line, and finally a code block A i with 16 rows and 256 columns can be obtained, which is equivalent to 16 sub-matrices with 16 rows and 16 columns arranged in rows, and A i,p represents the pth in A i A code block with 16 rows and 16 columns (0≤p≤15). The first 16 rows and 128 columns of A i come from the historical code block C i and will not be transmitted. The sub-matrix A′ i with 16 rows and 128 columns after A i=20 contains the current 16 rows and 111 columns of data and 16 rows and 17 columns of overhead . A' i is divided into eight 16-row and 16-column matrices A' i,t , where A' i,t represents the t-th 16-row and 16-column code block in A' i (0≤t≤7). After rearranging each sub-matrix A' i in A' i , W i can be obtained.
对于一个16行16列的矩阵W,重排列的规则可以是任意的,记W重排列后为π(W)。 π(W) i,j表示对应矩阵第i(0≤i≤15)行第j(0≤j≤15)列的位置的元素。open FEC中的重排列规则,可用如下公式表示: For a matrix W with 16 rows and 16 columns, the rearrangement rules can be arbitrary, and W is π(W) after rearrangement. π(W) i,j represents the element corresponding to the i-th (0≤i≤15) row and j-th column (0≤j≤15) column of the matrix. The rearrangement rules in open FEC can be expressed by the following formula:
Figure PCTCN2022087391-appb-000036
Figure PCTCN2022087391-appb-000036
矩阵W经过open FEC的矩阵重排列后,其结果π(W)如表2所示。表格中的数字表示,π(W)当前位置所在元素,在原始矩阵W同一行的第几列。After the matrix W is rearranged by the open FEC matrix, the result π(W) is shown in Table 2. The numbers in the table represent the element at the current position of π(W), which column is in the same row of the original matrix W.
表2Table 2
00 11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515
11 00 33 22 55 44 77 66 99 88 1111 1010 1313 1212 1515 1414
22 33 00 11 66 77 44 55 1010 1111 88 99 1414 1515 1212 1313
33 22 11 00 77 66 55 44 1111 1010 99 88 1515 1414 1313 1212
44 55 66 77 00 11 22 33 1212 1313 1414 1515 88 99 1010 1111
55 44 77 66 11 00 33 22 1313 1212 1515 1414 99 88 1111 1010
66 77 44 55 22 33 00 11 1414 1515 1212 1313 1010 1111 88 99
77 66 55 44 33 22 11 00 1515 1414 1313 1212 1111 1010 99 88
88 99 1010 1111 1212 1313 1414 1515 00 11 22 33 44 55 66 77
99 88 1111 1010 1313 1212 1515 1414 11 00 33 22 55 44 77 66
该实现方式能够利用码字之间的交织关系,提高纠错能力,即提高误码性能。但是,陷阱集的数量较多,且误码平层较高。This implementation can utilize the interleaving relationship between codewords to improve error correction capabilities, that is, to improve bit error performance. However, the number of trap sets is higher and the error floor is higher.
图2是适用本申请的空间耦合码的一例示意图。即,由历史码块和新输入的数据码块构造空间耦合码。如图2所示,每个码块由信息符号(数据)和奇偶校验符号(开销)组成。FIG. 2 is a schematic diagram of an example of a space-coupled code to which this application is applied. That is, a spatially coupled code is constructed from the historical code block and the newly input data code block. As shown in Figure 2, each code block consists of information symbols (data) and parity symbols (overhead).
具体地,任何空间耦合码都可以通过以下过程简单地构造:数据被分成块;其中,每个块由信息符号和校验符号组成;当前信息符号被放入新的码块中;新码块的校验部分是通过选择历史编码块中的部分符号,结合当前信息符号,进行分量码的编码(本申请是GEL)后获得的。Specifically, any space-coupled code can be simply constructed by the following process: data is divided into blocks; where each block is composed of information symbols and check symbols; current information symbols are put into new code blocks; new code blocks The verification part of is obtained by selecting some symbols in the historical coding block, combining with the current information symbols, and performing component code coding (GEL in this application).
该实现方式的核心部分是所选择的分组码(分量码是分组码)和映射器。这些不同类型的空间耦合码的主要区别在于映射器的内部结构,以及所选取的分量码不同。The core part of this implementation is the selected block code (the component codes are block codes) and the mapper. The main difference between these different types of space-coupled codes lies in the internal structure of the mapper and the selected component codes.
应理解,以上仅是示例性说明,不应构成对本申请技术方案的空间耦合原理的任何限定。还可以考虑实现多个分组码和多个映射器。一个码块的校验符号可能取决于先前不同数量和序号的码块,同时历史码块可能是零或非零符号的填充。It should be understood that the above description is only an example, and should not constitute any limitation on the spatial coupling principle of the technical solution of the present application. It is also possible to consider implementing multiple block codes and multiple mappers. The check symbols of a code block may depend on previous code blocks of different numbers and sequence numbers, and the history code blocks may be filled with zero or non-zero symbols.
空间耦合码的解码是用“滑动窗口”解码技术进行的。即,接收器从信道和/或从以前的处理过程收集s个码块矩阵V i,V i+1?,…,V i+s-1(窗口)。然后,应用滑动窗口解码的解码步骤(如图3所示)进行解码。此后,窗口“移动”和解码器仅利用以下矩阵V i+1、V i+2、...,V i+sDecoding of space-coupled codes is performed using a "sliding window" decoding technique. That is, the receiver collects s code block matrices V i from the channel and/or from previous processing, V i+1? ,...,V i+s-1 (window). Then, the decoding step of sliding window decoding (as shown in Fig. 3) is applied for decoding. Thereafter, the window "shifts" and the decoder utilizes only the following matrices V i+1 , V i+2 , . . . , V i+s .
图3是适用本申请的空间耦合码的滑动窗口解码的解码过程的一例示意图。具体解码步骤如下:FIG. 3 is a schematic diagram of an example of a decoding process of sliding window decoding to which the spatially coupled code of the present application is applied. The specific decoding steps are as follows:
输入:V i,V i+1?,…,V i+s-1-SC码的解码窗口,i t-迭代次数 Input: V i , V i+1? ,...,V i+s-1 - the decoding window of the SC code, it - the number of iterations
输出:V i,V i+1?,…,V i+s-1-更新SC码解码窗口 Output: V i , V i+1? ,...,V i+s-1 - update SC code decoding window
1:对于j从1到i t循环运算; 1: For j from 1 to i t cycle operation;
2:对于b从s–1到0循环运算;2: For b, loop operation from s–1 to 0;
3:使用块V i+b中的校验和信息符号、b–1个先前块中的符号根据特定的SCC(空间 耦合码)码字结构形成分量码码字(每个格式码应至少包含块V i+b中的一个符号); 3: Use the checksum information symbols in block V i+b , symbols in b-1 previous blocks to form component code code words according to a specific SCC (Space Coupled Code) code word structure (each format code should contain at least a symbol in block V i+b );
4:对于每个形成的分量码中的码字,应用分量码的解码算法;4: For each codeword in the formed component code, apply the decoding algorithm of the component code;
5:根据正确值更新窗口中的码块;5: Update the code block in the window according to the correct value;
6:结束b循环;6: end b cycle;
7:结束j循环。7: End the j loop.
当前空间耦合码结构在其特性上存在局限性。Current space-coupled code structures have limitations in their properties.
例如,考虑开销OH=6.67%的阶梯码,通过试验表明构建具有相当低延迟、良好性能和低误码率的阶梯码是不可能的。基于可纠正2个比特错误的BCH的阶梯码具有低延迟,但误码性能相对较差,同时,其还需要一些额外的降低误码平层的技术,即使经过处理误码平层也接近1e-15。相反,基于可纠正3个比特错误的BCH的阶梯码具有良好的性能,但延迟特别高。因此,通过现有构造空间耦合码的思路,无法设计在适用于低延迟和高性能的通信场景下,同时具有较低的误码率和相对简单的编解码算法的空间耦合码。For example, considering a ladder code with an overhead of OH=6.67%, it has been shown through experiments that it is impossible to construct a ladder code with relatively low delay, good performance and low bit error rate. The ladder code based on BCH that can correct 2 bit errors has low delay, but the error performance is relatively poor. At the same time, it also needs some additional technologies to reduce the error floor, even after processing the error floor is close to 1e -15. In contrast, ladder codes based on 3-bit-error-correctable BCH have good performance, but particularly high latency. Therefore, with the existing idea of constructing space-coupled codes, it is impossible to design a space-coupled code that is suitable for low-latency and high-performance communication scenarios, and has a low bit error rate and a relatively simple encoding and decoding algorithm.
需要说明的是,可生成第二开销的码字包括:通用级联码字(generalized concatenated code,GCC)、通用错误位置(generalized error location codes,GEL)码、局部可恢复码(locally repairable code,LRC)、通用集成交织(generalized integrated interleaved,GII)码等。示例性的,GEL的第二开销是由H B矩阵对GEL码子矩阵进行矩阵乘法得到的矩阵,再对矩阵进行行码编码生成的行码的开销。 It should be noted that the codewords that can generate the second overhead include: generalized concatenated codewords (generalized concatenated code, GCC), generalized error location codes (generalized error location codes, GEL) codes, locally repairable codes (locally repairable codes, LRC), generalized integrated interleaved (generalized integrated interleaved, GII) code, etc. Exemplarily, the second overhead of the GEL is a matrix obtained by matrix multiplication of the GEL code sub-matrix by the H B matrix, and then the overhead of the row code generated by performing row code encoding on the matrix.
图4是适用本申请的通用错误位置GEL码的一例示意图。如图4所示,GEL码结构包括行码和列码,GEL码的校验符号通常是利用行码对列码的校验符号进行编码操作获取的。行码也可以称为外码,列码也可以称为内码。FIG. 4 is a schematic diagram of an example of a general error location GEL code applicable to this application. As shown in Figure 4, the GEL code structure includes row codes and column codes, and the check symbols of the GEL code are usually obtained by encoding the check symbols of the column codes by using the row codes. Row codes can also be called outer codes, and column codes can also be called inner codes.
设F q为有q个元素的有限域,B i为[n,k i,d i] q线性码,其中i∈{0,1,...,L},n表示编码后的码字符号长度,k表示编码前净荷符号长度,d表示编码后的最小汉明距离。使得
Figure PCTCN2022087391-appb-000037
表示集合中元素是长度为n的零向量。
Figure PCTCN2022087391-appb-000038
表示有限域F q中的元素都可用n维向量表示,B 1,…,B L
Figure PCTCN2022087391-appb-000039
的子集。因此,可以得到n=k 0>k 1>...>k L=0。设H B是基于F q的非奇异矩阵。
Let F q be a finite field with q elements, B i be [n,k i ,d i ] q linear code, where i∈{0,1,...,L}, n represents the encoded code character The number length, k represents the length of the payload symbol before encoding, and d represents the minimum Hamming distance after encoding. make
Figure PCTCN2022087391-appb-000037
Indicates that the elements in the collection are zero vectors of length n.
Figure PCTCN2022087391-appb-000038
It means that the elements in the finite field F q can be represented by n-dimensional vectors, B 1 ,..., B L are
Figure PCTCN2022087391-appb-000039
subset of . Therefore, it can be obtained that n=k 0 >k 1 >...>k L =0. Let H B be a non-singular matrix based on F q .
Figure PCTCN2022087391-appb-000040
Figure PCTCN2022087391-appb-000040
其中,H i是一个m i×n子矩阵,m i可以表示外码A i的码字符号中所含的比特数,也可表示成F Qi域中元素的向量表示下的维度。对于i,m i=k i?1?k i∈{1,2,...,L};此外,矩阵H i,H i?1,...,H 1形成B i的奇偶校验矩阵。 Among them, H i is a m i ×n sub-matrix, and m i can represent the number of bits contained in the codeword symbol of the outer code A i , and can also be expressed as the dimension under the vector representation of the elements in the F Qi field. For i, m i =k i ? 1 ? k i ∈ {1,2,...,L}; moreover, the matrix H i , H i? 1 ,...,H 1 form the parity check matrix of Bi .
假设A i为基于F Qi
Figure PCTCN2022087391-appb-000041
线性码,N表示编码后的码字长度,K表示编码前净荷长度,D表示编码后的最小汉明距离。其中,i∈{1,2,...,L},
Figure PCTCN2022087391-appb-000042
N表示编码后的码字符号长度,K表示编码前的净荷符号长度,D表示编码后的最小汉明距离。
Suppose A i is based on F Qi
Figure PCTCN2022087391-appb-000041
Linear code, N represents the codeword length after encoding, K represents the payload length before encoding, and D represents the minimum Hamming distance after encoding. where, i∈{1,2,...,L},
Figure PCTCN2022087391-appb-000042
N represents the codeword symbol length after encoding, K represents the payload symbol length before encoding, and D represents the minimum Hamming distance after encoding.
如果在任何的
Figure PCTCN2022087391-appb-000043
Figure PCTCN2022087391-appb-000044
(从所有基于F q的s×N矩阵(s行N列)的向量空间到基于
Figure PCTCN2022087391-appb-000045
的N维的向量空间),C满足如下条件:
if in any
Figure PCTCN2022087391-appb-000043
arrive
Figure PCTCN2022087391-appb-000044
(from all vector spaces of s×N matrices (s rows and N columns) based on F q to
Figure PCTCN2022087391-appb-000045
N-dimensional vector space), C satisfies the following conditions:
Figure PCTCN2022087391-appb-000046
Figure PCTCN2022087391-appb-000046
则基于F q的n×N矩阵的线性子空间C被称为通用误差位置(GEL)码,其拥有L+1内码和L外码B 0、B 1、...、B L和A 1、A 2、...A L。其中,c表示C中的n×N矩阵,c是C空间中的一个元素。 Then the linear subspace C based on the n×N matrix of F q is called the general error location (GEL) code, which has L+1 inner code and L outer code B 0 , B 1 ,..., BL and A 1 , A 2 , ... A L . Among them, c represents an n×N matrix in C, and c is an element in C space.
这种结构最常见的情况是使用N个不同的嵌套内码,如
Figure PCTCN2022087391-appb-000047
其中B i (j)是[N,k i,d i] q线性码,i和j的范围如下i∈{0,1,...,L},j∈{1,2,...,N}。在这种情况下,条件(2)如下:
The most common case of this structure is to use N different nested internal codes, such as
Figure PCTCN2022087391-appb-000047
where B i (j) is a [N,k i ,d i ] q linear code, the ranges of i and j are as follows i∈{0,1,...,L}, j∈{1,2,... ,N}. In this case, condition (2) is as follows:
Figure PCTCN2022087391-appb-000048
Figure PCTCN2022087391-appb-000048
其中,
Figure PCTCN2022087391-appb-000049
Figure PCTCN2022087391-appb-000050
对应的子矩阵,c (j)是c的第j列,其中,j∈{1,2,...,N}。
in,
Figure PCTCN2022087391-appb-000049
yes
Figure PCTCN2022087391-appb-000050
The corresponding submatrix, c (j) is the jth column of c, where j∈{1,2,...,N}.
在本申请实施例中,使用单组嵌套的内码。为了获得GEL码的简单系统编码方法,外码使用系统形式编码和并采用一种特殊形式的矩阵H B,即: In the embodiment of this application, a single nested inner code is used. In order to obtain a simple systematic encoding method of the GEL code, the outer code uses a systematic form of encoding and adopts a special form of matrix H B , namely:
Figure PCTCN2022087391-appb-000051
Figure PCTCN2022087391-appb-000051
其中,I i是m i×m i的单位矩阵;O i,j是m i×m j的零矩阵;P i,j是基于有限域F q上的m i×m j矩阵。 Among them, I i is the identity matrix of m i ×m i ; O i,j is the zero matrix of m i ×m j ; P i,j is the m i ×m j matrix based on the finite field F q .
根据H B的结构和外码的参数,GEL码的码字c可以被拆分为大小为m i×K i或m i×(N-K i)的2L个子矩阵,其中,i∈{1,2,...,L},如下所示: According to the structure of H B and the parameters of the outer code, the codeword c of the GEL code can be split into 2L sub-matrices whose size is m i ×K i or m i ×(NK i ), where i∈{1,2 ,...,L}, as follows:
Figure PCTCN2022087391-appb-000052
Figure PCTCN2022087391-appb-000052
其中,X i和Y i分别为m i·K i和m i×(N-K i)子矩阵,i∈{1,2,...,N}。 Wherein, X i and Y i are respectively m i ·K i and m i ×(NK i ) sub-matrices, i∈{1,2,...,N}.
图5是适用本申请的GEL码编码过程的一例示意图。具体解码步骤如下:Fig. 5 is a schematic diagram of an example of the encoding process of the GEL code applicable to the present application. The specific decoding steps are as follows:
输入:基于F q
Figure PCTCN2022087391-appb-000053
(该值被视为信息符号)
Input: F q based
Figure PCTCN2022087391-appb-000053
(the value is treated as an information symbol)
输出:c–GEL码的码字(基于F q的n×N矩阵) Output: codeword of c–GEL code (n×N matrix based on F q )
1:将矩阵c设置为零;1: set matrix c to zero;
2:对于i从1到L做循环;2: Do a loop for i from 1 to L;
3:由输入的m i×K i信息符号设置c的X i子矩阵; 3: Set the X i sub-matrix of c by the input m i ×K i information symbol;
4:结束i循环;4: end the i loop;
5:c:=H B·c; 5: c:=H B c;
6:对于i从L降至1做循环;6: Do a loop for i from L to 1;
7:利用A i的系统编码器对X i进行编码,获得校验符号Z i7: Use the system encoder of A i to encode X i to obtain the check symbol Z i ;
8:用Z i设置c的Y i子矩阵; 8: Use Z i to set the Y i sub-matrix of c;
9:结束i循环;9: end the i loop;
10:
Figure PCTCN2022087391-appb-000054
10:
Figure PCTCN2022087391-appb-000054
其中,矩阵H B -1是H B的标准矩阵逆。 Among them, the matrix H B -1 is the standard matrix inverse of H B.
图6是适用本申请的GEL码的解码过程的一例示意图。具体解码步骤如下:FIG. 6 is a schematic diagram of an example of a decoding process of a GEL code to which the present application is applied. The specific decoding steps are as follows:
输入:v——接收到的来自信道中的码字Input: v - the received codeword from the channel
输出:c——GEL码或更新后的码字v和解码失败信号Output: c - GEL code or updated codeword v and decoding failure signal
1:设置擦除位置I 1、I 2、...、I L+1的列表作为空列表; 1: set the list of erase positions I 1 , I 2 , ..., I L+1 as an empty list;
2:对于i从1到L做循环;2: Do a loop for i from 1 to L;
3:获取码字空间A i中带有错误的码字a i:=H i·v; 3: Obtain codewords a i with errors in the codeword space A i :=H i ·v;
4:借助擦除位置列表I i,由A i解码器解码a i4: With the aid of the erasure position list I i , decode a i by the A i decoder;
5:如果观察到字a i的解码失败,则完成解码并返回v和解码失败; 5: If the decoding of the word a i is observed to fail, complete the decoding and return v and the decoding failure;
6:否则继续解码;6: otherwise continue decoding;
7:对于a i的错误或擦除符号所对应的列进行如下循环; 7: Carry out the following cycle for the column corresponding to the error of a i or the erasing symbol;
8:利用a 1,,a 2,…,a i解码结果位置的误差或擦除值,获得与校验矩阵
Figure PCTCN2022087391-appb-000055
对应的伴随式向量s;
8: Use a 1, , a 2 , ..., a i to decode the error or erasure value of the result position, and obtain the parity check matrix
Figure PCTCN2022087391-appb-000055
The corresponding adjoint vector s;
9:通过B i解码器获得与s对应的错误图样e; 9: Obtain the error pattern e corresponding to s through the Bi decoder;
10:如果观察到解码失败,则将列号添加到列表I i+1中; 10: If a decoding failure is observed, add the column number to the list I i+1 ;
11:否则,通过消去错误图样e来更新v的相应列;11: Otherwise, update the corresponding column of v by eliminating the error pattern e;
12:结束a i循环; 12: end a i cycle;
13:结束i循环;13: end the i loop;
14:如果擦除位置I L+1的列表不为空,则完成解码并返回v和解码失败; 14: If the list of erasing position I L+1 is not empty, complete decoding and return v and decoding failure;
15:否则返回更新后的码字v为c。15: Otherwise, return the updated codeword v as c.
应理解,GEL码的解码可以分步完成。事实上,可以对码字v执行部分迭代循环和更新。它可以减少码字中的错误符号数量,但不能纠正所有错误。利用GEL码的编解码方式将会有助于增强现有的空间耦合码以及设计新的空间耦合码It should be understood that the decoding of the GEL code can be done step by step. In fact, a partial iterative loop and update can be performed on the codeword v. It can reduce the number of erroneous symbols in a codeword, but it cannot correct all errors. Encoding and decoding using GEL codes will help to enhance existing spatially coupled codes and design new spatially coupled codes
图7是适用本申请的在空间耦合构造中使用GEL码作为分量码的一例示意图。如图7所示,为了设计具有高性能的长GEL码,需要在更大的有限域中使用具有更大的最小汉明距离的码字。此外,现有GEL代码不支持迭代解码。因此,本申请实施例采用GEL码作为空间耦合结构中的分量码。FIG. 7 is a schematic diagram showing an example of using GEL codes as component codes in a space coupling structure to which the present application is applied. As shown in Fig. 7, in order to design long GEL codes with high performance, it is necessary to use codewords with larger minimum Hamming distance in larger finite fields. Furthermore, existing GEL codes do not support iterative decoding. Therefore, the embodiment of the present application adopts the GEL code as the component code in the spatial coupling structure.
图8是适用本申请的在空间耦合staircase中使用GEL码作为分量码的一例示意图。如图8所示,将staircase和GEL结构结合,基于BCH码作为分量码的传统阶梯码中,分量码使用原始开销最多可以纠正多达2个错误,具有相对较高的误码平层。根据GEL结构,设计的基于GEL的阶梯码每列最多可纠正2个错误,并且可能使用原始开销和额外开销在某些列中最多可纠正3个错误。FIG. 8 is a schematic diagram of an example of using GEL codes as component codes in a spatially coupled staircase applicable to the present application. As shown in Figure 8, combining the staircase and GEL structures, in the traditional ladder code based on the BCH code as the component code, the component code can correct up to two errors using the original overhead, and has a relatively high error floor. According to the GEL structure, the designed GEL-based ladder code can correct up to 2 errors per column, and may correct up to 3 errors in some columns using original overhead and additional overhead.
图9是适用本申请的staircase和staircase-GEL代码的误码平层的一例示意图。如图9所示,staircase和GEL结构结合,性能更好,误差更低。即staircase-GEL代码空间耦合获取的FEC具有更低的误码平层,以及更好的性能曲线斜率。应理解,两个FEC具有相同的开销和延迟。误码平层与解码算法的延时无关,二者是独立的。此外,staircase-GEL适用于高速率和极低延迟的结构,这是Staircase-BCH和GEL分别无法达到的。经典的staircase-BCH需要较大的解码窗口尺寸以避免性能不佳。FIG. 9 is a schematic diagram of an example of the error floor of the staircase and staircase-GEL codes applicable to the present application. As shown in Figure 9, the combination of staircase and GEL structure has better performance and lower error. That is, the FEC obtained by the staircase-GEL code space coupling has a lower error floor and a better slope of the performance curve. It should be understood that both FECs have the same overhead and delay. The error floor has nothing to do with the delay of the decoding algorithm, the two are independent. In addition, staircase-GEL is suitable for high-rate and extremely low-latency structures, which cannot be achieved by Staircase-BCH and GEL respectively. Classical staircase-BCH requires a large decoding window size to avoid poor performance.
综上所述,当前的用于消除误码平层的技术(例如,传统上的位翻转技术)非常有限;设计极低延迟和高速率的传统SC ECC码是一项具有挑战性的任务;当前的ECC以使其适应目前数字通信系统的发展与通信信道数据速率的要求。In summary, current techniques for eliminating error floors (e.g., traditional bit-flipping techniques) are very limited; designing traditional SC ECC codes with extremely low latency and high rates is a challenging task; The current ECC adapts to the development of the current digital communication system and the data rate requirements of the communication channel.
有鉴于此,本申请提供了一种编解码方法,通过添加额外开销来获得具有更好属性(即,更大的最小距离)的原始码的子码,以及提供性能改进、降低错误解码中的新特征。通过增加额外开销减少延迟,改善性能曲线的斜率,并显著降低误差平层;通过输出BER以可忽略不计的功率和复杂性成本,以及增加合理的OH将误码平层降低至1e-15级。In view of this, the present application provides a codec method to obtain subcodes of the original code with better properties (i.e., larger minimum distance) by adding additional overhead, and to provide performance improvement, reduce errors in decoding new features. Reduce latency by adding overhead, improve the slope of the performance curve, and significantly reduce the error floor; reduce the error floor to 1e-15 by outputting BER at negligible power and complexity costs, and adding reasonable OH .
为了便于理解本申请实施例,作出以下几点说明:In order to facilitate the understanding of the embodiments of the present application, the following explanations are made:
本申请中,“至少一个”是指一个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系。In the present application, "at least one" means one or more than two. "And/or" describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A, B can be singular or plural. In the text description of this application, the character "/" generally indicates that the contextual objects are an "or" relationship.
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It can be understood that the various numbers involved in the embodiments of the present application are only for convenience of description, and are not used to limit the scope of the embodiments of the present application. The sequence numbers of the above processes do not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
在本申请实施例中“第一”、“第二”以及各种数字编号指示为了描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的信息矩阵等。In the embodiment of the present application, "first", "second" and various numbers indicate distinctions for convenience of description, and are not used to limit the scope of the embodiment of the present application. For example, distinguishing between different information matrices, etc.
下面将结合附图详细说明本申请实施例提供的编解码方法。The codec method provided by the embodiment of the present application will be described in detail below with reference to the accompanying drawings.
示例性的,使用open FEC类型的空间耦合和GEL进行空间耦合前向纠错的具体实施例。Exemplarily, a specific embodiment of spatial coupling forward error correction using open FEC type spatial coupling and GEL.
图10是适用本申请的用于空间耦合前向纠错编码方法1000的一例示意图。具体实现步骤包括:FIG. 10 is a schematic diagram of an example of a method 1000 for spatially coupled FEC coding applicable to the present application. The specific implementation steps include:
S1010,对原始数据流进行编码,以生成前向纠错FEC码块。S1010. Encode the original data stream to generate a forward error correction (FEC) code block.
其中,FEC码块包括多个数据码块、第一开销码块和第二开销码块(例如,图13所示),其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数。Wherein, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block (for example, as shown in FIG. 13 ), wherein the FEC code block includes N rows, and the first overhead code block is located in the FEC code block In each row of the N rows, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
示例性的,该原始数据流可以包括比特、符号等,本申请对此不作具体限定。Exemplarily, the original data stream may include bits, symbols, etc., which are not specifically limited in the present application.
具体地,第一开销码块是基于空间耦合码的编码方式,对数据码块和第二开销码块确定的待编码信息矩阵进行编码生成的,第二开销码块是基于通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字生成的,第二校验符号占用数据码块的Q个比特位,Q为大于零的整数。Specifically, the first overhead code block is generated by encoding the information matrix to be encoded determined by the data code block and the second overhead code block based on the encoding method of the space coupling code, and the second overhead code block is based on the general error location GEL code , general concatenated code GCC, tensor product and general integrated interleaved GII code generated by any one codeword, the second check symbol occupies Q bits of the data code block, and Q is an integer greater than zero.
一种可能的实现方式,选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成第一开销码块和第二开销码块。A possible implementation is to select any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the second overhead code block.
一种可能的实现方式,当第二开销码块是由GEL码字C GEL引入时,使用C GEL的校验矩阵H B对GEL码的列码进行校验,第二开销码块是对第一校验矩阵的行码进行编码生成的,第一校验矩阵是根据H B的子矩阵和GEL码的子矩阵的乘积确定的。 In a possible implementation, when the second overhead code block is introduced by the GEL code word C GEL , the check matrix H B of C GEL is used to check the column code of the GEL code, and the second overhead code block is the first The first check matrix is generated by encoding the row codes of the check matrix, and the first check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
其中,GEL码是具有良好特性的一类分组码。GEL码中用于生成列码校验符号的H B 矩阵为2·n×2·n的校验矩阵,第k+1至2·n行为B 1的校验矩阵H 1,第k 2+1至k行为H 2,H 1和H 2构成B 2的校验矩阵。第1至k 2行为H 3,包括一个k 2×k 2的单位矩阵和一个2·n-k 2的零矩阵。 Among them, GEL codes are a class of block codes with good properties. The H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2·n×2·n, the check matrix H 1 of B 1 in rows k+1 to 2·n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 . The first to k 2 rows of H 3 include a k 2 ×k 2 identity matrix and a 2·nk 2 zero matrix.
具体地,GEL编码前,GEL码矩阵中仅有净荷数据。第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵编码前为0,编码后用于存放第二开销。第k+1至2·n行确定的矩阵编码前为全0,编码后用于存放第一开销。 Specifically, before GEL encoding, there is only payload data in the GEL code matrix. The m 2 ×(hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding. The matrix determined in rows k+1 to 2·n is all 0s before encoding, and is used to store the first overhead after encoding.
需要说明的是,改进的空间耦合码是原空间耦合码的一种特殊子码。分量码GEL的编码方式有以下两种:It should be noted that the improved space-coupled code is a special subcode of the original space-coupled code. There are two encoding methods of the component code GEL:
其一:使用完整的GEL码C GEL的编码方式进行编码。利用来自历史码块
Figure PCTCN2022087391-appb-000056
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的校验位(即,原始开销+额外开销)。
One: use the complete GEL code C GEL encoding method for encoding. Using chunks from history
Figure PCTCN2022087391-appb-000056
and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 check bits (ie, original overhead + additional overhead).
其二:采用GEL码C GEL部分的编码过程生成额外开销,使用来自历史码块
Figure PCTCN2022087391-appb-000057
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,采用原空间耦合码分量码的编码方式生成m 1·h比特的原始开销。
Second: use GEL code C The encoding process of the GEL part generates additional overhead, using blocks from historical code blocks
Figure PCTCN2022087391-appb-000057
bits, k 2 ·h+K·m 2 payload bits, and m 2 ×(hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ·h-bit original overhead.
具体地,H B矩阵乘GEL码矩阵后,第1至k 2保持原值,第k 2+1至k行得到列码第一校验矩阵,再对该列码第一校验矩阵进行
Figure PCTCN2022087391-appb-000058
编码,将生成的校验矩阵放入GEL码矩阵的第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵中,作为第二开销的生成方式。此时,对第1至k行的每一列进行内码B 1(即,原空间耦合码的分量码B)编码,所得校验比特为第一开销放入第k+1至2·n行。
Specifically, after the H B matrix is multiplied by the GEL code matrix, the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed
Figure PCTCN2022087391-appb-000058
Encoding, putting the generated parity check matrix into the m 2 ×(hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method. At this time, the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2·n rows as the first overhead .
一种可能的实现方式,当空间耦合码的分量码A i为GEL码时,分量码A i包括历史码块C i、多个数据码块、第一开销码块和第二开销码块。 In a possible implementation manner, when the component code A i of the spatially coupled code is a GEL code, the component code A i includes a historical code block C i , multiple data code blocks, a first overhead code block, and a second overhead code block.
需要说明的是,本申请实施例中历史码块C i可以是指当前待传输FEC码块之前的码块。 It should be noted that, in the embodiment of the present application, the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
应理解,空间耦合码的编码方式核心之一是构建当前时刻分量码A i的待编码码块,i为大于或等于0的整数。 It should be understood that one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
一种可能的实现方式,当基于原空间耦合码耦合关系,以及将GEL作为分量码生成的新空间耦合码对应于半无限序列
Figure PCTCN2022087391-appb-000059
其中V i是一个h×n(h行n列)的二进制矩阵,同时h是n的约数,有s=n/h。显然,V i是由s个h×h(h行h列)的方阵(V i,0 V i,1 ... V i,s-1)构成的。所以半无限序列V可以定义为:
A possible implementation, when based on the coupling relationship of the original space coupling code, and the new space coupling code generated by using GEL as the component code corresponds to the semi-infinite sequence
Figure PCTCN2022087391-appb-000059
Where V i is a binary matrix of h×n (h rows and n columns), and h is a divisor of n, so s=n/h. Obviously, V i is composed of s square matrices (V i,0 V i,1 ... V i,s-1 ) of h×h (h rows and h columns). So a semi-infinite sequence V can be defined as:
1、当i=0,1,2,...,N 0时,矩阵V i是一个h×n(h行n列)的全零矩阵; 1. When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix of h×n (h rows and n columns);
2、
Figure PCTCN2022087391-appb-000060
的每一行都是空间耦合码的分量码B的码字空间中的码字;
2,
Figure PCTCN2022087391-appb-000060
Each row of is a codeword in the codeword space of the component code B of the space-coupled code;
3、当i>N 0时,
Figure PCTCN2022087391-appb-000061
都是GEL码码字空间中的码字。此时,j=0,1,2,...,s-1,i j、N 0以及π i,k(V)与原空间耦合码对应的半无限序列
Figure PCTCN2022087391-appb-000062
具有相同的取值。
3. When i>N 0 ,
Figure PCTCN2022087391-appb-000061
Both are codewords in the codeword space of the GEL code. At this time, j=0,1,2,...,s-1, i j , N 0 and π i,k (V) are semi-infinite sequences corresponding to the original space coupling code
Figure PCTCN2022087391-appb-000062
have the same value.
其中,当分量码为二进制码字B[2·n,k,d] 2的原空间耦合码对应于半无限序列
Figure PCTCN2022087391-appb-000063
其中W i是一个h×n(h行n列)的二进制矩阵,同时h是n的约数,有s=n/h。显然,W i是由s个h×n(h行h列)的方阵(W i,0W i,1...W i,s-1)构成的。所以半无限序列可 以定义为:
Among them, when the component code is the binary codeword B[2 n,k,d] 2, the original space coupling code corresponds to the semi-infinite sequence
Figure PCTCN2022087391-appb-000063
Where W i is a binary matrix of h×n (h rows and n columns), and h is a divisor of n, so s=n/h. Obviously, W i is composed of s square matrices (W i,0 W i,1 ...W i,s-1 ) of h×n (h rows and h columns). So a semi-infinite sequence can be defined as:
1、当i=0,1,2,...,N 0时,矩阵W i是一个h×n(h行n列)的全零矩阵; 1. When i=0,1,2,...,N 0 , the matrix W i is an all-zero matrix of h×n (h rows and n columns);
2、当i>N 0时,
Figure PCTCN2022087391-appb-000064
的每一行都是分量码B对应的一个码字;此时j=0,1,2,...,s-1,i j的值取决于具体的空间耦合设计,W T是矩阵W的转置;N 0是取决于空间耦合设计的非负整数;π i,k(W)是矩阵W的重排列,k=0,1,2,...,2·s-1。
2. When i>N 0 ,
Figure PCTCN2022087391-appb-000064
Each row of is a code word corresponding to the component code B; at this time j=0,1,2,...,s-1, the value of i j depends on the specific space coupling design, W T is the matrix W Transpose; N 0 is a non-negative integer depending on the space coupling design; π i,k (W) is the rearrangement of the matrix W, k=0,1,2,...,2·s-1.
在本申请实施例中,通过修改分量码,引入额外开销的方式,设计合适的新空间耦合码,以允许具有低复杂度解码过程和低误码平层的FEC码字在低延迟、高吞吐量、高速率的通信传输场景中的应用。In the embodiment of this application, by modifying the component codes and introducing additional overhead, a suitable new space-coupled code is designed to allow FEC codewords with low-complexity decoding process and low error floor at low delay and high throughput Applications in high-volume, high-speed communication transmission scenarios.
一种可能的实现方式,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第一开销码块的比特和第二开销码块的比特。In a possible implementation, the semi-infinite sequence V is the bits of the first overhead code block and the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000065
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的原始开销和额外开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000065
bits and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 original overhead and additional overhead.
另一种可能的实现方式,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第二开销码块的比特,以及基于第二开销码块的比特,生成的第一开销码块的比特。In another possible implementation, the semi-infinite sequence V is based on the encoding method of the GEL code, based on the bits of the historical code block and the bits of the original data stream, the bits of the generated second overhead code block, and the bits based on the second overhead code block The bits of are the bits of the generated first overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000066
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,生成m 1·h比特的原始开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000066
bits, k 2 ·h+K·m 2 payload bits and m 2 ×(hK) overhead to generate m 1 ·h bits of original overhead.
需要说明的是,修改后的半无限序列V由于GEL结构,在每个码块V i中包含(h-K)·m 2个额外开销,同时又保留了原有空间耦合码的结构。 It should be noted that due to the GEL structure, the modified semi-infinite sequence V contains (hK)·m 2 additional overheads in each code block V i , while retaining the structure of the original space-coupled code.
应理解,额外开销是由GEL码字C GEL引入的,相较于原有空间耦合码的开销多出来的开销。其中,用于引入额外开销的GEL码字C GEL包括4个内码和3个外码,因此有L=3,内码码长和外码码长分别为2·n和h。C GEL的内码码字B 0和B 3分别是恒等码字[2·n,2·n,1] 2和全零码字,B 1和原空间耦合码的分量码B为同一码字,B 2为码字[2·n,k 2,d2] 2,同时是B 1的子码,因此有
Figure PCTCN2022087391-appb-000067
根据上述GEL的描述,即得到H B矩阵为:
It should be understood that the extra overhead is introduced by the GEL codeword C GEL , which is more overhead than the overhead of the original space-coupled code. Among them, the GEL code word C GEL used to introduce additional overhead includes 4 inner codes and 3 outer codes, so L=3, and the code lengths of the inner code and the outer code are 2·n and h respectively. The inner code word B 0 and B 3 of C GEL are the identity code word [2 n, 2 n, 1] 2 and the all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code word, B 2 is the codeword [2·n,k 2 ,d2] 2 , which is also the subcode of B 1 , so there is
Figure PCTCN2022087391-appb-000067
According to the above description of GEL, the obtained H B matrix is:
Figure PCTCN2022087391-appb-000068
Figure PCTCN2022087391-appb-000068
此时,m 1=2·n-k,m 2=k-k 2,m 3=k 2At this time, m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
还应理解,GEL码字C GEL所有的外码都是定义在二元域的不同扩展域上的码字。即C GEL的外码A 1是伽罗华域
Figure PCTCN2022087391-appb-000069
上的全零码字,A 2是伽罗华域
Figure PCTCN2022087391-appb-000070
上的码字
Figure PCTCN2022087391-appb-000071
A 3是伽罗华域
Figure PCTCN2022087391-appb-000072
上的恒等码字
Figure PCTCN2022087391-appb-000073
其中,在该实现方式中,A 2被用作纠错码进行编码和译码过程。
It should also be understood that all the outer codes of the GEL code word C GEL are code words defined on different extension fields of the binary field. That is, the outer code A 1 of C GEL is the Galois Field
Figure PCTCN2022087391-appb-000069
The all-zero codeword on A 2 is the Galois Field
Figure PCTCN2022087391-appb-000070
codeword on
Figure PCTCN2022087391-appb-000071
A 3 is Galois field
Figure PCTCN2022087391-appb-000072
identity codeword on
Figure PCTCN2022087391-appb-000073
Wherein, in this implementation, A 2 is used as an error correction code for encoding and decoding.
示例性的,历史码块包括n×h比特,多个数据码块包括原始数据流的k 2·h+K·m 2比特(即,净荷比特),第一开销码块包括m 1×h比特的原始开销,第二开销码块包括(h-K)·m 2比特的额外开销。 Exemplarily, the historical code block includes n×h bits, the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits) of the original data stream, and the first overhead code block includes m 1 × h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of overhead.
一种可能的实现方式,FEC码块V i是对分量码A i的子矩阵A′ i转置(A′ i) T的重排列,其 中,分量码A i是256行16列的矩阵,子矩阵A′ i是A i的后128行16列矩阵,分量码A i包括历史码块C i、多个数据码块和第一开销码块,V i包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,i为FEC码块的行号,t为FEC码块的列号,r和c分别为子矩阵V i,t(r,c)的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 In a possible implementation, the FEC code block V i is a rearrangement of the transpose (A' i ) T of the sub-matrix A' i of the component code A i , where the component code A i is a matrix with 256 rows and 16 columns, The sub-matrix A' i is the last 128 rows and 16 columns matrix of A i , the component code A i includes the historical code block C i , multiple data code blocks and the first overhead code block, V i includes eight sub-matrixes with 16 rows and 16 columns Matrix V i,t (r, c) is a matrix of 16 rows and 128 columns arranged in the row direction, i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are sub-matrixes V i, The row number and column number of t (r,c), t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c are integers greater than 0 and less than or equal to 15.
一种可能的实现方式,分量码A i的子矩阵A′ i转置(A′ i) T是多个数据码块、第一开销码块和第二开销码块的转置,(A′ i) T包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 In a possible implementation, the sub-matrix A' i transpose (A' i ) T of the component code A i is the transpose of multiple data code blocks, the first overhead code block and the second overhead code block, (A' i ) T includes 8 sub-matrices (A' i,t (r,c)) of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c are sub-matrices (A' i,t (r,c)) The row number and column number of T , t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c are greater than or equal to 0 and less than or an integer equal to 15.
一种可能的实现方式,第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 In a possible implementation manner, the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15, c is greater than or equal to 7 and An integer less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is greater than or equal to 0 and An integer less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
一种可能的实现方式,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,当FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,j;当FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn a possible implementation, the historical code block C i includes 8 sub-matrices C i,t with 16 rows and 16 columns arranged in the column direction, and a matrix with 128 rows and 16 columns, when i in the FEC code block V i is an even number , select the j-th 16-row and 16-column matrix V i-19+2*j ,j of the historical FEC code block with the serial number i-19+2*j to transpose and rearrange and then transpose to obtain the historical code block C i,j in ; when i in the FEC code block V i is an odd number, select the j-th 16-row 16-column matrix V i-21+2 of the historical FEC code block whose serial number is i-21+ 2*j *j,j are transposed and rearranged and then transposed to obtain C i,j in the historical code block.
一种可能的实现方式,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的16行128列的矩阵,FEC码块V i选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn a possible implementation, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the sequence number of the FEC code block V i is i-27+ The j-th 16-row and 16-column matrix V i-27+j,j of j 's historical FEC code block is transposed, rearranged and then transposed to obtain C i,j in the historical code block.
示例性的,当空间耦合码的分量码A i为GEL码,且空间耦合结构与open FEC相似时,GEL码的码字C GEL内码B 0是恒等码字[256,256,1] 2,B 1是扩展BCH码字[256,239,6] 2,B 2是扩展BCH码字[256,231,8] 2,m 1=17,m 2=8,m 3=231,GEL码的码字C GEL外码A 1是GF(2 17)上的全零码字,A 2是GF(2 8)上的循环RS码
Figure PCTCN2022087391-appb-000074
A 3是GF(2 231)上的恒等码字
Figure PCTCN2022087391-appb-000075
Exemplarily, when the component code A i of the space coupling code is a GEL code, and the space coupling structure is similar to open FEC, the code word C of the GEL code GEL inner code B 0 is the identity code word [256,256,1] 2 , B 1 is the extended BCH code word [256,239,6] 2 , B 2 is the extended BCH code word [256,231,8] 2 , m 1 =17, m 2 =8, m 3 =231, the code word C GEL of the GEL code The outer code A 1 is the all-zero code word on GF(2 17 ), and A 2 is the cyclic RS code on GF(2 8 )
Figure PCTCN2022087391-appb-000074
A 3 is the identity codeword on GF(2 231 )
Figure PCTCN2022087391-appb-000075
例如,空间耦合码的h=16,s=8,N 0=15+2·g,当i>N 0时,i j=i+2·(j-g)+(-1) i-16,j=0,1,2,...,7;再例如,空间耦合码的h=16,s=8,N 0=g+7,当i>N 0时,i j=i+j-g-8,j=0,1,2,...,7。 For example, for space-coupled code h=16, s=8, N 0 =15+2·g, when i>N 0 , i j =i+2·(jg)+(-1) i -16, j =0,1,2,...,7; for another example, h=16, s=8, N 0 =g+7 of the space-coupled code, when i>N 0 , i j =i+jg-8 , j=0,1,2,...,7.
一种可能的实现方式,当原空间耦合码是类似open FEC的结构,且第二开销码块是基于GEL码编码方式生成时,数据码块和第二开销码块确定了一个16行111列的码块(其中,第14-15行(序号从0开始),第103-110列(序号从0开始)为第二开销码块,其余部分为原始数据),第一开销码块是16行17列的编码信息矩阵。对数据码块、第一开销码块和第二开销码块中的比特(或者符号)进行重新排列后,即可得到编码后的FEC码块。A possible implementation, when the original space coupling code is a structure similar to open FEC, and the second overhead code block is generated based on the GEL code encoding method, the data code block and the second overhead code block determine a 16-row 111-column code blocks (wherein, the 14th-15th row (the serial number starts from 0), the 103-110 column (the serial number starts from 0) is the second overhead code block, and the rest is the original data), the first overhead code block is 16 An encoded information matrix with 17 rows and 17 columns. After rearranging the bits (or symbols) in the data code block, the first overhead code block and the second overhead code block, an encoded FEC code block can be obtained.
其中,第一开销码块与OFEC的开销码块处于相同位置,第二开销码块处于相当于OFEC原始数据码块的一部分位置。Wherein, the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,π的重排列规则定义如下:In a possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the rearrangement rule of π is defined as follows:
Figure PCTCN2022087391-appb-000076
Figure PCTCN2022087391-appb-000076
其中,
Figure PCTCN2022087391-appb-000077
表示i和j的异或,下表对应上述规则对应,表中的数字表示重排后的矩阵当前位置所在元素,是原始矩阵W同一行的第几列对应的元素。其中,ω i,j表示16行16列的矩阵W中第i行第j列的元素,i和j分别为大于或等于0且小于或等于15的整数。
in,
Figure PCTCN2022087391-appb-000077
Indicates the XOR of i and j. The following table corresponds to the above rules. The numbers in the table indicate the element at the current position of the rearranged matrix, which is the element corresponding to the column of the same row of the original matrix W. Wherein, ω i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,FEC码块V i由8个重新排列后的子矩阵B t确定,i表示FEC码块的序号,V i,t表示第t个16行16列的子矩阵B t,t为大于或等于0且小于或等于7的整数。 A possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the FEC code block V i consists of 8 rearranged sub-matrices B t is determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is an integer greater than or equal to 0 and less than or equal to 7.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,此时GEL码是256行16列的信息矩阵块,其中,第0-127行矩阵块是从历史FEC码块确定的,第128-230行的矩阵块为数据码块,第231-238行信息矩阵块的前14列为数据码块,第二开销码块占用GEL码的第231-238行矩阵块的后两列,第一开销码块位于第239-255行。A possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, at this time the GEL code is an information matrix block with 256 rows and 16 columns, Among them, the matrix blocks of rows 0-127 are determined from historical FEC code blocks, the matrix blocks of rows 128-230 are data code blocks, the first 14 columns of information matrix blocks of rows 231-238 are data code blocks, and the second The overhead code blocks occupy the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
应理解,以上仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above is only an exemplary description, and should not be construed as any limitation to the technical solution of the present application.
S1020,发送FEC码块。S1020. Send the FEC code block.
根据本申请提供的方案,通过添加额外开销(例如,基于GEL、GCC、张量乘积和GII中的任意一种码字生成)获得具有更好属性(即,更大的最小汉明距离)的原始码的子码,以及提供性能改进、降低错误解码中的新特征。设计合适的空间耦合码(例如,开放前向纠错码OFEC),以允许具有低复杂度解码过程和低误码平层的FEC码字在低延迟、高吞吐量、高速率的通信传输场景中的应用。According to the scheme provided by this application, by adding additional overhead (for example, based on any codeword generation in GEL, GCC, tensor product and GII) to obtain better properties (that is, a larger minimum Hamming distance) Subcodes of the original code, and new features in decoding that provide performance improvements and reduce errors. Design suitable spatially coupled codes (for example, open forward error correction code OFEC) to allow FEC codewords with low-complexity decoding process and low error floor in low-latency, high-throughput, high-rate communication transmission scenarios in the application.
图11是适用本申请的用于空间耦合前向纠错解码方法1100的一例示意图。具体实现步骤包括:FIG. 11 is a schematic diagram of an example of a method 1100 for spatially coupled FEC decoding applicable to the present application. The specific implementation steps include:
S1110,接收前向纠错FEC码块流。S1110. Receive a forward error correction (FEC) code block stream.
S1120,对FEC码块进行解码,以生成前向纠错FEC码块。S1120. Decode the FEC code block to generate a forward error correction FEC code block.
其中,FEC码块包括多个数据码块、第一开销码块和第二开销码块(例如,图13所示),其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数。Wherein, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block (for example, as shown in FIG. 13 ), wherein the FEC code block includes N rows, and the first overhead code block is located in the FEC code block In each row of the N rows, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
示例性的,该原始数据流可以包括比特、符号等,本申请对此不作具体限定。Exemplarily, the original data stream may include bits, symbols, etc., which are not specifically limited in the present application.
在本申请实施例中,“开销符号”、“冗余符号”“校验符号”在非特定情况下可以互为替换,“开销码块”可以包括“开销符号”、“冗余符号”、“校验符号”等,“码块”和“矩阵”在非特定情况下可以互为替换,或者说,码块是由矩阵组成的。其中,一个符号可以对应多个比特,一个码块可以包括多个符号,码块包含多个比特或者多个符号,本申请对此不作具体限定。In this embodiment of the application, "overhead symbol", "redundant symbol" and "check symbol" can be replaced in non-specific cases, and "overhead code block" can include "overhead symbol", "redundant symbol", "Check symbol", etc., "code block" and "matrix" can be replaced by each other in non-specific cases, or in other words, a code block is composed of a matrix. Wherein, one symbol may correspond to multiple bits, one code block may include multiple symbols, and a code block includes multiple bits or multiple symbols, which is not specifically limited in this application.
具体地,第一开销码块是基于空间耦合码的编码方式,对数据码块和第二开销码块确 定的待编码信息矩阵进行编码生成的,第二开销码块是基于通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字生成的,第二开销码块占用数据码块的Q个比特位,Q为大于零的整数。Specifically, the first overhead code block is generated by encoding the information matrix to be encoded determined by the data code block and the second overhead code block based on the encoding method of the space coupling code, and the second overhead code block is based on the general error location GEL code , general concatenated code GCC, tensor product and general integrated interleaved GII code generated by any one codeword, the second overhead code block occupies Q bits of the data code block, and Q is an integer greater than zero.
一种可能的实现方式,选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成第一开销码块和第二开销码块。A possible implementation is to select any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the second overhead code block.
一种可能的实现方式,当第二开销码块是根据GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对GEL码的列码进行校验,第二开销码块是对第一校验矩阵的行码进行编码生成的,第一校验矩阵是根据H B的子矩阵和GEL码的子矩阵的乘积确定的。 In a possible implementation, when the second overhead code block is generated according to the code word C GEL of the GEL code, the check matrix H B of C GEL is used to check the column code of the GEL code, and the second overhead code block is It is generated by encoding the row codes of the first check matrix, and the first check matrix is determined according to the product of the sub-matrix of the H B and the sub-matrix of the GEL code.
其中,GEL码是具有良好特性的一类分组码。GEL码中用于生成列码校验符号的H B矩阵为2·n×2·n的校验矩阵,第k+1至2·n行为B 1的校验矩阵H 1,第k 2+1至k行为H 2,H 1和H 2构成B 2的校验矩阵。第1至k 2行为H 3,包括一个k 2×k 2的单位矩阵和一个2·n-k 2的零矩阵。 Among them, GEL codes are a class of block codes with good properties. The H B matrix used to generate column code check symbols in GEL codes is a check matrix of 2·n×2·n, the check matrix H 1 of B 1 in rows k+1 to 2·n, and the check matrix H 1 of k 2 + Rows 1 to k are H 2 , and H 1 and H 2 constitute the parity check matrix of B 2 . The first to k 2 rows of H 3 include a k 2 ×k 2 identity matrix and a 2·nk 2 zero matrix.
具体地,GEL编码前,GEL码矩阵中仅有净荷数据。第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵编码前为0,编码后用于存放第二开销。第k+1至2·n行确定的矩阵编码前为全0,编码后用于存放第一开销。 Specifically, before GEL encoding, there is only payload data in the GEL code matrix. The m 2 ×(hK) matrix determined by the k 2 +1 to k th columns to k th columns is 0 before encoding, and is used to store the second overhead after encoding. The matrix determined in rows k+1 to 2·n is all 0s before encoding, and is used to store the first overhead after encoding.
需要说明的是,改进的空间耦合码是原空间耦合码的一种特殊子码。分量码GEL的编码方式有以下两种:It should be noted that the improved space-coupled code is a special subcode of the original space-coupled code. There are two encoding methods of the component code GEL:
其一:使用完整的GEL码C GEL的编码方式进行编码。利用来自历史码块
Figure PCTCN2022087391-appb-000078
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的校验位(即,原始开销+额外开销)。
One: use the complete GEL code C GEL encoding method for encoding. Using chunks from history
Figure PCTCN2022087391-appb-000078
and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 check bits (ie, original overhead + additional overhead).
其二:采用GEL码C GEL部分的编码过程生成额外开销,使用来自历史码块
Figure PCTCN2022087391-appb-000079
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,采用原空间耦合码分量码的编码方式生成m 1·h比特的原始开销。
Second: use GEL code C The encoding process of the GEL part generates additional overhead, using blocks from historical code blocks
Figure PCTCN2022087391-appb-000079
bits, k 2 ·h+K·m 2 payload bits, and m 2 ×(hK) overhead, the original space-coupled code component code encoding method is used to generate m 1 ·h-bit original overhead.
具体地,H B矩阵乘GEL码矩阵后,第1至k 2保持原值,第k 2+1至k行得到列码第一校验矩阵,再对该列码第一校验矩阵进行
Figure PCTCN2022087391-appb-000080
编码,将生成的校验矩阵放入GEL码矩阵的第k 2+1至k行的第K至h列确定的m 2×(h-K)的矩阵中,作为第二开销的生成方式。此时,对第1至k行的每一列进行内码B 1(即,原空间耦合码的分量码B)编码,所得校验比特为第一开销放入第k+1至2·n行。
Specifically, after the H B matrix is multiplied by the GEL code matrix, the 1st to k 2 keep the original values, and the k 2 + 1 to kth rows get the first parity check matrix of the column code, and then the first parity check matrix of the column code is performed
Figure PCTCN2022087391-appb-000080
Encoding, putting the generated parity check matrix into the m 2 ×(hK) matrix determined by the k 2 +1 to kth rows and k to h columns of the GEL code matrix, as the second overhead generation method. At this time, the inner code B 1 (that is, the component code B of the original space-coupled code) is encoded for each column of the 1st to k rows, and the resulting check bits are put into the k+1 to 2·n rows as the first overhead .
一种可能的实现方式,当分量码A i为GEL码时,分量码A i包括历史码块C i、多个数据码块、第一开销码块和第二开销码块。 In a possible implementation manner, when the component code A i is a GEL code, the component code A i includes a historical code block C i , multiple data code blocks, a first overhead code block, and a second overhead code block.
需要说明的是,本申请实施例中历史码块C i可以是指当前待传输FEC码块之前的码块。 It should be noted that, in the embodiment of the present application, the historical code block C i may refer to a code block before the current FEC code block to be transmitted.
应理解,空间耦合码的编码方式核心之一是构建当前时刻分量码A i的待编码码块,i为大于或等于0的整数。 It should be understood that one of the cores of the encoding method of the space-coupled code is to construct the code block to be encoded of the component code A i at the current moment, where i is an integer greater than or equal to 0.
一种可能的实现方式,当基于原空间耦合码耦合关系,以及将GEL作为分量码生成的新空间耦合码对应于半无限序列
Figure PCTCN2022087391-appb-000081
其中V i是一个h×n(h行n列)的二进制矩阵,同时h是n的约数,有s=n/h。显然,V i是由s个h×h(h行h列)的方阵(V i,0 V i,1 ... V i,s-1)构成的。所以半无限序列V可以定义为:
A possible implementation, when based on the coupling relationship of the original space coupling code, and the new space coupling code generated by using GEL as the component code corresponds to the semi-infinite sequence
Figure PCTCN2022087391-appb-000081
Where V i is a binary matrix of h×n (h rows and n columns), and h is a divisor of n, so s=n/h. Obviously, V i is composed of s square matrices (V i,0 V i,1 ... V i,s-1 ) of h×h (h rows and h columns). So a semi-infinite sequence V can be defined as:
1、当i=0,1,2,...,N 0时,矩阵V i是一个h×n(h行n列)的全零矩阵; 1. When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix of h×n (h rows and n columns);
2、
Figure PCTCN2022087391-appb-000082
的每一行都是空间耦合码的分量码B的码字空间中的码字;
2,
Figure PCTCN2022087391-appb-000082
Each row of is a codeword in the codeword space of the component code B of the space-coupled code;
3、当i>N 0时,
Figure PCTCN2022087391-appb-000083
都是GEL码码字空间中的码字。此时,j=0,1,2,...,s-1,i j、N 0以及π i,k(V)与原空间耦合码对应的半无限序列
Figure PCTCN2022087391-appb-000084
具有相同的取值。
3. When i>N 0 ,
Figure PCTCN2022087391-appb-000083
Both are codewords in the codeword space of the GEL code. At this time, j=0,1,2,...,s-1, i j , N 0 and π i,k (V) are semi-infinite sequences corresponding to the original space coupling code
Figure PCTCN2022087391-appb-000084
have the same value.
其中,当分量码为二进制码字B[2·n,k,d] 2的原空间耦合码对应于半无限序列
Figure PCTCN2022087391-appb-000085
其中W i是一个h×n(h行n列)的二进制矩阵,同时h是n的约数,有s=n/h。显然,W i是由s个h×n(h行h列)的方阵(W i,0W i,1...W i,s-1)构成的。所以半无限序列可以定义为:
Among them, when the component code is the binary codeword B[2 n,k,d] 2, the original space coupling code corresponds to the semi-infinite sequence
Figure PCTCN2022087391-appb-000085
Where W i is a binary matrix of h×n (h rows and n columns), and h is a divisor of n, so s=n/h. Obviously, W i is composed of s square matrices (W i,0 W i,1 ...W i,s-1 ) of h×n (h rows and h columns). So a semi-infinite sequence can be defined as:
1、当i=0,1,2,...,N 0时,矩阵W i是一个h×n(h行n列)的全零矩阵; 1. When i=0,1,2,...,N 0 , the matrix W i is an all-zero matrix of h×n (h rows and n columns);
2、当i>N 0时,
Figure PCTCN2022087391-appb-000086
的每一行都是分量码B对应的一个码字;此时j=0,1,2,...,s-1,i j的值取决于具体的空间耦合设计,W T是矩阵W的转置;N 0是取决于空间耦合设计的非负整数;π i,k(W)是矩阵W的重排列,k=0,1,2,...,2·s-1;
2. When i>N 0 ,
Figure PCTCN2022087391-appb-000086
Each row of is a code word corresponding to the component code B; at this time j=0,1,2,...,s-1, the value of i j depends on the specific space coupling design, W T is the matrix W Transpose; N 0 is a non-negative integer depending on the space coupling design; π i,k (W) is the rearrangement of matrix W, k=0,1,2,...,2·s-1;
在本申请实施例中,通过修改分量码,引入额外开销的方式,设计合适的新空间耦合码,以允许具有低复杂度解码过程和低误码平层的FEC码字在低延迟、高吞吐量、高速率的通信传输场景中的应用。In the embodiment of this application, by modifying the component codes and introducing additional overhead, a suitable new space-coupled code is designed to allow FEC codewords with low-complexity decoding process and low error floor at low delay and high throughput Applications in high-volume, high-speed communication transmission scenarios.
一种可能的实现方式,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第一开销码块的比特和第二开销码块的比特。In a possible implementation, the semi-infinite sequence V is the bits of the first overhead code block and the bits of the second overhead code block generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000087
的比特和k 2·h+K·m 2的净荷比特,生成全部m 1·h+(h-K)·m 2的原始开销和额外开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000087
bits and k 2 ·h+K·m 2 payload bits to generate all m 1 ·h+(hK)·m 2 original overhead and additional overhead.
另一种可能的实现方式,半无限序列V是根据GEL码的编码方式,基于历史码块的比特和原始数据流的比特,生成的第二开销码块的比特,以及基于第二开销码块的比特,生成的第一开销码块的比特。In another possible implementation, the semi-infinite sequence V is based on the encoding method of the GEL code, based on the bits of the historical code block and the bits of the original data stream, the bits of the generated second overhead code block, and the bits based on the second overhead code block The bits of are the bits of the generated first overhead code block.
具体地,半无限序列V根据历史码块
Figure PCTCN2022087391-appb-000088
的比特、k 2·h+K·m 2的净荷比特和m 2×(h-K)的额外开销,生成m 1·h比特的原始开销。
Specifically, the semi-infinite sequence V is based on historical code blocks
Figure PCTCN2022087391-appb-000088
bits, k 2 ·h+K·m 2 payload bits and m 2 ×(hK) overhead to generate m 1 ·h bits of original overhead.
需要说明的是,修改后的半无限序列V由于GEL结构,在每个码块V i中包含(h-K)·m 2个额外开销,同时又保留了原有空间耦合码的结构。 It should be noted that due to the GEL structure, the modified semi-infinite sequence V contains (hK)·m 2 additional overheads in each code block V i , while retaining the structure of the original space-coupled code.
应理解,额外开销是由GEL码字C GEL引入的,相较于原有空间耦合码的开销多出来的开销。其中,用于引入额外开销的GEL码字C GEL包括4个内码和3个外码,因此有L=3,内码码长和外码码长分别为2·n和h。C GEL的内码码字B 0和B 3分别是恒等码字[2·n,2·n,1] 2和全零码字,B 1和原空间耦合码的分量码B为同一码字,B 2为码字[2·n,k 2,d2] 2,同时是B 1的子码,因此有
Figure PCTCN2022087391-appb-000089
根据上述GEL的描述,即得到H B矩阵为:
It should be understood that the extra overhead is introduced by the GEL codeword C GEL , which is more overhead than the overhead of the original space-coupled code. Among them, the GEL code word C GEL used to introduce additional overhead includes 4 inner codes and 3 outer codes, so L=3, and the code lengths of the inner code and the outer code are 2·n and h respectively. The inner code word B 0 and B 3 of C GEL are the identity code word [2 n, 2 n, 1] 2 and the all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code word, B 2 is the codeword [2·n,k 2 ,d2] 2 , which is also the subcode of B 1 , so there is
Figure PCTCN2022087391-appb-000089
According to the above description of GEL, the obtained H B matrix is:
Figure PCTCN2022087391-appb-000090
Figure PCTCN2022087391-appb-000090
此时,m 1=2·n-k,m 2=k-k 2,m 3=k 2At this time, m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
还应理解,GEL码字C GEL所有的外码都是定义在二元域的不同扩展域上的码字。即C GEL的外码A 1是伽罗华域
Figure PCTCN2022087391-appb-000091
上的全零码字,A 2是伽罗华域
Figure PCTCN2022087391-appb-000092
上的码字
Figure PCTCN2022087391-appb-000093
A 3是伽罗华域
Figure PCTCN2022087391-appb-000094
上的恒等码字
Figure PCTCN2022087391-appb-000095
其中,在该实现方式中,A 2被用作纠错码进行编码和译码过程。
It should also be understood that all the outer codes of the GEL code word C GEL are code words defined on different extension fields of the binary field. That is, the outer code A 1 of C GEL is the Galois Field
Figure PCTCN2022087391-appb-000091
The all-zero codeword on A 2 is the Galois Field
Figure PCTCN2022087391-appb-000092
codeword on
Figure PCTCN2022087391-appb-000093
A 3 is Galois field
Figure PCTCN2022087391-appb-000094
identity codeword on
Figure PCTCN2022087391-appb-000095
Wherein, in this implementation, A 2 is used as an error correction code for encoding and decoding.
示例性的,历史码块包括n×h比特,多个数据码块包括原始数据流的k 2·h+K·m 2比特(即,净荷比特),第一开销码块包括m 1×h比特的原始开销,第二开销码块包括(h-K)·m 2比特的额外开销。 Exemplarily, the historical code block includes n×h bits, the multiple data code blocks include k 2 h+K m 2 bits (that is, payload bits) of the original data stream, and the first overhead code block includes m 1 × h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of overhead.
一种可能的实现方式,FEC码块V i是对分量码A i的子矩阵A′ i转置(A′ i) T的重排列,其中,分量码A i是256行16列的矩阵,子矩阵A′ i是A i的后128行16列矩阵,分量码A i包括历史码块C i、多个数据码块和第一开销码块,V i包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,i为FEC码块的行号,t为FEC码块的列号,r和c分别为子矩阵V i,t(r,c)的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 In a possible implementation, the FEC code block V i is a rearrangement of the transpose (A' i ) T of the sub-matrix A' i of the component code A i , where the component code A i is a matrix with 256 rows and 16 columns, The sub-matrix A' i is the last 128 rows and 16 columns matrix of A i , the component code A i includes the historical code block C i , multiple data code blocks and the first overhead code block, V i includes eight sub-matrixes with 16 rows and 16 columns Matrix V i,t (r, c) is a matrix of 16 rows and 128 columns arranged in the row direction, i is the row number of the FEC code block, t is the column number of the FEC code block, r and c are sub-matrixes V i, The row number and column number of t (r,c), t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c are integers greater than 0 and less than or equal to 15.
一种可能的实现方式,分量码A i的子矩阵A′ i转置(A′ i) T是多个数据码块、第一开销码块和第二开销码块的转置,(A′ i) T包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 In a possible implementation, the sub-matrix A' i transpose (A' i ) T of the component code A i is the transpose of multiple data code blocks, the first overhead code block and the second overhead code block, (A' i ) T includes 8 sub-matrices (A' i,t (r,c)) of 16 rows and 16 columns (A' i,t (r,c)) T is a matrix of 16 rows and 128 columns arranged in the row direction, where r and c are sub-matrices (A' i,t (r,c)) The row number and column number of T , t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c are greater than or equal to 0 and less than or an integer equal to 15.
一种可能的实现方式,第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 In a possible implementation manner, the second overhead code block is located at (A′ i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15, c is greater than or equal to 7 and An integer less than or equal to 14, the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 )) T , r is greater than or equal to 0 and An integer less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
一种可能的实现方式,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,当FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,j;当FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn a possible implementation, the historical code block C i includes 8 sub-matrices C i,t with 16 rows and 16 columns arranged in the column direction, and a matrix with 128 rows and 16 columns, when i in the FEC code block V i is an even number , select the j-th 16-row and 16-column matrix V i-19+2*j,j of the historical FEC code block with the serial number i-19+2*j to transpose and rearrange and then transpose to obtain the historical code block C i,j in ; when i in the FEC code block V i is an odd number, select the j-th 16-row 16-column matrix V i-21+2 of the historical FEC code block whose serial number is i-21+ 2*j *j,j are transposed and rearranged and then transposed to obtain C i,j in the historical code block.
一种可能的实现方式,历史码块C i包括8个16行16列的子矩阵C i,t按列向排列的16行128列的矩阵,FEC码块V i选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到历史码块中的C i,jIn a possible implementation, the historical code block C i includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 16-row and 128-column matrix, and the sequence number of the FEC code block V i is i-27+ The j-th 16-row and 16-column matrix V i-27+j,j of j 's historical FEC code block is transposed, rearranged and then transposed to obtain C i,j in the historical code block.
示例性的,当空间耦合码的分量码A i为GEL码,且空间耦合结构与open FEC相似时,GEL码的码字C GEL内码B 0是恒等码字[256,256,1] 2,B 1是扩展BCH码字[256,239,6] 2,B 2是扩展BCH码字[256,231,8] 2,m 1=17,m 2=8,m 3=231,GEL码的码字C GEL外码A 1是GF(2 17)上的全零码字,A 2是GF(2 8)上的循环RS码
Figure PCTCN2022087391-appb-000096
A 3是GF(2 231)上的恒等码字
Figure PCTCN2022087391-appb-000097
Exemplarily, when the component code A i of the space coupling code is a GEL code, and the space coupling structure is similar to open FEC, the code word C of the GEL code GEL inner code B 0 is the identity code word [256,256,1] 2 , B 1 is the extended BCH code word [256,239,6] 2 , B 2 is the extended BCH code word [256,231,8] 2 , m 1 =17, m 2 =8, m 3 =231, the code word C GEL of the GEL code The outer code A 1 is the all-zero code word on GF(2 17 ), and A 2 is the cyclic RS code on GF(2 8 )
Figure PCTCN2022087391-appb-000096
A 3 is the identity codeword on GF(2 231 )
Figure PCTCN2022087391-appb-000097
例如,空间耦合码的h=16,s=8,N 0=15+2·g,当i>N 0时,i j=i+2·(j-g)+(-1) i-16,j=0,1,2,...,7;再例如,空间耦合码的h=16,s=8,N 0=g+7, 当i>N 0时,i j=i+j-g-8,j=0,1,2,...,7。 For example, for space-coupled code h=16, s=8, N 0 =15+2·g, when i>N 0 , i j =i+2·(jg)+(-1) i -16, j =0,1,2,...,7; for another example, h=16, s=8, N 0 =g+7 of the space coupling code, when i>N 0 , i j =i+jg-8 , j=0,1,2,...,7.
一种可能的实现方式,当原空间耦合码是类似open FEC的结构,且第二开销码块是基于GEL码编码方式生成时,数据码块和第二开销码块确定了一个16行111列的码块(其中,14-15行(序号从0开始),第103-110列(序号从0开始)为第二开销码块,其余部分为原始数据),第一开销码块是16行17列的编码信息矩阵。对原始数据、第一开销和第二开销码块中的比特(或者符号)进行重新排列后,即可得到编码后的FEC码块。A possible implementation, when the original space coupling code is a structure similar to open FEC, and the second overhead code block is generated based on the GEL code encoding method, the data code block and the second overhead code block determine a 16-row 111-column The code blocks of (among them, lines 14-15 (serial numbers start from 0), columns 103-110 (serial numbers start from 0) are the second overhead code blocks, and the rest are original data), and the first overhead code block is 16 lines A matrix of encoded information with 17 columns. After rearranging the bits (or symbols) in the original data, the first overhead and the second overhead code block, the coded FEC code block can be obtained.
其中,第一开销码块与OFEC的开销码块处于相同位置,第二开销码块处于相当于OFEC原始数据码块的一部分位置。Wherein, the first overhead code block is at the same position as the OFEC overhead code block, and the second overhead code block is at a part of the OFEC original data code block.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,π的重排列规则定义如下:In a possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the rearrangement rule of π is defined as follows:
Figure PCTCN2022087391-appb-000098
Figure PCTCN2022087391-appb-000098
其中,
Figure PCTCN2022087391-appb-000099
表示i和j的异或,下表对应上述规则对应,表中的数字表示重排后的矩阵π(W)当前位置所在元素,是原始矩阵W同一行的第几列对应的元素。其中,ω i,j表示16行16列的矩阵W中第i行第j列的元素,i和j分别为大于或等于0且小于或等于15的整数。
in,
Figure PCTCN2022087391-appb-000099
Indicates the XOR of i and j. The following table corresponds to the above rules. The numbers in the table indicate the element at the current position of the rearranged matrix π(W), which is the element corresponding to the column of the same row of the original matrix W. Wherein, ω i, j represent the elements of row i and column j in a matrix W with 16 rows and 16 columns, and i and j are integers greater than or equal to 0 and less than or equal to 15, respectively.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,FEC码块V i由8个重新排列后的子矩阵B t确定,i表示FEC码块的序号,V i,t表示第t个16行16列的子矩阵B t,t为大于或等于0且小于或等于7的整数。 A possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, the FEC code block V i consists of 8 rearranged sub-matrices B t is determined, i represents the serial number of the FEC code block, V i,t represents the t-th sub-matrix B t with 16 rows and 16 columns, and t is an integer greater than or equal to 0 and less than or equal to 7.
一种可能的实现方式,当原空间耦合码为开放前向纠错OFEC码,且第二开销码块是基于GEL码编码方式生成时,此时GEL码是256行16列的信息矩阵块,其中,第0-127行矩阵块是从历史FEC码块确定的,第128-230行的矩阵块为数据码块,第231-238行信息矩阵块的前14列为数据码块,第二开销码块占用GEL码的第231-238行矩阵块的后两列,第一开销码块位于第239-255行。A possible implementation, when the original space coupling code is an open forward error correction OFEC code, and the second overhead code block is generated based on the GEL code encoding method, at this time the GEL code is an information matrix block with 256 rows and 16 columns, Among them, the matrix blocks of rows 0-127 are determined from historical FEC code blocks, the matrix blocks of rows 128-230 are data code blocks, the first 14 columns of information matrix blocks of rows 231-238 are data code blocks, and the second The overhead code blocks occupy the last two columns of the matrix block in rows 231-238 of the GEL code, and the first overhead code block is located in rows 239-255.
应理解,以上仅是示例性说明,不应构成对本申请技术方案的任何限定。It should be understood that the above is only an exemplary description, and should not be construed as any limitation to the technical solution of the present application.
根据本申请提供的方案,通过添加额外开销(例如,基于GEL、GCC、张量乘积和GII中的任意一种码字生成)来获得具有更好属性(即,更大的最小汉明距离)的原始码的子码,以及提供性能改进、降低错误解码中的新特征。设计合适的空间耦合码(例如,开放前向纠错码OFEC),以允许具有低复杂度解码过程和低误码平层FEC码字在低延迟、高吞吐量、高速率的通信传输场景中的应用。According to the scheme provided by this application, by adding additional overhead (for example, based on any codeword generation in GEL, GCC, tensor product and GII) to obtain better properties (that is, a larger minimum Hamming distance) Subcodes of the original code, as well as new features in decoding that provide performance improvements and reduce errors. Design suitable spatially coupled codes (for example, open forward error correction code OFEC) to allow FEC codewords with low-complexity decoding process and low error floor in low-latency, high-throughput, high-rate communication transmission scenarios Applications.
一种可能的实现方式,当原空间耦合码的空间耦合结构类似open FEC时,分量码B是扩展的二进制BCH[256,239,6] 2,新空间耦合码中的分量码为GEL码,GEL码字C GEL是包括4个内码和3个外码的256行16列的矩阵。 One possible implementation, when the spatial coupling structure of the original spatially coupled code is similar to open FEC, the component code B is the extended binary BCH[256,239,6] 2 , the component code in the new spatially coupled code is the GEL code, and the GEL code The word C GEL is a matrix of 256 rows and 16 columns including 4 inner codes and 3 outer codes.
其中,GEL码字C GEL的内码码字B 0和B 3分别是恒等码字[256,256,1] 2和全零码字,B 1和原空间耦合码的分量码B为同一码字[256,239,6] 2,B 2为扩展BCH码字[256,231,8] 2,B 1和B 2是狭义本原二进制BCH码的扩展,扩展位通过单奇偶校验获得。其中,B 1的生 成多项式为g 1(x)=x 16+x 14+x 13+x 11+x 10+x 9+x 8+x 6+x 5+x+1,B 2的生成多项式g 2(x)=x 24+x 23+x 21+x 20+x 19+x 17+x 16+x 15+x 13+x 8+x 7+x 5+x 4+x 2+1,B 3是长度为256的全0码字。 Among them, GEL code word C GEL inner code word B 0 and B 3 are the identity code word [256,256,1] 2 and all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code word [256,239,6] 2 , B 2 is the extended BCH codeword [256,231,8] 2 , B 1 and B 2 are the extensions of the original binary BCH code in the narrow sense, and the extended bits are obtained through single parity check. Among them, the generator polynomial of B 1 is g 1 (x)=x 16 +x 14 +x 13 + x 11 +x 10 +x 9 +x 8 +x 6 +x 5 +x+1, and the generator polynomial of B 2 g 2 (x)=x 24 +x 23 +x 21 +x 20 +x 19 +x 17 +x 16 +x 15 +x 13 +x 8 +x 7 +x 5 + x 4 + x 2 +1, B 3 is an all-0 codeword with a length of 256.
以公式(4)的形式去表示H B。即, Express H B in the form of formula (4). Right now,
Figure PCTCN2022087391-appb-000100
Figure PCTCN2022087391-appb-000100
所以,有m 1=17,m 2=8,m 3=231。 Therefore, m 1 =17, m 2 =8, m 3 =231.
其中,GEL的外部码字包括不同二元域扩展域上3个长度为16的码字。也就是说,A 1是GF(2 17)域上的全零码字。A 2是GF(2 8)域上
Figure PCTCN2022087391-appb-000101
形式的循环(Reed-Solomon,RS)码字,其生成多项式是
Figure PCTCN2022087391-appb-000102
α是的GF(2 8)的本原元素。A 3是GF(2 231)域上的恒等码字
Figure PCTCN2022087391-appb-000103
Among them, the outer codewords of GEL include three codewords of length 16 on different binary domain extension domains. That is, A 1 is an all-zero codeword on the GF(2 17 ) field. A 2 is on the field of GF(2 8 )
Figure PCTCN2022087391-appb-000101
A cyclic (Reed-Solomon, RS) codeword of the form whose generator polynomial is
Figure PCTCN2022087391-appb-000102
α is the primitive element of GF(2 8 ). A 3 is the identity codeword on GF(2 231 ) field
Figure PCTCN2022087391-appb-000103
在该实现方式中,空间耦合码的h=16,s=8,N 0=15+2·g,当i>N 0时i j=i+2·(j-g)+(-1) i-16,同时j=0,1,2,...,7。 In this implementation, the spatially coupled code h=16, s=8, N 0 =15+2·g, when i>N 0 , i j =i+2·(jg)+(-1) i - 16, and j=0,1,2,...,7 at the same time.
应理解,本申请主要针对外码A 2作为纠错码并只需要对该码进行一些非平凡的编码和译码过程。 It should be understood that this application mainly focuses on the outer code A2 as an error correction code and only requires some non-trivial encoding and decoding processes for this code.
因此,GEL码字C GEL是长度为4096,维度为3808的二元域上线性分组码。码字C GEL中的一个码字c可视为256×16二进制矩阵。在这里,GEL中的码字c中的每一列都是由码字B 1构造规则的构造的码字。此外,H 2和c的矩阵乘积是RS码A 2的码字。 Therefore, the GEL code word C GEL is a linear block code in the binary field with a length of 4096 and a dimension of 3808. A code word c in the code word C GEL can be regarded as a 256×16 binary matrix. Here, each column in the codeword c in GEL is a codeword constructed by the codeword B1 construction rule. Furthermore, the matrix product of H2 and c is the codeword of RS code A2 .
其中,码字C 1的译码可以分为3个步骤: Wherein, the decoding of codeword C 1 can be divided into 3 steps:
1:通过B 1的译码器去完成每一列的译码; 1: Use the decoder of B 1 to complete the decoding of each column;
2:通过H 2和c的矩阵乘积得到A 2然后利用A 2的译码器进行译码 2 : Obtain A 2 through the matrix product of H 2 and c and then use the decoder of A 2 to decode
3:利用前面步骤的译码结果,利用B 2的伴随式译码器对的某些列进行译码 3: Use the decoding results of the previous steps to decode some columns using the syndrome decoder of B2
需要说明的是,在第一步译码过程中,失败的列可以标记A 2码字对应列,在第二步译码过程中,被标记的列所对应的A 2的符号被擦除。在A 2译码过程中得到的Error和/或erasure值是H 2奇偶校验矩阵所涉及到的列的伴随式值。由于H 2和H 1确定码字B 2的校验矩阵,因此可以在上面提出的译码过程的第一步和第二步中计算出的伴随式,再通过B 2的伴随式译码器译码列。 It should be noted that in the first decoding process, the failed column can mark the corresponding column of the A2 codeword, and in the second decoding process, the symbol of A2 corresponding to the marked column is erased. The Error and/or erasure values obtained during the A2 decoding process are the adjoint values of the columns involved in the H2 parity check matrix. Since H 2 and H 1 determine the parity check matrix of the code word B 2 , the syndromes calculated in the first and second steps of the decoding process proposed above can be passed through the syndrome decoder of B 2 Decoding column.
当原空间耦合码的空间耦合结构类似open FEC时,新空间耦合码中的分量码为GEL码。由16×128二进制矩阵确定的半无限序列
Figure PCTCN2022087391-appb-000104
每个矩阵V i都表示为8个16×16的二进制平方矩阵,表示分量码GEL的子矩阵重排后传输的FEC码块,用V i=(V i,0 V i,1 … V i,7)表示。所以半无限序列V定义为:
When the space coupling structure of the original space coupling code is similar to open FEC, the component codes in the new space coupling code are GEL codes. Semi-infinite sequence determined by 16×128 binary matrix
Figure PCTCN2022087391-appb-000104
Each matrix V i is expressed as eight 16×16 binary square matrices, representing the FEC code block transmitted after the sub-matrix rearrangement of the component code GEL, using V i =(V i,0 V i,1 ... V i ,7 ) said. So the semi-infinite sequence V is defined as:
1、矩阵V i是16×256的零矩阵,其中i=0,1,2,...,15+2·g; 1. Matrix V i is a 16×256 zero matrix, where i=0,1,2,...,15+2·g;
2、矩阵(π i,1i,2i,3,...,π i,15) T表示码字集合C 1中的一个码字,i>15+2·g,j=0,1,2,...,7,i j=i+2·(j-g)+(-1) i-16。 2. Matrix (π i,1i,2i,3 ,...,π i,15 ) T represents a codeword in the codeword set C 1 , i>15+2·g, j =0, 1, 2, . . . , 7, i j =i+2·(jg)+(−1) i −16.
其中,V T是V的矩阵转置。g是非负整数,π i,k(V)是矩阵项的一些排列,k可以取值0,1,2,...,15,本申请对此不作具体限定。 where VT is the matrix transpose of V. g is a non-negative integer, π i, k (V) is some arrangement of matrix items, and k can take values 0, 1, 2, ..., 15, which is not specifically limited in this application.
示例性的,在本申请实施例中,g称为保护间隔,固定为2,π i,k(V)=π,π可以定 义如表2。其中,每行的每个单元格中的数字代表,重新排列后矩阵在此单元格中的元素,是矩阵排列之前此行对应第几列的元素。 Exemplarily, in the embodiment of the present application, g is called a guard interval, which is fixed at 2, π i,k (V)=π, and π can be defined as shown in Table 2. Among them, the number in each cell of each row represents the element in this cell of the matrix after rearrangement, which is the element corresponding to the column of this row before the matrix arrangement.
这个半无限序列的编码是使用码字C 1的编码流程进行逐个矩阵连续编码。也就是说,可以使用矩阵
Figure PCTCN2022087391-appb-000105
和1760比特的净荷(原始信息,即多个数据码块)作为码字的信息位,然后获得包括16个额外开销(第二开销)以及272个原始开销(第一开销)组成的288个校验位、净荷和校验比特的矩阵V i
The encoding of this semi-infinite sequence is to use the encoding process of code word C1 to perform continuous encoding matrix by matrix. That is, one can use the matrix
Figure PCTCN2022087391-appb-000105
and 1760-bit payload (original information, that is, multiple data code blocks) as the information bits of the codeword, and then obtain 288 overheads consisting of 16 additional overheads (second overhead) and 272 original overheads (first overhead) A matrix V i of parity bits, payload, and parity bits.
图12是适用本申请的open FEC与GEL码结合的一例示意图。如图12所示,在传输过程中,每个小矩阵是B=16,即16*16的信息矩阵,一行有R=8个这样的矩阵块。把这8个矩阵块当成一个整体来看,称它是一个16*128的矩阵块A。Figure 12 is a schematic diagram of an example of the combination of open FEC and GEL codes applicable to this application. As shown in FIG. 12 , in the transmission process, each small matrix is B=16, that is, a 16*16 information matrix, and there are R=8 such matrix blocks in one row. Considering these 8 matrix blocks as a whole, it is called a 16*128 matrix block A.
具体地,将16*128bit(OFEC交织方式获得的历史码字的交织bit)+16*128bit(每一行的矩阵块A:当前信息bit+预留的校验位(开销))进行GEL编码后,将获得的校验位(开销)填到对应位置。Specifically, after performing GEL encoding on 16*128bit (the interleaved bit of the historical codeword obtained by the OFEC interleaving method)+16*128bit (matrix block A of each row: current information bit+reserved parity bit (overhead)), Fill the obtained check digit (overhead) into the corresponding position.
在该实现方式中,GEL码C 1外码A2结合内码B 2生成额外的16比特第二开销,,其第一开销由内部码字eBCH[256,239,6]生成。通过使用所有开销(原始和额外)提高迭代解码的收敛性,减少陷阱集的数量,进而实现低延迟、高速率、低误码率、低复杂度的编解码过程。 In this implementation, the GEL code C 1 outer code A2 combined with the inner code B 2 generates an additional 16-bit second overhead, the first overhead of which is generated by the inner codeword eBCH[256,239,6]. By using all overhead (original and extra) to improve the convergence of iterative decoding, reduce the number of trap sets, and then achieve a low-latency, high-rate, low-error-rate, low-complexity encoding and decoding process.
需要说明的是,eBCH表示由BCH码字经过单比特奇偶校验位扩展(即在BCH码字的最低比特位加一个奇偶校验比特,保证整个码字比特的模二和为0)得到的码字。It should be noted that eBCH means that the BCH codeword is expanded by a single-bit parity bit (that is, a parity bit is added to the lowest bit of the BCH codeword to ensure that the modulo two sum of the entire codeword bits is 0). Codeword.
表3是适用本申请实施例的OFEC空间耦合结构和GEL作为分量码的通用设计,g为常数。其中,额外的开销位是由GEL编码的原理产生的。其内码为eBCH[256,239,6]和eBCH[256,231,8],外码为RS[16,14,3]。Table 3 is the general design of the OFEC space coupling structure and GEL as component codes applicable to the embodiments of the present application, and g is a constant. Among them, the extra overhead bit is generated by the principle of GEL encoding. Its internal code is eBCH[256,239,6] and eBCH[256,231,8], and its external code is RS[16,14,3].
表3table 3
Figure PCTCN2022087391-appb-000106
Figure PCTCN2022087391-appb-000106
应理解,每个帧对应于GEL码的码字,可以表示为16×256位块,每行是eBCH的一个码字[256,239,6]。每个帧是对应GEL码的一半,后半部分可以使用开放式FEC的耦合结构获得。如果帧的其他14个码字没有错误,则可以使用16位的额外开销将最多2行解码为eBCH[256,231,8](纠正该行中最多3个错误)。It should be understood that each frame corresponds to a codeword of the GEL code, which can be represented as a 16×256-bit block, and each row is a codeword of the eBCH [256, 239, 6]. Each frame is half of the corresponding GEL code, and the second half can be obtained using the coupling structure of the open FEC. If the other 14 codewords of the frame are error-free, up to 2 lines can be decoded into eBCH[256,231,8] (correcting up to 3 errors in that line) using 16 bits of overhead.
另一种可能的实现方式,当原空间耦合码的空间耦合结构类似open FEC时,但空间耦合关系更加紧凑时,分量码Β是扩展的二进制BCH[256,239,6] 2,新空间耦合码中的分量码为GEL码,GEL码字C GEL是包括4个内码和3个外码的矩阵。 Another possible implementation, when the space coupling structure of the original space coupling code is similar to open FEC, but the space coupling relationship is more compact, the component code Β is the extended binary BCH[256,239,6] 2 , in the new space coupling code The component code of is GEL code, and the GEL code word C GEL is a matrix including 4 inner codes and 3 outer codes.
其中,GEL码字C GEL的内码码字B 0和B 3分别是恒等码字eBCH[256,256,1] 2和全零码字,B 1和原空间耦合码的分量码B为同一码字eBCH[256,239,6] 2,B 2为扩展BCH码字eBCH[256,231,8] 2,B 1和B 2是狭义本原二进制BCH码的扩展,扩展位通过单奇偶校验获得。其中,B 0是恒等码字eBCH[256,256,1] 2,B 1是和原空间耦合码的分量码B为同一码字[256,239,6] 2,利用生成多项式g 1(x)=x 16+x 14+x 13+x 11+x 10+x 9+x 8+x 6+x 5+x+1生成的,B 2是利用生成多项式 g 2(x)=x 24+x 23+x 21+x 20+x 19+x 17+x 16+x 15+x 13+x 8+x 7+x 5+x 4+x 2+1生成的码字eBCH[256,231,8] 2,B 3是长度为256的全0码字。 Among them, GEL code word C GEL inner code word B 0 and B 3 are the identity code word eBCH[256,256,1] 2 and all-zero code word respectively, B 1 and the component code B of the original space coupling code are the same code The word eBCH[256,239,6] 2 , B 2 is the extended BCH code word eBCH[256,231,8] 2 , B 1 and B 2 are the extensions of the original binary BCH code in the narrow sense, and the extended bits are obtained through single parity check. Among them, B 0 is the identity code word eBCH[256,256,1] 2 , B 1 is the same code word [256,239,6] 2 as the component code B of the original space-coupled code, using the generator polynomial g 1 (x)=x 16 +x 14 +x 13 +x 11 +x 10 +x 9 +x 8 +x 6 +x 5 +x+1 is generated, and B 2 is generated by using the generator polynomial g 2 (x)=x 24 +x 23 + x 21 +x 20 +x 19 +x 17 +x 16 +x 15 +x 13 +x 8 +x 7 +x 5 +x 4 +x 2 +1 generated codeword eBCH[256,231,8] 2 ,B 3 is a codeword of all 0s with a length of 256.
以公式(4)的形式去表示H B。即, Express H B in the form of formula (4). Right now,
Figure PCTCN2022087391-appb-000107
Figure PCTCN2022087391-appb-000107
所以,有m 1=17,m 2=8,m 3=231。 Therefore, m 1 =17, m 2 =8, m 3 =231.
GEL的外部码字包括不同二元域扩展域上3个长度为16的码字。也就是说,A 1是GF(2 17)域上的全零码字。A 2是GF(2 8)域上
Figure PCTCN2022087391-appb-000108
形式的循环RS码字,其生成多项式是
Figure PCTCN2022087391-appb-000109
α是的GF(2 8)的本原元素。A 3是GF(2 231)域上的恒等码字
Figure PCTCN2022087391-appb-000110
The outer codewords of GEL include three codewords of length 16 on different binary domain extension domains. That is, A 1 is an all-zero codeword on the GF(2 17 ) field. A 2 is on the field of GF(2 8 )
Figure PCTCN2022087391-appb-000108
A cyclic RS codeword of the form whose generator polynomial is
Figure PCTCN2022087391-appb-000109
α is the primitive element of GF(2 8 ). A 3 is the identity codeword on GF(2 231 ) field
Figure PCTCN2022087391-appb-000110
在该实现方式中,空间耦合码的h=16,s=8,N 0=g+7,当i>N 0时,i j=i+j-g-8,同时j=0,1,2,...,7。 In this implementation, the spatial coupling code h=16, s=8, N 0 =g+7, when i>N 0 , i j =i+jg-8, and j=0,1,2, ...,7.
应理解,本申请主要针对外码A 2作为纠错码并只需要对该码进行一些非平凡的编码和译码过程。 It should be understood that this application mainly focuses on the outer code A2 as an error correction code and only requires some non-trivial encoding and decoding processes for this code.
因此,GEL码字C 1是长度为4096,维度为3808的二元域上线性分组码。码字C 1中的一个码字c可视为256×16二进制矩阵。在这里,GEL中的码字c中的每一列都是由码字B 1构造规则构造的码字。此外,H 2和c的矩阵乘积是RS码A 2的码字。 Therefore, the GEL codeword C 1 is a linear block code over a binary field with length 4096 and dimension 3808. A code word c in code word C 1 can be regarded as a 256×16 binary matrix. Here, each column in the codeword c in GEL is a codeword constructed by the codeword B1 construction rule. Furthermore, the matrix product of H2 and c is the codeword of RS code A2 .
其中,码字C 1的译码可以分为3个步骤: Wherein, the decoding of codeword C 1 can be divided into 3 steps:
1:通过B 1的译码器去完成每一列的译码; 1: Use the decoder of B 1 to complete the decoding of each column;
2:通过H 2和c的矩阵乘积得到A 2然后利用A 2的译码器进行译码 2 : Obtain A 2 through the matrix product of H 2 and c and then use the decoder of A 2 to decode
3:利用前面步骤的译码结果,利用B 2的伴随式译码器对的某些列进行译码 3: Use the decoding results of the previous steps to decode some columns using the syndrome decoder of B2
需要说明的是,在第一步译码过程中,失败的列可以标记A 2码字对应列,在第二步译码过程中,被标记的列所对应的A 2符号被擦除。在A 2译码过程中得到的Error和/或erasure值是H 2奇偶校验矩阵所涉及到的列的伴随式值。由于H 2和H 1确定了码字B 2的校验矩阵,因此可以在上面提出的译码过程的第一步和第二步中计算出的伴随式,再通过B 2的伴随式译码器译码列。 It should be noted that in the first step of decoding, the failed column can mark the column corresponding to the A2 codeword, and in the second step of decoding, the A2 symbol corresponding to the marked column is erased. The Error and/or erasure values obtained during the A2 decoding process are the adjoint values of the columns involved in the H2 parity check matrix. Since H 2 and H 1 determine the parity check matrix of the code word B 2 , the adjoint formula calculated in the first and second steps of the decoding process proposed above can be decoded by the adjoint formula of B 2 Decoder column.
考虑到满足低延迟解码和支持800G信道吞吐量要求的空间耦合结构,GEL码C GEL用于生成额外的开销位。当原空间耦合码的空间耦合结构类似open FEC时,新空间耦合码中的分量码为GEL码。由16×128二进制矩阵确定的半无限序列
Figure PCTCN2022087391-appb-000111
每个矩阵V i都表示为8个16×16的二进制平方矩阵,表示分量码GEL的子矩阵重排后传输的FEC码块,用V i=(V i,0 V i,1 … V i,7)表示。所以半无限序列V可以定义为:
Considering the spatial coupling structure to meet the requirements of low-latency decoding and support 800G channel throughput, the GEL code C GEL is used to generate additional overhead bits. When the space coupling structure of the original space coupling code is similar to open FEC, the component codes in the new space coupling code are GEL codes. Semi-infinite sequence determined by 16×128 binary matrix
Figure PCTCN2022087391-appb-000111
Each matrix V i is expressed as eight 16×16 binary square matrices, representing the FEC code block transmitted after the sub-matrix rearrangement of the component code GEL, using V i =(V i,0 V i,1 ... V i ,7 ) said. So a semi-infinite sequence V can be defined as:
1、矩阵V i是16×256的零矩阵,其中i=0,1,2,...,g+7; 1. Matrix V i is a 16×256 zero matrix, where i=0,1,2,...,g+7;
2、矩阵
Figure PCTCN2022087391-appb-000112
表码字C,i>g+7,j=0,1,2,...,7,i j=i+j-g-8。
2. Matrix
Figure PCTCN2022087391-appb-000112
Table code word C, i>g+7, j=0,1,2,...,7, i j =i+jg-8.
其中,V T是V的矩阵转置。g是非负整数,π i,k(V)是矩阵项的一些排列,k可以取值0,1,2,...,15,本申请对此不作具体限定。 where VT is the matrix transpose of V. g is a non-negative integer, π i, k (V) is some arrangement of matrix items, and k can take values 0, 1, 2, ..., 15, which is not specifically limited in this application.
示例性的,在本申请实施例中,g称为保护间隔,固定为19,π i,k(V)=π,π可以定义如表2。每行的每个单元格中的数字代表,重新排列后矩阵在此单元格中的元素,是矩阵排列之前此行对应第几列的元素。 Exemplarily, in the embodiment of the present application, g is called a guard interval, which is fixed at 19, π i,k (V)=π, and π can be defined as shown in Table 2. The number in each cell of each row represents the element of the matrix in this cell after rearrangement, which is the element of the column corresponding to this row before the matrix arrangement.
这个半无限序列的编码是使用码字C 1的编码流程进行逐个矩阵连续编码。也就是说,可以使用矩阵
Figure PCTCN2022087391-appb-000113
和1760比特的净荷(原始信息,例如,本申请中涉及的多个数据码块)作为码字的信息位,然后获得包括16个额外开销(第二开销)以及272个原始开销(第一开销)组成的288个校验位、净荷和校验比特的矩阵V i
The encoding of this semi-infinite sequence is to use the encoding process of code word C1 to perform continuous encoding matrix by matrix. That is, one can use the matrix
Figure PCTCN2022087391-appb-000113
and 1760-bit payload (original information, for example, multiple data code blocks involved in this application) as the information bits of the codeword, and then obtain 16 additional overheads (second overhead) and 272 original overheads (first overhead) Overhead) is a matrix V i of 288 parity bits, payload, and parity bits.
需要说明的是,上述仅是示例性说明,不应构成对本申请技术方案的任何限定。另外,上述示例的解码过程可以参照图3。为了简洁,此处不再赘述。It should be noted that the above descriptions are only exemplary descriptions, and should not be construed as any limitation to the technical solution of the present application. In addition, the decoding process of the above example may refer to FIG. 3 . For the sake of brevity, details are not repeated here.
表4是适用本申请实施例的类似OFEC空间耦合结构和GEL作为分量码的主要设计。其中GEL码C 1外码A 2结合内码B 2生成额外的16比特第二开销,其第一开销由内部码字eBCH[256,239,6]生成。 Table 4 shows the main design of a similar OFEC spatial coupling structure and GEL as component codes applicable to the embodiment of the present application. The GEL code C 1 outer code A 2 combined with the inner code B 2 generates an additional 16-bit second overhead, the first overhead of which is generated by the inner codeword eBCH[256,239,6].
表4Table 4
Figure PCTCN2022087391-appb-000114
Figure PCTCN2022087391-appb-000114
表5是适用本申请实施例的类似空间耦合码结构类似OFEC但更加紧凑和GEL作为分量码的通用设计,g为常数。其中,额外的开销位是由GEL编码的原理产生的。其内码为eBCH[256,239,6]和eBCH[256,231,8],外码为RS[16,14,3]。Table 5 is a general design of a space-coupled code structure similar to OFEC but more compact and GEL as a component code applicable to the embodiment of the present application, and g is a constant. Among them, the extra overhead bit is generated by the principle of GEL encoding. Its internal code is eBCH[256,239,6] and eBCH[256,231,8], and its external code is RS[16,14,3].
表6Table 6
Figure PCTCN2022087391-appb-000115
Figure PCTCN2022087391-appb-000115
应理解,对于如图12描述的空间耦合码和GEL的结合。应理解,对于如图12描述的空间耦合码和GEL的结合。当前待传输数据填充到序号0~6的16行16列的矩阵块中的,在序号为6的矩阵块中预留2行8列的数据用于存储第二开销(此时第二开销用全0填充),用序号6的矩阵块预留16行1列的位置以及序号为7的16行16列的矩阵块用于存储第一开销(此时第一开销用全0填充)。It should be understood that for the combination of the space coupling code and the GEL as described in FIG. 12 . It should be understood that for the combination of the space coupling code and the GEL as described in FIG. 12 . If the currently to-be-transmitted data is filled in matrix blocks with 16 rows and 16 columns with serial numbers 0 to 6, the data with 2 rows and 8 columns is reserved in the matrix block with serial number 6 for storing the second overhead (at this time, the second overhead is used Filling with all 0s), use the matrix block with serial number 6 to reserve the position of 16 rows and 1 column and the matrix block with 16 rows and 16 columns with serial number 7 to store the first overhead (at this time, the first overhead is filled with all 0s).
然后从已传输的历史FEC码块中按照特定空间耦合码的耦合规则生成8个16行16列的矩阵,形成历史码块。将历史码块和当前码块拼接成一个16行256列的矩阵Q。对此矩阵进行转置得到一个256行16列的矩阵Q T。Q中此时仅有原始数据,第一开销和第二开销用全0填充。 Then, eight matrices with 16 rows and 16 columns are generated from the transmitted historical FEC code blocks according to the coupling rules of specific space coupling codes to form historical code blocks. The historical code block and the current code block are spliced into a matrix Q with 16 rows and 256 columns. Transpose this matrix to get a matrix Q T with 256 rows and 16 columns. At this time, there is only original data in Q, and the first overhead and the second overhead are filled with all 0s.
之后使用特定的H B矩阵(256行256列)与矩阵Q T(256行16列)进行矩阵乘,得到矩阵P(256行16列)。在矩阵P中,对第二开销所在的230~238行的0~13列进行A 2编码,将编码后得到的开销放入Q T第二开销对应的位置。然后将P中第一开销位置的符号放入Q T中,此时生成新的矩阵Y。 Then use the specific H B matrix (256 rows and 256 columns) to perform matrix multiplication with the matrix Q T (256 rows and 16 columns) to obtain the matrix P (256 rows and 16 columns). In the matrix P, A2 encoding is performed on columns 0-13 of rows 230-238 where the second overhead is located, and the encoded overhead is put into the position corresponding to the second overhead of QT . Then put the symbol of the first overhead position in P into Q T , and generate a new matrix Y at this time.
矩阵Y(256行16列),进行转置得到Y T(16行256列),选择Y T的128~255列再进行重新排列,即可得到待传输的FEC码块。(生成的第一开销相当于:第二开销位置用全0填充时,对Y T的每一行的前239个比特进行eBCH[256,239]编码得到的开销)。 The matrix Y (256 rows and 16 columns) is transposed to obtain Y T (16 rows and 256 columns), and the 128-255 columns of Y T are selected and rearranged to obtain the FEC code block to be transmitted. (The generated first overhead is equivalent to the overhead obtained by performing eBCH[256,239] encoding on the first 239 bits of each row of Y T when the second overhead position is filled with all 0s).
作为示例而非限定,图13是适用本申请的用于光传输场景的FEC的一例示意图。如 图13所示,横坐标为输入BER,纵坐标为误码率BER。从图中可以看出,具有额外开销的FEC相比原始FEC的误码平层明显降低。As an example but not a limitation, FIG. 13 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application. As shown in Figure 13, the abscissa is the input BER, and the ordinate is the bit error rate BER. It can be seen from the figure that the error floor of the FEC with additional overhead is significantly lower than that of the original FEC.
其中,在特定5nm的芯片工艺情况下,功耗估算可以包括:SD1 P3 HD2<280mW,SD1 P6 HD2<450mW。SDx Py HD z中x表示软判决译码的迭代次数,y表示选择最不可靠位置的数量,z表示硬判决译码的迭代次数。Among them, in the case of a specific 5nm chip process, the power consumption estimation can include: SD1 P3 HD2<280mW, SD1 P6 HD2<450mW. In SDx Py HD z, x represents the number of iterations of soft-decision decoding, y represents the number of selected least reliable positions, and z represents the number of iterations of hard-decision decoding.
在该实现方式中,原始FEC有15.3%OH。在此基础上FEC增加+1%的冗余(over head,OH)作为额外的开销。可以看出,在增加了可忽略不计的功耗和复杂性成本的情况下,有额外开销的FEC性能曲线的斜率得以显著改善,在输出BER为1e-15时,可获得0.5/0.7dB的增益。In this implementation, the original FEC has 15.3% OH. On this basis, FEC adds +1% redundancy (over head, OH) as additional overhead. It can be seen that at negligible added power and complexity cost, the slope of the FEC performance curve with overhead is significantly improved, achieving 0.5/0.7dB at an output BER of 1e-15 gain.
作为示例而非限定,图14是适用本申请的用于光传输场景的FEC的一例示意图。如图14所示,横坐标为输入误码率(bit error rate,BER),纵坐标为输出BER。从图中可以看出,具有额外开销的FEC相比原始FEC的误码平层明显降低。As an example but not a limitation, FIG. 14 is a schematic diagram of an example of an FEC applicable to an optical transmission scenario of the present application. As shown in Figure 14, the abscissa is the input bit error rate (BER), and the ordinate is the output BER. It can be seen from the figure that the error floor of the FEC with additional overhead is significantly lower than that of the original FEC.
其中,在特定5nm的芯片工艺情况下,功耗估算可以包括:SD1 P6 HD5<600mW。。SDx Py HD z中x表示软判决译码的迭代次数,y表示选择最不可靠位置的数量,z表示硬判决译码的迭代次数。Among them, in the case of a specific 5nm chip process, the power consumption estimation can include: SD1 P6 HD5<600mW. . In SDx Py HD z, x represents the number of iterations of soft-decision decoding, y represents the number of selected least reliable positions, and z represents the number of iterations of hard-decision decoding.
在该实现方式中,原始FEC有15.3%OH。在此基础上FEC增加+1%的OH作为额外的开销。可以看出,在具有可忽略不计的功率和复杂性成本的情况下,有额外开销的FEC性能曲线的斜率得以显著改善In this implementation, the original FEC has 15.3% OH. On this basis, FEC adds +1% OH as an additional overhead. It can be seen that the slope of the FEC performance curve with overhead is significantly improved with negligible power and complexity cost
综上所述,本申请提供一种用于空间耦合前向纠错编解码的方法,通过添加额外开销获得具有更好属性(即,更大的最小汉明距离)的原始码的子码,以及提供性能改进、降低错误解码中的新特征。支持对延迟和性能的新要求、改善性能曲线的斜率并显着降低误差底线、提供向后兼容性和FEC特性的改进、设计支持各种性能、延迟和复杂性要求的单一FEC。通过输出BER或更少,以可忽略不计的功率和复杂性成本以及增加合理的OH将误码平层降低至1e-15级;To sum up, this application provides a method for spatially coupled forward error correction codec, by adding additional overhead to obtain a subcode of the original code with better properties (ie, a larger minimum Hamming distance), As well as new features in decoding that provide performance improvements and reduce errors. Support new requirements for latency and performance, improve the slope of the performance curve and significantly reduce the error floor, provide backward compatibility and improvements in FEC characteristics, design a single FEC that supports various performance, latency and complexity requirements. Reduces bit error floor to 1e-15 level at negligible power and complexity cost and adds reasonable OH by outputting BER or less;
需要说明的是,上述仅以类似OFEC空间耦合码结合GEL码进行空间耦合作为示例性说明,不应对本申请的技术方案构成任何限定。本申请技术方案同样适用于通过使用通用错误位置码、通用集成码、通用级联码、局部可恢复码等原则添加额外开销,以增强空间耦合码。It should be noted that, the foregoing is only an illustration of spatial coupling using similar OFEC spatial coupling codes combined with GEL codes, and should not constitute any limitation to the technical solution of the present application. The technical solution of the present application is also applicable to adding extra overhead by using principles such as general error location codes, general integrated codes, general concatenated codes, and local recoverable codes to enhance space coupling codes.
根据顺序利用空间耦合码的额外和原始开销提高FEC的最小距离,降低误码平层,并使用完整开销(原始和额外)提高迭代解码的收敛性,减少危险失速模式的数量(即,减少陷阱集的数量)等,有效改进性能、延迟、功耗等指标。Utilizing the extra and original overhead of space-coupled codes sequentially improves the minimum distance of FEC, lowers the error floor, and uses the full overhead (original and extra) to improve the convergence of iterative decoding and reduce the number of dangerous stall modes (i.e., reduce the trap The number of sets), etc., can effectively improve performance, delay, power consumption and other indicators.
该申请技术方案能够提高FEC最小距离;降低了误码平层,通过使用所有开销(原始和额外)提高迭代解码的收敛性;减少了陷阱集的数量;低延迟、高速率、低误码率、低复杂度的解码过程、实现高性能。The technical solution of this application can improve the minimum distance of FEC; reduce the bit error level, and improve the convergence of iterative decoding by using all overhead (original and extra); reduce the number of trap sets; low delay, high rate, low bit error rate , Low-complexity decoding process to achieve high performance.
上文结合图1至图14,详细描述了本申请的编解码方法的实施例,下面将结合图15至图18,详细描述本申请的编解码设备的实施例。应理解,编解码设备的实施例的描述与编解码方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。The embodiments of the codec method of the present application are described in detail above with reference to FIGS. 1 to 14 , and the embodiments of the codec device of the present application will be described in detail below in conjunction with FIGS. 15 to 18 . It should be understood that the description of the embodiment of the codec device and the description of the embodiment of the codec method correspond to each other, therefore, for parts not described in detail, reference may be made to the foregoing method embodiments.
图15是本申请实施例提供的用于空间耦合前向纠错码编码设备的一例示意图。如图15所示,该设备1500可以包括处理单元1520和收发单元1510。Fig. 15 is a schematic diagram of an example of encoding equipment for spatially coupled forward error correction codes provided by an embodiment of the present application. As shown in FIG. 15 , the device 1500 may include a processing unit 1520 and a transceiver unit 1510 .
可选地,该设备1500可对应于上文方法实施例中的编码设备,例如,可以为编码设备,或者配置于编码设备中的部件(如电路、芯片或芯片系统等)。Optionally, the device 1500 may correspond to the encoding device in the above method embodiments, for example, may be an encoding device, or a component configured in the encoding device (such as a circuit, a chip, or a chip system, etc.).
示例性的,处理单元1520,用于对原始数据流进行编码,以生成前向纠错FEC码块,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数;Exemplarily, the processing unit 1520 is configured to encode the original data stream to generate a forward error correction FEC code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, where , the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are greater than zero an integer of
收发单元1510,用于发送FEC码块。The transceiver unit 1510 is configured to send the FEC code block.
应理解,该设备1500可对应于根据本申请实施例的方法1000中的编码设备,该设备1500可以包括用于执行图10中的方法1000中编码设备执行的方法的单元。并且,该设备1500中的各单元和上述其它操作和/或功能分别为了实现图10中的方法1000的相应流程。It should be understood that the device 1500 may correspond to the encoding device in the method 1000 according to the embodiment of the present application, and the device 1500 may include a unit for performing the method performed by the encoding device in the method 1000 in FIG. 10 . Moreover, each unit in the device 1500 and other operations and/or functions mentioned above are respectively intended to implement a corresponding flow of the method 1000 in FIG. 10 .
还应理解,该编码设备1500中的收发单元1510可以通过收发器实现,例如可对应于图18中示出的编码装置中的收发器1820,该编码设备1500中的处理单元1520可通过至少一个处理器实现,例如可对应于图18中示出的编码装置1800中的处理器1810。It should also be understood that the transceiver unit 1510 in the coding device 1500 can be implemented by a transceiver, for example, it can correspond to the transceiver 1820 in the coding device shown in FIG. The processor implements, for example, may correspond to the processor 1810 in the encoding device 1800 shown in FIG. 18 .
还应理解,该设备1500为配置于编码设备中的芯片或芯片系统时,该编码设备1500中的收发单元1510可以通过输入/输出接口、电路等实现,该编码设备1500中的处理单元1520可以通过该芯片或芯片系统上集成的处理器、微处理器或集成电路等实现。It should also be understood that when the device 1500 is a chip or system-on-a-chip configured in the coding device, the transceiver unit 1510 in the coding device 1500 can be realized through an input/output interface, a circuit, etc., and the processing unit 1520 in the coding device 1500 can be It is realized by the processor, microprocessor or integrated circuit integrated on the chip or chip system.
图16是本申请实施例提供的用于空间耦合前向纠错解码设备的一例示意图。如图16所示,该设备1600可以包括处理单元1620和收发单元1610。Fig. 16 is a schematic diagram of an example of a spatial coupling forward error correction decoding device provided by an embodiment of the present application. As shown in FIG. 16 , the device 1600 may include a processing unit 1620 and a transceiver unit 1610 .
可选地,该设备1600可对应于上文方法实施例中的解码设备,例如,可以为解码设备,或者配置于解码设备中的部件(如电路、芯片或芯片系统等)。Optionally, the device 1600 may correspond to the decoding device in the above method embodiment, for example, may be a decoding device, or a component (such as a circuit, a chip, or a chip system, etc.) configured in the decoding device.
示例性的,收发单元1610,用于接收前向纠错FEC码块;Exemplarily, the transceiver unit 1610 is configured to receive a forward error correction FEC code block;
处理单元1620,用于对FEC码块进行解码,以恢复原始数据流,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数。The processing unit 1620 is configured to decode the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, the first overhead code block and the second overhead code block, wherein the FEC code block includes N rows, The first overhead code block is located in each of the N lines of the FEC code block, the second overhead code block is located in the M lines of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
应理解,该设备1600可对应于根据本申请实施例的方法1100中的解码设备,该设备1600可以包括用于执行图11中的方法1100中解码设备执行的方法的单元。并且,该设备1600中的各单元和上述其它操作和/或功能分别为了实现图11中的方法1100的相应流程。It should be understood that the device 1600 may correspond to the decoding device in the method 1100 according to the embodiment of the present application, and the device 1600 may include a unit for performing the method performed by the decoding device in the method 1100 in FIG. 11 . Moreover, each unit in the device 1600 and the above-mentioned other operations and/or functions are respectively intended to implement a corresponding flow of the method 1100 in FIG. 11 .
还应理解,该解码设备1600中的收发单元1610可以通过收发器实现,例如可对应于图18中示出的编码装置中的收发器1820,该解码设备1600中的处理单元1620可通过至少一个处理器实现,例如可对应于图18中示出的编码装置1800中的处理器1810。It should also be understood that the transceiver unit 1610 in the decoding device 1600 can be implemented by a transceiver, for example, it can correspond to the transceiver 1820 in the encoding device shown in FIG. The processor implements, for example, may correspond to the processor 1810 in the encoding device 1800 shown in FIG. 18 .
还应理解,该设备1600为配置于编码设备中的芯片或芯片系统时,该编码设备1600中的收发单元1610可以通过输入/输出接口、电路等实现,该编码设备1600中的处理单元1620可以通过该芯片或芯片系统上集成的处理器、微处理器或集成电路等实现。It should also be understood that when the device 1600 is a chip or chip system configured in a coding device, the transceiver unit 1610 in the coding device 1600 can be realized through an input/output interface, a circuit, etc., and the processing unit 1620 in the coding device 1600 can be It is realized by the processor, microprocessor or integrated circuit integrated on the chip or chip system.
图17是本申请实施例提供的用于空间耦合前向纠错编码设备的一例示意图。如图17所示,该装置1700可以包括处理器1710、收发器1720。可选地,还包括存储器1730。其中,处理器1710、收发器1720和存储器1730通过内部连接通路互相通信,该存储器 1730用于存储指令,该处理器1710用于执行该存储器1730存储的指令,以控制该收发器1720发送信号和/或接收信号。Fig. 17 is a schematic diagram of an example of a spatial coupling forward error correction coding device provided by an embodiment of the present application. As shown in FIG. 17 , the apparatus 1700 may include a processor 1710 and a transceiver 1720 . Optionally, a memory 1730 is also included. Wherein, the processor 1710, the transceiver 1720 and the memory 1730 communicate with each other through an internal connection path, the memory 1730 is used to store instructions, and the processor 1710 is used to execute the instructions stored in the memory 1730 to control the transceiver 1720 to send signals and /or to receive a signal.
应理解,该编码装置1700可以对应于上述方法实施例中的编码设备,并且可以用于执行上述方法实施例中编码设备执行的各个步骤和/或流程。可选地,该存储器1730可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。存储器1730可以是一个单独的器件,也可以集成在处理器1710中。该处理器1710可以用于执行存储器1730中存储的指令,并且当该处理器1710执行存储器中存储的指令时,该处理器1710用于执行上述与编码设备对应的方法实施例的各个步骤和/或流程。It should be understood that the encoding apparatus 1700 may correspond to the encoding device in the above method embodiments, and may be used to execute various steps and/or processes performed by the encoding device in the above method embodiments. Optionally, the memory 1730 may include read-only memory and random-access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. The memory 1730 can be an independent device, or can be integrated in the processor 1710 . The processor 1710 may be used to execute the instructions stored in the memory 1730, and when the processor 1710 executes the instructions stored in the memory, the processor 1710 is used to execute the steps of the above-mentioned method embodiments corresponding to the encoding device and/or or process.
可选地,该编码装置1700是前文实施例中的编码设备。Optionally, the encoding device 1700 is the encoding device in the foregoing embodiments.
示例性的,处理器1710,用于对原始数据流进行编码,以生成前向纠错FEC码块,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M和N是大于零的整数;Exemplarily, the processor 1710 is configured to encode the original data stream to generate a forward error correction FEC code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, where , the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in the M rows of the FEC code block, M is less than or equal to N, and M and N are greater than zero an integer of
收发器1720,用于发送FEC码块。The transceiver 1720 is configured to send the FEC code block.
其中,收发器1720可以包括发射机和接收机。该处理器1710和存储器1730与收发器1720可以是集成在不同芯片上的器件。如,处理器1710和存储器1730可以集成在基带芯片中,收发器1720可以集成在射频芯片中。该处理器1710和存储器1730与收发器1720也可以是集成在同一个芯片上的器件。本申请对此不作限定。Wherein, the transceiver 1720 may include a transmitter and a receiver. The processor 1710, memory 1730 and transceiver 1720 may be devices integrated on different chips. For example, the processor 1710 and the memory 1730 may be integrated in a baseband chip, and the transceiver 1720 may be integrated in a radio frequency chip. The processor 1710, the memory 1730 and the transceiver 1720 may also be devices integrated on the same chip. This application is not limited to this.
可选地,该编码装置1700是配置在编码设备中的部件,如电路、芯片、芯片系统等。Optionally, the encoding device 1700 is a component configured in an encoding device, such as a circuit, a chip, a chip system, and the like.
其中,收发器1720也可以是通信接口,如输入/输出接口、电路等。该收发器1720与处理器1710和存储器1720都可以集成在同一个芯片中,如集成在基带芯片中。Wherein, the transceiver 1720 may also be a communication interface, such as an input/output interface, a circuit, and the like. The transceiver 1720, the processor 1710 and the memory 1720 may be integrated in the same chip, such as a baseband chip.
图18是本申请实施例提供的用于空间耦合前向纠错解码设备的一例示意图。如图18所示,该装置1800可以包括处理器1810、收发器1820。可选地,还包括存储器1830。其中,处理器1810、收发器1820和存储器1830通过内部连接通路互相通信,该存储器1830用于存储指令,该处理器1810用于执行该存储器1830存储的指令,以控制该收发器1820发送信号和/或接收信号。Fig. 18 is a schematic diagram of an example of a spatial coupling forward error correction decoding device provided by an embodiment of the present application. As shown in FIG. 18 , the apparatus 1800 may include a processor 1810 and a transceiver 1820 . Optionally, a memory 1830 is also included. Wherein, the processor 1810, the transceiver 1820 and the memory 1830 communicate with each other through an internal connection path, the memory 1830 is used to store instructions, and the processor 1810 is used to execute the instructions stored in the memory 1830 to control the transceiver 1820 to send signals and /or to receive a signal.
应理解,该解码装置1800可以对应于上述方法实施例中的解码设备,并且可以用于执行上述方法实施例中解码设备执行的各个步骤和/或流程。可选地,该存储器1830可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。存储器1830可以是一个单独的器件,也可以集成在处理器1810中。该处理器1810可以用于执行存储器1830中存储的指令,并且当该处理器1810执行存储器中存储的指令时,该处理器1810用于执行上述与解码设备对应的方法实施例的各个步骤和/或流程。It should be understood that the decoding apparatus 1800 may correspond to the decoding device in the foregoing method embodiments, and may be configured to execute various steps and/or processes performed by the decoding device in the foregoing method embodiments. Optionally, the memory 1830 may include read-only memory and random-access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. The memory 1830 can be an independent device, or can be integrated in the processor 1810 . The processor 1810 may be used to execute the instructions stored in the memory 1830, and when the processor 1810 executes the instructions stored in the memory, the processor 1810 is used to execute the steps of the above-mentioned method embodiments corresponding to the decoding device and/or or process.
可选地,该解码装置1800是前文实施例中的解码设备。Optionally, the decoding apparatus 1800 is the decoding device in the foregoing embodiments.
示例性的,收发器1820,用于接收前向纠错FEC码块;Exemplarily, the transceiver 1820 is configured to receive a forward error correction FEC code block;
处理器1810,用于对FEC码块进行解码,以恢复原始数据流,FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,FEC码块包括N行,第一开销码块位于FEC码块的N行中的每一行,第二开销码块位于FEC码块的M行,M小于或等于N,M 和N是大于零的整数。The processor 1810 is configured to decode the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, the first overhead code block and the second overhead code block, wherein the FEC code block includes N rows, The first overhead code block is located in each of the N lines of the FEC code block, the second overhead code block is located in the M lines of the FEC code block, M is less than or equal to N, and M and N are integers greater than zero.
其中,收发器1820可以包括发射机和接收机。该处理器1810和存储器1830与收发器1820可以是集成在不同芯片上的器件。如,处理器1810和存储器1830可以集成在基带芯片中,收发器1820可以集成在射频芯片中。该处理器1810和存储器1830与收发器1820也可以是集成在同一个芯片上的器件。本申请对此不作限定。Wherein, the transceiver 1820 may include a transmitter and a receiver. The processor 1810, memory 1830 and transceiver 1820 may be devices integrated on different chips. For example, the processor 1810 and the memory 1830 may be integrated in a baseband chip, and the transceiver 1820 may be integrated in a radio frequency chip. The processor 1810, the memory 1830 and the transceiver 1820 may also be devices integrated on the same chip. This application is not limited to this.
可选地,该解码装置1800是配置在解码设备中的部件,如电路、芯片、芯片系统等。Optionally, the decoding apparatus 1800 is a component configured in a decoding device, such as a circuit, a chip, a chip system, and the like.
其中,收发器1820也可以是通信接口,如输入/输出接口、电路等。该收发器1820与处理器1810和存储器1820都可以集成在同一个芯片中,如集成在基带芯片中。Wherein, the transceiver 1820 may also be a communication interface, such as an input/output interface, a circuit, and the like. The transceiver 1820, the processor 1810 and the memory 1820 may be integrated in the same chip, for example, integrated in a baseband chip.
应理解,本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请的技术方案,上述具体实现方式可以认为是本申请最优的实现方式,而非限制本申请实施例的范围。It should be understood that the specific examples in the embodiments of the present application are only to help those skilled in the art better understand the technical solutions of the present application. example range.
需要说明的是,控制器执行的动作或方法,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,控制器执行的动作或方法可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,光盘(digital video disc,DVD))、或者半导体介质,半导体介质可以是固态硬盘。It should be noted that the actions or methods executed by the controller may be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the actions or methods performed by the controller may be fully or partially implemented in the form of computer program products. The computer program product comprises one or more computer instructions or computer programs. When the computer instruction or computer program is loaded or executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center that includes one or more sets of available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium, and the semiconductor medium may be a solid-state hard disk.
可选地,上述各装置实施例中的存储器与处理器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起,本申请对此不做限定。Optionally, the memory and the processor in the foregoing apparatus embodiments may be physically independent units, or the memory and the processor may also be integrated together, which is not limited in the present application.
本申请实施例中的处理器可以是集成电路芯片,具有处理信号的能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。The processor in this embodiment of the present application may be an integrated circuit chip capable of processing signals. In the implementation process, each step of the above-mentioned method embodiments may be completed by an integrated logic circuit of hardware in a processor or instructions in the form of software. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable Logic devices, discrete gate or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the methods disclosed in the embodiments of the present application may be directly implemented by a hardware coded processor, or executed by a combination of hardware and software modules in the coded processor. The software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪 存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。The memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory. Volatile memory can be random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, many forms of RAM are available such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (synchlink DRAM, SLDRAM ) and direct memory bus random access memory (direct rambus RAM, DRRAM). It should be noted that the memory of the systems and methods described herein is intended to include, but not be limited to, these and any other suitable types of memory.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those skilled in the art can appreciate that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the application, but the scope of protection of the application is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the application. Should be covered within the protection scope of this application. Therefore, the protection scope of the present application should be determined by the protection scope of the claims.

Claims (50)

  1. 一种编码方法,应用于编码设备,其特征在于,包括:An encoding method applied to an encoding device, characterized in that it comprises:
    对原始数据流进行编码,以生成前向纠错FEC码块,所述FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,所述FEC码块包括N行,所述第一开销码块位于所述FEC码块的N行中的每一行,所述第二开销码块位于所述FEC码块的M行,M小于或等于N,M和N是大于零的整数;Encoding the original data stream to generate a forward error correction FEC code block, the FEC code block includes a plurality of data code blocks, a first overhead code block and a second overhead code block, wherein the FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in M rows of the FEC code block, M is less than or equal to N, and M and N are an integer greater than zero;
    发送所述FEC码块。Send the FEC code block.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, further comprising:
    选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成所述第一开销码块和所述第二开销码块。Selecting any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the first overhead code block Two overhead code blocks.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method according to claim 2, further comprising:
    当所述第二开销码块是根据所述GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对所述GEL码的列码进行校验,所述第二开销码块是对第一校验矩阵的行码进行编码生成的,所述第一校验矩阵是根据所述H B的子矩阵和所述GEL码的子矩阵的乘积确定的。 When the second overhead code block is generated according to the code word C GEL of the GEL code, the column code of the GEL code is checked using the check matrix H B of C GEL , and the second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is determined according to the product of the sub-matrix of the HB and the sub-matrix of the GEL code.
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述分量码包括历史码块、所述多个数据码块、所述第一开销码块和所述第二开销码块。The method according to any one of claims 1 to 3, wherein when the component code of the spatially coupled code is the GEL code, the component code includes a historical code block, the plurality of data codes block, the first overhead code block and the second overhead code block.
  5. 根据权利要求4所述的方法,其特征在于,当所述第二开销码块是根据所述GEL码的码字C GEL生成时,所述分量码为所述GEL码; The method according to claim 4, wherein when the second overhead code block is generated according to the code word C GEL of the GEL code, the component code is the GEL code;
    其中,所述C GEL是包括4个内码和3个外码的2·n行h列的矩阵,所述内码的码长和所述外码的码长分别为2·n和h,所述C GEL的内码B 0为恒等码字[2·n,2·n,1] 2,B 1为码字[2·n,k,d] 2,B 2为码字[2·n,k 2,d 2] 2,B 3为全零码字,所述C GEL的外码A 1是伽罗华域
    Figure PCTCN2022087391-appb-100001
    上的全零码字,A 2是伽罗华域
    Figure PCTCN2022087391-appb-100002
    上的码字
    Figure PCTCN2022087391-appb-100003
    A 3是伽罗华域
    Figure PCTCN2022087391-appb-100004
    上的恒等码字
    Figure PCTCN2022087391-appb-100005
    m 1=2·n-k,m 2=k-k 2,m 3=k 2
    Wherein, the C GEL is a matrix of 2.n rows and h columns comprising 4 inner codes and 3 outer codes, the code length of the inner code and the code length of the outer code are 2.n and h respectively, The inner code B 0 of the C GEL is the identity codeword [2·n,2·n,1] 2 , B 1 is the codeword [2·n,k,d] 2 , and B 2 is the codeword [2 n,k 2 ,d 2 ] 2 , B 3 is an all-zero codeword, and the outer code A 1 of the C GEL is a Galois Field
    Figure PCTCN2022087391-appb-100001
    The all-zero codeword on A 2 is the Galois Field
    Figure PCTCN2022087391-appb-100002
    codeword on
    Figure PCTCN2022087391-appb-100003
    A 3 is Galois field
    Figure PCTCN2022087391-appb-100004
    identity codeword on
    Figure PCTCN2022087391-appb-100005
    m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
  6. 根据权利要求4或5所述的方法,其特征在于,所述历史码块包括n×h比特,所述多个数据码块包括所述原始数据流的k 2·h+K·m 2比特,所述第一开销码块包括m 1×h比特的原始开销,所述第二开销码块包括(h-K)·m 2比特的额外开销。 The method according to claim 4 or 5, wherein the historical code block comprises n×h bits, and the plurality of data code blocks comprise k 2 ·h+K·m 2 bits of the original data stream , the first overhead code block includes m 1 ×h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of additional overhead.
  7. 根据权利要求4至6中任一项所述的方法,其特征在于,在发送所述FEC码块时,生成的半无限序列为
    Figure PCTCN2022087391-appb-100006
    其中,V i是一个h行n列的二进制矩阵,V i包括s个h行h列的方阵(V i,0 V i,1 … V i,s-1),s=n/h,s、h和n为大于0的整数;
    The method according to any one of claims 4 to 6, wherein when sending the FEC code block, the generated semi-infinite sequence is
    Figure PCTCN2022087391-appb-100006
    Wherein, V i is a binary matrix with h rows and n columns, and V i includes s square matrixes with h rows and h columns (V i,0 V i,1 ... V i,s-1 ), s=n/h, s, h and n are integers greater than 0;
    当i=0,1,2,...,N 0时,矩阵V i是h行n列的全零矩阵; When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix with h rows and n columns;
    当i>N 0时,所述空间耦合码中的分量码为所述GEL码,所述GEL码为
    Figure PCTCN2022087391-appb-100007
    When i>N 0 , the component code in the space coupling code is the GEL code, and the GEL code is
    Figure PCTCN2022087391-appb-100007
    其中,V T是矩阵V的转置,N 0是根据所述空间耦合码的耦合方式确定的非负整数,π i,k(V)是根据任意的重排列规则对矩阵V进行重排后确定的,k=0,1,2,...,s-1。 Among them, V T is the transpose of matrix V, N 0 is a non-negative integer determined according to the coupling mode of the space-coupled code, and π i,k (V) is the rearrangement of matrix V according to any rearrangement rule Definitely, k=0,1,2,...,s-1.
  8. 根据权利要求7所述的方法,其特征在于,所述半无限序列V是根据所述GEL码的编码方式,基于所述历史码块的比特和所述原始数据流的比特,生成的所述第一开销码 块的比特和所述第二开销码块的比特。The method according to claim 7, wherein the semi-infinite sequence V is generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code. bits of the first overhead code block and bits of the second overhead code block.
  9. 根据权利要求7所述的方法,其特征在于,所述半无限序列V是根据所述GEL码的编码方式,基于所述历史码块的比特和所述原始数据流的比特,生成的所述第二开销码块的比特,以及基于所述第二开销码块的比特,生成的所述第一开销码块的比特。The method according to claim 7, wherein the semi-infinite sequence V is generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code. bits of the second overhead code block, and bits of the first overhead code block generated based on the bits of the second overhead code block.
  10. 根据权利要求4至9中任一项所述的方法,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述FEC码块是对所述分量码的子矩阵转置的重排列,The method according to any one of claims 4 to 9, wherein when the component code of the space-coupled code is the GEL code, the FEC code block is a sub-matrix transformation of the component code rearrangement of settings,
    其中,所述分量码是256行16列的矩阵,所述子矩阵是所述分量码的后128行16列矩阵,所述分量码包括所述历史码块、所述多个数据码块和所述第一开销码块,所述FEC码块包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,r和c分别为所述子矩阵的行号和列号,i为所述FEC码块的行号,t为所述FEC码块的列号,i为大于或等于0的整数,t为大于或等于0且小于或等于7的整数,r和c为大于0且小于或等于15的整数。 Wherein, the component code is a matrix with 256 rows and 16 columns, the sub-matrix is a matrix with 128 rows and 16 columns after the component code, and the component code includes the historical code block, the plurality of data code blocks and In the first overhead code block, the FEC code block includes eight 16-row and 16-column sub-matrices V i,t (r, c) arranged row-wise and 16-row and 128-column matrices, where r and c are the The row number and column number of the sub-matrix, i is the row number of the FEC code block, t is the column number of the FEC code block, i is an integer greater than or equal to 0, and t is greater than or equal to 0 and less than or An integer equal to 7, r and c are integers greater than 0 and less than or equal to 15.
  11. 根据权利要求4至10中任一项所述的方法,其特征在于,所述分量码的子矩阵转置是所述多个数据码块、所述第一开销码块和所述第二开销码块的转置,所述子矩阵转置包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为所述子矩阵的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 The method according to any one of claims 4 to 10, wherein the submatrix transposition of the component codes is the plurality of data code blocks, the first overhead code block and the second overhead The transposition of the code block, the sub-matrix transposition includes 8 sub-matrixes (A' i, t (r, c)) T of 16 rows and 16 columns arranged in the row direction, a matrix of 16 rows and 128 columns, where r and c are the row number and column number of the sub-matrix respectively, t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c are greater than or equal to 0 and less than or equal to An integer of 15.
  12. 根据权利要求11所述的方法,其特征在于,所述第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,所述第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 The method according to claim 11, wherein the second overhead code block is located at (A' i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, and the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 ) ) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  13. 根据权利要求4至12中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 4 to 12, further comprising:
    所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵, The historical code block includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix,
    当所述FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an even number, select the jth 16-row and 16-column matrix V i-19+2*j, j of the historical FEC code block whose sequence number is i-19+2*j Transpose and rearrange and then transpose to obtain C i,j in the historical code block;
    当所述FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an odd number, select the jth 16-row and 16-column matrix V i-21+2*j , j of the historical FEC code block whose sequence number is i-21+2*j Transpose and rearrange and then transpose to obtain C i,j in the history code block.
  14. 根据权利要求4至13中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 4 to 13, further comprising:
    所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述FEC码块选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jThe historical code block includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, and the FEC code block is selected from the historical FEC code block whose serial number is i-27+j The j-th 16-row and 16-column matrix V i-27+j,j is transposed, rearranged and then transposed to obtain C i,j in the historical code block.
  15. 一种解码方法,应用于解码设备,其特征在于,包括:A decoding method applied to a decoding device, characterized in that it comprises:
    接收前向纠错FEC码块;Receiving a forward error correction FEC code block;
    对所述FEC码块进行解码,以恢复原始数据流,所述FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,所述FEC码块包括N行,所述第一开销码块位于所述FEC码块的N行中的每一行,所述第二开销码块位于所述FEC码块的M行,M小于或等于N,M和N是大于零的整数。Decoding the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, where the FEC code block includes N rows, The first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in M rows of the FEC code block, M is less than or equal to N, and M and N are greater than zero an integer of .
  16. 根据权利要求15所述的方法,其特征在于,所述方法还包括:The method according to claim 15, further comprising:
    选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的 任意一种码字作为空间耦合码的分量码,以生成所述第一开销码块和所述第二开销码块。Selecting any one of the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the spatially coupled code to generate the first overhead code block and the first overhead code block Two overhead code blocks.
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:The method according to claim 16, further comprising:
    当所述第二开销码块是根据所述GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对所述GEL码的列码进行校验,所述第二开销码块是对第一校验矩阵的行码进行编码生成的,所述第一校验矩阵是根据所述H B的子矩阵和所述GEL码的子矩阵的乘积确定的。 When the second overhead code block is generated according to the code word C GEL of the GEL code, the column code of the GEL code is checked using the check matrix H B of C GEL , and the second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is determined according to the product of the sub-matrix of the HB and the sub-matrix of the GEL code.
  18. 根据权利要求15至17中任一项所述的方法,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述分量码包括历史码块、所述多个数据码块、所述第一开销码块和所述第二开销码块。The method according to any one of claims 15 to 17, wherein when the component code of the spatially coupled code is the GEL code, the component code includes a historical code block, the plurality of data codes block, the first overhead code block and the second overhead code block.
  19. 根据权利要求18所述的方法,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述FEC码块是对所述分量码的子矩阵转置的重排列,The method according to claim 18, wherein when the component code of the space-coupled code is the GEL code, the FEC code block is a rearrangement of the submatrix transposition of the component code,
    其中,所述分量码是256行16列的矩阵,所述子矩阵是所述分量码的后128行16列矩阵,所述分量码包括所述历史码块、所述多个数据码块和所述第一开销码块,所述FEC码块包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,r和c分别为所述子矩阵的行号和列号,i为所述FEC码块的行号,t为所述FEC码块的列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 Wherein, the component code is a matrix with 256 rows and 16 columns, the sub-matrix is a matrix with 128 rows and 16 columns after the component code, and the component code includes the historical code block, the plurality of data code blocks and In the first overhead code block, the FEC code block includes eight 16-row and 16-column sub-matrices V i,t (r, c) arranged row-wise and 16-row and 128-column matrices, where r and c are the The row number and column number of the sub-matrix, i is the row number of the FEC code block, t is the column number of the FEC code block, t is an integer greater than or equal to 0 and less than or equal to 7, and i is greater than or equal to An integer equal to 0, r and c are integers greater than 0 and less than or equal to 15.
  20. 根据权利要求18或19所述的方法,其特征在于,所述分量码的子矩阵转置是所述多个数据码块、所述第一开销码块和所述第二开销码块的转置,所述子矩阵转置包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为所述子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 The method according to claim 18 or 19, wherein the sub-matrix transposition of the component codes is a transposition of the plurality of data code blocks, the first overhead code block, and the second overhead code block set, the sub-matrix transpose includes 8 sub-matrixes (A' i,t (r,c)) T with 16 rows and 16 columns arranged row-wise, a matrix with 16 rows and 128 columns, where r and c are respectively The row number and column number of the sub-matrix (A' i,t (r,c)) T , t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c An integer greater than or equal to 0 and less than or equal to 15.
  21. 根据权利要求20所述的方法,其特征在于,所述第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,所述第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 The method according to claim 20, wherein the second overhead code block is located at (A' i,6 (r,c)) T , where r is an integer greater than or equal to 14 and less than or equal to 15 , c is an integer greater than or equal to 7 and less than or equal to 14, and the first overhead code block is located at (A′ i,6 (r,c 1 )) T and (A′ i,7 (r,c 2 ) ) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  22. 根据权利要求18至21中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 18 to 21, further comprising:
    所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵, The historical code block includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix,
    当所述FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再进行转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an even number, select the jth 16-row and 16-column matrix V i-19+2*j, j of the historical FEC code block whose sequence number is i-19+2*j Transpose and rearrange and then perform transpose to obtain C i,j in the historical code block;
    当所述FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再进行转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an odd number, select the jth 16-row and 16-column matrix V i-21+2*j , j of the historical FEC code block whose sequence number is i-21+2*j Transpose and rearrange and then perform transpose to obtain C i,j in the history code block.
  23. 根据权利要求18至22中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 18 to 22, further comprising:
    所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述FEC码块选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再进行转置,以得到所述历史码块中的C i,jThe historical code block includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise 128-row and 16-column matrix, and the FEC code block is selected from the historical FEC code block whose serial number is i-27+j The j-th 16-row and 16-column matrix V i-27+j,j is transposed and rearranged, and then transposed to obtain C i,j in the historical code block.
  24. 一种编码设备,其特征在于,包括:An encoding device, characterized in that it comprises:
    处理单元,用于对原始数据流进行编码,以生成前向纠错FEC码块,所述FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,所述FEC码块包括N行,所述第一开销码块位于所述FEC码块的N行中的每一行,所述第二开销码块位于所述FEC 码块的M行,M小于或等于N,M和N是大于零的整数;A processing unit, configured to encode the original data stream to generate a forward error correction FEC code block, where the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, wherein the The FEC code block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, and the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N , M and N are integers greater than zero;
    收发单元,用于发送所述FEC码块。A transceiver unit, configured to send the FEC code block.
  25. 根据权利要求24所述的编码设备,其特征在于,Encoding device according to claim 24, characterized in that,
    所述处理单元,还用于:选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成所述第一开销码块和所述第二开销码块。The processing unit is also used for: selecting any code word in general error position GEL code, general concatenated code GCC, tensor product and general integrated interleaving GII code as the component code of space coupling code, to generate the described The first overhead code block and the second overhead code block.
  26. 根据权利要求25所述的编码设备,其特征在于,Encoding device according to claim 25, characterized in that,
    所述处理单元,还用于:当所述第二开销码块是根据所述GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对所述GEL码的列码进行校验,所述第二开销码块是对第一校验矩阵的行码进行编码生成的,所述第一校验矩阵是根据所述H B的子矩阵和所述GEL码的子矩阵的乘积确定的。 The processing unit is further configured to: when the second overhead code block is generated according to the code word C GEL of the GEL code, use the parity check matrix H B of C GEL to correct the column code of the GEL code test, the second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is based on the product of the sub-matrix of the H B and the sub-matrix of the GEL code definite.
  27. 根据权利要求24至26中任一项所述的编码设备,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述分量码包括历史码块、所述多个数据码块、所述第一开销码块和所述第二开销码块。The encoding device according to any one of claims 24 to 26, wherein when the component code of the space-coupled code is the GEL code, the component code includes a historical code block, the plurality of data code block, the first overhead code block, and the second overhead code block.
  28. 根据权利要求27所述的编码设备,其特征在于,当所述第二开销码块是根据所述GEL码的码字C GEL生成时,所述分量码为所述GEL码; The encoding device according to claim 27, wherein when the second overhead code block is generated according to the codeword C GEL of the GEL code, the component code is the GEL code;
    其中,所述C GEL是包括4个内码和3个外码的2·n行h列的矩阵,所述内码的码长和所述外码的码长分别为2·n和h,所述C GEL的内码B 0为恒等码字[2·n,2·n,1] 2,B 1为码字[2·n,k,d] 2,B 2为码字[2·n,k 2,d 2] 2,B 3为全零码字,所述C GEL的外码A 1是伽罗华域
    Figure PCTCN2022087391-appb-100008
    上的全零码字,A 2是伽罗华域
    Figure PCTCN2022087391-appb-100009
    上的码字
    Figure PCTCN2022087391-appb-100010
    A 3是伽罗华域
    Figure PCTCN2022087391-appb-100011
    上的恒等码字
    Figure PCTCN2022087391-appb-100012
    m 1=2·n-k,m 2=k-k 2,m 3=k 2
    Wherein, the C GEL is a matrix of 2.n rows and h columns comprising 4 inner codes and 3 outer codes, the code length of the inner code and the code length of the outer code are 2.n and h respectively, The inner code B 0 of the C GEL is the identity codeword [2·n,2·n,1] 2 , B 1 is the codeword [2·n,k,d] 2 , and B 2 is the codeword [2 n,k 2 ,d 2 ] 2 , B 3 is an all-zero codeword, and the outer code A 1 of the C GEL is a Galois Field
    Figure PCTCN2022087391-appb-100008
    The all-zero codeword on A 2 is the Galois Field
    Figure PCTCN2022087391-appb-100009
    codeword on
    Figure PCTCN2022087391-appb-100010
    A 3 is Galois field
    Figure PCTCN2022087391-appb-100011
    identity codeword on
    Figure PCTCN2022087391-appb-100012
    m 1 =2·nk, m 2 =kk 2 , m 3 =k 2 .
  29. 根据权利要求27或28所述的编码设备,其特征在于,所述历史码块包括n×h比特,所述多个数据码块包括所述原始数据流的k 2·h+K·m 2比特,所述第一开销码块包括m 1×h比特的原始开销,所述第二开销码块包括(h-K)·m 2比特的额外开销。 The encoding device according to claim 27 or 28, wherein the historical code block comprises n×h bits, and the plurality of data code blocks comprise k 2 ·h+K·m 2 of the original data stream bits, the first overhead code block includes m 1 ×h bits of original overhead, and the second overhead code block includes (hK)·m 2 bits of additional overhead.
  30. 根据权利要求27至29中任一项所述的编码设备,其特征在于,在所述收发单元发送所述FEC码块时,生成的半无限序列为
    Figure PCTCN2022087391-appb-100013
    其中,V i是一个h行n列的二进制矩阵,V i包括s个h行h列的方阵(V i,0 V i,1 … V i,s-1),s=n/h,s、h和n为大于0的整数;
    The encoding device according to any one of claims 27 to 29, wherein when the transceiver unit sends the FEC code block, the generated semi-infinite sequence is
    Figure PCTCN2022087391-appb-100013
    Wherein, V i is a binary matrix with h rows and n columns, and V i includes s square matrixes with h rows and h columns (V i,0 V i,1 ... V i,s-1 ), s=n/h, s, h and n are integers greater than 0;
    当i=0,1,2,...,N 0时,矩阵V i是h行n列的全零矩阵; When i=0,1,2,...,N 0 , the matrix V i is an all-zero matrix with h rows and n columns;
    当i>N 0时,所述空间耦合码中的分量码为所述GEL码,所述GEL码为
    Figure PCTCN2022087391-appb-100014
    When i>N 0 , the component code in the space coupling code is the GEL code, and the GEL code is
    Figure PCTCN2022087391-appb-100014
    其中,V T是矩阵V的转置,N 0是根据所述空间耦合码的耦合方式确定的非负整数,π i,k(V)是根据任意的重排列规则对矩阵V进行重排后确定的,k=0,1,2,...,s-1。 Among them, V T is the transpose of matrix V, N 0 is a non-negative integer determined according to the coupling mode of the space-coupled code, and π i,k (V) is the rearrangement of matrix V according to any rearrangement rule Definitely, k=0,1,2,...,s-1.
  31. 根据权利要求30所述的编码设备,其特征在于,所述半无限序列V是根据所述GEL码的编码方式,基于所述历史码块的比特和所述原始数据流的比特,生成的所述第一开销码块的比特和所述第二开销码块的比特。The encoding device according to claim 30, wherein the semi-infinite sequence V is generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code bits of the first overhead code block and bits of the second overhead code block.
  32. 根据权利要求30所述的编码设备,其特征在于,所述半无限序列V是根据所述GEL码的编码方式,基于所述历史码块的比特和所述原始数据流的比特,生成的所述第二 开销码块的比特,以及基于所述第二开销码块的比特,生成的所述第一开销码块的比特。The encoding device according to claim 30, wherein the semi-infinite sequence V is generated based on the bits of the historical code block and the bits of the original data stream according to the encoding method of the GEL code bits of the second overhead code block, and bits of the first overhead code block generated based on the bits of the second overhead code block.
  33. 根据权利要求27至32中任一项所述的编码设备,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述FEC码块是对所述分量码的子矩阵转置的重排列,The encoding device according to any one of claims 27 to 32, wherein when the component code of the space-coupled code is the GEL code, the FEC code block is a sub-matrix for the component code transposed rearrangement,
    其中,所述分量是256行16列的矩阵,所述子矩阵是所述分量码的后128行16列矩阵,所述分量码包括所述历史码块、所述多个数据码块和所述第一开销码块,所述FEC码块包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,r和c分别为所述子矩阵的行号和列号,i为所述FEC码块的行号,t为所述FEC码块的列号,i为大于或等于0的整数,t为大于或等于0且小于或等于7的整数,r和c为大于0且小于或等于15的整数。 Wherein, the component is a matrix with 256 rows and 16 columns, and the sub-matrix is a matrix with 128 rows and 16 columns after the component code, and the component code includes the historical code block, the multiple data code blocks and the In the first overhead code block, the FEC code block includes eight 16-row and 16-column sub-matrices V i,t (r, c) arranged row-wise and 16-row and 128-column matrices, where r and c are the The row number and column number of the sub-matrix, i is the row number of the FEC code block, t is the column number of the FEC code block, i is an integer greater than or equal to 0, and t is greater than or equal to 0 and less than or equal to An integer of 7, r and c are integers greater than 0 and less than or equal to 15.
  34. 根据权利要求27至33中任一项所述的编码设备,其特征在于,所述分量码的子矩阵转置是所述多个数据码块、所述第一开销码块和所述第二开销码块的转置,所述子矩阵转置包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为所述子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 The encoding device according to any one of claims 27 to 33, wherein the submatrix transposition of the component codes is the plurality of data code blocks, the first overhead code block and the second The transposition of the overhead code block, the sub-matrix transposition includes 8 sub-matrixes (A' i,t (r,c)) T of 16 rows and 16 columns arranged in the row direction, a matrix of 16 rows and 128 columns, wherein, r and c are the row number and column number of the sub-matrix (A' i,t (r,c)) T respectively, t is an integer greater than or equal to 0 and less than or equal to 7, and i is an integer greater than or equal to 0 Integer, r and c are integers greater than or equal to 0 and less than or equal to 15.
  35. 根据权利要求34所述的编码设备,其特征在于,所述第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,所述第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 The encoding device according to claim 34, wherein the second overhead code block is located at (A' i,6 (r,c)) T , where r is greater than or equal to 14 and less than or equal to 15 Integer, c is an integer greater than or equal to 7 and less than or equal to 14, and the first overhead code block is located at (A' i,6 (r,c 1 )) T and (A' i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  36. 根据权利要求27至35中任一项所述的编码设备,其特征在于,所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述处理单元,还用于: The encoding device according to any one of claims 27 to 35, wherein the historical code block includes eight 16-row and 16-column sub-matrices C i, t arranged in a column-wise matrix with 128 rows and 16 columns , the processing unit is also used for:
    当所述FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an even number, select the jth 16-row and 16-column matrix V i-19+2*j, j of the historical FEC code block whose sequence number is i-19+2*j Transpose and rearrange and then transpose to obtain C i,j in the historical code block;
    当所述FEC码块V i中的i为奇数时,选取序号为i-21+2*j的历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an odd number, select the jth 16-row and 16-column matrix V i-21+2*j , j of the historical FEC code block whose sequence number is i-21+2*j Transpose and rearrange and then transpose to obtain C i,j in the history code block.
  37. 根据权利要求27至36中任一项所述的编码设备,其特征在于,An encoding device according to any one of claims 27 to 36, characterized in that
    所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述处理单元,用于所述FEC码块选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jThe historical code block includes 8 sub-matrixes C i, t of 16 rows and 16 columns arranged in a column direction and a matrix of 128 rows and 16 columns, and the processing unit is used for the selection number of the FEC code block is i-27+ The j-th 16-row and 16-column matrix V i-27+j,j of j's historical FEC code block is transposed, rearranged, and then transposed to obtain C i,j in the historical code block.
  38. 一种解码设备,其特征在于,包括:A decoding device, characterized in that it comprises:
    收发单元,用于接收前向纠错FEC码块;A transceiver unit, configured to receive forward error correction FEC code blocks;
    处理单元,用于对所述FEC码块进行解码,以恢复原始数据流,所述FEC码块包括多个数据码块、第一开销码块和第二开销码块,其中,所述FEC码块包括N行,所述第一开销码块位于所述FEC码块的N行中的每一行,所述第二开销码块位于所述FEC码块的M行,M小于或等于N,M和N是大于零的整数。A processing unit, configured to decode the FEC code block to restore the original data stream, the FEC code block includes a plurality of data code blocks, a first overhead code block, and a second overhead code block, wherein the FEC code The block includes N rows, the first overhead code block is located in each of the N rows of the FEC code block, the second overhead code block is located in M rows of the FEC code block, and M is less than or equal to N, M and N is an integer greater than zero.
  39. 根据权利要求38所述的解码设备,其特征在于,Decoding device according to claim 38, characterized in that
    所述处理单元,还用于选取通用错误位置GEL码、通用级联码GCC、张量乘积和通用集成交织GII码中的任意一种码字作为空间耦合码的分量码,以生成所述第一开销码块和所述第二开销码块。The processing unit is also used to select any code word in the general error position GEL code, the general concatenated code GCC, the tensor product and the general integrated interleaving GII code as the component code of the space coupled code, so as to generate the first an overhead code block and the second overhead code block.
  40. 根据权利要求39所述的解码设备,其特征在于,Decoding device according to claim 39, characterized in that,
    所述处理单元,还用于当所述第二开销码块是根据所述GEL码的码字C GEL生成时,使用C GEL的校验矩阵H B对所述GEL码的列码进行校验,所述第二开销码块是对第一校验矩阵的行码进行编码生成的,所述第一校验矩阵是根据所述H B的子矩阵和所述GEL码的子矩阵的乘积确定的。 The processing unit is further configured to, when the second overhead code block is generated according to the code word C GEL of the GEL code, use the check matrix H B of C GEL to check the column code of the GEL code , the second overhead code block is generated by encoding the row codes of the first parity check matrix, and the first parity check matrix is determined according to the product of the submatrix of the H B and the submatrix of the GEL code of.
  41. 根据权利要求38至40中任一项所述的解码设备,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述分量码包括历史码块、所述多个数据码块、所述第一开销码块和所述第二开销码块。The decoding device according to any one of claims 38 to 40, wherein when the component code of the space-coupled code is the GEL code, the component code includes a historical code block, the plurality of data code block, the first overhead code block, and the second overhead code block.
  42. 根据权利要求41所述的解码设备,其特征在于,当所述空间耦合码的分量码为所述GEL码时,所述FEC码块是对所述分量码的子矩阵转置的重排列,The decoding device according to claim 41, wherein when the component code of the space-coupled code is the GEL code, the FEC code block is a rearrangement of sub-matrix transposition of the component code,
    其中,所述分量码是256行16列的矩阵,所述子矩阵是所述分量码的后128行16列矩阵,所述分量码包括所述历史码块、所述多个数据码块和所述第一开销码块,所述FEC码块包括8个16行16列的子矩阵V i,t(r,c)按行向排列的16行128列的矩阵,r和c分别为所述子矩阵的行号和列号,i为所述FEC码块的行号,t为所述FEC码块的列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于0且小于或等于15的整数。 Wherein, the component code is a matrix with 256 rows and 16 columns, the sub-matrix is a matrix with 128 rows and 16 columns after the component code, and the component code includes the historical code block, the plurality of data code blocks and In the first overhead code block, the FEC code block includes eight 16-row and 16-column sub-matrices V i,t (r, c) arranged row-wise and 16-row and 128-column matrices, where r and c are the The row number and column number of the sub-matrix, i is the row number of the FEC code block, t is the column number of the FEC code block, t is an integer greater than or equal to 0 and less than or equal to 7, and i is greater than or equal to An integer equal to 0, r and c are integers greater than 0 and less than or equal to 15.
  43. 根据权利要求41或42所述的解码设备,其特征在于,所述分量码的子矩阵转置是所述多个数据码块、所述第一开销码块和所述第二开销码块的转置,所述子矩阵转置包括8个16行16列的子矩阵(A' i,t(r,c)) T按行向排列的16行128列的矩阵,其中,r和c分别为所述子矩阵(A' i,t(r,c)) T的行号和列号,t为大于或等于0且小于或等于7的整数,i为大于或等于0的整数,r和c为大于或等于0且小于或等于15的整数。 The decoding device according to claim 41 or 42, wherein the sub-matrix transposition of the component codes is the sub-matrix transposition of the plurality of data code blocks, the first overhead code block and the second overhead code block Transpose, the sub-matrix transpose includes 8 sub - matrixes (A' i, t (r, c)) of 16 rows and 16 columns arranged in row direction, a matrix of 16 rows and 128 columns, where r and c are respectively is the row number and column number of the sub-matrix (A' i,t (r,c)) T , t is an integer greater than or equal to 0 and less than or equal to 7, i is an integer greater than or equal to 0, r and c is an integer greater than or equal to 0 and less than or equal to 15.
  44. 根据权利要求43所述的解码设备,其特征在于,所述第二开销码块位于(A′ i,6(r,c)) T,其中,r为大于或等于14且小于或等于15的整数,c为大于或等于7且小于或等于14的整数,所述第一开销码块位于(A′ i,6(r,c 1)) T和(A′ i,7(r,c 2)) T,r为大于或等于0且小于或等于15的整数,c 1为15,c 2为大于或等于0且小于或等于15的整数。 The decoding device according to claim 43, wherein the second overhead code block is located at (A' i,6 (r,c)) T , where r is greater than or equal to 14 and less than or equal to 15 Integer, c is an integer greater than or equal to 7 and less than or equal to 14, and the first overhead code block is located at (A' i,6 (r,c 1 )) T and (A' i,7 (r,c 2 )) T , r is an integer greater than or equal to 0 and less than or equal to 15, c 1 is 15, and c 2 is an integer greater than or equal to 0 and less than or equal to 15.
  45. 根据权利要求41至44中任一项所述的解码设备,其特征在于,所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述处理单元,还用于: The decoding device according to any one of claims 41 to 44, wherein the historical code block includes 8 sub-matrices C i, t of 16 rows and 16 columns arranged in a column direction and a matrix of 128 rows and 16 columns , the processing unit is also used for:
    当所述FEC码块V i中的i为偶数时,选取序号为i-19+2*j的历史FEC码块的第j个16行16列矩阵V i-19+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an even number, select the jth 16-row and 16-column matrix V i-19+2*j, j of the historical FEC code block whose sequence number is i-19+2*j Transpose and rearrange and then transpose to obtain C i,j in the historical code block;
    当所述FEC码块V i中的i为奇数时,选取序号为i-21+2*j的所述历史FEC码块的第j个16行16列矩阵V i-21+2*j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jWhen the i in the FEC code block V i is an odd number, select the jth 16-row and 16-column matrix V i-21+2*j of the historical FEC code block whose sequence number is i-21+2*j, j is transposed and rearranged, and then transposed to obtain C i,j in the historical code block.
  46. 根据权利要求41至45中任一项所述的解码设备,其特征在于,所述历史码块包括8个16行16列的子矩阵C i,t按列向排列的128行16列的矩阵,所述处理单元,还用于所述FEC码块选取序号为i-27+j的历史FEC码块的第j个16行16列矩阵V i-27+j,j进行转置并重排列后再转置,以得到所述历史码块中的C i,jThe decoding device according to any one of claims 41 to 45, wherein the historical code block includes 8 sub-matrices C i, t of 16 rows and 16 columns arranged in a column direction and a matrix of 128 rows and 16 columns , the processing unit is also used for the FEC code block to select the j-th 16-row 16-column matrix V i-27+j,j of the historical FEC code block whose sequence number is i-27+j, and perform transposition and rearrangement Transpose again to obtain C i,j in the history code block.
  47. 一种通信装置,其特征在于,包括:处理器和接口电路,所述接口电路用于接收来自所述通信装置之外的其它通信装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述通信装置之外的其它通信装置,所述处理器通过逻辑电路或执行代码指令用于所述通信装置实现如权利要求1至14、15至23中任一项所述的方法。A communication device, characterized in that it includes: a processor and an interface circuit, the interface circuit is used to receive signals from other communication devices other than the communication device and transmit them to the processor or transfer signals from the processing The signal of the processor is sent to other communication devices other than the communication device, and the processor uses a logic circuit or executes code instructions for the communication device to realize any one of claims 1 to 14, 15 to 23 Methods.
  48. 一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序, 使得安装有所述芯片执行如权利要求1至14、15至23中任一项所述的方法。A chip, characterized by comprising: a processor, configured to invoke and run a computer program from a memory, so that the chip installed therein executes the method according to any one of claims 1-14, 15-23.
  49. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至14、15至23中任一项所述的方法。A computer storage medium, characterized in that computer instructions are stored in the computer storage medium, and when the instructions are executed on a computer, the computer executes the computer according to any one of claims 1 to 14, 15 to 23. described method.
  50. 一种计算机程序产品,其特征在于,所述计算机程序代码或指令在计算机上执行时,使得所述计算机执行如权利要求1至14、15至23中任一项所述的方法。A computer program product, characterized in that, when the computer program code or instructions are executed on a computer, the computer executes the method according to any one of claims 1-14, 15-23.
PCT/CN2022/087391 2021-10-15 2022-04-18 Encoding method and device, and decoding method and device WO2023060865A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2021130126 2021-10-15
RU2021130126 2021-10-15
RU2021134795 2021-11-29
RU2021134795 2021-11-29

Publications (1)

Publication Number Publication Date
WO2023060865A1 true WO2023060865A1 (en) 2023-04-20

Family

ID=85987257

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/087391 WO2023060865A1 (en) 2021-10-15 2022-04-18 Encoding method and device, and decoding method and device

Country Status (1)

Country Link
WO (1) WO2023060865A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090040081A1 (en) * 2007-08-08 2009-02-12 Xueshi Yang Encoding and decoding methods using generalized concatenated codes (gcc)
CN101686104A (en) * 2008-09-22 2010-03-31 华为技术有限公司 Coding and decoding method for forward error correction, device and system thereof
CN102783038A (en) * 2010-02-26 2012-11-14 索尼公司 Encoder and encoding method providing incremental redundancy
CN108292925A (en) * 2015-11-02 2018-07-17 华为技术有限公司 The method and apparatus that data are encoded/decoded by using m rank GEL codes
CN112953568A (en) * 2021-02-02 2021-06-11 国家广播电视总局广播电视科学研究院 Forward error correction code for deleting channel and construction method thereof
WO2021118395A1 (en) * 2019-12-13 2021-06-17 Huawei Technologies Co., Ltd. Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090040081A1 (en) * 2007-08-08 2009-02-12 Xueshi Yang Encoding and decoding methods using generalized concatenated codes (gcc)
CN101779379A (en) * 2007-08-08 2010-07-14 马维尔国际贸易有限公司 encoding and decoding using generalized concatenated codes (gcc)
CN101686104A (en) * 2008-09-22 2010-03-31 华为技术有限公司 Coding and decoding method for forward error correction, device and system thereof
CN102783038A (en) * 2010-02-26 2012-11-14 索尼公司 Encoder and encoding method providing incremental redundancy
CN108292925A (en) * 2015-11-02 2018-07-17 华为技术有限公司 The method and apparatus that data are encoded/decoded by using m rank GEL codes
WO2021118395A1 (en) * 2019-12-13 2021-06-17 Huawei Technologies Co., Ltd. Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
CN112953568A (en) * 2021-02-02 2021-06-11 国家广播电视总局广播电视科学研究院 Forward error correction code for deleting channel and construction method thereof

Similar Documents

Publication Publication Date Title
CN107026709B (en) Data packet coding processing method and device, base station and user equipment
JP5329239B2 (en) Multi-body code generator and decoder for communication systems
US7543212B2 (en) Low-density parity-check (LDPC) encoder
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US8880976B2 (en) Method and apparatus for encoding LBA information into the parity of a LDPC system
AU2010342630B2 (en) Decoding method and device for concatenated code
WO2017194013A1 (en) Error correction coding method and device
US20070033484A1 (en) System and method for designing RS-based LDPC code decoder
US20090235142A1 (en) Systems Using Low Density Parity Check Codes For Correcting Errors
US7296212B1 (en) Multi-dimensional irregular array codes and methods for forward error correction, and apparatuses and systems employing such codes and methods
US11843459B2 (en) Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes
Liu et al. LDPC-RS product codes for digital terrestrial broadcasting transmission system
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US20140173374A1 (en) Methods and apparatus for error coding
WO2023060865A1 (en) Encoding method and device, and decoding method and device
Huang et al. Syndrome-coupled rate-compatible error-correcting codes: theory and application
WO2011144161A1 (en) Method, device and system for forward error correction
Raja Durai et al. Multiple-rate error-correcting coding scheme
CN111600613B (en) Verification method, verification device, decoder, receiver and computer storage medium
Tan et al. A general and optimal framework to achieve the entire rate region for Slepian–Wolf coding
Kuo et al. Symbol-flipping based decoding of generalized low-density parity-check codes over GF (q)
Mattoussi Design and optimization of al-fec codes: the gldpc-staircase codes
Kwon et al. Design of Rate-Compatible Block Turbo Code with a Low-Degree Generating Polynomial
CN113708777A (en) LDPC code-based encoding method, system, medium, and apparatus
CN113708776A (en) LDPC code-based encoding method, system, medium, and apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22879815

Country of ref document: EP

Kind code of ref document: A1