Encoding method and apparatus, decoding method and apparatus

CN123019952APending Publication Date: 2026-10-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510575074.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0003]但是,在N较大的情况下,构造对应的可靠度排序的复杂度较高

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123019952A_ABST
    Figure CN123019952A_ABST
Patent Text Reader

Abstract

The application discloses an encoding method and device and a decoding method and device, relates to the technical field of communication, and can reduce the implementation complexity of polar encoding while improving the encoding performance and decoding performance. The method comprises the following steps: a sending end device determines a to-be-encoded bit sequence with a length of N according to an information bit sequence with a length of K and M first position sets; and the to-be-encoded bit sequence is polar-encoded to obtain and output an encoded bit sequence with a length of N. The positions in the mth first position set in the M first position sets carry Km information bits in the information bit sequence; m=0, 1,..., M-1, the mth first position set comprises one or more positions in the positions except the second position set in the N positions; the M first position sets are associated with Z reliability sequences, the lengths of at least two reliability sequences in the Z reliability sequences are the same, and the bit indexes of the at least two reliability sequences are different in sequence; and the second position set comprises rate matching bit positions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In communication systems, polar coding can be used to polarize and encode a sequence of information bits of length K. For example, the transmitting device can place the information bit sequence into the K most reliable positions out of N positions based on a reliability sequence of length N, thus constructing a bit sequence of length N to be encoded; then, polar coding can be performed on this bit sequence to obtain an encoded bit sequence of length N, where K and N are both positive integers.

[0003] However, when N is large, constructing the corresponding reliability order becomes highly complex. Therefore, simplifying the determination of the reliability sequence during polar coding becomes an urgent problem to be solved. Summary of the Invention

[0004] This application provides an encoding method and apparatus, and a decoding method and apparatus, which can simplify the determination of reliability sequences, thereby reducing the implementation complexity of polar coding.

