Polar code encoding method and apparatus

By nesting the sequence numbers from the first sequence and constructing sub-sequences of different lengths for polarization encoding, the problems of large storage overhead and high construction complexity in the prior art are solved, and a more flexible and efficient polarization code construction is achieved.

WO2025086171A1PCT designated stage expired Publication Date: 2025-05-01HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/126567
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-25
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

When constructing polarized codes, the prior art requires storing a reliability sequence for each code length, resulting in large storage overhead and high construction complexity.

Method used

By nesting the sequence numbers with a value greater than or equal to (M-N) from the first sequence, a first subset of sequence numbers including N channels is obtained, and a second sequence of length N is determined based on the first subset, and polarization encoding is performed according to the second sequence.

Benefits of technology

It reduces the need for sequence storage of different code lengths, increases the flexibility of nested extraction, and reduces the complexity of constructing polarized codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023126567_01052025_PF_FP_ABST
    Figure CN2023126567_01052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a polar code encoding method and apparatus. In the method, a first subset comprising serial numbers of N channels is obtained by nested extraction of serial numbers having a value greater than or equal to (M-N) from a first sequence, a second sequence having a length of N is determined on the basis of the first subset, and then polar encoding is performed on the basis of the second sequence. According to the method, a sequence does not need to be stored for each length, and by extracting the rear half part of the first sequence, sub-sequences having different lengths can be subjected to nested extraction for construction of code words, thereby improving the flexibility of nested extraction, and reducing the complexity of constructing polar codes.
Need to check novelty before this filing date? Find Prior Art

Description

Polar code encoding method and device Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a polar code encoding method and device. Background Art

[0002] Polar code is the first channel coding scheme that can be rigorously proven to "reach" Shannon channel capacity. It has the characteristics of good error correction performance and low decoding complexity.

[0003] Wireless communications typically require flexible code lengths and rates, requiring the construction of codes with code lengths of 16, 32, ..., and 1024. If polar codes are constructed based on reliability sequences, a sequence must be stored for each length, resulting in excessive storage overhead and increasing the complexity of polar code construction.

[0004] Therefore, how to increase the flexibility of nested extraction of polar codes to reduce the complexity of constructing polar codes is a hot topic in current research.

[0005] Summary of the Invention

[0006] Embodiments of the present application provide a polar code encoding method and apparatus to increase the flexibility of nested extraction of polar codes and reduce the complexity of constructing polar codes.

[0007] To achieve the above objectives, this application adopts the following technical solutions:

[0008] In a first aspect, a polar code encoding method is provided. The method includes: obtaining a first sequence, the first sequence including sequence numbers of M channels, the sequence numbers of the M channels being sorted in ascending order of channel reliability in the first sequence. Polar coding is performed based on a second sequence to obtain first coded data, wherein the second sequence includes sequence numbers of N channels, the second sequence being determined based on a first subset of the first sequence, the number of sequence numbers in the first subset being N, and the values ​​of the sequence numbers in the first subset being greater than or equal to (MN). The first coded data is output.

[0009] Based on the method of the first aspect, sequence numbers with values ​​greater than or equal to (MN) are nested and extracted from the first sequence to obtain a first subset of sequence numbers comprising N channels. A second sequence of length N is determined based on the first subset, and polar coding is performed based on the second sequence. In this way, there is no need to store a sequence for each length. By extracting the second half of the first sequence, subsequences of different lengths can be nested and extracted to construct codewords. This increases the flexibility of nested extraction and reduces the complexity of polar code construction.

[0010] It will be understood that the method of the first aspect can be performed by a first communication device, which can be a terminal, an apparatus including a terminal, or a chip within a terminal. Alternatively, the first communication device can be a network device, an apparatus including a network device, or a chip within a network device. For ease of description, the following description uses the method of the first aspect performed by the first communication device as an example.

[0011] In one possible design, the method described in the first aspect may further include: in response to data retransmission, performing polarization coding according to a third sequence to obtain second coded data, wherein the third sequence includes sequence numbers of N1 channels, is determined based on a second subset of the first sequence, the second subset includes N1 sequence numbers, and the third sequence corresponds to the second sequence, where N is less than or equal to N1. This correspondence may be between the second sequence and the second half of the third sequence, i.e., the second sequence is nested within the third sequence. This ensures that the information bits selected during data retransmission are a subset of the information bits selected during initial data transmission, preventing situations where information bits that were not selected during initial data transmission may be selected during data retransmission. This simplifies decoder implementation during data retransmission and allows adaptation to data retransmission requirements.

[0012] In one possible design, determining the second sequence based on the first subset of the first sequence includes: the second sequence being the first subset of the first sequence. Alternatively, the second sequence is the same as each sequence number value in the first subset of the first sequence minus (MN). It will be appreciated that since the first subset is a subsequence of the first sequence, the first subset can be used directly as the second sequence, or each sequence number value in the first subset minus (MN) can be used as the second sequence, increasing the flexibility of nested extraction.

[0013] In one possible design, determining the third sequence based on the second subset of the first sequence includes: the third sequence being the second subset of the first sequence. Alternatively, the third sequence is the same as each sequence number value in the second subset of the first sequence minus (M-N1). It will be appreciated that since the second subset is a subsequence of the first sequence, the second subset can be used directly as the third sequence, or each sequence number value in the second subset minus (MN) can be used as the third sequence, increasing the flexibility of nested extraction.

[0014] Optionally, the sequence numbers of the second subset of the first sequence are greater than or equal to (M-N1). By nested extraction of sequence numbers greater than or equal to (M-N1) from the first sequence, a second subset of sequence numbers including N1 channels is obtained. In this way, subsequences of different lengths can be nested and extracted to construct codewords, increasing the flexibility of nested extraction and reducing the complexity of polar code construction.

[0015] Optionally, the first subset is determined from the second subset. That is, the second subset can be first extracted from the first sequence by nesting, and then the first subset can be determined from the second subset by nesting, which increases the flexibility of nested extraction.

[0016] Optionally, the sequence numbers of the second subset of the first sequence are N1 consecutive sequence numbers in the first sequence. Furthermore, the N1 consecutive sequence numbers include N1 consecutive sequence numbers starting from the n×N1th sequence number, where n is an integer greater than or equal to 0. Extracting a subsequence consisting of N1 consecutive channels from the first sequence reduces the complexity of constructing the polar code.

[0017] Optionally, the second subset of the first sequence includes N1 sequence numbers in the first sequence whose sequence numbers are less than N1. N1 sequence numbers whose sequence numbers are less than N1 are extracted from the first sequence to construct the third sequence, thereby reducing the complexity of constructing the polar code.

[0018] In one possible design, in response to data retransmission, polarization coding is performed according to a third sequence to obtain second coded data, including: obtaining K information bits in response to the data retransmission. Polarization coding is performed on the K information bits according to the second sequence and the third sequence to obtain the second coded data, thereby reducing coding complexity.

[0019] Optionally, polarization coding is performed based on the second sequence and the third sequence to obtain second coded data, including: constructing a first information bit set based on the second sequence, and constructing a second information bit set based on the third sequence, the first information bit set including K channels corresponding to K sequence numbers in the second sequence from the back to the front according to the reliability index, and the second information bit set including K channels corresponding to K sequence numbers in the third sequence from the back to the front according to the reliability index, where K is a positive integer. Channels corresponding to sequence numbers in the second information bit set whose values ​​are less than (N1-N) are extracted to obtain a first information bit subset. The third information bit set is subtracted from the second information bit set to obtain a second information bit subset, where the sequence number i of the channel in the third information bit set corresponds one-to-one to the sequence number j of the channel in the first information bit set. Polarization coding is performed on the K information bits based on the first information bit set, the second information bit set, the first information bit subset, and the second information bit subset to obtain second coded data.

