Next Article in Journal
Broadcast Channel Cooperative Gain: An Operational Interpretation of Partial Information Decomposition
Next Article in Special Issue
Bit-Level Construction for Multiplicative-Repetition-Based Non-Binary Polar Codes
Previous Article in Journal
Optimal Power Procurement for Green Cellular Wireless Networks Under Uncertainty and Chance Constraints
Previous Article in Special Issue
Network Coding-Enhanced Polar Codes for Relay-Assisted Visible Light Communication Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Restart Mechanisms for the Successive-Cancellation List-Flip Decoding of Polar Codes

by
Charles Pillet
1,*,†,
Ilshat Sagitov
1,†,
Alexios Balatsoukas-Stimming
2 and
Pascal Giard
1,*
1
LaCIME, Department of Electrical Engineering, École de technologie supérieure (ÉTS), 1100 Notre-Dame St. West, Montréal, QC H3C 1K3, Canada
2
Department of Electrical Engineering, Eindhoven University of Technology, Groene Loper 19, 5600 MB Eindhoven, The Netherlands
*
Authors to whom correspondence should be addressed.
These authors contributed equally to this work.
Entropy 2025, 27(3), 309; https://doi.org/10.3390/e27030309
Submission received: 11 February 2025 / Revised: 10 March 2025 / Accepted: 11 March 2025 / Published: 14 March 2025
(This article belongs to the Special Issue Advances in Modern Channel Coding)

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 T max = 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 T max = 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 2 L , 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 T max 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 L 2 . 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 73.4 % of the average decoding latency for N = 512 and K = 256 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 N = 512 and K = 128 while requiring approximately 1.7 % 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 ( N , K ) polar code [1] is a linear block code of length N = 2 n and code dimension K, defining the code rate R c o d e = K / N . Polar codes encode an input vector u = [ u 0 , , u N 1 ] to the codeword x = [ x 0 , , x N 1 ] as x = u T 2 n where T 2 n denotes the Kronecker power of the binary kernel T 2 = 1 0 1 1 . The matrix T N = T 2 n induces channel polarization [1], i.e., each of the N bits u 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 u into two sets, A and A c (with | A | = K ) , being the information set and the frozen set. The information set corresponds to the indices of the K most reliable positions, while the remaining N K bits, called frozen bits, are set to predefined values that are known by the decoder, which are typically zeros. The vector u contains the message m of K bits in the positions stated in A , i.e., u ^ A = m and contains N K frozen bits, i.e., u ^ A c = 0 . 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 m and are placed in the set of information bits A , increasing the number of information bits to K tot = K + r . Next, information-bit indices of CA–polar codes are noted a 1 < < a K + r . The ( N , K + r ) 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 u ^ of the input vector u . 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 8 , 4 polar code is shown in Figure 1, where the stages are s { n , , 0 } with the root node at s = n . The received vector of channel log-likelihood ratios (LLRs), denoted by α ch = α ch ( 0 ) , , α ch ( N 1 ) , is at the tree root. For any node, denoted by v and located at stage s, the input LLR vector is α v = α v 0 , , α v 2 s 1 from the parent node, and the two input partial-sum (PS) vectors are β l = β l 0 , , β l 2 s 1 1 and β r = β r 0 , , β r 2 s 1 1 , from its left and right child nodes, respectively. The left and right child nodes of the node v have the vectors α v l = α v l 0 , , α v l 2 s 1 1 and α v r = α v r 0 , , α v r 2 s 1 1 , respectively, where each LLR element is calculated as follows:
(1) α v l ( j ) = f α v ( j ) , α v j + 2 s 1 , (2) α v r ( j ) = g α v ( j ) , α v j + 2 s 1 , β l ( j ) ,
where j { 0 , , 2 s 1 1 } . Going left, the f function is calculated as [20]
f ( α 1 , α 2 ) = sgn α 1 sgn α 2 min α 1 , α 2 .
Going right, the g function is calculated as
g ( α 1 , α 2 , β 1 ) = 1 2 β 1 α 1 + α 2 .
Bit estimates, u ^ = u ^ 0 , , u ^ N 1 , are obtained either by taking a hard decision on the decision LLRs, α dec = α dec ( 0 ) , , α dec ( N 1 ) , that reach the leaf nodes or using the frozen bit values. Namely, we have
u ^ i = HD α dec ( i ) , if i A 0 , if i A c .
where HD ( · ) 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:
β v j = β l j β r j , if j < 2 s 1 , β r j , otherwise ,
where j { 0 , , 2 s 1 } and ⊕ is a bitwise XOR.
Figure 1. SC decoding tree of an 8 , 4 polar code.
Figure 1. SC decoding tree of an 8 , 4 polar code.
Entropy 27 00309 g001

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 U ^ N 1 = { u ^ ( 1 ) , , u ^ ( L ) } , 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., l [ 1 , L ] , u ^ ( l ) = 0 , with l denoting the path index. Moreover, all PMs are also initialized to 0, i.e., l [ 1 , L ] , PM ( l ) = 0 . 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 a 1 , the single path is duplicated, i.e., all intermediate partial sums and all intermediate LLRs including the decision LLR α dec ( a 1 ) are duplicated to another path structure. Contrary to SC decoding where the bit-estimate u ^ a 1 is taken according to the hard decision HD α dec ( a 1 ) (5), the path duplication in SCL decoding allows us to consider both options { 0 , 1 } regardless of the sign of the LLR α dec ( a 1 ) . However, the PMs are updated based on the chosen bit decision and the sign of the decision LLR α dec 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 PM ( l ) is updated as [21]
PM l = PM l + α dec l , a , if HD ( α dec ( l , a ) ) u ^ a ( l ) PM l , otherwise ,
where α dec ( l , a ) is the decision LLR for the l-th path at index a A , while u ^ a ( l ) is the bit decision.
For the first information indices A dup { a 1 , , a l o g 2 ( L ) } , 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 a A sort { a l o g 2 ( L ) + 1 , , a K + r } , 2 L paths are obtained after duplication. Hence, a selection of the best L paths is required and is performed through the sorting operation of the 2 L PMs. The L paths having the smallest PM remain.
After duplication, the set of 2 L PMs is noted PM dup a = { PM ( 1 ) , , PM ( 2 L ) } with a A sort , PM ( l ) PM dup a , and PM ( l ) is updated as (7). For a A sort , the set U ^ dup a = { u ^ 0 a ( 1 ) , , u ^ 0 a ( 2 L ) } gathers the 2 L partial candidates after duplication at index a. After the sorting of PM dup a , the following notations are used: PM sort a = { PM a , PM worst a } and U ^ sort a = { U ^ a , U ^ worst a } . Each subset contains the information of L paths. The SCL decoding continues with the best L paths composed of the partial bit estimates U ^ a = { u ^ 0 a ( 1 ) , , u ^ 0 a ( L ) } and the corresponding L PMs PM a = { PM ( 1 ) , , PM ( L ) } . For i A c , 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 U ^ N 1 . 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 T max additional trials are performed, each of them involving a bit flip in the bit-estimate u ^ . The decoding stops when one additional trial returns a candidate u ^ checking the CRC code or after T max 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 ω = 1 , the list of bit-flip candidates is known at the end of the initial trial; if ω = { 2 , 3 } , 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 T max 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, 1 t T max , the set ε t stores the bit-flip locations with | ε t | ω . The list of all bit-flipping candidates is denoted as B flip = { ε 1 , , ε t , ε T max } .
For ω 2 , the latency of DSCF is its main drawback due to the sequential trials and the greater T max 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 ω 2 , the special nodes need to be adapted and reduced in size, leading to a more complex implementation [23] with respect to ω = 1 . 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 1 t T max , the restart location ψ t depends on the information set A and the first bit-flip location min ( ε t ) . This mechanism requires only the storage of u ^ , leading to a small memory overhead that allows the retrieval of the intermediate partial sum β int . A module to perform the correct f and g sequence is required to retrieve the intermediate LLRs α int . This sequence is retrieved with the binary representation of ψ t  [17]. Figure 2 depicts the additional trial for a flip decoder embedding the GRM. The first bit-flip location is min ( ε t ) = 9 , leading to the restart location ψ t = 11 . 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 N = 1024 and code rate R c o d e = ⅛, the reduction is up to 56.9 % with SC as the baseline algorithm and 20.9 % with fast-SSC as the baseline algorithm.

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 B flip . For a A sort , the flip metric FM a in [8] is computed using the 2 L PMs after the sorting operation PM sort a as
FM a = ln l = 0 L 1 exp PM l ł = 0 L 1 exp PM l + L p ,
where ln ( · ) indicates the natural logarithm. The constant value p 1.0 is found via simulations. A simplified metric of (8) has been proposed in [12] and is computed as follows:
FM a = PM 1 + p · PM L + 1 ,
where PM ( 1 ) represents the best metric while PM ( L + 1 ) is the best metric among the paths that will be discarded at index a A sort . 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, | A sort | flip metrics were computed. The metrics are sorted when computed while keeping track of the corresponding index a A sort . The T max smallest flip metrics are stored in the set M flip . The T max corresponding indices are stored in B flip = { ε 1 , , ε T max } where ε t corresponds to the path-flipping location in the t-th additional trial of SCLF.
In SCLF, | ε t | = 1 , 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 ε t 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. B flip 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 ε t then becomes a set with | ε t | ω . During the t-th additional trial, if | ε t | < ω , for all information indices a > max ( ε t ) , a flip metric is computed for the extended set ε t a and the metric is calculated as follows [9]:
FM ε t a = ϵ ε t a FM ϵ + j a j A J FM j ,
where FM j corresponds to the simplified metric (9) and J x is calculated as follows [5,9]:
J x = 1 z ln 1 + exp z · x ,
where z is a constant value, at 0.0 < z 1.0 , 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:
J step x = 1.5 , if 0 x 5.0 , 0 , otherwise .
For DSCLF- ω , ω 2 , during an additional trial, several flip metrics (10) are potentially computed; as soon as one flip metric is computed, sorting is performed to update B flip and M flip of size T max . If the metric FM ε t a exceeds the largest metric in M flip , no sorting is required, and the set ε t a is discarded. If not, the set ε t a is inserted to B flip and FM ε t a is inserted in M flip 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 u ^ of the initial SC trial to enable the restart of an additional trial in any location a A . 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 A . The SCLF (DSCLF- ω ) decoder corresponds to an SCL decoder, used up to T max times, an additional module to compute the flip metric (9) and (10), and a module to construct B flip . 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
Λ SC = Q ch · N α ch + Q int · ( N 1 ) α int + 2 N 1 u ^ + β int ,
where Q ch and Q int represent the quantization in bits for the channel LLRs α ch and the intermediate LLRs α int . N bits are used to store the current candidate u ^ and N 1 bits are needed for the intermediate partial sums β int . The SCL algorithm requires the storage of the structure PM dup , i.e.,
Λ SCL = L · Λ SC + N A + 2 L · Q PM PM dup ,
where Q PM is the quantization in bits used for the PMs.
Regarding the flip algorithm, DSCLF- ω requires the storage of B flip and M flip leading to
Λ flip = T max · Q flip M flip + ω · T max B flip ,
where Q flip is the quantization in bits used for the flip metric in (9) and (10). In bits, the memory of the list–flip decoder is
Λ list - flip = Λ SCL + Λ flip .

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 56.9 % for the average execution time at the cost of 3.4 % memory overhead for DSCF- 3 decoding of a ( 1024 , 128 + 11 ) 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 R GRM = A sort . Next, the estimation of the memory overhead is performed to embed the GRM to SCLF.
At the additional trial 1 t T max , the GRM embedded into the flip decoder allows us to restart the decoding at the restart location ψ t A sort , which is the next information-bit location after min ( ε t ) A sort . The restart path retrieves the intermediate partial sum β int based on the u ^ of the initial SC trial. The intermediate LLRs, α int , are retrieved with the channel LLRs, α ch , and the intermediate partial sum β int . The sequence of f and g functions to perform during the restart path depends on the binary representation of ψ t as described in [17]. Hence, the restart path allows us to restore the status of the tree at position ψ t without performing the usual SC schedule. Next, we describe why the SCL cannot be restarted with only the storage of the final candidate U ^ N 1 .
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 PM worst a and U ^ worst a , changes at each information bit a A sort and becomes overwritten during the initial SCL trial. At a certain position, if the best L paths out of the 2 L are generated through less than L parents, the information carried of some discarded paths is lost and cannot be retrieved with U ^ N 1 .
As an example, SCLF with L = 2 decoding an ( 8 , 3 + 1 ) code with A = { 3 , 5 , 6 , 7 } ( A sort = { 5 , 6 , 7 } ) is shown. In this example, only the bit values at position A are shown. At position 3, SCL considers L = 2 paths, i.e., U ^ 3 = { [ 0 ] , [ 1 ] } . After duplication at position 5, we have U ^ dup 5 = { [ 0 , 0 ] , [ 0 , 1 ] , [ 1 , 0 ] , [ 1 , 1 ] } , which, after sorting, will be divided as U ^ 5 = { [ 0 , 0 ] , [ 0 , 1 ] } and
U ^ worst 5 = { [ 1 , 0 ] , [ 1 , 1 ] } .
If we forward to the end with U ^ 7 = { [ 0 , 0 , 1 , 0 ] , [ 0 , 0 , 0 , 1 ] } , this is not able to pass the CRC. Only storing U ^ 7 will not be enough to retrieve the worst paths at position 5 for example. Indeed, from U ^ 7 , we can state that { [ 0 , 0 ] } U ^ 5 , meaning that U ^ worst 5 { [ 0 , 1 ] , [ 1 , 0 ] , [ 1 , 1 ] } , without knowing U ^ worst 5 (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 min ( ε t ) , the L worst path information, i.e., U ^ worst a and PM worst a , need to be stored for all a A sort . In order to store the path metric information, L × Q PM × | A sort | additional bits are required. In order to save memory for the storage of the L worst partial candidate U ^ worst a , only the message bits can be stored, i.e., for a i A sort , L · i bits are stored instead of L · a i . Hence, the total memory requirement Λ GRM for embedding the GRM to the list–flip algorithms is
(18) Λ GRM = i = log 2 ( L ) + 1 K + r PM worst + L · i , (19) Λ GRM = L × Q PM · | A sort | + i = log 2 ( L ) + 1 K + r i .
The memory requirement (19) grows with the code rate since | A sort | = K + r log 2 ( L ) 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.
The storage of the L worst partial candidates leads to impractically large memory requirements. As an example, for the list–flip decoder of the ( 1024 , 512 + 16 ) polar code with L = 2 , ω = 2 , and T max = 50 and the quantization scheme Q ch = 6 , Q int = 7 , Q PM = 8 , and Q flip = 9 , derived from [16,23], the memory requirement of the decoder Λ list - flip and embedding the GRM Λ GRM are estimated to be
(20) Λ list - flip = 31760 bits , (21) Λ GRM = 287758 bits .
Hence, the GRM induces a memory overhead of Δ mem GRM = 906 % , while it was 6.1 % for DSCF-2 with the same T max  [17].
The memory requirements to embed the GRM to list–flip algorithms, i.e., having R GRM = A sort , 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 R is predefined and its size | R | is very limited compared to | R GRM | . 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 ψ t R , where R = { R ( 1 ) , , R ( R ) } A sort represents the set of restart locations and R = | R | is the number of restart locations. It should be noted that a log 2 ( L ) + 1 A sort will always be included in R . A notation variant of R is the subset R A = R A ( 1 ) , , R A ( R ) [ log 2 ( L ) + 1 , K + r ] , storing the index of each restart location in the information set A , i.e., R = a R A ( 1 ) , , a R A ( R ) .
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 SCL ψ t , ε t , indicating the restart location ψ t R and the bit-flipping set ε t . The savings in terms of computations and decoding time come at the cost of storing all path information in the positions stated in R 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 R . In the SRM, R = 2 restart locations are possible and include R SRM = 0 , N 2 which allows a very simple restart path, where the restart always begins from the upper stage involving the channel LLRs α ch . Only N 2 bits are required to apply this mechanism. However, the restart location R SRM ( 1 ) = 0 does not allow a reduction in the complexity. Hence, only the restart location R SRM ( 2 ) = N 2 reduces the decoding complexity. The authors in [24] derive the SRM to propose the set of restart locations R FRM = 0 , N 2 , 3 N 4 , , ( N 1 ) N N = N 1 . 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 A , i.e., R GRM = A , 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 ψ t A and on the SC candidate u ^ 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 R ( 1 ) = a log 2 ( L ) + 1 A sort ( R A ( 1 ) = log 2 ( L ) + 1 ), 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 P = { P ( 1 ) , , P ( R ) } that will store the relevant PMs and the set M ^ = { M ^ ( 1 ) , , M ^ ( R ) } that will store the relevant messages. During the initial SCL trial, when the decoding reaches the first restart location R ( 1 ) R , the 2 L -sorted PMs are stored in P ( 1 ) , while the partial message candidates are stored in M ^ ( 1 ) . For the other restart locations, path information is also stored in the corresponding index of P and M ^ . At the end of the initial SCL trial, the R elements of P and M ^ gather the full path information at the restart locations stored in the R 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 U ^ N 1 . For 1 t T max , the t-th additional trial is defined by the path-flipping locations stored in B flip ( t ) = ε t . The first path-flipping location is defined by min ( ε t ) . The restart location ψ t R for the t-th additional trial corresponds to the closest element in R , verifying that
ψ t min ( ε t ) .
The additional SCL trial restarting at ψ t and flipping at locations stored in ε t is noted for SCL ψ t , ε t . Next, ρ denotes the index in R , defining ψ t , i.e., ψ t = R ( ρ ) .
If ψ t = min ( ε t ) , 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 PM ψ t of SCL ψ t , ε t is restored with the L worst PMs stored in P ( ρ ) . Similarly, the partial candidate U ^ ψ t is restored on the basis of the L worst partial candidates stored in P ( ρ ) . If min ( ε t ) > ψ t , the restart location precedes the path-flipping location; hence, the best L paths are chosen to continue the decoding. Thus, the path metric structure PM ψ t of SCL ψ t , ε t is restored with the best path metric stored in P ( ρ ) . Similarly, the partial candidate U ^ ψ t is restored on the basis of the L best partial candidates stored in P ( ρ ) .
Once the structures PM ψ t and U ^ ψ t 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., ψ t + 1 , as shown in Figure 2. The binary representation of ψ t + 1 describes the series of functions to be performed in the restart path. If g-functions are required, the partial sum β int is restored through the L-independent restart paths. These functions allow us to accurately retrieve the intermediate LLRs α int for all L paths. When the L restart paths attain the leaf, if ψ t + 1 A c , for all L paths, u ^ ψ t + 1 = 0 and the L path metrics are updated using (7). If ψ t + 1 A , 2 L paths are generated, as well as 2 L path metrics, and the decision on the 2 L paths are taken based on the path metrics and the nature of position ψ t + 1 .

3.4. Example of the LLRM

The modified SCL trial in SCLF embedding the LLRM, SCL ψ t , ε t , is explained with an example for the 16 , 10 + 1 code defined by A = { 2 , 3 , 5 , 6 , 7 , 9 , 11 , 12 , 13 , 14 , 15 } with T max = 1 and L = 2 . The set of restart locations is set prior to decoding to R = { 3 , 6 , 9 } . This example is shown in Figure 4. The initial trial starts with P = { , , } and M ^ = { , , } . When reaching the first information bit a 1 = 2 , the decoding considers both u ^ a 1 = { 0 , 1 } , leading to the structure U ^ a 1 = { [ 0 , 0 , 0 ] , [ 0 , 0 , 1 ] } . The SCL does not need sorting since L = 2 . The path metric structure is also updated as PM a 1 = { PM ( 1 ) , PM ( 2 ) } . The next bit a 2 = 3 A is also R ( 1 ) . As explained in Section 3.3, M ^ ( 1 ) will store the 2 L partial candidates, i.e., M ^ ( 1 ) = { [ 0 , 0 ] , [ 0 , 1 ] , [ 1 , 0 ] , [ 1 , 1 ] } , before the selection. Similarly, the 2 L PMs in PM sort a 1 are stored in P ( 1 ) . The same storage process happens when the decoding reaches R ( 2 ) = 6 and R ( 3 ) = 9 .
After the failure of the initial trial, the path-flipping location is considered to be ε 1 = { 11 } in this example. The restart location ψ 1 is selected from R as being the closest to ε 1 , verifying ψ 1 ε 1 . Hence, the restart location is ψ 1 = R ( 3 ) = 9 . The SCL ψ 1 , ε 1 begins by restoring U ^ 9 and PM 9 with the L best partial candidates in M ^ ( 3 ) and the L best PMs in P ( 3 ) since ψ 1 ε 1 . For all L paths, the restart path connecting the root of the tree at stage s = n = 4 with the leaf u ^ 10 at stage s = 0 is traversed, which allows us to retrieve the intermediate partial sum β int and the intermediate LLR α int . After traversing the restart path, all intermediate information is retrieved, allowing us to resume the standard course of SCL; since 10 A c , 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 ε 1 = 11 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 T max = 1 .

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 R ;
  • the 2 L path metric information P on each restart location R ( ρ ) R ;
  • the 2 L partial message candidate M ^ on each restart location R ( ρ ) R .
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, 2 × L × R A ( ρ ) bits are required to store the partial messages. Moreover, the information on the 2 L path is stored, as discussed in Section 3.3. The total memory overhead of the LLRM is denoted as Λ LLRM and is
Λ LLRM = n · R R + R · 2 L · Q PM P + ρ = 1 R 2 L R A ( ρ ) M ^ .
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.

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 min ( ε t ) for list–flip decoders. These statistics are then used to design the set R .

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 R divN , equally divides the codeword into R segments. Since the codeword is of length N, each segment is of size N R . This particular design does not take into account the information set and is constructed as R divN = 0 , N / R , , N ( R 1 ) R . For R = 2 , the restart locations R divN = 0 , N 2 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 R divK , defines the restart locations on the basis of the information set A . With the exception of the first restart location, any two successive restart locations are separated by K + r R information bits. The first restart location is R divK ( 1 ) = A log 2 ( L ) + 1 , since no restart is possible if a A sort . All restart locations correspond to R divK = a log 2 ( L ) + 1 , a ( K + r ) / R , , a ( K + r ) ( R 1 ) R or R A = log 2 ( L ) + 1 , K + r R , , ( K + r ) ( R 1 ) R . For any additional trials, part of the computations will be avoided since R divK ( 1 ) 0 . 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 min ( ε t ) 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 i 1 = min ( ε t ) . The simulation-based design requires us to know the probability that i 1 is the first path-flipping location. Next, the probability that a A sort is the first path-flipping location occurring during an additional trial of list–flip decoders is denoted by P ( i 1 = a ) . 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 T max are chosen to define the list–flip decoder. If the decoder performs an additional trial, the value of i 1 = min ( ε t ) A sort is stored in a structure denoted as Occ. After transmitting C codewords, with C being large enough, a reliable probability distribution describing P ( i 1 = a ) for all a A sort calculations is returned. This distribution is then used to choose the restart location R .
Algorithm 1 Obtaining the distribution of the first path-flipping candidates occurring in SCLF by simulation
1: procedure Distr_Bit_Flip_SCLF( C , A , T max , L , SNR )
2:     for  j = log 2 ( L ) + 1 : | A |  do
3:          P i 1 = a j 0 ▹ Initialize P , a A sort
4:          Occ j 0 ▹ Initialize counter a A sort
5:     end for
6:      T sim 0 ▹ Total number of additional trials performed
7:     for  c = 0 : C 1  do
8:          x Polar_Encoding ( u )
9:          α ch AWGN ( SNR , x ) ▹ Channel LLRs for the decoding
10:          B flip , t SCLF α ch , A , T max B flip : Set of flipping locations in SCLF, t: Number of additional trials performed
11:         if  t > 0  then▹ Initial trial has failed
12:             T sim T sim + t ▹ Update the total number of additional trials
13:            for  τ = 1 : t  do
14:                 ε τ B flip τ
15:                 a k min ( ε τ ) ▹ Extract first bit-flipping a k A sort
16:                 Occ k Occ k + 1 ▹ Increase by 1 the occurence i 1 = a k
17:            end for
18:         end if
19:     end for
20:     for  j = log 2 ( L ) + 1 : | A |  do
21:          P i 1 = a j Occ j / T sim ▹ Estimate the probability-mass function P ( i 1 = a j )
22:     end for
23:     return the distribution P ( i 1 = a ) , a A sort
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 min ( ε t ) . The algorithm to obtain the set of restart locations R prob according to the PMF is described in Algorithm 2. The number of restart locations R = R is selected in advance. The restart location R ( ρ ) , 1 ρ R , is the first location verifying P ( i 1 = R ( ρ ) ) > ( ρ 1 ) R . We note that R 1 is set to the smallest a A sort , verifying P ( i 1 = a ) > 0 , and it is usually a log 2 ( L ) + 1 .
Algorithm 2 Design of R with the distribution of the first path-flipping location
1: procedure Design_Restart_with_PMF( P , R , A )
2:      s u m P 0
3:      ρ 1
4:     for  j = log 2 ( L ) + 1 : K + r  do
5:          s u m P s u m P + P i 1 = a j
6:         if  s u m P > ρ 1 R  then▹ Divide equally with resp. to P
7:             R ρ a j
8:             ρ ρ + 1 ▹ Next restart location
9:         end if
10:         if  ρ > R  then
11:            return  R ▹ Already R restart locations in R
12:         end if
13:     end for
14: end procedure

4.3. Simulation Setup and Results

For this analysis, a polar code of length N = 1024 with rate ½ and a CRC of r = 16 bits is simulated over the AWGN channel with the BPSK modulation. Simulations are for a minimum of C = 10 5 codewords and are run until at least 10 3 errors are observed. The target FER is 10 2 as in [17], which is obtained at E b / N 0 = 1.625 dB. The DSCLF- ω decoder with ω = 3 and T max = 300 is simulated. The list size is set to L = 2 . The value of T max 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 R = 4 . Locations found by Algorithm 2 are denoted by R prob and equally divide the distributions according to their probabilities. For this example, the restart locations are R prob = { 191 , 248 , 370 , 451 } . Regarding the structural designs, the restart locations are R divN = { 0 , 256 , 512 , 756 } and R divK = { 191 , 499 , 741 , 890 } .

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 E b / N 0 = { 1.5 , 2.0 , 3.4 } dB for rates R c o d e = {¼, ½, ¾}, respectively. For all simulations, the number of restart locations is set to R = 4 . The list size is selected as L = 2 to maintain a low-complexity list decoder. The maximum number of trials is selected as T max = { 30 , 50 , 300 } for SCLF and DSCLF- ω decoders with ω = { 2 , 3 } , 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 N = 1024 with rate R c o d e = ½ and in Figure 8 for polar codes with rate R c o d e = ¼. For reference, standard SCL decoders with L = 8 and L = 32 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 T max = 300 is close to the performance of the SCL decoder with L = 32 for both rates and even matches for R c o d e = ¼ and FER = 10 3 .

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 Q ch = 6 , Q int = 7 , Q flip = 7 bits, and Q pm = 8 bits, respectively. The sizes of these blocks also depend on the values of N, L, and T max . The number of restart locations R = 4 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 N = { 512 , 1024 , 2048 } and rates R c o d e = {¼, ½, ¾}. For N = 1024 , the memory overhead is given for SCLF, DSCLF-2, and DSCLF-3, while for N = { 512 , 2048 } , 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 R , since the location affects the size of M ^ in (23). Moreover, for R divK , the increase in the code rate increases the memory overhead since the size of M ^ becomes larger. For a code rate of R c o d e = ¼, the memory overhead is around 1.5 % for R prob while it is 5 % for R divK . Meanwhile, for the GRM with R GRM = A sort ( | A sort | = K + r log 2 ( L ) ), 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 N = 512 and rate R c o d e = ¾, the overhead is 623.8 % and 3204.5 % for N = 2048 . 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.

5.3. Average Execution Time Reduction Induced by the LLRM

Next, with respect to the standard list–flip decoder (Entropy 27 00309 i001), the reduction brought by the LLRM is estimated for various code lengths, code rates, and various restart locations designed according to simulations R prob (Entropy 27 00309 i002) or designed according to code properties such as R divN (Entropy 27 00309 i003) and R divK (Entropy 27 00309 i004). 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 P = 64 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 ( Δ GRM and Δ LLRM ) and the average flip time reduction ( Δ GRM flip and Δ LLRM flip ). 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., Δ LLRM flip > Δ LLRM ( Δ GRM flip > Δ GRM ). The reduction brought by the unfeasible GRM serves as a bound, i.e., Δ GRM > Δ LLRM and Δ GRM flip > Δ LLRM flip , and the GRM reduction is shown in the figures as (Entropy 27 00309 i005).
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 ( 1024 , 256 + 16 ) polar code. For both decoders, the reduction is clearly visible for all sets of restart locations. However, the set of restart locations R prob 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 R prob at FER = 0.1 is Δ LLRM = 41.8 % while the reduction is Δ LLRM = 4.7 % at FER = 10 4 . 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 R prob at FER = 0.1 is Δ LLRM flip = 43.0 %, while the reduction is Δ LLRM flip = 52.9 % at FER = 10 4 .
Table 2 recapitulates all aforementioned reductions with respect to the standard decoding for N = { 512 , 1024 , 2048 } and code rates K / N = {¼, ½, ¾}. For N = 1024 , the execution time reduction by embedding one of the restart mechanisms on SCLF and DSCLF-2 is also given. The reduction is computed at FER = 10 2 as in [17]. Regardless of the decoders, code lengths, or code rates, the proposed design R prob provides the best reduction. The reduction induced by the LLRM with R prob 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 51.7 % with respect to the DSCLF-2 algorithm is estimated for the code rate ¼ and N = 1024 . For these parameters, the other designs provide a reduction of 40.7 and 42.1 %. The smallest reduction observed is for DSCLF-2 with rate ¾ and N = 1024 . The reduction is 7.0 %, while the optimal reduction is 9.8 %. On average, 3 to 7% is lost with respect to the reduction provided by the GRM.

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 3755 % . 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 41.7 % with respect to the DSCLF-3 decoding of the ( 1024 , 256 + 16 ) code at the cost of 1.5 % memory overhead. This reduction is only 4 % smaller than the optimal mechanism which comes at the cost of 177 % 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:
AWGNadditive white Gaussian noise
BPSbinary phase-shift keying
CACRC-aided
CRCcyclic redundancy check
DSCFdynamic successive-cancellation flip
DSCLFdynamic successive-cancellation list flip
eMBBenhanced mobile broadband
FERframe-error rate
GRMgeneralized restart mechanism
LLRlog-likelihood ratio
LLRMlimited location restart mechanism
PMpath metric
PMFprobability-mass function
PSpartial sum
PSCLFsuccessive-cancellation list flip
RHSright-hand side
SCsuccessive cancellation
SCLsuccessive-cancellation list
SCLFsuccessive-cancellation list flip
SCFsuccessive-cancellation flip
SCFsimplified restart mechanism
SNRsignal-to-noise ratio

References

  1. 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]
  2. 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).
  3. Tal, I.; Vardy, A. List decoding of polar codes. IEEE Trans. Inf. Theory 2015, 61, 2213–2226. [Google Scholar] [CrossRef]
  4. 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]
  5. Chandesris, L.; Savin, V.; Declercq, D. Dynamic-SCFlip Decoding of Polar Codes. IEEE Trans. Commun. 2018, 66, 2333–2345. [Google Scholar] [CrossRef]
  6. 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]
  7. 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]
  8. 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]
  9. 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]
  10. 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] [PubMed]
  11. 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]
  12. 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]
  13. Doan, N.; Hashemi, S.; Gross, W. Fast Successive-Cancellation List Flip Decoding of Polar Codes. IEEE Access 2022, 10, 5568–5584. [Google Scholar] [CrossRef]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. Tal, I.; Vardy, A. How to Construct Polar Codes. IEEE Trans. Inf. Theory 2013, 59, 6562–6582. [Google Scholar] [CrossRef]
  19. Alamdar-Yazdi, A.; Kschischang, F.R. A Simplified Successive-Cancellation Decoder for Polar Codes. IEEE Commun. Lett. 2011, 15, 1378–1380. [Google Scholar] [CrossRef]
  20. 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]
  21. 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]
  22. 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]
  23. 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]
  24. 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]
  25. 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]
