Coding and decoding method and device

By selecting the basic sequence or polar coding based on the number of information bits and the transmission code length in the new wireless communication, the problem of high decoding complexity is solved, and simplified coding implementation and performance optimization are achieved.

CN120834883APending Publication Date: 2025-10-24HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410462393.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-16
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

In new wireless communications, when the number of information bits is large, Reed-Müller code-based encoding leads to high decoding complexity, and existing fast Hadamard transform decoding methods are also complex.

Method used

By employing basic sequence or polar coding combined with dynamic selection of transmission code length, an appropriate coding method is selected based on the number of information bits and the transmission code length, reducing the number of enumerated mask sequences and lowering decoding complexity.

Benefits of technology

While balancing decoding complexity and performance, it simplifies the encoding implementation complexity and reduces performance drawbacks caused by rate matching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120834883A_ABST
    Figure CN120834883A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a coding and decoding method and device, which are used for reducing the decoding complexity and relate to the technical field of wireless communication. In the method, a first communication device obtains a first sequence, the first sequence is a bit sequence to be coded, and the first sequence comprises K information bits. The first communication device encodes the first sequence. Wherein if K is smaller than (or equal to) K1, the first sequence is coded based on the basic sequence. Or, if K is greater than (or equal to) K1, performing polarization coding on the first sequence. Wherein K1 is a positive integer smaller than 11. Based on the above scheme, when the number K of information bits is large (such as greater than K1), if the basic sequence is used for coding, the decoding complexity is also large because the number of the mask sequences is large, and if polarization coding is used, the decoding complexity can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of wireless communication technology, and in particular to a coding and decoding method and device. Background Art

[0002] Currently, new radio (NR) uplink control information (UCI) with information bits ranging from 3 to 11 bits uses ultra-short codes, such as Reed-Muller (RM) codes. The receiver can use fast Hadamard transform (FHT) decoding for decoding.

[0003] However, during the decoding process, if the number of information bits is large, the receiver needs to enumerate the mask sequence of the received codeword. Therefore, when the number of information bits is large, using RM coding will result in greater decoding complexity. Summary of the Invention

[0004] The embodiments of the present application provide a coding and decoding method and apparatus for reducing the decoding complexity of ultra-short codes.

[0005] In the first aspect, a coding method is provided. The method can be executed by a first communication device. Unless otherwise specified, the "first communication device" in this application can refer to the first communication device itself (for example, a network device, a terminal device), or a component in the first communication device (for example, a processor, a chip or a chip system, etc.), or a logic module or software that can realize all or part of the functions of the first communication device. The method includes: the first communication device obtains a first sequence, the first sequence is a bit sequence to be encoded, and the first sequence includes K information bits. The first communication device encodes the first sequence. Wherein, if K is less than or equal to K1, the first sequence is encoded based on the basic sequence, and the encoded codeword c k is an element in the first sequence, M i,k is an element in the basic sequence. Alternatively, if K is greater than K1, the first sequence is polarized and the encoded codeword is based on u and G N Determine that u is a vector of length N, and u includes the elements in the first sequence, G N is the encoding matrix of the polar code, N is a positive integer, and K1 is a positive integer less than 11.

[0006] Based on the above scheme, when the number of information bits K is large, if the basic sequence is used for encoding, the number of mask sequences that need to be enumerated during decoding is large, and therefore the decoding complexity is also large. Under this condition, if polar coding is used, the decoding complexity can be reduced, and the existing related design of polar code in NR can be reused, thereby simplifying the implementation complexity.

[0007] In a possible implementation of the first aspect, the first communication device encodes the first sequence based on the basic sequence, corresponding to that K is less than or equal to K1, and the transmission code length E corresponding to the first sequence is greater than or equal to the first value. Alternatively, the first communication device polar encodes the first sequence, corresponding to that K is greater than K1, and the transmission code length E corresponding to the first sequence is less than the first value.

[0008] Based on the above scheme, while taking into account the decoding complexity, the basic sequence is used for encoding when the transmission code length is large, and polar coding is used when the transmission code length is small, so that the performance bad point caused by rate matching can be reduced.

[0009] In a possible implementation of the first aspect, the first communication device encodes the first sequence based on the basic sequence, corresponding to that K is less than or equal to K1, and the transmission code length E corresponding to the first sequence is greater than or equal to the first value. Alternatively, the first communication device polar encodes the first sequence, corresponding to that K is greater than K1, and the transmission code length E corresponding to the first sequence is less than the first value. c k is an element in the first sequence, and M i,k is an element in the basic sequence. Alternatively, if K is greater than K1, the second sequence is obtained by polar encoding the first sequence, and the second sequence is determined based on u and G N , u is a vector with a length of N, u includes elements in the first sequence, G N is a coding matrix of the polar code, and N is a positive integer. K1 is a positive integer less than 11. The second communication device decodes the second sequence to obtain K information bits.

[0010] Based on the above scheme, when the number of information bits K is large, if the basic sequence is used for encoding, the number of mask sequences that need to be enumerated during decoding is large, and therefore the decoding complexity is also large. Under this condition, if polar coding is used, the decoding complexity can be reduced, and the existing related design of polar code in NR can be reused, thereby simplifying the implementation complexity.

[0011] In a possible implementation of the second aspect, if K is less than or equal to K1, the second communication device performs FHT decoding on the second sequence. Alternatively, if K is greater than K1, the second communication device performs polar decoding on the second sequence.

[0012] In a possible implementation of the second aspect, corresponding to K being less than or equal to K1, and the transmission code length E corresponding to the first sequence being greater than or equal to a first value, the second sequence is obtained by encoding the first sequence based on a basic sequence. Alternatively, corresponding to K being greater than K1, and the transmission code length E corresponding to the first sequence being less than the first value, the second sequence is obtained by polar encoding the first sequence.

[0013] Based on the above scheme, while taking into account the decoding complexity, the basic sequence is used for encoding when the transmission code length is large, and polar encoding is used when the transmission code length is small, so that the performance bad points caused by rate matching can be reduced.

[0014] In a possible implementation of the first aspect or the second aspect, when N = 32, M i,k Based on the following table:

[0015] i M i,0 ]]> M i,1 ]]> M i,2 ]]> M i,3 ]]> M i,4 ]]> M i,5 ]]> 0 1 1 0 0 0 0 1 1 1 1 0 0 0 2 1 0 0 1 0 0 3 1 0 1 1 0 0 4 1 1 1 1 0 0 5 1 1 0 0 1 0 6 1 0 1 0 1 0 7 1 0 0 1 1 0 8 1 1 0 1 1 0 9 1 0 1 1 1 0 10 1 0 1 0 0 1 11 1 1 1 0 0 1 12 1 0 0 1 0 1 13 1 1 0 1 0 1 14 1 0 0 0 1 1 15 1 1 0 0 1 1 16 1 1 1 0 1 1 17 1 0 0 1 1 1 18 1 1 0 1 1 1 19 1 0 0 0 0 1 20 1 0 1 0 0 0 21 1 1 0 1 0 0 22 1 0 0 0 1 0 23 1 1 1 0 1 0 24 1 1 1 1 1 0 25 1 1 0 0 0 1 26 1 0 1 1 0 1 27 1 1 1 1 0 1 28 1 0 1 0 1 1 29 1 0 1 1 1 1 30 1 1 1 1 1 1 31 1 0 0 0 0 0

[0016] In a possible implementation of the first aspect or the second aspect, when N = 64, M i,k Based on the following table:

[0017]

[0018]

[0019]

[0020] In a possible implementation of the first aspect or the second aspect, when N = 16, M i,k Based on the following table:

[0021] i Mi,0 Mi,1 Mi,2 Mi,3 Mi,4 0 1 1 1 1 1 1 1 0 1 1 1 2 1 1 0 1 1 3 1 0 0 1 1 4 1 1 1 0 1 5 1 0 1 0 1 6 1 1 0 0 1 7 1 0 0 0 1 8 1 1 1 1 0 9 1 0 1 1 0 10 1 1 0 1 0 11 1 0 0 1 0 12 1 1 1 0 0 13 1 0 1 0 0 14 1 1 0 0 0 15 1 0 0 0 0

[0022] Based on the above different implementations, the present application provides different basic sequences corresponding to the length N after encoding, so as to realize encoding the first sequence based on the basic sequence when K is less than or equal to K1.

[0023] In a possible implementation of the first aspect or the second aspect, the basic sequence is obtained based on a first-order Reed Muller (RM) code or a Walsh sequence.

[0024] Based on the above scheme, the manner of obtaining the basic sequence is provided, so as to realize encoding the first sequence based on the basic sequence when K is less than or equal to K1.

[0025] In a possible implementation of the first aspect or the second aspect, when K is greater than K1, the encoded code word d = uTG N , where T is a pre-transformation matrix. For example, T is an upper triangular matrix of N*N.

[0026] In a possible implementation of the first aspect or the second aspect, when K is greater than K1, the encoded code word d = u*G N .

[0027] In a possible implementation of the first aspect or the second aspect, when K is greater than K1, the encoded code word d = v*G N , where v is a pre-encoding sequence of u of length N. For example, v can not contain elements in the first sequence, but is a pre-encoding sequence of a sequence containing elements in the first sequence u, and the pre-encoding can be systematic encoding or non-systematic encoding.

[0028] In a possible implementation of the first aspect or the second aspect, M i,k is determined according to the table after row interleaving.

[0029] Based on the above different implementations, different polar encoding methods are provided.

[0030] In a possible implementation of the first aspect or the second aspect, K1 is determined according to a first-order RM code point.

[0031] Based on the above scheme, when K is greater than the first-order RM code point, the number of mask sequences is large, and polar encoding can reduce decoding complexity, so K1 is determined according to the first-order RM code point, which can reduce decoding complexity.

[0032] In a possible implementation of the first aspect or the second aspect, when N = 32, K1 is 6.

[0033] In a possible implementation of the first aspect or the second aspect, when N = 64, K1 is 7.

[0034] In a possible implementation of the first aspect or the second aspect, when N = 16, K1 is 5.

[0035] In a possible implementation of the first aspect or the second aspect, when N = 2 n , n is a positive integer less than or equal to 3 or n is a positive integer greater than or equal to 7, and K1 = n + 1.