[0005] Firstly, this application provides an encoding method that can be executed by a transmitting device. Unless otherwise specified, "transmitting device" in this application can refer to a transmitting device, a component used in the transmitting device (e.g., a processor, a circuit or chip responsible for encoding functions (such as a modem chip, also known as a baseband chip, or a system-on-chip (SoC) chip or system-in-package (SIP) chip containing a modem core, etc.), or a logic module or software capable of implementing all or part of the functions of the transmitting device. The component used in the transmitting device can be within the transmitting device or can be independent of the transmitting device.

[0006] The method includes: determining a bit sequence of length N to be encoded based on an information bit sequence of length K and M first position sets; performing polar coding on the bit sequence to be encoded to obtain an encoded bit sequence of length N; and outputting the encoded bit sequence.

[0007] Where K is a positive integer and N is a positive integer power of 2; K is the bit sequence of the position-carrying information in the m-th first position set among the M first position sets. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. The m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M; the bit indices in the reliability sequences are sorted according to reliability; there are at least two reliability sequences with the same length but different orders among the Z reliability sequences; the second position set includes rate-matching bit positions.

[0008] In the first aspect of the method, compared to determining K positions out of N positions to carry the information bit sequence, in this application, the transmitting device can determine M first position sets, and determine K positions from the m-th first position set among the M first position sets. m Each position carries information bits. Since the number of positions included in any of the M first position sets is less than N, the design complexity of the required reliability sequence can be reduced, thereby reducing the implementation complexity of polar coding.

[0009] Furthermore, the M first position sets can be associated with Z reliability sequences. On one hand, at least two reliability sequences among the Z reliability sequences have the same length but different bit index orders. This ensures that at least two of the M first position sets are associated with reliability sequences where the bit index orders are different, thus allowing the determined positions used to carry information bits to have higher reliability (or, in other words, allowing positions with higher reliability among N positions to carry information bits), thereby improving error correction performance. On the other hand, since the number of positions included in any of the M first position sets is less than N, the length of any of the Z reliability sequences associated with the M first position sets can be less than N. This reduces the design complexity of the required reliability sequences, thereby reducing the implementation complexity of polar coding.

[0010] Secondly, this application provides a decoding method that can be executed by a receiving device. Unless otherwise specified, "receiving device" in this application can refer to a receiving device, or a component used in the receiving device (e.g., a processor, a circuit or chip responsible for encoding functions (such as a modem chip, also known as a baseband chip, or a system-on-a-chip or system-in-package chip containing a modem core, etc.), or a logic module or software that can implement all or part of the functions of the receiving device. The component used in the receiving device can be within the receiving device or can be independent of the receiving device.

[0011] The method includes: receiving information to be decoded; the length of the encoded bit sequence corresponding to the information to be decoded is N, where N is a positive integer power of 2; and polar decoding of the information to be decoded based on M first position sets to obtain the decoding result.

[0012] Among them, the position in the m-th first position set of the M first position sets carries a sequence of information bits of length K. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. K is a positive integer; the m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M; the bit indices in the reliability sequences are sorted according to reliability; there are at least two reliability sequences with the same length but different orders among the Z reliability sequences; the second position set includes rate-matching bit positions.

[0013] In the second aspect of the method, compared to determining K positions out of N positions to carry the information bit sequence, in this application, the receiving device can determine M first position sets, and determine K positions from the m-th first position set among the M first position sets. m Each position carries information bits. Since the number of positions included in any of the M first position sets is less than N, the design complexity of the required reliability sequence can be reduced, thereby reducing the implementation complexity of decoding.

[0014] Furthermore, the M first position sets can be associated with Z reliability sequences. If at least two of the Z reliability sequences have the same length but different bit index orders, it ensures that at least two of the M first position sets are associated with reliability sequences that have different bit index orders. This allows the determined positions used to carry information bits to have higher reliability (or, in other words, allows the positions with higher reliability among the N positions to carry information bits), thus improving error correction performance.

[0015] Combining the first or second aspect, one possible implementation is the most reliable K in the m-th first position set. m Each location carries K m One information bit.

[0016] Based on this possible implementation, the reliability corresponding to the positions included in the M first location sets can be determined based on Z reliability sequences. The K value of the most reliable position in the m-th first location set among the M first location sets can be... mBy determining the positions of the information bits, we can ensure that the information bit sequence of length K is located in the most reliable position among the N positions, which can improve error correction performance and thus improve encoding and decoding performance.

[0017] In conjunction with the first or second aspect, one possible implementation is that the second set of positions also includes additional bit positions.

[0018] The additional bit positions can be any of the N positions other than the rate matching bit position and the information bit position.

[0019] The positions included in the first set of positions can be referred to as pre-frozen bit positions.

[0020] Based on this possible implementation, the M first position sets can include positions other than the rate matching bit positions and additional bit positions from the N positions. That is, the M first position sets exclude the rate matching bit positions and additional bit positions that may be affected by rate matching. The position of the information bit can be directly determined in the m-th first position set of the M first position sets, which can improve transmission performance.

[0021] Combining the first or second aspect, one possible implementation is that the sum of the lengths of the Z reliability sequences is less than or equal to N.

[0022] Based on this possible implementation, the range of values ​​for the sum of the lengths of the Z reliability sequences can be expanded, thereby increasing the flexibility and diversity in determining the Z reliability sequences. Furthermore, the Z reliability sequences can be flexibly determined based on the actual communication scenario or situation, allowing them to better meet communication requirements and thus improve communication performance.

[0023] In conjunction with the first or second aspect, one possible implementation is that the reliability sequence corresponding to the j-th position among N positions is determined according to a first correspondence relationship. The first pre-defined relationship includes multiple reliability sequences and the index of the position corresponding to each reliability sequence among the N positions, j = 0, 1, ..., N-1.

[0024] Based on this possible implementation, the m-th first position set in the M first position sets can include some positions in the N positions. According to the first correspondence, the reliability sequence corresponding to the m-th first position set can be determined, thereby determining the reliability corresponding to the positions included in the m-th first position set. This simplifies the implementation of determining the reliability corresponding to the positions included in the M first position sets, and thus simplifies the implementation of polar coding.

[0025] In conjunction with the first or second aspect, one possible implementation is that the Z reliability sequences are obtained through one or more of the following methods: protocol predefinition, calculating and sorting the reliability of the polar code sub-channels using methods such as Gaussian approximation or density evolution, performing performance simulation on the error probability of the polar code sub-channels, or performing computer search based on the performance of the polar codes.

[0026] Based on this possible implementation, multiple methods are provided to determine the Z reliability sequences, which can improve the flexibility and diversity of determining the Z reliability sequences.

[0027] In conjunction with the first or second aspect, one possible implementation is that the length of any of the Z reliability sequences is any of the following: 256, 512, 1024, or 2048.

[0028] Based on this possible implementation, several feasible schemes are provided for determining the length of any one of the Z reliability sequences, which can improve the flexibility and diversity of determining the Z reliability sequences. Furthermore, the length of any one of the Z reliability sequences can be less than or equal to 2048, and can be less than N. Determining the reliability corresponding to the positions included in the M first position sets using the Z reliability sequences can simplify the implementation.

[0029] In conjunction with the first or second aspect, one possible implementation is that the length of the first reliability sequence in the Z reliability sequences is 1024, and the length of any reliability sequence other than the first reliability sequence in the Z reliability sequences is any of the following: 256, 512, 1024 or 2048.

[0030] Based on this possible implementation, one of the Z reliability sequences can be of length 1024. Polar coding and decoding can be directly implemented using the reliability sequences shown in Table 1 below, while maintaining forward compatibility, thus simplifying the implementation of polar coding and decoding.

[0031] In combination with the first or second aspect, one possible implementation is that the reliability corresponding to a position in any of the M first position sets is associated with a reliability sequence in one of the Z reliability sequences.

[0032] Based on this possible implementation, Z reliability sequences can determine the reliability corresponding to the positions included in M ​​first position sets. Since the number of positions included in any first position set in the M first position sets is less than N, the length of any reliability sequence in the Z reliability sequences associated with the M first position sets can be less than N, which can reduce the design complexity of the required reliability sequences, thereby reducing the implementation complexity of encoding and decoding.

[0033] In conjunction with the first or second aspect, one possible implementation is that the order of the bit indices in the reliability sequence associated with the t1-th first position set among the M first position sets is different from the order of the bit indices in the reliability sequence associated with the t2-th first position set; t1 is an integer from 0 to M-1, t2 is an integer from 0 to M-1, and t1 is not equal to t2. Alternatively, the order of the bit indices in the reliability sequence associated with the t3-th first position set among the M first position sets is the same as the order of the bit indices in the reliability sequence associated with the t4-th first position set; t3 is an integer from 0 to M-1, t4 is an integer from 0 to M-1, and t3 is not equal to t4.

[0034] Based on this possible implementation, the bit index order in the reliability sequences associated with at least two of the M first position sets can be the same or different. When the bit index order is the same in the reliability sequences associated with at least two first position sets, determining the Z reliability sequences can be simplified, thereby reducing the implementation complexity of encoding and decoding. When the bit index order is different in the reliability sequences associated with at least two first position sets, the reliability corresponding to the positions included in the at least two first position sets can be determined more accurately, improving error correction performance, and thus improving encoding and decoding performance.

[0035] In conjunction with the first or second aspect, one possible implementation is that among the M first position sets, there exist B first position sets whose number of positions is not a positive integer power of 2, and among the remaining M first position sets, any one of the first position sets contains a positive integer power of 2, where B is less than or equal to 2.

[0036] Based on this possible implementation, at most two of the M first position sets can contain a number of positions that are not positive integer powers of 2, which can increase the flexibility of system design and simplify the implementation of polar coding and decoding.

[0037] In conjunction with the first or second aspect, one possible implementation is that there are M sets of third positions among the N positions, and the m-th set of the M sets of third positions includes multiple positions with consecutive indices among the N positions, and the number of positions included in the m-th set of third positions is a positive integer power of 2; the number of positions included in the m-th set of third positions is the same as the length of one of the Z reliability sequences; the m-th set of first positions is the m-th set of third positions; or, the m-th set of first positions includes positions in the m-th set of third positions other than the second set of positions.

[0038] Based on this possible implementation, M sets of third positions can be determined based on N positions. The m-th set of the M sets of third positions can include the m-th set of first positions. Since the number of positions included in the m-th set of third positions is a positive integer power of 2, and the length of any reliability sequence is a positive integer power of 2, the reliability of the positions included in the m-th set of third positions can be determined through the reliability sequence, and thus the reliability of the m-th set of first positions can be determined.

[0039] In conjunction with the first or second aspect, one possible implementation is that one of the M third position sets contains 1024 positions, and the number of positions contained in any of the remaining M-1 third position sets is any of the following: 256, 512, or 1024.

[0040] Based on this possible implementation, one of the M third position sets can contain 1024 positions. The reliability of the positions contained in this third position set can be directly determined by the reliability sequence shown in Table 1 below. Forward compatibility can be maintained, thereby simplifying the implementation of polar coding and decoding.

[0041] In combination with the first or second aspect, one possible implementation is that the M sets of third positions include N' positions. The set of third positions corresponding to the i-th position among the N' positions is determined according to the second correspondence, which includes the index of multiple sets of third positions and the index of the position included in each set of third positions among the N' positions, i = 0, 1, ..., N'-1.

[0042] Based on this possible implementation, the position included in any of the M third position sets can be determined according to the second correspondence, which can simplify the implementation of determining the M third position sets, thereby simplifying the implementation of polar coding.

[0043] In conjunction with the first or second aspect, one possible implementation is that the M third position sets include N positions; or, the M third position sets include positions from the N positions excluding at least one fourth position set, where each fourth position set includes a series of consecutive rate-matched bit positions, and the total number of positions included in at least one fourth position set is less than or equal to (NE), where E is the length after rate matching.

[0044] Based on this possible implementation, when the M sets of third positions include N positions, the N positions can be divided into M sets of third positions, simplifying the determination of the implementation of the M sets of third positions and thus simplifying the implementation of polar coding. Alternatively, when the M sets of third positions include positions other than at least one set of fourth positions among the N positions, the M sets of third positions can include fewer rate-matching bit positions. Since the m-th set of third positions includes the m-th set of first positions, the M sets of first positions can be made as close as possible to the master code, simplifying the determination of information bit positions; at the same time, information bits can be carried in positions with higher reliability, improving error correction performance, thereby improving coding and decoding performance.

[0045] In conjunction with the first or second aspect, one possible implementation is that, when the rate matching bit position is from the 0th to the (NE-1)th position out of N positions, the 1st to the (M-1)th third position set out of the M third position sets does not include the rate matching bit position; or, when the rate matching bit position is from the Eth to the (N-1)th position out of N positions, the 0th to the (M-2)th third position set out of the M third position sets does not include the rate matching bit position.

[0046] Based on this possible implementation, none of the M-1 third position sets may include rate-matching bit positions. Since the m-th third position set includes the m-th first position set, the M first position sets can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding and decoding performance.

[0047] Combining the first or second aspect, one possible implementation is that N positions correspond to X sets of fifth positions. The xth fifth position set among the X sets of fifth positions includes multiple positions with consecutive indices from the N positions, where x = 0, 1, ..., X-1, and X is an integer greater than or equal to M. The number of positions included in the xth fifth position set is a positive integer power of 2, and the sum of the number of positions included in the X sets of fifth positions is N. The mth third position set is the (q+m)th fifth position set among the X sets of fifth positions.

[0048] Where q is (XM-1), the sum of the number of positions included in the 0th to (q-1)th fifth position sets in the X fifth position sets is greater than (NE), and the sum of the number of positions included in the 0th to (q-1)th fifth position sets in the X fifth position sets is less than (NE); or, the sum of the number of positions included in the 0th to (q-1)th fifth position sets in the X fifth position sets is equal to (NE); E is the length after rate matching.

[0049] Based on this possible implementation, the positions included in the first q (i.e., XM-1) fifth position sets out of the X fifth position sets can be determined as rate-matching bit positions. Then, the last (Xq-1) (i.e., M) fifth position sets out of the X fifth position sets can be determined as M third position sets. This reduces the number of rate-matching bit positions included in the determined M third position sets. Since the m-th third position set includes the m-th first position set, the M first position sets can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding and decoding performance.

[0050] Combining the first or second aspect, one possible implementation is that N positions correspond to X sets of fifth positions. The xth fifth position set among the X sets of fifth positions includes multiple positions with consecutive indices from the N positions, where x = 0, 1, ..., X-1, and X is an integer greater than or equal to M. The number of positions included in the xth fifth position set is a positive integer power of 2, and the sum of the number of positions included in the X sets of fifth positions is N. The mth third position set is the mth fifth position set among the X sets of fifth positions.

[0051] Among these, the sum of the number of positions included in the (M-1)th to (X-1)th fifth position sets in the X fifth position sets is greater than (NE), and the sum of the number of positions included in the Mth to (X-1)th fifth position sets in the X fifth position sets is less than (NE); or, the sum of the number of positions included in the Mth to (X-1)th fifth position sets in the X fifth position sets is equal to (NE); E is the length after rate matching.

[0052] Based on this possible implementation, the positions included in the last (XM-1) fifth position sets out of the X fifth position sets can be determined as rate-matching bit positions. Furthermore, the first M fifth position sets out of the X fifth position sets can be determined as M third position sets. This reduces the number of rate-matching bit positions included in the determined M third position sets. Since the m-th third position set includes the m-th first position set, the M first position sets can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding and decoding performance.

[0053] Combining the first or second aspect, one possible implementation, K m It is associated with Z reliability sequences.

[0054] Based on this possible implementation, the number K of information bits corresponding to the m-th first position set can be determined. m This allows the information bit sequence to be located in the most reliable position among the N positions, which can improve error correction performance, thereby improving encoding and decoding performance.

[0055] Thirdly, embodiments of this application provide a communication device that can be applied to the transmitting end device described in the first aspect to realize the functions performed by the transmitting end device. This communication device can be the transmitting end device itself, or it can be a transmitting chip, chip system, or system-on-a-chip, etc. The communication device can execute the functions performed by the transmitting end device through hardware, or it can execute corresponding software through hardware. The hardware or software includes one or more modules corresponding to the above functions. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations, or it can cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations, or it can cooperate with the transceiver module to complete the following processing operations, without limitation.

[0056] For example, the processing module is used to determine a bit sequence of length N to be encoded based on an information bit sequence of length K and M first position sets; the processing module is also used to perform polar coding on the bit sequence to be encoded to obtain an encoded bit sequence of length N; the transceiver module is used to output the encoded bit sequence.

[0057] Where K is a positive integer and N is a positive integer power of 2; K is the bit sequence of the position-carrying information in the m-th first position set among the M first position sets. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. The m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M; the bit indices in the reliability sequences are sorted according to reliability; there are at least two reliability sequences with the same length but different orders among the Z reliability sequences; the second position set includes rate-matching bit positions.

[0058] Optionally, the transceiver module and processing module of the communication device in the third aspect may also perform the corresponding functions in the first aspect or any possible design of the first aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.

[0059] Fourthly, embodiments of this application provide a communication device that can be applied to the receiving device described in the second aspect to achieve the functions performed by the receiving device. This communication device can be the receiving device itself, or a chip, chip system, or system-on-a-chip within the receiving device. The communication device can execute the functions performed by the receiving device through hardware or through corresponding software. The hardware or software includes one or more modules corresponding to the functions described above. For example, a transceiver module and a processing module. The transceiver module can independently complete the following transceiver operations or cooperate with the processing module to complete the following transceiver operations; correspondingly, the processing module can independently complete the following processing operations or cooperate with the transceiver module to complete the following processing operations, without limitation.

[0060] For example, the transceiver module is used to receive the information to be decoded; the length of the encoded bit sequence corresponding to the information to be decoded is N, where N is a positive integer power of 2; the processing module is used to perform polarization decoding on the information to be decoded based on M first position sets to obtain the decoding result.

[0061] Among them, the position in the m-th first position set of the M first position sets carries a sequence of information bits of length K. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. K is a positive integer; the m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M; the bit indices in the reliability sequences are sorted according to reliability; there are at least two reliability sequences with the same length but different orders among the Z reliability sequences; the second position set includes rate-matching bit positions.

[0062] Optionally, the transceiver module and processing module of the communication device in the fourth aspect may also perform the corresponding functions in the second aspect or any possible design of the second aspect, as detailed in the method examples, and the beneficial effects that can be achieved can also be found in the foregoing related content.

[0063] Fifthly, this application provides a communication device that performs the functions described in the first aspect above. For example, the communication device includes modules, units, or means corresponding to the operations involved in the first aspect above. These modules, units, or means can be implemented in software, hardware, or a combination of software and hardware. Alternatively, the communication device performs the functions described in the second aspect above. For example, the communication device includes modules, units, or means corresponding to the operations involved in the second aspect above. These modules, units, or means can be implemented in software, hardware, or a combination of software and hardware.

[0064] In a sixth aspect, embodiments of this application provide a communication device, which includes one or more processors; the one or more processors are configured to run computer programs or instructions, such that when the one or more processors execute the computer instructions or instructions, the encoding method described in the first aspect is executed, or the decoding method described in the second aspect is executed.

[0065] In one possible design, the communication device further includes one or more memories coupled to one or more processors, the memories used to store the aforementioned computer programs or instructions. In one possible implementation, the memories are located outside the communication device. In another possible implementation, the memories are located inside the communication device. In embodiments of this application, the processor and memory may also be integrated into a single device, i.e., the processor and memory may be integrated together. In one possible implementation, the communication device further includes a transceiver for receiving and / or transmitting information.

[0066] In one possible design, the communication device further includes one or more communication interfaces coupled to one or more processors, and the communication interfaces are used to communicate with other modules outside the communication device.

[0067] In a seventh aspect, embodiments of this application provide a communication device, which includes an interface circuit and a logic circuit; the interface circuit is used for inputting and / or outputting information; the logic circuit is used to perform the encoding method as described in the first aspect, processing and / or generating information based on the information; or to perform the decoding method as described in the second aspect, processing and / or generating information based on the information.

[0068] Eighthly, embodiments of this application provide a computer-readable storage medium storing computer instructions or programs that, when executed on a computer, cause the encoding method described in the first aspect to be executed, or cause the decoding method described in the second aspect to be executed.

[0069] In a ninth aspect, embodiments of this application provide a computer program product containing computer instructions that, when run on a computer, cause the encoding method described in the first aspect to be executed, or cause the decoding method described in the second aspect to be executed.

[0070] In a tenth aspect, embodiments of this application provide a computer program that, when run on a computer, causes the encoding method as described in the first aspect to be executed, or causes the decoding method as described in the second aspect to be executed.

[0071] Eleventhly, embodiments of this application provide a chip, including: a processor coupled to a memory, the memory being used to store programs or instructions, which, when executed by the processor, cause the encoding method as described in the first aspect to be executed, or cause the decoding method as described in the second aspect to be executed.

[0072] The technical effects of any of the design methods in aspects three through eleven can be found in the technical effects of any of the aspects one and two mentioned above, and will not be elaborated upon further.

[0073] In a twelfth aspect, embodiments of this application provide a communication system that may include communication means for performing the communication described in the first aspect or any possible design of the first aspect, and communication means for performing the communication described in the second aspect or any possible design of the second aspect. Attached Figure Description

[0074] Figure 1 A schematic diagram of a polar code encoding provided for an embodiment of this application;

[0075] Figure 2 A schematic diagram of a communication system provided in an embodiment of this application;

[0076] Figure 3 A schematic diagram illustrating encoding and decoding of a transmitting end device and a receiving end device according to an embodiment of this application;

[0077] Figure 4 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0078] Figure 5 A flowchart illustrating an encoding and decoding method provided in an embodiment of this application;

[0079] Figure 6 A schematic diagram illustrating the division of N positions as provided in an embodiment of this application;

[0080] Figure 7 This is a schematic diagram of the structure of a transmitting device provided in an embodiment of this application;

[0081] Figure 8 This is a schematic diagram of the structure of a receiving device provided in an embodiment of this application;

[0082] Figure 9 This is a schematic diagram of another communication device provided in an embodiment of this application;

[0083] Figure 10 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation

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

[0085] Polar codes are the first coding scheme that can be rigorously proven to "achieve" Shannon channel capacity. They have advantages such as good decoding performance and low complexity, and have been selected by the Third Generation Partnership Project (3GPP) standard as the control channel coding scheme for fifth-generation (5G) enhanced mobile broadband (eMBB) scenarios. At different code lengths, especially for finite code lengths, polar codes outperform Turbo codes and low-density parity-check (LDPC) codes.

[0086] Polar codes are linear code blocks, and the transmitting device can generate a generator matrix G of size (or length) N based on this. N Polar coding is performed on an information bit sequence of length K to obtain a coded bit sequence of length N. Both N and K are positive integers.

[0087] Here, a generating matrix of size N can be understood as an N-row, N-column matrix. For example, the generating matrix G N The following formula can be satisfied: n = log₂N, It can be understood as the product of n F2 Kronecker products.

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

[0089] For example, the transmitting device can construct a bit sequence of length N to be encoded based on the information bit sequence (e.g., ...). This allows the bit sequence to be encoded to be coupled with the generator matrix G. N Multiply to obtain the encoded bit sequence Right now

[0090] Furthermore, the transmitting device can perform rate matching on the encoded bit sequence to obtain a rate-matched information sequence and output it. Rate matching refers to removing some bits from the encoded bit sequence without transmitting them, or repeating the transmission of some bits. The rate matching methods are further explained below in three categories.

[0091] Punching: Punching refers to directly creating holes in certain bit positions within a coded bit sequence without transmitting them, thus generating bit sequences of arbitrary length. On the decoding side, since there is no information at the corresponding punctured positions, the log-likelihood ratio (LLR) of the corresponding bit is set to 0.

[0092] Shortening: Shortening involves fixing certain bit positions in the coded bit sequence to a fixed value, thus eliminating the need for transmission. On the decoding side, since the corresponding shortened positions are known at the receiver (usually 0), the LLR of the corresponding bit is set to infinity.

[0093] Repetition: "Repetition" refers to obtaining a longer bit sequence by repeatedly sending a portion of the bits in the encoded bit sequence.

[0094] Optionally, the encoding process of the above polar codes can also be represented by a fence diagram. That is, the bit sequence to be encoded can be placed on the left side of the fence diagram (the bit sequence to be encoded can be understood as the input of the fence diagram), and n-order butterfly operations can be performed sequentially from left to right to obtain the encoded bit sequence (the encoded bit sequence can be understood as the output of the fence diagram). For example, taking N as 16, the fence diagram corresponding to the polar code can be as follows: Figure 1 As shown.

[0095] For constructing a bit sequence to be encoded, K information bit positions in the bit sequence can carry information bit sequences, and these K information bit positions are included in a first position set (denoted as A); in addition, positions in the bit sequence to be encoded other than those in the first position set can carry fixed values ​​pre-agreed upon by the transmitting and receiving ends, and these positions are included in a second position set (denoted as A). c It is understandable that the complement of A is A. c .

[0096] It is understood that a position can be indicated by its position number, which can be called a position index or a bit index. In other words, the position set in this application (such as a first position set or a second position set) can include the position number.

[0097] Based on the above description of polar codes, the key problem in constructing polar codes lies in determining the first set of positions. There are two possible implementations for determining the first set of positions:

[0098] In the first possible implementation, methods such as density evolution or Gaussian analysis can be used to determine the polarization channel error probability corresponding to the u-th position among N positions. Then, from the polarization channel error probabilities corresponding to the N positions, the K positions with the minimum polarization channel error probabilities can be determined, and these K positions constitute the first position set. Determining the first position set based on the first possible implementation requires calculating the polarization channel error probability corresponding to each position for different channel states. However, in real-world scenarios, channels are highly variable, making this method difficult to implement in practical applications.

[0099] Where u = 0, 1, ..., N-1. The N positions can be understood as the 0th, 1st, ..., N-1th positions in a bit sequence of length N used to carry bits (such as information bits or fixed values). It can be understood that the initial position in the N positions can also be described as the 1st position, and correspondingly, the end position in the N positions can be described as the Nth position, without restriction.

[0100] In the second possible implementation, the first position set can be determined by a reliability sequence. Specifically, a reliability sequence of length N can be determined, and the first position set can include the K most reliable positions in the reliability sequence of length N. For example, if N is 8, the reliability sequence of length 8 can be [0 1 2 4 3 5 6 7]. If K is 2, the first position set can be [6 7]; or, if K is 4, the first position set can be [3 5 6 7]. In this implementation, the transmitting device can pre-store the reliability sequence and implement polar coding based on the reliability sequence, which is simple to implement in practical applications.

[0101] In this application, the starting bit of the sequence (such as the bit sequence to be encoded or the reliability sequence, etc.) is the 0th bit. The starting bit of the sequence in this application can also be the 1st bit, and there is no restriction.

[0102] In one possible implementation, within the 5G standard, a reliability sequence of length 1024 can be pre-stored. The reliability sequence of length 1024 can be shown in Table 1, where... Indicates reliability. The reliability sequence represents the bit corresponding to the reliability level. It can be used to indicate the reliability of each bit position in the bit sequence to be encoded. The larger the reliability value, the more reliable the position corresponding to that reliability level.

[0103] Table 1 shows the reliability sequence of length 1024.

[0104]

[0105]

[0106]

[0107]

[0108] Understandably, the transmitting device can determine a reliability sequence of length N based on a reliability sequence of length 1024, and then perform polar coding on the information bit sequence based on the reliability sequence of length N to obtain a coded bit sequence of length N. However, when N is greater than 1024, a reliability sequence of length N cannot be determined based on Table 1. In other words, Table 1 does not support the construction of polar codes with larger lengths.

[0109] Therefore, the transmitting device can divide N positions into C sub-blocks (i.e., each sub-block can include N / C positions, and the reliability of the positions included in each sub-block can be determined based on a reliability sequence of length N / C). The most reliable one or more positions in each sub-block are used to carry information bits, and the sum of the number of information bits carried by the C sub-blocks can be K, to construct a bit sequence to be encoded of length N. This bit sequence can then be polar-coded to obtain the encoded bit sequence. In other words, the positions carrying information bits in the C sub-blocks can be understood as the first set of positions mentioned above.

[0110] Where C is a positive integer power of 2, and N / C is a positive integer power of 2 less than or equal to 1024 (e.g., N / C can be 32, 64, or 128, etc.). The reliability sequence of length N / C can be pre-stored, or determined based on Gaussian approximation, density evolution, mutual information density evolution, nested density evolution, or the reliability sequence of length 1024 shown in Table 1. In this method, the transmitting device can implement polar coding of the information bit sequence based on a single fixed reliability sequence, but the coding and decoding performance needs to be improved.

[0111] In summary, simplifying the determination of the reliability sequence has become an urgent problem to be solved.

[0112] This application provides an encoding method, which includes: determining a bit sequence of length N to be encoded based on an information bit sequence of length K and M first position sets; performing polar encoding on the bit sequence to be encoded to obtain and output an encoded bit sequence of length N. Here, K is a positive integer, and N is a positive integer power of 2; the position in the m-th first position set of the M first position sets carries Km information bits from the information bit sequence; m = 0, 1, ..., M-1, where M is an integer greater than 1. The m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M; the bit indices in the reliability sequences are sorted according to reliability; there are at least two reliability sequences with the same length but different orders among the Z reliability sequences; the second position set includes rate-matching bit positions.

[0113] In this embodiment of the application, compared to determining K positions from N positions to carry the information bit sequence, the transmitting device can determine M first position sets, and determine K positions from the m-th first position set among the M first position sets. mEach position carries information bits. Since the number of positions included in any of the M first position sets is less than N, the design complexity of the required reliability sequence can be reduced, thereby reducing the implementation complexity of polar coding.

[0114] Furthermore, the M first position sets can be associated with Z reliability sequences. On one hand, at least two reliability sequences among the Z reliability sequences have the same length but different bit index orders. This ensures that at least two of the M first position sets are associated with reliability sequences where the bit index orders are different, thus allowing the determined positions used to carry information bits to have higher reliability (or, in other words, allowing positions with higher reliability among N positions to carry information bits), thereby improving error correction performance. On the other hand, since the number of positions included in any of the M first position sets is less than N, the length of any of the Z reliability sequences associated with the M first position sets can be less than N. This reduces the design complexity of the required reliability sequences, thereby reducing the implementation complexity of polar coding.

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

[0116] The encoding and decoding methods provided in this application can be used in any communication system, such as a 3GPP communication system, for example, a long term evolution (LTE) system, or a 5G mobile communication system, a hybrid LTE and 5G network system, a new radio (NR) system, a vehicle-to-everything (V2X) system, a device-to-device (D2D) communication system, a machine-to-machine (M2M) communication system, an Internet of Things (IoT) system, a narrow band Internet of Things (NB-IoT) system, eMBB, ultra-reliable and low-latency communication (URLLC), enhanced machine-type communication (eMTC), and various types of future communication systems. They can also be non-terrestrial network (NTN) systems (such as satellite communication systems), non-3GPP communication systems, etc., without limitation.

[0117] The encoding and decoding methods provided in this application can be applied to various communication scenarios. For example, they can be applied to one or more of the following communication scenarios: encoding of control channels, encoding of data channels, etc., without limitation.

[0118] The following is based on Figure 2 Taking an example, the communication system provided in the embodiments of this application will be described.

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

[0120] in, Figure 2 The terminal device can be located within the beam / cell coverage area of ​​the network device, and the network device can provide communication services to the terminal device. For example, the network device can use channel coding to encode downlink data and then transmit it to the terminal device via air interface after constellation modulation (i.e., the network device is the transmitting end device, and the terminal device is the receiving end device); the terminal device can also use channel coding to encode uplink data and then transmit it to the network device via air interface after constellation modulation (i.e., the terminal device is the transmitting end device, and the network device is the receiving end device). It is understood that when network devices communicate with each other, or when terminal devices communicate with each other, communication can also be based on channel coding; that is, the transmitting end device and the receiving end device can both be network devices or both be terminal devices, without restriction.

[0121] The terminal device can be a device with wireless transceiver capabilities or a chip or chip system that can be installed on the device. It allows users to access the network and is used to provide voice and / or data connectivity to users. The terminal device can also be called user equipment (UE), subscriber unit, terminal, mobile station (MS), or mobile terminal (MT), etc., or any device used to provide voice or data connectivity to users, and can also be an Internet of Things (IoT) device. For example, terminal devices include handheld devices with wireless connectivity, vehicle-mounted devices, etc.

[0122] For example, terminal devices can be mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle equipment (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, and smart grids. Wireless terminals can be used in various applications, including wireless terminals in grids, transportation safety, smart cities, smart homes, and flying equipment (e.g., intelligent robots, hot air balloons, drones, airplanes). Terminal devices can also be vehicle-mounted devices, such as complete vehicle units, vehicle-mounted modules, vehicle-mounted chips, on-board units (OBUs) or telematics boxes (T-BOXs), vehicles with vehicle-to-everything (V2X) communication capabilities, intelligent connected vehicles, drones with UAV-to-UAV (U2U) communication capabilities, terminal devices in future networks, or terminal devices in future evolved public land mobile networks (PLMNs). Terminal devices can also be other devices with terminal functions; for example, a terminal device can also be a device that performs terminal functions in D2D communication, without limitation.

[0123] It is understood that the embodiments of this application do not limit the device form of the terminal. The device used to implement the functions of the terminal device can be the terminal device itself; it can also be a device that supports the terminal device in implementing the functions, such as a chip system. The device can be installed in the terminal device or used in conjunction with the terminal device. In the embodiments of this application, the chip system can be composed of chips or can include chips and other discrete devices. All or part of the functions of the terminal device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform).

[0124] in, Figure 2 The network equipment in this context can be any device deployed in the access network capable of wireless communication with terminal devices. It can also be a chip or chip system configurable within such devices, a logical node or module, or a function implemented in software. Its main responsibilities include air interface-side wireless physical control, resource scheduling, wireless resource management, quality of service management, data compression and encryption, wireless access control, and mobility management. Specifically, the network equipment can be either wired or wireless access-enabled.

[0125] For example, a network device may consist of one or more access network (AN) / radio access network (RAN) nodes. AN / RAN nodes can be various types of base stations, such as: satellite base stations, evolved Node Bs (gNBs), transmission reception points (TRPs), evolved Node Bs (eNBs), radio network controllers (RNCs), home base stations (e.g., home evolved Node Bs, or home Node Bs, HNBs), macro base stations, micro base stations, pico base stations, small cells, relay stations, balloon stations, unmanned aerial vehicle (UAV) stations, wireless backhaul nodes, base band units (BBUs), or wireless fidelity (Wi-Fi) access points (APs), etc. It is understood that the network device can be a ground-based device or a non-ground-based device (such as satellites, UAVs, high-altitude communication equipment, etc.). Furthermore, the names of network devices with base station functions may differ in communication systems employing different wireless access technologies; this application does not limit this.

[0126] In another example, the network equipment may include a BBU and a remote radio unit (RRU). The BBU and RRU can be located in different places; for example, the RRU can be moved remotely to a high-traffic area, while the BBU is located in the central equipment room. The BBU and RRU can also be located in the same equipment room. The BBU and RRU can also be different components under the same rack.

[0127] In another example, the network device can be a device that includes centralized unit (CU) nodes, distributed unit (DU) nodes, or both CU and DU nodes. For instance, the network device can be logically divided into CUs and DUs, with some protocol layer functions centrally controlled by the CU, and the remaining partial or complete protocol layer functions distributed in the DU, which is centrally controlled by the CU. The CU and DU can be separate entities or included in the same network element, such as a BBU. Furthermore, the centralized unit (CU) can be further divided into a control plane (CU-CP) and a user plane (CU-UP).

[0128] In another example, the network device may also be a device that includes a radio unit (RU), or a device that includes a CU, a DU, and a RU. The RU may be included in a radio frequency device or radio frequency unit, such as an RRU, an active antenna unit (AAU), or a remote radio head (RRH).

[0129] It is understood that CU (or CU-CP and CU-UP), DU, or RU may have different names in different systems, but those skilled in the art will understand their meaning. For example, in an open radioaccess network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through a software module, a hardware module, or a combination of software and hardware modules.

[0130] Based on the above description of the terminal device and network device, optionally, the encoding method and decoding method provided in the embodiments of this application can be implemented by the aforementioned terminal device or network device, or by components of the terminal device or network device, such as by application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or software (such as program code in memory) deployed in the terminal device or network device, without limitation.

[0131] Based on the description of the above communication system, Figure 2 The communication system may include artificial intelligence (AI) network elements to perform some or all AI-related operations. AI network elements may also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc.

[0132] The AI ​​network element can be embedded within a network element of the communication system. For example, it can be an AI module embedded in network equipment, core network equipment, cloud servers, or operation, administration, and maintenance (OAM) systems to implement AI-related functions. OAM can function as the network management system for core network equipment and / or network equipment. Alternatively, the AI ​​network element can be a standalone network element within the communication system. Optionally, the terminal device or its built-in chip can also include an AI network element to implement AI-related functions.

[0133] Optionally, in the embodiments of this application, the transmitting device (or source) and the receiving device (or sink) may adopt the following... Figure 3 The process shown involves encoding and decoding. The transmitting device can be... Figure 2 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 2 Any terminal device or network device in the communication system shown.

[0134] The transmitting device performs source coding on the information it generates to obtain a source bitstream. It then performs channel coding on the source bitstream, modulates it, and transmits the modulated symbols to the receiving device through a noisy channel. When the receiving device receives the modulated symbols through the noisy channel, it demodulates them, performs channel decoding to recover the source bitstream, and then performs source decoding to obtain the decoding result.

[0135] In practical implementation, Figure 2 As shown in the figure: various terminal devices and network devices can adopt Figure 4 The shown composition structure, or including Figure 8 The components shown. Figure 4 This is a schematic diagram illustrating the composition of a communication device 400 provided in an embodiment of this application. The communication device 400 can be a terminal device or a chip or system-on-a-chip within a terminal device; it can also be a network device or a chip or system-on-a-chip within a network device. For example... Figure 4As shown, the communication device 400 includes a processor 401, a communication interface 402, and a communication line 403. The communication interface can be a transceiver, interface circuit, input / output interface, or chip pins, etc.

[0136] Optionally, the communication device 400 may further include a memory 404. The processor 401, memory 404, and communication interface 402 can be connected via a communication line 403.

[0137] The processor 401 is one or more of the following: a central processing unit (CPU), an application-specific integrated circuit (ASIC), a network processor (NP), a digital signal processor (DSP), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphics processing unit (GPU), a microprocessor, a microcontroller, a programmable logic device (PLD), an artificial intelligence processor (AI processor), or a neural processing unit (NPU). The processor 401 can also be other devices with processing capabilities, such as circuits, devices, or software modules, without limitation.

[0138] Communication interface 402 is used for communicating with other devices or other communication networks. These other communication networks can be Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc. Communication interface 402 can be a module, circuit, transceiver, or any device capable of enabling communication.

[0139] Communication line 403 is used to transmit information between the components included in communication device 400.

[0140] Memory 404 is used to store instructions. These instructions can be computer programs.

[0141] The memory 404 can be a read-only memory (ROM) or other type of static storage device that can store static information and / or instructions; it can also be a cache, random access memory (RAM), or other type of dynamic storage device that can store information and / or instructions; it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, etc., without limitation.

[0142] The memory 404 can exist independently of the processor 401 or be integrated with it. The memory 404 can be used to store instructions, program code, or data. The memory 404 can be located inside or outside the communication device 400, without limitation. The processor 401 is used to execute the instructions stored in the memory 404 to implement the encoding and decoding methods provided in the following embodiments of this application.

[0143] In one example, processor 401 may include one or more CPUs, for example Figure 4 CPU0 and CPU1 in the CPU.

[0144] As an optional implementation, the communication device 400 includes multiple processors, for example, besides Figure 4 In addition to processor 401, it may also include processor 407.

[0145] As an optional implementation, the communication device 400 also includes an output device 405 and an input device 406. For example, the input device 406 is a device such as a keyboard, mouse, microphone, or joystick, and the output device 405 is a device such as a display screen or speaker.

[0146] The communication device 400 can be a desktop computer, laptop computer, network server, mobile phone, tablet computer, wireless terminal, embedded device, chip system, or other similar device. Figure 4 Equipment with a similar structure. Furthermore... Figure 4 The structural composition shown does not constitute a limitation on the communication device, except... Figure 4 In addition to the components shown, the communication device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements.

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

[0148] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.

[0149] The following is combined with Figure 2 The communication system shown refers to the following Figure 5 The encoding and decoding methods provided in the embodiments of this application are described, wherein the transmitting device can be... Figure 2 Any terminal device or network device in the communication system shown, the receiving device can also be Figure 2 Any terminal device or network device in the communication system shown. The transmitting or receiving device described in the following embodiments may include Figure 4 The component shown.

[0150] Figure 5 A flowchart of an encoding method and a decoding method provided for embodiments of this application is shown below. Figure 5 As shown, the method may include:

[0151] Step 501: The transmitting device determines a bit sequence of length N to be encoded based on the information bit sequence of length K and the M first position sets.

[0152] Where K is a positive integer. The information bit sequence may include information bits and cyclic redundancy check (CRC) bits, in which case K can be the sum of the number of information bits and the number of CRC bits in the information bit sequence. Alternatively, the information bit sequence may include the information bits themselves, in which case K can be the number of information bits in the information bit sequence.

[0153] Here, N can be understood as the length of the mother code. For example, N can be a positive integer power of 2. For instance, N can be a positive integer power of 2 greater than 1024. N can be 2048; or N can be 4096; or N can be 8192.

[0154] Where M can be an integer greater than 1. For example, M can be 2; or M can be 3; or M can be 4; or M can be 5; or M can be 6; or M can be 7.

[0155] Wherein, the m-th first position set among the M first position sets includes one or more positions of the N positions other than the positions in the second position set.

[0156] Wherein, the N positions may be understood as N positions for carrying bits in a sequence of length N (such as a to-be-encoded bit sequence, etc.). In this application, the starting position of the N positions may be the 0th position (equivalent to the serial number of the starting position being 0), and the ending position may be the (N-1)-th position (equivalent to the serial number of the ending position being N-1). This application is also applicable to the scenario where the starting position of the N positions is the 1st position (equivalent to the serial number of the starting position being 1) and the ending position is the N-th position (equivalent to the serial number of the ending position being N), which is not limited.

[0157] Wherein, the second position set includes rate matching bit positions. Exemplarily, taking the length E after rate matching as an example, if E<N, the rate matching manner may be determined according to K and E. For example, when K / E is less than or equal to a first threshold, the rate matching manner may be puncturing, that is, the transmitting end apparatus may perform rate matching in a manner of puncturing from front to back, i.e., puncturing (N-E) bits from front to back (the (N-E) bits may be understood as rate matching bits); or, when K / E is greater than the first threshold, the rate matching manner may be shortening, that is, the transmitting end apparatus may perform rate matching in a manner of shortening from back to front, i.e., shortening (N-E) bits from back to front (the (N-E) bits may be understood as rate matching bits). The positions carrying the rate matching bits may be referred to as rate matching bit positions.

[0158] Wherein, the first threshold may be predefined; alternatively, the first threshold may be determined according to an actual communication scenario or communication situation, which is not limited. For example, the first threshold may be 7 / 16.

[0159] Wherein, E is a positive integer. Exemplarily, E may be determined according to the number of resource elements (REs) corresponding to the transmission resource, and the transmission resource may be understood as a resource for transmitting an information bit sequence. For example, E may be the product of the number of REs corresponding to the transmission resource and the modulation order.

[0160] Optionally, the second position set may further include additional bit positions, and the additional bit positions may be understood as positions among the N positions other than the rate matching bit positions and the information bit positions.

[0161] Wherein, the positions included in the second position set may be referred to as pre-frozen bit positions, or may be referred to as pre-configured frozen bit positions.

[0162] It is understandable that the M first position sets can include positions other than the rate matching bit positions and additional bit positions from the N positions. That is, the M first position sets exclude the rate matching bit positions and additional bit positions that may be affected by rate matching. The position of the information bit can be directly determined in the m-th first position set of the M first position sets, which can improve transmission performance.

[0163] Optionally, any two sets of the M first positions may contain different positions; that is, the intersection of the M first position sets is an empty set. For example, taking M as 2, assuming the second position set comprises the 0th to the (N / 4-1)th positions out of the N positions, then the 0th first position set may include the (N / 4th to N / 2-1)th positions out of the N positions, and the 1st first position set may include the (N / 2th to N-1)th positions out of the N positions.

[0164] Among them, K in the position-carrying information bit sequence of the m-th first position set m One information bit. K m Let m be a positive integer, where m = 0, 1, ..., M-1.

[0165] It is understandable that the transmitting device can divide an information bit sequence of length K into M information bit subsequences, where the length of the m-th information bit subsequence in the M information bit subsequences is K. m The sum of the lengths of the M information bit subsequences is K, which allows any position in any of the M first position sets to carry one of the M information bit subsequences. For example, K in the m-th first position set... m Each position can carry the m-th information bit subsequence.

[0166] Optionally, the most reliable position in the m-th first position set can carry K bits of the information bit sequence. m There are K information bits. Positioning a K-bit information bit sequence in the most reliable of the N positions improves error correction performance, thereby enhancing both encoding and decoding performance.

[0167] For example, the most reliable K in the m-th first position set m Each position can carry the m-th information bit subsequence; or it can be described as the m-th information bit subsequence being carried in the most reliable K position in the m-th first position set. m One position.

[0168] Optionally, the length of the information bit subsequence carried in the m-th first position set can be less than or equal to the number of positions included in the m-th first position set.

[0169] Among them, M first position sets are associated with Z reliability sequences.

[0170] In this reliability sequence, the bit indices are sorted according to reliability. For example, the bit indices in the reliability sequence can be sorted from low to high reliability; or, the bit indices in the reliability sequence can be sorted from high to low reliability. This application describes the sorting from low to high as an example. For example, taking a reliability sequence of length 8 as an example, the reliability sequence can be [0 1 2 43 5 6 7], where the reliability of the position corresponding to the bit with bit index 0 is less than the reliability of the position corresponding to the bit with bit index 1, less than the reliability of the position corresponding to the bit with bit index 2, less than the reliability of the position corresponding to the bit with bit index 4, less than the reliability of the position corresponding to the bit with bit index 3, less than the reliability of the position corresponding to the bit with bit index 5, less than the reliability of the position corresponding to the bit with bit index 6, and less than the reliability of the position corresponding to the bit with bit index 7.

[0171] Where Z is an integer greater than 1 and less than or equal to M. For example, Z can be 2; or Z can be 3; or Z can be 4; or Z can be 5; or Z can be 6; or Z can be 7. For example, if M is 4, Z can be 2; or Z can be 3; or Z can be 4.

[0172] Among the Z reliability sequences, at least two reliability sequences have the same length, but the bit indices are ordered differently. For example, if reliability sequence 0 and reliability sequence 1 both have a length of 8, reliability sequence 0 can be [0 1 2 4 3 5 6 7], and reliability sequence 1 can be [0 2 1 43 5 6 7]. That is, in reliability sequence 0, the reliability of the position corresponding to the bit with bit index 1 is less than the reliability of the position corresponding to the bit with bit index 2; while in reliability sequence 1, the reliability of the position corresponding to the bit with bit index 1 is greater than the reliability of the position corresponding to the bit with bit index 2.

[0173] In this application, if at least two reliability sequences have different lengths, it can be understood that the two reliability sequences are different. Additionally, if at least two reliability sequences have the same length but different bit index orders, it can also be understood that the two reliability sequences are different.

[0174] Furthermore, the fact that the bit indices in at least two reliability sequences are ordered differently can be understood as the fact that some bit indices in at least two reliability sequences are ordered differently; or it can be understood as the fact that all bit indices in at least two reliability sequences are ordered differently, without restriction.

[0175] Optionally, taking the example that Z1 reliability sequences among Z reliability sequences have the same length, where Z1 is an integer greater than 1 and less than or equal to Z, at least two reliability sequences among the Z1 reliability sequences may have different bit index orders, while the remaining reliability sequences may have the same bit index order (that is, at least two reliability sequences among the Z1 reliability sequences may be different); or, any two reliability sequences among the Z1 reliability sequences may have different bit index orders (that is, any two reliability sequences among the Z1 reliability sequences are different).

[0176] Based on the above description of the Z reliability sequences, optionally, the number of positions included in any of the M first position sets can be less than or equal to the length of any of the Z reliability sequences.

[0177] In this context, the reliability corresponding to a position in any of the M first position sets can be associated with one of the Z reliability sequences. For example, taking a reliability sequence of length 8 as an example, the reliability sequence of length 8 is [0 1 2 4 3 5 6 7]. Assuming a first position set includes 8 positions, then the reliability corresponding to position 0 is determined to be < the reliability corresponding to position 1 < the reliability corresponding to position 2 < the reliability corresponding to position 4 < the reliability corresponding to position 3 < the reliability corresponding to position 5 < the reliability corresponding to position 6 < the reliability corresponding to position 7. Alternatively, assuming a first position set includes 6 positions, then the reliability corresponding to position 0 is determined to be < the reliability corresponding to position 2 < the reliability corresponding to position 1 < the reliability corresponding to position 3 < the reliability corresponding to position 4 < the reliability corresponding to position 5.

[0178] It is understandable that the 0th position in the aforementioned first position set is the order of that position among the positions included in the first position set. For example, if the first position set includes the 8th to the 15th positions out of N positions, the 8th position out of N positions is the 0th position in the first position set, the 9th position out of N positions is the 1st position in the first position set, and so on, and the 15th position out of N positions is the 7th position in the first position set.

[0179] In addition, Z reliability sequences can determine the reliability of the positions included in M ​​first position sets. Since the number of positions included in any first position set in the M first position sets is less than N, the length of any reliability sequence in the Z reliability sequences associated with the M first position sets can be less than N, which can reduce the design complexity of the required reliability sequences, thereby reducing the implementation complexity of encoding and decoding.

[0180] Step 502: The transmitting device performs polar coding on the bit sequence to be encoded to obtain a coded bit sequence of length N.

[0181] The transmitting device can perform polar coding on the bit sequence to be encoded based on a generator matrix of size N to obtain an encoded bit sequence of length N. The generator matrix can be referenced in the description above and will not be repeated here. For example, the encoded bit sequence can be the product of the bit sequence to be encoded and a generator matrix of size N. Alternatively, the transmitting device can perform polar coding on the bit sequence to be encoded based on a fence graph of length N to obtain an encoded bit sequence of length N. The specific details can be referred to in the description above. Figure 1 The description of that will not be repeated here.

[0182] Step 503: The transmitting device outputs the encoded bit sequence; correspondingly, the receiving device receives the decoding information from the transmitting device.

[0183] Optionally, the transmitting device can perform rate matching on the encoded bit sequence to obtain a rate matching information sequence.

[0184] Optionally, the transmitting device can modulate the rate matching information sequence to obtain a modulated symbol sequence; or, the transmitting device can interleave the rate matching information sequence to obtain an interleaved information sequence, and then modulate the interleaved information sequence to obtain a modulated symbol sequence.

[0185] It is understandable that the modulation symbol sequence sent by the transmitting device to the receiving device may be affected by noise and other interference when transmitted through the channel. The demodulated information received by the receiving device is a modulation symbol sequence affected by noise and other interference.

[0186] Optionally, the receiving device can demodulate the information to be demodulated to obtain the information to be decoded.

[0187] The length of the encoded bit sequence corresponding to the information to be decoded is N. In other words, the bit sequence corresponding to the information to be decoded is the encoded bit sequence after transmission through the channel.

[0188] Step 504: The receiving device performs polarization decoding on the information to be decoded based on the M first position sets to obtain the decoding result.

[0189] Optionally, if the transmitting device interleaves the rate matching information sequence, the receiving device can deinterleave the information to be decoded to obtain a deinterleaved information sequence, and then de-rate match the deinterleaved information sequence to obtain a de-rate matching information sequence; otherwise, the receiving device can de-rate match the information to be decoded to obtain a de-rate matching information sequence.

[0190] Optionally, the receiving device can decode the rate matching information sequence based on M first position sets to obtain the decoding result.

[0191] Specifically, the receiving device can determine the position used to carry the information bit sequence based on M first position sets, and then obtain the information bit sequence (i.e., the decoding result) after transmission through the channel. For example, the information sequence carried by the most reliable position in the m-th first position set among the M first position sets.

[0192] The determination of the M first location sets can be referred to step 501 and the description of the determination of the M first location sets by the transmitting device in this application, and will not be repeated here.

[0193] Based on the above Figure 5 The encoding and decoding methods shown herein, compared to determining K positions out of N positions to carry the information bit sequence, allow the transmitting device to determine M first position sets, and then determine K positions from the m-th first position set among the M first position sets. m Each position carries information bits. Since the number of positions included in any of the M first position sets is less than N, the design complexity of the required reliability sequence can be reduced, thereby reducing the implementation complexity of polar coding.

[0194] Furthermore, the M first position sets can be associated with Z reliability sequences. On one hand, at least two reliability sequences among the Z reliability sequences have the same length but different bit index orders. This ensures that at least two of the M first position sets are associated with reliability sequences where the bit index orders are different, thus allowing the determined positions used to carry information bits to have higher reliability (or, in other words, allowing positions with higher reliability among N positions to carry information bits), thereby improving error correction performance. On the other hand, since the number of positions included in any of the M first position sets is less than N, the length of any of the Z reliability sequences associated with the M first position sets can be less than N. This reduces the design complexity of the required reliability sequences, thereby reducing the implementation complexity of polar coding.

[0195] Based on the above Figure 5 The encoding and decoding methods shown allow the transmitting device to determine the positions of information bits in M ​​first position sets based on Z reliability sequences. Wherein, at least two of the Z reliability sequences have the same length, and the bit indices in these at least two reliability sequences are ordered differently, and Z is a positive integer greater than 1 and less than or equal to M.

[0196] Optionally, the Z reliability sequences are obtained through one or more of the following methods: protocol predefinition, calculating and sorting the reliability of the polar code sub-channels using methods such as Gaussian approximation or density evolution, performing performance simulation on the error probability of the polar code sub-channels, or performing computer search based on the performance of polar codes.

[0197] It is understandable that the transmitting device can determine Z reliability sequences through one or more of the above methods, which can improve the flexibility and diversity of determining Z reliability sequences.

[0198] Optionally, the length of any one of the Z reliability sequences can be less than or equal to 2048. For example, the length of any one of the Z reliability sequences can be any of the following: 256, 512, 1024, or 2048. This improves the flexibility and diversity in determining the Z reliability sequences. Furthermore, the length of any one of the Z reliability sequences can be less than or equal to 2048, which is less than N. Determining the reliability corresponding to the positions included in the M first position sets using Z reliability sequences simplifies the implementation.

[0199] For example, the length of the first reliability sequence in the Z reliability sequences can be 1024, and the length of any other reliability sequence in the Z reliability sequences besides the first reliability sequence can be any of the following: 256, 512, 1024, or 2048. This allows for one reliability sequence in the Z reliability sequences to have a length of 1024. Polar coding and decoding can be directly implemented using the reliability sequences shown in Table 1 above, maintaining forward compatibility and thus simplifying the implementation of polar coding and decoding.

[0200] Specifically, the length of the first reliability sequence can be 1024, and the length of the Z-1 reliability sequences other than the first reliability sequence can all be 1024; or, the length of the Z-1 reliability sequences other than the first reliability sequence can all be 512; or, the length of the Z-1 reliability sequences other than the first reliability sequence can all be 256; or, in the Z-1 reliability sequences other than the first reliability sequence, the length of some reliability sequences can all be 256, and the length of the other part of the reliability sequences can all be 512.

[0201] Optionally, the sum of the lengths of the Z reliability sequences can be less than or equal to N.

[0202] In one example, taking N as 2048, the Z reliability sequences can include two reliability sequences of length 1024 (Z is 2 in this case); or, the Z reliability sequences can include one reliability sequence of length 1024 and two reliability sequences of length 512 (Z is 3 in this case); or, the Z reliability sequences can include one reliability sequence of length 1024 and two reliability sequences of length 256 (Z is 3 in this case); or, the Z reliability sequences can include one reliability sequence of length 1024, two reliability sequences of length 256, and two reliability sequences of length 512 (Z is 5 in this case).

[0203] In another example, taking N as 4096, Z reliability sequences can include four reliability sequences of length 1024 (Z is 4); or, Z reliability sequences can include two reliability sequences of length 1024 (Z is 2); or, Z reliability sequences can include three reliability sequences of length 1024 (Z is 3); or, Z reliability sequences can include two reliability sequences of length 1024 and four reliability sequences of length 512 (Z is 6); or, Z reliability sequences can include one reliability sequence of length 1024, two reliability sequences of length 512, and two reliability sequences of length 256 (Z is 5).

[0204] It is understood that the length of any reliability sequence in the Z reliability sequences can be less than or equal to 2048. The above is only an example of the length values ​​of the Z reliability sequences and does not constitute any limitation on this application.

[0205] Based on the above description of the Z reliability sequences, the determination of the Z reliability sequences can refer to the following two possible implementations:

[0206] In the first possible implementation, the Z reliability sequences can be predefined (or can be described as Z reliability sequences being protocol-predefined); or can be described as Z reliability sequences being pre-stored.

[0207] For example, the sum of the lengths of the Z reliability sequences can be less than or equal to 2048. That is, in this application, N can be a positive integer power of 2 greater than 1024 (i.e., N is greater than or equal to 2048). By limiting the sum of the lengths of the Z reliability sequences to less than or equal to 2048, the Z reliability sequences can be applied to as many communication scenarios or communication situations as possible.

[0208] For example, Z reliability sequences may include two reliability sequences of length 1024; or, Z reliability sequences may include one reliability sequence of length 1024 and two reliability sequences of length 512; or, Z reliability sequences may include one reliability sequence of length 1024 and two reliability sequences of length 256; or, Z reliability sequences may include one reliability sequence of length 1024, one reliability sequence of length 512, and one reliability sequence of length 256; or, Z reliability sequences may include one reliability sequence of length 1024, one reliability sequence of length 512, and two reliability sequences of length 256.

[0209] Based on the first possible implementation, the transmitting device can directly determine Z reliability sequences, which can reduce the workload of the transmitting device and improve its efficiency.

[0210] In the second possible implementation, Z reliability sequences can be contained within Y reliability sequences, where Y is an integer greater than or equal to Z. At least two of the Y reliability sequences have the same length, and the bit indices in these at least two reliability sequences are ordered differently.

[0211] The length of any one of the Y reliability sequences can be less than or equal to 2048. For example, the length of any one of the Y reliability sequences can be any of the following: 256, 512, 1024, or 2048.

[0212] For example, the length of the second reliability sequence in the Y reliability sequences can be 1024, and the length of any reliability sequence other than the second reliability sequence in the Y reliability sequences can be any of the following: 256, 512, 1024 or 2048.

[0213] Based on the second possible implementation, network devices can determine Z reliability sequences from Y reliability sequences according to the actual communication situation or communication scenario. This can make the Z reliability sequences better meet communication needs, improve communication performance, and enhance the flexibility and diversity of determining the Z reliability sequences.

[0214] Optionally, the network device may send first indication information to the terminal device; correspondingly, the terminal device may receive the first indication information from the network device, the first indication information being used to indicate Z reliability sequences. The network device may be a transmitting device or a receiving device; similarly, the terminal device may be a receiving device or a transmitting device, and this application does not limit this. It is understood that the transmitting device and the receiving device may determine the Z reliability sequences based on the first indication information.

[0215] Based on the above description of the Y reliability sequences, this application provides four possible embodiments to determine the length of any one of the Y reliability sequences:

[0216] In a first possible embodiment, the Y reliability sequences can be Y reliability sequences of length 1024. For example, Y can be 2, or Y can be 4, or Y can be 8.

[0217] In one example, among the Y reliability sequences, one reliability sequence can be the reliability sequence shown in Table 1, and the remaining Y-1 reliability sequences can be associated with the reliability sequences shown in Table 1. For example, the order of the bit indices in any of the remaining Y-1 reliability sequences is obtained by adjusting the order of the bit indices in the reliability sequences shown in Table 1.

[0218] In another example, one of the Y reliability sequences can be the reliability sequence shown in Table 1, and the remaining Y-1 reliability sequences can be obtained through one or more of the following methods: protocol predefinition, calculating and sorting the reliability of the polar code channel using methods such as Gaussian approximation or density evolution, performing performance simulation on the error probability of the polar code channel, or performing computer search based on the performance of polar codes.

[0219] In a second possible embodiment, the Y reliability sequences may include a reliability sequence of length 1024 and Y-1 reliability sequences of length 512. For example, Y can be 7 (i.e., the number of reliability sequences of length 512 is 6); or Y can be 6 (i.e., the number of reliability sequences of length 512 is 5); or Y can be 5 (i.e., the number of reliability sequences of length 512 is 4).

[0220] For example, a reliability sequence of length 1024 can be the reliability sequence shown in Table 1. Y-1 reliability sequences of length 512 can be obtained by one or more of the following methods: protocol predefinition, calculating and sorting the reliability of the polar code channel by methods such as Gaussian approximation or density evolution, performing performance simulation on the error probability of the polar code channel, or performing computer search based on the performance of the polar code.

[0221] In a third possible embodiment, the Y reliability sequences may include one reliability sequence of length 1024 and Y-1 reliability sequences of length 256. For example, Y can be 7 (i.e., the number of reliability sequences of length 2556 is 6); or Y can be 6 (i.e., the number of reliability sequences of length 2556 is 5); or Y can be 5 (i.e., the number of reliability sequences of length 2556 is 4); or Y can be 4 (i.e., the number of reliability sequences of length 2556 is 3).

[0222] For example, a reliability sequence of length 1024 can be the reliability sequence shown in Table 1. Y-1 reliability sequences of length 256 can be obtained by one or more of the following methods: protocol predefinition, calculating and sorting the reliability of the polar code channel by methods such as Gaussian approximation or density evolution, performing performance simulation on the error probability of the polar code channel, or performing computer search based on the performance of the polar code.

[0223] In a fourth possible embodiment, the Y reliability sequences may include a reliability sequence of length 1024, Y1 reliability sequences of length 256, and Y2 reliability sequences of length 256.

[0224] Where Y1 is a positive integer less than Y, Y2 is a positive integer less than Y, and Y1 + Y2 + 1 = Y. For example, Y1 can be 4, Y2 can be 4; or Y1 can be 2, Y2 can be 2; or Y1 can be 4, Y2 can be 2; or Y1 can be 1, Y2 can be 2; or Y1 can be 2, Y2 can be 1.

[0225] Y1 and Y2 can be the same or different, without restriction.

[0226] For example, a reliability sequence of length 1024 can be the reliability sequence shown in Table 1; Y1 reliability sequences of length 256 can be obtained in one or more of the following ways: protocol predefinition, calculation and sorting of reliability of polar code channels using Gaussian approximation or density evolution, performance simulation of error probability of polar code channels, or computer search based on polar code performance; Y2 reliability sequences of length 512 can be obtained in one or more of the following ways: protocol predefinition, calculation and sorting of reliability of polar code channels using Gaussian approximation or density evolution, performance simulation of error probability of polar code channels, or computer search based on polar code performance.

[0227] Based on the above description of the reliability sequence, optionally, the reliability sequence corresponding to the j-th position among the N positions can be determined according to a first correspondence. The first pre-defined correspondence may include multiple reliability sequences and the index of the position corresponding to each reliability sequence among the N positions, j = 0, 1, ..., N-1.

[0228] In one example, any two reliability sequences in multiple reliability sequences can have the same length, and the number of positions corresponding to any reliability sequence in multiple reliability sequences can be the same. For example, taking N = 4096, and any reliability sequence in four reliability sequences (such as reliability sequences 00 to 03) with a length of 1024, the position corresponding to reliability sequence 00 can be from position 0 to position 1023 out of N = 4096 positions (i.e., the reliability corresponding to positions 0 to 1023 is associated with reliability sequence 00), and the position corresponding to reliability sequence 01 can be from position 1024 to position 2047 out of N = 4096 positions (i.e., the reliability corresponding to positions 1024 to 2047 is associated with reliability sequence 00). The reliability corresponding to position 2047 is associated with reliability sequence 01. Reliability sequence 02 corresponds to positions 2048 to 3071 out of N = 4096 positions (i.e., the reliability corresponding to positions 2048 to 3071 is associated with reliability sequence 02). Reliability sequence 03 corresponds to positions 3072 to 4095 out of N = 4096 positions (i.e., the reliability corresponding to positions 3072 to 4095 is associated with reliability sequence 03). See Table 2 for details.

[0229] Table 2

[0230] Position number 0~1023 1024~2047 2048~3071 3072~4095 Reliability sequence Reliability sequence 00 Reliability Sequence 01 Reliability Sequence 02 Reliability Sequence 03

[0231] In another example, the lengths of at least two reliability sequences in multiple reliability sequences can be different, and the number of positions corresponding to at least two reliability sequences can also be different. For example, taking N = 4096, and five reliability sequences (such as reliability sequences 10 to 15), where reliability sequences 10, 11, and 12 are all 1024 in length, and reliability sequences 13 and 14 are both 512 in length, the position corresponding to reliability sequence 10 can be from position 0 to position 1023 out of N = 4096 positions (i.e., the reliability corresponding to positions 0 to 1023 is associated with reliability sequence 10), and the position corresponding to reliability sequence 11 can be from position 1024 to position 2047 out of N = 4096 positions (i.e., the reliability corresponding to positions 1024 to 2047 is associated with reliability sequence 11). The reliability sequence 12 corresponds to positions 2048 to 3071 out of N = 4096 positions (i.e., the reliability of positions 2048 to 3071 is associated with reliability sequence 12), the reliability sequence 13 corresponds to positions 3072 to 3583 out of N = 4096 positions (i.e., the reliability of positions 3072 to 3583 is associated with reliability sequence 13), and the reliability sequence 14 corresponds to positions 3584 to 4095 out of N = 4096 positions (i.e., the reliability of positions 3584 to 4095 is associated with reliability sequence 14). See Table 3 for details.

[0232] Table 3

[0233] Position number 0~1023 1024~2047 2048~3071 3072~3583 3584~4095 Reliability sequence Reliability Sequence 10 Reliability Sequence 11 Reliability Sequence 12 Reliability Sequence 13 Reliability Sequence 14

[0234] It is understandable that the m-th first position set in the M first position sets can include some of the positions in the N positions. The transmitting device can determine the reliability sequence corresponding to the m-th first position set according to the first correspondence, thereby determining the reliability of the positions included in the m-th first position set. This simplifies the implementation of determining the reliability of the positions included in the M first position sets, and thus simplifies the implementation of polar coding.

[0235] For example, taking N as 4096 and M as 4, assuming that the M first position sets include first position set 0 (first position set 0 includes the 0th to the 1024th position among N positions), first position set 1 (first position set 1 includes the 1024th to the 2047th position among N positions), first position set 2 (first position set 2 includes the 2048th to the 3071st position among N positions), and first position set 3 (first position set 3 includes the 3584th to the 4095th position among N positions), then the reliability corresponding to the position included in first position set 0 can be determined based on reliability sequence 00, the reliability corresponding to the position included in first position set 1 can be determined based on reliability sequence 01, the reliability corresponding to the position included in first position set 2 can be determined based on reliability sequence 02, and the reliability corresponding to the position included in first position set 3 can be determined based on reliability sequence 03.

[0236] Based on the above description of the Z reliability sequences, the M first position sets can be associated with the Z reliability sequences.

[0237] Specifically, the reliability corresponding to a position in any of the M first position sets can be associated with one of the Z reliability sequences. In other words, the reliability corresponding to a position in any of the M first position sets can be determined based on one of the Z reliability sequences. The specific determination method can be found in the description of determining the reliability corresponding to the positions included in the first position set in step 501 above, and will not be repeated here.

[0238] Optionally, the bit indices in the reliability sequences associated with at least two of the M first position sets can be ordered the same or different.

[0239] Specifically, the order of bit indices in the reliability sequence associated with the t1th first position set among the M first position sets is different from the order of bit indices in the reliability sequence associated with the t2th first position set; t1 is an integer from 0 to M-1, t2 is an integer from 0 to M-1, and t1 is not equal to t2. Alternatively, the order of bit indices in the reliability sequence associated with the t3th first position set among the M first position sets is the same as the order of bit indices in the reliability sequence associated with the t4th first position set; t3 is an integer from 0 to M-1, t4 is an integer from 0 to M-1, and t3 is not equal to t4.

[0240] Among them, t1 and t3 (or t4) can be the same or different; t2 and t4 (or t3) can be the same or different, without restriction.

[0241] This application provides a possible embodiment. Taking any two reliability sequences in Z reliability sequences as having the same length and different bit index orders, M can be equal to Z. In this case, M first position sets can be associated one-to-one with the Z reliability sequences. For example, taking Z as 2 (the Z reliability sequences may include reliability sequence 0 and reliability sequence 1), M can be 2 (the M first position sets are first position set 0 and first position set 1). Then, the reliability corresponding to the position in first position set 0 can be associated with reliability sequence 0, and the reliability corresponding to the position in first position set 1 can be associated with reliability sequence 1.

[0242] Alternatively, M can be greater than Z. In this case, at least one reliability among the Z reliability sequences is associated with multiple first position sets. For example, taking Z as 2 (the Z reliability sequences may include reliability sequence 0 and reliability sequence 1), M can be 4 (the M first position sets are first position set 0, first position set 1, first position set 2, and first position set 3). Then, the reliability corresponding to the position in first position set 0 can be associated with reliability sequence 0, and the reliability corresponding to the position in each of the first position sets 1 to 3 can be associated with reliability sequence 1. Alternatively, the reliability corresponding to the position in each of the first position sets 0 to 1 can be associated with reliability sequence 0, and the reliability corresponding to the position in each of the first position sets 2 to 3 can be associated with reliability sequence 1. Alternatively, the reliability corresponding to the position in each of the first position sets 0 to 2 can be associated with reliability sequence 0, and the reliability corresponding to the position in first position set 3 can be associated with reliability sequence 1.

[0243] Understandably, when the bit indexes in the reliability sequences associated with at least two first position sets are ordered in the same way, the implementation of determining the Z reliability sequences can be simplified, thereby reducing the implementation complexity of encoding and decoding. When the bit indexes in the reliability sequences associated with at least two first position sets are ordered differently, the reliability corresponding to the positions included in the at least two first position sets can be determined more accurately, which can improve error correction performance, thereby improving encoding and decoding performance.

[0244] Optionally, the M first position sets may include positions other than the second position set from the N positions. The second position set may include rate-matching bit positions, or the second position set may include rate-matching bit positions and additional bit positions. The number of positions included in any of the M first position sets can have the following three possible implementations:

[0245] In the first possible implementation, the number of positions included in any of the M first position sets can be a positive integer power of 2.

[0246] For example, taking N = 4096 and any one of the M first position sets includes 1024 positions, assuming the second position set includes the 0th to the 600th position out of N = 4096 positions, and M can be 3, then the 0th first position set out of M = 3 can include the 1024th to the 2047th position out of N = 4096 positions, the 1st first position set can include the 2048th to the 3071st position out of N = 4096 positions, and the 2nd first position set can include the 3072nd to the 4095th position out of N = 4096 positions.

[0247] In the second possible implementation, the number of positions included in any of the M first position sets can be a power of 2 or a non-positive integer.

[0248] For example, taking N = 2048 and any first position set in the M first position sets as having 1024 positions, assuming the second position set includes positions 0 to 127 and positions 1024 to 1151 out of N = 2048 positions, and M can be 2, then the 0th first position set can include positions 128 to 1023 out of N = 2048 positions, and the 1st first position set can include positions 1152 to 2047 out of N = 4096 positions.

[0249] In the third possible implementation, among the M first position sets, there exists a B first position set whose number of positions is not a positive integer power of 2, and among the remaining M first position sets, any one of the first position sets contains a positive integer power of 2, where B can be less than or equal to 2.

[0250] For example, taking N as 4096 and any of the M first position sets as containing 1024 positions, assuming the second position set includes positions 0 to 127 and positions 1024 to 1151 out of N = 2048 positions, and M can be 4, then the 0th first position set can include positions 128 to 1023 out of N = 2048 positions, the 1st first position set can include positions 1152 to 2047 out of N = 4096 positions, the 2nd first position set can include positions 2048 to 3071 out of N = 4096 positions, and the 3rd first position set can include positions 3072 to 4095 out of N = 4096 positions.

[0251] Understandably, in the third possible implementation, if M is 2 and B is 2, the third possible implementation can be completely consistent with the second possible implementation; or, in the third possible implementation, if B is 0, the third possible implementation can be completely consistent with the first possible implementation.

[0252] Understandably, if the number of positions included in any of the M first position sets is a positive integer power of 2, the reliability corresponding to the first position set included in any of the M first position sets can be determined based on one of the Z reliability sequences. However, if at least one of the M first position sets includes a number of positions not equal to a positive integer power of 2, the reliability corresponding to each position included in that at least one first position set cannot be one-to-one with one of the Z reliability sequences. Therefore, M third position sets (i.e., M third position sets corresponding to N positions) can be determined from N positions. The number of positions included in the m-th third position set among the M third position sets can be a positive integer power of 2, and the m-th third position set can include the m-th first position set. In this case, the M third position sets can be associated with the Z reliability sequences.

[0253] Optionally, the m-th first position set can be the m-th third position set, or the m-th first position set can include positions in the third position set other than those in the second position set. That is, for the m1-th third position set, if the m1-th third position set includes at least one position in the second position set, the m1-th first position set can include positions in the m1-th third position set other than those in the second position set; or, if the m1-th third position set does not include any position in the second position set, the m1-th first position set can be the m1-th third position set, where m1 is an integer from 0 to M-1.

[0254] For example, taking N = 2048 and M = 2 (e.g., the 0th third position set in the M third position sets includes positions 0 to 1023 out of N = 2048 positions, and the 1st third position set includes positions 1024 to 2047 out of N = 2048 positions), assuming the second position set includes positions 0 to 127 out of N positions, then the 0th first position set in the M first position sets can include positions 128 to 1023 out of N = 2048 positions, and the 1st first position set can include positions 1024 to 2047 out of N = 2048 positions.

[0255] The m-th third position set can include multiple positions with consecutive indices from the N positions, and the number of positions included in the m-th third position set can be a positive integer power of 2.

[0256] Understandably, during polar coding, the transmitting device can polar code the bit sequence to be coded based on a polarization kernel of length N (which can also be replaced by a generator matrix) to obtain a coded bit sequence of length N. Specifically, a polarization kernel of length N can be obtained by coupling two polarization kernels of length N / 2, a polarization kernel of length N / 2 can be obtained by coupling two polarization kernels of length N / 4, a polarization kernel of length N / 4 can be obtained by coupling two polarization kernels of length N / 8, and so on, up to a length of N / 2... n The polarization nucleus can be determined based on two lengths of N / 2. n+1 The polarization kernel is coupled to obtain n, where n is an integer greater than or equal to 0. Correspondingly, such as Figure 6 As shown, N positions can be divided into N / 2 positions (i.e., positions 0 to N / 2-1 and N / 2 to N-1), N / 2 positions can be divided into N / 4 positions (e.g., positions 0 to N / 2-1 can be divided into positions 0 to N / 4-1 and N / 4 to N / 2-1; similarly, positions N / 2 to N-1 can be divided into positions N / 2 to 3N / 4-1 and 3N / 4 to N-1), and N / 4 positions can be divided into two N / 8 positions (e.g., positions 0 to N / 4-1 can be divided into positions 0 to N / 8-1 and N / 8 to N / 4-1).

[0257] Therefore, taking a third set of positions as an example, if the number of positions included in the third set of positions can be N / 2, the third set of positions can include the 0th position to the N / 2-1th position among the N positions, or it can include the N / 2th position to the N-1th position among the N positions.

[0258] Similarly, if the number of positions included in the third position set can be N / 4, the third position set can include the 0th position to the N / 4-1th position among the N positions, or it can include the N / 4th position to the N / 2-1th position among the N positions, or it can include the N / 2th position to the 3N / 4-1th position among the N positions, or it can include the 3N / 4th position to the N-1th position among the N positions.

[0259] Similarly, if the number of positions included in the third position set can be N / 8, the third position set can include the 0th position to the N / 8-1th position among the N positions, or it can include the N / 8th position to the N / 4-1th position among the N positions, or it can include the N / 4th position to the 3N / 8-1th position among the N positions, or it can include the 3N / 8th position to the N / 2-1th position among the N positions, or it can include the N / 2th position to the 5N / 8-1th position among the N positions, or it can include the 5N / 8th position to the 3N / 4-1th position among the N positions, or it can include the 3N / 4th position to the 7N / 8-1th position among the N positions, or it can include the 7N / 8-1th position to the N-1th position among the N positions.

[0260] Similarly, the number of positions included in the third position set can also be N / 16, N / 32, ..., and the specific positions included can be referred to the above description, which will not be repeated here.

[0261] It is understandable that any two sets of the M third positions include different positions; or it can be described as the intersection of the M sets of the M third positions being an empty set. That is, if the 0th set of the third positions includes the 0th to the N / 2-1th positions out of the N positions, and assuming the 1st set of the third positions includes N / 4 positions, then the 1st set of the third positions can include the N / 2th to the 3N / 4-1th positions out of the N positions, or it can include the 3N / 4th to the N-1th positions out of the N positions. That is, the 1st set of the third positions cannot include the 0th to the N / 4-1th positions out of the N positions, nor can it include the N / 4th to the N / 2-1th positions out of the N positions.

[0262] For example, taking N = 2048 and M = 3 as an example, assuming that the number of positions included in the 0th third position set is 1024, the number of positions included in the 1st third position set is 512, and the number of positions included in the 2nd third position set is 512, then the 0th third position set can include the 0th to the 1023rd position out of N = 2048 positions, the 1st third position set can include the 1024th to the 1035th position out of N = 2048 positions, and the 2nd third position set can include the 1036th to the 2047th position out of N = 2048 positions.

[0263] Optionally, the number of positions included in any of the M third position sets may be less than or equal to 2048. For example, the number of positions included in any of the M third position sets may be any of the following: 256, 512, 1024, or 2048.

[0264] For example, one of the M sets of third positions may contain 1024 positions, while the remaining M-1 sets may contain any of the following: 256, 512, 1024, or 2048 positions. This ensures that one of the M sets contains 1024 positions. The reliability of the positions in this set can be directly determined using the reliability sequence shown in Table 1, maintaining forward compatibility and simplifying the implementation of polar coding and decoding.

[0265] Optionally, the number of locations included in the m-th third location set can be the same as the length of one of the Z reliability sequences.

[0266] For example, taking Z reliability sequences including two reliability sequences of length 1024 as an example, the number of positions included in any one of the M third position sets can be 1024. Assuming N is 2048 and M can be 2, the 0th third position set can include the 0th to the 1023rd position out of N = 2048 positions, and the 1st third position set can include the 1024th to the 2047th position out of N = 2048 positions.

[0267] Alternatively, assuming N can be 4096 and M can be 4, the 0th third position set can include positions 0 to 1023 of N = 4096 positions, the 1st third position set can include positions 1024 to 2047 of N = 4096 positions, the 2nd third position set can include positions 2048 to 3071 of N = 4096 positions, and the 3rd third position set can include positions 3072 to 4095 of N = 4096 positions; or, M can be 3, the 0th third position set can include positions 1024 to 2047 of N = 4096 positions, the 1st third position set can include positions 2048 to 3071 of N = 4096 positions, and the 2nd third position set can include positions 3072 to 4095 of N = 4096 positions.

[0268] Based on the above description of the M sets of third locations, optionally, the locations included in the M sets of third locations can be N' locations, and the set of third locations corresponding to the i-th location among the N' locations can be determined according to the second correspondence. That is, the transmitting device can determine the locations included in the M sets of third locations based on the second correspondence. The second correspondence can include the indices of multiple sets of third locations and the indices of the locations included in each set among the N' locations, i = 0, 1, ..., N'-1.

[0269] In one example, any two third position sets among multiple third position sets can include the same number of positions. For example, with N = 4096 and M = 4, any third position set among the M third position sets can include 1024 positions. Then, N' can be N. The 0th third position set can include positions 0 to 1023 out of N' = 4096 positions, the 1st third position set can include positions 1024 to 2047 out of N' = 4096 positions, the 2nd third position set can include positions 2048 to 3071 out of N' = 4096 positions, and the 3rd third position set can include positions 3072 to 4095 out of N' = 4096 positions. See Table 4 for details.

[0270] Table 4

[0271] Position number 0~1023 1024~2047 2048~3071 3072~4095 The index of the third position set 0 1 2 3

[0272] It is understandable that the reliability corresponding to the position included in the 0th third position set in Table 4 can be associated with the reliability sequence 00 in Table 2, the reliability corresponding to the position included in the 1st third position set in Table 4 can be associated with the reliability sequence 01 in Table 2, the reliability corresponding to the position included in the 2nd third position set in Table 4 can be associated with the reliability sequence 02 in Table 2, and the reliability corresponding to the position included in the 3rd third position set in Table 4 can be associated with the reliability sequence 03 in Table 2.

[0273] In another example, at least two of the multiple third location sets may contain different numbers of locations. For example, with N = 4096 and M = 5, the number of positions included in any one of the three third position sets among the M third position sets can be 1024, and the number of positions included in any one of the other two third position sets can be 512. N' can be N. Therefore, the 0th third position set can include positions 0 to 1023 out of N' = 4096 positions; the 1st third position set can include positions 1024 to 2047 out of N' = 4096 positions; the 2nd third position set can include positions 2048 to 3071 out of N' = 4096 positions; the 3rd third position set can include positions 3072 to 3583 out of N' = 4096 positions; and the 4th third position set can include positions 3584 to 4095 out of N' = 4096 positions. See Table 5 for details.

[0274] Table 5

[0275] Position number 0~1023 1024~2047 2048~3071 3072~3583 3584~4095 The index of the third position set 0 1 2 3 4

[0276] It is understandable that the reliability corresponding to the position included in the 0th third position set in Table 5 can be associated with the reliability sequence 10 in Table 3, the reliability corresponding to the position included in the 1st third position set in Table 5 can be associated with the reliability sequence 11 in Table 3, the reliability corresponding to the position included in the 2nd third position set in Table 5 can be associated with the reliability sequence 12 in Table 3, the reliability corresponding to the position included in the 3rd third position set in Table 5 can be associated with the reliability sequence 13 in Table 3, and the reliability corresponding to the position included in the 4th third position set in Table 5 can be associated with the reliability sequence 14 in Table 3.

[0277] It is understandable that the m-th third position set can include the m-th first position set. The reliability corresponding to the positions included in the m-th third position set can be determined based on one of the Z reliability sequences. Correspondingly, the reliability corresponding to the positions included in the m-th first position set can be determined based on one of the Z reliability sequences. For example, taking a third position set containing 8 positions as an example, a reliability sequence of length 8 can be [0 1 2 4 3 5 6 7]. It can be determined that the reliability corresponding to the 0th position in the third position set is less than the reliability corresponding to the 1st position, less than the reliability corresponding to the 2nd position, less than the reliability corresponding to the 4th position, less than the reliability corresponding to the 3rd position, less than the reliability corresponding to the 5th position, less than the reliability corresponding to the 6th position, and less than the reliability corresponding to the 7th position. Assuming the first position set includes positions 2 through 7 from the third position set, we can determine that the reliability corresponding to position 0 in the first position set is less than the reliability corresponding to position 2, which is less than the reliability corresponding to position 1, which is less than the reliability corresponding to position 3, which is less than the reliability corresponding to position 4, which is less than the reliability corresponding to position 5.

[0278] Based on the above description of the M third position sets, this application provides two possible designs to determine the M third position sets. In the first possible design, the M third position sets can be determined according to the rate matching bit positions. In the second possible design, the M third position sets can be included in X fifth position sets, and the sum of the number of positions included in the X fifth position sets can be N. For details, please refer to the following description of the X fifth position sets, which will not be repeated here.

[0279] The first possible design is described in detail below:

[0280] The sum of the positions included in the M third position sets can be less than or equal to N. Specifically, the M third position sets can include N positions, in which case the sum of the positions included in the M third position sets can be N; or, the M third position sets can include positions from the N positions excluding at least one fourth position set, where each fourth position set includes multiple consecutive rate-matching bit positions, and the total number of positions included in at least one fourth position set can be less than or equal to (NE), in which case the sum of the positions included in the M third position sets can be less than N. This application provides two possible implementations:

[0281] In the first possible implementation, the rate-matching bit position can be located at the start or end position among N positions.

[0282] In one example, taking the rate matching bit positions as positions 0 to (NE-1) out of N positions as an example, the 0th third position set out of the M third position sets may include at least one rate matching bit position, and the 1st to (M-1)th third position sets may not include rate matching bit positions. In this case, at least one fourth position set may include some positions from positions 0 to (NE-1) out of the N positions. Alternatively, the M third position sets may not include rate matching bit positions, in which case at least one fourth position set may include positions 0 to (NE-1) out of the N positions.

[0283] For example, taking N = 4096 and E = 2596 as an example, the rate matching bit position can be the 0th to the 1499th position out of N = 4096 positions. Assuming that the number of positions included in any third position set in the M third position sets is 1024, the fourth position set can include the 0th to the 1023rd position out of N = 4096 positions. M can be 3. The 0th third position set can include the 1024th to the 2047th position out of N = 4096 positions (that is, the 0th third position set can include some rate matching bit positions), the 1st third position set can include the 2048th to the 3071st position out of N = 4096 positions, and the 2nd third position set can include the 3072nd to the 4095th position out of N = 4096 positions.

[0284] In another example, taking the rate-matching bit positions as the Eth to N-1th positions out of N positions, the (M-1)th third position set out of the M third position sets may include at least one rate-matching bit position, and the 0th to M-2th third position sets may not include rate-matching bit positions. In this case, at least one fourth position set may include some positions from the Eth to N-1th positions out of the N positions. Alternatively, the M third position sets may not include rate-matching bit positions. In this case, at least one fourth position set may include the Eth to N-1th positions out of the N positions.

[0285] For example, taking N = 4096 and E = 2596 as an example, the rate matching bit position can be the 2596th to the 4095th position out of N = 4096 positions. Assuming that the number of positions included in any third position set in the M third position sets is 1024, at least one fourth position set can include some positions from the 3072nd to the 4095th position out of N positions. M can be 3. The 0th third position set can include the 0th to the 1023rd position out of N = 4096 positions, the 1st third position set can include the 1024th to the 2047th position out of N = 4096 positions, and the 2nd third position set can include the 2048th to the 3071st position out of N = 4096 positions (that is, the 2nd third position set can include some rate matching bit positions).

[0286] Based on the first possible implementation, the M-1 sets of third positions may not include rate-matching bit positions, or the M sets of third positions may not include rate-matching bit positions. Since the m-th set of third positions includes the m-th set of first positions, the M sets of first positions can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding performance and decoding performance.

[0287] In the second possible implementation, the rate-matching bit positions can be determined based on sub-block interleaving. That is, the N positions can be divided into 32 sub-blocks, and these 32 sub-blocks can be interleaved to obtain the interleaved N positions. Then, positions 0 to (NE-1) of the interleaved N positions can be determined as rate-matching bit positions, or positions E to (N-1) of the interleaved N positions can be determined as rate-matching bit positions. In this method, the rate-matching bit positions are dispersed among the N positions. In this case, at least one fourth position set can include some or all of the rate-matching bit positions.

[0288] For example, taking N = 4096 and E = 2596 as an example, the rate matching bit positions can be positions 0 to 767 and positions 2048 to 2779 out of N = 4096 positions. The 0th fourth position set can be positions 0 to 511 out of N = 4096 positions, and the 1st fourth position set can be positions 2048 to 2559 out of N = 4096 positions. Then, in the M third position sets... The 0th set of third positions may include positions 512 to 1023 out of N = 4096 positions; the 1st set of third positions may include positions 1024 to 2048 out of N = 4096 positions; the 2nd set of third positions may include positions 2060 to 3071 out of N = 4096 positions; and the 3rd set of third positions may include positions 3072 to 4095 out of N = 4096 positions.

[0289] Based on the second possible implementation, the rate-matching bit positions can be determined based on sub-block interleaving to determine at least one set of fourth positions, and then M sets of third positions can be determined based on at least one set of fourth positions, which can maintain forward compatibility and thus simplify the implementation.

[0290] In the second possible design, N positions correspond to X sets of fifth positions. The x-th set of the X sets of fifth positions can include multiple consecutive positions from the N positions, where x = 0, 1, ..., X-1, and X is an integer greater than or equal to M. The number of positions included in the x-th set of fifth positions can be a positive power of 2. The M sets of third positions can be the M sets of fifth positions from the X sets of fifth positions.

[0291] In this system, N positions can be divided into two sets of N / 2 positions, N / 2 positions can be divided into N / 4 positions, N / 4 positions can be divided into N / 8 positions, and so on. Taking a fifth set of positions as an example, if the fifth set includes N / 2 positions, it can include positions 0 through N / 2-1 of the N positions, or positions N / 2 through N-1 of the N positions.

[0292] Similarly, if the number of positions included in the fifth position set can be N / 4, the fifth position set can include the 0th position to the N / 4-1th position among the N positions, or it can include the N / 4th position to the N / 2-1th position among the N positions, or it can include the N / 2th position to the 3N / 4-1th position among the N positions, or it can include the 3N / 4th position to the N-1th position among the N positions.

[0293] Similarly, if the number of positions included in the fifth position set can be N / 8, the fifth position set can include the 0th position to the N / 8-1th position among the N positions, or it can include the N / 8th position to the N / 4-1th position among the N positions, or it can include the N / 4th position to the 3N / 8-1th position among the N positions, or it can include the 3N / 8th position to the N / 2-1th position among the N positions, or it can include the N / 2th position to the 5N / 8-1th position among the N positions, or it can include the 5N / 8th position to the 3N / 4-1th position among the N positions, or it can include the 3N / 4th position to the 7N / 8-1th position among the N positions, or it can include the 7N / 8-1th position to the N-1th position among the N positions.

[0294] Similarly, the number of positions included in the fifth position set can also be N / 16, N / 32, ..., and the specific positions included can be referred to the above description, which will not be repeated here.

[0295] It is understandable that any two sets of X fifth positions include different positions; or it can be described as the intersection of the X sets of X fifth positions being an empty set. That is, if the 0th set of fifth positions includes positions 0 to N / 2-1 out of N positions, and assuming the 1st set of fifth positions includes N / 4 positions, then the 1st set of fifth positions can include positions N / 2 to 3N / 4-1 out of N positions, or it can include positions 3N / 4 to N-1 out of N positions. In other words, the 1st set of fifth positions cannot include positions 0 to N / 4-1 out of N positions, nor can it include positions N / 4 to N / 2-1 out of N positions.

[0296] Where X can be an integer greater than 1, and its specific value can be determined based on N and the number of positions included in the fifth position set. For example, if N is 4096, and assuming that any fifth position set includes 1024 positions, X can be 4. Or, if N is 2048, and assuming that there is one fifth position set including 1024 positions and another fifth position set including 512 positions, X can be 3.

[0297] Based on the above description of the X sets of fifth positions, this application provides three possible embodiments to determine the number of positions included in any of the X sets of fifth positions:

[0298] In the first possible embodiment, the number of positions included in any of the X fifth position sets is 1024.

[0299] In one example, with N = 2048, X can be 2. For instance, the 0th fifth position set can include positions 0 to 1023 out of N = 2048 positions, and the 1st fifth position set can include positions 1024 to 2047 out of N = 2048 positions.

[0300] In another example, with N = 4096, X can be 4. For instance, the 0th fifth position set can include positions 0 to 1023 out of N = 4096 positions, the 1st fifth position set can include positions 1024 to 2047 out of N = 4096 positions, the 2nd fifth position set can include positions 2048 to 3071 out of N = 4096 positions, and the 3rd fifth position set can include positions 3072 to 4095 out of N = 4096 positions.

[0301] In a second possible embodiment, at least one of the X fifth position sets contains 1024 positions, and the remaining fifth position sets contain 512 positions.

[0302] For example, taking N as 4096, assume that among the X sets of fifth positions, one set of fifth positions contains 1024 positions, and the remaining X-1 sets of fifth positions each contain 512 positions. X can be 7. For example, the 0th fifth position set may include positions 0 to 1023 out of N = 4096 positions; the 1st fifth position set may include positions 1024 to 1535 out of N = 4096 positions; the 2nd fifth position set may include positions 1536 to 2047 out of N = 4096 positions; the 3rd fifth position set may include positions 2048 to 2559 out of N = 4096 positions; the 4th fifth position set may include positions 2563 to 3072 out of N = 4096 positions; the 5th fifth position set may include positions 3072 to 3583 out of N = 4096 positions; and the 6th fifth position set may include positions 3584 to 4095 out of N = 4096 positions.

[0303] Alternatively, suppose that among the X sets of fifth positions, two sets each contain 1024 positions, and the remaining X-2 sets each contain 512 positions, where X can be 6. For example, the 0th set of fifth positions could include positions 0 to 1023 out of N = 4096 positions; the 1st set of fifth positions could include positions 1024 to 2047 out of N = 4096 positions; the 2nd set of fifth positions could include positions 2048 to 2559 out of N = 4096 positions; the 3rd set of fifth positions could include positions 2563 to 3072 out of N = 4096 positions; the 4th set of fifth positions could include positions 3072 to 3583 out of N = 4096 positions; and the 5th set of fifth positions could include positions 3584 to 4095 out of N = 4096 positions.

[0304] In a third possible embodiment, at least one of the X fifth position sets contains 1024 positions, while some of the remaining fifth position sets contain 512 positions each, and the other sets contain 256 positions each.

[0305] For example, taking N = 4096 as an example, suppose that among the X sets of fifth positions, there exists one set containing 1024 positions, four sets each containing 512 positions, and four sets each containing 256 positions. X can be 9. For example, the 0th set of fifth positions can include positions 0 to 1023 out of N = 4096 positions, the 1st set of fifth positions can include positions 1024 to 1535 out of N = 4096 positions, the 2nd set of fifth positions can include positions 1536 to 2047 out of N = 4096 positions, the 3rd set of fifth positions can include positions 2048 to 2559 out of N = 4096 positions, and the 4th set of fifth positions can include N = 4096 positions. The 2563rd to 3072nd positions in the middle; the 5th fifth position set can include the 3072nd to 3327th positions out of N = 4096 positions; the 6th fifth position set can include the 3328th to 3583rd positions out of N = 4096 positions; the 7th fifth position set can include the 3584th to 3839th positions out of N = 4096 positions; and the 8th fifth position set can include the 3840th to 4095th positions out of N = 4096 positions.

[0306] Based on the above description of the X sets of fifth positions, this application provides two possible implementations for determining the M sets of third positions:

[0307] In the first possible implementation, the positions encompassed by the 0th to (q-1)th fifth position sets among the X fifth position sets can be defined as rate-matching bit positions, where q can be understood as (XM-1). In this case, the m-th third position set can be the (q+m)-th fifth position set among the X fifth position sets. That is, the 0th third position set among the M third position sets can be the q-th fifth position set among the X fifth position sets, the 1st third position set among the M third position sets can be the (q+1)-th fifth position set among the X fifth position sets, ..., the (M-1)-th third position set among the M third position sets can be the (q+M-1)-th fifth position set among the X fifth position sets.

[0308] Among the X sets of fifth positions, the sum of the number of positions included in the 0th to (q-1)th fifth position sets can be greater than (NE), and the sum of the number of positions included in the 0th to (q-1)th fifth position sets can be less than (NE). Alternatively, the sum of the number of positions included in the 0th to (q-1)th fifth position sets is equal to (NE).

[0309] For example, if any two sets of fifth positions in X sets contain the same number of positions (denoted as N1), then q can be the result of rounding down (NE) and N1. For instance, q can satisfy the following formula: This indicates rounding down to the nearest integer.

[0310] Based on the first possible implementation, if the sum of the number of positions included in the 0th to (q-1)th fifth position sets among the X fifth position sets is greater than (NE), and the sum of the number of positions included in the 0th to qth fifth position sets among the X fifth position sets is less than (NE), the qth fifth position set (i.e. the 0th third position set) may include a portion of rate-matching bit positions. This portion of rate-matching bit positions may be located at the starting position of the positions included in the qth fifth position set, or this portion of rate-matching bit positions may be determined by sub-block interleaving of the positions included in the qth fifth position set, without restriction.

[0311] Alternatively, if the sum of the number of positions included in the 0th to (q-1)th fifth position sets in the X fifth position sets is equal to (NE), the qth fifth position set (i.e. the 0th third position set) may not include some rate-matching bit positions.

[0312] In the first possible implementation, the positions included in the first q (i.e., XM-1) fifth position sets out of the X fifth position sets can be determined as rate-matching bit positions. Then, the last (Xq-1) (i.e., M) fifth position sets out of the X fifth position sets can be determined as M third position sets. This reduces the number of rate-matching bit positions included in the determined M third position sets. Since the m-th third position set includes the m-th first position set, the M first position sets can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding and decoding performance.

[0313] In the second possible implementation, the positions included in the Mth to (X-1)th fifth position sets out of the X fifth position sets can be determined as rate matching bit positions. That is, the positions included in the last (XM-1) fifth position sets out of the X fifth position sets are all rate matching bit positions. In this case, the mth third position set can be the mth fifth position set out of the X fifth position sets. In other words, the 0th third position set out of the M third position sets can be the 0th fifth position set out of the X fifth position sets, the 1st third position set out of the M third position sets can be the 1st fifth position set out of the X fifth position sets, ..., the (M-1)th third position set out of the M third position sets can be the (M-1)th fifth position set out of the X fifth position sets.

[0314] Among the X sets of fifth positions, the sum of the number of positions included in the (M-1)th to (X-1)th fifth position sets is greater than (NE), and the sum of the number of positions included in the Mth to (X-1)th fifth position sets is less than (NE). Alternatively, the sum of the number of positions included in the Mth to (X-1)th fifth position sets among the X sets of fifth positions is equal to (NE).

[0315] For example, if any two sets of X fifth positions contain the same number of positions (denoted as N1), then (XM-1) can be the result of rounding down (NE) and N1. For instance, (XM-1) can satisfy the following formula: This indicates rounding down to the nearest integer.

[0316] Based on the second possible implementation, if the sum of the number of positions included in the (M-1)th fifth position set to the (X-1)th fifth position set in the X fifth position sets is greater than (NE), and the sum of the number of positions included in the Mth fifth position set to the (X-1)th fifth position set in the X fifth position sets is less than (NE), the (M-1)th fifth position set (i.e. the (M-1)th third position set) may include a portion of rate-matching bit positions. This portion of rate-matching bit positions may be located at the end position of the positions included in the (M-1)th fifth position set, or this portion of rate-matching bit positions may be determined by sub-block interleaving of the positions included in the (M-1)th fifth position set, without restriction.

[0317] Alternatively, if the sum of the number of positions included in the Mth to (X-1)th fifth position sets in the X fifth position sets is equal to (NE), the (M-1)th fifth position set (i.e. the (M-1)th third position set) may not include some rate-matching bit positions.

[0318] In the second possible implementation, the positions included in the last (XM-1) fifth position sets out of the X fifth position sets can be determined as rate-matching bit positions. Then, the first M fifth position sets out of the X fifth position sets can be determined as M third position sets. This reduces the number of rate-matching bit positions included in the determined M third position sets. Since the m-th third position set includes the m-th first position set, the M first position sets can be made as close as possible to the master code, simplifying the determination of information bit positions. At the same time, information bits can be carried in positions with higher reliability, which can improve error correction performance, thereby improving coding and decoding performance.

[0319] Based on the above description of the M sets of third positions, the m-th set of the M sets of third positions can include the m-th set of first positions, and K in the m-th set of first positions... m One location can hold K m One information bit.

[0320] Where K0+K1+…+K M-1 =K,K m It can be less than or equal to the number of positions included in the m-th first position set. This application provides two possible implementations to determine K. m .

[0321] In the first possible implementation, for a given information bit sequence length K and encoded bit sequence length N, the number of positions carrying information bits in the m-th first position set can be determined by mutual information, capacity allocation, density evolution, etc.

[0322] Specifically, among the M sets of first positions, there are M1 sets and M2 sets. The M1 sets of first positions can include some or all of the positions from position 0 to position N / 2-1 out of the N positions, and the M2 sets of first positions can include some or all of the positions from position N / 2 to position N-1 out of the N positions. The number of positions carrying information bits in the M2 sets of first positions (denoted as Z) can be determined through mutual information, capacity allocation, density evolution, etc., and Z can satisfy the following formula: Where J(X)=1-exp(a*X) 3 +b*X 2 Given M1 first position sets, a = 1.81491E-3, b = -1.42675E-1, c = -8.22054E-2, and d = 5.49608E-2, then the number of positions carrying information bits in these M1 first position sets can be KZ.

[0323] Furthermore, among the M1 sets of first positions, there exist M1' sets of first positions and M1” sets of first positions. The M1' sets of first positions can include some or all of the positions from position 0 to position N / 4-1 out of the N positions; the M1” sets of first positions can include some or all of the positions from position N / 4 to position N / 2-1 out of the N positions. The number of positions carrying information bits in the M1” sets of first positions (denoted as Z”) can be determined through mutual information, capacity allocation, density evolution, etc., and Z” can satisfy the following formula: Therefore, the number of positions carrying information bits in the M1' first position sets can be KZZ". Similarly, there are M2' first position sets and M2" first position sets in the M2 first position sets. The M2' first position sets can include some or all of the positions from the N / 2th to the N3 / 4-1th positions out of the N positions; the M2" first position sets can include some or all of the positions from the 3N / 4th to the N-1th positions out of the N positions. The determination of the number of positions carrying information bits in the M2' first position sets can be done with reference to the determination of the number of positions carrying information bits in the M1' first position sets, and the determination of the number of positions carrying information bits in the M2" first position sets can be done with reference to the determination of the number of positions carrying information bits in the M1" first position sets, and will not be elaborated further.

[0324] This process continues until the number of positions carrying information bits in the m-th first position set is determined.

[0325] For example, taking M as 3, suppose the 0th first position set can include the 0th position to the N / 2-1th position among N positions, the 1st first position set can include the N / 2th position to the 3N / 4-1th position among N positions, and the 2nd first position set can include the 3N / 4th position to the N-1th position among N positions. Then, the above M1 first position sets can be the 0th first position set, and the above M2 first position sets can be the 1st first position set and the 2nd first position set.

[0326] The number of positions carrying information bits in the first set of positions and the second set of positions can be... The number of positions carrying information bits in the 0th first position set is K0 = KZ; furthermore, the number of positions carrying information bits in the 2nd first position set... The number of positions carrying information bits in the first position set is K1 = K - K0 - K2.

[0327] In the second possible implementation, the M first position sets can be associated with the Z reliability sequences.

[0328] Specifically, the second reliability sequence can be the longest reliability sequence among the Z reliability sequences (e.g., length N1). The transmitting device can read one or more positions from the second reliability sequence, excluding the second position set, in reverse order. Based on these positions, the number of positions carrying information bits in the M first position sets is determined. If the sum of the number of positions carrying information bits in the determined M first position sets is less than K, one or more positions from the second reliability sequence, excluding the second position set, can continue to be read in reverse order until the sum of the number of positions carrying information bits in the determined M first position sets equals K (i.e., K0 + K0 + ... + K). M-1 =K).

