CN115021765A - Low-complexity Turbo product code decoding algorithm based on code word reliability - Google Patents
Low-complexity Turbo product code decoding algorithm based on code word reliability Download PDFInfo
- Publication number
- CN115021765A CN115021765A CN202210679911.6A CN202210679911A CN115021765A CN 115021765 A CN115021765 A CN 115021765A CN 202210679911 A CN202210679911 A CN 202210679911A CN 115021765 A CN115021765 A CN 115021765A
- Authority
- CN
- China
- Prior art keywords
- reliability
- code word
- turbo product
- product code
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention belongs to the technical field of wireless communication, and discloses a low-complexity Turbo product code decoding algorithm based on code word reliability, which comprises the following steps: step A, receiving signals coded by a specific Turbo product code, and arranging according to a Turbo product code coding structure to obtain a sequence to be decoded; b, setting an algorithm parameter initial value, decoding the sequence to be decoded in the step A, and obtaining the reliability of each code word; step C, judging the reliability of the code words, and carrying out simplified calculation of external information and dynamic adjustment of the lowest unreliable digit; and D, repeating the step B to the step C, and performing iterative decoding until iteration stops. Compared with the existing decoding algorithm, the method has almost the same error rate performance, but has lower decoding complexity, and realizes flexible self-adaptive decoding.
Description
Technical Field
The invention belongs to the technical field of wireless communication, and particularly relates to a low-complexity Turbo product code decoding algorithm based on code word reliability.
Background
The Turbo Product Code, called Turbo Product Code in English, abbreviated as TPC, has the main idea that: the linear block codes are serially concatenated to construct a complex code word. The method has the advantages of strong error correction capability, no floor effect and the like. The method is widely applied to various civil and military communication systems, such as an unmanned aerial vehicle communication system, a VSAT satellite communication system, an international maritime satellite system and the like. Because the Turbo product code has good anti-noise capability, the effectiveness and reliability of communication can be well ensured, and the research on the decoding algorithm is particularly important.
Aiming at a Turbo product code decoding algorithm, Pyndianh (1998) provides a soft input soft output serial iterative decoding algorithm based on a Chase algorithm, and the algorithm has good decoding performance, but the decoding complexity is too high. Lu (2014) proposes to introduce the bit reliability idea into the codeword reliability, simplify the external information calculation formula, and reduce the decoding complexity, but the complexity is still too high. Korean (2017) proposes an adaptive algorithm that implements a flexible decoding scheme but with a slightly larger loss of decoding performance and still too high decoding complexity. Therefore, it is very important to provide a flexible low-delay decoding algorithm.
Disclosure of Invention
The invention provides a low-complexity Turbo product code decoding algorithm based on code word reliability for solving the problems in the prior art, and realizes low-complexity and flexible decoding; the technical scheme adopted for achieving the purpose is as follows:
a low-complexity Turbo product code decoding algorithm based on code word reliability comprises the following steps:
step A, receiving a specific Turbo product code coded signal, and arranging according to a Turbo product code coding structure to obtain a sequence to be decoded;
b, setting an algorithm parameter initial value, decoding the sequence to be decoded in the step A, and obtaining the reliability of each code word;
step C, judging the reliability of the code word, and carrying out simplified calculation of external information and dynamic adjustment of the lowest unreliable digit;
and D, repeating the step B to the step C, and performing iterative decoding until iteration stops.
Preferably, the code words to be decoded in the received signal are block structures, and the row-column coding mode is C 1 (n 1 ,k 1 )、C 2 (n 2 ,k 2 ) I.e. having a length n in the bulk structure 1 Width of n 2 The length of the code word is n 1 ·n 2 。
Preferably, in step a, the received data is arranged according to the above-mentioned codeword structure, and each segment has a length of n 1 ·n 2 The symbols are arranged into a matrix sequence R to be decoded, which is shown as the following formula:
R(i,j)=r[(i-1)·n 1 +j],i=1,2,...,n 2 ,j=1,2,...,n 1
where r (k) represents the demodulated soft data.
Preferably, the step B specifically includes the steps of:
b1, carrying out hard decision on the sequence R to be decoded to obtain Y;
b2, searching the p-bit lowest unreliable bit of the hard decision sequence Y, and measuring LLR (Y) by using a log-likelihood ratio for the reliability;
step B3, forming a test pattern T according to the lowest unreliable position q And a test sequence Z q ;
Step B4, test sequence Z q Carrying out hard decision decoding to obtain a decoded codeword sequence, and mapping to form a candidate codeword set omega;
and step B5, searching the decision code word D and the competition code word C in the candidate code word set omega.
Preferably, in step B1, the method for obtaining Y by hard-decision on the sequence R to be decoded includes:
the expression of llr (y) in step B2 is:
wherein σ 2 Representing the variance of the noise.
Preferably, the step C specifically includes the following steps:
step C1, judging the reliability of the code words and counting the number Nr;
step C2, calculating extrinsic information w;
and C3, adjusting the lowest unreliable digit p.
Preferably, the method for counting the number Nr in step C1 adopts any one of the following methods:
the method comprises the following steps: a codeword has a syndrome S ═ 0, when Nr ═ Nr + 1;
the method 2 comprises the following steps: the candidate codeword set Ω has p +1 identical codewords, and Nr is equal to Nr +1 when satisfied.
Preferably, the step C2 specifically includes the following steps:
when the code word is highly reliable,
wherein d is min Representing the minimum Hamming distance, and e representing the number of errors;
when the code word is of low reliability,
wherein β represents a regulatory factor.
Preferably, the expression of the lowest unreliable bit number p in step C3 is:
where a denotes a set threshold.
Preferably, the step D specifically includes the following steps:
step D1, updating the soft input information [ R ] by taking the external information w as prior information:
[R]=R+α·w
wherein α represents a scaling factor;
and D2, repeating the steps B to C until the iteration is stopped.
The invention has the following beneficial effects: aiming at Turbo product code coding signals, a low-complexity Turbo product code decoding algorithm based on code word reliability is provided, the idea of bit reliability is introduced to code words, an external information calculation formula is simplified, 2 using conditions are provided for the formula, on the basis, the high-reliability number of the code words is counted, and the lowest unreliable digit is dynamically adjusted. Compared with the existing algorithm, the algorithm has almost the same error rate performance, but the iteration complexity is obviously reduced, and the flexible self-adaptive decoding is realized.
Drawings
FIG. 1 is a flow chart of the present invention;
FIG. 2 is a diagram of the coding structure of TPC codes;
FIG. 3 is a diagram of a one-iteration decoding structure of TPC codes;
FIG. 4 is a diagram of decoding performance comparison simulation results of the extrinsic information reduction formula;
FIG. 5 is a diagram of algebraic decoding complexity versus simulation results for an extrinsic information reduction formula;
FIG. 6 is a diagram of the arithmetic operation complexity versus simulation results of the extrinsic information reduction formula;
FIG. 7 is a diagram illustrating comparison simulation results of decoding performance of dynamically adjusted unreliable bits;
FIG. 8 is a diagram illustrating the comparison of algebraic decoding complexity with simulation results for dynamically adjusting unreliable bits;
FIG. 9 is a diagram of an arithmetic operation complexity versus simulation result with dynamically adjusted unreliable bits;
FIG. 10 is a diagram illustrating comparison simulation results of decoding performance of a simplified formula of information between multiple domains and between multiple domains;
FIG. 11 is a schematic diagram of the comparison simulation result of the algebraic decoding complexity of the multivariate domain-external information simplified formula;
FIG. 12 is a diagram of the arithmetic operation complexity versus simulation results of the multivariate domain-domain and extrinsic information simplified formula.
Detailed Description
The invention is further described below with reference to the accompanying drawings.
As shown in fig. 1, a low-complexity Turbo product code decoding algorithm based on codeword reliability includes the following steps:
step A, receiving signals coded by a specific Turbo product code, and arranging according to a Turbo product code coding structure to obtain a sequence to be decoded;
b, setting an algorithm parameter initial value, decoding the sequence to be decoded in the step A, and obtaining the reliability of each code word;
step C, judging the reliability of the code word, and carrying out simplified calculation of external information and dynamic adjustment of the lowest unreliable digit;
and D, repeating the step B to the step C, and performing iterative decoding until iteration stops.
The code word to be decoded in the received signal is block structure, and the column-row coding mode is respectively C 1 (n 1 ,k 1 )、C 2 (n 2 ,k 2 ) I.e. having a length n in the bulk structure 1 Width of n 2 The length of the code word is n 1 ·n 2 。
In step A, the received data are arranged according to the code word structure, and the length of each segment is n 1 ·n 2 The symbols are arranged into a matrix sequence R to be decoded, which is shown as the following formula:
R(i,j)=r[(i-1)·n 1 +j],i=1,2,...,n 2 ,j=1,2,...,n 1
where r (k) represents the demodulated soft data.
The step B specifically comprises the following steps:
b1, carrying out hard decision on the sequence R to be decoded to obtain Y;
b2, searching the p-bit lowest unreliable bit of the hard decision sequence Y, and measuring LLR (Y) by using a log-likelihood ratio for the reliability;
step B3, forming a test pattern T according to the lowest unreliable position q And a test sequence Z q ;
Step B4, for the test sequence Z q Carrying out hard decision decoding to obtain a decoded codeword sequence, and mapping to form a candidate codeword set omega;
and step B5, searching the decision code word D and the competition code word C in the candidate code word set omega.
In step B1, the method for obtaining Y by performing hard decision on the sequence R to be decoded includes:
the expression of llr (y) in step B2 is:
wherein σ 2 Representing the variance of the noise.
The step C specifically comprises the following steps:
step C1, judging the reliability of the code word and counting the number Nr;
step C2, calculating extrinsic information w;
and C3, adjusting the lowest unreliable digit p.
The method for counting the number Nr in the step C1 adopts any one of the following methods:
the method comprises the following steps: a codeword has a syndrome S ═ 0, when Nr ═ Nr + 1;
the method 2 comprises the following steps: the candidate codeword set Ω has p +1 identical codewords, and Nr is equal to Nr +1 when satisfied.
The step C2 specifically includes the following steps:
when the code word is highly reliable,
wherein d is min Representing minimum Hamming distanceAnd e represents the number of errors;
when the code word is of low reliability,
wherein β represents a regulatory factor.
The expression of the lowest unreliable bit number p in the step C3 is:
where a denotes a set threshold.
The step D specifically comprises the following steps:
step D1, updating the soft input information [ R ] by taking the external information w as prior information:
[R]=R+α·w
wherein α represents a scaling factor;
and D2, repeating the steps B to C until the iteration stops.
The simulation results of the algorithm performance and complexity are shown in fig. 4-12, and the simulation parameters are set as follows: the code structure in binary domain is TPC-extended Hamming code (64.57) × (64.57), the code structure in multi-element domain is TPC-RS codes (31, 29) × (31, 29) and (63, 61) × (63, 61), and the modulation mode is BPSK. Iteration times are 4 times, the lowest unreliable bit number is 4 bits, and the scaling factor is: [0,0.2,0.3,0.5,0.7,0.9,1.0,1.0], the adjustment factors being: [0.2,0.4,0.6,0.8,1.0,1.0,1.0,1.0]. The channel environment is additive white gaussian noise.
The simulation result of the experiment is the decoding performance and complexity of channel realization performed more than 10000 times. The selected comparison algorithm is a traditional SISO algorithm and a literature algorithm which are respectively expressed by a traditional SISO algorithm and a literature algorithm, and the algorithm proposed by the patent is expressed by a 'text algorithm'.
The decoding performance and complexity simulation results of extrinsic information reduction calculation are shown in fig. 4-6. At a bit error rate of 10 -5 The method comprises the following steps:
as can be seen from fig. 4, the present algorithm has almost the same decoding performance as the conventional SISO algorithm.
As can be seen from fig. 5, the complexity of the algorithm is reduced to 1/3 of the conventional SISO algorithm and to 3/5 of the literature algorithm in terms of algebraic decoding complexity.
As can be seen in fig. 6, the complexity of the algorithm is reduced to 1/5 of the traditional SISO algorithm and to 1/3 of the literature algorithm.
The simulation results of decoding performance and complexity for dynamically adjusting unreliable bits are shown in fig. 7-9. At a bit error rate of 10 -5 The method comprises the following steps:
as can be seen in fig. 7, the performance of the algorithm herein is lost by about 0.05dB compared to the conventional SISO algorithm, which is almost the same compared to the literature algorithm.
As can be seen from fig. 8, the complexity of the algorithm is reduced to 3/10 of the conventional SISO algorithm and to 3/5 of the literature algorithm in terms of algebraic decoding complexity.
As can be seen in fig. 9, the complexity of the algorithm is reduced to 1/10 of the traditional SISO algorithm and to 1/4 of the literature algorithm.
The idea is extended to the multivariate domain, and the simulation results of decoding performance and complexity are shown in fig. 10-12. At a bit error rate of 10 -5 The method comprises the following steps:
as can be seen in fig. 10, the performance of the algorithm herein is almost the same as the conventional SISO algorithm.
As can be seen in fig. 11, the complexity of the present algorithm in terms of algebraic decoding is reduced to 2/5 for the conventional SISO algorithm.
As can be seen in fig. 12, the complexity of the algorithm herein is reduced to 1/5 for the traditional SISO algorithm in terms of arithmetic operation complexity.
For a specific calculation process of the low-complexity Turbo product code decoding algorithm based on the codeword reliability, reference may be made to the above-described embodiments, which are not described herein again.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: it is to be understood that modifications may be made to the technical solutions described in the foregoing embodiments, or equivalents may be substituted for some of the technical features thereof, but such modifications or substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims (10)
1. A low-complexity Turbo product code decoding algorithm based on code word reliability is characterized by comprising the following steps:
step A, receiving signals coded by a specific Turbo product code, and arranging according to a Turbo product code coding structure to obtain a sequence to be decoded;
b, setting an algorithm parameter initial value, decoding the sequence to be decoded in the step A, and obtaining the reliability of each code word;
step C, judging the reliability of the code words, and carrying out simplified calculation of external information and dynamic adjustment of the lowest unreliable digit;
and D, repeating the steps B to C, and performing iterative decoding until iteration stops.
2. The low complexity Turbo product code decoding algorithm based on codeword reliability as claimed in claim 1 wherein the codeword to be decoded in the received signal is a block structure with row and column coding scheme C 1 (n 1 ,k 1 )、C 2 (n 2 ,k 2 ) I.e. having a length n in the bulk structure 1 Width of n 2 The length of the code word is n 1 ·n 2 。
3. The code word reliability-based low complexity Turbo product code decoding algorithm of claim 2 wherein in step a, the received data is arranged according to the code word structure, each segment length is n 1 ·n 2 The symbols are arranged into a matrix sequence R to be decoded, and the matrix sequence R is shown as the following formula:
R(i,j)=r[(i-1)·n 1 +j],i=1,2,...,n 2 ,j=1,2,...,n 1
where r (k) represents the demodulated soft data.
4. The low complexity Turbo product code decoding algorithm based on codeword reliability according to claim 3, wherein the step B specifically comprises the following steps:
b1, carrying out hard decision on the sequence R to be decoded to obtain Y;
b2, searching the p-bit lowest unreliable bit of the hard decision sequence Y, and measuring LLR (Y) by using a log-likelihood ratio for the reliability;
step B3, forming a test pattern T according to the minimum unreliable position q And a test sequence Z q ;
Step B4, test sequence Z q Carrying out hard decision decoding to obtain a decoded codeword sequence, and mapping to form a candidate codeword set omega;
and step B5, searching the decision code word D and the competition code word C in the candidate code word set omega.
5. The low complexity Turbo product code decoding algorithm based on codeword reliability according to claim 4, wherein the method for obtaining Y by performing hard decision on the sequence to be decoded R in step B1 is:
the expression of llr (y) in step B2 is:
wherein σ 2 Representing the variance of the noise.
6. The low complexity Turbo product code decoding algorithm based on codeword reliability according to any one of claims 1 to 5, wherein the step C specifically includes the following steps:
step C1, judging the reliability of the code word and counting the number Nr;
step C2, calculating extrinsic information w;
and C3, adjusting the lowest unreliable digit p.
7. The low complexity Turbo product code decoding algorithm based on codeword reliability according to claim 6, wherein the method for counting the number Nr in step C1 adopts any one of the following methods:
the method comprises the following steps: a codeword has a syndrome S ═ 0, when Nr ═ Nr + 1;
the method 2 comprises the following steps: the candidate codeword set Ω has p +1 identical codewords, and Nr is equal to Nr +1 when satisfied.
8. The code word reliability-based low-complexity Turbo product code decoding algorithm according to claim 6, wherein the step C2 specifically includes the following steps:
when the code word is highly reliable, the code word,
wherein d is min Representing the minimum Hamming distance, and e representing the number of errors;
when the code word is of low reliability,
wherein β represents a regulatory factor.
10. The low complexity Turbo product code decoding algorithm based on codeword reliability according to any one of claims 7 to 9, wherein the step D specifically includes the following method:
step D1, updating the soft input information [ R ] by taking the external information w as prior information:
[R]=R+α·w
wherein α represents a scaling factor;
and D2, repeating the steps B to C until the iteration is stopped.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679911.6A CN115021765A (en) | 2022-06-16 | 2022-06-16 | Low-complexity Turbo product code decoding algorithm based on code word reliability |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679911.6A CN115021765A (en) | 2022-06-16 | 2022-06-16 | Low-complexity Turbo product code decoding algorithm based on code word reliability |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115021765A true CN115021765A (en) | 2022-09-06 |
Family
ID=83075094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210679911.6A Pending CN115021765A (en) | 2022-06-16 | 2022-06-16 | Low-complexity Turbo product code decoding algorithm based on code word reliability |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115021765A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115642924A (en) * | 2022-11-01 | 2023-01-24 | 杭州海宴科技有限公司 | Efficient QR-TPC decoding method and decoder |
-
2022
- 2022-06-16 CN CN202210679911.6A patent/CN115021765A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115642924A (en) * | 2022-11-01 | 2023-01-24 | 杭州海宴科技有限公司 | Efficient QR-TPC decoding method and decoder |
CN115642924B (en) * | 2022-11-01 | 2024-02-27 | 杭州海宴科技有限公司 | Efficient QR-TPC decoding method and decoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1147610B1 (en) | An iterative decoder and an iterative decoding method for a communication system | |
CN109257148B (en) | Polarization code BP decoding method based on Gaussian approximate threshold judgment | |
US7657819B2 (en) | Method and apparatus for termination of iterative turbo decoding | |
CN109286405B (en) | Low-complexity polarization code progressive bit flipping SC decoding method | |
US20050229091A1 (en) | Iterative decoding of linear block codes by adapting the parity check matrix | |
US6999531B2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
US7331012B2 (en) | System and method for iterative decoding of Reed-Muller codes | |
CN1430815A (en) | TURBO decoder with decision feedback equalization | |
CN111726202B (en) | Early termination iteration method for polarization code belief propagation decoding | |
CN110730011B (en) | Recursive grouping Markov superposition coding method based on partial superposition | |
CN115021765A (en) | Low-complexity Turbo product code decoding algorithm based on code word reliability | |
US7391826B2 (en) | Decoding method and apparatus | |
US10461776B2 (en) | Device and method of controlling an iterative decoder | |
US8019020B1 (en) | Binary decoding for correlated input information | |
CN113556135B (en) | Polarization code belief propagation bit overturn decoding method based on frozen overturn list | |
Andersen | 'Turbo'coding for deep space applications | |
CN113644919A (en) | Method for improving Turbo decoding performance in DVB-RCS2 and decoding structure | |
CN114050835A (en) | RS code encoding method based on parity check precoding | |
Zolotaryov et al. | Soft decision decoding techniques in multithreshold decoding of self-orthogonal codes | |
CN115642924B (en) | Efficient QR-TPC decoding method and decoder | |
JP3892471B2 (en) | Decryption method | |
CN112290958B (en) | Turbo code decoding method with low error level | |
CN113824452B (en) | Decoding method based on grid graph, component decoder and channel decoder | |
US7243288B1 (en) | Method and apparatus for turbo decoding block codes | |
KR101279283B1 (en) | Apparatus and method for transmitting/receiving signal in a communication system using a block code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |