A low complexity turbo product code decoding algorithm based on codeword reliability
By using a low-complexity Turbo product code decoding algorithm based on codeword reliability, the calculation of external information is simplified and the minimum number of unreliable bits is dynamically adjusted, thus solving the problem of high complexity in Turbo product code decoding algorithms and achieving low-complexity and flexible decoding effects.
Patent Information
- Application Number
- CN202210679911.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-16
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2042-06-16
AI Technical Summary
Existing Turbo product code decoding algorithms are too complex, making it difficult to meet the requirements of flexible decoding and low latency.
The low-complexity Turbo product code decoding algorithm based on codeword reliability simplifies the external information calculation formula by introducing the idea of bit reliability and dynamically adjusting the minimum unreliable bits to achieve iterative decoding.
While maintaining almost the same decoding performance, the iteration complexity was significantly reduced, achieving flexible adaptive decoding.
Smart Images

Figure CN115021765B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of wireless communication technology, and specifically relates to a low-complexity Turbo product code decoding algorithm based on codeword reliability. Background Technology
[0002] Turbo Product Code (TPC) is a codeword constructed by serially concatenating linear block codes. It possesses strong error correction capabilities and is free of floor effects. It has been widely used in various civilian and military communication systems, such as UAV communication systems, VSAT satellite communication systems, and Inmarsat systems. Because Turbo Product Code has excellent noise resistance, ensuring communication effectiveness and reliability, research on its decoding algorithm is particularly important.
[0003] For decoding Turbo product codes, Pyndiah (1998) proposed a soft-input, soft-output serial iterative decoding algorithm based on the Chase algorithm, which has good decoding performance; however, its decoding complexity is too high. Lu (2014) proposed incorporating the concept of bit reliability into codeword reliability, simplifying the external information calculation formula and reducing the decoding complexity, but the complexity is still too high. Han Ming (2017) proposed an adaptive algorithm, which realizes a flexible decoding scheme, but the decoding performance loss is slightly large, and the decoding complexity is still too high. Therefore, proposing a flexible, low-latency decoding algorithm is very important. Summary of the Invention
[0004] This invention proposes a low-complexity Turbo product code decoding algorithm based on codeword reliability to address the problems in existing technologies, achieving low-complexity and flexible decoding. The technical solution adopted to achieve the above objectives is as follows:
[0005] A low-complexity Turbo product code decoding algorithm based on codeword reliability includes the following steps:
[0006] Step A: Receive the signal encoded in a specific Turbo product code, arrange it according to the Turbo product code encoding structure, and obtain the sequence to be decoded;
[0007] Step B: Set the initial values of the algorithm parameters, decode the sequence to be decoded in Step A, and obtain the reliability of each codeword;
[0008] Step C: Determine the reliability of the codeword, perform simplified calculations of external information, and dynamically adjust the minimum number of unreliable bits;
[0009] Step D: Repeat steps B through C to perform iterative decoding until the iteration stops.
[0010] Preferably, the codewords to be decoded in the received signal have a block structure, with the row and column encoding methods being C and C, respectively. 1 (n1,k1),C 2 (n2,k2) means that in the block structure, the length is n1, the width is n2, and the length of the codeword is n1·n2.
[0011] Preferably, in step A, the received data is arranged according to the above codeword structure, with each segment having a length of n1·n2 symbols, forming a sequence R of matrices to be decoded, as shown in the following formula:
[0012] R(i,j)=r[(i-1)·n1+j],i=1,2,...,n2,j=1,2,...,n1
[0013] Where r(k) represents the demodulated soft data.
[0014] Preferably, step B specifically includes the following steps:
[0015] Step B1: Perform a hard decision on the sequence R to be decoded to obtain Y;
[0016] Step B2: Find the p least unreliable bit in the hard decision sequence Y. The reliability is measured by the log-likelihood ratio LLR(Y).
[0017] Step B3: Based on the calculated lowest unreliable bit, form the test pattern T. q and test sequence Z q ;
[0018] Step B4, test sequence Z q Hard-decision decoding is performed to obtain the decoded codeword sequence, which is then mapped to form a candidate codeword set Ω;
[0019] Step B5: Search for the decision codeword D and the competing codeword C in the candidate codeword set Ω.
[0020] Preferably, the method for obtaining Y by hard decision of the sequence R to be decoded in step B1 is as follows:
[0021]
[0022] The expression for LLR(Y) in step B2 is:
[0023]
[0024] Where, σ 2 This represents the noise variance.
[0025] Preferably, step C specifically includes the following steps:
[0026] Step C1: Determine the reliability of the codewords and count the number Nr;
[0027] Step C2: Calculate external information w;
[0028] Step C3: Adjust the lowest unreliable bit position p.
[0029] Preferably, the method for counting the number Nr in step C1 is any one of the following:
[0030] Method 1: Codeword syntactic S = 0, when satisfied, Nr = Nr + 1;
[0031] Method 2: The candidate codeword set Ω has p+1 identical codewords, satisfying the condition Nr = Nr+1.
[0032] Preferably, step C2 specifically includes the following method:
[0033] When the codeword is highly reliable
[0034]
[0035] Where, d min This represents the minimum Hamming distance, and e represents the number of errors that occurred.
[0036] When the codeword is low and the reliability is low
[0037]
[0038] Where β represents the adjustment factor.
[0039] Preferably, the expression for the lowest unreliable bit p in step C3 is:
[0040]
[0041] Where A represents the set threshold.
[0042] Preferably, step D specifically includes the following method:
[0043] Step D1: Treat the external information w as prior information and update the soft input information [R]:
[0044] [R] = R + α·w
[0045] Where α represents the scaling factor;
[0046] Step D2: Repeat steps B through C until the iteration stops.
[0047] The beneficial effects of this invention are as follows: For Turbo product code encoded signals, a low-complexity Turbo product code decoding algorithm based on codeword reliability is proposed. By introducing the concept of bit reliability into the codeword, the external information calculation formula is simplified, and two usage conditions are proposed for this formula. Based on these conditions, the number of highly reliable codewords is counted, and the minimum number of unreliable bits is dynamically adjusted. Compared with existing algorithms, this algorithm has almost the same bit error rate performance, but significantly reduces iterative complexity and achieves flexible adaptive decoding. Attached Figure Description
[0048] Figure 1 This is a flowchart of the present invention;
[0049] Figure 2 This is a schematic diagram of the encoding structure of TPC codes;
[0050] Figure 3 This is a schematic diagram of the one-step decoding structure of a TPC code;
[0051] Figure 4 A schematic diagram showing the simulation results comparing the decoding performance of simplified formulas for external information;
[0052] Figure 5 A schematic diagram comparing the simulation results of algebraic decoding complexity for simplified formulas for external information;
[0053] Figure 6 A schematic diagram comparing the simulation results of arithmetic operation complexity for simplified formulas based on external information;
[0054] Figure 7 A schematic diagram showing the simulation results comparing the decoding performance of dynamically adjusted unreliable bits;
[0055] Figure 8 A schematic diagram comparing simulation results for dynamically adjusting the algebraic decoding complexity of unreliable bits;
[0056] Figure 9 A schematic diagram comparing simulation results for dynamically adjusting the arithmetic complexity of unreliable bits;
[0057] Figure 10 A schematic diagram showing the simulation results comparing the decoding performance of simplified formulas for foreign information in a multi-domain system;
[0058] Figure 11 A schematic diagram comparing the simulation results of algebraic decoding complexity for simplified formulas for foreign information in a multivariate domain;
[0059] Figure 12 A schematic diagram showing the simulation results comparing the arithmetic complexity of simplified formulas for external information in a multivariate domain. Detailed Implementation
[0060] The invention will now be further described with reference to the accompanying drawings.
[0061] like Figure 1 As shown, a low-complexity Turbo product code decoding algorithm based on codeword reliability includes the following steps:
[0062] Step A: Receive the signal encoded in a specific Turbo product code, arrange it according to the Turbo product code encoding structure, and obtain the sequence to be decoded;
[0063] Step B: Set the initial values of the algorithm parameters, decode the sequence to be decoded in Step A, and obtain the reliability of each codeword;
[0064] Step C: Determine the reliability of the codeword, perform simplified calculations of external information, and dynamically adjust the minimum number of unreliable bits;
[0065] Step D: Repeat steps B through C to perform iterative decoding until the iteration stops.
[0066] The codewords to be decoded in the received signal have a block structure, and let the row and column encoding methods be C and C respectively. 1 (n1,k1),C 2 (n2,k2) means that in the block structure, the length is n1, the width is n2, and the length of the codeword is n1·n2.
[0067] In step A, the received data is arranged according to the codeword structure described above, with each segment having a length of n1·n2 symbols, forming a sequence R of matrices to be decoded, as shown in the following formula:
[0068] R(i,j)=r[(i-1)·n1+j],i=1,2,...,n2,j=1,2,...,n1
[0069] Where r(k) represents the demodulated soft data.
[0070] Step B specifically includes the following steps:
[0071] Step B1: Perform a hard decision on the sequence R to be decoded to obtain Y;
[0072] Step B2: Find the p least unreliable bit in the hard decision sequence Y. The reliability is measured by the log-likelihood ratio LLR(Y).
[0073] Step B3: Based on the calculated lowest unreliable bit, form the test pattern T. q and test sequence Z q ;
[0074] Step B4, test sequence Z q Hard-decision decoding is performed to obtain the decoded codeword sequence, which is then mapped to form a candidate codeword set Ω;
[0075] Step B5: Search for the decision codeword D and the competing codeword C in the candidate codeword set Ω.
[0076] The method for obtaining Y by hard decision in step B1 of the sequence R to be decoded is as follows:
[0077]
[0078] The expression for LLR(Y) in step B2 is:
[0079]
[0080] Where, σ 2 This represents the noise variance.
[0081] Step C specifically includes the following steps:
[0082] Step C1: Determine the reliability of the codewords and count the number Nr;
[0083] Step C2: Calculate external information w;
[0084] Step C3: Adjust the lowest unreliable bit position p.
[0085] The method for counting the number Nr in step C1 can be any of the following:
[0086] Method 1: Codeword syntactic S = 0, when satisfied, Nr = Nr + 1;
[0087] Method 2: The candidate codeword set Ω has p+1 identical codewords, satisfying the condition Nr = Nr+1.
[0088] Step C2 specifically includes the following methods:
[0089] When the codeword is highly reliable
[0090]
[0091] Where, d min This represents the minimum Hamming distance, and e represents the number of errors that occurred.
[0092] When the codeword is low and the reliability is low
[0093]
[0094] Where β represents the adjustment factor.
[0095] The expression for the lowest unreliable bit p in step C3 is:
[0096]
[0097] Where A represents the set threshold.
[0098] Step D specifically includes the following methods:
[0099] Step D1: Treat the external information w as prior information and update the soft input information [R]:
[0100] [R] = R + α·w
[0101] Where α represents the scaling factor;
[0102] Step D2: Repeat steps B through C until the iteration stops.
[0103] Simulation results of algorithm performance and complexity are as follows: Figures 4-12 As shown, the simulation parameters are set as follows: the coding structure in the binary domain is TPC-extended Hamming code (64.57)*(64.57), and the coding structure in the multi-domain domain is TPC-RS code (31, 29)*(31, 29) and (63, 61)*(63, 61). The modulation scheme is BPSK. The number of iterations is 4, the least unreliable bit is 4 bits, the scaling factor is [0, 0.2, 0.3, 0.5, 0.7, 0.9, 1.0, 1.0], and the adjustment factor is [0.2, 0.4, 0.6, 0.8, 1.0, 1.0, 1.0, 1.0]. The channel environment is additive white Gaussian noise.
[0104] The simulation results show the decoding performance and complexity of the channel implementation after more than 10,000 iterations. The selected comparison algorithms are the traditional SISO algorithm and the algorithm in the literature, which are referred to as "traditional SISO algorithm" and "literature algorithm" respectively, while the algorithm proposed in this patent is referred to as "the algorithm in this paper".
[0105] Simulation results of decoding performance and complexity for simplified computation based on external information are as follows: Figures 4-6 As shown. At a bit error rate of 10... -5 hour:
[0106] like Figure 4 As can be seen, the algorithm presented in this paper has almost the same decoding performance as the traditional SISO algorithm.
[0107] like Figure 5 It can be seen that, in terms of algebraic decoding complexity, the algorithm in this paper reduces the complexity to 1 / 3 of the traditional SISO algorithm and 3 / 5 of the algorithm in the literature.
[0108] like Figure 6 It can be seen that, in terms of arithmetic operation complexity, the algorithm in this paper reduces the complexity to 1 / 5 of the traditional SISO algorithm and 1 / 3 of the algorithm in the literature.
[0109] Simulation results of decoding performance and complexity with dynamic adjustment of unreliable bits are as follows: Figures 7-9As shown. At a bit error rate of 10... -5 hour:
[0110] like Figure 7 As can be seen, the algorithm in this paper loses about 0.05 dB compared to the traditional SISO algorithm, and is almost identical to the algorithm in the literature.
[0111] like Figure 8 It can be seen that, in terms of algebraic decoding complexity, the algorithm in this paper reduces the complexity to 3 / 10 of the traditional SISO algorithm and 3 / 5 of the algorithm in the literature.
[0112] like Figure 9 It can be seen that, in terms of arithmetic operation complexity, the algorithm in this paper reduces the complexity to 1 / 10 of the traditional SISO algorithm and 1 / 4 of the algorithm in the literature.
[0113] Extending this idea to multi-domain applications, simulation results for decoding performance and complexity are as follows: Figures 10-12 As shown. At a bit error rate of 10... -5 hour:
[0114] like Figure 10 As can be seen, the performance of the algorithm presented in this paper is almost the same as that of the traditional SISO algorithm.
[0115] like Figure 11 As can be seen, the algorithm in this paper reduces the complexity of algebraic decoding to 2 / 5 of the traditional SISO algorithm.
[0116] like Figure 12 As can be seen, the algorithm in this paper reduces the arithmetic complexity to 1 / 5 of the traditional SISO algorithm.
[0117] The specific calculation process of the low-complexity Turbo product code decoding algorithm system based on codeword reliability can be found in the above embodiments, and will not be repeated here in the embodiments of the present invention.
[0118] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. However, these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A low complexity turbo product code decoding algorithm based on codeword reliability, characterized in that, The method comprises the following steps: Step A, receiving a signal coded by a specific Turbo product code, arranging the signal according to the coding structure of the Turbo product code to obtain a to-be-coded sequence; Step B, setting initial values of algorithm parameters, coding the to-be-coded sequence in Step A, and obtaining reliability of each codeword; Step C, judging the reliability of the codeword, performing extrinsic information simplification calculation, and dynamically adjusting the number of the least unreliable bits; Step D, repeating Steps B to C to perform iterative decoding until the iteration stops; The code word to be decoded in the received signal is in a block structure, and the row-column coding mode is respectively , , that is, the length of the block structure is , the width is , and the length of the code word is ; In step A, the received data is arranged in accordance with the above-described codeword structure, each segment having a length of symbols, arranged into a sequence of matrices to be decoded as shown in the following equation: , wherein denotes the demodulated soft data; The Step B specifically comprises the following steps: Step B1, on the sequence to be decoded Hard decision is made to obtain ; Step B2, hard decision sequence Look up Bit least unreliable bit, reliability measured in log likelihood ratio ; Step B3. Forming a test pattern based on the lowest unreliable bit found and test sequence ; Step B4, decoding the test sequence with hard decision performing hard decision decoding to obtain a decoded codeword sequence, and mapping to form a candidate codeword set ; Step B5, finding the decision codeword in the candidate codeword set and the competing codeword and the competing codeword ; The Step C specifically comprises the following steps: Step C1, judging the code word reliability and counting the number ; Step C2, computing extrinsic information ; Step C3, adjusting the minimum number of unreliable bits ; The Step C2 specifically comprises the following method: When the codeword is highly reliable, , wherein, denotes the minimum Hamming distance, denotes the number of errors. When the codeword is lowly reliable, , wherein represents a regulatory factor.
2. The low complexity turbo product code decoding algorithm based on codeword reliability as claimed in claim 1, wherein, The method for obtaining hard decision of in step B1 for the sequence to be decoded is: , The expression in step B2 is: , wherein denotes the noise variance.
3. The low complexity turbo product code decoding algorithm based on codeword reliability of claim 2, wherein, The number of steps C1 The method employs any one of the following: Method 1: Codeword Tandem , when ; Method 2: Candidate codeword set There are one same codeword, satisfying .
4. The low complexity turbo product code decoding algorithm based on codeword reliability of claim 3, wherein, The minimum number of unreliable bits in the step C3 The expression is: , wherein represents a set threshold value.
5. The low complexity turbo product code decoding algorithm based on codeword reliability as claimed in claim 4, wherein, The Step D specifically comprises the following method: Step D1, put external information update the soft input information as prior information : , wherein denotes a scaling factor; Step D2, repeating Steps B to C until the iteration stops.
Citation Information
Patent Citations
TPC (Turbo Product Code) iterative decoding algorithm capable of adaptively adjusting unreliable subcode digit
CN103220007A
Three-dimensional Turbo product code decoding structure and method for optimizing iteration weight factor
CN114374397A