Adaptive List Flip Decoder for Polar Codes with High-Order Error Correction Capability and a Simplified Flip Metric

Designing an efficient decoder is an effective way to improve the performance of polar codes with limited code length. List flip decoders have received attention due to their good performance trade-off between list decoders and flip decoders. In particular, the newly proposed dynamic successive cancellation list flip (D-SCLF) decoder employs a new flip metric to effectively correct high-order errors and thus enhances the performance potential of present list flip decoders. However, this flip metric introduces extra exponential and logarithmic operations, and the number of these operations rises exponentially with the increase in the order of error correction and the number of information bits, which then limits its application value. Therefore, we designed an adaptive list flip (ALF) decoder with a new heuristic simplified flip metric, which replaces these extra nonlinear operations in the original flip metric with linear operations. Simulation results show that the simplified flip metric does not reduce the performance of the D-SCLF decoder. Moreover, based on the in-depth theoretical analyses of the combination of the adaptive list and the list flip decoders, the ALF decoder adopts the adaptive list to further reduce the average complexity.


Introduction
Polar codes [1] have been widely studied since they were proposed due to their excellent performance. Consequently, polar codes have been selected as the control channel coding scheme in the 5G enhanced Mobile Broadband (eMBB) scenario [2] and are expected to still be competitive coding technologies in the future. In particular, polar codes using a successive cancellation (SC) decoder comprise the first channel coding technique that has been proven to achieve channel capacity with an infinite code length [1]. However, the error-correction performance of polar codes using the SC decoder with limited code length is unsatisfactory. Therefore, improving the performance of polar codes with limited code length has always been a concern of scholars, and designing an efficient decoder is one of the most effective ways to solve this problem.
The SC list (SCL) [3,4] and CRC-aided SCL (CA-SCL) [5,6] are two improved list decoders based on the SC decoder. Compared with the single candidate path of the SC decoder, they adopt a list of multiple candidate paths and posterior probability to improve the error-correction performance. In particular, the CA-SCL decoder can utilize CRC to filter wrong candidate paths on the list and obtain better performance than the SCL decoder. However, this list containing multiple candidate paths requires more computational complexity (energy) and storage space. To further optimize the CA-SCL decoder, many scholars have proposed different improved list decoders. The authors of [7] proposed a new path metric that is beneficial to hardware implementation for the filtering of candidate paths and is widely used nowadays. Ref. [8] combined the adaptive list and CRC to further reduce the average complexity of the CA-SCL decoder without loss of error-correction performance. In [9,10], the authors designed different distributed CRCs for the early termination of the metric with multiplication and addition operations. The simulation results show that the D-SCLF decoder using the simplified metric has similar error-correction and complexity performance to the D-SCLF decoder using the original flip metric. • We theoretically analyzed the characteristics of the combination of the adaptive list and list flip decoders, and we verified these theoretical analyses by simulation. • We proposed an ALF decoder with a high-order error correction capability. The decoder mainly combines the simplified flip metrics and the adaptive list. Simulation results show that our ALF decoder can effectively reduce the average computational complexity (energy) of the D-SCLF decoder without diminishing the error-correction performance.
The remainder of the paper is organized as follows. Section 2 briefly gives an overview of the polar encoding method and some polar decoding algorithms. Section 3 describes and analyzes the details of the proposed decoders. In Section 4, the simulation results are illustrated and discussed. Finally, some conclusions are highlighted.

Preliminaries
In this section, we briefly introduce the polar coding method and existing decoders related to this paper for PC(N, K + N crc ). PC(N, K + N crc ) refers to a polar code of code length N, CRC length N crc , information bit length K, and code rate R = K/N.

Polar Encoding Method
Reference [1] defines the polar encoding method as follows: where x N 1 = (x 1 , x 2 , . . . , x N ) refers to the encoded vector. u N 1 = (u 1 , u 2 , . . . , u N ) represents the encoding vector that consists of two subjects: A c and A. A c consists of all frozen bits.
A consists of all non-frozen bits. F = 1 0 1 1 and ⊗ refers to the Kronecker product. B N is a bit-reversal permutation matrix. n = log 2 N.

