Communication method, and apparatus

By determining X first matrices based on N and K in the transmitting device for polar coding, a coding matrix with a better code spectrum is constructed, which solves the problem of poor decoding performance in the prior art and achieves improved decoding performance under different values ​​of N and K.

WO2025261208A1PCT designated stage Publication Date: 2025-12-26HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/099954
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-17
Filing Date
2025-06-09
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing technologies have a unique encoding matrix when N is a power of 2, which makes it impossible to achieve good decoding performance at all K values. Furthermore, when N is not a power of 2, rate matching is required for encoding matrices with a row count greater than N that is a power of 2, which leads to a decrease in decoding performance.

Method used

The transmitting device determines X first matrices from a preset matrix set based on N and K, performs polar coding on the first sequence of length N, constructs a coding matrix with a better code spectrum, and improves error correction performance.

Benefits of technology

By determining the optimal coding matrix for different values ​​of N and K, the flexibility and diversity of N and K values ​​are improved, thereby enhancing decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025099954_26122025_PF_FP_ABST
    Figure CN2025099954_26122025_PF_FP_ABST
Patent Text Reader

Abstract

A communication method and an apparatus, which relate to the technical field of communications, and can construct coding matrices having relatively good code spectra for different N and K, thereby improving error correction performance. The method comprises: a sending end device can determine X first matrices from a preset coding matrix set on the basis of N and K, can determine a third matrix on the basis of the X first matrices, and can further perform polar coding on a first sequence having a length of N on the basis of the third matrix, so as to obtain a coded first sequence and output one or more bits of the coded first sequence. When X is 1, the number of rows and the number of columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; and when X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, and the sum of the number of information bits corresponding to the X first matrices is K.
Need to check novelty before this filing date? Find Prior Art

Description

Communication methods and devices

[0001] This application claims priority to Chinese Patent Application No. 202410783401.2, filed on June 17, 2024, entitled "Communication Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to communication methods and apparatus. Background Technology

[0003] In communication systems, polar codes can be used to encode information bit sequences. For example, an information bit sequence of length K can be mapped to a first sequence of length N, and then the first sequence can be multiplied by the encoding matrix to obtain the encoded information bit sequence. When N is an integer power of 2, this can be achieved by multiplying the matrix... Performing log2N Kronecker products yields an encoding matrix with N rows.

[0004] However, when N is an integer power of 2, there is only one encoding matrix, which cannot achieve good decoding performance under all K values ​​simultaneously. At the same time, when N is not an integer power of 2, rate matching is required for the encoding matrix with the minimum number of rows that is an integer power of 2 greater than N to obtain an encoding matrix with N rows, which leads to a decrease in decoding performance.

[0005] Therefore, how to construct a better coding matrix for different N and K to improve error correction performance has become an urgent problem to be solved. Summary of the Invention

[0006] This application provides a communication method and apparatus that can construct a better coding matrix for different N and K values ​​to improve error correction performance.

[0007] Firstly, this application provides a communication 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, or chip system), 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 determining X first matrices from a preset matrix set based on N and K; polar encoding a first sequence of length N based on the X first matrices to obtain a second sequence; and outputting one or more bits of the second sequence. Wherein, K is the number of information bits, and K is a positive integer less than or equal to N; when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and columns of the X first matrices are both N, and the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same.

[0008] Based on the first aspect, compared to determining the encoding matrix based on N, in this application, one or more first matrices can be determined based on N and K, and then the first sequence can be encoded based on one or more first matrices. That is, one or more first matrices can be determined based on N and K, and an encoding matrix with a better code spectrum can be constructed based on one or more first matrices. On the one hand, an encoding matrix with a better code spectrum can be determined under different values ​​of N and K, which can improve the flexibility and diversity of the values ​​of N and K; on the other hand, when N is the same, the corresponding encoding matrix can be determined for different K, so that the error correction performance of the encoding matrix corresponding to different K is better, thereby improving the decoding performance.

[0009] Secondly, this application provides a communication 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, or chip system), 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; determining X first matrices from a preset matrix set based on N and K; and decoding the information to be decoded based on one or more of the first matrices. Wherein, the number of information bits corresponding to the information to be decoded is K; K is a positive integer less than or equal to N; when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and columns of the X first matrices are both N, the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same.

[0010] Based on the second aspect, compared to determining the encoding matrix based on N, in this application, one or more first matrices can be determined based on N and K, and then the first sequence can be encoded based on one or more first matrices. That is, one or more first matrices can be determined based on N and K, and an encoding matrix with a better code spectrum can be constructed based on one or more first matrices. On the one hand, an encoding matrix with a better code spectrum can be determined under different values ​​of N and K, which can improve the flexibility and diversity of the values ​​of N and K. On the other hand, when N is the same, the corresponding encoding matrix can be determined for different K, so that the error correction performance of the encoding matrix corresponding to different K is better, thereby improving the decoding performance.

[0011] Combining the first and second aspects, in one possible implementation, the difference in the number of rows of at least two of the X first matrices is less than or equal to a first threshold.

[0012] Combining the first and second aspects, in one possible implementation, the difference in the number of rows of any two first matrices among the X first matrices is less than or equal to a first threshold.

[0013] Combining the first and second aspects, in one possible implementation, the first threshold is 1 or 2.

[0014] The difference in the number of rows of the two first matrices can be understood as the absolute value of the difference in the number of rows of the two first matrices, or as the difference between the number of rows of the first matrix with more rows and the number of rows of the first matrix with fewer rows.

[0015] Based on the three possible implementations described above, the number of rows in each of the X first matrices can be determined by limiting the relationship between the difference in the number of rows of the X first matrices and a first threshold, providing a feasible solution for determining the number of rows in each first matrix. Furthermore, when the difference in the number of rows between any two of the X first matrices is less than or equal to the first threshold, decoding performance can be improved, while the construction of the first matrices can be simplified.

[0016] In this design, the value of the first threshold can vary depending on the communication scenario or situation. The value of the first threshold can be dynamically determined based on the actual communication scenario or situation, ensuring good error correction performance for the determined X first matrices and thus improving decoding performance. Furthermore, by determining different first thresholds, different numbers of rows in multiple first matrices can be determined, thereby enabling the determination of multiple first matrices and increasing the flexibility and diversity of the determination process.

[0017] Combining the first and second aspects, in one possible implementation, the number of rows in the first matrix is ​​less than or equal to 8.

[0018] Combining the first and second aspects, in one possible implementation, the X first matrices are the same first matrices, or, among the X first matrices, there are at least two different first matrices, or, among the X first matrices, there are at least two identical first matrices.

[0019] Based on this possible implementation, X first matrices can be dynamically determined according to the actual communication situation, which can improve the flexibility of determining X first matrices and make the error correction performance of the determined first matrices better.

[0020] Combining the first and second aspects, in one possible implementation, when the number of rows in the first matrix is ​​2... n When the first matrix is ​​the same as the second matrix; or, when the number of rows in the first matrix is ​​not 2. n In this case, the first matrix is ​​the second matrix after punching; or, the first matrix is ​​the shortened second matrix; where the second matrix is ​​2. n Line 2 n The first matrix is ​​a column matrix, and the second matrix is ​​a pair matrix. The encoding matrix obtained by performing n Kronecker products, where n is a positive integer.

[0021] Based on this possible implementation, a feasible solution is provided for determining the first matrix.

[0022] Combining the first and second aspects, in one possible implementation, when the number of rows in the first matrix is ​​2... n When the first matrix is ​​the same as the second matrix; or, when the number of rows in the first matrix is ​​not 2. n If the ratio of the number of information bits corresponding to the first matrix to the number of rows of the first matrix is ​​less than or equal to 7 / 16, then the first matrix is ​​the second matrix after punching; or, if the number of rows of the first matrix is ​​not 2... n When the ratio of the number of information bits corresponding to the first matrix to the number of rows of the first matrix is ​​greater than 7 / 16, the first matrix is ​​a shortened second matrix; where the second matrix is ​​2 n Line 2 n The first matrix is ​​a column matrix, and the second matrix is ​​a pair matrix. The encoding matrix obtained by performing n Kronecker products, where n is a positive integer.

[0023] Based on this possible implementation, the first matrix can be determined according to the number of rows of the first matrix and the number of information bits corresponding to the first matrix. This makes the method of determining the first matrix compatible with existing methods of determining the first matrix, which can simplify the implementation and reduce the complexity of the operation.

[0024] In conjunction with the first and second aspects, in one possible implementation, the first matrix is ​​a shortened second matrix when one or more of the following conditions are met: N is 7 and K is 2, N is 7 and K is 3, or N is 6 and K is 2; or, when one or more of the following conditions are met, the first matrix is ​​a punched second matrix: N is 7 and K is 4, or N is 6 and K is 3.

[0025] Based on this possible implementation, unlike determining the first matrix based on the code rate, the matrix with the best error correction performance can be determined as the first matrix by comparing the error correction performance of the shortened second matrix and the punctured second matrix. This can improve the error correction performance of the first matrix corresponding to the number of rows and the number of information bits of different first matrices.

[0026] It is understandable that only the first matrix in one or more of the above cases can be replaced, while the rest of the first matrix remains unchanged.

[0027] Combining the first and second aspects, in one possible implementation, when the first matrix has 8 rows and the number of information bits corresponding to the first matrix is ​​6, the first matrix is: Alternatively, when the first matrix has 8 rows and the number of information bits corresponding to the first matrix is ​​5, the first matrix is: Alternatively, when the first matrix has 8 rows and the number of information bits corresponding to the first matrix is ​​3, the first matrix is: Alternatively, when the first matrix has 8 rows and the number of information bits corresponding to the first matrix is ​​2, the first matrix is: Alternatively, when N is 7 and the number of information bits corresponding to the first matrix is ​​5, the first matrix is: Alternatively, when N is 7 and the number of information bits corresponding to the first matrix is ​​2, the first matrix is: Alternatively, when N is 6 and the number of information bits corresponding to the first matrix is ​​2, 3, or 4, the first matrix is: Alternatively, when N is 5 and the number of information bits corresponding to the first matrix is ​​3, the first matrix is: Alternatively, when N is 5 and the number of information bits corresponding to the first matrix is ​​2, the first matrix is: Alternatively, when N is 4 and the number of information bits corresponding to the first matrix is ​​2, the first matrix is:

[0028] Based on the above possible implementations, the first matrix can be further optimized, thereby further improving the error correction performance of the first matrix corresponding to the number of rows and the number of information bits of different first matrices.

[0029] It is understandable that only the first matrix mentioned above can be replaced, while the rest of the first matrix can remain unchanged.

[0030] Combining the first and second aspects, in one possible implementation, when N is greater than 8 and less than or equal to 16, there exist two first matrices, where when N is even, the number of rows in the two first matrices is the same; or, when N is odd, the difference in the number of rows in the two first matrices is 1.

[0031] Based on this possible implementation, the relationship between the number of rows of the two first matrices can be determined according to whether N is even or odd, providing a feasible solution for determining the number of rows of the two first matrices.

[0032] Combining the first and second aspects, in one possible implementation, when K is greater than or equal to 5 and the difference between N and K is 4 or 8, the number of rows in the second first matrix is ​​1 greater than the number of rows in the first first matrix; or, when K is less than 5 and the difference between N and K is 4 or 8, the number of rows in the first first matrix is ​​1 greater than the number of rows in the second first matrix; or, when the difference between N and K is not 4 or 8, the number of rows in the first first matrix is ​​1 greater than the number of rows in the second first matrix.