[0036] Based on the different implementation manners, the application provides the value of K1 when the length N of the coded sequence is at different values.

[0037] In a third aspect, an encoding method is provided. The method can be performed by a first communication device. In the case where no special description is given, the first communication device in the application can refer to the first communication device itself (for example, a network device or a terminal device), a component (for example, a processor, a chip or a chip system) in the first communication device, or a logic module or software capable of realizing all or part of the functions of the first communication device. The method comprises: the first communication device acquires a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence comprising K information bits. The first communication device encodes the first sequence. If the transmission code length corresponding to the first sequence is greater than or equal to a first value, the first sequence is encoded based on a basic sequence, and the coded codeword is c k is an element in the first sequence, and M i,k is an element in the basic sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the first sequence is polar encoded, and the coded codeword is determined based on u and G N , u is a vector with a length of N, u comprises elements in the first sequence, G N is a coding matrix of a polar code, and N is a positive integer.

[0038] Based on the above scheme, when the first communication device encodes the first sequence, the encoding manner can be determined by the transmission code length E. When the transmission code length E is large, the basic sequence is used for encoding, and when the transmission code length E is small, the polar encoding is used, so that the performance bad point caused by rate matching can be reduced.

[0039] In a possible implementation manner of the third aspect, when the transmission code length corresponding to the first sequence is less than the first value and K is less than or equal to K1, the first communication device encodes the first sequence based on the basic sequence. Alternatively, when the transmission code length corresponding to the first sequence is greater than or equal to the first value and K is greater than K1, the first communication device polar encodes the first sequence. K1 is an integer less than 11.

[0040] Based on the above scheme, while the performance bad point is taken into account, when the number of information bits is small, the basic sequence is used for encoding, and when the number of information bits is large, if the polar encoding is used, the decoding complexity can be reduced, and the existing related design of the polar code in the NR can be reused, so that the implementation complexity is reduced.

[0041] In a fourth aspect, a decoding method is provided. The method can be performed by a second communication device. The second communication device can refer to the second communication device itself (e.g., a network device, a terminal device), a component (e.g., a processor, a chip, or a chip system) in the second communication device, or a logic module or software capable of realizing all or part of the functions of the second communication device. The method includes: obtaining, by the second communication device, a second sequence. The second sequence is encoded from a first sequence, and the first sequence includes K information bits. If a transmission code length corresponding to the first sequence is greater than or equal to a first value, the second sequence is encoded from the first sequence by a base sequence, and an element in the second sequence is an element in the first sequence, and M is an element in the base sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the second sequence is polar encoded from the first sequence, and the second sequence is determined based on u and G, u is a vector with a length of N, u includes elements in the first sequence, G is a coding matrix of a polar code, and N is a positive integer. The second communication device decodes the second sequence to obtain the K information bits. c k is an element in the first sequence, and M i,k is an element in the base sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the second sequence is polar encoded from the first sequence, and the second sequence is determined based on u and G N , u is a vector with a length of N, u includes elements in the first sequence, G N is a coding matrix of a polar code, and N is a positive integer. The second communication device decodes the second sequence to obtain the K information bits.

[0042] Based on the above scheme, when the transmission code length E is large, the base sequence is used for encoding, and when the transmission code length E is small, the polar encoding is used, so that the performance bad point caused by rate matching can be reduced.

[0043] In a possible implementation of the fourth aspect, if the transmission code length is greater than or equal to the first value, the second communication device performs FHT decoding on the second sequence. Alternatively, if the transmission code length is less than the first value, the second communication device performs polar decoding on the second sequence.

[0044] In a possible implementation of the fourth aspect, when the transmission code length corresponding to the first sequence is less than the first value and K is less than or equal to K1, the second sequence is encoded from the first sequence by the base sequence. Alternatively, when the transmission code length corresponding to the first sequence is greater than or equal to the first value and K is greater than K1, the second sequence is polar encoded from the first sequence.

[0045] Based on the above scheme, while the performance bad point is considered, when the number of information bits is small, the base sequence is used for encoding, and when the number of information bits is large, if the polar encoding is used, the decoding complexity can be reduced, and the existing related design of the polar code in the NR can be reused, so that the implementation complexity is reduced.

[0046] In a possible implementation of the third aspect or the fourth aspect, the first value is related to K.

[0047] In a possible implementation of the third aspect or the fourth aspect, when K=11, the first value is 18.

[0048] In a possible implementation of the third aspect or the fourth aspect, when K=10, the first value is 11.

[0049] In a possible implementation of the third aspect or the fourth aspect, when K=9, the first value is 11.

[0050] In a possible implementation of the third aspect or the fourth aspect, when K=8, the first value is 11.

[0051] In a possible implementation of the third aspect or the fourth aspect, when K=7, the first value is 11.

[0052] In a possible implementation of the third aspect or the fourth aspect, when K=6, the first value is 12.

[0053] In a possible implementation of the third aspect or the fourth aspect, the first value is a fixed value, which can be 11, 12, 20, 24, or the like.

[0054] Based on the different implementations, different numerical values of the first value are provided.

[0055] In a possible implementation of the third aspect or the fourth aspect, when N=32, M i,k Based on the following table:

[0056] i M i,0 ]]> M i,1 ]]> M i,2 ]]> M i,3 ]]> M i,4 ]]> M i,5 ]]> 0 1 1 0 0 0 0 1 1 1 1 0 0 0 2 1 0 0 1 0 0 3 1 0 1 1 0 0 4 1 1 1 1 0 0 5 1 1 0 0 1 0 6 1 0 1 0 1 0 7 1 0 0 1 1 0 8 1 1 0 1 1 0 9 1 0 1 1 1 0 10 1 0 1 0 0 1 11 1 1 1 0 0 1 12 1 0 0 1 0 1 13 1 1 0 1 0 1 14 1 0 0 0 1 1 15 1 1 0 0 1 1 16 1 1 1 0 1 1 17 1 0 0 1 1 1 18 1 1 0 1 1 1 19 1 0 0 0 0 1 20 1 0 1 0 0 0 21 1 1 0 1 0 0 22 1 0 0 0 1 0 23 1 1 1 0 1 0 24 1 1 1 1 1 0 25 1 1 0 0 0 1 26 1 0 1 1 0 1 27 1 1 1 1 0 1 28 1 0 1 0 1 1 29 1 0 1 1 1 1 30 1 1 1 1 1 1 31 1 0 0 0 0 0

[0057] In a possible implementation of the third aspect or the fourth aspect, when N=64, M i,k Based on the following table:

[0058]

[0059]

[0060]

[0061] In a possible implementation of the third aspect or the fourth aspect, when N=16, M i,k Based on the following table:

[0062] i Mi,0 Mi,1 Mi,2 Mi,3 Mi,4 0 1 1 1 1 1 1 1 0 1 1 1 2 1 1 0 1 1 3 1 0 0 1 1 4 1 1 1 0 1 5 1 0 1 0 1 6 1 1 0 0 1 7 1 0 0 0 1 8 1 1 1 1 0 9 1 0 1 1 0 10 1 1 0 1 0 11 1 0 0 1 0 12 1 1 1 0 0 13 1 0 1 0 0 14 1 1 0 0 0 15 1 0 0 0 0

[0063] In a possible implementation of the third aspect or the fourth aspect, the base sequence is based on a first-order Reed Muller (RM) code or is obtained based on a Walsh sequence.

[0064] In a possible implementation of the third aspect or the fourth aspect, the M i,k The table after the row interleaving is determined according to the above table.

[0065] Based on the different implementations described above, the application provides different basic sequences corresponding to the encoded length N.

[0066] In a possible implementation of the third aspect or the fourth aspect, corresponding to K being greater than K1, the encoded code word d = uTG N , where T is a pre-transformation matrix. For example, T is an upper triangular matrix of N*N.

[0067] In a possible implementation of the third aspect or the fourth aspect, corresponding to K being greater than K1, the encoded code word d = u*G N .

[0068] In a possible implementation of the third aspect or the fourth aspect, corresponding to K being greater than K1, the encoded code word d = v*G N . v is a sequence of length N after pre-encoding of u. For example, v can not contain the elements in the first sequence, but is a sequence after pre-encoding of a sequence containing the elements in the first sequence, and the pre-encoding can be systematic encoding or non-systematic encoding.

[0069] Based on the different implementations described above, the application provides different polar encoding modes.

[0070] In a fifth aspect, a communication apparatus is provided, including a processing unit and a transceiver unit.

[0071] The processing unit is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence including K information bits. The processing unit is further configured to encode the first sequence. If K is less than or equal to K1, the first sequence is encoded based on a basic sequence, and an encoded code word c k is an element in the first sequence, and M i,k is an element in the basic sequence. Alternatively, if K is greater than K1, the first sequence is polar encoded, and an encoded code word is determined based on u and G N , u being a vector of length N, u including elements in the first sequence, and G N being an encoding matrix of a polar code, and N being a positive integer. K1 is a positive integer less than 11. The transceiver unit is configured to send a signal carrying a second sequence.

[0072] In a possible implementation of the fifth aspect, when K is less than or equal to K1 and the transmission code length E corresponding to the first sequence is greater than or equal to a first value, the processing unit is specifically configured to encode the first sequence based on the base sequence. Alternatively, when K is greater than K1 and the transmission code length E corresponding to the first sequence is less than the first value, the processing unit is specifically configured to perform polarization coding on the first sequence.

[0073] In a sixth aspect, a communication device is provided, comprising a processing unit and a transceiver unit.

[0074] The transceiver unit is configured to receive a signal carrying a second sequence. The processing unit is configured to obtain the second sequence, where the second sequence is encoded by the first sequence, and the first sequence includes K information bits. If K is less than or equal to K1, the second sequence is obtained by encoding the first sequence by the base sequence, and the elements in the second sequence are c k is an element in the first sequence, M i,k is an element in the basic sequence. Alternatively, if K is greater than K1, the second sequence is obtained by polarization coding the first sequence, and the second sequence is based on u and G N Determine that u is a vector of length N, and u includes the elements in the first sequence, G N is the coding matrix of the polar code, N is a positive integer, K1 is a positive integer less than 11. The processing unit is further configured to decode the second sequence to obtain K information bits.

[0075] In a possible implementation of the sixth aspect, if K is less than or equal to K1, the processing unit is specifically configured to perform FHT decoding on the second sequence. Alternatively, if K is greater than K1, the processing unit is specifically configured to perform polarization decoding on the second sequence.

[0076] In a possible implementation of the sixth aspect, when K is less than or equal to K1 and the transmission code length E corresponding to the first sequence is greater than or equal to a first value, the second sequence is obtained by encoding the first sequence with a base sequence. Alternatively, when K is greater than K1 and the transmission code length E corresponding to the first sequence is less than the first value, the second sequence is obtained by performing polarization coding on the first sequence.

[0077] In a possible implementation of the fifth or sixth aspect, when N=32, M i,k Determined based on the following table:

[0078]

[0079]

[0080] In a possible implementation of the fifth or sixth aspect, when N=64, M i,kDetermined based on the following table:

[0081]

[0082]

[0083] In a possible implementation manner based on the fifth aspect or the sixth aspect, when N=16, Mi,k is determined based on the following table:

[0084]

[0085]

[0086] In a possible implementation manner based on the fifth aspect or the sixth aspect, the basic sequence is obtained based on a first-order Reed-Muller (RM) code or a Walsh sequence.

[0087] In a possible implementation manner based on the fifth aspect or the sixth aspect, M i,k Determine the table after row interleaving based on the above table.

[0088] In a possible implementation of the fifth or sixth aspect, corresponding to K being greater than K1, the encoded codeword d=uTG N Wherein, T is the pre-transformation matrix. Exemplarily, T is an N*N upper triangular matrix.

[0089] In a possible implementation of the fifth or sixth aspect, corresponding to K being greater than K1, the encoded codeword d=u*G N .

[0090] In a possible implementation of the fifth or sixth aspect, corresponding to K being greater than K1, the encoded codeword d=v*G N v is a sequence of length N after u is precoded. Exemplarily, v may not include elements in the first sequence, but is a sequence obtained by precoding a sequence u containing elements in the first sequence. The precoding may be systematic coding or non-systematic coding.

[0091] In a possible implementation manner based on the fifth aspect or the sixth aspect, K1 is determined according to a first-order RM code point.

[0092] In a possible implementation manner based on the fifth or sixth aspect, when N=32, K1 is 6.

[0093] In a possible implementation manner based on the fifth aspect or the sixth aspect, when N=64, K1 is 7.

[0094] In a possible implementation of the fifth aspect or the sixth aspect, when N=16, K1 is 5.

[0095] In a possible implementation of the fifth aspect or the sixth aspect, when N=2 n , n is a positive integer less than or equal to 3 or n is a positive integer greater than or equal to 7, and K1=n+1.

[0096] In a seventh aspect, a communication apparatus is provided, which includes a processing unit and a transceiver unit.

[0097] The processing unit is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence including K information bits. The processing unit is further configured to encode the first sequence. When a transmission code length corresponding to the first sequence is greater than or equal to a first value, the first sequence is encoded based on a base sequence, and a code word after encoding is determined based on u and G c k , where c is an element in the first sequence, and M i,k is an element in the base sequence. When the transmission code length corresponding to the first sequence is less than the first value, the first sequence is polar encoded, and the second sequence is determined based on u and G N , where u is a vector with a length of N, u includes elements in the first sequence, G N is a coding matrix of a polar code, and N is a positive integer. The transceiver unit is configured to send a signal carrying the second sequence.

[0098] In a possible implementation of the seventh aspect, when the transmission code length corresponding to the first sequence is less than the first value, and K is less than or equal to K1, the processing unit is specifically configured to encode the first sequence based on the base sequence. When the transmission code length corresponding to the first sequence is greater than or equal to the first value, and K is greater than K1, the processing unit is specifically configured to polar encode the first sequence. K1 is an integer less than 11.

[0099] In an eighth aspect, a communication apparatus is provided, which includes a processing unit and a transceiver unit.

[0100] The transceiver unit is configured to receive a signal carrying a second sequence. The processing unit is configured to obtain the second sequence. The second sequence is obtained by encoding a first sequence, and the first sequence includes K information bits. When a transmission code length corresponding to the first sequence is greater than or equal to a first value, the second sequence is obtained by encoding the first sequence based on a base sequence, and an element in the second sequence is determined based on c and M c k , where c is an element in the first sequence, and M i,k is an element in the base sequence. When the transmission code length corresponding to the first sequence is less than the first value, the second sequence is obtained by polar encoding the first sequence, and the second sequence is determined based on u and G Nis determined, u is a vector with length N, u includes elements in the first sequence, G N is a coding matrix of a polar code, and N is a positive integer. The processing unit is further configured to decode the second sequence to obtain the K information bits.

[0101] In a possible implementation of the eighth aspect, if the transmission code length is greater than or equal to the first value, the processing unit is specifically configured to perform FHT decoding on the second sequence. Alternatively, if the transmission code length is less than the first value, the processing unit is specifically configured to perform polar decoding on the second sequence.

[0102] In a possible implementation of the eighth aspect, when the transmission code length corresponding to the first sequence is less than the first value, and K is less than or equal to K1, the second sequence is obtained by encoding the first sequence based on the base sequence. Alternatively, when the transmission code length corresponding to the first base sequence is greater than or equal to the first value, and K is greater than K1, the second sequence is obtained by polar encoding the first sequence.

[0103] In a possible implementation of the seventh aspect or the eighth aspect, the first value is related to K.

[0104] In a possible implementation of the seventh aspect or the eighth aspect, when K = 11, the first value is 18.

[0105] In a possible implementation of the seventh aspect or the eighth aspect, when K = 10, the first value is 11.

[0106] In a possible implementation of the seventh aspect or the eighth aspect, when K = 9, the first value is 11.

[0107] In a possible implementation of the seventh aspect or the eighth aspect, when K = 8, the first value is 11.

[0108] In a possible implementation of the seventh aspect or the eighth aspect, when K = 7, the first value is 11.

[0109] In a possible implementation of the seventh aspect or the eighth aspect, when K = 6, the first value is 12.

[0110] In a possible implementation of the seventh aspect or the eighth aspect, the first value is a fixed value, which can be 11, 12, 20, or 24.

[0111] In a possible implementation of the seventh aspect or the eighth aspect, when N = 32, M i,k is determined based on the following table:

[0112] i M i,0 ]]> M i,1 ]]> M i,2 ]]> M i,3 ]]> M i,4 ]]> M i,5 ]]> 0 1 1 0 0 0 0 1 1 1 1 0 0 0 2 1 0 0 1 0 0 3 1 0 1 1 0 0 4 1 1 1 1 0 0 5 1 1 0 0 1 0 6 1 0 1 0 1 0 7 1 0 0 1 1 0 8 1 1 0 1 1 0 9 1 0 1 1 1 0 10 1 0 1 0 0 1 11 1 1 1 0 0 1 12 1 0 0 1 0 1 13 1 1 0 1 0 1 14 1 0 0 0 1 1 15 1 1 0 0 1 1 16 1 1 1 0 1 1 17 1 0 0 1 1 1 18 1 1 0 1 1 1 19 1 0 0 0 0 1 20 1 0 1 0 0 0 21 1 1 0 1 0 0 22 1 0 0 0 1 0 23 1 1 1 0 1 0 24 1 1 1 1 1 0 25 1 1 0 0 0 1 26 1 0 1 1 0 1 27 1 1 1 1 0 1 28 1 0 1 0 1 1 29 1 0 1 1 1 1 30 1 1 1 1 1 1 31 1 0 0 0 0 0

[0113] In a possible implementation of the seventh aspect or the eighth aspect, when N = 64, M i,k The following table is used for determination:

[0114]

[0115]

[0116]

[0117] In a possible implementation of the seventh aspect or the eighth aspect, when N = 16, M i,k The following table is used for determination:

[0118] i Mi,0 Mi,1 Mi,2 Mi,3 Mi,4 0 1 1 1 1 1 1 1 0 1 1 1 2 1 1 0 1 1 3 1 0 0 1 1 4 1 1 1 0 1 5 1 0 1 0 1 6 1 1 0 0 1 7 1 0 0 0 1 8 1 1 1 1 0 9 1 0 1 1 0 10 1 1 0 1 0 11 1 0 0 1 0 12 1 1 1 0 0 13 1 0 1 0 0 14 1 1 0 0 0 15 1 0 0 0 0

[0119] In a possible implementation of the seventh aspect or the eighth aspect, the basic sequence is based on a first-order Reed Muller (RM) code or is obtained based on a Walsh sequence.

[0120] In a possible implementation of the seventh aspect or the eighth aspect, M i,k The following table is used for determination after row interleaving.

[0121] In a possible implementation of the seventh aspect or the eighth aspect, when K is greater than K1, the encoded code word d = uTG N , where T is a pre-transformation matrix. For example, T is an upper triangular matrix of N*N.

[0122] In a possible implementation of the seventh aspect or the eighth aspect, when K is greater than K1, the encoded code word d = u*G N .

[0123] In a possible implementation of the seventh aspect or the eighth aspect, when K is greater than K1, the encoded code word d = v*G N . v is a sequence of length N after pre-encoding of u. For example, v can not contain elements in the first sequence, but is a sequence after pre-encoding of a sequence containing elements in the first sequence, and the pre-encoding can be systematic encoding or non-systematic encoding.

[0124] In a ninth aspect, a communication apparatus is provided for implementing the various methods described above. The communication apparatus can be the first communication device in the first aspect or the third aspect, or a device including the first communication device, or a device included in the first communication device, such as a chip; or the communication apparatus can be the second communication device in the second aspect or the fourth aspect, or a device including the second communication device, or a device included in the second communication device. The communication apparatus includes modules, units, or means corresponding to the modules, units, or means for implementing the methods described above, which can be implemented by hardware, software, or by a combination of hardware and software. The hardware or software includes one or more modules or units corresponding to the functions described above.

[0125] In a tenth aspect, a communication apparatus is provided, which includes a processor and a communication interface. The communication interface is configured to communicate with modules outside the communication apparatus. The processor is configured to execute computer programs or instructions, so that the methods described in any of the aspects above are performed. The communication apparatus can be the first communication device in the first aspect or the third aspect, or a device including the first communication device, or a device included in the first communication device, such as a chip; or the communication apparatus can be the second communication device in the second aspect or the fourth aspect, or a device including the second communication device, or a device included in the second communication device.