[0329] Among the M sets of first positions, there may be M1 sets of first positions and M2 sets of first positions. The M1 sets of first positions may include some or all of the positions from the 0th position to the N / 2-1th position among the N positions, and the M2 sets of first positions may include some or all of the positions from the N / 2th position to the N-1th position among the N positions. The initial value of the number of positions carrying information bits in the M1 (or M2) first position sets can be set to 0. The N1-1 position in the second reliability sequence can be read. If the bit index corresponding to the N1-1 position in the second reliability sequence is less than N1 / 2, the number of positions carrying information bits in the M1 first position sets can be increased by 2. If the bit index corresponding to the N1-1 position in the second reliability sequence is greater than or equal to N1 / 2, the number of positions carrying information bits in the M2 first position sets can be increased by 2. Furthermore, the N1-2 position in the second reliability sequence can be read, and it can be determined whether the bit index corresponding to the N1-2 position in the second reliability sequence is less than N1 / 2. The specific operation for the N1-1 position in the second reliability sequence can be referred to the above, which will not be elaborated here.

[0330] Furthermore, among the M1 sets of first positions, there may be M1' sets of first positions and M1” sets of first positions. The M1' sets of first positions may include some or all of the positions from the 0th position to the N / 4-1th position among the N positions; the M1” sets of first positions may include some or all of the positions from the N / 4th position to the N / 2-1th position among the N positions. The number of positions carrying information bits in the M1' (or M1”) first position sets can be based on the above description of determining the number of positions carrying information bits in the M1 (or M2) first position sets, and will not be repeated here. Similarly, there are M2' first position sets and M2” first position sets in the M2 first position sets. The M2' first position sets may include some or all of the positions from the N / 2th to the N3 / 4-1th positions out of the N positions; the M2” first position sets may include some or all of the positions from the 3N / 4th to the N-1th positions out of the N positions. The number of positions carrying information bits in the M2' (or M2”) first position sets can be based on the above description of determining the number of positions carrying information bits in the M1 (or M2) first position sets, and will not be repeated here.

