An enhanced polar code eprefast-scl decoding method
Patent Information
- Application Number
- CN202310635787.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-31
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2043-05-31
AI Technical Summary
然而上述方法在进行CA-SCL译码过程中,并没有考虑到译码失败后译码器后续不必要的译码操作,造成资源浪费
[0014]An enhanced EPreFast-SCL decoding method is proposed for polar codes. This method divides the information sequence into k uniform segments, placing a CRC code at the end of each segment from the first to the (k-1)th segment to verify that segment, and a CRC code for verifying the entire sequence at the end of the last segment. After the first Fast-SC decoding fails, it immediately switches to ISCA-SCL decoding; otherwise, it directly outputs the decoding result. This method offers the following advantages: 1. It reduces the number of path sorting, copying, and deletion operations during decoding, further reducing the computational complexity of SCL decoding. 2. It reduces the probability of erroneous paths passing through due to errors in the first segment's CRC during channel transmission, thus improving decoding performance.
Smart Images

Figure CN116915263B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of channel coding technology and relates to an enhanced preFast Successive Cancellation List (EPreFast-SCL) decoding method for channel coding. This method mainly applies an improved segmented CRC check mode to the segmented CRC-aided SCL (SCA-SCL) decoding method to obtain an improved SCA-SCL (ISCA-SCL) decoding method. Furthermore, it combines the ISCA-SCL decoding method with the Fast Successive Cancellation (Fast-SC) decoding method; when Fast-SC decoding fails, ISCA-SCL decoding is immediately executed. Background Technology
[0002] Polar codes are a novel channel coding scheme that has been theoretically proven to achieve Shannon capacity, and have become a research hotspot in academia due to their low encoding and decoding complexity.
[0003] Successive Cancellation (SC) decoding has low decoding complexity and reaches its theoretical optimum when the code length approaches infinity. However, the performance of SC decoding in practice is not ideal. To improve decoding performance, some researchers have proposed the Successive Cancellation List (SCL) decoding method. This method retains as many decoding paths as possible during the decoding process, improving the poor decoding performance of SC decoding with short to medium code lengths, but also increasing the decoding complexity. To further improve decoding performance, some researchers have proposed the CRC-Aid SCL (CA-SCL) decoding method by concatenating Cyclic Redundancy Check (CRC) codes with polar codes, further improving decoding performance, but not solving the problem of excessively high decoding complexity.
[0004] To reduce the complexity of CA-SCL decoding, researchers proposed the PreFastSuccessive Cancellation List (PreFast-SCL) decoding method. This algorithm combines Fast-SC (Fast-SC) and CA-SCL decoding. At the beginning of decoding, Fast-SC is used to obtain a set of decoding results, which are then verified. If the verification passes, the result is output; otherwise, CA-SCL decoding is used to ensure reliability. This method achieves decoding performance almost equal to or higher than CA-SCL while maintaining lower complexity. However, the above methods do not consider unnecessary subsequent decoding operations after a decoding failure during CA-SCL decoding, resulting in wasted resources. To address the issue of decoders continuing unnecessary decoding operations after decoding failures, this invention proposes an improved segmented CRC code verification mode. This improved mode is then applied to the Segment CRC Aid SCL (SCA-SCL) decoding method, resulting in an improved SCA-SCL (ISCA-SCL) decoding method. Finally, the ISCA-SCL decoding method is combined with the Fast-SC decoding method to propose an enhanced preFast Successive Cancellation List (EPreFast-SCL) decoding method with lower decoding complexity and better decoding performance. Summary of the Invention
[0005] In view of this, the purpose of this invention is to provide an EPreFast-SCL decoding method based on an improved segmented CRC code verification mode for polar codes. The improved segmented CRC code verification mode is applied to the SCA-SCL decoding method to obtain the ISCA-SCL decoding method. Furthermore, the ISCA-SCL decoding method is combined with the Fast-SC decoding method. After a Fast-SC decoding failure, ISCA-SCL decoding is immediately performed, thereby improving decoding performance and reducing computational complexity.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] First, the polar code length N, the number of information bits m, and the number of CRC bits r are selected. Then, the reliability metric for each channel is calculated using the Gaussian approximation method, and the results are sorted from highest to lowest to obtain the split channel position index value sequence. Then, select the better m+r channels from the N polarization channels to transmit the non-frozen bit set A, and use the remaining Nmr channels to transmit the frozen bit set A. c Then through A and A c Identify special nodes such as R1 node, SPC node, REP node, and R0 node. R1 node is a sub-polar code block containing only information bits. SPC node is a sub-polar code block where all bits except the first bit are information bits. REP node is a sub-polar code block where all bits except the last bit are information bits. R0 node is a sub-polar code block containing only frozen bits.
[0008] First, the information bits of length m are evenly divided into k segments, denoted as inf1, inf2, ..., inf1. k Secondly, according to inf n (n∈[1,k-1]) Generate a check bit CRC of length r / k. n Used to verify the nth information sequence, and finally based on inf1, CRC1...inf k-1 CRC k-1 Generate a CRC checksum of length r / k. k Used to verify each segment of the sequence, ultimately obtaining the sequence.
[0009]
[0010] Next, the sequence Polar code encoding is performed to encode the sequence. The unfrozen bits are input to the polar code encoder for polar code encoding to obtain the polar code encoded codeword. Then Transmission is carried out through the incoming channel.
[0011] Finally, at the receiving end, the corresponding decoding method is adopted. First, the codeword sequence is decoded by Fast-SC, and the estimated sequence is verified. If the verification is successful, the decoding result is output directly; otherwise, the ISCA-SCL decoding method is performed.
[0012] In the same simulation environment, the enhanced polar code EPreFast-SCL decoding method proposed in this patent will be compared and analyzed with other similar decoding methods.
[0013] The beneficial effects of this invention are as follows:
[0014] An enhanced EPreFast-SCL decoding method is proposed for polar codes. This method divides the information sequence into k uniform segments, placing a CRC code at the end of each segment from the first to the (k-1)th segment to verify that segment, and a CRC code for verifying the entire sequence at the end of the last segment. After the first Fast-SC decoding fails, it immediately switches to ISCA-SCL decoding; otherwise, it directly outputs the decoding result. This method offers the following advantages: 1. It reduces the number of path sorting, copying, and deletion operations during decoding, further reducing the computational complexity of SCL decoding. 2. It reduces the probability of erroneous paths passing through due to errors in the first segment's CRC during channel transmission, thus improving decoding performance. Attached Figure Description
[0015] To make the objectives, technical solutions, and beneficial effects of this invention clearer, the following figures are provided for illustration:
[0016] Figure 1 This is a technical roadmap of the method of the present invention;
[0017] Figure 2 This is a schematic diagram of a special node in Fast-SC polar code decoding;
[0018] Figure 3 This is a schematic diagram of a traditional CRC checksum structure.
[0019] Figure 4 A schematic diagram of the CRC code verification structure for improving the verification mode;
[0020] Figure 5 A comparison of the block error rate performance of four polar code decoding methods when the code length N = 512 and the number of segments is 2;
[0021] Figure 6 Simulation diagram showing the average number of decoding sorts for different decoding methods under different numbers of decoding lists. Detailed Implementation
[0022] The preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0023] (1) Combined with appendix Figure 1 The specific implementation method of one of the EPreFast-SCL decoding methods in polar codes is as follows:
[0024] In the polar code encoding stage, the code length N, the number of information bits m, and the number of CRC bits r of the polar code to be designed are first selected. The reliability metric value of each channel is calculated using the Gaussian approximation method and sorted from high to low to obtain the split channel position index value sequence. Then, select the better m+r channels from the N polarization channels to transmit the non-frozen bit set A, and use the remaining Nmr channels to transmit the frozen bit set A.c Then through A and A c Special nodes are identified, including R1, SPC, REP, and R0. R1 is a sub-polarized code block containing only information bits; SPC is a sub-polarized code block where all bits except the first (which is a frozen bit) are information bits; REP is a sub-polarized code block where all bits except the last (which is an information bit) are frozen bits; and R0 is a sub-polarized code block containing only frozen bits. First, the information bits of length m are evenly divided into k segments, denoted as inf1, inf2, ..., inf. k Secondly, according to inf n (n∈[1,k-1]) Generate a check bit CRC of length r / k. n Used to verify the nth information sequence, and finally based on inf1, CRC1...inf k-1 CRC k-1 Generate a CRC checksum of length r / k. k Used to verify each segment of the sequence, ultimately obtaining the sequence. Next, the sequence Polar code encoding is performed to encode the sequence. The unfrozen bits are input to the polar code encoder for polar code encoding, and the encoded codewords are obtained. Then Transmission is carried out through the incoming channel.
[0025] At the receiving end, the value of the received signal is first converted into the logarithm likelihood ratio (LLR), as shown in equation (1).
[0026]
[0027] In equation (1), y i σ represents the received signal value for each bit. 2 This represents the variance of the channel noise. Then, for each path, the decision LLR for each bit is obtained by performing the corresponding f and g operations.
[0028] L≈sign(L1)sign(L2)min{|L1||L2|}(2)
[0029] L=(1-2U1)L1+L2 (3)
[0030] Equation (2) represents the f operation which is easy to implement in hardware, and Equation (3) represents the g operation, where L represents the LLR of the operation output, L1 and L2 represent the LLR of the input operation, and U1 represents the decoding estimate of the previous bit of the input operation.
[0031] First, Fast-SC decoding is performed on the codeword sequence to obtain a set of results. The decoding results are then verified. If the verification passes, the result is output; otherwise, ISCA-SCL decoding is performed. The SCL decoding method is used to decode the codeword sequence and the PM value is updated according to formula (4). When the last bit of the nth segment is decoded, the information bits belonging to set A in that segment are extracted and processed using CRC. n Perform verification, assuming it passes through CRC. n If the number of paths being verified is L, then there are two possible scenarios:
[0032] 1. When L = 0, decoding fails, and decoding is restarted.
[0033] 2. If L≠0, then the path with the smallest PM value is selected as the partial decoding result.
[0034] Continue SCL decoding from the first bit of the (n+1)th segment of the verified sequence until all bits have been decoded. Finally, use CRC... k The decoded sequence is verified. If at least one path passes the verification, the path with the smallest PM value is selected as the decoding result output. If no path passes the verification, the path with the smallest PM value among all paths is selected as the decoding result output.
[0035]
[0036] in u represents the path metric of the l-th decoding path after decoding the i-th bit. i,l This represents the decoding estimate of the i-th bit in the l-th decoding path. LLR represents the decoding decision of the i-th bit in the l-th decoding path.
[0037] (2) Combined with the appendix Figure 2 Instructions on how to quickly decode using special nodes:
[0038] 1. For a code with a code rate of 0 (Rate 0, R0), all source bits are frozen bits, and all bits are decoded to 0;
[0039] 2. For repetition codes (Rep), except for u N Except for the one mentioned above, all others are frozen positions. S is the sum of the received log-likelihood ratios. If S≥0, all bits are decoded into a sequence of all 0s; otherwise, they are decoded into a sequence of all 1s.
[0040] 3. For a Single Parity Check (SPC) code, all bits except u1 are information bits. Let the received signal be (y1, y2, ..., y...). NFirst, a set of bit sequences (β1, β2, ..., β) is obtained by using formula (5). N ).
[0041]
[0042] like Then the decoding ends, (β1,β2,...,β) N This is the maximum likelihood decoding result; if make The formula for calculating p is as follows:
[0043]
[0044] (β1,β2,...,β N This is the result of the maximum likelihood decoding.
[0045] 4. For a code with a code rate of 1 (Rate 1, R1), all source bits are information bits. Let the received signal be (y1, y2, ..., y...). N According to formula (5), each received signal is hard-determined to obtain the hard-determined sequence (β1, β2, ..., β). N This is the result of the maximum likelihood decoding.
[0046] (3) Combined with appendix Figure 3 Sections 4, 5, and 6 demonstrate the superiority of the proposed decoding method, as follows:
[0047] The CA-SCL decoding method is the scheme proposed in reference [1] "Niu Kai, Chen Kai. CRC-Aided Decoding of Polar Codes[J].IEEE Communications Letters,2012,16(10):1668-1671."
[0048] The SCA-SCL decoding method is the scheme proposed in reference [2] "H.Zhou,C.Zhang,W.Song,S.Xu and X.You, "Segmented CRC Aided SC List Polar Decoding,"2016IEEE 83rd Vehicular Technology Conference (VTC Spring),Nanjing,2016:1-5."
[0049] The PreFast-SCL decoding method is the scheme proposed in reference [3] "Ye Maolin, Tan Xiaoqing, Xu Liqing, Lü Shanxiang. Polar code adaptive channel decoding algorithm [J]. Journal of Shenzhen University (Science and Engineering Edition), 2022, 39(05): 521-528."
[0050] Since the SCA-SCL decoding method in reference [2] does not take into account the situation where the CRC code itself is erroneous during channel propagation, the EPreFast-SCL decoding method proposed in this invention improves the above-mentioned shortcomings by using the last segment of the CRC code to verify the entire sequence. When Fast-SC decoding fails, ISCA-SCL decoding is entered. If the CRC code is erroneous during transmission and the erroneous path passes the verification, it will lead to error propagation. At this time, the last segment of the CRC code plays a key role. After decoding, the CRC code will verify the entire decoding result, improve decoding performance, and reduce decoding complexity. Figure 5 With a code length N = 512, a segment number of 2, and a code rate of... Simulation results of block error rate for each algorithm when (k is the number of information bits transmitted) are shown. All other simulation parameters are set the same, i.e., the number of decoding lists L = 8, all decoding methods use 16-bit CRC code, all methods use BPSK modulation, and the channel uses additive white Gaussian noise. Figure 6 The average number of sorting operations per decoding operation for each method under different decoding lists was statistically analyzed.
[0051] Depend on Figure 5 It can be seen that the block error rate of the EPreFast-SCL decoding method proposed in this invention is lower than that of other decoding methods, especially at code length N = 512 and BLER = 10. -4 At that time, the EPreFast-SCL decoding method showed performance gains of approximately 0.13 dB and 0.15 dB compared to the Segment-CRC and PreFast-SCL decoding methods, respectively. Figure 6 It can be seen that, at L=32, the decoding method proposed in this invention reduces the average number of sorting operations by about 5% compared to the PreFast-SCL decoding method and by about 47% compared to the CA-SCL decoding method. Furthermore, the decoding method proposed in this paper has the fewest average number of sorting operations compared to the other three methods, and its complexity is lower.
Claims
1. A decoding method for an enhanced polar code pre-fast successive cancellation list (EPreFast-SCL), characterized in that: To address the high decoding complexity caused by the lack of an early stopping strategy in the Successive Cancellation List (SCL) decoder in the PreFast Successive Cancellation List (PreFast-SCL) decoding method, this paper first analyzes the shortcomings of the segmented CRC check mode and proposes an improved segmented CRC check mode. Then, this improved check mode is applied to the Segment CRC Aid SCL (SCA-SCL) decoding method to obtain the improved SCA-SCL (ISCA-SCL) decoding method. Finally, this ISCA-SCL decoding method is further combined with the Fast Successive Cancellation (Fast-SC) decoding method. In the actual decoding process, the Fast-SC decoding method is used first; if Fast-SC decoding fails, ISCA-SCL decoding is then performed. The specific steps of this method are as follows: Step 1: Let the polar code length N, the number of information bits m, and the CRC code length r. Calculate the reliability metric for each split channel using the Gaussian approximation method. Sort all split channels from highest to lowest reliability to obtain the sorted sequence of split channel position index values. Step 2: Select the first m+r split channels with the highest reliability, that is... The split channels corresponding to the first m+r index values are taken as the set A of non-frozen bits, and the remaining Nmr split channels are taken as the set A of frozen bits (usually set to 0). c Then through A and A c Identify special nodes such as R1 node, SPC node, REP node, and R0 node. R1 node is a subpolar code block containing only information bits, SPC node is a subpolar code block where all bits except the first bit are information bits, REP node is a subpolar code block where all bits except the last bit are information bits, and R0 node is a subpolar code block containing only frozen bits. Step 3: First, divide the information bits of length m into k evenly, denoted as inf1, inf2, ..., inf1. k Secondly, according to inf n (n∈[1,k-1]) Generate a check bit CRC of length r / k. n Used to verify the nth information sequence, and finally based on inf1, CRC1...inf k-1 CRC k-1 Generate a CRC checksum of length r / k. k Used to verify each segment of the sequence, ultimately obtaining the sequence. Step 4: Process the sequence Polar code encoding is performed to encode the sequence. The unfrozen bits are input to the polar code encoder for polar code encoding to obtain the encoded codeword. Then Transmission is carried out through the incoming channel; Step 5: Sequence Perform Fast-SC decoding and obtain a set of estimated sequences. Perform a verification; if the verification passes, the decoding ends; otherwise, proceed to the next step. Step Six: Decode using the SCL decoding method. When the last bit of the nth segment is decoded, extract the information bits belonging to set A of that segment and use CRC. n Perform verification, assuming it passes through CRC. n If the number of paths being verified is L, then there are two possible scenarios:
1. When L = 0, decoding fails, and decoding is restarted.
2. If L≠0, then the path with the smallest PM value is selected as the partial decoding result. Step 7: Continue SCL decoding from the first bit of the (n+1)th segment of the sequence that passed the check in Step 6 until all bits have been decoded. Finally, use CRC. k The decoded sequence is verified. If at least one path passes the verification, the path with the smallest PM value is selected as the decoding result output. If no path passes the verification, the path with the smallest PM value among all paths is selected as the decoding result output.