[0126] In an eleventh aspect, a communication apparatus is provided, which includes at least one processor. The processor is configured to execute computer programs or instructions stored in a memory, so as to implement the methods described in any of the aspects above. The memory can be coupled to the processor, or can be independent of the processor. The communication apparatus can be the first communication device in the first aspect or the third aspect, or a device including the first communication device, or a device included in the first communication device, such as a chip; or the communication apparatus can be the second communication device in the second aspect or the fourth aspect, or a device including the second communication device, or a device included in the second communication device.

[0127] In a twelfth aspect, a communication system is provided, which can include the first communication device implementing the method in the first aspect and the second communication device implementing the method in the second aspect.

[0128] In a thirteenth aspect, a communication system is provided, which can include the first communication device implementing the method in the third aspect and the second communication device implementing the method in the fourth aspect.

[0129] In a fourteenth aspect, the present application provides a computer readable storage medium, wherein the computer readable storage medium stores computer readable instructions, and when a computer reads and executes the computer readable instructions, the computer is caused to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0130] In a fifteenth aspect, the present application provides a computer program product, and when a computer reads and executes the computer program product, the computer is caused to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0131] In a sixteenth aspect, the present application provides a chip for reading a computer program stored in a memory to perform the method in any possible implementation manner of any one of the first aspect to the fourth aspect.

[0132] It can be understood that the technical effects of the fifth aspect to the sixteenth aspect can refer to the technical effects of the first aspect to the fourth aspect, which will not be described here. BRIEF DESCRIPTION OF DRAWINGS

[0133] Figure 1 A communication system architecture schematic diagram is provided for the embodiments of the present application.

[0134] Figure 2A An FHT decoding flowchart is provided for the embodiments of the present application.

[0135] Figure 2B A coding complexity schematic diagram is provided for the embodiments of the present application.

[0136] Figure 3 A coding and decoding flowchart is provided for the embodiments of the present application.

[0137] Figure 4 An exemplary flowchart of an encoding method is provided for the embodiments of the present application.

[0138] Figure 5A A pre-transformation matrix T schematic diagram is provided for the embodiments of the present application.

[0139] Figure 5B Another pre-transformation matrix T schematic diagram is provided for the embodiments of the present application.

[0140] Figure 6 A simulation effect schematic diagram is provided for the embodiments of the present application.

[0141] Figure 7 An exemplary flowchart of a decoding method is provided for the embodiments of the present application.

[0142] Figure 8A structural schematic diagram of a communication apparatus provided by an embodiment of the present application is shown in FIG. 1.

[0143] Figure 9 A structural schematic diagram of a communication apparatus provided by an embodiment of the present application is shown in FIG. 1.

[0144] Figure 10 A structural schematic diagram of a communication apparatus provided by an embodiment of the present application is shown in FIG. 1.

[0145] Figure 11 A structural schematic diagram of a communication apparatus provided by an embodiment of the present application is shown in FIG. 1. DETAILED DESCRIPTION

[0146] The technical solutions of the embodiments of the present application can be applied to various communication systems, for example, a global system for mobile communications (GSM), an enhanced data rates for GSM evolution (EDGE), a wideband code division multiple access (WCDMA), a time division-synchronous code division multiple access (TD-SCDMA), a long term evolution (LTE) system, a worldwide interoperability for microwave access (WiMAX) communication system, a 5th generation (5G) mobile communication system, such as a new radio (NR) system, and the like. The technical solutions provided by the present application can also be applied to future communication systems, such as a 6th generation (6G) mobile communication system, and the like. The communication system can also be a Bluetooth communication system, a wireless local area network (WLAN) / wireless communication technology (WiFi) communication system, a narrowband internet of things (NB-IoT) communication system, and the like. The technical solutions of the embodiments of the present application can also be applied to a satellite communication system, which can be integrated with the above-mentioned communication systems.

[0147] In order to facilitate understanding of the embodiments of the present application, an application scenario used by the present application is described by taking, for example, a communication system architecture shown in FIG. 1. Figure 1 A structural schematic diagram of a communication apparatus provided by an embodiment of the present application is shown in FIG. 1.Figure 1 As shown, the communication system includes a network device 101 and a terminal device 102. The communication apparatus provided by the embodiments of the present application can be applied to the network device 101 or the terminal device 102. It can be understood that, Figure 1 Only one possible communication system architecture to which the embodiments of the present application can be applied is shown, and in other possible scenarios, other devices can also be included in the communication system architecture.

[0148] The network device 101 is a node in a radio access network (RAN), which can be referred to as an access network device, a RAN node, etc. Optionally, the RAN can be a 3GPP related cellular system, for example, a 4G mobile communication system (such as an LTE system), a 5G mobile communication system (such as an NR system), or a future-oriented evolution system (such as a 6G mobile communication system). The RAN can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. The RAN can also be a communication system that combines two or more of the above systems.

[0149] In one possible scenario, the access network device can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a 6th generation (6G) mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc. The access network device can also be a macro base station, a micro base station or an indoor station, a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the access network device can also be a server, a wearable device, a vehicle or a vehicle-mounted device, etc. For example, the access network device in vehicle to everything (V2X) technology can be a road side unit (RSU).

[0150] In another possible scenario, a terminal is assisted by multiple RAN nodes to implement wireless access, and different RAN nodes respectively implement part of functions of a base station. For example, a RAN node can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. The CU and the DU can be separately arranged, or can be included in the same network element, for example, a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, for example, included in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0151] In different systems, the CU (or CU-CP and CU-UP), DU or RU can also have different names, but those skilled in the art can understand their meanings. For example, in an ORAN system, the CU can also be referred to as an open central unit (O-CU) or an open CU, the DU can also be referred to as an open distributed unit (O-DU), the CU-CP can also be referred to as an open centralized unit control plane (O-CU-CP), the CU-UP can also be referred to as an open centralized unit user plane (O-CU-UP), and the RU can also be referred to as an open radio unit (O-RU). For the convenience of description, the CU, CU-CP, CU-UP, DU and RU are taken as examples for description in this application. Any one of the CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0152] In the embodiments of this application, the functions of the network device can also be performed by a module (such as a chip) in the network device, or by a control subsystem containing network device functions. The control subsystem containing network device functions herein can be a control center in the above-mentioned application scenarios such as smart grid, industrial control, intelligent transportation, and smart city.

[0153] The terminal device 102, which can also be referred to as a user equipment (UE), a mobile station (MS), a mobile terminal (MT), or the like, is a device that provides voice or data connectivity to a user, and can also be an Internet of Things (IoT) device. For example, the terminal device includes a handheld device having wireless connection capability, a vehicle-mounted device, or the like. Currently, the terminal device can be a mobile phone, a tablet computer, a notebook computer, a palm computer, a mobile Internet device (MID), a wearable device (e.g., a smart watch, a smart bracelet, a pedometer, or the like), a vehicle-mounted device (e.g., a car, a bicycle, an electric vehicle, an airplane, a ship, a train, a high-speed rail, or the like), a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a smart home device (e.g., a refrigerator, a television, an air conditioner, an electricity meter, or the like), a smart robot, a plant device, a wireless terminal in unmanned driving, a wireless terminal in remote surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, or a wireless terminal in a smart home, a flight device (e.g., a smart robot, a hot air balloon, a drone, an airplane), or the like. The terminal device can also be other devices having terminal functions, for example, the terminal device can also be a device that plays a terminal function in device-to-device (D2D) communication. In this application, the terminal device having wireless transceiving function and the chip that can be arranged in the terminal device are collectively referred to as the terminal device.

[0154] In the embodiments of the present application, the functions of the terminal device can also be performed by a module (such as a chip or a modem) in the terminal device, or by a device containing terminal functions.

[0155] The network device and the terminal can be fixed in position or movable. The network device and the terminal can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water surface; and can also be deployed on an airplane, a balloon, and a man-made satellite in the air. The embodiments of the present application do not limit the application scenarios of the network device and the terminal.

[0156] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and (or) c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, where each of a, b, c can be an element itself, or a set containing one or more elements.

[0157] Throughout this application, the terms "exemplary," "in some embodiments," and "in other embodiments" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete manner.

[0158] In this application, the terms "of," "corresponding," and "relevant" may be used interchangeably. It should be noted that, unless the distinction is emphasized, the meanings they convey are the same. In the embodiments of this application, the terms "communication" and "transmission" may be used interchangeably. It should be noted that, unless the distinction is emphasized, the meanings they convey are the same. For example, "transmission" may include "send" and "receive" and may be either a noun or a verb.

[0159] In this application, "indication" may include direct indication, indirect indication, explicit indication, and implicit indication. When describing that a certain indication information is used to indicate A, it can be understood that the indication information carries A, directly indicates A, or indirectly indicates A.

[0160] It should be pointed out that the words "first", "second", etc. involved in the embodiments of the present application are only used for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.

[0161] Currently, the standard encodes ultra-short messages of 3 to 11 bits using ultra-short codes, as shown in Table 1.

[0162] Table 1: Example of an encoding pattern

[0163]

[0164] For example, the sequence before encoding is c0, c1,..., c K-1 , and the sequence of code words after encoding is d0, d1,..., d N-1 , K represents the number of information bits in the sequence before encoding. M i,k is determined according to the basic sequence, as shown in Table 2.

[0165] Table 2: An example of a basic sequence

