Encoding method and apparatus, and decoding method and apparatus

By using polarization coding and decoding methods, and selecting high-reliability locations to place parity bits, combined with interleaving and rate matching, the problems of single coding methods and high hardware costs in new wireless systems are solved, achieving efficient and low-cost coding and decoding effects.

WO2025252031A1PCT designated stage Publication Date: 2025-12-11HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/098438
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-03
Filing Date
2025-05-30
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

In new wireless systems, existing coding methods lack diversity when the number of information bits is in the range of 3 to 11 bits, and the hardware implementation cost is high. In particular, when the number of information bits is greater than 11 bits, the decoding method is complex and difficult to decode efficiently.

Method used

The polar coding method is adopted to polarize the information bit sequence. The encoding matrix GN of the polar code is used for encoding and decoding. By selecting high reliability positions to place parity check bits, and combining interleaving and rate matching, the hardware design cost is reduced.

Benefits of technology

This approach achieves cost savings in chip design across different information bit lengths, while simultaneously improving the efficiency and reliability of encoding and decoding, and reducing the complexity of hardware implementation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025098438_11122025_PF_FP_ABST
    Figure CN2025098438_11122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of wireless communications, and provides an encoding method and apparatus, and a decoding method and apparatus. The encoding method comprises: a 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 performs polar encoding on the first sequence, an encoded codeword being determined on the basis of u and GN, u being a vector having a length of N, u comprising elements in the first sequence, GN being an encoding matrix of a polar code, GN being generated on the basis of G2, and N being a positive integer, wherein K is less than or equal to K1, K1=n+1, and n=log2N; and the first communication device outputs the encoded codeword. On the basis of the solution, the present application provides an alternative choice of encoding manner, and polar encoding has been implemented by related hardware. The encoding method provided by the present application can use existing polar encoding, thereby saving chip design costs.
Need to check novelty before this filing date? Find Prior Art

Description

An encoding and decoding method and device

[0001] Cross-reference to Related Applications

[0002] This application claims priority to the Chinese Patent Application No. 202410712379.2, filed on June 3, 2024, and entitled "An encoding and decoding method and device", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application relates to the technical field of wireless communication, and in particular to an encoding and decoding method and device. BACKGROUND

[0004] At present, in a new radio (NR) system, when the number of information bits is in the range of 3-11 bits, a super-short code encoding is used, such as Reed-Muller (RM) code encoding. When decoding, the receiving end can use fast Hadamard transform (FHT) decoding. When the number of information bits is greater than 11 bits, a polar encoding is used. When decoding, the receiving end can use decoding based on successive cancellation (SC), such as successive cancellation list (SCL) decoding. SUMMARY

[0005] The present application provides an encoding and decoding method and device, and provides selection of another encoding method.

[0006] In a first aspect, an encoding method is provided. The method can be performed by a first communication device. In the absence of special description, the "first communication device" in the present application can refer to the first communication device itself (for example, a network device, a terminal device), a component (for example, a processor, a chip or a chip system, etc.) 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 performs polar encoding on the first sequence, and the encoded codeword is based on u and G N determined, 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 G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The first communication device outputs the encoded code word.

[0007] Based on the above scheme, the application provides a selection of different encoding modes, and the current polar encoding has related hardware implementation. The encoding method provided by the application can use the existing polar encoding, thereby saving the design cost of chips.

[0008] In a possible implementation, when N = 32, K1 is 6.

[0009] In a possible implementation, when N = 64, K1 is 7.

[0010] In a possible implementation, when N = 16, K1 is 5.

[0011] Based on the above different implementations, the application provides the value of K1 when the length N of the encoded sequence is different.

[0012] In a possible implementation, the first sequence includes cyclic redundancy check (CRC) bits, and the number of CRC bits is zero. Based on the above scheme, when the number of CRC bits in the first sequence is zero, the polar encoding mode of NR can be used, thereby saving the design cost of chips and related hardware.

[0013] In a possible implementation, the first sequence includes parity check (PC) bits, and the number of PC bits is zero. Based on the above scheme, when the number of PC bits in the first sequence is zero, the modification of PC equations and PC polynomials can be avoided, and the polar encoding mode of NR can be used, thereby saving the design cost of chips and related hardware.

[0014] In a possible implementation, the first sequence includes PC bits, and the number of PC bits is related to K. When K is less than K1, the number of PC bits is K1-K. Alternatively, when K is less than K1, the number of PC bits is 1. Based on the above scheme, the first sequence includes PC bits, thereby improving the error correction capability through the PC bits while not losing the transmission performance.

[0015] In a possible implementation, the first communication device determines the positions of the K information bits in the first sequence and the positions of the PC bits in the first sequence. The reliability corresponding to the position of the PC bits is higher than the reliability corresponding to the position of at least one of the K information bits. For example, the number of PC bits is

[0016] ​In a possible implementation, the first communication device selects a position with the lowest reliability from the positions in the set as the position of the PC bit, and the number of PC bits is . Wherein, is a position index in a mother code sequence with a length of N, contains K+n PC position indexes.

[0017] Based on the different implementations described above, the embodiment of the application provides a different method for determining the position of the PC bit.

[0018] In a possible implementation, the first communication device interleaves the code word based on the interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0019] In the table, i represents the number of the code word after interleaving, and P(i) represents the number of the code word before interleaving.

[0020] Based on the above scheme, the interleaving sequence is obtained through the correspondence between the encoding matrix of the polar code and the basic sequence, so that the code word after encoding is interleaved through the first interleaving sequence, and the rate matching mode in NR can be reused.

[0021] In a possible implementation, the first communication device interleaves the code word based on the interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0022] In the table, i represents the number of the code word after interleaving, and P(i) represents the number of the code word before interleaving.

[0023] Based on the above scheme, the code word after encoding is interleaved based on the above interleaving sequence, and the performance loss caused by puncturing can be reduced when rate matching.

[0024] In a possible implementation, the interleaving sequence is obtained based on the table interleaving.

[0025] In a possible implementation, the first communication device performs rate matching on the interleaved code word. If the transmission code length E of the first sequence is less than N, the interleaved code word is punctured. Or, if the transmission code length E of the first sequence is greater than N, the interleaved code word is repeated.

[0026] In a possible implementation, the interleaving sequence is obtained based on the basic sequence and the encoding matrix of the polar code.

[0027] In a possible implementation, K1 is determined according to a first-order Reed Muller (RM) code point.​

[0028] In a second aspect, a decoding method is provided. The method can be performed by a second communication device. In the absence of specific statements, the second communication device in the present application can refer to the second communication device itself (for example, a network device, a terminal device), a component (for example, a processor, a chip or a chip system, etc.) 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 comprises: obtaining, by the second communication device, a second sequence, the second sequence being obtained by polar encoding of a first sequence, the first sequence comprising K information bits. The second sequence is based on u and G N determined, 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, G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1=n+1, and n=log2N. The second communication device performs polar decoding on the second sequence.

[0029] In a possible implementation, when N=32, K1 is 6.

[0030] In a possible implementation, when N=64, K1 is 7.

[0031] In a possible implementation, when N=16, K1 is 5.

[0032] In a possible implementation, the first sequence comprises CRC bits, and the number of CRC bits is zero.

[0033] In a possible implementation, the first sequence comprises PC bits, and the number of PC bits is zero.

[0034] In a possible implementation, the first sequence comprises PC bits, and the number of PC bits is related to K. When K is less than K1, the number of PC bits is K1-K. Alternatively, when K is less than K1, the number of PC bits is 1.

[0035] In a possible implementation, the position of the PC bits in the first sequence corresponds to a reliability higher than the reliability corresponding to the position of at least one of the K information bits. For example, the number of PC bits is .

[0036] In a possible implementation, the position of the PC bits in the first sequence is the position with the lowest reliability among the N positions, and the number of PC bits is . is a position index in a mother code sequence with a length of N. K+n PC position index.

[0037] In a possible implementation, the second communication device deinterleaves the second sequence based on an interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0038] In the table, i represents the number of the interleaved codeword, and P(i) represents the number of the deinterleaved codeword.

[0039] In a possible implementation, the second communication device deinterleaves the second sequence based on an interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0040] In the table, i represents the number of the interleaved codeword, and P(i) represents the number of the deinterleaved codeword.

[0041] In a possible implementation, the interleaving sequence is obtained based on a table interleaving sequence.

[0042] In a possible implementation, if the transmission code length E of the first sequence is less than N, the second sequence is obtained by puncturing the polar coded first sequence. Alternatively, if the transmission code length E of the second sequence is greater than N, the second sequence is obtained by repeating the polar coded first sequence.

[0043] In a possible implementation, the interleaving sequence is obtained based on a basic sequence and a coding matrix of the polar code.

[0044] In a possible implementation, K1 is determined according to a first-order Reed Muller (RM) code point.

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

[0046] 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 perform polar coding on the first sequence, and a coded codeword is 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 the polar code, and G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1=n+1, and n=log2N. The transceiver unit is configured to output the coded codeword.

[0047] In a possible implementation, when N=32, K1 is 6.

[0048] In a possible implementation, when N=64, K1 is 7.

[0049] In a possible implementation, when N=16, K1 is 5.

[0050] In a possible implementation, the first sequence includes CRC bits, and the number of the CRC bits is zero.

[0051] In a possible implementation, the first sequence includes PC bits, and the number of the PC bits is zero.

[0052] In a possible implementation, the first sequence includes PC bits, and the number of the PC bits is related to K. When K is less than K1, the number of the PC bits is K1-K. Alternatively, when K is less than K1, the number of the PC bits is 1.

[0053] In a possible implementation, the processing unit is specifically configured to determine the positions of the K information bits in the first sequence and the position of the PC bits in the first sequence. The position of the PC bits corresponds to a reliability higher than that of at least one of the positions of the K information bits. For example, the number of the PC bits is .

[0054] In a possible implementation, the processing unit is specifically configured to: select, from , a position with the lowest reliability as the position of the PC bits, and the number of the PC bits is . Wherein is a position index in the mother sequence with a length of N, contains K+n PC position indexes.

[0055] In a possible implementation, the processing unit is further configured to: interleave the code word based on an interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0056] In the table, i represents the number of the code word after interleaving, and P(i) represents the number of the code word before interleaving.

[0057] In a possible implementation, the processing unit is further configured to: interleave the code word based on an interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0058] In the table, i represents the number of the code word after interleaving, and P(i) represents the number of the code word before interleaving.

[0059] In a possible implementation, the interleaving sequence is obtained based on a table interleaving.

[0060] In a possible implementation, the processing unit is further configured to perform rate matching on the interleaved codeword. If the transmission code length E of the first sequence is smaller than N, the processing unit is configured to puncture the interleaved codeword. Or, if the transmission code length E of the first sequence is greater than N, the processing unit is configured to repeat the interleaved codeword.

[0061] In a possible implementation, the interleaving sequence is obtained based on a base sequence and a coding matrix of the polar code.

[0062] In a possible implementation, K1 is determined according to a first-order Reed Muller (RM) code point.

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

[0064] The transceiver unit is configured to receive a signal carrying a second sequence. The processing unit is configured to obtain the second sequence, which is polar encoded from a first sequence including K information bits. The second sequence is based on u and G N It is determined that u is a vector with a length of N, u includes elements in the first sequence, and G N G is a coding matrix of the polar code, G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The processing unit is further configured to perform polar decoding on the second sequence.

[0065] In a possible implementation, when N = 32, K1 is 6.

[0066] In a possible implementation, when N = 64, K1 is 7.

[0067] In a possible implementation, when N = 16, K1 is 5.

[0068] In a possible implementation, the first sequence includes cyclic redundancy check (CRC) bits, and the number of CRC bits is zero.

[0069] In a possible implementation, the first sequence includes parity check (PC) bits, and the number of PC bits is zero.

[0070] In a possible implementation, the first sequence includes PC bits, and the number of PC bits is related to K. When K is less than K1, the number of PC bits is K1-K. Or, when K is less than K1, the number of PC bits is 1.

[0071] In a possible implementation, the reliability corresponding to the position of the PC bit in the first sequence is higher than the reliability corresponding to the position of at least one information bit in the K information bits.

[0072] In a possible implementation, the position of the PC bit in the first sequence is the position with the lowest reliability in , and the number of PC bits is . Wherein, is the position index in the mother sequence with a length of N, contains position indexes.

[0073] In a possible implementation, the processing unit is further configured to deinterleave the second sequence based on the interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0074] In the table, i represents the number corresponding to the interleaved code word, and P(i) represents the number corresponding to the code word before interleaving.

[0075] In a possible implementation, the processing unit is further configured to deinterleave the second sequence based on the interleaving sequence. When N=32, the interleaving sequence satisfies the following table:

[0076] In the table, i represents the number corresponding to the interleaved code word, and P(i) represents the number corresponding to the code word before interleaving.

[0077] In a possible implementation, the interleaving sequence is obtained based on the table interleaving sequence.

[0078] In a possible implementation, if the transmission code length E of the first sequence is less than N, the second sequence is obtained by puncturing the first sequence after polar encoding. Alternatively, if the transmission code length E of the second sequence is greater than N, the second sequence is obtained by repeating the first sequence after polar encoding.

[0079] In a possible implementation, the interleaving sequence is obtained based on the basic sequence and the encoding matrix of the polar code.

[0080] In a possible implementation, K1 is determined according to a first-order Reed Muller (RM) code point.

[0081] In a fifth aspect, a communication apparatus is provided for implementing the methods described above. The communication apparatus can be the first communication device in the first 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 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.

[0082] In a sixth 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 to cause the methods described in any of the aspects above to be performed. The communication apparatus can be the first communication device in the first 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 a device including the second communication device, or a device included in the second communication device.

[0083] In a seventh 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 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 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 a device including the second communication device, or a device included in the second communication device.

[0084] In an eighth 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.

[0085] In a ninth aspect, a computer readable storage medium is provided, which stores computer readable instructions. When a computer reads and executes the computer readable instructions, the computer is caused to perform the method in any possible implementation of any of the first aspect or the second aspect.

[0086] In a tenth aspect, the present application provides a computer program product, which, when read and executed by a computer, causes the computer to perform the method in any possible implementation of the first aspect or the second aspect.

[0087] In an eleventh aspect, the present application provides a chip for reading a computer program stored in a memory to perform the method in any possible implementation of the first aspect or the second aspect.

[0088] It can be understood that the technical effects of the second aspect to the eleventh aspect can refer to the technical effects of any possible implementation of the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0089] FIG. 1 is a schematic diagram of a communication system architecture provided by an embodiment of the present application;

[0090] FIG. 2 is a schematic diagram of a coding and decoding process provided by an embodiment of the present application;

[0091] FIG. 3 is a schematic diagram of a coding process provided by an embodiment of the present application;

[0092] FIG. 4 is a simulation schematic diagram of the coding manner provided by the present application and the LTE-RM coding manner provided by an embodiment of the present application;

[0093] FIG. 5 is a schematic diagram of the position of PC bits provided by an embodiment of the present application;

[0094] FIG. 6 is a simulation schematic diagram of another coding manner provided by the present application and the LTE-RM coding manner provided by an embodiment of the present application;