[0020] It can be understood that by placing the K information bits in the first information bit set and the second information bit set, and then using a simple set operation method to determine the first information bit subset and the second information bit subset, the first information bit subset and the second information bit subset are corresponding information bits. In this way, the two subsets can be quickly obtained, reducing the complexity of constructing the polar code, and further reducing the complexity of encoding.

[0021] In a second aspect, a polar code decoding method is provided, the method comprising: obtaining first information to be decoded. Decoding the first information to be decoded according to a second sequence, wherein the second sequence includes sequence numbers of N channels, the second sequence is determined based on a first subset of the first sequence, the first sequence includes sequence numbers of M channels, the sequence numbers of the M channels are sorted in ascending order of channel reliability in the first sequence, the first subset includes N sequence numbers, and the values ​​of the sequence numbers in the first subset are greater than or equal to (MN). Outputting decoded data of the first information to be decoded.

[0022] It will be appreciated that the method of the second aspect can be performed by a second communication device, which can be a terminal, an apparatus including a terminal, or a chip within a terminal. Alternatively, the second communication device can be a network device, an apparatus including a network device, or a chip within a network device. For ease of description, the following description uses the method of the second aspect performed by the second communication device as an example.

[0023] In one possible design, the method described in the second aspect may further include: obtaining second information to be decoded in response to data retransmission; decoding the second information to be decoded according to a third sequence, wherein the third sequence includes sequence numbers of N1 channels, the third sequence is determined based on a second subset of the first sequence, the second subset includes N1 sequence numbers, the third sequence corresponds to the second sequence, and N is less than or equal to N1; and outputting data after decoding the second information to be decoded.

[0024] In one possible design, the second sequence is determined based on the first subset of the first sequence, including: the second sequence is the first subset of the first sequence, or the second sequence is the same as each sequence number value in the first subset of the first sequence minus (MN).

[0025] In one possible design, determining the third sequence based on the second subset of the first sequence includes: the third sequence being the second subset of the first sequence. Alternatively, the third sequence is the same as each sequence number value in the second subset of the first sequence minus (M-N1).

[0026] Optionally, the value of the sequence number of the second subset of the first sequence is greater than or equal to (M-N1).

[0027] Optionally, the first subset is determined from the second subset.

[0028] Optionally, the sequence numbers of the second subset of the first sequence are N1 consecutive sequence numbers in the first sequence.

[0029] Further, the consecutive N1 sequence numbers include consecutive N1 sequence numbers starting from the n×N1th sequence number, where n is an integer greater than or equal to 0.

[0030] Optionally, the second subset of the first sequence includes N1 sequence numbers in the first sequence whose values ​​are smaller than N1.

[0031] In a possible design, decoding the second information to be decoded according to the third sequence includes: decoding the second information to be decoded according to the second sequence and the third sequence.

[0032] Optionally, decoding the second information to be decoded according to the second sequence and the third sequence includes: constructing a first information bit set according to the second sequence, constructing a second information bit set according to the third sequence, the first information bit set including K channels corresponding to the K sequence numbers from the back to the front according to the reliability index in the second sequence, and the second information bit set including K channels corresponding to the K sequence numbers from the back to the front according to the reliability index in the third sequence, where K is a positive integer. Extracting the channels corresponding to the sequence numbers in the second information bit set whose values ​​are less than (N1-N) to obtain a first information bit subset. Subtracting the third information bit set from the second information bit set to obtain a second information bit subset, wherein the sequence number i of the channel in the third information bit set corresponds one-to-one to the sequence number j of the channel in the first information bit set. Decoding the second information to be decoded according to the first information bit set, the second information bit set, the first information bit subset, and the second information bit subset.

[0033] It can be understood that the relevant technical effects of the method described in the second aspect can also refer to the relevant introduction of the first aspect, which will not be repeated here.

[0034] In a third aspect, a communication device is provided. The communication device includes: a module for executing the method described in any one of aspects 1 to 2, such as a transceiver module and a processing module. For example, the transceiver module is configured to indicate the transceiver function of the communication device, and the processing module is configured to perform functions of the communication device other than the transceiver function.

[0035] Optionally, the transceiver module may include a sending module and a receiving module, wherein the sending module is used to implement the sending function of the communication device described in the third aspect, and the receiving module is used to implement the receiving function of the communication device described in the third aspect.

[0036] Optionally, the communication device described in the third aspect may further include a storage module, wherein the storage module stores a program or instruction. When the processing module executes the program or instruction, the communication device may execute the method described in any one of the first aspect to the second aspect.

[0037] It can be understood that the communication device described in the third aspect can be a terminal or a network device, or a chip (system) or other parts or components that can be set in a terminal or a network device, or a device that includes a terminal or a network device. This application does not limit this.

[0038] In addition, the technical effects of the communication device described in the third aspect can refer to the technical effects of the first aspect mentioned above, and will not be repeated here.

[0039] In a fourth aspect, a communication device is provided, comprising: a processor configured to execute the method described in any one of the first to second aspects.

[0040] In one possible design solution, the communication device described in the fourth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the fourth aspect to communicate with other communication devices.

[0041] In one possible design, the communication device described in the fourth aspect may further include a memory. The memory may be integrated with the processor or provided separately. The memory may be used to store the computer program and / or data involved in the method described in any one of the first and second aspects.

[0042] In an embodiment of the present application, the communication device described in the fourth aspect can be the terminal or network device described in any one of the first to second aspects, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.

[0043] In addition, the technical effects of the communication device described in the fourth aspect can refer to the technical effects of the methods described in any one of the first aspect to the second aspect, and will not be repeated here.

[0044] In a fifth aspect, a communication device is provided, comprising: a processor coupled to a memory, the processor configured to execute a computer program stored in the memory, so that the communication device performs the method described in any one of the first to second aspects.

[0045] In one possible design solution, the communication device described in the fifth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the fifth aspect to communicate with other communication devices.

[0046] In an embodiment of the present application, the communication device described in the fifth aspect can be the terminal or network device described in any one of the first to second aspects, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.

[0047] In addition, the technical effects of the communication device described in the fifth aspect can refer to the technical effects of the method described in the first aspect, and will not be repeated here.

[0048] In a sixth aspect, a communication device is provided, comprising: a processor and a memory; the memory is used to store a computer program, and when the processor executes the computer program, the communication device executes the method described in any one of the first to second aspects.

[0049] In one possible design solution, the communication device described in the sixth aspect may further include a transceiver. The transceiver may be a transceiver circuit or an interface circuit. The transceiver may be used for the communication device described in the sixth aspect to communicate with other communication devices.

[0050] In an embodiment of the present application, the communication device described in the sixth aspect can be the terminal or network device described in any one of the first aspect to the second aspect, or a chip (system) or other parts or components that can be set in the terminal or network device, or a device that includes the terminal or network device.

[0051] In addition, the technical effects of the communication device described in the sixth aspect can refer to the technical effects of the methods described in any one of the first aspect to the second aspect, and will not be repeated here.

[0052] In a seventh aspect, a communication system is provided, comprising: a first communication device for executing the method according to the first aspect, and a second communication device for executing the method according to the second aspect.

[0053] In an eighth aspect, a computer-readable storage medium is provided, comprising: a computer program or instructions; when the computer program or instructions are run on a computer, the computer is caused to execute the method described in any one of the first to second aspects.

[0054] In a ninth aspect, a computer program product is provided, comprising a computer program or instructions, which, when executed on a computer, causes the computer to execute the method described in any one of the first to second aspects. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 is a schematic diagram of 8*8 polar code encoding;

[0056] FIG2 is a schematic diagram of a polar code framework according to an embodiment of the present application;

[0057] FIG3 is a second schematic diagram of a polar code framework provided in an embodiment of the present application;

[0058] FIG4 is a third schematic diagram of a polar code framework provided in an embodiment of the present application;