[0331] This process continues until the number of positions carrying information bits in the m-th first position set is determined.

[0332] In one example, taking N as 2048, Z as 2, and Z = 2 reliability sequences each with a length of 1024 as an example, M can be 2, and the second reliability sequence can be the 0th reliability sequence. The initial value of the number of positions carrying information bits in the M = 2 first position sets can be set to 0. If the bit index corresponding to the 1023rd position in the second reliability sequence is less than 512, the number of positions carrying information bits in the 0th first position set can be increased by 2; if the bit index corresponding to the 1023rd position in the second reliability sequence is greater than or equal to 512, the number of positions carrying information bits in the 1st first position set can be increased by 2. This process can continue to the 1022nd position in the second reliability sequence until the sum of the number of positions carrying information bits in the 0th first position set and the number of positions carrying information bits in the 1st first position set is K.

[0333] In another example, taking N as 2048, Z as 3, and Z = 3 reliability sequences with lengths of 1024, 512, and 512 respectively, M can be 3, and the second reliability sequence can be the 0th reliability sequence. The initial value of the number of positions carrying information bits in the M = 3 first position sets can all be set to 0. If the bit index corresponding to the 1023rd position in the second reliability sequence is less than 512, the number of positions carrying information bits in the 0th first position set can be increased by 2; otherwise, two more positions can be read from the second reliability sequence, and the number of positions less than 512 can be denoted as k1. The number of positions carrying information bits in the 1st first position set can be increased by k1, and the number of positions carrying information bits in the 2nd first position set can be increased by 2 - k1. This process can then be repeated for the 1022nd position in the second reliability sequence until the sum of the number of positions carrying information bits in the 0th, 1st, and 2nd first position sets is K.