CA-SCL Decoder
The CA-SCL decoder [5,6] is an improved decoder based on the SC decoder and utilizes CRC as well as a list of multiple candidate paths to improve the FER performance of the SC decoder with a single candidate path. The list size of the CA-SCL decoder is L. Meanwhile, a simplified path metric (PM) [7] is adopted by the CA-SCL decoder to distinguish the correct path ion the list. PM can be computed using the following equation: where PM (i) l represents the PM value of the ith bit in the lth candidate path, 0 < l <= L and PM ). In addition, we define A as a set consisting of the first log 2 L of non-frozen bits.
When decoding the ith bit and i ∈ A , the CA-SCL decoder utilizes a list (i) best to reserve all candidate paths. When decoding the ith bit and i ∈ A \ A , the L paths in best are expanded to 2L sub-paths, which forms an expanded list (i) . Then, (i) best can be achieved by selecting L paths with a smaller PM from (i) . When decoding the ith bit and i ∈ A c , the L paths in best . If CRC succeeds, the CA-SCL decoder will output the candidate path with

SCL-Flip Decoder, SCL-SP Decoder, and ADOSPL Decoder
To further improve the performance of the CA-SCL decoder, Ref. [18] proposed the first list flip decoder, named SCL-BF decoder. This decoder brings the flip operation idea to the CA-SCL decoder for the first time, thus allowing it to have better performance than the CA-SCL decoder with the same list size through more decoding attempts with flip operations. Obviously, the performance gain is closely related to the list flip operation itself and the decision with regard to list flip positions. To further improve the performance of the SCL-BF decoder, Ref. [21] proposed the SCL-SP decoder to optimize the list flip operation, and [20] designed the SCL-Flip decoder to optimize the decision of flip positions.
The SCL-SP decoder uses a new list flip operation called the shift-pruning operation to replace the original flip operation; it achieves better performance than the SCL-BF decoder with the same list size. The new list flip operation refers to (i) best and can be achieved by selecting L paths with a bigger PM from (i) when the ith bit channel is a list flip position. Furthermore, to improve the performance of the SCL-SP decoder, Ref. [22] optimized the flip order of the SCL-SP decoder, introduced the adaptive list, and proposed a new list flip decoder called the adaptive-ordered shifted-pruning list (ADOSPL) decoder. The flowchart of the ADOSPL decoder is shown in Figure 1. When L cur < L max , the ADOSPL decoder performs a CA-SCL decoding operation with the list size L cur to obtain the estimated code word. When L cur = L max , the ADOSPL decoder executes the OSPL decoder (a list flip decoder proposed by [22]) with a list size of L max to obtain the estimated code word. Since the OSPL decoder has little correlation with this paper, we will not provide more details about this algorithm. The termination condition of the ADOSPL decoder is: either a candidate path passing the CRC is found in a decoding attempt, or T + 1 + Log 2 (L) decoding attempts have been performed. T is the maximum number of additional decoding attempts with list flip operations. OSPL decoding with the list size L_{max} and T. The SCL-Flip decoder employs a flip metric to optimize the decision of the SCL-BF decoder with regard to list flip positions. This flip metric satisfies the following equation:

L_{cur}=2L_{cur}
where E (i) α denotes the flip metric E α value of the ith bit, and α is a coefficient to compensate for the biased estimation due to the error propagation. A lower E α means that mistakes are more likely to occur. Because of this, the SCLFlip decoder prioritizes the flipping of information bits with lower E α value.
Although these list flip decoders can achieve better performance than the CA-SCL decoder to some extent, they cannot correct high-order errors efficiently, which limits the performance gain brought by the list flip operations.