[0033] Combining the first and second aspects, in one possible implementation, when N is 9 and K is not 5, the first matrix has 5 rows and the second matrix has 4 rows; when N is 9 and K is 5, the first matrix has 4 rows and the second matrix has 5 rows; or, when N is 10, the first matrix has 5 rows and the second matrix has 5 rows; or, when N is 11 and K is not 7, the first matrix has 6 rows and the second matrix has 5 rows; or, when N is 11 and K is 7, the first matrix has 5 rows and the second matrix has 6 rows; or, when N is 12, the first matrix has 6 rows and the second matrix has 4 rows. The first matrix has 6 rows; or, when N is 13 and K is not 5, the first matrix has 7 rows and the second matrix has 6 rows; or, when N is 13 and K is 5, the first matrix has 6 rows and the second matrix has 7 rows; or, when N is 14, the first matrix has 7 rows and the second matrix has 7 rows; or, when N is 15 and K is not 7 or 11, the first matrix has 8 rows and the second matrix has 7 rows; or, when N is 15 and K is 7 or 11, the first matrix has 7 rows and the second matrix has 8 rows; or, when N is 16, the first matrix has 8 rows and the second matrix has 8 rows.

[0034] Based on the two possible implementations mentioned above, we can further determine whether the number of rows in the first matrix is ​​greater than the number of rows in the second matrix based on N and K, thus providing a feasible solution for determining the number of rows in the two matrices.

[0035] Combining the first and second aspects, in one possible implementation, when the number of rows in the first first matrix is ​​greater than the number of rows in the second first matrix, a third matrix is ​​determined based on the first and second first matrices; wherein, the third matrix is ​​used for polar coding or decoding; the first first matrix is ​​a p x p matrix, the second first matrix is ​​a q x q matrix, the sum of p and q is N, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0; the elements in rows (p+1) to p+q and columns 1 to q of the third matrix are the same as the elements in the second first matrix; the elements in rows (p+1) to p+q of the third matrix are 0; the elements in rows (p+1) to p+ ... And the elements in columns q+1 to p are 0; or, when the number of rows in the second first matrix is ​​greater than the number of rows in the first first matrix, the third matrix is ​​determined based on the first and second first matrices; wherein, the third matrix is ​​used for polar coding or decoding; the first first matrix is ​​a p-p matrix, the second first matrix is ​​a q-q matrix, the sum of p and q is N, the elements in rows 1 to p and columns 1 to p in the third matrix are the same as the elements in the first first matrix; the elements in rows p+1 to p+q and columns p+1 to p+q in the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns p+1 to p+q in the third matrix are 0; the elements in rows p+1 to p+q and columns 1 to p in the third matrix are the same as the elements in rows 1 to q and columns 1 to p in the second first matrix.

[0036] Based on this possible implementation, the third matrix can be determined according to the first first matrix and the second first matrix. The third matrix can be used for polar coding or decoding (that is, the transmitting device can perform polar coding on the first sequence according to the third matrix, and the receiving device can decode the information to be decoded according to the third matrix). This can improve the error correction performance corresponding to the third matrix and provide two feasible schemes for determining the third matrix.

[0037] Combining the first and second aspects, in one possible implementation, when N is less than or equal to 15 and K is 4, the number of information bits corresponding to the first first matrix is ​​1, and the number of information bits corresponding to the second first matrix is ​​3; or, when N is 16 and K is 4, the number of information bits corresponding to the first first matrix is ​​0, and the number of information bits corresponding to the second first matrix is ​​4; or, when K is 5, the number of information bits corresponding to the first first matrix is ​​1, and the number of information bits corresponding to the second first matrix is ​​4; or, when N is equal to K and N is odd, the number of information bits corresponding to the first first matrix is ​​(N+1) / 2, and the number of information bits corresponding to the second first matrix is ​​(N-1) / 2; or, when K is odd and N is equal to K+1 or K+2, the number of information bits corresponding to the first first matrix is ​​(K-1) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+1) / 2; or, when K is odd and N is greater than or equal to K+3 and less than or equal to K+2, the number of information bits corresponding to the first first matrix is ​​(K-1) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+1) / 2; or, when K is odd and N is greater than or equal to K+3 and less than or equal to K+2, the number of information bits corresponding to the first first matrix is ​​(K-1) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+1) / 2; or, when K is odd and N is greater than or equal to K+3 and less than or equal to K+2, the number of information bits corresponding to the first first matrix is ​​(K+1) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+1) / 2. When K+6, the number of information bits corresponding to the first first matrix is ​​(K-3) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+3) / 2; or, when K is an odd number greater than or equal to 7 and N is greater than or equal to K+7, the number of information bits corresponding to the first first matrix is ​​(K-5) / 2, and the number of information bits corresponding to the second first matrix is ​​(K+5) / 2; or, when K is an even number and N is less than or equal to K+1, the number of information bits corresponding to the first first matrix and the second first matrix... The number of information bits corresponding to each matrix is ​​K / 2; or, when K is even and N is greater than or equal to K+2 and N is less than or equal to K+5, the number of information bits corresponding to the first matrix is ​​K / 2-1 and the number of information bits corresponding to the second matrix is ​​K / 2+1; or, when K is an even number greater than or equal to 6 and N is greater than or equal to K+6, the number of information bits corresponding to the first matrix is ​​K / 2-2 and the number of information bits corresponding to the second matrix is ​​K / 2+2.

[0038] Combining the first and second aspects, one possible implementation provides a feasible scheme for determining the number of information bits corresponding to the two first matrices.

[0039] Combining the first and second aspects, when N is greater than or equal to 32 and less than or equal to 64, in one possible implementation, the number of rows of the X first matrices is determined according to any one or more sets (N,K) in any of the tables in Tables 5-15.

[0040] Based on this possible implementation, a feasible solution is provided for determining the number of rows in X first matrices.

[0041] Combining the first and second aspects, in one possible implementation, when N is greater than or equal to 32 and less than or equal to 64, the number of information bits corresponding to the X first matrices is determined according to any one or more sets (N,K) in any of the tables in Tables 17-25.

[0042] Based on this possible implementation, a feasible scheme is provided for determining the number of information bits corresponding to X first matrices.

[0043] 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.

[0044] For example, the processing module is used to determine X first matrices from a preset matrix set based on N and K; where K is the number of information bits, and K is a positive integer less than or equal to N; when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, and the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same; the processing module is also used to perform polar coding on a first sequence of length N based on the X first matrices to obtain a second sequence; the transceiver module is used to output one or more bits of the second sequence.

[0045] 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.

[0046] 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.

[0047] For example, the transceiver module is used to receive information to be decoded; wherein the number of information bits corresponding to the information to be decoded is K; K is a positive integer less than or equal to N; the processing module is used to determine X first matrices from a preset matrix set according to N and K; wherein when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same; the processing module is also used to decode the information to be decoded according to one or more first matrices.

[0048] 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.

[0049] 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 communication method described in any one of the first to second aspects is performed.

[0050] 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.

[0051] 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.

[0052] 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 for inputting and / or outputting information; the logic circuit is used for executing the communication method as described in either the first or second aspect, processing and / or generating information based on the information.

[0053] 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 communication method described in either the first or second aspect to be performed.

[0054] Eighthly, embodiments of this application provide a computer program product containing computer instructions that, when run on a computer, causes the communication method described in either the first or second aspect to be executed.

[0055] Ninthly, embodiments of this application provide a computer program that, when run on a computer, causes the communication method described in either the first or second aspect to be executed.

[0056] 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, a communication method as described in either the first or second aspect is executed.

[0057] 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.

[0058] 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

[0059] Figure 1 is a schematic diagram of a Polar code encoding provided in an embodiment of this application;

[0060] Figure 2 is a schematic diagram of a Polar code decoding method provided in an embodiment of this application;

[0061] Figure 3 is a schematic diagram of a polarization coupling process provided in an embodiment of this application;

[0062] Figure 4 is a schematic diagram of a 3-core embodiment provided in this application;

[0063] Figure 5 is a schematic diagram of a communication system provided in an embodiment of this application;

[0064] Figure 6 is a schematic diagram of encoding and decoding performed by a transmitting end device and a receiving end device according to an embodiment of this application;

[0065] Figure 7 is a schematic diagram of the composition of a communication device provided in an embodiment of this application;

[0066] Figure 8 is an interactive schematic diagram of a communication method provided in an embodiment of this application;

[0067] Figure 9 is a simulation diagram illustrating the performance of different third matrices according to an embodiment of this application;

[0068] Figure 10 is a simulation diagram illustrating the performance of different third matrices according to an embodiment of this application;

[0069] Figure 11 is a schematic diagram of the structure of a transmitting device provided in an embodiment of this application;

[0070] Figure 12 is a schematic diagram of the structure of a receiving device provided in an embodiment of this application;

[0071] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation

[0072] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.

[0073] Polar codes: Polar codes are the first coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity. They have the advantages of good decoding performance and low complexity. They have been selected by the third generation partnership project (3GPP) standard as the control channel coding scheme for the fifth generation (5G) enhanced mobile broadband (eMBB) scenario.

[0074] Figure 1 below shows a schematic diagram of an 8-bit Polar code encoding, also known as a factor graph. The Polar code encoding process can include several polarization kernel operations. The polarization kernel is used to combine two input bits with a matrix. Multiplying them yields two output bits. It can be seen that during the recursive construction of Polar codes, an 8-bit Polar code can be considered as a result of coupling two 4-bit Polar codes, and similarly, a 4-bit Polar code can be considered as a result of coupling two 2-bit Polar codes.

[0075] For example, when the input sequence (input from the left) is “00000011”, the output sequence (output from the right) can be “01010101”.

[0076] Similarly, a Polar code of length N can be seen as a result of coupling two Polar codes of length N / 2, and a Polar code of length N / 2 can be seen as a result of coupling two Polar codes of length N / 4.

[0077] Where N is a positive integer.

[0078] The construction process of Polar codes is used to determine the information bit positions and frozen bit positions. The reliability of each sub-channel can be ranked, and the K positions with the highest reliability are designated as information bit positions, while the remaining NK positions are designated as frozen bit positions. As shown in Figure 1, taking the construction of a Polar code with N=8 and K=4 as an example, assuming the zeroth position is the starting position, the third, fifth, sixth, and seventh positions have the highest reliability, and thus these positions can be designated as information bit positions, with the remaining positions as frozen bit positions; or assuming the first position is the starting position, the fourth, sixth, seventh, and eighth positions have the highest reliability, and thus these positions can be designated as information bit positions, with the remaining positions as frozen bit positions.

[0079] Where K is a positive integer.

[0080] In practice, Polar codes can be obtained offline through reliability sequences or online through methods such as Gaussian approximation; this application does not limit this to any particular method.

[0081] The receiving device can decode the encoded Polar code using a Successive Cancellation (SC) decoding algorithm. During SC decoding, the bit value of the information bit is determined by progressively calculating the log likelihood ratio (LLR) of the information bits. For example, if LLR > 0, the bit value of the information bit can be determined to be 0; if LLR < 0, the bit value of the information bit can be determined to be 1. Furthermore, for frozen bits, regardless of the LLR of the frozen bit, the frozen bit is set to 0.

[0082] For example, the SC decoding process can be illustrated in Figure 2, which includes eight computation nodes: four f nodes and four g nodes. The computation of an f node requires two LLR terms to be input to its right, and the computation of a g node requires two LLR terms to be input to its right and one "partial sum" term above it. The output can only be calculated after all input terms have been calculated. The receiving device can receive the signal from the right side of Figure 2. The received signal passes through the eight computation nodes in sequence to obtain the Polar code decoding, i.e., the decoding order is: ①→②→③→④.