[0095] FIG. 7 is a schematic diagram of another position of PC bits provided by an embodiment of the present application;

[0096] FIG. 8 is a schematic diagram of the correspondence between the coding matrix of a polar code and a basic sequence provided by an embodiment of the present application;

[0097] FIG. 9 is a simulation schematic diagram of another coding manner provided by the present application and the LTE-RM coding manner provided by an embodiment of the present application;

[0098] FIG. 10 is a simulation schematic diagram of another coding manner provided by the present application and the LTE-RM coding manner provided by an embodiment of the present application;

[0099] FIG. 11 is a schematic diagram of a decoding process provided by an embodiment of the present application;

[0100] FIG. 12 is a schematic diagram of a communication device provided by an embodiment of the present application;

[0101] FIG. 13 is a schematic diagram of another communication apparatus according to an embodiment of the present application;

[0102] FIG. 14 is a schematic diagram of another communication apparatus according to an embodiment of the present application;

[0103] FIG. 15 is a schematic diagram of another communication apparatus according to an embodiment of the present application. DETAILED DESCRIPTION

[0104] 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 rate for GSM evolution (EDGE), a wideband code division multiple access (WCDMA), a time division-synchronization 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 narrow band 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 communication systems.

[0105] For the convenience of understanding the embodiments of the present application, the application scenarios used in the present application are described by taking the communication system architecture shown in FIG. 1 as an example. Referring to FIG. 1, the communication system includes a network device 101 and a terminal device 102. The communication apparatus provided in the embodiments of the present application can be applied to the network device 101 or the terminal device 102. It can be understood that FIG. 1 only shows one possible communication system architecture to which the embodiments of the present application can be applied, and in other possible scenarios, other devices can also be included in the communication system architecture.

[0106] The network device 101 is a node in a radio access network (RAN) and 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 in which two or more of the above systems are integrated.

[0107] In a 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).

[0108] In another possible scenario, a terminal is assisted by multiple RAN nodes to implement wireless access in cooperation, 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, in a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, for example, in a remote radio unit (RRU), an active antenna processing unit (AAU), or a remote radio head (RRH).

[0109] 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 centralized 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, the CU-CP, the CU-UP, the DU and the RU are taken as examples for description in this application. Any one of the CU (or the CU-CP, the CU-UP), the DU and the 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.

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

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

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

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

[0114] In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more. The "and / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the following three cases: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural. The character " / " generally represents an "or" relationship between the front and rear associated objects. "At least one of the following" or similar expressions means any combination of these items, including any combination of single item or multiple 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 and c can be an element or a set containing one or more elements.

[0115] In the present application, "example", "in some embodiments", "in another embodiment" and the like are used to mean an example, illustration or description. Any embodiment or design scheme described as "example" in the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the use of the word "example" is intended to present the concept in a specific way.

[0116] In the present application, "of", "corresponding" and "corresponding" can be used interchangeably at times, and it should be pointed out that when the distinction is not emphasized, the meanings expressed are consistent. In the embodiments of the present application, communication and transmission can be used interchangeably at times, and it should be pointed out that when the distinction is not emphasized, the meanings expressed are consistent. For example, transmission can include sending and / or receiving, and can be a noun or a verb.

[0117] In the present application, "indication" can include direct indication, indirect indication, display indication and implicit indication. When describing that 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.

[0118] It should be noted that the "first", "second" and the like referred to in the embodiments of the present application are only used for the purpose of distinguishing description, and cannot be understood as indicating or implying relative importance, nor can it be understood as indicating or implying order.

[0119] At present, the standard encodes the ultra-short message of 3-11 bits into an ultra-short code, as shown in Table 1.

[0120] Table 1: Example of an encoding code type

[0121] For example, the sequence before encoding is c0, c1,..., c K-1, the coded codeword sequence is d0, d1, …, d N-1 , K represents the number of information bits in the sequence before encoding. Wherein, M i,k The value of K is determined according to the basic sequence, as shown in Table 2.

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

[0123] Wherein, Table 2 shows a basic sequence of a coded codeword sequence with a length of 32. The above encoding method can be referred to as LTE-RM encoding. At present, the encoding method of the ultra-short message in the range of 3-11 bits defined in the standard is single.

[0124] In view of this, the embodiment of the application provides an encoding and decoding method. In the method, the sending end obtains a to-be-encoded bit sequence containing K information bits, referred to as a first sequence. The sending end can perform polar encoding on the first sequence. Wherein, K is less than or equal to K1, K1 = n + 1, n = log2N. Based on the above scheme, the embodiment of the application provides a selection of a different encoding method, and the polar encoding currently has a related hardware implementation. The encoding method provided by the embodiment of the application can use the existing polar encoding, saving the design cost of the chip.

[0125] Taking the communication system shown in FIG. 1 as an example, in order to ensure the reliability of the communication between devices, the sending end can encode the information to be sent, and correspondingly, the receiving end decodes the encoded information after receiving it. As shown in the encoding and decoding process of FIG. 2, the source of the sending end is sequentially subjected to source encoding, channel encoding, rate matching and modulation, and then sent on the channel. The receiving end receives the signal and sequentially performs demodulation and rate matching, channel decoding and source decoding to obtain the sink. Wherein, the sending end and the receiving end can be network devices or terminal devices respectively. It can be understood that in downlink communication, the network device is the sending end and the terminal device is the receiving end; in uplink communication, the terminal device is the sending end and the network device is the receiving end. The network device can be a sending end or a receiving end. In addition, the application also does not exclude that the sending end and the receiving end are both terminal devices, at this time the sending end and the receiving end perform D2D communication. The method provided by the embodiment of the application can be used in the channel encoding process.

[0126] A flowchart of an encoding method is shown in FIG. 3. The method can be applied to a first communication device. The first communication device can be a transmitter in the encoding and decoding flow shown in FIG. 2. Correspondingly, the second communication device can be a receiver in the encoding and decoding flow shown in FIG. 2. In the absence of special indication, the first communication device in the present 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. Similarly, in the absence of special indication, the second communication device in the present application can refer to the second 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 second communication device, or a logic module or software capable of realizing all or part of the functions of the second communication device.

[0127] 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 the following steps.

[0128] S301: The first communication device acquires a first sequence.

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

[0130] S302: The first communication device performs polar encoding on the first sequence.

[0131] For example, when K is less than or equal to K1, the first communication device can perform polar encoding on the first sequence. For example, the encoded codeword is based on u and G N determined, 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.

[0132] In the embodiments of the present application, G N is generated based on G2, For example, n times of Kronecker product operation based on G2 can obtain G N n = log2 N, where the Kronecker product is an operation between two matrices of any size, and is represented as In simple terms, it is to multiply each element of the previous matrix by the complete matrix of the next matrix. n times of Kronecker product operation based on G2 may be recursively implemented by The specific implementation method can be implemented by the following pseudo code:

[0133] G N is a matrix G obtained after the for loop ends N is an N row by N column matrix.

[0134] The square matrix obtained by the above pseudo code is G N . Among them, the generator matrix of the polar code selects the rows corresponding to the information set in the encoding matrix G N . For example, the first communication device can sort the mother sequence of the polar code according to the reliability, and select the positions corresponding to the K position indexes with high reliability as the positions for placing information bits. And the corresponding G N in is the generator matrix of the polar code.

[0135] For example, when the mother sequence of the polar code is N=32, the sorting of the mother sequence according to the reliability from high to low is as follows:

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

[0137] For example, when K=6, the polar code selects the positions corresponding to the position indexes [15, 23, 27, 29, 30, 31] with the highest reliability as the positions for placing information bits, and the generator matrix of the polar code can select the rows corresponding to [15, 23, 27, 29, 30, 31] in the encoding matrix G N . When K=5, the polar code selects the positions corresponding to the position indexes [23, 27, 29, 30, 31] with the highest reliability as the positions for placing information bits, and the generator matrix of the polar code can select the rows corresponding to [23, 27, 29, 30, 31] in the encoding matrix G N . When K=4, the polar code selects the positions corresponding to the position indexes [27, 29, 30, 31] with the highest reliability as the positions for placing information bits, and the generator matrix of the polar code can select the rows corresponding to [27, 29, 30, 31] in the encoding matrix G N . When K=3, the polar code selects the positions corresponding to the position indexes [29, 30, 31] with the highest reliability as the positions for placing information bits, and the generator matrix of the polar code can select the rows corresponding to [29, 30, 31] in the encoding matrix G N .

[0138] It should be noted that the above sequence is taken as an example of the position index starting with 0, and in actual application, the position index starting with 1 can also be taken, and the sequence is not limited in the present application.

[0139] In the embodiment of the present application, when K is less than or equal to K1, the first communication device can perform polar encoding on the first sequence. In a possible implementation, K1 can be determined according to a first-order RM code point. For example, when N = 2 n , then K1 = n + 1. For another example, N, n = log2(N), and 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; and when N = 16, K1 = 5.

[0140] Hereinafter, an example is described by taking Tables 3-5.

[0141] Table 3: Example of an encoding code type

[0142] For example, when N = 32, K is less than (or equal to) 6, the first communication device can perform polar encoding on the first sequence.

[0143] Table 4: Example of an encoding code type

[0144] For example, when N = 64, K is less than (or equal to) 7, the first communication device can perform polar encoding on the first sequence.

[0145] Table 5: Example of an encoding code type

[0146] For example, when N = 16, K is less than (or equal to) 5, the first communication device can perform polar encoding on the first sequence.

[0147] It should be noted that when K is greater than K1, the first communication device can perform encoding on the first sequence based on the basic sequence defined in the standard, that is, perform LTE-RM encoding on the first sequence. Alternatively, when K is greater than K1, the first communication device can also perform encoding on the first sequence by using other encoding methods, such as polar encoding, and the present application is not limited in this regard.

[0148] In the embodiment of the present application, when K is less than or equal to a first-order RM code point, G NThe row (generator matrix of the polar code) corresponding to the message set has a correspondence relationship with the basic sequence in the RM encoding, which is introduced below.

[0149] Taking N = 32 as an example, the encoding matrix of the polar code is introduced through Table 6.

[0150] Table 6: Example of encoding matrix of a polar code

[0151] When N = 32, K1 = 6. Assuming K = 6, the encoding matrix of the polar code can be as shown in Table 6. The first communication device can select the row corresponding to [15, 23, 27, 29, 30, 31] in Table 6 as the generator matrix. As can be seen from Table 6 and Table 2, the six sequences formed by the row corresponding to [15, 23, 27, 29, 30, 31] in Table 6 can be obtained by interleaving the first six columns in Table 2. For example, the row corresponding to

[0031] in Table 6 can be obtained from the

[0031] row of the first six columns in Table 2, the row corresponding to

[0030] in Table 6 can be obtained from the [0] row of the first six columns in Table 2, the row corresponding to

[0029] in Table 6 can be obtained from the

[0020] row of the first six columns in Table 2, the row corresponding to

[0027] in Table 6 can be obtained from the [2] row of the first six columns in Table 2, the row corresponding to

[0023] in Table 6 can be obtained from the

[0022] row of the first six columns in Table 2, and the row corresponding to

[0015] in Table 6 can be obtained from the

[0019] row of the first six columns in Table 2.

[0152] Similarly, when K = 5, the generator matrix of the polar code can be obtained by interleaving the first five columns in Table 2, when K = 4, the generator matrix of the polar code can be obtained by interleaving the first four columns in Table 2, and so on. That is, when K is less than or equal to K1, the encoding matrix of the polar code in NR can be used to multiplex the polar encoding in NR.

[0153] Based on the above, the correspondence relationship between the generator matrix of the polar code when N = 32 and the basic sequence when N = 32 is introduced. The correspondence relationship between the generator matrix of the polar code and the basic sequence when N takes other values is introduced below.

[0154] When N = 16, the mother code sequence is sorted according to the reliability from high to low as follows: [1, 2, 3, 5, 9, 4, 6, 10, 7, 11, 13, 8, 12, 14, 15, 16].

[0155] When N=16, K1=5. Therefore, when K=5, the transmitter can choose the positions corresponding to the five most reliable position indices {8,12,14,15,16} as the positions for placing information bits. The generator matrix of the polar code can then be obtained by interleaving the first five columns of the basic sequence when N=16. When K=4, the generator matrix of the polar code can be obtained by interleaving the first four columns of the basic sequence when N=16. When K=3, the generator matrix of the polar code can be obtained by interleaving the first three columns of the basic sequence when N=16, and so on.

[0156] When N=64, the mother code sequence is arranged from highest to lowest reliability. The order is as follows: [1,2,3,5,9,17,33,4,6,10,7,18,11,19,13,34,21,35,25,37,8,12,41,20,14,49,15,22,36,2738,26,23,39,42,29,43,50,45,51,16,53,24,57,28,40,30,44,31,46,52,47,54,55,58,59,61,32,48,56,60,62,63,64].

[0157] When N=64, K1=7. Therefore, when K=7, the transmitter can choose the positions corresponding to the 7 most reliable position indices {32, 48, 56, 60, 62, 63, 64} as the positions to place the information bits. Then, the generator matrix of the polar code can be obtained by interleaving the first seven columns of the basic sequence when N=64. When K=6, the generator matrix of the polar code can be obtained by interleaving the first six columns of the basic sequence when N=64, and so on.

[0158] When N=128, the mother code sequence is arranged from highest to lowest reliability. The order is as follows: [1,2,3,5,9…110,116,111,118,119,122,123,64,125,96,112,120,124,126,127,128].

[0159] When N=128, K1=8. It should be noted that when N=128 and K=8, the 8 position indices with the highest reliability selected by polar coding cannot correspond to the basic sequence. The basic coding sequence will select the K1 row with the largest row weight {64,96,112,120,124,126,127,128}, while the generator matrix of polar coding will select the K1 row with the highest reliability, which is {125,96,112,120,124,126,127,128}. Therefore, in polar coding, position index 125 can be replaced with position index 64, or it can remain unchanged; this application does not impose a specific limitation.

[0160] Based on the above scheme, in this embodiment of the application, when K is less than or equal to K1, the transmitting end can use polar coding to encode the first sequence. Since there is a correspondence between the generator matrix of the polar code and the basic sequence when K is less than or equal to K1, polar coding in NR can be used. NR already has relevant hardware and software implementations for polar coding, so the technical solution provided in this embodiment of the application can save chip design costs.

[0161] The following describes the encoding method provided in this application and its transmission performance in NR using LTE RM encoding, with reference to Figure 4. Referring to Figure 4, a simulation diagram shows the transmission performance of polar coding and LTE RM coding when K=3, N=32, and the transmission code length E=4~32. The horizontal axis represents the transmission code length E, and the vertical axis represents the signal-to-noise ratio (SNR) required to achieve a block error rate (BLER) of 0.01. It can be understood that the transmission code length E is the transmission code length after rate matching of the encoded codeword sequence, which is the actual codeword length transmitted by the transmitter. As can be seen from Figure 4, the transmission performance of the encoding method provided in this application is not significantly different from that of LTE RM encoding; in fact, when the transmission code length E is large, the transmission performance of the encoding method provided in this application is even better.