[0334] The various embodiments of this application can be implemented independently or in combination, without limitation. Unless otherwise specified or in conflict of logic, the terminology and / or descriptions between the different embodiments provided in this application are consistent and can be referenced mutually. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

[0335] It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the various steps may be executed in different orders as presented in the embodiments of this application, and it is not necessarily necessary to execute all the operations in the embodiments of this application.

[0336] The foregoing primarily describes the solutions provided in this application from the perspective of device-to-device interaction. It is understood that each device, in order to achieve the aforementioned functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art will readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0337] This application embodiment can divide each device into functional modules according to the above method example. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. The module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0338] When dividing each function into modules according to its corresponding function. Figure 7 A transmitting device 70 is shown, which can perform the above-described... Figure 5 The actions performed by the transmitting device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.

[0339] The transmitting device 70 may include a transceiver module 701 and a processing module 702. Exemplarily, the transmitting device 70 may be a communication device, or a chip or other combination device or component having the aforementioned transmitting device functions applied in a communication device. When the transmitting device 70 is a communication device, the transceiver module 701 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 702 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the transmitting device 70 is a combination device or component having the aforementioned transmitting device functions, the transceiver module 701 may be a radio frequency unit; the processing module 702 may be a processor (or processing circuit), such as a baseband processor. When the transmitting device 70 is a chip system, the transceiver module 701 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 702 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. It should be understood that the transceiver module 701 in the embodiments of this application can be implemented by a transceiver or transceiver-related circuit components; the processing module 702 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0340] For example, the transceiver module 701 can be used to perform... Figure 5 In the illustrated embodiment, all transmit and receive operations performed by the transmitting device, and / or other processes used to support the techniques described herein; the processing module 702 can be used to perform Figure 5 The embodiments shown include all operations performed by the transmitting device other than the sending and receiving operations, and / or other processes used to support the techniques described herein.

