Maximum a Posteriori Probability Decoding Method and System for High Code Rate Convolutional Codes

By updating forward and backward information on the Trellis graph, the maximum posterior probability information of high-code rate convolution codes is calculated, and the encoding gain loss problem of high-code rate convolution codes in the CCSDS standard is solved, which improves the decoding performance and is close to Shannon limit.

CN119865193BActive Publication Date: 2025-07-04NAT SPACE SCI CENT CAS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510345070.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2025-07-04
Estimated Expiration
2045-03-24

AI Technical Summary

Technical Problem

The high-code rate convolutional code in CCSDS standard has coding gain loss problem under Viterbi decoding, especially at the empty position, which affects the decoding performance.

Method used

By updating forward and backward information on the Trellis graph, the log likelihood information of each coded bit is calculated, and the maximum posterior probability information is obtained to improve decoding performance.

Benefits of technology

The bit error performance of high-code rate convolutional codes is improved, the bit error rate is reduced, and the additional encoding gain is obtained especially under high-code rate conditions, approaching or reaching Shannon's limit performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119865193B_ABST
    Figure CN119865193B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of space communication and satellite communication, and particularly relates to a maximum a posteriori probability decoding method and system for high code rate convolutional codes. The method includes: converting the soft information of the received high code rate convolutional codeword into log-likelihood ratio information; updating the forward information on the Trellis diagram; updating the backward information on the Trellis diagram; calculating the edge information of all Trellis branches according to the updated forward information and backward information; obtaining the log-likelihood a posteriori probability information of each input bit according to the edge information of each branch; and obtaining the final decoding output through the decision of the log-likelihood a posteriori probability information of each input bit. By adopting the method of the present invention, the bit error rate of the CCSDS high code rate convolutional code can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of space communication and satellite communication, and particularly relates to a maximum a posteriori probability decoding method and system for high code rate convolutional codes. Background Art

[0002] Space-ground communication, such as spacecraft TT&C communication, satellite communication, etc., involves long-distance transmission of information. The received signal power is weak and the received signal-to-noise ratio is low, which will lead to a high data error rate and affect the reliable reception of information. Error control coding must be used to reduce the bit error rate of the transmitted information. Therefore, channel coding and decoding is a key underlying technology in space-ground communication systems and an important basis for ensuring reliable information transmission.

[0003] Among them, as a type of code in channel coding and decoding, convolutional codes can be implemented only through simple shift register operations, and usually a single-digit constraint length can obtain considerable coding gain. In terms of decoding, the Viterbi decoding algorithm is used to achieve maximum likelihood decoding of convolutional codes with relatively low computational complexity, so it is widely used in various communication systems such as satellite communication and wireless communication. For example, the Consultative Committee for Space Data Systems (CCSDS) has adopted a feedforward convolutional code with a constraint length of 7 as its recommended channel coding scheme. The initial code rate is 1 / 2, and higher code rate coding can be obtained through different puncturing methods, which can be used as an alternative coding strategy in variable coding modulation (VCM) or adaptive coding modulation (ACM).

[0004] However, for the high code rate convolutional code obtained by puncturing, due to the lack of prior information at the punctured positions, there is a certain coding gain loss in Viterbi decoding compared with non-puncturing, and the more puncturing, the higher the code rate and the greater the coding gain loss. Summary of the Invention

[0005] Aiming at the coding gain loss problem of the punctured high code rate convolutional code in the CCSDS standard under Viterbi decoding, the purpose of the present invention is to overcome the above-mentioned defects of the prior art and propose a maximum a posteriori probability decoding method for high code rate convolutional codes. By performing forward and backward updates of likelihood information on the Trellis diagram, the posterior information of each coding bit after receiving the entire coded word is finally obtained, so as to improve the bit error performance of the punctured convolutional code.

[0006] In view of this, the present invention proposes a maximum a posteriori probability decoding method for high code rate convolutional codes, including:

[0007] Step 1: Convert the received soft information of the high code rate convolutional codeword into log-likelihood ratio information;

