Data transmission method, and device and storage medium
By performing CRC encoding and spatially coupled LDPC encoding on data transmission methods in wireless communication networks, the high complexity and high power loss problems during ultra-high throughput data transmission are solved, and data transmission with low latency and high reliability is achieved.
Patent Information
- Application Number
- PCT/CN2024/125989
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-05
- Filing Date
- 2024-10-21
- Publication Date
- 2025-08-14
AI Technical Summary
When transmitting ultra-high throughput data in wireless communication networks, the channel encoding complexity is high and the decoding power loss is large, making it difficult to meet the requirements of ultra-low latency and ultra-high reliability.
The spatially coupled LDPC encoding method is adopted to CRC encoding the bit sequence to be encoded, and then spatially coupled LDPC encoding is performed to generate the encoded bit sequence, and some bits are sent.
Reduces reception delay and decoding performance losses, and improves the robustness of data communication.
Smart Images

Figure CN2024125989_14082025_PF_FP_ABST
Abstract
Description
Data transmission method, device and storage medium Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data transmission method, device and storage medium. Background Art
[0002] With the rapid development of technologies such as big data, cloud computing, and latency-sensitive networks, the number of user devices in wireless communication networks has exploded. Wireless communication networks will carry a wide variety of applications and massive amounts of data, placing high demands on data transmission throughput, reliability, and latency. With the development of intelligent transportation, intelligent industrial control, and smart logistics, the demand for ultra-low latency and ultra-high reliability communications is becoming increasingly urgent. This means that high-throughput data must be sent and received successfully in a very short time. However, ultra-high throughput data transmission rates lead to very high channel coding complexity and significant decoding power consumption, necessitating further improvements in coding schemes for ultra-high throughput decoding.
[0003] Summary of the Invention
[0004] In view of this, the embodiments of the present application provide a data transmission method, device, and storage medium, which reduce reception delay and decoding performance loss and increase the robustness of data communication.
[0005] An embodiment of the present application provides a data transmission method, applied to a first communication device, including:
[0006] Determine a bit sequence to be encoded; perform CRC encoding on the bit sequence to be encoded to obtain at least one CRC encoding sequence; perform spatially coupled LDPC encoding on the at least one CRC encoding sequence to obtain a coded bit sequence; wherein at least one of the CRC encoding sequences includes at least two subcode block information sequences of spatially coupled LDPC encoding; and send at least part of the bits in the coded bit sequence.
[0007] An embodiment of the present application provides a data transmission method, applied to a second communication device, including:
[0008] Acquire data to be decoded; perform spatially coupled LDPC decoding on the data to be decoded to obtain at least one first decoding sequence; wherein the first decoding sequence corresponds to at least one CRC coding sequence, and at least one CRC coding sequence includes at least two subcode block information sequences encoded by spatially coupled LDPC; and obtain a corresponding bit sequence to be encoded from the first decoding sequence.
[0009] An embodiment of the present application provides a communication device, comprising: a memory, and one or more processors; the memory is configured to store one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the data transmission method described in any of the above embodiments.
[0010] An embodiment of the present application provides a storage medium storing a computer program. When the computer program is executed by a processor, the data transmission method described in any of the above embodiments is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG1 is a flow chart of a data transmission method provided in an embodiment of the present application;
[0012] FIG2 is a flow chart of another data transmission method provided in an embodiment of the present application;
[0013] FIG3 is a flowchart of another data transmission method provided in an embodiment of the present application;
[0014] FIG4 is a schematic diagram of the configuration of a basic matrix and a basic graph matrix of a spatially coupled LDPC coding code provided in an embodiment of the present application;
[0015] FIG5 is a schematic diagram of a configuration of a coding bit sequence provided in an embodiment of the present application;
[0016] FIG6 is a flowchart of another data transmission method provided in an embodiment of the present application;
[0017] FIG7 is a schematic diagram of a decoding implementation provided by an embodiment of the present application;
[0018] FIG8 is a structural block diagram of a data transmission device provided in an embodiment of the present application;
[0019] FIG9 is a structural block diagram of another data transmission device provided in an embodiment of the present application;
[0020] FIG10 is a schematic structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0021] The following describes the embodiments of the present application in conjunction with the accompanying drawings. The following describes the present application in conjunction with the accompanying drawings. The examples are only used to explain the present application and are not used to limit the scope of the present application.
[0022] In wireless communication systems, the transmitter performs channel coding on the data to be transmitted to obtain a coded bit subsequence, then maps the coded bit subsequence into constellation modulation symbols and transmits them to the receiver. Data transmission errors may occur in the data transmission channel due to factors such as multipath, noise, and interference. The transmitter uses channel coding to add redundant information to the data to be transmitted. The receiver can use this redundant information to recover the original data, thereby eliminating the distortion introduced during transmission. The receiver then needs to perform channel decoding on the received constellation modulation symbols to recover the transmitted data.
[0023] Common channel coding methods include low-density parity check (LDPC) coding, polar coding, turbo coding, and convolutional coding. LDPC coding is defined by a sparse (or low-density) parity matrix, and decoding performance can be improved through iterative decoding, such as belief transfer decoding.
[0024] LDPC code is a coding method for forward error correction coding. LDPC code can be defined as a linear block code consisting of a base matrix and a lifting value. Since the check matrix is very sparse, low-complexity decoding can be achieved. The check matrix H of the LDPC code is a matrix of mb×Z rows and nb×Z columns. It is composed of mb×nb sub-matrices, each of which is a different power of the Z×Z standard permutation matrix (corresponding to the cyclic shift matrix of the unit matrix) or a Z×Z all-zero square matrix. The check matrix H has the following form:
[0025] if have That is, a Z×Z square matrix of all zeros; if is an integer greater than or equal to 0, and the corresponding submatrix is the standard permutation matrix P The Z×Z standard permutation matrix P is as follows (the standard permutation matrix can be formed by cyclically shifting the unit matrix to the right by 1 bit):
[0026] so, Each submatrix can be uniquely identified. If a submatrix is a square matrix of all zeros, the corresponding It is represented by -1 (it can also be represented by null value or other methods). If a submatrix is obtained by cyclic shift s of the unit matrix, then is equal to s, so all Therefore, the basic matrix includes two elements: the element indicating the all-zero square matrix and the element indicating the cyclic shift of the unit matrix.
[0027] Z is the dimension of the standard permutation matrix (submatrix), and Z can be called the lifting size. By replacing the elements indicating the cyclic shift of the unit matrix in the basic matrix with "1", and replacing all the elements indicating the all-zero square matrix with "0", the basic graph matrix of the LDPC code (also called the LDPC coding basic graph matrix) can be obtained. Therefore, the basic graph matrix of the LDPC code only includes two elements: "0" and "1", where "0" is used to indicate that the index position is an element of the all-zero square matrix, and "1" is used to indicate that the index position is an element of the cyclic shift of the unit matrix. For the convenience of description, only the elements of the basic matrix indicating the cyclic shift of the unit matrix and the row and column index positions of these element positions can be described, and the remaining row and column index positions are defaulted to the elements indicating the all-zero square matrix, and the elements indicating the cyclic shift of the unit matrix can also be represented by their cyclic shift values, while the elements indicating the all-zero square matrix are described by -1 or empty values or null values.
[0028] For example, an LDPC coding basic matrix (2 rows and 4 columns) is as follows, and the lift value is equal to 4:
[0029] Then the check matrix H is:
[0030] The corresponding basic graph matrix is as follows:
[0031] LDPC coding has a parallel nature and can be decoded in parallel, so it has a higher decoding throughput. This application provides a spatially coupled LDPC coding (SC-LDPC) method. The coupled check matrix of a spatially coupled LDPC code can be expressed by the following formula:
[0032] Where L is the length of the coupling chain, m s is the coupling width (or coupling depth), the coupling check matrix H SC The elements in include at least 0 and 1, and the coupling check matrix H SC It includes multiple sub-matrices that are not all equal to 0 (such as the check sub-matrix and the tail check matrix T j ), in addition to these and T j Except for the above, the rest of the elements are equal to 0, where i=0,1,…,m s -1,t=0,1,…,L-1,j=0,1,…,m s -1. Among them, The size of T is m rows and n columns. jThe size of is m rows and m columns, where m and n are both positive integers. The number of rows in the coupled parity check matrix of the spatially coupled LDPC code is (L+m s )*m, the number of columns is L*n+m s *m.
[0033] In spatially coupled LDPC codes, the forward parity check matrix of the t-th subcode block can be expressed as The symbol 'T' represents a transpose operation. For any index t, if the forward parity check matrix for the tth subcode block is equal to the forward parity check matrix for the t+Tth subcode block, and the forward parity check matrices for subcode blocks t through t+T-1th are all different, then the period of the spatially coupled LDPC code is equal to T, where T is a positive integer. If T is equal to 1, the code is considered to be time-invariant spatially coupled LDPC code.
[0034] The encoding process of spatially coupled LDPC codes is as follows: spatially coupled LDPC codes are applied to the input information to obtain a coding sequence C, which satisfies the following equation: SC ×C=0, where C is the coded output sequence, 0 is the all-zero vector, and H SC is the coupled check matrix. The coding sequence can be divided into L+m s code blocks, which correspond to L sub-code blocks and m s The tail code blocks, where each of the L sub-code blocks has a length equal to n, m s The length of each tail code block is equal to m. The tth subcode block in the spatially coupled LDPC coded sequence corresponds to the coupled check matrix H SC The submatrix group that is not all equal to 0 is in, The first element in the upper left corner is located at H SC The row index is t*m and the column index is t*n, where t is a non-negative integer less than L; the jth tail code block in the spatially coupled LDPC coded sequence corresponds to the coupled check matrix H SC The submatrix that is not all equal to 0 is T j , where T j The first element in the upper left corner is located at H SC The row index is t*m and the column index is t*n, where t is a non-negative integer less than L. Unless otherwise specified, all variables here are counted starting from 0.
[0035] And, the tth code block in the spatially coupled LDPC coded sequence corresponds to the coupled check matrix H SC The submatrix group that is not all equal to 0 is They are composed of multiple sub-basic matrices and the boost value Z is determined, where the i-th submatrix By the i-th sub-basic matrix And the lifting value Z is determined, that is, the i-th sub-basic matrix The ith submatrix can be obtained by replacing the elements of the zero matrix in the matrix with the zero matrix of size Z rows and Z columns and replacing the elements of the unit matrix with the unit matrix of size Z rows and Z columns. Where i = 0, 1, ..., m s -1, t=0,1,…,L-1. The jth tail code block in the spatially coupled LDPC coded sequence corresponds to the coupled check matrix H SC The submatrix that is not all equal to 0 is T j , is the closing sub-basic matrix Tb j And the lifting value Z is determined, and the final sub-basic matrix Tb is about to be completed j The matrix T is obtained by replacing the elements of the all-zero square matrix in the matrix with the all-zero square matrix of size Z rows and Z columns and replacing the elements of the unit matrix cyclic shift with the unit matrix of size Z rows and Z columns. j , where j = 0, 1, ..., m s -1. Then, the spatially coupled LDPC code can be determined by multiple sub-basic matrices, multiple tailing sub-basic matrices, and the lifting value Z. The spatially coupled LDPC coding basic matrix is composed of multiple sub-basic matrices and multiple tailing sub-basic matrices, and can be expressed as follows:
[0036] Where L is the length of the coupling chain, m s is the coupling width (or coupling depth), the spatial coupling LDPC coding basic matrix Hb SC The elements in include at least an element indicating an all-zero square matrix and an element indicating a cyclic shift of the unit matrix. Generally, the element indicating an all-zero square matrix can be represented by -1, null, empty value, or other values. The element indicating a cyclic shift of the unit matrix is a non-negative integer less than Z, which is used to indicate the size of the cyclic shift. Spatially coupled LDPC coding basic matrix Hb SC The submatrices (e.g. and Tb j ), in addition to these and Tb j Except for the above, the remaining elements are all elements indicating all-zero square matrices, where i = 0, 1, ..., m s -1, t=0,1,...,L-1, j=0,1,...,m s -1. Among them, The size is mb rows and nb columns, Tb jThe size of is mb rows and mb columns, where mb and nb are both positive integers. The number of rows in the spatially coupled LDPC coding matrix is (L+m s )*mb, the number of columns is L*nb+m s *mb. The element indicating the all-zero square matrix may be represented by a null value (null), -1, or ∞.
[0037] By setting all the elements indicating all-zero square matrices in the spatially coupled LDPC coding basic matrix to 0 and all the elements indicating cyclic shifts of the unit matrix to 1, the spatially coupled LDPC coding basic graph matrix can be obtained. Correspondingly, the forward check basic graph matrix of the t-th subcode block in the spatially coupled LDPC code can be expressed as The symbol 'T' represents a transpose operation. The period of the spatially coupled LDPC coding base graph matrix can be determined based on the differences in the forward parity check matrix for each subcode block. That is, for any index t, if the forward parity check matrix for the tth subcode block is equal to the forward parity check matrix for the t+Tth subcode block, and the forward parity check matrixes for subcode blocks t through t+T-1 are different, then the period of the spatially coupled LDPC coding base graph matrix is equal to T, where T is a positive integer. If T is equal to 1, it can be considered a spatially coupled LDPC code with a time-invariant base graph matrix. Similarly, for any index t, if the forward parity check matrix for the tth subcode block is equal to the forward parity check matrix for subcode blocks t+T, and the forward parity check matrixes for subcode blocks t through t+T-1 are different, then the period of the spatially coupled LDPC coding base matrix is equal to T, where T is a positive integer. If T is equal to 1, it can be considered as spatially coupled LDPC coding with a time-invariant fundamental matrix.
[0038] For spatially coupled LDPC codes, for any two different subcode block indices t1 and t2, if the submatrix group corresponding to the t1th subcode block is not all equal to 0, (The corresponding basic matrix is ), the sub-matrix group corresponding to the t2-th sub-code block that is not all equal to 0 is (The corresponding basic matrix is ), both exist equal (The corresponding basic matrix is equal ), i=0,1,...,m s -1, it can be called time-invariant spatially coupled LDPC coding. Spatially coupled LDPC coding can be performed based on the spatially coupled LDPC coding basic matrix and the lifting value Z to obtain a coding sequence.
[0039] The data transmission method, apparatus, and storage medium provided in the embodiments of the present application can be used for various types of user equipment (UE), and can be used for future mobile communications (such as B5G or 6G, 7G), and can also be used in digital video broadcasting systems or optical fiber communication systems. Among them, various types of UE may also include or be referred to by those skilled in the art as mobile stations, user stations, mobile units, user units, wireless units, remote units, mobile devices, wireless devices, wireless communication devices, remote devices, mobile user stations, access terminals, mobile terminals, wireless terminals, remote terminals, handheld devices, user agents, mobile clients, clients, passive tags, or some other appropriate terms. In addition, various types of UE may also be cellular phones, personal digital assistants (PDAs), wireless modems, wireless communication devices, handheld devices, tablet computers, laptop computers, cordless phones, wireless local loop (WLL) stations, etc. Various types of UE can communicate with various types of base stations and network devices (including macro eNBs, small cell eNBs, relay base stations, etc.).
[0040] In one embodiment, FIG1 is a flowchart of a data transmission method provided by an embodiment of the present application. This embodiment is applicable to encoding scenarios that improve ultra-high throughput decoding and reduce decoding power consumption. This embodiment can be executed by a first communication device. As shown in FIG1 , this embodiment includes: S110-S140.
[0041] S110: Determine a bit sequence to be encoded.
[0042] S120 , perform CRC encoding on the bit sequence to be encoded to obtain at least one CRC encoding sequence.
[0043] S130. Perform spatially coupled LDPC encoding on at least one CRC encoding sequence to obtain a coded bit sequence; wherein the at least one CRC encoding sequence includes at least two subcode block information sequences of spatially coupled LDPC encoding.
[0044] S140: Send at least part of the bits in the coded bit sequence.
[0045] In one example, a coded bit sequence refers to an encoded bit sequence. At least one CRC code sequence is recorded as X CRC code sequences. A first communications device performs CRC encoding on the coded bit sequence to obtain X CRC code sequences, performs spatially coupled LDPC encoding on the X CRC code sequences to obtain a coded bit sequence, and transmits the coded bit sequence or a portion of the coded bit sequence. In one example, at least one of the X CRC code sequences includes at least two subcode block information sequences in spatially coupled LDPC encoding.
[0046] In one embodiment, at least one CRC code sequence includes a first predetermined number of subcode block information sequences encoded using spatially coupled LDPC coding; the first predetermined number is an even number greater than 0. In one example, the first predetermined number is denoted as Y0. Among the X CRC code sequences, any one CRC code sequence includes at least Y0 subcode block information sequences encoded using spatially coupled LDPC coding, where Y0 is an integer greater than 1 or a positive integer power of 2.
[0047] In one embodiment, the CRC code sequence includes at least two subcode block information sequences of spatially coupled LDPC coding, where the at least two subcode block information sequences are consecutive subcode block information sequences in the spatially coupled LDPC coding, i.e., all subcode blocks corresponding to the at least two subcode block information sequences are adjacent to each other. In one example, the Y0 subcode block information sequences in the spatially coupled LDPC coding are consecutive subcode block information sequences.
[0048] In one embodiment, at least one CRC code sequence includes a second predetermined number of subcode block information sequences of the spatially coupled LDPC code. The second predetermined number is a positive integer multiple of the period of the spatially coupled LDPC code base matrix, or a positive integer multiple of the period of the spatially coupled LDPC code base matrix, or a positive integer multiple of the product of the period of the spatially coupled LDPC code base matrix and the period of the spatially coupled LDPC code base matrix. In one example, assuming the second predetermined number is Y2, the period of the spatially coupled LDPC code base matrix is denoted as T0, and the period of the spatially coupled LDPC code base matrix is denoted as T1, and both T0 and T1 are positive integers. All bits of at least one of the X CRC code sequences are placed in the information sequence of Y2 consecutive subcode blocks in the spatially coupled LDPC code. Y2 can be a positive integer multiple of T0, a positive integer multiple of T1, or a positive integer multiple of T0*T1.
[0049] In one embodiment, the number of bits included in the CRC code sequence is determined by at least one of the following parameters: the length of the spatially coupled LDPC coded subcode block information sequence; the number of systematic bits in the spatially coupled LDPC coded subcode block; the number of spatially coupled LDPC coded subcode blocks; the length of the to-be-coded bit sequence; the number of CRC code check bits; the transport block size; the period of the spatially coupled LDPC coded basic graph matrix; the period of the spatially coupled LDPC coded basic matrix; the maximum number of bits in the CRC coded information sequence; the maximum number of bits in the CRC code sequence; and the code rate. The number of CRC code check bits refers to the number of bits included in the CRC check bit sequence in the CRC code sequence.
[0050] In one embodiment, at least one CRC code sequence comprises a number of bits equal to the sum of the lengths of a third predetermined number of subcode block information sequences in the spatially coupled LDPC code. The third predetermined number is an integer greater than 1 and less than or equal to the number of subcode blocks in the spatially coupled LDPC code. In one example, the third predetermined number is denoted as Y1 or Y2. In one example, there are X1 CRC code sequences among the X CRC code sequences, and the number of bits in each of the X1 CRC code sequences is equal to the sum of the lengths of the Y1 subcode block information sequences in the spatially coupled LDPC code. In another example, there are X2 CRC code sequences among the X CRC code sequences, and the number of bits in each of the X2 CRC code sequences is equal to the sum of the lengths of the Y2 subcode block information sequences in the spatially coupled LDPC code. X1 and X2 are both non-negative integers, and the sum of X1 and X2 is equal to X. Y1 and Y2 are both non-negative integers, and the sum of Y1 and Y2 is equal to L, where L is the number of subcode blocks in the spatially coupled LDPC code. In one example, the difference between Y1 and Y2 is no greater than 1.
[0051] In one embodiment, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0052] In one embodiment, during CRC encoding, at least two CRC encoding sequences are obtained, wherein the numbers of subcode block information sequences included in any two CRC encoding sequences are equal.
[0053] In one embodiment, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than the length of the subcode block information sequence of the spatially coupled LDPC encoding. In a specific example, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than or equal to H times the length of the subcode block information sequence of the spatially coupled LDPC encoding, where H is an integer greater than 1. The length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than 0. In a specific example, H is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32.
[0054] In one embodiment, the maximum number of bits in the CRC code sequence is greater than the number of systematic bits in the subcode block of the spatially coupled LDPC code. In a specific example, the maximum number of bits in the CRC code sequence is greater than or equal to W times the number of systematic bits in the subcode block of the spatially coupled LDPC code, where W is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32. The maximum number of bits in the CRC code sequence is an integer greater than 0, and the number of systematic bits in the subcode block of the spatially coupled LDPC code is an integer greater than 0.
[0055] In one embodiment, in CRC encoding, at least two CRC code sequences are obtained, wherein the maximum value of the number of subcode block information sequences included is a first value, the minimum value of the number of subcode block information sequences included is a second value, and the maximum value of the difference between the first value and the second value is equal to 1.
[0056] In one embodiment, during CRC encoding, a fourth predetermined number of CRC code sequences are obtained, wherein the fifth predetermined number of CRC code sequences contain an equal number of subcode block information sequences, wherein the fourth predetermined number is an integer greater than 1, and the fifth predetermined number is obtained by subtracting 1 from the fourth predetermined number. In one example, assuming that the fourth predetermined number is X and the fifth predetermined number is X-1, CRC encoding is performed on the bit sequence to be encoded to obtain X CRC code sequences, wherein the first X-1 CRC code sequences contain an equal number of subcode block information sequences.
[0057] In one embodiment, the number of subcode blocks of the spatially coupled LDPC encoding is an integer greater than 1. In a specific example, the minimum number of subcode blocks of the spatially coupled LDPC encoding is equal to one of the following: 4, 6, 8, 10, 12, 16, 24, and 32.
[0058] In one embodiment, the maximum number of bits of the CRC encoding sequence is an integer greater than or equal to 2048. In a specific example, the maximum number of bits of the CRC encoding sequence may include at least one of the following: 4096, 6144, 8192, 8448, or 16384.
[0059] In one embodiment, the maximum number of bits of the CRC-encoded information sequence is an integer greater than 1024 and less than or equal to 16384.
[0060] In one embodiment, the length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than or equal to 128 and less than or equal to 8448.
[0061] In one embodiment, the number of systematic bits in a spatially coupled LDPC coded subcode block is equal to at least one of the following: 128, 256, 400, 512, 600, 800, 1024, 1536, 2048, 3072, or 4096. The systematic bits in the subcode block include the information sequence and padding bits in the spatially coupled LDPC coded subcode block. That is, the number of systematic bits in the subcode block is equal to the sum of the length of the information sequence and the number of padding bits in the spatially coupled LDPC coded subcode block. The number of padding bits is a non-negative integer. If padding is not required, the number of padding bits is equal to 0.
[0062] In one embodiment, the number of CRC code sequences is at least equal to 2.
[0063] In one embodiment, the number of CRC encoding check bits in the CRC encoding sequence includes at least one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
[0064] In one embodiment, the number of subcode block information sequences included in the CRC encoding sequence includes one of the following: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24. In one example, Y0 may be equal to 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24.
[0065] In one embodiment, the maximum number of subcode block information sequences included in the CRC encoding sequence is equal to at least one of the following: 4, 6, 8, 10, 12, 14, 16, 18, 20 or 24.
[0066] In an example, the length of the subcode block information sequence of the spatially coupled LDPC encoding may include at least one of the following: 128, 256, 400, 600, 512, 768, 800, 1024, 2048, or 4096.
[0067] In one embodiment, FIG2 is a flowchart of another data transmission method provided by an embodiment of the present application. This embodiment is applied to encoding scenarios that improve ultra-high throughput decoding and reduce decoding power consumption. This embodiment can be executed by a second communication device. As shown in FIG2 , this embodiment includes: S210-S230.
[0068] S210: Obtain data to be decoded.
[0069] S220. Perform spatially coupled LDPC decoding on the data to be decoded to obtain at least one first decoding sequence; wherein the first decoding sequence corresponds to at least one CRC coding sequence, and the at least one CRC coding sequence includes at least two subcode block information sequences encoded by spatially coupled LDPC.
[0070] S230: Obtain a corresponding to-be-encoded bit sequence from the first decoding sequence.
[0071] By performing CRC decoding on the first decoding sequence, a corresponding bit sequence to be encoded can be obtained.
[0072] In one embodiment, at least one CRC code sequence includes a first predetermined number of subcode block information sequences encoded using spatially coupled LDPC coding; the first predetermined number is an even number greater than 0. In one example, the first predetermined number is denoted as Y0. Any one of the X CRC code sequences includes at least Y0 subcode block information sequences encoded using spatially coupled LDPC coding.
[0073] In one embodiment, the CRC code sequence includes at least two subcode block information sequences of spatially coupled LDPC coding, where the at least two subcode block information sequences are consecutive subcode block information sequences in the spatially coupled LDPC coding, i.e., all subcode blocks corresponding to the at least two subcode block information sequences are adjacent to each other. In one example, the Y0 subcode block information sequences in the spatially coupled LDPC coding are consecutive subcode block information sequences.
[0074] In one embodiment, at least one CRC code sequence includes a second predetermined number of subcode block information sequences of the spatially coupled LDPC code. The second predetermined number is a positive integer multiple of the period of the spatially coupled LDPC code base matrix, or a positive integer multiple of the period of the spatially coupled LDPC code base matrix, or a positive integer multiple of the product of the period of the spatially coupled LDPC code base matrix and the period of the spatially coupled LDPC code base matrix. In one example, assuming the second predetermined number is Y2, the period of the spatially coupled LDPC code base matrix is denoted as T0, and the period of the spatially coupled LDPC code base matrix is denoted as T1, and both T0 and T1 are positive integers. All bits of at least one of the X CRC code sequences are placed in the information sequence of Y2 consecutive subcode blocks in the spatially coupled LDPC code. Y2 can be a positive integer multiple of T0, a positive integer multiple of T1, or a positive integer multiple of T0*T1.
[0075] In one embodiment, the number of bits included in the CRC coding sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0076] In one embodiment, at least one CRC code sequence comprises a number of bits equal to the sum of the lengths of a third predetermined number of subcode block information sequences in the spatially coupled LDPC code. The third predetermined number is an integer greater than 1 and less than or equal to the number of subcode blocks in the spatially coupled LDPC code. In one example, the third predetermined number is denoted as Y1 or Y2. In one example, there are X1 CRC code sequences among the X CRC code sequences, and the number of bits in each of the X1 CRC code sequences is equal to the sum of the lengths of the Y1 subcode block information sequences in the spatially coupled LDPC code. In another example, there are X2 CRC code sequences among the X CRC code sequences, and the number of bits in each of the X2 CRC code sequences is equal to the sum of the lengths of the Y2 subcode block information sequences in the spatially coupled LDPC code. X1 and X2 are both non-negative integers, and the sum of X1 and X2 is equal to X. Y1 and Y2 are both non-negative integers, and the sum of Y1 and Y2 is equal to L, where L is the number of subcode blocks in the spatially coupled LDPC code. In one example, the difference between Y1 and Y2 is no greater than 1.
[0077] In one embodiment, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0078] In one example, the code rate is a real number greater than 0 and less than 1. In a specific example, the code rate is determined by a modulation and coding scheme (MCS) index.
[0079] In one embodiment, during CRC encoding, at least two CRC encoding sequences are obtained, wherein the numbers of subcode block information sequences included in any two CRC encoding sequences are equal.
[0080] In one embodiment, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than the length of the subcode block information sequence of the spatially coupled LDPC encoding. In a specific example, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than or equal to H times the length of the subcode block information sequence of the spatially coupled LDPC encoding, where H is an integer greater than 1. The length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than 0. In a specific example, H is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32.
[0081] In one embodiment, the maximum number of bits in the CRC code sequence is greater than the number of systematic bits in the subcode block of the spatially coupled LDPC code. In a specific example, the maximum number of bits in the CRC code sequence is greater than or equal to W times the number of systematic bits in the subcode block of the spatially coupled LDPC code, where W is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32. The maximum number of bits in the CRC code sequence is an integer greater than 0, and the number of systematic bits in the subcode block of the spatially coupled LDPC code is an integer greater than 0.
[0082] In one embodiment, in CRC encoding, at least two CRC code sequences are obtained, wherein the maximum value of the number of subcode block information sequences included is a first value, the minimum value of the number of subcode block information sequences included is a second value, and the maximum value of the difference between the first value and the second value is equal to 1.
[0083] In one embodiment, during CRC encoding, a fourth predetermined number of CRC code sequences are obtained, wherein the fifth predetermined number of CRC code sequences contain an equal number of subcode block information sequences, wherein the fourth predetermined number is an integer greater than 1, and the fifth predetermined number is obtained by subtracting 1 from the fourth predetermined number. In one example, assuming that the fourth predetermined number is X and the fifth predetermined number is X-1, CRC encoding is performed on the bit sequence to be encoded to obtain X CRC code sequences, wherein the first X-1 CRC code sequences contain an equal number of subcode block information sequences.
[0084] In one embodiment, the number of subcode blocks of the spatially coupled LDPC encoding is an integer greater than 1. In a specific example, the minimum number of subcode blocks of the spatially coupled LDPC encoding is equal to one of the following: 4, 6, 8, 10, 12, 16, 24, and 32.
[0085] In one embodiment, the maximum number of bits of the CRC encoding sequence includes at least one of the following: 4096, 6144, 8192, 8448, or 16384.
[0086] In one embodiment, the maximum number of bits of the CRC-encoded information sequence is an integer greater than 1024 and less than or equal to 16384.
[0087] In one embodiment, the length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than or equal to 128 and less than or equal to 8448.
[0088] In one embodiment, the number of systematic bits in a spatially coupled LDPC coded subcode block is equal to at least one of the following: 128, 256, 400, 512, 600, 800, 1024, 1536, 2048, 3072, or 4096. The systematic bits in the subcode block include the information sequence and padding bits in the spatially coupled LDPC coded subcode block. That is, the number of systematic bits in the subcode block is equal to the sum of the length of the information sequence and the number of padding bits in the spatially coupled LDPC coded subcode block. The number of padding bits is a non-negative integer. If padding is not required, the number of padding bits is equal to 0.
[0089] In one embodiment, the number of CRC code sequences is at least equal to 2.
[0090] In one embodiment, the number of CRC encoding check bits in the CRC encoding sequence includes at least one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
[0091] In one embodiment, the number of subcode block information sequences included in the CRC encoding sequence includes one of the following: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24. In one example, Y0 may be equal to 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24.
[0092] In one embodiment, the maximum number of subcode block information sequences included in the CRC encoding sequence is equal to at least one of the following: 4, 6, 8, 10, 12, 14, 16, 18, 20 or 24.
[0093] In an example, the length of the subcode block information sequence of the spatially coupled LDPC encoding may include at least one of the following: 128, 256, 400, 600, 512, 768, 800, 1024, 2048, or 4096.
[0094] In the first embodiment, FIG3 is a flow chart of another data transmission method provided in the embodiment of the present application. In this embodiment, the process of data transmission is described. In this embodiment, a data transmission method is shown. As shown in FIG3, the data transmission method includes S310-S340.
[0095] S310: Determine a bit sequence to be encoded.
[0096] The bit sequence to be encoded can be a bit sequence with a transport block level CRC added, or a bit sequence without a transport block level CRC added. In one example, let the bit sequence to be encoded be a0, a1, a2, a3, ..., a A-1 , the number of bits of which is A, where A is an integer greater than 0.
[0097] S320. Perform CRC encoding on the bit sequence to be encoded to obtain X CRC encoding sequences, where X is an integer greater than 0.
[0098] The bit sequence to be encoded is first divided into blocks to obtain X sub-bit sequences, and then CRC encoding is performed on each of the X sub-bit sequences to obtain X CRC encoding sequences. The CRC encoding is performed to obtain a CRC check bit sequence with a bit length equal to Lcrc. The CRC check bit sequence is combined with the sub-bit sequence to obtain a CRC encoding sequence. The generator polynomial used in the CRC encoding includes (but is not limited to) one of the following:
[0099] g CRC24A (D)=[D 24 +D 23 +D 18 +D 17 +D 14 +D 11 +D 10 +D 7 +D 6 +D 5 +D 4 +D 3 +D+1], where the number of CRC code check bits Lcrc=24; g CRC24B (D)=[D 24 +D 23 +D 6 +D 5 +D+1], where the number of CRC code check bits Lcrc=24; g CRC24C (D)=[D 24 +D 23 +D 21 +D 20 +D 17 +D 15 +Dw 3 +D 12 +D 8 +D 4 +D 2 +D+1], where the number of CRC code check bits Lcrc=24; g CRC16 (D)=[D16 +D 12 +D 5 +1], where the number of CRC code check bits Lcrc = 16; g CRC12A (D)=[D 12 +D 6 +D 4 +D 1 +1], where the number of CRC code check bits Lcrc = 12; g CRC12B (D)=[D 12 +D 11 +D 7 +D 4 +1], where the number of CRC code check bits Lcrc = 12; g CRC12C (D)=[D 12 +D 11 +D 10 +D 9 +D 8 +D 7 +D 6 +D 3 +1], where the number of CRC code check bits Lcrc = 12; g CRC11 (D)=[D 11 +D 10 +D 9 +D 5 +1], where the number of CRC code check bits Lcrc = 11; g CRC8A (D)=[D 8 +D 6 +D 4 +D 3 +D 2 +D 1 +1], where the number of CRC code check bits Lcrc = 8; g CRC8B (D)=[D 8 +D 5 +D 3 +D 1 +1], where the number of CRC code check bits Lcrc = 8; g CRC6 (D)=[D 6 +D 5 +1], wherein the number of CRC code check bits Lcrc=6.
[0100] The number of CRC code check bits Lcrc (also referred to as L for short) may include one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24, or 32.
[0101] Treat the coded bit sequence a0,a1,a2,a3,...,aA-1 After CRC encoding, X CRC encoding sequences are obtained, where the i-th CRC encoding sequence is expressed as The length is B, where B is an integer greater than 0. The number of bits B in the CRC code sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC code, the number of systematic bits of the subcode block of the spatially coupled LDPC code, the number of subcode blocks of the spatially coupled LDPC code, the length of the bit sequence to be encoded, the number of CRC code check bits, the transport block size, the period of the basic graph matrix of the spatially coupled LDPC code, the period of the basic matrix of the spatially coupled LDPC code, the maximum number of bits in the CRC code sequence, and the code rate.
[0102] In one example, the code rate is a real number greater than 0 and less than 1. In a specific example, the code rate is determined by a modulation and coding scheme (MCS) index.
[0103] In one example, the number of bits in the CRC code sequence is determined by the length of the subcode block information sequence of the spatially coupled LDPC code. In one example, the number of bits in the CRC code sequence is equal to K·Y, where K is the length of the subcode block information sequence of the spatially coupled LDPC code, and Y is an integer greater than 1. In this example, the length K of the subcode block information sequence of the spatially coupled LDPC code is 512, and the number of bits in the CRC code sequence is a positive integer multiple of K.
[0104] In one example, the difference between the maximum number of bits and the minimum number of bits in the X CRC code sequences is no greater than K, where K is the information bit length of the subcode block of the spatially coupled LDPC code. In another example, the number of bits in all CRC code sequences in the X CRC code sequences is equal, that is, the difference between the maximum number of bits and the minimum number of bits is equal to 0.
[0105] S330 , perform spatially coupled LDPC coding on the X CRC coding sequences to obtain a coded bit sequence.
[0106] FIG4 is a schematic diagram of the configuration of a spatially coupled LDPC coding basic matrix and a basic graph matrix provided by an embodiment of the present application, wherein (a) in FIG4 is an example of a spatially coupled LDPC coding basic graph matrix in this example, and (b) in FIG4 is an example of a spatially coupled LDPC coding basic matrix in this example. It can be seen that the period of the spatially coupled LDPC coding basic graph matrix is equal to 1. This is because the forward check basic graph matrix corresponding to each subcode block is the same. For example, the forward check basic graph matrices corresponding to subcode block 0 (310), subcode block 1 (311) and subcode block 2 (312) are the same, that is, the period of the forward check basic graph matrix is equal to 1; however, the period of the spatially coupled LDPC coding basic matrix is equal to 3. For example, the forward check basic matrices corresponding to subcode block 0 (320), subcode block 1 (321) and subcode block 2 (322) are all equal to 3. are not the same, and the forward check basic matrices of subcode block 0 (320), subcode block 3 (323), etc. are the same, the forward check basic matrices of subcode block 1 (321), subcode block 4 (324), etc. are the same, and the forward check basic matrices of subcode block 2 (322), subcode block 5 (325), etc. are the same, that is, the forward check basic matrix of the t-th subcode block is the same as the forward check basic matrix of the t+3-th subcode block, t is a non-negative integer, that is, the period of the forward check basic matrix is equal to 3, that is, the period of the spatially coupled LDPC coding basic matrix is equal to 3.
[0107] In addition, it can be seen from Figure 4 that in the spatially coupled LDPC coding basic matrix in this example, the coupling width m s = 2, the number of rows of the sub-basic matrix mb = 1, and the number of columns of the sub-basic matrix nb = 2. Among them, in the 0th forward check basic matrix, the corresponding 0th sub-basic matrix [12,0], the first sub-basic matrix is [141,151], the second sub-basic matrix [10,299]; in the first forward check matrix, it corresponds to the 0th sub-basic matrix [435,0], the first sub-basic matrix is [59,251], the second sub-basic matrix [147,262]; in the second forward check matrix, it corresponds to the 0th sub-basic matrix [312,0], the first sub-basic matrix is [303,123], the second sub-basic matrix =[502,276]. Because the spatially coupled LDPC coding base matrix is periodic, the supported code length can be arbitrarily long, i.e., the coupling chain length L can be arbitrarily long and can be determined based on the length of the bit sequence to be encoded or the transport block size. All '-1' elements in the spatially coupled LDPC coding base matrix indicate an all-zero square matrix, and all non-'-1' elements indicate a cyclic shift of the unit matrix. The size (i.e., the lifting value) of the all-zero square matrix or unit matrix is Z, where Z is 512. The number of bits per subcode block is N = nb * Z = 2 * 512 = 1024, the number of systematic bits per subcode block is K = kb * Z = 1 * 512 = 512, and the parity bit length per subcode block is M = NK = 512. If there are no padding bits, the information bit length of each subcode block is equal to the number of systematic bits per subcode block, i.e., the information bit length of each subcode block is less than or equal to the number of systematic bits per subcode block.
[0108] In one example, the spatially coupled LDPC code is used for encoding, and the length of the obtained coded bit sequence is equal to L*N+M*m s , where L is the coupling chain length, N is the number of bits in the subcode block, M is the check bit length of the subcode block, and m s is the coupling width. And, L, N, M, and m s The coded bit sequence includes not only the coded bit sequences of L subcode blocks, but also the coded bit sequences of length M*m s The trailing bit sequence of bits.
[0109] In another example, the spatially coupled LDPC code is used for encoding, and the length of the obtained coded bit sequence is equal to L*N, where L is the coupling chain length and N is the number of bits in the subcode block, and both L and N are positive integers. The coded bit sequence only includes the coded bit sequences of L subcode blocks, that is, the spatially coupled LDPC code in this case does not have tail bits.
[0110] In another example, there is at least one sub-basic matrix in the spatially coupled LDPC code using one of the sub-basic matrix parameters shown in FIG4 .
[0111] S340: Send a coded bit sequence or partial bits of a coded bit sequence.
[0112] For each subcode block in the coded bit sequence, some or all bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block, and circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with a specific number of bits. The rate-matched bit sequence is then transmitted.
[0113] Some examples shown below are examples of data transmission methods.
[0114] Example 1
[0115] In this example, the number of bits of the CRC code sequence is determined by at least the length of the subcode block information sequence of the spatially coupled LDPC code. This example includes the following operations:
[0116] S1. Determine the bit sequence to be encoded.
[0117] Assume that the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , the number of bits is A.
[0118] S2. Perform CRC encoding on the bit sequence to be encoded to obtain X CRC encoding sequences, where X is an integer greater than 0.
[0119] Assume that the number of CRC check bits is equal to Lcrc, and the number of bits in the CRC code sequence is equal to B. The number of bits B in the CRC code sequence is determined by the length of the subcode block information sequence of the spatially coupled LDPC code. For example, the number of bits B in the CRC code sequence is equal to Y times the length of the subcode block information sequence of the spatially coupled LDPC code, that is, B is equal to K*Y, where Y is an integer greater than 1. In one example, Y can be equal to: 2, 4, 6, 8, 10, 12, 16, 20, 24, 28, 32, 40, 48, 56, 64, 72, 80, 96, or 128. The length of the subcode block information sequence of the spatially coupled LDPC code is K, and K is equal to 512.
[0120] First, the bit sequence to be encoded is divided according to the principle of a maximum length of B-Lcrc to obtain X sub-bit sequences, that is, the maximum length of each sub-bit sequence is B-Lcrc; then, CRC encoding is performed on each of the X bit sequences to obtain X CRC encoding sequences. Figure 5 is a schematic diagram of the configuration of a coded bit sequence provided by an embodiment of the present application. As shown in the data stream change example of Figure 5, the bit sequence to be encoded 400 is divided into X sub-bit sequences, and the sub-bit sequences obtained by the division correspond to the CRC-encoded information sequence. Each sub-bit sequence is CRC-encoded to obtain a CRC-encoded check bit with a bit length equal to Lcrc. The CRC-encoded check bit is combined with the sub-bit sequence to obtain a CRC encoding sequence 402. The slash-filled portion in the CRC encoding sequence 402 in Figure 5 is the check bit of the CRC encoding.
[0121] S3. Perform spatially coupled LDPC coding on the X CRC code sequences to obtain a coded bit sequence. In this example, the spatially coupled LDPC coding basic matrix shown in FIG4 is used for coding to obtain a coded bit sequence. As shown in FIG5, each CRC code sequence is further divided into an information sequence of Y subcode blocks, namely S0, S1, ..., S Y-1 After all CRC code sequences are segmented, information sequences of L subcode blocks S0, S1, ..., S can be obtained. L-1 The information sequence S0, S1, ..., S of the L subcode block L-1 Spatially coupled LDPC coding is performed to obtain parity bits of each subcode block (such as the vertical line filling portion in FIG5 ). The information sequence of each subcode block and the corresponding parity bits are combined to obtain a coded bit sequence 404 .
[0122] S4. Send the coded bit sequence or part of the coded bit sequence.
[0123] In each subcode block in the coded bit sequence 404, some or all bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block, and circular selection can be performed based on a predefined starting position to obtain a rate-matched bit sequence with a specific number of bits. The rate-matched bit sequence is then transmitted.
[0124] In this example, the number of bits B of the CRC code sequence is determined by the length K of the subcode block information sequence of the spatially coupled LDPC code, as calculated by the following formula: B=K·Y, where Y is an integer greater than 1.
[0125] In one example, assuming that the information sequence length K of each subcode block of the spatially coupled LDPC code is 512 bits and Y is 16, the number of bits B in the CRC code sequence is 8192. Also, assuming that the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , the number of bits A is equal to 40840, the number of check bits Lcrc obtained by CRC coding is equal to 24, and the generating polynomial g is used as above CRC24A (D) Perform CRC encoding. First, based on the principle that the maximum length is B-Lcrc=8168 (the maximum number of bits in the CRC-encoded information sequence is equal to 8168), the 40840-bit bit sequence to be encoded is divided into X=5 sub-bit sequences, i.e., the maximum length of each sub-bit sequence is 8168. Then, CRC encoding is performed on each of the X=5 sub-bit sequences to obtain CRC encoding sequences of length 8192 bits.
[0126] Spatially coupled LDPC encoding is performed on the five CRC code sequences to obtain a coded bit sequence with 82944 bits. The coded bit sequence includes 80 subcode blocks and a tail check sequence. The number of bits in each subcode block is equal to 1024, wherein the number of bits in the information sequence of each subcode block is equal to 512 bits (i.e., there are no padding bits), and the number of bits in the tail check sequence is equal to 1024. The 0th CRC code sequence corresponds to the information sequence of the consecutive 0th to 15th subcode blocks, the 1st CRC code sequence corresponds to the information sequence of the consecutive 16th to 31st subcode blocks, the 2nd CRC code sequence corresponds to the information sequence of the consecutive 32nd to 47th subcode blocks, the 3rd CRC code sequence corresponds to the information sequence of the consecutive 48th to 63rd subcode blocks, and the 4th CRC code sequence corresponds to the information sequence of the consecutive 64th to 79th subcode blocks. The coded bit sequence or a portion of the bits of the coded bit sequence is sent to the second transmission node.
[0127] Example 2
[0128] The difference between this example and Example 1 is that the number of bits of the CRC code sequence in this example is at least determined by the transport block size, assuming that the transport block size is denoted as TBS. For example, the number of bits B of the CRC code sequence is determined by the transport block size TBS as follows: B = TBS + L crc .
[0129] Lcrc is the number of CRC code check bits, and Lcrc is an integer greater than 1. In one example, when the transport block size TBS is less than the first threshold, the formula B=TBS+L is directly used. crc The number of bits B of the CRC coding sequence is calculated. The first threshold is an integer greater than or equal to 1024 and less than or equal to 40960. In one example, the first threshold can be equal to one of the following: 1024, 2048, 4096, 6144, 8192, 8448, 16384, 20480, or 32768. In another example, the first threshold can be determined by the number of CRC coding check bits. For example, when the number of CRC coding check bits is 16 bits, the first threshold is equal to 8192 or 4096, and when the number of CRC coding check bits is 24 bits, the first threshold is equal to 16384 or 32768.
[0130] In one example, assuming that the transport block size is 2544, the information sequence length K of each subcode block of the spatially coupled LDPC code is 512 bits (i.e., no padding bits), and the number of CRC code check bits Lcrc is equal to 16, then the number of bits B in the CRC code sequence is equal to the sum of the transport block size and Lcrc, i.e., B = 2544 + 16 = 2560. In this case, the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 2544, which means that the bit sequence of the transport block level CRC is not added. CRC encoding is performed on the bit sequence to be encoded, and the number of CRC code check bits Lcrc obtained is equal to 16, using the above generating polynomial g CRC16 (D) Perform CRC encoding to obtain a CRC encoding sequence with a length of 2560 bits.
[0131] Perform spatially coupled LDPC encoding on the CRC code sequence to obtain a coded bit sequence comprising five subcode blocks, each of which has 1024 bits, and each of which has an information sequence length of 512 bits. The 2560-bit CRC code sequence corresponds to the information sequences of consecutive subcode blocks 0 through 4. Send the coded bit sequence or a portion of the coded bit sequence to the second transmission node.
[0132] Example 3
[0133] The difference between this example and Example 1 is that the number of bits in the CRC code sequence in this example is determined by the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC code and the length of the bit sequence to be encoded. Assume that the number of systematic bits in the subcode block of the spatially coupled LDPC code is K, and the length of the bit sequence to be encoded is A. First, the number of CRC code sequences X is determined based on the length A of the bit sequence to be encoded, as shown in the following formula:
[0134] K max is the maximum number of bits of the CRC-encoded information sequence, where K max Can be equal to (but not limited to) at least one of the following: 6120, 6144, 8168, 8192, 8424, 8448 or 16384; calculation formula It represents the smallest integer greater than or equal to the real number x.
[0135] Then, the number of subcode blocks (i.e., coupling chain length) L in spatially coupled LDPC coding is determined based on X, K, and A, as follows:
[0136] Calculation formula Denotes the smallest integer greater than or equal to x. Then, the information sequence length of the L subcode blocks in the spatial coupling LDPC coding is determined based on K and A: 1) The information sequence length of the 0th to H-1th subcode blocks is 2) The information sequence length of the Hth to L-1th subcode blocks is Where H = mod(A + X·L crc ,L), mod(x1,x2) represents the remainder obtained by dividing the integer x1 by the integer x2. It can be seen that the length of the subcode block information sequence of the spatially coupled LDPC code can be determined by at least one of the following parameters: the number of systematic bits of the subcode block of the spatially coupled LDPC code, the maximum number of bits of the CRC-encoded information sequence, and the length of the bit sequence to be encoded.
[0137] And, the number of bits of the CRC code sequence is determined according to at least one of the following:
[0138] 1. The number of bits in the i-th CRC code sequence is equal to the sum of the lengths of the information sequences of the i·Y-th to (i+1)·Y-1-th subcode blocks, where Y is an integer greater than 1. In one example, Y can be determined by the following parameters: the number of subcode blocks in the spatially coupled LDPC code and the number of CRC code sequences, X. In one example, Wherein, i is a non-negative integer less than X or a non-negative integer less than X-1.
[0139] 2. The number of bits in the last CRC code sequence is equal to the sum of the lengths of the information sequences from the (X-1)·Yth to the last sub-code block, where Y is an integer greater than 1.
[0140] 3. The number of bits in the first G CRC code sequences is equal to the number of consecutive The sum of the lengths of the information sequences of the XG sub-code blocks, the number of bits of the following XG CRC code sequences are equal to the number of consecutive The sum of the lengths of the information sequences of the molecular code blocks. Where G = mod(L, X).
[0141] In one example, assume that the length of the bit sequence to be encoded is 120,000, the number of systematic bits K per subcode block of spatially coupled LDPC coding is 512 bits, the number of CRC coding check bits Lcrc is equal to 24, and the maximum number of bits K of the CRC coded information sequence is max =8424. At this time, the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 120000. It can be seen that the number of CRC coding sequences is
[0142] Then, the number of subcode blocks (i.e., coupling chain length) L in spatially coupled LDPC coding is determined based on X, K, and A, where: Furthermore, 1) the information sequence length of the 0th to H-1th subcode blocks is 510 (the corresponding number of padding bits is 2); 2) the information sequence length of the Hth to L-1th subcode blocks is 510 (the corresponding number of padding bits is 2); wherein H=mod(A+X·L crc ,L)=0, that is, the information sequence length of all subcode blocks is equal to 510.
[0143] In one example, the number of bits in the CRC code sequence is as follows: the number of bits in the i-th CRC code sequence is equal to the sum of the lengths of the information sequences of the i·Y-th to (i+1)·Y-1-th subcode blocks, where Y is an integer greater than 1. The parameter Y is determined by the number L of subcode blocks of the spatially coupled LDPC code and the number X of CRC code sequences, i.e. Here, i = 0, 1, 2, 3, ..., 13. That is, the number of bits in the 0th to 13th CRC code sequences is 15 * 510 = 7650. The number of bits in the last CRC code sequence is equal to the sum of the information sequence lengths from the (X-1)·Yth to the last sub-code block, where Y is an integer greater than 1. That is, the number of bits in the last (14th) CRC code sequence is (L-(X-1)*Y)*510 = 13260.
[0144] In another example, the number of bits in the CRC code sequence is as follows: the number of bits in the first G CRC code sequences is equal to the number of consecutive The sum of the lengths of the information sequences of the XG sub-code blocks, the number of bits of the following XG CRC code sequences are equal to the number of consecutive The sum of the information sequence lengths of the 16th to (i+1)·16-1th sub-code blocks. Here, G = mod(L, X) = 11. That is, the number of bits in the i-th CRC code sequence is equal to the sum of the information sequence lengths of the i·16th to (i+1)·16-1th sub-code blocks, i.e., the number of bits in the i-th CRC code sequence is equal to 16*510=8160, where i=0, 1, 2, 3, ..., 10; and the number of bits in the j-th CRC code sequence is equal to the sum of the information sequence lengths of the 11·16+(j-11)·15th to 11·16+(j-10)·15-1th sub-code blocks, i.e., the number of bits in the j-th CRC code sequence is equal to 15*510=7650, where j=11, 12, 13, 14.
[0145] The CRC encoding check bit number Lcrc is equal to 24 for the bit sequence to be encoded, and the generating polynomial g is used as above. CRC24B(D) Perform CRC encoding to obtain a CRC code sequence. Assume that the number of bits in the 0th to 14th CRC code sequences obtained from the above calculation corresponds to Bi, where i = 0, 1, 2, 3, ..., 14. When i is less than 11, Bi is equal to 8160; when i is greater than or equal to 11, Bi is equal to 7650. The bit sequence to be encoded is then divided to obtain X = 15 sub-bit sequences. The length of the i-th sub-bit sequence is Bi - Lcrc, that is, when i is less than 11, the length of the i-th sub-bit sequence is equal to 8160-24=8136; when i is greater than or equal to 11, the length of the i-th sub-bit sequence is equal to 7650-24=7626. CRC encoding is then performed on each of the X = 15 sub-bit sequences to obtain 15 CRC code sequences.
[0146] Spatially coupled LDPC encoding is performed on the 15 CRC code sequences (total length of 120,360 bits) to obtain a coded bit sequence including 236 subcode blocks, where the information sequence length of each subcode block is 510 bits. The coded bit sequence or a portion of the coded bit sequence is transmitted to the second transmission node.
[0147] Example 4
[0148] This example differs from Example 1 in that the number of CRC code sequence bits in this example is determined by the following parameters: the length of the spatially coupled LDPC coded subcode block information sequence, the number of spatially coupled LDPC coded subcode block systematic bits, the number of spatially coupled LDPC coded subcode blocks, and the maximum number of CRC code sequences. Assume that the length of the spatially coupled LDPC coded subcode block information sequence is K, the number of spatially coupled LDPC coded subcode blocks is L (i.e., the coupling chain length is L), and the number of CRC code check bits is Lcrc.
[0149] In one example, the number of bits of at least one CRC code sequence among the X CRC code sequences is determined by the following formula:
[0150] or
[0151] Among them, X max is the maximum number of CRC code sequences, X max is a positive integer, the calculation formula Indicates the smallest integer greater than or equal to x. The calculation formula is Indicates the largest integer less than or equal to x. In one example, X max It may be equal to (but not limited to) at least one of the following: 4, 6, 8, 10, 12, 16, 18, 20, 24, 32, 48, or 64.
[0152] In one example, the length of the subcode block information sequence of the spatially coupled LDPC code is K, which is equal to 1024, and the number of subcode blocks of the spatially coupled LDPC code is L, which is equal to 200. In addition, the maximum number of CRC code sequences is X. max The value is 20, then the number of bits in the CRC encoding sequence is The number of CRC code sequences is X, which is equal to 20. Each CRC code sequence includes an information sequence of 10 subcode blocks of spatially coupled LDPC coding. In this example, the bit sequence to be coded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 204320.
[0153] In this example, in the spatially coupled LDPC coding basic matrix, the coupling width m s =2, the period of the basic matrix is equal to 3. In spatial coupling LDPC coding, the boost value Z is equal to 1024, and the coupling width m is equal to 1024. s = 2, the number of rows of the sub-basic matrix mb = 1, the number of columns of the sub-basic matrix nb = 2. And, in the 0th forward check basic matrix, the corresponding 0th sub-basic matrix [227,0], the first sub-basic matrix is [286,1009], the second sub-basic matrix [88,939]; in the first forward check matrix, it corresponds to the 0th sub-basic matrix [985,0], the first sub-basic matrix is [630,973], the second sub-basic matrix [599,1020]; in the second forward check matrix, it corresponds to the 0th sub-basic matrix [796,0], the first sub-basic matrix is [355,390], the second sub-basic matrix = [352,303]. The number of bits in each subcode block is N = nb*Z = 2*1024 = 2048. The number of systematic bits in each subcode block of spatially coupled LDPC coding is K = kb*Z = 1*1024 = 1024. The parity bit length of each subcode block is M = NK = 1024. The number of bits in the tail parity sequence is Ms*M = 2048.
[0154] CRC encoding is performed on the bit sequence to be encoded to obtain X=20 CRC encoding sequences, wherein the bit sequence to be encoded is first divided into 20 sub-bit sequences, each of which has a length of 10216 bits; then, CRC encoding is performed on each sub-bit sequence to obtain a CRC encoding sequence with a length of 10240 bits. The number of CRC encoding check bits Lcrc in the CRC encoding sequence is equal to 24, and the above generating polynomial g is used. CRC24C (D) Perform CRC encoding. Perform spatially coupled LDPC encoding on X=20 CRC encoding sequences to obtain a coded bit sequence. The index of the subcode block of the i-th CRC encoding sequence for the spatially coupled LDPC encoding is i*10 to (i+1)*10-1, where i=0, 1, 2, 3, ..., 19. That is, the 0-th CRC encoding sequence is placed in the information sequence of the 0th to 9th consecutive subcode blocks in the spatially coupled LDPC encoding (i.e., S0, S1, ..., S9), and the 1st CRC encoding sequence is placed in the information sequence of the 10th to 19th consecutive subcode blocks in the spatially coupled LDPC encoding (i.e., S 10 ,S 11 ,…,S 19 ), the second CRC code sequence is placed in the information sequence of the 20th to 29th consecutive subcode blocks in the spatially coupled LDPC code (i.e. S 20 ,S 21 ,…,S 29 ), and so on. In this case, there is no padding bit in the spatially coupled LDPC code, and the length of the information sequence of the subcode block is equal to the number of system bits of the subcode block. 199 ) performs spatially coupled LDPC coding to obtain a coded bit sequence including L=200 subcode blocks and a tail check sequence, where the number of bits in each subcode block is equal to 2048, and the number of bits in the tail check sequence is equal to 2048.
[0155] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0156] Example 5
[0157] The difference between this example and Example 1 is that the number of bits of the CRC coding sequence in this example is determined by the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding and the period of the spatially coupled LDPC coding basic graph matrix. Assume that the length of the subcode block information sequence of the spatially coupled LDPC coding is K, and the period of the spatially coupled LDPC coding basic graph matrix is T0. In one example, the number of bits of the CRC coding sequence is equal to K, T0, or a positive integer multiple of K*T0. Specifically, the number of bits of the CRC coding sequence is equal to Y times K*T0, where Y can be equal to 4, 6, 8, 10, 12, 16, 20, 24, 32, or 48. Wherein, K and T0 are both integers greater than 0.
[0158] In one example, the number of bits in the CRC code sequence is determined by the following formula: K·T0·Y, where Y is a positive integer. In one example, the spatially coupled LDPC coding method is used, the period T0 of the basic graph matrix is equal to 2, and the length K of the information sequence of each subcode block is 400 bits. If the value of Y is 8, the number of bits in the CRC code sequence is 6400. Assume that the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 127520.
[0159] CRC encoding is performed on the bit sequence to be encoded to obtain X=20 CRC encoding sequences, wherein the bit sequence to be encoded is first divided into 20 sub-bit sequences, each of which has a length of 6376 bits; then, CRC encoding is performed on each sub-bit sequence to obtain a CRC encoding sequence with a length of 6400 bits. The number of check bits Lcrc obtained by CRC encoding is equal to 24, and the above generating polynomial g is used. CRC24A (D) Perform CRC encoding. Perform spatially coupled LDPC encoding on X = 20 CRC code sequences to obtain a coded bit sequence. Each CRC code sequence is mapped to an information sequence of 16 consecutive subcode blocks of the spatially coupled LDPC encoding. The index of the i-th CRC code sequence for the spatially coupled LDPC encoding subcode block is i*16 to (i+1)*16-1, where i = 0, 1, 2, 3, ..., 19.
[0160] In this example, in the spatially coupled LDPC coding basic matrix, the coupling width m s=2, the period of the spatially coupled LDPC coding basic graph matrix is equal to 3, the lifting value Z is equal to 400, the number of rows of the sub-basic matrix mb = 1, and the number of columns of the sub-basic matrix nb = 2. The number of bits in each subcode block is equal to N = nb * Z = 2 * 400 = 800, the information bit length of each subcode block in the spatially coupled LDPC code is equal to K = kb * Z = 1 * 400 = 400, the parity bit length of each subcode block in the spatially coupled LDPC code is equal to M = NK = 400, and the number of bits in the tail parity sequence in the spatially coupled LDPC code is equal to Ms * M = 800.
[0161] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0162] Example 6
[0163] The difference between this example and Example 1 is that the number of bits of the CRC coding sequence in this example is determined by the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding and the period of the spatially coupled LDPC coding basic matrix. Assume that the length of the subcode block information sequence of the spatially coupled LDPC coding is K and the period of the spatially coupled LDPC coding basic matrix is T1. In one example, the number of bits of the CRC coding sequence is equal to K, T1, or a positive integer multiple of K*T1. Specifically, the number of bits of the CRC coding sequence is equal to Y times K*T1, where Y can be equal to 4, 6, 8, 10, 12, 16, 20, 24, 32, or 48. Wherein, K and T1 are both integers greater than 0.
[0164] In one example, the number of bits in the CRC code sequence is determined by the following formula: K·T1·Y, where Y is a positive integer. In one example, the spatially coupled LDPC coding method is used, the period T1 of the basic graph matrix is equal to 3, and the length K of the information sequence of each subcode block is 600 bits. If the value of Y is 6, the number of bits in the CRC code sequence is 10800. Assume that the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 1077600.
[0165] CRC encoding is performed on the bit sequence to be encoded to obtain X=100 CRC encoding sequences, wherein the bit sequence to be encoded is first divided into 100 sub-bit sequences, each of which has a length of 10776 bits; then, CRC encoding is performed on each sub-bit sequence to obtain a CRC encoding sequence with a length of 10800 bits. The number of CRC encoding check bits Lcrc is equal to 24, and the above generating polynomial g is used. CRC24A (D) Perform CRC encoding. Perform spatially coupled LDPC encoding on X = 100 CRC code sequences to obtain a coded bit sequence. Each CRC code sequence is mapped to an information sequence of 18 subcode blocks of spatially coupled LDPC encoding. The index of the i-th CRC code sequence for the spatially coupled LDPC encoded subcode block is i*18 to (i+1)*18-1, where i = 0, 1, 2, 3, ..., 99.
[0166] In this example, in the spatially coupled LDPC coding basic matrix, the coupling width m s =2, the period of the spatially coupled LDPC coding matrix is 3, the lifting value Z is 600, the number of rows of the sub-basic matrix mb = 1, and the number of columns of the sub-basic matrix nb = 2. And, in the 0th forward check matrix, the corresponding 0th sub-basic matrix [327,0], the first sub-basic matrix is [392,32], the second sub-basic matrix [110,268]; in the first forward check matrix, it corresponds to the 0th sub-basic matrix [486,0], the first sub-basic matrix is [389,57], the second sub-basic matrix [16,20]; in the second forward check matrix, it corresponds to the 0th sub-basic matrix [411,0], the first sub-basic matrix is [276,97], the second sub-basic matrix = [404,543]. The number of bits in each subcode block is N = nb*Z = 2*600 = 1200. The number of subcode block systematic bits corresponding to each subcode block is K = kb*Z = 1*600 = 600. The parity bit length of each subcode block is M = NK = 600. The number of bits in the tail parity sequence is Ms*M = 1200. In this example, there are no padding bits, and the information bit length is equal to the number of systematic bits.
[0167] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0168] Example 7
[0169] This example differs from Example 1 in that the number of bits in the CRC coding sequence in this example is determined by the following parameters: the number of systematic bits in the subcode block of the spatially coupled LDPC coding, the length of the bit sequence to be coded, the maximum number of bits in the CRC coding sequence, and the number of CRC coding check bits. Assume that the number of systematic bits in the subcode block of the spatially coupled LDPC coding is K, the length of the bit sequence to be coded is A, the maximum number of bits in the CRC coding sequence is C, and the number of CRC coding check bits is Lcrc. In one example, the maximum number of bits C of the CRC coding sequence includes at least one of the following: 4096, 6144, 8192, 8448, or 16384.
[0170] In one example, the number of CRC code sequences is determined by the following formula:
[0171] The number of subcode blocks in spatially coupled LDPC coding is determined by the following formula:
[0172] Determine the information sequence length of L subcode blocks in spatially coupled LDPC coding: 1) The information sequence length of the 0th to H-1th subcode blocks is 2) The information sequence length of the Hth to L-1th subcode blocks is Where H = mod(A + X·L crc ,L).
[0173] Determine the number of bits in the CRC code sequence: The number of bits in the first G CRC code sequences is equal to the number of consecutive The sum of the lengths of the information sequences of the XG sub-code blocks, the number of bits of the following XG CRC code sequences are equal to the number of consecutive The sum of the lengths of the information sequences of the molecular code blocks. Where G = mod(L, X).
[0174] In a specific example, assume that the number of system bits of the spatially coupled LDPC coded subcode block is K = 1024, the length of the bit sequence to be coded is A = 2000000, the maximum number of bits of the CRC coding sequence is C = 8192, and the number of CRC coding check bits is Lcrc = 24. In this case, the bit sequence to be coded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 2000000. It can be seen that the number of CRC coding sequences is
[0175] The number of subcode blocks of spatially coupled LDPC coding is:
[0176] The information sequence length of L=1959 subcode blocks in spatially coupled LDPC coding is: 1) The information sequence length of the 0th to H-1th (=1822) subcode blocks is 2) The information sequence length of the Hth (=1823)th to L-1th (=1958)th subcode blocks is Where H = mod(A + X·L crc ,L)=1823.
[0177] The number of bits in the CRC code sequence is: the number of bits in the first G (= 244) CRC code sequences is equal to the number of consecutive The sum of the lengths of the information sequences of the sub-code blocks; the number of bits of the subsequent XG (= 1) CRC code sequences is equal to the number of consecutive The sum of the information sequence lengths of the sub-code blocks. Here, G = mod(L, X) = 244. That is, the number of bits in each CRC code sequence is as follows: the number of bits in the 0th to 226th CRC code sequences is 8192, the number of bits in the 227th CRC code sequence is 8191, the number of bits in the 228th to 243rd CRC code sequences is 8184, and the number of bits in the 244th CRC code sequence is 7161. Correspondingly, the number of information bits in each CRC coding sequence is equal to the number of bits of each CRC coding sequence minus the number of CRC coding check bits Lcrc, that is, the number of bits of the 0th to 226th CRC coding sequences is equal to 8192-24=8168, the number of bits of the 227th CRC coding sequence is equal to 8191-24=8167, the number of bits of the 228th to 243rd CRC coding sequences is equal to 8184-24=8160, and the number of bits of the 244th CRC coding sequence is equal to 7161-24=7137.
[0178] The coded bit sequence is segmented according to the number of information bits in each CRC coding sequence described above to obtain 245 subsequences; then, CRC encoding is performed on each subsequence according to the number of CRC coding check bits Lcrc=24 to obtain 245 CRC coding sequences; secondly, spatially coupled LDPC encoding is performed on the 245 CRC coding sequences to obtain a coded bit sequence including 1959 subcode blocks.
[0179] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0180] Example 8
[0181] In this example, assume that the number of systematic bits in the spatially coupled LDPC-encoded subcode block is K, the length of the bit sequence to be encoded is A, the maximum number of bits in the CRC encoding sequence is C, and the number of CRC parity check bits is Lcrc. The number of bits in the CRC encoding sequence is greater than or equal to H times the length of the spatially coupled LDPC-encoded subcode block information sequence, where H is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32.
[0182] First, the bit sequence to be coded is segmented and CRC-coded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits of the CRC code sequences are determined as follows:
[0183] 1. The number of CRC code sequences is determined by the following formula: Here, X is an integer greater than or equal to 1.
[0184] 2. Determine the number of information bits in the CRC code. The number of bits in the first G CRC code sequences is equal to The number of bits in the last XG CRC code sequences is equal to Where G = mod(A, X). The number of bits in each CRC code sequence minus the number of CRC code check bits Lcrc can be used to obtain the number of information bits in the CRC code. greater than 1, and / or Greater than 1.
[0185] Secondly, spatially coupled LDPC encoding is performed on the multiple CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0186] The number of subcode blocks in spatially coupled LDPC coding is determined by the following formula:
[0187] Determine the information sequence length of L subcode blocks in spatially coupled LDPC coding: 1) The information sequence length of the 0th to H-1th subcode blocks is 2) The information sequence length of the Hth to L-1th subcode blocks is Where H = mod(A + X·L crc ,L). In one example, the minimum value of L is equal to one of the following: 4, 6, 8, 10, 12, 16, 24, and 32.
[0188] In a specific example, assume that the number of systematic bits in the subcode block of a spatially coupled LDPC code is K = 2048, the length of the bit sequence to be coded is A = 100,000, the maximum number of bits in the CRC code sequence is C = 6000, and the number of CRC code check bits is Lcrc = 16. The bit sequence to be coded is segmented and CRC-encoded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits in the CRC code sequences are determined as follows:
[0189] 1. The number of CRC code sequences is:
[0190] 2. The number of bits in the first G=6 CRC code sequences is equal to The number of bits in the 11 CRC code sequences after XG= is equal to Among them, G=mod(A,X)=6.
[0191] Secondly, spatially coupled LDPC encoding is performed on the 17 CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0192] The number of subcode blocks of spatially coupled LDPC coding is:
[0193] The information sequence length of L=49 subcode blocks in spatially coupled LDPC coding is: 1) The information sequence length of the 0th to H-1=17th subcode blocks is 2) The information sequence length of the H-th = 18th to L-1 = 48th subcode blocks is Where H = mod(A + X·Lcrc , L) = 18. That is, the number of bits of the CRC code sequence is greater than H times the length of the subcode block information sequence of the spatially coupled LDPC code, and H is equal to 2.
[0194] In another specific example, the calculated length of the spatially coupled LDPC coded subcode block information sequence is K = 512, and the number of bits of the CRC code sequence is C = 8448. That is, the number of bits of the CRC code sequence is greater than H times the length of the spatially coupled LDPC coded subcode block information sequence, where H is equal to 16.
[0195] In another specific example, the calculated length of the spatially coupled LDPC coded subcode block information sequence is K = 512, and the number of bits of the CRC code sequence is C = 4096. That is, the number of bits of the CRC code sequence is equal to H times the length of the spatially coupled LDPC coded subcode block information sequence, where H is equal to 8.
[0196] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0197] Example 9
[0198] In this example, assume that the number of systematic bits in the spatially coupled LDPC-coded subcode block is K, the length of the bit sequence to be encoded is A, the maximum number of bits in the CRC encoding sequence is C, and the number of CRC code check bits is Lcrc. The number of CRC encoding sequences in this example is determined by the following parameters: the length of the bit sequence to be encoded, the maximum number of bits in the CRC encoding sequence, and the number of CRC code check bits.
[0199] First, the bit sequence to be coded is segmented and CRC-coded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits of the CRC code sequences are determined as follows:
[0200] 1. The number of CRC code sequences is determined by the following formula: Where X is an integer greater than or equal to 1, the calculation formula is It represents the largest integer less than or equal to x.
[0201] 2. Determine the number of information bits in the CRC code: The number of information bits in the X CRC codes is equal to the difference between the maximum number of bits in the CRC code sequence and the number of check bits in the CRC code.
[0202] Secondly, spatially coupled LDPC encoding is performed on the multiple CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0203] The number of subcode blocks in spatially coupled LDPC coding is determined by the following formula:
[0204] Determine the information sequence length of L subcode blocks in spatially coupled LDPC coding: 1) The information sequence length of the 0th to H-1th subcode blocks is 2) The information sequence length of the Hth to L-1th subcode blocks is Where H = mod(A + X·L crc ,L).
[0205] In a specific example, assume that the number of systematic bits in the subcode block of the spatially coupled LDPC code is K = 512, the length of the bit sequence to be coded is A = 800,000, the maximum number of bits in the CRC code sequence is C = 8448, and the number of CRC code check bits is Lcrc = 24. The bit sequence to be coded is segmented and CRC-encoded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits in the CRC code sequences are determined as follows:
[0206] 1. The number of CRC code sequences is:
[0207] 2. The number of bits in the 94 CRC coding sequences is equal to 8448, that is, the number of information bits in the CRC coding is equal to 8448-24=8424.
[0208] Secondly, spatially coupled LDPC encoding is performed on the 17 CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0209] The number of subcode blocks of spatially coupled LDPC coding is:
[0210] The information sequence length of L=1567 subcode blocks in spatially coupled LDPC coding is: 1) The information sequence length of the 0th to H-1=1518th subcode blocks is 2) The information sequence length of the H-th = 1519th to L-1 = 1566th subcode blocks is Where H = mod(A + X·L crc ,L)=1519.
[0211] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0212] Example 10
[0213] In this example, assume that the number of systematic bits in the spatially coupled LDPC coded subcode block is K, the length of the bit sequence to be coded is A, the maximum number of bits in the CRC coded sequence is C, and the number of CRC check bits is Lcrc. The maximum number of bits in the CRC coded sequence is greater than or equal to W times the number of systematic bits in the spatially coupled LDPC coded subcode block, where W is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32.
[0214] First, the bit sequence to be coded is segmented and CRC-coded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits of the CRC code sequences are determined as follows:
[0215] 1. The number of CRC code sequences is determined by the following formula:
[0216] 2. Determine the number of information bits in the CRC code. The number of bits in the first G CRC code sequences is equal to The number of bits in the last XG CRC code sequences is equal to Where G = mod(A,X).
[0217] Secondly, spatially coupled LDPC encoding is performed on the multiple CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0218] The number of subcode blocks in spatially coupled LDPC coding is determined by the following formula:
[0219] Determine the information sequence length of L subcode blocks in spatially coupled LDPC coding: 1) The information sequence length of the 0th to H-1th subcode blocks is 2) The information sequence length of the Hth to L-1th subcode blocks is Where H = mod(A + X·L crc ,L).
[0220] In a specific example, assume that the number of systematic bits in the subcode block of the spatially coupled LDPC code is K = 512, the length of the bit sequence to be coded is A = 160,000, the maximum number of bits in the CRC code sequence is C = 8448, and the number of CRC check bits is Lcrc = 24. That is, the maximum number of bits in the CRC code sequence is greater than or equal to W times the number of systematic bits in the subcode block of the spatially coupled LDPC code, where W is 16. The bit sequence to be coded is segmented and CRC-encoded to obtain multiple CRC code sequences, where the number of CRC code sequences and the number of information bits in the CRC code sequences are determined as follows:
[0221] 1. The number of CRC code sequences is:
[0222] 2. The number of bits in the first G=1 CRC code sequence is equal to The number of bits in the 18 CRC code sequences after XG= is equal to Where G=mod(A,X)=1.
[0223] Secondly, spatially coupled LDPC encoding is performed on the 19 CRC code sequences to obtain a coded bit sequence, wherein the number of subcode blocks of spatially coupled LDPC encoding and the information sequence length of the subcode block are determined as follows:
[0224] The number of subcode blocks of spatially coupled LDPC coding is:
[0225] The information sequence length of L=314 subcode blocks in spatially coupled LDPC coding is: 1) The information sequence length of the 0th to H-1=1th subcode blocks is 2) The information sequence length of the H-th = 2 to L-1 = 313 subcode blocks is Where H = mod(A + X·L crc ,L)=2.
[0226] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K = 1024, and the maximum number of bits of the CRC coded sequence is C = 8448. That is, the maximum number of bits of the CRC coded sequence is greater than W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 8.
[0227] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K = 1000, and the maximum number of bits of the CRC code sequence is C = 4096. That is, the maximum number of bits of the CRC code sequence is greater than W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 4.
[0228] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K=1024, and the maximum number of bits of the CRC code sequence is C=2048. That is, the maximum number of bits of the CRC code sequence is equal to W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 2.
[0229] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K = 1024, and the maximum number of bits of the CRC code sequence is C = 6144. That is, the maximum number of bits of the CRC code sequence is equal to W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 6.
[0230] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K = 512, and the maximum number of bits of the CRC code sequence is C = 8192. That is, the maximum number of bits of the CRC code sequence is equal to W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 16.
[0231] In another specific example, the number of systematic bits of the spatially coupled LDPC coded subcode block is K = 512, and the maximum number of bits of the CRC code sequence is C = 16384. That is, the maximum number of bits of the CRC code sequence is equal to W times the number of systematic bits of the spatially coupled LDPC coded subcode block, where W is equal to 32.
[0232] Finally, the coded bit sequence or a portion of the coded bit sequence obtained after spatially coupled LDPC coding is transmitted. For each subcode block in the coded bit sequence, a portion or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block. Circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with the required specific number of bits. This rate-matched bit sequence is then transmitted.
[0233] Example 11
[0234] The difference between this example and Example 1 is that the number of bits of the CRC coding sequence in this example is determined by at least one of the following parameters: transport block size, code rate, and length of the bit sequence to be coded.
[0235] In one example, the number of bits in the CRC encoding sequence is determined by the following parameters: transport block size. The number of bits in the CRC encoding sequence can be determined based on the transport block size. For example, when the transport block size is relatively small, CRC encoding is directly performed on the transport block to obtain a CRC encoding sequence. The number of bits in the CRC encoding sequence is equal to the sum of the transport block size and the number of CRC encoding check bits. When the transport block size is larger, the number of bits in the CRC encoding sequence is determined by the length of the sub-bit sequences after the transport block is divided. In one example, there is a second threshold. When the transport block size is less than or equal to the second threshold, the number of bits in the CRC encoding sequence is equal to the sum of the transport block size and the number of CRC encoding check bits. When the transport block size is greater than the second threshold, the number of bits in the CRC encoding sequence is equal to D, where D is a positive integer. The second threshold is an integer greater than or equal to 1024. In one example, the second threshold can be 2048, 4096, 6144, 8000, 8192, 8448, or 16384.
[0236] In another example, the number of bits of the CRC coding sequence is determined by the following parameters: the length of the bit sequence to be encoded. The number of bits of the CRC coding sequence can be determined based on the length of the bit sequence to be encoded. For example, when the length of the bit sequence to be encoded is relatively small, the bit sequence to be encoded is directly CRC-encoded to obtain one CRC coding sequence, and the number of bits of the CRC coding sequence is equal to the sum of the length of the bit sequence to be encoded and the number of CRC coding check bits; when the length of the bit sequence to be encoded is large, the number of bits of the CRC coding sequence is determined by the length of the sub-bit sequences after the bit sequence to be encoded is divided. In one example, there is a third threshold value. When the length of the bit sequence to be encoded is less than or equal to the third threshold value, the number of bits of the CRC coding sequence is equal to the sum of the length of the bit sequence to be encoded and the number of CRC coding check bits; when the length of the bit sequence to be encoded is greater than the third threshold value, the number of bits of the CRC coding sequence is equal to D, where D is a positive integer. The third threshold value is an integer greater than or equal to 1024. In one example, the third threshold may be equal to 2048, 4096, 6144, 8192, 8448, or 16384.
[0237] In another example, the number of bits of the CRC coding sequence is determined by the following parameters: code rate. The number of bits of the CRC coding sequence can be determined based on the code rate. In one example, there is a fourth threshold value. When the code rate is less than or equal to the fourth threshold value, the number of bits of the CRC coding sequence is equal to D1; when the code rate is greater than the fourth threshold value, the number of bits of the CRC coding sequence is equal to D2. Among them, the fourth threshold value is a real number greater than 0 and less than 1. In one example, the fourth threshold value can be equal to 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6 or 8 / 9. Moreover, D1 and D2 are both positive integers, and D1 is not equal to D2. In one example, D1 is less than D2. In a specific example, the code rate is determined by the modulation and coding scheme (MCS) index.
[0238] In another example, the number of parity bits in the CRC coding sequence is determined by the following parameter: code rate. The number of parity bits in the CRC coding sequence can be determined based on the code rate. In one example, there is a fourth threshold. When the code rate is less than or equal to the fourth threshold, the number of parity bits in the CRC coding sequence is equal to D1; when the code rate is greater than the fourth threshold, the number of parity bits in the CRC coding sequence is equal to D2. The fourth threshold is a real number greater than 0 and less than 1. In one example, the fourth threshold can be equal to 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, or 8 / 9. In one example, D1 can be equal to 16 and D2 can be equal to 24; alternatively, D1 can be equal to 12 and D2 can be equal to 24. The number of parity bits in the CRC coding sequence is determined based on the code rate, wherein the number of CRC coding parity bits in the CRC coding sequence can be selected from at least one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24, or 32.
[0239] In one example, the number of bits in the CRC coding sequence is determined by the following parameters: transport block size and code rate. Assuming the transport block size is TBS and the code rate is R, the number of bits in the CRC coding sequence can be determined based on the transport block size TBS and the code rate R. In one example, when the transport block size TBS is less than or equal to the second threshold, and when the code rate R is less than or equal to the fourth threshold, the number of bits in the CRC coding sequence is equal to D1; when the transport block size TBS is greater than the second threshold, and when the code rate R is less than or equal to the fourth threshold, the number of bits in the CRC coding sequence is equal to D2; otherwise, the number of bits in the CRC coding sequence is equal to D3. The second threshold is an integer greater than or equal to 1024, and the fourth threshold is a real number greater than 0 and less than 1. In one example, the second threshold value can be 2048, 4096, 6144, 8000, 8192, 8448, or 16384; the fourth threshold value can be 1 / 3, 2 / 5, 1 / 2, 3 / 5, 2 / 3, 3 / 4, 4 / 5, 5 / 6, or 8 / 9. Furthermore, D1, D2, and D3 are all positive integers, and D1, D2, and D3 are mutually exclusive. In one example, D1 is smaller than D2, and D2 is smaller than D3.
[0240] Example 12
[0241] In this example, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding, the number of systematic bits of the subcode block of the spatially coupled LDPC coding, the number of subcode blocks of the spatially coupled LDPC coding, the length of the bit sequence to be encoded, the number of CRC coding check bits, the transmission block size, the period of the spatially coupled LDPC coding basic graph matrix, the period of the spatially coupled LDPC coding basic matrix, the maximum number of bits of the CRC coding sequence, and the code rate.
[0242] In this example, the number of bits of the CRC code sequence is determined by at least the length of the subcode block information sequence of the spatially coupled LDPC code. This example includes the following operations:
[0243] S1. Determine the bit sequence to be encoded. Suppose the bit sequence to be encoded is a0, a1, a2, a3, ..., a A-1 , the number of bits is A.
[0244] S2. Perform CRC encoding on the bit sequence to be encoded to obtain X CRC encoding sequences, where X is an integer greater than 0.
[0245] Assume that the number of CRC check bits is equal to Lcrc and the number of bits in the CRC code sequence is equal to B. The number X of the CRC code sequence is determined by the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC code and the length of the bit sequence to be encoded. In one example, X is determined by the following formula: Wherein, A is the length of the bit sequence to be encoded, K is the length of the subcode block information sequence of the spatially coupled LDPC code, and both A and K are integers greater than 0.
[0246] Alternatively, the number X of CRC code sequences is determined by the following parameter: the number of subcode blocks of spatially coupled LDPC coding. In one example, X is determined by the following formula: Wherein, L is the number of subcode blocks of spatially coupled LDPC coding, and L is an integer greater than 0.
[0247] Alternatively, the number X of CRC coding sequences is determined by the following parameters: the number of CRC coding check bits. Let the number of CRC coding check bits be expressed as Lcrc. In one example, the Lcrc can have multiple options, and the number X of CRC coding sequences corresponding to different options is different. In one example, there are two numbers of CRC coding check bits (Lcrc1 and Lcrc2) to choose from. If the number of CRC coding check bits is Lcrc1, the corresponding number X of CRC coding sequences is equal to X1; if the number of CRC coding check bits is Lcrc2, the corresponding number X of CRC coding sequences is equal to X2; then if Lcrc1 is less than Lcrc2, then X1 is less than X2, where X1 and X2 are both positive integers. In one example, Lcrc1 is equal to 16 and Lcrc2 is equal to 24. If the number of CRC coding check bits is configured as Lcrc1=16, the corresponding number X of CRC coding sequences is equal to X1=10; if the number of CRC coding check bits is configured as Lcrc1=24, the corresponding number X of CRC coding sequences is equal to X1=20.
[0248] Alternatively, the number X of CRC code sequences is determined by the following parameter: the number of subcode blocks of spatially coupled LDPC coding. In one example, X is determined by the following formula: Wherein, L is the number of subcode blocks of spatially coupled LDPC coding, and L is an integer greater than 0.
[0249] The bit sequence to be coded is divided into blocks to obtain X sub-bit sequences, and then CRC encoding is performed on each of the X sub-bit sequences to obtain a CRC code sequence, thereby obtaining X CRC code sequences. The CRC encoding is performed to obtain a CRC check bit sequence having a number of bits equal to Lcrc, and the CRC check bit sequence is combined with the sub-bit sequence to obtain a CRC code sequence.
[0250] S3. Perform spatially coupled LDPC coding on the X CRC code sequences to obtain a coded bit sequence.
[0251] In one example, the length of the subcode block information sequence of the spatially coupled LDPC coded is K, which is equal to 400, and the number of subcode blocks of the spatially coupled LDPC coded is L, which is equal to 160. In this example, the bit sequence to be coded is a0, a1, a2, a3, ..., a A-1 , where A is equal to 200000. In this example, the coupling width m is the basic matrix of spatially coupled LDPC coding. s =2, the period of the spatially coupled LDPC coding matrix is 3, the lifting value Z is 400, the number of rows of the sub-basic matrix mb = 1, and the number of columns of the sub-basic matrix nb = 2. Among them, in the 0th forward check matrix, the corresponding sub-basic matrix [188,0], the first sub-basic matrix is [82,201], the second sub-basic matrix [226,266]; in the first forward check matrix, it corresponds to the 0th sub-basic matrix [319,0], the first sub-basic matrix is [70,315], the second sub-basic matrix [1,157]; in the second forward check matrix, it corresponds to the 0th sub-basic matrix [199,0], the first sub-basic matrix is [339,190], the second sub-basic matrix =[337,269]. In this spatially coupled LDPC code, the number of bits in each subcode block is equal to N = nb*Z = 2*400 = 800, the information bit length of each subcode block is equal to K = kb*Z = 1*400 = 400, the parity bit length of each subcode block is equal to M = NK = 400, and the number of bits in the tail parity sequence is equal to Ms*M = 800.
[0252] S4. Send the coded bit sequence or part of the coded bit sequence.
[0253] For each subcode block in the coded bit sequence, some or all bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block, and circular selection is performed based on a predefined starting position to obtain a rate-matched bit sequence with a specific number of bits. The rate-matched bit sequence is then transmitted.
[0254] In one example, the number X of CRC code sequences is determined by the following parameters: the length K of the subcode block information sequence of the spatially coupled LDPC code and the length A of the bit sequence to be encoded. That is, X is determined by the following formula: The coding chain length of spatially coupled LDPC coding is The information sequence length of the first 501 subcode blocks is equal to The information sequence length of the last subcode block is (A+X·24)-400·501=368. CRC encoding is performed on the bit sequence to be encoded to obtain X=32 CRC code sequences, where the i-th CRC code sequence corresponds to the information sequence of the spatially coupled LDPC-encoded subcode blocks i*16 to (i+1)*16-1, where i is 0, 1, 2, ..., 21; the j-th CRC code sequence corresponds to the information sequence of the spatially coupled LDPC-encoded subcode blocks 16*16+j*15 to 16*16+(j+1)*15-1, where j is 22, 23, 24, ..., 31. That is, each of the first 22 CRC code sequences corresponds to the information sequence of 16 subcode blocks of the spatially coupled LDPC-encoded subcode blocks (each with a length of 400*16=6400), and each of the last 10 CRC code sequences corresponds to the information sequence of 15 subcode blocks of the spatially coupled LDPC-encoded subcode blocks. The coded bit sequence obtained after spatially coupled LDPC coding consists of L = 502 subcode blocks, with the first 501 subcode blocks having a length of 800 and the last subcode block having a length of 768. Finally, the coded bit sequence or a portion of the coded bit sequence is transmitted, and the total length of the coded bit sequence is 800 * 501 + 768 = 401,568 bits.
[0255] Alternatively, the number X of the CRC code sequences is determined by the following parameter: the number L of subcode blocks of spatially coupled LDPC coding. In one example, L is equal to 500, and X is determined by the following formula: The coding chain length of spatially coupled LDPC coding is The length of the information sequence of the first 501 subcode blocks is equal to The information sequence length of the last subcode block is (A+X·24)-400·502=208. CRC encoding is performed on the bit sequence to be encoded to obtain X=42 CRC code sequences, where the i-th CRC code sequence corresponds to the information sequence of the spatially coupled LDPC-encoded subcode blocks i*12 to (i+1)*12-1, where i is 0, 1, 2, ..., 40; the j-th CRC code sequence corresponds to the information sequence of the spatially coupled LDPC-encoded subcode blocks 12*41+j*11 to 12*41+(j+1)*11-1, where j is 41. In other words, each of the first 41 CRC code sequences corresponds to the information sequence of 12 subcode blocks of the spatially coupled LDPC-encoded subcode blocks, and each of the last CRC code sequence corresponds to the information sequence of 11 subcode blocks of the spatially coupled LDPC-encoded subcode blocks. The coded bit sequence obtained after spatially coupled LDPC coding includes L = 503 subcode blocks, where the length of the first 502 subcode blocks is 800 bits, and the length of the last subcode block is 608 bits. Finally, the coded bit sequence or a portion of the coded bit sequence is transmitted, and the total length of the coded bit sequence is 800 * 502 + 608 = 402,208 bits.
[0256] In the second embodiment, FIG6 is a flow chart of another data transmission method provided in the embodiment of the present application. This embodiment describes the process of data reception. In this embodiment, a data reception method is shown. As shown in FIG6, the data transmission method includes S610-S620.
[0257] S610: Obtain data to be decoded.
[0258] Assume that the length of the acquired data to be decoded is equal to E, and the data to be decoded includes data of L subcode blocks and data of a tail check sequence, wherein the length of each subcode block is equal to N, the length of the information sequence of each subcode block is equal to K, and the length of the tail check sequence is equal to Ms*M, wherein Ms is the coupling width, and M is the number of check bits in the subcode block of the spatially coupled LDPC code.
[0259] S620 , performing spatially coupled LDPC decoding and CRC decoding on the data to be decoded to obtain a decoded bit sequence to be encoded.
[0260] L sub-code blocks of the data to be decoded are decoded separately based on the CRC generator polynomial, the spatially coupled LDPC coding base matrix, and the lifting value to obtain a decoded bit sequence to be encoded. During the decoding process, if any CRC checksum of the decoded output fails, the entire decoding process is terminated. After spatially coupled LDPC decoding of the data to be decoded, a first decoded sequence is obtained, which corresponds to the X CRC coding sequences. CRC decoding is then performed on the first decoded sequence to obtain the corresponding bit sequence to be encoded.
[0261] In one example, at least one of the X CRC code sequences includes at least two subcode block information sequences in spatially coupled LDPC coding.
[0262] In one example, any one of the X CRC code sequences includes at least Y0 subcode block information sequences of spatially coupled LDPC coding, where Y0 can be equal to 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24. In one example, the Y0 subcode blocks in the spatially coupled LDPC coding are continuous Y0 subcode block information sequences, that is, all subcode blocks corresponding to the Y0 subcode block information sequences are adjacent to each other.
[0263] In one example, the number of bits of the CRC coding sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding, the number of systematic bits of the subcode block of the spatially coupled LDPC coding, the number of subcode blocks of the spatially coupled LDPC coding, the length of the bit sequence to be coded, the number of CRC coding check bits, the transmission block size, the period of the spatially coupled LDPC coding basic graph matrix, the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0264] In one example, at least one of the X CRC code sequences has a bit number equal to the sum of the lengths of Y subcode block information sequences of the spatially coupled LDPC code, where Y is an integer greater than 1. In one example, X is an integer greater than 0.
[0265] In one example, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding, the number of systematic bits of the subcode block of the spatially coupled LDPC coding, the number of subcode blocks of the spatially coupled LDPC coding, the length of the bit sequence to be encoded, the number of CRC coding check bits, the transmission block size, the period of the spatially coupled LDPC coding basic graph matrix, the period of the spatially coupled LDPC coding basic matrix, the maximum number of bits of the CRC coding information sequence, the maximum number of bits of the CRC coding sequence, and the code rate.
[0266] In one example, the number of bits in the CRC code sequence is equal to the sum of the lengths of Y consecutive subcode block information sequences of the spatially coupled LDPC code. In one example, Y is an integer greater than 1 and less than the number of subcode blocks of the spatially coupled LDPC code. In one example, Y can be 4, 6, 8, 10, 12, 16, 20, 24, 28, or 32.
[0267] In one example, the X CRC code sequences include X1 CRC code sequences, and the number of bits in each of the X1 CRC code sequences is equal to the sum of the lengths of the information sequences of the Y1 subcode blocks of the spatially coupled LDPC code. The X CRC code sequences include X2 CRC code sequences, and the number of bits in each of the X2 CRC code sequences is equal to the sum of the lengths of the information sequences of the Y2 subcode blocks of the spatially coupled LDPC code. Here, X1 and X2 are both non-negative integers, and the sum of X1 and X2 is equal to X; Y1 and Y2 are both non-negative integers, and the sum of Y1 and Y2 is equal to L, where L is the number of subcode blocks of the spatially coupled LDPC code. In one example, the difference between Y1 and Y2 is no greater than 1.
[0268] All bits of at least one of the X CRC code sequences are placed in an information sequence of Y2 consecutive subcode blocks in the spatially coupled LDPC code, where Y2 is a positive integer multiple of T0, or Y2 is a positive integer multiple of T1, or Y2 is a positive integer multiple of T0*T1. T0 is the period of a spatially coupled LDPC code basic graph matrix, and T1 is the period of a spatially coupled LDPC code basic matrix, and both T0 and T1 are positive integers.
[0269] The number of CRC encoding check bits in the CRC encoding sequence obtained by the CRC encoding may include at least one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
[0270] In one embodiment, the number of subcode blocks of the spatially coupled LDPC coding is an integer greater than 1. In a specific example, the minimum number of subcode blocks of the spatially coupled LDPC coding is equal to one of the following: 4, 6, 8, 10, 12, 16, 24, and 32.
[0271] In an example, the maximum number of bits of the encoding sequence of the CRC encoding sequence may include at least one of the following: 4096, 6144, 8192, 8448, or 16384.
[0272] In one embodiment, the maximum number of bits of the CRC-encoded information sequence is an integer greater than 1024 and less than or equal to 16384.
[0273] In one embodiment, the length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than or equal to 128 and less than or equal to 8448.
[0274] In one embodiment, the number of systematic bits in a spatially coupled LDPC coded subcode block is equal to at least one of the following: 128, 256, 400, 512, 600, 800, 1024, 1536, 2048, 3072, or 4096. The systematic bits in the subcode block include the information sequence and padding bits in the spatially coupled LDPC coded subcode block. That is, the number of systematic bits in the subcode block is equal to the sum of the length of the information sequence and the number of padding bits in the spatially coupled LDPC coded subcode block. The number of padding bits is a non-negative integer. If padding is not required, the number of padding bits is equal to 0.
[0275] In an example, the length of the subcode block information sequence of the spatially coupled LDPC encoding may include at least one of the following: 128, 256, 400, 600, 512, 768, 800, 1024, 2048, or 4096.
[0276] In one embodiment, the number of CRC code sequences is at least equal to 2.
[0277] In one embodiment, the number of subcode block information sequences included in the CRC encoding sequence includes one of the following: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24.
[0278] In one embodiment, the maximum number of subcode block information sequences included in the CRC encoding sequence is equal to at least one of the following: 4, 6, 8, 10, 12, 14, 16, 18, 20 or 24.
[0279] For any example of the first embodiment, there can be a corresponding receiving method example. Here, only the receiving method example of Example 1 in the first embodiment is described, and the others are not described in detail.
[0280] First, data to be decoded of length E = 82944 is received. The data to be decoded may be log-likelihood ratio information, each log-likelihood ratio describing a reliability metric for a corresponding received bit. The data to be decoded includes L sub-code blocks and a tail check sequence, where the length of each sub-code block is N = 1024, the information sequence length of each sub-code block is K = 512, and the tail check sequence length is 1024.
[0281] Secondly, the spatially coupled LDPC code is decoded for the data to be decoded to obtain decoded data. The L subcode block data of the data to be decoded are decoded respectively according to the generating polynomial of CRC coding, the spatially coupled LDPC coding basic matrix and the lifting value to obtain decoded data. During the decoding process, if any CRC coding check of the decoding output fails, the entire decoding is terminated. The decoded data corresponds to X CRC coding sequences. The sliding window decoding method is used to decode the data to be decoded. In this example, it is assumed that the decoding window length is equal to 8 (that is, 8 subcode blocks are updated at the same time, and the first subcode block is considered to be the target subcode block). Figure 7 is a schematic diagram of a decoding implementation provided by an embodiment of the present application. As shown in FIG7 , the decoding window 601 corresponding to the solid-line frame includes eight subcode blocks (the subcode blocks within the window are indexed as 0, 1, 2, ..., 7, respectively), and the target subcode block of the current decoding window has an index of 0. The decoding window 602 corresponding to the dashed-line frame also includes eight subcode blocks (the subcode blocks within the window are indexed as 1, 2, 3, ..., 8, respectively), and the target subcode block of the current decoding window has an index of 1. After decoding window 601 completes its iterative decoding update, a hard decision is made for target subcode block 0 within the window, and a decoding result is output. The decoding window then slides downward and right by one subcode block, and decoding window 602 continues to perform iterative decoding update, with its target subcode block being 1. When the number of iterations reaches a certain number, a hard decision is made to output target subcode block 1. Similarly, the decoding window continues to slide downward and right by one subcode block, and decoding iterative update continues, until the last subcode block is hard-determined and output, at which point decoding ceases.
[0282] During sliding window decoding, when a hard-determined information sequence of Y subcode blocks is output, a CRC check can be immediately performed. If the CRC check passes, the information sequences of the Y consecutive subcode blocks output by the current decoding are error-free, and the sliding window decoding process can continue. If the CRC check fails, it indicates that the information sequences of the Y consecutive subcode blocks output by the current decoding contain errors, and the sliding window decoding can be immediately stopped. This reduces decoding operation updates and power consumption at the receiving end. Furthermore, since decoding errors are detected in advance during decoding, the transmitter can be quickly notified to retransmit the data of the current transmission block, thereby reducing reception latency. The CRC code sequence contains multiple subcode block information sequences of spatially coupled LDPC codes, making CRC checking more efficient and advantageous. If CRC encoding is performed on the information sequence of each subcode block, the CRC overhead would be very large. Furthermore, CRC check calculations can be performed simultaneously on each information sequence of the Y consecutive subcode blocks output by sliding window decoding. The final CRC check is completed when the last information sequence of the Y subcode blocks is output. Of course, the intrinsic check relationship of the spatially coupled LDPC code and the CRC check can be used together as the window iteration termination condition.
[0283] In this example, sliding window decoding is performed on the data to be decoded, and Y = 16 subcode blocks are output in sequence. The combination of the information sequences of the Y = 16 subcode blocks constitutes a CRC coding sequence. A generating polynomial is used to perform CRC coding verification. If the verification passes, it indicates that the information sequence of the Y = 16 subcode blocks is error-free, and the sliding decoding window is continued for decoding. If the CRC verification fails, the entire sliding window decoding is terminated, reducing unnecessary iterative update calculations. Furthermore, if the CRC verification fails, the transmitter can be immediately notified to retransmit the data. Upon receiving the retransmitted data, sliding window decoding can be performed starting from the position of the subcode block that failed the CRC verification, eliminating the need to repeatedly decode the subcode block that has already been correctly decoded. This can effectively reduce decoding power consumption and decoding reception delay, and can also improve the decoding throughput of the entire communication system.
[0284] In this example, the number of bits B of the CRC coding sequence is equal to 8192. The 0th CRC coding sequence corresponds to the information sequence of the 0th to 15th consecutive sub-code blocks, the 1st CRC coding sequence corresponds to the information sequence of the 16th to 31st consecutive sub-code blocks, the 2nd CRC coding sequence corresponds to the information sequence of the 32nd to 47th consecutive sub-code blocks, the 3rd CRC coding sequence corresponds to the information sequence of the 48th to 63rd consecutive sub-code blocks, and the 4th CRC coding sequence corresponds to the information sequence of the 64th to 79th consecutive sub-code blocks. Therefore, assuming that the decoding window size of the sliding window decoding is 8 subcode blocks, when the data of the 0th to 7th subcode blocks in the data to be decoded is received, the sliding window decoding can be started, and the information sequence of the 0th subcode block can be output until the information sequence of the 15th subcode block is output. Then, a CRC check is performed on the data block combined with the information sequences of the 0th to 15th subcode blocks. If the CRC check passes, the decoding is switched to the next decoding window to continue. Otherwise, the decoding is terminated. If the check passes the last CRC code sequence, the decoding is correct.
[0285] For any example in the first embodiment, there can be a corresponding receiving and processing method example, which will not be repeated here.
[0286] In one embodiment, Figure 8 is a block diagram of a data transmission device provided in an embodiment of the present application. This embodiment is applied to a first communication device. As shown in Figure 8 , the data transmission device in this embodiment includes: a determination module 810, a CRC encoding module 820, a spatially coupled LDPC encoding module 830, and a transmission module 840.
[0287] The determination module 810 is configured to determine a bit sequence to be encoded.
[0288] The bit sequence to be encoded can be a bit sequence with a transport block level CRC added, or a bit sequence without a transport block level CRC added. In one example, let the bit sequence to be encoded be a0, a1, a2, a3, ..., a A-1 , the number of bits of which is A, where A is an integer greater than 0.
[0289] The CRC encoding module 820 is configured to perform CRC encoding on the bit sequence to be encoded to obtain at least one CRC encoding sequence.
[0290] The CRC encoding module can be configured to perform CRC encoding on the bit sequence to be encoded to obtain X CRC encoding sequences, where X is an integer greater than 0. The bit sequence to be encoded is first divided into blocks to obtain X sub-bit sequences, and then CRC encoding is performed on each of the X sub-bit sequences to obtain X CRC encoding sequences. CRC encoding is performed to obtain a CRC check bit sequence with a bit length equal to Lcrc, and the CRC check bit sequence is combined with the sub-bit sequence to obtain a CRC encoding sequence. The generator polynomial used in the CRC encoding includes any one of the CRC generator polynomials in Example 1. The number of CRC encoding check bits Lcrc can include one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24, or 32.
[0291] Treat the coded bit sequence a0,a1,a2,a3,...,a A-1 After CRC encoding, X CRC code sequences are obtained, where the i-th CRC code sequence is expressed as The length is B, where B is an integer greater than 0. The number of bits B in the CRC code sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC code, the number of systematic bits of the subcode block of the spatially coupled LDPC code, the number of subcode blocks of the spatially coupled LDPC code, the length of the bit sequence to be encoded, the number of CRC code check bits, the transport block size, the period of the spatially coupled LDPC code basic graph matrix, the period of the spatially coupled LDPC code basic matrix, the maximum number of bits in the CRC code information sequence, the maximum number of bits in the CRC code sequence, and the code rate. The specific method for determining the number of bits B in the CRC code sequence can refer to the solution of Example 1 and will not be repeated here.
[0292] The spatially coupled LDPC encoding module 830 is configured to perform spatially coupled LDPC encoding on the at least one CRC encoding sequence to obtain a coded bit sequence; wherein at least one of the CRC encoding sequences includes at least two subcode block information sequences of spatially coupled LDPC encoding.
[0293] In one example, spatially coupled LDPC codes are used for encoding, and the length of the obtained coded bit sequence is equal to L*N+M*m s , where L is the coupling chain length (i.e., the number of subcode blocks), N is the code length of the subcode block, M is the check bit length of the subcode block, and m s is the coupling width. And, L, N, M, and m s The coded bit sequence includes not only the coded bit sequences of L subcode blocks, but also the coded bit sequences of length M*m s The trailing bit sequence of bits.
[0294] In another example, the spatially coupled LDPC code is used for encoding, and the length of the obtained coded bit sequence is equal to L*N, where L is the coupling chain length and N is the coding length of the subcode block, and both L and N are positive integers. The coded bit sequence only includes the coded bit sequences of L subcode blocks, that is, the spatially coupled LDPC code in this case does not have tail bits.
[0295] The sending module 840 is configured to send at least part of the bits in the coded bit sequence.
[0296] The transmitting module is configured to transmit a coded bit sequence or a portion of the bits of the coded bit sequence. For each subcode block in the coded bit sequence, a portion of the bits or all of the bits are selected for transmission. A circular buffer can be used to pre-store all bits of each subcode block, and cyclic selection can be performed based on a predefined starting position to obtain a rate-matched bit sequence having a desired specific number of bits. The rate-matched bit sequence is then transmitted.
[0297] In one embodiment, at least one of the CRC code sequences includes a first preset number of subcode block information sequences encoded using spatially coupled LDPC coding; wherein the first preset number is an even number greater than 0. In one example, the first preset number is denoted as Y0. Any one of the X CRC code sequences includes at least Y0 subcode block information sequences encoded using spatially coupled LDPC coding, where Y0 can be 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24.
[0298] In one embodiment, the CRC code sequence includes at least two subcode block information sequences of spatially coupled LDPC coding, wherein the at least two subcode block information sequences are information sequences of consecutive subcode blocks in the spatially coupled LDPC coding. In one example, the Y0 subcode blocks in the spatially coupled LDPC coding are information sequences of consecutive Y0 subcode blocks, where Y0 is an integer greater than 1.
[0299] In one embodiment, at least one of the CRC code sequences includes a second predetermined number of subcode block information sequences for spatially coupled LDPC coding. The second predetermined number is a positive integer multiple of the period of the spatially coupled LDPC coding base pattern matrix, or a positive integer multiple of the period of the spatially coupled LDPC coding base matrix, or a positive integer multiple of the product of the period of the spatially coupled LDPC coding base pattern matrix and the period of the spatially coupled LDPC coding base matrix. In one example, the second predetermined number is denoted as Y2, and all bits of at least one of the X CRC code sequences are placed in an information sequence of Y2 consecutive subcode blocks in the spatially coupled LDPC coding, where Y2 is a positive integer multiple of T0, or Y2 is a positive integer multiple of T1, or Y2 is a positive integer multiple of T0*T1. T0 is the period of the spatially coupled LDPC coding base pattern matrix, and T1 is the period of the spatially coupled LDPC coding base matrix, with both T0 and T1 being positive integers.
[0300] In one embodiment, the number of bits contained in the CRC coding sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0301] In one embodiment, at least one of the CRC code sequences comprises a number of bits equal to the sum of the lengths of a third preset number of subcode block information sequences of the spatially coupled LDPC code; wherein the third preset number is an integer greater than 1 and less than or equal to the number of subcode blocks of the spatially coupled LDPC code. In one example, the third preset number is denoted as Y1 or Y2. Among the X CRC code sequences, there are X1 CRC code sequences, and the number of bits in each of the X1 CRC code sequences is equal to the sum of the lengths of the Y1 subcode block information sequences of the spatially coupled LDPC code. Among the X CRC code sequences, there are X2 CRC code sequences, and the number of bits in each of the X2 CRC code sequences is equal to the sum of the lengths of the Y2 subcode block information sequences of the spatially coupled LDPC code. X1 and X2 are both non-negative integers, and the sum of X1 and X2 is equal to X; Y1 and Y2 are both non-negative integers, and the sum of Y1 and Y2 is equal to L, where L is the number of subcode blocks of the spatially coupled LDPC code. In one example, the difference between Y1 and Y2 is no greater than 1.
[0302] In one embodiment, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0303] In one embodiment, in the CRC encoding, at least two CRC encoding sequences are obtained, wherein the number of subcode block information sequences included in any two CRC encoding sequences is equal.
[0304] In one embodiment, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than the length of the subcode block information sequence of the spatially coupled LDPC encoding. In a specific example, during CRC encoding, at least one CRC code sequence is obtained, wherein the number of bits of at least one of the CRC code sequences is greater than or equal to H times the length of the subcode block information sequence of the spatially coupled LDPC encoding, where H is an integer greater than 1. The length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than 0. In a specific example, H is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32.
[0305] In one embodiment, the maximum number of bits in the CRC code sequence is greater than the number of systematic bits in the subcode block of the spatially coupled LDPC code. In a specific example, the maximum number of bits in the CRC code sequence is greater than or equal to W times the number of systematic bits in the subcode block of the spatially coupled LDPC code, where W is equal to at least one of the following: 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, or 32. The maximum number of bits in the CRC code sequence is an integer greater than 0, and the number of systematic bits in the subcode block of the spatially coupled LDPC code is an integer greater than 0.
[0306] In one embodiment, in the CRC encoding, at least two CRC encoding sequences are obtained, wherein the maximum value of the number of subcode block information sequences included is a first value, and the minimum value of the number of subcode block information sequences included is a second value, wherein the maximum value of the difference between the first value and the second value is equal to 1.
[0307] In one embodiment, in the CRC encoding, a fourth preset number of CRC encoding sequences is obtained, wherein the number of subcode block information sequences included in the fifth preset number of CRC encoding sequences is equal, wherein the fourth preset number is an integer greater than 1, and the fifth preset number is obtained by subtracting one from the fourth preset number.
[0308] In one embodiment, the number of subcode blocks of the spatially coupled LDPC encoding is an integer greater than 1.
[0309] In one embodiment, the maximum number of bits of the CRC encoding sequence includes at least one of the following: 4096, 6144, 8192, 8448 or 16384.
[0310] In one embodiment, the length of the subcode block information sequence of the spatially coupled LDPC encoding is an integer greater than or equal to 128 and less than or equal to 8448.
[0311] In one embodiment, the number of the CRC code sequences is at least equal to 2.
[0312] In one embodiment, the number of CRC encoding check bits in the CRC encoding sequence includes one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
[0313] In one embodiment, the number of subcode block information sequences included in the CRC encoding sequence includes one of the following: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 or 24.
[0314] The data transmission device provided in this embodiment is configured to implement the data transmission method applied to the first communication device in the embodiment shown in FIG1 . The implementation principle and technical effects of the data transmission device provided in this embodiment are similar and will not be described in detail here.
[0315] For any example of the first embodiment, there can be a corresponding receiving method example. Here, only the receiving method example of Example 1 in the first embodiment is described, and no further details are given.
[0316] In one embodiment, FIG9 is a block diagram of another data transmission apparatus provided in an embodiment of the present application. This embodiment is applied to a second communication device. As shown in FIG9 , the data transmission apparatus in this embodiment includes: an acquisition module 910, a spatially coupled LDPC decoding module 920, and a CRC decoding module 930.
[0317] The acquisition module 910 is configured to acquire data to be decoded.
[0318] The module is configured to receive and obtain data to be decoded. Assume that the length of the obtained data to be decoded is equal to E, and the data to be decoded includes data of L sub-code blocks and data of a tail check sequence, wherein the length of each sub-code block is equal to N, the information sequence length of each sub-code block is equal to K, and the length of the tail check sequence is equal to Ms*M, where Ms is the coupling width and M is the check bit length of the spatially coupled LDPC code.
[0319] A spatially coupled LDPC decoding module 920 is configured to perform spatially coupled LDPC decoding on the data to be decoded to obtain at least one first decoding sequence; wherein the first decoding sequence corresponds to at least one CRC coding sequence, and at least one of the CRC coding sequences contains at least two subcode block information sequences encoded by spatially coupled LDPC.
[0320] The data to be decoded is decoded using a spatially coupled LDPC code to obtain decoded data (also referred to as a first decoded sequence). L sub-code blocks of the data to be decoded are decoded separately based on the CRC coding generator polynomial, the spatially coupled LDPC coding base matrix, and the lifting value to obtain decoded data. During the decoding process, if any CRC code check of the decoded output fails, the entire decoding process is terminated. The decoded data corresponds to X CRC coding sequences.
[0321] In the spatially coupled LDPC decoding module, in order to facilitate efficient decoding of the spatially coupled LDPC and reduce power consumption, at least one of the X CRC code sequences contains at least two subcode block information sequences in the spatially coupled LDPC code.
[0322] The CRC decoding module 930 is configured to obtain a corresponding to-be-encoded bit sequence from the first decoding sequence.
[0323] By performing CRC decoding on the first decoding sequence, a corresponding bit sequence to be encoded can be obtained.
[0324] In one example, any one of the X CRC code sequences includes at least Y0 subcode block information sequences of spatially coupled LDPC coding, where Y0 can be equal to 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, or 24. In one example, the Y0 subcode blocks in the spatially coupled LDPC coding are a continuous Y0 subcode block information sequence.
[0325] In one example, the number of bits of the CRC coding sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding, the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding, the length of the bit sequence to be encoded, the number of CRC coding check bits, the transmission block size, the period of the spatially coupled LDPC coding basic graph matrix, the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
[0326] In one example, at least one of the X CRC code sequences has a bit number equal to the sum of the lengths of Y subcode block information sequences of the spatially coupled LDPC code, where Y is an integer greater than 1. In another example, X is an integer greater than 0.
[0327] In one example, the number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding, the number of systematic bits of the subcode block of the spatially coupled LDPC coding, the number of subcode blocks of the spatially coupled LDPC coding, the length of the bit sequence to be encoded, the number of CRC coding check bits, the transmission block size, the period of the spatially coupled LDPC coding basic graph matrix, the period of the spatially coupled LDPC coding basic matrix, the maximum number of bits of the CRC coding information sequence, the maximum number of bits of the CRC coding information sequence, and the code rate.
[0328] In one example, the number of bits in the CRC code sequence is equal to the sum of the lengths of Y consecutive subcode block information sequences of the spatially coupled LDPC code. In one example, Y is an integer greater than 1 and less than the number of subcode blocks of the spatially coupled LDPC code. In one example, Y can be 4, 6, 8, 10, 12, 16, 20, 24, 28, or 32.
[0329] In one example, the X CRC code sequences include X1 CRC code sequences, and the number of bits in each of the X1 CRC code sequences is equal to the sum of the lengths of the information sequences of the Y1 subcode blocks of the spatially coupled LDPC code. The X CRC code sequences include X2 CRC code sequences, and the number of bits in each of the X2 CRC code sequences is equal to the sum of the lengths of the information sequences of the Y2 subcode blocks of the spatially coupled LDPC code. Here, X1 and X2 are both non-negative integers, and the sum of X1 and X2 is equal to X; Y1 and Y2 are both non-negative integers, and the sum of Y1 and Y2 is equal to L, where L is the number of subcode blocks of the spatially coupled LDPC code. In one example, the difference between Y1 and Y2 is no greater than 1.
[0330] All bits of at least one of the X CRC code sequences are placed in an information sequence of Y2 consecutive subcode blocks in the spatially coupled LDPC code, where Y2 is a positive integer multiple of T0, or Y2 is a positive integer multiple of T1, or Y2 is a positive integer multiple of T0*T1. T0 is the period of a spatially coupled LDPC code basic graph matrix, and T1 is the period of a spatially coupled LDPC code basic matrix, and both T0 and T1 are positive integers.
[0331] The number of CRC encoding check bits in the CRC encoding sequence obtained by the CRC encoding may include at least one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
[0332] In an example, the maximum number of bits of the encoding sequence of the CRC encoding sequence may include at least one of the following: 4096, 6144, 8192, 8448, or 16384.
[0333] In an example, the length of the subcode block information sequence of the spatially coupled LDPC encoding may include at least one of the following: 128, 256, 400, 600, 512, 768, 800, 1024, 2048, or 4096.
[0334] For any method example in the first embodiment, there can be a corresponding receiving device example. Here, only the receiving device example corresponding to Example 1 in the first embodiment is described, and the others are not described in detail.
[0335] First, the data receiving module receives and obtains data to be decoded, which has a length of E = 82944. The data to be decoded can be log-likelihood ratio information, each of which describes a reliability metric for a corresponding received bit. The data to be decoded includes L sub-code blocks and a tail check sequence. The length of each sub-code block is N = 1024, the information sequence length of each sub-code block is K = 512, and the tail check sequence length is 1024.
[0336] Secondly, in the spatially coupled LDPC decoding module, the spatially coupled LDPC code is decoded on the data to be decoded to obtain decoded data. According to the generating polynomial of the CRC code, the spatially coupled LDPC code basic matrix and the lifting value, the L subcode block data in the data to be decoded are decoded respectively to obtain the decoded data. During the decoding process, if any CRC code check of the decoded output fails, the entire decoding is terminated. The decoded data corresponds to X CRC code sequences. In the spatially coupled LDPC decoding module, a sliding window decoding method is used to decode the data to be decoded, and the decoding window length is set to 8 (8 subcode blocks are updated at the same time, and the first subcode block is considered to be the target subcode block).
[0337] During sliding window decoding, when a hard-determined information sequence of Y subcode blocks is output, a CRC check can be immediately performed. If the CRC check passes, the information sequences of the Y consecutive subcode blocks output by the current decoding are error-free, and the sliding window decoding process can continue. If the CRC check fails, it indicates that the information sequences of the Y consecutive subcode blocks output by the current decoding contain errors, and the sliding window decoding can be stopped immediately, reducing decoding power consumption. Furthermore, since the decoding error is detected in advance during decoding, the transmitter can be quickly notified to retransmit the data of the current transmission block, thereby reducing reception latency. The CRC code sequence contains multiple subcode block information sequences of spatially coupled LDPC codes, making CRC checking more efficient and advantageous. If CRC encoding is performed on the information sequence of each subcode block, the CRC overhead would be very large. Furthermore, CRC check calculations can be performed simultaneously on each information sequence of the Y consecutive subcode blocks output by sliding window decoding. The final CRC check is completed when the last information sequence of the Y subcode blocks is output.
[0338] In this example, sliding window decoding is performed on the data to be decoded, sequentially outputting Y = 16 subcode blocks. The combination of the information sequences of these Y = 16 subcode blocks constitutes a CRC code sequence, which is then verified using a generator polynomial. If the verification passes, it indicates that the information sequence of the Y = 16 subcode blocks is error-free, and decoding continues using the sliding decoding window. If the CRC verification fails, the entire sliding window decoding process is terminated, reducing unnecessary iterative update calculations. Furthermore, if the CRC verification fails, the transmitter is immediately notified to retransmit the data. Upon receiving the retransmitted data, sliding window decoding can be performed starting from the subcode block where the CRC verification failed, eliminating the need to repeatedly decode the correctly decoded subcode block. This effectively reduces decoding power consumption and decoding reception latency.
[0339] In this example, the number of bits B in the CRC code sequence is 8192. The 0th CRC code sequence corresponds to the information sequence of the 0th to 15th consecutive subcode blocks, the 1st CRC code sequence corresponds to the information sequence of the 16th to 31st consecutive subcode blocks, the 2nd CRC code sequence corresponds to the information sequence of the 32nd to 47th consecutive subcode blocks, the 3rd CRC code sequence corresponds to the information sequence of the 48th to 63rd consecutive subcode blocks, and the 4th CRC code sequence corresponds to the information sequence of the 64th to 79th consecutive subcode blocks. Therefore, assuming the decoding window size of the sliding window decoding is 8 subcode blocks, when the data of the 0th to 7th subcode blocks to be decoded is received, the sliding window decoding can be started, and the information sequence of the 0th subcode block can be output until the information sequence of the 15th subcode block is output. Then, the CRC check is performed. If the check of the last CRC code sequence passes, the decoding is correct.
[0340] The data transmission device provided in this embodiment is configured to implement the data transmission method applied to the second communication device in the embodiment shown in FIG. 2 . The implementation principle and technical effects of the data transmission device provided in this embodiment are similar and will not be described in detail here.
[0341] In one embodiment, Figure 10 is a schematic diagram of the structure of a communication device provided by an embodiment of the present application. As shown in Figure 10, the device provided by the present application includes: a processor 1010, a memory 1020, and a communication module 1030. The number of processors 1010 in the device can be one or more, and Figure 10 takes one processor 1010 as an example. The number of memories 1020 in the device can be one or more, and Figure 10 takes one memory 1020 as an example. The processor 1010, memory 1020, and communication module 1030 of the device can be connected via a bus or other means and can communicate with each other. Figure 10 takes connection via a bus as an example. In this embodiment, the device can be a first communication device or a second communication device.
[0342] Memory 1020, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to the device of any embodiment of the present application (e.g., the determination module 810, CRC encoding module 820, spatially coupled LDPC encoding module 830, and transmission module 840 in the data transmission device). It can also store some necessary parameters, data, and bit sequences to be encoded. Memory 1020 may include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function; the data storage area may store data created based on the use of the device. In addition, memory 1020 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state memory device. In some instances, memory 1020 may further include memory remotely located relative to processor 1010, and these remote memories may be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof. The processor 1010 can encode the input bit sequence to be encoded. The communication module 1030 is used to implement the data exchange process between multiple communication devices. The communication module 1030 can include a single antenna or multiple antennas.
[0343] In the case where the communication device is a first communication device, the device provided above can be configured to execute the data transmission method applied to the first communication device provided in any of the above embodiments, and have corresponding functions and effects.
[0344] In the case where the communication device is a second communication device, the device provided above can be configured to execute the data transmission method applied to the second communication device provided in any of the above embodiments, and have corresponding functions and effects.
[0345] An embodiment of the present application also provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to execute a data transmission method applied to a first communication device, the method comprising: determining a bit sequence to be encoded; performing cyclic redundancy check (CRC) encoding on the bit sequence to be encoded to obtain at least one CRC encoding sequence; performing spatially coupled low-density parity check (LDPC) encoding on the at least one CRC encoding sequence to obtain a coded bit sequence; wherein at least one of the CRC encoding sequences contains at least two subcode block information sequences of spatially coupled LDPC encoding; and sending at least part of the bits in the coded bit sequence.
[0346] An embodiment of the present application also provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to execute a data transmission method applied to a second communication device, the method comprising: obtaining data to be decoded; performing spatially coupled LDPC decoding on the data to be decoded to obtain at least one first decoding sequence; wherein the first decoding sequence corresponds to at least one CRC coding sequence, and at least one of the CRC coding sequences contains at least two subcode block information sequences encoded by spatially coupled LDPC; and obtaining a corresponding bit sequence to be encoded from the first decoding sequence.
[0347] It will be appreciated by those skilled in the art that the term user equipment encompasses any suitable type of wireless user equipment, such as a mobile phone, a portable data processing device, a portable web browser or a car-mounted mobile station.
[0348] In general, various embodiments of the present application may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device, although the present application is not limited thereto.
[0349] Embodiments of the present application may be implemented by executing computer program instructions by a data processor of a mobile device, for example, in a processor entity, or by hardware, or by a combination of software and hardware. The computer program instructions may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages.
[0350] Any block diagram of the logic flow in the drawings of the present application may represent program operations, or may represent interconnected logic circuits, modules and functions, or may represent a combination of program operations and logic circuits, modules and functions. A computer program may be stored on a memory. The memory may be of any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as, but not limited to, read-only memory (ROM), random access memory (RAM), optical storage devices and systems (digital versatile discs (DVD) or compact disks (CD)), etc. Computer-readable media may include non-transient storage media. A data processor may be of any type suitable for the local technical environment, such as, but not limited to, a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and a processor based on a multi-core processor architecture.
[0351] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed by a processor, can implement the data transmission method provided in any embodiment of the present application.
[0352] The computer program product, during implementation, may be written in one or more programming languages or a combination thereof, for performing the operations of the present application, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
Claims
1. A data transmission method, applied to a first communication device, comprising: determining a bit sequence to be encoded; Performing cyclic redundancy check (CRC) encoding on the bit sequence to be encoded to obtain at least one CRC encoding sequence; Performing spatially coupled low-density parity check (LDPC) encoding on the at least one CRC code sequence to obtain a coded bit sequence; wherein the at least one CRC code sequence includes at least two subcode block information sequences encoded by the spatially coupled LDPC code; At least some of the bits in the coded bit sequence are transmitted.
2. The method according to claim 1, wherein At least one CRC code sequence includes a first preset number of subcode block information sequences encoded in spatially coupled LDPC coding; wherein the first preset number is an even number greater than 0.
3. The method according to claim 1, wherein The CRC code sequence includes at least two subcode block information sequences of spatially coupled LDPC coding, wherein the at least two subcode block information sequences are continuous subcode block information sequences in spatially coupled LDPC coding.
4. The method according to claim 1, wherein At least one CRC code sequence includes a second preset number of subcode block information sequences of spatially coupled LDPC coding; wherein the second preset number is a positive integer multiple of the period of the spatially coupled LDPC coding basic image matrix, or a positive integer multiple of the period of the spatially coupled LDPC coding basic matrix, or a positive integer multiple of the product value between the period of the spatially coupled LDPC coding basic image matrix and the period of the spatially coupled LDPC coding basic matrix.
5. The method according to claim 1, wherein The number of bits contained in the CRC coding sequence is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transport block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
6. The method according to claim 1, wherein The number of bits contained in at least one CRC coding sequence is equal to the sum of the lengths of a third preset number of subcode block information sequences of the spatially coupled LDPC coding; wherein the third preset number is an integer greater than 1 and less than or equal to the number of subcode blocks of the spatially coupled LDPC coding.
7. The method according to claim 1, wherein The number of CRC coding sequences is determined by at least one of the following parameters: the length of the subcode block information sequence of the spatially coupled LDPC coding; the number of systematic bits of the subcode block of the spatially coupled LDPC coding; the number of subcode blocks of the spatially coupled LDPC coding; the length of the bit sequence to be coded; the number of CRC coding check bits; the transmission block size; the period of the spatially coupled LDPC coding basic graph matrix; the period of the spatially coupled LDPC coding basic matrix; the maximum number of bits of the CRC coding information sequence; the maximum number of bits of the CRC coding sequence; and the code rate.
8. The method according to claim 1, wherein In the CRC encoding, at least two CRC encoding sequences are obtained, and the number of subcode block information sequences included in each two CRC encoding sequences in the at least two CRC encoding sequences is equal.
9. The method according to claim 1, wherein In the CRC encoding, at least two CRC encoding sequences are obtained, the maximum value of the number of subcode block information sequences included in the at least two CRC encoding sequences is a first value, and the minimum value of the number of subcode block information sequences included is a second value, wherein the maximum value of the difference between the first value and the second value is equal to 1.
10. The method according to claim 1, wherein In the CRC encoding, a fourth preset number of CRC encoding sequences is obtained, wherein the number of subcode block information sequences included in the fifth preset number of CRC encoding sequences is equal, the fourth preset number is an integer greater than 1, and the fifth preset number is obtained by subtracting one from the fourth preset number.
11. The method according to claim 1, wherein The number of subcode blocks of the spatially coupled LDPC encoding is an integer greater than 1.
12. The method according to claim 1, wherein The maximum number of bits of the CRC encoding sequence includes at least one of the following: 4096, 6144, 8192, 8448, or 16384.
13. The method according to claim 1, wherein The subcode block information sequence length of the spatially coupled LDPC encoding is an integer greater than or equal to 128 and less than or equal to 8448.
14. The method according to claim 1, wherein The number of the CRC code sequences is at least equal to 2.
15. The method according to claim 1, wherein The number of CRC encoding check bits in the CRC encoding sequence includes one of the following: 6, 8, 11, 12, 14, 16, 18, 20, 24 or 32.
16. The method according to claim 1, wherein The number of subcode block information sequences included in the CRC coding sequence includes one of the following: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 or 24.
17. A data transmission method, applied to a second communication device, comprising: Get the data to be decoded; Performing spatially coupled low-density parity check (LDPC) decoding on the data to be decoded to obtain at least one first decoding sequence; wherein the first decoding sequence corresponds to at least one cyclic redundancy check (CRC) encoding sequence, and the at least one CRC encoding sequence includes at least two subcode block information sequences encoded by the spatially coupled LDPC encoding; A corresponding to-be-encoded bit sequence is obtained from the first decoding sequence.
18. A communication device comprising: memory, and at least one processor; The memory is configured to store at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the data transmission method according to any one of claims 1 to 16 or 17.
19. A storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the data transmission method according to any one of claims 1 to 16 or 17.
Citation Information
Patent Citations
Code block segmentation depending on LDPC base matrix selection
CN110249537A
Data coding method and device
CN114679185A
Modulation method, demodulation method and related device
CN116366415A
Transmitting / receiving apparatus and method in a mobile communication system
US20070002969A1