Encoding method, decoding method and apparatus
By adjusting the distribution of non-zero elements in regions D2 and D3 of the basis matrix, the problem of reduced LDPC code coding performance while maintaining a relatively low channel decoding threshold is solved, thus improving communication performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-01-10
- Publication Date
- 2026-07-10
AI Technical Summary
While maintaining a relatively low minimum channel decoding threshold for the base matrix, existing technologies have reduced the coding performance of LDPC codes, making it difficult to improve communication performance.
By dividing the base matrix into regions A and D, and introducing regions D2 and D3 into region D, the distribution of non-zero elements is adjusted so that region D2 compensates for the coding performance loss caused by double columns in region A, and region D3 adds non-zero elements to improve coding performance.
While maintaining a relatively low minimum channel decoding threshold for the base matrix, the coding performance of LDPC codes is improved, the bit error rate is reduced, and the communication performance is enhanced.
Smart Images

Figure CN122372005A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to encoding methods, decoding methods and apparatus. Background Technology
[0002] In a communication system, the transmitting device can encode the information bit sequence using low-density parity check (LDPC) codes based on the base matrix. For example, the transmitting device can expand the base matrix using a lifting size (LS) to obtain a parity check matrix, and then truncate the upper left portion of the parity check matrix (which can be called the target region) according to the code rate to encode the information bit sequence using LDPC codes.
[0003] The target region can include the core region of the parity-check matrix, which corresponds to the core region of the base matrix (i.e., the core region of the base matrix can include the information column and the core parity column of the base matrix). The core region of the base matrix can include multiple double columns. Although including multiple double columns in the core region of the base matrix can improve the minimum channel decoding threshold of the base matrix (corresponding to the performance of the base matrix), it will reduce the coding performance of the LDPC code (corresponding to the performance of the parity-check matrix).
[0004] Therefore, how to improve coding performance while optimizing the minimum channel decoding threshold of the basis matrix has become an urgent problem to be solved. Summary of the Invention
[0005] This application provides an encoding method, a decoding method, and an apparatus that can improve encoding performance while optimizing the minimum channel decoding threshold of the basis matrix, thereby improving communication performance.
[0006] Firstly, this application provides an encoding method that can be executed by a transmitting device. Unless otherwise specified, "transmitting device" in this application can refer to the transmitting device itself, a component within the transmitting device (e.g., a processor, chip, chip system, or integrated circuit), or a logic module or software capable of implementing all or part of the functions of the transmitting device. The method includes: the transmitting device encoding an information bit sequence using a low-density parity-check code based on a base matrix to obtain a first sequence; and outputting the first sequence. The base matrix includes region A and region D. Region A includes rows 1 to m and columns 1 to n of the base matrix; region D includes rows (m+1) to the last row and columns 1 to n of the base matrix; m and n are both positive integers, corresponding to the maximum code rate supported by the base matrix; region A includes regions A1, A2, and A3; region A1 includes the column with the largest column weight X in the base matrix, where X is a positive integer less than or equal to 4; region A2 includes regions in region A other than region A1 with column weights greater than 2. The columns are defined as follows: A3 includes columns in A with a weight of 2 or less; D includes D2 and D3, where the row numbers of the corresponding columns in D2 and D3 are the same; the column numbers of the corresponding columns in the base matrix are the same as those in A2; the column numbers of the corresponding columns in the base matrix are the same as those in A3; and the maximum row weight in D2 is less than the minimum row weight in D3.
[0007] Based on the first aspect, region A can include regions A1, A2, and A3. Region A2 can include columns in region A other than A1 with a column weight greater than 2, and region A3 can include columns in region A with a column weight less than or equal to 2. Since the maximum row weight of region D2 is less than the minimum row weight of region D3, the number of non-zero elements in region D2 can be less than the number of non-zero elements in region D3. This results in fewer non-zero elements in region D2 with the same column index as region A2 in the base matrix, and more non-zero elements in region D3 with the same column index as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the coding performance loss caused by the double columns in region A. It can improve coding performance (such as reducing the bit error rate) while optimizing the minimum channel decoding threshold of the base matrix, thereby improving communication performance.
[0008] The A1 region may include the punched columns of the basis matrix.
[0009] It is understandable that the number of rows in region A1, region A2, and region A3 are all m.
[0010] Secondly, this application provides a decoding method that can be executed by a receiving device. Unless otherwise specified, "receiving device" in this application can refer to the receiving device itself, a component within the receiving device (e.g., a processor, chip, chip system, or integrated circuit), or a logic module or software capable of implementing all or part of the functions of the receiving device. The method includes: the receiving device receiving information to be decoded; and decoding the information to be decoded according to the base matrix of a low-density parity-check code to obtain a decoding result. The base matrix includes regions A and D. Region A includes rows 1 to m and columns 1 to n of the base matrix; region D includes rows (m+1) to the last row and columns 1 to n of the base matrix; m and n are both positive integers, corresponding to the maximum code rate supported by the base matrix; region A includes regions A1, A2, and A3; region A1 includes the column with the largest column weight X in the base matrix, where X is a positive integer less than or equal to 4; region A2 includes regions in region A other than region A1 with column weights greater than 2. The columns are defined as follows: A3 includes columns in A with a weight of 2 or less; D includes D2 and D3, where the row numbers of the corresponding columns in D2 and D3 are the same; the column numbers of the corresponding columns in the base matrix are the same as those in A2; the column numbers of the corresponding columns in the base matrix are the same as those in A3; and the maximum row weight in D2 is less than the minimum row weight in D3.
[0011] Based on the second aspect, region A can include regions A1, A2, and A3. Region A2 can include columns in region A other than A1 with a column weight greater than 2, and region A3 can include columns in region A with a column weight less than or equal to 2. Since the maximum row weight of region D2 is less than the minimum row weight of region D3, the number of non-zero elements in region D2 can be less than the number of non-zero elements in region D3. This results in fewer non-zero elements in region D2 with the same column index as region A2 in the base matrix, and more non-zero elements in region D3 with the same column index as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the coding performance loss caused by the double columns in region A. It can improve coding performance (such as reducing the bit error rate) while optimizing the minimum channel decoding threshold of the base matrix, thereby improving communication performance.
[0012] Combining the first and second aspects, one possible implementation is that the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 is less than or equal to a first threshold; the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 is greater than or equal to a second threshold; wherein the first threshold is less than the second threshold.
[0013] Based on this possible implementation, by determining a first threshold and a second threshold, the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 can be less than or equal to the first threshold, and the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 can be greater than or equal to the second threshold. This allows the number of non-zero elements in region D2 to be less than the number of non-zero elements in region D3, resulting in fewer non-zero elements in region D2 with the same column number as region A2 in the base matrix, and more non-zero elements in region D3 with the same column number as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting or receiving device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the coding performance loss caused by the double columns in region A, thereby improving coding performance while optimizing the minimum channel decoding threshold of the base matrix.
[0014] Furthermore, by determining the relationship between the ratio of the number of non-zero elements in region D2 (or region D3) to the total number of elements in region D2 (or region D3) and a threshold, the elements in region D2 (or region D3) can be determined so that the number of non-zero elements in region D2 (or region D3) can meet the communication requirements even when the total number of elements in region D2 (or region D3) is different.
[0015] Combining the first and second aspects, one possible implementation is that the first threshold is 0.1; or, the first threshold is 0.2.
[0016] Based on this possible implementation, two feasible schemes are provided for determining the first threshold. A smaller first threshold can result in fewer non-zero elements in the D2 region. Since the column index of the D2 region in the base matrix is the same as the column index of the A2 region in the base matrix, and the column weight of the A2 region is greater than 2, the D2 region can be paired with the A2 region to compensate for the loss of coding performance caused by the double column in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0017] Combining the first and second aspects, one possible implementation is that the second threshold is 0.8; or, the second threshold is 0.9.
[0018] Based on this possible implementation, two feasible schemes are provided for determining the second threshold. A larger second threshold can result in a larger number of non-zero elements in the D3 region. Since the column index of the D3 region in the base matrix is the same as the column index of the A3 region in the base matrix, and the column weight of the A3 region is less than or equal to 2, the D3 region can be paired with the A3 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0019] Combining the first and second aspects, one possible implementation is that the number of rows in region D3 is related to the number of rows in region A.
[0020] Based on this possible implementation, the number of rows in region D3 can be determined based on the number of rows in region A, or the number of rows in region A can be determined based on the number of rows in region D3, so that the number of rows in region A and the number of rows in region D3 can better meet the communication requirements and improve communication performance.
[0021] Combining the first and second aspects, one possible implementation is that the number of rows in region D3 is less than or equal to the sum of the number of rows in region A and the first preset value.
[0022] Based on this possible implementation, the number of rows in the D3 region can be reduced to decrease the number of edges in the D3 region, which can result in a better minimum channel decoding threshold for the basis matrix. That is, the D3 region has more non-zero elements (or can be understood as the D3 region having denser non-zero elements). If the number of rows in the D3 region increases, the number of edges in the D3 region will increase, which will lead to a decrease in the minimum channel decoding threshold and affect communication performance.
[0023] Combining the first and second aspects, one possible implementation is that the first preset value is 0; or; the first preset value is 1; or; the first preset value is 2.
[0024] Based on this possible implementation, the flexibility and versatility of the first preset value can be improved. The transmitting or receiving device can determine the first preset value that meets the communication requirements according to the actual communication scenario, thereby improving the reliability of communication. In addition, taking the first preset value as small as possible can reduce the number of rows in the D3 region, thereby reducing the number of edges in the D3 region and making the minimum channel decoding threshold of the basis matrix more optimal.
[0025] Combining the first and second aspects, one possible implementation is that the number of rows in region D3 is greater than or equal to 2.
[0026] Based on this possible implementation, the number of non-zero elements in region D3 can be increased. Since the column index of region D3 in the base matrix is the same as that of region A3 in the base matrix, and the column weight of region A3 is less than or equal to 2, region D3 can be paired with region A3 to compensate for the loss of coding performance caused by double columns in region A. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0027] Combining the first and second aspects, one possible implementation is that all elements in region D2 are 0; or, the number of non-zero elements in any row of region D2 is 1.
[0028] Based on this possible implementation, the transmitting or receiving device can determine the elements in the D2 region, which simplifies the implementation of the D2 region and reduces its complexity. In addition, the above two methods can reduce the number of non-zero elements in the D2 region. Since the column index of the D2 region in the base matrix is the same as the column index of the A2 region in the base matrix, and the column weight of the A2 region is greater than 2, the D2 region can be paired with the A2 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0029] Combining the first and second aspects, one possible implementation is that all elements in region D3 are 1; or, the number of zero elements in region D3 is less than or equal to 5.
[0030] Based on this possible implementation, the transmitting or receiving device can determine the elements in the D3 region, which simplifies the implementation of the D3 region and reduces its complexity. In addition, the above two methods can result in a larger number of non-zero elements in the D3 region. Since the column index of the D3 region in the base matrix is the same as the column index of the A3 region in the base matrix, and the column weight of the A3 region is less than or equal to 2, the D3 region can be paired with the A3 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0031] Combining the first and second aspects, one possible implementation is that region D also includes region D4; wherein the column number corresponding to region D4 in matrix D is the same as the column number corresponding to region D2 in matrix D, and the column weight of region D4 is less than or equal to the third threshold.
[0032] Based on this possible implementation, the transmitting or receiving device can determine the D4 region, such that the number of non-zero elements in the D4 region is small. The column index of the D4 region in the D matrix is the same as the column index of the D2 region in the D matrix, which is equivalent to the column index of the D4 region in the base matrix being the same as the column index of the A2 region in the base matrix. Since the column weight of the A2 region is greater than 2, the D4 region can be paired with the A2 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0033] Combining the first and second aspects, one possible implementation is that the third threshold is 1; or, the third threshold is 2.
[0034] Based on this possible implementation, the flexibility and diversity of the third threshold determination can be increased. The transmitting or receiving device can determine the third threshold that meets communication requirements according to the actual communication scenario, thereby improving communication performance. Furthermore, a smaller third threshold results in fewer non-zero elements in region D4. Since the column indices of region D4 in the base matrix are the same as those of region A2, and the column weight of region A2 is greater than 2, region D4 can be paired with region A2 to compensate for the coding performance loss caused by the double columns in region A. This can improve coding performance while achieving a better minimum channel decoding threshold for the base matrix.
[0035] Combining the first and second aspects, one possible implementation is that all elements in region D4 are 0.
[0036] Based on this possible implementation, the transmitting or receiving device can determine the elements in the D4 region, which simplifies the implementation of the D4 region and reduces its complexity. In addition, the above method can make the number of non-zero elements in the D4 region zero. Since the column index of the D4 region in the base matrix is the same as the column index of the A2 region in the base matrix, and the column weight of the A4 region is greater than 2, the D4 region can be paired with the A2 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0037] Combining the first and second aspects, one possible implementation is that region D also includes region D5; wherein the column index of region D5 in matrix D is the same as the column index of region D3 in matrix D; region D5 includes a first sub-region and a second sub-region, the row index of the first sub-region in region D5 is the same as the row index of the second sub-region in region D5, the column index of the first sub-region in region D5 is different from the column index of the second sub-region in region D5, and the difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region is greater than or equal to a fourth threshold.
[0038] Based on this possible implementation, the transmitting or receiving device can determine the D5 region, such that the number of non-zero elements in the D5 region is relatively large. The column index of the D5 region in the D matrix is the same as the column index of the D3 region in the D matrix, which is equivalent to the column index of the D5 region in the base matrix being the same as the column index of the A3 region in the base matrix. Since the column weight of the A3 region is less than or equal to 2, the D5 region can be paired with the A3 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0039] In addition, if the difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region is greater than or equal to the fourth threshold, the minimum channel decoding threshold of the basis matrix can be optimized.
[0040] Combining the first and second aspects, one possible implementation is that the fourth threshold is 3; or, the fourth threshold is 2.
[0041] Based on this possible implementation, the flexibility and diversity of the fourth threshold determination can be increased. The sending or receiving device can determine the fourth threshold that meets the communication requirements according to the actual communication scenario, thereby improving communication performance.
[0042] Combining the first and second aspects, one possible implementation is that the number of columns in the first sub-region is greater than or equal to 2.
[0043] Based on this possible implementation, the number of non-zero elements in the first sub-region is relatively large. If the number of columns in the first sub-region is greater than or equal to 2, the number of non-zero elements in the D5 region can be increased. Since the column index of the D5 region in the base matrix is the same as the column index of the A3 region in the base matrix, and the column weight of the A3 region is less than or equal to 2, the D5 region can be paired with the A3 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0044] Combining the first and second aspects, one possible implementation is that all elements in the first sub-region are 1, and all elements in the second sub-region are 0; or, the number of zero elements in any column of the first sub-region is less than or equal to 1, and the number of non-zero elements in any column of the second sub-region is less than or equal to 1.
[0045] Based on this possible implementation, the transmitting or receiving device can determine the elements in the D5 region by determining the elements in the first and second sub-regions, which can simplify the implementation of the D5 region and reduce its complexity.
[0046] Combining the first and second aspects, one possible implementation is that the number of zero elements in the q-th column of region D3 is 1; the number of non-zero elements in the q-th column of region D5 is less than or equal to 1, or all elements in the q-th column of region D5 are 0; where q is a positive integer.
[0047] Combining the first and second aspects, one possible implementation is that all elements in the p-th column of region D3 are 1; the number of zero elements in the p-th column of region D5 is less than or equal to 1, or all elements in the p-th column of region D5 are 1; where p is a positive integer.
[0048] Based on the two possible implementations mentioned above, a joint design of regions D3 and D5 can be achieved, thereby optimizing the minimum channel decoding threshold of the basis matrix.
[0049] Combining the first and second aspects, one possible implementation is that the number of columns in region A3 is less than or equal to the sum of the number of rows in region A3 and the second preset value; or, the number of columns in region A3 is less than or equal to 6.
[0050] Based on this possible implementation, if the number of columns in the A3 region is too large, it will lead to poor encoding performance. Therefore, the encoding performance can be improved by limiting the number of columns in the A3 region to less than or equal to 6, or by limiting the number of columns in the A3 region to less than or equal to the sum of the number of rows in the A3 region and the second preset value.
[0051] Combining the first and second aspects, one possible implementation is that region A includes the information column and the core check column corresponding to the maximum code rate supported by the base matrix.
[0052] Based on this possible implementation, a feasible scheme is provided for determining region A, which can make the code rate corresponding to region A the maximum code rate supported by the base matrix.
[0053] Combining the first and second aspects, one possible implementation is as follows: the bitrate range supported by region A is a first preset range; the bitrate range supported by the first region is a second preset range, and the first region includes region A, region D2, and region D3; the bitrate range supported by the second region is a third preset range, and the second region includes region A, region D2, region D3, region D4, and region D5, wherein the second preset range includes the first preset range, and the third preset range includes the second preset range; the column index of region D4 in matrix D is the same as the column index of region D2 in matrix D, and the column weight of region D4 is less than or equal to a third threshold; region D5 includes a first sub-region and a second sub-region, the row index of the first sub-region in region D5 is the same as the row index of the second sub-region in region D5, the column index of the first sub-region in region D5 is different from the column index of the second sub-region in region D5, and the difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region is greater than or equal to a fourth threshold.
[0054] Based on this possible implementation, the code rate interval corresponding to the first region can be included within the code rate interval corresponding to the second region, where the first region does not include regions D4 and D5. When the code rate is lower than the maximum code rate supported by the base matrix or when hybrid automatic repeat request (HARQ) is supported, rows for encoding can be preferentially selected from regions D2 and D3 based on region A, which can improve coding performance while optimizing the minimum channel decoding threshold of the base matrix. Furthermore, when the code rate is even lower, rows for encoding can be selected from regions D4 and D5; that is, regions D4 and D5 include extended parity rows corresponding to lower code rates.
[0055] Combining the first and second aspects, one possible implementation is that region D also includes region D1; wherein the column index of region D1 in the base matrix is the same as the column index of region A1 in the base matrix, and the number of rows in region D1 is the same as the number of rows in region D.
[0056] Based on this possible implementation, the D1 region can include the punctured columns in the D region. That is, the columns in the A1 region and the D1 region can be punctured columns in the base matrix. During transmission, the punctured columns do not participate in transmission, but they participate in encoding and decoding, which can improve encoding performance.
[0057] Combining the first and second aspects, one possible implementation is that the basis matrix also includes regions C and E;
[0058] In this matrix, all elements in region C are 0, and the row number of region C in the basis matrix is the same as the row number of region A in the basis matrix; the row number of region E in the basis matrix is the same as the row number of region D in the basis matrix; region E is an identity matrix, or region E is a lower triangular matrix.
[0059] Based on this possible implementation, regions E and D can support additional HARQ checks, which can improve encoding performance.
[0060] In conjunction with the first or second aspect, one possible implementation is that the basis matrix can also be replaced with a cyclic shift matrix. For example, the 0s in the basis matrix can be replaced with the first value, and the 1s in the basis matrix can be replaced with the second value to obtain a cyclic shift matrix.
[0061] The first value can be any non-zero value other than the second value; for example, the first value can be -1.
[0062] The second value can be the number of cyclic shifts corresponding to the element in the i-th row and j-th column of the base matrix.
[0063] It is understandable that after replacing the base matrix with a cyclic shift matrix, the column weight of the cyclic shift matrix or any region within the cyclic shift matrix (such as region A, region D, etc.) can be the number of elements in a column of the cyclic shift matrix or any region within the cyclic shift matrix whose element is not the first value. For example, if the first value is -1 and the first column of the cyclic shift matrix is [250 69 -1 159 100 10-1 -1-1], the column weight of the first column can be 5. Similarly, the row weight of a cyclic shift matrix or any region within a cyclic shift matrix (such as region A, region D, etc.) can be the number of elements in a row of the cyclic shift matrix that are not the first value. For example, with the first value being -1, the row weight of the first column in the cyclic shift matrix [250 69 226 159 100 10-1 -1-1 59 229 110 191 9 -1 195 23 190 -1 35 239 311 0] can be 19.
[0064] Thirdly, embodiments of this application provide a communication device that can be applied to the transmitting end device described in the first aspect to realize the functions performed by the transmitting end device. The communication device can be the transmitting end device itself, or it can be a chip, chip system, or system-on-a-chip of the transmitting end device, etc. The communication device can execute the functions performed by the transmitting end device through hardware, or it can execute corresponding software through hardware. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations, or it can cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations, or it can cooperate with the transceiver module to complete the following processing operations, without limitation.
[0065] For example, the processing module is used to encode the information bit sequence with a low-density parity-check code according to the basis matrix to obtain a first sequence; the transceiver module is used to output the first sequence. The base matrix includes regions A and D. Region A includes rows 1 to m and columns 1 to n of the base matrix; region D includes rows (m+1) to the last row and columns 1 to n of the base matrix; m and n correspond to the maximum bitrate supported by the base matrix. Region A includes regions A1, A2, and A3. Region A1 includes the column with the largest column weight X in the base matrix, where X is a positive integer less than or equal to 4; region A2 includes columns in region A with a column weight greater than 2 (excluding region A1); region A3 includes columns in region A with a column weight less than or equal to 2. Region D includes regions D2 and D3. The row number of region D2 in region D is the same as the row number of region D3 in region D; the column number of region D2 in the base matrix is the same as the column number of region A2 in region A; the column number of region D3 in region D is the same as the column number of region A3 in region A; the maximum row weight of region D2 is less than the minimum row weight of region D3.
[0066] Optionally, the transceiver module and processing module of the communication device in the third aspect may also perform the corresponding functions in the first aspect or any possible design of the first aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.
[0067] Fourthly, embodiments of this application provide a communication device that can be applied to the receiving device described in the second aspect to realize the functions performed by the receiving device. The communication device can be the receiving device itself, or it can be a chip, chip system, or system-on-a-chip of the receiving device. The communication device can execute the functions performed by the receiving device through hardware or through corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations or cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations or cooperate with the transceiver module to complete the following processing operations, without limitation.
[0068] For example, the transceiver module is used to receive the information to be decoded; the processing module is used to decode the information to be decoded according to the basis matrix of the low-density parity-check code to obtain the decoding result. The base matrix includes regions A and D. Region A includes rows 1 to m and columns 1 to n of the base matrix; region D includes rows (m+1) to the last row and columns 1 to n of the base matrix; m and n correspond to the maximum bitrate supported by the base matrix. Region A includes regions A1, A2, and A3. Region A1 includes the column with the largest column weight X in the base matrix, where X is a positive integer less than or equal to 4; region A2 includes columns in region A with a column weight greater than 2 (excluding region A1); region A3 includes columns in region A with a column weight less than or equal to 2. Region D includes regions D2 and D3. The row number of region D2 in region D is the same as the row number of region D3 in region D; the column number of region D2 in the base matrix is the same as the column number of region A2 in region A; the column number of region D3 in region D is the same as the column number of region A3 in region A; the maximum row weight of region D2 is less than the minimum row weight of region D3.
[0069] Optionally, the transceiver module and processing module of the communication device in the fourth aspect may also perform the corresponding functions in the second aspect or any possible design of the second aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.
[0070] Fifthly, embodiments of this application provide a communication device, which includes one or more processors; the one or more processors are configured to run computer programs or instructions, such that when the one or more processors execute the computer instructions or instructions, the encoding method described in the first aspect is executed, or the decoding method described in any of the second aspects is executed.
[0071] In one possible design, the communication device further includes one or more memories coupled to one or more processors, the memories used to store the aforementioned computer programs or instructions. In one possible implementation, the memories are located outside the communication device. In another possible implementation, the memories are located inside the communication device. In embodiments of this application, the processor and memory may also be integrated into a single device, i.e., the processor and memory may be integrated together. In one possible implementation, the communication device further includes a transceiver for receiving and / or transmitting information.
[0072] In one possible design, the communication device further includes one or more communication interfaces coupled to one or more processors, and the communication interfaces are used to communicate with other modules outside the communication device.
[0073] In a sixth aspect, embodiments of this application provide a communication device, which includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the encoding method as described in any aspect of the first aspect, to process and / or generate information based on the information, or to execute the decoding method as described in any aspect of the second aspect, to process and / or generate information based on the information.
[0074] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the encoding method described in the first aspect to be executed, or the decoding method described in any of the second aspects to be executed.
[0075] Eighthly, embodiments of this application provide a computer program product containing computer instructions that, when run on a computer, causes the encoding method described in the first aspect to be executed, or the decoding method described in any of the second aspects to be executed.
[0076] Ninthly, embodiments of this application provide a computer program that, when run on a computer, causes the encoding method described in the first aspect to be executed, or the decoding method described in any of the second aspects to be executed.
[0077] In a tenth aspect, embodiments of this application provide a chip, including: a processor coupled to a memory, the memory being used to store programs or instructions, wherein when the program or instructions are executed by the processor, an encoding method as described in the first aspect is executed, or a decoding method as described in any of the second aspects is executed.
[0078] The technical effects of any of the design methods in aspects three through ten are similar to those in aspects one and two above, and will not be elaborated upon further.
[0079] Eleventhly, embodiments of this application provide a communication system that may include communication means for performing the communication as described in the first aspect or any possible design of the first aspect, and communication means for performing the communication as described in the second aspect or any possible design of the second aspect. Attached Figure Description
[0080] Figure 1 A schematic diagram of a basis matrix provided in an embodiment of this application;
[0081] Figure 2 A schematic diagram of a verification matrix provided in an embodiment of this application;
[0082] Figure 3 A schematic diagram of a communication system provided in an embodiment of this application;
[0083] Figure 4 A schematic diagram illustrating encoding and decoding of a transmitting end device and a receiving end device according to an embodiment of this application;
[0084] Figure 5 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0085] Figure 6 A flowchart illustrating an encoding and decoding method provided in an embodiment of this application;
[0086] Figure 7 A schematic diagram of region A provided in an embodiment of this application;
[0087] Figure 8 A schematic diagram of a D2 region provided in an embodiment of this application;
[0088] Figure 9 A schematic diagram of a D3 region provided in an embodiment of this application;
[0089] Figure 10 A schematic diagram of region D provided in an embodiment of this application;
[0090] Figure 11 This is a schematic diagram of the structure of a basis matrix provided in an embodiment of this application;
[0091] Figure 12 A schematic diagram of a basis matrix provided in an embodiment of this application;
[0092] Figure 13 A schematic diagram of another basis matrix provided in an embodiment of this application;
[0093] Figure 14 A schematic diagram of a cyclic shift matrix provided in an embodiment of this application;
[0094] Figure 15 This is a schematic diagram of the structure of a transmitting device provided in an embodiment of this application;
[0095] Figure 16 This is a schematic diagram of the structure of a receiving device provided in an embodiment of this application;
[0096] Figure 17 This is a schematic diagram of another communication device provided in an embodiment of this application;
[0097] Figure 18 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0098] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.
[0099] LDPC code: LDPC code is a channel coding scheme that is very close to Shannon line. It has the characteristics of good coding performance and low complexity. It has been selected by the 3rd generation partnership project (3GPP) as the channel coding scheme for the 5th generation (5G) mobile communication system.
[0100] Among them, LDPC code decoding algorithms can be min-sum (MS) decoding and belief propagation (BP) decoding. BP decoding has better decoding performance, but it requires more information storage and has higher computational complexity, making it less suitable for hardware implementation. MS decoding has poorer decoding performance, but its computational complexity is lower and it is easier to implement in hardware. Therefore, in practical communication systems, offset MS decoding and normalized MS decoding algorithms are commonly used.
[0101] Among them, LDPC codes can achieve channel coding through generator matrices. The mainstream LDPC codes are quasi-cyclic (QC) structures, that is, by setting the shift amount of each block, bad structures such as short cycles can be avoided as much as possible, thereby improving the code distance.
[0102] The generator matrix of the QC-LDPC code can be determined by the basis matrix. For example, the transmitting device can determine the generator matrix based on the basis matrix (which can be denoted as H). BGThe parity check matrix is determined, and then the generator matrix can be determined based on the parity check matrix.
[0103] Basis matrices: Basis matrices have a common basis matrix structure. For example, such as... Figure 1 As shown, the base matrix can include parts A, B, C, D, and E. Part A corresponds to information bits (or information columns, system bits, etc.), such as a high-bit-rate information column region. Part B is a square matrix corresponding to core parity bits (or core parity digits). Core parity bits can be the parity bits corresponding to the highest bit-rate (or can be described as a high-bit-rate core parity region), or parity bits with a degree greater than or equal to 2, or parity bits corresponding to the row with the highest row weight (or a row weight significantly higher than other rows) (row weight is the number of 1s in a row). Part C can be a zero matrix, Part D can be the incremental redundancy region of the base matrix (corresponding to a low-bit-rate matrix), and Part E can be the extended parity region of the base matrix. Part E can be used for HARQ.
[0104] Part B and Part E are both verification parts. Part B is defined as the core verification region. One possible feature is a non-lower triangular encoding part (i.e., the values of elements above the diagonal are not all 0), or an encoding part with a column weight (the number of 1s in a column) greater than 1. Part E is defined as the extended verification region. One possible feature is a lower triangular encoding part (i.e., the values of elements above the diagonal are all 0), or a diagonal matrix.
[0105] It is understood that the high bit rate in the embodiments can also be referred to as a higher bit rate, and the low bit rate can also be referred to as a lower bit rate.
[0106] in, Figure 1 The area within the dashed box represents the punctured columns. The first two columns of the base matrix are also punctured columns, which have a relatively high column weight. During transmission, the punctured columns do not participate in the transmission process, but they are involved in both encoding and decoding.
[0107] The graph model of the basis matrix (which can be simply called the base graph (BG)) can be represented as: BG = (X, Y, F); where X corresponds to the variable, Y corresponds to the check equation associated with the variable, and F corresponds to the edge relationship between the variable and the check equation associated with the variable.
[0108] It is understandable that the elements in the basis matrix can be 0 or 1. A value of 0 represents an empty element, a value of 1 represents the relationship between the verification equation and the variable, or it can represent the connection of the basis graph.
[0109] The parity check matrix can be obtained by expanding the base matrix according to the expansion factor (which can be denoted as Zc). For example, the transmitting device can expand the 0s in the base matrix into a Zc×Zc all-zero matrix and expand the 1s in the base matrix into a Zc×Zc cyclic shift matrix to obtain the parity check matrix.
[0110] The expansion factor can also be called the boosting factor, expansion value, expansion coefficient, or boosting size, and there is no restriction on its usage.
[0111] The graph model of the parity-check matrix (which can be simply called a Tanner graph or a bipartite graph) can be represented as: G = (V, C, E), where V corresponds to variable nodes, C corresponds to parity nodes, and E corresponds to the edge relationships between variable nodes and parity nodes. In a Tanner graph, a cycle is defined as a structure that starts from a vertex, follows non-repeating edges, passes through non-repeating vertices, and finally returns to the starting point. Since the Tanner graph is bipartite, the length of its cycles can only be an even number greater than 2, such as 4, 6, or 8. Short cycles are very detrimental to LDPC codes. For example, short cycles can form trap sets, significantly affecting the code distance of LDPC codes; or, short cycles can introduce correlations into the BP decoding algorithm, leading to inaccurate mutual information estimation. Therefore, short cycles should be avoided as much as possible in the design of LDPC codes.
[0112] It is understandable that the number of columns N in the parity check matrix can be represented as: N = |V| = Zc|X|, the number of rows M in the parity check matrix can be represented as: M = |C| = Zc|Y|, and the number of non-zero elements in the parity check matrix is: |E| = Zc|F|. Here, |·| can be understood as the size of the set corresponding to (·). For example, in |V|, V can be understood as the set of columns in the parity check matrix, and |V| is the size of the set of columns in the parity check matrix.
[0113] For example, the common matrix structure of the check matrix can be as follows: Figure 2 As shown, the parity-check matrix can include a high-rate region, an all-zero region, an incremental redundancy region, and a raptor-like region. The high-rate region can include... Figure 1 Parts A and B are shown; the all-zero region may include Figure 1 Part C shown is an all-zero matrix; the incremental redundancy region may include Figure 1 Part D shown; the class-Laputa region may include Figure 1 The E part shown can be an identity matrix, corresponding to the parity bits of the low-rate spread.
[0114] It is understandable that the parity-check matrix and the base matrix described above are designed according to the lowest possible code rate (i.e., capable of encoding the information bit sequence at the lowest possible code rate). When the code rate changes, the upper left part of the parity-check matrix can be truncated for encoding (equivalent to truncating the upper left part of the base matrix for encoding). As the code rate decreases, one or more rows, one or more columns can be added (e.g., ...). Figure 2 The area shown by the dashed line in the diagram is the matrix region used for encoding. For the base matrix, taking part A as an example with 22 columns of information columns, part B as 4 columns of core check columns, and 2 columns of punched columns, the code rate supported by regions A and B can be 22 / (22+4-2)=11 / 12≈0.917.
[0115] Based on the above description of the basis matrix and parity check matrix, the core region of the basis matrix can include multiple double columns (i.e., columns with a weight of 2, or columns with 2 non-zero elements). Although including multiple double columns in the core region of the basis matrix can improve the minimum channel decoding threshold of the basis matrix (corresponding to the performance of the basis graph), it will reduce the coding performance of the LDPC code (corresponding to the performance of the parity check matrix).
[0116] The minimum channel decoding threshold can be understood as the minimum threshold required to perform channel decoding. Decoding below this threshold will result in a higher bit error rate, affecting the reliability of communication. The minimum channel decoding threshold can also be described as threshold performance, threshold performance, etc.
[0117] The coding performance of LDPC codes can be understood as the bit error rate (or block error rate). Therefore, reducing the coding performance of LDPC codes can be understood as increasing the bit error rate (or block error rate).
[0118] Therefore, how to improve coding performance (such as reducing the bit error rate) while optimizing the minimum channel decoding threshold of the basis matrix has become an urgent problem to be solved.
[0119] This application provides an encoding method, which includes: a transmitting device encoding an information bit sequence using a low-density parity-check code based on a basis matrix to obtain a first sequence; and outputting the first sequence. The base matrix includes regions A and D. Region A includes rows 1 to m and columns 1 to n of the base matrix; region D includes rows (m+1) to the last row and columns 1 to n of the base matrix; m and n correspond to the maximum bitrate supported by the base matrix. Region A includes regions A1, A2, and A3. Region A1 includes the column with the largest column weight X in the base matrix, where X is a positive integer less than or equal to 4; region A2 includes columns in region A with a column weight greater than 2 (excluding region A1); region A3 includes columns in region A with a column weight less than or equal to 2. Region D includes regions D2 and D3. The row number of region D2 in region D is the same as the row number of region D3 in region D; the column number of region D2 in the base matrix is the same as the column number of region A2 in region A; the column number of region D3 in region D is the same as the column number of region A3 in region A; the maximum row weight of region D2 is less than the minimum row weight of region D3.
[0120] In this embodiment, region A may include regions A1, A2, and A3. Region A2 may include columns in region A other than region A1 with a column weight greater than 2, and region A3 may include columns in region A with a column weight less than or equal to 2. Since the maximum row weight of region D2 is less than the minimum row weight of region D3, the number of non-zero elements in region D2 can be less than the number of non-zero elements in region D3. This results in fewer non-zero elements in region D2 with the same column index as region A2 in the base matrix, and more non-zero elements in region D3 with the same column index as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the coding performance loss caused by the double columns in region A. It can improve coding performance (such as reducing the bit error rate) while optimizing the minimum channel decoding threshold of the base matrix, thereby improving communication performance.
[0121] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0122] The encoding and decoding methods provided in this application can be used in any communication system, such as a 3GPP communication system, for example, a long term evolution (LTE) system, or a 5G mobile communication system, a hybrid LTE and 5G network system, a new radio (NR) vehicle-to-everything (V2X) system, a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an Internet of Things (IoT) system, a narrow band Internet of Things (NB-IoT) system, an ultra-reliable and low-latency communication (URLLC) system, an enhanced machine-type communication (eMTC) system, and various types of future communication systems. They can also be non-terrestrial network (NTN) systems (such as satellite communication systems), non-3GPP communication systems, etc., without limitation.
[0123] The following is based on Figure 3 Taking an example, the communication system provided in the embodiments of this application will be described.
[0124] Figure 3 A schematic diagram of a communication system provided in an embodiment of this application is shown below. Figure 3 As shown, the communication system may include at least one terminal device and at least one network device.
[0125] in, Figure 3 The terminal device can be located within the beam / cell coverage area of the network device, and the network device can provide communication services to the terminal device. For example, the network device can use channel coding to encode downlink data and then transmit it to the terminal device via air interface after constellation modulation (i.e., the network device is the transmitting device, and the terminal device is the receiving device); the terminal device can also use channel coding to encode uplink data and then transmit it to the network device via air interface after constellation modulation (i.e., the terminal device is the transmitting device, and the network device is the receiving device). It is understood that when network devices communicate with each other, or when terminal devices communicate with each other, communication can also be based on channel coding; that is, the transmitting and receiving devices can both be network devices or both be terminal devices, without restriction.
[0126] Figure 3 The terminal equipment in this context can be a device with wireless transceiver capabilities or a chip or chip system that can be configured on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. Terminal equipment can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc.
[0127] For example, a terminal device can be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. A terminal device can also be a user station, mobile station, remote station, remote terminal device, mobile terminal device, user terminal device, wireless communication device, user agent, user device, cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device, processing device connected to a wireless modem, in-vehicle device, wearable device, terminal device in the Internet of Things (IoT), home appliance, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in autonomous driving, wireless terminal in telemedicine, wireless terminal in smart grid, wireless terminal in smart city, wireless terminal in smart home, vehicle with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicle, or unmanned aerial vehicle (UAV) communication. Unmanned aerial vehicles (UAVs) with U2U (toUAV, U2U) communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs) are not subject to restrictions.
[0128] in, Figure 3The network device in this application can be any device deployed in the access network capable of wireless communication with terminal devices. It can also be a chip or chip system that can be configured in the aforementioned device, a logical node or logical module, or a function implemented in software. It is primarily responsible for functions such as air interface-side wireless physical control, resource scheduling, wireless resource management, quality of service management, data compression and encryption, wireless access control, and mobility management. Specifically, the network device can be a device supporting wired access or a device supporting wireless access. Alternatively, in this embodiment, the apparatus for implementing the functions of the network device can be the network device itself; it can also be an apparatus capable of supporting the network device in implementing these functions, such as a chip system, hardware circuit, software module, or a hardware circuit plus a software module. This apparatus can be installed in the network device or used in conjunction with the network device. In this embodiment, the example of a network device for implementing the functions of the network device is used only and does not constitute a limitation on the scheme of this embodiment.
[0129] For example, a network device can consist of one or more access network (AN) / radio access network (RAN) nodes. AN / RAN nodes can be various types of base stations, such as: satellite base stations, evolved Node Bs (gNBs), transmission reception points (TRPs), evolved Node Bs (eNBs), radio network controllers (RNCs), Node Bs (NBs), base station controllers (BSCs), base transceiver stations (BTSs), home base stations (e.g., home evolved Node Bs, or home Node Bs (HNBs), macro base stations, micro base stations, pico base stations, small cells, relay stations, balloon stations, drone stations, wireless backhaul nodes, baseband units (BBUs), or wireless fidelity (Wi-Fi) access points (APs), etc. It is understood that network devices can be terrestrial devices or non-terrestrial devices (such as satellites, drones, high-altitude communication equipment, etc.). Furthermore, in communication systems employing different wireless access technologies, the names of network devices with base station functions may differ, and this application does not impose any restrictions on this.
[0130] In another example, the network equipment may include a BBU and a remote radio unit (RRU). The BBU and RRU can be located in different places; for example, the RRU can be moved remotely to a high-traffic area, while the BBU is located in the central equipment room. The BBU and RRU can also be located in the same equipment room. The BBU and RRU can also be different components under the same rack.
[0131] In another example, the network device can be a device that includes centralized unit (CU) nodes, distributed unit (DU) nodes, or both CU and DU nodes. For instance, the network device can be logically divided into CUs and DUs, with some protocol layer functions centrally controlled by the CU, and the remaining partial or complete protocol layer functions distributed in the DU, which is centrally controlled by the CU. The CU and DU can be separate entities or included in the same network element, such as a BBU. Furthermore, the centralized unit (CU) can be further divided into a control plane (CU-CP) and a user plane (CU-UP).
[0132] In another example, the network device may also be a device that includes a radio unit (RU), or a device that includes a CU, a DU, and a RU. The RU may be included in a radio frequency device or radio frequency unit, such as an RRU, an active antenna unit (AAU), or a remote radio head (RRH).
[0133] It is understood that CU (or CU-CP and CU-UP), DU, or RU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radioaccess network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through a software module, a hardware module, or a combination of software and hardware modules.
[0134] Network devices and / or terminal devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites. This application does not limit the scenario in which the network devices and terminal devices are located. Furthermore, terminal devices and network devices can be hardware devices, or software functions running on dedicated hardware or general-purpose hardware, such as virtualization functions instantiated on a platform (e.g., a cloud platform), or entities that include dedicated or general-purpose hardware devices and software functions. This application does not limit the specific form of the terminal devices and network devices.
[0135] Based on the above description of the terminal device and network device, optionally, the encoding method and decoding method provided in the embodiments of this application can be implemented by the aforementioned terminal device or network device, or by components of the terminal device or network device, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or software (such as program code in memory) deployed in the terminal device or network device, without limitation.
[0136] Optionally, in the embodiments of this application, the transmitting device (or source) and the receiving device (or sink) can adopt the following... Figure 4 The process shown involves encoding and decoding. The transmitting device can be... Figure 3 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 3 Any terminal device or network device in the communication system shown.
[0137] In this process, the transmitting device performs source coding on its generated bits to obtain a source bit stream. Then, it performs channel coding on the source bit stream, modulates it, and transmits the modulated symbols to the receiving device through a noisy channel. When the receiving device receives the modulated symbols through the noisy channel, it demodulates them, performs channel decoding to recover the source bit stream, and then performs source decoding to obtain the decoded result.
[0138] In practical implementation, Figure 3 As shown in the figure: various terminal devices and network devices can adopt Figure 5 The shown composition structure, or including Figure 5 The components shown. Figure 5This is a schematic diagram of the structure of a communication device 500 provided in an embodiment of this application. The communication device 500 can be a terminal device or a chip or system-on-a-chip within a terminal device; it can also be a network device or a chip or system-on-a-chip within a network device. Figure 5 As shown, the communication device 500 includes a processor 501, a transceiver 502, and a communication line 503.
[0139] Furthermore, the communication device 500 may also include a memory 504. The processor 501, memory 504, and transceiver 502 can be connected via a communication line 503.
[0140] The processor 501 can be a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 501 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.
[0141] Transceiver 502 is used to communicate with other devices or other communication networks. These other communication networks can be Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc. Transceiver 502 can be a module, circuit, transceiver, or any device capable of enabling communication.
[0142] Communication line 503 is used to transmit information between the components included in communication device 500.
[0143] Memory 504 is used to store instructions. These instructions can be computer programs.
[0144] The memory 504 can be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions; it can also be a random access memory (RAM) or other type of dynamic storage device that can store information and / or instructions; it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, etc., without limitation.
[0145] The memory 504 can exist independently of the processor 501 or be integrated with it. The memory 504 can be used to store instructions, program code, or data. The memory 504 can be located inside or outside the communication device 500, without limitation. The processor 501 is used to execute the instructions stored in the memory 504 to implement the encoding and decoding methods provided in the following embodiments of this application.
[0146] In one example, processor 501 may include one or more CPUs, for example Figure 5 CPU0 and CPU1 in the CPU.
[0147] As an optional implementation, the communication device 500 includes multiple processors, for example, besides Figure 5 In addition to processor 501, it may also include processor 507.
[0148] As an optional implementation, the communication device 500 also includes an output device 505 and an input device 506. For example, the input device 506 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 505 is a device such as a display screen or speaker.
[0149] The communication device 500 can be a desktop computer, laptop computer, network server, mobile phone, tablet computer, wireless terminal, embedded device, chip system, or other similar device. Figure 5 Equipment with a similar structure. Furthermore... Figure 5 The structural composition shown does not constitute a limitation on the communication device, except... Figure 5 In addition to the components shown, the communication device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.
[0150] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.
[0151] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.
[0152] The following is combined with Figure 3 The communication system shown refers to the following Figure 6 The encoding and decoding methods provided in the embodiments of this application are described, wherein the transmitting device can be... Figure 3 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 3 Any terminal device or network device in the communication system shown. The transmitting or receiving device described in the following embodiments may have... Figure 5 The component shown.
[0153] Figure 6 A flowchart of an encoding method and a decoding method provided for embodiments of this application is shown below. Figure 6 As shown, the method may include:
[0154] Step 601: The transmitting device encodes the information bit sequence using a low-density parity-check code based on the base matrix to obtain the first sequence.
[0155] Specifically, the transmitting device can expand the base matrix according to the expansion factor to obtain the parity check matrix, and then encode the information bit sequence using low-density parity check code according to the parity check matrix to obtain the first sequence. Alternatively, the transmitting device can expand the base matrix according to the expansion factor to obtain the parity check matrix; further, the transmitting device can determine the generator matrix according to the parity check matrix, and then encode the information bit sequence using low-density parity check code according to the generator matrix to obtain the first sequence.
[0156] The generator matrix G and the parity check matrix H can satisfy the following formula: HG Τ =0; or, the generating matrix and the parity check matrix can satisfy the following formula: GH Τ =0.
[0157] The length of the information bit sequence can be K, where K is a positive integer. For example, the information bit sequence may include information bits and cyclic redundancy check (CRC) bits, where K can be the sum of the number of information bits and the number of CRC bits in the information bit sequence. Alternatively, the information bit sequence may include only the information bits themselves without CRC bits, where K can be the number of information bits.
[0158] The basis matrix includes regions A and D.
[0159] In this context, region A includes rows 1 to m and columns 1 to n of the base matrix. That is, the elements in region A can be elements in rows 1 to m and columns 1 to n of the base matrix; or, region A can include elements in rows 1 to m and columns 1 to n of the base matrix; or, region A can be the area containing elements in rows 1 to m and columns 1 to n of the base matrix.
[0160] Where m and n are both positive integers, and m and n correspond to the maximum bitrate supported by the base matrix. For example, region A may include the information column and core check column corresponding to the maximum bitrate supported by the base matrix. That is, m can be the number of rows of the information column (or core check column) corresponding to the maximum bitrate supported by the base matrix, and n can be the sum of the number of columns of the information column and the number of columns of the core check column corresponding to the maximum bitrate supported by the base matrix.
[0161] Optionally, if the base matrix includes an irregular repeat-accumulate (IRA) coding structure, m can be the number of rows included in the IRA coding structure, and n can be the number of columns in the base matrix other than the all-zero matrix.
[0162] The IRA coding structure is a matrix structure that encodes LDPC codes through repetition and accumulation. This can make the coding complexity of the parity check matrix linear, that is, it can reduce the coding complexity of the parity check matrix.
[0163] For example, in the LDPC coding definition of the 3GPP standard Release 15, the core parity-check matrix is a 4x4 IRA coding structure. In this application, the IRA coding structure can be understood as the core parity-check column corresponding to the maximum code rate supported by the base matrix.
[0164] In this application, unless otherwise specified, the columns included in any region (such as region A, region D, etc. mentioned above) can be consecutive columns of the base matrix or non-consecutive columns (such as the columns of region A2 can be located in the 3rd and 9th columns of the base matrix); similarly, the rows included in any region can be consecutive rows of the base matrix or non-consecutive rows, without restriction.
[0165] Among them, a non-continuous column can be any two columns that are not continuous (i.e., completely non-continuous), or it can be that at least two columns are not continuous (i.e., partially non-continuous); similarly, a non-continuous row can be any two rows that are not continuous (i.e., completely non-continuous), or it can be that at least two rows are not continuous (i.e., partially non-continuous).
[0166] Area A includes areas A1, A2, and A3.
[0167] Optionally, the number of rows in region A1, region A2, and region A3 are all m. That is, region A1 can include one or more columns from region A, region A2 can include one or more columns from region A, region A3 can include one or more columns from region A, and the intersection of the columns included in region A1, region A2, and region A3 is an empty set.
[0168] Optionally, the sum of the number of columns in region A1, region A2, and region A3 can be n.
[0169] The A1 region includes the X column with the largest column weight in the base matrix; or it can be described as the A1 region including the elements in the X column with the largest column weight that are located in region A; or it can be described as the A1 region including the elements in region A that are located in the X column with the largest column weight in the base matrix; or it can be described as the A1 region including rows 1 to m of the third region; or it can be described as the A1 region being the intersection of the third region and region A. The third region includes the X column with the largest column weight in the base matrix. That is, the column weight of this X column is greater than or equal to the column weight of any column in the base matrix other than this X column, or this X column is the first X column in the base matrix when the column weights are sorted from largest to smallest.
[0170] Where X is a positive integer less than or equal to 4. For example, X can be 1, or X can be 2, or X can be 3, or X can be 4. See the description of region A1 below for details, which will not be repeated here.
[0171] Column weight can be understood as the number of non-zero elements in a column of any region. For example, if the elements in the first column of region A are [0 11 1 1 1 1], the column weight of the first column can be 6.
[0172] In this context, region A2 includes all columns in region A except region A1 that have a column weight greater than 2 (or 3 or greater). For example, if region A contains 10 columns and X is 2, assuming the column weight of column 1 in region A is S1, column 2 is S2, column 3 is S3, ..., column 10 is S10, and region A1 includes columns 1 and 2 of region A, then region A2 can include columns 3 through 10 of region A that have a column weight greater than 2. If S3, S8, and S9 are all greater than 2, region A2 can include columns 3, 8, and 9 of region A; or, if S3, S4, and S5 are all greater than 2, region A2 can include columns 3, 4, and 5 of region A.
[0173] The A3 area includes columns in the A area whose column weight is less than or equal to 2. Taking a 10-column A area with X = 2 as an example, assuming the column weight of column 1 in A area is S1, column 2 is S2, column 3 is S3, ..., column 10 is S10, if S4, S5, S6, and S7 are all less than or equal to 2, the A3 area can include columns 4, 5, 6, and 7 in the A area; or, if S6, S7, S8, and S9 are all less than or equal to 2, the A3 area can include columns 6, 7, 8, and 9 in the A area.
[0174] Optionally, the number of columns in area A3 can be less than or equal to the sum of the number of rows in area A3 and the second preset value (or it can be replaced by the number of columns in area A3 being less than the sum of the number of rows in area A3 and the second preset value); or, the number of columns in area A3 can be less than or equal to the seventh threshold (or it can be replaced by the number of columns in area A3 being less than the seventh threshold).
[0175] For example, the second preset value can be 1; or, the second preset value can be 2.
[0176] The seventh threshold can be predefined, or it can be determined based on the actual communication scenario or situation. For example, the seventh threshold can be 6.
[0177] In one example, taking a second preset value of 1 as an example, the number of columns in area A3 can be less than or equal to m+1 (the number of rows in area A3 is m). For example, the number of columns in area A3 can be m; or, the number of columns in area A3 can be m+1; or, the number of columns in area A3 can be m-1.
[0178] In another example, the number of columns in area A3 can be 6; or, the number of columns in area A3 can be 5; or, the number of columns in area A3 can be 4; or, the number of columns in area A3 can be 3; or, the number of columns in area A3 can be 2.
[0179] The sending device can determine the number of columns in the A3 region based on one of the two examples above, or it can determine the number of columns in the A3 region based on both examples above, without restriction.
[0180] Understandably, a large number of columns in region A3 leads to poor encoding performance. Therefore, limiting the number of columns in region A3 to less than or equal to 6, or limiting the number of columns in region A3 to less than or equal to the sum of the number of rows in region A3 and a second preset value, can improve encoding performance by making the number of columns in region A3 smaller. Furthermore, simulations show that encoding performance is better when the number of columns in region A3 is less than or equal to 6.
[0181] Optionally, the sending device can determine the columns in region A with a column weight of less than or equal to 2 as region A3 based on column weight, and can also determine that the number of columns in region A3 is less than or equal to the sum of the number of rows in region A3 and the second preset value (or the number of columns in region A3 can be less than or equal to the seventh threshold).
[0182] Understandably, after the sending device determines regions A1 and A3, the columns in region A excluding regions A1 and A3 constitute region A2. In other words, the number of columns in region A2 is the difference between the number of columns in region A and a third value, where the third value is the sum of the number of columns in regions A1 and A3.
[0183] The D region includes the (m+1)th row to the last row of the base matrix, and the 1st to the nth columns.
[0184] It is understandable that the number of columns in region D is the same as the number of columns in region A, and the sum of the number of rows in region D and the number of rows in region A is equal to the number of rows in the basis matrix. Furthermore, the rows in region D are consecutive to the rows in region A.
[0185] In this context, region D comprises regions D2 and D3. The row number corresponding to region D2 in region D is the same as the row number corresponding to region D3 in region D. In other words, the e-th row of region D2 and the e-th row of region D3 are in the same position within region D (or, more accurately, both the e-th row of region D2 and the e-th row of region D3 are located at the f-th row of region D). This means that the e-th row of region D2 can include one or more elements from the f-th row of region D, and the e-th row of region D3 can include one or more elements from the f-th row of region D. Here, e is a positive integer less than or equal to the number of rows in region D2, and f is a positive integer less than or equal to the number of rows in region D.
[0186] It is understandable that the number of rows in region D2 is the same as the number of rows in region D3.
[0187] In this matrix, the column index of region D2 is the same as the column index of region A2. That is, the g-th column of region D2 and the g-th column of region A2 are in the same position in the base matrix (or, as can be understood, both the g-th column of D2 and the g-th column of A2 are located in the h-th column of the base matrix). In other words, the g-th column of region D2 can include one or more elements from the h-th column of the base matrix, and the g-th column of region A2 can include one or more elements from the h-th column of the base matrix. Here, g is a positive integer less than or equal to the number of columns in region D2, and h is a positive integer less than or equal to the number of columns in the base matrix.
[0188] The number of columns in region D2 is the same as the number of columns in region A2.
[0189] Understandably, the transmitting device can determine the D2 region based on the A2 region. For example, if the A2 region includes the 3rd, 8th, and 9th columns of the A region, the columns in the A2 region can correspond to the 3rd, 8th, and 9th columns of the base matrix (i.e., the columns in the A2 region are contained in the 3rd, 8th, and 9th columns of the base matrix, or the columns in the A2 region are located in the 3rd, 8th, and 9th columns of the base matrix). Then, the columns in the D2 region can correspond to the 3rd, 8th, and 9th columns of the base matrix (i.e., the columns in the D2 region are contained in the 3rd, 8th, and 9th columns of the base matrix, or the columns in the D2 region are located in the 3rd, 8th, and 9th columns of the base matrix).
[0190] In this matrix, the column index of region D3 is the same as the column index of region A3. That is, the u-th column of region D3 and the u-th column of region A3 are in the same position in the base matrix (or, as can be understood, both the u-th column of region D3 and the u-th column of region A3 are located in the v-th column of the base matrix). Specifically, the u-th column of region D3 can include one or more elements from the v-th column of the base matrix, and the u-th column of region A3 can include one or more elements from the v-th column of the base matrix. Here, u is a positive integer less than or equal to the number of columns in region D3, and v is a positive integer less than or equal to the number of columns in the base matrix.
[0191] The number of columns in region D3 is the same as the number of columns in region A3.
[0192] Understandably, the transmitting device can determine the D3 region based on the A3 region. For example, if the A3 region includes columns 4, 5, 6, and 7 of the A region, the columns in the A3 region can correspond to columns 4, 5, 6, and 7 of the base matrix (i.e., the columns in the A3 region are contained within columns 4, 5, 6, and 7 of the base matrix, or the columns in the A3 region are located in columns 4, 5, 6, and 7 of the base matrix). Therefore, the columns in the D3 region can also correspond to columns 4, 5, 6, and 7 of the base matrix (i.e., the columns in the D3 region are contained within columns 4, 5, 6, and 7 of the base matrix, or the columns in the D3 region are located in columns 4, 5, 6, and 7 of the base matrix).
[0193] In this context, the maximum row weight in region D2 is less than the minimum row weight in region D3. Alternatively, this can be understood as the row weight of any row in region D2 being less than the row weight of any row in region D3. Or, it can be understood as the number of non-zero elements in region D2 being less than the number of non-zero elements in region D3.
[0194] Here, row weight can be understood as the number of non-zero elements in a row of any region in this application (such as region A, region D, region A1, region A2, region A3, region D2, region D3, etc. mentioned above). For example, if the elements in the first row of region D2 are [0 1 0 0 0 0 0 0], the row weight of the first row can be 1.
[0195] Step 602: The transmitting device outputs the first sequence; correspondingly, the receiving device receives the decoding information from the transmitting device.
[0196] Optionally, the transmitting device can perform rate matching on the first sequence to obtain a rate-matched bit sequence.
[0197] Optionally, the transmitting device can modulate the rate-matched bit sequence to obtain a modulated symbol sequence; or, the transmitting device can interleave the rate-matched bit sequence to obtain an interleaved bit sequence, and then modulate the interleaved bit sequence to obtain a modulated symbol sequence.
[0198] It is understandable that the modulation symbol sequence sent by the transmitting device to the receiving device may be affected by noise and other interference when transmitted through the channel. The demodulated information received by the receiving device is a modulation symbol sequence affected by noise and other interference.
[0199] Optionally, the receiving device can demodulate the information to be demodulated to obtain the information to be decoded.
[0200] Step 603: The receiving device decodes the information to be decoded based on the basis matrix of the low-density parity-check code to obtain the decoding result.
[0201] Specifically, the receiving device can expand the base matrix according to the expansion factor to obtain the parity check matrix; further, the receiving device can determine the generator matrix according to the parity check matrix, and then decode the information to be decoded according to the generator matrix to obtain the decoding result.
[0202] The method by which the receiving device determines the parity check matrix can be referred to the content of the sending device determining the parity check matrix in this application, and will not be repeated here.
[0203] The content of the base matrix determined by the receiving device can be referred to in the description of the base matrix determined by the transmitting device in this application, and will not be repeated here.
[0204] Optionally, if the transmitting device interleaves the rate-matched bit sequence, the receiving device can deinterleave the information to be decoded to obtain a deinterleaved bit sequence, and then de-rate-match the deinterleaved bit sequence to obtain a de-rate-matched bit sequence; otherwise, the receiving device can de-rate-match the information to be decoded to obtain a de-rate-matched bit sequence.
[0205] Optionally, the receiving device can decode the rate-matched bit sequence based on the basis matrix of the low-density parity-check code to obtain the decoding result.
[0206] based on Figure 6 The encoding and decoding methods shown can be implemented in three regions: A1, A2, and A3. Region A2 can include columns in region A with a column weight greater than 2 (excluding A1), and region A3 can include columns in region A with a column weight less than or equal to 2. Since the maximum row weight of region D2 is less than the minimum row weight of region D3, the number of non-zero elements in region D2 can be less than the number of non-zero elements in region D3. This results in fewer non-zero elements in region D2 with the same column index as region A2 in the base matrix, and more non-zero elements in region D3 with the same column index as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the encoding performance loss caused by the double columns in region A. It can improve encoding performance (e.g., reduce the bit error rate) while optimizing the minimum channel decoding threshold of the base matrix, thereby improving communication performance.
[0207] In this application, the number of rows in any region can be understood as the number of rows included in that region; similarly, the number of columns in any region can be understood as the number of columns included in that region. Furthermore, the rows included in any region can be understood as rows in the base matrix composed of elements located within that region. For example, if the first row of the base matrix has N elements, and the first n elements of the first row are located in region A, then the elements of the first row of region A can be the first n elements of the first row of the base matrix (i.e., the elements of the first row, column 1 to column n of the base matrix). Similarly, the columns included in any region can be understood as columns in the base matrix composed of elements located within that region. For example, if the first column of the base matrix has M elements, and the first m elements of the first column are located in region A, then the elements of the first column of region A can be the first m elements of the first column of the base matrix (i.e., the elements of the first column, row 1 to row m of the base matrix).
[0208] In addition, the starting column in any region can be called the first column, and this application can also be applied to scenarios where the starting column is the 0th column; similarly, the starting row in any region can be called the first row, and this application can also be applied to scenarios where the starting row is the 0th row.
[0209] based on Figure 6 The description of region A1 can include the X column with the largest column weight in the base matrix. For example, if region A includes rows 1 to m and columns 1 to n of the base matrix, and assuming that the X column with the largest column weight in the base matrix is columns 1 to 2, then region A1 can include rows 1 to m and columns 1 to 2 of the base matrix.
[0210] In this context, the column X with the largest column weight in the base matrix can be understood as follows: If there exists a column X1 in the base matrix with the largest and equal column weight, then if X1 is greater than or equal to X, column X can be determined from that column X1 as the column with the largest column weight in the base matrix. If X1 is less than X, the column weights of the base matrix can be arranged in descending order, and the column X at the beginning of the order can be determined as the column with the largest column weight in the base matrix. Therefore, any two columns in the column X with the largest column weight in the base matrix can have the same column weight, or at least two columns in the column X with the largest column weight in the base matrix can have different column weights, or any two columns in the column X with the largest column weight in the base matrix can have different column weights; there are no restrictions.
[0211] Optionally, the base matrix may contain multiple columns (more than X) with the same and largest column weight. The A1 region may include the first X columns of the above columns; or, the A1 region may include any X columns of the above multiple columns without restriction.
[0212] For example, taking region A as the first to fourth rows of the base matrix, and X as 2, assume that the base matrix has 10 columns, and the column weight of the first column is S1, the column weight of the second column is S2, the column weight of the third column is S3, ..., the column weight of the tenth column is S10, and S1, S2, S3, and S4 are equal, and any one of S1, S2, S3, and S4 is greater than any one of S5, S6, ..., S10. Therefore, region A1 can include rows 1 to 4 of the base matrix, as well as columns 1 and 2 (or it can be understood that region A1 can include columns 1 and 2 of region A); or, region A1 can include rows 1 to 4 of the base matrix, as well as columns 1 and 3 (or it can be understood that region A1 can include columns 1 and 3 of region A); or, region A1 can include rows 1 to 4 of the base matrix, as well as columns 1 and 4; or, region A1 can include rows 1 to 4 of the base matrix, as well as columns 2 and 3 (or it can be understood that region A1 can include columns 2 and 3 of region A).
[0213] The columns included in the A1 region above are merely examples. The A1 region may include any two columns from the 1st, 2nd, 3rd, and 4th columns of the base matrix. The above example does not limit this application.
[0214] Optionally, region A1 may include punched columns of the basis matrix, which can be understood as the Xth column with the largest column weight in the basis matrix. For example, the punched columns of the basis matrix may be the 1st to the Xth columns of the basis matrix.
[0215] Based on the above analysis of region A1 and... Figure 6 The description of region A includes regions A1, A2, and A3. This application proposes a possible embodiment where elements in region A are as follows: Figure 7 As shown, assuming X is 2, area A1 can include columns 1 and 2 of area A; area A2 can include columns in area A with a column weight greater than 2, excluding those in area A1, i.e., area A2 can include columns 3, 4, 5, 6, 7, 8, 9, 10, and 11 of area A; area A3 can include columns in area A with a column weight less than or equal to 2, i.e., area A3 can include columns 12, 13, and 14 of area A.
[0216] based on Figure 6Regarding the description of regions D2 and D3, this application optionally proposes two possible designs to determine the elements in regions D2 and D3. In the first possible design, the elements in region D2 can be determined based on the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2; similarly, the elements in region D3 can be determined based on the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3. In the second possible design, the elements in region D2 can be determined based on the number of non-zero elements in region D2; similarly, the elements in region D3 can be determined based on the number of non-zero elements in region D3.
[0217] The first possible design is described below:
[0218] Wherein, the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 can be less than or equal to the first threshold (or can be replaced by the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 can be less than the first threshold), and the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 can be greater than or equal to the second threshold (or can be replaced by the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 can be greater than the second threshold); wherein, the first threshold is less than the second threshold.
[0219] The first threshold can be predefined, or it can be determined based on the actual communication scenario or situation. For example, the first threshold can be 0.1; or, the first threshold can be 0.2.
[0220] Understandably, a smaller first threshold results in fewer non-zero elements in region D2. Since the column index of region D2 in the base matrix is the same as that of region A2, and the column weight of region A2 is greater than 2, region D2 can be paired with region A2 to compensate for the loss of coding performance caused by the double columns in region A. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0221] The second threshold can be predefined, or it can be determined based on the actual communication scenario or situation. For example, the second threshold can be 0.8; or, the second threshold can be 0.9.
[0222] Understandably, a larger second threshold results in a greater number of non-zero elements in region D3. Since the column index of region D3 in the base matrix is the same as that of region A3, and the column weight of region A3 is less than or equal to 2, region D3 can be paired with region A3 to compensate for the loss in coding performance caused by the double columns in region A. This can improve coding performance while achieving a better minimum channel decoding threshold for the base matrix.
[0223] Optionally, the network device may determine a first threshold or a second threshold based on the actual communication scenario or communication situation, and indicate the first threshold or the second threshold to the terminal device through the first indication information.
[0224] In this application, the network device can be either a transmitting device or a receiving device; the terminal device can also be either a transmitting device or a receiving device. Furthermore, when the first threshold or the second threshold is predefined, the network device can directly determine the first threshold or the second threshold, which can reduce the workload of the network device and also reduce transmission overhead. When the network device determines the first threshold or the second threshold based on the actual communication scenario or communication situation, the network device can dynamically determine the first threshold or the second threshold, which can improve the flexibility and versatility of the determination of the first threshold or the second threshold; at the same time, it can make the determined first threshold or the second threshold better meet communication needs, thereby improving communication performance.
[0225] For example, with a first threshold of 0.1 and a second threshold of 0.8, the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 can be less than or equal to 0.1, and the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 can be greater than or equal to 0.8.
[0226] Understandably, the transmitting device can determine a first threshold and a second threshold such that the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 is less than or equal to the first threshold, and the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 is greater than or equal to the second threshold. This results in the number of non-zero elements in region D2 being less than the number of non-zero elements in region D3. Consequently, there are fewer non-zero elements in region D2 with the same column number as region A2 in the base matrix, and more non-zero elements in region D3 with the same column number as region A3 in the base matrix. When the code rate is less than the maximum code rate supported by the base matrix, the transmitting or receiving device can encode the information bit sequence based on some or all rows in regions D2 and D3, as well as region A. This allows regions D2 and D3 to compensate for the coding performance loss caused by the double columns in region A, thereby improving coding performance while optimizing the minimum channel decoding threshold of the base matrix.
[0227] Furthermore, by using the relationship between the ratio of the number of non-zero elements in region D2 (or region D3) to the total number of elements in region D2 (or region D3) and a threshold, the elements in region D2 (or region D3) can be determined. Even if the total number of elements in region D2 (or region D3) changes, the number of non-zero elements in region D2 (or region D3) can still be determined by the first threshold (or second threshold), ensuring that the number of non-zero elements in region D2 (or region D3) meets the communication requirements.
[0228] Based on the first possible design, the ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 being less than or equal to the first threshold can also be replaced by the number of non-zero elements in region D2 being less than or equal to the product of the first threshold and the total number of elements in region D2, rounded down. Similarly, the ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 being greater than or equal to the second threshold can also be replaced by the number of non-zero elements in region D3 being greater than or equal to the product of the second threshold and the total number of elements in region D3, rounded down.
[0229] In this application, unless otherwise specified, rounding can be done by rounding up, rounding down, rounding to the nearest whole number, or rounding to the nearest whole number; there are no restrictions.
[0230] For example, taking region D2 as having 3 rows, 9 columns, and region D3 as having 3 columns, assuming the first threshold is 0.1, the total number of elements in region D2 is determined to be 27. Also assuming the first threshold is 0.1, the number of non-zero elements in region D2 can be less than or equal to 2 (i.e.,...). It can be determined that the total number of elements in region D3 is 9. Assuming the second threshold is 0.8, the number of non-zero elements in region D3 can be greater than or equal to 7 (i.e., ...). ).
[0231] in, This indicates rounding down to the nearest integer.
[0232] In the second possible design, the number of non-zero elements in region D2 can be less than or equal to the fifth threshold (or it can be replaced by the number of non-zero elements in region D2 being less than the fifth threshold); the number of non-zero elements in region D3 can be greater than or equal to the sixth threshold (or it can be replaced by the number of non-zero elements in region D3 being greater than the sixth threshold).
[0233] The fifth threshold can be predefined, or it can be determined based on the actual communication scenario or communication situation.
[0234] It is understandable that network devices can determine the fifth threshold based on the actual communication scenario or communication situation, and indicate the fifth threshold to the terminal device through the second indication information.
[0235] The sixth threshold can be predefined, or it can be determined based on the actual communication scenario or communication situation.
[0236] It is understandable that network devices can determine the sixth threshold based on the actual communication scenario or communication situation, and indicate the sixth threshold to the terminal device through the third indication information.
[0237] Optionally, the fifth threshold may be less than the sixth threshold; or, the fifth threshold may be equal to the sixth threshold, without restriction.
[0238] Understandably, when the fifth or sixth threshold is predefined, network devices can directly determine the fifth or sixth threshold, reducing their workload and transmission overhead. However, when network devices determine the fifth or sixth threshold dynamically based on the actual communication scenario or situation, this increases the flexibility and versatility of threshold determination, allowing the determined threshold to better meet communication needs and thus improve communication performance.
[0239] Based on the two possible designs mentioned above, the elements in region D2 (or region D3) can be determined based on the first possible design, or based on the second possible design, or based on a combination of the first and second possible designs, without restriction.
[0240] Optionally, the number of rows in region D3 can be associated with the number of rows in region A.
[0241] Specifically, the number of rows in region D3 and the number of rows in region A can satisfy one or more of the following preset conditions:
[0242] Preset condition 1: The number of rows in region D3 can be less than or equal to the sum of the number of rows in region A and the first preset value (or it can be replaced by the number of rows in region D3 being less than the sum of the number of rows in region A and the first preset value).
[0243] Preset condition 2: The number of rows in region D3 can be greater than or equal to 2 (or it can be replaced with the number of rows in region D3 being greater than 2).
[0244] For example, the first preset value can be 0; or, the first preset value can be 1; or, the first preset value can be 2.
[0245] In the first example, for preset condition 1, taking the number of rows in region A as 4, assuming the first preset value is 0, the number of rows in region D3 can be less than or equal to 4. For example, the number of rows in region D3 can be 4, or the number of rows in region D3 can be 3, or the number of rows in region D3 can be 2, or the number of rows in region D3 can be 1.
[0246] In the second example, for preset condition 2, the number of rows in region D3 can be 2; or, the number of rows in region D3 can be 3; or, the number of rows in region D3 can be 4; or, the number of rows in region D3 can be 5.
[0247] In the third example, for preset conditions 1 and 2, taking the number of rows in region A as 4, assuming the first preset value is 0, the number of rows in region D3 can be less than or equal to 4, and the number of rows in region D3 can be greater than or equal to 2. For example, the number of rows in region D3 can be 4, or the number of rows in region D3 can be 3, or the number of rows in region D3 can be 2.
[0248] It is understandable that the number of rows in region D2 is the same as the number of rows in region D3. The above description of the number of rows in region D3 also applies to region D2, so it will not be repeated here.
[0249] Understandably, for preset condition 1, having a smaller number of rows in region D3 reduces the number of edges in region D3, resulting in a better minimum channel decoding threshold for the base matrix. That is, region D3 has a larger number of non-zero elements (or, more densely packed non-zero elements). Increasing the number of rows in region D3 increases the number of edges, leading to a lower minimum channel decoding threshold and impacting communication performance. Conversely, for preset condition 2, having a larger number of non-zero elements in region D3 is beneficial. Since the column indices of region D3 and region A3 in the base matrix are the same, and the column weight of region A3 is less than or equal to 2, region D3 can be paired with region A3 to compensate for the performance loss caused by the double columns in region A. This can improve coding performance while maintaining a better minimum channel decoding threshold for the base matrix.
[0250] Based on the above description of region D2, the column index of region D2 in the base matrix is the same as the column index of region A2 in the base matrix. This application proposes two possible embodiments to determine the elements of region D2:
[0251] In a first possible embodiment, all elements in region D2 can be 0. For example, region A2... Figure 7 As shown in area A2, taking area D2 with 3 rows as an example, area D2 can have 9 columns, and any element in area D2 can be 0. Area D2 can be as follows: Figure 8 As shown in (a) in the figure.
[0252] In a second possible embodiment, the number of non-zero elements in any row of region D2 can be 1. That is, in any row of region D2, there is one element that is 1, and all other elements are 0. For example, consider region A2 as follows: Figure 7 As shown in area A2, taking area D2 with 3 rows as an example, area D2 can have 9 columns. Assuming the element in row 1, column 1 of area D2 is 1, the element in row 2, column 2 is 1, and the element in row 3, column 1 is 1, area D2 can be defined as follows: Figure 8 As shown in (b) of the diagram.
[0253] Based on the two possible implementations described above, the transmitting device can determine the elements in the D2 region, which simplifies the implementation of the D2 region and reduces its complexity. In addition, the two methods described above can reduce the number of non-zero elements in the D2 region. Since the column index of the D2 region in the base matrix is the same as the column index of the A2 region in the base matrix, and the column weight of the A2 region is greater than 2, the D2 region can be paired with the A2 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0254] Based on the above description of region D3, the column index of region D3 in the base matrix is the same as the column index of region A3 in the base matrix. This application proposes three possible embodiments to determine the elements in region D3:
[0255] In a first possible embodiment, all elements in region D3 can be 1. For example, region A3... Figure 7 As shown, taking a region D3 with 3 rows as an example, the number of columns in region D3 can be 3, and any element in region D3 can be 1. Region D3 can be as follows: Figure 9 As shown in (a) in the figure.
[0256] In a second possible embodiment, the number of zero elements in region D3 can be less than or equal to 5. For example, the number of zero elements in region D3 can be 1; or, the number of zero elements in region D3 can be 2; or, the number of zero elements in region D3 can be 3; or, the number of zero elements in region D3 can be 4; or, the number of zero elements in region D3 can be 5.
[0257] For example, take area A3 as an example. Figure 7 As shown in area A3, taking area D3 with 3 rows as an example, area D3 can have 3 columns. Assuming the number of zero elements in area D3 is 1, area D3 can be as follows: Figure 9 As shown in (b), the element in the first row and second column of the D3 area can be 0, and all other elements can be 1.
[0258] In a third possible embodiment, region D3 can be designed in conjunction with region D5. The specific design method and region D5 can be referred to the following description of region D5, which will not be repeated here.
[0259] Based on the above three possible embodiments, the transmitting device can determine the elements in the D3 region, which can simplify the implementation of the D3 region and reduce the implementation complexity. In addition, the above two methods can make the number of non-zero elements in the D3 region larger. Since the column index of the D3 region in the base matrix is the same as the column index of the A3 region in the base matrix, and the column weight of the A3 region is less than or equal to 2, the D3 region can be paired with the A3 region to make up for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0260] Based on the above description of regions D2 and D3, region D may include regions D2 and D3, and optionally, region D may also include region D4.
[0261] In this case, the column number corresponding to region D4 in matrix D is the same as the column number corresponding to region D2 in matrix D; this can be understood as the column number corresponding to region D4 in the base matrix being the same as the column number corresponding to region A2 in the base matrix; or it can be understood as the column number corresponding to region D4 in the base matrix being the same as the column number corresponding to region D2 in the base matrix.
[0262] In other words, the g-th column of region D4 and the g-th column of region A2 are in the same position in the base matrix (or it can be understood that the g-th column of region D4 and the g-th column of region A2 are both located in the h-th column of the base matrix). That is, the g-th column of region D4 can include one or more elements of the h-th column of the base matrix, and the g-th column of region A2 can include one or more elements of the h-th column of the base matrix.
[0263] In addition, the g-th column of region D4, the g-th column of region D2, and the g-th column of region A2 are in the same position in the base matrix (or it can be described as the g-th column of region D4, the g-th column of region D2, and the g-th column of region A2 all being located in the h-th column of the base matrix).
[0264] The number of columns in region D4, region D2, and region A2 are equal.
[0265] Optionally, the column weight of the D4 region can be less than or equal to the third threshold (or it can be replaced by the column weight of the D4 region being less than the third threshold).
[0266] The third threshold can be predefined, or it can be determined based on the actual communication scenario or communication conditions. For example, the third threshold can be 1; or, the third threshold can be 2.
[0267] Understandably, a smaller third threshold results in fewer non-zero elements in region D4. Since the column index of region D4 in the base matrix is the same as that of region A2, and the column weight of region A2 is greater than 2, region D4 can be paired with region A2 to compensate for the loss of coding performance caused by the double columns in region A. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0268] Optionally, the network device may determine the third threshold based on the actual communication scenario or communication situation, and indicate the third threshold to the terminal device through the fourth indication information.
[0269] In the case where the third threshold is predefined, the network device can directly determine the third threshold, which can reduce the workload of the network device and reduce transmission overhead. When the network device determines the third threshold based on the actual communication scenario or situation, it can dynamically determine the third threshold, improving the flexibility and versatility of the determination; this also allows the determined third threshold to better meet communication needs, thereby improving communication performance.
[0270] This application proposes two possible embodiments for determining elements in the D4 region:
[0271] In a first possible embodiment, all elements in region D4 can be 0.
[0272] In a second possible embodiment, the column weight of any column in the D4 region can be less than or equal to 1 (or described as the number of non-zero elements in any column of the D4 region can be less than or equal to 1). For example, the number of non-zero elements in any column of the D4 region can be 1; or, the number of non-zero elements in some columns of the D4 region can be 1, and the number of non-zero elements in other columns can be 0.
[0273] For example, taking region D4 as having 3 rows and 3 columns, assuming that the number of non-zero elements in each of the 1st and 3rd columns of region D4 is 1, and the number of non-zero elements in the 2nd column is 0, the matrix corresponding to region D4 can be:
[0274] Optionally, region D may also include region D5.
[0275] In this case, the column number corresponding to region D5 in matrix D is the same as the column number corresponding to region D3 in matrix D; this can be understood as the column number corresponding to region D5 in the base matrix being the same as the column number corresponding to region A3 in the base matrix; or it can be understood as the column number corresponding to region D5 in the base matrix being the same as the column number corresponding to region D3 in the base matrix.
[0276] For example, the u-th column of region D5 and the u-th column of region A3 are in the same position in the base matrix (or it can be understood that the u-th column of region D5 and the u-th column of region A3 are both located in the v-th column of the base matrix). That is, the u-th column of region D5 may include one or more elements of the v-th column of the base matrix, and the u-th column of region A3 may include one or more elements of the v-th column of the base matrix. Furthermore, the u-th column of region D5, the y-th column of region D3, and the v-th column of region A3 are in the same position in the base matrix.
[0277] The number of columns in area D5, area D3, and area A3 are equal.
[0278] Optionally, the D5 area may include a first sub-area and a second sub-area. The row number of the first sub-area in the D5 area is the same as the row number of the second sub-area in the D5 area, but the column number of the first sub-area in the D5 area is different from the column number of the second sub-area in the D5 area.
[0279] The number of rows in the first sub-region is the same as the number of rows in the second sub-region; the number of columns in the first sub-region can be the same as or different from the number of columns in the second sub-region.
[0280] Optionally, the number of columns in the first sub-region can be greater than or equal to 2 (or it can be replaced by the number of columns in the first sub-region being greater than 2).
[0281] It is understandable that the number of non-zero elements in the first sub-region is relatively large. If the number of columns in the first sub-region is greater than or equal to 2, the number of non-zero elements in the D5 region can be increased. Since the column index of the D5 region in the base matrix is the same as the column index of the A3 region in the base matrix, and the column weight of the A3 region is less than or equal to 2, the D5 region can be paired with the A3 region to compensate for the loss of coding performance caused by the double columns in the A region. This can improve coding performance while making the minimum channel decoding threshold of the base matrix better.
[0282] For example, taking a first sub-region with 2 columns as an example, the first sub-region may include the 1st and 3rd columns of the D5 region, and the second sub-region may include all columns of the D5 region except for the 1st and 2nd columns.
[0283] Among them, the difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region can be greater than or equal to the fourth threshold (or it can be replaced by the difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region can be greater than the fourth threshold).
[0284] The fourth threshold can be predefined, or it can be determined based on the actual communication scenario or communication conditions. For example, the fourth threshold can be 3; or it can be 2.
[0285] Optionally, the network device may determine the fourth threshold based on the actual communication scenario or communication situation, and indicate the fourth threshold to the terminal device through the fifth indication information.
[0286] In the case where the fourth threshold is predefined, the network device can directly determine the fourth threshold, which can reduce the workload of the network device and reduce transmission overhead. When the network device determines the fourth threshold based on the actual communication scenario or situation, it can dynamically determine the fourth threshold, improving the flexibility and versatility of the determination; this also allows the determined fourth threshold to better meet communication needs, thereby improving communication performance.
[0287] This application proposes three possible embodiments for determining elements in the D5 region:
[0288] In a first possible embodiment, all elements in the first sub-region can be 1, and all elements in the second sub-region can be 0. For example, taking a region D5 with 3 columns and 3 rows, assuming the first sub-region includes the 1st and 3rd columns of region D5, and the second sub-region includes the 2nd column of region D5, then the matrix corresponding to region D5 can be:
[0289] In a second possible embodiment, the number of zero elements in any column of the first sub-region can be less than or equal to 1 (or can be replaced by the number of zero elements in any column of the first sub-region being less than 1), and the number of non-zero elements in any column of the second sub-region can be less than or equal to 1 (or can be replaced by the number of non-zero elements in any column of the second sub-region being less than 1). For example, the number of zero elements in any column of the first sub-region can be 1, and the number of non-zero elements in any column of the second sub-region can be 1; or, the number of zero elements in any column of the first sub-region can be 0, and the number of non-zero elements in any column of the second sub-region can be 1; or, the number of zero elements in any column of the first sub-region can be 1, and the number of non-zero elements in any column of the second sub-region can be 0.
[0290] For example, taking region D5 as having 3 columns and 3 rows, assuming the first sub-region includes columns 1 and 3 of region D5, the second sub-region includes column 2 of region D5, the number of zero elements in any column of the first sub-region can be 1 (e.g., the element in the first row of the first sub-region is 0), and the number of non-zero elements in any column of the second sub-region can be 1 (e.g., the element in the first row of the second sub-region is 1), then the matrix corresponding to region D5 can be:
[0291] Based on the first and second possible embodiments, the transmitting device can determine the elements in the D5 region by determining the elements in the first and second sub-regions, which can simplify the implementation of the D5 region and reduce its implementation complexity.
[0292] In a third possible embodiment, regions D3 and D5 can be designed jointly. If the number of zero elements in the q-th column of region D3 is 1, the number of non-zero elements in the q-th column of region D5 can be less than or equal to 1, or all elements in the q-th column of region D5 can be 0. Similarly, if all elements in the p-th column of region D3 are 1, the number of zero elements in the p-th column of region D5 can be less than or equal to 1, or all elements in the p-th column of region D5 can be 1.
[0293] Where q is a positive integer, and q can be less than or equal to the number of columns in the D5 region.
[0294] Where p is a positive integer, and p can be less than or equal to the number of columns in the D5 region.
[0295] Based on the third possible embodiment, a joint design of the D3 and D5 regions can be achieved, thereby optimizing the minimum channel decoding threshold of the basis matrix.
[0296] Optionally, region D may also include region D1. The column indices of region D1 in the base matrix are the same as those of region A1 in the base matrix, and the number of rows in region D1 is the same as the number of rows in region D. In other words, region D1 may include column X, which has the largest row weight in the base matrix. For details, please refer to the description of region A1 above; it will not be repeated here.
[0297] It is understandable that the columns included in the region formed by regions A1 and D1 can be the X column with the largest row weight in the base matrix.
[0298] Based on the above description of region D, this application proposes a possible embodiment in which region D may include region D1, region D2, region D3, region D4, and region D5. Region D can be as follows: Figure 10 As shown, if region A1 includes the first X columns of region A, then region D1 can include the first X columns of region D. Figure 10 In (a), region D4 can be located below region D2, and region D5 can be located below region D3; Figure 10 In (b), region D4 can be located above region D2, and region D5 can be located above region D3.
[0299] Among them, regions D2 and D3 are located in the same row of region D, and regions D4 and D5 are located in the same row of region D.
[0300] Understandable Figure 10 The D region in the example is for illustrative purposes only. Any column within the D region can be either consecutive or non-consecutive, depending on the A1, A2, and A3 regions. Figure 10This does not impose any restrictions on region D.
[0301] Furthermore, even if region D4 is above region D2 and region D5 is above region D3, and the bit rate is lower than the maximum bit rate supported by the base matrix or HARQ, the rows in regions D2 and D3 of region D can still be preferentially selected for encoding.
[0302] Based on the above description of regions A and D, optionally, the range of bitrates supported by region A is a first preset range (the first preset range may include the maximum bitrate supported by the base matrix) (or it can be replaced by the bitrate supported by region A being the maximum bitrate supported by the base matrix), the range of bitrates supported by the first region can be a second preset range, and the range of bitrates supported by the second region can be a third preset range.
[0303] The first region may include region A, region D1, region D2, and region D3; or, the first region may include region A2, region A3, region D1, region D2, and region D3.
[0304] The second region may include region A, region D1, region D2, region D3, region D4, and region D5; or, the second region may include region A1, region A2, region A3, region D1, region D2, region D3, region D4, and region D5.
[0305] The second preset interval may include the first preset interval. For example, the maximum value corresponding to the first preset interval may be equal to the maximum value of the bitrate corresponding to the second preset interval, and the minimum value of the bitrate corresponding to the first preset interval may be greater than the minimum value of the bitrate corresponding to the second preset interval.
[0306] The third preset interval may include the second preset interval. For example, the maximum bitrate corresponding to the second preset interval may be equal to the maximum bitrate corresponding to the third preset interval, and the minimum bitrate corresponding to the second preset interval may be greater than the minimum bitrate corresponding to the third preset interval. Correspondingly, the maximum bitrate corresponding to the first preset interval may be equal to the maximum bitrate corresponding to the third preset interval or the maximum bitrate corresponding to the second preset interval, and the minimum bitrate corresponding to the first preset interval may be greater than the minimum bitrate corresponding to the second preset interval or the minimum bitrate corresponding to the third preset interval.
[0307] It is understandable that the code rate range corresponding to the first region can be included within the code rate range corresponding to the second region, where the first region does not include regions D4 and D5. When the code rate is lower than the maximum code rate supported by the base matrix or when HARQ is supported, rows for encoding can be preferentially selected from regions D2 and D3 based on region A. This can improve coding performance while optimizing the minimum channel decoding threshold of the base matrix. Furthermore, when the code rate is even lower, rows for encoding can be selected from regions D4 and D5; that is, regions D4 and D5 include the extended parity lines corresponding to the lower code rate.
[0308] Based on the above description of regions A and D, the basis matrix may include regions A and D. Optionally, the basis matrix may also include regions C and E.
[0309] In this matrix, all elements in region C are 0, and the row number of region C in the basis matrix is the same as the row number of region A in the basis matrix.
[0310] It is understandable that the number of rows in region C is the same as the number of rows in region A.
[0311] In this matrix, the row number corresponding to region E is the same as the row number corresponding to region D. Furthermore, the column number corresponding to region E is the same as the column number corresponding to region C.
[0312] For example, the number of rows in region E is equal to the number of columns. For instance, region E can be an identity matrix, or it can be a lower triangular matrix.
[0313] It is understandable that the number of rows in region E is the same as the number of rows in region D; and the number of columns in region E is the same as the number of columns in region C.
[0314] Based on the above description of the basis matrix, this application provides a possible embodiment in which the basis matrix may include regions A, D, C, and E, such as... Figure 11 As shown, region A can include regions A1, A2, and A3; region D can include regions D1, D2, D3, D4, and D5; all elements in region C can be 0; and region E can be an identity matrix.
[0315] in, Figure 11 In (a), region D is Figure 10 Region D in (a) of the diagram. Figure 11 In (b), region D is Figure 10 Region D in (b) of the diagram.
[0316] It is understandable that the design process of the basis matrix provided in this application involves dividing the basis matrix into regions and determining matrix features for different regions to achieve the design of each region. This enables the design of a structural basis matrix and simplifies the implementation of the basis matrix. In addition, through region division, it is easier to design a basis matrix with better coding performance. Therefore, the basis matrix provided in this application has corresponding regional features and can provide better coding performance.
[0317] Based on the above description of the basis matrix, this application proposes a possible embodiment in which the basis matrix may include region A, region D, region C and region E.
[0318] Region A can include regions A1, A2, and A3, and the elements in region A can be as follows: Figure 7 As shown, range A1 can include the first and second columns of range A (i.e., the column weight of range A1 is greater than or equal to the column weight of all columns in range A excluding A1). Elements in range A1 can be as follows: Figure 12 or Figure 13 As shown in area A1; area A2 can include columns 3 to 11 of area A (i.e., the column weight of area A2 is greater than 2), and the elements in area A2 can be as follows: Figure 12 or Figure 13 As shown in area A2; area A3 can include columns 12 to 14 of area A (i.e., the column weight of area A3 is less than or equal to 2), and the elements in area A3 can be as follows: Figure 12 or Figure 13 As shown in region A3.
[0319] The D region can include D1, D2, D3, D4, and D5 regions. The sending device can determine that the D1 region includes the first and second columns of the D region based on the A1 region, and the column weight of the D1 region is greater than or equal to the column weight of all columns in the D region except for the D1 region. The elements in the D1 region can be as follows: Figure 12 or Figure 13 As shown in region D1. Region D3 (or region D2) can have 3 rows (i.e., the number of rows in region D3 can be less than or equal to the sum of the number of rows in region A and the first preset value, and greater than or equal to 2). Assuming that regions D2 and D3 are above regions D4 and D5 (e.g., Figure 10 As shown in (a), regions D2 and D3 can include rows 1 to 3 of region D, and regions D4 and D5 can include rows 4 to 8 of region D.
[0320] Furthermore, the transmitting device can determine the D2 region (or D4 region) based on the A2 region, including columns 1 to 9 of the D region (i.e., columns 1 to 9 of the D region and columns 3 to 11 of the A region are all located in columns 3 to 11 of the base matrix), and determine the D3 region (or D5 region) based on the A3 region, including columns 10 to 12 of the D region (i.e., columns 10 to 12 of the D region and columns 12 to 14 of the A region are all located in columns 12 to 14 of the base matrix).
[0321] The elements in region D2 can be as follows: Figure 12 or Figure 13 As shown in region D2 (i.e., all elements in region D2 are 0); the elements in region D3 can be as follows: Figure 12 As shown in region D3 (i.e., all elements in region D3 are 1), or, the elements in region D3 can be as follows: Figure 13 As shown in region D3 (i.e., the number of zero elements in region D3 is less than or equal to 5 (e.g., the number of zero elements in region D3 can be 1)); the elements in region D4 can be as follows Figure 12 or Figure 13 As shown in region D4 (i.e., the number of non-zero elements in region D4 is less than or equal to the second threshold, e.g., the number of non-zero elements in region D4 is 7); region D5 can include a first sub-region (e.g., the first sub-region can include columns 1 and 3 of region D5) and a second sub-region (e.g., the second sub-region can include column 2 of region D5). The number of zero elements in any column of the first sub-region can be 1, and the number of non-zero elements in any column of the second sub-region can be 0. Then, the elements in region D5 can be as follows: Figure 12 or Figure 13 As shown in region D5.
[0322] The C region can include rows 1 to 3 and columns 15 to 22 of the base matrix. Elements in the C region can be as follows: Figure 12 or Figure 13 As shown in region C (i.e., all elements in region C can be 0).
[0323] The E region can include rows 5 to 12 and columns 15 to 22 of the base matrix. Elements in the E region can be as follows: Figure 12 or Figure 13 The E region is shown in the diagram (i.e., the matrix corresponding to the E region can be the identity matrix).
[0324] Encoding the information bit sequence based on the basis matrix in the above possible embodiments, when the code rate is less than or equal to the maximum code rate supported by the basis matrix, compared to encoding based on the basis... Figure 2The corresponding basis matrix encodes the information bit sequence, which can improve the signal-to-noise ratio (SNR) by 0.01 dB, thus improving coding performance.
[0325] In step 601, the transmitting device can expand the base matrix according to the expansion factor to obtain the parity check matrix. For example, the expansion factor can be contained in an expansion factor list, as shown in Table 1. Different set indices in Table 1 correspond to different expansion factor sets, and each expansion factor set can include multiple expansion factors.
[0326] Table 1 List of expansion factors
[0327] <![CDATA[Set index (i LS )]]> expansion factor set 0 {2,4,8,16,32,64,128,256} 1 {3,6,12,24,48,96,192,384} 2 {5,10,20,40,80,160,319} 3 {7,14,28,56,112,224} 4 {9,18,36,72,144,288} 5 {11,22,44,88,176,352} 6 {13,26,52,104,208} 7 {15,30,60,120,240}
[0328] Wherein, the set index i of the expansion factor set LS The corresponding element can be represented as a i It can be called the base. The set of natural numbers, The initial value is 1. For example, using set index i LS Taking 1 as an example, max(k1) is 7, k1∈{0,1,2,3,4,5,6,7}, a1=2, then the set index i LS The set of extended factors associated with 1 is {2, 4, 8, 16, 32, 64, 128, 256}. For example, using set index i... LS For example, if the value is 7, then max(k7) is 4, k7∈{0,1,2,3,4}, and a7=15, then the set index i LS The set of extended factors associated with 7 is {15,30,60,120,240}.
[0329] Specifically, the transmitting device can expand the 0s in the base matrix into a Zc×Zc all-zero matrix, and expand the 1s in the base matrix into a Zc×Zc cyclic shift matrix.
[0330] For example, the transmitting device can expand the 1 in the i-th row and j-th column of the base matrix into a Zc×Zc cyclic shift matrix, that is, it can cyclically shift the Zc×Zc identity matrix by P. i,j Next, P i,j SV is the shifting value (SV) corresponding to the i-th row and j-th column of the base matrix.
[0331] For example, taking a 4x4 identity matrix as an example, the result of cyclically shifting the identity matrix once can be as follows: Figure 14As shown in (a), the result of cyclically shifting the identity matrix twice can be as follows: Figure 14 As shown in (b) above, the result of cyclically shifting the identity matrix 3 times can be as follows: Figure 14 As shown in (c), the result of cyclically shifting the identity matrix 0 (or 4) times can be as follows: Figure 14 As shown in (d) in the figure.
[0332] Optionally, the transmitting device can determine the set index (i.e., the index of the set containing the expansion factor) based on the determined expansion factor, and can expand the 1s in the basis matrix according to the translation value list corresponding to the determined set index. For example, the translation value lists corresponding to different set indices in the expansion factor list are different, and the translation value lists can be as shown in Table 2:
[0333] Table 2 lists the translation values corresponding to set index 0.
[0334]
[0335] Table 2 shows only the number of cyclic shifts corresponding to the elements in the first row of the base matrix.
[0336] For example, taking the set index of the expansion factor as 0, the 1 in the 1st row and 1st column of the base matrix can be expanded into a cyclic shift matrix of Zc×Zc, that is, the identity matrix of Zc×Zc can be cyclically shifted 250 times. The 1 in the 1st row and 2nd column of the base matrix can be expanded into a cyclic shift matrix of Zc×Zc, that is, the identity matrix of Zc×Zc can be cyclically shifted 69 times, ..., and the 1 in the 1st row and 24th column of the base matrix can be expanded into a cyclic shift matrix of Zc×Zc, that is, the identity matrix of Zc×Zc can be cyclically shifted 0 times.
[0337] For example, similar to the description in Release 15 of the 5G 3GPP standard, the basic code length n of LDPC encoding can be defined by the base matrix and the spreading factor Zc. When selecting the base matrix and spreading factor Zc, the choice between using the base matrix corresponding to BG1 or BG2 can be determined based on the transport block size and code rate conditions, ensuring that the encoded code length N is as close as possible to the target code length Ntarget. The target code length can be a preset value, such as 6144. Optionally, in this process, the spreading factor Zc can be determined from the aforementioned spreading factor list based on the number of information columns in the base matrix and the number of bits to be transmitted. Alternatively, the correspondence between the basic code length n and the spreading factor Zc and the transport block size and code rate conditions can be predefined.
[0338] It is understood that the basis matrix in this application can also be replaced with a cyclic shift matrix. For example, the 0 in the basis matrix can be replaced with the first value, and the 1 in the basis matrix can be replaced with the second value to obtain a cyclic shift matrix.
[0339] The first value can be any non-zero value other than the second value; for example, the first value can be -1.
[0340] The second value can be the number of cyclic shifts corresponding to the element in the i-th row and j-th column of the base matrix.
[0341] For example, taking the element in the first row of the base matrix as [1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 11 0 1 1 1 1 1 1], assuming the set index of the expansion factor is 0, based on Table 2, we can determine that the number of cyclic shifts corresponding to the element in the first row and first column of the base matrix is 250, the number of cyclic shifts corresponding to the element in the first row and second column is 60, ..., and the number of cyclic shifts corresponding to the element in the first row and 24th column is 0. Then, the element in the first row of the base matrix can be replaced with [25069 226 159 100 10-1 -1-1 59 229 110 191 9 -1 195 23 190 -1 35 239 31 1 0].
[0342] It is understandable that after replacing the base matrix with a cyclic shift matrix, the column weight of the cyclic shift matrix or any region within the cyclic shift matrix (such as region A, region D, etc.) can be the number of elements in a column of the cyclic shift matrix or any region within the cyclic shift matrix whose element is not the first value. For example, if the first value is -1 and the first column of the cyclic shift matrix is [250 69 -1 159 100 10-1 -1-1], the column weight of the first column can be 5. Similarly, the row weight of a cyclic shift matrix or any region within a cyclic shift matrix (such as region A, region D, etc.) can be the number of elements in a row of the cyclic shift matrix that are not the first value. For example, with the first value being -1, the row weight of the first column in the cyclic shift matrix [250 69 226 159 100 10-1 -1-1 59 229 110 191 9 -1 195 23 190 -1 35 239 311 0] can be 19.
[0343] The various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict of logic, the terminology and / or descriptions between the different embodiments provided in this application are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
[0344] It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be executed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to execute all the operations in the embodiments of this application.
[0345] The foregoing primarily describes the solutions provided in this application from the perspective of device-to-device interaction. It is understood that each device, in order to achieve the aforementioned functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art will readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0346] This application embodiment can divide each device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. The module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0347] When dividing each function into modules according to its corresponding function. Figure 15 A transmitting device 150 is shown, which can perform the above-described... Figure 6 The actions performed by the sending device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.
[0348] The transmitting device 150 may include a transceiver module 1501 and a processing module 1502. Exemplarily, the transmitting device 150 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions applied in a communication device. When the transmitting device 150 is a communication device, the transceiver module 1501 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 1502 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 150 is a combination device or component having the aforementioned transmitting device functions, the transceiver module 1501 may be a radio frequency unit; the processing module 1502 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 150 is a chip system, the transceiver module 1501 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1502 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 1501 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 1502 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0349] For example, the transceiver module 1501 can be used to perform... Figure 6 In the illustrated embodiment, all transmit and receive operations performed by the transmitting device, and / or other processes used to support the techniques described herein; the processing module 1502 can be used to perform Figure 6 The embodiments shown include all operations performed by the transmitting device other than the sending and receiving operations, and / or other processes used to support the techniques described herein.
[0350] Figure 16 A receiving device 160 is shown, which can perform the above-described... Figure 6 The actions performed by the receiving device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.
[0351] The receiving device 160 may include a transceiver module 1601 and a processing module 1602. Exemplarily, the receiving device 160 may be a communication device, or a chip or other combination device or component having the aforementioned receiving device functions applied in a communication device. When the receiving device 160 is a communication device, the transceiver module 1601 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 1602 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 160 is a combination device or component having the aforementioned receiving device functions, the transceiver module 1601 may be a radio frequency unit; the processing module 1602 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 160 is a chip system, the transceiver module 1601 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1602 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. The transceiver module 1601 in this embodiment can be implemented by a transceiver or transceiver-related circuit components; the processing module 1602 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0352] For example, transceiver module 1601 can be used to perform... Figure 6 In the illustrated embodiment, all transmit and receive operations performed by the receiving device, and / or other processes used to support the techniques described herein; the processing module 1602 can be used to perform Figure 6 The embodiments shown include all operations performed by the receiving device other than the transmit and receive operations, and / or other processes used to support the techniques described herein.
[0353] As another feasible approach Figure 15 The transceiver module 1501 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 1501; the processing module 1502 can be replaced by a processor, which can integrate the functions of the processing module 1502. Furthermore, Figure 15 The transmitting device 150 shown may also include a memory. Alternatively, Figure 16 The transceiver module 1601 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 1601; the processing module 1602 can be replaced by a processor, which can integrate the functions of the processing module 1602. Furthermore, Figure 16 The receiver device 160 shown may also include a memory.
[0354] Alternatively, when the processing module 1502 is replaced by a processor and the transceiver module 1501 is replaced by a transceiver, the transmitting end device 150 involved in the embodiments of this application can also be... Figure 17 The communication device 170 shown. Alternatively, when the processing module 1602 is replaced by a processor and the transceiver module 1601 is replaced by a transceiver, the receiving device 160 involved in the embodiments of this application can also be Figure 17 The communication device 170 shown.
[0355] The processor can be logic circuit 1701, and the transceiver can be interface circuit 1702. Furthermore, Figure 17 The communication device 170 shown may further include a memory 1703. The memory 1703 may exist independently of the processor or may be integrated with the processor. The memory 1703 may be used to store instructions, program code, or some data, for example, the memory 1703 may store one or more of the following: a base matrix, a list of expansion factors, a list of translation values, or a cyclic shift matrix, or other data used for implementation. Figure 6 The data shown is from the method described. The memory 1703 may be located inside or outside the communication device 170, without limitation.
[0356] This application also provides a communication device, such as... Figure 18 As shown, this communication device can be applied to the above-mentioned... Figure 6 In any of the embodiments shown in the method, such as Figure 18 As shown, the communication device includes a processing module and a transceiver module. The processing module may be one or more processors, and the transceiver module may be a transceiver or a communication interface. This communication device can be used to implement the sending or receiving device involved in any of the above method embodiments, or to implement the functions of the device involved in any of the above method embodiments. The device or device function may be a network component in a hardware device, a software function running on dedicated hardware, or a virtualization function instantiated on a platform (e.g., a cloud platform). Optionally, the communication device may further include a storage module for storing the program code and data of the communication device.
[0357] In one example, the communication device acts as a transmitting device or is a chip applied in a transmitting device, and performs the steps executed by the transmitting device in the above method embodiments. The transceiver module is used for specific execution. Figure 6 The sending and / or receiving actions performed by the sending device in any of the embodiments herein may include, for example, other processes that support the sending device in performing the techniques described herein. The processing module may be used to support the communication device in performing the processing actions in the above method embodiments, for example, supporting the sending device in performing other processes of the techniques described herein.
[0358] To achieve the above functions, the chip of this application may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art will readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0359] In one possible implementation, when the transmitting or receiving device is a chip, the transceiver module can be a communication interface, pins, or circuits. The communication interface can be used to input data to be processed to the processor and can output the processor's processing results. Specifically, the communication interface can be a general purpose input / output (GPIO) interface, which can connect to multiple peripheral devices (such as LCD displays, cameras, radio frequency (RF) modules, antennas, etc.). The communication interface is connected to the processor via a bus.
[0360] The processing module can be a processor, which can execute computer execution instructions stored in the storage module to cause the chip to perform... Figure 6 The method involved in any of the embodiments shown is further described below. The processor may include a controller, an arithmetic logic unit (ALU), and registers. For example, the controller is primarily responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions. The ALU is primarily responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logical operations, and can also perform address operations and translations. The registers are primarily responsible for storing register operands and intermediate operation results temporarily stored during instruction execution. In specific implementations, the processor's hardware architecture can be an ASIC architecture, a microprocessor without interlocked piped stages architecture (MIPS), an advanced reduced instruction set machine (RISC) machine (ARM) architecture, or a network processor (NP) architecture, etc. The processor can be single-core or multi-core. The storage module can be an in-chip storage module, such as a register or cache. The storage module can also be an external storage module, such as ROM or other types of static storage devices that can store static information and instructions, RAM, etc.
[0361] This application also provides a computer program product that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0362] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0363] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including a data sending end and / or a data receiving end) of any of the foregoing embodiments, such as the terminal's hard disk or memory. The computer-readable storage medium can also be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal. Further, the computer-readable storage medium can include both the terminal's internal storage unit and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0364] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.
[0365] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0366] It is understood that in this application, "at least one (item)" refers to one or more. "More than one" refers to two or more. "At least two (items)" refers to two or three or more. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.
[0367] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0368] In this application, "sending information to...(terminal device)" can be understood as the destination of the information being the terminal device. This can include sending information directly or indirectly to the terminal device. "Receiving information from...(terminal device)" can be understood as the source of the information being the terminal device, and can include receiving information directly or indirectly from the terminal device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.
[0369] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0370] In the several embodiments provided in this application, the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0371] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0372] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0373] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application embodiment, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
Claims
1. An encoding method, characterized in that, include: The information bit sequence is encoded using a low-density parity-check code based on the basis matrix to obtain the first sequence. Output the first sequence; The base matrix includes region A and region D. Region A includes rows 1 to m and columns 1 to n of the base matrix. Region D includes rows (m+1) to the last row and columns 1 to n of the base matrix. m and n correspond to the maximum bitrate supported by the base matrix. The A region includes A1, A2, and A3 regions. The A1 region includes the X column with the largest column weight in the base matrix, where X is a positive integer less than or equal to 4. The A2 region includes all columns in the A region except the A1 region with a column weight greater than 2. The A3 region includes all columns in the A region with a column weight less than or equal to 2. The D region includes the D2 region and the D3 region. The row number of the D2 region in the D region is the same as the row number of the D3 region in the D region. The column number of the D2 region in the base matrix is the same as the column number of the A2 region in the base matrix. The column number corresponding to region D3 in the base matrix is the same as the column number corresponding to region A3 in the base matrix; the maximum value of the row weight of region D2 is less than the minimum value of the row weight of region D3.
2. A decoding method, characterized in that, include: Receive the information to be decoded; The information to be decoded is decoded based on the basis matrix of the low-density parity-check code to obtain the decoding result; The base matrix includes region A and region D. Region A includes rows 1 to m and columns 1 to n of the base matrix. Region D includes rows (m+1) to the last row and columns 1 to n of the base matrix. m and n correspond to the maximum bitrate supported by the base matrix. The A region includes A1, A2, and A3 regions. The A1 region includes the X column with the largest column weight in the base matrix, where X is a positive integer less than or equal to 4. The A2 region includes all columns in the A region except the A1 region with a column weight greater than 2. The A3 region includes all columns in the A region with a column weight less than or equal to 2. The D region includes the D2 region and the D3 region. The row number of the D2 region in the D region is the same as the row number of the D3 region in the D region. The column number of the D2 region in the base matrix is the same as the column number of the A2 region in the base matrix. The column number corresponding to region D3 in the base matrix is the same as the column number corresponding to region A3 in the base matrix; the maximum value of the row weight of region D2 is less than the minimum value of the row weight of region D3.
3. The method according to claim 1 or 2, characterized in that, The ratio of the number of non-zero elements in region D2 to the total number of elements in region D2 is less than or equal to a first threshold. The ratio of the number of non-zero elements in region D3 to the total number of elements in region D3 is greater than or equal to the second threshold. Wherein, the first threshold is less than the second threshold.
4. The method according to claim 3, characterized in that, The first threshold is 0.1; or The first threshold is 0.
2.
5. The method according to claim 3 or 4, characterized in that, The second threshold is 0.8; or The second threshold is 0.
9.
6. The method according to any one of claims 1-5, characterized in that, The number of rows in region D3 is related to the number of rows in region A.
7. The method according to claim 6, characterized in that, The number of rows in region D3 is less than or equal to the sum of the number of rows in region A and the first preset value.
8. The method according to claim 7, characterized in that, The first preset value is 0; or The first preset value is 1; or The first preset value is 2.
9. The method according to any one of claims 1-8, characterized in that, The number of rows in the D3 region is greater than or equal to 2.
10. The method according to any one of claims 1-9, characterized in that, All elements in region D2 are 0; or The number of non-zero elements in any row of the D2 region is 1.
11. The method according to any one of claims 1-10, characterized in that, All elements in region D3 are 1; or The number of zero elements in the D3 region is less than or equal to 5.
12. The method according to any one of claims 1-11, characterized in that, The D region further includes the D4 region; wherein the column number of the D4 region in the D matrix is the same as the column number of the D2 region in the D matrix, and the column weight of the D4 region is less than or equal to the third threshold.
13. The method according to claim 12, characterized in that, The third threshold is 1; or The third threshold is 2.
14. The method according to claim 12 or 13, characterized in that, All elements in region D4 are 0.
15. The method according to any one of claims 1-14, characterized in that, The D region also includes the D5 region; wherein the column number of the D5 region in the D matrix is the same as the column number of the D3 region in the D matrix. The D5 region includes a first sub-region and a second sub-region. The row number of the first sub-region in the D5 region is the same as the row number of the second sub-region in the D5 region. The column number of the first sub-region in the D5 region is different from the column number of the second sub-region in the D5 region. The difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region is greater than or equal to a fourth threshold.
16. The method according to claim 15, characterized in that, The fourth threshold is 3; or The fourth threshold is 2.
17. The method according to claim 15 or 16, characterized in that, The number of columns in the first sub-region is greater than or equal to 2.
18. The method according to any one of claims 15-17, characterized in that, All elements in the first sub-region are 1, and all elements in the second sub-region are 0; or The number of zero elements in any column of the first sub-region is less than or equal to 1, and the number of non-zero elements in any column of the second sub-region is less than or equal to 1.
19. The method according to any one of claims 15-18, characterized in that, The number of zero elements in the qth column of region D3 is 1; The number of non-zero elements in the qth column of the D5 region is less than or equal to 1, or all elements in the qth column of the D5 region are 0; Wherein, q is a positive integer.
20. The method according to any one of claims 15-17, 19, characterized in that, All elements in the p-th column of region D3 are 1; The number of zero elements in the p-th column of the D5 region is less than or equal to 1, or all elements in the p-th column of the D5 region are 1; Where p is a positive integer.
21. The method according to any one of claims 1-20, characterized in that, The number of columns in region A3 is less than or equal to the sum of the number of rows in region A3 and a second preset value; or The number of columns in region A3 is less than or equal to 6.
22. The method according to claim 20 or 21, characterized in that, The second preset value is 1; or The second preset value is 2.
23. The method according to any one of claims 1-22, characterized in that, Both m and n are determined based on the maximum code rate supported by the base matrix, including: Region A includes the information column and core check column corresponding to the maximum code rate supported by the base matrix.
24. The method according to any one of claims 1-23, characterized in that, The bitrate range supported by region A is a first preset range; the bitrate range supported by the first region is a second preset range, and the first region includes region A, region D2, and region D3; the bitrate range supported by the second region is a third preset range, and the second region includes region A, region D2, region D3, region D4, and region D5. Wherein, the second preset interval includes the first preset interval, and the third preset interval includes the second preset interval; The column number corresponding to region D4 in matrix D is the same as the column number corresponding to region D2 in matrix D, and the column weight of region D4 is less than or equal to the third threshold. The D5 region includes a first sub-region and a second sub-region. The row number of the first sub-region in the D5 region is the same as the row number of the second sub-region in the D5 region. The column number of the first sub-region in the D5 region is different from the column number of the second sub-region in the D5 region. The difference between the minimum column weight of the first sub-region and the maximum column weight of the second sub-region is greater than or equal to a fourth threshold.
25. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instructions that cause the encoding method as described in any one of claims 1, 3-24 to be executed, or cause the decoding method as described in any one of claims 2-24 to be executed.
26. A communication device, characterized in that, The communication device includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the encoding method as described in any one of claims 1, 3-24, or to execute the decoding method as described in any one of claims 2-24, to process and / or generate the information based on the information.
27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the encoding method as described in any one of claims 1, 3-24 to be executed, or cause the decoding method as described in any one of claims 2-24 to be executed.
28. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are executed on a computer, they cause the encoding method as described in any one of claims 1, 3-24 to be executed, or the decoding method as described in any one of claims 2-24 to be executed.