Implementation of Turbo Trellis Coding Modulation Scheme for Fading Channel

in Implementation of Turbo


░ 1. INTRODUCTION
Data communication, especially over wireless mediums, is susceptible to errors occurring at the receiving end as the data traverses various channels. Certain channels introduce minimal errors, while others characterized by significant multipath phenomena can result in a high number of errors [1]. Furthermore, channels utilizing the HF medium exhibit timedependent error occurrences since these channels are not stationary. The issue of errors in digital communication has motivated Electronics and Communication Engineers to explore solutions, resulting in the development of various error correction schemes over time. Not only limited to communication, but this requirement also exists in case of industrial automation where wireless sensors are used for transferring the measured data to the controlling station [2]. An example of such a scheme is Block coding, which involves processing data in blocks, encoding and decoding them accordingly at the receiving end. However, this scheme has inherent limitations, leading to the emergence of Convolutional Coding, where data is continuously encoded at a specific rate. Nevertheless, Convolutional Coding introduces its own drawbacks, such as increased bandwidth requirements after coding. In [3] convolutional encoder consisting of Recursive Systematic Convolutional Encoder and Adaptive Variable-Rate Convolutional has also been proposed. However, to tackle the issues of convolutional encoding, Ungerboeck introduced Trellis Coded Modulation (TCM) in 1982 [4], offering a solution that combines coding and modulation techniques in an efficient manner. TCM ensures that the modulation scheme aligns with the convolutional coding scheme to preserve bandwidth. For example, without employing any coding scheme, if 8 QAM is used for modulation, three bits are modulated at a time. However, when implementing a coding scheme with a rate of 1/2, the three bits will be transformed into six bits, effectively doubling the required bandwidth. To mitigate this issue, the modulation scheme can be switched to 64 QAM, which utilizes six bits for modulation, thereby preserving the bandwidth. However, switching the modulation scheme from 8 QAM to 64 QAM reduces the distance between points on the constellation, consequently increasing the likelihood of errors being induced by the channel. Finding the optimal balance between the coding scheme rate and the modulation technique becomes necessary. It highlights that there is a limit to the amount of bandwidth that can be preserved, beyond which correcting errors becomes increasingly challenging. To overcome this limitation and enhance error correction capabilities, Berrou et al. introduced Turbo Coding in 1993 [5]. Moreover, to maintain bandwidth after implementing the Turbo Coding Scheme, the same principle of TCM can be utilized, which is commonly referred to as Turbo TCM coding scheme [6]. Subsequently, the effectiveness of a coding scheme is assessed based on the Bit Error Rate (BER), which indicates the proportion of incorrect received bits relative to total number of transmitted bits [7].
The Turbo Coding scheme employs two encoders at the transmitter end, which are concatenated in either a serial or parallel configuration, along with the inclusion of an interleaver [8]. The interleaver serves the purpose of randomizing the bits before they are passed as input to the second decoder. These encoders are known as Serially Concatenated Convolutional Encoder and Parallel Concatenated Convolutional Codes Encoder. The configurations of these encoders are depicted in figures 1 and 2, respectively.  To decode Turbo Codes at the receiver, APP (A Posteriori Probability) decoders are utilized for both the SCCC and PCCC configurations, with slight variations in their respective setups as illustrated in figure 3 and figure 4, respectively. In both configurations, first decoder's output is passed through interleaver to second decoder, and second decoder's output is fed back to first decoder through interleaver. This iterative decoding process persists until the desired error level is attained, at which stage second decoder's output is considered as final output of Turbo decoder. It has been observed that SCCC performs much better for the moderate to high SNR [8].  The communication system's block diagram is presented in figure 5, and the current study incorporates the presence of a fading channel [7].