[0008] Step 2: Update the forward information on the Trellis diagram;

[0009] Step 3: Update the backward information on the Trellis diagram;

[0010] Step 4: Calculate the edge information of all Trellis branches according to the updated forward information and backward information;

[0011] Step 5: Obtain the log-likelihood a posteriori probability information of each input bit according to the edge information of each branch;

[0012] Step 6: Obtain the final decoding output through the decision on the log-likelihood a posteriori probability information of each input bit.

[0013] Preferably, the received high code rate convolutional code in Step 1 is , where has two-way outputs, , represents the k-th coding block, and n is the length of the information bits of the coding block;

[0014]

[0015] where , is the modulated output, is an independent random variable subject to a normal distribution with a mean of 0 and a variance of Gaussian distribution, is the unilateral noise power spectral density.

[0016] Preferably, the log-likelihood ratio information in Step 1 is , satisfying the following formula:

[0017] .

[0018] Preferably, Step 2 includes:

[0019] Initialize the forward information of the 0th coding block according to the following formula:

[0020]

[0021] where is the state of the convolutional encoder, that is, different values stored in the coding shift register, and it belongs to the state set , and M is the number of states;

[0022] For k from 1 to n, perform forward update according to the following formula to obtain the forward information of the current state of the updated k-th coded block :

[0023]

[0024] where represents the forward information of the previous state in the Trellis diagram and this information reaches the current state via the input information ; is the coded output codeword when reaching the current state via the input information ; is the log-likelihood ratio information of the (k - 1)-th coded block, and m represents the m-th bit of the current codeword.

[0025] Preferably, step 3 includes:

[0026] Initialize the backward information of the n-th coded block according to the following formula:

[0027]

[0028] For k from n to 1, perform backward update according to the following formula to obtain the backward information of the current state of the updated k-th coded block :

[0029]

[0030] where represents the backward information of the next state in the Trellis diagram and this information is reached from the current state via the input information ; is the coded output codeword when reaching state from the current state via the input information ; is the log-likelihood ratio information of the k-th coded block.

[0031] Preferably, the edge information of all Trellis branches in step 4 is and satisfies the following formula:

[0032]

[0033] where represents starting from state via the input information and starting from state Transfer to state The posterior information of the state transition corresponding to the corresponding edge. Each edge in each branch of the Trellis diagram corresponds to a posterior information of the state transition.

[0034] Preferably, the log-likelihood posterior probability information of each input bit obtained in step 5 is:

[0035]

[0036] wherein and respectively represent The binary data u therein is 0 and 1.

[0037] Preferably, the final decoding output in step 6 is , satisfying the following formula:

[0038]

[0039] wherein is the final decoding output of the kth coding block.

[0040] Preferably, steps 2 and 3 are executed simultaneously or in sequence.

[0041] On the other hand, the present invention provides a maximum a posteriori probability decoding system for high rate convolutional codes, including:

[0042] A conversion module for converting the soft information of the received high rate convolutional codeword into log-likelihood ratio information;

[0043] A forward update module for updating the forward information on the Trellis diagram;

[0044] A backward update module for updating the backward information on the Trellis diagram;

[0045] An edge information calculation module for calculating the edge information of all Trellis branches according to the updated forward information and backward information;

[0046] A maximum a posteriori information acquisition module for obtaining the log-likelihood posterior probability information of each input bit according to the edge information of each branch;

[0047] A decision output module for obtaining the final decoding output by making a decision on the log-likelihood posterior probability information of each input bit.

[0048] Compared with the prior art, the advantages of the present invention are:

[0049] The present invention obtains the maximum a posteriori likelihood information of each coded bit by performing forward update and backward update of likelihood information on the Trellis diagram, thereby improving the bit error performance of the CCSDS high code rate convolutional code. By using the method of the present invention, the bit error rate of the CCSDS high code rate convolutional code can be reduced. For the CCSDS convolutional code with an information length of 8920 bits and code rates of 5 / 6 and 7 / 8 respectively, this method can obtain additional coding gains of approximately 0.2 dB and 0.6 dB respectively compared to the Viterbi decoding algorithm. Description of the Drawings

[0050] Figure 1 is the information flow at the CCSDS convolutional coding transmitter end;

[0051] Figure 2 is the flowchart of the maximum a posteriori probability decoding algorithm for the high code rate convolutional code;

[0052] Figure 3 is the comparison of the bit error rate curves of the 7 / 8 code rate CCSDS convolutional code;

[0053] Figure 4 is the comparison of the bit error rate curves of the 5 / 6 code rate CCSDS convolutional code;

[0054] Figure 5 is the comparison of the bit error rate curves of the 3 / 4 code rate CCSDS convolutional code;

[0055] Figure 6 is the comparison of the bit error rate curves of the 2 / 3 code rate CCSDS convolutional code. Detailed Embodiment

[0056] (1) The convolutional code recommended by the CCSDS standard is a non-systematic code with a code rate of 1 / 2, that is, one bit of information generates two bits of codewords through a two-path feedforward convolutional machine with a constraint length of 7, and then high code rate convolutional coding with code rates of 2 / 3, 3 / 4, 5 / 6, and 7 / 8 is obtained through periodic puncturing.

[0057] (2) Figure 1 gives the information flow from CCSDS convolutional coding to finally obtaining the received codewords. Among them, is the k-th input bit, are its corresponding two coded output bits, , and n is the information bit length of the coding block.

[0058] (3) Then, the coded output is subjected to binary modulation, and the modulated output is , and the specific modulation relationship is as follows:

[0059]

[0060] After that, the modulated information is passed through an Additive White Gaussian Noise (AWGN) channel, and the output is :

[0061]

[0062] where is an independent random variable following a normal distribution with a mean of 0 and a variance of , and is the one-sided noise power spectral density. is the coded codeword in the form of soft information received at the receiving end.

[0063] Figure 2 is the flowchart of the convolutional decoding algorithm based on the Maximum A Posteriori (MAP) probability. The detailed decoding process is described as follows:

[0064] (5) First, the codeword information at the receiving end is converted into Log-Likelihood Ratio (LLR) information :

[0065]

[0066] (6) Then, the forward information is updated on the Trellis diagram:

[0067] (7) First, initialize as follows. is the forward information of the 0th coding block:

[0068]

[0069] where is the state of the convolutional encoder, that is, the different values stored in the coding shift register, and it belongs to the state set . For a CCSDS convolutional code with a shift register of 6 bits, there are 64 states, that is , arranged in ascending order of value as , is the state corresponding to all zeros in the register.

[0070] (8) Then, for k from 1 to n, perform the forward update of using the following formula:

[0071]

[0072] where represents the forward information of the previous state in the Trellis diagram, and this information reaches the current state via the input information is the encoded output codeword when reaching the current state via the input information reaches the current state at this time, is the log-likelihood ratio information of the (k - 1)-th encoded block, and m represents the m-th bit of the current codeword.

[0073] (9) Then perform the update of the backward information on the Trellis diagram:

[0074] (10) First, initialize in the following way:

[0075]

[0076] (11) Then, for k from n to 1, perform the backward update of , and the calculation formula is as follows:

[0077]

[0078] where represents the backward information of the next state in the Trellis diagram, and this information arrives from the current state via the input information ; is the encoded output codeword when reaching state from the current state via the input information .

[0079] (12) In the actual operation and implementation process, the forward update and the backward update can be carried out at different times or simultaneously; when carried out at different times, only one calculation unit is required, and when carried out simultaneously, two calculation units are required for parallel calculation. Compared with carrying out at different times, carrying out simultaneously can almost double the decoding throughput rate.

[0080] (13) When all and updates are completed, the posterior probability of the state transition of all Trellis branches can be calculated using the following formula, and its log-likelihood form is :

[0081]

[0082] where represents starting from state and transferring to state via the input information The state transition posterior information corresponding to the corresponding side. Each side in each branch of the Trellis diagram corresponds to a state transition posterior information.

[0083] (14) According to , the following formula is used to calculate the logarithmic likelihood posterior probability information of each input bit, and its logarithmic likelihood ratio form is expressed as :

[0084]

[0085] (15) Finally, the following formula is used for decision-making to obtain the final decoding output :

[0086]

[0087] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings and embodiments.

[0088] Embodiment 1

[0089] Embodiment 1 of the present invention proposes a maximum a posteriori probability decoding method for high code rate convolutional codes, including the following steps:

[0090] Step 1: Convert the soft information of the received high code rate convolutional codeword into logarithmic likelihood ratio information;

[0091] Step 2: Update the forward information on the Trellis diagram;

[0092] Step 3: Update the backward information on the Trellis diagram;

[0093] Step 4: Calculate the edge information of all Trellis branches according to the updated forward information and backward information;

[0094] Step 5: Obtain the logarithmic likelihood posterior probability information of each input bit according to the edge information of each branch;

[0095] Step 6: Obtain the final decoding output through the decision-making of the logarithmic likelihood posterior probability information of each input bit.

[0096] Figures 3 to 6 The bit error rate curves of the CCSDS high code rate convolutional code using the method proposed in this paper are given respectively, where Figure 3 is the comparison of the bit error rate curves of the 7 / 8 code rate CCSDS convolutional code, Figure 4 is the comparison of the bit error rate curves of the 5 / 6 code rate CCSDS convolutional code, Figure 5 is the comparison of the bit error rate curves of the 3 / 4 code rate CCSDS convolutional code, Figure 6It is a comparison of the bit error rate curves of 2 / 3 rate CCSDS convolutional codes. For comparison, the bit error rate curve using the Viterbi soft decoding algorithm and the Shannon limit for binary input at the corresponding code rate are also given in the figure. It can be seen from the figure that the method proposed in this paper indeed has better decoding performance than the Viterbi decoding algorithm under high code rate conditions, and the larger the code rate (the more puncturing), the better the performance. Especially when the code rate is 5 / 6 and 7 / 8, the method proposed in this paper can obtain coding gains of about 0.2 dB and 0.6 dB respectively compared with the Viterbi decoding algorithm (BER = 1e-6). In addition, when using the Viterbi algorithm at high code rates, its performance will be more than 4 dB away from the Shannon limit. Especially when the code rate is 7 / 8, the performance of the Viterbi algorithm is about 4.4 dB away from the Shannon limit, while using the method proposed in this paper, the performance of CCSDS convolutional codes with code rates of 5 / 6 and 7 / 8 can be maintained within 4 dB of the Shannon limit.

[0097] Table 1 gives the Eb / N0 required for different rate CCSDS convolutional codes to achieve a bit error rate of 1e-6 using the method proposed in this paper and the Viterbi decoding algorithm, and the gap between them and the corresponding Shannon limits.

[0098] Table Performance comparison table of different rate CCSDS convolutional codes using the method proposed in this paper and the Viterbi algorithm

[0099]

[0100] Example 2

[0101] Example 2 of the present invention provides a maximum a posteriori probability decoding system for high rate convolutional codes, which is implemented based on the method of Example 1. The system includes:

[0102] A conversion module for converting the soft information of the received high rate convolutional codeword into log-likelihood ratio information;

[0103] A forward update module for updating the forward information on the Trellis diagram;

[0104] A backward update module for updating the backward information on the Trellis diagram;

[0105] An edge information calculation module for calculating the edge information of all Trellis branches according to the updated forward information and backward information;

[0106] A maximum a posteriori information acquisition module for obtaining the log-likelihood a posteriori probability information of each input bit according to the edge information of each branch;

[0107] A decision output module, which is used to obtain the final decoding output by making decisions on the logarithmic likelihood posterior probability information of each input bit.

[0108] It should be noted that in the embodiments of the above system, the various modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of the functional modules are only for the convenience of mutual distinction and do not limit the protection scope of the present invention.

[0109] 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 embodiments, those of ordinary skill in the art should understand that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention, and they should all be covered within the scope of the claims of the present invention.

Claims

1. A maximum a posteriori probability decoding method for high code rate convolutional codes, comprising: Step 1: Convert the soft information of the received high code rate convolutional codeword into log-likelihood ratio information; Step 2: Update the forward information on the Trellis diagram; Step 3: Update the backward information on the Trellis diagram; Step 4: Calculate the edge information of all Trellis branches according to the updated forward information and backward information; Step 5: Obtain the log-likelihood a posteriori probability information of each input bit according to the edge information of each branch; Step 6: Obtain the final decoding output through the decision on the log-likelihood a posteriori probability information of each input bit; The said Step 2 includes: Initialize the forward information of the 0th coded block according to the following formula as follows: ; wherein, is the state of the convolutional encoder, that is, different values stored in the encoding shift register, which belongs to the state set , and M is the number of states; For k from 1 to n , perform a forward update according to the following formula to obtain the forward information of the current state of the updated k th coded block : ; in, Indicates the previous state in the Trellis diagram The forward information, and this information is passed through the input information Arrived at the current state ; For input information Arrived at the current state The encoding output codeword is For the k- The log-likelihood ratio information of a coded block, m Indicates the current codeword m bits; The said Step 3 includes: Initialize the backward information of the n th coded block according to the following formula: ​ ; For k From n to 1, perform backward update according to the following formula to obtain the backward information of the current state of the updated k th coded block : ; Among them, represents the backward information of the subsequent state in the Trellis diagram, and this information is arrived at from the current state via the input information ; is the coded output codeword when reaching state from the current state via the input information ; is the log-likelihood ratio information of the k th coding block; The edge information of all Trellis branches in step 4 is , satisfying the following formula: ; Among them, represents the state transition posterior information corresponding to the edge that starts from state , passes through the input information , and transfers to state . Each edge in each branch of the Trellis diagram corresponds to a state transition posterior information. is the log-likelihood ratio information of the k th coding block. is the forward information of the current state of the updated k th coding block. m represents the m th bit of the current codeword. represents the backward information of the subsequent state in the Trellis diagram, and this information arrives from the current state through the input information .

2. The maximum a posteriori probability decoding method of the high code rate convolutional code according to claim 1, wherein The high-rate convolutional code received in the said step 1 is , where has two outputs, , represents the k th coding block, n is the length of the information bits of the coding block; ; Among them, , is the modulated output, is an independent random variable that follows a normal distribution with a mean of 0 and a variance of and is a Gaussian distribution, is the unilateral noise power spectral density.

3. The maximum a posteriori probability decoding method for high code rate convolutional codes according to claim 2, characterized in that, The log-likelihood ratio information in the said step 1 is , and satisfies the following formula: 。 4. The maximum a posteriori probability decoding method for high code rate convolutional codes according to claim 1, characterized in that, The log-likelihood a posteriori probability information of each input bit obtained in the step 5 is as follows: ; Among them, and respectively represent the binary data therein u being 0 and 1.

5. The maximum a posteriori probability decoding method for high code rate convolutional codes according to claim 4, characterized in that, The final decoding output in step 6 is , satisfying the following formula: ; Among them, is the final decoding output of the k th coding block.

6. The maximum a posteriori probability decoding method of the high code rate convolutional code according to claim 1, characterized in that, The said Step 2 and Step 3 are executed simultaneously or in sequence.

7. A system for the maximum a posteriori probability decoding method of the high code rate convolutional code according to claim 1, characterized in that, Comprising: A conversion module for converting the soft information of the received high code rate convolutional codeword into log-likelihood ratio information; A forward update module for updating the forward information on the Trellis diagram; A backward update module for updating the backward information on the Trellis diagram; An edge information calculation module for calculating the edge information of all Trellis branches according to the updated forward information and backward information; A maximum a posteriori information acquisition module for obtaining the log-likelihood a posteriori probability information of each input bit according to the edge information of each branch; And A decision output module for obtaining the final decoding output through the decision on the log-likelihood a posteriori probability information of each input bit.

Citation Information

Patent Citations

  • Improved soft output tail biting convolution code decoding method

    CN106301391A