[0083] The encoding matrix of a Polar code: The encoding matrix of a Polar code can be represented as follows (that is, F) N Let F2 be the nth power of the Kronecker product, where... n = log₂N).

[0084] in, This means that the element in the first row and first column of F2 is 1, the element in the first row and second column is 0, the element in the second row and first column is 1, and the element in the second row and second column is 1. That is, F2 contains 4 elements, each of which is either 0 or 1.

[0085] It is understood that all elements in the matrix in this application are either "0" or "1". For example, for an N-row N-column matrix, there will be N×N elements, and each element is either 0 or 1. For the sake of convenience, no spaces are left between columns without affecting the understanding of the scheme.

[0086] For example, taking an information bit sequence of length K as an example, the information bit sequence can be mapped to a first sequence of length N (such as u). The first sequence can be encoded using the encoding matrix of a Polar code, and the encoded information bit sequence can be represented as d = uF. N .

[0087] Understandably, when the number of rows in the encoding matrix determined by the above method is a power of 2, rate matching is required when N is not a power of 2. For example, with N = 7, an 8-row encoding matrix F8 can be determined. This can be achieved by punching holes in the first row and first column of the 8-row encoding matrix, or by shortening the last row and last column of the 8-row encoding matrix. However, encoding matrices determined in this way will lead to a decrease in SC performance.

[0088] Furthermore, when the value of N is determined, the determined encoding matrix is ​​unique, which may not result in optimal decoding performance for information bit sequences of different lengths.

[0089] Polarized nucleus: F N It can also be described as an Arikan polarization nucleus of length N, F N It can be obtained by coupling two polarization kernels of length N / 2. Alternatively, an Arikan polarization kernel of length N can be used to implement SC decoding through Nlog2N fg operations.

[0090] For example, Figure 3 below illustrates the coupling process of a polarization nucleus of length N. In the portion corresponding to each polarization nucleus, the left side represents the matrix corresponding to the polarization nucleus, and the right side represents the factor graph corresponding to the polarization nucleus. As shown in Figure 3(a), taking N=4 as an example, there are two polarization nuclei F2 of length 2. The matrix corresponding to F2 is... The factor graph corresponding to F2 is shown in Figure 3(a). Two polarization nuclei of length 2 can be coupled before polarization (as shown in the dashed box in Figure 3(a)) to obtain a polarization nucleus of length 4 (i.e., F4). Alternatively, as shown in Figure 3(b), taking N as 2 as an example, there are two polarization nuclei F1 of length 1. The matrix corresponding to F1 is [1]. The factor graph corresponding to F1 can be shown in Figure 3(b). Two polarization nuclei of length 1 can be coupled before polarization (as shown in the dashed box in Figure 3(b)).

[0091] It is understandable that different types of polarization kernels can be constructed by changing the edges of the factor graph. For example, as shown in Figure 4 below, the matrix (as shown on the left) and factor graph (as shown on the right) corresponding to a polarization kernel of length 3 (also called a 3-length kernel) are shown.

[0092] Alternatively, instead of changing the edges of the factor graph, a polarization kernel with coset code spectrum properties superior to the Arikan kernel can be constructed based on the coset code spectrum, such as a 6-length kernel. The 6x6 coding matrix corresponding to the 6-length kernel can be:

[0093] For an N x N coding matrix, each row can be denoted as g1,…,g N g i The coset code can be represented as

[0094] Where c is a codeword of length N, u j Let j be the j-th information bit, where j = 1, ..., K.

[0095] Among them, Co i The minimum code weight of a Chinese codeword can be denoted as d. i The code weight is d i The number of codewords is denoted as A. i .

[0096] For example, taking g4 as an example, the coset code sequences corresponding to the 4th row are as follows: The codewords corresponding to (0,0,0,1,1,0), (0,0,0,1,0,1), and (0,0,0,1,1,1) are (1,0,1,0,0,0), (0,1,1,1,1,0), (0,1,0,0,0,1), and (1,0,1,0,1,1) respectively. The minimum code weight in the coset code is d4 = 2, and the number of codewords with code weight d4 = 2 is A4 = 2.

[0097] Specifically, when the length of the information bit sequence is K and the set of information bit positions is {i1,…,i...} K When defining minimum code weight The number of codewords corresponding to the minimum codeweight in the coset code is For example, when K=4 and the information bit position set is {3,4,5,6}, we have d3=2, A3=4; d4=2, A4=2; d5=4, A5=2; d6=4, A6=1, therefore d min =min{d3,d4,d5,d6}=2,A min =∑ j=3,4 A j =6.

[0098] However, since the polarization kernels with better coset code spectrum properties than the Arikan kernel do not have corresponding factor graphs, they cannot be decoded using the SC algorithm.

[0099] Based on the problems described above, this application provides a communication method, which includes: a transmitting device determining X first matrices from a preset matrix set according to N and K; polar encoding a first sequence of length N according to the X first matrices to obtain a second sequence; and outputting one or more bits of the second sequence. Wherein, K is the number of information bits, and K is a positive integer less than or equal to N; when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and columns of the X first matrices are both N, the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same.

[0100] In this embodiment of the application, compared to determining the encoding matrix based on N, one or more first matrices can be determined based on N and K, and then the first sequence can be encoded based on one or more first matrices. That is, one or more first matrices can be determined based on N and K, and an encoding matrix with a better code spectrum can be constructed based on one or more first matrices. On the one hand, an encoding matrix with a better code spectrum can be determined under different values ​​of N and K, which can improve the flexibility and diversity of the values ​​of N and K. On the other hand, when N is the same, the corresponding encoding matrix can be determined for different K, so that the error correction performance of the encoding matrix corresponding to different K is better, thereby improving the decoding performance.

[0101] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0102] The communication method provided in this application embodiment 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) system, a 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, a global system for mobile communications (GSM), an enhanced data rate for GSM evolution (EDGE) system, a wideband code division multiple access (WCDMA) system, a code division multiple access (CDMA2000) system, or a time division-synchronization code division multiple access (TDMA) system. Access, TD-SCDMA, enhanced mobile broadband (eMBB), ultra-reliable and low-latency communication (URLLC), enhanced machine-type communication (eMTC), and various types of future communication systems are not restricted. Non-terrestrial network (NTN) systems (such as satellite communication systems) and non-3GPP communication systems are also included.

[0103] The communication method provided in this application can be applied to various communication scenarios. For example, it can be applied to one or more of the following communication scenarios: coding of control channels, coding of data channels, etc., without limitation.

[0104] The communication system provided in the embodiments of this application will be described below using Figure 5 as an example.

[0105] Figure 5 is a schematic diagram of a communication system provided in an embodiment of this application. As shown in Figure 5, the communication system may include at least one terminal device and at least one network device.

[0106] In Figure 5, 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.

[0107] The terminal device in Figure 5 can be a device with wireless transceiver capabilities or a chip or chip system that can be installed on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. The terminal device can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc.

[0108] For example, the terminal device in Figure 5 can be a mobile phone, a tablet computer, or a computer with wireless transceiver capabilities. Terminal equipment can also be user stations, mobile stations, remote stations, remote terminal equipment, mobile terminal equipment, user terminal equipment, wireless communication equipment, user agents, user devices, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices, processing devices connected to wireless modems, in-vehicle equipment, wearable devices, terminal equipment in the Internet of Things (IoT), home appliances, virtual reality (VR) terminals, augmented reality (AR) terminals, wireless terminals in industrial control, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in smart cities, wireless terminals in smart homes, vehicles with vehicle-to-vehicle (V2V) communication capabilities, intelligent connected vehicles, and UAV-to-UAV communication. Unmanned aerial vehicles (UAVs) with U2U communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs) are not subject to restrictions.

[0109] In Figure 5, the network device 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 within such a device, a logical node or module, or a function implemented in software. Its main responsibilities include 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 either a wired access device or a wireless access device.

[0110] 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, base band 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.

[0111] 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.

[0112] 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).

[0113] 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).

[0114] 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 radio access 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 software modules, hardware modules, or a combination of software modules and hardware modules.

[0115] Based on the above description of the terminal device and network device, optionally, the communication 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 by 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.

[0116] Optionally, in this embodiment, the transmitting device (or source) and the receiving device (or sink) can encode and decode using the process shown in Figure 6 below. The transmitting device can be any terminal device or network device in the communication system shown in Figure 5, and the receiving device can also be any terminal device or network device in the communication system shown in Figure 5.

[0117] 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.

[0118] In specific implementation, as shown in Figure 5, each terminal device and network device can adopt the composition structure shown in Figure 7, or include the components shown in Figure 7. Figure 7 is a schematic diagram of the composition of a communication device 700 provided in an embodiment of this application. The communication device 700 can be a terminal device or a chip or system-on-a-chip in a terminal device; it can also be a network device or a chip or system-on-a-chip in a network device. As shown in Figure 7, the communication device 700 includes a processor 701, a transceiver 702, and a communication line 703.

[0119] Furthermore, the communication device 700 may also include a memory 704. The processor 701, memory 704, and transceiver 702 can be connected via a communication line 703.

[0120] The processor 701 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 701 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.

[0121] Transceiver 702 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 network (WLAN), etc. Transceiver 702 can be a module, circuit, transceiver, or any device capable of enabling communication.

[0122] Communication line 703 is used to transmit information between the components included in communication device 700.

[0123] Memory 704 is used to store instructions. These instructions can be computer programs.

[0124] The memory 704 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.

[0125] It should be noted that the memory 704 can exist independently of the processor 701, or it can be integrated with the processor 701. The memory 704 can be used to store instructions, program code, or some data, etc. The memory 704 can be located inside or outside the communication device 700, without limitation. The processor 701 is used to execute the instructions stored in the memory 704 to implement the communication method provided in the following embodiments of this application.

[0126] In one example, processor 701 may include one or more CPUs, such as CPU0 and CPU1 in Figure 7.

[0127] As an optional implementation, the communication device 700 may include multiple processors, for example, in addition to the processor 701 in FIG7, it may also include a processor 707.

[0128] As an optional implementation, the communication device 700 also includes an output device 705 and an input device 706. For example, the input device 706 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 705 is a device such as a display screen or speaker.

[0129] It should be noted that the communication device 700 can be a desktop computer, a portable computer, a web server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system, or a device with a similar structure to that shown in Figure 7. Furthermore, the composition shown in Figure 7 does not constitute a limitation on the communication device. In addition to the components shown in Figure 7, the communication device may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0130] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.

[0131] 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.

[0132] The communication method provided in the embodiments of this application will be described below with reference to the communication system shown in Figure 5 and Figure 8. The transmitting device can be any terminal device or network device in the communication system shown in Figure 5, and the receiving device can also be any terminal device or network device in the communication system shown in Figure 5. The transmitting or receiving device described in the following embodiments may include the components shown in Figure 7.

[0133] Figure 8 is an interaction diagram of a communication method provided in an embodiment of this application. As shown in Figure 8, the method may include:

[0134] Step 801: The transmitting device determines X first matrices from a preset matrix set based on N and K.

[0135] The K information bits may include the information bits themselves, or the K information bits may include the information bits themselves and cyclic redundancy check (CRC) bits, or the K information bits may include the information bits themselves, CRC bits, and check bits.

[0136] Where N is a positive integer greater than or equal to K. Where X is a positive integer greater than or equal to 1.

[0137] In this matrix, the number of rows and columns are the same. Different first matrices can have the same number of rows, or different first matrices can have different numbers of rows; there is no restriction.

[0138] It is understood that, unless otherwise specified, all matrices in this application are square matrices, meaning that the number of rows and columns in the matrices in this application are the same.

[0139] It is understood that the description of "number of rows" in this application can be replaced with a description of "number of columns". For example, the description that the first matrix has 8 rows can be replaced with the description that the first matrix has 8 columns.

[0140] Optionally, the number of rows in the first matrix can be less than or equal to 8, and correspondingly, the number of columns in the first matrix can be less than or equal to 8.

[0141] Optionally, X can be determined based on N.

[0142] When N is greater than 8, N can be split into two rows (such as the first row number and the second row number). For the first row number (or the second row number), if the first row number (or the second row number) is less than or equal to 8, then the matrix corresponding to the first row number (or the second row number) is the first matrix (the first row number is the row number of the first matrix). If the first row number (or the second row number) is greater than 8, then the matrix corresponding to the first row number (or the second row number) is determined based on multiple first matrices.

[0143] Among them, the absolute value of the difference between the number in the first row and the number in the second row is less than or equal to the first threshold.

[0144] For example, the first threshold can be 1, or the first threshold can be 2.

[0145] Optionally, the value of the first threshold can vary depending on the communication scenario or situation. The value of the first threshold can be dynamically determined based on the actual communication scenario or situation, ensuring good error correction performance for the determined X first matrices, thereby improving decoding performance. Furthermore, by determining different first thresholds, different numbers of rows in multiple first matrices can be determined, thus enabling the determination of multiple first matrices and increasing the flexibility and diversity of first matrix determination.

[0146] For rows greater than 8, these rows can be further split into two rows, until each resulting row is less than or equal to 8. Additionally, for each split, the absolute value of the difference between the two resulting rows must be less than or equal to a first threshold.

[0147] For example, when N is less than or equal to 8, N does not need to be split, and X can be 1; when N is greater than 8 and less than 16, N can be split once, and X can be 2.

[0148] When X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K.

[0149] It is understandable that when X is 1, there exists a first matrix with N rows and N columns, and the number of information bits corresponding to the first matrix is ​​K.

[0150] When X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, and the sum of the number of information bits corresponding to the X first matrices is K.

[0151] For example, with X = 2, N = 15, and K = 6, the sum of the number of rows in the first matrix and the second matrix can be 15. For example, the number of rows in the first matrix can be 8, and the number of rows in the second matrix can be 7. The sum of the number of information bits corresponding to the first matrix and the second matrix can be 6. For example, the number of information bits corresponding to the first matrix can be 1, and the number of information bits corresponding to the second matrix can be 5.

[0152] Based on the above description, after determining the number of rows of each of the X first matrices and the number of information bits corresponding to each first matrix according to N and K, the transmitting device can determine each first matrix according to the number of rows of each first matrix and the number of information bits corresponding to each first matrix. For details, please refer to the relevant descriptions in Tables 1 to 3 below, which will not be repeated here.

[0153] The number of rows in each of the X first matrices can be determined by referring to the descriptions in Tables 4 to 15 below, based on N and K, which will not be elaborated here.

[0154] The number of information bits in each of the X first matrices can be determined based on N and K, as described in Tables 16 to 25 below. This will not be elaborated upon here.

[0155] It is understood that the X first matrices can be the same first matrix, or, among the X first matrices, there can be at least two different first matrices, or, among the X first matrices, there can be at least two identical first matrices; this application does not limit this.

[0156] Understandably, the X first matrices can be dynamically determined based on the specific values ​​of N and K, which can improve the flexibility of determining the X first matrices.

[0157] Step 802: The transmitting device performs polar coding on the first sequence of length N based on X first matrices to obtain the second sequence.

[0158] Specifically, the transmitting device can determine the third matrix based on X first matrices, and then perform polar coding on the first sequence of length N based on the third matrix to obtain the second sequence.

[0159] The third matrix is ​​an N-row, N-column matrix.

[0160] Optionally, before performing polar coding, the transmitting device may obtain a first sequence of length N.

[0161] The first sequence may include one or more of the following: information bits, CRC bits, check bits, or pre-frozen bits.

[0162] Specifically, the transmitting device can map the information bit sequence of length K' onto a sequence of length N based on the reliability sequence to obtain the first sequence of length N.

[0163] The information bit sequence may include information bits and CRC bits, meaning 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 the information bits themselves, meaning K' can be the number of information bits in the information bit sequence.

[0164] It is understood that K can be K', or K can be greater than K' (that is, K information bits include check bits in addition to information bits and CRC bits), and this application does not limit this.

[0165] The reliability sequence can be used to indicate the reliability of each bit position in the sequence. The higher the reliability value, the more reliable the position corresponding to that reliability.

[0166] Optionally, the reliability sequence can be predefined by the protocol. The sending device can select a reliability sequence of length N from one or more predefined reliability sequences.

[0167] Specifically, the position of the information bit in the sequence of length N can be determined based on the reliability sequence of length N. The information bit sequence can then be mapped onto the sequence of length N based on the position of the information bit to obtain the first sequence. Alternatively, the information bit sequence and the check bit can be mapped onto the sequence of length N to obtain the first sequence.

[0168] Optionally, when X is 1, the third matrix is ​​the same as the first matrix.

[0169] Optionally, when X is 2, the third matrix can be determined according to the following two possible implementations:

[0170] In the first possible implementation, the third matrix can be determined based on one or more of the following: a first first matrix, a second first matrix, a second set, a third set, or a first indicator sequence; the first first matrix is ​​a p x p matrix, the second first matrix is ​​a q x q matrix, the sum of p and q is N, and both p and q are greater than 0; the second set includes p positive integers less than or equal to N, the third set includes q positive integers less than or equal to N, and the intersection of the second set and the third set is an empty set; the first indicator sequence includes q elements, the t-th element in the first indicator sequence is used to indicate the positional relationship between the t-th row of the second first matrix and the x-th row of the first first matrix, where x is determined based on the t-th element in the third set from smallest to largest and the t-th element in the first indicator sequence, t = 1, 2, 3, ..., q.

[0171] In the first example, the elements in the third matrix corresponding to the second set in the row and column are the same as the elements in the first first matrix. The elements in the third matrix corresponding to the third set in the row and column are the same as the elements in the second first matrix. The elements in the third matrix corresponding to the second set in the row and column are 0. The elements in the third matrix corresponding to the third set in the row and column are the same as the elements in the first and second first matrices corresponding to the fifth set in the row and column 1 to column p.

[0172] The t-th element in the fifth set is determined based on the t-th element in the third set from smallest to largest.

[0173] In the second example, the elements in the third matrix corresponding to the second set in the row and column are the same as the elements in the first first matrix; the elements in the third matrix corresponding to the third set in the row and column are the same as the elements in the second first matrix; the elements in the third matrix corresponding to the third set in the row and the second set in the column are 0; the elements in the third matrix corresponding to the sixth set in the row and the third set in the column are the same as the elements in the second first matrix; and the elements in the third matrix corresponding to the positive integers in the second set (excluding the sixth set) in the row and the third set in the column are 0.

[0174] The t-th element in the sixth set is determined based on the t-th element in the third set from smallest to largest.

[0175] In the third example, the elements in the third matrix corresponding to the second set in the row and column are the same as the elements in the first first matrix, the elements in the third matrix corresponding to the third set in the row and column are the same as the elements in the second first matrix, and the elements in the third matrix corresponding to the positive integers in the second set (excluding the fourth set) and the elements in the third set are 0. When the t-th element in the first indicator sequence is 1, the elements in the (j-1)-th row and the column corresponding to the third set in the third matrix are 0, and the elements in the j-th row and the column corresponding to the second set in the third matrix are the same as the elements in the x-th row and columns 1 to p-th of the first first matrix; or, when the t-th element in the first indicator sequence is 0, the elements in the j-th row and the column corresponding to the second set in the third matrix are 0, and the elements in the j+1-th row and the column corresponding to the third set in the third matrix are the same as the elements in the t-th row and columns 1 to q-th of the second first matrix.

[0176] The t-th element in the fourth set is determined by the t-th element in the third set (from smallest to largest) and the t-th element in the first set (from smallest to largest), where j is the t-th element in the third set.

[0177] In a second possible implementation, the third matrix can be determined based on one or more of the following: a first first matrix, a second first matrix, a second set, or a third set; the first first matrix is ​​a p-row, p-column matrix, the second first matrix is ​​a q-row, q-column matrix, the sum of p and q is N, and both p and q are greater than 0; when p is less than q, the second set includes p positive integers less than or equal to q, and when p is greater than q, the third set includes q positive integers less than or equal to p.

[0178] In the first example, when p is less than q, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix. The elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix. The elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0. The elements in rows (p+1) to p+q and columns 1 to p of the third matrix are the same as the elements in rows 1 to q and the columns corresponding to the second set in the second first matrix.

[0179] In the second example, when p equals q, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix. The elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix. The elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0. The elements in rows (p+1) to p+q and columns 1 to p of the third matrix are the same as the elements in the second first matrix.

[0180] In the third example, when p is greater than q, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0; and the elements in rows (p+1) to p+q and the columns corresponding to the third set are the same as the elements in the second first matrix.

[0181] In the fourth example, when p is less than or equal to q, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0; the elements in rows (p+1) to p+q and columns 1 to p of the third matrix are the same as the elements in rows 1 to q and columns 1 to p of the second first matrix.

[0182] In the fifth example, when p is greater than or equal to q, the elements in rows 1 to p and columns 1 to p of the third matrix are the same as the elements in the first first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q of the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns (p+1) to p+q of the third matrix are 0; the elements in rows (p+1) to p+q and columns 1 to q of the third matrix are the same as the elements in the second first matrix; the elements in rows (p+1) to p+q and columns (q+1) to p of the third matrix are 0.

[0183] Optionally, when X is greater than 2, the third matrix can be determined based on the fourth and fifth matrices. The fourth matrix can be determined based on one or more of the X first matrices; correspondingly, the fifth matrix can be determined based on the first matrices other than those one or more. For example, when X is 4, there are four first matrices. The fourth matrix can be determined based on two of these first matrices, and the method for determining the fourth matrix can refer to the method for determining the third matrix described above. The fifth matrix can be determined based on the other two first matrices, and the method for determining the fifth matrix can refer to the method for determining the third matrix described above.

[0184] Step 803: The transmitting device outputs one or more bits of the second sequence; correspondingly, the receiving device receives the decoding information from the transmitting device.

[0185] The length of the first sequence corresponding to the information to be decoded is N.

[0186] In this process, one or more bits in the second sequence sent by the transmitting device to the receiving device may be affected by noise and other interference during transmission through the channel. The information to be decoded received by the receiving device is one or more bits in the encoded bit sequence affected by noise and other interference.

[0187] Step 804: The receiving device determines X first matrices from the preset matrix set based on N and K.

[0188] The method by which the receiving device determines the X first matrices can be the same as the method by which the sending device determines the X first matrices in step 801 above, and will not be repeated here.

[0189] Step 805: The receiving device decodes the information to be decoded based on X first matrices.

[0190] Specifically, the receiving device can determine the third matrix based on X first matrices, and then decode the information to be decoded based on the third matrix.

[0191] The method by which the receiving device determines the third matrix can be the same as the method by which the sending device determines the third matrix in step 802 above, and will not be repeated here.

[0192] Based on the communication method shown in Figure 8 above, compared to determining the encoding matrix based on N, in this application, one or more first matrices can be determined based on N and K, and then the first sequence can be encoded based on one or more first matrices. That is, one or more first matrices can be determined based on N and K, and an encoding matrix with a better code spectrum can be constructed based on one or more first matrices. On the one hand, an encoding matrix with a better code spectrum can be determined under different values ​​of N and K, which can improve the flexibility and diversity of the values ​​of N and K. On the other hand, when N is the same, the corresponding encoding matrix can be determined for different K, so that the error correction performance of the encoding matrix corresponding to different K is better, thereby improving the decoding performance.

[0193] For the first matrix in Figure 8 above, optionally, when the number of rows Y of the first matrix is ​​greater than 3 and less than or equal to 8, the first matrix corresponding to each group (Y, Z) can be determined according to the number of rows Y of the first matrix and the number of information bits Z corresponding to the first matrix.

[0194] The number of information bits Z corresponding to the first matrix can be 0 or a positive integer greater than 0 and less than or equal to Y.

[0195] Specifically, this application proposes three possible designs for determining the first matrix corresponding to each group (Y,Z):

[0196] The first possible design is when the number of rows in the first matrix is ​​2. n (e.g., when n is 2 or 3), the first matrix can be the second matrix. This applies when the first matrix has more than 2 rows. n In this case, the first matrix can be determined based on the bit rate. That is, if the bit rate is less than or equal to 7 / 16, the first matrix can be the second matrix after punching holes; if the bit rate is greater than 7 / 16, the first matrix can be the second matrix after shortening.

[0197] The second matrix is ​​2. n Line 2n The first matrix is ​​the column matrix, and the second matrix is ​​the pair matrix. The encoding matrix obtained by performing n Kronecker products. This indicates rounding up to the nearest integer.

[0198] The first matrix corresponding to each group (Y,Z) in the first possible design can be predefined in the communication protocol in the form of Table 1 below. When the transmitting device performs encoding, it can determine X first matrices based on Table 1 predefined in the communication protocol, and then encode the first sequence based on the X first matrices.

[0199] It is understood that Table 1 may include the first matrix corresponding to different Y and Z. In different communication scenarios or communication conditions, the first matrix corresponding to one or more sets of (Y,Z) in Table 1 can be determined. This application does not limit this.

[0200] Table 1

[0201] Where F8 is a pair of matrices The encoding matrix obtained by performing 3 Kronecker products, F4 is the pair of matrices The encoding matrix obtained by performing two Kronecker products.

[0202] For a punched F8, the number of rows and columns of the punched F8 is Y. By removing the first (8-Y) rows and first (8-Y) columns of F8, we can get a punched F8 of length Y. Similarly, for a shortened F8, the number of rows and columns of the shortened F8 is Y. By removing the last (8-Y) rows and last (8-Y) columns of F8, we can get a shortened F8 of length Y.

[0203] It is understandable that for an arbitrarily long punctured encoding matrix (e.g., the number of rows in the punctured encoding matrix can be Y, the number of rows in the encoding matrix is ​​a power of 2, and the encoding matrix is ​​a pairwise matrix), The encoding matrix obtained by performing n Kronecker products (n = log2Y) can be punched by removing the first S rows and S columns of the encoding matrix. Similarly, for a shortened encoding matrix of any length (e.g., length Y), the shortened encoding matrix can be obtained by removing the last S rows and S columns of the encoding matrix.

[0204] Where S is the absolute value of the difference between the number of rows in the encoding matrix and Y.

[0205] The first matrix corresponding to each group (Y,Z) determined based on the first possible design is compatible with existing encoding matrices and simplifies the implementation of determining the first matrix corresponding to each group (Y,Z).

[0206] The second possible design differs from the one described above, which determines the first matrix corresponding to (Y,Z) based on the code rate. The first possible design can be adjusted based on the error correction performance. For example, for a certain group (Y,Z), the error correction performance of the corresponding punctured second matrix and the shortened second matrix can be compared. The matrix with better error correction performance can be used as the first matrix corresponding to that group (Y,Z), thereby improving the decoding performance of the first matrix corresponding to each group (Y,Z).

[0207] For example, the first matrix corresponding to (7,2), (7,3), and (6,2) in the first possible design can be replaced by the second matrix after punching holes and shortened. The first matrix corresponding to (7,4) and (6,3) in the first possible design can be replaced by the second matrix after punching holes and shortened. The first matrix corresponding to the remaining (Y,Z) is the same as the first matrix corresponding to (Y,Z) in the first possible design.

[0208] The first matrix corresponding to each group (Y,Z) in the second possible design can be predefined in the communication protocol in the form described in Table 2 below. When the transmitting device performs encoding, it can determine X first matrices based on Table 2 predefined in the communication protocol, and then encode the first sequence based on the X first matrices.

[0209] It is understood that Table 2 may include the first matrix corresponding to different Y and Z. In different communication scenarios or communication conditions, the first matrix corresponding to one or more sets of (Y,Z) in Table 2 can be determined. This application does not limit this.

[0210] Table 2

[0211] The third possible design is to determine multiple matrices for each pair of Y and Z in the following manner, and select the matrix with the best performance from these multiple matrices as the first matrix corresponding to (Y,Z).

[0212] Method 1: When the number of rows in the first matrix is ​​2 n (e.g., n is 2 or 3) the first matrix can be the second matrix; when the number of rows in the first matrix is ​​not 2 n In this case, the first matrix can be either the second matrix after punching holes or the second matrix after shortening.

[0213] Method 2: The first matrix corresponding to each group (Y,Z) can be determined by determining a matrix whose sum of the number of rows is Y. The method of determining the first matrix based on the matrix whose sum of the number of rows is Y can be referred to the method of determining the third matrix based on the two first matrices, as described above, and will not be repeated here.

[0214] For example, among the first matrices corresponding to each group (Y,Z) determined based on Method 1 and Method 2, the following first matrix corresponding to (Y,Z) has the best performance: the first matrix corresponding to (8,6) can be: The first matrix corresponding to (8,5) can be: The first matrix corresponding to (8,3) can be: The first matrix corresponding to (8,2) can be: The first matrix corresponding to (7,5) can be: The first matrix corresponding to (7,2) can be: The first matrix corresponding to (6,2), (6,3), or (6,4) can be: The first matrix corresponding to (5,3) can be: The first matrix corresponding to (5,2) can be: The first matrix corresponding to (4,2) can be:

[0215] Based on the above description of the first matrix corresponding to each group (Y,Z), the first matrix corresponding to each group (Y,Z) can be predefined in the communication protocol in the form of Table 3 below. When the transmitting end device performs encoding, it can determine X first matrices based on Table 3 predefined in the communication protocol, and then encode the first sequence based on the X first matrices.

[0216] It is understood that Table 3 may include the first matrix corresponding to different Y and Z. In different communication scenarios or communication conditions, the first matrix corresponding to one or more sets of (Y,Z) in Table 3 can be determined. This application does not limit this.

[0217] Table 3

[0218] Compared to the first and second possible designs, the first matrix corresponding to each group (Y,Z) determined based on the third possible design can further improve the error correction performance of the first matrix corresponding to each group (Y,Z).

[0219] Based on the above description of the first matrix, the first matrix can be determined according to the number of rows of the first matrix and the number of information bits corresponding to the first matrix. When determining the number of rows of the first matrix, the number of rows of X first matrices can be determined according to N and K.

[0220] The sum of the number of rows in the X first matrices is N.

[0221] Optionally, the difference in the number of rows of at least two of the X first matrices can be less than or equal to a first threshold (or can be described as the absolute value of the difference in the number of rows of at least two of the X first matrices being less than or equal to a first threshold).

[0222] For example, the first threshold can be 1, or the first threshold can be 2.

[0223] For example, taking a first threshold of 1 as an example, when N is 17, the difference between the number of rows in the first matrix and the number of rows in the second matrix can be 1, and the difference between the number of rows in the first matrix and the number of rows in the third matrix, as well as the difference between the number of rows in the second matrix and the number of rows in the third matrix, can be greater than 1. For example, the number of rows in the first matrix can be 4, the number of rows in the second matrix can be 5, and the number of rows in the third matrix can be 8.

[0224] Optionally, the difference in the number of rows of any two first matrices among the X first matrices can be less than or equal to a first threshold (or can be described as the absolute value of the difference in the number of rows of any two first matrices among the X first matrices being less than or equal to a first threshold).

[0225] In one example, the absolute value of the difference in the number of rows of any two first matrices in the X first matrices can be less than or equal to 1. Taking N as 15 and X as 2 as an example, the difference in the number of rows of any two first matrices can be 1. For example, the first first matrix can have 8 rows and the second first matrix can have 7 rows.

[0226] In another example, the absolute value of the difference between the number of rows of any two first matrices in the X first matrices can be less than or equal to 2. Taking N as 14 and X as 2 as an example, the difference between the number of rows of the first first matrix and the number of rows of the second first matrix can be 2. For example, the number of rows of the first first matrix can be 6 and the number of rows of the second first matrix can be 8.

[0227] It is understandable that when the absolute value of the difference between the X first matrices is less than the first threshold, the decoding performance can be improved and the construction of the first matrices can be simplified.

[0228] Based on the range of values ​​for N, this application proposes three possible designs for determining the number of rows in the X first matrices:

[0229] The first possible design is that when N is greater than 8 and less than or equal to 16, N can be split once to obtain two rows less than or equal to 8, and these two rows are the row numbers of the two first matrices.

[0230] Optionally, the number of rows of the two first matrices can be determined based on whether N is even. For example, when N is even, the number of rows of the two first matrices is the same; when N is odd, the difference between the number of rows of the two first matrices is 1 (or it can be described as the absolute value of the difference between the number of rows of the two first matrices being 1).

[0231] For example, when N is 10, the number of rows in both first matrices can be 5; or, when N is 11, the number of rows in the first first matrix can be 5 and the number of rows in the second first matrix can be 6, or the number of rows in the first first matrix can be 6 and the number of rows in the second first matrix can be 5.

[0232] Optionally, when N is odd, the number of rows in the first matrix can be determined based on the relationship between N and K. For example, when K is greater than or equal to 5 and the difference between N and K is 4 or 8 (or can be described as the absolute value of the difference between N and K being 4 or 8), the number of rows in the second matrix can be 1 greater than the number of rows in the first matrix; when K is less than 5 and the absolute value of the difference between N and K is 4 or 8, the number of rows in the first matrix can be 1 greater than the number of rows in the second matrix; when the difference between N and K is not 4 or 8, the number of rows in the first matrix can be 1 greater than the number of rows in the second matrix.

[0233] Specifically, when N is 9 and K is not 5, since the absolute value of the difference between N and K is not 4, or when the absolute value of the difference between N and K is 8 and K is less than 5, the number of rows of the first matrix can be 1 greater than the number of rows of the second matrix. That is, the number of rows of the first matrix can be 5 and the number of rows of the second matrix can be 4.

[0234] Specifically, when N is 9 and K is 5, since K equals 5 and the absolute value of the difference between N and K is 4, the number of rows in the second first matrix can be 1 greater than the number of rows in the first first matrix. That is, the number of rows in the first first matrix can be 4 and the number of rows in the second first matrix can be 5.

[0235] Similarly:

[0236] Specifically, when N is 10, the first matrix can have 5 rows, and the second matrix can have 5 rows.

[0237] Specifically, when N is 11 and K is not 7, the first matrix can have 6 rows and the second matrix can have 5 rows.

[0238] Specifically, when N is 11 and K is 7, the first matrix can have 5 rows and the second matrix can have 6 rows.

[0239] Specifically, when N is 12, the first matrix can have 6 rows, and the second matrix can have 6 rows.