Figure 5: Block Diagram of Communication System
Source coding is employed to remove redundant information, utilizing compression schemes such as zip, rar, and others. Subsequently, channel coding is applied, incorporating Forward Error Correction (FEC) schemes [9]. Once FEC is implemented, the bits undergo modulation and are transmitted through the channel. In this specific scenario, QAM has been chosen as the modulation scheme, resulting in the output of the Channel Encoder being organized in vector form as QAM has been observed to be more secure [10]. Each vector represents a point in the complex plane corresponding to the chosen QAM constellation.
Following transmission, the received data is susceptible to corruption caused by channel conditions, particularly the fading channel. At the receiver, the corrupted sequence rl = (r1, r2, …rl) is passed to the decoder for decoding. The receiver's block diagram at the baseband level is depicted in figure 6. The signal received at time i can be expressed based on the receiver's diagram in the following manner.
The equation incorporates which represents complex Gaussian noise with zero mean and variance 2 = 0 2 . represents the channel gain of a complex Gaussian process with Wherein, ai represents amplitude and i phase.
Assuming that receiver employs coherent detection along with channel phase shift compensation, equation (1) can be further simplified as follows: In this scenario, the presence of fading is represented by ai. When there is no direct line-of-sight transmission and the channel consists solely of scattered multipath components, ai is commonly modelled using a Rayleigh fading channel. Probability Density Function for Rayleigh fading is expressed as follows: In scenarios where a significant, non-fading line-of-sight path coexists with multipath components, the channel is simulated using the Rician Fading Channel model, and its Probability Density Function (PDF) is defined as follows: Here K (Rician parameter) represents ratio between signal received through direct path and signal received through scattered multipaths, while I0(.) denotes the zero-order modified Bessel function of first kind. Additionally, PDF should be normalized to reflect the mean energy of the signal per channel symbol, Es. In this paper, we have specifically focused on the Rician Channel, while neglecting the influence of time-varying multipath effects since the receiver will utilize equalization techniques to address this aspect.