[0166] i M i,0 ]]> M i,1 ]]> M i,2 ]]> M i,3 ]]> M i,4 ]]> M i,5 ]]> M i,6 ]]> M i,7 ]]> M i,8 ]]> M i,9 ]]> M i,10 ]]> 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 2 1 0 0 1 0 0 1 0 1 1 1 3 1 0 1 1 0 0 0 0 1 0 1 4 1 1 1 1 0 0 0 1 0 0 1 5 1 1 0 0 1 0 1 1 1 0 1 6 1 0 1 0 1 0 1 0 1 1 1 7 1 0 0 1 1 0 0 1 1 0 1 8 1 1 0 1 1 0 0 1 0 1 1 9 1 0 1 1 1 0 1 0 0 1 1 10 1 0 1 0 0 1 1 1 0 1 1 11 1 1 1 0 0 1 1 0 1 0 1 12 1 0 0 1 0 1 0 1 1 1 1 13 1 1 0 1 0 1 0 1 0 1 1 14 1 0 0 0 1 1 0 1 0 0 1 15 1 1 0 0 1 1 1 1 0 1 1 16 1 1 1 0 1 1 1 0 0 1 0 17 1 0 0 1 1 1 0 0 1 0 0 18 1 1 0 1 1 1 1 1 0 0 0 19 1 0 0 0 0 1 1 0 0 0 0 20 1 0 1 0 0 0 1 0 0 0 1 21 1 1 0 1 0 0 0 0 0 1 1 22 1 0 0 0 1 0 0 1 1 0 1 23 1 1 1 0 1 0 0 0 1 1 1 24 1 1 1 1 1 0 1 1 1 1 0 25 1 1 0 0 0 1 1 1 0 0 1 26 1 0 1 1 0 1 0 0 1 1 0 27 1 1 1 1 0 1 0 1 1 1 0 28 1 0 1 0 1 1 1 0 1 0 0 29 1 0 1 1 1 1 1 1 1 0 0 30 1 1 1 1 1 1 1 1 1 1 1 31 1 0 0 0 0 0 0 0 0 0 0

[0167] Table 2 shows a basic sequence of code words after encoding with a length of 32. The above encoding method can be referred to as LTE-RM encoding. In order to facilitate the description, the length of the sequence of code words after encoding will be referred to as the RM mother code length N in the following. Taking N = 32 as an example, when the length of the code word to be transmitted is not equal to N, the following rate matching method can be used.

[0168] 1) When the transmission code length E < N, puncturing from the back to the front according to the order of the code words.

[0169] 2) When the transmission code length E > N, repeating from the front to the back according to the order of the code words.

[0170] Wherein, the transmission code length E is the transmission code length after rate matching of the sequence of code words after encoding, that is, the length of the code word actually transmitted by the sending end.

[0171] For code words using LTE-RM encoding, the receiving end can use a fast Hadamard transform (FHT) decoding method to decode the received code words, as shown in the following steps: Figure 2A

[0172] Step 1) The code word or soft bit information after decision is subjected to interleaving processing.

[0173] Taking E = 19 as an example, the input code word (b0, b1,..., b19) is transformed into: 0...0, b0, b1,..., b19. Wherein, 12 0s are added to the high bits of the received code word, so that the length of the code word sequence becomes 32.

[0174] Step 2) Interleaving processing is performed, and the interleaving transformation process is the same as in step 1). Wherein, 7 basic mask sequences will generate 128 mask vectors. Multiply (mask removal processing) with the received code word processed in step 1), so as to obtain 128 bipolar sequences with a length of 32.

[0175] ​Step 3) performing FHT on the bipolar sequence obtained in step 2) with a 32-order Hadamard matrix to obtain a 128*32 correlation value matrix.

[0176] Step 4) finding the maximum absolute value from the correlation value matrix obtained in step 3), and the binary form of the row number corresponding to the maximum absolute value is the 2nd-6th bit, and the binary form of the column number corresponding to the maximum absolute value is the 7th-13th bit.

[0177] Step 5) the 1st bit is determined according to the actual sign of the maximum absolute value.

[0178] When the actual sign is positive, the 1st bit is translated as 0, and when the actual sign is negative, the 1st bit is translated as 1.

[0179] In the above FHT decoding mode, the decoding complexity is high and the power consumption is large. Referring to Figure 2B , the decoding complexity of the RM code at different code rates is shown. It can be seen that when K is large, the complexity of reaching the maximum likelihood decoding (ML) decoding performance is very high. When K is large, the de-masking needs to enumerate all possible masking sequences, thus leading to a large decoding complexity. In addition, when the transmission code length E is small, the number of puncturing is large, and the RM code may have a performance bad point.

[0180] In view of this, the embodiments of the present application provide an encoding and decoding method. In the method, a sending end obtains a to-be-encoded bit sequence containing K information bits, referred to as a first sequence. The sending end can encode the first sequence. The sending end can encode the first sequence based on a basic sequence, or polar encode the first sequence. The encoding manner adopted by the sending end for the first sequence can be related to the number K of information bits and / or the transmission code length E.

[0181] Taking the communication system shown in Figure 1 as an example, in order to ensure the reliability of communication between devices, the sending end can encode the to-be-sent information, and accordingly, the receiving end decodes the encoded information after receiving the encoded information. As shown in Figure 3The shown encoding and decoding process, the source of the sending end sequentially passes through source encoding, channel encoding, rate matching and modulation, and then sends on the channel. The receiving end receives the signal and sequentially passes through demodulation and rate matching, channel decoding and source decoding to obtain the sink. Among them, the sending end and the receiving end can be network equipment or terminal equipment respectively. It can be understood that in downlink communication, the network equipment is the sending end and the terminal equipment is the receiving end; in uplink communication, the terminal equipment is the sending end and the network equipment is the receiving end. The network equipment can be the sending end or the receiving end. In addition, the application also does not exclude that the sending end and the receiving end are both terminal equipment, at this time the sending end and the receiving end perform D2D communication. The method provided in the embodiment of the application can be used in the channel encoding process.

[0182] As shown in a flowchart of an encoding method. Figure 4 The method can be applied to a first communication device. Among them, the first communication device can be a sending end in the encoding and decoding process as shown in Figure 3 The corresponding, the second communication device can be a receiving end in the encoding and decoding process as shown in Figure 3 Without special explanation, the "first communication device" in the application can refer to the first communication device itself (for example, network equipment, terminal equipment), or the component (for example, processor, chip or chip system, etc.) in the first communication device, or the logic module or software capable of realizing all or part of the function of the first communication device. Similarly, without special explanation, the "second communication device" in the application can refer to the second communication device itself (for example, network equipment, terminal equipment), or the component (for example, processor, chip or chip system, etc.) in the second communication device, or the logic module or software capable of realizing all or part of the function of the second communication device.

[0183] For example, when the first communication device is a terminal device, the second communication device can be a network device, or the second communication device can also be a terminal device; when the first communication device is a network device, the second communication device can be a terminal device, or the second communication device can also be a terminal device. The method comprises:

[0184] S401: The first communication device acquires a first sequence.

[0185] Among them, the first sequence can be a bit sequence to be encoded, and the first sequence includes K information bits. For example, the information bits can be information bits after source encoding.

[0186] S402: The first communication device encodes the first sequence.

[0187] For example, the first communication device can encode the first sequence based on a base sequence, that is, the first communication device can perform RM encoding on the first sequence. For another example, the first communication device can perform polar encoding on the first sequence. It can be understood that the encoding manner of the first communication device on the first sequence can be related to the number K of information bits, and / or can be related to the transmission code length E.

[0188] Case 1: The encoding manner of the first communication device on the first sequence is related to the number K of information bits.

[0189] For example, when K is less than K1 (for example, K is greater than or equal to 3 and less than K1), the first communication device can encode the first sequence based on a base sequence. Wherein K1 is a positive integer less than 11. For example, the encoded code word d is determined based on u and G Wherein c k is an element in the first sequence, M i,k is an element in the base sequence, mod2 represents modulo 2 operation, and N is a positive integer. N can represent the length of the encoded code word sequence, which can also be referred to as the RM mother code length.

[0190] For another example, when K is greater than K1, the first communication device can perform polar encoding on the first sequence. For example, the encoded code word d is determined based on u and G N , u is a vector with a length of N, u includes elements in the first sequence, and G N is a coding matrix of a polar code. For another example, when K is greater than K1, the encoded code word d = uTG N . V is a sequence with a length of N after pre-encoding of u. Optionally, v can not include elements in the first sequence, but is a sequence after pre-encoding of a sequence including elements in the first sequence, and the pre-encoding can be systematic encoding or non-systematic encoding. For another example, when K is greater than K1, the encoded code word d = uTG N . Wherein T is a pre-transformation matrix, for example, T is an upper triangular matrix with a size of N*N.

[0191] It can be understood that when K = K1, the first communication device can encode the first sequence based on a base sequence, or perform polar encoding on the first sequence.

[0192] In a possible implementation, K1 can be determined according to a first-order RM code point. For example, N = 2 nK1 = n + 1. For example, N, n = log2(N), the corresponding first order RM code point is K1 = nchoosek(n, 0) + nchoosek(n, 1). Where the function nchoosek(n, k) represents the combination number of selecting k numbers from n numbers. For example, when N = 32, K1 = 6; when N = 64, K1 = 7; when N = 16, K1 = 5.

[0193] The following is described by taking Tables 3-5 as examples.

[0194] Table 3: An example of an encoding code type

[0195]

[0196] For example, when N = 32, if K is less than (or equal to) 6, the first communication device can encode the first sequence based on the basic sequence, and if K is greater than (or equal to) 6, the first communication device can polar encode the first sequence.

[0197] Table 4: An example of an encoding code type

[0198]

[0199] For example, when N = 64, if K is less than (or equal to) 7, the first communication device can encode the first sequence based on the basic sequence, and if K is greater than (or equal to) 7, the first communication device can polar encode the first sequence.

[0200] Table 5: An example of an encoding code type

[0201]

[0202]

[0203] For example, when N = 16, if K is less than (or equal to) 5, the first communication device can encode the first sequence based on the basic sequence, and if K is greater than (or equal to) 5, the first communication device can polar encode the first sequence.

[0204] Based on the above scheme, when the number of information bits K is less than the first order RM code point, the number of mask sequences during decoding is small, so the complexity of enumerating the mask sequence is small, and therefore RM encoding can be used. When the number of information bits K is greater than the first order RM code point, the number of mask sequences during decoding is large if RM encoding is used, so the complexity of enumerating the mask sequence is also large. Under this condition, if polar encoding is used, the decoding complexity can be reduced, and the existing NR polar code related design can be reused, simplifying the implementation complexity.

[0205] The following introduces the encoding mode of the first communication device to the first sequence in the embodiments of the present application respectively.

[0206] I. The first communication device encodes the first sequence based on the basic sequence.

[0207] Wherein, M i,k may be related to the length N of the RM mother code, that is, the basic sequence may be related to the length N of the RM mother code.

[0208] For example, when N = 32, assuming K1 = 6, the basic sequence can refer to Table 6.

