Multiplying active code decoding method based on SO-ORBGRAND decoder
By using a product code decoding method based on the SO-ORBGRAND decoder, and employing row-column iterative decoding and parity check matrix determination, the success rate of product code decoding is improved and the complexity is reduced. This solves the problems of low decoding success rate and high complexity in existing technologies and is suitable for scenarios with high real-time requirements.
Patent Information
- Application Number
- CN202510973174.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-15
- Publication Date
- 2025-10-31
AI Technical Summary
Existing product code decoding algorithms suffer from low success rates and high complexity in iterative decoding, and are not suitable for scenarios with high real-time requirements. Furthermore, SO-GRAND decoders have high implementation overhead in hard decision-making and fail to utilize overall redundancy information, leading to decision errors.
A multiplicative active code decoding method based on the SO-ORBGRAND decoder is adopted. It performs parallel row and column iterative decoding, uses the parity check matrix to determine the validity of the codeword, and combines soft output LLR information for iterative decoding, thereby reducing complexity and improving the decision success rate.
It significantly improves error correction performance, reduces decoding complexity and implementation overhead, and is suitable for scenarios with high real-time requirements.
Smart Images

Figure CN120880463A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically relating to a multiplicative positive code decoding method based on an SO-ORBGRAND decoder. Background Technology
[0002] Product codes, as a type of parallel concatenation code, are a method for constructing very long codes based on two or more short block component codes. They have gained widespread attention and application due to their strong error correction performance, high throughput from parallel iterative decoding, and good engineering feasibility. Polar codes, as one of the 5G standard coding schemes, have seen numerous studies on product codes using polar codes as component codes due to their achievable capacity and high encoding / decoding efficiency. In their paper "Construction and decoding of product codes with non-systematic polar codes" (2019 IEEE Wireless Communications and Networking Conference (WCNC), Marrakesh, 2019: 1-6), Bioglio V and Condo C et al. proposed product codes constructed from non-systematic polar codes based on the properties of polar codes. They also proved that the product of two polar codes is still a polar code, and based on this principle, they proposed a two-step decoding method based on an SCL decoder, which has high throughput and good error correction performance. The limitations of this decoding algorithm are: First, the success rate of the first step of iterative decoding is low, and the performance mainly relies on the decoding of the second step of the long polar code, resulting in high decoding complexity. Second, the SCL decoder uses the correlation between bits for serial decoding, which has a larger decoding delay compared to parallel decoding, making it unsuitable for scenarios with high real-time requirements.
[0003] The GRAND algorithm, proposed in recent years, is a general-purpose decoding algorithm that can provide ML decoding for any moderately redundant block code. This algorithm decodes by generating error patterns sequentially and then verifying them against the codebook. The ORBGRAND algorithm is a soft-decision variant of the GRAND algorithm. It generates error patterns by linearly fitting a sorted sequence of soft information representing bit reliability, generating test error patterns sequentially according to logical weight. This approach allows for parallel decoding and is suitable for hardware implementation. For high-rate polarized short codes, ORBGRAND's error rate performance is significantly better than CA-SCL decoding, which is a typical characteristic of product code component codes. To achieve the transfer of soft information in iterative decoding, P. Yuan et al. proposed a soft-output GRAND decoding algorithm in their paper "Soft-Output (SO) GRAND and Iterative Decoding to Outperform LDPC Codes" (IEEE Transactions on Wireless Communications, 2025, 24(4):3386-3399). This algorithm can output an accurate a posteriori estimate of the probability of correct decoding. Based on this, they proposed a grouped Turbo decoding of product codes, which iteratively transfers the soft information output by SO-GRAND between row and column decoders, enabling the decoders to gradually correct errors and improve the reliability of the decision. However, this method has the following shortcomings: in hard decision-making, it requires all rows and columns to be determined to correspond to valid codewords before the decoding is considered successful and the decoding result is output, which increases the implementation overhead. Furthermore, it does not utilize the overall redundancy information of the entire code block, making it prone to decision errors. Summary of the Invention
[0004] To address the shortcomings of the above methods, this invention proposes a multiplicative active code decoding method based on the SO-ORBGRAND decoder, which can achieve efficient decoding and improve the reliability of the system.
[0005] The technical solution of this invention is as follows:
[0006] A multiplication-optimized code decoding method based on the SO-ORBGRAND decoder includes the following steps:
[0007] Step 1: Receive the codeword matrix of the multiplicative positive code passing through the channel, convert the signal information into the channel's log-likelihood information (LLR), and store it in a file of size [size missing]. First matrix Among them , These are the code lengths of the column component code and the row component code, respectively. The prior LLR of the encoded bits is stored in a memory of size [size missing]. Second matrix In this context, the a priori LLR of the encoded bits is initialized to zero, i.e. ;
[0008] Step 2: Perform row decoding on each row of the polar code, that is, treat each row of the matrix as an independent polar codeword and perform the decoding. Secondary decoding, from the first matrix Second matrix Extract the channel LLR vector and prior LLR vector from each row and input them into the SO-ORBGRAND decoder for soft-input soft-output decoding to obtain the posterior LLR vector and external LLR vector for the corresponding row. The posterior probability LLR vector of a row is stored in the third matrix. In the middle, the obtained The outer LLR of the row is stored in the fourth matrix. middle;
[0009] Step 3: Use the third matrix Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether the condition is met. , The decoder multiplies the parity-check matrix of the long polar code corresponding to the polar code. If the condition is met, proceed to step 6; otherwise, the decoder converts the fourth matrix... After scaling factor Replace the second matrix after adjustment Update ;
[0010] Step 4: Perform column decoding on each column of the polar code, that is, treat each column of the matrix as an independent polar codeword and perform [decoding / decoding]. Secondary decoding, from the first matrix Second matrix The channel LLR vector and prior LLR vector of each column are extracted and input into the SO-ORBGRAND decoder for soft-input soft-output decoding to obtain the posterior LLR vector and extrinsic LLR vector of the corresponding column. Finally, the obtained... The posterior probability LLR vector of the column is stored in the third matrix. In the middle, the obtained The outer LLR of the column is stored in the fourth matrix. middle
[0011] Step 5: Use the third matrix Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether it satisfies If the condition is met, proceed to step 6; otherwise, the decoder checks whether the maximum number of iterations has been reached. If the maximum number of iterations is reached If the decoding fails, return a decoding failure message; otherwise, update the code. Then repeat steps 2 through 5;
[0012] Step 6: Output the decoded hard decision result.
[0013] Furthermore, in steps 2 and 4, the i-th element of the posterior LLR vector The best soft estimate for the i-th bit in the current decoded sequence is calculated as follows:
[0014] ,
[0015] in The length of the current decoding sequence. For the received sequence is The sequence to be sent at time is The probability, for The corresponding codewords, for The corresponding receive vector. This is a list of codewords obtained through the ORNGRAND decoding algorithm, which includes the most likely L codeword sequence; , When the correct code is in the list, the first bits The probability of being 1 or 0. This represents the probability that a correct codeword is not in the list. It reflects the probability that each codeword in the list is in its first position. The probability of a bit being 0 or 1 also reflects the situation where the codeword is not found in the list while preserving prior information. The possibility of the bit being 0 or 1.
[0016] The i-th element of the outer LLR vector The amount of new information added to the i-th bit in the current decoding sequence is calculated as follows:
[0017] ,
[0018] in , , , Corresponding to the current decoding sequence number The prior LLR, channel LLR, posterior probability LLR, and external LLR for each coded bit.
[0019] The beneficial effects of this invention are as follows: This invention proposes a multi-positive code decoding algorithm based on the SO-ORBGRAND decoder. Compared with the performance of various non-system multi-positive code decoding algorithms and traditional long code polar codes, this method shows a significant advantage in error correction performance. Furthermore, it proposes a method to determine the validity of codewords through a parity check matrix by utilizing the polarization characteristics of multi-positive codes, thereby improving the decision success rate while reducing complexity and implementation overhead. Attached Figure Description
[0020] Figure 1 This is a schematic diagram of the decoding process proposed in this invention.
[0021] Figure 2 This is a schematic diagram of the SO-ORBGRAND decoder used in this invention.
[0022] Figure 3 Error rate performance graphs for product code decoding algorithms for different non-systematic polar codes.
[0023] Figure 4 A comparison chart of the error performance of multiplication-oriented polar codes and traditional polar codes. Detailed Implementation
[0024] The present invention will now be further described with reference to the accompanying drawings and simulation examples.
[0025] Figure 1 This is a schematic diagram of the decoding process proposed in this invention. It involves sequential row and column iterative decoding. After each decoding iteration, a hard decision is made based on the a posteriori LLR output by the decoder. If the decision passes, decoding is successful, and the decoding result is output. If decoding fails, the external LLR output by the SO-ORBGRAND decoder is scaled and used as the prior LLR input to the next decoder. This process continues until decoding succeeds or the maximum number of iterations is reached and decoding fails again. The specific implementation steps of this invention are as follows:
[0026] Step 1: Receive the codeword matrix of the multiplicative positive code passing through the channel, convert the signal information into the channel's log-likelihood information (LLR), and store it in a file of size [size missing]. First matrix Among them , These are the code lengths of the column component code and the row component code, respectively. These LLR values reflect the probability distribution of the received signal being affected by noise during channel transmission. The a priori LLR of the coded bits is stored in a size of... Second matrix In this context, it is assumed that the encoded bits are equally distributed, and the prior LLR is initialized to zero, i.e. .
[0027] Step 2: Perform row decoding, treating each row of the matrix as an independent polar codeword. Secondary decoding, from the first matrix Second matrix Extract the channel LLR vector and prior LLR vector from each row and input them into a program like this: Figure 2 The SO-ORBGRAND decoder shown performs soft-input soft-output decoding to obtain the a posteriori LLR vector and extrinsic LLR vector for the corresponding row. The final result... The posterior probability LLR vector of a row is stored in the third matrix. In the middle, the obtained The outer LLR of the row is stored in the fourth matrix. middle.
[0028] The i-th element of the posterior LLR vector The best soft estimate for the i-th bit in the current decoded sequence is calculated as follows:
[0029] ,
[0030] In the formula The length of the current decoding sequence. For the received sequence is The sequence to be sent at time is The probability, for The corresponding codewords, for The corresponding receive vector. This is a list of codewords obtained through the ORNGRAND decoding algorithm, which includes the most likely L codeword sequence; , When the correct code is in the list, the first bits The probability of being 1 or 0. This represents the probability that a correct codeword is not in the list. It reflects the probability that each codeword in the list is in its first position. The probability of a bit being 0 or 1 also reflects the situation where the codeword is not found in the list while preserving prior information. The possibility of the bit being 0 or 1.
[0031] The i-th element of the outer LLR vector The amount of new information added to the i-th bit in the current decoding sequence is calculated as follows:
[0032] ,
[0033] In the formula , , , Corresponding to the current decoding sequence number The prior LLR, channel LLR, posterior probability LLR, and external LLR for each coded bit.
[0034] Step 3, Use Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether the condition is met. , This is the parity-check matrix of the long polar code corresponding to the multiplied polar code. If the conditions are met, the decoder returns a hard decision result, indicating successful decoding. If not, the decoder uses an external LLR. After scaling factor Adjusted as a priori LLR in column decoding ,Right now .
[0035] Step 4: Perform column decoding. The SO-ORBGRAND decoder decodes the matrix. Each column undergoes soft-input soft-output decoding. The SO-ORBGRAND decoder calculates the posterior probability LLR and extrinsic LLR based on the soft information in the current column, and stores them in the matrix. and The calculation method for the corresponding column is the same as in step two.
[0036] Step 5: Use the third matrix Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether the condition is met. If the condition is met, proceed to step 6; otherwise, the decoder checks whether the maximum number of iterations has been reached. If the maximum number of iterations is reached If the decoding fails, return a decoding failure message; otherwise, update the code. Then, steps 2 to 5 are repeated; the effects of the present invention are further illustrated below through simulation examples.
[0037] 1. Simulation conditions:
[0038] The simulation experiments of this invention used Matlab simulation software and were conducted under the same configuration environment. The component code length of the multiplicative active code was 32 or 64, the component code information bit length was 28 or 56, and the code rate was [missing information]. .
[0039] 2. Simulation content:
[0040] The simulation experiments of this invention first simulated and compared the performance of several product code decoding algorithms for non-systematic polar codes, and compared the code lengths. , bitrate The bit error rates of the two-step hard-decision iterative decoding algorithms based on SC, SCL, and ORBGRAND, the two-step soft-decision iterative decoding algorithm based on SCL, and the soft iterative decoding algorithm based on SO-ORBGRABD proposed in this invention are as follows: the list size of SO-ORBGRABD is 4, the list size of SCL is 8, and the number of iterations for all decoding algorithms is 4. Figure 3 The horizontal axis represents the signal-to-noise ratio, and the vertical axis represents the bit error rate. Figure 3 The solid curve marked with a circle in the figure represents the bit error rate of the two-step hard-decision iterative decoding algorithm based on the SC decoder. Figure 3 The solid line curve marked with a cross in the figure represents the bit error rate of the two-step hard-decision iterative decoding algorithm based on the SCL decoder. Figure 3 The solid line curve marked with an asterisk in the figure represents the bit error rate of the two-step hard-decision iterative decoding algorithm based on the ORBGRAND decoder. Figure 3 The dashed curve marked with a square in the figure represents the bit error rate of the two-step soft-decision iterative decoding algorithm based on the SCL decoder. Figure 3 The solid line curve marked with a triangle in the figure represents the bit error rate of the soft iterative decoding algorithm based on the SO-ORBGRAND decoder proposed in this invention.
[0041] This invention also simulates and compares the bit error rate performance of polar code-length codes and multiplicative polar codes with the same code length and code rate, such as... Figure 4 As shown. The parameter of the polar code length code is the code length. bitrate The decoding algorithm uses the SCL decoding algorithm, with a list size of 8. The corresponding multiplicative polar code consists of two short polar codes of (64, 56). The decoding algorithm for the multiplicative polar code uses a soft-decision iterative decoding algorithm based on SO-ORBGRAND, with a list size L=4 and a maximum number of iterations of 4. Figure 4 The solid line curve marked with a solid circle in the figure represents the bit error rate of long polar codes; Figure 4 The solid line curve marked with a cross in the figure represents the bit error rate of the active code multiplied by the decoding algorithm proposed in this invention.
[0042] 3. Simulation results:
[0043] Depend on Figure 3As can be seen, compared with hard-decision iterative decoding algorithms and SCL-based soft-decision iterative decoding algorithms, the soft iterative decoding algorithm based on SO-ORBGRABD proposed in this invention significantly improves the error rate performance and effectively enhances the reliability of the system. Figure 4 It is evident that when the signal-to-noise ratio is low, the bit error rate of the multiply polarized code is significantly lower than that of the long polarized code with the same code length, demonstrating the decoding performance advantage of the multiply polarized code constructed using short codes.
Claims
1. A multiplicative active code decoding method based on a SO-ORBGRAND decoder, characterized in that, Includes the following steps: Step 1: Receive the codeword matrix of the multiplicative positive code passing through the channel, convert the signal information into the channel's log-likelihood information (LLR), and store it in a file of size [size missing]. First matrix Among them , These are the code lengths of the column component code and the row component code, respectively; the a priori LLR of the encoded bits is stored in a memory of size [size missing]. Second matrix In this context, the a priori LLR of the encoded bits is initialized to zero, i.e. ; Step 2: Perform row decoding on each row of the polar code, that is, treat each row of the matrix as an independent polar codeword and perform the decoding. Secondary decoding, from the first matrix Second matrix Extract the channel LLR vector and prior LLR vector of each row and input them into the SO-ORBGRAND decoder for soft-input soft-output decoding to obtain the posterior LLR vector and external LLR vector of the corresponding row. The posterior probability LLR vector of a row is stored in the third matrix. In the middle, the obtained The outer LLR of the row is stored in the fourth matrix. middle; Step 3: Use the third matrix Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether it satisfies , The parity check matrix of the long polar code corresponding to the multiplied polar code is given. If the condition is met, then proceed to step 6. If this condition is not met, the decoder will decode the fourth matrix. After scaling factor Replace the second matrix after adjustment Update ; Step 4: Perform column decoding on each column of the polar code, that is, treat each column of the matrix as an independent polar codeword and perform [decoding / decoding / decoding]. Secondary decoding, from the first matrix Second matrix The channel LLR vector and prior LLR vector of each column are extracted and input into the SO-ORBGRAND decoder for soft-input soft-output decoding to obtain the posterior LLR vector and external LLR vector of the corresponding column; finally, the obtained... The posterior probability LLR vector of the column is stored in the third matrix. In the middle, the obtained The outer LLR of the column is stored in the fourth matrix. middle; Step 5: Use the third matrix Perform hard decision to obtain the binary codeword matrix after hard decision. ,right Perform linear transformation Determine whether it satisfies If the condition is met, proceed to step 6; otherwise, the decoder checks whether the maximum number of iterations has been reached. If the maximum number of iterations is reached If the decoding fails, return a decoding failure message; otherwise, update the code. Then repeat steps 2 through 5; Step 6: Output the decoded hard decision result.
2. In the multiplicative active code decoding method based on the SO-ORBGRAND decoder according to claim 1, in steps 2 and 4, the i-th element of the posterior LLR vector The best soft estimate for the i-th bit in the current decoded sequence is calculated as follows: , in The length of the current decoding sequence. For the received sequence is The sequence to be sent at time is The probability, for The corresponding codewords, for The corresponding receive vector; This is a list of codewords obtained through the ORNGRAND decoding algorithm, including the most probable L codeword sequences; , When the correct code is in the list, the first... bits The probability of being 1 or 0; The probability that a correct codeword is not in the list reflects the probability of each codeword in the list being in the correct position. The probability of a bit being 0 or 1 also reflects the situation where the codeword is not found in the list while preserving prior information. The possibility of the bit being 0 or 1; The i-th element of the outer LLR vector The amount of new information added to the i-th bit in the current decoding sequence is calculated as follows: , in , , , Corresponding to the current decoding sequence number The prior LLR, channel LLR, posterior probability LLR, and external LLR for each coded bit.
Citation Information
Cited By
Polar code decoding analog circuit implementation method, system and equipment based on storage and calculation all-in-one device and medium
CN121124829A
Soft input soft output decoding method and device suitable for polar code SoSCL decoder
CN121308765A
Soft input soft output decoding method and device suitable for polar code soscl decoder
CN121308765B