Data encoding and decoding method, communication device, and storage medium

CN122993732APending Publication Date: 2026-10-27ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510523132.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-24
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

但现有技术中的Polar编码方案使用单条序列在任意码长码率下难以实现快速译码的问题

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122993732A_ABST
    Figure CN122993732A_ABST
Patent Text Reader

Abstract

The application provides a data coding and decoding method, a communication device and a storage medium. The data coding method applied to a first communication node comprises the following steps: obtaining a to-be-coded bit sequence; coding the to-be-coded bit sequence to obtain a first bit sequence; obtaining a second bit sequence according to the first Polar sequence and the first bit sequence; performing Polar code coding on the second bit sequence to obtain a third bit sequence; and sending at least part of the bits of the third bit sequence; wherein when the length of the first bit sequence belongs to a first preset information length set, the subcode rate of each subblock in the second bit sequence does not belong to a first subcode rate set; and the first subcode rate set comprises a subcode rate used for indicating that parallel decoding cannot be performed. According to the application, the storage and calculation overheads can be reduced while ensuring fast decoding.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, specifically to a data encoding and decoding method, a communication device, and a storage medium. Background Technology

[0002] With the development of virtual reality / augmented reality, intelligent transportation, intelligent industrial control, and artificial intelligence (AI) big data models, the demand for ultra-high data rates and ultra-low latency communication in 6G mobile communication technology is becoming increasingly strong.

[0003] Polar coding is a capacity-capacity channel coding method used in mobile communication systems for controlling channels. However, existing Polar coding schemes, using a single sequence, struggle to achieve fast decoding at arbitrary code lengths and rates. Summary of the Invention

[0004] In view of this, embodiments of this application provide a data encoding and decoding method, a communication device, and a storage medium, which reduce decoding latency and improve decoding speed.

[0005] This application provides a data encoding method applied to a first communication node, including:

[0006] Obtain the bit sequence to be encoded;

[0007] The bit sequence to be encoded is encoded to obtain the first bit sequence;

[0008] The second bit sequence is obtained based on the first Polar sequence and the first bit sequence;

[0009] The second bit sequence is encoded using Polar code to obtain the third bit sequence;

[0010] Send at least a portion of the bits of the third bit sequence;

[0011] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcode rates that cannot be decoded in parallel.

[0012] This application provides a data decoding method applied to a second communication node, including:

[0013] Receive at least a portion of the data sequence to be decoded from the third bit sequence;

[0014] The at least portion of the data to be decoded is subjected to Polar decoding to obtain the decoded second bit sequence;

[0015] The decoded first bit sequence is obtained based on the decoded second bit sequence and the first Polar sequence;

[0016] The decoded bit sequence is obtained by decoding the first bit sequence;

[0017] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0018] This application provides a data encoding device applied to a first communication node, comprising:

[0019] The acquisition module is configured to acquire the bit sequence to be encoded.

[0020] The first encoding module is configured to encode the bit sequence to be encoded to obtain a first bit sequence;

[0021] The determination module is configured to obtain the second bit sequence based on the first Polar sequence and the first bit sequence;

[0022] The second encoding module is configured to perform Polar code encoding on the second bit sequence to obtain the third bit sequence;

[0023] The transmitting module is configured to transmit at least a portion of the bits of the third bit sequence;

[0024] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcode rates that cannot be decoded in parallel.

[0025] This application provides a data decoding device applied to a second communication node, comprising:

[0026] A receiving module configured to receive at least a portion of a data sequence to be decoded from a third bit sequence;

[0027] The first decoding module is configured to perform Polar decoding on at least a portion of the data to be decoded to obtain a decoded second bit sequence;

[0028] The first determining module is configured to obtain the decoded first bit sequence based on the decoded second bit sequence and the first Polar sequence;

[0029] The second decoding module is configured to decode the first bit sequence after decoding to obtain the decoded bit sequence;

[0030] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0031] This application provides a communication device, including: a memory, and one or more processors;

[0032] The memory is configured to store one or more programs;

[0033] When the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any of the above embodiments.

[0034] This application provides a storage medium storing a computer program, which, when executed by a processor, implements the methods described in any of the above embodiments. Attached Figure Description

[0035] Figure 1 This is a schematic diagram of an existing technology for decoding Polar codes;

[0036] Figure 2 This is a schematic diagram illustrating the implementation of a communication scenario provided in an embodiment of this application;

[0037] Figure 3 This is a flowchart of a data encoding method provided in an embodiment of this application;

[0038] Figure 4 This is a schematic diagram illustrating the implementation of a polarization transformation factor diagram provided in an embodiment of this application;

[0039] Figure 5 This is a schematic diagram illustrating the implementation of a block error rate curve provided in an embodiment of this application;

[0040] Figure 6 This is a schematic diagram illustrating another implementation of the block error rate curve provided in an embodiment of this application;

[0041] Figure 7 This is a flowchart of a data decoding method provided in an embodiment of this application;

[0042] Figure 8 This is a structural block diagram of a data encoding device provided in an embodiment of this application;

[0043] Figure 9This is a structural block diagram of a data decoding device provided in an embodiment of this application;

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

[0045] The embodiments of this application will be described below with reference to the accompanying drawings. The examples given are for illustrative purposes only and are not intended to limit the scope of this application.

[0046] It should be noted that although a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than that shown in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0047] Polar codes are a capacity-capacity channel coding method and have become the coding scheme for control channels in fifth-generation mobile communication systems. Successive Cancellation (SC) is a commonly used decoding algorithm for polar codes. Its process can be viewed as a depth-first traversal of a binary tree; the number of nodes traversed determines the decoding delay. The idea of ​​sequential decoding directly leads to the difficulty of achieving high throughput in SC decoding, increasing decoding delay. To achieve faster SC decoding, a Fast Successive Cancellation (Fast-SC) algorithm was proposed. Fast-SC is a fast decoding method for polar codes, which can treat the decoding problem of a polar code of length N as decoding multiple smaller subcodes. Fast decoding methods exist for specific types of subcodes. The fast decoding of specific types of subcodes in the Fast-SC algorithm can effectively reduce the number of nodes that need to be traversed, thereby reducing the decoding delay of polar codes and increasing the decoding data rate. However, there is still a problem of slow decoding for subcodes with specific subcode rates. Therefore, it is necessary to avoid these subcodes with specific subcode rates as much as possible so that all subcodes can be decoded quickly, thereby improving the decoding speed.

[0048] The Polar sequence of a Polar code is arranged in ascending order of bit index reliability. The Polar sequence of a Polar code can be represented as follows: Each element in the sequence satisfy This represents a bit index before Polar encoding, i = 0, 1, ..., N max-1, the reliability of Polar code sequences satisfies: in, Represents bit index The reliability of the information before encoding is considered. When the length of the information before encoding is K, the bit index of the Polar code with the highest reliability is selected to carry the information to be encoded, and the other lower reliability bit indices of the Polar code carry known frozen bit information. Due to the problem that subcodes with specific code rates cannot be decoded quickly, it is impractical to achieve fast decoding of a Polar sequence at any code length and code rate. To ensure fast decoding at various code lengths and code rates, the sequence is generally adjusted directly to enable fast decoding. For example, this can be done by dynamically adjusting the reliability order of the sequence or by using a sequence adjustment table to indicate the position of the Polar code bit index that needs to be adjusted at the current code length and code rate. However, these methods increase computation or storage requirements, and the Polar code sequence is not unique when the code rate changes.

[0049] To address this issue, this application proposes a Polar code encoding method that enables fast decoding even when the length of the information to be encoded is a specific length, such as an even or odd number, without increasing computational or storage requirements. Furthermore, it eliminates the need to adjust the Polar sequence when the length of the information to be encoded changes. In this application, the Polar sequence of the Polar code represents the same content as the Polar code sequence.

[0050] The advantage of Fast-SC decoding is that, during the decoding of Polar codes, the decoding and output of a sub-code can be completed within one clock cycle or a very short time, depending on the characteristics of the sub-code. For example, Figure 1 This is a schematic diagram of an existing technology for decoding Polar codes, such as... Figure 1 As shown, for a mother code length N equal to 16, a sub-block size P equal to 4, and a sub-block number equal to 4, according to the Polar sequence of the Polar code, the K bits to be encoded are placed in the K positions with the highest reliability among the bit indices before the N Polar codes, and the remaining NK bits before the Polar codes are placed with frozen bits 0; the above N bits are divided into 4 sub-blocks starting from the first bit, as follows: Figure 1As shown, the leaf nodes correspond to the bit indices before Polar encoding in the Polar code. The bit indices before Polar encoding are numbered from left to right as 0, 1, ..., 15. The black circles in the leaf nodes indicate the bit index positions before Polar encoding where the information bit is placed. In this example, the information bit to be encoded is located at bit indices {7, 9, 10, 11, 12, 13, 14, 15} before Polar encoding. The white circles in the leaf nodes indicate the bit index positions before Polar encoding where the frozen bit 0 is placed. In this example, it is located at bit indices {0, 1, 2, 3, 4, 5, 6, 8} before Polar encoding.

[0051] The bit indices before Polar encoding, which carries N bits, are divided into four sub-blocks starting from the first Polar encoding bit index. The first sub-block corresponds to the Polar encoding bit indexes {0,1,2,3}, the second sub-block corresponds to the Polar encoding bit indexes {4,5,6,7}, the third sub-block corresponds to the Polar encoding bit indexes {8,9,10,11}, and the fourth sub-block corresponds to the Polar encoding bit indexes {12,13,14,15}. The decoding idea of ​​Fast-SC is to perform depth-first traversal decoding in the binary tree from top to bottom. When decoding to the first sub-block, since all four bits in the first sub-block are frozen bits, the four bits in the sub-block can be directly judged as 0. The ratio of the number of information bits in the sub-block to the size of the sub-block is regarded as the sub-code rate. The sub-code rate is 0, which is the Rate-0 node in the figure.

