SCSPL decoding algorithm of polarization code based on distributed parity check code

By using the SCSPL decoding algorithm of distributed parity code in the polarization code compilation and decoding algorithm, combined with the strategy of segmented checksum early termination of decoding, the problem of high complexity of polarization code under medium and short codes is solved, and a more efficient decoding process is achieved.

CN119853708APending Publication Date: 2025-04-18CHONGQING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411900821.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The existing polarized code compilation and decoding algorithms have high complexity and unsatisfactory bit error rates under medium and short code long conditions. Especially in low signal-to-noise environments, the complexity of SCLF and SP decoding algorithms has increased significantly.

Method used

The SCSPL decoding algorithm of distributed parity code is adopted to terminate decoding early through segmented checksum strategies, unnecessary decoding processes are reduced, and bit-by-bit alternate weighting is introduced to optimize the search and calculation of key sets.

Benefits of technology

On the premise of ensuring decoding performance, the average complexity of SCLF and SP decoding algorithms is significantly reduced, and the efficiency and accuracy of decoding are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853708A_ABST
    Figure CN119853708A_ABST
Patent Text Reader

Abstract

The invention provides a distributed parity check code-based polar code SCSPL decoding algorithm, which comprises the following steps of: firstly, constructing a key set according to Hamming weight in combination with error distribution of channel error frequency, then executing a distributed parity check scheme on information bits in the key set, pruning a path which does not pass the check, and finally, carrying out decoding on the path which does not pass the check; if no path passes the distributed parity check, decoding is terminated in advance, a new key set is constructed, a re-decoding scheme based on shift pruning is executed, and when the last information bit is decoded, CRC check is executed, and the path passing the CRC check is output. According to the algorithm, invalid decoding attempts can be avoided, and the average decoding complexity is effectively reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a polar code encoding and decoding technology, and in particular to a SCSPL decoding algorithm of a distributed parity check code, which can optimize the complexity of the SCSPL decoding method without sacrificing a bit error rate. Background Art

[0002] The performance of polar codes can approach the Shannon limit as the code length increases infinitely, and they are widely used in 5G mobile communication systems. However, when the code length is limited, the error correction performance of the serial cancellation (SC) decoder is not as good as that of Turbo codes and low-density parity-check codes (LDPC). Therefore, it is very important to focus on the research direction of polar codes under medium and short code conditions for in-depth research.

[0003] The SCL decoding algorithm solves the problem of decreased error correction performance of polar codes caused by error propagation in the serial cancellation (SC) algorithm. The SC decoding algorithm changes the single-path decoding method and retains two results of 0 and 1 for the information bit. During the decoding process, 2L candidate paths are accumulated and the final L paths are selected by sorting the path metric (PM). The serial cancellation list (SCL) algorithm greatly improves the performance of polar codes, but the existence of multiple paths also sacrifices complexity and delay.

[0004] Different from SCL which increases the number of SC decoders to improve decoding accuracy, Afisiadis O, Balatsoukas-stimming A, Burg AA Low-Complexity Improved Successive Cancellation Decoder for Polar Codes[C].201448th Asilomar Conference on Signals, Systems and Computers.IEEE,2014:2116-2120.) proposed an SC flip (SC-Flip, SCF) decoding algorithm. SCF constructs a flip set with LLR as the reference system, flips the first T bits with the lowest |LLR| in turn and re-decodes them. If the CRC is finally passed, the decoding is considered successful. A good flip set can accurately locate the bits that may have errors, reduce certain complexity and improve certain decoding performance. SCL-Flip (SCLF) decoding algorithm, SCLF can greatly improve the decoding performance, but at the same time due to the high complexity of O(LNlog2N) brought by SCL itself, and the complexity increases with the increase of L, while SCLF directly increases the complexity to O(TLNlog2N). However, the number of times SCLF decoding re-flips and decodes increases sharply at low signal-to-noise ratio, resulting in an exponential increase in complexity. In order to reduce the complexity of SCLF, a segmented CRC coding scheme can be adopted, which can effectively reduce the range of the flip set and identify the first error more accurately. Mohammad Rowshan et al. (Rowshan M, Viterbo E. Improved list decoding of polar codes by shifted-pruning [C]. 2019 IEEE Information Theory Workshop (ITW). IEEE, 2019: 1-5.) proposed a shift pruning (SP) decoding algorithm, which is also a more commonly used method in flip decoding. Although it improves the decoding performance to a certain extent, it requires more decoding attempts to find the correct path.

[0005] Therefore, this patent adopts the segmented distributed PC code to perform verification during the decoding process, performs segmented verification on the unreliable information bits, and introduces the operation of early termination of decoding. The search and calculation of the key sets of SCLF and SP will also be greatly reduced. After the range of the key set is reduced, its positioning accuracy will also be improved, thereby reducing the average complexity of decoding. Summary of the invention

[0006] The main purpose of the present invention is to reduce the average complexity of SCLF and SP decoding algorithms, to construct a new segmented distributed PC code structure from the coding perspective, aiming to effectively perform early termination operations and reduce unnecessary decoding; from the decoding perspective, a decoding algorithm based on shift pruning is designed to delete paths that have not passed the PC check, and to accurately locate the erroneous bits, thereby improving the effectiveness of subsequent re-decoding. Therefore, the present invention can reduce the average complexity of decoding while ensuring decoding performance.

[0007] To achieve the above object, the main contents provided by the present invention are divided into the following parts:

[0008] 1. First, determine which information bits to check, and this needs to be determined before decoding. The present invention checks unreliable information bits. Zhang et al. (Zhang Z, Qin K, Zhang L, et al. Progressive bit-flipping decoding of polar codes over layered critical sets [C]. In: 2017 IEEE Global Communications Conference (GLOBECOM), Singapore, 2017.1-6) proposed a construction method for an unreliable information bit set (CS set) using the partial order theory of polarization channels, that is, selecting the first bit of the Rate-1 sub-block. When the code length or code rate is relatively high, the sum of the first bits of all Rate-1 sub-blocks is very large. If the PC check is performed directly, its accuracy will be reduced. The present invention analyzes the position distribution of the bits that eliminate the correct path and combines the row weight of the polar code generation matrix to propose an improved construction method for the CS set, which can reduce the number of CS set elements while ensuring performance. The new construction method is as follows:

[0009] Establish a full binary tree corresponding to the current polar code. The code length after polar code encoding is N, the information bit index set is A, the generator matrix of the polar code is GN, and the height of the binary tree is Take the second information bit of the Rate-1 sub-block and put it into the set CS. For the first information bit in the Rate-1 sub-block, calculate its generator matrix row weight. If the bit is included in the information bit set d corresponding to the minimum row weight of the generator matrix, min Among them, d min as follows

[0010]

[0011] Then add the bit to the set CS.

[0012] 2. Determine the parity check strategy. After determining the number of bits of parity check, segment the CS set. Assume that the number of bits of information bits in the PC set and the CS set are n respectively. PC , n CS , then there are two numbers of segments: a = ceil (n CS / n PC ), b = floor(n CS / n PC ), where the ceil function represents rounding up, and the floor function represents rounding down. There are two types of segmentation, as follows:

[0013] (1) a = b, that is, each parity bit checks the same number of information bits;

[0014] (2) a = b + 1, then part of the parity check bits checks a information bits, and the other part of the information bits checks b information bits. Then, assuming that p parity check bits check a information bits respectively, and q parity check bits check b information bits respectively, the equation can be listed as follows:

[0015]

[0016] Solved

[0017] p=n CS -n PC ×b,q=n PC -n CS +n PC ×b

[0018] Then the previous n CS -n PC ×b PC bits check a information bit, and the remaining PC bits check b information bits.

[0019] The traditional PC check can only check odd number of errors. If there are even number of errors in the check bit set, it cannot be detected. The present invention adopts the idea of ​​alternating weighting bit by bit, and assigns different weights to odd and even bits. Let the index of PC bit be represented as PC = {PC1, PC2, ..., PC n}, the set of segments is represented as S = {S1, S2, ..., S n}, place the PC code at the most reliable position in each segment, because if the position corresponding to the PC code has low reliability, it will cause PC bit decoding errors, thus affecting the effect of PC verification, where |S n | represents the number of elements in the segment set, represents the kth information bit in the nth segment, represents the nth PC bit, and the check equation for each segment is expressed as:

[0020]

[0021] The calculation formula of f(k) is as follows:

[0022] f(k)=2-(kmod 2)

[0023] When errors occur, let the number of errors with a weight of 2 be x, and the number of errors with a weight of 1 be y. If an even number of errors occurs, and both x and y are odd numbers, then all even number errors can be detected; if an odd number of errors occurs, and x is an even number and y is an odd number, then all odd number errors can be detected.

[0024] 3. Perform SCL decoding on the received sequence. When the first block of SCL decoding is completed, perform PC verification. If any path passes the PC verification, the path that fails the PC verification will be deleted. If no path passes the PC verification, the decoding is terminated and the metric value E of the CS set of this segment is calculated. (i) ,as follows

[0025]

[0026] in The calculation formula is:

[0027]

[0028] The calculation formula of g(x) is:

[0029]

[0030] ε is a constant greater than 0, and its value is related to α, where α represents the approximation factor, 0<α<1, and A′ represents the previous Through Monte Carlo simulation, it can be concluded that the decoding performance is best when α is 0.4, and ε=9 at this time.

[0031] The derivation process of the metric value E(i) is as follows:

[0032] In SCL decoding, the unreliability of the i-th information bit is defined as Record this event as (i) , the probability of the event occurring is:

[0033]

[0034] In the above formula

[0035]

[0036] A′ indicates the front Information bits, because these bits are in the candidate list, cannot be deleted from the candidate list. Since the decoder cannot obtain the information of the correct decoding sequence, Wang et al. (WANG ZX, PAN YH, LINY H. Post-processing for CRC aided successive cancellation list decoding of polar codes [J]. IEEE Communications Letters. 2020, 24 (7): 1395-1399.) approximate the above probability with the PM value of each path, that is:

[0037]

[0038] in

[0039]

[0040] The expression for defining E(i) is as follows

[0041]

[0042]

[0043] make

[0044]

[0045] Through Monte Carlo simulation, it can be concluded that the decoding performance is best when α is 0.4. At this time, when x is greater than 9, f(x) approaches 0, then E (i) It can be expressed as

[0046]

[0047] in

[0048]

[0049] The metric value E( i ) are sorted from small to large, and their indexes are put into the set CS1. SCL decoding is performed again, and the shift pruning scheme is performed on the bits in CS1 in turn, that is, the middle L paths after the PM values ​​are sorted from small to large are selected until a path passes the PC check or the maximum number of shifts is reached. The decoding scheme of the subsequent segments is similar to the above process. When the last information bit is decoded, CRC check is performed on all information bits, and the path that passes the CRC check is output. If no path passes the CRC check, the metric value E( i) and sort them from small to large, empty the previous CS1, put the sorted index value into the set CS1, re-execute SCL decoding, and perform the shift pruning scheme on the bits in CS1 in turn until a path passes the CRC check or the maximum number of re-decoding times is reached. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to make the purpose, technical solution and beneficial effects of the present invention clearer, the present invention is described as follows:

[0051] Figure 1 Schematic diagram of the decoding tree with a code length of 16.

[0052] Figure 2 This is a flow chart of the SCSPL decoding algorithm based on distributed parity-check codes proposed by the present invention. DETAILED DESCRIPTION

[0053] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions implemented by the present invention. The specific implementation steps of the SCSPL decoding algorithm based on the distributed parity check code are given below. The specific implementation scheme of the present invention is described with the polar code length of 16, the code rate of 1 / 2, the number of PC bits of 2, the CRC code length of 4, the SCL list L = 4, the maximum number of re-decoding times T = 10, ε = 9, α = 0.4.

[0054] 1. Figure 1 is a decoding tree with a code length of 16, combined with Figure 1 Explain how to construct a key set. Leaf nodes represent information sequences. Black nodes represent information bits, white nodes represent frozen bits, and gray nodes represent both frozen bits and information bits. The set of Rate-1 sub-blocks is {{u4}, {u6}, {u7, u8}, {u 12},{u 14},{u 15 ,u 16}}, the second bit of the Rate-1 sub-block is composed of {u8, u 16}, the set of information bit indexes is as follows

[0055] A={4, 6, 7, 8, 12, 14, 15, 16}

[0056] The generator matrix G2 of the polar code with code length 2 is

[0057]

[0058] For a polar code with a code length of 16, its generator matrix G 16 It can be obtained by Kronecker product, that is

[0059]

[0060] After calculating G 16 for

[0061]

[0062] Calculate d using the following formula min ,Right now:

[0063]

[0064] When i=4, When i=6, When i=7, When i=8, When i=12, When i=14, When i=15, When i=16, Then d min ={4, 6, 7}, CS = {u4, u6, u7, u 15 ,u 16}, that is, the number of elements in the CS set is 5, then

[0065]

[0066] Since the number of PC bits is 2, the CS set is divided into 2 segments. The first PC bit checks the first three bits, and the next PC bit checks the next two information bits. The equation for the first PC bit is:

[0067]

[0068] The equation for the second PC bit is:

[0069]

[0070] Based on Gaussian construction, the channel error probability of the two information bits is calculated, and the PC bit is inserted into the position with the lowest channel error probability, that is, the most reliable position, to complete PC coding.

[0071] 2. Combination Figure 2 The decoding process of the algorithm proposed in the present invention is described as follows:

[0072] Perform SCL decoding on the received sequence. When the SCL decoding of the first information bit is completed, perform PC check. If there is a path that passes the PC check, the path that does not pass the PC check will be deleted. If no path passes the PC check, the decoding is terminated and the metric value E of the CS set of this segment is calculated. (i) ,as follows

[0073]

[0074] in The calculation formula is as follows

[0075]

[0076] in The calculation formula is as follows

[0077]