[0162] In this embodiment, the first sequence may include CRC bits. The number of CRC bits is zero. In other words, in this embodiment, the first sequence may not include CRC bits. Additionally, in this embodiment, the first sequence may include PC bits. The number of PC bits may be zero or non-zero, as described below.

[0163] In one example, the number of PC bits is zero. That is, the first sequence may not include PC bits. Based on this scheme, the first sequence may include zero CRC bits and zero PC bits, so the first communication device can encode the first sequence using the polar coding scheme defined by NR.

[0164] For example, when the number of PC bits and the number of CRC bits are both zero, the first communication device can obtain the first sequence in the following manner. The first communication device can obtain the first sequence by determining from the master code sequence... These positions are used to place information bits and PC bits. The number of PC bits representing the sacrifice of information bit reliability, in this example The reliability sequence for the first communication device to obtain the mother code length

[0165] The first communication device determines a frozen set F from wherein positions other than form the frozen set F. The first communication device can obtain a dynamic frozen (DF) set, wherein DF is a set formed by set F. The first communication device can obtain a message bit set I in which information bits are placed, the message bit set being a set after removing set DF, the size of which is equal to K.

[0166] The first communication device can perform polar encoding on the first sequence by the following pseudo code:

[0167] It should be noted that is a mother sequence of the polar encoding a set of position indexes in

[0168] In another example, the PC bits can include PC bits that sacrifice the reliability of information bits and PC bits that do not sacrifice the reliability of information bits. The first communication device can obtain the first sequence by the following way. The first communication device determines K+n PC positions from the mother sequence for placing information bits and PC bits. The first communication device obtains a reliability sequence of the length of the mother sequence

[0169] The first communication device selects K+n PC positions with the largest reliability in the sequence and records the positions as a set The first communication device determines the positions of information bits and the positions of PC bits from the K+n PC positions, respectively. Optionally, the first communication device determines the positions of PC bits that sacrifice the reliability of information bits from the K+n PC positions according to the row weights of the set It can be understood that the row weight can also be understood as the Hamming weight or the polarization weight. For example, the first communication device calculates the minimum row weight of the set , denoted as w min . The first communication device determines the positions with the row weight equal to w min from the set in descending order of reliability, and at most positions. If the positions with the row weight equal to w min in the set are less than , the first communication device continues to determine the positions with the row weight equal to 2*w mindetermines the positions of PC bits from the set determines the positions of PC bits from the set determines the positions of PC bits from the set

[0170] The first communication device determines a frozen set F from the set The positions in the set except the positions in the set F constitute the set DF. The first communication device can obtain a dynamic frozen (DF) set, where the DF is a set composed of the set F plus the positions of PC bits. The first communication device can obtain a message bit set I where the message bit set I is a set composed of the set minus the set DF, and the size of the set is equal to K.

[0171] The first communication device can perform the polar encoding on the first sequence by using the following pseudo code:

[0172] In another example, the PC bits can be PC bits with the lowest reliability of information bits. In this example, the number of PC bits can be related to K, For example, if K is less than K1, the number of PC bits is For example, when N=32 and K1=6, if K is less than 6, the number of PC bits is It can be understood that in the embodiments of the present application, the number of PC bits cannot exceed E-K. For example, in the embodiments of the present application

[0173] For example, assuming N=32 and K=3, referring to FIG. 5, the reliability of the position index increases from left to right, that is, the reliability of the position corresponding to the position index 0 is the lowest, and the reliability of the position corresponding to the position index 31 is the highest. When performing polar encoding, the first communication device selects the positions corresponding to the position indexes {30, 31, 32} with the highest reliability as the positions for placing information bits.

[0174] In this example, since K is less than K1, the number of PC bits is Therefore, the first communication device can select ​​​The first communication device can select the position indexes {24, 28, 30} as the positions of the PC bits, and the remaining positions as the positions of the information bits.

[0175] In the embodiments of the present application, the reliability corresponding to the positions of the PC bits is greater than the reliability corresponding to the positions of at least one information bit. In other words, the above example can be understood as The last information bit is pushed backward by the PC bits, and the reliability of the last information bit is sacrificed.

[0176] Referring to FIG. 6, a simulation diagram of the transmission performance when N=32 and K=3-6 is shown. In FIG. 6, the horizontal axis represents SNR, and the vertical axis represents BLER. It can be found that when K is less than or equal to K1, the reliability of the PC bits is greater than the reliability of the information bits. The same transmission performance as the LTE-RM can be obtained. In FIG. 6, the curves from left to right correspond to K=3, K=4, K=5, and so on, and the rightmost curve corresponds to K=6.

[0177] In another example, the number of PC bits is 1. For example, if K is less than K1, the number of PC bits is For example, when N=32 and K1=6, if K is less than 6, the number of PC bits is

[0178] In this example, since K is less than K1, the number of PC bits is Therefore, the first communication device can select The first communication device can select the position indexes {24, 28, 30} as the positions of the PC bits, and the remaining positions as the positions of the information bits.

[0179] In this example, since K is less than K1, the number of PC bits is

[0180] In this example, since K is less than K1, the number of PC bits is Therefore, the first communication device can select one position index, including {28, 30, 31, 32}. As a set of the position of PC bits and information bits. The first communication device can select {30} as the position of PC bits, and the remaining positions as the positions of information bits.

[0181] In the embodiments of the present application, the reliability corresponding to the position of PC bits is greater than the reliability corresponding to the position of at least one information bit. In other words, the above example can be understood as pushing the reliability of the last message bit backward by one PC bit, at the expense of the reliability of the last information bit. one PC bit, at the expense of the reliability of the last information bit.

[0182] In a possible implementation, the first communication device can perform interleaving on the encoded codeword. In one possible case, the first communication device can perform interleaving on the encoded codeword using a first interleaving sequence. The first interleaving sequence can satisfy Table 7:

[0183] Table 7: An example of an interleaving sequence

[0184] In Table 7, i represents the number corresponding to the interleaved codeword, and P(i) represents the number corresponding to the codeword before interleaving. For example, assuming that the encoded codeword is {b0, b1,..., b31}. The first communication device performs interleaving on the encoded codeword based on the first interleaving sequence, and the interleaved codeword is {c0, c1,..., c31} = {b30, b28, b27, b25, b24, b22, b21, b19, b18, b17, b13, b12, b11, b10, b7, b6, b4, b3, b2, b15, b29, b26, b23, b20, b16, b14, b9, b8, b5, b1, b0, b31}. It can be understood that the interleaving sequence in the table in the embodiments of the present application is not limited to the form of the table, but can also be expressed in the form of a sequence or a matrix, which will not be described again hereinafter.

[0185] Optionally, the first communication device can perform rate matching on the interleaved codeword. For example, if the transmission code length E corresponding to the first sequence is greater than the mother code length N, the first communication device can repeat the interleaved codeword. For example, the first communication device can repeat the interleaved codeword from the back to the front or from the front to the back by N-E codewords. For another example, if the transmission code length E corresponding to the first sequence is less than the mother code length N, the first communication device can puncture the interleaved codeword. For example, the first communication device can puncture the interleaved codeword from the back to the front by N-E codewords.

[0186] It can be understood that when the transmission code length E corresponding to the first sequence is equal to the mother code length N, the first communication device can interleave the coded codewords (for example, using the first interleaving sequence to interleave the coded codewords), but the first communication device can not rate match the interleaved codewords, which will not be described below.

[0187] It should be noted that the above rate matching is only shown as an example. If the first communication device interleaves the coded codewords using the above first interleaving sequence, the first communication device can rate match the interleaved codewords using the rate matching manner defined in NR.

