Polarization code decoding improved algorithm based on SCA-SCL-BF
By adopting the SCA-SCL-BF algorithm, combined with the MCAN model and the heuristic capacity construction method, the high complexity and low performance problems of polar codes on the PLC channel are solved, and the decoding performance is improved and the computational complexity is reduced.
Patent Information
- Application Number
- CN202410240035.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-09-05
AI Technical Summary
Existing polar code decoding algorithms suffer from high complexity and low decoding performance on power line communication channels, especially on PLC channels, and lack a systematic performance improvement solution.
An improved polar code decoding algorithm based on SCA-SCL-BF is adopted. By selecting the power line channel noise model MCAN model, combining the heuristic capacity construction method and the SCA-SCL-BF algorithm of the Rate1 sub-block for encoding and decoding, the full set search is avoided and the decoding accuracy and efficiency are improved.
It significantly improves the decoding performance on the power line communication channel, reduces the computational complexity, and improves the ability to accurately flip erroneous bits, showing better decoding performance and bit error rate performance than other algorithms.
Smart Images

Figure CN120601896A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of polar code decoding, and in particular relates to an improved polar code decoding algorithm based on SCA-SCL-BF. Background Art
[0002] Power line communication (PLC) is a communication method that utilizes existing power line resources to transmit signals. Due to its low cost and wide coverage, this method has become a key competitive technology in communications and networking. However, since power lines were not originally used as channels for signal transmission, the channel characteristics are relatively poor. Researchers have been working to improve their reliability and effectiveness, with channel coding being a key technology. Among modern coding schemes, low-density parity check codes (LDPC), turbo codes, and polar codes have been evaluated on PLC channels and have shown significant performance gains. Compared to LDPC and turbo codes, polar codes have lower complexity and are the first error-correcting codes proven to reach the Shannon limit. Therefore, the main research focus of this paper is to improve the encoding and decoding methods of polar codes and apply them to PLC channels.
[0003] In 2009, Arikan comprehensively described the theory of channel polarization, proposed polar codes, and proposed the Successive Cancellation (SC) decoding algorithm based on the recursive coding structure of polar codes. Ido Tal et al. The Successive Cancellation List (SCL) decoding algorithm was developed. Unlike the SC decoder, the SCL decoder retains up to L decoding paths during decoding and then selects the final path as the decoding result based on path metrics or a cyclic redundancy check (CRC). The SCL decoder significantly improves the decoding performance of polar codes, bringing them to par with other error-correcting codes. However, the retention of multiple decoding paths during decoding results in higher decoding latency and computational complexity.
[0004] The decoding performance of polar codes has been continuously improving in recent years. However, most decoding algorithms are designed for additive white Gaussian noise (AWGN) channels and lack systematic support for PLC channels. To address this, this paper proposes a segmented CA-SCL bit flip (SCA-SCL-BF) decoding algorithm based on the Rate 1 sub-block. This algorithm avoids the complexity of a full-set search during bit flipping, enabling faster and more accurate detection of erroneous bits and improving decoding performance. Summary of the Invention
[0005] Technical problem: Propose an algorithm to improve the transmission performance of polar codes over power line channels. This decoding algorithm can avoid the complexity of full-set search, find erroneous bits faster and more accurately, and improve decoding performance.
[0006] Technical Solution: The purpose of the present invention is to provide an improved polar code decoding algorithm based on SCA-SCL-BF. To achieve the above purpose, the present invention includes the following steps:
[0007] Step S101: Select a power line channel noise model, construct and encode polar codes, and calculate log-likelihood ratios.
[0008] Step S102: Encoding and decoding using the SCA-SCL-BF algorithm based on the Rate1 sub-block;
[0009] Step S103 , simulating the SCA-SCL-BF algorithm in a PLC (power line) channel and an AWGN (additive white Gaussian noise) channel;
[0010] Step S104: Comparative analysis is performed on the simulation results to verify the superiority of the SCA-SCL-BF algorithm.
[0011] 2. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, characterized in that, in step S101, a power line channel noise model is selected to construct and encode the polar code and calculate the log-likelihood ratio, specifically comprising: selecting the MCAN (Middleton Class-A Noise) model as the power line channel noise model, which reduces simulation complexity and computational cost;
[0012] The MCAN model includes background noise and impulse noise. After transmission through the power line carrier channel, it can be expressed as:
[0013] (1)
[0014] In the above formula: Represents the noise of the MCAN model. It includes power The background noise, and the power is Impulse noise. Its probability density function is expressed as:
[0015] (2)
[0016] in:
[0017] (3)
[0018] (2) Where: is the impulse index, is the Gaussian pulse power ratio, , the total noise variance .
[0019] The polar code is constructed using the Gaussian approximation method in the AWGN channel and the heuristic capacity-based construction method in the PLC channel;
[0020] The Bhattacharyya parameter is a measure of channel reliability. In a binary erasure channel (BEC), its value is the channel erasure probability. Its representation in a continuous channel is as follows:
[0021] (4)
[0022] In the actual AWGN channel, it can be calculated that:
[0023] (5)
[0024] (5) Where: It represents the variance of the noise in the channel. When extended to the PLC channel, the Bhattacharyya parameter can be expressed as:
[0025] (6)
[0026] use represents the Bhattacharyya parameter of the polarized channel, and its recursive relationship can be expressed as:
[0027] (7) (8)
[0028] In the above formula, is an integer, and The upper bound method of Bhattacharyya parameter is mainly used in BEC channel. By setting the initial value of Bhattacharyya parameter (generally the initial value ) to solve for the Bhattacharyya parameter values for the remaining channels. Channels with smaller Bhattacharyya parameter values are selected to transmit information bits, while channels with larger Bhattacharyya parameter values transmit frozen bits. This construction method is relatively simple, as the selection of information bits is only based on channel characteristics, so it has certain limitations.
[0029] Therefore, this paper adopts a heuristic capacity-based construction method when constructing polar codes on the PLC channel. The difference between this method and the upper bound method of the Bhattacharyya parameter is that the initial value of the channel Bhattacharyya parameter is no longer uniformly set. Instead, the initial value of the channel Bhattacharyya parameter is determined by equation (6). Therefore, the construction result will change depending on the signal-to-noise ratio (SNR). The optimal coding structure under a specific SNR value may not be the optimal structure under other SNRs. After calculating the initial value of the Bhattacharyya parameter based on different SNRs, the channel selection is completed.
[0030] The polar code has a length of The sequence encoding process can be expressed as:
[0031] (9)
[0032] (9) Where: represents the encoded codeword sequence, represents the source sequence, represents the generator matrix. When , the matrix G 2 =F= [ 1 0 1 1 ] .
[0033] Generating Matrix Expressed as:
[0034] (10)
[0035] (10) Where: ” denotes Kronecker multiplication. express The identity matrix of order, yes permutation matrix of order.
[0036] During the decoding process, we need to first calculate the log-likelihood ratio of the received signal, and then make a judgment based on the value of the log-likelihood ratio.
[0037] (11)
[0038] Defining a function :
[0039] (12)
[0040] Then formula (11) can be expressed as:
[0041] (13)
[0042] 3. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, wherein the encoding and decoding using the SCA-SCL-BF algorithm based on the Rate 1 sub-block in step S102 specifically comprises the following steps:
[0043] 1) The information bits are segmented and encoded into the channel.
[0044] 2) After receiving the codeword, perform SCL decoding bit by bit.
[0045] 3) Determine whether the decoding of this section is completed.
[0046] 4) If yes, yes The paths are sorted by the lowest path metric (PM) value, otherwise go to step 2).
[0047] 5) Determine whether any path passes the CRC check.
[0048] 6) If yes, go to step 7), otherwise go to step 8).
[0049] 7) Determine whether all segments have been decoded. If so, output the final decoded sequence. Otherwise, execute step 2).
[0050] 8) Bit flipping metric for key sets (See formula (14)) for sorting.
[0051] 9) The path with the lowest PM value is retained as the initial path. Bit flipping is performed according to the order in step 8), one bit at a time. After the flipping, SC decoding is performed.
[0052] 10) Determine whether the decoding result passes the CRC check. If so, execute step 7). Otherwise, execute step 11).
[0053] 11) The number of flips is increased by 1.
[0054] 12) Determine whether it is greater than the maximum number of flips If yes, the decoding fails, otherwise go to step 9).
[0055] like Figure 3 Shown is the code length , information bit set A binary tree. White nodes represent that all its leaf nodes are frozen bits, black nodes represent that all its leaf nodes are information bits, and gray nodes represent that its leaf nodes have both frozen bits and information bits. This paper divides polar codes into Rate0 (R0) codes and Rate1 (R1) codes. R0 code is a code with a length of The sub-polarization code composed of continuous frozen bits, R1 code is a sub-polarization code with a length of The polarimetric sub-blocks A, B, C, and D are R1 sub-blocks with lengths of 1, 1, 2, and 4, respectively.
[0056] The probability of decoding an error for the entire codeword sequence can be broken down into the probability of decoding an error for each sub-block. After sub-block division, SC decoding changes from bit-by-bit decoding to sub-block-by-sub-block decoding. The probability of decoding an error for the first bit in each sub-block is the same as the probability of decoding an error for the entire sub-block, and only the first bit has this characteristic. In other words, if the current composite channel The channel reliability is high, and the probability of an error in the first bit of this subblock is approximately equal to the probability of an error in the entire subblock. In other words, if a decoding error occurs in this subblock, the first bit in this subblock will also be decoded incorrectly; if the first bit in this subblock is decoded correctly, the entire subblock will also be decoded correctly.
[0057] After the polar code is divided into R0 and R1 sub-blocks, the first bit of each R1 sub-block is selected to form a key set. .
[0058] In SCF decoding, the order of flipped bits is determined by the absolute value of the information bit LLR, but this flipping method cannot accurately flip to the first erroneous bit. As can be seen from the previous section, the reliability of the channel will directly affect the number of erroneous bits in each sub-block. When the channel reliability is low, the probability of introducing decoding errors caused by channel noise is also greater. Therefore, this paper adds the consideration of channel reliability when sorting the bits in the key set. First, channel adaptability training is performed to obtain the log-likelihood ratio of the information bit. and channel reliability, and then introduce the parameter , get the New metric value for each channel As shown below:
[0059] (14)
[0060] (14) Where: Indicates the reliability of the channel.
[0061] (15)
[0062] After verification under different code lengths and different signal-to-noise ratios, we found The decoding effect is best.
[0063] After constructing the key set, it can be found that More than half of the error-prone bits are concentrated in the first half of the information bit sequence. Therefore, the present invention adopts a segmentation method based on the position distribution of the error-prone bits in the key set:
[0064] • According to the measurement value First Sort the bits in .
[0065] • According to the maximum number of flips per segment and number of segments , before selecting Easy to misplace.
[0066] • Divide the segments into sections according to the distribution of these easily misplaced Easy to misplace.
[0067] For example, when the number of segments is 2, The easy misplacement corresponds to information bits, and the length of the R1 sub-block corresponding to the information bit is , then at the end of the sub-block, that is, The information bits are segmented, such as Figure 4 shown.
[0068] 4. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, wherein the step S103 of simulating the SCA-SCL-BF algorithm in a PLC (power line) channel and an AWGN (additive white Gaussian noise) channel specifically comprises:
[0069] The SCA-SCL-BF decoding algorithm is simulated and analyzed in the MATLAB environment. In the AWGN channel, the Gaussian approximation method is used to determine the information bits of the polarization code and the signal-to-noise ratio. , bit rate , SCA-SCL-BF segment number , an 8-bit CRC check code is added to each segment.
[0070] In the PLC channel, the polar code is constructed using a construction method based on heuristic capacity, and the code length is , bit rate , the MCAN model parameters are set as follows: , , the number of lists of SCA-SCL-BF decoding algorithm .
[0071] 5. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, wherein in step S104, a comparative analysis is performed on simulation results to verify the superiority of the SCA-SCL-BF algorithm.
[0072] Beneficial effects: In the above technical solution, the improved polar code decoding algorithm based on SCA-SCL-BF provided by the present invention has the following beneficial effects:
[0073] 1. A heuristic capacity-based construction method is used for polar code construction, and the SCA-SCL-BF algorithm is used for decoding, eliminating preprocessing steps and thus preventing the removal of useful information from the channel. 2. The SCA-SCL-BF decoding algorithm avoids the complexity of a full-set search during bit flipping, enabling faster and more accurate detection of erroneous bits, thereby improving decoding performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] Figure 1 Improved algorithm flow chart for polar code;
[0075] Figure 2 SCA-SCL-BF encoding and decoding algorithm flow;
[0076] Figure 3 The division of the binary tree sub-blocks with code length N=16;
[0077] Figure 4 It is the segmentation method of SCA-SCL-BF;
[0078] Figure 5 Comparison of BLER performance of different decoding algorithms;
[0079] Figure 6 Comparison of average list lengths of different decoding algorithms;
[0080] Figure 7 The decoding algorithm is compared with the results of reference [1]. DETAILED DESCRIPTION
[0081] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is described in detail below with reference to the accompanying drawings and implementation examples. It should be understood that the specific implementation examples described herein are only used to explain the present invention and are not intended to limit the invention.
[0082] An example implementation example is given below.
[0083] 1. Simulation in AWGN Channel
[0084] In AWGN channel, the signal-to-noise ratio , bit rate , SCA-SCL-BF segment number , each segment adds an 8-bit CRC check code, CA-SCL and SCLF algorithms add a 16-bit check code, the number of lists is and In code length 、 Under this condition, the maximum flip times of SCF, SCLF and SCA-SCL-BF decoding algorithms are all .
[0085] The generating polynomial of the 8-bit CRC check code is:
[0086] (16)
[0087] The generating polynomial of the 16-bit CRC check code is:
[0088] (17)
[0089] like Figure 5 The following table shows the results of SCF, CA-SCL, SCLF and SCA-SCL-BF decoding algorithms under the same simulation conditions and different code lengths. and Comparison of BLER performance when .
[0090] Figure 5 The two figures a and b in the middle represent the code length respectively Different decoding algorithms in the list number and When the decoding performance is , BLER is 10 -3 When the code length is 0, the SCA-SCL-BF decoding algorithm has a performance gain of 0.18 and 0.31dB compared with the SCLF and CA-SCL decoding algorithms respectively. When the number of lists is and The longer the code length, the more complete the channel polarization. The four decoding algorithms are compared with the code length. When , the decoding performance is improved. , the block error rate is 10 -5 When ,the SCA-SCL-BF decoding algorithm has a performance gain of 0.11 and 0.24 dB compared with the SCLF and CA-SCL decoding algorithms, respectively.
[0091] The SCA-SCL-BF decoding algorithm has good error performance for two reasons: first, it can more accurately flip to the first erroneous bit, preventing error propagation; second, it takes channel reliability into consideration when sorting bits in the key set, which is more effective than considering only LLR as a metric.
[0092] The average list length is used to represent the computational complexity of the algorithm. , It is the frozen bit, Direct decoding uses fixed bits, so only information bits are considered when calculating the average list length. In the SCA-SCL-BF decoding algorithm, the average list length is divided into the SCL decoding part and the bit flipping part, expressed as:
[0093] (18)
[0094] (18) Where: Indicates the length of the list, Indicates the The length of the list to be flipped. Indicates the The position of the flip, each segment Independent statistics, Expressed as:
[0095] (19)
[0096] (19) Where: Indicates flip position The corresponding The information bit length of the segment codeword. If no bit flipping is performed, the length of the list of the bit flipped part is 0.
[0097] like Figure 6 Indicates the code length and When , the number of lists is and Comparison of the average list length of the decoding algorithms.
[0098] from Figure 6 As can be seen from the figure, the longer the code length, the faster the average list length of the SCLF and SCA-SCL-BF decoding algorithms decreases. Although the average list complexity of the two decoding algorithms has increased significantly compared to the CA-SCL decoding algorithm, the increase of the SCA-SCL-BF decoding algorithm is significantly smaller and the decrease is also faster. As the signal-to-noise ratio continues to increase, the average list length of the two decoding algorithms approaches the list length infinitely. When the signal-to-noise ratio is greater than or equal to 2dB, the average list length begins to approach infinitely That is to say, when the signal-to-noise ratio is high, the SCA-SCL-BF algorithm does not cause too much increase in computational complexity compared to the CA-SCL algorithm, and its computational complexity is less than that of the SCLF decoding algorithm.
[0099] 2. Error performance analysis in PLC channels
[0100] Reference [1] mainly performs preprocessing on the signals received by the PLC channel. The preprocessing uses the Markov model to derive the channel detection criteria and delete the information determined to be in the interference state. The present invention is carried out under the same simulation conditions as reference [1], and the bit error ratio (BER) of the decoding algorithm is analyzed. The code length , bit rate , the MCAN model parameters are set as follows: , , the number of lists of SCA-SCL-BF decoding algorithm , the simulation results are as follows Figure 7 shown.
[0101] The polar code is constructed using a heuristic capacity-based construction method, and the SCA-SCL-BF algorithm is used for decoding, which eliminates the preprocessing step and avoids deleting useful information from the channel. Figure 7 It can be seen that when When the noise and interference intensity is large, the error performance of the SCA-SCL-BF algorithm is equivalent to that without preprocessing. When , its error performance reaches a turning point, and the performance is better than the result without preprocessing in the literature [1]. When BER=10 -4 The SCA-SCL-BF decoding algorithm has a gain of 5.8dB.
[0102] SCA-SCL-BF decoding algorithm When compared with the results after preprocessing in reference [1], there is a certain gap. The reason is that reference [1] uses preprocessing to delete the information of unreliable channels at low SNR, which has a certain preprocessing gain. The algorithm after preprocessing in reference [1] is suitable for PLC scenarios with low SNR, while the SCA-SCL-BF algorithm is suitable for PLC scenarios with relatively high signal-to-noise ratio.
[0103] In summary, on the AWGN channel, the code length , Number of lists BLER is 10 -3When , the SCA-SCL-BF algorithm has a performance gain of 0.11, 0.23, and 0.50 dB compared to the SCLF, CA-SCL, and SCF decoding algorithms, respectively. The results show that the algorithm is superior in AWGN channels. The polar code is constructed using the heuristic capacity method on the PLC channel and decoded using the SCA-SCL-BF algorithm to obtain the error code performance and compare it with the results in the literature [1]. At BER=10 -4 There is a 5.8dB gain compared to the result without preprocessing. When , the BER performance of the SCA-SCL-BF algorithm is better than the preprocessed result in the literature [1].
[0104] Finally, it should be noted that the above-mentioned embodiments are merely illustrative of the technical solutions of the present invention and are not intended to limit the present invention. Those skilled in the art will appreciate that they may modify or substitute equivalents for the specific embodiments of the present invention, and such modifications or variations are within the scope of protection of the pending claims.
Claims
1. An improved polar code decoding algorithm based on SCA-SCL-BF, characterized by: The method comprises the following steps: Step S101: Select a power line channel noise model, construct and encode polar codes, and calculate log-likelihood ratios. Step S102: Encoding and decoding using the SCA-SCL-BF algorithm based on the Rate1 sub-block; Step S103 , simulating the SCA-SCL-BF algorithm in a PLC (power line) channel and an AWGN (additive white Gaussian noise) channel; Step S104: Comparative analysis is performed on the simulation results to verify the superiority of the SCA-SCL-BF algorithm.
2. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, characterized in that: In step S101, a power line channel noise model is selected to construct and encode the polar code and calculate the log-likelihood ratio. Specifically, the following steps are performed: the power line channel noise model is selected as the MCAN (Middleton Class-A Noise) model, which reduces the complexity and computational cost of the simulation; the polar code is constructed using the Gaussian approximation method in the AWGN channel and the heuristic capacity-based construction method in the PLC channel; the polar code is encoded with a length of The sequence encoding process can be expressed as: ; During the decoding process, we need to first calculate the log-likelihood ratio of the received signal, and then judge it based on the value of the log-likelihood ratio.
3. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, characterized in that: In step S102, the SCA-SCL-BF algorithm based on the Rate1 sub-block is used for encoding and decoding, which specifically includes the following steps: 1) Segment-encode the information bits and input them into the channel, 2) After receiving the codeword, SCL decoding is performed bit by bit. 3) Determine whether the decoding of this section is completed, 4) If yes, yes The paths are sorted by the lowest path metric (PM) value, otherwise go to step 2). 5) Determine whether any path passes the CRC check. 6) If yes, go to step 7), otherwise go to step 8). 7) Determine whether all segments have been decoded. If so, output the final decoded sequence. Otherwise, execute step 2). 8) Bit flipping metric for key sets (See formula (14)) to sort, 9) Keep the path with the lowest PM value as the initial path, and perform bit flipping according to the order in step 8), flipping one bit at a time, and performing SC decoding after flipping. 10) Determine whether the decoding result passes the CRC check. If so, execute step 7). Otherwise, execute step 11). 11) The number of flips increases by 1, 12) Determine whether it is greater than the maximum number of flips If yes, the decoding fails, otherwise go to step 9).
4. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, characterized in that: The simulation of the SCA-SCL-BF algorithm in the PLC (power line) channel and the AWGN (additive white Gaussian noise) channel in step S103 specifically includes: The SCA-SCL-BF decoding algorithm is simulated and analyzed in the MATLAB environment. In the AWGN channel, the Gaussian approximation method is used to determine the information bits of the polarization code and the signal-to-noise ratio. , bit rate , SCA-SCL-BF segment number , each segment adds an 8-bit CRC check code, In the PLC channel, the polar code is constructed using a construction method based on heuristic capacity, and the code length is , bit rate , the MCAN model parameters are set as follows: , , the number of lists of SCA-SCL-BF decoding algorithm .
5. The improved polar code decoding algorithm based on SCA-SCL-BF according to claim 1, characterized in that: The comparative analysis of the simulation results in step S104 to verify the superiority of the SCA-SCL-BF algorithm specifically includes: when the simulation conditions are the same, , the block error rate is 10 -5 , the SCA-SCL-BF decoding algorithm has a performance gain of 0.11 and 0.24dB respectively compared with the SCLF and CA-SCL decoding algorithms. The average list length (Average List Length) is used to represent the computational complexity of the algorithm. When the signal-to-noise ratio is high, the SCA-SCL-BF algorithm does not cause too much increase in computational complexity compared with the CA-SCL algorithm, and the computational complexity is less than that of the SCLF decoding algorithm. Reference [1] mainly preprocesses the signals received by the PLC channel. The preprocessing uses the Markov model to derive the channel detection criterion and delete the information determined to be in the interference state. Under the same simulation conditions as reference [1], the bit error rate (BER) of the decoding algorithm is analyzed, and the code length , bit rate , the MCAN model parameters are set as follows: , , the number of lists of SCA-SCL-BF decoding algorithm .when When BER=10 -4 The SCA-SCL-BF decoding algorithm has a gain of 5.8dB.