Communication method and apparatus
By constructing multiple first matrices and combining the second and third matrices or sets, the decoding performance problem caused by the uniqueness of the encoding matrix is solved, and the error correction performance and flexibility under different N and K are improved.
Patent Information
- Application Number
- PCT/CN2025/099948
- 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
Existing technologies ensure that the encoding matrix is unique when N is an integer power of 2, but cannot achieve good decoding performance simultaneously under different K values. When N is not an integer power of 2, rate matching leads to a decrease in decoding performance.
Construct multiple first matrices, and combine second and third matrices or sets to ensure that the sum of the number of rows and columns is N. Select appropriate matrices according to different communication scenarios to improve error correction performance and simplify the construction process.
It improves decoding performance under different N and K values, enhances the flexibility and ease of construction of the encoding matrix, and optimizes error correction performance.
Smart Images

Figure CN2025099948_26122025_PF_FP_ABST
Abstract
Description
Communication methods and devices
[0001] This application claims priority to Chinese Patent Application No. 202410787752.0, 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 performing polar encoding on a first sequence of length N according to a first matrix to obtain a second sequence; and outputting one or more bits of the second sequence. The first matrix is an N x N matrix, determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p x p matrix, the third matrix is a q x q 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.
[0008] Based on the first aspect, multiple first matrices can be constructed based on N. That is, during the construction of the first matrix, multiple second and third matrices can be determined while ensuring that the sum of the number of rows or columns of the second and third matrices is N. Correspondingly, multiple second sets can be determined while ensuring that the second set includes p positive integers less than or equal to q, and multiple third sets can be determined while ensuring that the third set includes q positive integers less than or equal to p. Different second matrices, third matrices, second sets, and third sets can construct different first matrices. Therefore, the corresponding first matrix can be determined according to different communication scenarios (such as N being the same, but K (K being the number of information bits in the first sequence) being different) to ensure that the error correction performance of the first matrix is better under different communication scenarios, thereby improving the decoding performance. In addition, compared to rate matching of encoding matrices with a row (or column) number that is an integer power of 2 to obtain first matrices with different row (or column) numbers, in this application, first matrices with different row (or column) numbers can be directly constructed according to the above method, which can improve the flexibility of constructing the first matrix and simplify the implementation.
[0009] In one possible implementation, the sending device acquires a first sequence, which includes one or more of the following: information bits, CRC bits, check bits, or pre-frozen bits.
[0010] 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; and decoding the information to be decoded according to a first matrix. Wherein, the length of the first sequence corresponding to the information to be decoded is N; the first matrix is an N x N matrix, determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p x p matrix, the third matrix is a q x q matrix, and the sum of p and q is N; 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.
[0011] Based on the second aspect, multiple first matrices can be constructed based on N. That is, during the construction of the first matrix, multiple second and third matrices can be determined if the sum of the number of rows or columns of the second and third matrices is N. Correspondingly, multiple second sets can be determined if the second set includes p positive integers less than or equal to q, and multiple third sets can be determined if the third set includes q positive integers less than or equal to p. Different second matrices, third matrices, second sets, and third sets can construct different first matrices. Therefore, the corresponding first matrix can be determined according to different communication scenarios (such as the same N, but different K (K is the number of information bits in the first sequence)) to ensure that the error correction performance of the first matrix is better under different communication scenarios, thereby improving the decoding performance. In addition, compared with rate matching of the encoding matrix with the number of rows (or columns) being an integer power of 2 to obtain first matrices with different numbers of rows (or columns), in this application, first matrices with different numbers of rows (or columns) can be directly constructed according to the above method, which can improve the flexibility of constructing the first matrix and simplify the implementation.
[0012] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns 1 to p of the first matrix are the same as the elements in the second matrix.
[0013] Combining the first and second aspects, in one possible implementation, the elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0014] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0015] Combining the first and second aspects, in one possible implementation, when p is less than q, the elements in rows p+1 to p+q and columns 1 to p of the first matrix are the same as the elements in rows 1 to q and columns corresponding to the second set of the third matrix.
[0016] Based on the above four possible implementations, when p is less than q, the first matrix can be determined based on the second matrix, the third matrix, and the second set. The coupling position can be specified based on the elements in the second set, which can improve the flexibility of constructing the first matrix and thus improve the error correction performance of the first matrix.
[0017] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns 1 to p of the first matrix are the same as the elements in the second matrix.
[0018] Combining the first and second aspects, in one possible implementation, the elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0019] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0020] Combining the first and second aspects, in one possible implementation, when p equals q, the elements in rows p+1 to p+q and columns 1 to p of the first matrix are the same as the elements in the third matrix.
[0021] Based on the four possible implementations mentioned above, when p equals q, the first matrix can be based on the second and third matrices, without specifying the coupling position, which can reduce the complexity of constructing the first matrix and thus simplify the implementation.
[0022] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns 1 to p of the first matrix are the same as the elements in the second matrix.
[0023] Combining the first and second aspects, in one possible implementation, the elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0024] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0025] Combining the first and second aspects, in one possible implementation, when p is greater than q, the elements in rows p+1 to p+q of the first matrix and the columns corresponding to the third set are the same as the elements in the third matrix.
[0026] Based on the above four possible implementations, when p is greater than q, the first matrix can be determined based on the second matrix, the third matrix, and the third set. The coupling position can be specified based on the elements in the third set, which can improve the flexibility of constructing the first matrix and thus improve the error correction performance of the first matrix.
[0027] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns 1 to p of the first matrix are the same as the elements in the second matrix.
[0028] Combining the first and second aspects, in one possible implementation, the elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0029] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0030] Combining the first and second aspects, in one possible implementation, when p is less than or equal to q, the elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in rows 1 to q and columns 1 to p in the third matrix.
[0031] Based on the four possible implementations mentioned above, when p is less than or equal to q, the first matrix can be determined based on the second and third matrices. This eliminates the need to specify the coupling position, reduces the complexity of constructing the first matrix, and simplifies the implementation.
[0032] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns 1 to p of the first matrix are the same as the elements in the second matrix.
[0033] Combining the first and second aspects, in one possible implementation, the elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0034] Combining the first and second aspects, in one possible implementation, the elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0035] Combining the first and second aspects, in one possible implementation, when p is greater than or equal to q, the elements in rows p+1 to p+q and columns 1 to q of the first matrix are the same as the elements in the third matrix.
[0036] Combining the first and second aspects, in one possible implementation, when p is greater than or equal to q, the elements in rows p+1 to p+q and columns q+1 to p in the first matrix are 0.
[0037] Based on the four possible implementations mentioned above, when p is greater than or equal to q, the first matrix can be determined based on the second and third matrices. The coupling position does not need to be specified, which can reduce the complexity of constructing the first matrix and thus simplify the implementation.
[0038] In a possible implementation, combining the first and second aspects, the second matrix is determined according to one or more of the following: a fourth matrix, a fifth matrix, a fourth set, or a fifth set; the fourth matrix is an a-row a-column matrix, the fifth matrix is a b-row b-column matrix, and the sum of a and b is p; when a is less than b, the fourth set includes a positive integers less than or equal to b, and when a is greater than b, the fifth set includes b positive integers less than or equal to a.
[0039] Based on this possible implementation, the second matrix can be determined in the same way as the first matrix, providing a feasible solution for determining the second matrix.
[0040] In a possible implementation, combining the first and second aspects, the third matrix is determined according to one or more of the following: a sixth matrix, a seventh matrix, a sixth set, or a seventh set; the sixth matrix is a c-row, c-column matrix, the seventh matrix is a d-row, d-column matrix, and the sum of c and d is q; when c is less than d, the sixth set includes c positive integers less than or equal to d, and when c is greater than d, the seventh set includes d positive integers less than or equal to c.
[0041] Based on this possible implementation, the third matrix can be determined in the same way as the first matrix, providing a feasible solution for determining the third matrix.
[0042] Combining the first and second aspects, in one possible implementation, when N is 4 and K is 2, the first matrix is: Alternatively; when N is 5 and K is 2, the first matrix is: Alternatively; when N is 5 and K is 3, the first matrix is: Alternatively; when N is 6 and K is 3, the first matrix is: Alternatively; when N is 7 and K is 2, the first matrix is: Alternatively; when N is 7 and K is 5, the first matrix is: Alternatively; when N is 8 and K is 2, the first matrix is: Alternatively; when N is 8 and K is 3, the first matrix is: Alternatively; when N is 8 and K is 5, the first matrix is: Alternatively; when N is 8 and K is 6, the first matrix is: Alternatively; when N is 9 and K is 6, the first matrix is: Alternatively; when N is 10 and K is 7, the first matrix is: Alternatively; when N is 13 and K is 6, the first matrix is: Alternatively; when N is 15 and K is 9, the first matrix is: Alternatively; when N is 16 and K is 2, the first matrix is: Alternatively; when N is 16 and K is 3, the first matrix is: Alternatively; when N is 16 and K is 6, the first matrix is: Alternatively; when N is 16 and K is 7, the first matrix is: Alternatively, when N is 16 and K is 8, the first matrix is: Alternatively; when N is 16 and K is 9, the first matrix is: Alternatively; when N is 16 and K is 12, the first matrix is: Alternatively, when N is 16 and K is 13, the first matrix is: Where K is the number of information bits in the first sequence.
[0043] Based on the above possible implementations, a corresponding first matrix is proposed for different N and K, so that the error correction performance of the first matrix corresponding to different N and K is better, thereby improving the decoding performance.
[0044] 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.
[0045] For example, the processing module is used to perform polar encoding on a first sequence of length N according to a first matrix to obtain a second sequence; wherein the first matrix is an N-row N-column matrix, and the first matrix is determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p-row p-column matrix, the third 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. The transceiver module is used to output one or more bits of the second sequence.
[0046] 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.
[0047] 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.
[0048] For example, the transceiver module is used to receive information to be decoded; wherein the length of the first sequence corresponding to the information to be decoded is N. The processing module is used to decode the information to be decoded according to the first matrix; wherein the first matrix is an N-row N-column matrix, and the first matrix is determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p-row p-column matrix, the third matrix is a q-row q-column matrix, and the sum of p and q is N; 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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
[0060] Figure 1 is a schematic diagram of a Polar code encoding provided in an embodiment of this application;
[0061] Figure 2 is a schematic diagram of a Polar code decoding method provided in an embodiment of this application;
[0062] Figure 3 is a schematic diagram of a polarization coupling process provided in an embodiment of this application;
[0063] Figure 4 is a schematic diagram of a 3-core embodiment provided in this application;
[0064] Figure 5 is a schematic diagram of a communication system provided in an embodiment of this application;
[0065] 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;
[0066] Figure 7 is a schematic diagram of the composition of a communication device provided in an embodiment of this application;
[0067] Figure 8 is an interactive schematic diagram of a communication method provided in an embodiment of this application;
[0068] Figure 9 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0069] Figure 10 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0070] Figure 11 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0071] Figure 12 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0072] Figure 13 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0073] Figure 14 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0074] Figure 15 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0075] Figure 16 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0076] Figure 17 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0077] Figure 18 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0078] Figure 19 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0079] Figure 20 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0080] Figure 21 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0081] Figure 22 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0082] Figure 23 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0083] Figure 24 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0084] Figure 25 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0085] Figure 26 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0086] Figure 27 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0087] Figure 28 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0088] Figure 29 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0089] Figure 30 is a simulation diagram of the performance corresponding to different first matrices provided in the embodiments of this application;
[0090] Figure 31 is a schematic diagram of the structure of a transmitting device provided in an embodiment of this application;
[0091] Figure 32 is a schematic diagram of the structure of a receiving device provided in an embodiment of this application;
[0092] Figure 33 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0093] Before describing the embodiments of this application, the technical terms involved in the embodiments of this application will be described.
[0094] 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.
[0095] 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.
[0096] For example, when the input sequence (input from the left) is “00000011”, the output sequence (output from the right) can be “01010101”.
[0097] 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.
[0098] Where N is a positive integer.
[0099] 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.
[0100] Where K is a positive integer.
[0101] 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.
[0102] 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.
[0103] 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 the right of the f node, and the computation of a g node requires two LLR terms to be input to the right of the g node and one "partial sum" term to be input above the g node. 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: ①→②→③→④.
[0104] The encoding matrix of a Polar code: The encoding matrix of a Polar code can be represented as: (that is, F) NLet F2 be the nth power of the Kronecker product, where... n = log₂N).
[0105] 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.
[0106] 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.
[0107] 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 .
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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 after 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 after polarization (as shown in the dashed box in Figure 3(b)).
[0112] 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.
[0113] Alternatively, instead of changing the edges of the factor graph, a polarization kernel with better coset code spectrum properties than the Arikan kernel can be constructed using the coset code spectrum, such as a 6-length kernel. The 6x6 coding matrix corresponding to the 6-length kernel can be:
[0114] 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
[0115] Where c is a codeword of length N, u j Let j be the j-th information bit, where j = 1, ..., K.
[0116] 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 .
[0117] For example, taking g4, 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.
[0118] 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.
[0119] However, since the polarization kernels with better coset spectral properties than the Arikan kernel do not have corresponding factor graphs, they cannot be decoded using the SC algorithm.
[0120] Based on the problems described above, this application provides a communication method, which includes: a transmitting device performing polar coding on a first sequence of length N according to a first matrix to obtain a second sequence; and outputting one or more bits of the second sequence. The first matrix is an N x N matrix, determined by one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p x p matrix, the third matrix is a q x q 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.
[0121] In this embodiment, multiple first matrices can be constructed based on N. That is, during the construction of the first matrix, multiple second and third matrices can be determined while ensuring that the sum of the number of rows or columns of the second and third matrices is N. Correspondingly, multiple second sets can be determined while ensuring that the second set includes p positive integers less than or equal to q, and multiple third sets can be determined while ensuring that the third set includes q positive integers less than or equal to p. Different second matrices, third matrices, second sets, and third sets can construct different first matrices. Therefore, the corresponding first matrix can be determined according to different communication scenarios (such as N being the same, but K (K being the number of information bits in the first sequence) being different) to ensure that the error correction performance of the first matrix is better under different communication scenarios, thereby improving the decoding performance. In addition, compared to rate matching of encoding matrices with a row (or column) number that is an integer power of 2 to obtain first matrices with different row (or column) numbers, in this application, first matrices with different row (or column) numbers can be directly constructed according to the above method, which can improve the flexibility of constructing the first matrix and simplify the implementation.
[0122] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0123] 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.
[0124] 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.
[0125] The communication system provided in the embodiments of this application will be described below with reference to Figure 5.
[0126] 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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).
[0134] 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).
[0135] 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] Communication line 703 is used to transmit information between the components included in communication device 700.
[0144] Memory 704 is used to store instructions. These instructions can be computer programs.
[0145] 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.
[0146] 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.
[0147] In one example, processor 701 may include one or more CPUs, such as CPU0 and CPU1 in Figure 7.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] In this embodiment of the application, the chip system may be composed of chips or may include chips and other discrete devices.
[0152] 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.
[0153] 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.
[0154] 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:
[0155] Step 801: The transmitting device performs polar coding on the first sequence of length N according to the first matrix to obtain the second sequence.
[0156] The first matrix is an N-row N-column matrix, and the first matrix is determined according to one or more of the following: the second matrix, the third matrix, the second set, or the third set.
[0157] The set corresponding to the first matrix can be called the first set, which can include N positive integers less than or equal to N.
[0158] The second matrix is a p-row, p-column matrix, and the third 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.
[0159] It is understood that all matrices in this application are square matrices (i.e., the number of rows and columns of the matrix are the same), and the subsequent description of "number of rows" can be replaced with a description of "number of columns".
[0160] For example, with N=5, p can be 4 and q can be 1, or p can be 3 and q can be 2, or p can be 2 and q can be 3, or p can be 1 and q can be 4.
[0161] When p is less than q, the second set includes p positive integers that are less than or equal to q.
[0162] For example, taking N as 5, assuming p is 2 and q is 3, then the second set can be {1,2}, or the second set can be {1,3}, or the second set can be {2,3}.
[0163] Understandably, the number of elements in the second set can be the same as the number of rows in the second matrix.
[0164] When p is greater than q, the third set includes q positive integers that are less than or equal to p.
[0165] For example, taking N as 5, assuming p is 3 and q is 2, then the third set can be {1,2}, or the third set can be {1,3}, or the third set can be {2,3}.
[0166] It is understood that the elements in the second and third sets can be positive integers arranged in ascending order; in addition, unless otherwise specified, the initial element in any set in this application is the first element.
[0167] Based on the above description of the second matrix, optionally, the second matrix can be a predefined matrix; or, the second matrix can be the eighth matrix; or, the second matrix can be determined according to the above method of determining the first matrix, that is, the second matrix can be determined according to one or more of the following: the fourth matrix, the fifth matrix, the fourth set, or the fifth set. In this case, the fourth matrix can be regarded as the second matrix, the fifth matrix as the third matrix, the fourth set as the second set, and the fifth set as the third set.
[0168] The eighth matrix is 2. n Line 2 n A matrix of columns, where n is less than or equal to ( (For floor function), the eighth matrix can be a pair of matrices. The encoding matrix obtained by performing n Kronecker products.
[0169] For example, the fourth matrix can be an a-row a-column matrix, and the fifth matrix can be a b-row b-column matrix, with the sum of a and b being p; when a is less than b, the fourth set can include a positive integers less than or equal to b, and when a is greater than b, the fifth set can include b positive integers less than or equal to a.
[0170] It is understood that the determination of the fourth and fifth matrices can also refer to the determination method of the second matrix, and this application does not limit this.
[0171] Based on the above description of the third matrix, optionally, the third matrix can be a predefined matrix; or, the second matrix can be the ninth matrix; or, the third matrix can be determined according to the above method of determining the first matrix, that is, the third matrix can be determined according to one or more of the following: the sixth matrix, the seventh matrix, the sixth set, or the seventh set. In this case, the sixth matrix can be regarded as the second matrix, the seventh matrix as the third matrix, the sixth set as the second set, and the seventh set as the third set.
[0172] The ninth matrix is 2. n Line 2 n A matrix of columns, where n is less than or equal to ( (For floor function), the ninth matrix can be a pair of matrices. The encoding matrix obtained by performing n Kronecker products.
[0173] For example, the sixth matrix can be a c-row, c-column matrix, and the seventh matrix can be a d-row, d-column matrix, with the sum of c and d being q. When c is less than d, the sixth set can include c positive integers less than or equal to d, and when c is greater than d, the seventh set can include d positive integers less than or equal to c.
[0174] It is understood that the determination of the sixth and seventh matrices can also refer to the determination method of the third (or second) matrix, and this application does not limit this.
[0175] Optionally, the first sequence may include K information bits, where K is a positive integer less than or equal to N.
[0176] 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.
[0177] It is understandable that for the same N, different second matrices, third matrices, second sets, or third sets can be determined, thereby determining different first matrices. Therefore, the corresponding first matrices can be determined for different K, resulting in better error correction performance of the first matrices corresponding to different K.
[0178] Optionally, before performing polar coding, the transmitting device may obtain a first sequence of length N.
[0179] The first sequence may include one or more of the following: information bits, CRC bits, check bits, or pre-frozen bits.
[0180] 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.
[0181] 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.
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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.
[0186] Step 802: The transmitting device outputs one or more bits of the second sequence; correspondingly, the receiving device receives the decoding information from the transmitting device.
[0187] The length of the first sequence corresponding to the information to be decoded is N.
[0188] 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.
[0189] Step 803: The receiving device decodes the information to be decoded according to the first matrix.
[0190] The method by which the receiving device determines the first matrix can be the same as the method by which the sending device determines the first matrix in step 801 above, and will not be repeated here.
[0191] Based on the communication method shown in Figure 8, multiple first matrices can be constructed according to N. That is, during the construction of the first matrix, multiple second and third matrices can be determined if the sum of the number of rows or columns of the second and third matrices is N. Correspondingly, multiple second sets can be determined if the second set includes p positive integers less than or equal to q, and multiple third sets can be determined if the third set includes q positive integers less than or equal to p. Different second matrices, third matrices, second sets, and third sets can construct different first matrices. Therefore, the corresponding first matrix can be determined according to different communication scenarios (such as the same N, but different K (K is the number of information bits in the first sequence)) to ensure that the error correction performance of the first matrix is better under different communication scenarios, thereby improving the decoding performance. In addition, compared with rate matching of the encoding matrix with the number of rows (or columns) being an integer power of 2 to obtain first matrices with different numbers of rows (or columns), in this application, first matrices with different numbers of rows (or columns) can be directly constructed according to the above method, which can improve the flexibility of constructing the first matrix and simplify the implementation.
[0192] Based on the above description of the first matrix, this application proposes several possible designs for determining the first matrix:
[0193] In the first possible design, when p is less than q, the first matrix can be determined based on the second matrix, the third matrix, and the second set. One or more of the following rules can be followed when determining the first matrix:
[0194] Rule 11: The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
[0195] For example, taking p=2 (i.e., the second matrix is a 2x2 matrix), the element in the first row and first column of the first matrix can be the element in the first row and first column of the second matrix, the element in the first row and second column of the first matrix can be the element in the first row and second column of the second matrix, the element in the second row and first column of the first matrix can be the element in the second row and first column of the second matrix, and the element in the second row and second column of the first matrix can be the element in the second row and second column of the second matrix.
[0196] Rule 12: The elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0197] For example, taking p = 2 and q = 3 (i.e., the second matrix is a 2x2 matrix and the third matrix is a 3x3 matrix), the element in the 3rd row and 3rd column of the first matrix can be the element in the 1st row and 1st column of the third matrix; the element in the 3rd row and 4th column of the first matrix can be the element in the 1st row and 2nd column of the third matrix; the element in the 3rd row and 5th column of the first matrix can be the element in the 1st row and 3rd column of the third matrix; and the element in the 4th row and 3rd column of the first matrix can be the element in the 2nd row and 1st column of the third matrix. The elements in the columns can be elements in the following ways: the element in the 4th row and 4th column of the first matrix can be the element in the 2nd row and 2nd column of the third matrix; the element in the 4th row and 5th column of the first matrix can be the element in the 2nd and 3rd columns of the third matrix; the element in the 5th row and 3rd column of the first matrix can be the element in the 3rd row and 1st column of the third matrix; the element in the 5th row and 4th column of the first matrix can be the element in the 3rd row and 2nd column of the third matrix; and the element in the 5th row and 5th column of the first matrix can be the element in the 3rd row and 3rd column of the third matrix.
[0198] Rule 13: The elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0199] For example, with p = 2 and q = 3, the elements in the first row and fourth column, the first row and fifth column, the second row and fourth column, and the second row and fifth column of the first matrix are all 0.
[0200] Rule 14: The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in rows 1 to q and the columns corresponding to the second set in the third matrix.
[0201] The columns in the third matrix that correspond to the second set can be determined based on the elements in the second set. For example, when the second set is {1,3}, the first and third columns in the third matrix can be determined.
[0202] For example, taking p = 2 and q = 3 as an example, assuming the second set is {1,3}, the element in the 3rd row and 1st column of the first matrix can be the element in the 1st row and 1st column of the third matrix, the element in the 3rd row and 2nd column of the first matrix can be the element in the 1st row and 3rd column of the third matrix, the element in the 4th row and 1st column of the first matrix can be the element in the 3rd row and 1st column of the third matrix, the element in the 4th row and 2nd column of the first matrix can be the element in the 3rd row and 3rd column of the third matrix, the element in the 5th row and 1st column of the first matrix can be the element in the 3rd row and 1st column of the third matrix, and the element in the 5th row and 2nd column of the first matrix can be the element in the 3rd row and 3rd column of the third matrix.
[0203] Based on the first possible design, when p is less than q, the first matrix can be determined based on the second matrix, the third matrix, and the second set. The coupling position can be specified based on the elements in the second set, which can improve the flexibility of constructing the first matrix and thus improve the error correction performance of the first matrix.
[0204] Based on the first possible design, this application proposes a possible embodiment, wherein the first matrix can be represented as: Where G is the first matrix, P is the second matrix, Q is the third matrix, i2 is the second set, C1(·) is the function that determines the first matrix (also known as the polarization coupling function), and the rules corresponding to C1(·) can include rule 11, rule 12, rule 13 and rule 14.
[0205] In a second possible design, when p equals q, the first matrix can be determined based on the second matrix, the third matrix, and the second set. One or more of the following rules can be followed when determining the first matrix:
[0206] Rule 21: The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
[0207] Rule 22: The elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0208] Rule 23: The elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0209] Rule 21 can be referred to in the above description of rule 11, rule 22 can be referred to in the above description of rule 12, and rule 23 can be referred to in the above description of rule 13. They will not be repeated here.
[0210] Rule 24: The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in the third matrix.
[0211] For example, taking p = 3 and q = 3 (in this case, the third matrix is a 3x3 matrix), the element in the 4th row and 1st column of the first matrix is the element in the 1st row and 1st column of the third matrix; the element in the 4th row and 5th column of the first matrix is the element in the 1st row and 2nd column of the third matrix; the element in the 4th row and 6th column of the first matrix is the element in the 1st row and 3rd column of the third matrix; the element in the 5th row and 1st column of the first matrix is the element in the 2nd row and 4th column of the third matrix; the element in the 5th row and 5th column of the first matrix is the element in the 2nd row and 2nd column of the third matrix; the element in the 5th row and 6th column of the first matrix is the element in the 2nd row and 3rd column of the third matrix; the element in the 6th row and 1st column of the first matrix is the element in the 3rd row and 4th column of the third matrix; the element in the 6th row and 5th column of the first matrix is the element in the 3rd row and 2nd column of the third matrix; and the element in the 6th row and 6th column of the first matrix is the element in the 3rd row and 3rd column of the third matrix.
[0212] Based on the second possible design, when p equals q, the first matrix can be based on the second and third matrices, without specifying the coupling position, which can reduce the complexity of constructing the first matrix and thus simplify the implementation.
[0213] Based on the second possible design, this application proposes a possible embodiment, in which the first matrix can be represented as: Where G is the first matrix, P is the second matrix, Q is the third matrix, C2(·) is the function that determines the first matrix (also known as the polarization coupling function), and the rules corresponding to C2(·) can include rule 21, rule 22, rule 23, and rule 24.
[0214] In a third possible design, when p > q, the first matrix can be determined based on the second matrix, the third matrix, and the third set. One or more of the following rules can be followed when determining the first matrix:
[0215] Rule 31: The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
[0216] Rule 32: The elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0217] Rule 33: The elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0218] Rule 31 can be referred to in the above description of rule 11, rule 32 can be referred to in the above description of rule 12, and rule 33 can be referred to in the above description of rule 13. They will not be repeated here.
[0219] Rule 34: The elements in rows p+1 to p+q of the first matrix and the columns corresponding to the third set are the same as the elements in the third matrix.
[0220] The columns in the first matrix that correspond to the third set can be determined based on the elements in the third set. For example, when the third set is {1,3}, the first and third columns of the first matrix can be determined.
[0221] For example, with p = 3 and q = 2, assuming the third set is {1,3}, the element in the 4th row and 1st column of the first matrix can be the element in the 1st row and 1st column of the third matrix, the element in the 4th row and 3rd column of the first matrix can be the element in the 1st row and 2nd column of the third matrix, the element in the 5th row and 1st column of the first matrix can be the element in the 2nd row and 1st column of the third matrix, and the element in the 5th row and 3rd column of the first matrix can be the element in the 2nd row and 2nd column of the third matrix.
[0222] Rule 35: In the first matrix, the elements in rows p+1 to p+q and columns 1 to p, excluding the columns corresponding to the third set, are 0.
[0223] For example, with p = 3 and q = 2, assuming the third set is {1,3}, the column from the 1st to the pth column, excluding the column corresponding to the third set, is the 2nd column. Then, the element in the 4th row and 2nd column of the first matrix and the element in the 5th row and 2nd column are both 0.
[0224] Based on the third possible design, when p is greater than q, the first matrix can be determined based on the second matrix, the third matrix, and the third set. The coupling position can be specified based on the elements in the third set, which can improve the flexibility of constructing the first matrix and thus improve the error correction performance of the first matrix.
[0225] Based on the third possible design, this application proposes a possible embodiment, in which the first matrix can be represented as: Where G is the first matrix, P is the second matrix, Q is the third matrix, i3 is the third set, C3(·) is the function that determines the first matrix (also known as the polarization coupling function), and the rules corresponding to C3(·) can include rule 31, rule 32, rule 33 and rule 34.
[0226] In the fourth possible design, when p is less than or equal to q, the first matrix can be determined based on the second and third matrices. One or more of the following rules can be followed when determining the first matrix:
[0227] Rule 41: The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
[0228] Rule 42: The elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0229] Rule 43: The elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0230] Rule 41 can be referred to in the above description of rule 11, rule 42 can be referred to in the above description of rule 12, and rule 43 can be referred to in the above description of rule 13. They will not be repeated here.
[0231] Rule 44: The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in rows 1 to q and columns 1 to p in the third matrix.
[0232] For example, with p = 2 and q = 3, the element in the 3rd row and 1st column of the first matrix is the element in the 1st row and 1st column of the third matrix; the element in the 3rd row and 2nd column of the first matrix is the element in the 1st row and 2nd column of the third matrix; the element in the 4th row and 1st column of the first matrix is the element in the 2nd row and 1st column of the third matrix; the element in the 4th row and 2nd column of the first matrix is the element in the 2nd row and 2nd column of the third matrix; the element in the 5th row and 1st column of the first matrix is the element in the 3rd row and 1st column of the third matrix; and the element in the 5th row and 2nd column of the first matrix is the element in the 3rd row and 2nd column of the third matrix.
[0233] Based on the fourth possible design, when p is less than or equal to q, the first matrix can be determined based on the second and third matrices. The coupling position does not need to be specified, which can reduce the complexity of constructing the first matrix and thus simplify the implementation.
[0234] Based on the fourth possible design, this application proposes a possible embodiment, in which the first matrix can be represented as: Where G is the first matrix, P is the second matrix, Q is the third matrix, C4(·) is the function that determines the first matrix (also known as the pre-polarization coupling function), and the rules corresponding to C4(·) can include rule 41, rule 42, rule 43, and rule 44.
[0235] In the fifth possible design, when p is greater than or equal to q, the first matrix can be determined based on the second and third matrices. One or more of the following rules can be followed when determining the first matrix:
[0236] Rule 51: The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
[0237] Rule 52: The elements in rows p+1 to p+q and columns p+1 to p+q of the first matrix are the same as the elements in the third matrix.
[0238] Rule 53: The elements in rows 1 to p and columns p+1 to p+q of the first matrix are 0.
[0239] Rule 51 can be referred to in the above description of rule 11, rule 52 can be referred to in the above description of rule 12, and rule 53 can be referred to in the above description of rule 13. They will not be repeated here.
[0240] Rule 54: The elements in rows p+1 to p+q and columns 1 to q in the first matrix are the same as the elements in the third matrix.
[0241] For example, with p = 3 and q = 2, the element in the 4th row and 1st column of the first matrix can be the element in the 1st row and 1st column of the third matrix, the element in the 4th row and 2nd column of the first matrix can be the element in the 1st row and 2nd column of the third matrix, the element in the 5th row and 1st column of the first matrix can be the element in the 2nd row and 1st column of the third matrix, and the element in the 5th row and 2nd column of the first matrix can be the element in the 2nd row and 2nd column of the third matrix.
[0242] Rule 55: The elements in rows p+1 to p+q and columns q+1 to p in the first matrix are 0.
[0243] For example, with p = 3 and q = 2, the element in the 4th row and 3rd column and the element in the 5th row and 3rd column of the first matrix can be 0.
[0244] Based on the fifth possible design, when p is greater than or equal to q, the first matrix can be determined based on the second and third matrices. The coupling position does not need to be specified, which can reduce the complexity of constructing the first matrix and thus simplify the implementation.
[0245] Based on the fifth possible design, this application proposes a possible embodiment, in which the first matrix can be represented as: Where G is the first matrix, P is the second matrix, Q is the third matrix, C5(·) is the function that determines the first matrix (also known as the polarization coupling function), and the rules corresponding to C5(·) can include rule 51, rule 52, rule 53, rule 54, and rule 55.
[0246] Based on the above five possible designs, the design of the first matrix can be selected according to the relationship between p and q:
[0247] When p is less than q, the first matrix can be determined based on either the first or fourth possible design. Since the first possible design allows the position of the coupling row of the second matrix within the first matrix to be determined using the second set, the method for determining the first matrix is more flexible and performs better. The fourth possible design, lacking the second set, simplifies the implementation of determining the first matrix and reduces its construction complexity. Regardless of whether the first matrix is determined based on the first or fourth possible design, the resulting first matrix is identical, and its error correction performance is also the same.
[0248] When p > q, the first matrix can be determined based on either the third or fifth possible design. The third possible design allows for more flexible and superior performance because the position of the coupling row of the third matrix within the first matrix can be determined using a third set. The fifth possible design, lacking a third set, simplifies the determination of the first matrix and reduces its construction complexity. Regardless of whether the first matrix is determined using the third or fifth possible design, the resulting first matrix is identical, and its error correction performance is also the same.
[0249] When p equals q, the first matrix can be determined based on the fifth possible design, the fourth possible design, or the second possible design. The first matrix obtained based on these possible designs is the same, and the error correction performance of the first matrix is also the same.
[0250] Based on the above five possible designs, this application proposes several embodiments of the first matrix corresponding to different N and K:
[0251] In a first possible embodiment, taking N = 4 and K = 2 as an example, the first matrix can be represented as: G 4,2 =C3(P,Q,i3), where P=G 3,1 (G 3,1 It can be represented as: G 3,1 =C1(F1,F2,{2}), Given Q = F1 = [1] and i3 = {1}, the first matrix can be:
[0252] Figure 9 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=4 and K=2. Curve 1 represents the first matrix in the first possible embodiment described above, and curve 2 represents the first matrix F4. The horizontal axis represents the signal-to-noise ratio (SNR) (in dB), and the vertical axis represents the block error rate (BLER). It can be seen that the decoding performance corresponding to the first matrix in the first possible embodiment is superior, and significantly better than the decoding performance corresponding to F4.
[0253] Among them, F4 can be obtained by modifying the matrix. The result is obtained by performing the Kronecker product twice.
[0254] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 1 below. According to Table 1, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0255] Table 1
[0256] In the second possible embodiment, taking N = 5 and K = 2 as an example, the first matrix can be represented as: G 5,2 =C1(P,Q,i2), where, Q = G 3,2 (G 3,2 It can be represented as: G 3,2 =C3(F2,F1,{1})), i2={1,2}, then the first matrix can be
[0257] Figure 10 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=5 and K=2. Curve 1 represents the first matrix in the second possible embodiment described above; curve 2 represents the shortened matrix F8 (i.e., removing the last 3 rows and columns of F8); and curve 3 represents the punched matrix F8 (i.e., removing the first 3 rows and columns of F8). The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the second possible embodiment is superior, and significantly better than the decoding performance corresponding to the shortened matrix F8 or the punched matrix F8.
[0258] Among them, F8 can be obtained by modifying the matrix. The result is obtained by performing the Kronecker product three times.
[0259] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 2 below. According to Table 2, the minimum code weight corresponding to curve 1 is larger, and the decoding performance of curve 1 is better.
[0260] Table 2
[0261] In a third possible embodiment, taking N = 5 and K = 3 as an example, the first matrix can be represented as: G 5,3 =C3(P,Q,i3), where P=G 3,1 (G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 (in the manner of), Q = G 3,2 (G 3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 In the manner of (i3 = {1, 2}), the first matrix can be:
[0262] Figure 11 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=5 and K=3. Curve 1 represents the first matrix in the third possible embodiment described above; curve 2 represents the shortened matrix F8 (i.e., removing the last 3 rows and columns of F8); and curve 3 represents the punched matrix F8 (i.e., removing the first 3 rows and columns of F8). The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the third possible embodiment is superior, and significantly better than the decoding performance corresponding to the shortened matrix F8 or the punched matrix F8.
[0263] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 3 below. According to Table 3, the minimum code weight corresponding to curve 1 is the same as the code weight corresponding to other curves, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0264] Table 3
[0265] In the fourth possible embodiment, taking N = 6 and K = 3 as an example, the first matrix can be represented as: G 6,3 =C2(P,Q), where P=G 3,1 (G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 (in the manner of), Q = G 3,2 (G3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 In the manner described above, the first matrix can be:
[0266] Figure 12 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=6 and K=3. Curve 1 represents the first matrix in the fourth possible embodiment described above; curve 2 represents the shortened matrix F8 (i.e., removing the last two rows and columns of F8); and curve 3 represents the punched matrix F8 (i.e., removing the first two rows and columns of F8). The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the fourth possible embodiment is superior, and significantly better than the decoding performance corresponding to the shortened matrix F8 or the punched matrix F8.
[0267] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 4 below. According to Table 4, the minimum code weight corresponding to curve 1 is larger, and the decoding performance of curve 1 is better.
[0268] Table 4
[0269] In the fifth possible embodiment, taking N = 7 and K = 2 as an example, the first matrix can be represented as: G 7,2 =C1(P,Q,i2), where P=F1, Q=G 6,2 (G 6,2 It can be represented as: G 6,2 =C2(G 3,1 G 3,2 ), G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 In this way, G 3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 If (in the manner of i2 = {1}), then the first matrix can be:
[0270] Figure 13 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=7 and K=2. Curve 1 represents the first matrix in the fifth possible embodiment described above; curve 2 represents the shortened matrix F8 (i.e., removing the last two rows and columns of F8); and curve 3 represents the punched matrix F8 (i.e., removing the first two rows and columns of F8). The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the fifth possible embodiment is superior, and significantly better than the decoding performance corresponding to the shortened matrix F8 or the punched matrix F8.
[0271] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 5 below. According to Table 5, the minimum code weight corresponding to curve 1 is larger, and the number of codewords corresponding to the minimum code weight of curve 1 is smaller, indicating that the decoding performance of curve 1 is better.
[0272] Table 5
[0273] In the sixth possible embodiment, taking N = 7 and K = 5 as an example, the first matrix can be represented as: G 7,5 =C3(P,Q,i3), where P=G 6,4 (G 6,4 It can be represented as: G 6,4 =C2(G 3,1 G 3,2 ), G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 In this way, G 3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 Given the following (method), Q = F1, i3 = {1}, then the first matrix can be:
[0274] Figure 14 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=7 and K=5. Curve 1 represents the first matrix in the sixth possible embodiment described above; curve 2 represents the shortened matrix F8 (i.e., removing the last two rows and columns of F8); and curve 3 represents the punched matrix F8 (i.e., removing the first two rows and columns of F8). The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the sixth possible embodiment is superior, and significantly better than the decoding performance corresponding to the shortened matrix F8 or the punched matrix F8.
[0275] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 6 below. According to Table 6, the minimum code weight corresponding to curve 1 is larger, and the decoding performance of curve 1 is better.
[0276] Table 6
[0277] In the seventh possible embodiment, taking N = 8 and K = 2 as an example, the first matrix can be represented as: G 8,2 =C4(P,Q), where P=F2, Q=G 6,2 (G 6,2 The determination method for G can refer to the fifth possible embodiment described above. 6,2 In the manner described above, the first matrix can be:
[0278] Figure 15 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=8 and K=2. Curve 1 represents the first matrix in the seventh possible embodiment described above, and curve 2 represents matrix F8. The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the seventh possible embodiment is superior, and significantly better than the decoding performance corresponding to matrix F8.
[0279] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 7 below. According to Table 7, the minimum code weight corresponding to curve 1 is larger, and the decoding performance of curve 1 is better.
[0280] Table 7
[0281] In the eighth possible embodiment, taking N = 8 and K = 3 as an example, the first matrix can be represented as: G 8,3 =C1(P,Q,i2), where P=F2, Q=G 7,3 (G 7,3 It can be represented as: G 7,3 =C5(F4,G 3,2 ), G 3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 In the manner of (i = {4}), i2 = {4}, then the first matrix can be:
[0282] Figure 16 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=8 and K=3. Curve 1 represents the first matrix in the eighth possible embodiment described above, and curve 2 represents matrix F8. The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the eighth possible embodiment is superior, and significantly better than the decoding performance corresponding to matrix F8.
[0283] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 8 below. According to Table 8, the minimum code weight of curve 1 corresponds to a smaller number of codewords, and the decoding performance of curve 1 is better.
[0284] Table 8
[0285] In the ninth possible embodiment, taking N = 8 and K = 5 as an example, the first matrix can be represented as: G 8,5 =C3(P,Q,i3), where P=G 7,4 (G 7,4 It can be represented as: G 7,4 =C1(G 3,1 ,F4,{2,3,4}),G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 Given the following (method), Q = F1, i3 = {7}, then the first matrix can be:
[0286] Figure 17 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=8 and K=5. Curve 1 represents the first matrix in the ninth possible embodiment described above, and curve 2 represents matrix F8. The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the ninth possible embodiment is superior, and significantly better than the decoding performance corresponding to matrix F8.
[0287] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 9 below. According to Table 9, the minimum code weight corresponding to curve 1 is the same as that corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0288] Table 9
[0289] In the tenth possible embodiment, taking N = 8 and K = 6 as an example, the first matrix can be represented as: G 8,6 =C5(P,Q), where P=G 6,4 (G 6,4 The determination method for G can refer to the sixth possible embodiment described above. 6,4 In the manner of (Q = F2), the first matrix can be:
[0290] Figure 18 illustrates a performance comparison of simulation results for the first matrix determined in different ways when N=8 and K=6. Curve 1 represents the first matrix in the tenth possible embodiment, and curve 2 represents matrix F8. The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the tenth possible embodiment is superior, and significantly better than the decoding performance corresponding to matrix F8.
[0291] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 10 below. According to Table 10, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0292] Table 10
[0293] In the eleventh possible embodiment, taking N as 9 and K as 6 as an example, the first matrix can be represented as: G 9,6 =C3(P,Q,i3), where P=G 7,4 (G 7,4 The determination method for G can refer to the ninth possible embodiment described above. 7,4 Given the following matrix (Q = F2, i3 = {2, 7}), the first matrix can be:
[0294] Figure 19 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=9 and K=6. Curve 1 corresponds to the first matrix in the eleventh possible embodiment described above, and curve 2 corresponds to the shortened matrix F. 16 (i.e., remove F) 16 The last 7 rows and last 7 columns), the first matrix corresponding to curve 3 is the matrix F after punching. 16 (i.e., remove F) 16The first 7 rows and first 7 columns of the matrix are used, with the horizontal axis representing SNR and the vertical axis representing BLER. It can be seen that the decoding performance corresponding to the first matrix in the eleventh possible embodiment is better, and significantly superior to the shortened matrix F. 16 Or the matrix F after punching holes 16 The corresponding decoding performance.
[0295] Among them, F 16 By analyzing the matrix The result is obtained by performing the Kronecker product four times.
[0296] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 11 below. According to Table 11, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to other curves, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0297] Table 11
[0298] In the twelfth possible embodiment, taking N as 10 and K as 7 as an example, the first matrix can be represented as: G 10,7 =C3(P,Q,i3), where P=G 7,4 (G 7,4 The determination method for G can refer to the ninth possible embodiment described above. 7,4 (in the manner of), Q = G 3,1 (G 3,1 The determination method for G can refer to the first possible embodiment described above. 3,1 Given that i3 = {1, 2, 7}, the first matrix can be:
[0299] Figure 20 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=10 and K=7. Curve 1 corresponds to the first matrix in the twelfth possible embodiment described above, and curve 2 corresponds to the shortened matrix F. 16 (i.e., remove F) 16 The last 6 rows and last 6 columns), the first matrix corresponding to curve 3 is the matrix F after punching. 16 (i.e., remove F) 16 The first 6 rows and first 6 columns of the matrix are used, with the horizontal axis representing SNR and the vertical axis representing BLER. It can be seen that the decoding performance corresponding to the first matrix in the twelfth possible embodiment is better, and significantly superior to the shortened matrix F. 16 Or the matrix F after punching holes 16 The corresponding decoding performance.
[0300] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 12 below. According to Table 12, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to other curves, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0301] Table 12
[0302] In the thirteenth possible embodiment, taking N=13 and K=6 as an example, the first matrix can be represented as: G 13,6 =C5(P,Q), where P=G 9,3 (G 9,3 It can be represented as: G 9,3 =C1(F2,G 7,3 ,{2,4}), G 7,3 The determination of G can be made by referring to the eighth possible embodiment described above. 7,3 In the manner of (Q = F4), the first matrix can be:
[0303] Figure 21 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=13 and K=6. Curve 1 corresponds to the first matrix in the thirteenth possible embodiment described above, and curve 2 corresponds to the shortened matrix F. 16 (i.e., remove F) 16 The last 3 rows and last 3 columns), the first matrix corresponding to curve 3 is the matrix F after punching. 16 (i.e., remove F) 16 The first 3 rows and first 6 columns of the matrix are used, with the horizontal axis representing SNR and the vertical axis representing BLER. It can be seen that the decoding performance corresponding to the first matrix in the thirteenth possible embodiment is better, and significantly superior to the shortened matrix F. 16 Or the matrix F after punching holes 16 The corresponding decoding performance.
[0304] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 13 below. According to Table 13, the minimum code weight corresponding to curve 1 is larger, and the number of codewords corresponding to the minimum code weight of curve 1 is smaller than the number of codewords corresponding to the minimum code weight of curve 2. Therefore, the decoding performance of curve 1 is better.
[0305] Table 13
[0306] In the fourteenth possible embodiment, taking N=15 and K=9 as an example, the first matrix can be represented as: G15,9 =C5(P,Q), where P=G 8,3 (G 8,3 The determination method can refer to the eighth possible embodiment), Q = G 7,6 (G 7,6 It can be represented as: G 7,6 =C5(F4,G 3,2 ), G 3,2 The determination method for G can refer to the second possible embodiment described above. 3,2 In the manner described above, the first matrix can be:
[0307] Figure 22 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=15 and K=9. Curve 1 corresponds to the first matrix in the fourteenth possible embodiment described above, and curve 2 corresponds to the shortened matrix F. 16 (i.e., remove F) 16 The last row and last column), the first 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 matrix are used, with the horizontal axis representing SNR and the vertical axis representing BLER. It can be seen that the decoding performance corresponding to the first matrix in the fourteenth possible embodiment is better, and significantly superior to the shortened matrix F. 16 Or the matrix F after punching holes 16 The corresponding decoding performance.
[0308] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 14 below. According to Table 14, the minimum code weight corresponding to curve 1 is larger, and the number of codewords corresponding to the minimum code weight of curve 1 is smaller, indicating that the decoding performance of curve 1 is better.
[0309] Table 14
[0310] In the fifteenth possible embodiment, taking N = 16 and K = 2 as an example, the first matrix can be represented as: G 16,2 =C4(P,Q), where P=F1, Q=G 15,2 (G 15,2 It can be represented as: G 15,2 =C4(G 3,1 G 12,2 ), G 3,1 The determination method can refer to the first possible embodiment described above, G 12,2 It can be represented as G 12,2 =C4(G 3,1 G9,2 ), G 9,2 It can be represented as: G 9,2 =C4(G 3,1 G 6,2 ), G 6,2 The determination method for G can refer to the fifth possible embodiment described above. 6,2 In the manner described above, the first matrix can be:
[0311] Figure 23 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=2. Curve 1 corresponds to the first matrix in the fifteenth possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the fifteenth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0312] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 15 below. According to Table 15, the minimum code weight corresponding to curve 1 is larger, and the number of codewords corresponding to the minimum code weight of curve 1 is smaller, indicating that the decoding performance of curve 1 is better.
[0313] Table 15
[0314] In the sixteenth possible embodiment, taking N=16 and K=3 as an example, the first matrix can be represented as: G 16,3 =C1(P,Q,i2), where P=F2, Q=G 14,3 (G 14,3 It can be represented as: G 14,3 =C2(G 7,4 G 7,3 ), G 7,4 The determination method for G can refer to the ninth possible embodiment described above. 7,4 In this way, G 7,3 The determination method for G can refer to the eighth possible embodiment described above. 7,3 Given that i2 = {2, 4}, the first matrix can be:
[0315] Figure 24 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=3. Curve 1 corresponds to the first matrix in the sixteenth possible embodiment described above, and curve 2 corresponds to matrix F.16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the sixteenth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0316] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 16 below. According to Table 16, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0317] Table 16
[0318] In the seventeenth possible embodiment, taking N = 16 and K = 6 as an example, the first matrix can be represented as: G 16,6 =C4(P,Q), where P=G 6,1 (G 6,1 It can be represented as G 6,1 =C1(F2,F4,{3,4})), Q=G 10,5 (G 10,5 It can be represented as: G 10,5 =C2(G 5,1 G 5,4 ), G 5,1 It can be represented as: G 5,1 =C1(F1,F4,{4}), G 5,4 It can be represented as: G 5,4 =C5(F4,F1)), then the first matrix can be:
[0319] Figure 25 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=6. Curve 1 corresponds to the first matrix in the seventeenth possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the seventeenth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0320] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 17 below. According to Table 17, the minimum code weight corresponding to curve 1 is larger, and the decoding performance of curve 1 is better.
[0321] Table 17
[0322] In the eighteenth possible embodiment, taking N as 16 and K as 7 as an example, the first matrix can be represented as: G 16,7 =C1(P,Q,i2), where P=G 6,1 (G 6,1 The determination method can refer to the seventeenth possible embodiment above), Q = G 10,6 (G 10,6 It can be represented as: G 10,6 =C2(G 5,2 G 5,4 ), G 5,2 The determination method can refer to the second possible embodiment described above, G. 5,4 The determination method for G can refer to the seventeenth possible embodiment described above. 5,4 Given that i2 = {1, 2, 5, 6, 7, 10}, the first matrix can be:
[0323] Figure 26 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=7. Curve 1 corresponds to the first matrix in the eighteenth possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the eighteenth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0324] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 18 below. According to Table 18, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0325] Table 18
[0326] In the nineteenth possible embodiment, taking N = 16 and K = 8 as an example, the first matrix can be represented as: G 16,8 =C2(P,Q), where P=G 8,2 (G 8,2 The determination method can refer to the seventh possible embodiment above), Q = G 8,6 (G 8,6 The method for determining the matrix can refer to the tenth possible embodiment described above. Therefore, the first matrix can be:
[0327] Figure 27 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=8. Curve 1 corresponds to the first matrix in the nineteenth possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the nineteenth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0328] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 19 below. According to Table 19, the minimum code weight corresponding to curve 1 is the same as that corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0329] Table 19
[0330] In the twentieth possible embodiment, taking N as 16 and K as 9 as an example, the first matrix can be represented as: G 16,9 =C5(P,Q), where P=G 10,4 (G 10,4 It can be represented as: G 10,4 =C4(F1,G 9,4 ), G 9.4 It can be represented as: G 9.4 =C5(G 8,6 (F4), G 8,6 The determination method can refer to the tenth possible embodiment described above, Q = G 9.4 Then, the first matrix can be:
[0331] Figure 28 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=9. Curve 1 corresponds to the first matrix in the twentieth possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the twentieth possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0332] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 20 below. According to Table 20, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0333] Table 20
[0334] In the twenty-first possible embodiment, taking N as 16 and K as 12 as an example, the first matrix can be represented as: G 16,12 =C4(P,Q), where P=G 7,4 Q = G 9.8 (G 9.8 It can be represented as: G 9.8 =C5(G 8,2 ,F1), G 8,2 The method for determining the matrix can refer to the seventh possible embodiment described above. Therefore, the first matrix can be:
[0335] Figure 29 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=12. Curve 1 corresponds to the first matrix in the twenty-first possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the twenty-first possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0336] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 21 below. According to Table 21, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0337] Table 21
[0338] In the twenty-second possible embodiment, taking N as 16 and K as 13 as an example, the first matrix can be represented as: G 16,13 =C3(P,Q,i3) where P=G 14,11 (G 14,11 It can be represented as: G 14,11 =C2(G 7,4 G 7,1 ), G 7,4The determination method for G can refer to the ninth possible embodiment described above. 7,4 In this way, G 7,1 It can be represented as: G 7,1 =C1(G 3,1 Given F4, {2,3,4}, Q = F2, i3 = {2,7}, then the first matrix can be:
[0339] Figure 30 illustrates a performance comparison of simulation results for different methods of determining the first matrix when N=16 and K=13. Curve 1 corresponds to the first matrix in the twenty-second possible embodiment described above, and curve 2 corresponds to matrix F. 16 The horizontal axis represents SNR, and the vertical axis represents BLER. It can be seen that the decoding performance corresponding to the first matrix in the twenty-second possible embodiment is superior, and significantly better than matrix F. 16 The corresponding decoding performance.
[0340] The minimum code weight of the first matrix corresponding to different curves and the number of codewords corresponding to the minimum code weight in the coset are shown in Table 22 below. According to Table 22, the minimum code weight corresponding to curve 1 is the same as the minimum code weight corresponding to curve 2, but the number of codewords corresponding to the minimum code weight of curve 1 is smaller, and the decoding performance of curve 1 is better.
[0341] Table 22
[0342] 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.
[0343] 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.
[0344] 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.
[0345] 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.
[0346] When each function is divided into functional modules, Figure 31 shows a transmitting device 310. The transmitting device 310 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.
[0347] The transmitting device 310 may include a transceiver module 3101 and a processing module 3102. Exemplarily, the transmitting device 310 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions applied in a communication device. When the transmitting device 310 is a communication device, the transceiver module 3101 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 3102 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 310 is a component having the aforementioned transmitting device functions, the transceiver module 3101 may be a radio frequency unit; the processing module 3102 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 310 is a chip system, the transceiver module 3101 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 3102 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 3101 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 3102 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0348] For example, the transceiver module 3101 can be used to perform all the transceiver operations performed by the transmitting device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein; the processing module 3102 can be used to perform all operations other than the transceiver operations performed by the transmitting device in the embodiment shown in FIG8, and / or to support other processes of the technology described herein.
[0349] Figure 32 shows a receiving device 320, 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.
[0350] The receiving device 320 may include a transceiver module 3201 and a processing module 3202. Exemplarily, the receiving device 320 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 320 is a communication device, the transceiver module 3201 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 3202 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 320 is a component having the aforementioned receiving device functions, the transceiver module 3201 may be a radio frequency unit; the processing module 3202 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 320 is a chip system, the transceiver module 3201 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 3202 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 3201 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 3202 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).
[0351] For example, the transceiver module 3201 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 3202 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.
[0352] As another possible implementation, the transceiver module 3101 in Figure 31 can be replaced by a transceiver unit that integrates the functions of the transceiver module 3101; the processing module 3102 can be replaced by a processor that integrates the functions of the processing module 3102. Furthermore, the transmitting end device 310 shown in Figure 31 may also include a memory. Alternatively, the transceiver module 3201 in Figure 32 can be replaced by a transceiver unit that integrates the functions of the transceiver module 3201; the processing module 3202 can be replaced by a processor that integrates the functions of the processing module 3202. Furthermore, the receiving end device 320 shown in Figure 32 may also include a memory.
[0353] Alternatively, when the processing module 3102 is replaced by a processor and the transceiver module 3101 is replaced by a transceiver, the transmitting end device 310 involved in the embodiments of this application can also be the communication device 330 shown in FIG33. Or, when the processing module 3202 is replaced by a processor and the transceiver module 3201 is replaced by a transceiver, the receiving end device 320 involved in the embodiments of this application can also be the communication device 330 shown in FIG33.
[0354] The processor can be logic circuit 3301, and the transceiver can be interface circuit 3302. Furthermore, the communication device 330 shown in FIG33 may also include a memory 3303.
[0355] 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.
[0356] This application also provides a computer program that, when executed by a computer, can implement the functions of any of the above method embodiments.
[0357] 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.
[0358] 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.
[0359] 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.
[0360] 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.
[0361] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0362] 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.
[0363] 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.
[0364] 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.
[0365] 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.
[0366] 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.
[0367] 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 the first matrix, a first sequence of length N is polar-coded to obtain a second sequence; wherein, the first matrix is an N-row N-column matrix, and the first matrix is determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p-row p-column matrix, the third 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; Output one or more bits of the second sequence.
2. The method according to claim 1, characterized in that, Before performing polar coding on the first sequence of length N to obtain the second sequence, the method further includes: Obtain the first sequence, which includes one or more of the following: information bits, CRC bits, check bits, or pre-frozen bits.
3. A communication method, characterized in that, include: Receive information to be decoded; wherein the length of the first sequence corresponding to the information to be decoded is N; The information to be decoded is decoded according to the first matrix; wherein the first matrix is an N-row N-column matrix, and the first matrix is determined according to one or more of the following: a second matrix, a third matrix, a second set, or a third set; the second matrix is a p-row p-column matrix, the third matrix is a q-row q-column matrix, and the sum of p and q is N; 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.
4. The method according to any one of claims 1-3, characterized in that, The elements in rows 1 to p and columns 1 to p in the first matrix are the same as the elements in the second matrix.
5. The method according to any one of claims 1-4, characterized in that, The elements in rows p+1 to p+q and columns p+1 to p+q in the first matrix are the same as the elements in the third matrix.
6. The method according to any one of claims 1-5, characterized in that, The elements in the first matrix from row 1 to row p and from column p+1 to column p+q are 0.
7. The method according to any one of claims 1-6, characterized in that, When p is less than q The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in rows 1 to q and the columns corresponding to the second set in the third matrix.
8. The method according to any one of claims 1-6, characterized in that, When p equals q The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in the third matrix.
9. The method according to any one of claims 1-6, characterized in that, When p is greater than q The elements in rows p+1 to p+q of the first matrix and the columns corresponding to the third set are the same as the elements in the third matrix.
10. The method according to any one of claims 1-6, 9, characterized in that, When p is greater than q In the first matrix, the elements in rows p+1 to p+q and columns 1 to p, excluding the columns corresponding to the third set, are 0.
11. The method according to any one of claims 1-6, characterized in that, When p is less than or equal to q The elements in rows p+1 to p+q and columns 1 to p in the first matrix are the same as the elements in rows 1 to q and columns 1 to p in the third matrix.
12. The method according to any one of claims 1-6, characterized in that, When p is greater than or equal to q The elements in rows p+1 to p+q and columns 1 to q in the first matrix are the same as the elements in the third matrix.
13. The method according to any one of claims 1-6 and 12, characterized in that, When p is greater than or equal to q In the first matrix, the elements in rows p+1 to p+q and columns q+1 to p are 0.
14. The method according to any one of claims 1-13, characterized in that, The second matrix is determined according to one or more of the following: a fourth matrix, a fifth matrix, a fourth set, or a fifth set; the fourth matrix is an a-row a-column matrix, the fifth matrix is a b-row b-column matrix, and the sum of a and b is p; when a is less than b, the fourth set includes a positive integers less than or equal to b, and when a is greater than b, the fifth set includes b positive integers less than or equal to a.
15. The method according to any one of claims 1-14, characterized in that, The third matrix is determined according to one or more of the following: a sixth matrix, a seventh matrix, a sixth set, or a seventh set; the sixth matrix is a c-row, c-column matrix, the seventh matrix is a d-row, d-column matrix, and the sum of c and d is q; when c is less than d, the sixth set includes c positive integers less than or equal to d, and when c is greater than d, the seventh set includes d positive integers less than or equal to c.
16. The method according to any one of claims 1-15, characterized in that, With N=4 and K=2, the first matrix is: or With N=5 and K=2, the first matrix is: or Given N=5 and K=3, the first matrix is: or Given N=6 and K=3, the first matrix is: or With N=7 and K=2, the first matrix is: or With N=7 and K=5, the first matrix is: or With N = 8 and K = 2, the first matrix is: or Given N=8 and K=3, the first matrix is: or With N = 8 and K = 5, the first matrix is: or Given N=8 and K=6, the first matrix is: or With N=9 and K=6, the first matrix is: or With N = 10 and K = 7, the first matrix is: or Given N = 13 and K = 6, the first matrix is: or Given N = 15 and K = 9, the first matrix is: or Given N = 16 and K = 2, the first matrix is: or Given N = 16 and K = 3, the first matrix is: or With N = 16 and K = 6, the first matrix is: or With N = 16 and K = 7, the first matrix is: or Given N = 16 and K = 8, the first matrix is: or Given N = 16 and K = 9, the first matrix is: or With N = 16 and K = 12, the first matrix is: or With N = 16 and K = 13, the first matrix is: Where K is the number of information bits in the first sequence.
17. 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-16 to be executed, or cause the communication method as described in any one of claims 2-16 to be executed.
18. 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-16, or to execute the communication method as described in any one of claims 2-16, and to process and / or generate the information based on the information.
19. 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 16 to be executed.
20. 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-16 to be executed, or cause the communication method as described in any one of claims 2-16 to be executed.
21. 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-16, and a communication device for performing the communication method as described in any one of claims 2-16.
Citation Information
Patent Citations
Polar code encoding modulation method applicable to any high-order modulation
CN106230489A
Coding and decoding method of polarization code, sending device, receiving device and medium
CN110233698A
Polarization code coding method and device
CN112886969A
Coding and decoding method and device
CN117155410A
Method and system for error correction in transmitting data using low complexity systematic encoder
US20190165887A1