[0188] The interleaving sequence shown in Table 7 above can be obtained through the correspondence between the encoding matrix of the polar code and the base sequence. As shown in FIG. 8, since the base sequence can be obtained by interleaving the encoding matrix of the polar code, the first interleaving sequence shown in Table 7 can be obtained based on the correspondence between the encoding matrix of the polar code and the base sequence.

[0189] Referring to FIG. 9, a simulation diagram of the transmission performance of rate matching the interleaved codewords after interleaving the coded codewords using the first interleaving sequence shown in Table 7 above when K = 6, N = 32, and the transmission code length E = 11-32, and rate matching the LTE-RM coded codewords in NR is shown. In the simulation diagram, the horizontal axis is the transmission code length E, and the vertical axis is the SNR required to achieve a BLER of 0.01. As can be seen from FIG. 9, the transmission performance of the coding and rate matching manner provided by the embodiments of the present application is not much different from that of the LTE RM coding and rate matching manner.

[0190] In some embodiments, if the transmission code length E corresponding to the first sequence is less than the mother code length N, the first communication device can also puncture the interleaved codewords from front to back. Then when the first communication device interleaves the coded codewords, the first communication device can use a second interleaving sequence obtained by mirroring and reversing the first interleaving sequence to interleave the coded codewords. Referring to Table 8, an example of a second interleaving sequence is shown.

[0191] Table 8: An example of an interleaving sequence

[0192] In Table 8, i represents the number of the interleaved codeword, and P(i) represents the number of the non-interleaved codeword. For example, assume that the coded codeword is {b0, b1,..., b31}. The first communication device interleaves the coded codeword based on the first interleaving sequence, and the interleaved codeword is {c0, c1,..., c31} = {b31, b0, b1, b5, b8, b9, b14, b16, b20, b23, b26, b29, b15, b2, b3, b4, b6, b7, b10, b11, b12, b13, b17, b18, b19, b21, b22, b24, b25, b27, b28, b30}. Optionally, if the transmission code length E corresponding to the first sequence is smaller than the mother code length N, the first communication device can puncture the interleaved codeword from the front to the back by N-E codewords.

[0193] In another possible case, the first communication device can use a third interleaving sequence to interleave the coded codeword. The third interleaving sequence can satisfy Table 9.

[0194] Table 9: An example of an interleaving sequence

[0195] In Table 9, i represents the number of the interleaved codeword, and P(i) represents the number of the non-interleaved codeword. For example, assume that the coded codeword is {b0, b1,..., b31}. The first communication device interleaves the coded codeword based on the first interleaving sequence, and the interleaved codeword is {c0, c1,..., c31} = {b31, b21, b8, b6, b28, b25, b7, b3, b26, b29, b16, b20, b9, b11, b18, b17, b22, b4, b30, b5, b15, b27, b12, b2, b0, b14, b19, b1, b10, b24, b23, b13}.

[0196] Optionally, the first communication device can perform rate matching on the interleaved codeword. For example, if the transmission code length E corresponding to the first sequence is larger than the mother code length N, the first communication device can repeat the interleaved codeword. For example, the first communication device can repeat the interleaved codeword from the back to the front or from the front to the back by N-E codewords. For another example, if the transmission code length E corresponding to the first sequence is smaller than the mother code length, the first communication device can puncture the interleaved codeword. For example, the first communication device can puncture the interleaved codeword from the back to the front by N-E codewords.

[0197] It can be understood that if the transmission code length E corresponding to the first sequence is less than the mother code length N, the first communication device can also puncture the interleaved code word from front to back. When the first communication device interleaves the coded code word, the fourth interleaving sequence obtained by mirroring the third interleaving sequence can be used to interleave the coded code word. Referring to Table 10, an example of a fourth interleaving sequence is shown.

[0198] Table 10: An example of an interleaving sequence

[0199] In Table 10, i represents the number corresponding to the interleaved code word, and P(i) represents the number corresponding to the code word before interleaving. For example, it is assumed that the coded code word is {b0, b1, …, b31}. The first communication device interleaves the coded code word based on the first interleaving sequence, and the interleaved code word is {c0, c1, …, c31} = {b13, b23, b24, b10, b1, b19, b14, b0, b2, b12, b27, b15, 5, b30, b4, b22, b17, b18, b11, b9, b20, b15, b29, b26, b3, b7, b25, b28, 6, b8, b21, b31}. Optionally, if the transmission code length E corresponding to the first sequence is less than the mother code length N, the first communication device can puncture N-E code words from front to back.

[0200] Referring to FIG. 10, after the coded code word is interleaved using the third interleaving sequence shown in Table 9 or the fourth interleaving sequence shown in Table 10 in the embodiments of the present application, rate matching is performed on the interleaved code word, which can achieve better performance compared to rate matching after LTE-RM encoding in NR. In FIG. 10, a simulation diagram of the transmission performance of polar encoding and the transmission performance of LTE RM encoding is shown when K = 6, N = 32, and the transmission code length E = 7-32. Among them, the horizontal axis is the transmission code length E, and the vertical axis is the SNR required to achieve a BLER of 0.01. As can be seen from FIG. 10, the encoding and rate matching method provided in the embodiments of the present application can achieve better performance compared to the transmission performance of the LTE RM encoding and rate matching method, and the embodiments of the present application can achieve better performance when the transmission code length E is small.

[0201] Therefore, after the coded code word is interleaved based on the interleaving sequence shown in Table 9 or Table 10, rate matching is performed on the interleaved code word, which can achieve better transmission performance and reduce the performance loss caused by puncturing when the transmission code length E is small.

[0202] Optionally, after the first communication device performs rate matching on the interleaved code word, the first communication device can perform modulation, frequency conversion, etc. to obtain a transmission code word. The first communication device can send the transmission code word to the second communication device.

[0203] The embodiment of the present application further provides another decoding method. Referring to FIG. 11, an exemplary flow chart of a decoding method provided by the embodiment of the present application is shown. The method can be applied to a second communication device. The second communication device can be a receiving end in the encoding and decoding process shown in FIG. 2. 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 the following steps:

[0204] S1101: The second communication device acquires a second sequence.

[0205] The second sequence is obtained by polar encoding the first sequence. For example, the second sequence is a to-be-decoded sequence obtained in the second communication device after the first sequence is subjected to polar encoding, interleaving, rate matching, modulation, frequency conversion and the like by the first communication device and transmitted through a wireless transmission environment. The first sequence can refer to the description of the first sequence acquired by the first communication device, which is not described herein again.

[0206] S1102: The second communication device decodes the second sequence.

[0207] For example, the second communication device can perform polar decoding on the second sequence, or perform decoding based on successive cancellation (SC) on the second sequence, such as successive cancellation list (SCL) decoding, to obtain K information bits.

[0208] Step 1, determine the bit type of the current decoding position: if it is a frozen bit, the decoding fixed output is 0, and no path splitting is performed; if the current decoding result is not 0, a penalty value greater than 0 is added to the metric value of the current path. If it is an information bit, it is split into 0 or 1 or 2 possible values, and is respectively stored as the current decoding path (i.e. path splitting), and the decoding metric value (e.g. the smaller the better) corresponding to each path is calculated. If the current position belongs to a PC bit, the check bit at the current position is calculated according to the determined PC equation and the previous decoding result, and if the calculated result is consistent with the result of the current decoding of the decoder, the decoding metric of the current path is not added, otherwise a penalty value greater than 0 is added to the decoding metric of the current decoding path.

[0209] Step 2, repeat step 1 until the decoder decodes the bits in N (N is the mother code length) positions, from a maximum of List (such as List = 8) decoding paths, pick out the path with the smallest decoding metric value as the final decoding output sequence.

[0210] Step 3, according to the message bit position, take out K message bits from the step 2 decoding sequence, and the decoding is completed.

[0211] It can be understood that the above-mentioned SCL decoding manner is only an example of decoding the second sequence, and the second communication device can also use other decoding manners to decode the second sequence, which is not limited in the present application.

[0212] In a possible implementation, the second communication device can obtain the transport codeword by demodulating, rate matching, and the like, on the received transport codeword. The second communication device can obtain the second sequence by deinterleaving the transport codeword. For example, the second communication device can deinterleave the transport codeword based on the first interleaving sequence, the second interleaving sequence, the third interleaving sequence, or the fourth interleaving sequence to obtain the second sequence. The first interleaving sequence, the second interleaving sequence, the third interleaving sequence, and the fourth interleaving sequence can be referred to the related description in Tables 7-10, which will not be repeated here.

[0213] Based on the concept of the above embodiment, referring to FIG. 12, an embodiment of the present application provides a communication device 1200, which includes a processing unit 1201 and a transceiver unit 1202. The device 1200 can be a communication device, or a device applied to a communication device, which can support the communication device to perform the encoding and decoding method.

[0214] The transceiver unit can also be referred to as a transceiver module, a transceiver, a transceiver unit, a transceiver device, and the like. The processing unit can also be referred to as a processor, a processing board, a processing unit, a processing device, and the like. Optionally, the device used to realize the receiving function in the transceiver unit can be regarded as a receiving unit, and it should be understood that the transceiver unit is used to perform the transmitting operation and the receiving operation of the communication device in the above method embodiment, and the device used to realize the transmitting function in the transceiver unit can be regarded as a transmitting unit, that is, the transceiver unit includes the receiving unit and the transmitting unit.

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

[0216] The following describes in detail the implementation of applying the device 1200 to the transmitting end and the receiving end.

[0217] Exemplarily, operations performed by each unit of the apparatus 1200 when applied to a receiving end are described in detail.

[0218] In an optional implementation, the apparatus 1200 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 FIG. 11.

[0219] For example, the processing unit 1201 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 1201 is further configured to perform polar encoding on the first sequence. The encoded codeword is based on u and G N It is determined that u is a vector with a length of N, u includes elements in the first sequence, and G N G is a coding matrix of a polar code, and G N is generated based on G2, and N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The transceiver 1202 is configured to output the encoded codeword.

[0220] Exemplarily, operations performed by each unit of the apparatus 1200 when applied to a receiving end are described in detail.

[0221] In an optional implementation, the apparatus 1200 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 FIG. 11.

[0222] For example, the transceiver 1202 is configured to receive a signal carrying a second sequence. The processing unit 1201 is configured to obtain the second sequence, the second sequence being obtained by polar encoding a first sequence, and the first sequence including K information bits. The second sequence is based on u and G N It is determined that u is a vector with a length of N, u includes elements in the first sequence, and G N G is a coding matrix of a polar code, and G N is generated based on G2, and N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The processing unit 1201 is further configured to perform polar decoding on the second sequence.

[0223] Based on the idea of the embodiments, as shown in FIG. 13, the embodiments of the present application provide a communication device 1300. The communication device 1300 includes a processor 1310. Optionally, the communication device 1300 can also include a memory 1320 for storing instructions executed by the processor 1310 or storing input data required by the processor 1310 for running instructions or storing data generated after the processor 1310 runs instructions. The processor 1310 can implement the method shown in the method embodiments by the instructions stored in the memory 1320.

[0224] Based on the idea of the embodiments, as shown in FIG. 14, the embodiments of the present application provide a communication device 1400, 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.

[0225] The communication device 1400 can include at least one processor 1410 coupled with a memory. Optionally, the memory can be located inside the device or outside the device. For example, the communication device 1400 can also include at least one memory 1420. The memory 1420 stores necessary computer programs, configuration information, computer programs or instructions and / or data for implementing any of the above embodiments; the processor 1410 can execute the computer programs stored in the memory 1420 to complete the method in any of the above embodiments. Optionally, the memory can also be integrated with the processor.

[0226] 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, for information interaction between devices, units or modules. The processor 1410 can operate in cooperation with the memory 1420. The specific connection medium between the transceiver 1430, the processor 1410 and the memory 1420 is not limited in the embodiments of the present application.

[0227] The communication device 1400 can also include a transceiver 1430, and the communication device 1400 can interact with other devices through the transceiver 1430. The transceiver 1430 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 FIG. 14, the transceiver 1430 includes a transmitter 1431, a receiver 1432 and an antenna 1433. In addition, when the communication device 1400 is a chip-type device or a circuit, the transceiver in the communication device 1400 can also be an input / output circuit and / or a communication interface, which can input data (or receive data) and output data (or send data), and the processor is an integrated processor or a microprocessor or an integrated circuit, and the processor can determine the output data according to the input data.

[0228] In a possible implementation, the communication apparatus 1400 can be applied to a communication apparatus, and specifically, the communication apparatus 1400 can be a communication apparatus or an apparatus capable of supporting a communication apparatus, and implement the functions of the sending end or the receiving end in any of the above-described embodiments. The memory 1420 stores computer programs, computer programs or instructions and / or data necessary for implementing the functions of the sending end or the receiving end in any of the above-described embodiments. The processor 1410 can execute the computer programs stored in the memory 1420 to complete the method performed by the sending end or the receiving end in any of the above-described embodiments.

[0229] In the embodiments of the present application, the processor can be a general 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 processor can be a microprocessor or any conventional processor. The steps of the method 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.

[0230] 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, used for storing computer programs, computer programs or instructions and / or data.

[0231] Based on the above embodiments, referring to FIG. 15, the embodiments of the present application further provide another communication apparatus 1500, comprising: an input output interface 1510 and a logic circuit 1520; the input output interface 1510 is configured to receive code instructions and transmit to the logic circuit 1520; the logic circuit 1520 is configured to run the code instructions to execute the method performed by the sending end or the receiving end in any of the above-described embodiments.

[0232] The following describes in detail the operations of the apparatus 1500 applied to the sending end or the receiving end.

[0233] In an alternative implementation, the communication apparatus 1500 can be applied to a transmitting end to perform the method performed by the transmitting end as described above, for example, the method performed by the transmitting end in the embodiment shown in FIG. 3.

[0234] For example, the logic circuit 1520 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 logic circuit 1520 is further configured to perform polar encoding on the first sequence. The encoded codeword is based on u and G N It is determined that u is a vector with a length of N, u includes elements in the first sequence, and G N G is a coding matrix of a polar code, and G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The input and output interface 1510 is configured to output the encoded codeword.

[0235] Since the communication apparatus 1500 provided in this embodiment can be applied to a transmitting end to perform the method performed by the transmitting end as described above, the technical effects that can be achieved thereby can be referred to the method embodiments described above, and will not be described herein again.

[0236] In an alternative implementation, the communication apparatus 1500 can be applied to a receiving end to perform the method performed by the receiving end as described above, for example, the method performed by the receiving end in the embodiment shown in FIG. 11.

[0237] For example, the input and output interface 1510 is configured to input a signal carrying a second sequence. The logic circuit 1520 is configured to obtain the second sequence, the second sequence being obtained by encoding the first sequence, and the first sequence including K information bits. If K is less than or equal to K1, the second sequence is obtained by encoding the first sequence based on a basic sequence, and the basic sequence is based on u and G N It is determined that u is a vector with a length of N, u includes elements in the first sequence, and G N G is a coding matrix of a polar code, and G N is generated based on G2, N is a positive integer. K is less than or equal to K1, K1 = n + 1, and n = log2N. The logic circuit 1520 is further configured to perform polar decoding on the second sequence.