[0059] FIG5 is a schematic diagram of the architecture of a communication system according to an embodiment of the present application;

[0060] FIG6 is a second schematic diagram of the architecture of the communication system provided in an embodiment of the present application;

[0061] FIG7 is a schematic diagram of a polar code encoding process provided in an embodiment of the present application;

[0062] FIG8 is a schematic diagram of a process of a polar code encoding method provided in an embodiment of the present application;

[0063] FIG9 is a schematic diagram of an application scenario 1 of the polar code encoding method provided in an embodiment of the present application;

[0064] FIG10 is a second schematic diagram of an application scenario of the polar code encoding method provided in an embodiment of the present application;

[0065] FIG11 is a first structural diagram of a communication device provided in an embodiment of the present application;

[0066] FIG12 is a second structural diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0067] For ease of understanding, the technical terms involved in the embodiments of this application are first introduced below.

[0068] 1. Polar code

[0069] Polar codes are the first channel coding scheme rigorously proven to achieve Shannon channel capacity. They offer excellent error correction performance and low decoding complexity. They have been selected by the 3rd Generation Partnership Project (3GPP) as the control channel coding scheme for uplink and downlink transmission in fifth-generation (5G) enhanced mobile broadband (eMBB) scenarios.

[0070] Figure 1 is a schematic diagram of 8*8 polar code encoding. As shown in Figure 1, the "+" represents an exclusive-or operation. The bits to be encoded are sorted according to the reliability of the corresponding bit subchannel. Generally, bits with higher reliability are set as information bits (data bits). In actual transmission, they carry information bits. For example, u7, u6, u5, and u3 are the four bits with the highest reliability and are set as information bits. Bits with lower reliability are set as fixed bits (frozen). For example, u4, u2, u1, and u0 are the four bits with the lowest reliability and are set as fixed bits. The value of the fixed bit is usually set to 0 and is known to both the sender and receiver in actual transmission.

[0071] In recent years, with the inclusion of polar codes in the 5G standard, research on polar code decoding has become a hot topic in communications. Currently, mainstream polar code decoding methods can be divided into two categories based on their decoding timing: sequential decoding and non-sequential decoding. Sequential decoding involves decoding based on the polar code's natural timing. Non-sequential decoding, on the other hand, involves outputting decoding results in parallel based on other polar code structures (such as the Tanner graph and Trellis graph). Currently, the main sequential decoding algorithms for polar codes include successive cancellation (SC) decoding, successive cancellation list (SCL) decoding, successive cancellation stack (SCS) decoding, and cyclic redundancy check-aided successive cancellation list (CA-SCL) decoding. Non-sequential decoding methods primarily include belief propagation (BP) decoding. In terms of decoding performance, SC decoding has the worst performance, while SCL decoding offers significant improvements. Adding CA-SCL after CRC verification can make polar codes perform better than low-density parity check codes (LDPC) and Turbo codes. Therefore, SCL and CA-SCL decoding are currently the primary methods used in practical systems.

[0072] The following describes two scenarios: hybrid automatic repeat request transmission of polar codes and polar codes supporting self-decoding.

[0073] 2. Hybrid Automatic Repeat Request

[0074] Hybrid automatic repeat request (HARQ) is a common technology in wireless communications. HARQ is divided into chase combine (CC) HARQ and incremental redundancy (IR) HARQ. HARQ combines forward error correction (FEC) with automatic repeat request (ARQ) to significantly improve spectrum efficiency.

[0075] The basic workflow of HARQ is as follows: First, the transmitter sends a coded packet as the initial transmission, and the receiver receives the symbol sequence and attempts to decode it. If the decoding is successful, feedback information is sent: the character has been successfully received (Acknowledgement, ACK). The transmitter stops sending based on the feedback information. If the decoding fails, the receiver will cache the received symbol sequence (or the corresponding demodulation soft information) and send feedback information: the character has not been successfully received (Negative Acknowledgement, NACK), or no feedback signal. If the transmitter receives the feedback information NACK (or does not receive the ACK signal), it continues to send the re-encoded bit sequence (as incremental redundancy). The receiver uses the two received sequences for joint decoding.

[0076] Compared to sending data all at once, which is done in multiple passes in HARQ transmission, HARQ allows transmission to be stopped if decoding is successful, thereby improving system throughput. If the initial transmission is successful, no retransmission is required, saving spectrum resources and improving spectral efficiency. If the initial transmission fails, the receiver can jointly decode the two received data, still achieving the error correction performance of long codes.

[0077] Figure 2 shows an IR-HARQ scheme based on Polar codes. The lower half of the fence diagram, {8, 9, 10, 11, 12, 13, 14, 15} (denoted as the U code), corresponds to the initial transmission, while the upper half, {0, 1, 2, 3, 4, 5, 6, 7} (denoted as the V code), corresponds to the retransmission. Both the U and V codes have a length of 8. From the leftmost side of the fence diagram, the blank-filled nodes {0, 1, 2, 3, 4, 5, 8} represent frozen bits, the black-filled nodes {6, 7, 11, 12, 13, 14, 15} represent information bits, and the shaded nodes {8, 9} and their connected black-filled nodes {6, 7} have the same information bit value. If the U code is decoded alone, the black-filled and shaded bits are information bits, meaning {9, 10, 11, 12, 13, 14, 15} are information bits. If the U code and V code are jointly decoded, the initial transmission and retransmission can be combined to form a Polar code with a length of 16. The black padding bits {6, 7, 11, 12, 13, 14, 15} are information bits. When decoding the shaded padding bits {8, 9}, the result has already been obtained by decoding the same black padding bits {6, 7}. Therefore, the shaded padding bits {8, 9} become known values ​​and can be understood as dynamically frozen bits.

[0078] Through this framework, whether decoding U code alone or combining U code and V code, the information bits are always carried in a highly reliable position, ensuring optimal decoding performance.

[0079] 3. Polar code construction supporting self-decoding

[0080] Directly transmitting multiple redundancy versions (RVs) is a common coverage enhancement method in wireless communications. Each RV can be considered a code. Each RV version typically supports independent decoding, and multiple RV versions can be combined as a long code to enhance decoding. Compared to transmitting a single long code, multi-RV transmission allows the receiver to still decode based on the remaining RVs even if one RV is completely lost. Directly transmitting a single long code does not allow this capability.

[0081] Polar codes are naturally designed to support self-decoding. Figure 3 shows a schematic diagram of a standard Polar code on the left. Interleaving between stages yields the fence diagram on the right. This shows that when there is a one-to-one mapping between the U code {8, 9, 10, 11, 12, 13, 14, 15} and the V code {0, 1, 2, 3, 4, 5, 6, 7}, both the U code and the V code contain complete information bits. If the U code or the V code is received independently, the decoder can decode based on either code independently when channel conditions are good.

[0082] As described above, the construction process of Polar self-decoding is similar to that of IR-HARQ.

[0083] 4. Construction of Polar Code

[0084] Polar code construction involves determining the information bits and frozen bits of a Polar code. The current New Radio (NR) standard uses a reliability sequence to determine Polar code construction. For example, a pre-stored reliability sequence of length 16 is {0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15}. This sequence indicates that information bit 15 is the most reliable, followed by bit 14, and so on, until information bit 0 becomes the least reliable.

[0085] When constructing a Polar code with K = 8, the reliability sequence is read forward from {15, 14, 13, 11, 7, 12, 10, 6} as information bits, and the remaining bits are frozen. However, wireless communications typically require highly flexible code lengths and rates, requiring the construction of codes with lengths of not only 16, but also 32, 64, ..., and 1024. Storing a sequence for each length would result in excessive storage overhead.

[0086] To address this issue, existing techniques pre-store a 1024-bit sequence, then extract subsequences of varying lengths from it to construct shorter codes. Specifically, to construct a code of length N, the sequence numbers smaller than N in the pre-stored sequence are extracted to form a subsequence, which is then used to determine the information bits.

