Polarization code decoding method and device for controlling node path division and medium
By controlling the path splitting of polar codes, setting the number of non-path splitting nodes α, and combining the number of information bits K, code length N, and signal-to-noise ratio (SINR) of the polar code, the balance between decoding performance and time delay in the CA-SCL decoding algorithm is solved, achieving improved decoding performance and reduced time delay.
Patent Information
- Application Number
- CN202510806107.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-17
- Publication Date
- 2025-11-07
AI Technical Summary
Existing CA-SCL decoding algorithms struggle to balance decoding performance and latency. As the number of lists increases, latency increases, and reducing the number of lists may cause the correct decoding path to be missed.
By using a polar code decoding method with controlled path splitting, the number of non-path splitting nodes α is set. Combining the number of information bits K, code length N, and signal-to-noise ratio (SINR) of the polar code, the reliability of the sub-channel is calculated using the polar weighting method. Decoding binary tree operations are performed, and path expansion is controlled under specific conditions. CRC check is used to select the optimal decoding result.
It reduces decoding time latency, improves decoding performance, and reduces decoding complexity, adapting to the latency and performance requirements of different scenarios.
Smart Images

Figure CN120915306A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a coding and decoding technology of wireless communication, in particular to a decoding method of polar code. BACKGROUND
[0002] Polar code decomposes an original channel into multiple sub-channels by channel polarization process, and these sub-channels exhibit different reliabilities. The capacity of a part of sub-channels tends to 1, becoming perfect error-free channels, and the capacity of another part of sub-channels tends to 0, becoming pure noise channels. Selecting sub-channels with capacity close to 1 to transmit information can theoretically achieve the Shannon capacity (Shannon limit). Due to its excellent performance, polar code is selected as the encoding scheme of 5G NR (New Radio) control channel.
[0003] Compared with encoding operation, different polar code decoding methods have more significant impact on system performance.
[0004] SC (successive cancellation) is an existing polar code decoding algorithm, which has simple structure and low complexity, and restores the original information transmitted by decoding bit by bit. SC decoding algorithm has strong error correction capability for long code, but due to channel noise or incomplete polarization of channel, the decoding effect for medium and short code is not good.
[0005] In order to overcome the above defects of SC decoding algorithm, SCL (successive cancellation list) decoding algorithm appears. SCL decoding algorithm retains multiple candidate paths at the same time to retain as many potential correct paths as possible and improve the probability of decoding success.
[0006] Adding cyclic redundancy check (CRC) to SCL decoding algorithm forms CA-SCL (CRC aided SCL) decoding algorithm, which redecodes when cyclic redundancy check fails to increase error detection capability. CA-SCL decoding algorithm still has the following challenges. With the increase of the number of lists, the overhead and time delay of simultaneous operation and sorting of multiple paths also gradually increase. If the number of lists is reduced, the correct decoding path may be missed due to quantization error and other factors. SUMMARY
[0007] The technical problem to be solved by the present application is how to maintain the performance of CA-SCL decoding algorithm while reducing the time delay, that is, to balance between decoding performance and time delay.
[0008] To solve the above technical problems, the application provides a polar code decoding method for controlling a node branch, which comprises the following steps. Step S1: for information with a length of K bits, polar code encoding is performed to obtain polar code with a code length of N, and N log-likelihood ratios (LLRs) are obtained after transmission and receiving processing, K < N; the number of nodes without branch is set as a, which is related to the number of information bits K, the code length N of the polar code and the signal-to-interference ratio (SINR). Step S2: the reliability of N sub-channels of the polar code is calculated according to the polar weight method, and is used as the reliability measurement of each bit in the polar code. Step S3: two adjacent bits are combined into one node, and N / 2 nodes are formed in total; the attribute of each node is represented by a first mark, and the value of the first mark is 0, 1 or 2; if a node is composed of two frozen bits, the node is called a frozen node, and the first mark of the node is 0; if a node is composed of one frozen bit and one information bit, the node is called a mixed node, and the first mark of the node is 1; if a node is composed of two information bits, the node is called an information node, and the first mark of the node is 2. Step S4: the feature of whether the node with the first mark of 2 is branched is represented by a second mark; the value of the second mark D is 0 or 1; for the node with the first mark of 2, the lower value in the reliability measurement of the two bits that form the node is used as the reliability measurement of the node; the nodes with the first mark of 2 are arranged in descending order according to the reliability measurement, and the second mark of the first a nodes is 1; the second mark D of all the remaining nodes is 0. Step S5: N LLRs are subjected to f operation or g operation according to a decoding binary tree layer by layer, and the operation is performed to leaf nodes; each leaf node of the decoding binary tree represents two adjacent bits in the polar code. Step S6: decoding and branch are performed on each leaf node, and the decoding sequence of each leaf node is obtained. For the leaf node with the first mark of 0, the code word (0, 0) of the leaf node is directly obtained, and the path metric (PM) value of the leaf node is updated. For the leaf node with the first mark of 2 and the second mark of 1, the two LLR values L1 and L2 received by the leaf node are subjected to hard decision to obtain a code word (x0, x1); the rule of the hard decision is: x0 = [1-sign(L1)] / 2, x1 = [1-sign(L2)] / 2, wherein sign() is a sign function; if x > 0, sign(x) = 1; if x ≤ 0, sign(x) = -1. For the leaf node with the first mark of 1, two paths are extended on each extended path retained from the previous leaf node, and the PM value of each extended path of the leaf node is updated. For the leaf node with the first mark of 2 and the second mark of 0, four paths are further extended on each extended path retained from the previous leaf node, and the PM value of each extended path of the leaf node is updated.The decoder receives two LLR values at a certain leaf node with the first label being 1 or a certain leaf node with the first label being 2 and the second label being 0, decodes to obtain code word estimation values corresponding to multiple extension paths of the leaf node. According to the code words or code word estimation values of each leaf node, the decoding sequence of each leaf node is obtained; if a certain leaf node has multiple code word estimation values, there are a corresponding number of decoding sequences; the leaf node decoding mapping relationship between the code word or code word estimation value (x0, x1) and the decoding sequence (u0, u1) is that u0 is obtained by performing XOR operation on x0 and x1, and u1=x1. Step S7: After the decoding of all leaf nodes is completed, the complete polar code decoding sequence of multiple extension paths is obtained, and the complete polar code decoding sequence that passes the cyclic redundancy check (CRC) check and has the minimum PM value is taken as the final decoding result.
[0009] Further, in the step S1, the value of α increases as K increases, the value of α increases as N increases, and the value of α increases as SINR increases.
[0010] Further, in the step S1, a table of K, N and α is constructed in advance according to different combinations of K and N, and the value of α is determined in a table lookup manner. Alternatively, a fitting function with K, N and SINR as inputs and α as output is constructed in advance, and the value of α is determined by the function.
[0011] Further, in the step S2, the bit position index i is used to indicate the i th bit in the polar code, and i takes an integer value between 0 and N-1; the bit position index i is represented as a binary number (b n-1 n-2 ,…,b0), where b j represents a binary digit, j takes an integer value between 0 and n-1, and b n-1 must be a binary number 1; the reliability of the i th subchannel of the polar code is calculated according to the polar weight method and is taken as the reliability measure of the i th bit in the polar code.
[0012] Further, in the step S5, the f operation and the g operation are used to update the LLR value of each node of the decoding binary tree. The calculation formula of the f operation is: f(L1, L2) = sign(L1) x sign(L2) x min(|L1|, |L2|); where f() function represents the LLR value obtained after a certain node performs the f operation; L1 and L2 are two LLR values input at the node position; sign() is a sign function; and min() function represents taking the minimum value. The calculation formula of the g operation is: where g() function represents the LLR value obtained after a node performs g operation; L1 and L2 are two LLR values inputted at the node position; u s The decision bit for decoding the left branch of the binary tree is 0 or 1.
[0013] Further, in the step S6, the PM value calculated at the leaf node position follows the successive cancellation list (SCL) decoding algorithm, and the calculation formula is where PM i represents the PM value calculated at a path of the i-th leaf node; PM i-1 represents the PM value calculated at a path reserved from the (i-1)-th leaf node; sign() is a sign function; represents the XOR operation; x0 i and x1 i represent the codeword estimation value at the i-th leaf node; LLR0 and LLR1 represent two LLR values received at the i-th leaf node; the value of i is an integer between 1 and N / 2. For the first leaf node with the first mark of 1, the combination of x0 i and x1 i has two possible values, and therefore PM i also has two calculation values representing two PM values calculated at two extension paths of the leaf node. For the first leaf node with the first mark of 2 and the second mark of 0, the combination of x0 i and x1 i has four possible values, and therefore PM i also has four calculation values representing four PM values calculated at four extension paths of the leaf node.
[0014] Further, in the step S6, the maximum number of decoders simultaneously used by the SCL decoding algorithm is L; when the number of extension paths formed on the basis of the extension paths reserved from the previous leaf node at the first leaf node with the first mark of 1 or at the first leaf node with the first mark of 2 and the second mark of 0 is ≤L, each extension path corresponds to one decoder working simultaneously; when the number of extension paths formed is >L, the PM values of all extension paths of the leaf node are sorted from low to high, and only the PM values of the first L extension paths, the decoding sequences of the first L extension paths, the f operation and g operation results of each node of the decoding binary tree up to the current decoding process are reserved; the remaining extension paths are deleted.
[0015] Further, in the step S7, if there is only one complete polar code decoding sequence passing the CRC check, the complete polar code decoding sequence is taken as the final decoding result; if there are multiple complete polar code decoding sequences passing the CRC check, the one with the minimum PM value is selected from the multiple complete polar code decoding sequences as the final decoding result.
[0016] The application further provides a polar code decoding device for controlling node splitting, comprising a memory, a processor and a computer program stored in the memory; the processor executes the computer program to implement the polar code decoding method for controlling node splitting according to claim 1.
[0017] The application further provides a computer readable storage medium, which stores a computer program; the computer program is executed by a processor to implement the polar code decoding method for controlling node splitting according to claim 1.
[0018] The application achieves the following technical effects: time delay is reduced, decoding performance is improved, and decoding complexity is reduced. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 is a flowchart of the polar code decoding method for controlling node splitting provided by the application.
[0020] Figure 2 is a schematic diagram of an exemplary polar code decoding corresponding to a decoding binary tree.
[0021] Figure 3 is a schematic diagram of the step S6 of the application for controlling the number of extended paths.
[0022] Figure 4 is a schematic diagram of the leaf node decoding mapping relationship between a codeword (x0, x1) and a decoding sequence (u0, u1). DETAILED DESCRIPTION
[0023] Please refer to Figure 1 The polar code decoding method for controlling node splitting provided by the application comprises the following steps.
[0024] Step S1: For information with length K bits, polar code encoding is performed to obtain a polar code with code length N, and N log-likelihood ratios (LLRs) are obtained after transmission and receiving processing. K < N. The code length of the polar code refers to the length of the bit sequence after encoding. The number of non-branch nodes α is set, which is related to the number of information bits K contained in the polar code, the code length N of the polar code, and the signal-to-noise ratio SINR. For a polar code with code length N, there are N positions, each position carries 1 bit. Some positions carry transmitted information, which are called information bits. Some positions do not carry transmitted information, which are called frozen bits. The number of information bits K contained in the N-bit polar code is equal to the length of the bit sequence before polar code encoding.
[0025] The principle of the value of α is that it increases with the increase of the number of information bits K contained in the polar code as a whole, increases with the increase of the code length N of the polar code as a whole, and increases with the increase of the signal-to-noise ratio SINR as a whole. According to the focus of time delay and performance demand in different scenarios, the value of α can be dynamically adjusted. For example, in a scenario focusing on time delay, a table about the number of non-branch nodes α is constructed in advance according to different combinations of the code length N and the number of information bits K of the polar code, and the value of α is determined by table lookup, at this time the value of α is irrelevant to the signal-to-noise ratio SINR. For another example, a fitting function with K, N, SINR as input and α as output is constructed in advance, and the value of α is calculated by the function.
[0026] Step S2: The number of sub-channels of the polar code is the same as the code length N, and each sub-channel corresponds to a bit of the polar code. The reliabilities of the N sub-channels of the polar code are calculated according to the polarization weight (PW) method, and are used as the reliability measure of each bit in the polar code. For a polar code with code length N, the bit position index i is used to indicate the i-th bit in the polar code, and i takes an integer value in the range of 0 to N-1. The bit position index i is expressed as a binary number (b n-1 ,b n-2 ,…,b0), where b j represents a bit of binary, j takes an integer value in the range of 0 to n-1, and b n-1 must be a binary number 1. For example, i = 7, which is expressed as a binary number 111, at this time n = 3, b0 = b1 = b2 = 1. The reliability of the i-th sub-channel of the polar code is calculated according to the polarization weight method , and is used as the reliability measure of the i-th bit in the polar code.
[0027] Step S3: The code length N of the polar code is usually a power of 2, so N is usually even. For a polar code with code length N, two adjacent bits are combined into one node, for example, the bit at i = 0 and the bit at i = 1 are combined into one node, the bit at i = 2 and the bit at i = 3 are combined into one node, …, the bit at i = n-2 and the bit at i = n-1 are combined into one node, a total of N / 2 nodes are formed, where i represents the bit position index. The attribute of each node is represented by a first label C, and the value of the first label C is 0, 1 or 2. If a node is composed of two frozen bits, it is called a frozen node, and the first label of the node is 0. If a node is composed of one frozen bit and one information bit, it is called a mixed node, and the first label of the node is 1. If a node is composed of two information bits, it is called an information node, and the first label of the node is 2.
[0028] Step S4: A second label D is used to represent whether a node with a first label of 2 is split.
[0029] For a node with a first label of 2, the lower value of the reliability metric of the two bits that make up the node is taken as the reliability metric of the node. The nodes with a first label of 2 are arranged in descending order of reliability metric, and the first α nodes with a first label of 2 are selected, and the second label D of these nodes is 1. The nodes with a first label of 0, the nodes with a first label of 1, and the nodes with a first label of 2 but arranged in descending order of reliability metric after the αth node all have a second label D of 0. The value of the second label D is 0 or 1.
[0030] Step S5: The N log-likelihood ratios are subjected to f operation or g operation according to the decoding binary tree layer by layer, and the execution is performed to the leaf nodes.
[0031] The decoding execution process of the polar code can be described by a binary tree structure, which is called a decoding binary tree. Each leaf node of the traditional decoding binary tree represents a bit in the polar code, and each leaf node of the decoding binary tree of the present application represents two adjacent bits in the polar code (i.e. the node in step S3), so the decoding binary tree of the present application is one layer less than the traditional decoding binary tree.
[0032] The f operation and the g operation are decoding operation operations in the decoding process of the polar code, which are used to update the LLR value of each node of the decoding binary tree. The results of the f operation and the g operation are both LLR values.
[0033] The calculation formula of the f operation is: f(L1, L2) = sign(L1) x sign(L2) x min(|L1|, |L2|). Wherein, the f() function represents the LLR value obtained after a certain node performs the f operation. L1 and L2 are two LLR values input by the node position. The sign(x) is a sign function, if x>0, sign(x)=1; if x≤0, sign(x)=-1. The min() function represents the minimum value.
[0034] The calculation formula of the g operation is: Wherein, the g() function represents the LLR value obtained after a certain node performs the g operation. L1 and L2 are two LLR values input by the node position. s is the decision bit of the left branch of the decoding binary tree, and takes the value of 0 or 1.
[0035] Referring to Figure 2 , this is an example of decoding a polar code with K=6, N=16, and a modulation mode of QPSK (Quadrature Phase Shift Keying). Each bit of the polar code is called u0 to u15, respectively, wherein the information bits are u7, u11 to u15. The decoding of the polar code corresponds to a decoding binary tree, and each node has a numerical index of 0 to 14. The colors of the nodes distinguish different types, the black information node represents that the bits contained in its subtree are all information bits, the white frozen node represents that the bits contained in its subtree are all frozen bits, and the gray mixed node represents that the bits contained in its subtree are a combination of information bits and frozen bits. According to the depth-first search method, the f operation or the g operation is performed on each node according to the numerical index of 0 to 14 and the branch f or g indication in the figure.
[0036] Step S6: decoding and path splitting are carried out on each leaf node to obtain the decoding sequence of each leaf node. The leaf nodes are divided into four types and described as follows: the first leaf node with the first mark of 0, the second leaf node with the first mark of 2 and the second mark of 1, the third leaf node with the first mark of 1, and the fourth leaf node with the first mark of 2 and the second mark of 0.
[0037] For the first leaf node with the first mark of 0, no information bit is contained, and no path splitting and decoding processing is needed, and the codeword (0, 0) of the leaf node is directly obtained, and the PM (path metric) value of the leaf node is updated.
[0038] For the second leaf node with the first mark of 2 and the second mark of 1, the hard decision is performed on the two LLR values L1 and L2 received by the leaf node to obtain the codeword (x0, x1). The rule of the hard decision is: x0=[1-sign(L1)]÷2, x1=[1-sign(L2)]÷2, wherein sign() is a sign function.
[0039] For the first label of 1 leaf node, only one information bit is contained, and the value of the information bit has two possibilities of 0 and 1, thus each first label of 1 leaf node extends two paths on each extended path reserved by the previous leaf node, and updates the PM value of each extended path of the leaf node.
[0040] For the first label of 2 and the second label of 0 leaf node, two information bits are contained, and the value of each information bit has two possibilities of 0 and 1, thus each first label of 2 and the second label of 0 leaf node continues to extend four paths on each extended path reserved by the previous leaf node, and updates the PM value of each extended path of the leaf node.
[0041] Each leaf node of the conventional decoding binary tree represents a bit in the polar code, and the PM value at the leaf node position is calculated according to the SCL decoding algorithm, and the calculation formula is wherein, PM i represents the PM value calculated on a certain path of the i-th leaf node; PM i-1 represents the PM value calculated on a certain path reserved by the (i-1)-th leaf node; sign() is a sign function; represents XOR operation; u0 i represents the codeword estimation value of the i-th leaf node; LLR0 represents an LLR value received by the i-th leaf node; the value of i ranges from an integer between 1 and N, and the conventional decoding binary tree has a total of N leaf nodes.
[0042] Each leaf node of the decoding binary tree of the present application represents two adjacent bits in the polar code, and the PM value at the leaf node position also follows the SCL decoding algorithm, and the calculation formula is wherein, PM i represents the PM value calculated on a certain path of the i-th leaf node; PM i-1 represents the PM value calculated on a certain path reserved by the (i-1)-th leaf node; sign() is a sign function; represents XOR operation; x0 i and x1 i represent the codeword estimation value of the i-th leaf node of a certain working decoder; LLR0 and LLR1 represent two LLR values received by the i-th leaf node of a certain working decoder; the value of i ranges from an integer between 1 and N / 2, and the decoding binary tree of the present application has a total of N / 2 leaf nodes. For the first label of 1 leaf node, the combination of x0 i and x1 i has two possible values, thus PM iThere are also 2 calculated values representing 2 PM values calculated by 2 extended paths of the leaf node. For the leaf node with the first label 2 and the second label 0, x0 i and x1 i have 4 possible values, so there are 4 calculated values representing 4 PM values calculated by 4 extended paths of the leaf node. i There are also 4 calculated values representing 4 PM values calculated by 4 extended paths of the leaf node.
[0043] Assuming that the maximum number of decoders used by the SCL decoding algorithm is not limited, each decoder corresponds to an extended path. The decoder receives two LLR values at a certain leaf node with the first label 1 or at a certain leaf node with the first label 2 and the second label 0, decodes to obtain multiple codeword estimation values corresponding to multiple extended paths of the leaf node.
[0044] In practical applications, the maximum number of decoders used by the SCL decoding algorithm is limited, for example, L. When the number of extended paths formed on the basis of the extended paths reserved by the previous leaf node at a certain leaf node with the first label 0 or at a certain leaf node with the first label 1 or at a certain leaf node with the first label 2 and the second label 0 is ≤ L, each extended path corresponds to a decoder working at the same time. When the number of extended paths formed on the basis of the extended paths reserved by the previous leaf node at a certain leaf node with the first label 1 or at a certain leaf node with the first label 2 and the second label 0 is > L, the PM values of all the extended paths of the leaf node are sorted from low to high, and only the PM values of the first L extended paths, the decoding sequences of the first L extended paths, the f operation and g operation results of each node of the decoding binary tree up to the current decoding process are reserved for the decoding process of the subsequent leaf node. The remaining extended paths are deleted and no longer participate in the decoding process of the subsequent leaf node.
[0045] For example, the first leaf node has the first label 1 and has 2 extended paths; the second leaf node also has the first label 1, so there are 2 extended paths on the basis of each extended path of the first leaf node, and a total of 2x2=4 extended paths are formed. At this time, whether to delete part of the extended paths is determined according to the value of L.
[0046] For example, the first leaf node has the first label 1 and has 2 extended paths; the second leaf node also has the first label 1, so there are 2 extended paths on the basis of each extended path of the first leaf node, and a total of 2x2=4 extended paths are formed. At this time, whether to delete part of the extended paths is determined according to the value of L.
[0047] For example, the first leaf node has first label 2 and second label 0, there are 4 extended paths; the second leaf node has first label 0, so no further splitting is performed on each of the extended paths of the first leaf node, resulting in 4 x 1 = 4 extended paths in total. Then, according to the value of L, some of the extended paths are deleted.
[0048] For the leaf node with first label 1, or the leaf node with first label 2 and second label 0, only the case where the number of the reduced extended paths is less than or equal to L is considered. Each decoder corresponds to one of the remaining paths. Each decoder receives two LLR values at a certain leaf node with first label 1, or a certain leaf node with first label 2 and second label 0, and decodes to obtain the codeword estimate of one of the remaining extended paths of the leaf node. For the same leaf node with first label 1, or first label 2 and second label 0, there can be multiple (e.g., X) decoders simultaneously decoding to obtain multiple (X) codeword estimates corresponding to multiple (X) remaining extended paths of the leaf node.
[0049] Referring to Figure 3 , an example of controlling the number of extended paths is shown. Figure 2 Figure 3 In, the black filled circles represent candidate paths, the oblique line filled circles represent deleted paths, the solid lines between the circles represent the optimal paths determined, and the dashed lines between the circles represent the suboptimal paths determined. For example, the list length L (i.e., the maximum number of decoders used simultaneously) is 4, and the second labels D of the leaf nodes 7, 11, and 13 are all 0, and the second label D of the leaf node 14 is 1. Figure 2 The polar code sequence u0 to u15 shown is decoded into leaf nodes, and there are 4 leaf nodes (with index numbers 7, 11, 13, and 14) containing information bits. The decoding process is shown in Figure 3 from the second layer to the fifth layer.
[0050] First, in the second layer of Figure 3 , the leaf node 7 (a mixed node) is the first leaf node with first label 1, or first label 2 and second label 0, and directly extends 2 paths, resulting in 2 extended paths.
[0051] Subsequently, in the third layer of Figure 3 , the leaf node 11 (a mixed node) further extends 2 paths on the basis of each of the extended paths of the leaf node 7, resulting in 2 x 2 = 4 extended paths.
[0052] Subsequently, in the fourth layer of Figure 3In the fourth layer, based on each extended path of leaf node 11, leaf node 13 (information node) further extends into 4 paths, forming a total of 4 × 4 = 16 extended paths. At this point, the total number of extended paths, 16, is greater than L. The extended paths are sorted and filtered according to their PM values, retaining only the top L paths with the smallest PM values and saving their respective stored information, while the remaining extended paths are deleted. Therefore... Figure 3 The fourth layer retains only the four extension paths with the lowest PM values.
[0053] Finally, Figure 3 In the fifth layer, based on the four extended paths retained by leaf node 13, leaf node 14 (information node) does not need to extend paths and uses a hard decision method to obtain the codeword.
[0054] Of the four types of leaf nodes mentioned above, two types yield codewords, and the other two yield codeword estimates. Based on the codewords or codeword estimates of each leaf node, a decoding sequence is obtained for each leaf node. If a leaf node has multiple codeword estimates, then there are a corresponding number of decoding sequences. The codeword or codeword estimate (x0, x1) is the bit value generated during the intermediate decoding process; the decoding sequence (u0, u1) is the final output result; the following leaf node decoding mapping relationship exists between them: When the codeword or codeword estimate is (0, 0), the decoding sequence is (0, 0). When the codeword or codeword estimate is (1, 1), the decoding sequence is (0, 1). When the codeword or codeword estimate is (1, 0), the decoding sequence is (1, 0). When the codeword or codeword estimate is (0, 1), the decoding sequence is (1, 1). Figure 4 This represents the leaf node decoding mapping relationship between the codeword or codeword estimate (x0, x1) and the decoding sequence (u0, u1). x0 and x1 are XORed to obtain u0, and u1 = x1.
[0055] Step S7: After decoding is completed at the last leaf node, the complete polar code decoding sequences representing the extended paths of each working decoder are obtained. These complete polar code decoding sequences are then subjected to CRC verification. If only one complete polar code decoding sequence passes the CRC check, this sequence is taken as the final decoding result. If multiple complete polar code decoding sequences pass the CRC check, the sequence with the smallest PM value is selected as the final decoding result.
[0056] This application also provides a computer-readable storage medium storing a computer program, which is implemented when executed by a processor. Figure 1 The polar code decoding method for control node path splitting is shown.
[0057] The application further provides a control node branch polar code decoding device, comprising a memory, a processor and a computer program stored in the memory. Figure 1 The control node branch polar code decoding method is shown.
[0058] Compared with the CA-SCL decoding algorithm, the polar code decoding method has the following beneficial effects.
[0059] First, the application directly decodes the leaf nodes (two consecutive bits) and effectively reduces the time delay compared with the CA-SCL decoding algorithm which decodes the bits one by one.
[0060] Second, the polar code decoding algorithm directly obtains the codeword without expanding the path for the leaf node with the first label 0 and the leaf node with the first label 2 and the second label 1. The decoding operation of controlling the path expansion under the specific condition can further reduce the time delay. The non-branching under the specific condition can effectively suppress the quantization error in the fixed-point operation, reduce the competition between the error path and the effective path, make the effective path not easily excluded in the path screening, and improve the overall decoding performance. Since the sorting and storage copying operations are omitted under the specific condition, the decoding complexity is also reduced.
[0061] Third, the application can combine different information bit numbers K and code lengths N, and optionally combine the signal-to-noise ratio SINR, adjust the number of nodes α of non-branching according to the time delay and performance requirements in different scenarios, and has wide adaptability.
[0062] The above is only a preferred embodiment of the application and is not used to limit the application. The application can have various changes and variations for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principles of the application shall be included in the protection scope of the application.
Claims
1. A polar code decoding method for controlling node path splitting, characterized in that, The method comprises the following steps; Step S1: for information with a length of K bits, polar code encoding is performed to obtain a polar code with a code length of N, N log-likelihood ratios (LLRs) are obtained after transmission and receiving processing, K < N; a number of non-branching nodes α is set, which is related to the number of information bits K, the code length N of the polar code and the signal-to-noise ratio (SINR); Step S2: the reliabilities of N sub-channels of the polar code are calculated according to the polar weight method, and are used as the reliability metrics of each bit in the polar code; Step S3: two adjacent bits are combined into one node, and N / 2 nodes are formed in total; A first mark is used to represent the attribute of each node, and the value of the first mark is 0, 1 or 2; if a node is composed of two frozen bits, it is called a frozen node, and the first mark of the node is 0; if a node is composed of one frozen bit and one information bit, it is called a mixed node, and the first mark of the node is 1; if a node is composed of two information bits, it is called an information node, and the first mark of the node is 2; Step S4: a second mark is used to represent the feature of whether a node with the first mark of 2 branches; The value of the second mark D is 0 or 1; for a node with the first mark of 2, the lower value of the reliability metrics of the two bits that constitute the node is used as the reliability metric of the node; the nodes with the first mark of 2 are arranged in descending order according to the reliability metrics, and the second mark of the first α nodes is 1; the second mark D of all the remaining nodes is 0; Step S5: N LLRs are subjected to f operation or g operation according to a decoding binary tree layer by layer, and execution is performed to leaf nodes; each leaf node of the decoding binary tree represents two adjacent bits in the polar code; Step S6: decoding and branching are performed on each leaf node to obtain a decoding sequence of each leaf node; for a leaf node with the first mark of 0, the code word (0, 0) of the leaf node is directly obtained, and the path metric (PM) value of the leaf node is updated; for a leaf node with the first mark of 2 and the second mark of 1, hard decision is performed on two LLR values L1 and L2 received by the leaf node to obtain a code word (x0, x1); the rule of the hard decision is: x0 = [1-sign(L1)] ÷ 2, x1 = [1-sign(L2)] ÷ 2, wherein sign() is a sign function; if x > 0, sign(x) = 1; if x ≤ 0, sign(x) = -1; for a leaf node with the first mark of 1, two paths are extended on each extended path retained by a previous leaf node, and the PM value of each extended path of the leaf node is updated; for a leaf node with the first mark of 2 and the second mark of 0, four paths are further extended on each extended path retained by a previous leaf node, and the PM value of each extended path of the leaf node is updated; the decoder receives two LLR values at a leaf node with the first mark of 1 or a leaf node with the first mark of 2 and the second mark of 0, and performs decoding to obtain multiple code word estimation values corresponding to multiple extended paths of the leaf node; According to the code word or code word estimation value of each leaf node, a decoding sequence of each leaf node is obtained; if a leaf node has multiple code word estimation values, there are a corresponding number of decoding sequences; the leaf node decoding mapping relationship between the code word or code word estimation value (x0, x1) and the decoding sequence (u0, u1) is: u0 is obtained by performing XOR operation on x0 and x1, and u1=x1; Step S7: After all the leaf nodes complete decoding, complete polar code decoding sequences of multiple extension paths are obtained, and a complete polar code decoding sequence that passes CRC check and has the minimum PM value is taken as the final decoding result.
2. The method of claim 1, wherein the method is performed by a control node. In the step S1, the value of α increases as K increases, the value of α increases as N increases, and the value of α increases as SINR increases.
3. The method of claim 1, wherein the method further comprises: In the step S1, a table of K, N and α is constructed in advance according to different combinations of K and N, and the value of α is determined in a table lookup manner. Alternatively, a fitting function with K, N, SINR as input and α as output is constructed in advance, and the value of α is determined by the function.
4. The method of claim 1, wherein the method further comprises: In step S2, the bit position index i is used to indicate the i-th bit in the polar code, and the value of i is an integer between 0 and N-1; the bit position index i is represented as a binary number (b n-1 ,b n-2 ,…,b0), where b j Representing a single binary digit, j takes the value of an integer between 0 and n-1, b n-1 It must be a binary number 1; calculate the reliability of the i-th sub-channel of the polar code using the polarization weighting method. And it serves as a reliability measure for the i-th bit in the polar code.
5. The method of claim 1, wherein the method further comprises: In the step S5, the f operation and the g operation are used to update the LLR value of each node of the decoding binary tree. The calculation formula of the f operation is: f(L1, L2) = sign(L1) * sign(L2) * min(|L1|, |L2|); wherein, the f() function represents the LLR value obtained after a node performs the f operation; L1 and L2 are two LLR values input at the position of the node; the sign() is a sign function; and the min() function represents taking the minimum value. The calculation formula of the g operation is: Wherein, the g() function represents the LLR value obtained after a node performs the g operation; L1 and L2 are two LLR values input by the node position; u s is the decision bit of the left branch of the decoding binary tree, and takes the value of 0 or 1.
6. The method of claim 1, wherein the method further comprises: The step S6 is to calculate the PM value at the leaf node position, which follows a successive cancellation list (SCL) decoding algorithm, and the calculation formula is wherein, PM i represents the PM value calculated at a certain path of the i-th leaf node; PM i-1 represents the PM value calculated at a certain path of the (i-1)-th leaf node; sign() is a sign function; represents an exclusive or operation; x0 i and x1 i represent the codeword estimation value at the i-th leaf node; LLR0 and LLR1 represent two LLR values received at the i-th leaf node; i is an integer ranging from 1 to N / 2. For the first leaf node with label 1, the combination of x0 i and x1 i has two possible values, so the PM i also has 2 computed values representing the two PM values computed on the two extended paths of this leaf node; For the leaf node with the first label 2 and the second label 0, the combination of x0 i and x1 i has four possible values, so the PM i also has 4 computed values representing the four PM values computed at the four extended paths of this leaf node.
7. The method of claim 1, wherein the method further comprises: In the step S6, the maximum number of decoders used by the SCL decoding algorithm at the same time is L; when at a certain leaf node with the first flag being 1, or at a certain leaf node with the first flag being 2 and the second flag being 0, the number of extension paths formed based on the extension paths of the previous leaf node reserved before the superposition is ≤L, each extension path corresponds to a decoder working at the same time; and when the number of extension paths formed is >L, the PM values of all extension paths of the leaf node are sorted from low to high, only the PM values of the first L extension paths, the decoding sequences of the first L extension paths, and the f operation and g operation results of each node of the decoding binary tree up to the current decoding process are reserved; and the remaining extension paths are deleted.
8. The method of claim 1, wherein, In the step S7, if there is only one complete polar code decoding sequence that passes CRC check, the complete polar code decoding sequence is taken as the final decoding result. If there are multiple complete polar code decoding sequences that pass CRC check, the one with the minimum PM value is selected from the multiple complete polar code decoding sequences as the final decoding result.
9. A polar code decoding device of a controlling node split, comprising a memory, a processor and a computer program stored on the memory; characterized in that, The processor executes the computer program to implement the polar code decoding method of the control node split path according to claim 1.
10. A computer readable storage medium, the computer readable storage medium storing a computer program; characterized in that, The computer program is executed by the processor to implement the polar code decoding method of the control node split path according to claim 1.