[0238] Since the communication apparatus 1500 provided in this embodiment can be applied to a receiving end to perform the method performed by the receiving end as described above, the technical effects that can be achieved thereby can be referred to the method embodiments described above, and will not be described herein again.

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

[0240] 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 storage program codes.

[0241] In order to realize the functions of the communication device in FIG. 12-15, the embodiments of the present application further provide a chip, which comprises a processor 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, which is used to save the computer programs or instructions and data necessary for the sending end or the receiving end.

[0242] 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 take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0243] 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 the processor of 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 processor of the computer or other programmable data processing devices produce a device that implements the functions specified in one or more flows in the flowcharts and / or one or more blocks in the block diagrams.

[0244] These computer programs or instructions can also be stored in a computer readable storage medium, which can cause the computer or other programmable data processing devices to work in a specific manner, so that the instructions stored in the computer readable storage medium produce a manufactured product comprising instruction devices, which implement the functions specified in one or more flows in the flowcharts and / or one or more blocks in the block diagrams.

[0245] These computer programs (also known as programs, software, software applications programs, applications, components, library modules, objects, binaries, shared libraries, dlls, drivers, or the like) include computer readable code like assembler instructions or even higher level languages developed ad hoc by the programmer and / or generated by a compiler or an interpreter from a higher level languages. Also include computer readable medium that carry said codes. Such computer programs can be implemented in a high level procedural or object oriented programming language to communicate with a computer system. The programs can be implemented in assembly or machine language, if so desired. In fact, the computer readable codes can be implemented in any programming code, which performs the same functions described above.

Claims

1. An encoding method characterized by, The method comprises: obtaining a first sequence, the first sequence being a bit sequence to be encoded, the first sequence comprising K information bits; polar encoding the first sequence, the encoded codeword being based on u and G N determining that u is a vector of length N, u comprising elements of the first sequence, G N is a coding matrix for a polar code, the G N is generated based on G2, N is a positive integer; wherein the K is less than or equal to K1, K1=n+1, n=log2N; outputting the encoded code word.

2. The method of claim 1, wherein, When the N=32, the K1 is 6.

3. The method of claim 1, wherein, When the N=64, the K1 is 7.

4. The method of claim 1, wherein, When the N=16, the K1 is 5.

5. The method according to any one of claims 1 to 4, characterized in that, The first sequence comprises cyclic redundancy check (CRC) bits, and the number of the CRC bits is zero.

6. The method according to any one of claims 1 to 5, characterized in that, The first sequence comprises parity check (PC) bits, and the number of the PC bits is zero.

7. The method according to any one of claims 1 to 5, characterized in that, The first sequence comprises PC bits, and the number of the PC bits is related to the K; wherein when the K is less than the K1, the number of the PC bits is K1-K; or, when the K is less than the K1, the number of the PC bits is 1.

8. The method of claim 7, wherein, The obtaining of the first sequence comprises: determining the positions of the K information bits in the first sequence and the positions of the PC bits in the first sequence; wherein the reliability corresponding to the positions of the PC bits is higher than the reliability corresponding to the positions of at least one of the K information bits.

9. The method of claim 7, wherein, The obtaining of the first sequence comprises: From selecting the position with the lowest reliability as the position of the PC bit from the positions of the PC bits in the first sequence; Among them, the is a position index in a mother code sequence with a length of N.

10. The method according to any one of claims 1 to 9, characterized in that, The method further comprises: interleaving the code word based on an interleaving sequence; The interleaving sequence satisfies the following table when N=32: in the table, i represents the number of the code word after interleaving, and P(i) in the table represents the number of the code word before interleaving.

11. The method according to any one of claims 1 to 9, characterized in that, The method further comprises: interleaving the code word based on an interleaving sequence; The interleaving sequence satisfies the following table when N=32: in the table, i represents the number of the code word after interleaving, and P(i) in the table represents the number of the code word before interleaving.

12. The method according to claim 10 or 11, characterized in that, The interleaving sequence is obtained based on the table.

13. The method of any one of claims 10-12, wherein, The method further comprises: performing rate matching on the interleaved code word; wherein if the transmission code length E of the first sequence is less than the N, puncturing the interleaved code word; or, if the transmission code length E of the first sequence is greater than the N, repeating the interleaved code word.

14. A decoding method, comprising: The method comprises: obtaining a second sequence, the second sequence being obtained by polar encoding a first sequence, the first sequence comprising K information bits; wherein the second sequence is based on u and G N It is determined that u is a vector of length N, u includes elements in the first sequence, G N is a coding matrix of a polar code, the G N is generated based on G2, N is a positive integer; wherein the K is less than or equal to K1, K1=n+1, n=log2N; performing polar decoding on the second sequence.

15. The method of claim 14, wherein, When the N=32, the K1 is 6.

16. The method of claim 14, wherein, When the N=64, the K1 is 7.

17. The method of claim 14, wherein, When the N=16, the K1 is 5.

18. The method of any one of claims 14-17, wherein, The first sequence comprises cyclic redundancy check (CRC) bits, and the number of the CRC bits is zero.

19. The method of any one of claims 14-18, wherein, The first sequence comprises parity check (PC) bits, and the number of the PC bits is zero.

20. The method of any one of claims 14-18, wherein, The first sequence comprises PC bits, and the number of the PC bits is related to the K; wherein when the K is less than the K1, the number of the PC bits is K1-K; or, when the K is less than the K1, the number of the PC bits is 1.

21. The method of claim 20, wherein, The reliability corresponding to the positions of the PC bits in the first sequence is higher than the reliability corresponding to the positions of at least one of the K information bits.

22. The method of claim 20, wherein, the position of the PC bit in the first sequence is the position with the lowest reliability in the middle Among them, the is a position index in a mother code sequence with a length of N.

23. The method of any one of claims 14-22, wherein, Further comprising: de-interleaving the second sequence based on an interleaving sequence; The interleaving sequence satisfies the following table when N=32: i in the table represents a number corresponding to a code word after interleaving, and P(i) in the table represents a number corresponding to a code word before interleaving.

24. The method of any one of claims 14-22, wherein, Further comprising: de-interleaving the second sequence based on an interleaving sequence; When N=32, the interleaving sequence satisfies the following table: i in the table represents a number corresponding to a code word after interleaving, and P(i) in the table represents a number corresponding to a code word before interleaving.

25. The method of claim 23 or 24, wherein, The interleaving sequence is obtained based on the table.

26. The method of any one of claims 23-25, wherein, If a transmission code length E of the first sequence is less than the N, the second sequence is obtained by puncturing the first sequence after polar encoding; or If a transmission code length E of the second sequence is greater than the N, the second sequence is obtained by repeating the first sequence after polar encoding.

27. A communications device, characterized by Comprising: A processor coupled with a memory, the memory being used to store programs or instructions, when the programs or instructions are executed by the processor, causing the apparatus to perform the method of any one of claims 1-13, or causing the apparatus to perform the method of any one of claims 14-26.

28. 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 performs the method of any one of claims 1-13, or so that the device installed with the chip system performs the method of any one of claims 14-26.

29. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions, when the computer executable instructions are called by an electronic device, causing the electronic device to perform the method of any one of claims 1-13, or causing the electronic device to perform the method of any one of claims 14-26.

30. A computer program product, characterised in that, Comprising computer executable instructions, when the computer executable instructions are run on a computer, causing the computer to perform the method of any one of claims 1-13, or causing the electronic device to perform the method of any one of claims 14-26.

Citation Information

Patent Citations

  • Method and device for coding and decoding polar code

    CN109412748A

  • Method to generate ordered sequence for polar codes

    CN110326221A

  • Polarization code coding method and device

    CN112886969A

  • Method and apparatus for encoding polar code, and method and apparatus for decoding polar code

    US20230223956A1