[0078] Where sign represents the sign function, If it is greater than 0, the result is 1, and if it is less than 0, the result is -1. L represents the list size. The formula for calculating the log-likelihood ratio is:

[0079]

[0080] The calculation formula of g(x) is as follows

[0081]

[0082] The metric value E of this segment CS set (i) Sort them from small to large, put their indexes into the set CS1, re-execute SCL decoding, and perform the shift pruning scheme on the bits in CS1 in turn, that is, select the middle L paths after the PM values ​​are sorted from small to large, until a path passes the PC check or the maximum number of shifts is reached. When the last information bit is decoded, perform CRC check on all information bits, output the path that passes the CRC check, if no path passes the CRC check, calculate the metric value E of all information bits (i) And sort them from small to large (because at this time the result of the PC check cannot determine which bits have errors), set the previous set CS1 to empty, and then put the sorted index value into the set CS1, re-execute SCL decoding, and perform the shift pruning scheme on the bits in CS1 in turn until a path passes the CRC check or the maximum number of re-decoding is reached. If the correct decoding result cannot be obtained after the maximum number of re-decoding is reached, the path with the smallest PM value during the first complete decoding is output.

Claims

1. A Successive-Cancellation Shift Pruning List (SCSPL) decoding algorithm for polar codes based on distributed parity-check codes, characterized in that: The key set CS is selected according to the error distribution of the generation matrix row recombination combined with the channel error frequency. The error interval is identified and located by performing a segmented parity check (PC) on the information bits in the CS set, and the path pruning in the decoding process is assisted. At the same time, when all path PC checks fail, the decoding is terminated immediately to avoid invalid decoding attempts, effectively reducing the average complexity of decoding. The specific steps of the algorithm are as follows: Step 1: Construct the key set CS required for parity check. The rules are as follows: Establish a full binary tree corresponding to the current polar code. The code length after polar code encoding is N, the information bit index set is A, and the generator matrix of the polar code is G N , the height of the binary tree is Take the second information bit of the Rate-1 sub-block and put it into the set CS. For the first information bit in the Rate-1 sub-block, calculate its generator matrix row weight. If the bit is included in the information bit set d corresponding to the minimum row weight of the generator matrix, min Among them, d min as follows Then add the bit to the set CS; Step 2: Set n PC , n CS Respectively represent the number of PC bits and CS sets, and segment the CS set. Let a = ceil (n CS / n PC ), b = floor(n CS / n PC ), where the ceil function represents rounding up, and the floor function represents rounding down. Based on the values ​​of a and b, there are two cases for the segmentation of the CS set: (1) a = b, then each PC code verifies a information bit (2) a = b + 1, the previous n CS -n PC ×b-bit PC codes check a-bit information bits, and the remaining PC codes check b-bit information bits; let the index of the PC bit be represented by PC={PC1,PC2,…,PC n }, the set of segments is represented as S = {S1, S2, ..., S n }, place the generated PC code at the most reliable position in each segment according to the verification equation; Step 3: Perform SCL decoding on the received sequence. When the first block of SCL decoding is completed, perform PC verification. If there is a path that passes the PC verification, the path that does not pass the PC verification will be deleted. If no path passes the PC verification, the decoding is terminated and the metric value E of the CS set of this segment is calculated. (i) , the metric value E of this segment CS set (i) Sort them from small to large, put their indexes into the set CS1, re-execute SCL decoding, and perform the shift pruning scheme on the bits in CS1 in turn, that is, select the middle L paths after the PM values ​​are sorted from small to large, until a path passes the PC check or the maximum number of shifts is reached. The decoding scheme of the subsequent segment repeats the above process. When the last information bit is decoded, perform CRC check on all information bits, output the path that passes the CRC check, and if no path passes the CRC check, calculate the metric value E of all information bits. (i) , and sort them from small to large, put the sorted index values ​​into set CS1, re-execute SCL decoding, and perform the shift pruning scheme on the bits in CS1 in turn until a path passes the CRC check or the maximum number of shifts is reached.

2. The calibration equation according to claim 1, characterized in that: By using bit-by-bit alternating weighting, a single check bit can detect 50% of even errors and 50% of odd errors. The calculation formula of the check equation is: The calculation formula of f(k) is as follows: d(k)=2-(k mod2) Where |S n | represents the number of elements in the set. represents the nth PC bit, Indicates the kth information bit in the nth segment.

3. When all paths fail the PC check according to claim 1, the metric value E of all information bits in the segment is calculated. (i) , characterized in that, The metric value is based on the path metric (PM) value of each information bit after the SCL decoding fails, and its calculation formula is: in The calculation formula is: The calculation formula of g(x) is: ε is a constant greater than 0, and its value is related to α. i represents the information bit index value, and α represents the approximation factor. 0<α<1, A ′ Indicates the front information bits.