Figure 2. Additional trial for flip decoders embedding the GRM; the first bit flip is min ( ε t ) = 9 and the restart location is ψ t = 11 .
Figure 2. Additional trial for flip decoders embedding the GRM; the first bit flip is min ( ε t ) = 9 and the restart location is ψ t = 11 .
Entropy 27 00309 g002
Figure 3. Memory sketch of SCLF with GRM.
Figure 3. Memory sketch of SCLF with GRM.
Entropy 27 00309 g003
Figure 4. The modified trial SCL ( 9 , 11 ) with R = { 3 , 6 , 9 } .
Figure 4. The modified trial SCL ( 9 , 11 ) with R = { 3 , 6 , 9 } .
Entropy 27 00309 g004
Figure 5. Memory sketch of SCLF with the LLRM.
Figure 5. Memory sketch of SCLF with the LLRM.
Entropy 27 00309 g005
Figure 6. Distribution describing P ( i 1 = j ) under DSCLF-3 decoding for ( 1024 , 512 + 16 ) code. Vertical lines indicate restart locations R .
Figure 6. Distribution describing P ( i 1 = j ) under DSCLF-3 decoding for ( 1024 , 512 + 16 ) code. Vertical lines indicate restart locations R .
Entropy 27 00309 g006
Figure 7. Error-correction performance of SCLF and DSCLF decoders with L = 2 for R = ½ codes and N = 1024 .
Figure 7. Error-correction performance of SCLF and DSCLF decoders with L = 2 for R = ½ codes and N = 1024 .
Entropy 27 00309 g007
Figure 8. Error-correction performance of SCLF and DSCLF decoders with L = 2 for R = ¼ codes and N = 1024 .
Figure 8. Error-correction performance of SCLF and DSCLF decoders with L = 2 for R = ¼ codes and N = 1024 .
Entropy 27 00309 g008
Figure 9. Execution time (a) and execution flip time (b) of DSCLF-2 decoder of polar codes with rate ¼ and N = 1024 .
Figure 9. Execution time (a) and execution flip time (b) of DSCLF-2 decoder of polar codes with rate ¼ and N = 1024 .
Entropy 27 00309 g009
Figure 10. Execution time (a) and execution flip time (b) of DSCLF-3 decoders of polar codes with rate ¼ and N = 1024 .
Figure 10. Execution time (a) and execution flip time (b) of DSCLF-3 decoders of polar codes with rate ¼ and N = 1024 .
Entropy 27 00309 g010
Table 1. Memory estimates and overhead for SCLF-based decoders with GRMs, LLRMs, and the original decoders.
Table 1. Memory estimates and overhead for SCLF-based decoders with GRMs, LLRMs, and the original decoders.
N ω T max Λ list - flip R code Δ mem LLRM Δ mem GRM
R prob R divK R divN
bits %%%%
102413032,270¼1.85.52.1235.0
½7.710.36.1875.1
¾4.615.012.01921.5
102425033,110¼2.25.52.1 229.0
½2.210.06.0 853.0
¾2.714.711.7 1872.7
1024330042,860¼1.54.21.6 176.9
½1.47.74.6 658.9
¾1.811.311.7 1446.7
512330021,682 ¼ 1.73.91.783.1
½ 2.46.84.2290.7
¾ 1.89.87.6623.8
2048330075,504 ¼ 1.54.41.6374.0
½ 1.68.54.91442.1
¾ 1.112.513.03204.5
Table 2. Execution time reduction by embedding the LLRM and the GRM to list–flip decoders of various polar codes at the FER of 10 2 .
Table 2. Execution time reduction by embedding the LLRM and the GRM to list–flip decoders of various polar codes at the FER of 10 2 .
N ω T max R code E b / N 0 Δ GRM Δ LLRM (%) Δ GRM flip Δ LLRM flip (%)
dB(%) R prob R divN R divK (%) R prob R divN R divK
1024130 ¼ 1.3418.516.912.314.351.947.434.640.1
½ 1.8712.89.97.98.135.827.722.122.7
¾ 3.0310.47.87.15.928.321.019.116.1
1024250 ¼ 1.2125.423.118.218.956.751.740.742.1
½ 1.7819.114.812.512.236.027.923.522.9
¾ 3.009.87.05.85.123.116.513.712.0
10243300 ¼ 1.0645.541.731.033.252.047.635.437.9
½ 1.6627.822.216.717.232.225.719.319.9
¾ 2.8615.311.77.17.518.714.38.79.2
5123300 ¼ 1.3947.343.334.435.555.751.040.541.9
½ 1.9230.828.120.020.335.532.423.123.4
¾ 3.0814.511.56.66.818.214.48.28.5
20483300 ¼ 0.8444.138.031.826.755.247.639.833.4
½ 1.4927.821.817.217.733.726.520.821.5
¾ 2.7312.58.94.74.815.511.05.86.0
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.

Share and Cite

MDPI and ACS Style

Pillet, C.; Sagitov, I.; Balatsoukas-Stimming, A.; Giard, P. Restart Mechanisms for the Successive-Cancellation List-Flip Decoding of Polar Codes. Entropy 2025, 27, 309. https://doi.org/10.3390/e27030309

AMA Style

Pillet C, Sagitov I, Balatsoukas-Stimming A, Giard P. Restart Mechanisms for the Successive-Cancellation List-Flip Decoding of Polar Codes. Entropy. 2025; 27(3):309. https://doi.org/10.3390/e27030309

Chicago/Turabian Style

Pillet, Charles, Ilshat Sagitov, Alexios Balatsoukas-Stimming, and Pascal Giard. 2025. "Restart Mechanisms for the Successive-Cancellation List-Flip Decoding of Polar Codes" Entropy 27, no. 3: 309. https://doi.org/10.3390/e27030309

APA Style

Pillet, C., Sagitov, I., Balatsoukas-Stimming, A., & Giard, P. (2025). Restart Mechanisms for the Successive-Cancellation List-Flip Decoding of Polar Codes. Entropy, 27(3), 309. https://doi.org/10.3390/e27030309

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop