Data encoding and decoding method, communication device, and storage medium
Patent Information
- Application Number
- CN202510523135.4
- 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
但现有技术中的技术方案,对于每一种码长码率的配置都需要运行一次速率调整算法,导致了较高的复杂度的问题
Smart Images

Figure CN122993733A_ABST
Abstract
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 codes are a capacity-capacity-based channel coding method used in mobile communication systems for control channels. However, existing technologies require running a rate adjustment algorithm for each code length and rate configuration, leading to high complexity. 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 that, while ensuring fast decoding, do not increase complexity and reduce storage and computational overhead.
[0005] This application provides a data encoding method applied to a first communication node, including:
[0006] Obtain the first bit sequence to be Polar encoded;
[0007] The first Polar sequence is obtained from a preset Polar sequence set based on the first parameter;
[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, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the 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.
[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 first Polar sequence is obtained from the preset Polar sequence set based on the first parameter;
[0016] The decoded first bit sequence is obtained by combining the decoded second bit sequence with the first Polar sequence.
[0017] Wherein, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the 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.
[0018] This application provides a data encoding device applied to a first communication node, comprising:
[0019] The acquisition module is configured to acquire the first bit sequence to be Polar encoded;
[0020] The first determining module is configured to obtain a first Polar sequence from a preset Polar sequence set based on a first parameter;
[0021] The second determining module is configured to obtain a second bit sequence based on the first Polar sequence and the first bit sequence;
[0022] The 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, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the 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.
[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 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 first Polar sequence from a preset Polar sequence set based on the first parameter;
[0029] The second determining module is configured to obtain the decoded first bit sequence based on the decoded second bit sequence and the first Polar sequence;
[0030] Wherein, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the 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.
[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 9 This 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. This method determines one of at least two Polar sequences based on a first parameter, selecting different Polar sequences for different application scenarios. For example, in high-throughput scenarios, the selected sequence can be decoded quickly within a preset information length set. More specifically, when the information length is even, the even-numbered Polar sequence is used; when the information length is odd, the odd-numbered Polar sequence is selected. Even-numbered Polar sequences can be decoded quickly when the information length is even, and odd-numbered Polar sequences can be decoded quickly when the information length is odd, providing higher throughput. In high-reliability scenarios, the selected sequence can provide higher reliability under list decoding.
[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 1 As 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 bit indices before Polar encoding carry frozen bits, and the last bit index before Polar encoding carries information bits. Assuming the 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 determines one of at least two Polar sequences based on a first parameter. Different Polar sequences are selected for different application scenarios. For example, in high-throughput scenarios, the selected sequence can be decoded quickly within a preset information length set. More specifically, when the information length is even, the even-numbered Polar sequence is used; when the information length is odd, the odd-numbered Polar sequence is selected. Even-numbered Polar sequences can be decoded quickly when the information length is even, and odd-numbered Polar sequences can be decoded quickly when the information length is odd, providing higher throughput. In high-reliability scenarios, the selected sequence can provide higher reliability under list decoding.
[0061] This application relates to a data encoding method and apparatus, which can be a Polar code data encoding method, enabling both high reliability and high throughput in different application scenarios.
[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 is applied to the case of fast encoding of Polar codes. This embodiment can be executed by a first communication node. Exemplarily, 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 first bit sequence to be Polar encoded.
[0072] In one example, the length of the first bit sequence is equal to K, where K is an integer greater than 0.
[0073] S320. Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter.
[0074] In one example, the preset Polar sequence set includes at least two Polar sequences.
[0075] S330. Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0076] In one example, the length of the second bit sequence can be N, and the length of the third bit sequence can also be N, where N is an integer greater than K and equal to a power of 2.
[0077] S340. The second bit sequence is encoded using Polar code to obtain the third bit sequence.
[0078] S350, Send at least a portion of the bits of the third bit sequence.
[0079] Among them, there is at least one Polar sequence in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set; the first sub-code rate set includes sub-code rates used to indicate those that cannot be decoded in parallel.
[0080] In one example, the number of bits sent in the third bit sequence is E, where E is a non-negative integer less than or equal to N, and N is greater than K and equal to a power of 2.
[0081] In one embodiment, the first bit sequence to be Polar encoded includes one bit sequence from a first information set and at most two bit sequences from a second information set;
[0082] The first information set 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] The second information set includes at least one of the following: a cyclic redundancy check bit sequence; a parity check bit sequence.
[0084] In one example, where the first communication node is a base station and the second communication node is a user equipment, downlink represents data transmission from the first communication node to the second communication node, and uplink represents data transmission from the second communication node to the first communication node. It is understood that the first bit sequence may not contain any of the bits in the second information set, may contain one of the bits in the second information set, or may contain two bits from the second information set.
[0085] In one example, the first bit sequence can be obtained from, but is not limited to, one of the following:
[0086] One bit sequence from the first information set is used as the first bit sequence;
[0087] The first bit sequence is obtained by performing cyclic redundancy check encoding on a bit sequence in the first information set;
[0088] The first bit sequence is obtained by parity-check encoding a bit sequence from the first information set;
[0089] The first bit sequence is obtained by performing cyclic redundancy check coding and parity check coding on a bit sequence in the first information set.
[0090] In a specific example, the first bit sequence to be Polar encoded includes: a downlink data information bit sequence;
[0091] In a specific example, the first bit sequence to be Polar encoded includes: a downlink data information bit sequence and a cyclic redundancy check bit sequence;
[0092] In a specific example, the first bit sequence to be Polar encoded includes: downlink data information bit sequence, cyclic redundancy check bit sequence, and parity check bit sequence;
[0093] In a specific example, the first bit sequence to be Polar encoded includes: an uplink data information bit sequence and a cyclic redundancy check bit sequence.
[0094] In this embodiment, the bits obtained from the first information set are called the first information sequence, and the bit sequence obtained from the second information set are called the second information sequence. The length of the first information sequence is TBS, and the length of the second information sequence is L.
[0095] In one embodiment, the cyclic redundancy check bit sequence is obtained by performing cyclic redundancy check encoding on the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
[0096] In one example, the cyclic redundancy check (CRC) bit sequence in the second information set is obtained by CRC encoding the first information sequence. Cyclic Redundancy Check (CRC) is a commonly used check method based on division and remainders, used to detect errors during data transmission or storage.
[0097] In a specific example, after performing CRC cyclic redundancy check encoding on the first information bit sequence, the first bit sequence is represented as [c0, c1, c2, ..., c K-1 ] = [d0,d1,d2,...,d TBS-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.
[0098] In one embodiment, the parity check bit sequence is obtained by parity check encoding of the first information sequence; wherein the first information sequence is at least one bit sequence in the first information set.
[0099] In an example, the parity check bit sequence in the second information set is obtained by performing parity check encoding on the first information sequence. The parity check encoding obtains a first bit sequence. Parity check is a basic error detection method that ensures data consistency and correctness by adding extra bits. Parity check sets rules to check the number of 1s in a given set of bits. For odd parity check, if the total number of 1s in the corresponding encoded data unit is an odd number, the check bit is set to 0, otherwise the check bit is set to 1; for even parity check, if the total number of 1s in the corresponding encoded data unit is an even number, the check bit is set to 0, otherwise it is set to 1.
[0100] In this embodiment, the parity check encoding may include but is not limited to: Hamming coding or parity check encoding with a prime number interval.
[0101] Herein, Hamming coding is a classic coding mode, and this embodiment only provides a general exemplary description in combination with the data representation form corresponding to the present application. In this embodiment, the padded bit sequence is expressed as [d0,d1,d2,...,d TBS-1 , the i-th check bit obtained by coding in the Hamming code is located at the 2-th position of the coded bit sequence i position, where 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 bits for Hamming code check in this embodiment, the values of i satisfying the above conditions are 0, 1, 2 respectively, and the check bits are respectively located at the 1st, 2nd, and 4th positions of the coded bit sequence, and this bit sequence can be expressed as [r0,r1,d0,r2,d1,d2,d3], which satisfies: represents modulo-2 addition.
[0102] Herein, the parity check encoding with a prime number interval is an implementation of parity check encoding, which means that the information bits to be encoded are selected at intervals of a prime number, 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 prime number of the interval is 3, and the bit sequence after parity check encoding with a prime number interval is [d0,d1,d2,d3,d4,d5,r0,r1,r2], which satisfies: represents modulo-2 addition.
[0103] In one example, a first bit sequence is obtained by performing cyclic redundancy check (CRC) encoding and parity check (CDR) encoding on a bit sequence from a first information set: the sum of the parity bit lengths of the CRC encoding and the parity check encoding is equal to L. The process of encoding the padded bit sequence to obtain the first bit sequence may include: first performing parity check encoding, and then performing CRC encoding on the resulting codeword; or it may include: first performing CRC encoding, and then performing parity check encoding on the resulting codeword. The aforementioned parity check encoding may include, but is not limited to, Hamming encoding or parity check encoding with a prime number as the interval.
[0104] In one embodiment, the preset Polar sequence set includes at least two Polar sequences. The preset Polar sequence set contains at least two Polar sequences, wherein at least one Polar sequence exists such that when 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.
[0105] In one embodiment, a 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 a power of 2 and divisible by N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; the length K of the first bit sequence is an integer greater than 0. A sub-block represents a block obtained by dividing the second bit sequence into blocks at equal intervals P, starting from the first bit, where P is the size of the sub-block and is divisible by N; the first sub-code rate set contains at least one rate value to indicate the sub-code rate that cannot be fast-decoded. The first preset information length set contains at least one value greater than L and less than N.
[0106] 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;
[0107] Where L is the length of the parity bits in the first bit sequence, and L is an integer greater than 0.
[0108] In one embodiment, the first preset information length set includes one of the following: a set of even numbers greater than or equal to T1 and less than or equal to T2; a set of odd numbers greater than or equal to T1 and less than or equal to T2; wherein T1 and T2 are both integers greater than 0, and T1 is less than T2.
[0109] In one embodiment, T1 and T2 satisfy one of the following conditions: T1 equals L+1; T2 equals N-1; T1 is based on the minimum supported code rate R. minThe length N of the second bit sequence is determined, where, or R min It is a real number 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.
[0110] In one example, the length of the second bit sequence is N, which can also be understood as the length of the mother code being N. Indicates rounding down; This indicates rounding up.
[0111] In one example, the range of values for the first preset information length set can be from an optional minimum value of 1 to an optional maximum value of NL, which can cover more cases, but may result in performance loss in some cases; alternatively, the range of values for the first preset information length set can be determined based on the actual minimum bit rate, maximum bit rate, and mother code length N, so that the first bit sequence can be constructed in a more targeted manner within a smaller range, thereby reducing performance loss.
[0112] 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;
[0113] 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;
[0114] 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;
[0115] 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.
[0116] In one embodiment, the first parameter includes at least one of the following: the length of the first bit sequence K; the coding rate R; and an application scenario indication.
[0117] Wherein, the coding rate R is an integer greater than 0 and less than 1.
[0118] In one embodiment, the preset Polar sequence set includes a first sequence and a second sequence. In one example, the preset Polar sequence set may include two Polar sequences, such as a first sequence and a second sequence.
[0119] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0120] If the second sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of subcode rates of the first bit sequence.
[0121] In one example, the subcode rate refers to the ratio of the number of information bits carried in the subcode to the subcode length.
[0122] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0123] If the length of the first bit sequence is even, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0124] If the length of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0125] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0126] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0127] In one embodiment, the first parameter includes the coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0128] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the first code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0129] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the first code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0130] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the third coding rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0131] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the third code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0132] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0133] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the first information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0134] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the first information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0135] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the third information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0136] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the third information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0137] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0138] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the second information length threshold, and the coding rate is greater than the second code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0139] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the second information length threshold, or the coding rate is less than or equal to the second code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0140] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the fourth information length threshold, and the coding rate is greater than the fourth code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0141] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the fourth information length threshold or the coding rate is less than or equal to the fourth code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0142] In one embodiment, the first parameter includes an application scenario indicator; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0143] When the application scenario indicates the first bit, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0144] When the application scenario indicates the second bit, the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0145] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, then each sub-code bitrate in the second bit sequence does not have a bitrate belonging to the set of first sub-code bitrates; if the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, then at least one sub-code bitrate in the second bit sequence belongs to the set of first sub-code bitrates.
[0146] In one example, based on this embodiment, the first parameter includes the coding bitrate.
[0147] If the encoding bitrate is greater than the first bitrate threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence. The first bitrate threshold is an integer greater than 0 and less than 1.
[0148] In a specific example, the first code rate threshold belongs to the interval [1 / 2, 3 / 4]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and the code rate is higher in high-throughput scenarios. Therefore, in this embodiment, when the encoded code rate is greater than the first code rate threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the needs of high-throughput scenarios.
[0149] In one example, based on this embodiment, the first parameter includes the length of a first bit sequence. When the length of the first bit sequence is greater than a first information length threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence.
[0150] In a specific example, the first information length threshold belongs to the interval [N / 2, 3N / 4]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and the length of the first bit sequence is relatively large in high-throughput scenarios. Therefore, in this embodiment, when the length of the first bit sequence is greater than the first information length threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the requirements of high-throughput scenarios.
[0151] In one example, based on this embodiment, the first parameters include the length of the first bit sequence and the coding rate. When the length of the first bit sequence is greater than a second information length threshold and the coding rate is greater than a second code rate threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence. The second information length threshold is an integer greater than 0 and less than N, and the second code rate threshold is an integer greater than 0 and less than 1. In a specific example, the second information length threshold belongs to the interval [N / 2, 3N / 4], and the second code rate threshold belongs to the interval [1 / 2, 3 / 4]. Beneficial effects: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and high-throughput scenarios generally have higher code rates and larger first bit sequence lengths. Therefore, in this embodiment, selecting the first sequence to obtain the first Polar sequence when the length of the first bit sequence is greater than the second information length threshold and the coding rate is greater than the second code rate threshold can meet the needs of high-throughput scenarios.
[0152] In one example, based on this embodiment, the first parameter includes an application scenario indicator, using bit 0 to indicate selecting a first sequence to obtain a first Polar sequence, and using bit 1 to indicate selecting a second sequence to obtain a first Polar sequence; or,
[0153] Using bit 1 to indicate the selection of the first sequence, we obtain the first Polar sequence; using bit 0 to indicate the selection of the second sequence, we obtain the first Polar sequence.
[0154] In this embodiment, it can be understood that when the application scenario is a high-throughput scenario, the first sequence is selected, and the indication corresponding to the high-throughput scenario can be bit 0 or bit 1; when the application scenario is a high-reliability scenario, the second sequence is selected, and the indication corresponding to the high-reliability scenario can be bit 1 or bit 0.
[0155] It is understood that in this example, the length of the first bit sequence is limited to an even number. When the length of the first bit sequence is not equal to an even number, a known bit needs to be padded during the process of obtaining the first bit sequence, such as filling in bit 0, so that the length of the first bit sequence is an even number. The high-throughput scenario in the embodiment may include, but is not limited to, the URLLC scenario.
[0156] In one embodiment, when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, there is no code rate in the second bit sequence that belongs to the set of first sub-code code rates; when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, there is at least one code rate in the second bit sequence that belongs to the set of first sub-code code rates.
[0157] In one example, based on this embodiment, the first parameter includes the coding bitrate. If the coding bitrate is greater than a third bitrate threshold, a first sequence is selected to obtain the first Polar sequence; otherwise, a second sequence is selected to obtain the first Polar sequence. The third bitrate threshold is an integer greater than 0 and less than 1.
[0158] In a specific example, the third code rate threshold falls within the range [1 / 2, 3 / 4]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is odd. High-throughput scenarios have higher requirements for decoding speed, and the code rate is higher in high-throughput scenarios. Therefore, in this embodiment, when the encoded code rate is greater than the third code rate threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the needs of high-throughput scenarios.
[0159] In one example, based on this embodiment, the first parameter includes the length of the third bit sequence. When the length of the first bit sequence is greater than the third information length threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence.
[0160] In a specific example, the third information length threshold falls within the range [N / 2, 3N / 4]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is odd. High-throughput scenarios have higher requirements for decoding speed, and the length of the first bit sequence is relatively large in high-throughput scenarios. Therefore, in this embodiment, when the length of the first bit sequence is greater than the third information length threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the requirements of high-throughput scenarios.
[0161] In one example, based on this embodiment, the first parameter includes the length of the first bit sequence and the coding rate. When the length of the first bit sequence is greater than the fourth information length threshold and the coding rate is greater than the fourth code rate threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence. The fourth information length threshold is an integer greater than 0 and less than N, and the fourth code rate threshold is an integer greater than 0 and less than 1. In a specific example, the fourth information length threshold belongs to the interval [N / 2, 2N / 3], and the fourth code rate threshold belongs to the interval [1 / 2, 2 / 3]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is odd. High-throughput scenarios have higher requirements for decoding speed, and high-throughput scenarios generally have higher code rates and larger first bit sequence lengths. Therefore, in this embodiment, selecting the first sequence to obtain the first Polar sequence when the length of the first bit sequence is greater than the fourth information length threshold and the coding rate is greater than the fourth code rate threshold can meet the needs of high-throughput scenarios.
[0162] In one example, based on this embodiment, the first parameter includes an application scenario indication.
[0163] Using bit 0 to indicate the selection of the first sequence yields the first Polar sequence; using bit 1 to indicate the selection of the second sequence yields the first Polar sequence; or...
[0164] Using bit 1 to indicate the selection of the first sequence, we obtain the first Polar sequence; using bit 0 to indicate the selection of the second sequence, we obtain the first Polar sequence.
[0165] In this embodiment, it can be understood that when the application scenario is a high-throughput scenario, the first sequence is selected, and the indication corresponding to the high-throughput scenario can be bit 0 or bit 1; when the application scenario is a high-reliability scenario, the second sequence is selected, and the indication corresponding to the high-reliability scenario can be bit 1 or bit 0.
[0166] Understandably, in this example, the length of the first bit sequence is limited to an odd number. When the length of the first bit sequence is not equal to an odd number, a known bit needs to be filled in during the process of obtaining the first bit sequence, such as filling in bit 0, so that the length of the first bit sequence is an odd number.
[0167] In one embodiment, the first parameter further includes a modulation order, and a first Polar sequence is obtained from a preset set of Polar sequences based at least on the modulation order. In one example, when the modulation order is equal to 1, 2, or 4, a second sequence is selected as the first Polar sequence; when the modulation order is equal to 6, 8, or 10, a first sequence is selected as the first Polar sequence.
[0168] In one embodiment, the preset Polar sequence set includes a third sequence, a fourth sequence, and a fifth sequence. In one example, the preset Polar sequence set may include three Polar sequences, such as the third sequence, the fourth sequence, and the fifth sequence.
[0169] In one embodiment, if the third sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0170] If the fourth sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0171] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0172] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0173] If the length of the first bit sequence is greater than the fifth information length threshold, the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, then the third sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0174] If the length of the first bit sequence is greater than or equal to the fifth information length threshold, the coding rate is greater than or equal to the fifth code rate threshold, and the length of the first bit sequence is odd, then the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0175] If the length of the first bit sequence is less than or equal to the fifth information length threshold, or if the coding rate is less than or equal to the fifth code rate threshold and the length of the first bit sequence is odd or even, then the fifth sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0176] In one embodiment, the first parameter includes a first bit sequence length and an application scenario indication; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0177] When the application scenario indicates the first bit and the length of the first bit sequence is even, the third sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0178] When the application scenario indicates the first bit and the length of the first bit sequence is odd, the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0179] When the application scenario indicates the second bit, the fifth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0180] In one embodiment, the third sequence satisfies the following condition: when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, 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 fourth sequence satisfies the following condition: when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, 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; when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code in the fifth bit sequence belongs to the code rate set of the first sub-code.
[0181] In this example, the first parameter satisfies, but is not limited to, one of the following characteristics:
[0182] In one example, based on this embodiment, the first parameter includes the length of the first bit sequence and the coding rate.
[0183] When the length of the first bit sequence is greater than the fifth information length threshold and the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence. When the length of the first bit sequence is greater than the fifth information length threshold and the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; otherwise, the fifth sequence is selected to obtain the first Polar sequence. The fifth information length threshold is an integer greater than 0 and less than N, and the fifth code rate threshold is an integer greater than 0 and less than 1. In a specific example, the fifth information length threshold belongs to the interval [N / 2, 2N / 3], and the fifth code rate threshold belongs to the interval [1 / 2, 2 / 3]. Beneficial effects: High-throughput scenarios have higher requirements for decoding speed. In high-throughput scenarios, the code rate is generally higher and the length of the first bit sequence is larger. Within the preset range, selecting the third sequence when the first bit sequence is even and selecting the fourth sequence when the first bit sequence is odd can reduce performance loss. Within other preset ranges, selecting the fifth sequence can balance high throughput and high performance.
[0184] In one example, based on this embodiment, the first parameter includes an application scenario indicator and a first bit sequence length.
[0185] When the indicator bit is 0 and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence; when the indicator bit is 0 and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; when the indicator bit is 1, the fifth sequence is selected to obtain the first Polar sequence; or...
[0186] When the indicator bit is 1 and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence; when the indicator bit is 1 and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; when the indicator bit is 0, the fifth sequence is selected to obtain the first Polar sequence.
[0187] In this embodiment, it can be understood that the indicator corresponding to the high throughput scenario can be bit 0 or bit 1, and the indicator corresponding to high reliability can be bit 1 or bit 0.
[0188] It is understandable that in this example, there is a corresponding Polar sequence to choose from regardless of whether the length of the first bit sequence is even or odd, so there is no need to pad bits during the process of obtaining the first bit sequence.
[0189] Beneficial effects: In this implementation, if the selected Polar sequence is such that when the length of the first bit sequence is an odd or even number greater than or equal to T1 and less than or equal to T2, and 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, then each sub-code can be decoded quickly, thereby improving throughput; if the selected Polar sequence is such that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, and at least one sub-code in the fifth bit sequence belongs to the code rate set of the first sub-code, then the sequence can be considered to have achieved high reliability. Generally, this Polar sequence is more suitable for application scenarios with higher reliability requirements.
[0190] In one embodiment, the subcode rates in the first subcode rate set are integers 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. This is because, for any subcode length, subcode rates of 0, 1, 3 / P, and (P-3) / P are all easy to decode quickly.
[0191] In one embodiment, the difference between any two subcode rates in the first subcode rate set is greater than or equal to 2 / P.
[0192] Beneficial effect: 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.
[0193] 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, 4 / 16, is greater than 2 / 16.
[0194] In one embodiment, the first subcode rate set includes at least one of the following:
[0195] {5 / 16};
[0196] {9 / 16};
[0197] {5 / 16, 9 / 16};
[0198] {5 / 16,7 / 16,9 / 16};
[0199] {5 / 16,9 / 16,11 / 16};
[0200] {5 / 16,7 / 16,9 / 16,11 / 16}.
[0201] In one embodiment, the bit indices preceding the K most reliable Polar codes in the first Polar sequence carry the bits contained in the first bit sequence, and the code rate of each subcode in the second bit sequence is a code rate that does not belong to the set of code rates of the first subcode, where K is the length of the first bit sequence.
[0202] In this embodiment, the first bit sequence is carried by the K most reliable pre-Polar encoded bit indices indicated by the first Polar sequence, and the remaining pre-Polar encoded bit indices carry frozen bits, thus obtaining a second bit sequence of length N. In this embodiment, a sub-block refers to a sub-block obtained by dividing the second bit sequence from the first bit at equal intervals P, where P is the size of the sub-block and is divisible by N. In one example, the second bit sequence is represented as:
[0203] [x0,x1,...,x P-1 ,x P ,x P+1 ,...,x 2P-1 ,...,x N-1 ],
[0204] 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 in the bit indices before Polar encoding, numbered 0, 1, ..., P-1. The second sub-block corresponds 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.
[0205] In one embodiment, the length N of the first Polar sequence is a power of 2, including but not limited to one of the following: 256, 512, 1024, 2048, 4096, 8192.
[0206] 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;
[0207] 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.
[0208] 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 extracted and encoded in the interval [0*P, (0+1)*P-1], the i=0th second Polar sequence is [0 1 2 3], and 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 extracted and encoded in the interval [1*P, (1+1)*P-1], the i=1th second Polar sequence is [45 6 7], and the values in the second Polar sequence are subtracted by 4 to form the third Polar sequence [0 1 2 3]. 3]; Extract 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]. Extract 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.
[0209] 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];
[0213] [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].
[0214] 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.
[0215] In step S130, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In one specific embodiment, 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 Q represents the set of the last K elements of the first Polar sequence, which represents the set of bit indices before Polar encoding of the information bits. The process of obtaining the second bit sequence is as follows:
[0216]
[0217]
[0218] In one embodiment, step S140 involves encoding the second bit sequence using Polar codes to obtain the third bit sequence.
[0219] 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 ].
[0220] In one embodiment, in step S150, all or part of the bits from the third bit sequence are sent. 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 part of the bits to be sent is E, and the specific selection method is not limited in this embodiment.
[0221] In the following embodiments, the process of data encoding of the first communication node is described in detail by way of specific implementation.
[0222] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0223] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0224] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0225] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first sequence and the second sequence satisfy the following characteristics: For the first sequence, when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, there is no code rate in the second bit sequence that belongs to the first sub-code code rate set; for the second sequence, when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, there is no code rate in the second bit sequence that belongs to the first sub-code code rate set.
[0226] The first parameter includes the length of the first bit sequence. When the length of the first bit sequence is even, the first sequence is selected from the preset Polar sequence set to obtain the first Polar sequence; when the length of the first bit sequence is odd, the second sequence is selected from the preset Polar sequence set to obtain the first Polar sequence.
[0227] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0228] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate Rmax It equals 8 / 9.
[0229] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0230] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high: the K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. Based on the first Polar sequence obtained in step two, it is possible to ensure that each sub-code rate in the second bit sequence does not belong to the set of first sub-code rates. In this embodiment, the sub-block size is 16, and the set of first sub-code rates is {5 / 16, 9 / 16}.
[0231] 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].
[0232] In this embodiment, when the length K of the first bit sequence is even, any subcode in the second bit sequence obtained from the first Polar sequence will not have a subcode rate of 5 / 16 or 9 / 16 when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2. Here, 5 / 16 and 9 / 16 belong to the first subcode rate set, which is used to represent subcode rates that are difficult to decode quickly. When the length K of the first bit sequence is odd, any subcode in the second bit sequence obtained from the first Polar sequence will not have a subcode rate of 5 / 16 or 9 / 16 when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2. Here, 5 / 16 and 9 / 16 belong to the first subcode rate set, which is used to represent subcode rates that are difficult to decode quickly.
[0233] Therefore, in this embodiment, the first Polar sequence can be selected according to the length of the first bit sequence. Fast decoding can be performed using only the first Polar sequence without adjusting it or increasing the computational load.
[0234] In a specific example of this embodiment, the length N of the first sequence is equal to 1024, and the first sequence is shown in Table 1, which can be:
[0235] Table 1
[0236]
[0237]
[0238] In a specific example of this embodiment, the length N of the second sequence is equal to 1024, and the second sequence can be as shown in Table 2, which can be:
[0239] Table 2
[0240]
[0241]
[0242] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0243]
[0244] 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,
[0245] 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.
[0246] Based on the first Polar sequence in this embodiment, when the length N of the second bit sequence (used as the mother code) is equal to 1024 and the length K of the first bit sequence is even, a first sequence is selected from a preset Polar sequence set to obtain the first Polar sequence. The first sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, 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. When the length K of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set to obtain the first Polar sequence. The second sequence satisfies the condition that when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, 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 a specific example, any sub-code in the second bit sequence will not have a code rate of 5 / 16 or 9 / 16.
[0247] Therefore, for any first bit sequence length, a Polar sequence can be obtained from the preset Polar sequence set, and fast decoding can be performed based on the first Polar sequence without adjusting the first Polar sequence or adding computation. While satisfying the advantage of saving computation, the first Polar sequence does not show significant degradation compared to the Polar sequence of the Polar code in 5G. Several examples are given below to illustrate this.
[0248] In a specific example, the lengths of the bit sequences to be encoded are 683, 769, 853, 897, and the length of the cyclic redundancy check bit L is equal to 19. Based on the first sequence provided in this embodiment as the first Polar sequence, a second bit sequence of length N is obtained based on the first reliability and the first bit sequence. The second bit sequence is Polar encoded to obtain a third bit sequence of length N, and all bits of the third bit sequence are sent. 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 5As shown, the dashed line represents the block error rate (BRR) curve corresponding to the Polar sequence of the Polar code in 5G, while the solid line represents the BRR curve corresponding to the sequence in this embodiment. It can be observed that under the aforementioned code length and code rate, the performance of the two sequences is similar, and the sequence in this embodiment can be decoded quickly without sequence adjustment.
[0249] In a specific example, the lengths of the bit sequences to be encoded are 682, 768, 852, and 896, respectively, and the length of the cyclic redundancy check bit L is equal to 19. Based on the second sequence provided in this embodiment as the first Polar sequence, a second bit sequence of length N is obtained based on the first reliability sequence and the first bit sequence. 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 sent. Figure 6 This is a schematic diagram illustrating another implementation of the block error rate (BLER) curve provided in this application embodiment. Under additive white Gaussian noise channel and QPSK modulation conditions, SC decoding is used to obtain the BLER curves corresponding to different bit lengths to be encoded, as shown below. Figure 6 As shown, the dashed line represents the block error rate (BRR) curve corresponding to the Polar sequence of the Polar code in 5G, while the solid line represents the BRR curve corresponding to the sequence in this embodiment. It can be observed that under the aforementioned code length and code rate, the performance of the two sequences is similar, and the sequence in this embodiment can be decoded quickly without sequence adjustment.
[0250] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0251] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0252] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0253] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first sequence and the second sequence satisfy the following characteristics: The first sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, each sub-code rate in the second bit sequence does not belong to the set of first sub-code rates; the second bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code rate in the second bit sequence belongs to the set of first sub-code rates.
[0254] The first parameter includes the encoding bitrate. If the encoding bitrate is greater than a first bitrate threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence. The first bitrate threshold is an integer greater than 0 and less than 1.
[0255] In this embodiment, the first code rate threshold is a real number belonging to the interval [1 / 2, 2 / 3]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and the code rate is generally higher in high-throughput scenarios. Therefore, in this embodiment, when the encoded code rate is greater than the first code rate threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the needs of high-throughput scenarios. The second sequence is used for high-reliability scenarios and can be applied to low code rate intervals.
[0256] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0257] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0258] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0259] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0260] 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].
[0261] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0262]
[0263] 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,
[0264] 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.
[0265] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0266] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0267] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0268] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first and second sequences satisfy the following characteristics: The first sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, no sub-code rate in the second bit sequence belongs to the set of first sub-code rates; the second bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code rate in the second bit sequence belongs to the set of first sub-code rates.
[0269] The first parameter includes the length of the first bit sequence:
[0270] If the length of the first bit sequence is greater than the first information length threshold, the first sequence is selected to obtain the first Polar sequence; otherwise, the second sequence is selected to obtain the first Polar sequence.
[0271] In a specific example, the first information length threshold belongs to the interval [N / 2, 2N / 3]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and the length of the first bit sequence is larger in high-throughput scenarios. Therefore, in this embodiment, when the length of the first bit sequence is greater than the first information length threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the requirements of high-throughput scenarios.
[0272] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0273] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0274] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0275] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0276] 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].
[0277] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0278]
[0279]
[0280] 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,
[0281] 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.
[0282] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0283] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0284] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0285] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first and second sequences satisfy the following characteristics: The first sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, no sub-code rate in the second bit sequence belongs to the set of first sub-code rates; the second bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code rate in the second bit sequence belongs to the set of first sub-code rates.
[0286] The first parameter includes the length of the first bit sequence and the coding rate:
[0287] The first Polar sequence is obtained by selecting the first sequence if the length of the first bit sequence is greater than the second information length threshold and the coding rate is greater than the second code rate threshold; otherwise, the second sequence is selected. The second information length threshold is an integer greater than 0 and less than N, and the second code rate threshold is an integer greater than 0 and less than 1.
[0288] In a specific example, the second information length threshold belongs to the interval [N / 2, 2N / 3], and the second code rate threshold belongs to the interval [1 / 2, 2 / 3]. Beneficial effect: The first sequence satisfies the requirement that fast decoding can be completed without adjusting the sequence when the length of the first bit sequence is even. High-throughput scenarios have higher requirements for decoding speed, and generally, high-throughput scenarios have higher code rates and larger first bit sequence lengths. Therefore, in this embodiment, when the length of the first bit sequence is greater than the second information length threshold and the coding code rate is greater than the second code rate threshold, the first sequence is selected to obtain the first Polar sequence, which can meet the requirements of high-throughput scenarios.
[0289] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0290] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0291] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0292] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0293] 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].
[0294] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0295]
[0296] 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,
[0297] 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.
[0298] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0299] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0300] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0301] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first and second sequences satisfy the following characteristics: The first sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, no sub-code rate in the second bit sequence belongs to the set of first sub-code rates; the second bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code rate in the second bit sequence belongs to the set of first sub-code rates.
[0302] The first parameter includes an indication of the application scenario:
[0303] Using bit 0 to indicate the selection of the first sequence yields the first Polar sequence; using bit 1 to indicate the selection of the second sequence yields the first Polar sequence; or...
[0304] Using bit 1 to indicate the selection of the first sequence, we obtain the first Polar sequence; using bit 0 to indicate the selection of the second sequence, we obtain the first Polar sequence.
[0305] In this embodiment, it can be understood that when the application scenario is a high-throughput scenario, the first sequence is selected, and the indication corresponding to the high-throughput scenario can be bit 0 or bit 1; when the application scenario is a high-reliability scenario, the second sequence is selected, and the indication corresponding to the high-reliability scenario can be bit 1 or bit 0.
[0306] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0307] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0308] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0309] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0310] 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].
[0311] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0312]
[0313] 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,
[0314] 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.
[0315] In one embodiment, in the embodiment including steps one to five described above, obtaining the first Polar sequence from the preset Polar sequence set based on the first parameter in step two can further be:
[0316] The preset Polar sequence set contains two Polar sequences: a first sequence and a second sequence. The first and second sequences respectively satisfy the following characteristics: The first sequence satisfies the condition that when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, no sub-code rate in the second bit sequence belongs to the set of first sub-code rates; the second sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code rate in the second bit sequence belongs to the set of first sub-code rates.
[0317] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0318] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0319] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0320] The preset Polar sequence set contains three Polar sequences: the third sequence, the fourth sequence, and the fifth sequence. The third, fourth, and fifth sequences respectively satisfy the following characteristics: The third sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, 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 fourth sequence satisfies the condition that when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, 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; and the fifth bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code in the fifth bit sequence belongs to the code rate set of the first sub-code.
[0321] The first parameter includes the length of the first bit sequence and the coding rate:
[0322] When the length of the first bit sequence is greater than the fifth information length threshold and the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence. When the length of the first bit sequence is greater than the fifth information length threshold and the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; otherwise, the fifth sequence is selected to obtain the first Polar sequence. The fifth information length threshold is an integer greater than 0 and less than N, and the fifth code rate threshold is an integer greater than 0 and less than 1. In a specific example, the fifth information length threshold belongs to the interval [N / 2, 2N / 3], and the fifth code rate threshold belongs to the interval [1 / 2, 2 / 3]. Beneficial effects: High-throughput scenarios have higher requirements for decoding speed. In high-throughput scenarios, the code rate is generally higher and the length of the first bit sequence is larger. Within the preset range, selecting the third sequence when the first bit sequence is even and selecting the fourth sequence when the first bit sequence is odd can reduce performance loss. Within other preset ranges, selecting the fifth sequence can balance high throughput and high performance.
[0323] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0324] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0325] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0326] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0327] 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].
[0328] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0329]
[0330] 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,
[0331] 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.
[0332] In one embodiment, the data encoding method applied to the first communication node may include steps one through five:
[0333] Step 1: Obtain the first bit sequence to be Polar encoded: Perform cyclic redundancy check (CRC) encoding on a bit sequence from the first information set to obtain the first bit sequence. The first information set includes: uplink control information bit sequence, downlink control information bit sequence, uplink data information bit sequence, and downlink data information bit sequence. The first bit sequence is represented as: [c0, c1, c2, ..., c K-1 ].
[0334] Step 2: Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter:
[0335] The preset Polar sequence set contains three Polar sequences: the third sequence, the fourth sequence, and the fifth sequence. The third, fourth, and fifth sequences respectively satisfy the following characteristics: The third sequence satisfies the condition that when the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, 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 fourth sequence satisfies the condition that when the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, 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; and the fifth bit sequence satisfies the condition that when the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, at least one sub-code in the fifth bit sequence belongs to the code rate set of the first sub-code.
[0336] The first parameter includes an application scenario indicator and the length of the first bit sequence:
[0337] When the indicator bit is 0 and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence; when the indicator bit is 0 and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; when the indicator bit is 1, the fifth sequence is selected to obtain the first Polar sequence; or...
[0338] When the indicator bit is 1 and the length of the first bit sequence is even, the third sequence is selected to obtain the first Polar sequence; when the indicator bit is 1 and the length of the first bit sequence is odd, the fourth sequence is selected to obtain the first Polar sequence; when the indicator bit is 0, the fifth sequence is selected to obtain the first Polar sequence.
[0339] In this embodiment, it can be understood that the indicator corresponding to the high throughput scenario can be bit 0 or bit 1, and the indicator corresponding to high reliability can be bit 1 or bit 0.
[0340] In step two of this embodiment, T1 equals L+1, and T2 equals N-1; or,
[0341] T1 equals T2 equals R min Equal to 1 / 8, maximum bitrate R max It equals 8 / 9.
[0342] Step 3: Obtain the second bit sequence based on the first Polar sequence and the first bit sequence.
[0343] The first Polar sequence obtained in step two is used to represent the reliability ranking of the bit indices before Polar encoding. The reliability of the bit indices before Polar encoding in the first Polar sequence is ranked from low to high. The K most reliable bit indices before Polar encoding in the first Polar sequence carry bits of the first bit sequence, where K is the length of the first bit sequence. The first Polar sequence obtained in step two ensures that no code rate in the second bit sequence belongs to the set of code rates for the first sub-code. In this embodiment, the sub-block size is 16, and the set of code rates for the first sub-code is {5 / 16, 9 / 16}.
[0344] 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].
[0345] In step three of this embodiment, a second bit sequence is obtained based on the first Polar sequence and the first bit sequence. In a 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 Q represents the set of bits before Polar encoding, which consists of the last K elements of the first Polar sequence. A feasible implementation is as follows:
[0346]
[0347] 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,
[0348] 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.
[0349] 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 fast decoding of 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, i.e., the first bit sequence after decoding. Figure 7The diagram shown is a flowchart of a data decoding method provided in this embodiment. The execution subject of the LDPC decoding method can be the aforementioned second communication 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 may 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 network electronic device, etc. This embodiment includes: S710-S740.
[0350] S710, Receive at least a portion of the data sequence to be decoded from the third bit sequence.
[0351] S720. At least a portion of the data to be decoded is subjected to Polar decoding to obtain the decoded second bit sequence.
[0352] S730. Obtain the first Polar sequence from the preset Polar sequence set based on the first parameter.
[0353] S740. The first bit sequence after decoding is obtained based on the second bit sequence after decoding and the first Polar sequence.
[0354] Among them, there is at least one Polar sequence in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set; the first sub-code rate set includes sub-code rates used to indicate those that cannot be decoded in parallel.
[0355] Here, for the received data sequence to be decoded, in step S220, the decoded second bit sequence can be obtained based on the reverse process of Polar encoding; in step S230, the first Polar sequence is obtained from a preset Polar sequence set according to the first parameter; and in step S240, the decoded first bit sequence is obtained from the decoded second bit sequence based on the first Polar sequence. The decoded first bit sequence and the decoded second bit sequence at the second communication node also satisfy the following characteristics:
[0356] The preset Polar sequence set contains at least two Polar sequences, where at least one Polar sequence is such that when 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 first sub-code code rate set. A sub-block refers to a sub-block obtained by dividing the second bit sequence, starting from the first bit, at equal intervals P, where P is the size of the sub-block and is divisible by N. The first sub-code code rate set contains at least one code rate value to indicate the code rate of sub-codes that cannot be quickly decoded. The first preset information length set contains at least one value greater than L and less than N.
[0357] In one example, the process of obtaining the first Polar sequence from the preset Polar sequence based on the first parameter is the same as the process of the first processing node obtaining the first Polar sequence from the preset Polar sequence, and will not be described again here.
[0358] The first subcode rate set contains at least one rate value to indicate the subcode rate that cannot be fast decoded. The subcode rates in the subcode rate set are integers 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, ..., P-4.
[0359] When the decoding result is correct, the decoded bit sequence obtained above should be the same as the first bit sequence data of the sending end. The process of processing the first bit sequence has been described in the eight embodiments corresponding to the data encoding method applied to the first communication node (i.e., the embodiments including steps one to five). The decoding process is represented as the inverse process of encoding based on the Polar encoding method and the first Polar sequence, which will not be elaborated here.
[0360] In one embodiment, the decoded first bit sequence includes one bit sequence from a first information set and at most two bit sequences from a second information set;
[0361] The first information set 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.
[0362] The second information set includes at least one of the following: a cyclic redundancy check bit sequence; a parity check bit sequence.
[0363] In one embodiment, the cyclic redundancy check bit sequence is obtained by performing cyclic redundancy check encoding on the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
[0364] In one embodiment, the parity check bit sequence is obtained by parity check encoding of the first information sequence; wherein the first information sequence is at least one bit sequence in the first information set.
[0365] In one embodiment, the preset Polar sequence set includes at least two Polar sequences.
[0366] In one embodiment, a 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 a power of 2 and divisible by N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; and the length K of the first bit sequence is an integer greater than 0.
[0367] 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;
[0368] Where L is the length of the parity bits in the first bit sequence, and L is an integer greater than 0.
[0369] In one embodiment, the first preset information length set includes one of the following:
[0370] The set of even numbers that are greater than or equal to T1 and less than or equal to T2;
[0371] The set of odd numbers that are greater than or equal to T1 and less than or equal to T2;
[0372] Where T1 and T2 are both integers greater than 0, and T1 is less than T2.
[0373] In one embodiment, T1 and T2 satisfy one of the following conditions:
[0374] T1 equals L+1;
[0375] T2 equals N-1;
[0376] 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;
[0377] 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.
[0378] In one embodiment, the first parameter includes at least one of the following: the length of the first bit sequence K; the coding rate R; and an application scenario indication.
[0379] Wherein, the coding rate R is an integer greater than 0 and less than 1.
[0380] In one embodiment, the preset Polar sequence set includes a first sequence and a second sequence.
[0381] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0382] If the second sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of subcode rates of the first bit sequence.
[0383] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0384] If the length of the first bit sequence is even, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0385] If the length of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0386] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0387] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0388] In one embodiment, the first parameter includes the coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0389] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the first code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0390] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the first code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0391] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the third coding rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0392] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the third code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0393] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0394] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the first information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0395] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the first information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0396] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the third information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0397] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the third information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0398] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0399] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the second information length threshold, and the coding rate is greater than the second code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0400] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the second information length threshold, or the coding rate is less than or equal to the second code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0401] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the fourth information length threshold, and the coding rate is greater than the fourth code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0402] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the fourth information length threshold or the coding rate is less than or equal to the fourth code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0403] In one embodiment, the first parameter includes an application scenario indicator; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0404] When the application scenario indicates the first bit, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0405] When the application scenario indicates the second bit, the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0406] In one embodiment, the preset Polar sequence set includes a third sequence, a fourth sequence, and a fifth sequence.
[0407] In one embodiment, if the third sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0408] If the fourth sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0409] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0410] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0411] If the length of the first bit sequence is greater than the fifth information length threshold, the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, then the third sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0412] If the length of the first bit sequence is greater than or equal to the fifth information length threshold, the coding rate is greater than or equal to the fifth code rate threshold, and the length of the first bit sequence is odd, then the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0413] If the length of the first bit sequence is less than or equal to the fifth information length threshold, or if the coding rate is less than or equal to the fifth code rate threshold and the length of the first bit sequence is odd or even, then the fifth sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0414] In one embodiment, the first parameter includes a first bit sequence length and an application scenario indication; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0415] When the application scenario indicates the first bit and the length of the first bit sequence is even, the third sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0416] When the application scenario indicates the first bit and the length of the first bit sequence is odd, the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0417] When the application scenario indicates the second bit, the fifth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0418] In one embodiment, the subcode rates in the first subcode rate set are integers 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.
[0419] In one embodiment, the first subcode rate set includes at least one of the following:
[0420] {5 / 16};
[0421] {9 / 16};
[0422] {5 / 16, 9 / 16};
[0423] {5 / 16,7 / 16,9 / 16};
[0424] {5 / 16,9 / 16,11 / 16};
[0425] {5 / 16,7 / 16,9 / 16,11 / 16}.
[0426] In one embodiment, the bit indices preceding the K most reliable Polar codes in the first Polar sequence carry the bits contained in the first bit sequence, and the code rate of each subcode in the second bit sequence is a code rate that does not belong to the set of code rates of the first subcode, where K is the length of the first bit sequence.
[0427] In one embodiment, the length N of the first Polar sequence is a power of 2, including but not limited to one of the following: 256, 512, 1024, 2048, 4096, 8192.
[0428] 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;
[0429] 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.
[0430] 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];
[0434] [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].
[0435] In one embodiment, Figure 8 This is a structural block diagram of a data encoding device provided in an embodiment of this application. For example... Figure 8 As shown, the data encoding device in this embodiment includes: an acquisition module 810, a first determination module 820, a second determination module 830, an encoding module 840, and a sending module 850.
[0436] The acquisition module 810 is configured to acquire the first bit sequence to be Polar encoded;
[0437] The first determining module 820 is configured to obtain a first Polar sequence from a preset Polar sequence set based on a first parameter;
[0438] The second determining module 830 is configured to obtain the second bit sequence based on the first Polar sequence and the first bit sequence;
[0439] Encoding module 840 is configured to encode the second bit sequence using Polar code to obtain the third bit sequence;
[0440] The transmitting module 850 is configured to transmit at least a portion of the bits of a third bit sequence;
[0441] Among them, there is at least one Polar sequence in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set; the first sub-code rate set includes sub-code rates used to indicate those that cannot be decoded in parallel.
[0442] In one embodiment, the first bit sequence to be Polar encoded includes one bit sequence from a first information set and at most two bit sequences from a second information set;
[0443] The first information set 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.
[0444] The second information set includes at least one of the following: a cyclic redundancy check bit sequence; a parity check bit sequence.
[0445] In one embodiment, the cyclic redundancy check bit sequence is obtained by performing cyclic redundancy check encoding on the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
[0446] In one embodiment, the parity check bit sequence is obtained by parity check encoding of the first information sequence; wherein the first information sequence is at least one bit sequence in the first information set.
[0447] In one embodiment, the preset Polar sequence set includes at least two Polar sequences.
[0448] In one embodiment, a 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 a power of 2 and divisible by N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; and the length K of the first bit sequence is an integer greater than 0.
[0449] 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;
[0450] Where L is the length of the parity bits in the first bit sequence, and L is an integer greater than 0.
[0451] In one embodiment, the first preset information length set includes one of the following:
[0452] The set of even numbers that are greater than or equal to T1 and less than or equal to T2;
[0453] The set of odd numbers that are greater than or equal to T1 and less than or equal to T2;
[0454] Where T1 and T2 are both integers greater than 0, and T1 is less than T2.
[0455] In one embodiment, T1 and T2 satisfy one of the following conditions:
[0456] T1 equals L+1;
[0457] T2 equals N-1;
[0458] 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;
[0459] 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.
[0460] In one embodiment, the first parameter includes at least one of the following: the length of the first bit sequence K; the coding rate R; and an application scenario indication.
[0461] Wherein, the coding rate R is an integer greater than 0 and less than 1.
[0462] In one embodiment, the preset Polar sequence set includes a first sequence and a second sequence.
[0463] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0464] If the second sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of subcode rates of the first bit sequence.
[0465] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0466] If the length of the first bit sequence is even, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0467] If the length of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0468] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0469] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0470] In one embodiment, the first parameter includes the coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0471] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the first code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0472] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the first code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0473] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the third coding rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0474] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the third code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0475] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0476] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the first information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0477] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the first information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0478] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the third information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0479] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the third information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0480] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0481] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the second information length threshold, and the coding rate is greater than the second code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0482] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the second information length threshold, or the coding rate is less than or equal to the second code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0483] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the fourth information length threshold, and the coding rate is greater than the fourth code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0484] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the fourth information length threshold or the coding rate is less than or equal to the fourth code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0485] In one embodiment, the first parameter includes an application scenario indicator; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0486] When the application scenario indicates the first bit, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0487] When the application scenario indicates the second bit, the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0488] In one embodiment, the preset Polar sequence set includes a third sequence, a fourth sequence, and a fifth sequence.
[0489] In one embodiment, if the third sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0490] If the fourth sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0491] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0492] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0493] If the length of the first bit sequence is greater than the fifth information length threshold, the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, then the third sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0494] If the length of the first bit sequence is greater than or equal to the fifth information length threshold, the coding rate is greater than or equal to the fifth code rate threshold, and the length of the first bit sequence is odd, then the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0495] If the length of the first bit sequence is less than or equal to the fifth information length threshold, or if the coding rate is less than or equal to the fifth code rate threshold and the length of the first bit sequence is odd or even, then the fifth sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0496] In one embodiment, the first parameter includes a first bit sequence length and an application scenario indication; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0497] When the application scenario indicates the first bit and the length of the first bit sequence is even, the third sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0498] When the application scenario indicates the first bit and the length of the first bit sequence is odd, the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0499] When the application scenario indicates the second bit, the fifth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0500] In one embodiment, the subcode rates in the first subcode rate set are integers 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.
[0501] In one embodiment, the first subcode rate set includes at least one of the following:
[0502] {5 / 16};
[0503] {9 / 16};
[0504] {5 / 16, 9 / 16};
[0505] {5 / 16,7 / 16,9 / 16};
[0506] {5 / 16,9 / 16,11 / 16};
[0507] {5 / 16,7 / 16,9 / 16,11 / 16}.
[0508] In one embodiment, the bit indices preceding the K most reliable Polar codes in the first Polar sequence carry the bits contained in the first bit sequence, and the code rate of each subcode in the second bit sequence is a code rate that does not belong to the set of code rates of the first subcode, where K is the length of the first bit sequence.
[0509] In one embodiment, the length N of the first Polar sequence is a power of 2, including but not limited to one of the following: 256, 512, 1024, 2048, 4096, 8192.
[0510] 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;
[0511] 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.
[0512] 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];
[0516] [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].
[0517] The data encoding device provided in this embodiment is configured to implement... Figure 3 The data encoding method in the illustrated embodiment and the data encoding device provided in this embodiment have similar implementation principles and technical effects, and will not be described again here.
[0518] In one embodiment, Figure 9 This is a structural block diagram of a data decoding device provided in an embodiment of this application. Figure 9 As shown, the data decoding device in this embodiment includes: a receiving module 910, a decoding module 920, a first determining module 930, and a second determining module 940.
[0519] The receiving module 910 is configured to receive at least a portion of the data sequence to be decoded from the third bit sequence;
[0520] 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;
[0521] The first determining module 930 is configured to obtain the first Polar sequence from a preset Polar sequence set based on the first parameter;
[0522] The second determining module 940 is configured to obtain the decoded first bit sequence based on the decoded second bit sequence and the first Polar sequence;
[0523] Among them, there is at least one Polar sequence in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set; the first sub-code rate set includes sub-code rates used to indicate those that cannot be decoded in parallel.
[0524] In one embodiment, the decoded first bit sequence includes one bit sequence from a first information set and at most two bit sequences from a second information set;
[0525] The first information set 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.
[0526] The second information set includes at least one of the following: a cyclic redundancy check bit sequence; a parity check bit sequence.
[0527] In one embodiment, the cyclic redundancy check bit sequence is obtained by performing cyclic redundancy check encoding on the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
[0528] In one embodiment, the parity check bit sequence is obtained by parity check encoding of the first information sequence; wherein the first information sequence is at least one bit sequence in the first information set.
[0529] In one embodiment, the preset Polar sequence set includes at least two Polar sequences.
[0530] In one embodiment, a 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 a power of 2 and divisible by N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; and the length K of the first bit sequence is an integer greater than 0.
[0531] 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;
[0532] Where L is the length of the parity bits in the first bit sequence, and L is an integer greater than 0.
[0533] In one embodiment, the first preset information length set includes one of the following:
[0534] The set of even numbers that are greater than or equal to T1 and less than or equal to T2;
[0535] The set of odd numbers that are greater than or equal to T1 and less than or equal to T2;
[0536] Where T1 and T2 are both integers greater than 0, and T1 is less than T2.
[0537] In one embodiment, T1 and T2 satisfy one of the following conditions:
[0538] T1 equals L+1;
[0539] T2 equals N-1;
[0540] 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;
[0541] 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.
[0542] In one embodiment, the first parameter includes at least one of the following: the length of the first bit sequence K; the coding rate R; and an application scenario indication.
[0543] Wherein, the coding rate R is an integer greater than 0 and less than 1.
[0544] In one embodiment, the preset Polar sequence set includes a first sequence and a second sequence.
[0545] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0546] If the second sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of subcode rates of the first bit sequence.
[0547] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0548] If the length of the first bit sequence is even, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0549] If the length of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0550] In one embodiment, if the first sequence satisfies that the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0551] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0552] In one embodiment, the first parameter includes the coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0553] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the first code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0554] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the first code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0555] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the third coding rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0556] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the third code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0557] In one embodiment, the first parameter includes a first bit sequence length; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0558] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the first information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0559] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the first information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0560] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number that is greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the third information length threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0561] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the third information length threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0562] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0563] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the second information length threshold, and the coding rate is greater than the second code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0564] If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the second information length threshold, or the coding rate is less than or equal to the second code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0565] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, the length of the first bit sequence is greater than the fourth information length threshold, and the coding rate is greater than the fourth code rate threshold, then the first sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0566] If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the fourth information length threshold or the coding rate is less than or equal to the fourth code rate threshold, then the second sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0567] In one embodiment, the first parameter includes an application scenario indicator; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0568] When the application scenario indicates the first bit, the first sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0569] When the application scenario indicates the second bit, the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0570] In one embodiment, the preset Polar sequence set includes a third sequence, a fourth sequence, and a fifth sequence.
[0571] In one embodiment, if the third sequence satisfies that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0572] If the fourth sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
[0573] If the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the set of first subcode rates.
[0574] In one embodiment, the first parameter includes a first bit sequence length and a coding rate; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0575] If the length of the first bit sequence is greater than the fifth information length threshold, the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, then the third sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0576] If the length of the first bit sequence is greater than or equal to the fifth information length threshold, the coding rate is greater than or equal to the fifth code rate threshold, and the length of the first bit sequence is odd, then the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0577] If the length of the first bit sequence is less than or equal to the fifth information length threshold, or if the coding rate is less than or equal to the fifth code rate threshold and the length of the first bit sequence is odd or even, then the fifth sequence is selected as the first Polar sequence from the preset Polar sequence set.
[0578] In one embodiment, the first parameter includes a first bit sequence length and an application scenario indication; obtaining a first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following:
[0579] When the application scenario indicates the first bit and the length of the first bit sequence is even, the third sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0580] When the application scenario indicates the first bit and the length of the first bit sequence is odd, the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence;
[0581] When the application scenario indicates the second bit, the fifth sequence is selected from the preset Polar sequence set as the first Polar sequence.
[0582] In one embodiment, the subcode rates in the first subcode rate set are integers 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.
[0583] In one embodiment, the first subcode rate set includes at least one of the following:
[0584] {5 / 16};
[0585] {9 / 16};
[0586] {5 / 16, 9 / 16};
[0587] {5 / 16,7 / 16,9 / 16};
[0588] {5 / 16,9 / 16,11 / 16};
[0589] {5 / 16,7 / 16,9 / 16,11 / 16}.
[0590] In one embodiment, the bit indices preceding the K most reliable Polar codes in the first Polar sequence carry the bits contained in the first bit sequence, and the code rate of each subcode in the second bit sequence is a code rate that does not belong to the set of code rates of the first subcode, where K is the length of the first bit sequence.
[0591] In one embodiment, the length N of the first Polar sequence is a power of 2, including but not limited to one of the following: 256, 512, 1024, 2048, 4096, 8192.
[0592] 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;
[0593] 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.
[0594] 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];
[0598] [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].
[0599] The data decoding device provided in this embodiment is configured to implement... Figure 7 The data decoding method 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.
[0600] 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.
[0601] 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, the first determination module 820, the second determination module 830, the encoding module 840, and the 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.
[0602] 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.
[0603] 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.
[0604] 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 first bit sequence to be Polar encoded; obtaining a first Polar sequence from a preset Polar sequence set based on a first parameter; obtaining a second bit sequence according to the 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, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to a first preset information length set, and 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.
[0605] 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 portion of the data to be decoded to obtain a decoded second bit sequence; obtaining a first Polar sequence from a preset Polar sequence set based on a first parameter; and obtaining a decoded first bit sequence based on the decoded second bit sequence and the first Polar sequence. The preset Polar sequence set contains at least one Polar sequence such that the length of the first bit sequence belongs to a first preset information length set, and the sub-code rate of each sub-block in the second bit sequence does not belong to the first sub-code rate set. The first sub-code rate set includes sub-code rates that cannot be decoded in parallel.
[0606] 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.
[0607] 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.
[0608] 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.
[0609] 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.
[0610] 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 first bit sequence to be Polar encoded; The first Polar sequence is obtained from a preset Polar sequence set based on the first parameter; 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, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and 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 first bit sequence to be Polar encoded includes one bit sequence from the first information set and at most two bit sequences from the second information set; The first information set 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. The second information set includes at least one of the following: a cyclic redundancy check bit sequence; a parity check bit sequence.
3. The method according to claim 2, characterized in that, The cyclic redundancy check bit sequence is obtained by performing cyclic redundancy check encoding on the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
4. The method according to claim 2, characterized in that, The parity check bit sequence is obtained by parity check encoding of the first information sequence; wherein, the first information sequence is at least one bit sequence in the first information set.
5. The method according to claim 1, characterized in that, The preset Polar sequence set includes at least two Polar sequences.
6. The method according to claim 1, 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 a power of 2 and divisible by N; N is the length of the second bit sequence, and is an integer greater than K and equal to a power of 2; the length K of the first bit sequence is an integer greater than 0.
7. The method according to claim 1, 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.
8. The method according to claim 1, characterized in that, The first preset information length set includes one of the following: The set of even numbers that are greater than or equal to T1 and less than or equal to T2; The set of odd numbers that are greater than or equal to T1 and less than or equal to T2; Where T1 and T2 are both integers greater than 0, and T1 is less than T2.
9. The method according to claim 8, 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 mim The length N of the second bit sequence is determined, where, or R mim 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.
10. The method according to any one of claims 1-9, characterized in that, The first parameter includes at least one of the following: the length K of the first bit sequence; the coding rate R; and the application scenario indication. Wherein, the coding rate R is an integer greater than 0 and less than 1.
11. The method according to claim 8, characterized in that, The preset Polar sequence set includes a first sequence and a second sequence.
12. The method according to claim 11, characterized in that, If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates. If the second sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates.
13. The method according to claim 12, characterized in that, The first parameter includes the length of the first bit sequence; obtaining the first Polar sequence from the preset Polar sequence set based on the first parameter includes one of the following: If the length of the first bit sequence is even, a first sequence is selected from the preset Polar sequence set as the first Polar sequence; If the length of the first bit sequence is odd, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
14. The method according to claim 11, characterized in that, If the first sequence satisfies the condition that the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates. When the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the first subcode rate set.
15. The method according to claim 14, characterized in that, The first parameter includes the coding rate; obtaining the first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following: If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the first code rate threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the first code rate threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is greater than the third coding rate threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the coding rate is less than or equal to the third coding rate threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
16. The method according to claim 14, characterized in that, The first parameter includes the length of the first bit sequence; obtaining the first Polar sequence from the preset Polar sequence set based on the first parameter includes one of the following: If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the first information length threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the first information length threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the third information length threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the third information length threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
17. The method according to claim 14, characterized in that, The first parameter includes the length of the first bit sequence and the coding rate; obtaining the first Polar sequence from the preset Polar sequence set based on the first parameter includes one of the following: If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the second information length threshold, and the coding rate is greater than the second code rate threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the second information length threshold, or the coding rate is less than or equal to the second code rate threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is greater than the fourth information length threshold, and the coding rate is greater than the fourth code rate threshold, then the first sequence is selected from the preset Polar sequence set as the first Polar sequence. If the first sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, and the length of the first bit sequence is less than or equal to the fourth information length threshold or the coding rate is less than or equal to the fourth code rate threshold, then the second sequence is selected from the preset Polar sequence set as the first Polar sequence.
18. The method according to claim 14, characterized in that, The first parameter includes an application scenario indicator; obtaining the first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following: When the application scenario indicates the first bit, a first sequence is selected from the preset Polar sequence set as the first Polar sequence; When the application scenario indicates the second bit, a second sequence is selected from the preset Polar sequence set as the first Polar sequence.
19. The method according to claim 8, characterized in that, The preset Polar sequence set includes the third sequence, the fourth sequence, and the fifth sequence.
20. The method according to claim 19, characterized in that, If the third sequence satisfies the condition that the length of the first bit sequence is an even number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates. If the fourth sequence satisfies the condition that the length of the first bit sequence is an odd number greater than or equal to T1 and less than or equal to T2, then the subcode rate of each sub-block in the second bit sequence does not belong to the set of first subcode rates. When the length of the first bit sequence is an even or odd number greater than or equal to T1 and less than or equal to T2, the subcode rate of at least one sub-block in the second bit sequence belongs to the first subcode rate set.
21. The method according to claim 20, characterized in that, The first parameter includes the length of the first bit sequence and the coding rate; obtaining the first Polar sequence from the preset Polar sequence set based on the first parameter includes one of the following: If the length of the first bit sequence is greater than the fifth information length threshold, the coding rate is greater than the fifth code rate threshold, and the length of the first bit sequence is even, then a third sequence is selected from the preset Polar sequence set as the first Polar sequence. If the length of the first bit sequence is greater than or equal to the fifth information length threshold, the coding rate is greater than or equal to the fifth code rate threshold, and the length of the first bit sequence is odd, then the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence. If the length of the first bit sequence is less than or equal to the fifth information length threshold, or if the coding rate is less than or equal to the fifth code rate threshold and the length of the first bit sequence is odd or even, then the fifth sequence is selected as the first Polar sequence from the preset Polar sequence set.
22. The method according to claim 20, characterized in that, The first parameter includes the length of the first bit sequence and an application scenario indication; obtaining the first Polar sequence from a preset Polar sequence set based on the first parameter includes one of the following: When the application scenario indicates the first bit and the length of the first bit sequence is even, a third sequence is selected from the preset Polar sequence set as the first Polar sequence; When the application scenario indicates the first bit and the length of the first bit sequence is odd, the fourth sequence is selected from the preset Polar sequence set as the first Polar sequence; When the application scenario indicates the second bit, the fifth sequence is selected from the preset Polar sequence set as the first Polar sequence.
23. The method according to claim 6, characterized in that, The subcode rates in the first subcode rate set are integers 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.
24. The method according to claim 5, 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}。 25. The method according to claim 1, characterized in that, The most reliable K Polar codes preceding 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 set of first sub-code code rates. K is the length of the first bit sequence.
26. The method according to claim 1, characterized in that, The length N of the first Polar sequence is a power of 2, including but not limited to one of the following: 256, 512, 1024, 2048, 4096, 8192.
27. 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.
28. The method according to claim 27, 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]。 29. 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 first Polar sequence is obtained from the preset Polar sequence set based on the first parameter; The decoded first bit sequence is obtained by combining the decoded second bit sequence with the first Polar sequence. Wherein, at least one Polar sequence exists in the preset Polar sequence set such that the length of the first bit sequence belongs to the first preset information length set, and 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.
30. 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-28 or 29.
31. 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-28 or 29.