[0209] Table 6: An example of a basic sequence

[0210]

[0211]

[0212] The basic sequence when the number K of information bits contained in the first sequence is less than or equal to 6 is shown in Table 6, N = 32. M i,k in the embodiments of the present application can be determined according to Table 6. 0,0 may be 1, M 0,1 may be 1. For another example, M i,k may be determined according to a table after the interleaving operation based on Table 6, which will not be described again hereinafter.

[0213] When N = 64, assuming K1 = 7, the basic sequence can refer to Table 7.

[0214] Table 7: An example of a basic sequence

[0215]

[0216]

[0217] The basic sequence when the number K of information bits contained in the first sequence is less than or equal to 7 is shown in Table 7, N = 64. For another example, when N = 16, assuming K1 = 5, the basic sequence can refer to Table 8.

[0218] Table 8: An example of a basic sequence

[0219]

[0220]

[0221] The basic sequence when the number K of information bits contained in the first sequence is less than or equal to 5 is shown in Table 8, N = 16.

[0222] It should be noted that the basic sequences are shown in the form of tables (e.g., Tables 6-8). It can be understood that the basic sequences in the tables in the embodiments of the present application are not limited to the form of tables, but can also be expressed in the form of sequences or matrices, which will not be repeatedly described hereinafter.

[0223] In the embodiments of the present application, the basic sequence can be obtained based on a first-order RM code or can be obtained based on a Walsh sequence. Hereinafter, the basic sequence obtained based on a first-order RM code is taken as an example for description.

[0224] For example, if it is desired to generate a first-order RM code word sequence with a length of N=2 m , first, m times of Kronecker product operations are performed according to Mathematically, the Kronecker product is an operation between two matrices of any size, which is expressed as In simple terms, each element of the former matrix is multiplied by the complete matrix of the latter. The m times of Kronecker product operations based on F can be recursively implemented by

[0225] The specific implementation method can be implemented by the following pseudo code

[0226]

[0227] For example, if it is desired to obtain a basic sequence corresponding to a first-order RM code with a length of N=16, (m=4, r=1), first, a basic binary core matrix is obtained, and then a matrix G with a dimension of N is obtained based on the basic binary core matrix

[0228]

[0229]

[0230] The row weights of each row of the G matrix are calculated as 1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 16

[0247] ​The row weight of the second heavy row is determined to be 8, and the row numbers of the rows with a row weight greater than or equal to 8 are taken out and recorded as rows = [8, 12, 14, 15, 16]. The rows [8, 12, 14, 15, 16] in the matrix G are taken out, thereby constructing a basic sequence corresponding to the first-order RM code with a length of N = 16. The 16th row is the column corresponding to Mi,0 in the above N = 16, the 15th row is the column corresponding to Mi,1 in the above N = 16, and so on. The 8th row is the column (the last column in the basic sequence) corresponding to Mi,4 in the above N = 16.

[0248] The basic sequence obtained after interleaving the basic sequence does not affect the error correction capability of the code word after encoding, and therefore the basic sequence can also be interleaved, and then encoding is performed according to the interleaved basic sequence.

[0249] II. The first communication device performs polar encoding on the first sequence.

[0250] For example, the first communication device can perform polar encoding, cyclic redundancy check aid polar (CA-polar) encoding, parity check polar (PC-polar) encoding, or PC-CA-polar encoding on the first sequence, and the present application does not make specific limitations.

[0251] For example, the code word d = u*G after encoding N That is, the first communication device can multiply the vector u and the encoding matrix G of the polar code N to obtain the code word after encoding.

[0252] For another example, the first communication device performs PC-polar encoding on the first sequence. The code word d = uTG after encoding N , and T is a pre-transformation matrix. Wherein, T is an upper triangular matrix of N*N. Here, N = 32 is taken as an example for illustration. The process is as follows:

[0253] Step (1) selects the K positions with the highest reliability in the polar code mother sequence as message bits, and the remaining positions as frozen bits. And map to the message bits, and the remaining 32-K positions are set to 0, to obtain the sequence

[0254] Step (2) multiplies the sequence and the upper triangular matrix T to obtain the sequence after upper triangular pre-transformation

[0255] Wherein, T is a 32*32 upper triangular matrix, which can be like Figure 5A or Figure 5Bas shown.

[0256] Step (3) polar encodes the pre-transformed sequence to obtain the final codeword sequence

[0257] In step (3) above, the first communication device can multiply the sequence by the encoding matrix G N of the polar code, where G N is the 5th Kronecker product of G2. Herein,

[0258] It can be understood that the polar encoding operation performed by the first communication device on the first sequence is performed in the binary field. In addition, it should be noted that the above two polar encoding modes are only shown as examples, and the first communication device can also use other types of polar encoding modes to encode the first sequence, which is not limited in the present application.

[0259] Referring to Figure 6 , the performance gain of encoding the different number of information bits K using the encoding mode provided in the embodiments of the present application relative to the LTE-RM encoding mode is shown when the RM mother code length N = 32. Figure 6 In the figure, the horizontal axis is the ratio of signal power to noise power EsNo, and the vertical axis is the block error rate (BLER). Figure 6 In the figure, the polar encoding mode in the encoding mode provided in the embodiments of the present application is taken as an example of nested PC-polar encoding. Figure 6 In the figure, the curves from left to right correspond to K = 3, K = 4, K = 5, and so on. The rightmost curve corresponds to K = 11.

[0260] From Figure 6 , it can be seen that when K is greater than 6, the encoding mode provided in the embodiments of the present application has little effect on the error correction performance relative to the LTE-RM encoding, and can even have better error correction performance. However, in the encoding mode provided in the embodiments of the present application, when K is greater than 6, the decoding complexity is relatively low.

[0261] Case 2: The encoding mode of the first communication device on the first sequence is related to the transmission code length E.

[0262] For example, when the transmission code length E corresponding to the first sequence is less than E1, the first communication device polar encodes the first sequence. For another example, when the transmission code length E corresponding to the first sequence is greater than E1, the first communication device encodes the first sequence based on the base sequence. Herein, E1 is a positive integer.

[0263] It can be understood that, when E = E1, the first communication device can encode the first sequence based on the base sequence, or polar encode the first sequence.

[0264] In case 2, the base sequence can be as shown in Table 2, or can also be as shown in the base sequence in case 1, which is not described here in detail. Similarly, the manner in which the first communication device polar encodes the first sequence can refer to the manner in which the first sequence is polar encoded in case 1, which is not described here in detail.

[0265] In a possible implementation, E1 can be determined according to one or more of a physical uplink control channel (PUCCH) format, a modulation order, a proportion of a demodulation reference signal (DMRS) occupying available physical resources, or a performance factor.

[0266] In a possible case, E1 can be related to the number K of information bits in the first sequence. For example, when K = 11, E1 = 18; for another example, when K = 10, E1 = 11; for another example, when K = 9, E1 = 11; for another example, when K = 8, E1 = 11; for another example, when K = 7, E1 = 11; for another example, when K = 6, E1 = 12.

[0267] In another possible case, E1 can be a fixed value, such as 11, 12, 20, or 24, etc. In this case, E1 can be independent of K.

[0268] Based on the above case 2, when the first communication device encodes the first sequence, the encoding manner can be determined by the transmission code length E, so that the performance bad point caused by rate matching can be reduced.

[0269] Case 3: The encoding manner of the first communication device for the first sequence is related to the number K of information bits and the transmission code length E.

[0270] In a possible implementation, when K is less than (or equal to) K1 and the transmission code length E is greater than or equal to a first value, the first communication device can encode the first sequence based on the base sequence; when K is less than (or equal to) K1 and the transmission code length E is less than the first value, the first communication device polar encodes the first sequence. It can be understood that the first value can be a predefined positive integer, such as 18, 19, or 20, etc., which is not limited in the present application.

[0271] For example, K1 can refer to that shown in case 1, and E1 can refer to that shown in case 2, which is not described here in detail.

[0272] Based on the above scheme, the embodiment of the present application can avoid performance degradation as much as possible, adopt RM coding when the number of information bits is small, and adopt polar coding when the number of information bits is large, thereby reducing decoding complexity.

[0273] After the first communication device performs polar encoding on the first sequence, a codeword sequence may be obtained. The first communication device may perform rate matching on the codeword sequence based on the transmission code length E to obtain a second sequence. The length of the second sequence may be the transmission code length E. The transmission code length E may be the actual transmission code length of the codeword sequence transmitted between the first communication device and the second communication device, or in other words, the transmission code length E is the transmission code length after rate matching is performed on the first sequence after parity check polarization encoding, where E is an integer greater than 0.

[0274] Optionally, the first communication device may send a second sequence to the second communication device.

[0275] The present application also provides a decoding method. Figure 7 , is an exemplary flow chart of a decoding method provided in an embodiment of the present application. The method can be applied to a second communication device. The second communication device can be Figure 3 The receiving end in the encoding and decoding process shown. Exemplarily, when the first communication device is a terminal device or a module (such as a chip) in a terminal device, the second communication device can be a terminal device or a module (such as a chip) in a terminal device, or the second communication device can also be a network device or a module (such as a chip) in a network device; when the first communication device is a network device or a module (such as a chip) in a network device, the second communication device can be a module (such as a chip) in a terminal device. The method includes:

[0276] S701: The second communication device obtains a second sequence.

[0277] For example, the second communication device may receive a second sequence from the first communication device. The second sequence may refer to the description of the second sequence generated by the first communication device, which is not further described here. Exemplarily, the second sequence is the sequence to be decoded obtained by the second communication device after encoding, rate matching, modulation, frequency conversion, and other operations are performed on the first sequence sent by the first communication device and passed through a wireless transmission environment. The first sequence may refer to the description of the first sequence obtained by the first communication device, which is not further described here.

[0278] S702: The second communication device decodes the second sequence.

[0279] At S702, the second communication device can decode the second sequence to obtain the K information bits. For example, the second communication device can perform FHT decoding on the second sequence. For another example, the second communication device can perform polar decoding on the second sequence, or in other words, perform decoding based on successive cancellation (SC) on the second sequence, such as successive cancellation list (SCL) decoding.