[0052] Then, the depth-first decoding continues to the second sub-block. In the second sub-block, the first three pre-Polar encoding bit indices carry frozen bits, and the last pre-Polar encoding bit index carries information bits. Assuming the corresponding information to be encoded in this sub-block is [0,0,0,u], then the encoded information for this sub-block is:

[0053]

[0054] It can be observed that all the information bits obtained after encoding the above sub-blocks are bits u. Therefore, when decoding to the second sub-block, all the corresponding soft information can be summed, and threshold detection can be performed by sign judgment. The detection result is used as the decoding output of the sub-code. The code rate of the sub-code is 1 / 4, corresponding to the REP node in the figure.

[0055] Continuing the depth-first decoding process to the third sub-block, the bit index before the first Polar encoding in the third sub-block carries the frozen bits, and the bit indices before the last three Polar encodings carry the information bits. Assuming the corresponding information to be encoded in this sub-block is [0, u0, u1, u2], then the encoded information for this sub-block is:

[0056]

[0057] It can be found that the checksum of the information bits obtained after the above sub-block encoding is equal to 0. Therefore, when decoding to the second sub-block, all the corresponding soft information can be hard-determined. If the checksum is not equal to 0, the least reliable estimate is flipped. The result after hard decision is used as the decoding output of the sub-code. The code rate of the sub-code is 3 / 4, corresponding to the SPC node in the figure.

[0058] Continue the depth traversal to the fourth sub-block. The four bits corresponding to the fourth sub-block are all information bits to be encoded. Symbol decision can be directly performed on the four bits in this sub-block. The bits after the decision are used as the decoding output of this sub-block. The code rate of this sub-code is 1, corresponding to the Rate-1 node in the figure.

[0059] As the size of the sub-blocks and the number of information bits change, the sub-blocks obtained after segmenting the bit index before Polar encoding have various types of sub-code rates. Under the constraint of very small performance loss, not all sub-code rates can be decoded quickly. In order to ensure that fast decoding can be performed under various code lengths and rates, the existing fast polar code construction methods generally include the following steps: the (N,K) polar code constructed using the traditional polar code construction method is segmented according to the length P; all frozen bit positions are initialized to the active state, and the active bit positions can be converted into information bit positions; it is determined whether each segment belongs to the set of fast-decoding modes. If it does not belong to the set of fast-decoding modes, the least reliable information position of the current segment is converted into a frozen bit position, and the frozen bit positions in the active state in a subsequent segment are converted into information bit positions; the segment containing the frozen bit position converted into an information bit position should still belong to the set of fast-decoding modes after conversion. If it does not belong, the position is made inactive, and a new position is selected.

[0060] Existing solutions require running a rate adjustment algorithm for each code length and code rate configuration, resulting in high complexity. This application proposes a Polar code encoding method that solves the problem of difficulty in achieving fast decoding with a single sequence at arbitrary code lengths and rates in Polar coding-related technologies. It reduces decoding latency and improves decoding speed, enabling fast decoding even when the length of the information to be encoded is a specific length, such as an even or odd number. Furthermore, it eliminates the need to adjust the Polar sequence when the length of the information to be encoded changes, thus avoiding increased computational and storage requirements for Polar code sequence adjustment.

[0061] This application relates to a data encoding method and apparatus, which can be a Polar code data encoding method, thereby reducing storage and computational overhead while ensuring fast decoding.

[0062] To facilitate understanding of this embodiment, the application scenarios of the data encoding method disclosed in this embodiment will first be described in detail. The data encoding method provided in this embodiment can be applied to any scenario requiring wireless data transmission. During data transmission, due to the influence of factors such as multipath, noise, and interference, Polar encoding can be used as a channel coding method to eliminate the distortion caused by data during transmission. The Polar encoding method provided in this embodiment can be applied to 5G-A, 6G mobile communication networks, or other communication networks.

[0063] Figure 2 This is a schematic diagram illustrating the implementation of a communication scenario provided in an embodiment of this application. Figure 2 In the example, the implementation environment includes, but is not limited to, a first communication node 210 and a second communication node 220, wherein the first communication node 210 and the second communication node 220 can transmit and receive wireless signals and interact with related data.

[0064] In one embodiment, the first communication node 210 and the second communication node 220 may include, but are not limited to, the following electronic devices: base station (BS), access point (AP), node B, gnode B (generalized node B), radio network controller (RNC), evolved Node B (eNB), base station controller (BSC), base transceiver station (BTS), transceiver function (TF), radio router, radio transceiver, basic service set (BSS), extended service set (ESS), or radio base station (RBS). The first and second communication nodes may also be access terminals, user equipment (UE), user units, user stations, mobile stations, mobile stations, remote stations, remote terminals, mobile devices, user terminals, wireless communication equipment, user agents, or user devices. It can also be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, Wireless Local Loop (WLL) station, Personal Digital Assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, in-vehicle device, wearable device, device in a 5G network or a future 6G or higher network, etc., without being specifically limited here.

[0065] In one example, the first communication node is a base station and the second communication node is a user equipment; in another example, the first communication node is a user equipment and the second communication node is a base station; in yet another example, both the first and second communication nodes can be base stations; and in yet another example, both the first and second communication nodes can be user equipment.

[0066] Based on the above application scenarios, the data encoding method in this embodiment is generally executed by an electronic device with certain computing capabilities. In some possible implementations, the data encoding method can be implemented by the processor calling computer-readable instructions stored in the memory.

[0067] It is understood that the entity executing the data encoding method provided in this embodiment may be, but is not limited to, a... Figure 2 The first communication node in the schematic diagram shown, or the corresponding execution subject that can be selected and set by those skilled in the art according to the actual application scenario, is not limited in this embodiment. Here, in order to more conveniently describe the application scenario and principle of this disclosure, the first communication node is often used as the execution subject of the data encoding method in the relevant parts of the following related embodiments, but it should not be construed as a limitation on the embodiments of this disclosure.

[0068] It should be noted that the first communication node in the embodiments of this application may also be referred to as the first processing node, or the first communication device, or the first transmission node; the second communication node may also be referred to as the second processing node, or the second communication device, or the second transmission node.

[0069] It should be noted that the fast decoding in this application can also be called parallel decoding.

[0070] In one embodiment, Figure 3 This is a flowchart illustrating a data encoding method provided in an embodiment of this application. This embodiment applies to the encoding of Polar codes. This embodiment can be executed by a first communication node. For example, the first communication node can be a base station or a user equipment. Figure 3 As shown, this embodiment includes: S310-S350.

[0071] S310. Obtain the bit sequence to be encoded.

[0072] In a specific example, the bit sequence to be encoded can be information carried in one of the following physical channels: physical uplink control channel, physical uplink shared channel, physical downlink control channel, physical downlink shared channel, and physical broadcast channel.

[0073] In this embodiment, the length of the bit sequence to be encoded is A, where A is an integer greater than 0 and less than NL, N is the length of the parent code encoded by Polar code (i.e., the length of the second bit sequence), and L is the length of the check bit obtained by the first encoding method, where L is an integer greater than 0. The bit sequence to be encoded can be represented as u = [u0, u1, u2, ..., u A-1 ].

[0074] The specific implementation method for obtaining the bit sequence to be encoded can be set by those skilled in the art according to their needs. This application focuses on the process of data encoding of the bit sequence to be encoded, and does not describe any other limitations on how to determine the specific method of the bit sequence to be encoded.

[0075] S320. Encode the bit sequence to be encoded to obtain the first bit sequence.

[0076] In one example, the length of the first bit sequence is K, and the length of the bit sequence to be encoded is A. In one embodiment, the bit sequence to be encoded can be encoded using a first encoding method to obtain a bit sequence.

[0077] S330. Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0078] S340. The second bit sequence is encoded using Polar code to obtain the third bit sequence.

[0079] S350, Send at least a portion of the bits of the third bit sequence.

[0080] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0081] When the length of the first bit sequence belongs to the first preset information length set, the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set. Furthermore, the sub-block size P can be divided by the length N of the second bit sequence, where P is a power of 2. This allows any information length in the first preset information length set to be decoded quickly, thereby improving decoding speed and reducing decoding delay.

[0082] In one embodiment, the bit sequence to be encoded includes at least one of the following: an uplink control information bit sequence; a downlink control information bit sequence; an uplink data information bit sequence; and a downlink data information bit sequence.

[0083] In one example, where the first communication node is a base station and the second communication node is a user equipment, downlink represents sending data from the first communication node to the second communication node; uplink represents sending data from the second communication node to the first communication node.

[0084] In one embodiment, encoding the bit sequence to be encoded to obtain a first bit sequence includes:

[0085] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence to be encoded.

[0086] The padded bit sequence to be encoded is encoded to obtain the first bit sequence; wherein, the first length is the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set;

[0087] Where A is the length of the bit sequence to be encoded, and A is an integer greater than 0 and less than NL; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; L is the length of the parity bits contained in the first bit sequence, and L is an integer greater than 0; the length K of the first bit sequence is an integer greater than A and less than N; the number of padding bits is greater than or equal to 0.

[0088] In one example, the length of the bit sequence to be encoded is equal to the first length, and the number of padding bits is zero. In this case, no padding is applied to the bit sequence to be encoded.

[0089] In one example, L can be the length of the parity bits obtained by encoding using the first encoding method.

[0090] In one example, the data used to fill the bit sequence to be encoded is known to both the first and second communication nodes.

[0091] In one example, the bit sequence to be encoded is padded with 0 bits up to a first length L1, with the number of 0s being L1-A. The padded bit sequence can then be represented as [u0, u1, u2, ..., u...]. A-1 ,0,0,...,0 L1 In another example, padding with 1s up to a first length L1, with the number of 1s being L1-A, results in a bit sequence [u0, u1, u2, ..., u...]. A-1 ,1,1,...,1 L1 The position of the padding bits can be either after or before the bit sequence to be encoded; this embodiment does not impose any limitation. Wherein, u A-1 The length of the bit sequence before it is padded.