░ 2. PERFORMANCE ANALYSIS
The performance analysis assumes statistically independent fading amplitudes and a memoryless channel. The probability of an error event has a crucial role in assessing system's performance. A lower probability of error event indicates fewer errors, while a higher probability implies a greater number of errors. Error event probability has been derived in this section. Specifically, we will investigate the upper bound of pairwise error probability [11]. Under the assumptions that detection is coherent, Channel State Information (CSI) is ideal, and fading is independent from symbol to symbol, the upper limit of the pair-wise error probability for decoding symbol sequence as ̂ given a Rician Channel and when the transmitted symbol sequence is , can be expressed as follows: In situations pertaining to high Signal-to-Noise Ratio, aforementioned equation can be simplified as follows: The symbol η represents the indices i where and ̂ are not equal. We can denote the number of such values as . Thus, equation (7) can be expressed as follows. Effective length of error event ( ,̂) is also represented by .
In this equation, 2 ( ) represents squared product distance between signals when and ̂ are not equal, along the error event ( ,̂) path. It is defined as follows: An error event arises when the received data deviates from the intended path as designed. The same has been depicted in figure  7, in which intended path is from s1 to s2 and extends up to sl, while the actual path traced by the received symbols is ŝ1, ŝ2, up to ŝl.
In the equation above, ( ) represents A Priori Probability of transmitting symbol . 2 ( ,̂) can be substituted in the equation at high SNRs using equation (8), resulting in the expression of the upper bound for a Rician fading channel as follows: In equation (11), the mean count of code sequences with effective length of and squared product distance of 2 ( ) is denoted by ( , 2 ( ). When the SNR is high, error event is primarily influenced by minimum effective length l and corresponding squared product distance 2 ( ). To simplify the expression, we use L to represent the minimum effective length and 2 ( ) to represent the corresponding squared product distance. This minimum effective length is considered as code's

International Journal of Electrical and Electronics Research (IJEER)
Open Access | Rapid and quality publishing Research Article | Volume 11, Issue 3 | Pages 669-674 | e-ISSN: 2347-470X effective length, which allows us to approximate error event probability as follows: In case of Rayleigh channel, where K is equal to zero, equation (12) can be further simplified as: In the case of an AWGN channel, considering K = ∞, we can rewrite Pe as follows [11]: Here the code's free Euclidean distance is represented by dfree.
In this study, the performance analysis focuses on a Serially Concatenated Convolutional Coding (SCCC) scheme [12] in the context of a Rician Fading Channel. The authors specifically analyze equation (12) for various values of K (Rician parameter), recognizing that cases where K is zero or infinity are special cases. The SCCC scheme employs two convolutional encoders, each with a rate of 2/3, in a serial configuration, resulting in an effective rate of 4/9. To evaluate the performance of the SCCC scheme, it is compared with a convolutional coding scheme that uses a constituent encoder. The decoding process is iterative, with the output of first decoder fed to the second and vice versa til decoding is completed [13]. The complexity of the SCCC scheme is similar to Convolutional Coding scheme, with the implementation of the APP algorithm in the decoder [14].

░ 3. DESIGN FOR ENCODERS
For the encoder design, two convolutional encoders have been employed in a serial configuration with an interleaver. The interleaver takes input from first encoder and gives outputs to second encoder. The encoders in this work were designed based on specific criteria. Each encoder was specifically designed for a rate of 2/3 and 8 states. The TCM scheme, developed by Ungerboeck, with a rate of 2/3, 8 states, and an 8-PSK modulation scheme, was designed with an effective length of 2.
The constellation diagram of 8PSk is shown in figure 8.

Figure 8: PSK signal constellation
However, it should be noted that this optimization was done for the AWGN channel [15]. In this work, the encoders have been designed following general rules, but the optimization has been performed for a fading multipath channel [16].
The signals, which are related to the transitions amongst states of successive stages for rate 2/3, are represented by an 8 x 8 matrix M. In the trellis representation, the signals associated with paths emerging out from state i to state j at stage K to stage K+1 are denoted by element located in i th row and j th column of matrix M. The elements in the i th row represent the paths leaving state i, while the elements in j th column represent the paths reentering state j. These elements indicate the signals associated with the respective paths.
To populate the other elements of matrix M with signal points, alternate symbols from the 8-PSK signal set are placed into two separate subsets. Subset 1 includes s0, s2, s4, and s6, while subset 2 includes s1, s3, s5, and s7. The rules mentioned below are followed to determine the signal points for the remaining elements of matrix M.
a. Each signal is limited to appearing only once per row or column. b. The rate 2/3 code has a total of 8 states and allows for a maximum of 4 paths to emerge from each state. Due to this constraint, not all transitions between states are possible.
To determine the valid transition paths, it is considered that a path between two states can only be associated with a signal if the Least Significant Bit (LSB) of initial state matches Most Significant Bit (MSB) of destination state, denoted as z ∈ {0, 1} [16]. c. The matrix contains rows and columns, each associated with signal pairs. When the distance is calculated between these signal pairs, it can be observed that they are either δ1 or δ3, considering the coding rate as 2/3. This relationship is illustrated in figure 9. Rule 'a' ensures that the code has a maximum effective length, while Rule 'b' guarantees that distances amongst every pair of paths emerging from state i and every pair of paths joining at state j are at least δ1. This ensures proper separation and distinction between the paths in the code.

░ 4. SIMULATION AND RESULT
The analysis was conducted using the MATLAB environment and in order to perform the simulation, a Simulink diagram was  created, which is a graphical environment in MATLAB for modeling and simulating dynamic systems. The Simulink diagram corresponding to the analysis is depicted in figure 10, illustrating the flow of data and processing steps in the simulation. In this simulation, the source of random input bits is a Bernoulli Binary generator. This generator produces a stream of binary digits with a probability of generation of 1 and 0 with 50% each. These generated bits serve as input to Turbo encoder. The Turbo encoder comprises of two convolutional encoders connected in a serial configuration. Each convolutional encoder has a coding rate of 2/3, meaning that for every two input bits, three encoded bits are produced. The serially connected convolutional encoders effectively increase the coding rate to 4/9, providing enhanced error correction capabilities. The output of Turbo encoder subsequently fed to 512 QAM modulator. QAM combines both amplitude and phase variations to transmit multiple bits per symbol.
In this case, 512 QAM is employed to maximize the data transmission rate while maintaining the required bandwidth. The modulated data is transmitted through a Rician Channel, which is a mathematical model that simulates real-world multipath propagation effects. The Rician Channel introduces fading and multipath interference, mimicking the challenges encountered in wireless communication scenarios. The received data, after being corrupted by the channel, is first sent to the demodulator. The demodulator performs reverse operation of modulator, extracting transmitted symbols from the received signal. However, due to the channel impairments, the demodulated data contains errors. To mitigate these errors, the demodulated data is then fed into the Turbo decoder. The Turbo decoder's primary objective is to correct the errors introduced by the channel. By iteratively decoding the received data using soft-in-soft-out techniques, the Turbo decoder significantly enhances the error correction capability of the system. To assess the performance of the Turbo Trellis Coding scheme, a Monte Carlo simulation was conducted. The simulation yielded a plot of Eb/N0 versus Bit Error Rate (BER), as depicted in figure 11. This plot provides valuable insights into the scheme's performance characteristics. Furthermore, a comparison was made between the Bit Error Rate (BER) obtained from the Turbo Trellis Coding scheme and the BER obtained solely from the constituent convolutional encoder with a rate of 2/3 along with the uncoded QPSK. The comparison demonstrated that the Turbo Trellis Coding scheme exhibits an approximate 5dB gain over the Trellis Coded Modulation scheme that only utilizes the constituent convolutional coder. In essence, the Turbo Trellis Coding scheme showcases significantly improved error correction capability compared to the Trellis Coded Modulation scheme and uncoded QPSK.

░ 5. CONCLUSION
In the analysis, the Bit Error Rate (BER) obtained from the uncoded QPSK and constituent convolutional encoder with a rate of 2/3 was compared to the results obtained from the Turbo Trellis Coding scheme operating at a rate of 4/9. The BER is a measure of the accuracy of the transmitted data, indicating the proportion of bits that are received in error. By comparing the BER between these two schemes, the analysis aimed to assess the performance of Turbo Trellis Coding scheme in relation to Trellis Coded Modulation scheme that relies solely on the constituent convolutional coder. This evaluation is crucial to assess the effectiveness of the Turbo Trellis Coding scheme in improving the error correction capabilities of the system.
The findings of this analysis have significant implications in both academic and practical domains. The comparison revealed that the Turbo Trellis Coding scheme exhibited an approximate 5dB gain over the Trellis Coded Modulation scheme and approximately 8 dB gain over uncoded QPSK. The 5dB gain indicates a substantial improvement in the system's ability to correct errors. This observation highlights the notable contribution of the Turbo Trellis Coding scheme presented in the analysis. The Turbo Trellis Coding scheme, with its additional decoding and iterative error correction processes, offers superior error correction capabilities compared to the Trellis Coded Modulation scheme, which solely relies on the constituent convolutional coder.
These results have wide-ranging implications for the field of communication systems. They provide valuable insights into the performance of Turbo Trellis Coding Scheme and emphasize its potential for enhancing data transmission reliability. The superior error correction capabilities of the Turbo Trellis Coding scheme make it a promising choice for practical applications where reliable and accurate data transmission is critical, such as wireless communication systems, satellite communication, and digital broadcasting.
From an academic perspective, these findings contribute to the existing body of knowledge in the field of error correction coding and communication systems. They validate the effectiveness of the Turbo Trellis Coding scheme and highlight its advantages over traditional coding schemes, shedding light on the importance of iterative decoding and the benefits it brings in terms of error correction.
Funding: This research received no external funding.

Conflicts of Interest:
The authors declare no conflict of interest