[0280] In a possible implementation, when the first communication device encodes the first sequence based on the base sequence, the second communication device can perform FHT decoding on the second sequence. For example, when K is less than (or equal to) K1, the second communication device can perform FHT decoding on the second sequence. K1 can refer to the description in case 1 and will not be repeated. For another example, when the transmission code length E is greater than (or equal to) E1, the second communication device can perform FHT decoding on the second sequence. E1 can refer to the description in case 2 and will not be repeated.

[0281] The process of FHT decoding can refer to the description in Figure 2A .

[0282] In another possible implementation, when the first communication device polar encodes the first sequence, the second communication device can perform polar decoding on the second sequence. For example, when K is greater than (or equal to) K1, the second communication device can perform polar decoding on the second sequence. K1 can refer to the description in case 1 and will not be repeated. For another example, when the transmission code length E is less than (or equal to) E1, the second communication device can perform polar decoding on the second sequence. E1 can refer to the description in case 2 and will not be repeated.

[0283] It can be understood that the polar decoding can refer to the related manner in NR, and the present application will not be limited.

[0284] Based on the above-described embodiments, referring to Figure 8 , the embodiments of the present application provide a communication device 800, which comprises a processing unit 801 and a transceiver unit 802. The device 800 can be a communication device, or can be a device applied to a communication device, which can support the communication device to perform the encoding and decoding method.

[0285] The transceiving unit can also be referred to as a transceiving module, a transceiver, a transceiving machine, a transceiving device, etc. The processing unit can also be referred to as a processor, a processing board, a processing unit, a processing device, etc. Optionally, a device for implementing a receiving function in the transceiving unit can be regarded as a receiving unit. It should be understood that the transceiving unit is used to perform the transmitting operation and the receiving operation of the communication device in the above method embodiments, and a device for implementing a transmitting function in the transceiving unit can be regarded as a transmitting unit, that is, the transceiving unit includes the receiving unit and the transmitting unit.

[0286] In addition, it should be noted that if the device is implemented by a chip / chip circuit, the transceiving unit can be an input / output circuit and / or a communication interface, and performs an input operation (corresponding to the above receiving operation) and an output operation (corresponding to the above transmitting operation); the processing unit is an integrated processor or a microprocessor or an integrated circuit.

[0287] The following describes in detail the embodiments in which the device 800 is applied to a transmitting end and a receiving end.

[0288] For example, when the device 800 is applied to a transmitting end, the operations performed by each unit of the device 800 are described in detail.

[0289] In an optional embodiment, the communication device 800 can be applied to a transmitting end, and perform the method performed by the transmitting end, for example, the method performed by the transmitting end in the above embodiment. Figure 4 The method performed by the transmitting end in the embodiment shown in the above embodiment.

[0290] For example, the processing unit 801 is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence including K information bits. The processing unit 801 is further configured to encode the first sequence. If K is less than or equal to K1, the first sequence is encoded based on a base sequence, and a code word after encoding is c k an element in the first sequence, and M i,k an element in the base sequence. Alternatively, if K is greater than K1, the first sequence is polar encoded, and a code word after encoding is determined based on u and G N , u is a vector with a length of N, u includes elements in the first sequence, G N is a coding matrix of a polar code, and N is a positive integer. K1 is a positive integer less than 11. The transceiving unit 802 is configured to transmit a signal carrying a second sequence.

[0291] For another example, the processing unit 801 is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence including K information bits. The processing unit 801 is further configured to encode the first sequence. If a transmission code length corresponding to the first sequence is greater than or equal to a first value, the first sequence is encoded based on a base sequence, and a code word after encoding is ck is an element in the first sequence, M i,k is an element in the basic sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the first sequence is polar encoded, and the encoded codeword is based on u and G N is determined, u is a vector of length N, u includes elements in the first sequence, G N is a coding matrix of the polar code, and N is a positive integer. The transceiver unit 802 is configured to receive a signal carrying the second sequence.

[0292] For example, when the apparatus 800 is applied to a receiving end, the operations performed by the units of the apparatus 800 are described in detail.

[0293] In an alternative implementation, the communication apparatus 800 can be applied to a receiving end to perform the method performed by the receiving end, for example, the method performed by the receiving end in the foregoing Figure 7 embodiment.

[0294] For example, the transceiver unit 802 is configured to receive a signal carrying the second sequence. The processing unit 801 is configured to obtain the second sequence, which is encoded from the first sequence, and the first sequence includes K information bits. If K is less than or equal to K1, the second sequence is encoded from the first sequence by a basic sequence, and an element in the second sequence is determined by c k is an element in the first sequence, M i,k is an element in the basic sequence. Alternatively, if K is greater than K1, the second sequence is polar encoded from the first sequence, and the second sequence is based on u and G N is determined, u is a vector of length N, u includes elements in the first sequence, G N is a coding matrix of the polar code, and N is a positive integer. K1 is a positive integer less than 11. The processing unit 801 is further configured to decode the second sequence to obtain the K information bits.

[0295] For example, the transceiver unit 802 is configured to receive a signal carrying the second sequence. The processing unit 801 is configured to obtain the second sequence, which is encoded from the first sequence, and the first sequence includes K information bits. If the transmission code length corresponding to the first sequence is greater than or equal to the first value, the second sequence is encoded from the first sequence by a basic sequence, and an element in the second sequence is determined by c k is an element in the first sequence, M i,k is an element in the basic sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the second sequence is polar encoded from the first sequence, and the second sequence is based on u and G N is determined, u is a vector of length N, u includes elements in the first sequence, GN is a polar code, and N is a positive integer. The processing unit 801 is further configured to decode the second sequence to obtain the K information bits.

[0296] Based on the idea of the embodiments, as shown in Figure 9 The embodiments of the present application provide a communication apparatus 900. The communication apparatus 900 includes a processor 910. Optionally, the communication apparatus 900 further includes a memory 920, which is configured to store instructions executed by the processor 910 or store input data required by the processor 910 to run instructions or store data generated after the processor 910 runs instructions. The processor 910 can realize the method shown in the method embodiments of the present application by the instructions stored in the memory 920.

[0297] Based on the idea of the embodiments, as shown in Figure 10 The embodiments of the present application provide a communication apparatus 1000, which can be a chip or a chip system. Optionally, in the embodiments of the present application, the chip system can be composed of a chip or can include a chip and other discrete devices.

[0298] The communication apparatus 1000 can include at least one processor 1010 coupled with a memory. Optionally, the memory can be located in the apparatus or outside the apparatus. For example, the communication apparatus 1000 further includes at least one memory 1020. The memory 1020 stores necessary computer programs, configuration information, computer programs or instructions and / or data in any of the embodiments described above; the processor 1010 can execute the computer programs stored in the memory 1020 to complete the method in any of the embodiments described above. Optionally, the memory can also be integrated with the processor.

[0299] The coupling in the embodiments of the present application is indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information interaction between devices, units or modules. The processor 1010 can operate in cooperation with the memory 1020. The specific connection medium between the transceiver 1030, the processor 1010 and the memory 1020 is not limited in the embodiments of the present application.

[0300] The communication apparatus 1000 can further include a transceiver 1030, and the communication apparatus 1000 can interact with other devices through the transceiver 1030. The transceiver 1030 can be a circuit, a bus, a transceiver or any other device that can be used for information interaction, or a signal transceiving unit. As shown in Figure 10As shown, the transceiver 1030 includes a transmitter 1031, a receiver 1032, and an antenna 1033. In addition, when the communication device 1000 is a chip-type device or circuit, the transceiver in the communication device 1000 can also be an input-output circuit and / or a communication interface, which can input (or receive) data and output (or send) data, and the processor can be an integrated processor or microprocessor or integrated circuit, which can determine output data according to input data.

[0301] In a possible implementation, the communication device 1000 can be applied to a communication device, and specifically, the communication device 1000 can be a communication device or a device capable of supporting a communication device, and can implement the functions of a sending end or a receiving end in any of the above-described embodiments. The memory 1020 stores necessary computer programs, computer programs or instructions, and / or data for implementing the functions of a sending end or a receiving end in any of the above-described embodiments. The processor 1010 can execute the computer programs stored in the memory 1020 to complete the methods performed by a sending end or a receiving end in any of the above-described embodiments.

[0302] In the embodiments of the present application, the processor can be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in combination with the embodiments of the present application can be directly embodied as hardware processor execution, or executed by a combination of hardware and software modules in the processor.

[0303] In the embodiments of the present application, the memory can be a non-volatile memory such as a hard disk drive (HDD) or a solid-state drive (SSD), and can also be a volatile memory such as a random-access memory (RAM). The memory can also be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by a computer, but is not limited to this. The memory in the embodiments of the present application can also be a circuit or any other device capable of implementing a storage function, for storing computer programs, computer programs or instructions, and / or data.

[0304] Based on the above embodiments, refer to Figure 11The embodiment of the present application further provides another communication device 1100, comprising: an input / output interface 1110 and a logic circuit 1120; the input / output interface 1110 is configured to receive code instructions and transmit the code instructions to the logic circuit 1120; and the logic circuit 1120 is configured to run the code instructions to perform the method executed by the sending end or the receiving end in any of the above embodiments.

[0305] The operation of the device 1100 applied to the sending end or the receiving end is described in detail below.

[0306] In an optional implementation, the communication device 1100 can be applied to the sending end to perform the method executed by the sending end, for example, the method executed by the sending end in the above embodiment. Figure 4

[0307] For example, the logic circuit 1120 is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence comprising K information bits. The logic circuit 1120 is further configured to encode the first sequence. If K is less than or equal to K1, the first sequence is encoded based on a base sequence, and a code word after encoding is determined by M c k , which is an element in the first sequence, and M i,k , which is an element in the base sequence. Alternatively, if K is greater than K1, the first sequence is polar encoded, and a code word after encoding is determined based on u and G N , u being a vector with a length of N, u comprising elements in the first sequence, G N being a coding matrix of a polar code, and N being a positive integer. K1 is a positive integer less than 11. The input / output interface 1110 is configured to output a signal carrying a second sequence.

