Abstract
Polar codes concatenated with a cyclic redundancy check (CRC) code have been selected in the 5G standard with the successive-cancellation list (SCL) of list size L = 8 as the baseline algorithm. Despite providing great error-correction performance, a large list size increases the hardware complexity of the SCL decoder. Alternatively, flip decoding algorithms were proposed to improve the error-correction performance with a low-complexity hardware implementation. The combination of list and flip algorithms, the successive-cancellation list flip (SCLF) and dynamic SCLF (DSCLF) algorithms, provides error-correction performance close to SCL-32 with a list size L = 2 and = 300 maximum additional trials. However, these decoders have a variable execution time, a characteristic that poses a challenge to some practical applications. In this work, we propose a restart mechanism for list–flip algorithms that allows us to skip parts of the decoding computations without affecting the error-correction performance. We show that the restart location cannot realistically be allowed to occur at any location in a codeword as it would lead to an unreasonable memory overhead under DSCLF. Hence, we propose a mechanism where the possible restart locations are limited to a set and propose various construction methods for that set. The construction methods are compared, and the tradeoffs are discussed. For a polar code of length N = 1024 and rate ¼, under DSCLF decoding with a list size L = 2 and a maximum number of trials = 300, our proposed approach is shown to reduce the average execution time by 41.7% with four restart locations at the cost of approximately 1.5% in memory overhead.
1. Introduction
Polar codes [1] are a class of linear block codes that were shown to asymptotically achieve the channel capacity under low-complexity successive-cancellation (SC) decoding as the code length tends to infinity [1]. However, the SC decoding algorithm does not provide sufficient error-correction performance at short-to-moderate code lengths. The concatenation of a cyclic redundancy check (CRC) code to the polar code results in the CRC-aided (CA)–polar code scheme; this scheme was selected to protect the control channel of the enhanced mobile broadband (eMBB) service in 5G [2]. SC does not take advantage of the CRC code.
Successive-cancellation list (SCL) decoding [3] was proposed to improve the error-correction performance of SC decoding. SCL decoding retains L decoding paths, providing L different candidates of a codeword. To achieve this, the number of paths is doubled, and when it reaches , the best L paths according to path metrics (PMs) are selected to continue the decoding. The true potential of the SCL decoding algorithm is highlighted with the CA–polar code scheme. The candidate with the smallest PM that verifies the CRC code is elected as the codeword estimate.
Another decoding algorithm for the CA–polar codes is the flip algorithm [4,5]. Unlike SCL decoding, successive-cancellation flip (SCF) and dynamic SCF (DSCF) sequentially attempt the decoding with a single SC instance, providing up to candidates of a codeword. At each additional trial, one of the decision bits, based on a metric, is flipped during the course of SC decoding before normal decoding is resumed. DSCF better approximates the reliability of a decision, providing a more accurate list of bit-flipping candidates and improving the error-correction performance. Moreover, DSCF may also handle multiple bit flips per decoding trial. The latter requires a list of candidates that is dynamically updated along the decoding trials.
Successive-cancellation list flip (SCLF) decoding [6] combines the list and flip algorithms. Additional trials of SCLF correspond to the SCL algorithm having a reverse path selection on the path-flipping locations [7]. These locations are based on a flip metric computed during the initial SCL trial [8]. In [9], dynamic SCLF (DSCLF) decoding is proposed, which adapts the DSCF methodology to SCLF. That is, the metric that selects path-flipping locations is further improved, and the multi-path-flipping methodology of DSCF is adapted.
Since it combines list and flip algorithms, the algorithm is computationally complex and works according to the methodology outlined by [10,11,12,13,14,15], who investigated ways to reduce the complexity of the list–flip algorithm. In [10,11], a simplified metric and an adaptive list size L are proposed, allowing us to reduce the complexity of . A low-complexity flip metric allowing fast decoding of some special nodes is proposed in [12]. The fast implementation of the SCLF decoder is provided in [13], reducing up to % of the average decoding latency for and codes. In [14], the number of additional trials is restricted to one, but this specific case can be improved with a more accurate method for locating the first error position. In [15], the authors created a scheme with early termination, average execution time reduction, and enhanced performance by protecting the codeword with multiple CRC codes. However, the total number of CRC bits is high and specific patterns are required.
Previously, we proposed restart mechanisms for SCF-based decoders [16,17]. The simplified restart mechanism (SRM) conditionally restarts SC decoding from the second half of the codeword if that is where the current bit-flipping candidate is located. The generalized restart mechanism (GRM) restarts SC decoding from any location of the bit-flipping candidate, which is achieved by storing the decoded codeword in its memory at the end of the initial unsuccessful decoding trial. It was shown that GRM is applicable to various types of SCF-based decoders. This work represents the continuation of [16,17] but for the list–flip algorithm. The restart mechanism for the list–flip decoder shown in this paper reduces the complexity less in comparison to the GRM, and we will show that embedding the GRM is impracticable for this decoder. Nevertheless, the complexity reduction is better with respect to the SRM, and the error-correction performance is not reduced.
Contributions
This work proposes the limited-locations restart mechanism (LLRM) for SCLF-based decoders for polar codes with the central idea to partially skip decoding computations that are identical between the initial trial and any additional trial. For any additional trial, the decoding restart is performed from one of the restart locations that is the closest to the path-flipping location from its right-hand side (RHS) in a codeword. The restart locations are determined offline, i.e., by conducting simulations at the target frame-error rate (FER). An LLRM does not alter the error-correction performance of the original decoder. During a restart, the decoding tree is calculated from its root and partial-sum (PS) bits are recalculated. Relevant path information required to retrieve the decoding tree is stored to memory. When applying the LLRM with four restart locations to the DSCLF decoder that can flip up to three paths per decoding trial, the average flip time reduction is 51% for and while requiring approximately of additional memory compared to the standard DSCLF decoder.
Outline
The remainder of this paper is organized as follows: Section 2 begins by introducing polar codes with SC decoding. Then, SCL, SCF, and SCLF decoders are described. Section 4 begins with a simulation-based statistical analysis that provides bit-flip location distributions. In Section 5, simulation results for SCLF and DSCLF decoders with LLRM, and previously proposed GRMs, for the standard scheme are provided. Comparisons are made in terms of error-correction performance, memory estimates, and average execution time.
2. Background
2.1. Construction of Polar Codes
An polar code [1] is a linear block code of length and code dimension K, defining the code rate . Polar codes encode an input vector to the codeword as where denotes the Kronecker power of the binary kernel . The matrix induces channel polarization [1], i.e., each of the N bits has its own bit channel defined by its own reliability. Classifying the N bit channels according to their reliabilities is not an easy task; several methods exist to achieve this in this paper, which can also be found in [18]. The polar code construction consists of splitting the N positions in into two sets, and (with , being the information set and the frozen set. The information set corresponds to the indices of the K most reliable positions, while the remaining bits, called frozen bits, are set to predefined values that are known by the decoder, which are typically zeros. The vector contains the message of K bits in the positions stated in , i.e., and contains frozen bits, i.e., . In this work, the binary phase-shift keying (BPSK) modulation over an additive white Gaussian noise (AWGN) channel is used, as well as the polar code construction of [18].
CA–polar codes include the concatenation of a CRC code during the polar encoding. The r CRC bits are generated on the basis of the message and are placed in the set of information bits , increasing the number of information bits to . Next, information-bit indices of CA–polar codes are noted . The notation is used throughout this work to indicate the code parameters of CA–polar codes.
2.2. SC Decoding
Polar codes have been proposed with the low-complexity SC algorithm in [1] to retrieve an estimate of the input vector . The description of SC decoding as a binary tree traversal was proposed in [19], where the tree is traversed depth-first, starting with the left branch. The decoding tree of an polar code is shown in Figure 1, where the stages are with the root node at . The received vector of channel log-likelihood ratios (LLRs), denoted by , is at the tree root. For any node, denoted by v and located at stage s, the input LLR vector is from the parent node, and the two input partial-sum (PS) vectors are and , from its left and right child nodes, respectively. The left and right child nodes of the node v have the vectors and , respectively, where each LLR element is calculated as follows:
where . Going left, the f function is calculated as [20]
Going right, the g function is calculated as
Bit estimates, , are obtained either by taking a hard decision on the decision LLRs, , that reach the leaf nodes or using the frozen bit values. Namely, we have
where represents the hard decision function. In Figure 1, the nodes represented in black and white correspond to information and frozen bits. The partial-sum vector, denoted by , is calculated from the bit estimates and is propagated up from children to parent nodes. At any node v, each bit of is calculated as follows:
where and ⊕ is a bitwise XOR.
Figure 1.
SC decoding tree of an polar code.
2.3. SCL Decoding
SCL decoding was proposed in [3] and uses L parallel instances of the SC decoder, where L is a power of 2. During the decoding, the L best decoding paths are kept through the computation of PMs. At the end of the decoding, a set of L bit-estimate candidates, denoted as , is provided. Next, the SCL decoding is described in more detail.
First, for all paths, the bit-estimate vectors are initialized to 0, i.e., , with l denoting the path index. Moreover, all PMs are also initialized to 0, i.e., . The decoding starts with a single path, and intermediate LLRs are computed according to the SC schedule and the update rules (1) and (2). When the decoder reaches the first information bit , the single path is duplicated, i.e., all intermediate partial sums and all intermediate LLRs including the decision LLR are duplicated to another path structure. Contrary to SC decoding where the bit-estimate is taken according to the hard decision (5), the path duplication in SCL decoding allows us to consider both options regardless of the sign of the LLR . However, the PMs are updated based on the chosen bit decision and the sign of the decision LLR on their path. Namely, the PM is penalized if the bit decision does not follow the sign of the decision LLR, i.e., for the l-th path, the path metric is updated as [21]
where is the decision LLR for the l-th path at index , while is the bit decision.
For the first information indices , the duplication of the paths does not result in more than L paths; hence, no sorting and selection of the best L paths are required. However, for all information bits , paths are obtained after duplication. Hence, a selection of the best L paths is required and is performed through the sorting operation of the PMs. The L paths having the smallest PM remain.
After duplication, the set of PMs is noted with , , and is updated as (7). For , the set gathers the partial candidates after duplication at index a. After the sorting of , the following notations are used: and . Each subset contains the information of L paths. The SCL decoding continues with the best L paths composed of the partial bit estimates and the corresponding L PMs . For , the L paths takes the frozen decision (5) and the update of the L PMs is performed according to (7).
SCL decoding shows its true potential for CA–polar codes. At the end of the decoding, a CRC check is performed on the L candidates stored in . The final decoded codeword is the candidate that satisfies the CRC while minimizing the path metric. If none of the bit estimates satisfy the CRC, a decoding failure is declared.
2.4. SCF Decoding
The SCF algorithm was proposed in [4] for CA–polar codes. This algorithm reuses a single SC instance to perform the decoding. If the CRC check fails at the end of the initial SC decoding trial, up to additional trials are performed, each of them involving a bit flip in the bit-estimate . The decoding stops when one additional trial returns a candidate checking the CRC code or after additional trials resulting in a CRC check failure. The DSCF decoding was proposed to enhance the performance of SCF [5]; DSCF is defined by the decoding order , stating the maximum number of bit flips that can be performed in the additional trial. If , the list of bit-flip candidates is known at the end of the initial trial; if , the list of bit-flip candidates is adjusted in all additional trials, i.e., the list is dynamic. A greater decoding order results in greater error-correction gain but also requires more trials as well as more memory because of the storage of the flip metrics and of the bit-flip locations. For the t-th additional trial, , the set stores the bit-flip locations with . The list of all bit-flipping candidates is denoted as .
For , the latency of DSCF is its main drawback due to the sequential trials and the greater to approach the full potential of the decoding algorithm. Options exist to improve the decoding latency of DSCF. The baseline algorithm can be the fast-SSC algorithm [22], having special nodes in order to not traverse the full decoding tree. However, for , the special nodes need to be adapted and reduced in size, leading to a more complex implementation [23] with respect to . Another option is the restart mechanism [16,17].
An optimal restart mechanism for flip decoders: the generalized restart mechanism (GRM):
Authors in [17] proposed the GRM to restart the decoding elsewhere other than the first leaf for the additional trials. At additional trial , the restart location depends on the information set and the first bit-flip location . This mechanism requires only the storage of , leading to a small memory overhead that allows the retrieval of the intermediate partial sum . A module to perform the correct f and g sequence is required to retrieve the intermediate LLRs . This sequence is retrieved with the binary representation of [17]. Figure 2 depicts the additional trial for a flip decoder embedding the GRM. The first bit-flip location is , leading to the restart location . The skipped nodes are shown in blue, while the restart path is depicted in red. The GRM can be embedded into any baseline algorithm, i.e., standard SC [1] or the fast-SSC [22] decoding algorithm. The average reduction brought by the GRM depends on the code rate and the baseline algorithm. For and code rate ⅛, the reduction is up to % with SC as the baseline algorithm and % with fast-SSC as the baseline algorithm.
Figure 2.
Additional trial for flip decoders embedding the GRM; the first bit flip is and the restart location is .
2.5. SCLF Decoding
SCLF decoding is a combination of list decoding [3] and flip decoding [4,5]. It was first proposed in [6], but the baseline algorithm described in [8] is used in this paper. The least reliable bit positions, called path-flipping locations, are identified thanks to the flip metrics computed during the initial SCL trial and are stored in . For , the flip metric in [8] is computed using the PMs after the sorting operation as
where indicates the natural logarithm. The constant value is found via simulations. A simplified metric of (8) has been proposed in [12] and is computed as follows:
where represents the best metric while is the best metric among the paths that will be discarded at index . The use of (9), which has also been applied to partitioned SCLF (PSCLF) decoding [15], leads to a negligible error-correction performance degradation. Thus, the metric (9) is used in this work for SCLF decoding. During the initial trial, flip metrics were computed. The metrics are sorted when computed while keeping track of the corresponding index . The smallest flip metrics are stored in the set . The corresponding indices are stored in where corresponds to the path-flipping location in the t-th additional trial of SCLF.
In SCLF, , i.e., the path-flipping only occurs once per additional trial. During the additional trial t, the standard SCL trial is performed until the path-flipping location is reached. At this position, the L worst paths are selected instead of the L best ones, i.e., path flipping is performed [7]. Following the path flipping, the standard SCL decoding is resumed for the remaining part of the codeword.
2.6. Dynamic SCLF Decoding
In [9], the DSCF decoding strategy is adapted to SCLF decoding, and DSCLF- decoding is proposed where several path-flipping locations potentially occur in an additional trial. The metric computations of the DSCLF and DSCF decoders are very similar. is dynamically updated for each unsuccessful additional trial and is then composed of a set of path-flipping candidates. For the t-th additional trial, the path-flipping candidate then becomes a set with . During the t-th additional trial, if , for all information indices , a flip metric is computed for the extended set and the metric is calculated as follows [9]:
where corresponds to the simplified metric (9) and is calculated as follows [5,9]:
where z is a constant value, at , and is found via simulations. In [10], the piece-wise linear approximation function of (10) is proposed. In [5], a step-approximation function of (10) is derived for the DSCF decoder, and it is calculated as follows:
For DSCLF-, , during an additional trial, several flip metrics (10) are potentially computed; as soon as one flip metric is computed, sorting is performed to update and of size . If the metric exceeds the largest metric in , no sorting is required, and the set is discarded. If not, the set is inserted to and is inserted in while maintaining the ascending order.
To the best of our knowledge, the use of (9) in the dynamic metric of DSCLF (10) using the approximation (12) has never been investigated in previous works. This combination makes a low complexity flip metric for the DSCLF decoding algorithm. However, the main focus of this paper is on a restart mechanism to reduce the average execution time; hence, no more comments on this reduced complexity flip metric will be made later on.
3. Restart Mechanism for the List-Flip Decoder
In [17], the GRM showed great potential in reducing the complexity and the average execution time of flip-based decoders, i.e., SCF and DSCF-, regardless of the baseline algorithm (with or without fast decoding of special nodes). The GRM only requires the storage of the candidate of the initial SC trial to enable the restart of an additional trial in any location . Next, the feasibility of embedding the GRM to the SCLF algorithm is discussed based on the memory overhead required. Then, a restart mechanism tailored for the list–flip algorithm is proposed and described.
3.1. Memory Requirements of List-Flip Algorithm
First, the memory requirements of SCLF are studied. The SCL decoder uses a structure of N bits to store . The SCLF (DSCLF-) decoder corresponds to an SCL decoder, used up to times, an additional module to compute the flip metric (9) and (10), and a module to construct . The SCL decoder is considered to be parallel and is viewed as L SC instances in terms of memory. The memory requirements, expressed in bits, for the LLRs and the partial sums of an SC instance is described in [17] and is
where and represent the quantization in bits for the channel LLRs and the intermediate LLRs . N bits are used to store the current candidate and bits are needed for the intermediate partial sums . The SCL algorithm requires the storage of the structure , i.e.,
where is the quantization in bits used for the PMs.
3.2. Generalized Restart Mechanism
The GRM is a restart mechanism that reduces the complexity of flip-based decoders while not affecting the error-correction performance [17]. The small memory overhead used to embed the GRM is one of the main advantages of this mechanism, allowing a reduction of for the average execution time at the cost of memory overhead for DSCF- decoding of a polar code. Another key advantage is that the restart location for an additional trial is always optimal, as the set of restart locations in the GRM is defined as . Next, the estimation of the memory overhead is performed to embed the GRM to SCLF.
At the additional trial , the GRM embedded into the flip decoder allows us to restart the decoding at the restart location , which is the next information-bit location after . The restart path retrieves the intermediate partial sum based on the of the initial SC trial. The intermediate LLRs, , are retrieved with the channel LLRs, , and the intermediate partial sum . The sequence of f and g functions to perform during the restart path depends on the binary representation of as described in [17]. Hence, the restart path allows us to restore the status of the tree at position without performing the usual SC schedule. Next, we describe why the SCL cannot be restarted with only the storage of the final candidate .
At a path-flipping location, the L worst paths instead of the L best continue the decoding. The L worst path information, i.e., the sets and , changes at each information bit and becomes overwritten during the initial SCL trial. At a certain position, if the best L paths out of the are generated through less than L parents, the information carried of some discarded paths is lost and cannot be retrieved with .
As an example, SCLF with decoding an code with () is shown. In this example, only the bit values at position are shown. At position 3, SCL considers paths, i.e., . After duplication at position 5, we have , which, after sorting, will be divided as and
If we forward to the end with , this is not able to pass the CRC. Only storing will not be enough to retrieve the worst paths at position 5 for example. Indeed, from , we can state that , meaning that , without knowing (17), which is not enough information to perform the path flipping through the GRM.
Hence, in order to resume the decoding in any path-flipping location , the L worst path information, i.e., and , need to be stored for all . In order to store the path metric information, additional bits are required. In order to save memory for the storage of the L worst partial candidate , only the message bits can be stored, i.e., for , bits are stored instead of . Hence, the total memory requirement for embedding the GRM to the list–flip algorithms is
The memory requirement (19) grows with the code rate since will grow as well. Moreover, the memory will grow if the list size grows (19). Figure 3 depicts the memory sketch of the DSCLF- algorithm embedding the GRM.
Figure 3.
Memory sketch of SCLF with GRM.
The storage of the L worst partial candidates leads to impractically large memory requirements. As an example, for the list–flip decoder of the polar code with and and the quantization scheme , , , and , derived from [16,23], the memory requirement of the decoder and embedding the GRM are estimated to be
Hence, the GRM induces a memory overhead of , while it was % for DSCF-2 with the same [17].
The memory requirements to embed the GRM to list–flip algorithms, i.e., having , has been estimated with the conclusion that the GRM is unfeasible for the list–flip decoder. Next, the LLRM is proposed to tackle this issue.
3.3. Limited Location Restart Mechanism
The LLRM is derived from the GRM and proposed as a way to skip part of the tree traversal of the SCL decoding. However, the set of restart locations is predefined and its size is very limited compared to . The effectiveness of the proposed approach is discussed in Section 5. First, the proposed LLRM is defined.
For an additional trial t, the list–flip decoder embedding the proposed LLRM skips non-negligible parts of the decoding tree by recovering the path information at the location , where represents the set of restart locations and is the number of restart locations. It should be noted that will always be included in . A notation variant of is the subset , storing the index of each restart location in the information set , i.e., .
By embedding the proposed LLRM, the SCL additional trial is modified by not restarting at position 0. The corresponding modified SCL trial is denoted by , indicating the restart location and the bit-flipping set . The savings in terms of computations and decoding time come at the cost of storing all path information in the positions stated in during the initial SCL trial. As described next, restart mechanisms exist [16,24] for SCF (DSCF-) but on positions permitting an easy restart procedure.
In [16], the simplified restart mechanism (SRM) was proposed and can be seen as an instance of LLRM with one of the most simple sets of restart locations . In the SRM, restart locations are possible and include which allows a very simple restart path, where the restart always begins from the upper stage involving the channel LLRs . Only bits are required to apply this mechanism. However, the restart location does not allow a reduction in the complexity. Hence, only the restart location reduces the decoding complexity. The authors in [24] derive the SRM to propose the set of restart locations . Despite being a more advanced set of restart locations, it comes at the cost of storing LLRs. As for the SRM, the restart locations are only on the right-hand side of the tree, limiting the application of the mechanism as discussed in [16].
The optimal restart mechanism is the GRM [17] as it combines the ability of restarting at any location in , i.e., , while not having to store the intermediate LLRs. This is possible thanks to the generalized restart path, which describes the algorithm that restores all intermediate LLRs and all partial sums on the basis of the binary representation of the restart location and on the SC candidate of the initial trial.
By reusing the generalized restart path, the restart locations in the proposed LLRM will not be selected according to the ease of performing the restart path as in [16,24] but on picking the restart locations to improve, as much as possible, the average execution time reduction. The first consequence is that the first restart location for the proposed LLRM is not 0 but will be (), representing the first information-bit location involving duplication in SCL. This will allow the avoidance of computations on the left-hand side of the decoding tree mostly composed of frozen bits. However, before finding the other restart locations, the proposed LLRM is described in more detail.
The memory overhead of the LLRM is first discussed. It is decomposed into two sets: the set that will store the relevant PMs and the set that will store the relevant messages. During the initial SCL trial, when the decoding reaches the first restart location , the -sorted PMs are stored in , while the partial message candidates are stored in . For the other restart locations, path information is also stored in the corresponding index of and . At the end of the initial SCL trial, the R elements of and gather the full path information at the restart locations stored in the of the L best and L worst paths.
The LLRM is activated whenever an additional trial is performed, i.e., if the CRC check fails for all L candidates in . For , the t-th additional trial is defined by the path-flipping locations stored in . The first path-flipping location is defined by . The restart location for the t-th additional trial corresponds to the closest element in , verifying that
The additional SCL trial restarting at and flipping at locations stored in is noted for . Next, denotes the index in , defining , i.e., .
If , the restart location is also a path-flipping location; hence, the worst L paths are chosen to continue the decoding. Thus, the path metric structure of is restored with the L worst PMs stored in . Similarly, the partial candidate is restored on the basis of the L worst partial candidates stored in . If , the restart location precedes the path-flipping location; hence, the best L paths are chosen to continue the decoding. Thus, the path metric structure of is restored with the best path metric stored in . Similarly, the partial candidate is restored on the basis of the L best partial candidates stored in .
Once the structures and are correctly restored, for all L paths, the intermediate values in the decoding tree, i.e., the restart path, are used to attain the next leaf in the decoding trees of the L paths, i.e., , as shown in Figure 2. The binary representation of describes the series of functions to be performed in the restart path. If g-functions are required, the partial sum is restored through the L-independent restart paths. These functions allow us to accurately retrieve the intermediate LLRs for all L paths. When the L restart paths attain the leaf, if , for all L paths, and the L path metrics are updated using (7). If , paths are generated, as well as path metrics, and the decision on the paths are taken based on the path metrics and the nature of position .
3.4. Example of the LLRM
The modified SCL trial in SCLF embedding the LLRM, , is explained with an example for the code defined by with and . The set of restart locations is set prior to decoding to . This example is shown in Figure 4. The initial trial starts with and . When reaching the first information bit , the decoding considers both , leading to the structure . The SCL does not need sorting since . The path metric structure is also updated as . The next bit is also . As explained in Section 3.3, will store the partial candidates, i.e., , before the selection. Similarly, the PMs in are stored in . The same storage process happens when the decoding reaches and .
Figure 4.
The modified trial SCL with .
After the failure of the initial trial, the path-flipping location is considered to be in this example. The restart location is selected from as being the closest to , verifying . Hence, the restart location is . The begins by restoring and with the L best partial candidates in and the L best PMs in since . For all L paths, the restart path connecting the root of the tree at stage with the leaf at stage is traversed, which allows us to retrieve the intermediate partial sum and the intermediate LLR . After traversing the restart path, all intermediate information is retrieved, allowing us to resume the standard course of SCL; since , only the L path metrics are updated based on the decision LLR computed at the end of the restart path for the L paths. When is reached, path flipping is performed, i.e., the L worst paths are picked. When the last index is reached, the CRC is verified on all decoding paths. It either returns a decoding candidate verifying the CRC or returns a decoding failure since the decoding has reached its maximum number of additional trials .
3.5. Memory Model
In order to resume the decoding in one of the R restart locations, the LLRM requires the storage of
- the set of restart locations ;
- the path metric information on each restart location ;
- the partial message candidate on each restart location .
As a consequence, the memory overhead depends on R but also on the positions of the restart locations, since the partial message is stored. For the -th restart location, bits are required to store the partial messages. Moreover, the information on the path is stored, as discussed in Section 3.3. The total memory overhead of the LLRM is denoted as and is
The memory sketch of the SCLF decoder with the LLRM is provided in Figure 5. The green blocks correspond to the memory overhead (23) when embedding the proposed LLRM.
Figure 5.
Memory sketch of SCLF with the LLRM.
4. Obtaining the Restart Locations
In this section, three designs for the set of restart locations are proposed. The choice of restart locations aims at improving the execution time reduction provided by the LLRM. Two are based on the structure of the polar code, while one is proposed based on offline simulations. For the latter, similarly to [17], offline simulations are used to retrieve the probability-mass function (PMF) of the first path-flipping candidate for list–flip decoders. These statistics are then used to design the set .
4.1. Structural Design
Before describing the simulation-based design, two simple sets of restart locations are described. Both sets use the structure of the polar code. The first design of restart locations, noted as , equally divides the codeword into R segments. Since the codeword is of length N, each segment is of size . This particular design does not take into account the information set and is constructed as . For , the restart locations correspond to the restart locations of the SRM [16]. Restarting at 0 does not allow us to save any computations, which limits the effect of this mechanism for high-rate codes, as discussed in [16].
The second design, generating , defines the restart locations on the basis of the information set . With the exception of the first restart location, any two successive restart locations are separated by information bits. The first restart location is , since no restart is possible if . All restart locations correspond to or . For any additional trials, part of the computations will be avoided since . This design pushes the restart locations towards the end of the codeword, allowing us to avoid many computations. However, these restart locations may not often used since is expected to be close to the first information-bit indices.
4.2. Design Based on the First Path-Flipping Location
In the following, the value of the first path-flipping location is denoted as . The simulation-based design requires us to know the probability that is the first path-flipping location. Next, the probability that is the first path-flipping location occurring during an additional trial of list–flip decoders is denoted by . The algorithm to obtain the PMF by simulation is described in Algorithm 1. A design signal-to-noise ratio (SNR) is chosen to match a desired FER. Moreover, the list size L and the number of additional trials are chosen to define the list–flip decoder. If the decoder performs an additional trial, the value of is stored in a structure denoted as Occ. After transmitting C codewords, with C being large enough, a reliable probability distribution describing for all calculations is returned. This distribution is then used to choose the restart location .
| Algorithm 1 Obtaining the distribution of the first path-flipping candidates occurring in SCLF by simulation | |
| 1: procedure Distr_Bit_Flip_SCLF() | |
| 2: for do | |
| 3: | ▹ Initialize |
| 4: | ▹ Initialize counter |
| 5: end for | |
| 6: | ▹ Total number of additional trials performed |
| 7: for do | |
| 8: Polar_Encoding | |
| 9: | ▹ Channel LLRs for the decoding |
| 10: | ▹ : Set of flipping locations in SCLF, t: Number of additional trials performed |
| 11: if then | ▹ Initial trial has failed |
| 12: | ▹ Update the total number of additional trials |
| 13: for do | |
| 14: | |
| 15: | ▹ Extract first bit-flipping |
| 16: | ▹ Increase by 1 the occurence |
| 17: end for | |
| 18: end if | |
| 19: end for | |
| 20: for do | |
| 21: | ▹ Estimate the probability-mass function |
| 22: end for | |
| 23: return the distribution | |
| 24: end procedure | |
Ultimately, the design consists of choosing the restart locations by equally dividing the distribution in segments sharing the same probability of having . The algorithm to obtain the set of restart locations according to the PMF is described in Algorithm 2. The number of restart locations is selected in advance. The restart location , , is the first location verifying . We note that is set to the smallest , verifying , and it is usually .
| Algorithm 2 Design of with the distribution of the first path-flipping location | |
| 1: procedure Design_Restart_with_PMF() | |
| 2: | |
| 3: | |
| 4: for do | |
| 5: | |
| 6: if then | ▹ Divide equally with resp. to |
| 7: | |
| 8: | ▹ Next restart location |
| 9: end if | |
| 10: if then | |
| 11: return | ▹ Already R restart locations in |
| 12: end if | |
| 13: end for | |
| 14: end procedure | |
4.3. Simulation Setup and Results
For this analysis, a polar code of length with rate ½ and a CRC of bits is simulated over the AWGN channel with the BPSK modulation. Simulations are for a minimum of codewords and are run until at least errors are observed. The target FER is as in [17], which is obtained at dB. The DSCLF- decoder with and is simulated. The list size is set to . The value of was selected to achieve the optimal error-correction performance at the target FER.
The PMF is depicted in Figure 6. In the considered example, the set of restart locations is . Locations found by Algorithm 2 are denoted by and equally divide the distributions according to their probabilities. For this example, the restart locations are . Regarding the structural designs, the restart locations are and .
Figure 6.
Distribution describing under DSCLF-3 decoding for code. Vertical lines indicate restart locations .
5. Simulation Results
Next, simulation results are provided. This section comprises error-correction performance, memory estimations, and average execution time reductions for list–flip decoders. The polar codes are constructed with a design SNR dB for rates = {¼, ½, ¾}, respectively. For all simulations, the number of restart locations is set to . The list size is selected as to maintain a low-complexity list decoder. The maximum number of trials is selected as for SCLF and DSCLF- decoders with , respectively. The BPSK modulation is used over an AWGN channel.
5.1. Error-Correction Performance
The FER for SCLF and DSCLF- with various are shown in Figure 7 for polar codes of with rate = ½ and in Figure 8 for polar codes with rate = ¼. For reference, standard SCL decoders with and are provided. The LLRM is derived from the GRM, a mechanism that does not affect error-correction performance [17]. Both figures show that the proposed LLRM does not affect the error-correction performance of the original SCLF and DSCLF decoders either. Moreover, higher order DSCLF decoders greatly increase the error-correction performance compared to SCLF. The performance of DSCLF-3 with is close to the performance of the SCL decoder with for both rates and even matches for = ¼ and .
Figure 7.
Error-correction performance of SCLF and DSCLF decoders with for ½ codes and .
Figure 8.
Error-correction performance of SCLF and DSCLF decoders with for ¼ codes and .
5.2. Memory Estimations
Memory requirements are estimated with (14), (15), (19), and (23), where the same quantization scheme as that of [16,23] is used. Hence, the blocks based on LLR values are quantized by , , bits, and bits, respectively. The sizes of these blocks also depend on the values of N, L, and . The number of restart locations is selected for all estimations, which was similarly carried out in the example in Section 4. All sets of restart locations are considered. Table 1 provides the memory overhead, expressed in percent, induced by embedding the restart mechanism to the polar code decoder for code lengths and rates = {¼, ½, ¾}. For , the memory overhead is given for SCLF, DSCLF-2, and DSCLF-3, while for , the memory overhead for DSCLF-3 is provided. By analyzing Table 1, the memory overhead to embed the LLRM depends on the set of restart locations , since the location affects the size of in (23). Moreover, for , the increase in the code rate increases the memory overhead since the size of becomes larger. For a code rate of ¼, the memory overhead is around for while it is for . Meanwhile, for the GRM with (), the memory overhead depends on the code rate and the code length but not the decoder. By doubling the code length N, the overhead approximately doubles as well. For and rate ¾, the overhead is and for . Hence, Table 1 shows that the overhead induced by the GRM makes it unfeasible. However, the overhead induced by the LLRM remains feasible for an implementation.
Table 1.
Memory estimates and overhead for SCLF-based decoders with GRMs, LLRMs, and the original decoders.
5.3. Average Execution Time Reduction Induced by the LLRM
Next, with respect to the standard list–flip decoder (
), the reduction brought by the LLRM is estimated for various code lengths, code rates, and various restart locations designed according to simulations (
) or designed according to code properties such as (
) and (
). In order to compute it, the chosen architectural execution-time model is from [17]. Moreover, the number of processing elements, having an impact on the average execution time of decoders, is as in [23,25]. Moreover, the latency of SCL is estimated as in [15], i.e., one clock cycle is added whenever the SCL encounters an information bit.
), the reduction brought by the LLRM is estimated for various code lengths, code rates, and various restart locations designed according to simulations (
) or designed according to code properties such as (
) and (
). In order to compute it, the chosen architectural execution-time model is from [17]. Moreover, the number of processing elements, having an impact on the average execution time of decoders, is as in [23,25]. Moreover, the latency of SCL is estimated as in [15], i.e., one clock cycle is added whenever the SCL encounters an information bit.Two types of reduction will be discussed next, the average execution time reduction ( and ) and the average flip time reduction ( and ). The first consists of the reduction over all the simulated frames. The second consists of the reduction over the time spent during the flip part of the list–flip algorithm; since the flipping part is not required in all frames, this reduction is expected to be greater, i.e., (). The reduction brought by the unfeasible GRM serves as a bound, i.e., and , and the GRM reduction is shown in the figures as (
).
).Figure 9 and Figure 10 depict the average execution time over all frames (a) and over the flipping part (b) for the DSCLF-2 and DSCLF-3 decoders for the polar code. For both decoders, the reduction is clearly visible for all sets of restart locations. However, the set of restart locations allows for a greater reduction and is closer to the optimal reduction retrieved with the GRM. The reduction over all frames reduces with the FER since the flipping part is required less often, and the mechanism permits a reduction only on the flipping part. In Figure 10a, the reduction with at is % while the reduction is % at . If the focus is made on the flipping part solely, the reduction in the average flip time increases when the FER diminishes. In Figure 10b, the reduction with at is %, while the reduction is % at .
Figure 9.
Execution time (a) and execution flip time (b) of DSCLF-2 decoder of polar codes with rate ¼ and .
Figure 10.
Execution time (a) and execution flip time (b) of DSCLF-3 decoders of polar codes with rate ¼ and .
Table 2 recapitulates all aforementioned reductions with respect to the standard decoding for and code rates {¼, ½, ¾}. For , the execution time reduction by embedding one of the restart mechanisms on SCLF and DSCLF-2 is also given. The reduction is computed at as in [17]. Regardless of the decoders, code lengths, or code rates, the proposed design provides the best reduction. The reduction induced by the LLRM with is highlighted in boldface. As the code rate increases, the reduction reduces since the restart locations tend towards the beginning of the decoding tree, as explained in [16,17]. A reduction of % with respect to the DSCLF-2 algorithm is estimated for the code rate ¼ and . For these parameters, the other designs provide a reduction of and %. The smallest reduction observed is for DSCLF-2 with rate ¾ and . The reduction is %, while the optimal reduction is %. On average, 3 to 7% is lost with respect to the reduction provided by the GRM.
Table 2.
Execution time reduction by embedding the LLRM and the GRM to list–flip decoders of various polar codes at the FER of .
6. Conclusions
In this paper, a restart mechanism is proposed for list–flip decoders of polar codes. We first show that an optimal mechanism is unfeasible due to a large memory overhead, which can increase up to . Thus, an limited-locations restart mechanism (LLRM) is proposed, allowing us to restart in predefined locations of the tree if an additional trial is performed. This mechanism requires the storage of path information at these locations. The choice of the restart locations influences the effectiveness of the LLRM. Three designs of restart locations are proposed and compared to each other. A thorough analysis is performed for various list–flip decoders, as well as various code lengths and code rates. The design requiring simulations achieves a reduction of with respect to the DSCLF-3 decoding of the code at the cost of memory overhead. This reduction is only smaller than the optimal mechanism which comes at the cost of memory overhead.
Author Contributions
Conceptualization, C.P., I.S., A.B.-S. and P.G.; methodology, C.P. and I.S.; software, C.P. and I.S.; validation, C.P. and I.S.; writing—original draft preparation, C.P. and I.S.; writing—review and editing, C.P., A.B.-S. and P.G.; visualization, C.P. and I.S.; supervision, A.B.-S. and P.G.; project administration, P.G.; funding acquisition, P.G. All authors have read and agreed to the published version of the manuscript.
Funding
We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC), RGPIN-2018-04284.
Data Availability Statement
The original contributions presented in the study are included in the article; further inquiries can be directed to the corresponding authors.
Conflicts of Interest
The authors declare no conflicts of interest.
Abbreviations
The following abbreviations are used in this manuscript:
| AWGN | additive white Gaussian noise |
| BPS | binary phase-shift keying |
| CA | CRC-aided |
| CRC | cyclic redundancy check |
| DSCF | dynamic successive-cancellation flip |
| DSCLF | dynamic successive-cancellation list flip |
| eMBB | enhanced mobile broadband |
| FER | frame-error rate |
| GRM | generalized restart mechanism |
| LLR | log-likelihood ratio |
| LLRM | limited location restart mechanism |
| PM | path metric |
| PMF | probability-mass function |
| PS | partial sum |
| PSCLF | successive-cancellation list flip |
| RHS | right-hand side |
| SC | successive cancellation |
| SCL | successive-cancellation list |
| SCLF | successive-cancellation list flip |
| SCF | successive-cancellation flip |
| SCF | simplified restart mechanism |
| SNR | signal-to-noise ratio |
References
- Arıkan, E. Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels. IEEE Trans. Inf. Theory 2009, 55, 3051–3073. [Google Scholar] [CrossRef] [Scilit]
- 3GPP. Multiplexing and Channel Coding. Technical Report TS 38.212; Release 16.5. 2018. Available online: https://www.etsi.org/deliver/etsi_ts/138200_138299/138212/16.05.00_60/ts_138212v160500p.pdf (accessed on 9 March 2025).
- Tal, I.; Vardy, A. List decoding of polar codes. IEEE Trans. Inf. Theory 2015, 61, 2213–2226. [Google Scholar] [CrossRef] [Scilit]
- Afisiadis, O.; Balatsoukas-Stimming, A.; Burg, A. A low-complexity improved successive cancellation decoder for polar codes. In Proceedings of the 2014 48th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, USA, 2–5 November 2014; pp. 2116–2120. [Google Scholar] [CrossRef] [Scilit]
- Chandesris, L.; Savin, V.; Declercq, D. Dynamic-SCFlip Decoding of Polar Codes. IEEE Trans. Commun. 2018, 66, 2333–2345. [Google Scholar] [CrossRef] [Scilit]
- Yu, Y.; Pan, Z.; Liu, N.; You, X. Successive Cancellation List Bit-flip Decoder for Polar Codes. In Proceedings of the 2018 10th International Conference on Wireless Communications and Signal Processing (WCSP), Hangzhou, China, 18–20 October 2018; pp. 1–6. [Google Scholar] [CrossRef] [Scilit]
- Cheng, F.; Liu, A.; Zhang, Y.; Ren, J. Bit-Flip Algorithm for Successive Cancellation List Decoder of Polar Codes. IEEE Access 2019, 7, 58346–58352. [Google Scholar] [CrossRef] [Scilit]
- Pan, Y.H.; Wang, C.H.; Ueng, Y.L. Generalized SCL-Flip Decoding of Polar Codes. In Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM), Taipei, Taiwan, 7–11 December 2020; pp. 1–6. [Google Scholar] [CrossRef] [Scilit]
- Shen, Y.; Balatsoukas-Stimming, A.; You, X.; Zhang, C.; Burg, A.P. Dynamic SCL Decoder With Path-Flipping for 5G Polar Codes. IEEE Wireless Commun. Lett. 2022, 11, 391–395. [Google Scholar] [CrossRef] [Scilit]
- Lv, H.; Yin, H.; Yang, Z.; Wang, Y.; Dai, J. Adaptive List Flip Decoder for Polar Codes with High-Order Error Correction Capability and a Simplified Flip Metric. Entropy 2022, 24, 1806. [Google Scholar] [CrossRef] [Scilit] [PubMed]
- Li, J.; Zhou, L.; Li, Z.; Gao, W.; Ji, R.; Zhu, J.; Liu, Z. Deep Learning-Assisted Adaptive Dynamic-SCLF Decoding of Polar Codes. IEEE Trans. Cogn. Commun. Netw. 2024, 10, 836–851. [Google Scholar] [CrossRef] [Scilit]
- Ivanov, F.; Morishnik, V.; Krouk, E. Improved generalized successive cancellation list flip decoder of polar codes with fast decoding of special nodes. J. Commun. Netw. 2021, 23, 417–432. [Google Scholar] [CrossRef] [Scilit]
- Doan, N.; Hashemi, S.; Gross, W. Fast Successive-Cancellation List Flip Decoding of Polar Codes. IEEE Access 2022, 10, 5568–5584. [Google Scholar] [CrossRef] [Scilit]
- Wang, Y.; Qiu, S.; Chen, L.; Wang, Q.; Zhang, Y.; Liu, C.; Xing, Z. A Low-Latency Successive Cancellation Hybrid Decoder for Convolutional Polar Codes. In Proceedings of the 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Barcelona, Spain, 4–8 May 2020; pp. 5105–5109. [Google Scholar] [CrossRef] [Scilit]
- Pillet, C.; Sagitov, I.; Domer, G.; Giard, P. Partitioned Successive-Cancellation List Flip Decoding of Polar Codes. In Proceedings of the 2024 IEEE Workshop on Signal Processing Systems (SiPS), Cambridge, MA, USA, 4–6 November 2024; pp. 19–24. [Google Scholar] [CrossRef] [Scilit]
- Sagitov, I.; Pillet, C.; Balatsoukas-Stimming, A.; Giard, P. Successive-Cancellation Flip Decoding of Polar Code with a Simplified Restart Mechanism. In Proceedings of the 2023 IEEE Wireless Communications and Networking Conference (WCNC), Glasgow, Scotland, 26–29 March 2023; pp. 1–6. [Google Scholar] [CrossRef] [Scilit]
- Sagitov, I.; Pillet, C.; Balatsoukas-Stimming, A.; Giard, P. Generalized Restart Mechanism for Successive-Cancellation Flip Decoding of Polar Codes. J. Signal Process. Syst. 2025. [Google Scholar] [CrossRef] [Scilit]
- Tal, I.; Vardy, A. How to Construct Polar Codes. IEEE Trans. Inf. Theory 2013, 59, 6562–6582. [Google Scholar] [CrossRef] [Scilit]
- Alamdar-Yazdi, A.; Kschischang, F.R. A Simplified Successive-Cancellation Decoder for Polar Codes. IEEE Commun. Lett. 2011, 15, 1378–1380. [Google Scholar] [CrossRef] [Scilit]
- Leroux, C.; Tal, I.; Vardy, A.; Gross, W.J. Hardware architectures for successive cancellation decoding of polar codes. In Proceedings of the 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Prague, Czech Republic, 22–27 May 2011; pp. 1665–1668. [Google Scholar] [CrossRef] [Scilit]
- Balatsoukas-Stimming, A.; Parizi, M.; Burg, A. LLR-Based Successive Cancellation List Decoding of Polar Codes. IEEE Trans. Signal Process. 2015, 63, 5165–5179. [Google Scholar] [CrossRef] [Scilit]
- Sarkis, G.; Giard, P.; Vardy, A.; Thibeault, C.; Gross, W.J. Fast Polar Decoders: Algorithm and Implementation. IEEE J. Sel. Areas Commun. 2014, 32, 946–957. [Google Scholar] [CrossRef] [Scilit]
- Ercan, F.; Tonnellier, T.; Doan, N.; Gross, W.J. Practical Dynamic SC-Flip Polar Decoders: Algorithm and Implementation. IEEE Trans. Signal Process. 2020, 68, 5441–5456. [Google Scholar] [CrossRef] [Scilit]
- Xiyue, X.; Meilin, H.; Rui, G. Flexible Restart Mechanism for Successive Cancellation Flip Decoding of Polar Codes. IEEE Commun. Lett. 2024, 28, 2459–2463. [Google Scholar] [CrossRef] [Scilit]
- Giard, P.; Balatsoukas-Stimming, A.; Müller, T.C.; Bonetti, A.; Thibeault, C.; Gross, W.J.; Flatresse, P.; Burg, A. PolarBear: A 28-nm FD-SOI ASIC for Decoding of Polar Codes. IEEE J. Emerg. Sel. Top. Circuits Syst. 2017, 7, 616–629. [Google Scholar] [CrossRef] [Scilit]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).