[0087] From the perspective of the IR-HARQ equivalent long code, the above process actually uses the V code reliability sequence when constructing the U code information bits. Since the U code reliability sequence is not exactly the same as the V code reliability sequence, this adds additional complexity to the polar code construction process.

[0088] For further explanation, take the pre-stored sequence {0,1,2,4,8,3,5,9,6,10,12,7,11,13,14,15} of length 16 sorted by reliability as an example. In IR-HARQ, the length of the initial transmission and retransmission is 8, and the number of information bits is K. The initial transmission is constructed with a sequence of 0 to 7, and K positions are selected as the information bit set. If the initial decoding fails, K positions are further selected according to the sequence of length 16 as the information bit set Further based on and Determine the set (Shadow fill bit) and (black fill bits corresponding to shadow fill bits), and A one-to-one verification relationship is formed between them.

[0089] If the U code reliability sequence is exactly the same as the V code reliability sequence, it can be directly constructed using the following concise method: yes The subset of that consists of elements smaller than 8, is a collection Depend on Add 8 to each element in to get.

[0090] Since the U code reliability sequence is not exactly the same as the V code reliability sequence, there may be a situation where a node is not selected as an information bit during the initial transmission, but is selected as an information bit during the retransmission. For example, as shown in Figure 4, but (Corresponding to the black filled nodes in Figure 4). However, since {11,12,13,14} is actually used as information bits in the initial U code, if the above method is used yes The subset {7} of which the number of elements is less than 8, is a collection Calculated and The number is different and cannot be matched one to one. It is necessary to sort the reliability to determine the {12} with lower reliability. It is difficult to quickly obtain and These two sets increase the complexity of the construction.

[0091] In response to the above technical problems, the embodiments of the present application propose the following technical solutions.

[0092] The technical solution in this application will be described below with reference to the accompanying drawings.

[0093] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as wireless network (Wi-Fi) systems, vehicle to everything (V2X) communication systems, device-to-device (D2D) communication systems, Internet of Vehicles communication systems, fourth-generation (4G) mobile communication systems, such as long-term evolution (LTE) systems, world-wide interoperability for microwave access (WiMAX) communication systems, fifth-generation (5G) systems, such as new radio (NR) systems, and future communication systems.

[0094] In the embodiment of the present application, "indication" may include direct indication and indirect indication, and may also include explicit indication and implicit indication. The information indicated by a certain information (such as the first indication information, the second indication information, or the third indication information below) is called information to be indicated. In the specific implementation process, there are many ways to indicate the information to be indicated, such as but not limited to, the information to be indicated can be directly indicated, such as the information to be indicated itself or the index of the information to be indicated. The information to be indicated can also be indirectly indicated by indicating other information, where there is an association between the other information and the information to be indicated. It is also possible to indicate only a part of the information to be indicated, while the other parts of the information to be indicated are known or agreed in advance. For example, the indication of specific information can be achieved by means of the arrangement order of each piece of information agreed in advance (such as specified in the protocol), thereby reducing the indication overhead to a certain extent. At the same time, the common parts of each piece of information can be identified and indicated uniformly to reduce the indication overhead caused by indicating the same information separately.

[0095] In addition, the specific indication method can also be various existing indication methods, such as but not limited to the above-mentioned indication methods and various combinations thereof. The specific details of the various indication methods can be referred to the prior art and will not be repeated herein. As can be seen from the above, for example, when it is necessary to indicate multiple information of the same type, there may be a situation where the indication methods for different information are different. In the specific implementation process, the required indication method can be selected according to specific needs. The embodiment of the present application does not limit the selected indication method. In this way, the indication method involved in the embodiment of the present application should be understood to cover various methods that can enable the party to be indicated to obtain the information to be indicated.

[0096] It should be understood that the information to be indicated can be sent as a whole or divided into multiple sub-information and sent separately, and the sending period and / or sending time of these sub-information can be the same or different. The specific sending method is not limited in the embodiments of this application. The sending period and / or sending time of these sub-information can be predefined, for example, predefined according to a protocol, or can be configured by the transmitting device by sending configuration information to the receiving device.

[0097] "Pre-definition" or "pre-configuration" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in the device, and the embodiments of the present application do not limit the specific implementation method. Among them, "saving" can mean saving in one or more memories. The one or more memories can be set separately or integrated in an encoder or decoder, a processor, or a communication device. The one or more memories can also be partially set separately and partially integrated in a decoder, a processor, or a communication device. The type of memory can be any form of storage medium, and the embodiments of the present application do not limit this.

[0098] The "protocol" involved in the embodiments of the present application may refer to a protocol family in the communication field, a standard protocol with a similar protocol family frame structure, or a related protocol used in future communication systems. The embodiments of the present application do not make specific limitations on this.

[0099] In the embodiments of the present application, descriptions such as "when...", "in the case of...", "if" and "if" all mean that the device will perform corresponding processing under certain objective circumstances. It does not limit the time, nor does it require the device to perform judgment actions when implemented, nor does it mean that there are other limitations.

[0100] In the description of the embodiments of the present application, unless otherwise specified, " / " indicates that the objects associated with each other are in an "or" relationship. For example, A / B can represent A or B. "And / or" in the embodiments of the present application is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" refers to two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with basically the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.

[0101] The network architecture and business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field will know that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0102] To facilitate understanding of the embodiments of the present application, a communication system applicable to the embodiments of the present application is first described in detail using the communication system shown in Figure 5 as an example. For example, Figure 5 is a schematic diagram of the architecture of a communication system applicable to the method provided in the embodiments of the present application.

[0103] As shown in FIG5 , the communication system may include: a first communication device and a second communication device.

[0104] The communication device may be a terminal or a network device.

[0105] A terminal may also be called user equipment (UE), an access terminal, a subscriber unit, a user station, a mobile station (MS), a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent, or a user device. The terminal in the embodiments of the present application can be a mobile phone, a cellular phone, a smart phone, a tablet computer, a wireless data card, a personal digital assistant (PDA), a wireless modem, a handheld device (handset), a laptop computer, a machine type communication (MTC) terminal, a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a smart home device (for example, a refrigerator, a television, an air conditioner, an electric meter, etc.), an intelligent robot, a robotic arm, a workshop equipment, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical care, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a vehicle-mounted terminal, a roadside unit with terminal function, or a wireless terminal in a smart city. The terminal device of the present application may also be an onboard module, onboard module, onboard component, onboard chip or onboard unit built into a vehicle as one or more components or units. The terminal device may also be other devices with terminal functions, for example, the terminal device may also be a device that functions as a terminal in D2D communication.

[0106] The embodiments of this application do not limit the device form factor of the terminal. The device used to implement the terminal's function can be a terminal; it can also be a device that supports the terminal in implementing the function, such as a chip system. The device can be installed in the terminal or used in conjunction with the terminal. In the embodiments of this application, the chip system can be composed of a chip or include a chip and other discrete components.

[0107] The network device may be a radio access network (RAN) device, also known as an access network device. The access network device may specifically be a next-generation mobile communication system, such as a 6G access network device, such as a 6G base station, or in the next-generation mobile communication system, the access network device may also have other naming methods, all of which are included in the protection scope of the embodiments of the present application, and the present application does not impose any restrictions on this. Alternatively, the access network device may also include 5G, such as a gNB in ​​a new radio (NR) system, or one or a group of antenna panels (including multiple antenna panels) of a base station in 5G, or a network node constituting a gNB, a transmission point (TRP or transmission point, TP) or a transmission measurement function (TMF), such as a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), an RSU with base station function, or a wired access gateway, or a 5G core network element, etc. Alternatively, the access network device may also include: an access point (AP) in a wireless fidelity (WiFi) system, a wireless relay node, a wireless backhaul node, various forms of macro base stations, micro base stations (also known as small stations), relay stations, access points, wearable devices, vehicle-mounted devices, etc.