[0308] For another example, the logic circuit 1120 is configured to obtain a first sequence, the first sequence being a bit sequence to be encoded, and the first sequence comprising K information bits. The logic circuit 1120 is further configured to encode the first sequence. If a transmission code length corresponding to the first sequence is greater than or equal to a first value, the first sequence is encoded based on a base sequence, and a code word after encoding is determined by M c k , which is an element in the first sequence, and M i,k , which is an element in the base sequence. Alternatively, if the transmission code length corresponding to the first sequence is less than the first value, the first sequence is polar encoded, and a code word after encoding is determined based on u and G N , u being a vector with a length of N, u comprising elements in the first sequence, G N being a coding matrix of a polar code, and N being a positive integer. The input / output interface 1110 is configured to output a signal carrying a second sequence.

[0309] ​The communication apparatus 1100 provided in the embodiment can be applied to a sending end to perform the method performed by the sending end. Therefore, the technical effects that can be achieved by the communication apparatus 1100 can refer to the method embodiments, which will not be repeated here.

[0310] In an optional implementation, the communication apparatus 1100 can be applied to a receiving end to perform the method performed by the receiving end, for example, the method performed by the receiving end in the embodiment shown in the foregoing Figure 7 .

[0311] For example, the input / output interface 1110 is configured to input a signal carrying a second sequence. The logic circuit 1120 is configured to obtain the second sequence, the second sequence being encoded from a first sequence, the first sequence including K information bits. If K is less than or equal to K1, the second sequence is encoded from the first sequence by a base sequence, an element in the second sequence being an element in the first sequence, and M being an element in the base sequence. c k If K is greater than K1, the second sequence is polar encoded from the first sequence, the second sequence being determined based on u and G, u being a vector of length N, u including elements in the first sequence, and G being a coding matrix of a polar code, N being a positive integer. K1 is a positive integer less than 11. The logic circuit 1120 is further configured to decode the second sequence to obtain the K information bits. i,k N N k i,k N N

[0312] For another example, the input / output interface 1110 is configured to input a signal carrying a second sequence. The logic circuit 1120 is configured to obtain the second sequence, the second sequence being encoded from a first sequence, the first sequence including K information bits. If a transmission code length corresponding to the first sequence is greater than or equal to a first value, the second sequence is encoded from the first sequence by a base sequence, an element in the second sequence being an element in the first sequence, and M being an element in the base sequence. c k If the transmission code length corresponding to the first sequence is less than the first value, the second sequence is polar encoded from the first sequence, the second sequence being determined based on u and G, u being a vector of length N, u including elements in the first sequence, and G being a coding matrix of a polar code, N being a positive integer. The logic circuit 1120 is further configured to decode the second sequence to obtain the K information bits. i,k N N

[0313] The communication apparatus 1100 provided in the embodiment can be applied to a receiving end to perform the method performed by the receiving end. Therefore, the technical effects that can be achieved by the communication apparatus 1100 can refer to the method embodiments, which will not be repeated here.​​

[0314] Based on the above embodiments, the embodiments of the present application further provide a communication system, which comprises at least one receiving end and at least one sending end. The technical effects that can be achieved can refer to the above method embodiments, which will not be described herein again.

[0315] Based on the above embodiments, the embodiments of the present application further provide a computer readable storage medium, which stores computer programs or instructions, when the instructions are executed, the method performed by the communication device in any of the above embodiments is implemented. The computer readable storage medium can include: a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk, and various media that can store program codes.

[0316] In order to realize the functions of the communication device described above Figures 8-11 , the embodiments of the present application further provide a chip, which comprises a processor, and is used for supporting the communication device to realize the functions involved by the sending end or the receiving end in the above method embodiments. In a possible design, the chip is connected with a memory or the chip comprises a memory, and the memory is used for storing the computer programs or instructions and data necessary for the sending end or the receiving end.

[0317] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can adopt a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt a computer program product in the form of being implemented on one or more computer usable storage media (including but not limited to a disk memory, a CD-ROM, an optical memory, etc.) containing computer usable program codes.

[0318] The present application is described with reference to flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer programs or instructions. These computer programs or instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to produce a machine, so that the instructions executed by the computer or other programmable data processing devices produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one flow or multiple flows and / or blocks Figure 1 The functions specified in one flow or multiple flows and / or blocks

[0319] These computer programs (also known as programs, software, software applications programs, applications, components, library modules, objects, binaries, shared libraries, dll's, drivers, or the like) include computer instructions that can be executed by the operating system (OS) or a more specific application or programs. Figure 1 instructions that implement the functions specified in flowchart Figure 1 block or blocks.

[0320] These computer programs (also known as programs, software, software applications programs, applications, components, library modules, objects, binaries, shared libraries, dll's, drivers, or the like) include computer instructions that can be executed by the operating system (OS) or a more specific application or programs. Figure 1 instructions that implement the functions specified in flowchart Figure 1 block or blocks.

Claims

1. An encoding method characterized by, The method comprises: acquiring a first sequence, the first sequence being a bit sequence to be encoded, the first sequence comprising K information bits; encoding the first sequence; wherein if the K is less than or equal to K1, encoding the first sequence based on a base sequence, the encoded codeword c k is an element in the first sequence, M i,k is an element in the base sequence; or, if the K is greater than K1, polar encoding the first sequence, the encoded codeword being based on u and G N determined, the u being a vector of length N, N being a positive integer, the u including elements in the first sequence, the G N being a coding matrix of a polar code; the K1 being a positive integer less than 11.

2. The method of claim 1, wherein, For N = 32, the M i,k Based on the following table: 。 3. The method of claim 1, wherein, For N = 64, the M i,k Based on the following table:

4. The method of claim 1, wherein, For N = 16, the M i,k Based on the following table: 。 5. The method according to any one of claims 2 to 4, characterized in that, The M i,k The table after row interleaving is determined according to the table.

6. The method of claim 1, wherein, corresponding to said K being greater than K1, said encoded code word d = uTG N ; wherein T is a pre-transformation matrix.

7. The method of claim 1, wherein, corresponding to said K being greater than K1, said encoded code word d = u*G N .

8. The method according to any one of claims 1 to 7, characterized in that, when N=32, K1 is 6.

9. The method according to any one of claims 1 to 7, characterized in that, when N=64, K1 is 7.

10. The method according to any one of claims 1 to 7, characterized in that, when N=16, K1 is 5.

11. The method according to any one of claims 1 to 7, characterized in that, The N = 2 n n is a positive integer less than or equal to 3 or n is a positive integer greater than or equal to 7, and the K1 = n + 1.

12. The method of claim 1, wherein, corresponding to K being less than or equal to K1 and a transmission code length E corresponding to the first sequence being greater than or equal to a first value, the second sequence is obtained by encoding the first sequence based on the basic sequence; or, corresponding to K being greater than K1 and the transmission code length E corresponding to the first sequence being less than the first value, the second sequence is obtained by polar encoding the first sequence.

13. The method according to any one of claims 1 to 12, characterized in that, K1 is determined according to a first Reed Muller (RM) code point.

14. The method of any one of claims 1-13, wherein, The basic sequence is obtained based on a first RM code or based on a Walsh sequence.

15. A decoding method, comprising: The method comprises: obtaining a second sequence, the second sequence being encoded by a first sequence, the first sequence comprising K information bits; wherein, if the K is less than or equal to K1, the second sequence is encoded by a base sequence on the first sequence, elements in the second sequence c k are elements in the first sequence, M i,k is an element in the base sequence; or, if the K is greater than K1, the second sequence is polar encoded by the first sequence, the second sequence being determined based on u and G N , the u being a vector with a length of N, the u comprising elements in the first sequence, the G N being a coding matrix of a polar code, N being a positive integer; the K1 being a positive integer less than 11; decoding the second sequence to obtain the K information bits.

16. The method of claim 15, wherein, The decoding the second sequence to obtain the K information bits comprises: if K is less than or equal to K1, performing FHT decoding on the second sequence; or, if K is greater than K1, performing polar decoding on the second sequence.

17. The method of claim 15 or 16, wherein, For N = 32, the M i,k Based on the following table:

18. The method of claim 15 or 16, wherein, For N = 64, the M i,k Based on the following table:

19. The method of claim 15 or 16, wherein, For N = 16, the M i,k Based on the following table:

20. The method of any one of claims 16-19, wherein, The M i,k The table after row interleaving is determined according to the table.

21. The method of claim 15, wherein, corresponding to said K being greater than K1, said second sequence d = uTG N ; where T is a pre-transformation matrix.

22. The method of claim 15, wherein, corresponding to said K being greater than K1, said encoded code word d = u*G N .

23. The method of any one of claims 15-22, wherein, when N=32, K1 is 6.

24. The method of any one of claims 15-22, wherein, when N=64, K1 is 7.

25. The method of any one of claims 15-22, wherein, when N=16, K1 is 5.

26. The method of any one of claims 15-22, wherein, The N = 2 n n is a positive integer less than or equal to 3 or n is a positive integer greater than or equal to 7, and the K1 = n + 1.

27. The method of claim 15, wherein, corresponding to K being less than or equal to K1 and a transmission code length E corresponding to the first sequence being greater than or equal to a first value, the second sequence is obtained by encoding the first sequence based on the basic sequence; or, corresponding to K being greater than K1 and the transmission code length E corresponding to the first sequence being less than the first value, the second sequence is obtained by polar encoding the first sequence.

28. The method of any one of claims 15-23, wherein, K1 is determined according to a first Reed Muller (RM) code point.

29. The method of any one of claims 15-24, wherein, The basic sequence is obtained based on a first RM code or based on a Walsh sequence.

30. A communications device, characterized by The method comprises: a processor coupled to a memory, the memory being configured to store programs or instructions, when the programs or instructions are executed by the processor, the apparatus executes the method in any one of claims 1-14, or the apparatus executes the method in any one of claims 15-29.

31. A chip system, characterized by The chip system comprises: a communication interface; a processor configured to call and run the instructions through the communication interface, so that the device installed with the chip system executes the method in any one of claims 1-14, or the device installed with the chip system executes the method in any one of claims 15-29.

32. A computer-readable storage medium, comprising: The computer readable storage medium stores computer executable instructions, when the computer executable instructions are called by an electronic device, the electronic device executes the method in any one of claims 1-14, or the electronic device executes the method in any one of claims 15-29.

33. A computer program product, characterised in that, The computer executable instructions, when running on a computer, make the computer execute the method in any one of claims 1-14, or make the electronic device execute the method in any one of claims 15-29.