A method for adaptively stopping iterations in Turbo code decoding
By calculating the sum of the soft information difference entropy output by the component decoders of the Turbo code decoder, adaptive stopping of iteration is achieved, which solves the problem of excessive iteration of the Turbo code decoder, reduces the time delay and calculation amount, and improves the reliability of the communication system.
Patent Information
- Application Number
- CN202210882839.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-26
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2042-07-26
AI Technical Summary
The Turbo code decoder cannot stop in time during the iteration process, resulting in increased delay and increased computational complexity for the receiving terminal. Existing methods such as CRC check and cosine similarity calculations are complex or result in loss of data throughput.
By calculating the sum of the soft information difference entropy output by the first and second component decoders and judging whether it is less than the product of the threshold coefficient and the number of information bits, it is decided whether to stop iteration, thereby avoiding CRC checksum and complex calculation.
It effectively stops iterations, reduces latency and computational complexity, extends the standby time of mobile terminals, and improves the reliability of communication systems.
Smart Images

Figure QLYQS_5 
Figure BDA0003764872460000051 
Figure BDA0003764872460000052
Abstract
Description
Technical Field
[0001] The present invention relates to the field of mobile communication technology, and in particular to a method for adaptively stopping iteration of Turbo code decoding. Background Art
[0002] In mobile communication systems, due to the diverse communication environments and the mobility of receivers, the signals received by users are noisy signals superimposed with various noises. When the noise power within the communication link is low, the impact on the receiver is minimal. For example, in voice-centric services, a small amount of errors in the transmitted information barely affects speech intelligibility. However, when the noise power within the communication link is high, it can significantly impact the receiver, and in severe cases, even prevent the transmission of useful information. To address this issue, information is typically encoded at the transmitter, adding redundancy to the useful information. This redundant information is then used by the receiver to correct errors that occur during transmission.
[0003] In communication systems, the process of adding redundancy to information is called channel coding, and the process of correcting errors is called channel decoding. With the development of communication systems, numerous channel coding schemes have emerged, such as BCH codes, Reed-Solomon codes, and convolutional codes. These codes are all based on mathematical models and possess rigorous algebraic structures. However, the construction of these codewords does not conform to the random coding concept proposed by Shannon. Therefore, the performance of codewords based on algebraic structures is still somewhat below the Shannon limit. In 1993, C. Berrou proposed Turbo codes. Turbo codes cleverly concatenate two simple component codes in parallel through a pseudo-random interleaver to construct a code with pseudo-random properties. By repeatedly iterating between the two component decoders, they achieve pseudo-random decoding, achieving performance far exceeding that of codewords with algebraic structures.
[0004] Due to their superior decoding performance, Turbo codes have become standard in many communication systems. However, Turbo decoders lack the ability to determine decoding success. Even if decoding succeeds during an iteration, the code continues until the maximum number of iterations is reached. Excessive iterations can cause latency for users and increase the computational load on the receiving terminal, which in turn increases power consumption. Therefore, it is necessary to promptly stop iterations when decoding is successful, reducing computational load and extending the receiving terminal's standby time.
[0005] Common methods for stopping Turbo code decoding iterations mainly use the method of adding CRC to the data information. During the Turbo iterative decoding process, a CRC check is performed after each iteration. The CRC check result is used to determine whether the conditions for stopping the iteration are met. Alternatively, the cosine similarity between two iterations is calculated to determine whether to stop the iteration.
[0006] Of these two methods, the former requires sending data with a CRC added, so the number of bits carrying valid information in the sequence is reduced, which reduces the data throughput of the entire system; while the latter requires calculating the similarity of the external information sequences output by two iterations, which is more complex and also brings additional computational effort to the decoder. Summary of the Invention
[0007] In view of the problems existing in the prior art, the present invention aims to provide a method for adaptively stopping iterations of Turbo code decoding.
[0008] In order to achieve the above objectives, the present invention adopts the following technical solutions to achieve them.
[0009] A method for adaptively stopping iterations of Turbo code decoding comprises the following steps:
[0010] During the turbo code decoding iteration process, when passing through the first component decoder, the difference entropy sum between the soft information output by the first component decoder and the soft information output by the deinterleaved second component decoder is calculated. When the difference entropy sum is less than or equal to the product of the threshold coefficient ξ and the number of information bits k, the iteration is stopped and the soft information output by the first component decoder is output;
[0011] During the iterative decoding process of the turbo code, when passing through the second component decoder, the difference entropy sum between the soft information output by the second component decoder and the soft information output by the interleaved first component decoder is calculated. When the difference entropy sum is less than or equal to the product of the threshold coefficient ξ and the number of information bits k, the iteration is stopped and the soft information output by the second component decoder is deinterleaved and output.
[0012] Compared with the prior art, the beneficial effects of the present invention are as follows: the method for adaptively stopping iterations of Turbo code decoding of the present invention does not require CRC check and can effectively stop iterations without losing decoding performance, thereby reducing latency and the amount of calculation of the receiving terminal, thereby extending the standby time of the mobile terminal and increasing the reliability of the communication system. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0014] Figure 1 It is the decoding flow chart of Turbo decoder;
[0015] Figure 2 Schematic diagram of the change in the number of errors after each iteration when decoding using the method of the present invention at a signal-to-noise ratio of 1.0 dB;
[0016] Figure 3Schematic diagram of the difference entropy and change corresponding to each iteration when decoding using the method of the present invention at a signal-to-noise ratio of 1.0 dB;
[0017] Figure 4 A comparison chart of decoding performance under different stopping thresholds and ideal decoding performance when decoding using the method of the present invention;
[0018] Figure 5 The figure is a comparison diagram of the average number of iterations under different stopping thresholds when decoding using the method of the present invention and the average number of iterations under ideal conditions. DETAILED DESCRIPTION
[0019] The embodiments of the present invention will be described in detail below with reference to examples. However, those skilled in the art will understand that the following examples are only used to illustrate the present invention and should not be construed as limiting the scope of the present invention.
[0020] refer to Figure 1 , which is the decoding flow chart of the Turbo decoder.
[0021] The turbo decoder receives the log-likelihood ratio and in is the log-likelihood ratio of the system information; is the log-likelihood ratio of the check bit information of the first component decoder; is the log-likelihood ratio of the check bit information of the second component decoder.
[0022] The first component decoder uses system information and checksum information and the prior information provided by the second component decoder to the first component decoder Decoding is performed, and the information output by the first component decoder is the log-likelihood ratio λ about the bit vector X (1) (x t | r), called soft information; and then remove the system information in the soft information output by the first component decoder and prior information After that, the external information output by the first component decoder is obtained
[0023] The second component decoder interleaves the external information output by the first component decoder as prior information Combined with system information and checksum information Decoding is performed, and the information output by the second component decoder is the log-likelihood ratio λ of the bit vector (2) (x Π(t) | r), which is different from the first component decoder in that its order is interleaved; and then the system information is removed and prior information After that, the external information output by the second component decoder is obtained The external information output by the second component decoder The information after the deinterleaver is used as the prior information for the first component decoder in the next iteration.
[0024] During the iterative decoding process of turbo codes, since both component decoders can produce decoding results, the similarity of the soft information output by the two component decoders can be calculated. If the two soft information are identical or very similar, it is assumed that further decoder iteration will not yield any new useful information, and the iteration can be stopped. The soft information output by the component decoders is the log-likelihood ratio of the bit vector. The present invention uses the sum of differential entropies to determine the similarity between the soft information and thus decide whether to stop the iteration.
[0025] A method for adaptively stopping iterations of Turbo code decoding comprises the following steps:
[0026] During the turbo code decoding iteration process, when passing through the first component decoder, the difference entropy sum between the soft information output by the first component decoder and the soft information output by the deinterleaved second component decoder is calculated. When the difference entropy sum is less than or equal to the product of the threshold coefficient ξ and the number of information bits k, the iteration is stopped and the soft information output by the first component decoder is output;
[0027] During the iterative decoding process of the turbo code, when passing through the second component decoder, the difference entropy sum between the soft information output by the second component decoder and the soft information output by the interleaved first component decoder is calculated. When the difference entropy sum is less than or equal to the product of the threshold coefficient ξ and the number of information bits k, the iteration is stopped and the soft information output by the second component decoder is deinterleaved and output.
[0028] The definition of the log-likelihood ratio of a bit is as follows: Suppose there is a random variable X whose possible values are bit 0 or bit 1. The log-likelihood ratio is defined as the logarithm of the ratio of the probability of judging bit 0 to the probability of judging bit 1. Its mathematical expression is:
[0029]
[0030] Cross entropy can be used to examine the similarity between two random variables.
[0031] If there are two random variables P and Q, the similarity between them can be defined by the cross entropy D(P||Q):
[0032]
[0033] Where E represents the mathematical expectation.
[0034] In general, for a binary random variable,
[0035]
[0036] From formula (1), we can see that when calculating D(P||Q), we need to use the probability value of each random variable, which needs to be determined by the log-likelihood ratio λ P and λ Q Therefore, the amount of calculation is increased.
[0037] and
[0038] The "differential entropy" is introduced to define the similarity between two random variables. The differential entropy is defined as Z(P||Q)=E P (|PQ|), for a binary random variable
[0039] Z(P||Q)=p(P=1)|p(P=1)-p(Q=1)|+p(P=0)|p(P=0)-p(Q=0)| (2)
[0040] Notice
[0041] p(P=0)-p(Q=0)=1-p(P=1)-1+p(Q=1)
[0042] =-(p(P=1)-p(Q=1))
[0043] Then there is
[0044] |p(P=0)-p(Q=0)|=|p(P=1)-p(Q=1)| (3)
[0045] Substituting (3) into (2) we get
[0046]
[0047] From formula (4), we can see that the value range of the difference entropy is between [0,1]. At the same time, the smaller the value, the more similar it is. When the value is 0, it means that the probability distribution of the two random variables is exactly the same.
[0048] During the Turbo decoding iteration, the codewords obtained by the component decoders gradually tend to be stable as the number of iterations increases, that is, the number of symbols with the same bit log-likelihood ratio corresponding to the two component decoders increases as the number of iterations increases.
[0049] If the log-likelihood ratio λ of the binary random variables P and Q P and λ Q are both greater than 0, then the denominator of formula (4) If the log-likelihood ratio λ P and λ Q are all less than 0, then the denominator of formula (4) is
[0050] Therefore, in the later stage of Turbo decoding,
[0051]
[0052] Substituting (5) into (4) we have
[0053]
[0054] Where Δλ=λ P -λ Q .
[0055] Here again, we explain that in the later stage of iteration, as the number of iterations increases, the soft information λ output by each component decoder P and λ Q will gradually move to two extreme values, that is, closer and closer to +∞ or -∞, then At the same time, considering the function f(x) = e x is always greater than 0, then formula (6) can be further simplified to
[0056]
[0057] Formula (7) is the calculation formula for the difference entropy of two random variables.
[0058] If there is a random variable P=(P1,P2,…,P N ) and Q=(Q1,Q2,…,Q N ) then the difference entropy between them is
[0059] For the first component decoder, the steps are as follows:
[0060] Step 1.1, using system information Verification Information Calculate the soft information λ output by the first component decoder (1) (x t |r);
[0061] Step 1.2: The soft information λ output by the second component decoder (2) (x Π(t) |r) to deinterleave and obtain the deinterleaved soft information λ (2) (x t |r);
[0062] Step 1.3, use formula (7) to calculate the difference entropy and soft information output by the two component decoders
[0063] Step 1.4, update the iteration index variable l = l + 0.5;
[0064] Step 1.5, if Then stop the iteration and output the soft information λ (1) (x t |r); otherwise continue iteration to the second component decoder.
[0065] For the second component decoder, the steps are as follows:
[0066] Step 2.1, using system information Verification Information Calculate the soft information λ output by the second component decoder (2) (x Π(t) |r);
[0067] Step 2.2: The soft information λ output by the first component decoder (1) (x t |r) is interleaved, and the soft information λ is obtained after interleaving. (1) (x Π(t) |r);
[0068] Step 2.3, use formula (7) to calculate the difference entropy and soft information output by the two component decoders
[0069] Step 2.4, update the iteration index variable l = l + 0.5;
[0070] Step 2.5, if Then stop the iteration and output the soft information λ (2) (x t |r); otherwise continue iteration to the first component decoder.
[0071] Simulation test
[0072] Let the information length k = 5000 bits and the maximum number of iterations L = 30. The puncturing matrix is The modulation method is Binary Phase Shift Key (BPSK), and the signal is output to the Turbo decoder via a Gaussian channel. The component decoder uses the Log Maximum Aprior Probability (Log-MAP) algorithm in the logarithmic domain.
[0073] Simulation 1
[0074] The number of errors and the corresponding differential entropy and changes after each iteration are examined under a signal-to-noise ratio of 1.0dB. Defined as the energy per bit E b The ratio to the single-sideband power spectrum N0 is the threshold coefficient ξ = 0.001.
[0075] refer to Figure 2 The vertical axis is the number of bit errors, which is defined as the sum of the number of differences between the decoded bits and the transmitted bits; the horizontal axis is the number of iterations. Figure 3 , the vertical axis is the sum of difference entropy; the horizontal axis is the number of iterations.
[0076] exist Figure 2 In the figure, the number of errors corresponding to 0 iterations represents the number of bit errors when Turbo decoding is not performed (the received data is directly hard-determined), the number of errors corresponding to 0.5 iterations represents the number of bit errors after decoding by the first component decoder; the number of errors corresponding to 1.0 iterations represents the number of bit errors after decoding by the first component decoder--the second component decoder, the number of errors corresponding to 1.5 iterations represents the number of bit errors after decoding by the first component decoder--the second component decoder--the first component decoder, and so on. It can be seen that the number of errors gradually decreases with the increase in the number of iterations.
[0077] At the 3.5th iteration, the number of bit errors is 2, and the corresponding difference entropy sum is 36, which is greater than the threshold ξk = 0.5, so the iteration continues;
[0078] At the 4.0th iteration, the number of bit errors is 0, and the corresponding difference entropy sum is 3.713, which is still greater than the threshold ξk = 0.5, so the iteration continues;
[0079] At the 4.5th iteration, the number of bit errors is 0, and the corresponding difference entropy sum is 0.1280, which is less than the threshold ξk=0.5, so the iteration is stopped.
[0080] It can be seen from Simulation 1 that when the method of the present invention is used for decoding, the comparison between the difference entropy and the threshold is used to avoid subsequent meaningless iteration processes, thereby reducing the amount of calculation.
[0081] Simulation 2
[0082] The decoding performance and number of iterations of the method of the present invention are compared with those of ideal decoding under different stopping thresholds. Ideal decoding refers to stopping iterations once the decoding is correct, i.e., no error bits are found. It should be noted that the number of iterations in turbo decoding is directly related to the computational complexity of the decoding. A higher number of iterations results in a higher computational complexity, and therefore the number of iterations indirectly reflects the computational complexity.
[0083] refer to Figure 4 The vertical axis is the bit error rate, which refers to the ratio of the number of erroneous bits after decoding to the total number of bits. The smaller the bit error rate, the better the decoding performance. Figure 4 As can be seen, when the SNR is less than or equal to 0.8dB, the decoding performance corresponding to different stopping thresholds is basically consistent with the ideal situation. However, when the SNR is greater than or equal to 1.0dB, there is a significant difference. The decoding performance with a stopping threshold of 5 deviates significantly from the ideal situation, while the decoding performance with a stopping threshold of 0.5 is basically the same as the ideal situation. This is because the conditions for stopping iterations are more relaxed when the threshold is larger, and it is possible that even if the stopping conditions are met, there will still be error bits.
[0084] refer to Figure 5 ,It can be seen that the average number of iterations when the stopping threshold is 5 is slightly lower than the average number of iterations in the ideal case, while the average number of iterations when the stopping threshold is 0.5 is slightly higher than the ideal case.
[0085] This is because when the stopping threshold is 5, the stopping condition is relatively loose. Error bits may exist after decoding, but the sum of the differential entropy is already less than the decision threshold, causing iterations to stop earlier than ideal. Therefore, the corresponding average number of iterations curve is slightly lower than the ideal case. However, when the stopping threshold is 0.5, the stopping condition is more stringent. Even if the component decoder decodes without errors, the corresponding sum of the differential entropy is still greater than the set threshold, so iterations will continue. This is the case in the fourth iteration of Simulation 1.
[0086] Further references Figure 5 ,It can be seen that the average number of iterations when the stopping threshold is 0.5 is basically consistent with the average number of iterations in the ideal case.
[0087] At a signal-to-noise ratio of 1.0 dB, the average number of iterations for the ideal case is 5.7114, while the average number of iterations for a stopping threshold of 0.5 is 5.9622, a difference of 0.2508. At a signal-to-noise ratio of 2.0 dB, the average number of iterations for the ideal case is 2.4052, while the average number of iterations for a stopping threshold of 0.5 is 2.8556, a difference of 0.4504. This shows that the average number of iterations for a stopping threshold of 0.5 is no more than 0.5 times that for the ideal case (i.e., one more component decoding process).
[0088] It can be further concluded from the results of simulation 2 that when the method of the present invention is used for decoding, iteration can be effectively stopped without losing decoding performance, and the average number of iterations required is only about 0.5 times more than the ideal case.
[0089] Although this specification has provided a detailed description of the present invention using general descriptions and specific embodiments, it will be apparent to those skilled in the art that modifications and improvements may be made based on the present invention. Therefore, such modifications and improvements, which do not depart from the spirit of the present invention, are intended to be within the scope of protection claimed herein.
Claims
1. A method for adaptively stopping iterations in Turbo code decoding, characterized in that: The following steps are involved: During the iterative decoding process of the turbo code, when passing through the first component decoder, the difference entropy sum between the soft information output by the first component decoder and the soft information output by the deinterleaved second component decoder is calculated. When the difference entropy sum is less than or equal to the threshold coefficient and the number of information bits When the product of , stops the iteration and outputs the soft information output by the first component decoder; During the iterative decoding process of the turbo code, when passing through the second component decoder, the difference entropy sum between the soft information output by the second component decoder and the soft information output by the interleaved first component decoder is calculated. When the difference entropy sum is less than or equal to the threshold coefficient and the number of information bits When the product of , stops the iteration, and deinterleaves the soft information output by the second component decoder and outputs it; The calculation method of differential entropy is as follows: Where, and are random variables, is a random variable The log-likelihood ratio of is a random variable The log-likelihood ratio of .
2. The method for adaptively stopping iterations of Turbo code decoding according to claim 1, wherein: For random variables and random variables , then the random variable and The difference entropy between .
Citation Information
Patent Citations
Turbo code decoding iteration cease method based on cosine similarity
CN103124181A
Polar code decoder and polar code decoding method based on probability calculation
CN104079382A