D-SCLF Decoder
To further improve the performance of list flip decoders, the D-SCLF decoder [24] applies a new flip metric to approximate the probability of ε (i) occurring in a CA-SCL decoding process.
best } represents the event where the first mistake happened in the ith bit. Based on the new flip metric, D-SCLF extends this flip metric to approximate the probability of high-order errors and utilizes a dynamic list of flip sets S to reserve the potential location of high-order errors. The extended flip metric in [24] can be achieved by using the following calculation: where β is also a compensated coefficient similar to α, S t is a flip set that records all flip indices for the tth additional decoding attempt, f β (x) = 1 β ln(1 + e −βx ) and E (i) . It is worth noting that S t is a subset of S, and S = S 1 , S 2 , . . . , S T has a constant size of T but is updated after a failure in decoding attempts. P(ε (i) |y, S t ) refers to the probability that ε (i) occurs with the flip set S t [24], and it satisfies the following equation: where P Similar to the SCL-Flip decoder, the D-SCLF decoder prioritizes flipping information bits set with a lower M β value computed by (4). However, compared to the flip metric of the SCL-Flip decoder, this flip metric M β introduces many logarithmic and exponential operations, especially when the D-SCLF decoder is applied to higher-order error correction. This will limit the application value of this decoder.

ALF Decoder
In this section, we describe our decoder based on two points: (1) the design of the simplified flip metric and (2) the adoption of the adaptive list. Furthermore, we describe the details of our decoder in Section 3.3.

Design of the Simplified Flip Metric
As mentioned above, the D-SCLF decoder creates a new flip metric to correct highorder errors, and it can improve the error-correction performance of the SCL-Flip decoder. However, we noticed that the new flip metric M β introduces an new f β (·) function, including additional logarithmic and exponential operations, while the number of these operations increases exponentially with an increase in the number of unfrozen bits and the order of error correction. It should be noted that the order of error correction refers to the maximum number of flip operations in one decoding attempt. For better understanding, we describe below how the number of operations varies under different conditions.
If there is no extra memory to keep the previous f β (·) value, and the error-correction order of the D-SCLF decoder is 1 (called D-SCLF1 in the following), the D-SCLF1 decoder needs to repeatedly perform the f β (·) function of all previous non-frozen bits after a new non-frozen bit is decoded. Therefore, in this case, the DSCLF-1 decoder ex- is the total number of times the f β (·) function is executed, which is required by the D-SCLFx decoder to decode one frame.
If all f β (·) values are stored and the D-SCLF1 decoder is still adopted, N f , as long as the order of error correction is more than 1, the D-SCLF decoder will execute more f β (·) functions. For example, if D-SCLF2 wants to correct the second-order error, it must generate a set containing two flip positions, assuming that the new flip set is S x and S x = S t ∪ {j}, where j > i t and x > t. S t refers to the flip set in the tth additional attempt and contains only one flip position. i t is the last element in S t . According to Equation (4), the D-SCLF2 decoder does not only need more memory to store new E α=1 values and f β (·) values updated by the tth decoding attempt, but it also needs to calculate at least K + N crc − i t times of the f β (·) function based on these new stored values. Moreover, if the S t -based S x cannot help the D-SCLF2 decoder to find the correct path, D-SCLF2 will continue to perform new f β (·) functions based on other first-order flip sets. Hence, N (2) f is significantly larger than N (1) f , and thus N (x) f will increase exponentially with x increases. Therefore, to expand the application value of the D-SCLF decoder, it is necessary to design a simplified flip metric that can effectively reduce the number of exponent and logarithmic operations included by the f β (·) function without losing error-correction performance.
Inspired by the simplification of the decoder of turbo codes in [25] and the simplification of the flip metric in the DSCFlip decoder of polar codes in [16], we naturally thought of using a similar method to simplify the f β (·) function in the D-SCLF decoder. However, we noticed that the original simplified methods in [16,25] did not provide directions that were clear enough, so this paper attempts to design a simplified function with actionable steps to simplify the D-SCLF decoder. Since multiple straight lines can approximate a curve, and different straight lines essentially correspond to different combinations of one addition and one multiplication, this paper proposes a simplified function called the f line β (·) function, which utilizes two straight line segments to approximate the curve represented by the f β (·) function in the D-SCLF decoder.
To illustrate our simplified function more clearly, we created the graph in Figure 2. In Figure 2, the black dashed line indicates the f β (·) function, and the red line represents our simplified function. Evidently, our simplified function is mainly composed of two straight line segments, and these two straight line segments are generated based on three points on the black dashed line. Since the E α=1 value in Equation (4) satisfies E α=1 > 0, we selected (0, f β (0)) as the first point. Based on the experience provided by the existing simplification, we selected (10, f β (10)) as the third point. Finally, we selected (z, f β (z)) as the second point, where z is a positive integer and 1 ≤ z ≤ 10. Therefore, the simplified function f line β (·) satisfies the following equation: where . Additionally, c 1 , c 2 , and c 3 in this paper generally retain two decimal places. In particular, when z = 10, It is clear that we used a combination of one multiplication and one addition to replace the multiplication, addition, exponential, and logarithmic operations included by the original  To explore the impact of different z values on performance, we created Figures 3-5 to show a comparison of the performance of D-SCLF2 using f β=0. 4 and that of D-SCLF2 using f line β=0. 4 , with different z values for PC(512, 256 + 24). Note that the D-SCLF2 using f β=0.4 refers to the D-SCLF2 decoder using the original flip metric, and the D-SCLF2 using f line β=0. 4 refers to the D-SCLF2 decoder using the new simplified flip metric. The list size of these decoders is 4. In these figures, the left sub-graphs represent the FER performance, and the right sub-graphs represent the corresponding average complexity performance. Since the average complexity of the D-SCLF ( or CA-SCL) decoder is O((T av + 1) × LNlogN) (or O(LNlogN)), we can use L av to represent the average complexity, where L av = (T av + 1) × L for the list flip decoder (or L av = L for the CA-SCL decoder ). T av represents the average number of extra decoding attempts. The dashed lines in these figures represent the performance of DSCLF-2 with the original f β=0.4 (·) function, and the solid line represents the performance of D-SCLF2 with the new f line β=0.4 (·) function. The AWGN channel, BPSK modulation, and the Gaussian Approximation (GA) construction algorithm [26] with a fixed E b /N 0 of 4 dB are used. The generator polynomial of the 24 CRC bits is g(x) = x 24 + x 23 + x 6 + x 5 + x 1 + 1.        4 has a similar FER performance to that of the D-SCLF2 using f β=0. 4 . Therefore, our simplified flip metric does not reduce the high-order error correction capability brought by the original flip metric in the D-SCLF decoder, regardless of the z value. However, at some z values, the D-SCLF2 using f line β=0.4 may have greater L av than the D-SCLF2 using f β=0. 4 . The reason is that the new flip metrics corresponding to some z values are not effective enough, which makes the D-SCLF2 using f line β=0.4 need more decoding attempts to find the correct path. Thus, a fixed z value is required to ensure that the D-SCLF2 using f line β=0. 4 has similar or better performance to the D-SCLF2 using f β=0.4 under different operating conditions. It is worth mentioning that L av represents the complexity because it is proportional to the number of recursions of the LLR of the polar code, but L av does not count the calculations in the flip metric. Therefore, as long as the FER and L av of the D-SCLF2 using f line β=0. 4 and the D-SCLF2 using f β=0.4 are similar, our new flip metric is valid.
To better identify the fixed z value, we created Tables 1-3 to provide more details on the complexity comparison found in  In these tables, R c represents the reduction ratio of the current L av as compared to the L av corresponding to a "no z" situation; a "no z" situation refers to the D-SCLF2 using f β=0.4 , while a "z = x" situation refers to the D-SCLF2 using f line β=0. 4 with the z value of x. For easier understanding, we use the data in Table 1 as an example. In Table 1   Based on the above discussion, a fixed and appropriate z value should satisfy two points: (i) The FER performance of the DSCLF-2 using f line β=0.4 cannot be significantly worse than that of the D-SCLF2 using f β=0.4 ; (ii) The L av value of the DSCLF-2 using f line β=0.4 cannot be significantly greater than that of the D-SCLF2 using f β=0. 4 . Therefore, we choose a fixed z value based on the above two points and think of the first point as having a higher priority. Finally, we choose a z value of 5. Then, we can obtain the following equation: Thus, our simplified flip metric satisfies the equation below: where i > i t , and i t is the last element in S t . Moreover, we use the more understandable M line β (S t {i}) to represent the flip metric of high-order flip operations. In particular, and It is worth mentioning that the default value of z for our new flip metric is 5, which means that the simplified function remains consistent with Equation (8). Moreover, we will prove in Section 4 that the new flip metric with a z value of 5 is valid under different operating conditions.