[0341] Figure 8 A receiving device 80 is shown, which can perform the above-described... Figure 5 The actions performed by the receiving device in the method shown, and all related content of each step involved in the above method embodiments, can be referenced from the functional description of the corresponding functional module. The technical effects that can be obtained can be referred to the above method embodiments, and will not be repeated here.

[0342] The receiving device 80 may include a transceiver module 801 and a processing module 802. Exemplarily, the receiving device 80 may be a communication device, or a chip or other combination device or component having the aforementioned receiving device functions applied in a communication device. When the receiving device 80 is a communication device, the transceiver module 801 may be a transceiver, which may include an antenna and radio frequency circuits, etc.; the processing module 802 may be a processor (or processing circuit), such as a baseband processor, which may include one or more CPUs. When the receiving device 80 is a combination device or component having the aforementioned receiving device functions, the transceiver module 801 may be a radio frequency unit; the processing module 802 may be a processor (or processing circuit), such as a baseband processor. When the receiving device 80 is a chip system, the transceiver module 801 may be an input / output interface of a chip (e.g., a baseband chip); the processing module 802 may be a processor (or processing circuit) of the chip system, and may include one or more central processing units. The transceiver module 801 in this embodiment can be implemented by a transceiver or transceiver-related circuit components; the processing module 802 can be implemented by a processor or processor-related circuit components (or, referred to as processing circuit).

[0343] For example, the transceiver module 801 can be used to perform... Figure 5 In the illustrated embodiment, all transmit and receive operations performed by the receiving device, and / or other processes used to support the techniques described herein; the processing module 802 can be used to perform Figure 5 The embodiments shown include all operations performed by the receiving device other than the transmit and receive operations, and / or other processes used to support the techniques described herein.

[0344] As another feasible approach Figure 7 The transceiver module 701 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 701; the processing module 702 can be replaced by a processor, which can integrate the functions of the processing module 702. Furthermore, Figure 7 The transmitting device 70 shown may also include a memory. Alternatively, Figure 8 The transceiver module 801 can be replaced by a transceiver unit, which can integrate the functions of the transceiver module 801; the processing module 802 can be replaced by a processor, which can integrate the functions of the processing module 802. Furthermore, Figure 8 The receiver device 80 shown may also include a memory.

[0345] Alternatively, when the processing module 702 is replaced by a processor and the transceiver module 701 is replaced by a transceiver, the transmitting end device 70 involved in the embodiments of this application can also be... Figure 9The communication device 90 shown. Alternatively, when the processing module 802 is replaced by a processor and the transceiver module 801 is replaced by a transceiver, the receiving end device 80 involved in the embodiments of this application can also be Figure 9 The communication device 90 shown.

