Polar code successive cancellation list decoding method based on special node dynamic flipping
By constructing a special set of nodes and calculating the flip metric in polar code decoding, fast continuous cancellation list decoding of polar codes is realized, solving the decoding performance and complexity problems and significantly reducing decoding latency and frame error rate.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG UNIV
- Filing Date
- 2023-05-30
- Publication Date
- 2026-07-03
AI Technical Summary
Existing polar codes suffer from high computational complexity and error propagation issues when decoding with finite code lengths, which affect error correction performance.
A fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes is adopted. By constructing a set of special nodes, calculating the flipping metric of the flipped element, and constructing and selecting higher-order flipped elements, the decoding latency and complexity are reduced.
It effectively reduces the decoding latency and complexity of the D-SCLF algorithm, improves decoding performance, and significantly reduces the frame error rate, especially under high signal-to-noise ratio conditions.
Smart Images

Figure CN116707548B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of wireless communication technology. Background Technology
[0002] Polar codes, as the only channel coding scheme theoretically proven to achieve Shannon capacity, have received widespread attention from academia and industry in recent years. The native Successive Cancellation (SC) decoding algorithm for polar codes can effectively utilize the channel polarization effect and has good error correction performance. However, due to the serial nature of the SC decoding algorithm, it suffers from high computational complexity. Furthermore, with finite code lengths, incomplete channel polarization leads to decoding errors and error propagation, resulting in performance degradation.
[0003] To improve decoding performance under finite code lengths, Successive Cancellation List (SCL) and Successive Cancellation Flip (SC-Flip) based on bit flipping have been proposed. The former selects the globally optimal decoding result by maintaining L paths with the highest decoding success rate in real time, while the latter blocks error propagation by flipping specific erroneous bits based on SC decoding errors. Both algorithms effectively improve the decoding performance of polar codes. Building on this, Dynamic Successive Cancellation List Flip (D-SCLF) based on dynamic bit flipping was proposed. This algorithm combines SCL and SC-Flip and introduces a processing method for higher-order bit flips, further optimizing error correction performance.
[0004] In terms of simplifying computation, the mainstream idea is to deploy parallel decoders at the intermediate nodes of the SC decoding tree until an estimated codeword containing multiple bits is obtained. Based on this idea, in recent years, Fast Successive Cancellation (Fast-SC) decoding algorithms and Fast Successive Cancellation List (Fast-SCL) decoding algorithms based on various special nodes have been proposed, effectively reducing the computational complexity of the decoder. Summary of the Invention
[0005] The present invention aims to at least partially solve one of the technical problems in the related art.
[0006] Therefore, the purpose of this invention is to propose a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes, which can realize dynamic bit flipping on a unit of node codewords, thereby reducing the decoding delay and complexity of the D-SCLF algorithm.
[0007] To achieve the above objectives, a first aspect of the present invention proposes a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes, comprising:
[0008] S1: The polar code received sequence is decoded using the fast continuous cancellation list decoding algorithm. It is determined whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step.
[0009] S2: Construct a set of special nodes according to the position distribution of the polar code sequence based on the frozen bits and information bits. Calculate the flip metric value of the first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of the special node. Construct finite sets of flip elements and flip metrics respectively.
[0010] S3: Flip the flipped element with the largest metric value in the finite set, and decode it again using the fast continuous cancellation list decoding algorithm. Select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step.
[0011] S4: Connect the current flip element with other flip elements in the finite set except the current flip element to construct a higher-order flip element, and calculate the metric value of all higher-order flip elements according to the type of the special node. Insert the metric values into the finite set according to the size of the metric values to construct a new flip element and flip metric set.
[0012] S5: Repeat the process of S3-S4 until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
[0013] In addition, the polar code fast continuous cancellation list decoding method based on special node dynamic flipping according to the above embodiments of the present invention may also have the following additional technical features:
[0014] Furthermore, in one embodiment of the present invention, the process of decoding the polar code received sequence using a fast successive cancellation list decoding algorithm includes:
[0015] The upper-level node calculates the log-likelihood ratio sequence and passes it to the lower-level node. The lower-level node determines the codeword sequence based on the log-likelihood ratio information and returns it to the upper-level node.
[0016] When decoding reaches the level of special nodes, the codeword at the special node is determined based on the type of the special node and the log-likelihood ratio sequence of the special node, and then returned to the upper-level node.
[0017] During the code word judgment process, the L paths with the highest decoding success rate are selected and retained in real time.
[0018] Repeat the above process until the last special node is decoded.
[0019] Furthermore, in one embodiment of the present invention, the special node is a node with special information and a frozen bit distribution pattern, located in the middle layer of the decoding tree in the continuous cancellation list decoding algorithm, and can directly achieve maximum likelihood codeword estimation at the node level.
[0020] Furthermore, in one embodiment of the present invention, the type of the special node includes:
[0021] Rate-0: All bits are frozen bits;
[0022] Rate-1: All bits are information bits;
[0023] REP: The last bit is the information bit, and the rest are freeze bits;
[0024] SPC: The first bit is the freeze bit, and the rest are information bits;
[0025] Type I: The last two bits are information bits, and the rest are freeze bits;
[0026] Type II: The last three bits are information bits, and the rest are freeze bits;
[0027] Type III: The first two bits are frozen bits, and the rest are information bits;
[0028] Type IV: The first three bits are frozen bits, and the rest are information bits;
[0029] Type V: The last three bits and the fifth bit from the end are information bits, and the rest are frozen bits.
[0030] Furthermore, in one embodiment of the present invention, the flip element is a set of codewords that flips the decision value during the decoding process instead of following the maximum likelihood decision result. The number of codewords contained in the flip element is defined as the order of the flip element. The flip metric refers to the probability of obtaining the correct decoding result after flipping the flip element. A flip element with a larger flip metric has a higher priority.
[0031] If the flipped element belongs to a special node, the flip metric is calculated using the metric calculation method corresponding to the node.
[0032] If the flip element belongs to a general structure, the flip metric is calculated using the traditional dynamic flip serial cancellation list decoding algorithm.
[0033] Furthermore, in one embodiment of the present invention, constructing the new set of flip elements and flip metrics includes:
[0034] If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics.
[0035] If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
[0036] To achieve the above objectives, a second aspect of the present invention provides a fast continuous cancellation list decoding device for polar codes based on dynamic flipping of special nodes, comprising the following modules:
[0037] The first judgment module is used to decode the polar code received sequence using the fast continuous cancellation list decoding algorithm, and to determine whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, the subsequent steps are performed.
[0038] The first construction module is used to construct a set of special nodes according to the positional distribution of the polar code sequence based on the frozen bits and information bits, calculate the flip metric value of the internal first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of the special node, and construct a finite set of flip elements and flip metrics respectively.
[0039] The second judgment module is used to flip the flipped element with the largest metric value in the finite set, re-decode using the fast continuous cancellation list decoding algorithm, select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, the subsequent steps are performed.
[0040] The second construction module connects the current flip element with other flip elements in the finite set except the current flip element to construct higher-order flip elements, and calculates the metric values of all higher-order flip elements according to the type of the special node, inserts them into the finite set according to the size of the metric values, and constructs a new flip element and flip metric set.
[0041] The loop module is used to repeat the process of the second judgment module and the second construction module until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
[0042] Furthermore, in one embodiment of the present invention, the second building module is further configured to:
[0043] If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics.
[0044] If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
[0045] To achieve the above objectives, a third aspect of the present invention provides a computer device, characterized in that it includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described above.
[0046] To achieve the above objectives, a fourth aspect of the present invention provides a computer-readable storage medium storing a computer program thereon, characterized in that, when the computer program is executed by a processor, it implements a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described above.
[0047] The fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes proposed in this invention fully utilizes the advantages of parallel processing of special nodes, elevating the estimation results of the D-SCLF decoder from the bit level to the node codeword level. By measuring and calculating the flipped elements at the special node level, dynamic bit flipping at the node codeword level can be achieved, thereby greatly reducing the decoding latency and complexity of the D-SCLF algorithm. Attached Figure Description
[0048] Figure 1 This is a flowchart illustrating a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes, provided in an embodiment of the present invention.
[0049] Figure 2This is a schematic diagram of the structure of the flipped element set in the Fast-D-SCLF decoding algorithm provided in this embodiment of the invention;
[0050] Figure 3 The frame error rate (FER) curves of the Fast-CA-SCL decoder, D-SCLF decoder and Fast-D-SCLF decoder provided in the embodiments of the present invention under an additive Gaussian noise channel.
[0051] Figure 4 This is a comparison chart of the average decoding delay of the Fast-CA-SCL decoder, D-SCLF decoder, and Fast-D-SCLF decoder provided in the embodiments of the present invention.
[0052] Figure 5 This is a schematic diagram of the fast continuous cancellation list decoding device for polar codes based on dynamic flipping of special nodes, provided in an embodiment of the present invention. Detailed Implementation
[0053] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.
[0054] The following describes, with reference to the accompanying drawings, a fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes according to an embodiment of the present invention.
[0055] Example 1
[0056] like Figure 1 As shown, the fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes includes the following steps:
[0057] S1: Decode the polar code received sequence using the fast continuous cancellation list decoding algorithm, and determine whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step.
[0058] For ease of explanation, we define the w-th order flip element as ∈ w FSCL(∈ w ) indicates the use of the flipped element ∈ w An attempt at Fast-SCL decoding, PM[∈ w ]、L[∈ w ]、R[∈ w ] and D[∈ w ] respectively represent FSCL(∈ wThe path metric list, path list, survival path list, and elimination path list are all under this category.
[0059] Furthermore, in one embodiment of the present invention, the process of decoding the polar code received sequence using a fast successive cancellation list decoding algorithm includes:
[0060] The upper-level node calculates the log-likelihood ratio sequence and passes it to the lower-level node. The lower-level node determines the codeword sequence based on the log-likelihood ratio information and returns it to the upper-level node.
[0061] When decoding reaches the level of special nodes, the codeword at the special node is determined based on the type of the special node and the log-likelihood ratio sequence of the special node, and then returned to the upper-level node.
[0062] During the code word judgment process, the L paths with the highest decoding success rate are selected and retained in real time.
[0063] Repeat the above process until the last special node is decoded.
[0064] In S1, the fast continuous cancellation list decoder used is an improved SCL decoder with CRC assistance. Specifically, at the encoder, the information bits first pass through the CRC encoder, and the resulting r CRC check bits are concatenated to the original information bits to construct the CRC concatenated polar code. At the decoder, after decoding is completed, the L paths of the SCL decoder are output to the CRC monitor. Paths that can pass the CRC check are considered to be correct decoding results. If all paths fail the CRC check, it indicates that there is an error.
[0065] S2: Construct a set of special nodes according to the positional distribution of frozen bits and information bits in the polar code sequence. Calculate the flip metric value of the first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of special node. Construct finite sets of flip elements and flip metrics respectively.
[0066] Furthermore, in one embodiment of the present invention, the process of decoding the polar code received sequence using a fast successive cancellation list decoding algorithm includes:
[0067] The upper-level node calculates the log-likelihood ratio sequence and passes it to the lower-level node. The lower-level node determines the codeword sequence based on the log-likelihood ratio information and returns it to the upper-level node.
[0068] When decoding reaches the level of special nodes, the codeword at the special node is determined based on the type of the special node and the log-likelihood ratio sequence of the special node, and then returned to the upper-level node.
[0069] During the code word judgment process, the L paths with the highest decoding success rate are selected and retained in real time.
[0070] Repeat the above process until the last special node is decoded.
[0071] Furthermore, in one embodiment of the present invention, special nodes are certain nodes with special information and frozen bit distribution patterns, located in the middle layer of the decoding tree in the continuous cancellation list decoding algorithm, and can directly achieve maximum likelihood codeword estimation at the node level.
[0072] Furthermore, in one embodiment of the present invention, the types of special nodes include:
[0073] Rate-0: All bits are frozen bits;
[0074] Rate-1: All bits are information bits;
[0075] REP: The last bit is the information bit, and the rest are freeze bits;
[0076] SPC: The first bit is the freeze bit, and the rest are information bits;
[0077] Type I: The last two bits are information bits, and the rest are freeze bits;
[0078] Type II: The last three bits are information bits, and the rest are freeze bits;
[0079] Type III: The first two bits are frozen bits, and the rest are information bits;
[0080] Type IV: The first three bits are frozen bits, and the rest are information bits;
[0081] Type V: The last three bits and the fifth bit from the end are information bits, and the rest are frozen bits.
[0082] The special node types described in S2 include nine types: Rate-0, Rate-1, Rep, SPC, Type I, Type II, Type III, Type IV, and Type V. The decoding methods for these special nodes are all mentioned in the Fast-SCL decoding algorithm. The PM calculation process at the special nodes in this invention is the same as the process in Fast-SCL decoding.
[0083] In S2, a flipped element is a set of codewords that does not follow the maximum likelihood decision result during decoding, but instead flips the decision value. The number of codewords contained in a flipped element is defined as the order of the flipped element, as follows.
[0084] For ease of description, let j be the index of the special node (the index of the first bit it contains), and E be the step size required to decode the node using Fast-SCL. The decoding steps of a special node can then be represented by coordinates {j, i}, where 1 ≤ i ≤ E. Bit flips may occur during the decoding steps of each special node. If a bit flip occurs, a shift pruning strategy is needed to select L new living paths. The shift offset during path selection is defined as k.
[0085] Therefore, a special node-level flip element will mainly contain three elements: the special node index where the flip element is located, the special node decoding step where the flip element is located, and the shift offset selected during path selection in that step. In summary, a special node-level w-order flip element can be represented by ∈ w ={(j1,i1,k1),(j2,i2,k2),...,(j w i w k w Let )} represent the expression, where j1≤…≤j w , 1≤k1,...,k w ≤(D-1)L, where D is the total number of paths generated in the decoding step of a special node, which depends on the type of the specific special node.
[0086] In S2, the flip metric refers to the probability of obtaining the correct decoding result after flipping the flipped element. Flipped elements with a larger flip metric have higher priority, and the calculation method is as follows. Based on the different decoding processes of special nodes, special nodes can be divided into two categories, each with a different flip metric calculation method.
[0087] 1)Rate-0, REP, Type I, Type II, Type V nodes
[0088] By definition, the fast decoding process for this type of node requires 1 step, and each node contains d = {0, 1, 2, 3, 4} information bits. Assuming there are L paths before decoding the current node, this step of decoding the current node yields a total of DL paths, where D = 2^35. dIf a flip event occurs in the current step, L paths are selected as survival paths based on the position offset k. Therefore, the first-order flip element inside this special type of node can be represented as ∈=(j,1,k), where k=L,2L,...(D-1)L. Since Rate-0 nodes do not contain information bits, bit flipping strategies are not applied, and there are no flip elements inside them. For REP, Type I, Type II, and Type V nodes, they contain d={1,2,3,4} flip elements respectively. The flip metric for these flip elements is calculated as follows:
[0089]
[0090] 2) Rate-1, SPC, Type III, and Type IV nodes
[0091] The Fast-SCL decoding algorithm for this type of node is based on the spherical decoding algorithm, and its fast decoding requires E steps. Assuming there are L paths before the current node, a total of 2L paths can be obtained in each estimation step (1 ≤ i ≤ E). If a flip event occurs in the current step, the L paths with the largest PM values are taken as the surviving paths. Therefore, the first-order flip element inside this special type of node can be represented as ∈=(j, i, L), where i=1,2,...,E. Each special node contains E flip elements, and the flip metric corresponding to these flip elements is calculated as follows:
[0092]
[0093] Here, the exit condition for recursive computation is defined as M(∈0)=1, PM[∈0] {j,i},l =PM[φ] {j,i},l This is derived from the initial FSCL decoding attempt FSCL(φ).
[0094] In S2, considering storage overhead and algorithm complexity, a maximum number of flip attempts T is set during the calculation of the flip metric. If the initial FSCL(φ) decoding attempt fails, the algorithm will attempt at most T number of node codeword flips in the FSCL(∈). w The decoding process is performed, therefore the maximum number of elements in both the flipped element set S and the flipped metric set M is set to T. After the flipped metrics of all flipped elements have been calculated, sets S and M need to be sorted in descending order according to the value of set M, and the first T elements in each set should be retained.
[0095] S3: Flip the flipped element with the largest metric value in the finite set, decode it again using the fast continuous cancellation list decoding algorithm, select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step.
[0096] Furthermore, in one embodiment of the present invention, a flip element is a set of codewords that flips the decision value during the decoding process instead of following the maximum likelihood decision result. The number of codewords contained in a flip element is defined as the order of the flip element. The flip metric refers to the probability of obtaining the correct decoding result after flipping the flip element. A flip element with a larger flip metric has a higher priority.
[0097] If the flipped element belongs to a special node, the flip metric is calculated using the metric calculation method corresponding to the node.
[0098] If the flip element belongs to a general structure, the flip metric is calculated using the traditional dynamic flip serial cancellation list decoding algorithm.
[0099] In S2, the first element is taken from the sorted set S as the current attempt FSCL(∈ w The codeword in the decoding step indicated by the flipped element is flipped again during the FSCL decoding process. After a flip event occurs, it means that the maximum likelihood decoding result was not adopted, and the retained path is no longer the optimal path under maximum likelihood decoding. Therefore, the path pruning function for this step will change, specifically as follows:
[0100] 1) Rate-0, REP, Type I, Type II, and Type V nodes are
[0101]
[0102] Among them, h0(L {j,1} ) represents selecting the L paths with the smallest path metric PM value from all paths, h k (L {j,1} This indicates that after sorting all paths in ascending order by their path metric PM value, the (k+1)th to (k+L)th paths are selected, defined as follows:
[0103]
[0104]
[0105] 2) Rate-1, SPC, Type III, and Type IV nodes are
[0106]
[0107] Among them, h0(L {j,i} ) represents selecting the L paths with the smallest path metric PM value from all paths, h L (L {j,i} This means that after sorting all paths in ascending order of their path metric PM value, the (L+1)th to 2Lth paths are selected. Since this type of node only splits into 2L paths at each step, it can also be equivalent to selecting the L paths with the highest PM values. Its definition is...
[0108]
[0109]
[0110] S4: Connect the current flipped element with all other flipped elements in the finite set except the current flipped element to construct higher-order flipped elements. Calculate the metric values of all higher-order flipped elements according to the type of the special node, and insert them into the finite set according to the size of the metric values to construct a new flipped element and a flipped metric set.
[0111] Furthermore, in one embodiment of the present invention, constructing a new set of flip elements and flip metrics includes:
[0112] If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics.
[0113] If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
[0114] S5: Repeat the process of S3-S4 until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
[0115] Example 2
[0116] Considering signal transmission in an additive Gaussian noise channel, the modulation method is binary phase shift keying (BPSK), and the polar code C1 with a 16-bit CRC concatenation pattern of [256, 64] is considered. The proposed fast continuous cancellation decoding method for polar codes based on dynamic flipping of special nodes includes the following steps:
[0117] S201: Construct a special node set {j1, j2, ..., j...} based on the positional distribution of the frozen bits and information bits in the received 256-code-length polar code sequence. w The special node types include: Rate-0, Rate-1, Rep, SPC, Type I, Type II, Type III, Type IV, and Type V. Using special nodes as units, the Fast Continuous Cancellation Decoding (FSCL) algorithm is used to decode the received sequence, obtaining the decoder's survival path list R[φ] and path metric list PM[φ], i.e.:
[0118] (R[φ],PM[φ])←SCL[φ]
[0119] After decoding is complete, the L live paths R[φ] of the FSCL decoder are output to the CRC detector. If any path can pass the CRC check, it means that the path is decoded correctly, the algorithm ends, and the decoding result of the current path is output; if all paths fail the CRC check, the subsequent flip decoding step is performed.
[0120] S202: Construct an initial set of flipped elements S = {φ} and a set of flipped metrics M = {φ}. Iterate through the set of special nodes {j1, j2, ..., j}. w}, and find the first-order flip element ∈ within the current special node j according to its node type, and calculate the corresponding flip metric M[∈]. The specific calculation method includes:
[0121] If the current node j is a Rate-0, REP, Type I, Type II, or Type V node, by definition, the fast decoding process for this type of node requires 1 step, and each node contains d = {0, 1, 2, 3, 4} information bits. Assuming there are L paths before decoding the current node, this step of decoding the current node can yield a total of DL paths, where D = 2^k. d If a flip event occurs in the current step, L paths are selected as survival paths based on the position offset k. Therefore, the first-order flip element inside this special type of node can be represented as ∈=(j,1,k), where k=L,2L,...(D-1)L. Since Rate-0 nodes do not contain information bits, bit flipping strategies are not applied, and there are no flip elements inside them. For REP, Type I, Type II, and Type V nodes, they contain d={1,2,3,4} flip elements respectively. The flip metric for these flip elements is calculated as follows:
[0122]
[0123] If the current node j is a Rate-1, SPC, Type III, or Type IV node, the Fast-SCL decoding algorithm for this type of node is based on the spherical decoding algorithm, and its fast decoding requires E steps. Assuming there are L paths before decoding the current node, a total of 2L paths can be obtained in each estimation step of the algorithm (1 ≤ i ≤ E). If a flip event occurs in the current step, the L paths with the largest PM values are taken as the surviving paths. Therefore, the first-order flip element inside this special type of node can be represented as ∈=(j, i, L), where i=1,2,...,E. Each special node contains E flip elements, and the flip metric corresponding to these flip elements is calculated as follows:
[0124]
[0125] Wherein, the exit point M(∈0) for recursive computation is defined as 1. This is derived from the initial FSCL decoding attempt FSCL(φ).
[0126] After traversing all special nodes, the flip elements ∈ and flip measures M(∈) within these special nodes are inserted into the flip element set S and the flip measure set M, respectively. Sets S and M are then sorted in descending order based on the size of the flip measures M(∈). Based on the predetermined maximum number of flip attempts T, only the first T elements in the sets are retained, i.e.:
[0127] I←sort i ndex(M)
[0128] S = S(I(1:T))
[0129] M = M(I(1:T))
[0130] S203: Take the first element ∈ from set S. w As the current attempt FSCL(∈ w The codewords in the decoding step indicated by the flipped element are flipped again during this decoding process. After a flip event occurs, it means that the maximum likelihood decoding result was not adopted, and the retained path is no longer the optimal path under maximum likelihood decoding. Therefore, the path pruning function for this step will change, specifically as follows:
[0131] If the current node is a Rate-0, REP, Type I, Type II, or Type V node, then:
[0132]
[0133] Among them, h0(L {j,1}) represents selecting the L paths with the smallest path metric PM value from all paths, h k (L {j,1} This indicates that after sorting all paths in ascending order by their path metric PM value, the (k+1)th to (k+L)th paths are selected. It is defined as follows:
[0134]
[0135]
[0136] If the current node is a Rate-1, SPC, Type III, or Type IV node, then:
[0137]
[0138] Among them, h0(L {j,i} ) represents selecting the L paths with the smallest path metric PM value from all paths, h L (L {j,i} This means that after sorting all paths in ascending order of their path metric PM value, the (L+1)th to 2Lth paths are selected. Since each step of this type of node only splits into 2L paths, it can also be equivalent to selecting the L paths with the highest PM values. Its definition is:
[0139]
[0140]
[0141] After the current decoding is completed, FSCL(∈) can also be obtained. w List of survival paths R[∈] under decoding attempts w ] and path metric list PM[∈ w After decoding, the L live paths R[∈] of the FSCL decoder are... w The output is sent to the CRC detector. If a path passes the CRC check, it means that the path is decoded correctly, the algorithm ends, and the decoding result of the current path is output. If all paths fail the CRC check, the subsequent flip decoding step is initiated.
[0142] S204: For the flipped element ∈ used in the previous decoding attempt w ={(j1,i1,k1),(j2,i2,k2),...,(j w i w k w )}, select a new first-order flip element (j w+1 i w+1 k w+1 ), and ensure that the special node position index j w+1≥j w , flip this element and ∈ w Connect them to get ∈ w+1 ={(j1, i1, k1), ..., (j w+1 i w+1 k w+1 )}, calculate ∈ according to the method in (2) w+1 The flip metric. For any low-order flip element ∈ w If there exist N first-order flip elements simultaneously satisfying j w+1 ≥j w Then we can obtain N new higher-order flip elements ∈ w+1 .
[0143] After the metric calculation is completed, compare M(∈ w+1 ) and the size of the last element in the current flipped metric set M, if M(∈ w+1 If M > last(M), or the number of elements in the set is less than T, then M(∈ w+1 ) and ∈ w+1 Insert the elements into the corresponding positions of the flip metric set M and the flip meta set S according to the size of the flip metric, and also retain the first T elements of the set.
[0144] S205: For the updated sets M and S, repeat the decoding process in (3). If the decoding attempt is FSCL(∈ w When the end of the survival path R[∈ w If one path passes the CRC check, the decoding is correct, and the result of that path is output as the decoding result. If all paths fail the CRC check, the decoding is incorrect. In this case, it is determined whether the number of decoding attempts exceeds a set threshold T. If the number of attempts is less than T, the decoding steps in S204 and S203 are repeated. If the number of attempts is greater than or equal to T, the decoding ends, and the path metric PM[∈] in the current decoding result is selected. w The path with the shortest length is output as the decoding result.
[0145] Figure 2 This is a schematic diagram of the structure of the flipped set in the Fast-D-SCLF decoding algorithm.
[0146] Figure 3The figure shows the frame error rate (FER) curves of the Fast-CA-SCL decoder, D-SCLF decoder, and Fast-D-SCLF decoder in an additive Gaussian noise channel. As can be seen from the figure, compared to the D-SCLF decoder, the Fast-D-SCLF decoder, which employs fast decoding technology, suffers a performance degradation of less than 0.2 dB. This is mainly because node-level decoding and bit-level decoding are not equivalent.
[0147] Figure 4 The figure shows the average decoding delay of the Fast-CA-SCL decoder, the D-SCLF decoder, and the Fast-D-SCLF decoder. It can be seen that by applying fast decoding techniques at specific nodes, a considerable amount of decoding delay can be saved. When T=10, the Fast-D-SCLF decoding algorithm can save 89.9% of the average decoding delay compared to the D-SCLF decoding algorithm. Furthermore, when Eb / N0 is high, the average decoding delay of Fast-D-SCLF is close to that of Fast-CA-SCL, indicating that the Fast-D-SCLF decoding algorithm can provide a significant performance gain.
[0148] This invention proposes a fast continuous cancellation decoding method for polar codes based on dynamic flipping of special nodes to reduce the decoding complexity and latency of D-SCLF decoders. This invention fully utilizes the advantages of parallel processing of special nodes, elevating the estimation results of the D-SCLF decoder from the bit level to the node codeword level. By measuring and calculating the flip elements at the special node level, dynamic bit flipping at the node codeword level can be achieved, thereby significantly reducing the decoding latency and complexity of the D-SCLF algorithm.
[0149] To achieve the above embodiments, the present invention also proposes a polar code fast continuous cancellation list decoding device based on dynamic flipping of special nodes.
[0150] Figure 5 This is a schematic diagram of a fast continuous cancellation list decoding device for polar codes based on dynamic flipping of special nodes, provided in an embodiment of the present invention.
[0151] like Figure 5 As shown, the polar code fast continuous cancellation list decoding device based on special node dynamic flipping includes: a first judgment module 100, a first construction module 200, a second judgment module 300, a second construction module 400, and a loop module 500, wherein...
[0152] The first judgment module is used to decode the polar code received sequence using the fast continuous cancellation list decoding algorithm, and to determine whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, it proceeds to the next step.
[0153] The first construction module is used to construct a set of special nodes according to the positional distribution of frozen bits and information bits in the polar code sequence, calculate the flip metric value of the internal first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of special node, and construct a finite set of flip elements and flip metrics respectively.
[0154] The second judgment module is used to flip the flipped element with the largest metric value in the finite set, re-decode using the fast continuous cancellation list decoding algorithm, select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, it proceeds to the next step.
[0155] The second construction module connects the current flip element with other flip elements in the finite set except the current flip element to construct higher-order flip elements. It also calculates the metric values of all higher-order flip elements according to the type of special nodes and inserts them into the finite set according to the size of the metric values to construct new flip elements and flip metric sets.
[0156] The loop module is used to repeat the process of the second judgment module and the second construction module until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
[0157] Furthermore, in one embodiment of the present invention, the second building module is further configured to:
[0158] If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics.
[0159] If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
[0160] To achieve the above objectives, the present invention also proposes a computer device, characterized in that it includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described above.
[0161] To achieve the above objectives, the present invention also proposes a computer-readable storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, it implements the fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described above.
[0162] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0163] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0164] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A method for fast continuous cancellation list decoding of polar codes based on dynamic flipping of special nodes, characterized in that, Includes the following steps: S1: The polar code received sequence is decoded using the fast continuous cancellation list decoding algorithm. It is determined whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step. S2: Construct a set of special nodes according to the position distribution of the polar code sequence based on the frozen bits and information bits. Calculate the flip metric value of the first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of the special node. Construct finite sets of flip elements and flip metrics respectively. S3: Flip the flipped element with the largest metric value in the finite set, and decode it again using the fast continuous cancellation list decoding algorithm. Select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, proceed to the next step. S4: Connect the current flip element with other flip elements in the finite set except the current flip element to construct a higher-order flip element, and calculate the metric value of all higher-order flip elements according to the type of the special node. Insert the metric values into the finite set according to the size of the metric values to construct a new flip element and flip metric set. S5: Repeat the process of S3-S4 until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
2. The method according to claim 1, characterized in that, The process of decoding the polar code received sequence using the fast successive cancellation list decoding algorithm includes: The upper-level node calculates the log-likelihood ratio sequence and passes it to the lower-level node. The lower-level node determines the codeword sequence based on the log-likelihood ratio information and returns it to the upper-level node. When decoding reaches the level of special nodes, the codeword at the special node is determined based on the type of the special node and the log-likelihood ratio sequence of the special node, and then returned to the upper-level node. During the code word judgment process, the L paths with the highest decoding success rate are selected and retained in real time. Repeat the above process until the last special node is decoded.
3. The method according to claim 2, characterized in that, The special nodes are nodes with special information and frozen bit distribution patterns, located in the middle layer of the decoding tree in the continuous cancellation list decoding algorithm, and can directly achieve maximum likelihood codeword estimation at the node level.
4. The method according to claim 3, characterized in that, The types of the special nodes include: Rate-0: All bits are frozen bits; Rate-1: All bits are information bits; REP: The last bit is the information bit, and the rest are freeze bits; SPC: The first bit is the freeze bit, and the rest are information bits; Type I: The last two bits are information bits, and the rest are freeze bits; Type II: The last three bits are information bits, and the rest are freeze bits; Type III: The first two bits are frozen bits, and the rest are information bits; Type IV: The first three bits are frozen bits, and the rest are information bits; Type V: The last three bits and the fifth bit from the end are information bits, and the rest are frozen bits.
5. The method according to claim 1, characterized in that, The flipped element is a set of codewords that flips the decision value during the decoding process instead of following the maximum likelihood decision result. The number of codewords contained in the flipped element is defined as the order of the flipped element. The flip metric refers to the probability of obtaining the correct decoding result after flipping the flipped element. Flipped elements with a larger flip metric have higher priority. If the flipped element belongs to a special node, the flip metric is calculated using the metric calculation method corresponding to the node. If the flip element belongs to a general structure, the flip metric is calculated using the traditional dynamic flip serial cancellation list decoding algorithm.
6. The method according to claim 1, characterized in that, The construction of the new set of flip elements and flip metrics includes: If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics. If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
7. A fast continuous cancellation list decoding device for polar codes based on dynamic flipping of special nodes, characterized in that, Includes the following modules: The first judgment module is used to decode the polar code received sequence using the fast continuous cancellation list decoding algorithm, and to determine whether the decoding result of the polar code received sequence can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, the subsequent steps are performed. The first construction module is used to construct a set of special nodes according to the positional distribution of the polar code sequence based on the frozen bits and information bits, calculate the flip metric value of the internal first-order flip element in the decoding tree of the fast continuous cancellation list decoding according to the type of the special node, and construct a finite set of flip elements and flip metrics respectively. The second judgment module is used to flip the flipped element with the largest metric value in the finite set, re-decode using the fast continuous cancellation list decoding algorithm, select a path based on the flipping situation during the decoding process, and determine whether the current decoding result can pass the CRC check. If it can pass, the decoding ends; if it cannot pass, the subsequent steps are performed. The second construction module connects the current flip element with other flip elements in the finite set except the current flip element to construct higher-order flip elements, and calculates the metric values of all higher-order flip elements according to the type of the special node, inserts them into the finite set according to the size of the metric values, and constructs a new flip element and flip metric set. The loop module is used to repeat the process of the second judgment module and the second construction module until the result of a decoding attempt passes the CRC check, or the number of decoding attempts exceeds the limit.
8. The apparatus according to claim 7, characterized in that, The second building module is also used for: If the number of flipped elements in the current set has not reached the threshold specified by the algorithm, the newly generated flipped elements and their corresponding flip metrics are inserted into the original set, and the set is sorted in descending order by flip metrics. If the number of flipped elements in the current set has reached the threshold specified by the algorithm, then it is determined whether the newly generated flip metric is greater than the smallest flip metric in the current set. If it is greater, the newly generated flipped element replaces the flipped element with the smallest metric in the set, and the set is sorted in descending order by flip metric. If it is not greater, the new flipped element is discarded.
9. A computer device, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the fast continuous cancellation list decoding method for polar codes based on dynamic flipping of special nodes as described in any one of claims 1-7.