[0092] In one embodiment, the padded bit sequence to be encoded is encoded to obtain a first bit sequence, including one of the following:

[0093] Cyclic redundancy check encoding is performed on the padded bit sequence to be encoded to obtain the first bit sequence;

[0094] The padded bit sequence to be encoded is parity-checked to obtain the first bit sequence.

[0095] Cyclic redundancy check (CRC) coding and parity check (PCC) coding are performed on the padded bit sequence to obtain the first bit sequence.

[0096] In one embodiment, the padded bit sequence to be encoded is cyclic redundancy check (CRC) encoded to obtain a first bit sequence:

[0097] Cyclic Redundancy Check (CRC) is a commonly used check method based on division and remainders, used to detect errors in data transmission or storage.

[0098] In the above embodiment, the padded bit sequence is cyclic redundancy check (CRC) encoded to obtain the first bit sequence, and the padded bit sequence is represented as [d0, d1, d2, ..., d]. L1-1 The first bit sequence obtained after performing CRC cyclic redundancy check encoding on the padded bit sequence is represented as [c0, c1, c2, ..., c]. K-1 ] = [d0,d1,d2,...,d L1-1 ,r0,r1,...,r L-1 In this embodiment, L represents the length of the CRC check bit. The length of the CRC check bit obtained after CRC encoding includes, but is not limited to, 6, 8, 11, 12, 16, 19, 24, and 32.

[0099] In one embodiment, parity-check encoding is performed on the padded bit sequence to be encoded to obtain a first bit sequence:

[0100] Parity checking is a basic error detection method that ensures data consistency and correctness by adding extra bits. Parity checking checks the number of 1s in a given set of bits by setting rules. For odd parity, if the total number of 1s in the corresponding encoded data unit is odd, the parity bit is set to 0; otherwise, it is set to 1. For even parity, if the total number of 1s in the corresponding encoded data unit is even, the parity bit is set to 0; otherwise, it is set to 1.

[0101] In this embodiment, the parity check code may include, but is not limited to, Hamming code or parity check code with a prime number as a gap.

[0102] Hamming coding is a classic encoding method. This embodiment only provides a general example description based on the data representation format corresponding to this application. In this embodiment, the padded bit sequence is represented as [d0, d1, d2, ..., d...]. L1-1 In Hamming code, the i-th parity bit is located at the 2nd bit position in the encoded bit sequence. i In position i, i satisfies i≥0 and 2 i<L1+L. In an example, the padded bit sequence is [d0,d1,d2,d3], L1=4, L is equal to 3, which is the number of parity bits for Hamming code in this embodiment. The values of i that meet the above condition are 0, 1, and 2 respectively, and the parity bits are respectively the 1st, 2nd, and 4th bits of the encoded bit sequence. This bit sequence can be expressed as [r0,r1,d0,r2,d1,d2,d3], where the following is satisfied: represents modulo-2 addition.

[0103] Herein, the parity check coding with a prime number interval is an implementation of parity check coding, which means that the information bits to be coded are selected at every prime number interval. The number L of parity check bits is less than or equal to the prime number of the interval, and the parity check bits may be placed after the padded bit sequence, or the parity check bits may be placed between the padded bit sequences. In an example, the padded bit sequence is [d0,d1,d2,d3,d4,d5], L is equal to 3, the interval prime number is 3, and the bit sequence after the parity check coding with a prime number interval is [d0,d1,d2,d3,d4,d5,r0,r1,r2], where the following is satisfied: represents modulo-2 addition.

[0104] In an embodiment, cyclic redundancy check coding and parity check coding are respectively performed on the padded bit sequence to obtain a first bit sequence:

[0105] The sum of the parity bit length of the cyclic redundancy check coding and the parity bit length of the parity check coding is equal to L. The process of encoding the padded bit sequence to obtain the first bit sequence may include: first performing parity check coding, and then performing cyclic redundancy check coding on the codeword obtained after the parity check coding; or including: first performing cyclic redundancy check coding, and then performing parity check coding on the codeword obtained after the cyclic redundancy check coding. The above parity check coding may include but is not limited to: Hamming coding or parity check coding with a prime number interval.

[0106] In an embodiment, the length of the first bit sequence belongs to a first preset information length set; the first preset information length set at least includes a value that is greater than L and less than N.

[0107] In an embodiment, the first preset information length set includes one of the following:

[0108] The first preset information length set includes even numbers that are greater than or equal to T1 and less than or equal to T2;

[0109] The first preset information length set includes odd numbers that are greater than or equal to T1 and less than or equal to T2;

[0110] The first preset information length set contains integers that are multiples of 4 and are greater than or equal to T1 and less than or equal to T2;

[0111] The first preset information length set contains integers that are multiples of 8 and are greater than or equal to T1 and less than or equal to T2;

[0112] The first preset information length set contains integers that are multiples of 16 and are greater than or equal to T1 and less than or equal to T2;

[0113] The first preset information length set contains integers equal to p*k+q that are greater than or equal to T1 and less than or equal to T2;

[0114] Where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is a number greater than or equal to 8. and less than T1 and T2 are both integers greater than 0, and T1 is less than T2.

[0115] In one example, the first preset information length set contains only integers greater than or equal to T1 and less than or equal to T2 that are equal to p*k+q, where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is greater than or equal to... and less than If the length of the first bit sequence belongs to the first preset information length set, fast decoding can be performed in each sub-block without additional storage and computation.

[0116] In one embodiment, T1 and T2 satisfy one of the following conditions:

[0117] T1 equals L+1;

[0118] T2 equals N-1;

[0119] T1 is based on the minimum supported bit rate R min The length N of the second bit sequence is determined, where, or R min It is a real number that is greater than 0 and less than 1;

[0120] T2 is based on the maximum supported bitrate R max The length N of the second bit sequence is determined, where, or R max It is a real number that is greater than 0 and less than 1.

[0121] The range of values ​​included in the first preset information length set can be from the optional minimum value 1 to the optional maximum value NL, which can cover more cases, but may result in performance loss in some cases; alternatively, the range of values ​​in the first preset information length set can be determined based on the actual minimum bit rate, maximum bit rate, and the length N of the second bit sequence, so that targeted sequence construction can be performed within a smaller range when constructing the sequence, thereby reducing performance loss.

[0122] In a specific example, the mother code length N is a power of 2, which can be one of the following: 256, 512, 1024, 2048, 4096, or 8192.

[0123] In a specific example, the minimum bitrate R min Equal to 1 / 8, maximum bitrate R max Equal to 5 / 6, the length of the mother code N is a power of 2, which can be one of the following: 256, 512, 1024, 2048, 4096, 8192;

[0124] In a specific example, the minimum bitrate R min Equal to 1 / 12, maximum bitrate R max Equal to 5 / 6, the length of the mother code N is a power of 2, which can be one of the following: 256, 512, 1024, 2048, 4096, 8192;

[0125] In a specific example, the minimum bitrate R min Equal to 1 / 8, maximum bitrate R max Equal to 8 / 9, the length of the mother code N is a power of 2, which can be one of the following: 256, 512, 1024, 2048, 4096, 8192;

[0126] In a specific example, the minimum bitrate R min Equal to 1 / 12, maximum bitrate R max Equal to 8 / 9, the mother code length N is a power of 2, which can be one of the following: 256, 512, 1024, 2048, 4096, 8192.

[0127] In one embodiment, a sub-block is obtained by dividing the second bit sequence into blocks starting from the first bit and at equal intervals P; where P is the length of each sub-block and P is an integer divisible by N.

[0128] In one example, a sub-block refers to a sub-block obtained by dividing the second bit sequence from the first bit at equal intervals P; P is the length of each sub-block, also known as the size of each sub-block; P is an integer divisible by N, and P is a power of 2.

[0129] In one embodiment, the first subcode rate set includes at least one rate value. The first subcode rate set includes at least one rate value and is used to indicate the subcode rate that cannot be fast-decoded.

[0130] In one embodiment, the subcode rates in the first subcode rate set are real numbers greater than 3 / P and less than (P-3) / P; the subcode rates in the first subcode rate set belong to the set consisting of {i / P}; where i equals 4, 5, ... or P-4. The subcode rate refers to the ratio of the number of information bits carried in the subcode to the subcode length. For any subcode length, subcode rates of 0, 1, 1 / P, (P-1) / P, 2 / P, (P-2) / P, 3 / P, and (P-3) / P are all easy to decode quickly.

[0131] In one embodiment, when the first preset information length set contains an even or odd number greater than or equal to T1 and less than or equal to T2, the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P.

[0132] When the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P, it is easier to construct the first Polar sequence for fast decoding when the length of the first bit sequence belongs to the first preset information length set, especially when the values ​​in the first preset information length set are all even or all odd.

[0133] In one example, the subcode block length P is equal to 16, the first subcode rate set is {5 / 16, 9 / 16}, and the difference between the two is 4 / 16, that is, the difference between the two is greater than 2 / 16.

[0134] In one embodiment, the first subcode rate set includes at least one of the following:

[0135] {5 / 16};

[0136] {9 / 16};

[0137] {5 / 16, 9 / 16};

[0138] {5 / 16,7 / 16,9 / 16};

[0139] {5 / 16,9 / 16,11 / 16};

[0140] {5 / 16,7 / 16,9 / 16,11 / 16}.

[0141] In this embodiment, in step S330, when the length of the first bit sequence belongs to the first preset information length set, each sub-code rate in the second bit sequence does not have a rate belonging to the first sub-code rate set. The sub-block refers to the sub-block obtained by dividing the second bit sequence from the first bit at the same interval P, where P is the size of the sub-block and P is divisible by N.

[0142] In one example, the second bit sequence is represented as:

[0143] [x0,x1,...,x P-1 ,x P ,x P+1 ,...,x 2P-1 ,...,x N-1 ],

[0144] In this sequence, each element in the second bit sequence is a bit value, and the first sub-block corresponds to [x0, x1, ..., x]. P-1 The bits of the first sub-block are carried at the bit indices 0, 1, ..., P-1 before Polar encoding; the bits of the second sub-block correspond to [x P ,x P+1 ,...,x 2P-1 The bits of the second sub-block are carried on the bit indices before Polar encoding, which are numbered P, P+1, ..., 2P-1, respectively, and so on until the last sub-block.

[0145] In one embodiment, obtaining the second bit sequence based on the first Polar sequence and the first bit sequence includes:

[0146] The set of bit indices carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence;

[0147] The second bit sequence is obtained by combining the first bit sequence with the set of bit indices that carry the first bit sequence.

[0148] In one example, a set of bit indices carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence. This set of bit indices, excluding pre-frozen bit index positions, consists of the size of the most reliable bit index in the first Polar sequence. The pre-frozen bit index positions are determined according to a preset rule, such as setting the first NE bits of the bit index to be pre-frozen, or setting the last NE bits of the bit index to be pre-frozen; other pre-frozen methods are not limited here. The length K of the first bit sequence is an integer greater than A and less than N, and the length N of the second bit sequence is an integer greater than K and equal to a power of 2.

[0149] In one embodiment, the first Polar sequence is used to represent a sequence obtained by sorting the reliability of the bit indices before Polar encoding, wherein the reliability of the bit indices before Polar encoding contained in the first Polar sequence is sorted from low to high.

[0150] The most reliable K Polar codes in the first Polar sequence carry the bits contained in the first bit sequence. The code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. The value of K belongs to the first preset information length set.

[0151] In one embodiment, the length N of the first Polar sequence is a power of 2.

[0152] In one embodiment, the value of N may include, but is not limited to, one of the following: 256, 512, 1024, 2048, 4096, 8192.

[0153] In one embodiment, the bit indices in the first Polar sequence are located at the bit indices of [i*P, (i+1)*P-1], and the second Polar sequence is formed according to the order in the first Polar sequence; where i equals 0, 1, ..., N / P, and the number of second Polar sequences is N / P;

[0154] The third Polar sequence is formed by the difference between the value in the i-th second Polar sequence and i*P; and the third Polar sequence is the same for any i.

[0155] As an explanation of the above embodiments, in a specific example, the first Polar sequence is [0 1 2 4 3 56 8 7 9 10 12 11 13 14 15], P=4, N=16; the bit index before Polar encoding is obtained, and the bit index before Polar encoding is located in the interval [0*P, (0+1)*P-1]. The i=0th second Polar sequence is [0 1 2 3]. The values ​​in the second Polar sequence are subtracted by 0 to form the third Polar sequence [0 1 2 3]. The bit index before Polar encoding is obtained, and the bit index before Polar encoding is located in the interval [1*P, (1+1)*P-1]. The i=1th second Polar sequence is [45 6 7]. The values ​​in the second Polar sequence are subtracted by 4 to form the third Polar sequence [0 1 2 3]. [3]; Obtain the bit index before Polar encoding. The bit index before Polar encoding is located in the interval [2*P, (2+1)*P-1]. The second Polar sequence i=2 is [8 9 10 11]. Subtract 8 from the values ​​in the second Polar sequence to form the third Polar sequence [0 1 2 3]. Obtain the bit index before Polar encoding. The bit index before Polar encoding is located in the interval [3*P, (3+1)*P-1]. The second Polar sequence i=3 is [12 13 14 15]. Subtract 12 from the values ​​in the second Polar sequence to form the third Polar sequence [0 1 2 3]. Therefore, for any i, its third Polar sequence is the same.

[0156] In one embodiment, P is a power of 2. In one example, P can be a power of 2 from 3 to 6.

[0157] In one embodiment, the third Polar sequence includes, but is not limited to, one of the following: [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15]; [0 1 2 4 8 3 5 6 9 10 12 7 11 13 14 15]; [0 1 2 4 8 16 3 5 6 9 10 17 12 18 20 7 24 11 13 19 14 21 22 25 26 28 15 23 27 29 30 31];

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

[0162] In one example, when P equals 16, the third Polar sequence can be: [0 1 2 5 3 6 7 11 48 9 12 10 13 14 15];

[0163] When P equals 16, the third Polar sequence can be: [0 1 2 4 8 3 5 6 9 10 12 7 1113 14 15];

[0164] When P equals 32, the third Polar sequence can be: [0 1 2 4 8 16 3 5 6 9 10 17 12 18 20 7 24 11 13 19 14 21 22 25 26 28 15 23 27 29 30 31];

[0165] When P equals 32, the third Polar sequence can be: [0 1 2 4 8 16 3 5 9 6 17 10 18 12 20 24 7 11 19 13 14 21 26 25 22 28 15 23 27 29 30 31].

[0166] In this embodiment, the third Polar sequence can be selected according to actual needs, and other third Polar sequences can be selected, which will not be listed here.

[0167] In one embodiment, the second bit sequence is obtained based on the first bit sequence and the set of bit indices carrying the first bit sequence:

[0168] In one specific implementation, the first bit sequence is represented as [c0, c1, c2, ..., c K-1 The second bit sequence is represented as [x0, x1, x2, ..., x]. N-1 ], The process of obtaining the second bit sequence, using the set of bit indices representing the first bit sequence, is as follows:

[0169]

[0170] In one embodiment, step S340: the second bit sequence is encoded using Polar code to obtain the third bit sequence.

[0171] In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x...] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in, Figure 4 This is a schematic diagram illustrating the implementation of a polarization transformation factor map provided in an embodiment of this application, such as... Figure 4 As shown, a schematic diagram of the polarization transformation factor corresponding to N equal to 16 is given, x=[x0,x1,x2,…,x 15 ], y = [y0, y1, y2, ..., y 15 Based on y = x·G N And x = [x0, x1, x2, ..., x 15 ], thus obtaining y = [y0, y1, y2, ..., y 15 ].

[0172] In one embodiment, transmitting at least a portion of the bits of the third bit sequence includes one of the following:

[0173] Send a portion of the third bit sequence;

[0174] Send all bits of the third bit sequence.

[0175] In one embodiment, step S350 involves sending all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits from the third bit sequence for sending, or selecting E non-consecutive bits from the third bit sequence for sending; wherein the number of bits to be sent is E, and the specific selection method is not limited in this embodiment. Here, E is an integer greater than or equal to K.

[0176] In the following embodiments, the process of data encoding of the first communication node is described in detail by way of specific implementation.

[0177] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0178] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0179] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method includes:

[0180] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0181] Cyclic redundancy check (CRC) coding is performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c K-1 ] = [d0,d1,d2,...,d L1-1 ,r0,r1,...,r L-1 L represents the length of the CRC check bit. The length of the first bit sequence is K = L1 + L. If there are padding bits, L1 is the sum of A and the number of padding bits.

[0182] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0183] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are even numbers that are greater than or equal to L+1 and less than or equal to N-1.

[0184] Where the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. In this embodiment, the size of the sub-block is 16, and the first sub-code code rate set is {5 / 16, 9 / 16}.

[0185] In this embodiment, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same. In this embodiment, the third Polar sequence is equal to [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15].

[0186] In this embodiment, when the length K of the first bit sequence is even, the second bit sequence is obtained based on the first Polar sequence. No subcode in the second bit sequence will have a subcode rate of 5 / 16 or 9 / 16. Here, 5 / 16 and 9 / 16 belong to the first subcode rate set, which represents subcode rates that are difficult to decode quickly. Therefore, in this embodiment, fast decoding can be performed using only the first Polar sequence without adjusting it or increasing storage and computation.

[0187] In this embodiment, the length N of the first Polar sequence is equal to 1024. The first Polar sequence is shown in Table 1 and can be:

[0188] Table 1

[0189]

[0190]

[0191] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0192]

[0193] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0194] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0195] Based on the first Polar sequence in this embodiment, when the length N of the second bit sequence, which serves as the mother code, is equal to 1024 and the length K of the first bit sequence is an even number, any sub-code in the second bit sequence will not have a sub-code rate of 5 / 16 or 9 / 16. Therefore, fast decoding can be performed using only the first Polar sequence without adjusting it or increasing storage and computation. While satisfying the advantages of saving storage and computation, the first Polar sequence does not show significant degradation compared to the Polar sequence of the Polar code in 5G. Several examples will illustrate this below.

[0196] In a specific example, the lengths of the bit sequences to be encoded are 683, 769, 853, 897, the cyclic redundancy check (CRC) bit length L is equal to 19, and the values ​​in the first preset information length set are even numbers greater than or equal to L+1 and less than or equal to N-1. Since the sum of the length of the bit sequences to be encoded and L is an even number, it is not necessary to pad the bit sequences to be encoded. Based on the first Polar sequence and the first bit sequence provided in this embodiment, a second bit sequence of length N is obtained. The second bit sequence is then Polar encoded to obtain a third bit sequence of length N, and all bits of the third bit sequence are transmitted. Figure 5 This is a schematic diagram illustrating the implementation of a block error rate (BLER) curve according to an embodiment of this application. Under additive white Gaussian noise channel and QPSK modulation conditions, SC decoding is used to obtain BLER curves corresponding to different bit lengths to be encoded, as shown below. Figure 5 As shown, the dashed line represents the block error rate (BRR) curve corresponding to the Polar sequence of the 5G polar code, while the solid line represents the BRR curve corresponding to the sequence described in this embodiment. It can be observed that under the aforementioned code length and code rate, the performance of the two sequences is similar. When the target BLER is 0.001 and A equals 683, the performance of this embodiment is better than that of the Polar sequence of the 5G polar code. Furthermore, the sequence in this embodiment can be decoded quickly without sequence adjustment.

[0197] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0198] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0199] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method includes:

[0200] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0201] Cyclic redundancy check (CRC) coding is performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c K-1 ] = [d0,d1,d2,...,d L1-1 ,r0,r1,...,r L-1 L represents the length of the CRC check bit. The length of the first bit sequence is K = L1 + L. If there are padding bits, L1 is the sum of A and the number of padding bits.

[0202] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0203] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are odd numbers that are greater than or equal to L+1 and less than or equal to N-1.

[0204] Where the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. In this embodiment, the size of the sub-block is 16, and the first sub-code code rate set is {5 / 16, 9 / 16}.

[0205] In this embodiment, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same. In this embodiment, the third Polar sequence is equal to [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15].

[0206] In this embodiment, when the length K of the first bit sequence is odd, the second bit sequence is obtained based on the first Polar sequence. No subcode in the second bit sequence will have a subcode rate of 5 / 16 or 9 / 16. Here, 5 / 16 and 9 / 16 belong to the first subcode rate set, which represents subcode rates that are difficult to decode quickly. Therefore, in this embodiment, fast decoding can be performed using only the first Polar sequence without adjusting it or increasing storage and computation.

[0207] In this embodiment, the length N of the first Polar sequence is equal to 1024. The first Polar sequence is shown in Table 2 and can be:

[0208] Table 2

[0209]

[0210]

[0211] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0212]

[0213] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0214] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0215] Based on the first Polar sequence in this embodiment, when the length N of the second bit sequence, which serves as the mother code, is equal to 1024 and the length K of the first bit sequence is an odd number, any sub-code in the second bit sequence will not have a sub-code rate of 5 / 16 or 9 / 16. Therefore, fast decoding can be performed using only the first Polar sequence without adjusting it or increasing storage and computation. While satisfying the advantages of saving storage and computation, the first Polar sequence does not show significant degradation compared to the Polar sequence of the Polar code in 5G. Several examples are provided below to illustrate this.

[0216] In a specific example, the lengths of the bit sequences to be encoded are 682, 768, 852, and 896, respectively. The length of the cyclic redundancy check (CRC) bits, L, is equal to 19. The values ​​in the first preset information length set are odd numbers greater than or equal to L+1 and less than or equal to N-1. Since the sum of the length of the bit sequences to be encoded and L is an odd number, it is not necessary to pad the bit sequences to be encoded. Based on the first Polar sequence and the first bit sequence provided in this embodiment, a second bit sequence of length N is obtained. The second bit sequence is then Polar encoded to obtain a third bit sequence of length N. All bits of the third bit sequence are then transmitted. Figure 6 This is a schematic diagram illustrating another implementation of the block error rate curve provided in this application embodiment. Under additive white Gaussian noise channel and QPSK modulation conditions, SC decoding is used to obtain block error rate curves corresponding to different bit lengths to be encoded, as shown below. Figure 6As shown, the dashed line represents the block error rate (BRR) curve corresponding to the Polar sequence of the 5G polar code, while the solid line represents the BRR curve corresponding to the sequence described in this embodiment. It can be observed that under the aforementioned code length and code rate, the performance of the two sequences is similar. When the target BLER is 0.001 and A equals 682, the performance of this embodiment is better than that of the Polar sequence of the 5G polar code. Furthermore, the sequence in this embodiment can be decoded quickly without sequence adjustment.

[0217] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0218] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0219] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method may include:

[0220] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0221] Cyclic redundancy check (CRC) coding is performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c K-1 ] = [d0,d1,d2,...,d L1-1 ,r0,r1,...,r L-1 L represents the length of the CRC check bit. The length of the first bit sequence is K = L1 + L. If there are padding bits, L1 is the sum of A and the number of padding bits.

[0222] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0223] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are greater than or equal to... and less than or equal to Even numbers; minimum bitrate R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.

[0224] Where the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. In this embodiment, the size of the sub-block is 16, and the code rate set of the first sub-code is {5 / 16, 9 / 16}.

[0225] In this embodiment, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same. In this embodiment, the third Polar sequence is equal to [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15].

[0226] In this embodiment, the values ​​in the first preset information length set are limited, so that the sequence can be constructed in a more targeted manner within a smaller range when constructing the sequence, thereby reducing performance loss.

[0227] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0228]

[0229] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is...N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0230] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0231] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0232] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0233] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method includes:

[0234] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0235] Cyclic redundancy check (CRC) coding is performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c K-1 ] = [d0,d1,d2,...,d L1-1 ,r0,r1,...,r L-1 L represents the length of the CRC check bit. The length of the first bit sequence is K = L1 + L. If there are padding bits, L1 is the sum of A and the number of padding bits.

[0236] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0237] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are greater than or equal to... and less than or equal to Odd numbers;

[0238] Where the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. In this embodiment, the size of the sub-block is 16, and the code rate set of the first sub-code is {5 / 16, 9 / 16}.

[0239] In this embodiment, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same. In this embodiment, the third Polar sequence is equal to [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15].

[0240] In this embodiment, the values ​​in the first preset information length set are limited so that the sequence can be constructed in a more targeted manner within a smaller range, thereby reducing performance loss.

[0241] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0242]

[0243] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0244] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0245] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0246] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0247] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method includes:

[0248] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0249] Cyclic redundancy check (CDR) coding and parity check (PCC) coding are performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c]. K-1 Specifically, the process involves: first, performing cyclic redundancy check (CRC) encoding, and then performing parity check encoding on the codewords obtained after CRC encoding, with a prime number as the interval.

[0250] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0251] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are even numbers that are greater than or equal to L+1 and less than or equal to N-1.

[0252] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code.

[0253] In this process, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same.

[0254] In this embodiment, the first encoding method includes both cyclic redundancy check (CRC) encoding and parity check (PCC) encoding. CRC can be used to verify the correctness of the bit sequence to be encoded, while PCC bits can be used to make early stop judgments during the decoding process. If the decoded bits do not meet the parity check, it indicates a decoding error, and decoding is stopped, thereby reducing the computational load.

[0255] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0256]

[0257] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns NMultiplying over GF(2) yields the codeword y = x·G N ,in,

[0258] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0259] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0260] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0261] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method may include:

[0262] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0263] Cyclic redundancy check (CDR) coding and parity check (PCC) coding are performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c]. K-1 Specifically, the process involves: first, performing cyclic redundancy check (CRC) encoding, and then performing parity check encoding on the codewords obtained after CRC encoding, with a prime number as the interval.

[0264] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0265] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are odd numbers that are greater than or equal to L+1 and less than or equal to N-1.

[0266] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code.

[0267] In this process, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same.

[0268] In this embodiment, the first encoding method includes both cyclic redundancy check (CRC) encoding and parity check (PCC) encoding. CRC can be used to verify the correctness of the bit sequence to be encoded, while PCC bits can be used to make early stop judgments during the decoding process. If the decoded bits do not meet the parity check, it indicates a decoding error, and decoding is stopped, thereby reducing the computational load.

[0269] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0270]

[0271] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0272] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0273] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0274] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0275] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method may include:

[0276] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0277] Cyclic redundancy check (CDR) coding and parity check (PCC) coding are performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c]. K-1 Specifically, the process involves: first, performing cyclic redundancy check (CRC) encoding, and then performing parity check encoding on the codewords obtained after CRC encoding, with a prime number as the interval.

[0278] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0279] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are greater than or equal to... and less than or equal to Even numbers;

[0280] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code.

[0281] In this process, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same.

[0282] In this embodiment, the first encoding method includes both cyclic redundancy check (CRC) encoding and parity check (PCC) encoding. CRC can be used to verify the correctness of the bit sequence to be encoded, while PCC bits can be used to make early stop judgments during the decoding process. If the decoded bits do not meet the parity check, it indicates a decoding error, and decoding is stopped, thereby reducing the computational load.

[0283] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0284]

[0285] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0286] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0287] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:

[0288] Step 1: Obtain the bit sequence to be encoded [u0, u1, u2, ..., u A-1 The bit sequence to be encoded may include, but is not limited to, uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence.

[0289] Step 2: The encoding process based on the bit sequence to be encoded using the first encoding method includes:

[0290] The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence [u0, u1, u2, ..., u A-1 ,0,0,...,0 L1 L1 is the length of the padded bit sequence; the first length refers to the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set. The bits used to padded the bit sequence to be encoded can be 0 or 1, and the padded bits can be placed before the bit sequence to be encoded, after the bit sequence to be encoded, or according to other preset settings.

[0291] Cyclic redundancy check (CDR) coding and parity check (PCC) coding are performed on the padded bits to obtain the first bit sequence [c0, c1, c2, ..., c]. K-1 Specifically, the process involves: first, performing cyclic redundancy check (CRC) encoding, and then performing parity check encoding on the codewords obtained after CRC encoding, with a prime number as the interval.

[0292] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0293] The length of the first bit sequence belongs to the first preset information length set, and the values ​​in the first preset information length set are greater than or equal to... and less than or equal to Odd numbers;

[0294] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code.

[0295] In this process, the bit indices before Polar encoding in the first Polar sequence are sorted to extract the bit indices before Polar encoding that are located in the interval [i*P, (i+1)*P-1], where i equals 0, 1, ..., N / P. The extracted bit indices before Polar encoding constitute the second Polar sequence. The bit index number corresponding to the i-th second Polar sequence before Polar encoding belongs to the interval [i*P, (i+1)*P-1], and there are a total of N / P second Polar sequences. The values ​​in the i-th second Polar sequence are subtracted from i*P to form the third Polar sequence. For any selectable i, the third Polar sequence is the same.

[0296] In this embodiment, the first encoding method includes both cyclic redundancy check (CRC) encoding and parity check (PCC) encoding. CRC can be used to verify the correctness of the bit sequence to be encoded, while PCC bits can be used to make early stop judgments during the decoding process. If the decoded bits do not meet the parity check, it indicates a decoding error, and decoding is stopped, thereby reducing the computational load.

[0297] In step three of this embodiment, the bit index set carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence given in this embodiment. Then, based on the first bit sequence [c0,c1,c2,...,c K-1 ] and the set of bit indices carrying the first bit sequence Obtain the second bit sequence [x0,x1,x2,...,x] N-1 A feasible implementation process is as follows:

[0298]

[0299] Step 4: For the second bit sequence [x0,x1,x2,...,x] N-1 The third bit sequence [y0, y1, y2, ..., y] is obtained by Polar code encoding. N-1 In this embodiment, the second bit sequence x = [x0, x1, x2, ..., x] is... N-1 The polarization matrix G with N rows and N columns N Multiplying over GF(2) yields the codeword y = x·G N ,in,

[0300] Step 5: Send all or part of the bits of the third bit sequence. The part of the bits to be sent is selected according to a preset rule, which may include, but is not limited to: selecting E consecutive bits in the third bit sequence to send, or selecting E non-consecutive bits in the third bit sequence to send; wherein the number of part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.

[0301] In one embodiment, Figure 7 This is a flowchart of a data decoding method provided in an embodiment of this application. This embodiment is applied to the case of decoding Polar codes. This embodiment can be executed by a second communication node. In this embodiment, when the second communication node receives the data sequence to be decoded, it can perform data processing to obtain the original bit sequence to be encoded, such as... Figure 7 The diagram shows a flowchart of a data processing method provided in this embodiment. The execution entity of the LDPC decoding method can be the aforementioned second processing node, or other electronic devices with certain computing capabilities. These electronic devices may include, for example, terminal devices, servers, or other processing devices. The terminal device can be a cellular phone, cordless phone, Session Initiation Protocol (SIP) phone, Wireless Local Loop (WLL) station, Personal Digital Assistant (PDA), handheld device with wireless communication capabilities, computing device, or other processing device connected to a wireless modem, in-vehicle device, wearable device, 5G network, 5G-A, or future 6G or higher networks, etc. Specifically, it is implemented through the following steps:

[0302] like Figure 7 As shown, this embodiment includes: S710-S740.

[0303] S710, Receive at least a portion of the data sequence to be decoded from the third bit sequence.

[0304] In one example, the second communication node can receive part or all of the data sequence to be decoded from the third bit sequence.

[0305] S720. At least a portion of the data to be decoded is subjected to Polar decoding to obtain the decoded second bit sequence.

[0306] The second communication node performs Polar decoding on part or all of the received third bit sequence to obtain the decoded second bit sequence.

[0307] S730. The first bit sequence after decoding is obtained based on the second bit sequence after decoding and the first Polar sequence.

[0308] S740. Decode the first bit sequence after decoding to obtain the decoded bit sequence.

[0309] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0310] The decoded bit sequence obtained by decoding in step S740 is the same as the bit sequence to be encoded of the first communication node that is the sender.

[0311] Here, for the received data sequence to be decoded, the decoded second bit sequence can be obtained based on Polar decoding, and the decoded first bit sequence can be obtained from the decoded second bit sequence based on the first Polar sequence. The decoded first bit sequence is then decoded using the first encoding method to obtain the decoded bit sequence. The decoded first bit sequence and the decoded second bit sequence also satisfy the following characteristics:

[0312] When the length of the first bit sequence after decoding belongs to the first preset information length set, the code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code; wherein, the sub-block size P is divisible by the length N of the second bit sequence.

[0313] In one embodiment, the length of the first bit sequence belongs to a first preset information length set; the first preset information length set includes at least one value greater than L and less than N;

[0314] Where L is the length of the parity bits contained in the first bit sequence, and L is an integer greater than 0;

[0315] The length K of the first bit sequence is an integer greater than A and less than N; N is the length of the second bit sequence, which is an integer greater than K and equal to a power of 2; A is the length of the decoded bit sequence, which is an integer greater than 0 and less than NL.

[0316] In one embodiment, the first preset information length set includes one of the following:

[0317] The first preset information length set contains even numbers that are greater than or equal to T1 and less than or equal to T2;

[0318] The first preset information length set contains odd numbers that are greater than or equal to T1 and less than or equal to T2;

[0319] The first preset information length set contains integers that are multiples of 4 and are greater than or equal to T1 and less than or equal to T2;

[0320] The first preset information length set contains integers that are multiples of 8 and are greater than or equal to T1 and less than or equal to T2;

[0321] The first preset information length set contains integers that are multiples of 16 and are greater than or equal to T1 and less than or equal to T2;

[0322] The first preset information length set contains integers equal to p*k+q that are greater than or equal to T1 and less than or equal to T2;

[0323] Where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is a number greater than or equal to 8. and less than T1 and T2 are both integers greater than 0, and T1 is less than T2.

[0324] In one embodiment, T1 and T2 satisfy one of the following conditions:

[0325] T1 equals L+1;

[0326] T2 equals N-1;

[0327] T1 is based on the minimum supported bit rate R min The length N of the second bit sequence is determined, where, or R min It is a real number that is greater than 0 and less than 1;

[0328] T2 is based on the maximum supported bitrate R max The length N of the second bit sequence is determined, where, or R max It is a real number that is greater than 0 and less than 1.

[0329] In one embodiment, a sub-block is obtained by dividing the second bit sequence into blocks starting from the first bit and at equal intervals P; where P is the length of each sub-block and P is an integer divisible by N.

[0330] In one embodiment, the first subcode rate set includes at least one rate value.

[0331] In one embodiment, the subcode rates in the first subcode rate set are real numbers greater than 3 / P and less than (P-3) / P; the subcode rates in the first subcode rate set belong to the set consisting of {i / P}; where i equals 4, 5, ... or P-4.

[0332] In one embodiment, when the first preset information length set contains an even or odd number greater than or equal to T1 and less than or equal to T2, the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P.

[0333] In one embodiment, the first subcode rate set includes at least one of the following:

[0334] {5 / 16};

[0335] {9 / 16};

[0336] {5 / 16, 9 / 16};

[0337] {5 / 16,7 / 16,9 / 16};

[0338] {5 / 16,9 / 16,11 / 16};

[0339] {5 / 16,7 / 16,9 / 16,11 / 16}.

[0340] In one embodiment, the first Polar sequence is used to represent a sequence obtained by sorting the reliability of the bit indices before Polar encoding, wherein the reliability of the bit indices before Polar encoding contained in the first Polar sequence is sorted from low to high.

[0341] The most reliable K Polar codes in the first Polar sequence carry the bits contained in the first bit sequence. The code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. The value of K belongs to the first preset information length set.

[0342] In one embodiment, the length N of the first Polar sequence is a power of 2.

[0343] In one embodiment, the value of N includes one of the following: 256, 512, 1024, 2048, 4096, 8192.

[0344] In one embodiment, the bit indices in the first Polar sequence are located at the bit indices of [i*P, (i+1)*P-1], and the second Polar sequence is formed according to the order in the first Polar sequence; where i equals 0, 1, ..., N / P, and the number of second Polar sequences is N / P;

[0345] The third Polar sequence is formed by the difference between the value in the i-th second Polar sequence and i*P; and the third Polar sequence is the same for any i.

[0346] In one embodiment, P is a power of 2.

[0347] In one embodiment, the third Polar sequence includes, but is not limited to, one of the following: [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15]; [0 1 2 4 8 3 5 6 9 10 12 7 11 13 14 15]; [0 1 2 4 8 16 3 5 6 9 10 17 12 18 20 7 24 11 13 19 14 21 22 25 26 28 15 23 27 29 30 31];

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

[0352] If the decoding result of the second communication node is correct, the decoded bit sequence to be encoded obtained above should be the same as the bit sequence to be encoded at the sending end. The process of processing the bit sequence to be encoded has been described in the above embodiment of the data encoding method applied to the first communication node. The decoding process is represented as the inverse process of encoding based on Polar encoding method, first encoding method and first Polar sequence, and will not be elaborated here.

[0353] In one embodiment, Figure 8 This is a structural block diagram of a data encoding device provided in an embodiment of this application. This embodiment is applied to a first communication node. Figure 8 As shown, the data encoding device in this embodiment includes: an acquisition module 810, a first encoding module 820, a determination module 830, a second encoding module 840, and a transmission module 850.

[0354] The acquisition module 810 is configured to acquire the bit sequence to be encoded;

[0355] The first encoding module 820 is configured to encode the bit sequence to be encoded to obtain the first bit sequence;

[0356] The module 830 is configured to obtain the second bit sequence based on the first Polar sequence and the first bit sequence.

[0357] The second encoding module 840 is configured to perform Polar code encoding on the second bit sequence to obtain the third bit sequence;

[0358] The transmitting module 850 is configured to transmit at least a portion of the bits of a third bit sequence;

[0359] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0360] In one embodiment, the bit sequence to be encoded includes at least one of the following: an uplink control information bit sequence; a downlink control information bit sequence; an uplink data information bit sequence; and a downlink data information bit sequence.

[0361] In one embodiment, the first encoding module 820 includes:

[0362] The padding unit is configured to pad the length of the bit sequence to be encoded to a first length, thereby obtaining the padded bit sequence to be encoded.

[0363] The encoding unit is configured to encode the padded bit sequence to obtain a first bit sequence; wherein the first length is the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set;

[0364] Where A is the length of the bit sequence to be encoded, and A is an integer greater than 0 and less than NL; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; L is the length of the parity bits contained in the first bit sequence, and L is an integer greater than 0; the length K of the first bit sequence is an integer greater than A and less than N; the number of padding bits is greater than or equal to 0.

[0365] In one embodiment, the encoding unit is configured as one of the following:

[0366] Cyclic redundancy check encoding is performed on the padded bit sequence to be encoded to obtain the first bit sequence;

[0367] The padded bit sequence to be encoded is parity-checked to obtain the first bit sequence.

[0368] Cyclic redundancy check (CRC) coding and parity check (PCC) coding are performed on the padded bit sequence to obtain the first bit sequence.

[0369] In one embodiment, the length of the first bit sequence belongs to a first preset information length set; the first preset information length set includes at least one value greater than L and less than N.

