Double factor correction turbo decoding method based on simulated annealing algorithm

11736126 · 2023-08-22

Assignee

Inventors

Cpc classification

International classification

Abstract

A double factor correction Turbo decoding method based on a simulated annealing algorithm is provided, including: S1: setting an initial bit error rate P.sub.e0 and an initial solution of correction factors; S2: randomly selecting a new solution of the correction factors from a proximal subset of a current solution, and calculating a new bit error rate P.sub.enew; S3: determining whether the new bit error rate is smaller than a bit error rate of a previous decoding, and if so, receiving the new solution of the correction factors, otherwise calculating a reception probability based on a difference between the new bit error rate and the bit error rate of the previous decoding; S4: decreasing the initial bit error rate P.sub.e0 to determine whether a termination condition is satisfied, performing S5 if the termination condition is satisfied, otherwise performing S2; and S5: outputting a current solution of the correction factors as an optimal solution.

Claims

1. A double factor correction Turbo decoding method based on a simulated annealing algorithm, comprising: S1: setting an initial bit error rate P.sub.e0 and an initial solution x.sub.0(sf.sub.1, sf.sub.2) of correction factors, sf.sub.1 being a first correction factor, and sf.sub.2 being a second correction factor; S2: randomly selecting a new solution of the correction factors from a proximal subset of a current solution of the correction factors, and calculating a new bit error rate P.sub.e.sub.new after correcting a Turbo decoding algorithm based on the new solution of the correction factors; S3: determining whether the new bit error rate is smaller than a bit error rate of a previous decoding; in response to the new bit error rate being smaller than the bit error rate of the previous decoding, receiving the new solution of the correction factors; and in response to the new bit error rate being not smaller than the bit error rate of the previous decoding, calculating a reception probability based on a difference between the new bit error rate and the bit error rate of the previous decoding, and receiving the new solution of the correction factors based on the reception probability; S4: decreasing the initial bit error rate P.sub.e0 at a preset rate, determining whether a termination condition is satisfied, and performing S5 if the termination condition is satisfied, or performing S2 if the termination condition is not satisfied; and S5: outputting the current solution of the correction factors as an optimal solution.

2. The double factor correction Turbo decoding method based on the simulated annealing algorithm according to claim 1, wherein first prior information and second prior information are obtained by following formulas:
L.sub.a1_new=L.sub.a1*sf1
L.sub.a2_new=L.sub.a2*sf2 where L.sub.a1_new represents the first prior information, L.sub.a1 represents de-interleaved information obtained by de-interleaving extrinsic information outputted by a second soft-in soft-out (SISO) decoder during a previous iterative decoding process, sf1 represents the first correction factor, L.sub.a2_new represents the second prior information, L.sub.a2 represents interleaved information obtained by interleaving extrinsic information outputted by a first SISO decoder during the previous iterative decoding process, and sf2 represents the second correction factor.

3. The double factor correction Turbo decoding method based on the simulated annealing algorithm according to claim 1, wherein calculating the reception probability based on the difference between the new bit error rate and the bit error rate of the previous decoding is achieved by following formulas:
ΔP.sub.e=P.sub.enew(x.sub.new(sf.sub.1,sf.sub.2))−P.sub.e0(x.sub.0(sf.sub.1,sf.sub.2)) P = { 1 , Δ P e < 0 e - Δ P e P e 0 , Δ P e > 0 where P.sub.enew(x.sub.new(sf.sub.1,sf.sub.2)) represents the new bit error rate, x.sub.new (sf.sub.1, sf.sub.2) represents the new solution of the correction factors, P.sub.e0 (x.sub.0(sf.sub.1,sf.sub.2)) represents the initial bit error rate, x.sub.0(sf.sub.1,sf.sub.2) represents the initial solution of the correction factors, and P represents the reception probability.

4. The double factor correction Turbo decoding method based on the simulated annealing algorithm according to claim 1, wherein correcting the Turbo decoding algorithm based on the new solution of the correction factors comprises: inputting verification information and system information outputted by an encoder into a Turbo decoder structure comprising a first SISO decoder and a second SISO decoder; and wherein the first SISO decoder is a decoder for performing SISO decoding on system information, first verification information, and first prior information received during a current iterative decoding process; the second SISO decoder is a decoder for performing the SISO decoding on interleaved system information obtained by interleaving the system information, second verification information, and second prior information received during the current iterative decoding process; the first prior information is obtained by correcting de-interleaved information obtained by de-interleaving extrinsic information outputted by the second SISO decoder during a previous iterative decoding process using the first correction factor; and the second prior information is obtained by correcting interleaved information obtained by interleaving extrinsic information outputted by the first SISO decoder during the previous iterative decoding process using the second correction factor.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) In order to more clearly illustrate the embodiments of the disclosure or the technical solutions in the prior art, the following will briefly introduce attached drawings needed in the description of the embodiments or the prior art. It is apparent that these attached drawings in the following description are some embodiments of the disclosure. For those skilled in the art, other attached drawings can be obtained from these attached drawings without creative work.

(2) FIG. 1 illustrates a Turbo decoder structure of the disclosure.

(3) FIG. 2 illustrates a flowchart of a double factor correction Turbo decoding method based on a simulated annealing algorithm of the disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

(4) In order to enable those skilled in the art to better understand the technical solutions of the disclosure, the following will provide a clear and complete description of the technical solutions in the embodiments of the disclosure in combination with attached drawings. Apparently, the described embodiments are only a part of the embodiments of the disclosure, not all of them. Based on the embodiments in the disclosure, all other embodiments obtained by those ordinary skilled in the art without creative work should fall within the scope of protection of the disclosure.

(5) A double factor correction Turbo decoding method based on a simulated annealing algorithm includes following five steps S1˜S5. S1: setting an initial bit error rate P.sub.e0 and an initial solution x.sub.0(sf.sub.1,sf.sub.2) of correction factors, sf.sub.1 being a first correction factor, and sf.sub.2 being a second correction factor. S2: randomly selecting a new solution of the correction factors from a proximal subset of a current solution of the correction factors, and calculating a new bit error rate P.sub.enew after correcting a Turbo decoding algorithm based on the new solution of the correction factors.

(6) In an embodiment, in the new solution of the correction factors, a random number in [sf.sub.1−0.2, sf.sub.1+0.2] is taken as the first correction factor, and a random number in [sf.sub.2−0.2, sf.sub.2+0.2] is taken as the second correction factor. Here, sf.sub.1 is the first correction factor of the current solution of the correction factors, and sf.sub.2 is the second correction factor of the current solution of the correction factors.

(7) The disclosure performs decoding based on the Turbo decoder structure shown in FIG. 1. The Turbo decoder structure includes a first SISO decoder and a second SISO decoder. Specifically, the first SISO decoder is a decoder that performs SISO decoding on system information X, first verification information Y.sub.0 and Y.sub.1, and first prior information L.sub.a1 received during a current iterative decoding process. The second SISO decoder is a decoder that performs the SISO decoding on interleaved system information obtained by interleaving the system information X, second verification information Y.sub.0′ and Y.sub.1′, and second prior information L.sub.a2 received during the current iterative decoding process. The first prior information is obtained by correcting de-interleaved information which is obtained by de-interleaving extrinsic information L.sub.e2 outputted by the second SISO decoder during a previous iterative decoding process using the first correction factor; and the second prior information is information is obtained by correcting interleaved information which is obtained by interleaving extrinsic information L.sub.e1 outputted by the first SISO decoder during the previous iterative decoding process using the second correction factor. The first prior information and the second prior information are obtained by following formulas:
L.sub.a1_new=L.sub.a1*sf1
L.sub.a2_new=L.sub.a2*sf2

(8) where L.sub.a1_new represents the first prior information, L.sub.a1 represents de-interleaved information obtained by de-interleaving extrinsic information outputted by the second SISO decoder during the previous iterative decoding process, sf1 represents the first correction factor, L.sub.a2_new represents the second prior information, L.sub.a2 represents interleaved information obtained by interleaving extrinsic information outputted by the first SISO decoder during the previous iterative decoding process, and sf2 represents the second correction factor.

(9) In the VDE-TER platform, information sequences are outputted from the descrambler and enter the decoder structure after zero-padding operations. The decoding is performed iteratively by the first SISO decoder and the second SISO decoder. The first SISO decoder and the second SISO decoder correspond to RSC1 and RSC2 in the encoder, respectively.

(10) S3: determining whether the corrected bit error rate is smaller than a bit error rate of a previous decoding, in response to the new bit error rate being smaller than the bit error rate of the previous decoding, receiving the new solution of the correction factors as the current solution of the correction factors; and in response to the new bit error rate being not smaller than the bit error rate of the previous decoding, calculating a reception probability based on a difference between the new bit error rate and the bit error rate of the previous decoding, and receiving the new solution of the correction factors based on the reception probability.

(11) Specifically, the difference between the corrected bit error rate and the bit error rate of the previous decoding is achieved by following formulas:
ΔP.sub.e=P.sub.enew(x.sub.new(sf.sub.1,sf.sub.2))−P.sub.e0(x.sub.0(sf.sub.1,sf.sub.2))

(12) where P.sub.enew(x.sub.new(sf.sub.1, sf.sub.2)) represents the new bit error rate, x.sub.new (sf.sub.1, sf.sub.2) represents the new solution of the correction factors, P.sub.e0(x.sub.0(sf.sub.1, sf.sub.2)) represents the initial bit error rate, and x.sub.0(sf.sub.1,sf.sub.2) represents the initial solution of the correction factors.

(13) If ΔP.sub.e<0, the new solution x.sub.new(sf.sub.1,sf.sub.2) is received as a current solution, otherwise determining whether to receive the new solution according to the reception probability calculated in a following formula:

(14) P = { 1 , Δ P e < 0 e - Δ P e P e 0 , Δ P e > 0

(15) where P represents the reception probability. S4: decreasing the initial bit error rate P.sub.e0 at a preset rate (also referred to as an annealing rate) to determine whether a termination condition is satisfied, and performing S5 if the termination condition is satisfied, or performing S2 if the termination condition is not satisfied. S5: outputting a current solution of the correction factors as an optimal solution while the termination condition is satisfied.

(16) The technical solutions of the disclosure will be further explained through a specific embodiment.

(17) A generation matrix of Turbo code used in the disclosure is G=[1 0 1 1; 1 1 0 1; 1 1 1 1], and the encoder adopts a rescursive system code (RSC) structure. The decoder structure is shown in FIG. 1, with an iteration number of 8. In the embodiment, the link ID in an international telecommunication union-1139 (ITU-1139) is configured as a 19 channel, with a signal-to-noise ratio of 4 dB, a data length of 5376 bits, and a code rate of 3/4. Factor correction is applied to the extrinsic information in the decoder. Correction results of the extrinsic information generated by decoder 1 and decoder 2 are shown in formula (I). The detail of the correction method is shown in the flowchart FIG. 2.
L.sub.a1_new=L.sub.a1*sf1
L.sub.a2_new=L.sub.a2*sf2  (I).

(18) The specific embodiment includes following steps.

(19) In step (1), each physical value is initialized, P.sub.e0 is set to 1, N is set to 100, both sf.sub.1 and sf.sub.2 in x.sub.0(sf.sub.1, sf.sub.2) are set to 1, and α is set to 0.85. α represents an annealing rate, N represents a total number of iterations of the simulated annealing algorithm, and n represents a current number of iterations of the simulated annealing algorithm.

(20) In step (2), for n=1, 2, . . . , N, steps (3) to (5) are performed.

(21) In step (3), a random number in [sf.sub.1−0.2, sf.sub.1+0.2] is taken as a current first correction factor sf.sub.1, and a random number in [sf.sub.2−0.2, sf.sub.2+0.2] is taken as a current second correction factor sf.sub.2, thereby to obtain a new solution x.sub.n(sf.sub.1, sf.sub.2). A current bit error rate P.sub.e.sub.n is obtained by calculating Turbo codes corrected by the current first correction factor sf.sub.1 and current second correction factor sf.sub.2, and a difference between the current bit error rate and a bit error rate of the previous decoding is calculated by a formula: ΔP.sub.e=P.sub.e.sub.n(x.sub.n(sf.sub.1,sf.sub.2))−P.sub.e.sub.n-1(x.sub.n-1(sf.sub.1,sf.sub.2)). In the embodiment, n=1, sf.sub.1=1, sf.sub.2=0.8, P.sub.e0(x.sub.0(1, 1))=0.0881, P.sub.e0(x.sub.1(sf.sub.1, sf.sub.2))=0.0742, ΔP.sub.e=−0.0139.

(22) In step (4), if ΔP.sub.e<0, the new solution x.sub.n(sf.sub.1, sf.sub.2) is taken as a current solution, otherwise determining whether to receive the new solution according to the reception probability calculated in a following formula (II), Apparently, the new solution x.sub.1 (1, 0.8) is received in the embodiment;

(23) P = { 1 , Δ P e < 0 e - Δ P e P e 0 , Δ P e > 0 . ( II )

(24) In step (5), the current solution is outputted as an optimal solution if a termination condition is met, and the program is ended.

(25) In step (6), the initial bit error rate P.sub.e0 is decreased with the annealing rate α, so that P.sub.e0 is set to α*P.sub.e0, and the program is ended if P.sub.e0<0. Otherwise, step (2) is performed.

(26) In the embodiment, P.sub.e0 used for a next iteration is set to 0.85 according to P.sub.e0=α*P.sub.e0, then step (2) is repeated for the next iteration.

(27) Step (3) is performed, n=2, sf.sub.1=1, sf.sub.2=0.6, P.sub.e1(x.sub.1(1, 0.8))=0.0742, P.sub.e2(x.sub.2(sf.sub.1, sf.sub.2))=0.0807, ΔP.sub.e=0.0065.

(28) Step (4) is performed, and a new solution is received with a reception probability of 0.992.

(29) Step (6) is performed, and P.sub.e0 used for a next iteration is set to 0.7225 according to P.sub.e0=α*P.sub.e0, then step (2) is repeated until the termination condition is satisfied.

(30) In the embodiment, the termination condition is that the total number of iterations of the simulated annealing algorithm reaches the preset maximum (i.e., n=N=100), or a lower limit of the bit error rate meets the requirements (i.e., P.sub.e0<0).

(31) Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the disclosure, not to limit it. Although the disclosure has been described in detail with the above embodiments, those skilled in the art should understand that they can still change the technical solutions in the above embodiments, or equivalently replace some or all of the technical features therein. These modifications or substitutions based on the nature of the technical solutions should also belong to the scope of protection of the disclosure.