[0108] Among them, the CU and DU can be set separately, or can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU) or a remote radio head (RRH). It can be understood that the network device can be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU can be divided into a network device in the access network RAN, or the CU can be divided into a network device in the core network CN, and there is no limitation here.

[0109] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (Open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application uses CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0110] The communication system of the embodiment of the present application is suitable for coding scenarios and can be implemented by a dedicated chip ASIC, a programmable chip FPGA, or by software (program code in memory). As shown in Figure 6, the coding mainly involves source coding and channel coding, channel decoding and source recovery. The specific principles can refer to the relevant technologies of 3GPP. Figure 7 is the coding process of Polar code, which involves sequence acquisition, coding construction, outer code concatenation, bit interleaving, bit mapping and coding process. Among them, the core innovation of the embodiment of the present application mainly involves sequence acquisition.

[0111] In this communication system, a first communication device nested-extracts sequence numbers with values ​​greater than or equal to (MN) from a first sequence to obtain a first subset of sequence numbers comprising N channels. A second sequence of length N is determined based on the first subset, and polar coding is performed based on the second sequence. This eliminates the need to store a sequence for each length. By extracting the second half of the first sequence, subsequences of different lengths can be nested and extracted to construct codewords. This increases the flexibility of nested extraction and reduces the complexity of polar code construction.

[0112] The embodiments of this application do not limit the device form factor of the network device. The device used to implement the function of the network device can be a network device; it can also be a device that supports the network device to implement the function, such as a chip system. The device can be installed in the network device or used in conjunction with the network device. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete components.

[0113] The following, in conjunction with Figures 8-10, describes in detail the interaction process between network elements / devices in the above-mentioned communication system through a method embodiment. The polar code encoding method provided in the embodiments of this application can be applied to the above-mentioned communication system and specifically applied to the various scenarios / processes mentioned in the above-mentioned communication system, which are described in detail below.

[0114] Figure 8 is a flow chart of a polar code encoding method provided in an embodiment of the present application. The polar code encoding method is applicable to the above-mentioned communication system, and mainly involves interaction between a first communication device and a second communication device.

[0115] As shown in FIG8 , the process of the polar code encoding method is as follows:

[0116] S801: A first communication device obtains a first sequence.

[0117] The first sequence may include sequence numbers of M channels, i.e., the length of the first sequence may be M, where M is an integer greater than or equal to 0, and the sequence numbers of the M channels are sorted in the first sequence from low to high according to the reliability of the channels. For example, as shown in FIG9 , the first communication device obtains a first sequence of length 16, and the sequence numbers of the 16 channels in the first sequence are sorted in the order of reliability from low to high as {0, 1, 2, 4, 8, 6, 5, 9, 3, 10, 12, 7, 11, 13, 14, 15}. This sequence indicates that the most reliable information bit is 15, followed by 14, ..., until information bit 0 is the least reliable.

[0118] The first sequence can be a pre-stored sequence that can be directly obtained, or it can be data transmitted via a wireless air interface. The first communication device can obtain the first sequence in various ways, such as through a trigger condition (such as the need to establish a service or transmit service data), or according to a protocol definition, without specific limitation.

[0119] S802: The first communication device performs polarization coding according to the second sequence to obtain first coded data.

[0120] The second sequence may include sequence numbers of N channels, i.e., the length of the second sequence may be N, where N is an integer greater than or equal to 0. The first communication device obtains a first subset having sequence numbers greater than or equal to (MN) from the first sequence. The length of the obtained first subset is N, i.e., the number of sequence numbers included in the first subset is N. For example, M is 16 and N is 4. When the first communication device obtains a second sequence having a length of 4, a first subset having sequence numbers greater than or equal to (MN) = 12 may be extracted from the first sequence having a length of 16. The second sequence is then determined based on the first subset.

[0121] In addition, the first sequence itself may also be a first subset of the first sequence, that is, N is less than or equal to M.

[0122] Optionally, before performing polar coding according to the second sequence to obtain the first coded data, the polar code encoding method may further include: obtaining control signaling. Determining that the control signaling is used to instruct to extract the sequence in a target extraction manner, where the target extraction manner includes the method provided in the embodiments of the present application.

[0123] It is understandable that the control signaling is first determined to indicate that the sequence extraction method is the target extraction method. This can be determined based on information such as the user scenario, whether HARQ is activated, the decoding capability of the receiving decoder, and whether 5G or 6G are included in the control signaling. For example, if the control signaling includes information about activating HARQ, the sequence extraction method is indicated as the target extraction method. If the target extraction method is used, the second sequence is extracted based on the method provided in the embodiment of the present application. If other extraction methods are used, the extraction method of the existing technology or a method newly defined in the future is used. This increases the flexibility of sequence reading and facilitates compatibility with the NR standard.

[0124] Optionally, determining the second sequence based on the first subset of the first sequence may include: the second sequence is the first subset of the first sequence, or the second sequence is the same as each sequence number value in the first subset of the first sequence minus (MN).

[0125] It is understood that the first subset can be a subsequence of the first sequence. The first communication device can directly extract the first subset from the first sequence as the second sequence, or subtract (MN) from each sequence number value in the first subset to determine the second sequence. For example, as shown in Figure 9, the first communication device extracts a first subset having sequence numbers greater than or equal to 8 from the first sequence {0, 1, 2, 4, 8, 6, 5, 9, 3, 10, 12, 7, 11, 13, 14, 15}, and directly determines the first subset as the second sequence. Alternatively, the first communication device subtracts 8 from each sequence number value in the first subset to obtain a subsequence {0, 1, 2, 4, 3, 5, 6, 7}, and determines this subsequence as the second sequence. This increases the flexibility of nested extraction sequences.

[0126] S803: The first communication device outputs first coded data.

[0127] In some embodiments, in response to data retransmission, the first communication device performs polarization coding according to the third sequence to obtain second coded data.

[0128] When the initial transmission fails, the first communication device retransmits the data.

[0129] The third sequence may include sequence numbers of N1 channels, i.e., the length of the third sequence may be N1, where N1 is an integer greater than or equal to 0, and N is less than or equal to N1. The first communication device obtains a second subset of length N1 from the first sequence, i.e., the number of sequence numbers included in the second subset is N1. Alternatively, the first sequence itself may be the second subset of the first sequence, i.e., N1 is less than or equal to M.

[0130] The third sequence is determined based on the second subset. The third sequence corresponds to the second sequence, ensuring that the information bits selected during data retransmission are a subset of the information bits selected during initial data transmission. This prevents information bits that were not selected during initial data transmission but are selected as information bits during data retransmission. This simplifies the decoder implementation during data retransmission and can adapt to IR-HARQ requirements.

[0131] In addition, the lengths of the first sequence, the second sequence, and the third sequence may be integer powers of 2.

[0132] Optionally, determining the third sequence based on the second subset of the first sequence may include: the third sequence is the second subset of the first sequence, or the third sequence is the same as each sequence number value in the second subset of the first sequence minus (M-N1).

[0133] It is understood that the second subset can be a subsequence of the first sequence. The first communication device can directly extract the second subset from the first sequence as the third sequence, or subtract (MN) from each sequence number value in the second subset to obtain the third sequence, thereby increasing the flexibility of nested extraction. Determining the third sequence based on the second subset can be the same as the process of determining the second sequence based on the first subset described above.

[0134] When the second sequence is the first subset and the third sequence is the second subset, the third sequence corresponds to the second sequence as follows: the order of sequence number values ​​greater than or equal to MN in the third sequence is the same as the order of sequence number values ​​included in the second sequence in the second sequence.

[0135] For example, M=64, N=16, N1=32, and the first sequence of length 64 is:

[0136] {0,1,2,4,8,16,32,3,5,9,6,17,10,18,12,33,20,34,24,36,7,11,40,19,13,48,14,21,35,26,37,25,22,38,41,28,42,49,44,50,15,52,23,56,27,39,29,43,30,45,51,46,53,54,57,58,60,31,47,55,59,61,62,63}.

[0137] Extract the first subset {48,49,50,52,56,51,53,54,57,58,60,55,59,61,62,63} from the first sequence, use the first subset as the second sequence, extract the second subset from the first sequence, and use the second subset as the third sequence. The third sequence is: {32,33,34,36,40,48,35,37,38,41,42,49,44,50,52,56,39,43,45,51,46,53,54,57,58,60,47,55,59,61,62,63}. That is, the sequence numbers greater than or equal to 48 in the third sequence correspond to the second sequence.

[0138] When the second sequence is each sequence number value in the first subset minus MN, and the third sequence is the second subset, the third sequence corresponds to the second sequence as follows: the order of sequence number values ​​greater than or equal to MN in the third sequence is the same as the order of each sequence number value in the second sequence plus MN in the second sequence.

[0139] For ease of understanding, continue to explain the above example:

[0140] If the second sequence is the first subset of the first sequence minus 48 for each sequence number, that is, the second sequence is {0,1,2,4,8,3,5,6,9,10,12,7,11,13,14,15}, and the third sequence is the second subset of the first sequence, that is, the third sequence is {32,33,34,36,40,48,35,37,38,41,42,49,44,50,52,56,39,43,45,51,46,53,54,57,58,60,47,55,59,61,62,63}, then the sequence numbers greater than or equal to 48 in the third sequence correspond to each sequence number in the second sequence plus 48.

[0141] When the second sequence is each sequence number value in the first subset minus MN, and the third sequence is each sequence number value in the second subset minus MN, the third sequence corresponds to the second sequence as follows: the order of sequence number values ​​greater than or equal to N1-N in the third sequence is the same as the order of each sequence number value in the second sequence plus N1-N in the second sequence.

[0142] For ease of understanding, continue to explain the above example:

[0143] If the second sequence is each sequence number value in the first subset of the first sequence minus 48, that is, the second sequence is {0,1,2,4,8,3,5,6,9,10,12,7,11,13,14,15}, and the third sequence is each sequence number value in the second subset of the first sequence minus 48, that is, {0,1,2,4,8,16,3,5,6,9,10,17,12,18,20,24,7,11,13,19,14,21,22,25,26,28,15,23,27,29,30,31}, then the sequence numbers in the third sequence with a value greater than or equal to 16 correspond to each sequence number value in the second sequence plus 16.

[0144] When the second sequence is the first subset and the third sequence is each sequence number value in the second subset minus MN, the third sequence corresponds to the second sequence as follows: the order of sequence number values ​​greater than or equal to N1-N in the third sequence is the same as the order of each sequence number value in the second sequence minus M-N1 in the second sequence.

[0145] For ease of understanding, continue to explain the above example:

[0146] If the second sequence is the first subset of the first sequence, that is, {48,49,50,52,56,51,53,54,57,58,60,55,59,61,62,63}, the third sequence may be each sequence number value in the second subset of the first sequence minus 48, that is, the third sequence may be {0,1,2,4,8,16,3,5,6,9,10,17,12,18,20,24,7,11,13,19,14,21,22,25,26,28,15,23,27,29,30,31}, then the sequence numbers in the third sequence with a value greater than or equal to 16 correspond to each sequence number value in the second sequence minus 32.

[0147] In this way, it can be ensured that the second sequence corresponds to the second half of the third sequence, that is, the second sequence is nested in the third sequence, thereby adapting to the requirements of IR-HARQ.

[0148] Optionally, the sequence numbers in the second subset of the first sequence are N1 consecutive sequence numbers in the first sequence.

[0149] A subsequence consisting of N1 consecutive channel sequences is read from the first sequence. For example, if the length M of the first sequence is 4N1, then subsequences such as 0 to (N1-1), 1 to N1, (N1-1) to (2N1-1), ..., 3N1 to (4N1-1) can be selected as the second subset. Each subsequence has a length of N1, increasing the flexibility of nested extraction.

[0150] Furthermore, the consecutive N1 sequence numbers may include the consecutive N1 sequence numbers starting from the n×N1th sequence number, where n is an integer greater than or equal to 0. The consecutive N1 sequence numbers starting from the n×N1th sequence number are the sequence numbers from the n×N1th sequence number to the (n+1)×N1-1th sequence number. For example, if the length M of the first sequence is 4N1, subsequences of 0 to (N1-1), N1 to (2N1-1), 2N1 to (3N1-1), and 3N1 to (4N1-1) can be extracted from the first sequence as the second subset, increasing the flexibility of nested extraction.

[0151] The second subset of the first sequence can include N1 sequence numbers in the first sequence whose sequence numbers are less than N1. For example, if the first sequence is {0, 1, 2, 4, 8, 6, 5, 9, 3, 10, 12, 7, 11, 13, 14, 15}, the subsequence {0, 1, 2, 4, 6, 5, 3, 7} with sequence numbers less than 8 is extracted from the first sequence as the second subset, increasing the flexibility of nested extraction.

[0152] Optionally, the sequence numbers of the second subset of the first sequence are greater than or equal to (M-N1). By nested extraction of sequence numbers greater than or equal to (M-N1) from the first sequence, a second subset of sequence numbers including N1 channels is obtained. In this way, subsequences of different lengths can be nested and extracted to construct codewords, increasing the flexibility of nested extraction and reducing the complexity of polar code construction.

[0153] Optionally, the first subset is determined from the second subset. That is, the second subset can be first extracted from the first sequence in a nested manner, and then the first subset with a sequence number greater than or equal to (MN) can be obtained from the second subset. In other words, the second subset of the first sequence is now the same as the first sequence, increasing the flexibility of nested extraction.

[0154] For example, M=64, N=16, N1=32, and the first sequence of length 64 is:

[0155] {0,1,2,4,8,16,32,3,5,9,6,17,10,18,12,33,20,34,24,36,7,11,40,19,13,48,14,21,35,26,37,25,22,38,41,28,42,49,44,50,15,52,23,56,27,39,29,43,30,45,51,46,53,54,57,58,60,31,47,55,59,61,62,63}.

[0156] A third sequence of 32 sequence numbers whose sequence numbers are less than 32 is extracted from the first sequence. The third sequence is: {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}. A second sequence is extracted from the third sequence. The second sequence corresponds to the order of the sequence numbers in the third sequence.

[0157] Optionally, in response to data retransmission, performing polarization coding according to the third sequence to obtain second coded data may include: obtaining K information bits in response to data retransmission; and performing polarization coding on the K information bits according to the second sequence and the third sequence to obtain the second coded data.

[0158] An information bit sequence to be encoded is obtained. The information bit sequence to be encoded may include K information bits, where K is a positive integer less than or equal to N.

[0159] Furthermore, polarization coding the K information bits according to the second and third sequences to obtain second coded data may include: constructing a first information bit set according to the second sequence, and constructing a second information bit set according to the third sequence, wherein the first information bit set includes K channels corresponding to the K sequence numbers in the second sequence from the back to the front according to the reliability index, and the second information bit set includes K channels corresponding to the K sequence numbers in the third sequence from the back to the front according to the reliability index, where K is a positive integer. Channels corresponding to sequence numbers in the second information bit set whose values ​​are less than N1-N are extracted to obtain a first information bit subset. The second information bit set is subtracted from the third information bit set to obtain a second information bit subset, wherein the sequence number i of the channel in the third information bit set corresponds one-to-one to the sequence number j of the channel in the first information bit set. Polarization coding the K information bits according to the first information bit set, the second information bit set, the first information bit subset, and the second information bit subset is performed to obtain the second coded data.

[0160] Based on the second sequence, K positions with higher reliability are selected as the first information bit set. Based on the third sequence, select K positions with higher reliability as the second information bit set and Used to place K information bits, and the rest of the positions are set to 0. and Determine the first information bit subset and the second subset of information bits yes The subset of channels corresponding to sequence numbers less than N1-N. is a collection in, The element i in The elements j in are in one-to-one correspondence.

[0161] In a specific embodiment, the one-to-one correspondence between the sequence number i of the channel in the third information bit set and the sequence number j of the channel in the first information bit set may include: i=j+N, that is, Each sequence number value in is equal to Each sequence number value in the first subset is added with N. When the second sequence is each sequence number value in the first subset minus MN, i=j+N.

[0162] For example, as shown in FIG9 , K=7, M=16, N=8, N1=16, the first communication device extracts a first subset {8,9,10,12,11,13,14,15} whose sequence number is greater than or equal to 8 from the first sequence {0,1,2,4,8,6,5,9,3,10,12,7,11,13,14,15}, subtracts 8 from each sequence number value of the first subset, and converts the obtained subsequence {0,1 ,2,4,3,5,6,7} is determined as the second sequence, and the second subset {0,1,2,4,8,6,5,9,3,10,12,7,11,13,14,15} with sequence numbers greater than or equal to 0 is extracted. Each sequence number value in the second subset is subtracted by 0, and the resulting subsequence {0,1,2,4,8,6,5,9,3,10,12,7,11,13,14,15} is determined as the third sequence. The 7 positions {1,2,4,3,5,6,7} with higher reliability are selected from the second sequence as Select 7 positions {10, 12, 7, 11, 13, 14, 15} with higher reliability from the third sequence as yes The subset of channels corresponding to sequence numbers less than 8, that is, Each sequence number value in is equal to Add 8 to each serial number value in As shown in Figure 10, The corresponding shadow filling position in the figure is {9}, The black fill bit {7} corresponds to the shaded fill bit {9} in the corresponding figure.

[0163] In another specific embodiment, the one-to-one correspondence between the sequence number i of the channel in the third information bit set and the sequence number j of the channel in the first information bit set may include: i=j.

[0164] For example, M=16, N=8, N1=16, the first communication device extracts a first subset {8,9,10,12,11,13,14,15} with a sequence number greater than or equal to 8 from the first sequence {0,1,2,4,8,6,5,9,3,10,12,7,11,13,14,15}, determines the first subset as the second sequence, extracts a second subset {0,1,2,4,8,6,5,9,3,10,12,7,11,13,14,15} with a sequence number greater than or equal to 0, and determines the second subset as the third sequence. 7 positions {9,10,12,11,13,14,15} with higher reliability are selected from the second sequence as Select 7 positions {10, 12, 7, 11, 13, 14, 15} with higher reliability from the third sequence as yes The subset of channels corresponding to sequence numbers less than 8, that is, and They are all equal to {9,10,12,11,13,14,15},

[0165] S804: The second communication device obtains first information to be decoded.

[0166] The first information to be decoded may be the first coded data adjusted and sent by the first communication device and then received by the second communication device.

[0167] S805: The second communication device decodes the first information to be decoded according to the second sequence.

[0168] The second sequence may include sequence numbers of N channels, the second sequence is determined based on a first subset of the first sequence, the first sequence includes sequence numbers of M channels, the sequence numbers of the M channels are sorted from low to high in the first sequence according to the reliability of the channels, the number of sequence numbers contained in the first subset is N, and the values ​​of the sequence numbers in the first subset are greater than or equal to (MN).

[0169] S806: The second communication device outputs data obtained by decoding the first information to be decoded.

[0170] The specific implementation principles of S804-S806 are similar to those of the above-mentioned S801-S803, which can be understood by reference and will not be repeated here.

[0171] In summary, by nested extraction of sequence numbers with values ​​greater than or equal to (MN) from the first sequence, a first subset of sequence numbers including N channels is obtained. A second sequence of length N is determined based on the first subset, and polar coding is performed based on the second sequence. In this way, there is no need to store a sequence for each length. By extracting the second half of the first sequence, subsequences of different lengths can be nested and extracted to construct codewords. This increases the flexibility of nested extraction and reduces the complexity of polar code construction.

[0172] The method provided by the embodiment of the present application is described in detail above with reference to Figures 8 to 10. The communication device for executing the polar code encoding method provided by the embodiment of the present application is described in detail below with reference to Figures 11 and 12.

[0173] Figure 11 is a structural diagram of a communication device according to an embodiment of the present application. As shown in Figure 11 , the communication device 1100 includes a transceiver module 1101 and a processing module 1102. For ease of illustration, Figure 11 only shows the main components of the communication device.

[0174] The transceiver module 1101 is used to perform the transceiver function of the method shown in FIG. 8 , and the processing module 1102 is used to perform other functions of the method shown in FIG. 8 except the transceiver function.

[0175] Optionally, the transceiver module 1101 may include a sending module (not shown in FIG11 ) and a receiving module (not shown in FIG11 ). The sending module is used to implement the sending function of the communication device 1100 , and the receiving module is used to implement the receiving function of the communication device 1100 .

[0176] Optionally, the communication device 1100 may further include a storage module (not shown in FIG11 ) storing a program or instruction. When the processing module 1102 executes the program or instruction, the communication device 1100 may perform the functions of the terminal or network device in the method shown in FIG8 in the above method.

[0177] It can be understood that the communication device 1100 can be a terminal or a network device, or a chip (system) or other parts or components that can be set in a terminal or a network device, or a device that includes a terminal or a network device. This application does not limit this.

[0178] In addition, the technical effects of the communication device 1100 can refer to the technical effects of the polar code encoding method shown in Figures 8 to 10, and will not be repeated here.

[0179] Figure 12 is a second structural diagram of a communication device provided in an embodiment of the present application. Exemplarily, the communication device may be a terminal, or a chip (system) or other component or assembly that can be provided in a terminal. As shown in Figure 12, the communication device 1200 may include a processor 1201. Optionally, the communication device 1200 may further include a memory 1202 and / or a transceiver 1203. The processor 1201 is coupled to the memory 1202 and / or the transceiver 1203, such as by connecting via a communication bus, by connecting via an interface within the chip, or by connecting via other communication lines. Optionally, the memory 1202 may be integrated with the processor 1201.

[0180] The following is a detailed introduction to the various components of the communication device 1200 in conjunction with FIG12 :

[0181] The processor 1201 is the control center of the communication device 1200 and can be a single processor or a collective term for multiple processing elements. For example, the processor 1201 can be one or more central processing units (CPUs), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as one or more digital signal processors (DSPs) or one or more field programmable gate arrays (FPGAs).

[0182] Optionally, the processor 1201 may execute various functions of the communication device 1200, such as the polar code encoding method shown in FIG. 8, by running or executing a software program stored in the memory 1202 and calling data stored in the memory 1202.

[0183] In a specific implementation, as an embodiment, the processor 1201 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG12 .

[0184] In a specific implementation, as an embodiment, the communication device 1200 may also include multiple processors, such as the processor 1201 and the processor 1204 shown in FIG12 . Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0185] Among them, the memory 1202 is used to store the software program for executing the solution of this application, and the execution is controlled by the processor 1201. The specific implementation method can refer to the above method embodiment and will not be repeated here.

[0186] Alternatively, the memory 1202 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1202 may be integrated with the processor 1201 or exist independently and be coupled to the processor 1201 via an interface circuit (not shown in FIG. 12 ) of the communication device 1200. This embodiment of the present application does not specifically limit this.

[0187] Transceiver 1203 is used for communication with other communication devices. For example, if communication device 1200 is a terminal, transceiver 1203 can be used to communicate with a network device or another terminal device. For another example, if communication device 1200 is a network device, transceiver 1203 can be used to communicate with a terminal or another network device.