The Adoption of the Adaptive List
Inspired by [22], we naturally thought of applying an adaptive list to the D-SCLF decoder to reduce its average complexity. Compared with [22], we provide a more in-depth discussion on the reasons for this application as well as more in-depth theoretical analyses of the impact of this application on performance. Furthermore, we verify these theoretical analyses by simulation in Section 4.
Since a list flip decoder is converted into a list decoder when T = 0, we use the default value of T > 0 to better analyze the combination of the list flip decoder and the adaptive list.
The negative impact of applying an adaptive list in list flip decoders is lower than that of applying the adaptive list in list decoders. We denote L w av as the L av for the worst case, and L max as the maximum list size. Then, the L w av of the CA-SCL decoder and the CA-SCL decoder using an adaptive list [8] is L max and 2 × L max − 1, respectively. The L w av of a list flip decoder and the list flip decoder with an adaptive list is (T + 1) × L max and (T + 2) × L max − 1, respectively. Since T > 0, we can obtain 2×L max −1 Therefore, the negative impact of applying the adaptive list on the list flip decoder is lower. In particular,

approaches 1 when T increases. A list flip decoder with an adaptive list (LFD-w) and the same list flip decoder without the adaptive list (LFD-o) have similar error-correction performance.
To illustrate this, we divided all possible decoding processes of an LFD-w into three cases: • Case 1: The LFD-w can output the path passing CRC when the current list size is L cur and L cur < L max ; • Case 2: The LFD-w can output the path passing CRC when the current list size is L cur and L cur = L max ; • Case 3: The LFD-w cannot output the path passing CRC.
For case 1, the PM value of the path passing CRC is small enough to always be retained by a small list, which means that the path has a high probability of being retained by a larger list as well. In other words, the LFD-o can find this path with a high probability.
For case 2, the path passing CRC can be found by the LFD-w when L cur = L max , which means the correct path can also be found by the LFD-o with a list of list size L max .
For case 3, if the path passing CRC cannot be found by the LFD-w, the LFD-o also fails to find the path since the LFD-w includes the LFD-o.
According to the above analyses, the error-correction performance of the LFD-w may be consistent with that of the LFD-o. However, there are two special situations included by the above cases. One is that a small size list (L < L max ) can preserve the correct path, but a large size list (L = L max ) may prune the correct path since the PM value of the correct path may be more than that of other candidate paths in this large size list. The other is that a wrong path passing CRC can be preserved by a small size list (L < L max ) but be removed by a larger size list (L = L max ). Both of these special situations will affect the error-correction performance of the LFD-w and the LFD-o to a certain extent. Considering that these two cases are relatively rare and that CRC is a reliable verification method, the LFD-w and the LFD-o have similar error-correction performance.
The introduction of the adaptive list greatly reduces the complexity of the list flip decoders at a high SNR. We denote L b av as the L av for the best case. Then, the L b av of an LFD-w and an LFD-o is 1 and L max , respectively. Therefore, the LFD-w can efficiently reduce the complexity of the LFD-o when L max > 1 and the SNR is high.
Based on the above analyses, we believe the combination of the adaptive list and the list flip decoder is very suitable. Furthermore, we propose our ALF decoder by adopting the simplified flip metric and an adaptive list; its details are described in Section 3.3.  consisting of L paths with bigger PM from (i) .û N 1 is the estimated sequence of u N 1 . When L cur < L max , SCLDecoding(∅, L cur ) is performed to obtainû N 1 . If theû N 1 passes CRC, ALF decoding is terminated and outputs the currentû N 1 . If not, L cur is updated to 2 × L cur and the ALF decoding continues.