[0370] In one embodiment, the first preset information length set includes one of the following:

[0371] The first preset information length set contains even numbers that are greater than or equal to T1 and less than or equal to T2;

[0372] The first preset information length set contains odd numbers that are greater than or equal to T1 and less than or equal to T2;

[0373] The first preset information length set contains integers that are multiples of 4 and are greater than or equal to T1 and less than or equal to T2;

[0374] The first preset information length set contains integers that are multiples of 8 and are greater than or equal to T1 and less than or equal to T2;

[0375] The first preset information length set contains integers that are multiples of 16 and are greater than or equal to T1 and less than or equal to T2;

[0376] The first preset information length set contains integers equal to p*k+q that are greater than or equal to T1 and less than or equal to T2;

[0377] Where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is a number greater than or equal to 8. and less than T1 and T2 are both integers greater than 0, and T1 is less than T2.

[0378] In one embodiment, T1 and T2 satisfy one of the following conditions:

[0379] T1 equals L+1;

[0380] T2 equals N-1;

[0381] T1 is based on the minimum supported bit rate R mmn The length N of the second bit sequence is determined, where, or R min It is a real number that is greater than 0 and less than 1;

[0382] T2 is based on the maximum supported bitrate R max The length N of the second bit sequence is determined, where, or R max It is a real number that is greater than 0 and less than 1.

[0383] In one embodiment, a sub-block is obtained by dividing the second bit sequence into blocks starting from the first bit and at equal intervals P; where P is the length of each sub-block and P is an integer divisible by N.

[0384] In one embodiment, the first subcode rate set includes at least one rate value.

[0385] In one embodiment, the subcode rates in the first subcode rate set are real numbers greater than 3 / P and less than (P-3) / P; the subcode rates in the first subcode rate set belong to the set consisting of {i / P}; where i equals 4, 5, ... or P-4.

[0386] In one embodiment, when the first preset information length set contains an even or odd number greater than or equal to T1 and less than or equal to T2, the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P.

[0387] In one embodiment, the first subcode rate set includes at least one of the following:

[0388] {5 / 16};

[0389] {9 / 16};

[0390] {5 / 16, 9 / 16};

[0391] {5 / 16,7 / 16,9 / 16};

[0392] {5 / 16,9 / 16,11 / 16};

[0393] {5 / 16,7 / 16,9 / 16,11 / 16}.

[0394] In one embodiment, the determining module 830 includes:

[0395] The first determining unit is configured to obtain a set of bit indices carrying the first bit sequence based on the first Polar sequence and the first bit sequence;

[0396] The second determining unit is configured to obtain the second bit sequence based on the first bit sequence and the set of bit indices carrying the first bit sequence.

[0397] In one embodiment, the first Polar sequence is used to represent a sequence obtained by sorting the reliability of the bit indices before Polar encoding, wherein the reliability of the bit indices before Polar encoding contained in the first Polar sequence is sorted from low to high.

[0398] The most reliable K Polar codes in the first Polar sequence carry the bits contained in the first bit sequence. The code rate of each sub-code in the second bit sequence does not belong to the code rate set of the first sub-code. The value of K belongs to the first preset information length set.

[0399] In one embodiment, the length N of the first Polar sequence is a power of 2.

[0400] In one embodiment, the value of N includes one of the following: 256, 512, 1024, 2048, 4096, 8192.

[0401] In one embodiment, the bit indices in the first Polar sequence are located at the bit indices of [i*P, (i+1)*P-1], and the second Polar sequence is formed according to the order in the first Polar sequence; where i equals 0, 1, ..., N / P, and the number of second Polar sequences is N / P;

[0402] The third Polar sequence is formed by the difference between the value in the i-th second Polar sequence and i*P; and the third Polar sequence is the same for any i.

[0403] In one embodiment, P is a power of 2.

[0404] In one embodiment, the third Polar sequence includes, but is not limited to, one of the following: [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15]; [0 1 2 4 8 3 5 6 9 10 12 7 11 13 14 15]; [0 1 2 4 8 16 3 5 6 9 10 17 12 18 20 7 24 11 13 19 14 21 22 25 26 28 15 23 27 29 30 31];

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

[0409] In one embodiment, the sending module 850 is configured as follows:

[0410] Send a portion of the third bit sequence;

[0411] Send all bits of the third bit sequence.

[0412] The data encoding device provided in this embodiment is configured to implement... Figure 3 The data encoding method applied to the first communication node in the illustrated embodiment is similar in principle and technical effect to the data encoding device provided in this embodiment, and will not be described again here.

[0413] In one embodiment, Figure 9This is a structural block diagram of a data decoding device provided in an embodiment of this application. This embodiment is applied to a second communication node. Figure 9 As shown, the data decoding device in this embodiment includes: a receiving module 910, a first decoding module 920, a determining module 930, and a second decoding module 940.

[0414] The receiving module 910 is configured to receive at least a portion of the data sequence to be decoded from the third bit sequence;

[0415] The first decoding module 920 is configured to perform Polar decoding on at least a portion of the data to be decoded to obtain a decoded second bit sequence;

[0416] The module 930 is configured to obtain the decoded first bit sequence based on the decoded second bit sequence and the first Polar sequence.

[0417] The second decoding module 940 is configured to decode the decoded first bit sequence to obtain the decoded bit sequence;

[0418] Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcodes that cannot be decoded in parallel.

[0419] In one embodiment, the length of the first bit sequence belongs to a first preset information length set; the first preset information length set includes at least one value greater than L and less than N;

[0420] Where L is the length of the parity bits contained in the first bit sequence, and L is an integer greater than 0;

[0421] The length K of the first bit sequence is an integer greater than A and less than N; N is the length of the second bit sequence, which is an integer greater than K and equal to a power of 2; A is the length of the decoded bit sequence, which is an integer greater than 0 and less than NL.

[0422] In one embodiment, the first preset information length set includes one of the following:

[0423] The first preset information length set contains even numbers that are greater than or equal to T1 and less than or equal to T2;

[0424] The first preset information length set contains odd numbers that are greater than or equal to T1 and less than or equal to T2;

[0425] The first preset information length set contains integers that are multiples of 4 and are greater than or equal to T1 and less than or equal to T2;

[0426] The first preset information length set contains integers that are multiples of 8 and are greater than or equal to T1 and less than or equal to T2;

[0427] The first preset information length set contains integers that are multiples of 16 and are greater than or equal to T1 and less than or equal to T2;

[0428] The first preset information length set contains integers equal to p*k+q that are greater than or equal to T1 and less than or equal to T2;

[0429] Where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is a number greater than or equal to 8. and less than T1 and T2 are both integers greater than 0, and T1 is less than T2.

[0430] In one embodiment, T1 and T2 satisfy one of the following conditions:

[0431] T1 equals L+1;

[0432] T2 equals N-1;

[0433] T1 is based on the minimum supported bit rate R min The length N of the second bit sequence is determined, where, or R min It is a real number that is greater than 0 and less than 1;

[0434] T2 is based on the maximum supported bitrate R max The length N of the second bit sequence is determined, where, or R max It is a real number that is greater than 0 and less than 1.

[0435] In one embodiment, a sub-block is obtained by dividing the second bit sequence into blocks starting from the first bit and at equal intervals P; where P is the length of each sub-block and P is an integer divisible by N.

[0436] In one embodiment, the first subcode rate set includes at least one rate value.

[0437] In one embodiment, the subcode rates in the first subcode rate set are real numbers greater than 3 / P and less than (P-3) / P; the subcode rates in the first subcode rate set belong to the set consisting of {i / P}; where i equals 4, 5, ... or P-4.

[0438] In one embodiment, when the first preset information length set contains an even or odd number greater than or equal to T1 and less than or equal to T2, the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P.

[0439] In one embodiment, the first subcode rate set includes at least one of the following:

[0440] {5 / 16};

[0441] {9 / 16};

[0442] {5 / 16, 9 / 16};

[0443] The data decoding device provided in this embodiment is configured to implement... Figure 7 The data decoding method applied to the second communication node in the illustrated embodiment is similar in principle and technical effect to the data decoding device provided in this embodiment, and will not be described again here.

[0444] In one embodiment, Figure 10 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Figure 10 As shown, the device provided in this application includes: a processor 1010, a memory 1020, and a communication module 1030. The device may contain one or more processors 1010. Figure 10 Taking a processor 1010 as an example, the number of memory units 1020 in this device can be one or more. Figure 10 Taking a memory 1020 as an example, the processor 1010, memory 1020, and communication module 1030 of this device can be connected via a bus or other means. Figure 10 Taking a bus connection as an example, in this embodiment, the device can be either a first communication node or a second communication node.

[0445] The memory 1020, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to the device in any embodiment of this application (e.g., the acquisition module 810, first encoding module 820, determination module 830, second encoding module 840, and transmission module 850 applied in the data encoding device of the first communication node). The memory 1020 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and at least one application program required for a function; the data storage area may store data created according to the use of the device, etc. In addition, the memory 1020 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 1020 may further include memory remotely located relative to the processor 1010, and these remote memories can be connected to the device via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0446] When the communication device is the first communication node, the device provided above can be configured to execute the data encoding method applied to the first communication node provided in any of the above embodiments, and has the corresponding functions and effects.

[0447] When the communication device is a second communication node, the device provided above can be configured to execute the data decoding method for the second communication node provided in any of the above embodiments, and has the corresponding functions and effects.

[0448] This application embodiment also provides a storage medium containing computer-executable instructions. When executed by a computer processor, the computer-executable instructions are used to perform a data encoding method applied to a first communication node. The method includes: acquiring a bit sequence to be encoded; encoding the bit sequence to be encoded to obtain a first bit sequence; obtaining a second bit sequence based on a first Polar sequence and the first bit sequence; encoding the second bit sequence using Polar codes to obtain a third bit sequence; and sending at least a portion of the bits of the third bit sequence. Wherein, if the length of the first bit sequence belongs to a first preset information length set, the sub-code rate of each sub-block in the second bit sequence does not belong to a first sub-code rate set; the first sub-code rate set includes sub-code rates used to indicate sub-code rates that cannot be parallel decoded.

[0449] This application also provides a storage medium containing computer-executable instructions. When executed by a computer processor, the computer-executable instructions are used to perform a data decoding method applied to a second communication node. The method includes: receiving at least a portion of a data sequence to be decoded from a third bit sequence; performing Polar decoding on the at least a portion of the data to be decoded to obtain a decoded second bit sequence; obtaining a decoded first bit sequence based on the decoded second bit sequence and a first Polar sequence; and decoding the decoded first bit sequence to obtain a decoded bit sequence. Wherein, if the length of the first bit sequence belongs to a first preset information length set, the sub-code rate of each sub-block in the second bit sequence does not belong to a first sub-code rate set; the first sub-code rate set includes sub-code rates that cannot be decoded in parallel.

[0450] Those skilled in the art will understand that the term user equipment covers any suitable type of wireless user equipment, such as mobile phones, portable data processing devices, portable web browsers, or vehicle-mounted mobile stations.

[0451] Generally, the various embodiments of this application can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. For example, some aspects can be implemented in hardware, while others can be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device, although this application is not limited thereto.

[0452] Embodiments of this application can be implemented by executing computer program instructions through the data processor of a mobile device, for example, in a processor entity, or through hardware, or through a combination of software and hardware. The computer program instructions can be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages.

[0453] Any block diagram of logical flow in the accompanying drawings of this application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions. The computer program may be stored on memory. Memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as, but not limited to, read-only memory (ROM), random access memory (RAM), optical storage devices and systems (Digital Video Disc (DVD) or Compact Disk (CD)), etc. Computer-readable media may include non-transitory storage media. The data processor may be of any type suitable to the local technical environment, such as, but not limited to, general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and processors based on multi-core processor architectures.

[0454] Furthermore, one embodiment of this application discloses a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. A processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the computer device to perform a data encoding method or data decoding method as described in any of the preceding embodiments.

[0455] The above are merely preferred embodiments of this application and are not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A data encoding method, characterized in that, Applied to the first communication node, including: Obtain the bit sequence to be encoded; The bit sequence to be encoded is encoded to obtain the first bit sequence; The second bit sequence is obtained based on the first Polar sequence and the first bit sequence; The second bit sequence is encoded using Polar code to obtain the third bit sequence; Send at least a portion of the bits of the third bit sequence; Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcode rates that cannot be decoded in parallel.

2. The method according to claim 1, characterized in that, The bit sequence to be encoded includes at least one of the following: an uplink control information bit sequence; a downlink control information bit sequence; an uplink data information bit sequence; and a downlink data information bit sequence.

3. The method according to claim 1, characterized in that, The process of encoding the bit sequence to be encoded to obtain the first bit sequence includes: The length of the bit sequence to be encoded is padded to the first length to obtain the padded bit sequence to be encoded. The padded bit sequence to be encoded is encoded to obtain a first bit sequence; wherein, the first length is the smallest integer greater than or equal to A after subtracting L from each element in the first preset information length set; Wherein, A is the length of the bit sequence to be encoded, and A is an integer greater than 0 and less than NL; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; L is the length of the parity bits included in the first bit sequence, and L is an integer greater than 0; the length K of the first bit sequence is an integer greater than A and less than N; and the number of padding bits is greater than or equal to 0.

4. The method according to claim 3, characterized in that, Encoding the padded bit sequence to obtain a first bit sequence includes one of the following: Cyclic redundancy check encoding is performed on the padded bit sequence to be encoded to obtain the first bit sequence; The padded bit sequence to be encoded is parity-checked to obtain the first bit sequence. Cyclic redundancy check (CRC) coding and parity check (PCC) coding are performed on the padded bit sequence to obtain the first bit sequence.

5. The method according to any one of claims 1-4, characterized in that, The length of the first bit sequence belongs to a first preset information length set; the first preset information length set includes at least one value greater than L and less than N.

6. The method according to claim 5, characterized in that, The first preset information length set includes one of the following: The first preset information length set contains even numbers that are greater than or equal to T1 and less than or equal to T2; The first preset information length set contains odd numbers that are greater than or equal to T1 and less than or equal to T2; The first preset information length set contains integers that are multiples of 4 and are greater than or equal to T1 and less than or equal to T2; The first preset information length set contains integers that are multiples of 8 and are greater than or equal to T1 and less than or equal to T2; The first preset information length set contains integers that are multiples of 16 and are greater than or equal to T1 and less than or equal to T2; The first preset information length set contains integers equal to p*k+q that are greater than or equal to T1 and less than or equal to T2; Where p is an integer greater than or equal to 0 and less than or equal to 8, q is an integer greater than 0 and less than k, and k is a number greater than or equal to 8. and less than T1 and T2 are both integers greater than 0, and T1 is less than T2.

7. The method according to claim 6, characterized in that, T1 and T2 satisfy one of the following conditions: T1 equals L+1; T2 equals N-1; T1 is based on the minimum supported bit rate R min The length N of the second bit sequence is determined, where, or R min It is a real number that is greater than 0 and less than 1; T2 is based on the maximum supported bitrate R max The length N of the second bit sequence is determined, where, or R max It is a real number that is greater than 0 and less than 1.

8. The method according to any one of claims 1-4, characterized in that, The sub-block is obtained by dividing the second bit sequence into blocks at equal intervals P, starting from the first bit; where P is the length of each sub-block, and P is an integer divisible by N and a power of 2.

9. The method according to any one of claims 1-4, characterized in that, The first subcode bitrate set includes at least one bitrate value.

10. The method according to any one of claims 1-4, characterized in that, The subcode rates in the first subcode rate set are real numbers greater than 3 / P and less than (P-3) / P; the subcode rates in the first subcode rate set belong to the set consisting of {i / P}; where i equals 4, 5, ... or P-4.

11. The method according to any one of claims 1-4, characterized in that, If the first preset information length set contains an even or odd number greater than or equal to T1 and less than or equal to T2, the difference between any two subcode bitrates in the first subcode bitrate set is greater than or equal to 2 / P.

12. The method according to claim 11, characterized in that, The first subcode bitrate set includes at least one of the following: {5 / 16}; {9 / 16}; {5 / 16,9 / 16}; {5 / 16,7 / 16,9 / 16}; {5 / 16,9 / 16,11 / 16}; {5 / 16,7 / 16,9 / 16,11 / 16}。 13. The method according to any one of claims 1-4, characterized in that, The step of obtaining the second bit sequence based on the first Polar sequence and the first bit sequence includes: The set of bit indices carrying the first bit sequence is obtained based on the first Polar sequence and the first bit sequence; The second bit sequence is obtained based on the first bit sequence and the set of bit indices that carry the first bit sequence.

14. The method according to any one of claims 1-4, characterized in that, The first Polar sequence is used to represent the sequence obtained by sorting the reliability of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding contained in the first Polar sequence is sorted from low to high. The most reliable bit index of the K Polar codes in the first Polar sequence carries the bits contained in the first bit sequence. The bit rate of each sub-code in the second bit sequence does not belong to the bit rate of the first sub-code bit rate set. The value of K belongs to the first preset information length set.

15. The method according to any one of claims 1-4, characterized in that, The length N of the first Polar sequence is a power of 2.

16. The method according to claim 15, characterized in that, The value of N includes one of the following: 256, 512, 1024, 2048, 4096, 8192.

17. The method according to claim 1, characterized in that, The bit indices in the first Polar sequence are located at the bit indices of [i*P, (i+1)*P-1], and the second Polar sequence is formed according to the sorting in the first Polar sequence; where i equals 0, 1, ..., N / P, and the number of the second Polar sequences is N / P; The third Polar sequence is formed by the difference between the value in the i-th second Polar sequence and i*P; wherein, for any i, the third Polar sequence is the same.

18. The method according to claim 17, characterized in that, The third Polar sequence includes, but is not limited to, one of the following: [0 1 2 5 3 6 7 11 4 8 9 12 10 13 14 15]; [0 1 2 4 8 3 5 6 9 10 12 7 11 13 14 15]; [0 1 2 4 8 16 3 5 6 9 10 17 12 18 20 7 24 11 13 19 14 2122 25 26 28 15 2327 29 30 31]; [0 1 2 4 8 16 3 5 9 6 17 10 18 12 20 24 7 11 19 13 14 2126 25 22 28 15 2327 29 30 31]。 19. The method according to any one of claims 1-4, characterized in that, Sending at least a portion of the bits of the third bit sequence includes one of the following: Send a portion of the bits of the third bit sequence; Send all bits of the third bit sequence.

20. A data decoding method, characterized in that, Applied to the second communication node, including: Receive at least a portion of the data sequence to be decoded from the third bit sequence; The at least portion of the data to be decoded is subjected to Polar decoding to obtain the decoded second bit sequence; The decoded first bit sequence is obtained based on the decoded second bit sequence and the first Polar sequence; The decoded first bit sequence is decoded to obtain the decoded bit sequence; Wherein, if the length of the first bit sequence belongs to the first preset information length set, the subcode rate of each sub-block in the second bit sequence does not belong to the first subcode rate set; the first subcode rate set includes subcode rates used to indicate subcode rates that cannot be parallel decoded.

21. The method according to claim 20, characterized in that, The length of the first bit sequence belongs to a first preset information length set; the first preset information length set includes at least one value greater than L and less than N; Where L is the length of the check bits contained in the first bit sequence, and L is an integer greater than 0; The length K of the first bit sequence is an integer greater than A and less than N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; A is the length of the decoded bit sequence, and is an integer greater than 0 and less than NL.

22. A communication device, characterized in that, include: Memory, and one or more processors; The memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors perform the method as described in any one of claims 1-19 or 20-21 above.

23. A storage medium, characterized in that, The storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1-19 or 20-21.