[0240] Specifically, when N is 13 and K is not 5, the first matrix can have 7 rows and the second matrix can have 6 rows.

[0241] Specifically, when N is 13 and K is 5, the first matrix can have 6 rows and the second matrix can have 7 rows.

[0242] Specifically, when N is 14, the first matrix can have 7 rows, and the second matrix can have 7 rows.

[0243] Specifically, when N is 15 and K is not 7 or 11, the first matrix can have 8 rows and the second matrix can have 7 rows.

[0244] Specifically, when N is 15 and K is 7 or 11, the first matrix can have 7 rows and the second matrix can have 8 rows.

[0245] Specifically, when N is 16, the first matrix can have 8 rows, and the second matrix can have 8 rows.

[0246] The number of rows of the two first matrices corresponding to each group (N,K) can be predefined in the communication protocol in the form described in Table 4 below. When the sending device determines the number of rows of the two first matrices corresponding to each group (N,K), it can directly determine the number of rows of the two first matrices based on Table 4 predefined in the communication protocol.

[0247] It is understood that Table 4 may include the number of rows of the two first matrices corresponding to different N and K. In different communication scenarios or communication situations, the number of rows of the two first matrices corresponding to one or more sets of (N,K) in Table 4 can be determined. This application does not limit this.

[0248] In this case, a set of [i; k] can be determined according to each group (N, K), where i represents the number of rows of the first matrix and k represents the number of rows of the second matrix. For example, when N is 9 and K is 6, [i; k] can be determined as [5; 4], that is, the number of rows of the first matrix can be 5 (i.e., i is 5) and the number of rows of the second matrix can be 4 (i.e., k is 4).

[0249] Table 4

[0250] Here, [] indicates that there is no corresponding [i;k] under (N,K).

[0251] The second possible design is that when N is greater than 16 and less than 32, N can be split into two rows. Since at least one of the two split rows is greater than or equal to 8, the split rows greater than or equal to 8 can be split again to obtain at least three rows. These at least three rows are the rows of at least three first matrices.

[0252] For example, taking N as 17, when N is split into two rows, these two rows can be 8 and 9. Since 9 is greater than 8, 9 can be split into two rows (such as 4 and 5). Finally, three rows can be determined: 8, 4, and 5. Thus, the number of rows in the first matrix can be determined to be 8, the number of rows in the second matrix can be 4, and the number of rows in the third matrix can be 5.

[0253] The third possible design, when N is greater than or equal to 32 and less than or equal to 64, can split N into two rows. Since both rows are greater than 8, these two rows can be split again to obtain the first, second, third, and fourth rows. Furthermore, the rows greater than 8 in the first, second, third, and fourth rows can be split again to obtain at least four rows less than or equal to 8. That is, the rows less than or equal to 8 in the first, second, third, and fourth rows are the number of rows in the first matrix, and the rows greater than 8 in the first, second, third, and fourth rows are the sum of the number of rows in the two first matrices.

[0254] Understandably, when determining the number of rows in the two first matrices corresponding to rows with a row number greater than 8, the row number greater than 8 can be taken as N, and the number of information bits corresponding to the row number greater than 8 can be taken as K. Then, the number of rows in the two first matrices can be determined based on Table 4. The number of information bits corresponding to a row number greater than 8 is less than or equal to that row number. The specific method for determining the number of information bits corresponding to a row number greater than 8 can be referred to the description of the number of information bits in Tables 17-25 below.

[0255] For the numbers in the first, second, third, and fourth rows, we can determine whether they are the same based on whether N is a multiple of 4. For example, when N is a multiple of 4, the numbers in the first, second, third, and fourth rows are all the same; when N is not a multiple of 4, the absolute value of the difference between any two numbers in the first, second, third, and fourth rows is 1.

[0256] The number of the first, second, third, and fourth rows corresponding to each group (N,K) can be predefined in the communication protocol in the form described in any one of Tables 5-15 below. When the sending device determines the number of the first, second, third, and fourth rows corresponding to each group (N,K), it can do so based on any one of the predefined tables in Tables 5-15 in the communication protocol.

[0257] It is understood that Tables 5-15 may include the number of the first row, the second row, the third row, and the fourth row corresponding to different N and K. In different communication scenarios or situations, the number of the first row, the second row, the third row, and the fourth row corresponding to one or more sets of (N,K) in any one of the tables in Tables 5-15 can be determined. This application does not limit this.

[0258] One of the tables in Tables 5-15 can be used to determine a group of [a; b; c; d] for each group (N, K), where a represents the number of the first row, b represents the number of the second row, c represents the number of the third row, and d represents the number of the fourth row. For example, when N is 32 and K is 1, the [a; b; c; d] corresponding to (N, K) can be determined in Table 5. The [a; b; c; d] can be determined as [8; 8; 8; 8], which means that the number of the first row is 8 (i.e., a is 8), the number of the second row is 8 (i.e., b is 8), the number of the third row is 8 (i.e., c is 8), and the number of the fourth row is 8 (i.e., d is 8).

[0259] Table 5

[0260] Table 6

[0261] Table 7

[0262] Table 8

[0263] Table 9

[0264] Table 10

[0265] Table 11

[0266] Table 12

[0267] Table 13

[0268] Table 14

[0269] Table 15

[0270] Based on the above description of the first matrix, the first matrix can be determined according to the number of rows of the first matrix and the number of information bits corresponding to the first matrix. When determining the number of information bits corresponding to the first matrix, the number of information bits corresponding to the X first matrices in each group (N,K) can be determined according to N and K.

[0271] The number of information bits corresponding to the first matrix is ​​less than or equal to the number of rows in the first matrix.

[0272] Specifically, when determining the number of information bits corresponding to the X first matrices for each group (N,K), the sum of the number of information bits corresponding to the X first matrices is K.

[0273] For each pair of N and K, several different combinations can be determined (the combination is the number of information bits corresponding to the X first matrices). For example, when K is 4 and X is 2, five combinations can be determined: [0; 4], [1; 3], [2; 2], [3; 1], [4; 0].

[0274] It is understandable that X first matrices can be determined for each combination, and then the third matrix corresponding to each combination can be determined (that is, the third matrix is ​​determined based on the X first matrices corresponding to each combination). The number of information bits corresponding to the X first matrices can be determined based on the combination corresponding to the best-performing third matrix among the multiple third matrices corresponding to the multiple combinations.

[0275] For example, when N is 15 and K is 4, X can be 2. Based on Table 4, the row numbers of the two first matrices corresponding to (15,4) are [8; 7]. Simultaneously, based on K, the number of information bits corresponding to the two first matrices corresponding to (15,4) are [0; 4], [1; 3], [2; 2], [3; 1], and [4; 0]. Based on Table 3, the two first matrices can be determined based on [8; 7] and [0; 4] (i.e., the first matrix corresponding to (8,0) is F8, and the first matrix corresponding to (7,4) is the punched matrix). F8), the third matrix 1 can be determined based on F8 and the punched F8. Similarly, the third matrix 2 can be determined based on [8; 7] and [1; 3]. The third matrix 3 can be determined based on [8; 7] and [2; 2]. The third matrix 4 can be determined based on [8; 7] and [3; 1]. The third matrix 5 can be determined based on [8; 7] and [4; 0]. Assuming that the performance of the third matrix 2 is optimal, the combination corresponding to the third matrix 2 (i.e., [1; 3]) can be used as the number of information bits corresponding to the two first matrices corresponding to (15, 4).

[0276] This application proposes two possible designs for determining the number of information bits corresponding to the X first matrices, considering the range of values ​​for N:

[0277] In the first possible design, when N is greater than 8 and less than or equal to 16, X can be determined to be 2, and the number of information bits corresponding to the two first matrices of each group (N,K) can be determined according to N and K.

[0278] Specifically, when N is less than or equal to 15 and K is 4, the number of information bits corresponding to the first matrix is ​​1, and the number of information bits corresponding to the second matrix is ​​3.

[0279] Specifically, when N is 16 and K is 4, the number of information bits corresponding to the first matrix is ​​0, and the number of information bits corresponding to the second matrix is ​​4.

[0280] Specifically, when K is 5, the number of information bits corresponding to the first matrix is ​​1, and the number of information bits corresponding to the second matrix is ​​4.

[0281] Specifically, when N equals K and N is odd, the number of information bits corresponding to the first matrix is ​​(N+1) / 2, and the number of information bits corresponding to the second matrix is ​​(N-1) / 2.

[0282] Specifically, when K is odd and N equals K+1 or K+2, the number of information bits corresponding to the first matrix is ​​(K-1) / 2, and the number of information bits corresponding to the second matrix is ​​(K+1) / 2.

[0283] Specifically, when K is odd and N is greater than or equal to K+3 and less than or equal to K+6, the number of information bits corresponding to the first matrix is ​​(K-3) / 2, and the number of information bits corresponding to the second matrix is ​​(K+3) / 2.

[0284] Specifically, when K is an odd number greater than or equal to 7 and N is greater than or equal to K+7, the number of information bits corresponding to the first matrix is ​​(K-5) / 2, and the number of information bits corresponding to the second matrix is ​​(K+5) / 2.

[0285] Specifically, when K is even and N is less than or equal to K+1, the number of information bits corresponding to the first matrix and the second matrix is ​​K / 2.

[0286] Specifically, when K is even and N is greater than or equal to K+2 and N is less than or equal to K+5, the number of information bits corresponding to the first matrix is ​​K / 2-1, and the number of information bits corresponding to the second matrix is ​​K / 2+1.

[0287] Specifically, when K is an even number greater than or equal to 6 and N is greater than or equal to K+6, the number of information bits corresponding to the first first matrix is ​​K / 2-2, and the number of information bits corresponding to the second first matrix is ​​K / 2+2.

[0288] The number of information bits corresponding to the two first matrices of each group (N,K) can be predefined in the communication protocol in the form described in Table 16 below. When the transmitting device determines the number of information bits corresponding to the two first matrices of each group (N,K), it can determine the number of information bits corresponding to the two first matrices of each group (N,K) based on Table 16 predefined in the communication protocol.

[0289] It is understood that Table 16 may include the number of information bits corresponding to the two first matrices corresponding to different N and K. In different communication scenarios or communication situations, the number of information bits corresponding to the two first matrices corresponding to one or more sets of (N,K) in Table 16 can be determined. This application does not limit this.

[0290] In this context, a [u; v] can be determined for each group (N, K), where u represents the number of information bits corresponding to the first first matrix and v represents the number of information bits corresponding to the second first matrix. For example, when N is 9 and K is 6, [u; v] can be determined as [2; 4]. The number of information bits corresponding to the first first matrix can be 2 (i.e., u is 2), and the number of information bits corresponding to the second first matrix can be 4 (i.e., v is 4).

[0291] Table 16

[0292] In the second possible design, when N is greater than or equal to 32 and less than or equal to 64, the number of rows in the first matrix, the second row, the third row, and the fourth row can be determined based on the above description of the number of rows in the first matrix. Then, the number of information bits corresponding to each row number can be determined (e.g., the number of first information bits, the number of second information bits, the number of third information bits, and the number of fourth information bits). The number of information bits corresponding to the rows in the first, second, third, and fourth rows that are less than or equal to 8 is the number of information bits corresponding to the first matrix. The number of information bits corresponding to the rows in the first, second, third, and fourth rows that are greater than 8 is the sum of the number of information bits corresponding to the two first matrices.

[0293] It is understandable that when determining the number of information bits corresponding to the two first matrices mentioned above, the number of rows greater than 8 can be taken as N, and the number of information bits corresponding to the number of rows greater than 8 can be taken as K. Then, the number of information bits corresponding to the two first matrices mentioned above can be determined based on Table 16.

[0294] When determining the number of the first information bits, the second information bits, the third information bits, and the fourth information bits, the sum of the number of the four information bits can be K, and the number of each information bit is less than or equal to the number of rows corresponding to the number of information bits (e.g., the number of the first information bits is less than or equal to the number of the first rows).

[0295] The number of first, second, third, and fourth information bits corresponding to each group (N,K) can be predefined in the communication protocol in the form described in any one of Tables 17-25 below. When the transmitting device determines the number of first, second, third, and fourth information bits corresponding to each group (N,K), it can do so based on any one of the predefined tables in Tables 17-25 in the communication protocol.

[0296] It is understood that Tables 17-25 may include the number of first information bits, second information bits, third information bits, and fourth information bits corresponding to different N and K. In different communication scenarios or communication situations, the number of first information bits, second information bits, third information bits, and fourth information bits corresponding to one or more sets (N,K) in any of the tables in Tables 17-25 can be determined. This application does not limit this.

[0297] Among them, a [e; f; g; h] can be determined based on N and K from one of the tables 17-25, where e represents the number of the first information bits, f represents the number of the second information bits, g represents the number of the third information bits, and h represents the number of the fourth information bits. For example, when N is 32 and K is 1, the [e; f; g; h] corresponding to (N, K) can be determined in Table 17. The [e; f; g; h] can be determined as [0; 0; 0; 1], which means that the number of the first information bits is 0 (i.e., e is 0), the number of the second information bits is 0 (i.e., f is 0), the number of the third information bits is 0 (i.e., g is 0), and the number of the fourth information bits is 1 (i.e., h is 1).

[0298] Table 17

[0299] Table 18

[0300] Table 19

[0301] Table 20

[0302] Table 21

[0303] Table 22

[0304] Table 23

[0305] Table 24

[0306] Table 25

[0307] Based on the above description of determining the number of rows of the X first matrices corresponding to each group (N,K) and the number of information bits corresponding to the X first matrices, this application proposes a possible embodiment. Taking N as 15 and K as 6 as an example, X can be determined to be 2. According to Table 4, the number of rows of the first first matrix is ​​8 and the number of rows of the second first matrix is ​​7. According to Table 16, the number of information bits corresponding to the first first matrix is ​​1 and the number of information bits corresponding to the second first matrix is ​​6.

[0308] Optionally, when X is 2, the third matrix can be determined based on the two first matrices. This application proposes two possible embodiments for determining the third matrix based on the relationship between the number of rows in the two first matrices:

[0309] In a first possible embodiment, when the number of rows in the first matrix is ​​greater than the number of rows in the second matrix, the third matrix can be determined based on the first and second matrices. For example, if the first matrix is ​​p rows and p columns, and the second matrix is ​​q rows and q columns, the elements in the third matrix from row 1 to row p and from column 1 to column p are the same as those in the first matrix; the elements in the third matrix from row p+1 to row p+q and from column p+1 to column p+q are the same as those in the second matrix; the elements in the third matrix from row 1 to row p and from column p+1 to column p+q are 0; the elements in the third matrix from row p+1 to row p+q and from column 1 to column q are the same as those in the second matrix; and the elements in the third matrix from row p+1 to row p+q and from column q+1 to column p are 0.

[0310] In a second possible embodiment, when the number of rows in the second first matrix is ​​greater than the number of rows in the first first matrix, the third matrix can be determined based on the first and second first matrices. For example, if the first first matrix is ​​p rows and p columns, and the second first matrix is ​​q rows and q columns, the elements in the third matrix from row 1 to row p and from column 1 to column p are the same as the elements in the first first matrix; the elements in the third matrix from row p+1 to row p+q and from row p+1 to column p+q are the same as the elements in the second first matrix; the elements in the third matrix from row 1 to row p and from row p+1 to column p+q are 0; and the elements in the third matrix from row p+1 to row p+q and from column 1 to column p are the same as the elements in the second first matrix from row 1 to row q and from column 1 to column p.

[0311] Based on the two possible implementations described above, the third matrix can be dynamically determined according to the relationship between the number of rows in the two first matrices, which can improve the error correction performance of the third matrix and increase the flexibility in determining the third matrix.

[0312] For example, taking N=15 and K=6, the number of rows of the two first matrices corresponding to (15,6) can be [8; 7], and the number of information bits corresponding to the two first matrices corresponding to (15,6) can be [1; 5]. Based on Table 3, it can be determined that the first matrix corresponding to (8,1) is F8, and the first matrix corresponding to (7,5) is G. 7,5 Since the number of rows in the first matrix is ​​greater than the number of rows in the second matrix, the third matrix can be determined according to the first possible embodiment described above.

[0313] Figure 9 illustrates a performance comparison of simulation results for the third matrix determined in different ways when N=15 and K=6. Curve 1 corresponds to the third matrix determined in the example above, and curve 2 corresponds to the shortened matrix F. 16 (i.e., remove F) 16 The last row and last column), the third matrix corresponding to curve 3 is the matrix F after punching. 16 (i.e., remove F) 16 The first row and first column of the graph are plotted, with the horizontal axis representing the signal-to-noise ratio (SNR) and the vertical axis representing the block error rate (BLER). It can be seen that the decoding performance corresponding to the third matrix, as shown in curve 1, is superior and significantly better than the shortened matrix F. 16 Or the matrix F after punching holes 16 The corresponding decoding performance.

[0314] Among them, F 16 By analyzing the matrix The result is obtained by performing the Kronecker product four times.

[0315] Optionally, when N is greater than 8 and less than or equal to 16, if the absolute value of the difference between N and K is less than or equal to 3, the absolute value of the difference between N and K is less than or equal to 4, or N is greater than or equal to 15 and less than or equal to 16, the two first matrices corresponding to (N,K) can be determined according to the above method, or the two first matrices can be determined by using dual simplex codes.

[0316] Among them, when the absolute value of the difference between N and K is less than or equal to 3, the absolute value of the difference between N and K is less than or equal to 4, or N is greater than or equal to 15 and N is less than or equal to 16, the error correction performance corresponding to the two first matrices determined by the double simple shape code method is better.

[0317] Optionally, when N is greater than 8 and less than or equal to 16, and K is less than or equal to 3, the two first matrices can be determined by repetition simplex codes.

[0318] Optionally, when X is 8, the third matrix can be determined based on the eight first matrices. The specific determination method can be referred to the description of determining the third matrix in S802 above.

[0319] For example, taking N as 40 and K as 20, the number of rows corresponding to (40,20) can be determined as [10; 10; 10; 10] according to Tables 5-15, and the number of information bits corresponding to (40,20) can be determined as [1; 5; 5; 9] according to Tables 17-25. The matrix corresponding to (10,1) is determined based on two first matrices (e.g., the first matrix corresponding to (5,1) can be determined as G8 after perforation according to Table 3, and the first matrix corresponding to (5,0) can be determined as F8 after perforation; the matrix corresponding to (10,1) can be determined based on F8 after perforation and F8 after perforation). The matrix corresponding to (10,5) can be determined based on two first matrices (e.g., it can be determined based on...). According to Table 4, the number of rows of the two first matrices is [5; 5]. Based on Table 16, the number of information bits corresponding to the two first matrices is [1; 4]. Therefore, based on Table 3, the first matrix corresponding to (5,1) is the punched F8, and the first matrix corresponding to (5,4) is the shortened F8. Similarly, the matrix corresponding to (10,9) can be determined based on the two first matrices (e.g., based on Table 4, the number of rows of the two first matrices is [5; 5], and based on Table 16, the number of information bits corresponding to the two first matrices is [4; 5]. Therefore, based on Table 3, the first matrix corresponding to (5,4) is the shortened F8, and the first matrix corresponding to (5,5) is the shortened F8). Furthermore, the third matrix can be determined based on the matrix corresponding to (10,1), the matrices corresponding to the two (10,5), and the matrix corresponding to (10,9).

[0320] Figure 10 illustrates the performance comparison of simulation results for the third matrix determined in different ways when N=40 and K=20. Curve 1 corresponds to the third matrix determined in the example above, and curve 2 corresponds to the shortened matrix F. 64 (i.e., remove F) 64 The last 24 rows and last 24 columns), the third matrix corresponding to curve 3 is the matrix F after punching. 64 (i.e., remove F) 64 The first 24 rows and columns of the graph are plotted, with the horizontal axis representing SNR and the vertical axis representing BLER. It can be seen that the decoding performance corresponding to the third matrix, as shown by curve 1, is superior, and significantly better than the shortened matrix F. 64 Or the matrix F after punching holes 64 The corresponding decoding performance.

[0321] Among them, F 64 By analyzing the matrix The result was obtained by performing the Kronecker product 6 times.

[0322] It should be noted that the various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict, 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.

[0323] 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.

[0324] 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 should readily recognize that, based on the algorithm 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.

[0325] 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. It should be noted that 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.

[0326] Figure 11 shows a transmitting device 110 when each functional module is divided according to its corresponding functions. The transmitting device 110 can perform the actions performed by the transmitting device in the method shown in Figure 8. All relevant content of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiment, and will not be repeated here.

[0327] The transmitting device 110 may include a transceiver module 1101 and a processing module 1102. Exemplarily, the transmitting device 110 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions. When the transmitting device 110 is a communication device, the transceiver module 1101 may be a transceiver, which may include an antenna and radio frequency circuits; the processing module 1102 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 110 is a component having the aforementioned transmitting device functions, the transceiver module 1101 may be a radio frequency unit; the processing module 1102 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 110 is a chip system, the transceiver module 1101 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1102 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 1101 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 1102 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0328] For example, the transceiver module 1101 can be used to execute all the transceiver operations performed by the sending device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein; the processing module 1102 can be used to execute all operations other than the transceiver operations performed by the sending device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein.

[0329] Figure 12 shows a receiving device 120, which can perform the actions performed by the receiving device in the method shown in Figure 8 above. All relevant content of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and the technical effects that can be obtained can be referred to the above method embodiment, which will not be repeated here.

[0330] The receiving device 120 may include a transceiver module 1201 and a processing module 1202. Exemplarily, the receiving device 120 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 120 is a communication device, the transceiver module 1201 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 1202 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 120 is a component having the aforementioned receiving device functions, the transceiver module 1201 may be a radio frequency unit; the processing module 1202 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 120 is a chip system, the transceiver module 1201 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 1202 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 1201 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 1202 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0331] For example, the transceiver module 1201 can be used to perform all the transceiver operations performed by the receiving device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein; the processing module 1202 can be used to perform all operations other than the transceiver operations performed by the receiving device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein.

[0332] As another possible implementation, the transceiver module 1101 in Figure 11 can be replaced by a transceiver that integrates the functions of the transceiver module 1101; the processing module 1102 can be replaced by a processor that integrates the functions of the processing module 1102. Furthermore, the transmitting device 110 shown in Figure 11 may also include a memory. Alternatively, the transceiver module 1201 in Figure 12 can be replaced by a transceiver that integrates the functions of the transceiver module 1201; the processing module 1202 can be replaced by a processor that integrates the functions of the processing module 1202. Furthermore, the receiving device 120 shown in Figure 12 may also include a memory.

[0333] Alternatively, when the processing module 1102 is replaced by a processor and the transceiver module 1101 is replaced by a transceiver, the transmitting end device 110 involved in the embodiments of this application can also be the communication device 130 shown in FIG13. Or, when the processing module 1202 is replaced by a processor and the transceiver module 1201 is replaced by a transceiver, the receiving end device 120 involved in the embodiments of this application can also be the communication device 130 shown in FIG13.

[0334] The processor can be logic circuit 1301, and the transceiver can be interface circuit 1302. Furthermore, the communication device 130 shown in FIG13 may also include a memory 1303.

[0335] 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.

[0336] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.

[0337] 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.

[0338] It should be noted that the terms "first" and "second," etc., 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.

[0339] 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.

[0340] It should be understood that in this application, "at least one (item)" means one or more. "More than one" means two or more. "At least two (items)" means 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 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.

[0341] 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 the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0342] 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.

[0343] 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.

[0344] In the several embodiments provided in this application, it should be understood that 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 mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0345] 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.

[0346] 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.

[0347] 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. A communication method, characterized in that, include: Based on N and K, X first matrices are determined from a preset matrix set; where K is the number of information bits, and K is a positive integer less than or equal to N; when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, and the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same; Based on the X first matrices, polar coding is performed on the first sequence of length N to obtain the second sequence; Output one or more bits of the second sequence.

2. A communication method, characterized in that, include: Receive information to be decoded; wherein the number of information bits corresponding to the information to be decoded is K; K is a positive integer less than or equal to N; Based on N and K, X first matrices are determined from a preset matrix set; wherein, when X is 1, the number of rows and columns of the X first matrices are both N, and the number of information bits corresponding to the X first matrices is K; when X is greater than 1, the sum of the number of rows and the sum of the number of columns of the X first matrices are both N, the sum of the number of information bits corresponding to the X first matrices is K, and the number of rows and columns of the first matrices are the same; The information to be decoded is decoded based on one or more first matrices.

3. The method according to claim 1 or 2, characterized in that, When X is greater than 1 The difference in the number of rows of at least two of the X first matrices is less than or equal to a first threshold.

4. The method according to any one of claims 1-3, characterized in that, The difference in the number of rows of any two of the X first matrices is less than or equal to the first threshold.

5. The method according to claim 3 or 4, characterized in that, The first threshold is 1 or 2.

6. The method according to any one of claims 1-5, characterized in that, The first matrix has 8 or fewer rows.

7. The method according to any one of claims 1-6, characterized in that, When X is greater than 1 The X first matrices are identical first matrices, or, among the X first matrices, there are at least two different first matrices, or, among the X first matrices, there are at least two identical first matrices.

8. The method according to claims 1-7, characterized in that, When the number of rows in the first matrix is ​​2 n When the first matrix is ​​the second matrix; or When the number of rows in the first matrix is ​​not 2 n In this case, the first matrix is ​​the second matrix after punching holes; or, the first matrix is ​​the second matrix after shortening. Wherein, the second matrix is ​​2 n Line 2 n The matrix of columns, the second matrix is ​​a pair of matrices. The encoding matrix obtained by performing n Kronecker products, where n is a positive integer.

9. The method according to claim 8, characterized in that, When the number of rows in the first matrix is ​​2 n When the first matrix is ​​the second matrix; or When the number of rows in the first matrix is ​​not 2 n If the ratio of the number of information bits corresponding to the first matrix to the number of rows of the first matrix is ​​less than or equal to 7 / 16, the first matrix is ​​the second matrix after punching holes. or When the number of rows in the first matrix is ​​not 2 n If the ratio of the number of information bits corresponding to the first matrix to the number of rows of the first matrix is ​​greater than 7 / 16, then the first matrix is ​​a shortened second matrix.

10. The method according to claim 8, characterized in that, The first matrix is ​​a shortened second matrix when one or more of the following conditions are met: N is 7 and K is 2, N is 7 and K is 3, or N is 6 and K is 2; or The first matrix is ​​the second matrix after punching when one or more of the following conditions are met: N is 7 and K is 4, or N is 6 and K is 3.

11. The method according to any one of claims 1-7, characterized in that, The first matrix has 8 rows and corresponds to 6 information bits. The first matrix is ​​as follows: or The first matrix has 8 rows and 5 information bits. The first matrix is ​​as follows: or When the first matrix has 8 rows and the number of information bits corresponding to the first matrix is ​​3, the first matrix is: or The first matrix has 8 rows and corresponds to 2 information bits. The first matrix is ​​as follows: or The first matrix is: where N is 7 and the number of information bits corresponding to the first matrix is ​​5. or The first matrix is: where N is 7 and the number of information bits corresponding to the first matrix is ​​2. or Where N is 6 and the number of information bits corresponding to the first matrix is ​​2, 3, or 4, the first matrix is: or The first matrix is: where N is 5 and the number of information bits corresponding to the first matrix is ​​3. or The first matrix is: where N is 5 and the number of information bits corresponding to the first matrix is ​​2. or The first matrix is: where N is 4 and the number of information bits corresponding to the first matrix is ​​2.

12. The method according to any one of claims 1-11, characterized in that, When N is greater than 8 and less than or equal to 16, there exist two first matrices. When N is even, the two first matrices have the same number of rows; or When N is odd, the difference in the number of rows of the two first matrices is 1.

13. The method according to claim 12, characterized in that, When N is odd When K is greater than or equal to 5 and the difference between N and K is 4 or 8, the number of rows in the second first matrix is ​​1 greater than the number of rows in the first first matrix; or When K is less than 5 and the difference between N and K is 4 or 8, the number of rows in the first matrix is ​​1 greater than the number of rows in the second matrix; or When the difference between N and K is not 4 or 8, the number of rows in the first matrix is ​​1 greater than the number of rows in the second matrix.

14. The method according to claim 12 or 13, characterized in that, When N is 9 and K is not 5, the first matrix has 5 rows and the second matrix has 4 rows. When N is 9 and K is 5, the first matrix has 4 rows and the second matrix has 5 rows; or When N is 10, the first matrix has 5 rows, and the second matrix has 5 rows; or When N is 11 and K is not 7, the first matrix has 6 rows and the second matrix has 5 rows; or When N is 11 and K is 7, the first matrix has 5 rows and the second matrix has 6 rows; or When N is 12, the first matrix has 6 rows, and the second matrix has 6 rows; or When N is 13 and K is not 5, the first matrix has 7 rows and the second matrix has 6 rows; or When N is 13 and K is 5, the first matrix has 6 rows and the second matrix has 7 rows; or, When N is 14, the first matrix has 7 rows, and the second matrix has 7 rows; or When N is 15 and K is not 7 or 11, the first matrix has 8 rows and the second matrix has 7 rows; or When N is 15 and K is 7 or 11, the first matrix has 7 rows and the second matrix has 8 rows; or When N is 16, the first matrix has 8 rows and the second matrix has 8 rows.

15. The method according to any one of claims 12-14, characterized in that, When the number of rows in the first matrix is ​​greater than the number of rows in the second matrix, a third matrix is ​​determined based on the first and second matrices; wherein, the third matrix is ​​used for polar coding or decoding; the elements in rows 1 to p and columns 1 to p in the third matrix are the same as the elements in the first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q in the third matrix are the same as the elements in the second matrix; the elements in rows 1 to p and columns (p+1) to p+q in the third matrix are 0; the elements in rows (p+1) to p+q and columns 1 to q in the third matrix are the same as the elements in the second matrix; the elements in rows (p+1) to p+q and columns (q+1) to p in the third matrix are 0; or When the number of rows in the second first matrix is ​​greater than the number of rows in the first first matrix, a third matrix is ​​determined based on the first and second first matrices; wherein, the third matrix is ​​used for polar coding or decoding; the elements in rows 1 to p and columns 1 to p in the third matrix are the same as the elements in the first first matrix; the elements in rows (p+1) to p+q and columns (p+1) to p+q in the third matrix are the same as the elements in the second first matrix; the elements in rows 1 to p and columns (p+1) to p+q in the third matrix are 0; the elements in rows (p+1) to p+q and columns 1 to p in the third matrix are the same as the elements in rows 1 to q and columns 1 to p in the second first matrix; The first matrix is ​​a p-row, p-column matrix, and the second matrix is ​​a q-row, q-column matrix, where the sum of p and q is N.

16. The method according to any one of claims 12-15, characterized in that, When N is less than or equal to 15 and K is 4, the number of information bits corresponding to the first matrix is ​​1, and the number of information bits corresponding to the second matrix is ​​3. or When N is 16 and K is 4, the number of information bits corresponding to the first matrix is ​​0, and the number of information bits corresponding to the second matrix is ​​4; or When K is 5, the number of information bits corresponding to the first matrix is ​​1, and the number of information bits corresponding to the second matrix is ​​4. or When N equals K and N is odd, the number of information bits corresponding to the first matrix is ​​(N+1) / 2, and the number of information bits corresponding to the second matrix is ​​(N-1) / 2; or When K is odd and N equals K+1 or K+2, the number of information bits corresponding to the first matrix is ​​(K-1) / 2, and the number of information bits corresponding to the second matrix is ​​(K+1) / 2; or When K is odd and N is greater than or equal to K+3 and less than or equal to K+6, the number of information bits corresponding to the first matrix is ​​(K-3) / 2, and the number of information bits corresponding to the second matrix is ​​(K+3) / 2; or When K is an odd number greater than or equal to 7 and N is greater than or equal to K+7, the number of information bits corresponding to the first matrix is ​​(K-5) / 2, and the number of information bits corresponding to the second matrix is ​​(K+5) / 2; or When K is even and N is less than or equal to K+1, the number of information bits corresponding to the first matrix and the second matrix is ​​both K / 2; or When K is even and N is greater than or equal to K+2 and N is less than or equal to K+5, the number of information bits corresponding to the first matrix is ​​K / 2-1, and the number of information bits corresponding to the second matrix is ​​K / 2+1. or When K is an even number greater than or equal to 6 and N is greater than or equal to K+6, the number of information bits corresponding to the first first matrix is ​​K / 2-2, and the number of information bits corresponding to the second first matrix is ​​K / 2+2.

17. The method according to any one of claims 1-16, characterized in that, When N is greater than or equal to 32 and less than or equal to 64 The number of rows of the X first matrices is determined based on any one or more sets (N,K) from any of the tables in Tables 5-15.

18. The method according to any one of claims 1-17, characterized in that, When N is greater than or equal to 32 and less than or equal to 64 The number of information bits corresponding to the X first matrices is determined based on any one or more sets (N,K) in any of the tables in Tables 17-25.

19. 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 communication method as described in any one of claims 1 or 3-18 to be executed, or cause the communication method as described in any one of claims 2-18 to be executed.

20. 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 communication method as described in any one of claims 1 or 3-18, or to execute the communication method as described in any one of claims 2-18, and to process and / or generate the information based on the information.

21. 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 communication method as described in any one of claims 1 to be executed, or cause the communication method as described in any one of claims 2 to 18 to be executed.

22. 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 communication method as described in any one of claims 1 or 3-18 to be executed, or cause the communication method as described in any one of claims 2-18 to be executed.

23. A communication system, characterized in that, It includes a communication device for performing the communication method as described in any one of claims 1 or 3-18, and a communication device for performing the communication method as described in any one of claims 2-18.

Citation Information

Patent Citations

  • Construction and coding method for multi-code rate and multi-code length LDPC (Low Density Parity Check) codes

    CN108023673A

  • Polarization code coding method and device

    CN112886969A

  • Coding and decoding method, device and equipment

    CN115622572A

  • Method and device for generating encoder generator matrix

    CN116582136A

  • Encoding method and encoding apparatus based on systematic polar codes

    WO2023155650A1