Keywords

1 Introduction

Since 1990s, with the continuous progress of the information transmission technology and the coding and decoding technology, Turbo code as an iterative decoding algorithm has become an important research focus in the field of channel coding and decoding. The central idea of [1] is dependent on the soft output decision algorithm and encoding technology of component codes to realize the concatenated code distance of pseudorandom encoding and iterative decoding. The advanced decoding technology development thanks to the discrimination algorithm for encoding and decoding technology, combined with the development of information transmission technology, and promote the development of Turbo Technology, further to promote the efficient development of the field of communication, to maximize the use of communication channel capacity, the interleaver in [2] encoding and decoding technology progress plays a key role. The development of Turbo code through the parallel cascade structure and serial concatenated two stages of [3], the serial concatenated structure is in under the premise of combining the actual demand, for a series of modified parallel cascade structure, and a parallel encoding cascade structure is also the contemporary widely used decoding technology. Considering the importance of each link based on Turbo code design, design process, should be based on the actual demand, combined with the development of technology, comprehensive consideration of various aspects of the impact of link, the establishment of the overall idea, and then achieve the optimization of the design of Turbo codes. In this paper, the key link of the Turbo code analysis system of performance, and the results of the simulation analysis.

2 Principle of Encoder and Decoder for Turbo Codes

2.1 Encoder Composition

The coding principle of Turbo code is shown in Fig. 1, the system consists of RSC (recursive system convolutional encoder), delete and reuse unit, and interleaving device. The code word of the encoder is output to the decoder through the channel, and the RSC [4] is a kind of systematic convolutional encoder with feedback for a class of bit rate R = K/N; As an important part of the system, the function of the system is to obtain the same contents as the original information, but the information sequence is arranged in different ways; For the integrity of the optimization of the rate, set up the delete and reuse unit, to obtain a code word of different code rate.

Fig. 1
figure 1

Coding principle of Turbo codes

2.2 Principle of Decoder

The main components of the Turbo code decoder are shown in Fig. 2. The main components include the soft input/output (SISO) decoder DEC2 and, the interleaving device and the DEC1. Turbo decoder work flow is: the best use of the function of decoding decoder, the likelihood information in RSC1, the information and the information bit sequence information associated, while the transmission function of the interleaver, the likelihood information can be delivered to the outward transmission, DEC2 decoder, DEC2 will receive the likelihood information sequence is processed in the prior information the way of RSC2 component code and interleaver processing function, the information sequence generated for the likelihood information based on bit sequence, after the de-interleaver role transfer to DEC1, so, decoding, information processing cycle. In the iterative function, soft input and soft output (SISO) decoder output information sequence the likelihood ratio asymptotic value approximate maximum likelihood decoding, the best estimate of the information sequence in the optimal likelihood ratio value can be obtained on the basis of the analysis.

Fig. 2
figure 2

Basic structure of Turbo code decoder

3 Performance Analysis of Turbo Code System

3.1 Influence of Iteration Number

Taking into account the Turbo code system for iterative decoding algorithm, the number of iterations of the algorithm itself is bound to have a certain impact on the performance of the system. Generally, the number of iterations and the accuracy of the calculated results are proportional to [5]. The iterative algorithm used in the system mainly has two kinds: Log-MAP algorithm and SOVA algorithm, For this two kinds of methods for the number of iterations of bit error rate (BER) and signal-to-noise ratio (Eb/No) analysis of interaction relationship between the number of iterations and show that the decoding rate showed an inverse proportion, and decoding the bit error rate is not unlimited with the increase in the number of iterations without limit decreases. In this paper, it is shown that the decoding performance curve of Log-MAP algorithm is analyzed under the condition of 1–15, the number of iterations is to 2, and the relationship between the number of iterations and the bit error rate can be directly grasped. As shown in Fig. 3, the bit error rate curve is stable after the iteration number is more than 5, which indicates that the error performance of the iterative number is less than after the iteration number is more than 5. On this basis to continue to increase the number of iterations is not only for the error performance of the improvement cannot play a better effect, but also makes the system delay. Therefore there is the best iterative decoding process, for the study of the optimal number of iterations, effectively reduce the computational complexity of iterative decoding cannot affect the bit error rate or the impact of the error rate is very low, has good practical value (Table 1).

Fig. 3
figure 3

The influence of iteration number on performance

Table 1 Code generation polynomial

3.2 Influence of Length of Code Constraint

Based on the 5 iteration of the Log-MAP algorithm, the length of the constraint length RSC of the K = 2, 3, 4, 5 encoder, the interleaving length of L = 1 024, Turbo r = 1/2 code corresponding to the code generation polynomial [6]. As shown in Fig. 1, the simulation image is shown in Fig. 4.

Fig. 4
figure 4

The effect of constraint length difference on its performance

Comprehensive analysis of the coding generation polynomial and simulation results, the encoding constraint length and bit error rate presents the inverse proportion of [7]. However, the increase of the length of the encoding constraints will affect the complexity of the encoder’s structure, the computation time and the delay performance of the system. Therefore, there is also the best matching between the length of the code constraint and the error rate, and the recursive convolutional code with the length of 4 of the code constraint can obtain the best performance of the system.

3.3 The Influence of Different Length of Weaving

The main effect of the mixture is to go to the relevant. The weaving performance of the interleaving device mainly studies the influence of the interleaving length on the error correcting capability of the code word. In general, the interleaving length and the error correction performance of the code word show a positive proportional relation. With the increase of the interleaving length, the stronger the correlation performance (the larger the bit interleaving distance), however, the increase of the interleaving length will have a negative effect on the performance of the system. Therefore, it is necessary to consider the tradeoff between the error correction performance of the system and the delay performance of the system.

3.4 Comparison of Two Kinds of Decoding Algorithms

In this paper, the decoding performance of SOVA algorithm and MAP-Log algorithm are compared and analyzed. As shown in Fig. 5, to determine the initial conditions of the number of iterations = 5 times, code constraint length = 4, weaving length = 1024, simulation calculation. According to the simulation image, it can be more intuitive to find: The curve of MAP-Log algorithm is lower than the SOVA algorithm, and the MAP-Log algorithm is faster than the SOVA algorithm;Under the same error rate requirements, the MAP-Log algorithm can obtain better coding gain than the SOVA algorithm [8].

Fig. 5
figure 5

The influence of the compilation algorithm on the performance curve

4 Simulation Scheme and Results of Turbo Code System

In this paper, the system simulation of Turbo code is based on the Matlab language of the variable signal-to-noise ratio of the bit error rate performance analysis. The main components of the system: Recursive system convolutional encoder (2 units), recursive serial concatenated decoder (2 units), random interleaving (size 64 × 64), delete and reuse units. The Gauss white noise model is used in the channel, and the input mode of the [9] is adopted. In different SNR conditions, respectively, using Log-MAP and SOVA algorithm for system analysis. Coded {0/1} sequence BPSK modulation for the 1} {−1/sequence, delete and reuse of the unit under the effect of the source (matrix (07, 05) (2, 1, 2) convolutional code to get the code rate for Turbo 1/2 code. The maximum number of iterative decoding is 8 times, and the signal size of each frame is 1024.

The simulation results of the signal-to-noise ratio (SNR) and bit error rate (BER) performance are known:

  1. (1)

    the ratio of the signal-to-noise ratio and bit error rate is inversely proportional to the same number of iterations.

  2. (2)

    the same signal-to-noise ratio, the number of iterations and bit error rate is inversely proportional relationship, Log-MAP algorithm is better than the SOVA algorithm.

  3. (3)

    the maximum likelihood decoding algorithm for complex and large delay system, the actual application effect is poor, and the SOVA algorithm is easy to realize, and the signal-to-noise ratio is higher than 0.7 dB under the condition of more than 18 times iterative decoding the bit error rate can reach 10–5.

5 Conclusion

In this paper, the principle of the encoder and decoder of Turbo code is analyzed in detail. And based on the two types of decoding algorithm for its system performance factors such as the number of iterations, the length of the length of the coding constraints, and so on. Through the Turbo code system simulation program and the results to guide the optimization of the actual performance of the system. Due to the excellent performance, Turbo code has been widely used, but there are still many places to be studied.