[0346] The processor can be logic circuit 901, and the transceiver can be interface circuit 902. Furthermore, Figure 9 The communication device 90 shown may further include a memory 903. The memory 903 may exist independently of the processor or be integrated with the processor. The memory 903 may be used to store instructions, program code, or data, for example, it may store one or more of the following: a base matrix, a list of expansion factors, a list of translation values, or a cyclic shift matrix, or other data used for implementation. Figure 5 The data shown is from the method described. The memory 903 may be located inside or outside the communication device 90, without limitation.

[0347] This application also provides a communication device, such as... Figure 10 As shown, this communication device can be applied to the above-mentioned... Figure 5 In any of the embodiments shown in the method, such as Figure 10 As shown, the communication device includes a processing module and a transceiver module. The processing module may be one or more processors, and the transceiver module may be a transceiver or a communication interface. This communication device can be used to implement the sending or receiving device involved in any of the above method embodiments, or to implement the functions of the device involved in any of the above method embodiments. The device or device function may be a network component in a hardware device, a software function running on dedicated hardware, or a virtualization function instantiated on a platform (e.g., a cloud platform). Optionally, the communication device may further include a storage module for storing the program code and data of the communication device.

[0348] In one example, the communication device functions as a transmitting device or is a chip applied within a transmitting device, and executes the steps performed by the transmitting device in the above method embodiments. The transceiver module is used for specific execution. Figure 5 The sending and / or receiving actions performed by the sending device in any of the embodiments may include, for example, other processes that support the sending device in performing the techniques described herein. The processing module may be used to support the communication device in performing the processing actions in the above method embodiments, for example, supporting the sending device in performing other processes of the techniques described herein.

[0349] To achieve the above functions, the chip of this application may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art will readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0350] In one possible implementation, when the transmitting or receiving device is a chip, the transceiver module can be a communication interface, pins, or circuits. The communication interface can be used to input data to be processed to the processor and can output the processor's processing results. Specifically, the communication interface can be a general purpose input / output (GPIO) interface, which can connect to multiple peripheral devices (such as LCD displays, cameras, radio frequency (RF) modules, antennas, etc.). The communication interface is connected to the processor via a bus.

[0351] The processing module can be a processor, which can execute computer execution instructions stored in the storage module to cause the chip to perform... Figure 5 The method involved in any of the embodiments shown is further described below. The processor may include a controller, an arithmetic logic unit (ALU), and registers. For example, the controller is primarily responsible for instruction decoding and issuing control signals for the operations corresponding to the instructions. The ALU is primarily responsible for performing fixed-point or floating-point arithmetic operations, shift operations, and logical operations, and can also perform address operations and translations. The registers are primarily responsible for storing register operands and intermediate operation results temporarily stored during instruction execution. In specific implementations, the processor's hardware architecture can be an ASIC architecture, a microprocessor without interlocked piped stages architecture (MIPS), an advanced reduced instruction set machine (RISC) machine (ARM) architecture, or a network processor (NP) architecture, etc. The processor can be single-core or multi-core. The storage module can be an in-chip storage module, such as a register or cache. The storage module can also be an external storage module, such as ROM or other types of static storage devices that can store static information and instructions, RAM, etc.

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

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

[0354] This application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be implemented by a computer program instructing related hardware. This program can be stored in the computer-readable storage medium, and when executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the terminal (including a data sending end and / or a data receiving end) of any of the foregoing embodiments, such as the terminal's hard disk or memory. The computer-readable storage medium can also be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the terminal. Further, the computer-readable storage medium can include both the terminal's internal storage unit and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the terminal. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

[0355] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature. In the description of this embodiment, unless otherwise stated, "a plurality of" means two or more.

[0356] Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

[0357] It is understood that in this application, "at least one (item)" refers to one or more. "More than one" refers to two or more. "At least two (items)" refers to two or three or more. "And / or" is used to describe the relationship between related objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple. Both "...when" and "if" indicate that a corresponding action will be taken under certain objective circumstances. They are not time limits, nor do they require a judgment action to be taken when the action is taken, nor do they imply any other limitations.

[0358] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0359] In this application, "sending information to...(terminal device)" can be understood as the destination of the information being the terminal device. This can include sending information directly or indirectly to the terminal device. "Receiving information from...(terminal device)" can be understood as the source of the information being the terminal device, and can include receiving information directly or indirectly from the terminal device. Information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source.

[0360] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0361] In the several embodiments provided in this application, the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0362] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0363] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0364] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application embodiment, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

Claims

1. An encoding method, characterized in that, include: Based on the information bit sequence of length K and the M first position sets, determine the bit sequence to be encoded of length N; The bit sequence to be encoded is polar encoded to obtain an encoded bit sequence of length N; Output the encoded bit sequence; Wherein, K is a positive integer, and N is a positive integer power of 2; the position in the m-th first position set of the M first position sets carries K in the information bit sequence. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. The m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M, the bit indices in the reliability sequences are sorted according to reliability, at least two of the Z reliability sequences have the same length, and the bit indices in the at least two reliability sequences are sorted differently; the second position set includes rate-matching bit positions.

2. A decoding method, characterized in that, include: Receive information to be decoded; the length of the encoded bit sequence corresponding to the information to be decoded is N, where N is a positive integer power of 2; Based on the M first position sets, the information to be decoded is polarized decoded to obtain the decoding result; Among them, the position in the m-th first position set of the M first position sets carries an information bit sequence of length K. m 1 information bit; m = 0, 1, ..., M-1, where M is an integer greater than 1. K is a positive integer; The m-th first position set includes one or more positions from the N positions excluding the second position set; the M first position sets are associated with Z reliability sequences, where Z is an integer greater than 1 and less than or equal to M, the bit indices in the reliability sequences are sorted according to reliability, at least two of the Z reliability sequences have the same length, and the bit indices in the at least two reliability sequences are sorted differently; the second position set includes rate-matching bit positions.

3. The method according to claim 1 or 2, characterized in that, The second set of positions also includes additional bit positions.

4. The method according to any one of claims 1-3, characterized in that, The sum of the lengths of the Z reliability sequences is less than or equal to N.

5. The method according to any one of claims 1-4, characterized in that, The reliability sequence corresponding to the j-th position among the N positions is determined according to a first correspondence relationship. The first preset relationship includes multiple reliability sequences and the index of the position corresponding to each reliability sequence among the N positions, j = 0, 1, ..., N-1.

6. The method according to any one of claims 1-5, characterized in that, The length of the first reliability sequence in the Z reliability sequences is 1024, and the length of any reliability sequence other than the first reliability sequence in the Z reliability sequences is any one of the following: 256, 512, 1024 or 2048.

7. The method according to any one of claims 1-6, characterized in that, The M first location sets are associated with Z reliability sequences, including: The reliability of a position in any of the M first position sets is associated with one of the Z reliability sequences.

8. The method according to any one of claims 1-7, characterized in that, The order of bit indices in the reliability sequence associated with the t1-th first position set among the M first position sets is different from the order of bit indices in the reliability sequence associated with the t2-th first position set; t1 is an integer from 0 to M-1, t2 is an integer from 0 to M-1, and t1 is not equal to t2; or The order of the bit indices in the reliability sequence associated with the t3rd first position set among the M first position sets is the same as the order of the bit indices in the reliability sequence associated with the t4th first position set; t3 is an integer from 0 to M-1, t4 is an integer from 0 to M-1, and t3 is not equal to t4.

9. The method according to any one of claims 1-8, characterized in that, Among the M first position sets, there are B first position sets whose number of positions is not a positive integer power of 2, and the number of positions in any of the remaining M first position sets is a positive integer power of 2, wherein B is less than or equal to 2.

10. The method according to any one of claims 1-9, characterized in that, There are M sets of third positions among the N positions. The m-th set of the M sets of third positions includes multiple positions with consecutive indices from the N positions. The number of positions included in the m-th set of third positions is a positive power of 2. The number of positions included in the m-th set of third positions is the same as the length of one of the Z reliability sequences. The m-th first position set is the m-th third position set; or The m-th first position set includes the positions in the m-th third position set other than the second position set.

11. The method according to claim 10, characterized in that, Among the M sets of third positions, one set contains 1024 positions, and the remaining M-1 sets contain any of the following: 256, 512, 1024, or 2048 positions.

12. The method according to claim 11, characterized in that, The M sets of third positions include N' positions. The set of third positions corresponding to the i-th position among the N' positions is determined according to a second correspondence, which includes the index of multiple third position sets and the index of the position included in each third position set among the N' positions, i = 0, 1, ..., N'-1.

13. The method according to any one of claims 10-12, characterized in that, The M sets of third locations include the N locations; or The M third position sets include positions from the N positions excluding at least one fourth position set. Each fourth position set includes a series of consecutive rate-matched bit positions. The total number of positions included in the at least one fourth position set is less than or equal to (NE), where E is the length after rate matching.

14. The method according to claim 13, characterized in that, When the rate matching bit position is from the 0th to the (NE-1)th position among the N positions, the 1st to the (M-1)th third position sets among the M third position sets do not include the rate matching bit position; or When the rate matching bit position is from the Eth position to the (N-1th position) of the N positions, the 0th third position set to the (M-2th third position set) of the M third position sets does not include the rate matching bit position.

15. The method according to any one of claims 10-14, characterized in that, The N positions correspond to X sets of fifth positions. The xth fifth position set in the X sets of fifth positions includes multiple positions with consecutive indices from the N positions, where x = 0, 1, ..., X-1, and X is an integer greater than or equal to M. The number of positions included in the xth fifth position set is a positive integer power of 2, and the sum of the number of positions included in the X sets of fifth positions is N. The m-th third position set is the (q+m)-th fifth position set among the X fifth position sets; Wherein, the sum of the number of positions included in the 0th to (q-1)th fifth position sets among the X fifth position sets is greater than (NE), and the sum of the number of positions included in the 0th to qth fifth position sets among the X fifth position sets is less than (NE); or The sum of the number of positions included in the 0th to (q-1)th fifth position sets among the X fifth position sets is equal to (NE); E is the length after rate matching.

16. The method according to any one of claims 10-14, characterized in that, The N positions correspond to X sets of fifth positions. The xth fifth position set in the X sets of fifth positions includes multiple positions with consecutive indices from the N positions, where x = 0, 1, ..., X-1, and X is an integer greater than or equal to M. The number of positions included in the xth fifth position set is a positive integer power of 2, and the sum of the number of positions included in the X sets of fifth positions is N. The m-th third position set is the m-th fifth position set among the X fifth position sets; Wherein, the sum of the number of positions included in the (M-1)th to (X-1)th fifth position sets among the X fifth position sets is greater than (NE), and the sum of the number of positions included in the Mth to (X-1)th fifth position sets among the X fifth position sets is less than (NE); or The sum of the number of positions included in the Mth to (X-1)th fifth position sets among the X fifth position sets is equal to (NE); E is the length after rate matching.

17. The method according to any one of claims 1-16, characterized in that, The K m Associated with the Z reliability sequences.

18. A communication device, characterized in that, The communication device includes a module or unit for performing the encoding method as described in any one of claims 1, 3-17; or, the communication device includes a module or unit for performing the decoding method as described in any one of claims 2-17.

19. A communication device, characterized in that, The communication device includes a processor; the processor is configured to execute the encoding method as described in any one of claims 1, 3-17, or the decoding method as described in any one of claims 2-17, by means of logic circuits and / or by running computer programs or instructions.

20. The communication device according to claim 19, characterized in that, It also includes a memory for storing the computer program or instructions.

21. A communication device, characterized in that, The communication device includes an interface circuit and a logic circuit; the interface circuit is used to input and / or output information; the logic circuit is used to execute the encoding method as described in any one of claims 1, 3-17, or to execute the decoding method as described in any one of claims 2-17, to process and / or generate the information based on the information.

22. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions or programs that, when executed on a computer, cause the encoding method as described in any one of claims 1, 3-17 to be executed, or cause the decoding method as described in any one of claims 2-17 to be executed.

23. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are executed on a computer, they cause the encoding method as described in any one of claims 1, 3-17 to be executed, or the decoding method as described in any one of claims 2-17 to be executed.