[0188] Optionally, the transceiver 1203 may include a receiver and a transmitter (not shown separately in FIG12 ), wherein the receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.

[0189] Optionally, the transceiver 1203 can be integrated with the processor 1201, or can exist independently and be coupled to the processor 1201 through the interface circuit of the communication device 1200 (not shown in Figure 12). This embodiment of the present application does not specifically limit this.

[0190] It is understandable that the structure of the communication device 1200 shown in FIG12 does not constitute a limitation on the communication device, and an actual communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0191] In addition, the technical effects of the communication device 1200 can refer to the technical effects of the methods described in the above method embodiments, and will not be repeated here.

[0192] It should be understood that the processor in the embodiments of the present application may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0193] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0194] The above embodiments can be implemented in whole or in part by software, hardware (such as circuits), firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (such as infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state drive.

[0195] It should be understood that the term "and / or" as used herein simply describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. A and B can be singular or plural. Furthermore, the character " / " as used herein generally indicates an "or" relationship between the associated objects, but it may also indicate an "and / or" relationship. For specific understanding, please refer to the context.

[0196] In this application, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.

[0197] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0198] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0199] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0200] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0201] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0202] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0203] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

Claims

1. A polar code encoding method, characterized in that: include: Acquire a first sequence, where the first sequence includes sequence numbers of M channels, and the sequence numbers of the M channels are sorted in the first sequence from low to high according to channel reliability; Performing polarization coding according to a second sequence to obtain first coded data, wherein the second sequence includes sequence numbers of N channels, the second sequence is determined based on a first subset of the first sequence, the number of sequence numbers included in the first subset is N, and values ​​of the sequence numbers in the first subset are greater than or equal to (MN); The first encoded data is output.

2. The method according to claim 1, characterized in that The method further comprises: Corresponding to data retransmission, polarization coding is performed according to a third sequence to obtain second coded data, wherein the third sequence includes sequence numbers of N1 channels, the third sequence is determined based on a second subset of the first sequence, the number of sequence numbers included in the second subset is N1, the third sequence corresponds to the second sequence, and N is less than or equal to N1.

3. The method according to claim 1, characterized in that: The second sequence is determined based on the first subset of the first sequence, comprising: The second sequence is a first subset of the first sequence; or, The second sequence is identical to each sequence number value in the first subset of the first sequence minus (MN).

4. The method according to claim 2, characterized in that: The third sequence is determined based on the second subset of the first sequence, comprising: The third sequence is a second subset of the first sequence; or, The third sequence is identical to each sequence number value in the second subset of the first sequence minus (M-N1).

5. The method according to claim 2, characterized in that: The sequence numbers of the second subset of the first sequence are N1 consecutive sequence numbers in the first sequence.

6. The method according to claim 5, characterized in that The consecutive N1 sequence numbers include consecutive N1 sequence numbers starting from the n×N1th sequence number, where n is an integer greater than or equal to 0.

7. The method according to claim 2, characterized in that The second subset of the first sequence includes N1 sequence numbers in the first sequence whose values ​​are less than N1.

8. The method according to claim 2, characterized in that: Corresponding to data retransmission, performing polarization coding according to a third sequence to obtain second coded data includes: Corresponding to data retransmission, K information bits are obtained; Polarization encoding is performed on the K information bits according to the second sequence and the third sequence to obtain the second encoded data.

9. The method according to claim 8, characterized in that The performing polarization coding on the K information according to the second sequence and the third sequence to obtain second coded data includes: constructing a first information bit set according to the second sequence, and constructing a second information bit set according to the third sequence, wherein the first information bit set includes K channels corresponding to K sequence numbers from the back to the front according to the reliability index in the second sequence, and the second information bit set includes K channels corresponding to K sequence numbers from the back to the front according to the reliability index in the third sequence, where K is a positive integer; Extract channels corresponding to sequence numbers whose values ​​are less than (N1-N) in the second information bit set to obtain a first information bit subset; Subtracting the third information bit set from the second information bit set to obtain a second information bit subset, wherein the sequence number i of the channel in the third information bit set corresponds one-to-one to the sequence number j of the channel in the first information bit set; Polarization encoding is performed on the K information bits according to the first information bit set, the second information bit set, the first information bit subset, and the second information bit subset to obtain the second encoded data.

10. A polar code decoding method, characterized in that: include: Acquire first information to be decoded; Decoding the first information to be decoded according to a second sequence, wherein the second sequence includes sequence numbers of N channels, the second sequence is determined based on a first subset of the first sequence, the first sequence includes sequence numbers of M channels, the sequence numbers of the M channels are sorted from low to high in the first sequence according to the reliability of the channels, the number of sequence numbers included in the first subset is N, and the values ​​of the sequence numbers in the first subset are greater than or equal to (MN); Output the data after decoding the first information to be decoded.

11. The method according to claim 10, characterized in that The method further comprises: Corresponding to the data retransmission, obtaining second information to be decoded; Decoding the second information to be decoded according to a third sequence, wherein the third sequence includes sequence numbers of N1 channels, the third sequence is determined based on a second subset of the first sequence, the number of sequence numbers included in the second subset is N1, the third sequence corresponds to the second sequence, and N is less than or equal to N1; Output the data after decoding the second information to be decoded.

12. The method according to claim 10, characterized in that The second sequence is determined based on the first subset of the first sequence, comprising: The second sequence is a first subset of the first sequence; or, The second sequence is identical to each sequence number value in the first subset of the first sequence minus (MN).

13. The method according to claim 11, characterized in that The third sequence is determined based on the second subset of the first sequence, comprising: The third sequence is a second subset of the first sequence; or, The third sequence is identical to each sequence number value in the second subset of the first sequence minus (M-N1).

14. The method according to claim 11, characterized in that The sequence numbers of the second subset of the first sequence are N1 consecutive sequence numbers in the first sequence.

15. The method according to claim 11, characterized in that The second subset of the first sequence includes sequence numbers from n×N1th to (n+1)×N1th in the first sequence, where n is an integer greater than or equal to 0.

16. The method according to claim 11, characterized in that The second subset of the first sequence includes N1 sequence numbers in the first sequence whose values ​​are less than N1.

17. The method according to claim 11, characterized in that The decoding the second information to be decoded according to the third sequence includes: The second information to be decoded is decoded according to the second sequence and the third sequence.

18. The method according to claim 17, characterized in that The decoding the second information to be decoded according to the second sequence and the third sequence includes: constructing a first information bit set according to the second sequence, and constructing a second information bit set according to the third sequence, wherein the first information bit set includes K channels corresponding to K sequence numbers from the back to the front according to the reliability index in the second sequence, and the second information bit set includes K channels corresponding to K sequence numbers from the back to the front according to the reliability index in the third sequence, where K is a positive integer; Extract channels corresponding to sequence numbers whose values ​​are less than (N1-N) in the second information bit set to obtain a first information bit subset; Subtracting the third information bit set from the second information bit set to obtain a second information bit subset, wherein the sequence number i of the channel in the third information bit set corresponds one-to-one to the sequence number j of the channel in the first information bit set; The second information to be decoded is decoded according to the first information bit set, the second information bit set, the first information bit subset and the second information bit subset.

19. A communication device, characterized in that: The communication device comprises: a processor and a memory; the memory is used to store computer instructions, and when the processor executes the instructions, the method according to any one of claims 1 to 18 is executed.

20. A communication system, characterized in that: The communication device comprises: a terminal and a network device; the terminal and the network device are used to execute the method according to any one of claims 1-18.

21. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program or instructions, and when the computer program or instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 18.

Citation Information

Patent Citations

  • Polar code encoding and decoding method and device

    CN113922824A

  • Polarization coding method and device

    CN114513212A

  • Polarization coding method and device

    CN114513280A