Details of the ALF Decoder
When L cur = L max , SCLDecoding(S t , L max ) is performed to obtainû N 1 . If theû N 1 passes CRC, the ALF decoding is terminated and outputs the currentû N 1 . If not, (S, M) is updated by performing the UpdateFlipList(·) function, t is updated to t + 1, and the ALF decoding continues.

Algorithm 1: ALF decoder
Input: T, L max . It is worth noting that S t refers to the tth element in S.
If 0 < t < T, S will be updated by inserting new flip . After S is updated, M will store the new flip metrics corresponding to the updated S, which satisfies M . It is worth noting that the new S T in the updated S is the S T−1 in the S before being updated.
If t T, S and M will not be updated.

Simulation Results and Discussions
In this section, we compare the performance of the ALF decoder, the D-SCLF decoder, and the CA-SCL decoder. The default value of z for our new flip metric is 5. The order of the list flip decoders is 2 for comparing the high-order error-correction capacity. The AWGN channel, BPSK modulation, and the GA construction algorithm with a fixed E b /N 0 of 4 dB are used. The generator polynomial of the 24 CRC bits is g(x) = x 24 + x 23 + x 6 + x 5 + x 1 + 1.
To further verify whether our simplified flip metric is still valid with different code rates, we plotted Figures 6 and 7, which show the comparison of the performance of the D-SCLF2 decoder using the original flip metric and the D-SCLF2 decoder using the simplified flip metric for different code rates. In these figures, solid lines represent the performance of the D-SCLF2 decoder using our simplified flip metric, and dotted lines represent the performance of the D-SCLF2 decoder using the original flip metric. L max = 4.
We noticed that these two kinds of curves under the same parameters almost overlap, which means our simplified flip metric is still valid for different code rates and T values. Moreover, the D-SCLF2 decoder using the simplified flip metric has better FER performance than the D-SCLF2 decoder using the original flip metric in some nodes. The reason is that the original flip metric is only an approximation of the occurrence probability of high-order errors, and the accuracy of this flip metric has room for further optimization.
To verify the theoretical analyses of the adaptive list in Section 3.2, we drew Figures 8  and 9, which show the comparison of the performance of the original D-SCLF2 decoder and the D-SCLF2 decoder using the adaptive list. In these figures, solid lines represent the performance of the D-SCLF2 decoder using the adaptive list, and dotted lines represent the performance of the original D-SCLF2 decoder. It is worth noting that the Lmax of the D-SCLF2 decoder using the adaptive list is equal to the list size of the original D-SCLF2 decoder; L max = 4. With the same code rate and T, we observed that the FER performance curves of the two decoders almost overlap, which means these two decoders have similar error-correction performance. Moreover, it can be seen in Figure 9 that the average complexity of the D-SCLF2 decoder using the adaptive list is significantly lower than that of the original D-SCLF2 decoder at FER = 10 −3 , which means that the introduction of the adaptive list greatly reduces the complexity of the D-SCLF2 decoder at a high SNR. Therefore, the simulation results are consistent with the theoretical analyses in Section 3.2. To compare the performance of our ALF2 decoder and the D-SCLF decoder, we drew Figures 10 and 11, which show the performance comparison of the original D-SCLF2 decoder and our ALF2 decoder for different code rates. In these figures, solid lines represent the performance of our ALF2 decoder, and dotted lines represent the performance of the original D-SCLF2 decoder. Figure 10 shows that our ALF2 has an FER performance similar to that of the D-SCLF2 decoder with the same code rate and T. Moreover, the ALF2 decoder has better FER performance than the D-SCLF2 decoder in some nodes since the accuracy of the original flip metric has room for further optimization.  Figure 11 shows a comparison of the average complexity performance of the different decoders in Figure 10. We noticed that as E b /N 0 is increased, the average complexity of the ALF2 decoder and the DSCLF2 decoder all decrease regardless of the code rate and T value. In all cases, the average complexity of our ALF2 decoder always decreases faster than the D-SCLF2 decoder. In particular, when T = 15 and E b /N 0 = 2.5dB, our ALF2 decoder can reduce the average complexity of the D-SCLF2 decoder by 68.35% without losing error-correction performance.
To show the complexity performance more clearly, we created Tables 4-6, which show the details of the comparison of the average complexity performance in Figure 11.  6 show that the average complexity of our ALF decoder is significantly lower than that of the D-SCLF2 decoder in the E b /N 0 range corresponding to FER ∈ [10 −2 , 10 −3 ]. However, at low E b /N 0 , the complexity of ALF2 may be higher than that of the D-SCLF2 decoder due to the negative impact of the adaptive list discussed in Section 3.2. However, the high complexity at low E b /N 0 is a problem faced by all list flip decoders (or list decoders with extra decoding attempts). Therefore, in a channel with generally large noise, it is more appropriate to directly use the list decoder with the same error-correction performance. For example, as shown in Figure 12, we can use the decoder of the CA-SCL decoder (L = 32) to replace the ALF2 decoder (L max = 4, T = 50) or the D-SCLF2 decoder (L max = 4, T = 50) when the channel noise is generally large. That is to say, in the scenario where there is no memory limitation and the channel noise is generally large, we can replace the list flip decoder with a list decoder. For other scenarios, our decoder is a suitable choice due to its significantly lower complexity and smaller list size. To further verify the advantages of our algorithm, we created Figures 13 and 14, which show the performance comparison of the original D-SCLF2 decoder and our ALF2 decoder for different code lengths. In these figures, solid lines represent the performance of our ALF2 decoder, and dotted lines represent the performance of the original D-SCLF2 decoder. Figure 13 shows that our ALF2 decoder has an FER performance similar to that of the D-SCLF2 decoder with the same code length. Furthermore, the ALF2 decoder also has better FER performance than the D-SCLF2 decoder in some nodes, such as the phenomenon in Figure 10, since the accuracy of the original flip metric has room for further optimization. Figure 14 shows the average complexity performance comparison of the different decoders in Figure 13. We noticed that as E b /N 0 is increased, the average complexity of the ALF2 decoder and the DSCLF2 decoder all decrease, regardless of code lengths. In all cases, the average complexity of our ALF2 decoder always decreases faster than the D-SCLF2 decoder.
Based on the above simulation results, we can conclude that in the practical FER range and in a wide range of code lengths and code rates, our ALF decoder has a significantly lower average complexity than the D-SCLF decoder with a similar error-correction performance. In particular, the new flip metric employed by our ALF decoder can greatly reduce the nonlinear operations introduced by the original flip metric of the D-SCLF decoder without affecting the error correction performance. Moreover, the z value of the new flip metric is fixed, and the value is 5.

Conclusions
To further develop the list flip decoder of polar codes, a new ALF decoder with highorder error correction capability was designed in this paper. Although an existing D-SCLF decoder can achieve high-order error correction capabilities by employing a flip metric, this flip metric introduces new exponential and logarithmic operations. However, the number of these operations increases exponentially as the number of non-frozen bits and the order of error correction increase. To overcome this problem, we designed a new, simplified flip metric, which replaces the logarithmic and exponential operations in the original flip metric with multiplication and addition operations. Simulation results prove that the new flip metric does not reduce the error-correction performance of the existing D-SCLF decoder. In addition, we adopted the adaptive list to further reduce the complexity based on in-depth analyses of the combination of the adaptive list and the list flip decoder. Simulation results show that our ALF decoder can effectively reduce the average complexity (energy) of the existing D-SCLF decoder without losing error-correction performance.
To further exploit the performance potential of list flip decoders, a more accurate flip metric for high-order error correction is worth exploring in future research work.